本書基于北京鋼鐵俠科技有限公司研發(fā)的最新移動操作機器人,詳細講解了“移動”+“操作”的解決方案,結(jié)合圖像語義分割、目標追蹤、語音控制、群體協(xié)同等最新人工智能技術(shù),系統(tǒng)介紹了移動機械臂的算法實現(xiàn)。本書根據(jù)機器人運動腦的技術(shù)原理,具體講解了感知、決策、執(zhí)行的設(shè)計方案,深刻闡述了機器人在移動中智能完成操作任務(wù)的過程。除了介紹單個機器人本身的開發(fā)方式,本書還介紹了人與機器人的交互方式、多個機器人間的協(xié)作方式,所用的技術(shù)皆來自工程化項目,是學習產(chǎn)業(yè)亟需的智能機器人技術(shù)的理想平臺
張銳,北京鋼鐵俠科技有限公司創(chuàng)始人,全國仿生學標準化技術(shù)委員會委員,全國工商聯(lián)高端裝備制造與儀器儀表委員會委員,中關(guān)村高聚工程高端領(lǐng)軍人才,北京市青年托舉工程入選人,青島市拔尖人才,中國人工智能學會教育工作委員會委員,教育部高職?浦悄軝C器人技術(shù)、高職本科機器人技術(shù)教學標準起草委員會委員,參與制定機器人領(lǐng)域國家標準6項,承擔了多個北京市科技重大專項等省部級項目。
目錄
基 礎(chǔ) 篇
第1章 移動機器人綜述 1
1.1 移動機器人概述 2
1.1.1 定義與分類 2
1.1.2 發(fā)展歷程 4
1.2 移動機器人的核心技術(shù) 5
1.2.1 環(huán)境感知技術(shù) 5
1.2.2 定位導航技術(shù) 6
1.2.3 路徑規(guī)劃技術(shù) 7
1.2.4 運動控制技術(shù) 8
1.2.5 自主決策與學習技術(shù) 9
1.3 移動機器人技術(shù)面臨的挑戰(zhàn) 10
1.3.1 環(huán)境感知的準確性 10
1.3.2 定位導航的精度與魯棒性 10
1.3.3 路徑規(guī)劃的實時性與動態(tài)適應性 11
1.3.4 運動控制的穩(wěn)定性與靈活性 11
1.3.5 自主決策與學習的智能性與可解釋性 11
1.4 移動機器人技術(shù)的未來發(fā)展趨勢 12
1.4.1 多傳感器融合與協(xié)同感知 12
1.4.2 智能化與自主化水平的提升 12
1.4.3 人機協(xié)作與共融 12
1.4.4 跨領(lǐng)域應用拓展 13
1.4.5 標準化與規(guī)范化發(fā)展 13
1.4.6 人形機器人的爭議 13
1.4.7 機器人運動腦 13
第2章 語義分割基礎(chǔ) 15
2.1 語義分割的基本概念 15
2.1.1 基本原理 15
2.1.2 應用實例 15
2.2 語義分割算法概述 17
2.2.1 全卷積網(wǎng)絡(luò) 17
2.2.2 U-Net 19
2.2.3 DeepLab 25
2.2.4 Mask R-CNN 43
2.3 語義分割中的關(guān)鍵技術(shù) 44
2.4 評估與性能指標 57
進 階 篇
第3章 目標檢測與追蹤 60
3.1 色塊追蹤 60
3.2 目標檢測與物體識別追蹤 65
3.2.1 YOLOv8簡介 65
3.2.2 環(huán)境搭建 66
3.2.3 使用YOLOv8進行目標檢測 67
3.2.4 結(jié)合PID控制實現(xiàn)物體識別追蹤 68
3.3 基于特征檢測的圖像拼接技術(shù) 75
3.3.1 環(huán)境準備 75
3.3.2 特征檢測 76
3.3.3 特征匹配 77
3.3.4 計算變換矩陣 78
3.3.5 圖像變換 79
3.3.6 圖像拼接 80
第4章 深度學習模型優(yōu)化 82
4.1 目標與背景 82
4.2 硬件與軟件環(huán)境準備 83
4.2.1 硬件要求 83
4.2.2 軟件要求 83
4.2.3 安裝Python及依賴庫 84
4.3 YOLOv8 模型準備 85
4.3.1 YOLO系列算法發(fā)展簡介 85
4.3.2 YOLOv8模型訓練 86
4.4 TensorRT 加速 89
4.4.1 工作原理 89
4.4.2 核心功能 89
4.4.3 硬件加速 89
4.4.4 跨框架兼容 90
4.4.5 YOLOv8 模型轉(zhuǎn)換與推理 90
4.4.6 常見問題與解決 90
第5章 硬件設(shè)計與系統(tǒng)集成 92
5.1 系統(tǒng)總體概述 92
5.1.1 系統(tǒng)功能概述 92
5.1.2 系統(tǒng)架構(gòu) 93
5.1.3 應用場景 93
5.2 硬件設(shè)計以及I/O配置 94
5.2.1 核心處理器選型 94
5.2.2 外設(shè)接口設(shè)計 95
5.3 底盤控制系統(tǒng) 100
5.3.1 差速移動機器人介紹 100
5.3.2 兩輪差速底盤原理與特點 103
5.3.3 四輪差速底盤原理與特點 106
5.4 兩輪差速底盤與四輪差速底盤的性能對比 111
5.4.1 設(shè)計與結(jié)構(gòu) 111
5.4.2 轉(zhuǎn)彎與機動性 111
5.4.3 控制精度與穩(wěn)定性 112
5.4.4 成本與功耗 112
5.4.5 適用場景 113
5.4.6 輪轂電機選擇 113
5.4.7 運動學建模和分析 114
5.5 里程計數(shù)據(jù)采集與位置解算 115
5.5.1 里程計工作原理 115
5.5.2 里程計數(shù)據(jù)采集 116
5.5.3 里程計數(shù)據(jù)處理與融合 124
5.6 數(shù)據(jù)通信模塊 129
5.6.1 數(shù)據(jù)通信模塊概述 129
5.6.2 里程計數(shù)據(jù)幀的構(gòu)建與發(fā)送 135
實 戰(zhàn) 篇
第6章 可視化控制系統(tǒng)設(shè)計 137
6.1 Qt開發(fā)環(huán)境與項目配置 137
6.1.1 安裝Python和PyQt5 137
6.1.2 使用VSCode設(shè)置開發(fā)環(huán)境 138
6.1.3 創(chuàng)建PyQt5項目結(jié)構(gòu) 139
6.2 PyQt5界面開發(fā)基礎(chǔ) 143
6.2.1 窗口與布局設(shè)計 143
6.2.2 常用控件詳解 145
6.2.3 事件與信號槽機制 149
6.2.4 常見問題與解決方案 154
6.3 Python與Shell腳本的交互 154
6.3.1 Shell腳本簡介 155
6.3.2 在PyQt5中調(diào)用Shell腳本 155
6.3.3 在PyQt5中觸發(fā)Shell腳本 156
6.3.4 處理腳本執(zhí)行中的錯誤與進度 158
6.4 多任務(wù)與并發(fā)處理 159
6.4.1 多任務(wù)處理與并發(fā)概述 159
6.4.2 Python 中的并發(fā)處理 159
6.4.3 PyQt5中的并發(fā)處理 160
6.4.4 Python 中的多進程 162
第7章 語音控制系統(tǒng)設(shè)計 164
7.1 系統(tǒng)概述 164
7.1.1 語音控制系統(tǒng)的定義與作用 164
7.1.2 系統(tǒng)的核心組成部分 165
7.1.3 語音控制系統(tǒng)在機器人中的應用場景 165
7.2 語音識別配置 166
7.2.1 M260C環(huán)形麥克風陣列 167
7.2.2 Linux 環(huán)境配置 168
7.3 語音指令啟動 169
7.3.1 啟動流程 169
7.3.2 主要函數(shù)與調(diào)用流程 170
7.4 語音控制導航系統(tǒng) 170
7.4.1 工作原理 171
7.4.2 語音指令的解析與執(zhí)行 172
7.4.3 語音指令與功能實現(xiàn) 174
7.5 語音控制物聯(lián)網(wǎng) 175
7.5.1 系統(tǒng)結(jié)構(gòu)與控制原理 175
7.5.2 串口通信協(xié)議與控制指令說明 176
7.5.3 模塊控制示例與語音響應 176
第8章 群體協(xié)同系統(tǒng)設(shè)計 178
8.1 WebSocket通信原理 178
8.1.1 WebSocket協(xié)議概述 178
8.1.2 WebSocket握手過程 179
8.1.3 WebSocket協(xié)議的安全性 180
8.1.4 WebSocket協(xié)議的優(yōu)缺點 180
8.1.5 WebSocket協(xié)議的全雙工通信 181
8.1.6 WebSocket與HTTP/2、HTTP/3的對比 183
8.1.7 WebSocket的底層實現(xiàn)與擴展 184
8.2 群體設(shè)備組網(wǎng)及編隊控制 185
8.2.1 系統(tǒng)架構(gòu)與總體設(shè)計 185
8.2.2 Leader模塊程序解析 186
8.2.3 Follower模塊程序解析 192
8.3 去中心化組網(wǎng)及控制 201
8.3.1 系統(tǒng)架構(gòu) 201
8.3.2 Leader模塊程序解析 203
8.3.3 Follower模塊程序解析 206
8.4 二維柵格地圖合并 215