ROS2 introduction

The predecessor of ROS2 is ROS, and ROS is the Robot Operating System (Robot Operating System). But ROS itself is not an operating system, but a software library and toolset. The emergence of Ros solved the communication problem of each component of the robot. Later, more and more robot algorithms were integrated into ROS. ROS2 inherited ROS, which is more powerful and better than ROS.

1 Design goals and features of ROS2

ROS2 has the historical mission of changing the era of intelligent robots. At the beginning of the design, it was considered to meet the needs of various robot applications.

2 Release Version

The release version and maintenance cycle corresponding to ROS2 and Ubuntu.

ROS2 versionrelease dateMaintenance deadlineUbuntu version
Dashing2019.52021.5Ubuntu 18.04 (Bionic Beaver)
Eloquent2019.112020.11Ubuntu 18.04 (Bionic Beaver)
Foxy2020.62023.5Ubuntu 20.04(Focal Fossa)
Galactic2021.52022.11Ubuntu 20.04(Focal Fossa)
Humble2022.52027.5Ubuntu 22.04(Jammy Jellyfish)

3 Comparison of ROS and ROS2

ROS2 redesigned the system architecture. The architecture changes between the two generations of ROS are as follows:

img

ROS has designed a complete set of communication mechanisms (topics, services, parameters, actions) to simplify robot development. Through this mechanism, the various components of the robot can be connected. This mechanism has designed a node called Ros Master, and the communication of all other components must go through the master node. Once the master node hangs up, it will cause the communication of the entire robot system to collapse! Therefore, the instability of Ros cannot be used to make some high-risk robots such as automatic driving. In addition, there are the following disadvantages:

ROS2 first removes the master node that exists in ROS. After removing the master node, each node can discover each other through the DDS node, each node is equal, and can realize one-to-one, one-to-many, and many-to-many communication. After using DDS for communication, reliability and stability have been enhanced.

Compared with ROS that only supports Linux systems, ROS2 also supports windows, mac, and even RTOS platforms