ROS architecture design

As shown in the figure, the ROS architecture can be divided into three levels: OS layer, middle layer and application layer.

Insert image description here

1.OS layer

ROS is not an operating system in the traditional sense. It cannot run directly on computer hardware like Windows and Linux. Instead, it needs to rely on the Linux system.
So at the OS layer, we can directly use the Ubuntu operating system with the best official ROS support , or we can also use operating systems such as macOS, Arch, and Debian.

2.Middle layer

Linux is a general system and does not provide special middleware for robot development, so ROS has done a lot of work in the middle layer, the most important of which is based on TCPROS/UDPROS的通信系统. The communication system of ROS is based on the TCP/
UDP network, and is re-encapsulated on top of it, which is TCPROS/UDPROS. The communication system uses publish/subscribe, client/server and other models to realize data transmission of multiple communication mechanisms.

In addition to the communication mechanism of TCPROS/UDPROS, ROS also provides an in-process communication method - Nodelet, which can provide a more optimized data transmission method for multi-process communication and is suitable for applications that have high requirements for real-time data transmission. application.
在通信机制之上,ROS提供了大量机器人开发相关的库, such as data type definition, coordinate transformation, motion control, etc., can be provided to the application layer.

3. Application layer

At the application layer, ROS needs to run a manager - Masterresponsible for managing the normal operation of the entire system.

A large number of robot application function packages are shared in the ROS community. The modules in these function packages run in units of nodes and use ROS standard input and output as the interface. Developers do not need to pay attention to the internal implementation mechanism of the module. They only need to understand the interface rules. It can be reused and greatly improves development efficiency.


From the perspective of system implementation, ROS can also be divided into three levels as shown in the figure below: file system, calculation graph and open source community.

Insert image description here

Guess you like

Origin blog.csdn.net/hai411741962/article/details/133382496