ROS機器人編程實踐 ROS机器人编程实践

摩根·奎格利 (Morgan Quigley), Brian Gerkey, William D.Smart

立即出貨

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

相關活動主題

20180704 %e7%b0%a1%e9%ab%94%e6%9b%b8%e6%9c%80%e6%96%b0%e5%88%b0%e8%b2%a8 small

商品描述

本書通過將ROS社區的寶貴開發經驗和現實案例相結合,為你在機器人開發過程中遇到的問題提供切實可行的指南。不論你是機器人俱樂部的學生,還是專業的機器人科學家和工程師,都可以在本書中找到你想要的內容。書中的每部分都提供了使用ROS工具實現各類機器人系統的完整解決方案,不僅包括實現各種單一機器人任務,也包括將不同模塊結合完成組合任務。在本書中,只要你熟悉Python,就可以開始動手實踐。

作者簡介

(美)Morgan Quigley / Brian Gerkey / William D.Smart  譯者:張天雷、李博、謝遠帆、大偉曉健

Morgan Quigley,是開源機器人基金會的聯合創始人和首席架構師。Brian Gerkey,是開源機器人基金會的聯合創始人和首席執行官。William D.Smart,是俄亥俄州立大學的助理教授,他在俄亥俄州立大學聯合指導機器人項目。

目錄大綱

前言1 

第一部分基礎知識
第1章概述9 
簡史9 
理念10 
安裝11 
小結12 

第2章預備知識13 
ROS圖13 
roscore 15 
catkin、工作區以及ROS程序包16 
rosrun 19 
命名、命名空間以及重映射24 
roslaunch 25 
tab鍵26 
tf:坐標系轉換27 
小結30 

第3章話題31 
將消息發佈到話題上32 
訂閱一個話題36 
鎖存話題38 
定義自己的消息類型39 
讓發布者和訂閱者協同工作46 
小結47 

第4章服務48 
定義服務48 
實現服務51 
使用服務54 
小結56 

第5章動作57 
動作的定義58 
實現一個基本的動作服務器59 
動作的使用62 
實現一個更複雜的動作服務器64 
使用更複雜的動作66
小結69 

第6章機器人與仿真器71 
子系統71 
機器人系統舉例79 
仿真器83 
小結86
 
第7章Wander-bot 88 
創建包88 
讀取傳感器數據91 
感知環境並移動:Wander-bot 94 
小結96 

第二部分使用ROS驅動機器人行走
第8章遙控機器人99 
開發模式100 
鍵盤驅動100 
運動生成器102 
參數服務器107 
速度斜坡曲線109 
開車111 
rviz 113 
小結120 

第9章創建環境地圖121 
ROS中的地圖121 
使用rosbag記錄數據124 
創建地圖125 
啟動地圖服務器以及查看地圖131 
小結133 

第10章在真實環境中的導航135 
在地圖中定位機器人135 
使用ROS的導航軟件包139 
在代碼中進行導航144 
小結145
 
第11章下棋機器人146 
關節、連接以及傳動鏈147
成功的關鍵150 
安裝和運行一台仿真R2 152 
在命令行中移動R2 155 
在棋盤上移動R2的機械臂156 
操作機械手158 
對棋盤建模159 
重演著名的棋局163 
小結167 

第三部分感知和行為
第12章循線機器人171 
採集圖像171 
檢測指示線177 
循線運動182 
小結184 

第13章巡航185 
簡單巡航185 
狀態機186 
用smach構建狀態機188 
用狀態機實現巡航195 
小結198 

第14章倉儲機器人199 
倉庫模擬環境199 
駛入隔間210 
拾取物體214 
小結224 

第四部分添加自定義ROS組件
第15章添加你自己的傳感器和執行器227 
添加你自己的傳感器227 
添加你自己的執行器234 
小結240
 
第16章添加你自己的移動機器人:第一部分242 
小龜機器人242 
ROS消息接口244 
硬件驅動247
使用URDF對機器人建模247 
在Gazebo中進行仿真255 
小結261 

第17章添加你自己的移動機器人:第二部分262 
驗證坐標變換信息262 
添加激光傳感器266 
配置導航程序棧270 
使用rviz定位和控制導航中的機器人275 
小結278 

第18章添加你自己的機械臂279 
獵豹機械臂279 
ROS消息接口281 
硬件驅動282 
對機器人建模:使用URDF 282 
在Gazebo中進行仿真287 
驗證坐標變換信息294 
配置MoveIt 297 
使用rviz控制機械臂301 
小結303
 
第19章添加軟件庫305 
讓你的機器人開口說話:使用pyttsx305 
小結312 

第五部分ROS使用小知識
第20章ROS小工具315 
主機及其相關組件:roscore315 
參數管理:rosparam 316 
文件系統導航:roscd 317 
節點啟動:rosrun 318 
多節點啟動:roslaunch 318 
多節點系統測試:rostest 321
系統監控:rosnode、rostopic、rosmsg、rosservice和rossrv 324 
小結327 

第21章機器人行為調試329 
日誌消息: /rosout和rqt_console 329 
節點、話題和連接:rqt_graph和rosnode 336 
傳感器融合:使用rviz 343 
繪製數據圖表:使用rqt_plot 344 
數據記錄和分析:使用rosbag和rqt_bag 346 
小結350 

第22章ROS在線社區351 
社區的禮儀351 
ROS維基352 
ROS Answers:一個ROS問答社區353 
bug追踪與新特性請求354 
郵件列表與ROS興趣小組354 
查找和分享代碼354 
小結355 

第23章用C++編寫ROS程序356 
C++(或其他語言)的使用場景356 
使用catkin編譯C++ 357 
在Python和C++之間來回移植程序359 
小結364