機器人作業系統 (ROS2) 入門與實踐

劉相權 張萬傑

買這商品的人也買了...

相關主題

商品描述

本書首先對ROS2 的安裝與系統架構、開發資源與工具、ROS2 程式設計基礎、機器人運動控制、感測器應用進行了介紹,
然後在模擬環境中對ROS2中的SLAM 環境建立圖、自主導航、視覺影像應用、三維視覺應用、機械手臂應用進行了詳細介紹,
最後透過一個完整的模擬實例,實現地圖建立、航點設定、物品自動抓取功能。
讀者只需要擁有一台運行Ubuntu 系統的計算機,具備Linux 的基本知識,了解C++的程式設計方法,即可完成本書的學習。
書中列舉了大量應用實例,所有實例均在ROS2 中調試通過,可以直接運行,並且每個應用實例均給出相應的源代碼。
本書在撰寫時力求做到內容簡單易懂、圖文並茂;針對工程應用型院校學生的特點,內容講解在夠用的基礎上,突出實際應用。
本書可作為普通高等院校機器人、機械電子、智慧製造、機械等專業的教材,也可作為廣大從事機器人開發的工程技術人員的參考書。
本書附有以下教學資源:課件PPT、程式碼。
歡迎選用本書作教材的教師登入www. cmpedu. com 註冊後下載,或聯絡微信13910750469 索取(註明姓名+學校)。

目錄大綱

前言
第1章Linux Ubuntu入門基礎
1.1Ubuntu簡介
1.2安裝Ubuntu 22.04
1.2.1準備工作
1.2.2製作Ubuntu系統安裝啟動U盤
1.2.3關閉BitLocker
1.2.4Windows磁碟空間壓縮
1.2.5BIOS設置
1.2.6Ubuntu系統的安裝
1.3Ubuntu 22.04使用入門
1.3.1Ubuntu 22.04桌面介紹
1.3.2連接無線網路
1.3.3軟體來源的更換
1.3.4Ubuntu檔案系統
1.3.5終端運作和常用指令
1.3.6管理員權限
1.3.7環境變數和 source 指令
1.3.8時間同步問題
1.3.9修改預設引導系統
1.4本章小結
第2章ROS2安裝與系統架構
2.1ROS2簡介
2.2ROS2系統架構
2.2.1ROS2檔案系統
2.2.2ROS2中的重要組成部分-DDS
2.3ROS2安裝與配置
2.4從APT軟體來源安裝應用程式
2.5ROS2的工作空間
2.6從Github下載安裝應用程式
2.7Visual Studio Code編輯器
2.7.1安裝Visual Studio Code
2.7.2安裝中文插件
2.7.3安裝CMake插件
2.7.4導入工作空間資料夾
2.8Terminator終端工具
2.9本章小結
第3章ROS2程式設計基礎
3.1節點和軟體包
3.1.1創建軟體包
3.1.2編寫節點
3.1.3運行節點
3.1.4練習題
3.2話題和訊息
3.2.1編寫話題發布者
3.2.2編寫話題訂閱者
3.2.3練習題
3.3物件導向的節點實現
3.3.1話題發布者的類別封裝
3.3.2話題訂閱者的類別封裝
3.3.3練習題
3.4Launch文件
3.4.1XML格式的Launch文件
3.4.2YAML格式的Launch文件
3.4.3Python格式的Launch文件
3.4.4練習題
3.5本章小結
第4章ROS2機器人運動控制
4.1速度控制訊息包格式
4.2機器人運動控制的實現
4.2.1編寫速度控製程序
4.2.2仿真運行速度控製程序
4.2.3練習題
4.3本章小結
第5章雷射雷達在ROS2的使用
5.1ROS2中的光達數據
5.1.1光達的話題名稱
5.1.2雷射雷達的訊息包格式
5.2在RViz2查看雷射雷達數據
5.2.1RViz2的使用
5.2.2介面配置的保存
5.2.3介面配置的載入
5.3光達數據獲取
5.3.1編寫光達資料取得程序
5.3.2仿真運行光達數據
獲取程式
5.3.3練習題
5.4基於光達的避障實現
5.4.1編寫雷射雷達避障程序
5.4.2仿真運行光達避障程序
5.4.3練習題
5.5本章小結
第6章IMU在ROS2的使用
6.1ROS2中的IMU數據
6.1.1IMU的話題名稱
6.1.2IMU的訊息包格式
6.2IMU數據獲取
6.2.1編寫IMU資料取得程序
6.2.2仿真運行IMU資料取得程序
6.2.3練習題
6.3基於IMU的航向鎖定實現
6.3.1編寫航向鎖定程序
6.3.2仿真運行航向鎖定程序
6.3.3練習題
6.4本章小結
第7章ROS2中的SLAM環境建圖
7.1SLAM建圖原理
7.2SLAM Toolbox簡介
7.3仿真環境實現SLAM建圖
7.3.1SLAM Toolbox的啟動
7.3.2仿真環境建圖
7.3.3地圖的保存
7.3.4SLAM Toolbox的參數設置
7.3.5練習題
7.4本章小結
第8章ROS2中的NAV2自主導航
8.1NAV2的組成結構
8.1.1地圖伺服器
8.1.2路徑規劃器
8.1.3路徑平滑器
8.1.4AMCL
8.1.5運動控制器
8.1.6導航恢復行為
8.1.7速度平滑器
8.1.8行為樹管理器
8.1.9練習題
8.2使用NAV2進行自主導航
8.2.1NAV2的安裝
8.2.2使用NAV2實現自主導航
8.2.3仿真環境運作自主導航
8.2.4NAV2的參數設定
8.2.5練習題
8.3開源導航插件的使用
8.3.1安裝導航插件
8.3.2增加航點
8.3.3啟動導航服務
8.3.4建構航點導航程序
8.3.5仿真運行航點導航程序
8.3.6練習題
8.4本章小結
第9章ROS2中的視覺影像應用
9.1視覺影像資料的獲取
9.1.1編寫圖像資料取得程序
9.1.2仿真運行影像資料擷取程序
9.1.3練習題
9.2OpenCV顏色特徵提取與目標定位
9.2.1編寫顏色特徵提取和目標定位程序
9.2.2模擬運行顏色特徵提取和目標定位程序
9.2.3練習題
9.3基於視覺影像的目標追蹤實現
9.3.1編寫目標追蹤程序
9.3.2仿真運行目標追蹤程序
9.3.3練習題
9.4基於視覺影像的人臉偵測實現
9.4.1編寫人臉偵測程序
9.4.2模擬運行人臉偵測程序
9.4.3練習題
9.5本章小結
第10章ROS2的三維視覺應用
10.1RGB-D相機的三維點雲資料獲取
10.1.1編寫點雲資料取得程序
10.1.2模擬運行點雲資料獲取程序
10.1.3練習題
10.2使用PCL進行物品檢測
10.2.1編寫物品檢測程序
10.2.2模擬運行物品檢測程序
10.2.3練習題
10.3本章小結
第11章ROS2的機械手臂應用
11.1ROS2中的機械手臂訊息包格式
11.2機械手臂控制
11.2.1編寫機械手臂控製程序
11.2.2模擬運行點雲資料獲取程序
11.2.3練習題
11.3使用機械手臂進行物品抓取
11.3.1編寫物品抓取程序
11.3.2仿真運行物品抓取程序
11.3.3練習題
11.4本章小結
第12章基於ROS2的綜合應用
12.1方案設計
12.1.1建圖導航方案設計
12.1.2物品抓取方案設計
12.1.3主體任務方案設計
12.2採集環境數據
12.2.1SLAM環境建圖
12.2.2設定航點座標
12.3編寫程式碼
12.3.1Launch文件的編寫
12.3.2服務機器人程式實現
12.4仿真運行服務機器人程序
12.5本章小結
參考文獻