zoukankan      html  css  js  c++  java
  • Learning ROS for Robotics Programming

    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系统

    总结

  • 相关阅读:
    npm install 卡住的时候的处理
    建立ionic3的环境
    [转] PuTTY + Xming 远程使用 Linux GUI
    Oracle 11g 记录DML错误数据
    [转] 深入浅出 妙用Javascript中apply、call、bind
    [转] Java运行时动态生成class的方法
    获取Java class或者jar文件的本地路径
    AngularJS 中ng-model通过$watch动态取值
    [转] Everything about custom filters in AngularJS
    [转] 利用js实现 禁用浏览器后退
  • 原文地址:https://www.cnblogs.com/2008nmj/p/6183355.html
Copyright © 2011-2022 走看看