仿人機器人建模與控制
內容描述
Roban 機器人是一款基於 ROS(機器人操作系統) 的人工智能人形機器人。本書圍繞Roban機器人,闡述人工智能相關理論、方法及應用。內容涵蓋Roban機器人的基本原理、操作與開發方法、相關的雙足機器人數學模型及控制理論、人工智能相關的語音及視覺應用。全書共 8 章,主要內容包括 Roban 機器人概述、Python 編程基礎、ROS 編程基礎、SLAM 定位和導航基礎、V-REP 模擬基礎、運動控制基礎,步態算法基礎,以及人工智能基礎。 本書深入淺出,內容新穎,案例豐富,實用性強,寓教於樂。本書既可作為機器人初學者掌握機器人知識的入門書,也可作為機器人研究者鑽研機器人技術的參考書,適合各種不同知識水平的讀者閱讀。 教材配套實體機器人,教材中相應實例可以運行在Roban機器人上,後續教材內容的不斷更新會更好地促進人工智能機器人相關學習和實踐。
目錄大綱
序言 III
前言 V
第1 章Roban 機器人概述.....1
1.1 Roban 機器人簡介.....1
1.1.1 Roban 機器人系統.................... 1
1.1.2 Roban 機器人關節運動模型............ 4
1.1.3 Roban 機器人控制框架................ 6
1.2 操作Roban 機器人.... 6
1.2.1 無線網絡設置.... 6
1.2.2 遠程登錄Roban 機器人................8
1.2.3 使用VS Code 開發...................11
第2 章Python 編程基礎....15
2.1 Python 語法... 15
2.1.1 Python 運行方式.15
2.1.2 Python 程序書寫格式.................18
2.1.3 變量、數據類型、表達式.............19
2.1.4 條件語句....... 22
2.1.5 while 循環語句.. 24
2.1.6 continue 與break 語句................ 26
2.1.7 列表.... 27
2.1.8 元組與字典..... 30
2.2 Python 函數... 31
2.2.1 函數定義....... 32
2.2.2 函數參數....... 33
2.2.3 Python 模塊..... 35
2.3 Python 對象與類..... 36
2.3.1 類的定義與使用. 37
2.3.2 類的繼承....... 38
2.4 文件和異常... 39
2.4.1 文本文件讀寫... 40
2.4.2 二進制文件讀寫. 42
2.4.3 異常.... 43
第3 章ROS 使用概述.45
3.1 ROS 簡介..... 45
3.2 程序包與節點.46
3.2.1 程序包與節點介紹.................. 46
3.2.2 節點的編譯與運行.................. 47
3.3 話題與服務.. 49
3.3.1 ROS 話題...... 49
3.3.2 ROS 消息與消息類型...............50
3.3.3 ROS 服務...... 53
3.4 launch 文件與參數... 56
3.4.1 launch 文件介紹.56
3.4.2 機器人實踐.....59
3.5 常用調試工具rqt.....61
3.5.1 rqt_plot . 61
3.5.2 rqt_img_View .. 61
3.5.3 rqt_graph ...... 62
3.6 ROS 配置實踐....... 63
3.6.1 ROS 編譯環境搭建與測試............ 63
3.6.2 ROS 話題...... 70
3.6.3 ROS 服務...... 78
3.7 主從機配置... 86
3.7.1 獲取IP 地址和Hostname ............. 86
3.7.2 修改對應的hosts .................... 87
3.7.3 配置主從關系...87
3.8 ROS CvBridge 實踐...88
3.8.1 將ROS 圖像消息轉換為OpenCV 的圖像................... 88
3.8.2 將OpenCV 圖像轉換為ROS 圖像消息. 88
3.8.3 在電腦上顯示Roban 機器人攝像頭數據..................89
第4 章同步定位與地圖構建. 90
4.1 SLAM 簡介... 90
4.2 圖像的接收和發布... 91
4.2.1 初始化和配置...91
4.2.2 主要功能實現...93
4.3 定位和圖像追蹤——ORB-SLAM2........ 97
4.3.1 數據接收和程序初始化.............. 97
4.3.2 點雲地圖創建/重用.................. 99
4.4 八叉樹圖層的截取以及平面地圖的生成..102
4.4.1 八叉樹圖層的截取................. 102
4.4.2 平面地圖的生成................... 103
4.5 路徑規劃.... 104
4.6 行走實現.... 107
4.6.1 路徑分析......107
4.6.2 行走控制......110
第5 章V-REP 使用概述.... 113
5.1 V-REP 使用簡介.... 114
5.1.1 前言...114
5.1.2 安裝帶有ROS 的V-REP ............ 116
5.1.3 V-REP 的簡單使用................. 122
5.1.4 理解RosInterface ...................128
5.2 V-REP 中的Roban 機器人............... 138
5.2.1 導入Roban 機器人................. 138
5.2.2 BodyHub 簡介與啟動............... 140
5.2.3 關節運動控制. 148
5.2.4 模擬中的步態運行................ 159
5.3 V-REP 傳感器使用.. 166
5.3.1 視覺傳感器... 166
5.3.2 接近傳感器... 177
5.4 V-REP 使用實踐.... 181
5.4.1 過坑路段......182
5.4.2 雷區路段......186
5.4.3 踢球進洞路段. 192
第6 章Roban 機器人運動控制基礎............. 199
6.1 關節.........199
6.1.1 頭部關節......200
6.1.2 手臂關節......201
6.1.3 髖關節.202
6.1.4 腿部關節......202
6.1.5 伺服電機......204
6.2 完整動作執行205
6.3 運動控制.... 207
6.3.1 舵機參數設置. 208
6.3.2 關節位置控制. 208
6.3.3 步態控制......211
6.4 運動學正解.. 215
6.4.1 運行IK 節點.. 215
6.4.2 計算四肢末端位置................. 215
6.5 運動學逆解.. 218
6.5.1 機器人扭腰... 218
6.5.2 扭腰中IK 逆解的處理.............. 223
6.5.3 機器人晃腰... 227
6.6 自動避障實踐230
6.6.1 3D 相機的原理.................... 230
6.6.2 設計思路以及步驟................. 231
6.6.3 示例代碼......232
第7 章雙足步行基礎....... 235
7.1 機器人運動學235
7.1.1 坐標變換......236
7.1.2 人形機器人運動學模型............. 239
7.1.3 正運動學......239
7.1.4 逆運動學......242
7.2 ZMP 的含義. 246
7.2.1 ZMP 與地面反力................... 246
7.2.2 ZMP 分析..... 248
7.2.3 ZMP 的測量... 252
7.2.4 ZMP 與機器人運動.................256
7.3 基於線性倒立擺的雙足步態生成........ 258
7.3.1 質心軌跡生成. 258
7.3.2 足端軌跡生成. 261
7.3.3 台階及斜坡地形的步態規劃......... 263
7.4 機器人靜步態實踐.. 267
7.4.1 五次樣條插值. 267
7.4.2 實現機器人雙足支撐情況下的重心位置移動...............268
7.4.3 實現擺動腳軌跡規劃以及擺動腳的運行................... 270
7.5 機器人上樓梯實踐.. 276
7.5.1 第一階段......276
7.5.2 第二階段......278
7.5.3 第三階段......279
7.5.4 第四階段......281
第8 章人機交互.....283
8.1 音頻處理.... 283
8.1.1 語音識別......285
8.1.2 語音合成......289
8.1.3 聊天機器人綜合應用............... 293
8.2 視頻處理.... 297
8.2.1 視頻設備簡介. 297
8.2.2 圖像處理工具. 300
8.2.3 顏色檢測......309
8.3 綜合應用.... 323
8.3.1 基本原理......323
8.3.2 主要接口......324
8.3.3 運行方式......324
8.4 顏色識別實踐324
8.4.1 HSV 顏色模型介紹................. 324
8.4.2 識別小球......325
8.4.3 追蹤小球......327
8.4.4 追蹤多種顏色小球................. 328
8.5 人臉識別實踐330
8.6 數字識別實踐348
8.6.1 深度學習之Keras .................. 348
8.6.2 使用模型進行數字識別............. 355
參考文獻.............. 358
作者介紹
融亦鳴,講席教授、博士生導師,南方科技大學機械與能源工程系主任、致新書院創院院長。1989年獲美國肯塔基大學機械工程博士學位。曾任美國伍斯特理工大學(WPI)終身正教授。2010—2015年任清華大學機械製造專業教授。美國機械工程師學會會士(ASME Fellow),美國製造工程師學會(SME)會員,計算機輔助設計與製造領域國際知名學者,機械夾具設計研究領域國際權威專家。在美國,先後主持科研項目50餘項;回國後,主持或參與國家自然科學基金、973、863、國家重大專項以及工業合作課題十餘項。出版專著2部,發表論文400多篇,授權應用發明專利多項。
樸松昊,教授、博士生導師,哈爾濱工業大學計算學部主任助理、計算機學院多智能體機器人研究中心主任。中國人工智能學會機器人文化藝術專業委員會主任委員、中國人工智能學會常務理事,黑龍江省機器人學會副理事長,黑龍江省計算機學會智能機器人專業委員會主任委員。主持或參加國家自然科學基金、863計劃重點及面上項目、機器人技術與系統國家重點實驗室基金、黑龍江省自然科學基金、教育部“985”項目、“三星”國際合作項目多項。出版專著2部,發表論文100多篇,其中SCI、EI、ISTP檢索100餘篇。
冷曉琨,哈爾濱工業大學博士,樂聚(深圳)機器人技術有限公司董事長、創始人。作為青年代表受邀參加在人民大會堂舉行的紀念五四運動100週年大會。曾獲中國青少年科技創新獎、中國青年創業獎、全國優秀共青團員、“創青春”全國大學生創新創業大賽金獎、工信部創新創業特等獎等20餘項榮譽,曾登上福布斯雜誌封面併入選福布斯亞洲榜單,帶領團隊研發的Aelos機器人登上平昌冬奧會“北京八分鐘”的舞台。