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