由于目前無人駕駛學習成本較高,使得很多對無人駕駛感興趣的初學者望而卻步。本書基于開源的機器人操作系統(tǒng)(Robot Operating System,ROS),設計了一款開源的無人駕駛平臺。書中針對初學者引入了ROS的基礎框架,對開發(fā)工具、通信協(xié)議、功能包的應用等進行了介紹,幫助初學者盡快上手。針對有一定基礎的人群,涉及了URDF建模、傳感器使用和數據融合方法等內容。 本書從ROS基礎、車輛建;A、控制基礎到傳感器基礎實驗和數據融合,將涉及的每個知識點詳細拆分講解,涵蓋多個實驗案例,并且為所有代碼提供了詳細的注解,以從根本上滿足讀者的需求。
張銳,北京鋼鐵俠科技有限公司創(chuàng)始人。榮獲北京市優(yōu)秀畢業(yè)生、北京市優(yōu)秀人才(青年骨干)、中關村雛鷹人才、北京市青年人才托舉工程、中關村高聚工程領軍人才、青島市拔尖人才,承擔過北京市科技重大專項等多項省部級項目。
目錄
第1章 緒論 1
1.1 無人駕駛國內外現狀 1
1.1.1 國內研究現狀 1
1.1.2 國外研究現狀 4
1.2 感知智能研究現狀 6
1.2.1 軟件層面 6
1.2.2 硬件層面 7
1.3 感知智能系統(tǒng)的組成 12
1.3.1 介紹 12
1.3.2 意義 12
1.3.3 感知對象 14
1.4 面臨的困難和挑戰(zhàn) 14
1.5 基于ROS的無人駕駛技術 16
第2章 ROS基礎 19
2.1 ROS的工程結構 19
2.1.1 工作空間(catkin workspace) 20
2.1.2 功能包(package) 20
2.1.3 文件類型 21
2.2 ROS通信原理 22
2.2.1 話題通信模型 23
2.2.2 服務通信模型 24
2.2.3 動作通信模型 24
2.2.4 ROS通信總結 25
2.3 實驗操作 25
2.3.1 實驗一 工作空間與功能包創(chuàng)建 25
2.3.2 實驗二 ROS通信原理實驗 28
第3章 ArtTable框架 37
3.1 ArtTable框架介紹 37
3.2 ArtTable框架使用 39
3.2.1 Simulation(仿真模擬)功能 39
3.2.2 LEDControl(LED狀態(tài)控制)功能 40
3.2.3 MoveControl(運動學控制)功能 42
3.2.4 Gmapping(地圖構建)功能 43
第4章 超聲波傳感器 46
4.1 超聲波傳感器分類 46
4.2 常用超聲波傳感器HC-SR04 47
4.2.1 參數特征 47
4.2.2 工作原理 47
4.2.3 使用方法 48
4.3 超聲波傳感器ROS驅動 54
4.4 超聲波傳感器ROS通信數據分析 57
4.4.1 啟動超聲波傳感器ROS程序 57
4.4.2 查看超聲波傳感器ROS節(jié)點數據 57
第5章 編碼器傳感器 61
5.1 編碼器分類 61
5.1.1 增量型 61
5.1.2 絕對值型 63
5.1.3 混合型 63
5.2 常用編碼器E6B2-CWZ6C 64
5.2.1 參數特征 64
5.2.2 工作原理 65
5.2.3 使用方法 66
5.3 編碼器ROS驅動 69
5.4 編碼器ROS通信數據分析 79
5.4.1 啟動編碼器ROS節(jié)點程序 79
5.4.2 查看傳感器節(jié)點數據 79
第6章 慣性傳感器 85
6.1 慣性傳感器分類 85
6.1.1 角速度陀螺儀 86
6.1.2 線加速度計 86
6.2 常用慣性傳感器9DoF Razor IMU 88
6.2.1 參數特征 90
6.2.2 工作原理 91
6.2.3 使用方法 91
6.3 慣性傳感器ROS驅動 116
6.4 慣性傳感器ROS通信數據分析 117
6.4.1 rotopic查看ROS驅動發(fā)布話題 118
6.4.2 分析話題數據imu_data 119
第7章 視覺傳感器 121
7.1 視覺傳感器分類 121
7.2 常用視覺傳感器 122
7.2.1 參數特征 122
7.2.2 工作原理 123
7.2.3 使用方法 123
7.3 視覺傳感器ROS通信驅動 134
第8章 雷達 144
8.1 雷達種類 144
8.1.1 激光雷達概述 144
8.1.2 激光雷達分類 147
8.2 常用激光雷達 152
8.2.1 參數特征 152
8.2.2 工作原理 153
8.2.3 使用方法 154
8.3 激光雷達ROS通信驅動 158
8.4 激光雷達ROS通信數據分析 195
第9章 基于ROS的卡爾曼濾波 198
9.1 robot_pose_ekf簡介 198
9.2 如何使用擴展卡爾曼濾波器 198
9.2.1 配置 198
9.2.2 編譯并運行包 199
9.3 節(jié)點解析 199
9.4 擴展卡爾曼濾波器如何工作 200
第10章 基于ROS的狀態(tài)估計 202
10.1 robot_localization介紹 202
10.2 robot_localization特征 203
10.3 robot_localization狀態(tài)估計節(jié)點 203
10.3.1 ekf_localization_node 203
10.3.2 ukf_localization_node 203
10.3.3 參數 203
10.4 準備數據 210
10.4.1 RO數據標準 210
10.4.2 坐標系和轉換傳感器數據 210
10.4.3 處理tf_prefix 211
10.4.4 每種傳感器消息類型的注意事項 211
10.4.5 常見錯誤 212
10.5 robot_localization配置 213
10.5.1 傳感器配置 213
10.5.2 以2D運行 213
10.5.3 融合不可測變量 214
10.5.4 微分和相對參數 215