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

ROS機器人開發(fā):實用案例分析(原書第2版)

ROS機器人開發(fā):實用案例分析(原書第2版)

定 價:¥99.00

作 者: [美] 卡羅爾·費爾柴爾德(Carol Fairchild),托馬斯,L.哈曼( 著,吳中紅 石章松 潘麗譯 譯
出版社: 機械工業(yè)出版社
叢編項: 機器人設(shè)計與制作系列
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111648598 出版時間: 2020-03-01 包裝: 平裝
開本: 16開 頁數(shù): 356 字數(shù):  

內(nèi)容簡介

  本書由長期從事ROS機器人研究與教學的專家撰寫,深入淺出地對基于ROS的機器人開發(fā)技術(shù)進行了全面介紹,并通過豐富的實例,詳細講解移動機器人、飛行機器人與機器人手臂等各類機器人的ROS實現(xiàn)。 本書不僅涵蓋ROS的基礎(chǔ)知識,還循序漸進地講解了ROS機器人的高級應用特性。書中首先對ROS的基本配置進行介紹,內(nèi)容包括ROS的安裝、基本概念、主要的功能包與工具等。然后對相應的故障排查方法進行了論述。之后通過模擬的方式,先對Turtlesim的ROS組成模塊進行描述,再對其他幾類典型機器人的ROS組成模塊進行相應的介紹。對ROS組成模塊的介紹,一般遵循的流程是首先介紹基本的ROS命令,然后對ROS的功能包、節(jié)點、主題以及消息進行論述,以此來對ROS機器人操作系統(tǒng)的整體內(nèi)容進行詳細的闡述。為了對書中選用的機器人的整體性能進行描述,書中還給出了相關(guān)機器人的技術(shù)資料。

作者簡介

  卡羅爾·費爾柴爾德(Carol Fairchild) 費爾柴爾德機器人公司的所有人、首席工程師,該公司致力于機器人技術(shù)的開發(fā)與集成。她是休斯頓大學明湖分校巴克斯特機器人實驗室的一名研究人員和兼職教授。她的研究領(lǐng)域主要是基于Baxter機器人的擴展應用開發(fā)。她在得州農(nóng)工大學獲得工程技術(shù)學士學位,在休斯頓大學明湖分校獲得計算機工程碩士學位。托馬斯·L. 哈曼(Thomas L. Harman) 休斯頓大學明湖分校工程系的主任。他的研究領(lǐng)域主要是控制系統(tǒng)、機器人技術(shù)與微處理器技術(shù)的應用等。他和同事關(guān)于機器人和激光的論文已經(jīng)應用在了醫(yī)學領(lǐng)域。2005年,他當選為休斯頓大學明湖分校的特聘教授。他曾擔任FIRST機器人大賽的裁判與安全顧問。他已經(jīng)出版的專著、合著書籍有18本,主題包括微處理器技術(shù)、MATLAB與仿真以及美國國家電氣規(guī)程等。

圖書目錄

譯者序
前言
作者簡介
審校者簡介
第1章 ROS初體驗 1
1.1 ROS的用途以及學習ROS的好處 1
1.2 哪些機器人采用了ROS 2
1.3 安裝并啟動ROS 4
1.3.1 配置Ubuntu系統(tǒng)的軟件源 4
1.3.2 設(shè)置Ubuntu系統(tǒng)軟件源列表 5
1.3.3 設(shè)置Ubuntu系統(tǒng)密鑰 5
1.3.4 安裝ROS Kinetic 5
1.3.5 初始化rosdep 6
1.3.6 環(huán)境設(shè)置 6
1.3.7 安裝 rosinstall 6
1.3.8 故障排除—ROS環(huán)境測試 7
1.4 創(chuàng)建catkin工作空間 7
1.5 ROS的功能包與清單 8
1.5.1 ROS清單 8
1.5.2 探索ROS功能包 8
1.6 ROS節(jié)點、話題與消息 10
1.6.1 ROS節(jié)點 11
1.6.2 ROS話題 11
1.6.3 ROS消息 11
1.6.4 ROS節(jié)點管理器 12
1.6.5 確定節(jié)點和話題的ROS命令 13
1.7 第一個ROS機器人模擬程序turtlesim 15
1.7.1 啟動turtlesim節(jié)點 15
1.7.2 turtlesim節(jié)點 16
1.7.3 turtlesim話題與消息 18
1.7.4 通過發(fā)布/turtle1/cmd_vel話題控制烏龜運動 20
1.7.5 通過鍵盤或游戲手柄控制烏龜移動 22
1.7.6 turtlesim的參數(shù)服務器 22
1.7.7 控制烏龜移動的ROS服務 24
1.8 ROS命令小結(jié) 25
1.9 本章小結(jié) 26
第2章 構(gòu)建一個模擬的兩輪ROS機器人 27
2.1 Rviz簡介 27
2.1.1 安裝和啟動Rviz 28
2.1.2 熟悉Rviz界面 29
2.2 生成并構(gòu)建ROS功能包 32
2.3 構(gòu)建差分驅(qū)動的機器人URDF 33
2.3.1 創(chuàng)建機器人底座 33
2.3.2 使用roslaunch 34
2.3.3 添加輪子 37
2.3.4 添加小腳輪 39
2.3.5 添加顏色 41
2.3.6 添加碰撞屬性 42
2.3.7 移動輪子 43
2.3.8 tf和robot_state_publisher簡介 44
2.3.9 添加物理學屬性 45
2.3.10 試用URDF工具 46
2.4 Gazebo 47
2.4.1 安裝并啟動Gazebo 48
2.4.2 使用roslaunch啟動Gazebo 49
2.4.3 熟悉Gazebo界面 50
2.4.4 機器人URDF的修改 54
2.4.5 Gazebo模型驗證 55
2.4.6 在Gazebo中查看URDF 56
2.4.7 機器人模型調(diào)整 57
2.4.8 移動機器人模型 58
2.4.9 其他的機器人模擬環(huán)境 59
2.5 本章小結(jié) 60
第3章 TurtleBot機器人操控 61
3.1 TurtleBot 2機器人簡介 61
3.2 下載TurtleBot 2模擬器軟件 63
3.3 在Gazebo中啟動TurtleBot 2模擬器 63
3.3.1 常見問題與故障排除 65
3.3.2 ROS命令與Gazebo 66
3.3.3 模擬環(huán)境下使用鍵盤遠程控制TurtleBot 2 68
3.4 控制真正的TurtleBot 2機器人的設(shè)置 69
3.5 連接上網(wǎng)本與遠程計算機 71
3.5.1 網(wǎng)絡類型 71
3.5.2 網(wǎng)絡地址 72
3.5.3 遠程計算機網(wǎng)絡設(shè)置 73
3.5.4 上網(wǎng)本網(wǎng)絡設(shè)置 73
3.5.5 SSH連接 74
3.5.6 網(wǎng)絡設(shè)置小結(jié) 74
3.5.7 排查網(wǎng)絡連接中的故障 75
3.5.8 TurtleBot 2機器人系統(tǒng)測試 75
3.6 TurtleBot 2機器人的硬件規(guī)格參數(shù) 76
3.7 移動真實的TurtleBot 2機器人 78
3.7.1 采用鍵盤遠程控制TurtleBot 2機器人移動 78
3.7.2 采用ROS命令控制TurtleBot 2機器人移動 79
3.7.3 編寫第一個Python腳本程序控制TurtleBot 2機器人移動 80
3.8 rqt工具簡介 83
3.8.1 rqt_graph 83
3.8.2 rqt的消息發(fā)布與話題監(jiān)控 86
3.9 TurtleBot機器人的測程 87
3.9.1 模擬的TurtleBot 2機器人的測程 91
3.9.2 Rviz下真實的TurtleBot 2機器人的測程顯示 93
3.10 TurtleBot機器人的自動充電 95
3.11 TurtleBot 3介紹 96
3.12 下載TurtleBot 3模擬軟件 98
3.13 在Rviz中啟動TurtleBot 3模擬軟件 99
3.14 在Gazebo中啟動TurtleBot 3模擬軟件 100
3.15 硬件裝配與測試 103
3.16 下載TurtleBot 3機器人軟件包 103
3.16.1 在遠程計算機上安裝軟件 103
3.16.2 在SBC上安裝軟件 104
3.17 TurtleBot 3與遠程計算機的網(wǎng)絡連接 107
3.17.1 遠程計算機網(wǎng)絡設(shè)置 108
3.17.2 TurtleBot 3網(wǎng)絡設(shè)置 108
3.17.3 SSH通信測試 110
3.17.4 網(wǎng)絡連接的故障處理 110
3.18 控制真實的TurtleBot 3移動 111
3.19 本章小結(jié) 113
第4章 TurtleBot機器人導航 114
4.1 TurtleBot機器人的3D視覺系統(tǒng) 115
4.1.1 3D視覺傳感器原理 115
4.1.2 3D傳感器對比 116
4.2 配置TurtleBot機器人并安裝3D 傳感器軟件 123
4.2.1 Kinect 123
4.2.2 ASUS與PrimeSense 123
4.2.3 Intel RealSense 124
4.2.4 攝像頭軟件結(jié)構(gòu) 124
4.2.5 術(shù)語定義 125
4.3 獨立模式下測試3D傳感器 125
4.4 運行ROS節(jié)點進行可視化 126
4.4.1 使用Image Viewer可視化數(shù)據(jù) 126
4.4.2 使用Rviz可視化數(shù)據(jù) 128
4.5 TurtleBot機器人導航 131
4.5.1 采用TurtleBot 2機器人構(gòu)建房間地圖 132
4.5.2 采用TurtleBot 2機器人實現(xiàn)自主導航 136
4.5.3 導航至指定目標點 142
4.5.4 基于Python腳本與地圖實現(xiàn)航路點導航 144
4.5.5 TurtleBot 3機器人的SLAM 151
4.5.6 使用TurtleBot 3進行自主導航 152
4.5.7 rqt_reconfigure 153
4.5.8 進一步探索ROS導航 155
4.6 本章小結(jié) 155
第5章 構(gòu)建模擬的機器人手臂 156
5.1 Xacro的特點 156
5.2 采用Xacro建立一個關(guān)節(jié)式機器人手臂URDF 157
5.2.1 指定名空間 158
5.2.2 使用Xacro屬性標簽 158
5.2.3 擴展Xacro 161
5.2.4 使用Xacro的包含與宏標簽 163
5.2.5 給機器人手臂添加網(wǎng)格 166
5.3 在Gazebo中控制關(guān)節(jié)式機器人手臂 171
5.3.1 添加Gazebo特性元素 171
5.3.2 將機器人手臂固定在世界坐標系下 173
5.3.3 在Gazebo中查看機器人手臂 173
5.3.4 給Xacro添加控制組件 174
5.3.5 采用ROS命令行控制機器人手臂 178
5.3.6 采用rqt控制機器人手臂 179
5.4 本章小結(jié) 182
第6章 機器人手臂搖擺的關(guān)節(jié)控制 183
6.1 Baxter簡介 184
6.1.1 研究型機器人Baxter 185
6.1.2 Baxter模擬器 186
6.2 Baxter的手臂 186
6.2.1 Baxter的俯仰關(guān)節(jié) 187
6.2.2 Baxter的滾轉(zhuǎn)關(guān)節(jié) 188
6.2.3 Baxter的坐標系 188
6.2.4 Baxter手臂的控制模式 189
6.2.5 Baxter手臂的抓手 189
6.2.6 Baxter手臂的傳感器 190
6.3 下載Baxter軟件 190
6.3.1 安裝Baxter SDK軟件 190
6.3.2 安裝Baxter模擬器 192
6.3.3 配置Baxter shell 193
6.3.4 安裝MoveIt! 194
6.4 在Gazebo中啟動Baxter模擬器 195
6.4.1 啟動Baxter模擬器 196
6.4.2 “熱身”練習 199
6.4.3 彎曲Baxter手臂 200
6.5 Baxter手臂與正向運動 209
6.5.1 關(guān)節(jié)與關(guān)節(jié)狀態(tài)發(fā)布器 209
6.5.2 理解tf 212
6.5.3 直接指定關(guān)節(jié)組件角度 215
6.5.4 Rviz下的tf坐標系 216
6.5.5 查看機器人元素的tf樹 217
6.6 MoveIt!簡介 217
6.6.1 使用MoveIt!對Baxter手臂進行運動規(guī)劃 219
6.6.2 在場景中添加物體 220
6.6.3 采用MoveIt!進行避障運動規(guī)劃 222
6.7 配置真實的Baxter機器人 223
6.8 控制真實的Baxter機器人 225
6.8.1 控制關(guān)節(jié)到達航路點 225
6.8.2 控制關(guān)節(jié)的力矩彈簧 226
6.8.3 關(guān)節(jié)速度控制演示 227
6.8.4 其他示例 227
6.8.5 視覺伺服和抓取 227
6.9 反向運動 228
6.10 使用狀態(tài)機實現(xiàn)YMCA 231
6.11 本章小結(jié) 236
第7章 空中機器人基本操控 237
7.1 四旋翼飛行器簡介 238
7.1.1 風靡的四旋翼飛行器 238
7.1.2 滾轉(zhuǎn)角、俯仰角與偏航角 238
7.1.3 四旋翼飛行器原理 239
7.1.4 四旋翼飛行器的組成 241
7.1.5 添加傳感器 241
7.1.6 四旋翼飛行器的通信 242
7.2 四旋翼飛行器的傳感器 243
7.2.1 慣性測量單元 243
7.2.2 四旋翼飛行器狀態(tài)傳感器 243
7.3 飛行前的準備工作 244
7.3.1 四旋翼飛行器檢測 244
7.3.2 飛行前檢測列表 245
7.3.3 飛行中的注意事項 245
7.3.4 需要遵循的規(guī)則和條例 245
7.4 在無人機中使用ROS 246
7.5 Hector四旋翼飛行器 246
7.5.1 下載Hector四旋翼飛行器 248
7.5.2 在Gazebo中啟動Hector四旋翼飛行器 249
7.6 Crazyflie 2.0簡介 256
7.6.1 無ROS情況下的Crazyflie控制 257
7.6.2 使用Crazyradio PA進行通信 258
7.6.3 加載Crazyflie ROS軟件 259
7.6.4 飛行前的檢查 261
7.6.5 使用teleop操控Crazyflie飛行 262
7.6.6 在運動捕獲系統(tǒng)下飛行 265
7.6.7 控制多個Crazyflie飛行 266
7.7 Bebop簡介 266
7.7.1 加載bebop_autonomy軟件 268
7.7.2 使用命令控制Bebop飛行 270
7.8 本章小結(jié) 271
第8章 使用外部設(shè)備控制機器人 272
8.1 創(chuàng)建自定義ROS游戲控制器接口 272
8.1.1 測試游戲控制器 273
8.1.2 使用joy ROS功能包 275
8.1.3 使用自定義游戲控制器接口控制turtlesim 275
8.2 創(chuàng)建自定義ROS Android設(shè)備接口 280
8.2.1 安裝Android Studio和工具 280
8.2.2 安裝ROS-Android開發(fā)環(huán)境 281
8.2.3 術(shù)語定義 282
8.2.4 ROS-Android開發(fā)環(huán)境介紹 283
8.3 在Arduino或樹莓派上創(chuàng)建ROS節(jié)點 284
8.3.1 使用Arduino 284
8.3.2 使用樹莓派 294
8.4 本章小結(jié) 295
第9章 操控Crazyflie執(zhí)行飛行任務 296
9.1 執(zhí)行任務所需的組件 297
9.1.1 Kinect Windows v2 297
9.1.2 Crazyflie操作 298
9.1.3 任務軟件結(jié)構(gòu) 298
9.1.4 OpenCV與ROS 300
9.2 安裝任務所需的軟件 301
9.2.1 安裝libfreenect2 301
9.2.2 安裝iai_kinect2 304
9.2.3 使用iai_kinect2元包 305
9.3 任務設(shè)置 311
9.3.1 探測Crazyflie與目標 311
9.3.2 使用Kinect與OpenCV 314
9.3.3 對Crazyflie進行跟蹤 317
9.4 Crazyflie控制 319
9.5 試飛Crazyflie 324
9.5.1 懸停 324
9.5.2 飛往靜止目標 326
9.5.3 學到的經(jīng)驗 327
9.6 本章小結(jié) 328
第10章 基于MATLAB的Baxter控制 329
10.1 安裝MATLAB機器人系統(tǒng)工具箱 329
10.1.1 MATLAB與機器人系統(tǒng)工具箱版本檢查 330
10.1.2 機器人系統(tǒng)工具箱下的ROS命令 330
10.2 機器人系統(tǒng)工具箱與Baxter模擬器的使用 330
10.2.1 在MATLAB中安裝Baxter消息 330
10.2.2 運行Baxter模擬器和MATLAB 332
10.2.3 控制Baxter運動 334
10.3 本章小結(jié) 337

本目錄推薦

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