官术网_书友最值得收藏!

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系統架構

主站蜘蛛池模板: 张家港市| 石城县| 马龙县| 镇原县| 呈贡县| 五常市| 会泽县| 满洲里市| 壤塘县| 中卫市| 郎溪县| 丰顺县| 翁源县| 阿尔山市| 衡阳市| 福海县| 肇东市| 寿光市| 汝阳县| 全南县| 新泰市| 夹江县| 盐池县| 三穗县| 独山县| 汉源县| 昌都县| 南皮县| 怀来县| 河东区| 安国市| 娄底市| 锡林浩特市| 玉田县| 威海市| 堆龙德庆县| 马山县| 阳高县| 威信县| 松原市| 南部县|