第3章 ROS2編程基礎_第1頁
第3章 ROS2編程基礎_第2頁
第3章 ROS2編程基礎_第3頁
第3章 ROS2編程基礎_第4頁
第3章 ROS2編程基礎_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

機器人操作系統(ROS2)入門與實踐機器人操作系統(ROS2)入門與實踐第1章LinuxUbuntu入門基礎第2章ROS2安裝與系統架構第3章ROS2編程基礎第4章ROS2機器人運動控制第5章激光雷達在ROS2中的使用第6章IMU在ROS2中的使用第7章ROS2中的SLAM環境建圖第8章ROS2中的NAV2自主導航第9章ROS2中的圖像視覺應用第10章ROS2的三維視覺應用第11章ROS2的機械臂應用第12章基于ROS2的綜合應用第3章3.3面向對象的節點Node實現

第3章ROS2編程基礎3.2話題Topic和消息Message3.1節點Node和軟件包Package3.4Launch文件3.5本章小結

節點Node和軟件包Package是ROS2的程序的組織形式。其中節點Node相當于一個ROS2的程序文件。當我們運行一個ROS2程序的時候,實際上運行的就是一個或者多個節點文件。軟件包Package是節點文件的容器,通常是一個包含了一系列配置文件的目錄。而節點源碼文件,就放在軟件包目錄的某個子文件夾中(一般是src文件夾)。3.1節點Node和軟件包Package創建軟件包Package和節點Node的詳細操作步驟:見教材P56-P66頁

3.2話題Topic和消息Message

在ROS2中,節點Node之間的通訊最常用的方式是話題Topic和消息Message。其中話題Topic可以理解為一個網絡聊天室。在這個話題聊天室里發言的節點,可以稱為發布者Publisher。而聊天室中所有看到發言內容的節點,可以稱為訂閱者Subscriber。

在話題聊天室中傳送的發言內容,就是消息Message。所以上述通訊機制可以概括為:1)發布者Publisher將要發生的數據打包成消息Message,然后發送到話題Topic中。2)訂閱者Subscriber訂閱一個話題Topic,從話題中獲取消息Message。然后把消息中的數據解析出來,進行后續的計算和使用。

編寫話題發布者Publisher、話題訂閱者Subscriber的詳細操作步驟:見教材P67-P85頁

3.3面向對象的節點Node實現

在前面的實驗里,使用的都是過程式編程,可以很清晰的展示節點的運行過程。但是在大量的開源項目中,最流行的是面向對象的編程方式。也就是將節點Node封裝成類Class。

話題發布者Publisher的類封裝、話題訂閱者Subscriber的類封裝的詳細操作步驟:見教材P85-P91頁

3.4Launch文件

在ROS2中,可以通過Launch文件一次啟動多個節點,省去了逐個節點輸入指令啟動的繁瑣。在ROS2中,支持用三種語音來編寫Launch文件,分別是XML、YAML和Python。其中XML的語法和ROS1的Launch文件格式類似;YAML格式的Launch文件使用比較少;而在ROS2的開源社區中,則以Python語言的Launch文件最為流行。

分別使用XML、YAML和Python這三種語言構建Launch文件的詳細操作步驟:見教材P91-P104頁3.5本章小結

本章主要是對ROS2的基本程序概念進行介紹和編程。首先詳細介紹了ROS2程序的組織形式節點Node和軟件包Package,以及節點Node之間最常用的通訊方式話題Topic和消息Message的實現;

接著,使用面向對象

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論