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