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