注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合ROS機器人程序設(shè)計

ROS機器人程序設(shè)計

ROS機器人程序設(shè)計

定 價:¥59.00

作 者: Aaron Martinez ,Enrique Fernández 著; 劉品杰 譯
出版社: 機械工業(yè)出版社
叢編項: 電子與嵌入式系統(tǒng)設(shè)計叢書
標(biāo) 簽: 計算機/網(wǎng)絡(luò) 人工智能

ISBN: 9787111473961 出版時間: 2014-10-01 包裝: 平裝
開本: 16開 頁數(shù): 312 字數(shù):  

內(nèi)容簡介

  無論是業(yè)余愛好者還是專業(yè)的機器人開發(fā)人員,在開始進行機器人系統(tǒng)及程序設(shè)計時,首先要面對的問題都是最基本的驅(qū)動機器人的輪子的設(shè)計。ROS通過軟件代碼復(fù)用集成了眾多已經(jīng)開發(fā)完成的功能組件。而本書就是專門幫助讀者從對ROS一無所知到能夠通過ROS系統(tǒng)完成小型機器人系統(tǒng)的開發(fā)和編程工作的。本書提供了各種實際的示例代碼供讀者學(xué)習(xí)和理解ROS的軟件框架。你可以在仿真環(huán)境中自行構(gòu)建機器人相應(yīng)的功能程序,并在ROS社區(qū)中分享你的學(xué)習(xí)心得和知識。讀者對象 本書主要針對希望學(xué)習(xí)機器人制作和設(shè)計,尤其是想要設(shè)計自己的機器人、真正熱愛機器人的愛好者。本書將會為你提供讓你的機器人可維護可升級,并且能夠相互分享的途徑。為了能夠更好地學(xué)習(xí)本書的內(nèi)容,你最好具備一定的C++程序設(shè)計背景以及GNU/Linux系統(tǒng)和計算機科學(xué)知識。而你并不需要對ROS有任何了解,因為本書正是要介紹這些基本知識和技能。還有你最好能夠了解一定的版本控制系統(tǒng)的知識,如SVN或GIT。在本書中會經(jīng)常使用它們。本書內(nèi)容:ROS系統(tǒng)的完整安裝;創(chuàng)建ROS功能包和功能包集,學(xué)習(xí)實時地運行和調(diào)試功能包;創(chuàng)建、操作和調(diào)試ROS節(jié)點;設(shè)計自定義的3D機器人模型,并在Gazebo虛擬環(huán)境中進行仿真;機器人使用攝像頭獲取視頻信息,完成攝像頭標(biāo)定和基本的機器視覺任務(wù);在機器人上集成和使用激光雷達、Arduino和Kinect傳感器;創(chuàng)建并配置導(dǎo)航功能包集;在ROS社區(qū)分享你的學(xué)習(xí)心得和知識。

作者簡介

  Aaron Martinez是一個計算機工程師、企業(yè)家和數(shù)字化制造專家。他碩士畢業(yè)于拉斯帕爾馬斯大學(xué)的IUCTC(科學(xué)與網(wǎng)絡(luò)技術(shù)研究所)。之后,參與過拉斯帕爾馬斯大學(xué)AVORA項目。在這個項目中,他負責(zé)設(shè)計AUV (自主式水下機器人),并在意大利參加了歐洲學(xué)生自主式水下挑戰(zhàn)(SAUC-E)。Enrique Fernández是一名計算機工程師和機器人專家。他碩士畢業(yè)于拉斯帕爾馬斯大學(xué)智能系統(tǒng)與計算工程學(xué)院。在2012年參加了歐洲學(xué)生自主式水下挑戰(zhàn)(SAUC-E),并作為合作者參加了2013年的比賽。 2012年,他因開發(fā)水下云臺視覺系統(tǒng)而獲獎?,F(xiàn)在,他是Pal-Robotics實驗室的SLAM工程師。Enrique在博士學(xué)習(xí)期間發(fā)表了數(shù)篇學(xué)術(shù)論文和專著。其中,有兩篇論文在2011年被國際機器人與自動化會議(ICRA 2011)所收錄?!⑵方埽T士,技術(shù)方向工業(yè)為自動化控制、DCS/PLC/SCADA系統(tǒng)研發(fā)、機器人技術(shù)等。先后參與過國產(chǎn)化核電站DCS控制系統(tǒng)研發(fā)、國產(chǎn)化油氣管道大型SCADA系統(tǒng)研發(fā)。歷任系統(tǒng)開發(fā)工程師、產(chǎn)品經(jīng)理、項目經(jīng)理。

圖書目錄

譯者序
前 言
第1章 ROS系統(tǒng)入門 1
1.1 使用軟件源安裝ROS Electric 3
1.1.1 添加軟件源到sources.list文件中 4
1.1.2 設(shè)置密碼 4
1.1.3 安裝 4
1.1.4 環(huán)境配置 5
1.2 使用軟件源安裝ROS Fuerte 6
1.2.1 配置Ubuntu軟件源 6
1.2.2 配置source.list文件 6
1.2.3 設(shè)置密碼 7
1.2.4 安裝 7
1.2.5 環(huán)境配置 8
1.2.6 獨立工具 9
1.3 如何安裝VirtualBox和Ubuntu 9
1.3.1 下載VirtualBox 9
1.3.2 創(chuàng)建虛擬機 10
1.4 本章小結(jié) 12
第2章 ROS系統(tǒng)架構(gòu)及示例 13
2.1 理解ROS文件系統(tǒng)級 13
2.1.1 功能包 14
2.1.2 功能包集 16
2.1.3 消息類型 16
2.1.4 服務(wù)類型 17
2.2 理解ROS計算圖級 18
2.2.1 節(jié)點 19
2.2.2 主題 20
2.2.3 服務(wù) 21
2.2.4 消息 22
2.2.5 消息記錄包 22
2.2.6 節(jié)點管理器 22
2.2.7 參數(shù)服務(wù)器 22
2.3 理解ROS開源社區(qū)級 23
2.4 ROS系統(tǒng)試用練習(xí) 23
2.4.1 ROS文件系統(tǒng)導(dǎo)覽 24
2.4.2 創(chuàng)建工作空間 24
2.4.3 創(chuàng)建ROS功能包 25
2.4.4 編譯ROS功能包 26
2.4.5 使用ROS節(jié)點 26
2.4.6 使用主題與節(jié)點交互 28
2.4.7 學(xué)習(xí)如何使用服務(wù) 31
2.4.8 使用參數(shù)服務(wù)器 33
2.4.9 創(chuàng)建節(jié)點 34
2.4.10 編譯節(jié)點 36
2.4.11 創(chuàng)建msg和srv文件 37
2.4.12 使用新建的srv和msg文件 38
2.5 本章小結(jié) 42
第3章 調(diào)試和可視化 43
3.1 調(diào)試ROS節(jié)點 44
3.1.1 使用GDB調(diào)試器調(diào)試ROS節(jié)點 45
3.1.2 ROS節(jié)點啟動時調(diào)用GDB調(diào)試器 46
3.1.3 設(shè)置ROS節(jié)點core文件轉(zhuǎn)存 47
3.2 調(diào)試信息 47
3.2.1 輸出調(diào)試信息 47
3.2.2 設(shè)置調(diào)試信息級別 48
3.2.3 為特定節(jié)點配置調(diào)試信息級別 48
3.2.4 信息命名 50
3.2.5 條件顯示信息與過濾信息 50
3.2.6 信息的更多功能——單次顯示、可調(diào)、組合 51
3.2.7 使用rosconsole和rxconsole在運行時修改調(diào)試級別 52
3.3 監(jiān)視系統(tǒng)狀態(tài) 56
3.3.1 節(jié)點、主題與服務(wù)列表 56
3.3.2 使用rxgraph在線監(jiān)視節(jié)點狀態(tài)圖 56
3.4 當(dāng)奇怪的事情發(fā)生——使用roswtf 58
3.5 畫標(biāo)量數(shù)據(jù)圖 58
3.5.1 用rxplot畫出時間趨勢曲線 59
3.5.2 另一個畫圖工具rxtools 60
3.6 圖像可視化 61
3.6.1 顯示單一圖片 61
3.6.2 FireWire接口攝像頭 62
3.6.3 使用雙目立體視覺 63
3.7 3D可視化 64
3.7.1 使用rviz在3D世界中實現(xiàn)數(shù)據(jù)可視化 64
3.7.2 主題與坐標(biāo)系的關(guān)系 66
3.7.3 可視化坐標(biāo)變換 67
3.8 保存與回放數(shù)據(jù) 68
3.8.1 什么是消息記錄包文件 69
3.8.2 使用rosbag在包文件中記錄數(shù)據(jù) 69
3.8.3 回放消息記錄文件 70
3.8.4 使用rxbag檢查消息記錄包的主題和消息 71
3.9 rqt插件與rx應(yīng)用 72
3.10 本章小結(jié) 73
第4章 在ROS下使用傳感器和執(zhí)行機構(gòu) 74
4.1 使用游戲桿或游戲手柄 74
4.1.1 joy_node如何發(fā)送游戲桿動作消息 75
4.1.2 使用游戲桿數(shù)據(jù)在turtlesim中移動海龜 76
4.2 使用激光雷達——Hokuyo URG-04lx 79
4.2.1 了解激光雷達如何在 ROS 中發(fā)送數(shù)據(jù) 80
4.2.2 訪問和修改激光雷達數(shù)據(jù) 82
4.3 使用Kinect傳感器查看3D環(huán)境 84
4.3.1 如何發(fā)送和查看Kinect數(shù)據(jù) 85
4.3.2 創(chuàng)建和使用Kinect示例 86
4.4 使用伺服電動機——Dynamixel 88
4.4.1 Dynamixel如何發(fā)送和接收運動命令 89
4.4.2 創(chuàng)建和使用伺服電動機示例 90
4.5 使用Arduino添加更多的傳感器和執(zhí)行機構(gòu) 91
4.6 使用慣性測量模組——Xsens MTi 94
4.6.1 Xsens如何在ROS中發(fā)送數(shù)據(jù) 95
4.6.2 創(chuàng)建和使用Xsens示例 96
4.7 使用低成本慣性測量模組IMU-10自由度 98
4.7.1 下載加速度傳感器庫 99
4.7.2 Arduino Nano和10自由度傳感器編程 99
4.7.3 創(chuàng)建ROS節(jié)點并使用10自由度傳感器數(shù)據(jù) 101
4.8 本章小結(jié) 103
第5章 3D建模與仿真 104
5.1 自定義機器人在ROS中的3D模型 104
5.2 創(chuàng)建第一個URDF文件 104
5.2.1 解釋文件格式 106
5.2.2 在rviz里查看3D模型 107
5.2.3 加載圖形到機器人模型 109
5.2.4 使機器人模型運動 109
5.2.5 物理和碰撞屬性 110
5.3 xacro——一個寫機器人模型的更好方法 111
5.3.1 使用常量 111
5.3.2 使用數(shù)學(xué)方法 112
5.3.3 使用宏 112
5.3.4 使用代碼移動機器人 112
5.3.5 使用SketchUp進行3D建模 116
5.4 在ROS中仿真 117
5.4.1 在Gazebo中使用URDF3D模型 117
5.4.2 在Gazebo中添加傳感器 120
5.4.3 在Gazebo中加載和使用地圖 121
5.4.4 在Gazebo中移動機器人 123
5.5 本章小結(jié) 125
第6章 機器視覺 126
6.1 連接和運行攝像頭 128
6.1.1 FireWire IEEE1394 攝像頭 128
6.1.2 USB攝像頭 132
6.2 使用OpenCV制作USB攝像頭驅(qū)動程序 133
6.2.1 創(chuàng)建 USB 攝像頭驅(qū)動功能包 134
6.2.2 使用ImageTransport API發(fā)布攝像頭幀 135
6.2.3 使用 cv_bridge 進行OpenCV 和 ROS 圖像處理 138
6.2.4 使用ImageTransport 發(fā)布圖像 139
6.2.5 在ROS中使用OpenCV 139
6.2.6 顯示攝像頭輸入的圖像 140
6.3 如何標(biāo)定攝像頭 140
6.4 ROS 圖像管道 147
6.5 對于計算機視覺任務(wù)有用的 ROS功能包 152
6.6 使用viso2執(zhí)行視覺測距 153
6.6.1 攝像頭位姿標(biāo)定 154
6.6.2 運行 viso2 在線演示 156
6.6.3 使用低成本雙目攝像頭運行 viso2 158
6.7 本章小結(jié) 159
第7章 導(dǎo)航功能包集入門 160
7.1 ROS導(dǎo)航功能包集 160
7.2 創(chuàng)建轉(zhuǎn)換 161
7.2.1 創(chuàng)建廣播機構(gòu) 162
7.2.2 創(chuàng)建偵聽器 162
7.2.3 查看坐標(biāo)變換樹 164
7.3 發(fā)布傳感器信息 165
7.4 發(fā)布里程數(shù)據(jù) 168
7.4.1 Gazebo如何獲取里程數(shù)據(jù) 169
7.4.2 創(chuàng)建自定義里程數(shù)據(jù) 171
7.5 創(chuàng)建基礎(chǔ)控制器 175
7.5.1 使用Gazebo 創(chuàng)建里程數(shù)據(jù) 176
7.5.2 創(chuàng)建基礎(chǔ)控制器 178
7.6 使用ROS創(chuàng)建地圖 180
7.6.1 使用map_server保存地圖 181
7.6.2 使用map_server加載地圖 182
7.7 本章小結(jié) 183
第8章 導(dǎo)航功能包集進階 184
8.1 創(chuàng)建功能包 184
8.2 創(chuàng)建機器人配置 184
8.3 配置全局和局部代價地圖 187
8.3.1 基本參數(shù)的配置 187
8.3.2 全局代價地圖的配置 188
8.3.3 局部代價地圖的配置 189
8.4 基本局部規(guī)劃器配置 189
8.5 為導(dǎo)航功能包集創(chuàng)建啟動文件 190
8.6 為導(dǎo)航功能包集設(shè)置rviz 191
8.6.1 2D位姿估計 191
8.6.2 2D導(dǎo)航目標(biāo) 192
8.6.3 靜態(tài)地圖 193
8.6.4 點云 193
8.6.5 機器人立足點 193
8.6.6 障礙 194
8.6.7 膨脹障礙 194
8.6.8 全局規(guī)劃 195
8.6.9 局部規(guī)劃 195
8.6.10 規(guī)劃器規(guī)劃 196
8.6.11 當(dāng)前目標(biāo) 196
8.7 自適應(yīng)蒙特卡羅定位 197
8.8 避免障礙 199
8.9 發(fā)送目標(biāo) 200
8.10 本章小結(jié) 202
第9章 在實踐中學(xué)習(xí) 203
9.1 REEM——類人形PAL機器人 204
9.1.1 從官方軟件源安裝REEM 205
9.1.2 使用Gazebo仿真環(huán)境運行REEM 208
9.2 PR2——柳樹車庫機器人 210
9.2.1 安裝 PR2仿真環(huán)境 210
9.2.2 在仿真環(huán)境中運行PR2 211
9.2.3 生成地圖與定位 214
9.2.4 在仿真環(huán)境中運行PR2演示程序 216
9.3 Robonaut 2——NASA的敏捷型人形機器人 217
9.3.1 從軟件源安裝Robonaut 2 217
9.3.2 在國際空間站的固定支座上運行Robonaut2 218
9.4 Husky——Clearpath的輪式機器人 222
9.4.1 安裝Husky仿真環(huán)境 222
9.4.2 運行Husky仿真環(huán)境 222
9.5 TurtleBot——低成本移動機器人 224
9.5.1 安裝TurtleBot仿真環(huán)境 224
9.5.2 運行TurtleBot仿真環(huán)境 224
9.6 本章小結(jié) 225

本目錄推薦

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