目录

ROS2-系统架构

ROS2 系统架构

1.操作系统层

ros2是基于Linux、Windows、macOS系统建立的,这一层为ros2提供了各种基础的硬件驱动,比如网卡驱动,常用USB驱动和常用摄像头驱动等。

2.DDS实现层

ros2的核心通信是采用第三方的通信组件来实现的,这个第三方就是数据分发服务(Data Distribution Service,DDS),DDS基于实时发布订阅协议(Real-time Publish-Subscriber,RTPS)来实现数据分发。

3.DDS接口层

因需支持不同厂家的DDS,同时又需要对外保持一致,所有ros2定义了RMW(ROS Middleware Interface,ROS中间件接口),再由不同DDS进行实现,为ros2客户端层提供统一的调用接口。举例来说,DDS接口层类似于USB接口的标准,而DDS实现层就是不同厂家根据标准生产的USB设备。

4.ROS2客户端层

ros2客户端层提供了不同编程语言的ros2客户端库(ROS2 Client Library,RCL),使用这些库提供的接口,可以完成对ros2核心功能的调用,如话题、服务、参数和动作通信机制。

5.应用层

所有基于RCL开发的程序都属于应用层,比如我们接下来会用到的海龟模拟器和rosQT工具都是基于这一层。

https://i-blog.csdnimg.cn/direct/5d44ad04525b48fa8d707e9f0c4ea1af.png