ROS2 機器人開發技術基礎
蔣暢江 滕昭君 楊鳳磊
- 出版商: 化學工業
- 出版日期: 2026-01-01
- 售價: $408
- 語言: 簡體中文
- 頁數: 269
- ISBN: 7122483363
- ISBN-13: 9787122483362
-
相關分類:
機器人製作 Robots
尚未上市,歡迎預購
相關主題
商品描述
本書是內容全面、偏重基礎的ROS 機器人開發入門書籍,是作者總結多年科研教學成果並在吸收國內外最新理論、方法和技術的基礎上完成的。本書詳細介紹了ROS 機器人基礎和ROS 常用開發工具,詳細講解了ROS系統架構、ROS 客戶端庫和機器人建模與仿真;以工程開發為重心,詳細講解機器視覺、機器語音、SLAM 和導航等多方面ROS 應用的實現原理和方法。本書結合大量實例,幫助讀者在實現ROS 基礎功能的同時深入理解基於ROS 的機器人開發技術,將書中的內容用於實踐。本書註重運用CDIO 工程教育理念,立足培養實際動手能力、綜合應用能力、創新思維能力。
本書配有免費教學軟件包,幫助讀者更好理解和實踐書中內容;配有免費電子課件,歡迎選用本書作教材的師生下載使用。
本書可作為普通高等院校機器人工程、自動化、人工智能、電子信息工程、軟件工程等相關專業的教材,也可供廣大科技工作者和工程技術人員參考使用。
目錄大綱
第1章 ROS2 介紹與安裝
1.1 初識ROS2 001
1.1.1 ROS2 誕生與發展 001
1.1.2 ROS2 生態組成 003
1.1.3 ROS2 優勢 004
1.1.4 ROS2 應用方向 005
1.2 ROS2 的安裝及測試 005
1.2.1 選擇操作系統 005
1.2.2 ROS2 安裝與卸載 008
1.2.3 測試ROS2 009
1.3 Linux 命令行操作 010
1.3.1 常用Linux 命令行 010
1.3.2 使用命令行安裝軟件包 013
1.4 ROS2 集成開發環境搭建 014
1.4.1 VSCode 014
1.4.2 終端 014
1.4.3 git 016
1.4.4 下載配套源碼 016
1.5 二進制包與源代碼包 016
1.6 本章小結 017
習題一 018
第2章 ROS2 系統架構
2.1 ROS2 文件系統 019
2.1.1 ROS2 系統分層 019
2.1.2 工作空間 020
2.1.3 功能包 021
2.1.4 colcon 構建工具 025
2.2 ROS2 通信架構 026
2.2.1 節點 027
2.2.2 通信模型 027
2.2.3 接口文件 032
2.2.4 DDS 通信 034
2.2.5 分布式通信 036
2.2.6 質量服務策略 037
2.3 本章小結 037
習題二 038
第3章 ROS2 常用工具
3.1 啟動管理工具Launch 040
3.1.1 認識Launch 040
3.1.2 操作演示 040
3.2 模塊化可視化工具rqt 044
3.2.1 認識rqt 044
3.2.2 操作演示 044
3.3 數據可視化工具Rviz2 048
3.3.1 認識Rviz2 048
3.3.2 操作演示 048
3.4 仿真工具Gazebo 049
3.4.1 認識Gazebo 049
3.4.2 操作演示 050
3.5 rosbag2 功能包 051
3.5.1 認識rosbag2 051
3.5.2 操作演示 052
3.6 本章小結 053
習題三 053
第4章 ROS2 客戶端庫
4.1 ROS2 客戶端庫簡介 055
4.2 rclcpp 055
4.2.1 節點 056
4.2.2 話題 058
4.2.3 服務 063
4.2.4 動作 067
4.2.5 參數 074
4.3 rclpy 076
4.3.1 rclpy 與rclcpp 比較 077
4.3.2 節點 077
4.3.3 話題 078
4.3.4 服務 081
4.3.5 動作 083
4.3.6 參數 087
4.4 本章小結 089
習題四 089
第5章 坐標變換TF2 及編程
5.1 認識TF2 091
5.1.1 簡介 091
5.1.2 ROS2 中的TF2 092
5.1.3 ROS2 中TF2 坐標的基本規則 093
5.2 TF2 編程基礎 095
5.2.1 TF2 功能包及官方實例 095
5.2.2 TF2 工具 095
5.2.3 廣播器與監聽器 097
5.3 TF2 廣播及監聽 098
5.3.1 TF2 靜態廣播 098
5.3.2 TF2 動態廣播 101
5.3.3 TF2 監聽 104
5.4 烏龜跟隨案例的實現 107
5.5 本章小結 112
習題五 112
第6章 機器人建模與仿真
6.1 機器人URDF 模型 114
6.2 創建與顯示URDF 模型 117
6.2.1 機器人描述功能包 117
6.2.2 創建URDF 模型 118
6.2.3 解析URDF 模型 119
6.2.4 使用xacro 文件簡化URDF 模型 121
6.2.5 在Rviz2 中顯示模型 123
6.2.6 讓機器人動起來 125
6.3 添加碰撞和物理屬性 126
6.4 添加傳感器模型 127
6.4.1 添加攝像頭 127
6.4.2 添加激光雷達 128
6.5 機器人Gazebo 仿真 130
6.5.1 在Gazebo 中顯示機器人模型 130
6.5.2 Gazebo 插件 133
6.5.3 攝像頭仿真 134
6.5.4 激光雷達仿真 135
6.5.5 使用兩輪差速插件控制機器人運動 138
6.6 使用ros2_control 控制機器人運動 139
6.6.1 ros2_control 的安裝 139
6.6.2 ros2_control 的框架 139
6.6.3 ros2_control 的配置 141
6.7 輪式機器人Gazebo 運動仿真 144
6.7.1 URDF 模型 145
6.7.2 launch 文件 151
6.7.3 運行仿真 153
6.8 本章小結 155
習題六 156
第7章 SLAM 建圖與Nav2 導航開發技術
7.1 SLAM 基礎 157
7.1.1 圖像常見格式 157
7.1.2 占據柵格地圖 158
7.1.3 SLAM 原理和組成 158
7.1.4 SLAM 關鍵技術與分類 159
7.2 Cartographer 160
7.2.1 Cartographer 介紹 160
7.2.2 Cartographer 安裝 161
7.2.3 Cartographer 參數配置 162
7.3 Navigation 2 概述 164
7.3.1 Nav2 導航的介紹 164
7.3.2 Nav2 導航相關概念 165
7.3.3 Nav2 導航安裝與介紹 167
7.4 Nav2 行為樹 169
7.4.1 行為樹概述 169
7.4.2 導航到位姿行為樹 169
7.4.3 跟隨動態點行為樹 171
7.5 配置規劃器、恢覆器、控制器服務器和平滑器 172
7.5.1 配置規劃器 173
7.5.2 配置恢覆器 177
7.5.3 配置控制器服務器 178
7.5.4 配置平滑器 180
7.6 導航插件 182
7.6.1 Costmap Layers 插件 182
7.6.2 行為樹插件 186
7.6.3 控制器插件 190
7.6.4 規劃器插件 195
7.6.5 恢覆器插件 199
7.7 ROS2 SLAM 建圖及導航仿真 202
7.7.1 配置仿真環境 202
7.7.2 SLAM 建圖 203
7.7.3 導航驗證 205
7.8 輪式機器人建圖導航 208
7.8.1 地圖創建 208
7.8.2 建圖 212
7.8.3 導航 216
7.9 本章小結 220
習題七 221
第8章 視覺圖像應用開發技術
8.1 ROS2 圖像數據 222
8.1.1 視覺傳感器 222
8.1.2 二維圖像數據 223
8.1.3 三維點雲圖像 224
8.1.4 在ROS2 中使用攝像頭 225
8.2 攝像頭標定 227
8.2.1 camera_calibration 功能包 227
8.2.2 攝像頭標定過程 227
8.3 OpenCV 庫和人臉識別 228
8.3.1 使用OpenCV 庫 229
8.3.2 使用OpenCV 實現人臉識別 233
8.4 物體檢測 238
8.4.1 介紹與安裝 238
8.4.2 運行仿真 239
8.5 本章小結 240
習題八 241
第9章 機械臂應用開發技術
9.1 創建機械臂URDF 模型 242
9.1.1 機械臂的外形建立 242
9.1.2 機械臂link 的inertial 的設置 242
9.2 機械臂與MoveIt 的關聯 243
9.2.1 建立相關文件 243
9.2.2 創建項目 244
9.2.3 編譯試運行 247
9.3 機械臂與Gazebo 的關聯 247
9.3.1 建立文件 247
9.3.2 編譯、運行、測試 249
9.4 MoveIt 與Gazebo 的關聯 251
9.4.1 原理分析 251
9.4.2 launch 文件編寫 251
9.4.3 執行測試 254
9.5 本章小結 255
習題九 255
第10章 ROS2 機器人開發實例
10.1 ROS2 六足機器人仿真 256
10.1.1 launch 文件 256
10.1.2 運行仿真 258
10.2 TurtleBot4 建圖與導航 259
10.2.1 TurtleBot4 介紹與配置 260
10.2.2 控制TurtleBot4 262
10.2.3 TurtleBot4 建圖 265
10.2.4 TurtleBot4 導航 266
10.3 本章小結 268
習題十 268
參考文獻
