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工具都是基于这一层。