Robot Operating System (ROS)
Today by far the most commonly used robotics software is ROS, which stands for Robot Operating System. This is an open source software, and the most number of developers and robotics users are involved with this program with an ever increasing rate. It contains set of libraries, algorithms, developer tools and drivers for developing robotics projects. The first release of ROS was in 2010, and as of beginning of 2017, ROS has reached its 10th official release, which is called “ROS Kinetic Kame”. There are translations to 11 languages other than English, which are: German, Spanish, French, Italian, Japanese, Turkish, Korean, Portuguese, Russian, Thai and Chinese. It currently has 2000+ software libraries, which keeps increasing every year.
Many robots use ROS now, including but not limited to hobby robots, drones, educational or advanced humanoid robots, domestic robots including cleaning robot vacuums, cooking robots or telepresence robots and more, robot arms, farming robots, industrial robots, even Robonaut of NASA in space or the four legged military robots in development. A list of robots which use ROS can be found here: http://wiki.ros.org/Robots. In here, the link to each robot shows varying information such as packages, installation, resources, related software if any, usage and other details about how ROS is used for that robot. It virtually standardizes the robotics software and therefore prevents “reinventing the wheel” by individual robot developers.
We were checking the Alexa.Com (a website that gives you the ranking of websites in the world) ranking of ROS since few years, in order to track the increase in usage:
As can be seen here, in May 2011, when we first checked this ranking, ROS.org was at 189,000 th place in the world from the top among all other websites in terms of unique visitors that visit the site, and it almost continuously increased its ranking. As of February 2017, it is now the 15,621st most reached website in the world, with mostly being accessed in Japan (6044 from top in Japan). Let’s not forget that even if it’s ranking in the world remained the same, let alone going up, it would still mean the traffic of the site was going up, as every day there are more websites in the world which means the same ranking means better place and more traffic. The ranking of 15,621 means ROS.org is a very high traffic website in the world right now, being accessed probably by at least hundreds of thousands of people every day, with no indication of slowing down its rise yet.
The most important result of all of this, is that the use of robots is increasing, both in terms of number and type (when you look at the type of robots that use ROS, as it also increases in variety all the time).
From Alexa, we were also able to see, that the percentage of reach among countries for ROS.org is as follows as of February 2017:
South Korea 9.0%
With ROS, any type of sensors can be controlled, including 1d/2d range sensors, 3d range finders and cameras, audio/speech recognition sensors, cameras, environmental sensors, force/torque/touch sensors, motion capture, pose estimation, power supply, RFID, and sensor interfaces.
In ros.org site, in addition to all packages, there are also extensive tutorials and a discussion board that one can ask questions and share knowledge.
ROS also has an industrial section, the version of software modified for industrial applications. It is called ROS industrial, and can be reached at: http://rosindustrial.org/. Although we see domestic robots with new abilities or advanced research projects that aim to develop capabilities of robotics every year, according to the results of a study that is shown on http://rosindustrial.org/the-challenge/ website, the abilities of industrial robots are not progressing and the abilities are restricted to welding, material handling, dispensing, coating (although we know that they do additional tasks such as packaging, inspection, labeling etc…). ROS Industrial aims to solve this challenge by providing a common skeleton to all developers, with its extensive and stronger software architecture, than other individual robotics programs.
ROS makes possible to program a robot’s navigation and limbs, regardless of what hardware is used. Therefore it is a highly promising tool to standardize operations of robots all over the world. It has high level commands for anything a robot can do. ROS starts its operation in a robot first by obtaining information about the robot’s characteristics, such as the length and movement limits of limbs, servos involved, sensors and then it will communicate this data to higher level algorithms.
A discussion forum that users and developers of ROS where users can share information and ask questions also exist, at ROS website : http://answers.ros.org/questions/