Learning ROS for Robotics Programming - Second Edition

《ROS机器人编程学习-第二版》

----Your one-stop guide to the Robot Operating System

——你的一站式的机器人操作系统引导

原著:Enrique Fernández,Luis Sánchez Crespo,Anil Mahtani,Aaron Martinez

作者简介:Enrique Fernández:西班牙计算机工程博士,研究领域包括SLAM、AI等;

ROS版本目前共有十个版本。分别是:第一版本:Box Turtle,第二版本:ROS Turtle,第三版本:Diamondback Launch,第四版本:Electric Emys,第五版本:Fuerte,第六版本:Groovy,第七版本:Hydro,第八版本:Indigo,第九版本:Jade,第十版本:Kinetic。

本书用的是ROS Hydro,是第7版。2008nmj用的是ROS Indigo,比书要高一级。

教程代码及说明下载: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系统

总结

Learning ROS for Robotics Programming - Second Edition(《ROS机器人编程学习-第二版》)的更多相关文章

  1. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  2. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  3. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  4. Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(一) indigo v-rep

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  10. Learning ROS for Robotics Programming Second Edition学习笔记(九) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 书中三维环境gazebo,slam的仿真例子 --$ r ...

随机推荐

  1. Apache Hive 存储方式、压缩格式

    简介: Apache hive 存储方式跟压缩格式! 1.Text File hive> create external table tab_textfile ( host string com ...

  2. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分 ...

  3. C++ 0x 使用可变参数模板类 实现 C# 的委托机制

    #ifndef _ZTC_DELEGATE_H_ #define _ZTC_DELEGATE_H_ #include <vector> #include <functional> ...

  4. Hibernate DetachedCriteria实现

     前段时间在做模糊查询,并利用数据库分页,DAO用hibernate实现,刚开始的时候 根据业务层的数据,拼hql语句进行查询,且不说要进行一些if判断,单从结构上来说, 底层的数据访问层依赖于业务层 ...

  5. VB.net 与 C# 的对应逻辑运算符

    And:对两个Boolean表达式执行逻辑和.AndAlso:与AndAlso类似,关键差异是AndAlso显示短路行为,如果AndAlso中的第一个表达式为False,则不计算第二个表达式.Or:对 ...

  6. fm 讲解加代码

    转自: 博客 http://blog.csdn.net/google19890102/article/details/45532745/ github https://github.com/zhaoz ...

  7. bed文件格式解读

    1)BED文件 BED 文件(Browser Extensible Data)格式是ucsc 的genome browser的一个格式 ,提供了一种灵活的方式来定义的数据行,以用来描述注释信息.BED ...

  8. 在winsshd 中添加id_rsa.pub 实现Windows 服务器主机自动信任Linux 客户端

    文章一. 生成密钥: 在Linux主机(ssh客户端),通过ssh-keygen在建立SSH keys# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)将在 ...

  9. BeanFactory 和 ApplicationContext的区别

    今天在网上查资料无意中看到这一行代码 BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext ...

  10. java并发:Condition的应用

    Condition类可以使线程等待,也可以唤醒线程.Condition类的await方法和Object类的wait方法等效Condition类的signal方法和Object类的notify方法等效C ...