- ROS 2機器人開發:從入門到實踐
- 桑欣
- 522字
- 2024-10-14 16:11:32
1.1.2 ROS 2系統架構
為了讓你更加了解ROS 2,我們先來看一下它的系統架構。ROS 2的系統架構可以分為5層:操作系統層、DDS實現層、DDS接口層、ROS 2客戶端層和應用層。
1.操作系統層
ROS 2是基于Linux、Windows和macOS系統建立的,這一層為ROS 2提供了各種基礎硬件的驅動,比如網卡驅動、常用USB驅動和常用攝像頭驅動等。
2.DDS實現層
前面曾說ROS 2的核心通信是采用第三方的通信組件來實現的,這個第三方就是數據分發服務(Data Distribution Service,DDS),DDS基于實時發布訂閱協議(Real-time Publish-Subscribe,RTPS)來實現數據分發。
3.DDS接口層
因為要支持不同廠家的DDS,同時又需要對外保持一致,所以ROS 2定義了RMW(ROS Middleware Interface,ROS中間件接口),再由不同DDS進行實現,為ROS 2客戶端層提供統一的調用接口。舉例來說,DDS接口層類似于USB接口的標準,而DDS實現層就是不同廠家根據標準生產的USB設備。
4.ROS 2客戶端層
ROS 2客戶端層提供了不同編程語言的ROS 2客戶端庫(ROS 2 Client Library,RCL),使用這些庫提供的接口,可以完成對ROS 2核心功能的調用,如話題、服務、參數和動作通信機制。
5.應用層
所有基于RCL開發的程序都屬于應用層,比如我們接下來會用到的海龜模擬器和ROS QT工具就都是基于這一層的。當然,后續我們自己開發的機器人應用也屬于這一層。
好了,了解完ROS 2的架構,結合圖1-3,相信你會有更好的理解。

圖1-3 ROS 2系統架構