C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門(mén)到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南 版權(quán)信息
- ISBN:9787122446138
- 條形碼:9787122446138 ; 978-7-122-44613-8
- 裝幀:平裝
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南 本書(shū)特色
1.原版書(shū)作者知識(shí)功底扎實(shí),在電子和機(jī)器人技術(shù)領(lǐng)域頗有影響力2.內(nèi)容涉及基礎(chǔ)硬件設(shè)備以及傳感器、通信、定位、感知、規(guī)劃、控制、多傳感器融合等使用C 來(lái)開(kāi)發(fā)機(jī)器人的整個(gè)流程的知識(shí)點(diǎn),基礎(chǔ)實(shí)用3.譯者專(zhuān)業(yè)知識(shí)豐富,力求使書(shū)中內(nèi)容通俗易懂、融會(huì)貫通
C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南 內(nèi)容簡(jiǎn)介
本書(shū)深入淺出地介紹了構(gòu)建移動(dòng)機(jī)器人平臺(tái)所需的綜合知識(shí),涵蓋了硬件和軟件諸多方面。本書(shū)以清晰的學(xué)習(xí)路徑和全面的底層邏輯為基石,幫助讀者輕松地構(gòu)建和編程機(jī)器人,避免了深入每個(gè)科目復(fù)雜部分的困難。書(shū)中聚焦于樹(shù)莓派與硬件交互的編程,全面覆蓋了從選用機(jī)器人控制器的微計(jì)算機(jī)(即樹(shù)莓派)到為車(chē)輪驅(qū)動(dòng)電機(jī)供電等系統(tǒng)性知識(shí)。讀者可了解并掌握如何利用傳感器檢測(cè)障礙物、訓(xùn)練機(jī)器人建立地圖并規(guī)劃避障路徑,以及實(shí)現(xiàn)代碼的模塊化和與其他機(jī)器人項(xiàng)目進(jìn)行代碼互換。此外,本書(shū)還詳細(xì)闡述了如何運(yùn)用樹(shù)莓派的GPIO硬件接口端子和現(xiàn)有庫(kù),把樹(shù)莓派轉(zhuǎn)變成一個(gè)經(jīng)濟(jì)實(shí)用且性能很好的機(jī)器人。 本書(shū)適合從事自動(dòng)化、智能機(jī)器人、智能硬件、IOT領(lǐng)域的工程師以及樹(shù)莓派愛(ài)好者閱讀參考,無(wú)論是零基礎(chǔ)的初學(xué)者,還是具備計(jì)算機(jī)科學(xué)、電氣工程或機(jī)械工程背景的工程師或者高校師生,都能從本書(shū)中獲益。你不僅能學(xué)習(xí)到驅(qū)動(dòng)電機(jī)控制器的編程,還能了解從激光雷達(dá)數(shù)據(jù)構(gòu)建地圖、編寫(xiě)和實(shí)施自主路徑規(guī)劃算法、獨(dú)立編寫(xiě)代碼向電機(jī)驅(qū)動(dòng)控制器發(fā)送路徑點(diǎn),以及更深入地學(xué)習(xí)機(jī)器人建圖和導(dǎo)航的相關(guān)知識(shí)。
C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南 目錄
1.1 什么是樹(shù)莓派? 002
1.1.1 樹(shù)莓派和微控制器有什么區(qū)別呢? 003
1.1.2 樹(shù)莓派是機(jī)器人控制器的唯一選擇嗎? 003
1.1.3 難道樹(shù)莓派只是為學(xué)校、愛(ài)好者和玩具而設(shè)計(jì)的嗎? 003
1.2 樹(shù)莓派型號(hào)的概念和應(yīng)用以及為什么不是所有型號(hào)都能適合我們的需求 004
1.2.1 為什么樹(shù)莓派型號(hào)不能適合我們所有的目的? 004
1.2.2 樹(shù)莓派Zero型和樹(shù)莓派Zero W型 005
1.2.3 樹(shù)莓派2B型 006
1.2.4 樹(shù)莓派3B型——*好的選擇 006
1.2.5 樹(shù)莓派3B 型 007
1.2.6 樹(shù)莓派4代 007
1.3 操作系統(tǒng)的選擇 007
1.3.1 Raspbian 008
1.3.2 Ubuntu 008
1.4 操作系統(tǒng)的安裝和設(shè)置 009
1.4.1 在筆記本電腦或臺(tái)式電腦上安裝完整的Ubuntu桌面操作系統(tǒng) 010
1.4.2 在樹(shù)莓派上安裝Lubuntu系統(tǒng) 010
1.5 編程環(huán)境(IDE)的安裝和設(shè)置 013
1.5.1 在筆記本電腦或臺(tái)式電腦上安裝VS Code 013
1.5.2 在樹(shù)莓派上安裝Code::Blocks 014
1.6 總結(jié) 015
1.7 問(wèn)題 015 第2章 GPIO硬件接口引腳的概述及使用 016
2.1 簡(jiǎn)介 016
2.2 什么是GPIO引腳 016
2.3 GPIO到底是做什么的呢? 018
2.4 程序員的電子學(xué) 018
2.5 輸出數(shù)據(jù)的類(lèi)型 021
2.6 輸入數(shù)據(jù)的類(lèi)型 022
2.7 一些常見(jiàn)的電子硬件 024
2.7.1 面包板 024
2.7.2 作為輸出的GPIO引腳 027
2.7.3 兩種引腳編號(hào)系統(tǒng) 028
2.7.4 作為輸入的GPIO引腳 028
2.8 使用C 程序訪問(wèn)樹(shù)莓派的GPIO 030
2.8.1 安裝PIGPIO 030
2.8.2 安裝和設(shè)置PIGPIO庫(kù) 031
2.8.3 確保Code::Blocks可以鏈接到PIGPIO 031
2.8.4 運(yùn)行PIGPIO程序 032
2.9 我們的**個(gè)GPIO項(xiàng)目——hello_blink 032
2.10 控制數(shù)字輸出的數(shù)字輸入——hello_button 034
2.11 GPIO事件的回調(diào)函數(shù) 036
2.12 結(jié)論 038 第3章 機(jī)器人平臺(tái) 039
3.1 簡(jiǎn)介 039
3.2 目標(biāo) 039
3.3 考慮機(jī)器人的尺寸大小和運(yùn)行環(huán)境 040
3.4 差速驅(qū)動(dòng)與阿克曼(Ackerman)轉(zhuǎn)向的對(duì)比 041
3.4.1 差速驅(qū)動(dòng) 042
3.4.2 阿克曼(Ackerman)轉(zhuǎn)向 042
3.5 現(xiàn)成的機(jī)器人平臺(tái) 042
3.5.1 大型的預(yù)搭建機(jī)器人 042
3.5.2 小型的預(yù)搭建機(jī)器人 043
3.6 自制機(jī)器人的技巧 044
3.6.1 搭建材料 045
3.6.2 電池 045
3.6.3 傳動(dòng)系統(tǒng) 045
3.6.4 機(jī)器人零件來(lái)源 046
3.7 改裝掃地機(jī)器人或遙控車(chē) 047
3.7.1 帶有接口的掃地機(jī)器人 047
3.7.2 與Roomba機(jī)器人對(duì)接 048
3.7.3 喚醒你的Roomba機(jī)器人 051
3.7.4 不帶接口的掃地機(jī)器人 051
3.7.5 改裝遙控車(chē)和卡車(chē) 052
3.8 總結(jié) 053
3.9 問(wèn)題 053 第4章 機(jī)器人電機(jī)類(lèi)型和電機(jī)控制 054
4.1 簡(jiǎn)介 054
4.2 目標(biāo) 054
4.3 電機(jī)的類(lèi)型 055
4.3.1 交流(AC)電機(jī)與直流(DC)電機(jī) 055
4.3.2 有刷直流電機(jī) 056
4.3.3 伺服電機(jī) 056
4.3.4 步進(jìn)電機(jī) 057
4.3.5 無(wú)刷直流電機(jī)(又稱(chēng)為BLDC) 058
4.4 晶體管和電機(jī)驅(qū)動(dòng)器的介紹 058
4.4.1 *基本的控制:開(kāi)/關(guān) 058
4.4.2 晶體管 059
4.5 脈沖寬度調(diào)制(PWM) 061
4.5.1 用PWM來(lái)創(chuàng)造模擬電壓 061
4.5.2 PWM作為控制信號(hào) 062
4.6 電機(jī)驅(qū)動(dòng)器和電機(jī)控制器 063
4.6.1 電機(jī)驅(qū)動(dòng)器 063
4.6.2 用L298N雙H橋電機(jī)驅(qū)動(dòng)器控制電機(jī) 065
4.7 電機(jī)控制器 067
4.8 結(jié)論 068
4.9 問(wèn)題 068
4.10 挑戰(zhàn) 068 第5章 與傳感器和其他設(shè)備通信 069
5.1 簡(jiǎn)介 069
5.2 目標(biāo) 069
5.3 二進(jìn)制(邏輯)信號(hào) 069
5.3.1 開(kāi)關(guān)去抖動(dòng) 070
5.3.2 輪式編碼器 071
5.3.3 來(lái)自模擬傳感器的二進(jìn)制信號(hào) 071
5.3.4 二進(jìn)制通信簡(jiǎn)介 072
5.4 串行通信入門(mén) 072
5.4.1 UART串行通信 072
5.4.2 設(shè)置樹(shù)莓派并測(cè)試UART串行通信 073
5.4.3 修復(fù)打開(kāi)串行端口時(shí)的錯(cuò)誤 076
5.5 I2C通信入門(mén) 076
5.5.1 在樹(shù)莓派上設(shè)置和使用I2C設(shè)備 077
5.5.2 示例和測(cè)試程序:hello_i2c_lsm303 078
5.6 結(jié)論 081
5.7 問(wèn)題 081 第6章 其他有用的硬件 082
6.1 簡(jiǎn)介 082
6.2 目標(biāo) 082
6.3 電源 083
6.3.1 5V電源 083
6.3.2 可調(diào)電源 083
6.4 繼電器模塊 084
6.5 邏輯電平轉(zhuǎn)換器 084
6.6 FTDI芯片 085
6.7 Arduino微控制器 086
6.8 Digispark微控制器 086
6.9 總結(jié) 087
6.10 問(wèn)題 087 第7章 添加計(jì)算機(jī)來(lái)控制機(jī)器人 088
7.1 簡(jiǎn)介 088
7.2 結(jié)構(gòu) 088
7.3 目標(biāo) 089
7.4 步驟 089
7.4.1 安裝計(jì)算機(jī)并為其供電 089
7.4.2 將計(jì)算機(jī)與機(jī)器人的其他組件相連 090
7.5 結(jié)論 091
7.6 問(wèn)題 092 第8章 機(jī)器人的控制策略 093
8.1 簡(jiǎn)介 093
8.2 結(jié)構(gòu) 093
8.3 目標(biāo) 093
8.4 機(jī)器人控制:全局與局部 094
8.5 基本控制回路 095
8.5.1 觀察和比較 095
8.5.2 響應(yīng) 095
8.5.3 影響 096
8.6 開(kāi)環(huán)控制器和閉環(huán)控制器 097
8.6.1 設(shè)計(jì)一個(gè)大局觀控制器(也稱(chēng)為主控制器) 098
8.6.2 設(shè)計(jì)一個(gè)局部控制器(也稱(chēng)為進(jìn)程控制器) 100
8.7 結(jié)論 104
8.8 問(wèn)題 104 第9章 協(xié)調(diào)各個(gè)部件 105
9.1 簡(jiǎn)介 105
9.2 結(jié)構(gòu) 105
9.3 目標(biāo) 106
9.4 什么是機(jī)器人操作系統(tǒng)? 106
9.5 ROS與編寫(xiě)機(jī)器人控制軟件 106
9.6 ROS和商業(yè)機(jī)器人產(chǎn)業(yè) 107
9.7 ROS的設(shè)置 107
9.7.1 在你筆記本電腦或臺(tái)式機(jī)上安裝ROS Melodic 108
9.7.2 在你的樹(shù)莓派3B上安裝ROS Kinetic 108
9.8 ROS概述和速成課程 110
9.9 一些有用的建議 115
9.10 創(chuàng)建和編寫(xiě)ROS包和節(jié)點(diǎn) 116
9.10.1 ROS文件系統(tǒng) 116
9.10.2 創(chuàng)建ROS包 116
9.10.3 編寫(xiě)ROS程序(節(jié)點(diǎn)) 117
9.10.4 下載、審閱和運(yùn)行章節(jié)下載程序 123
9.11 使用roslaunch和.launch來(lái)簡(jiǎn)化工作 124
9.12 結(jié)論 124
9.13 問(wèn)題 125 第10章 用于機(jī)器人導(dǎo)航的地圖構(gòu)建 126
10.1 簡(jiǎn)介 126
10.2 目標(biāo) 127
10.3 角度、航向和距離等常規(guī)參數(shù)的規(guī)則 127
10.4 接收傳感器數(shù)據(jù) 128
10.5 占用柵格地圖(OGM) 129
10.6 用傳感器數(shù)據(jù)構(gòu)建占用柵格地圖(OGM) 131
10.6.1 標(biāo)記被占用的單元格 134
10.6.2 標(biāo)記空閑單元格 136
10.6.3 完成建圖 136
10.6.4 將地圖作為ROS消息發(fā)布 136
10.7 ROS中的變換 138
10.7.1 理解變換 138
10.7.2 ROS中如何使用變換 139
10.7.3 使用靜態(tài)變換發(fā)布器發(fā)布變換 140
10.7.4 用變換廣播器從節(jié)點(diǎn)向外發(fā)布變換 141
10.7.5 在節(jié)點(diǎn)中獲得轉(zhuǎn)換數(shù)據(jù) 142
10.7.6 從命令行查看變換數(shù)據(jù) 143
10.8 用Gmapping繪制地圖 143
10.8.1 Gmapping 143
10.8.2 下載Gmapping 144
10.8.3 運(yùn)行Gmapping和啟動(dòng)文件中的參數(shù) 144
10.8.4 創(chuàng)建地圖的步驟 145
10.9 用Rviz實(shí)現(xiàn)地圖的可視化 146
10.10 保存地圖并在以后使用 147
10.10.1 保存地圖 147
10.10.2 加載先前保存的地圖 148
10.11 總結(jié) 148
10.12 問(wèn)題 149 第11章 機(jī)器人跟蹤和定位 150
11.1 簡(jiǎn)介 150
11.2 目標(biāo) 150
11.3 機(jī)器人位姿 151
11.3.1 將歐拉角轉(zhuǎn)換為四元數(shù) 152
11.3.2 將四元數(shù)轉(zhuǎn)換為歐拉角 153
11.4 里程計(jì)算和航跡推算 153
11.4.1 輪速計(jì) 154
11.4.2 計(jì)算每個(gè)輪子行駛的距離 156
11.4.3 計(jì)算機(jī)器人移動(dòng)的總距離 157
11.4.4 計(jì)算航向角的變化 157
11.4.5 將機(jī)器人中的朝向變化添加到原來(lái)的朝向上 158
11.4.6 計(jì)算在x和y方向上移動(dòng)的距離(也被叫作轉(zhuǎn)換) 158
11.4.7 將計(jì)算的距離添加到前一個(gè)姿態(tài)估計(jì)中 158
11.4.8 航位推測(cè) 159
11.5 在ROS中發(fā)布姿態(tài)數(shù)據(jù) 160
11.6 里程計(jì)數(shù)據(jù)變換發(fā)布 162
11.7 進(jìn)一步跟蹤和定位 164
11.8 基準(zhǔn)點(diǎn) 164
11.9 激光特征跟蹤和定位 165
11.10 GPS和GNSS 166
11.11 基于信標(biāo)的定位系統(tǒng) 166
11.12 總結(jié) 167
11.13 問(wèn)題 167 第12章 自主運(yùn)動(dòng) 168
12.1 簡(jiǎn)介 168
12.2 目標(biāo) 168
12.3 ROS機(jī)器人運(yùn)動(dòng)綜述 168
12.4 電機(jī)控制器——simple_diff_drive.cpp 169
12.4.1 simple_diff_drive電機(jī)控制器的代碼步驟 170
12.4.2 差動(dòng)驅(qū)動(dòng)電機(jī)控制器代碼概述 170
12.4.3 差動(dòng)電機(jī)控制器代碼 171
12.5 驅(qū)動(dòng)器控制器:simple_drive_controller.cpp 176
12.6 結(jié)論 180
12.7 問(wèn)題 180 第13章 自主路徑規(guī)劃 181
13.1 簡(jiǎn)介 181
13.2 目標(biāo) 181
13.3 路徑規(guī)劃方法與挑戰(zhàn) 181
13.3.1 挑戰(zhàn) 182
13.3.2 路徑規(guī)劃方法 182
13.4 障礙物膨脹 183
13.4.1 代價(jià)地圖 183
13.4.2 costmap_2d包 184
13.5 A*路徑規(guī)劃 186
13.5.1 A*是如何工作的 187
13.5.2 A*算法的步驟 189
13.5.3 完成A*程序 190
13.6 將A*程序?qū)懗蒖OS節(jié)點(diǎn) 194
13.6.1 標(biāo)準(zhǔn)內(nèi)容、輔助函數(shù)和main() 195
13.6.2 A*節(jié)點(diǎn)的核心:find_path() 203
13.7 結(jié)論 207
13.8 問(wèn)題 208 第14章 里程計(jì)的輪式編碼器 209
14.1 簡(jiǎn)介 209
14.2 目標(biāo) 209
14.3 輪式編碼器 209
14.4 光電編碼器 210
14.5 霍爾效應(yīng)編碼器 210
14.6 編碼器的接線(xiàn) 211
14.7 編碼器tick信號(hào)發(fā)布——tick_publisher.cpp 212
14.8 結(jié)論 216
14.9 問(wèn)題 216 第15章 超聲波測(cè)距儀 217
15.1 簡(jiǎn)介 217
15.2 目標(biāo) 217
15.3 HC-SR04超聲波測(cè)距傳感器基礎(chǔ)知識(shí) 218
15.4 HC-SR04的接線(xiàn) 218
15.5 超聲波范圍數(shù)據(jù)發(fā)布器——ultrasonic_publisher. cpp 219
15.5.1 超聲波范圍數(shù)據(jù)發(fā)布者步驟 219
15.5.2 超聲波范圍數(shù)據(jù)發(fā)布者代碼 220
15.6 用于物體探測(cè)的超聲波范圍數(shù)據(jù) 222
15.7 結(jié)論 223
15.8 問(wèn)題 223 第16章 慣性測(cè)量單元——加速度計(jì),陀螺儀和磁力計(jì) 224
16.1 簡(jiǎn)介 224
16.2 目標(biāo) 225
16.3 加速度計(jì) 225
16.3.1 加速度計(jì)的缺點(diǎn) 226
16.3.2 在ROS中發(fā)布IMU數(shù)據(jù) 226
16.3.3 ROS中sensor_msgs::Imu數(shù)據(jù)類(lèi)型 226
16.3.4 IMU消息發(fā)布者代碼 228
16.4 陀螺儀 230
16.4.1 陀螺儀的缺點(diǎn) 231
16.4.2 向IMU節(jié)點(diǎn)添加陀螺儀數(shù)據(jù) 231
16.5 磁力計(jì) 232
16.5.1 磁力計(jì)的缺點(diǎn) 232
16.5.2 向IMU節(jié)點(diǎn)添加磁力計(jì)數(shù)據(jù) 232
16.6 安裝IMU 234
16.7 總結(jié) 234
16.8 問(wèn)題 234 第17章 GPS和外部信標(biāo)系統(tǒng) 235
17.1 簡(jiǎn)介 235
17.2 目標(biāo) 235
17.3 信標(biāo)系統(tǒng)是如何工作的 236
17.4 GPS和GNSS基礎(chǔ)知識(shí) 237
17.5 2cm精度級(jí)的GPS/GNSS-RTK 238
17.6 GPS/GNSS的局限性 239
17.7 GPS/GNSS數(shù)據(jù)格式 240
17.7.1 NMEA 數(shù)據(jù)字符串 240
17.7.2 一些關(guān)鍵的緯度/經(jīng)度數(shù)據(jù)表示法 241
17.8 在ROS中發(fā)布GPS/GNSS數(shù)據(jù) 242
17.8.1 ROS軟件包:nmea_navsat_driver 242
17.8.2 安裝 nmea_navsat_driver包 243
17.8.3 閱讀ROS軟件包說(shuō)明 243
17.8.4 運(yùn)行帶參數(shù)的nmea_serial_driver節(jié)點(diǎn) 244
17.9 總結(jié) 245
17.10 問(wèn)題 245 第18章 激光雷達(dá)設(shè)備和數(shù)據(jù) 246
18.1 簡(jiǎn)介 246
18.2 目標(biāo) 246
18.3 激光雷達(dá)基礎(chǔ)知識(shí) 247
18.4 激光雷達(dá)的局限性 247
18.5 激光雷達(dá)的種類(lèi) 248
18.5.1 單向(單點(diǎn))激光雷達(dá) 248
18.5.2 2D激光雷達(dá) 248
18.5.3 3D激光雷達(dá) 249
18.5.4 從機(jī)器人吸塵器中獲得激光雷達(dá) 249
18.6 選擇激光雷達(dá)考慮的因素 250
18.7 激光雷達(dá)數(shù)據(jù)消息格式sensor_msgs:: LaserScan 251
18.8 激光雷達(dá)安裝注意事項(xiàng) 253
18.9 配置、運(yùn)行和測(cè)試一個(gè)普通的激光雷達(dá)裝置 254
18.10 LaserScan信息的可視化 255
18.11 總結(jié) 258
18.12 問(wèn)題 258 第19章 相機(jī)的實(shí)時(shí)視覺(jué) 259
19.1 簡(jiǎn)介 259
19.2 目標(biāo) 259
19.3 圖像是什么 260
19.3.1 圖像屬性 260
19.3.2 像素坐標(biāo)系 261
19.3.3 檢查并安裝所需軟件 261
19.3.4 ROS Kinetic 262
19.3.5 ROS Melodic 262
19.3.6 在ROS中測(cè)試OpenCV 263
19.4 圖像處理軟件(OpenCV)和ROS 264
19.4.1 步驟1:在ROS上發(fā)布圖片 264
19.4.2 安裝usb_cam_node 265
19.4.3 運(yùn)行usb_cam_node 265
19.4.4 測(cè)試相機(jī)輸出 266
19.4.5 步驟2:在其他節(jié)點(diǎn)訂閱圖片 267
19.4.6 創(chuàng)建你的ROS視覺(jué)包 267
19.4.7 編寫(xiě)圖像消息訂閱者 268
19.4.8 步驟3:使用cv-bridge將ROS使用的RGB圖像轉(zhuǎn)化成OpenCV可處理的BGR圖像 269
19.4.9 步驟4:對(duì)圖像實(shí)施希望的操作 269
19.4.10 步驟5:發(fā)布任何非圖像數(shù)據(jù)作為自身的ROS信息 270
19.4.11 步驟6:將處理后的圖像轉(zhuǎn)化回RGB格式 270
19.4.12 步驟7:在所屬話(huà)題下發(fā)布結(jié)果圖像 270
19.4.13 更多圖片處理基礎(chǔ) 271
19.4.14 核算子、孔徑與塊 271
19.5 使用圖片副本而不是原圖像的重要性 272
19.5.1 關(guān)于光照的問(wèn)題 272
19.5.2 重新審視步驟4——更多可能的OpenCV操作 272
19.5.3 圖片色彩格式轉(zhuǎn)換函數(shù):cvtColor() 273
19.5.4 圖片濾波函數(shù):blur(),medianBlur(),GaussianBlur() 273
19.5.5 圖片邊緣檢測(cè)函數(shù):Canny() 274
19.6 將圖像上的邊緣變?yōu)閿?shù)字線(xiàn)條:HoughLinesP() 275
19.7 圖片顏色空間轉(zhuǎn)換函數(shù):cvtColor()與inRange() 280
19.8 各式各樣有用的ROS工具 283
19.9 高級(jí)OpenCV與進(jìn)階 283
19.10 基于云的圖像識(shí)別 284
19.11 結(jié)論 284
19.12 問(wèn)題 284 第20章 傳感器融合 285
20.1 簡(jiǎn)介 285
20.2 目標(biāo) 285
20.3 如何讓傳感器融合變得簡(jiǎn)單 286
20.4 博世BN0055絕對(duì)方向傳感器 286
20.5 改進(jìn)后的測(cè)距儀 287
20.6 集成BN0055——硬件和ROS發(fā)布者 288
20.7 整合BN0055——測(cè)距節(jié)點(diǎn) 289
20.7.1 第1步:訂閱IMU信息 289
20.7.2 第2步:確認(rèn)方向沒(méi)有被標(biāo)記為不使用 289
20.7.3 第3步:將四元數(shù)轉(zhuǎn)換成歐拉角 290
20.7.4 第4步:如果是**個(gè)IMU 信息,則保存偏移信息 290
20.7.5 第5.1步:如果不是**條IMU信息,則保存 IMU航向 291
20.7.6 第5.2步:將新的航向應(yīng)用于里程計(jì)中 291
20.8 第二代傳感器融合——一種更全面的方法 292
20.9 協(xié)方差矩陣 293
20.10 ROS信息中的協(xié)方差矩陣 295
20.11 robot_pose_ekf節(jié)點(diǎn) 296
20.11.1 安裝robot_pose_ekf 296
20.11.2 運(yùn)行robot_pose_ekf 296
20.12 關(guān)于變換和roslaunch的*后說(shuō)明 298
20.13 結(jié)論 298
20.14 問(wèn)題 298 第21章 構(gòu)建并完成一個(gè)自主的機(jī)器人的編程 299
21.1 簡(jiǎn)介 299
21.2 目標(biāo) 300
21.3 第1部分——構(gòu)建物理機(jī)器人平臺(tái) 300
21.3.1 機(jī)器人平臺(tái)——總體概覽和零件清單 301
21.3.2 車(chē)輪/電機(jī)模塊 302
21.3.3 電機(jī)驅(qū)動(dòng)器 303
21.3.4 輪轂 303
21.3.5 電池和充電器 303
21.3.6 底盤(pán)/底座 304
21.3.7 計(jì)算機(jī) 305
21.3.8 激光雷達(dá)或其他測(cè)距傳感器 305
21.3.9 輪式編碼器 306
21.3.10 IMU 306
21.3.11 計(jì)算機(jī)的電壓轉(zhuǎn)換器 306
21.3.12 GPIO集線(xiàn)器分線(xiàn)板 307
21.3.13 相機(jī) 307
21.3.14 電壓表 307
21.3.15 其他材料 308
21.3.16 安裝機(jī)器人平臺(tái) 308
21.3.17 安裝輪轂?zāi)K和腳輪 310
21.3.18 安裝電機(jī)驅(qū)動(dòng)器、端子排和計(jì)算機(jī)電源 311
21.3.19 準(zhǔn)備好GPIO分線(xiàn)板 311
21.3.20 安裝計(jì)算機(jī)、GPIO分線(xiàn)板和IMU 312
21.3.21 完成布線(xiàn)并安裝電池 312
21.3.22 安裝激光雷達(dá)和攝像頭 312
21.4 第1部分——結(jié)論 313
21.5 第2部分——為機(jī)器人編程 314
21.5.1 程序設(shè)計(jì)——總覽 314
21.5.2 為你的機(jī)器人編程——詳細(xì)步驟 315
21.5.3 運(yùn)行你的自主機(jī)器人! 324
21.5.4 一些故障排除提示 324
21.6 下一步需要是什么? 325
21.6.1 動(dòng)態(tài)避障 325
21.6.2 PID控制器 326
21.6.3 一個(gè)主控制器,管理各種程序或任務(wù) 326
21.6.4 實(shí)現(xiàn)從地圖到地圖的轉(zhuǎn)換(完全定位) 326
21.6.5 請(qǐng)關(guān)注facebook.com/practicalrobotics和 youtube.com/practicalrobotics 326
21.7 結(jié)論 327
C++樹(shù)莓派機(jī)器人開(kāi)發(fā)實(shí)戰(zhàn)指南 作者簡(jiǎn)介
勞埃德·布朗巴赫,居住在美國(guó)密歇根州羅切斯特山。他是Wayne Robotics Club比賽團(tuán)隊(duì)的共同負(fù)責(zé)人。他從NASA 2007年(自主)月球碎屑開(kāi)采挑戰(zhàn)賽開(kāi)始,多次參加了機(jī)器人挑戰(zhàn)賽,并在2019年智能地面車(chē)輛挑戰(zhàn)賽中,帶領(lǐng)團(tuán)隊(duì)完成了路徑規(guī)劃和避障軟件模塊的開(kāi)發(fā)。 他是一位有十五年經(jīng)驗(yàn)的控制工程師,他將兩年的電子學(xué)、控制理論、傳感器和微控制器學(xué)習(xí)教育經(jīng)驗(yàn)以及四年的工程師實(shí)踐經(jīng)驗(yàn)結(jié)合起來(lái),為他的公司設(shè)計(jì)并實(shí)施指定的機(jī)電解決方案。除此之外,他還對(duì)機(jī)器人俱樂(lè)部的新成員進(jìn)行指導(dǎo)。他堅(jiān)信維護(hù)技能多元化和保持技能的先進(jìn)性是很重要的,因此他再次回到大學(xué)課堂,完成了相關(guān)學(xué)習(xí),并取得了計(jì)算機(jī)科學(xué)學(xué)位。
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(shū)(紅燭學(xué)術(shù)叢書(shū))
- >
煙與鏡
- >
上帝之肋:男人的真實(shí)旅程
- >
自卑與超越
- >
【精裝繪本】畫(huà)給孩子的中國(guó)神話(huà)
- >
羅曼·羅蘭讀書(shū)隨筆-精裝
- >
莉莉和章魚(yú)
- >
李白與唐代文化