Learning ROS for Robotics Programming - Second Editionhtml
《ROS機器人編程學習-第二版》node
----Your one-stop guide to the Robot Operating Systemgit
——你的一站式的機器人操做系統引導github
原著:Enrique Fernández,Luis Sánchez Crespo,Anil Mahtani,Aaron Martinezshell
做者簡介:Enrique Fernández:西班牙計算機工程博士,研究領域包括SLAM、AI等;編程
ROS版本目前共有十個版本。分別是:初版本:Box Turtle,第二版本:ROS Turtle,第三版本:Diamondback Launch,第四版本:Electric Emys,第五版本:Fuerte,第六版本:Groovy,第七版本:Hydro,第八版本:Indigo,第九版本:Jade,第十版本:Kinetic。 ubuntu
本書用的是ROS Hydro,是第7版。2008nmj用的是ROS Indigo,比書要高一級。bash
教程代碼及說明下載:https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition服務器
學習本書你須要什麼?架構
對於你的電腦的硬件需求,任何手提電腦均可以。可是,建議使用一張專用的顯卡以運行Gazebo模擬器。並且,擁有大量的外圍設備是很好的,從而你可以鏈接多個傳感器和執行器,包括攝像機和Arduino板。你還須要Git(Git核心Debian軟件包)爲克隆庫中有這本書的源代碼。類似地,你要對Bash命令行、GNU/Linux工具和一些C/C++編程技巧有基本的認識。
目錄:
Preface 前言
Chapter 1: Getting Started with ROS Hydro 第1章:開始ROS Hydro系統
- PC installation(電腦安裝)
- Installing ROS Hydro – using repositories(安裝ROS Hydro)
- How to install VirtualBox and Ubuntu (如何安裝虛擬機和Ubuntu)
- Installing ROS Hydro in BeagleBone Black (BBB) (在BeagleBone Black中安裝ROS Hydro)
- Summary(總結)
Chapter 2: ROS Architecture and Concepts 第2章:ROS架構和概念
- Understanding the ROS Filesystem level(理解ROS文件系統級別)
- Understanding the ROS Computation Graph level (理解ROS計算圖形級別)
- Understanding the ROS Community level (理解ROS社區級別)
- Tutorials to practice with ROS (使用ROS的實踐指導教程)
- Summary(總結)
第1章:開始ROS Hydro系統
安裝教程:http://www.cnblogs.com/zxouxuewei/p/5096787.html
-配置Ubuntu屬性 "restricted"、"universe" 和 "multiverse"
-設置source.list文件 sudo sh –c ‘echo 「deb http://packages.ros.org/ros/ubuntu precise main」 > /etc/apt/sources.list.d/ros-latest.list’
-設置key $wget http://packages.ros.org/ros.key -O- | sudo apt-key add –
-安裝ROS 先更新一下:$sudo apt-get update 而後:$sudo apt-get install ros-hydro-desktop-full
-安裝rosdep $sudo rosdep init $rosdep update
-設置環境 $source /opt/ros/hydro/setup.bash(爲了不每次打開終端都輸一遍,將它打到.bashrc文件中:$ echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc ,該.bashrc文件在/home/USERNAME/.bashrc中)
能夠用echo $ROS_DISTRO來查看ROS版本。
最後測試成不成功:在兩個shell窗口裏分別輸入(打開shell窗口是用ctrl+alt+T)以下內容:
$roscore
$rosrun turtlesim turtlesim_node
$rosrun turtlesim turtle_teleop_key
(附:Windows端安裝虛擬機和Ubuntu和ROS完整教程:http://www.cnblogs.com/2008nmj/p/7586918.html)
第2章:ROS結構和概念
-ROS文件系統級
包:packages
包元:package manifests
綜合包:metapackages
綜合包元:metapackage manifests
消息:msg
服務:srv
-ROS計算圖形級
節點和節點集:Nodes and nodelets
主題:Topics
服務:Services
消息:Messages
記錄袋:Bags
ROS管理器:The ROS master
參數服務器:Parameter Server
-ROS社區級
分配:Distributions版本
ROS維基:ROS Wiki
bug登記系統:bug ticket system
郵箱列表: mailing list
ROS問答: ROS Answers
博客:Blog
-實踐
使用ROS文件系統來導航
建立咱們本身的工做空間
建立一個ROS包和綜合包
編譯一個ROS包
使用ROS節點
學習如何與主題交互
學習如何使用服務
使用參數服務器
建立節點
編譯節點
建立msg和srv文件
使用新的msg和srv文件
launch文件
第3章:可視化和調試工具
REEM機器人,它可使用如下命令在模擬中運行:$roslaunch reem_2dnav_gazebo reem_navigation.launch
注意在你安裝以前,你須要遵守以下的指示:http://wiki.ros.org/Robots/REEM。
調試ROS節點
記錄消息
監視正在進行的東西
設置動態參數
當奇怪的事情發生時
節點診斷可視化
繪製scalar數據
圖像可視化:$roslaunch chapter3_tutorials example8.launch $rosrun image_view image_view image:=/camera
3D可視化:$rosrun rviz rviz
保存和重放數據
使用rqt_gui和rqt插件
總結
第4章:使用ROS中的傳感器和驅動器
使用joystick(操做杆)或gamepad(手柄)
使用雷達範圍查找器——Hokuyo URG-04lx
使用Kinect傳感器查看三維物體
使用伺服電機–Dynamixel
使用Arduino添加更多的傳感器和致動器
使用Arduino超聲波測距傳感器
距離傳感器如何發送消息
使用低成本IMU-10自由度
使用GPS系統
總結