智能機器人開發與實踐

段峰

  • 出版商: 機械工業
  • 出版日期: 2021-05-01
  • 定價: $414
  • 售價: 8.0$331
  • 語言: 簡體中文
  • 頁數: 240
  • 裝訂: 平裝
  • ISBN: 7111679970
  • ISBN-13: 9787111679974
  • 相關分類: 機器人製作 Robots
  • 立即出貨

買這商品的人也買了...

商品描述

本書循序漸進地介紹了機器人的發展、核心功能,並通過一個服務機器人的例子介紹了機器人的完整開發過程。
通過本書,讀者可以在了解機器人工作原理的基礎上,快速開發與實現一個有完整的功能的機器人。
本書適合作為高校機器人、人工智能及相關專業作為教材,也可供對機器人開發感興趣的讀者閱讀。

目錄大綱

前言
第一部分基礎知識
第1章機器人概述2
1.1機器人的定義和分類2
1.1.1機器人的定義2
1.1.2服務機器人的分類3
1.2現代機器人的發展歷程3
1.2.1現代機器人研究初期3
1.2. 2 20世紀70年代4
1.2.3 20世紀80年代5
1.2.4 20世紀90年代7
1.2.5 21世紀9
1.3機器人的組成15
1.3.1機器人的執行機構15
1.3.2驅動裝置16
1.3.3傳感裝置16
1.3.4控制系統16
1.3.5智能係統16
1.3.6智能人機接口系統17
1.4機器人的關鍵技術17
1.4.1自主移動技術17
1.4.2感知技術18
1.4.3智能決策和控制技術18
1.4.4通信技術18
1.5機器人的發展趨勢18
1.5.1人機交互層次化、人性化18
1.5.2與環境的交互智能化19
1.5.3資源利用網絡化19
1.5.4設計與生產標準化、模塊化、體系化19
習題19
參考文獻19

第2章ROS入門22
2.1 ROS簡介22
2.1.1為什麼使用ROS 22
2.1.2什麼是ROS 23
2.1.3 ROS與計算機操作系統的區別23
2.1.4 ROS的主要特點24
2.2 ROS的安裝與卸載25
2.2.1 ROS的版本25
2.2.2安裝、配置ROS Indigo 25
2.2.3安裝、配置ROS Melodic 28
2.2.4卸載ROS 29
2.3進一步學習的資源29
習題30
參考文獻30

第3章ROS框架和使用基礎31
3.1 ROS框架31
3.1.1文件系統級31
3.1.2計算圖級32
3.1.3社區級33
3.2 ROS使用基礎34
3.2.1 catkin概述34
3.2.2工作空間及其創建方法34
3.2.3創建ROS工程包37
3.2.4編譯ROS工程包37
3.2.5創建ROS節點37
3.2.6編譯運行ROS節點38
3.2.7 roslaunch的使用39
3.2.8創建ROS消息和服務41
3.2.9編寫簡單的消息發佈器和訂閱器(C++語言實現) 44
3.2.10編寫簡單的消息發佈器和訂閱器(Python語言實現) 47
3.2.11測試消息發佈器和訂閱器48
3.2.12編寫簡單的Server和Client(C++語言實現) 49
3.2.13編寫簡單的Server和Client(Python語言實現) 51
3.2.14測試簡單的Server和Client 53
習題54
參考文獻54

第4章ROS的調試55
4.1 ROS調試的常用命令55
4.2 ROS調試的常用工具56
4.2.1使用rqt_console在運行時修改調試級別57
4.2.2使用roswtf檢測配置中的潛在問題59
4.2.3使用rqt_graph顯示節點狀態圖59
4.2.4使用rqt_plot繪製標量數據圖60
4.2.5使用image_view顯示二維圖像61
4.2 .6使用rqt_rviz(rviz)實現3D數據可視化63
4.2.7使用rosbag和rqt_bag記錄與回放數據64
4.2.8 rqt插件與rx應用65
4.3 ROS基本命令總結66
4.3.1創建ROS工作空間66
4.3.2 Package的相關操作66
4.3.3節點的相關操作67
4.3.4話題的相關操作67
4.3.5服務的相關操作68
4.3.6 rosparam的相關操作69
4.3.7 bag的相關操作69
4.3.8 rosmsg的相關操作70
4.3.9 rossrv的相關操作70
4.3.10 ROS的其他命令71
習題71

第二部分機器人核心功能的實現
第5章機器人的安裝與初步使用75
5.1 Turtlebot機器人簡介75
5.2 Turtlebot機器人硬件的組成與配置76
5.3 Turtlebot機器人軟件的安裝與測試77
5.3.1從源碼安裝77
5.3. 2 deb安裝方式78
5.3.3按照Kobuki基座進行配置79
5.4啟動Turtlebot 80
5.5通過鍵盤手動控制Turtlebot 81
5.6通過腳本控制Turtlebot 81
5.7監控Kobuki的電池狀態82
5.8 Turtlebot機器人的擴展83
習題85
參考文獻85

第6章機器人視覺功能的實現86
6.1視覺傳感器86
6.1.1 Kinect視覺傳感器86
6.1.2 Primesense視覺傳感器87
6.2驅動程序的安裝與測試88
6.3同時運行兩台Kinect 89
6.4同時運行Kinect與Primesense 92
6.5在ROS中使用OpenCV處理RGB圖像92
6.5.1在ROS中安裝OpenCV 92
6.5.2在ROS代碼中使用OpenCV 93
6.5.3理解ROS-OpenCV轉換架構93
6.5.4 ROS節點示例96
6.6點雲庫及其使用99
6.6.1點雲及點雲庫簡介99
6.6.2 PCL的數據類型99
6.6.3發布和訂閱點雲消息101
6.6.4如何在ROS中使用PCL教程102
6.6.5 PCL的一個簡單應用——檢測門的開關狀態108
習題109
參考文獻109

第7章機器人視覺功能的實現進階110
7.1機器人跟隨功能的實現110
7.1.1理論基礎110
7.1.2跟隨功能的運行測試111
7.2機器人揮手識別功能的實現114
7.2.1機器人揮手識別的實現框架及難點分析115
7.2.2基於AdaBoost和Cascade算法的人臉檢測116
7.2.3用模板匹配算法識別人手118
7.2.4基於YCrCb顏色空間的膚色分割119
7.2.5揮手識別功能的運行測試119
7.3機器人的物體識別與定位功能的實現120
7.3.1基於Hue直方圖的滑動窗口模板匹配方法120
7.3.2基於空間點雲數據的物體定位方法121
7.3.3物體識別與定位的實現和測試122
7.4服務機器人人臉與性別識別功能的實現123
7.4.1基於OpenCV的傳統人臉與性別識別方法123
7.4.2基於OpenCV的人臉與性別識別功能的運行測試124
7.4.3基於Dlib庫的人臉識別方法126
7.4.4基於Dlib庫的人臉識別功能的運行測試126
7.5使用TensorFlow識別手寫數字131
7.5.1 TensorFlow簡介131
7.5.2安裝TensorFlow 132
7.5.3 TensorFlow的基本概念133
7.5.4使用TensorFlow進行手寫數字識別135
習題138
參考文獻138

第8章機器人自主導航功能139
8.1機器人自主導航的關鍵技術139
8.1.1機器人的定位與建圖139
8.1.2路徑規劃142
8.2 Kobuki基座模型的運動學分析145
8.3導航工程包集147
8.3.1導航工程包集概述147
8.3.2硬件需求147
8.4導航工程包集的使用基礎147
8.4.1導航工程包集在機器人上的安裝與配置147
8.4.2機器人tf配置155
8.4.3基礎導航調試指南160
8.4.4通過ROS發布里程計測量信息163
8.4.5通過ROS發布傳感器數據流168
8.5在Turtlebot上配置並使用導航工程包集174
8.5.1使用Turtlebot創建SLAM地圖174
8.5.2使用Turtlebot已知地圖進行自主導航175
習題177
參考文獻177

第9章機器人語音交互功能的基礎理論179
9.1語音識別179
9.1.1聲學模型180
9.1.2語言模型183
9.2語義理解187
9.3語音合成188
參考文獻189

第10章機器人語音交互功能的實現——PocketSphinx 191
10.1硬件設備191
10.2 PocketSphinx語音識別系統簡介191
10.3在Indigo上安裝、測試PocketSphinx 193
10.3.1 PocketSphinx的安裝193
10.3.2安裝語音合成的聲音庫194
10.3.3利用在線工具建立語言模型195
10.4在melodic上安裝、測試PocketSphinx 197
10.4.1在melodic版本上安裝PocketSphinx 197
10.4.2 PocketSphinx語音識別的測試197
習題201

第11章機器人機械臂抓取功能的實現202
11.1機械臂硬件的組成202
11.2機械臂運動學分析203
11.3機械臂舵機ID的設置204
11.4使用USB2Dynamixel控制turtlebotArm 208
11.4.1安裝、測試dynamixel_motor軟件包208
11.4.2機械臂抓取功能的實現212
習題216

第三部分機器人的應用
第12章機器人綜合應用案例一:長命令識別與多任務執行218
12.1案例目標218
12.2語音識別任務219
12.3在家居環境中自主導航220
12.4物體識別與抓取221
習題221

第13章機器人綜合應用案例二:跟隨與協助用戶222
13.1案例目標222
13.2語音識別命令222
13.3跟隨與自主導航223
13.4檢測與識別人臉225

第14章機器人綜合應用案例三:顧客揮手示意機器人點餐226
14.1案例目標226
14.2機器人即時建圖227
14.3機器人識別揮手並移向揮手人228
14.4語音識別菜單229
14.5自主導航回到吧台229