ROS2 reading notes

ROS Document: https://docs.ros.org/

1. Overall overview of ROS2

Capability improvements from ROS to ROS2:

  1. Multi-robot control.
  2. Multi-platform application support, Windows, Linux, MacOS, RTOS and even bare metal MCU without operating system.
  3. Real-time application support, improve time management capabilities, specify time to start and end.
  4. Enhance network communication capabilities.
  5. Applications.
  6. Flexible construction.

ROS2 cancels the strong dependence on the master node, and builds a communication system based on DDS.

The full name of DDS is Data Distribution Service, which is a data distribution/subscription standard specially designed for real-time systems officially released by the Object Management Group in 2004. Its data-centric publish-subscribe model (Data- Centric Publish-Subscribe) creates a global data space (global data space) that can be accessed by all independent applications.

In the DDS communication model, concepts such as participants, publishers, subscribers, data writers, data readers, topics and QoS Policy (quality of service principles) are included. Among them, the global data space must be accessed through participants, QoS Policy controls all aspects and the underlying communication mechanism (including time limit, reliability, continuity, history, etc.), to meet the data application needs of users in different scenarios.

All in all, compared to ROS1, ROS2 can theoretically achieve real-time, continuity, and reliability enhancements. According to the experimental comparison in the paper "Exploring the Performance of ROS2", ROS2 is less likely to lose initial data than ROS2, but overall The performance (Alpha version) is not as good as ROS, which may be related to the limited support for DDS features in the development stage, but the potential is worthy of attention.

Based on the concepts of ROS nodes, messages, topics, and services, ROS2 has added the concept of "Discovery". Simply put, after a node is started, it will broadcast (periodically) to the network to inform itself When the node arrives, other nodes also feed back their information one after another. When the node goes offline, it also broadcasts to inform itself of leaving.

Installation of RO2

The warehouse address of ROS2 is: https://github.com/ros2/ros2/releases , which provides two installation methods of binary installation package and source code compilation .
For the specific installation process, refer to the link at the end of the article.
Compared with ROS, ROS2 uses more C++ features (such as auto, make_shared, etc.), and the detailed API documentation reference link: https://docs.ros2.org/beta1/api/rclcpp/index.html .

Reference article:

  1. Guyue Bureau. ROS2 Exploration Summary (1) - ROS Growth Notes: https://www.guyuehome.com/772
  2. Guyue Bureau. Summary of ROS2 Exploration (2) - Approaching the era of ROS2.0: https://www.guyuehome.com/805
  3. Gu Yueju. Summary of ROS2 Exploration (3)——Small test: https://www.guyuehome.com/823

Guess you like

Origin blog.csdn.net/lj164567487/article/details/123628156