定 價:¥59.80
作 者: | 李德 著 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302613220 | 出版時間: | 2022-09-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 244 | 字數(shù): |
第1部分 基礎知識
第1章 輪式機器人的基礎知識 2
1.1 輪式機器人的定義與應用 2
1.2 輪式機器人的結構3
1.3 機器人的驅動方式4
1.4 本章總結5
第2章 機器人的構成 6
2.1 機器人的規(guī)劃6
2.2 輪式機器人的轉向結構 8
2.2.1 輪式機器人的差速轉向 8
2.2.2 輪式機器人的獨立舵機轉向 9
2.2.3 阿克曼轉向結構 11
2.2.4 輪式機器人轉向比較 11
2.2.5 差速機器人里程計運動模型 12
2.3 輪式機器人電動機的選型 13
2.3.1 輪式機器人:電動機性能 13
2.3.2 輪式機器人:GA370電動機參數(shù)計算 14
2.4 機器人的驅動模塊15
2.4.1 驅動芯片L298N性能 15
2.4.2 驅動模塊 L298N的使用方法 16
2.4.3 驅動板TB6612FNG的使用方法 17
2.5 輪式機器人的大腦:控制器選型 18
2.6 輪式機器人底盤DIY 19
2.6.1 DIY的兩種方法 19
2.6.2 輪式機器人DIY改裝法 21
2.7 輪式機器人總結23
2.7.1 輪式機器人整體框圖 23
2.7.2 輪式機器人開發(fā)中涉及的軟件列表 23
2.8 本章總結24
第3章 輪式機器人的軟件提升 25
3.1 Keil軟件 25
3.1.1 Keil軟件的安裝 25
3.1.2 Keil 5軟件的使用 27
3.2 Linux基礎知識 28
3.2.1 Linux的Shell 28
3.2.2 編寫程序與腳本 31
3.3 網(wǎng)絡基礎知識32
3.3.1 基礎通信 32
3.3.2 MQTT協(xié)議 33
3.3.3 Linux安裝Mosquitto 36
3.3.4 MQTT測試工具 37
3.3.5 HTTP POST方法 38
3.4 算法39
3.4.1 PID控制算法 39
3.4.2 移位濾波均值算法 44
3.4.3 高、低通濾波和互補濾波器 45
3.4.4 初識貝葉斯 48
3.4.5 二值貝葉斯濾波 49
3.4.6 卡爾曼濾波 51
3.5 本章總結58
第2部分 技術提升
第4章 輪式機器人的底盤控制器:STM32開發(fā) 60
4.1 底盤控制器的對外神經元:輸出PWM 61
4.1.1 使用Keil模擬PWM輸出 61
4.1.2 機器人中使用的PWM 66
4.2 底盤控制器的運動神經元:驅動控制 66
4.2.1 驅動控制器的連接 66
目 錄
- V -
4.2.2 驅動源碼分析 66
4.3 底盤控制器的捕獲神經元:PWM捕獲測速 68
4.3.1 硬件 68
4.3.2 測速源碼分析 69
4.4 底盤控制器的中樞神經元:串口通信控制指令 71
4.5 底盤控制器的觸覺神經元:ADC電池電壓監(jiān)測 75
4.5.1 硬件連接 75
4.5.2 源碼分析 75
4.6 底盤控制器的發(fā)光控制神經元:LED控制 77
4.6.1 硬件連接 77
4.6.2 源碼分析 77
4.7 本章總結78
第5章 輪式機器人的主控制器:樹莓派開發(fā) 79
5.1 樹莓派簡介79
5.2 樹莓派資源80
5.3 輪式機器人的交互窗口:樹莓派Shell 80
5.4 輪式機器人上網(wǎng)接口:Socket通信 83
5.5 輪式機器人從控制器通信接口:樹莓派串口 83
5.5.1 樹莓派串口配置 83
5.5.2 樹莓派USB轉串口 86
5.5.3 綁定串口 87
5.6 輪式機器人無線聯(lián)網(wǎng)接口:樹莓派的WiFi功能 88
5.6.1 樹莓派WiFi連接路由器 88
5.6.2 樹莓派WiFi做AP熱點 89
5.7 機器人和手機App通信接口:樹莓派藍牙 93
5.7.1 了解藍牙 93
5.7.2 使用Socket功能進行藍牙通信 95
5.8 輪式機器人野外上網(wǎng)接口:4G模塊 96
5.8.1 USB-4G模塊的配置 97
5.8.2 USB-4G轉WiFi 97
5.9 輪式機器人的指南針:RTIMU模塊開發(fā) 98
5.9.1 RTIMULib庫介紹 98
5.9.2 RTIMULib庫的編譯和測試 99
5.9.3 基于RTIMULib的地磁計校準 101
5.9.4 基于RTIMULib的加速計校準 104
5.9.5 基于RTIMULib的陀螺儀校準 104
5.10 輪式機器人的Web搭建 104
5.11 輪式機器人樹莓派固件燒錄 113
5.12 本章總結 114
第6章 輪式機器人的其他神經元:傳感器開發(fā) 115
6.1 DS18B20溫度傳感器開發(fā) 115
6.1.1 DS18B20溫度傳感器的接口定義 115
6.1.2 代碼實現(xiàn) 116
6.2 GPS戶外定位傳感器 118
6.2.1 定位模塊的接口定義 118
6.2.2 NMEA-0183協(xié)議 118
6.2.3 協(xié)議解析流程及實現(xiàn) 119
6.3 激光雷達傳感器121
6.3.1 激光雷達介紹 122
6.3.2 激光雷達協(xié)議 123
6.4 攝像頭圖像傳感器127
6.4.1 攝像頭的使用 128
6.4.2 視覺循跡機器人實例 128
6.5 本章總結129
第7章 輪式機器人的云:物聯(lián)網(wǎng)云平臺 130
7.1 微型服務云平臺簡介130
7.2 搭建局域網(wǎng)的Server 130
7.2.1 安裝PhpStudy 131
7.2.2 搭建第一個物聯(lián)網(wǎng)云 132
7.3 阿里云服務器133
7.3.1 阿里云服務器選型 133
7.3.2 搭建LNMP服務器 135
7.3.3 LAMP服務器的搭建 138
7.4 JavaScript建立簡單的MQTT通信 140
7.5 本章總結143
第8章 輪式機器人路徑規(guī)劃 144
8.1 機器人路徑規(guī)劃144
8.2 機器人全局規(guī)劃145
8.2.1 機器人柵格建圖概述 145
8.2.2 借助OpenCV畫軌跡 146
8.2.3 柵格地圖的建圖過程 151
8.2.4 機器人全局整合規(guī)劃 157
8.2.5 A*算法 159
8.3 機器人局部決策170
8.3.1 DWA算法 170
8.3.2 VFH避障算法 173
8.4 本章總結177
第9章 輪式機器人路徑的定位和導航 178
9.1 輪式機器人路徑跟隨178
9.1.1 MovePose和PID整定 178
9.1.2 PurePuresuit跟隨算法182
9.1.3 路徑跟隨與測試 185
9.2 輪式機器人定位匹配189
9.2.1 粒子濾波 189
9.2.2 粒子濾波定位(蒙特卡羅定位) 190
9.3 GNSS定位導航 190
9.4 本章總結192
第3部分 實戰(zhàn)案例
第10章 機器人定位終端實例 194
10.1 機器人實體終端:模塊構成 194
10.2 輪式機器人通信:STM32和樹莓派之間的通信協(xié)議 195
10.3 機器人與云平臺通信:MQTT通信協(xié)議 197
10.4 輪式機器人:配置網(wǎng)絡 198
10.5 輪式機器人軟件說明 202
10.5.1 軟件框架 202
10.5.2 控制App:navigation 203
10.5.3 硬件信息確認 205
10.6 輪式機器人的人機交互 205
10.7 輪式機器人云平臺功能介紹 206
10.7.1 添加設備 206
10.7.2 設備信息 207
10.7.3 趣味玩法 207
10.7.4 路徑規(guī)劃 209
10.8 手動規(guī)劃路徑的原理及操作 210
10.9 本章總結 211
第11章 BreezySLAM室內定位導航機器人實例 212
11.1 BreezySLAM的安裝 212
11.2 BreezySLAM測試 214
11.3 BreezySLAM源碼分析 217
11.4 硬件搭建 221
11.5 軟件實現(xiàn) 221
11.6 測試運行 227
11.7 本章總結 227
第12章 ROS機器人開發(fā)實例 228
12.1 ROS介紹 228
12.2 ROS工具包 229
12.3 Ubuntu環(huán)境下安裝ROS 230
12.4 發(fā)布GPS定位 node 233
12.5 發(fā)布imu node 234
12.6 STM32 通信node 235
12.7 Qt for ROS 界面 238
12.8 本章總結 243