ROS 2

The Robot Operating System (ROS) is an open-source, meta-operating system for your robot maintained by the Open Source Robotics Foundation (OSRF). It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers. A ROS system is comprised of a number of independent nodes, each of which communicates with the other nodes using a publish/subscribe messaging model.

As mentioned by the OSRF team in this article:

ROS was born back in November 2007 to provide the software tools that users would need to undertake novel research and development projects with a humanoid-like robot, the PR2.

Much has happened since and many situations, initially not covered by the framework, have demanded a solution. ROS 2 address some of these limitations putting specific effort into the following robotic problems:

  • Teams of multiple robots
  • Small embedded and deep embedded platforms either microcontroller or microprocessor-based.
  • Real-time systems
  • Non-ideal networks
  • Production environments
  • Prescribed patterns for building and structuring systems

The Robot Operating System (ROS) 2 will define the next decade of robotics so read up!

+-----------------------------------------------+
|                   user land                   |
+-----------------------------------------------+
|              ROS 2 client library (rcl)       |
+-----------------------------------------------+
|             middleware interface (rmw)        |
+-----------------------------------------------+
| DDS adapter 1 | DDS adapter 2 | DDS adapter 3 |
+---------------+---------------+---------------+
|    DDS impl 1 |    DDS impl 2 |    DDS impl 3 |
+---------------+---------------+---------------+

  • http://design.ros2.org/articles/why_ros2.html
  • http://design.ros2.org/articles/ros_on_dds.html