本書是智能機(jī)器人ROS控制理實(shí)一體化教學(xué)的配套理論教材,主要面向新型工業(yè)化時(shí)期智能及高端裝備制造領(lǐng)域,結(jié)合新工科復(fù)合型專業(yè)技術(shù)人才綜合能力培養(yǎng)的教學(xué)訴求,并融入作者十余載對(duì)基于ROS的移動(dòng)機(jī)器人開發(fā)實(shí)踐及教學(xué)經(jīng)驗(yàn)編寫而成。
全書共12章,講解有關(guān)基礎(chǔ)編程、運(yùn)動(dòng)模態(tài)、機(jī)械臂控制、SLAM地圖構(gòu)建、自主導(dǎo)航等多種功能原理與實(shí)踐應(yīng)用,并配有圖表、代碼、參數(shù)設(shè)置等多種信息,幫助讀者在實(shí)現(xiàn)ROS核心功能的同時(shí)深入了解基于ROS系統(tǒng)的移動(dòng)機(jī)器人開發(fā)。各章下設(shè)學(xué)習(xí)目標(biāo)、學(xué)習(xí)導(dǎo)圖、知識(shí)講解、本章小結(jié)和知識(shí)測(cè)評(píng)等環(huán)節(jié),促進(jìn)ROS理論學(xué)習(xí)與實(shí)踐應(yīng)用相結(jié)合,促進(jìn)讀者的知識(shí)學(xué)習(xí)、能力訓(xùn)練及素養(yǎng)提升。
本書內(nèi)容豐富、結(jié)構(gòu)清晰、形式新穎、術(shù)語(yǔ)規(guī)范,既適合作為普通高等本科院校機(jī)械類、電子信息類、自動(dòng)化類等與智能制造密切相關(guān)專業(yè)的教材,還可供企業(yè)及機(jī)器人聯(lián)盟和培訓(xùn)機(jī)構(gòu)的相關(guān)技術(shù)人員參考。
第1篇 認(rèn)識(shí)移動(dòng)機(jī)器人
第1章 移動(dòng)機(jī)器人導(dǎo)論002
1.1 移動(dòng)機(jī)器人發(fā)展現(xiàn)狀003
1.2 機(jī)器人操作系統(tǒng)發(fā)展與現(xiàn)狀005
1.2.1 ROS的歷史起源005
1.2.2 ROS的發(fā)展與現(xiàn)狀006
1.3 本章小結(jié)008
第2章 移動(dòng)機(jī)器人認(rèn)知010
2.1 移動(dòng)機(jī)器人的組成011
2.1.1 移動(dòng)機(jī)器人的四大組成部分011
2.1.2 多模態(tài)移動(dòng)機(jī)器人013
2.1.3 移動(dòng)機(jī)器人軟件架構(gòu)018
2.2 移動(dòng)機(jī)器人操作方法019
2.2.1 系統(tǒng)啟動(dòng)019
2.2.2 多模態(tài)運(yùn)動(dòng)020
2.3 本章小結(jié)021
第2篇 移動(dòng)機(jī)器人原理
第3章 機(jī)器人操作系統(tǒng)核心概念024
3.1 ROS的組成與安裝025
3.1.1 ROS的組成025
3.1.2 ROS的版本迭代027
3.1.3 ROS的安裝方法028
3.2 ROS的核心概念029
3.2.1 節(jié)點(diǎn)和節(jié)點(diǎn)管理器030
3.2.2 話題和消息031
3.2.3 服務(wù)033
3.2.4 參數(shù)034
3.3 ROS通信機(jī)制035
3.3.1 話題通信機(jī)制035
3.3.2 服務(wù)通信機(jī)制037
3.3.3 參數(shù)管理機(jī)制038
3.4 移動(dòng)機(jī)器人運(yùn)行架構(gòu)分析038
3.4.1 小烏龜仿真038
3.4.2 移動(dòng)機(jī)器人運(yùn)動(dòng)控制041
3.5 本章小結(jié)042
第4章 ROS常用工具044
4.1 ROS命令行使用方法045
4.1.1 rosnode046
4.1.2 rostopic048
4.1.3 rosservice050
4.1.4 移動(dòng)機(jī)器人命令行調(diào)試052
4.2 launch啟動(dòng)文件055
4.2.1 基本元素056
4.2.2 參數(shù)設(shè)置058
4.2.3 重映射機(jī)制059
4.2.4 嵌套復(fù)用059
4.2.5 移動(dòng)機(jī)器人的launch文件059
4.3 TF坐標(biāo)變換060
4.3.1 TF功能包060
4.3.2 TF工具062
4.3.3 小烏龜例程中的TF063
4.4 可視化工具065
4.4.1 Rviz065
4.4.2 rqt066
4.4.3 Gazebo070
4.5 本章小結(jié)071
第5章 移動(dòng)機(jī)器人基礎(chǔ)編程073
5.1 移動(dòng)機(jī)器人開發(fā)流程074
5.1.1 工作空間的創(chuàng)建和編譯075
5.1.2 創(chuàng)建功能包077
5.2 移動(dòng)機(jī)器人運(yùn)動(dòng)控制編程078
5.2.1 編程思路078
5.2.2 代碼解析078
5.2.3 功能運(yùn)行079
5.3 移動(dòng)機(jī)器人狀態(tài)訂閱編程080
5.3.1 編程思路081
5.3.2 代碼解析081
5.3.3 功能運(yùn)行081
5.4 移動(dòng)機(jī)器人分布式通信082
5.4.1 分布式通信網(wǎng)絡(luò)配置082
5.4.2 移動(dòng)機(jī)器人分布式控制083
5.5 本章小結(jié)084
第6章 移動(dòng)機(jī)器人運(yùn)動(dòng)學(xué)086
6.1 阿克曼運(yùn)動(dòng)控制087
6.2 全向運(yùn)動(dòng)控制089
6.3 四輪差速運(yùn)動(dòng)控制091
6.4 本章小結(jié)093
第7章 機(jī)械臂模型解析095
7.1 機(jī)械臂結(jié)構(gòu)類型介紹096
7.2 平行四連桿式機(jī)械臂模型解析101
7.3 多級(jí)舵機(jī)串聯(lián)式機(jī)械臂模型解析101
7.4 桁架式機(jī)械臂模型解析103
7.5 移動(dòng)機(jī)器人機(jī)械臂物料搬運(yùn)103
7.6 本章小結(jié)105
第8章 機(jī)器人視覺處理107
8.1 機(jī)器視覺原理108
8.2 機(jī)器視覺常用軟件110
8.2.1 OpenCV110
8.2.2 TensorFlow111
8.2.3 PyTorch113
8.2.4 yolo114
8.3 機(jī)器視覺常用傳感器114
8.3.1 相機(jī)驅(qū)動(dòng)115
8.3.2 圖像數(shù)據(jù)解析117
8.4 本章小結(jié)118
第3篇 移動(dòng)機(jī)器人應(yīng)用
第9章 機(jī)器人視覺應(yīng)用120
9.1 機(jī)械臂視覺分揀121
9.1.1 實(shí)現(xiàn)原理121
9.1.2 顏色識(shí)別122
9.1.3 啟動(dòng)文件124
9.1.4 代碼解析125
9.1.5 功能運(yùn)行127
9.2 物體識(shí)別與跟蹤128
9.2.1 實(shí)現(xiàn)原理128
9.2.2 閾值測(cè)試129
9.2.3 視覺識(shí)別131
9.2.4 啟動(dòng)文件136
9.2.5 代碼解析137
9.2.6 功能運(yùn)行139
9.3 本章小結(jié)139
第10章 移動(dòng)機(jī)器人SLAM地圖構(gòu)建141
10.1 SLAM地圖構(gòu)建應(yīng)用142
10.2 SLAM地圖構(gòu)建原理143
10.2.1 SLAM基本原理143
10.2.2 SLAM常用傳感器146
10.2.3 ROS接口消息定義147
10.3 Gmapping地圖構(gòu)建149
10.3.1 原理簡(jiǎn)介149
10.3.2 接口定義150
10.3.3 配置方法151
10.3.4 功能運(yùn)行153
10.4 Hector地圖構(gòu)建154
10.4.1 原理簡(jiǎn)介154
10.4.2 接口定義156
10.4.3 配置方法157
10.4.4 功能運(yùn)行159
10.5 Cartographer地圖構(gòu)建160
10.5.1 原理簡(jiǎn)介160
10.5.2 接口定義162
10.5.3 配置方法163
10.5.4 功能運(yùn)行163
10.6 本章小結(jié)164
第11章 移動(dòng)機(jī)器人自主導(dǎo)航165
11.1 移動(dòng)機(jī)器人自主導(dǎo)航原理166
11.1.1 原理簡(jiǎn)介166
11.1.2 ROS自主導(dǎo)航框架167
11.1.3 move_base功能包169
11.1.4 AMCL功能包172
11.1.5 機(jī)器人定位方法對(duì)比173
11.2 移動(dòng)機(jī)器人自主導(dǎo)航應(yīng)用174
11.2.1 功能運(yùn)行174
11.2.2 啟動(dòng)文件175
11.2.3 參數(shù)配置177
11.3 本章小結(jié)180
第12章 移動(dòng)機(jī)器人碼垛182
12.1 碼垛原理183
12.1.1 原理簡(jiǎn)介184
12.1.2 工藝參數(shù)184
12.2 移動(dòng)機(jī)器人碼垛程序步驟187
12.3 移動(dòng)機(jī)器人碼垛任務(wù)編程189
12.3.1 編程思路189
12.3.2 啟動(dòng)文件190
12.3.3 代碼解析193
12.3.4 功能運(yùn)行196
12.4 本章小結(jié)197
參考文獻(xiàn)199