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