定 價:¥72.00
作 者: | 張新鈺,趙虛左,邱楠,郭世純 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302631026 | 出版時間: | 2023-05-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
第1章ROS概述與開發(fā)環(huán)境搭建1
1.1ROS簡介2
1.1.1ROS概要3
1.1.2ROS的設計目標3
1.1.3ROS發(fā)展歷程4
1.2ROS安裝6
1.2.1安裝虛擬機軟件6
1.2.2虛擬一臺主機10
1.2.3安裝和優(yōu)化Ubuntu12
1.2.4安裝ROS20
1.2.5測試ROS22
1.3ROS快速體驗24
1.3.1HelloWorld實現(xiàn)簡介24
1.3.2HelloWorld(C++版)25
1.3.3HelloWorld(Python版)26
1.4ROS集成開發(fā)環(huán)境搭建27
1.4.1安裝終端27
1.4.2安裝VSCode29
1.4.3launch文件演示32
1.5ROS架構32
1.5.1ROS文件系統(tǒng)34
1.5.2ROS文件系統(tǒng)相關命令40
1.5.3ROS計算圖41
1.6本章小結42
第2章ROS通信機制43
2.1話題通信43
2.1.1理論模型45
2.1.2基本操作(C++)462.1.3基本操作(Python)49
2.1.4自定義msg51
2.1.5自定義msg調(diào)用(C++)53
2.1.6自定義msg調(diào)用(Python)56
2.2服務通信58
2.2.1理論模型58
2.2.2自定義srv59
2.2.3自定義srv調(diào)用(C++)61
2.2.4自定義srv調(diào)用(Python)65
2.3參數(shù)服務器68
2.3.1理論模型68
2.3.2參數(shù)操作(C++)69
2.3.3參數(shù)操作(Python)73
2.4常用命令75
2.4.1rosnode75
2.4.2rostopic75
2.4.3rosmsg76
2.4.4rosservice77
2.4.5rossrv78
2.4.6rosparam78
2.5通信機制實操79
2.5.1話題發(fā)布80
2.5.2話題訂閱83
2.5.3服務調(diào)用86
2.5.4參數(shù)設置89
2.6通信機制比較91
2.7本章小結92
〖3〗ROS機器人理論與實踐目錄〖3〗第3章ROS通信機制進階93
3.1常用API93
3.1.1初始化93
3.1.2話題與服務相關對象94
3.1.3回旋函數(shù)99
3.1.4時間99
3.1.5其他函數(shù)103
3.2ROS中的頭文件與源文件104
3.2.1自定義頭文件調(diào)用104
3.2.2自定義源文件調(diào)用106
3.3Python模塊導入107
3.4本章小結108
第4章ROS運行管理109
4.1ROS元功能包109
4.2ROS節(jié)點運行管理launch文件110
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5標簽112
4.2.6
4.2.7
4.2.8
4.3ROS工作空間覆蓋114
4.4ROS節(jié)點重名115
4.4.1rosrun設置命名空間與名稱重映射116
4.4.2launch文件設置命名空間與名稱重映射117
4.4.3編碼設置命名空間與名稱重映射117
4.5ROS話題名稱設置117
4.5.1rosrun設置話題重映射118
4.5.2launch文件設置話題重映射119
4.5.3編碼設置話題名稱119
4.6ROS參數(shù)名稱設置122
4.6.1rosrun設置參數(shù)122
4.6.2launch文件設置參數(shù)123
4.6.3編碼設置參數(shù)123
4.7ROS分布式通信125
4.8本章小結126
第5章ROS常用組件127
5.1TF坐標變換128
5.1.1坐標msg消息129
5.1.2靜態(tài)坐標變換130
5.1.3動態(tài)坐標變換136
5.1.4多坐標變換142
5.1.5坐標系關系查看145
5.1.6TF坐標變換實操146
5.1.7TF2與TF155
5.1.8小結156
5.2rosbag156
5.2.1在命令行使用rosbag157
5.2.2rosbag的編碼實現(xiàn)157
5.3rqt工具箱159
5.3.1rqt安裝、啟動與基本使用160
5.3.2rqt_graph160
5.3.3rqt_console160
5.3.4rqt_plot161
5.3.5rqt_bag162
5.4本章小結163
第6章ROS機器人系統(tǒng)仿真164
6.1機器人系統(tǒng)仿真概述164
6.1.1機器人系統(tǒng)仿真的概念164
6.1.2機器人系統(tǒng)仿真的作用165
6.1.3相關組件165
6.1.4機器人系統(tǒng)仿真綜合說明166
6.2URDF集成RViz基本流程167
6.2.1創(chuàng)建功能包并導入依賴包168
6.2.2編寫URDF文件168
6.2.3在launch文件中集成URDF與RViz168
6.2.4在RViz中顯示機器人模型168
6.2.5優(yōu)化RViz啟動169
6.3URDF語法詳解170
6.3.1robot170
6.3.2link171
6.3.3joint172
6.3.4URDF練習176
6.3.5URDF常用工具180
6.4URDF優(yōu)化——Xacro181
6.4.1Xacro快速體驗181
6.4.2Xacro語法詳解184
6.4.3Xacro完整使用流程示例184
6.4.4Xacro實操188
6.5在RViz中控制機器人模型運動190
6.6URDF集成Gazebo193
6.6.1URDF與Gazebo基本集成流程193
6.6.2URDF集成Gazebo相關設置195
6.6.3URDF集成Gazebo實操196
6.6.4Gazebo仿真環(huán)境搭建202
6.7URDF、Gazebo與RViz綜合應用205
6.7.1機器人運動控制以及里程計數(shù)據(jù)顯示205
6.7.2雷達數(shù)據(jù)仿真以及顯示208
6.7.3攝像頭數(shù)據(jù)仿真以及顯示211
6.7.4kinect數(shù)據(jù)仿真以及顯示212
6.8本章小結216
第7章仿真環(huán)境下的機器人導航218
7.1概述218
7.1.1導航模塊簡介219
7.1.2導航中的坐標系221
7.1.3導航條件說明221
7.2導航實現(xiàn)222
7.2.1SLAM建圖222
7.2.2地圖服務225
7.2.3定位227
7.2.4路徑規(guī)劃232
7.2.5導航與SLAM建圖238
7.3導航相關消息240
7.3.1地圖240
7.3.2里程計241
7.3.3坐標變換241
7.3.4定位242
7.3.5目標點與路徑規(guī)劃242
7.3.6激光雷達243
7.3.7相機244
7.3.8深度圖像信息轉(zhuǎn)激光雷達數(shù)據(jù)245
7.4本章小結249
第8章機器人平臺設計250
8.1概述252
8.2Arduino基礎252
8.2.1Arduino開發(fā)環(huán)境搭建253
8.2.2Arduino基本語法257
8.2.3Arduino基本語法展示之一261
8.2.4Arduino基本語法展示之二262
8.2.5Arduino基本語法展示之三263
8.3電機驅(qū)動264
8.3.1電機與電機驅(qū)動板264
8.3.2電機基本控制實驗267
8.3.3電機測速理論268
8.3.4電機測速實現(xiàn)270
8.3.5電機調(diào)速PID控制理論272
8.3.6電機調(diào)速PID控制實現(xiàn)274
8.4底盤設計277
8.4.1底盤實現(xiàn)概述277
8.4.2Arduino端入口279
8.4.3編碼器287
8.4.4Arduino端電機驅(qū)動292
8.4.5Arduino端PID控制294
8.5控制系統(tǒng)299
8.5.1樹莓派概述300
8.5.2分布式框架302
8.5.3SSH遠程連接303
8.5.4安裝ros_arduino_bridge305
8.5.5在樹莓派上安裝ROS307
8.6傳感器313
8.6.1激光雷達簡介313
8.6.2雷達的使用314
8.6.3相機簡介316
8.6.4相機的使用316
8.6.5傳感器集成318
8.7本章小結320
第9章實體機器人導航321
9.1概述321
9.2VSCode遠程開發(fā)322
9.3導航實現(xiàn)324
9.3.1準備工作325
9.3.2SLAM建圖329
9.3.3地圖服務331
9.3.4定位332
9.3.5路徑規(guī)劃333
9.3.6導航與SLAM建圖336
9.4本章小結337
第10章ROS進階338
10.1action通信338
10.1.1自定義action文件340
10.1.2自定義action文件調(diào)用(C++)342
10.1.3自定義action文件調(diào)用(Python)346
10.2動態(tài)配置參數(shù)349
10.2.1動態(tài)配置參數(shù)客戶端350
10.2.2動態(tài)配置參數(shù)服務器端(C++)351
10.2.3動態(tài)配置參數(shù)服務器端(Python)354
10.3pluginlib355
10.4nodelet360
10.4.1使用演示361
10.4.2nodelet實現(xiàn)362
10.5本章小結364