注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡人工智能ROS機器人項目開發(fā)11例(原書第2版)

ROS機器人項目開發(fā)11例(原書第2版)

ROS機器人項目開發(fā)11例(原書第2版)

定 價:¥99.00

作 者: [印] 拉姆庫瑪·甘地那坦(Ramkumar Gandhinathan) 著,潘麗,陳媛媛,徐茜,吳中紅 譯
出版社: 機械工業(yè)出版社
叢編項: 機器人設計與制作系列
標 簽: 暫缺

ISBN: 9787111672449 出版時間: 2021-01-01 包裝: 平裝
開本: 16開 頁數(shù): 308 字數(shù):  

內(nèi)容簡介

  本書涵蓋新的ROS發(fā)行版中的項目——ROS Melodic Morenia with Ubuntu Bionic(18.04)。從基本原理開始,本書向你介紹了ROS-2,并幫助你了解它與ROS-1的不同之處。你將能夠在ROS中建模并構(gòu)建工業(yè)移動機械手臂,并在Gazebo 9中進行模擬。然后,你將了解如何使用狀態(tài)機處理復雜的機器人應用程序,以及一次處理多個機器人。本書還向你介紹了新的、流行的硬件,如Nvidia的Jetson Nano、華碩修補板和Beaglebone Black,并允許你探索與ROS的接口。 第1章主要向初學者概述ROS的基礎知識。本章將幫助讀者理解ROS軟件框架的基本思想和概念。 第2章介紹ROS的*新框架——ROS-2?;谠摽蚣?,讀者將能夠使用ROS進行實時應用程序的開發(fā)。本章的結(jié)構(gòu)與第1章類似,主要是幫助讀者厘清ROS-1與ROS-2之間的區(qū)別,同時理解兩個版本的能力與局限。 第3章介紹怎樣在模擬環(huán)境下構(gòu)建移動機器人以及機械臂,并將兩者結(jié)合起來,通過ROS 對其進行控制。 第4章介紹基于狀態(tài)機進行復雜機器人任務處理的技術(shù),這些技術(shù)使得讀者可以在使用機器人執(zhí)行連續(xù)和復雜的任務管理時進行策略調(diào)整。 第5章是第3章、第4章內(nèi)容的綜合應用,基于這兩章內(nèi)容構(gòu)建一個用戶應用程序。該應用程序的功能是控制移動機械臂運送物品。本章將詳細介紹上述應用程序的構(gòu)建過程。 第6章介紹通過ROS在多個機器人間進行通信的方法,其中的機器人既可以是同類型的,也可以是不同類型的(即異構(gòu)多機器人系統(tǒng))。在此基礎上,還將介紹對一組多機器人進行單獨或同時控制的方法。 第7章介紹新型的嵌入式控制器及處理器板,例如基于STM32的控制器、Tinkerboard、Jetson Nano以及其他類似產(chǎn)品。本章還將介紹怎樣通過ROS控制這些板卡的GPIO(General-Purpose Input/Output,通用輸入/輸出接口),以及如何通過Alexa提供的語音交互功能進行語音控制。 第8章介紹機器人學領域最重要的學習技術(shù)之一——強化學習。本章將介紹強化學習的內(nèi)涵,并通過實例介紹強化學習背后的數(shù)學知識。此外,還將通過一系列實例展示強化學習技術(shù)是如何在ROS中進行應用的。 第9章介紹深度學習在機器人領域的應用。本章將介紹如何使用深度學習實現(xiàn)圖像識別,還將介紹使用SVM(Support Vector Machine,支持向量機)的應用程序。 第10章是本書中最有趣的內(nèi)容之一。本章將展示如何使用ROS和Gazebo構(gòu)建一輛模擬的自動駕駛汽車。 第11章展示如何通過VR頭盔和體感控制器Leap Motion實現(xiàn)對機器人的遠程操控。本章將介紹VR頭盔的應用,這是當前流行的技術(shù)之一。 第12章通過一個項目展示如何在ROS下使用OpenCV庫。在本項目中,將構(gòu)建一個最基本的人臉跟蹤器,實現(xiàn)攝像頭對人臉的實時跟蹤。本章將使用諸如Dynamixel的智能伺服系統(tǒng)實現(xiàn)機器人的旋轉(zhuǎn)。

作者簡介

  拉姆庫瑪·甘地那坦(Ramkumar Gandhinathan)是一名機器人學家和研究者。他從小學六年級開始制造機器人,在機器人領域鉆研已超過15年,親手打造了80多個不同類型的機器人。他在機器人行業(yè)有7年的系統(tǒng)性專業(yè)工作經(jīng)驗(4年全職和3年兼職/實習),擁有5年的ROS工作經(jīng)驗。在他的職業(yè)生涯中,他使用ROS構(gòu)建了超過15個工業(yè)機器人解決方案。他對制作無人機也很著迷,是一名無人機駕駛員。他的研究興趣和熱情集中在SLAM、運動規(guī)劃、傳感器融合、多機器人通信和系統(tǒng)集成等領域。郎坦·約瑟夫(Lentin Joseph)是一位來自印度的作家、機器人學家和機器人企業(yè)家。他在印度喀拉拉邦的高知市經(jīng)營一家名為Qbotics Labs的機器人軟件公司。他在機器人領域有8年的工作經(jīng)驗,主要致力于ROS、OpenCV和PCL領域。他寫過幾本關于ROS的書,分別是《機器人系統(tǒng)設計與制作:Python語言實現(xiàn)》《精通ROS機器人編程》《ROS機器人項目開發(fā)11例》以及《機器人操作系統(tǒng)(ROS)入門必備:機器人編程一學就會》。他在印度獲得了機器人學和自動化專業(yè)碩士學位,并在美國卡內(nèi)基–梅隆大學的機器人研究所工作。他也是TEDx演講者。

圖書目錄

目 錄  Contents
譯者序
前言
作者簡介
第1章 ROS入門 1
1.1 技術(shù)要求 2
1.2 ROS概述 2
1.2.1 ROS發(fā)行版 3
1.2.2 支持的操作系統(tǒng) 3
1.2.3 支持的機器人及傳感器 4
1.2.4 為什么選擇ROS 5
1.3 ROS基礎 6
1.3.1 文件系統(tǒng)層級 7
1.3.2 計算圖層級 7
1.3.3 ROS社區(qū)層級 9
1.3.4 ROS中的通信 9
1.4 ROS客戶端庫 10
1.5 ROS工具 11
1.5.1 ROS的可視化工具RViz 11
1.5.2 rqt_plot 11
1.5.3 rqt_graph 12
1.6 ROS模擬器 13
1.7 在Ubuntu 18.04 LTS上安裝ROS Melodic 13
1.8 在VirtualBox上設置ROS 18
1.9 Docker簡介 19
1.9.1 為什么選擇Docker 20
1.9.2 安裝Docker 20
1.10 設置ROS工作空間 23
1.11 ROS在工業(yè)界和學術(shù)界的機遇 25
1.12 本章小結(jié) 25
第2章 ROS-2及其特性簡介 26
2.1 技術(shù)要求 27
2.2 ROS-2概述 27
2.2.1 ROS-2發(fā)行版 28
2.2.2 支持的操作系統(tǒng) 28
2.2.3 支持的機器人及傳感器 29
2.2.4 為什么選擇ROS-2 29
2.3 ROS-2基礎 30
2.3.1 什么是DDS 30
2.3.2 DDS的實現(xiàn) 30
2.3.3 計算圖 31
2.3.4 ROS-2社區(qū)層級 32
2.3.5 ROS-2中的通信 32
2.3.6 ROS-2的變化 33
2.4 ROS-2客戶端庫 33
2.5 ROS-2工具 34
2.5.1 RViz2 34
2.5.2 Rqt 36
2.6 安裝ROS-2 36
2.6.1 開始安裝 37
2.6.2 獲取ROS-2源碼 38
2.6.3 ROS-1、ROS-2以及共存環(huán)境設置 41
2.6.4 運行測試節(jié)點 42
2.7 設置ROS-2工作空間 44
2.8 編寫ROS-2節(jié)點 45
2.8.1 ROS-1代碼示例 45
2.8.2 ROS-2代碼示例 46
2.8.3 ROS-1發(fā)布者節(jié)點與ROS-2發(fā)布者節(jié)點的區(qū)別 49
2.9 ROS-1和ROS-2的通信 50
2.10 本章小結(jié) 52
第3章 構(gòu)建工業(yè)級移動機械臂 53
3.1 技術(shù)要求 54
3.2 常見的移動機械臂 54
3.3 移動機械臂應用場景 55
3.4 移動機械臂構(gòu)建入門 56
3.4.1 單位及坐標系 57
3.4.2 Gazebo及ROS機器人模型格式設定 57
3.5 機器人底座構(gòu)建 58
3.5.1 機器人底座需求 58
3.5.2 軟件參數(shù) 60
3.5.3 機器人底座建模 60
3.5.4 機器人底座模擬 64
3.5.5 機器人底座測試 68
3.6 機械臂構(gòu)建 70
3.6.1 機械臂需求 71
3.6.2 軟件參數(shù) 72
3.6.3 機械臂建模 72
3.6.4 機械臂模擬 74
3.6.5 機械臂測試 77
3.7 系統(tǒng)集成 78
3.7.1 移動機械臂建模 78
3.7.2 移動機械臂模擬與測試 79
3.8 本章小結(jié) 80
第4章 基于狀態(tài)機的復雜機器人任務處理 81
4.1 技術(shù)要求 81
4.2 ROS動作機制簡介 82
4.2.1 服務器–客戶端結(jié)構(gòu)概述 82
4.2.2 actionlib示例:機械臂客戶端 83
4.2.3 基于actionlib的服務器–客戶端示例:電池模擬器 85
4.3 服務員機器人應用示例 90
4.4 狀態(tài)機簡介 92
4.5 SMACH簡介 93
4.6 SMACH入門 96
4.6.1 SMACH-ROS的安裝與使用 96
4.6.2 簡單示例 96
4.6.3 餐廳機器人應用示例 98
4.7 本章小結(jié) 102
第5章 構(gòu)建工業(yè)級應用程序 103
5.1 技術(shù)要求 103
5.2 應用案例:機器人送貨上門 104
5.3 機器人底座智能化 106
5.3.1 添加激光掃描傳感器 106
5.3.2 配置導航棧 108
5.3.3 環(huán)境地圖構(gòu)建 110
5.3.4 機器人底座定位 111
5.4 機械臂智能化 111
5.4.1 Moveit簡介 112
5.4.2 安裝與配置Moveit 113
5.4.3 通過Moveit控制機械臂 117
5.5 應用程序模擬 120
5.5.1 環(huán)境地圖構(gòu)建與保存 120
5.5.2 選擇目標點 120
5.5.3 添加目標點 121
5.5.4 狀態(tài)機構(gòu)建 121
5.6 機器人改進 121
5.7 本章小結(jié) 122
第6章 多機器人協(xié)同 123
6.1 技術(shù)要求 123
6.2 集群機器人基本概念 124
6.3 集群機器人分類 125
6.4 ROS中的多機器人通信 125
6.4.1 單個roscore和公共網(wǎng)絡 126
6.4.2 群組/名稱空間的使用 127
6.4.3 基于群組/名稱空間的多機器人系統(tǒng)構(gòu)建示例 128
6.5 多master概念簡介 131
6.5.1 multimaster_fkie功能包簡介 132
6.5.2 安裝multimaster_fkie功能包 133
6.5.3 設置multimaster_fkie功能包 133
6.6 多機器人應用示例 136
6.7 本章小結(jié) 138
第7章 嵌入式平臺上的ROS應用及其控制 139
7.1 技術(shù)要求 139
7.2 嵌入式板基礎知識 140
7.2.1 重要概念介紹 141
7.2.2 機器人領域微控制器和微處理器的區(qū)別 142
7.2.3 板卡選型步驟 142
7.3 微控制器板簡介 143
7.3.1 Arduino Mega 143
7.3.2 STM32 144
7.3.3 ESP8266 145
7.3.4 ROS支持的嵌入式板 146
7.3.5 對比表格 147
7.4 單板計算機簡介 147
7.4.1 CPU板 148
7.4.2 GPU板 151
7.5 Debian與Ubuntu 152
7.6 在Tinkerboard S平臺上設置操作系統(tǒng) 153
7.6.1 基礎需求 153
7.6.2 安裝Tinkerboard Debian操作系統(tǒng) 153
7.6.3 安裝Armbian和ROS 154
7.6.4 使用可用的ROS鏡像安裝 156
7.7 在BeagleBone Black平臺上設置ROS 156
7.7.1 基礎需求 156
7.7.2 安裝Debian 操作系統(tǒng) 157
7.7.3 安裝Ubuntu和ROS 158
7.8 在Raspberry Pi 3/4平臺上設置ROS 159
7.8.1 基礎需求 159
7.8.2 安裝Raspbian和ROS 159
7.8.3 安裝Ubuntu和ROS 160
7.9 在Jetson Nano平臺上設置ROS 161
7.10 通過ROS控制GPIO 161
7.10.1 Tinkerboard S 162
7.10.2 BeagleBone Black 163
7.10.3 Raspberry Pi 3/4 164
7.10.4 Jetson Nano 165
7.11 嵌入式板基準測試 166
7.12 Alexa入門及連接ROS 168
7.12.1 Alexa 技能構(gòu)建前提條件 168
7.12.2 創(chuàng)建Alexa技能 169
7.13 本章小結(jié) 173
第8章 強化學習與機器人學 174
8.1 技術(shù)要求 174
8.2 機器學習概述 175
8.2.1 監(jiān)督學習 175
8.2.2 無監(jiān)督學習 175
8.2.3 強化學習 176
8.3 理解強化學習 176
8.3.1 探索與開發(fā) 177
8.3.2 強化學習公式 177
8.3.3 強化學習平臺 178
8.3.4 機器人領域的強化學習應用 179
8.4 馬爾可夫決策過程與貝爾曼方程 179
8.5 強化學習算法 181
8.5.1 出租車問題應用示例 181
8.5.2 TD預測 182
8.5.3 TD控制 183
8.6 ROS中的強化學習功能包 189
8.6.1 gym-gazebo 189
8.6.2 gym-gazebo2 194
8.7 本章小結(jié) 196
第9章 ROS下基于TensorFlow的深度學習 197
9.1 技術(shù)要求 197
9.2 深度學習及其應用簡介 198
9.3 機器人領域的深度學習 198
9.4 深度學習庫 199
9.5 TensorFlow入門 200
9.5.1 在Ubuntu 18.04 LTS上安裝TensorFlow 200
9.5.2 TensorFlow概念 202
9.5.3 在TensorFlow下編寫第一行代碼 204
9.6 ROS下基于TensorFlow的圖像識別 206
9.6.1 基礎需求 207
9.6.2 ROS圖像識別節(jié)點 207
9.7 scikit-learn簡介 210
9.8 SVM及其在機器人領域的應用簡介 211
9.9 本章小結(jié) 214
第10章 ROS下的自動駕駛汽車構(gòu)建 215
10.1 技術(shù)要求 215
10.2 自動駕駛汽車入門 216
10.3 典型自動駕駛汽車基本組件 218
10.3.1 GPS、IMU和車輪編碼器 218
10.3.2 攝像頭 219
10.3.3 超聲波傳感器 219
10.3.4 LIDAR與RADAR 219
10.3.5 自動駕駛汽車的軟件模塊體系結(jié)構(gòu) 221
10.4 ROS下的自動駕駛汽車模擬與交互 222
10.4.1 Velodyne LIDAR模擬 223
10.4.2 ROS下的Velodyne傳感器接口 224
10.4.3 激光掃描儀模擬 225
10.4.4 模擬代碼擴展 226
10.4.5 ROS下的激光掃描儀接口 227
10.4.6 Gazebo下的立體與單目攝像頭模擬 228
10.4.7 ROS下的攝像頭接口 229
10.4.8 Gazebo下的GPS模擬 230
10.4.9 ROS下的GPS接口 231
10.4.10 Gazebo下的IMU模擬 231
10.4.11 ROS下的IMU接口 233
10.4.12 Gazebo下的超聲波傳感器模擬 233
10.4.13 低成本LIDAR傳感器 235
10.5 Gazebo下帶傳感器的自動駕駛汽車模擬 236
10.6 ROS下的DBW汽車接口 241
10.6.1 功能包安裝 241
10.6.2 自動駕駛汽車及傳感器數(shù)據(jù)可視化 241
10.6.3 基于ROS與DBW通信 243
10.7 Udacity開源自動駕駛汽車項目簡介 243
10.7.1 Udacity的開源自動駕駛汽車模擬器 244
10.7.2 MATLAB ADAS工具箱 246
10.8 本章小結(jié) 246
第11章 基于VR頭盔和Leap Motion的機器人遙操作 247
11.1 技術(shù)要求 248
11.2 VR頭盔和Leap Motion傳感器入門 248
11.3 項目設計和實施 250
11.4 在Ubuntu 14.04.5上安裝Leap Motion SDK 251
11.4.1 可視化Leap Motion控制器數(shù)據(jù) 252
11.4.2 使用Leap Motion可視化工具 252
11.4.3 安裝用于Leap Motion控制器的ROS驅(qū)動程序 253
11.5 RViz中Leap Motion數(shù)據(jù)的可視化 255
11.6 使用Leap Motion控制器創(chuàng)建遙操作節(jié)點 256
11.7 構(gòu)建ROS-VR Android應用程序 258
11.8 ROS-VR應用程序的使用及與Gazebo的交互 260
11.9 VR下的TurtleBot模擬 262
11.9.1 安裝TurtleBot模擬器 262
11.9.2 在VR中控制TurtleBot 262
11.10 ROS-VR應用程序故障排除 263
11.11 ROS-VR應用與Leap Motion遙操作功能集成 264
11.12 本章小結(jié) 265
第12章 基于ROS、Open CV和Dynamixel伺服系統(tǒng)的人臉識別與跟蹤 266
12.1 技術(shù)要求 266
12.2 項目概述 267
12.3 硬件和軟件基礎需求 267
12.4 使用RoboPlus配置Dynamixel伺服系統(tǒng) 271
12.5 Dynamixel與ROS連接 275
12.6 創(chuàng)建人臉跟蹤器ROS功能包 276
12.7 使用人臉跟蹤ROS功能包 278
12.7.1 理解人臉跟蹤器代碼 279
12.7.2 理解CMakeLists.txt 283
12.7.3 track.yaml文件 284
12.7.4 啟動文件 284
12.7.5 運行人臉跟蹤器節(jié)點 285
12.7.6 face_tracker_control功能包 286
12.7.7 平移控制器配置文件 287
12.7.8 伺服系統(tǒng)參數(shù)配置文件 287
12.7.9 人臉跟蹤控制器節(jié)點 288
12.7.10 創(chuàng)建CMakeLists.txt 289
12.7.11 測試人臉跟蹤器控制功能包 290
12.7.12 節(jié)點集成 291
12.7.13 固定支架并設置電路 291
12.7.14 最終運行 292
12.8 本章小結(jié) 292

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號