ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门

navigation

书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用。

本章三个非常重要概念:TFSLAMAMCL。务必掌握。

补充内容:http://blog.csdn.net/zhangrelay/article/details/50299417

第216页:

简介本章要点。

第217页:

导航综合功能包组成架构等。

补充如下:

配置并使用导航功能包集

  1. Setting up your robot using tf

    This tutorial provides a guide to set up your robot to start using tf.

  2. 在机器人上配置并使用导航功能包集

    本教程一步步介绍如何在机器人上运行导航功能包集。包括:使用tf发送变换,发布里程计信息,发布来自激光的传感器信息,基本的导航功能包集的配置。

  3. 在ROS上发布传感器数据流

    这个教程提供发布两种类型的传感器数据的例子,即 sensor_msgs/LaserScan 消息和sensor_msgs/PointCloud 消息。

未翻译部分

  1. Navigate in Simulation

    This pagge describes awesome simulation

  2. Navigate with real robot

    This page describes navigation with real robot

  3. Setting up your robot using tf

    This tutorial provides a guide to set up your robot to start using tf.

  4. Explore surrounding areas and make a map

    Explore the real environment from robot's vision and save a map.

  5. Navigate with a known map

    Ramble in the known area with a previously saved a map

  6. Explore surrounding areas and make a map

    Explore the environment from robot's vision and save a map.

  7. Navigate with a known map

    Ramble in the known area with a previously saved a map.

  8. No Title

    No Description

  9. Navigation of the Evarobot in Gazebo

    How to navigate evarobot in Gazebo with a previously known map.

  10. Bilinen Bir Haritada Otonom Evarobot Navigasyonu

    Daha önceden çıkartılmış haritada otonom robot navigasyonu.

  11. Basic Navigation Tuning Guide

    This guide seeks to give some standard advice on how to tune the ROS Navigation Stack on a robot. This guide is in no way comprehensive, but should give some insight into the process. I'd also encourage folks to make sure they've read the ROS Navigation Tutorial before this post as it gives a good overview on setting the navigation stack up on a robot wheras this guide just gives advice on the process.

  12. Using rviz with the Navigation Stack

    This tutorial provides a guide to using rviz with the navigation stack to initialize the localization system, send goals to the robot, and view the many visualizations that the navigation stack publishes over ROS.

  13. Installing

    Instructions to install and compile this package

  14. Evarobot Exploration

    How to generate a SLAM map autonomously with Evarobot using frontier_exploration

  15. Autonomous Navigation of a Known Map with Evarobot

    How to navigate autonomously the Evarobot with known map.

  16. Setup and Configuration of the Navigation Stack on a Robot

    This tutorial provides step-by-step instructions for how to get the navigation stack running on a robot. Topics covered include: sending transforms using tf, publishing odometry information, publishing sensor data from a laser over ROS, and basic navigation stack configuration.

  17. Publishing Odometry Information over ROS

    This tutorial provides an example of publishing odometry information for the navigation stack. It covers both publishing the nav_msgs/Odometry message over ROS, and a transform from a "odom" coordinate frame to a "base_link" coordinate frame over tf.

  18. Publishing Sensor Streams Over ROS

    This tutorial provides examples of sending two types of sensor streams, sensor_msgs/LaserScan messages and sensor_msgs/PointCloudmessages over ROS.

  19. Gazebo'da Evarobot Navigasyonu

    Çıkartılmış harita üzerinden Gazebo'da otonom Evarobot navigasyonu.

配置并使用导航功能包集的全局规划器(Global Planner)

  1. 写一个全局路径规划器作为ROS的插件: 本教程展示了编写并作为插件在ROS中使用全局路径规划器的步骤。

导航功能包集和stage

想要在stage模拟器下使用导航功能包集,请查看navigation_stage软件包。 (!)译者注:本条目内容我不太了解。欢迎大家修改。

机器人的具体配置

本节包含在特定机器人上配置导航功能包集的信息。请添加您的配置信息,帮助我们完善它。

Erratic

软件包erratic_navigation包含在Erratic机器人上运行导航功能包集的配置文件和启动文件。软件包erratic_navigation_apps包含的示例启动文件会在三种不同的配置下启动导航功能包:

  • 在已存在的静态地图中导航
  • 使用SLAM构建地图并导航
  • 不进行构建地图与定位,仅以来本地的里程计帧进行导航;

软件包erratic_teleop包含用键盘控制驱动机器人的节点(例如,在SLAM模式下)。

第218-221页:

TF。补充如下:

Many of the tf tutorials are available for both C++ and Python. The tutorials are streamlined to complete either the C++ track or the Python track. If you want to learn both C++ and Python, you should run through the tutorials once for C++ and once for Python. Note that the general concept itself is explained directly on tf package.

Workspace Setup

If you have not yet created a workspace in which to complete the tutorials, click here for some brief instructions.

Learning tf

C++

Python

  1. Writing a tf broadcaster (C++)

    This tutorial teaches you how to broadcast coordinate frames of a robot to tf.

  2. Writing a tf listener (C++)

    This tutorial teaches you how to use tf to get access to frame transformations.

  3. Adding a frame (C++)

    This tutorial teaches you how to add an extra fixed frame to tf.

  4. Learning about tf and time (C++)

    This tutorial teaches you to use the waitForTransform function to wait for a transform to be available on the tf tree.

  5. Time travel with tf (C++)

    This tutorial teaches you about advanced time travel features of tf

  1. Writing a tf broadcaster (Python)

    This tutorial teaches you how to broadcast the state of a robot to tf.

  2. Writing a tf listener (Python)

    This tutorial teaches you how to use tf to get access to frame transformations.

  3. Adding a frame (Python)

    This tutorial teaches you how to add an extra fixed frame to tf.

  4. Learning about tf and time (Python)

    This tutorial teaches you to use the waitForTransform function to wait for a transform to be available on the tf tree.

  5. Time travel with tf (Python)

    This tutorial teaches you about advanced time travel features of tf

Now that you have completed these tutorials please take the time to complete this short questionnaire.

Debugging tf

  1. Debugging tf problems

    This tutorial gives a systematic approach for debugging tf related problems.

Using sensor messages with tf

  1. Using Stamped datatypes with tf::MessageFilter

    This tutorial describes how to use tf::MessageFIlter to process Stamped datatypes.

Setting up your robot with tf

  1. Setting up your robot using tf

    This tutorial provides a guide to set up your robot to start using tf.

  2. Using the robot state publisher on your own robot

    This tutorial explains how you can publish the state of your robot to tf, using the robot state publisher.

  3. Using urdf with robot_state_publisher

    This tutorial gives a full example of a robot model with URDF that uses robot_state_publisher. First, we create the URDF model with all the necessary parts. Then we write a node which publishes the JointState and transforms. Finally, we run all the parts together.

第221-224页:

发布传感器信息,如激光雷达等。

第224-231页:

发布里程计数据,如odom等。

第232-236页:

创建基础控制器,用键盘控制机器人在Gazebo中运动。

第237-240页:

创建地图,并保存地图,为下一章导航进阶做准备。

http://wiki.ros.org/slam_gmapping

注意map_server。

补充:http://wiki.ros.org/map_server

第240页:

本章小结。

思考与巩固:

1 在ROS使用一个示例如Erratic,实现地图构建。

可参考:http://blog.csdn.net/zhangrelay/article/details/51346435

2 通过示例复习前七章内容。

ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation的更多相关文章

  1. ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation

    ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...

  2. ROS机器人程序设计(原书第2版)补充资料 教学大纲

    ROS机器人程序设计(原书第2版) 补充资料 教学大纲 针对该书稍后会补充教学大纲.教案.多媒体课件以及练习题等. <ROS机器人程序设计>课程简介 课程编号:XXXXXX 课程名称:RO ...

  3. ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!

    ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt! 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. MoveIt ...

  4. ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年01月01日更新

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 版)部分内容修订 页:第1行,删去$ 页:第6行,float64 y 前面加一个空格 页:中间创建主题:下面程序不用换行,(& ...

  5. ROS机器人程序设计(原书第2版)学习镜像分享及使用说明

    ROS机器人程序设计(原书第2版)学习镜像分享及使用说明 系统用于ROS爱好者学习交流,也可用于其他用途,并不局限于ROS. 这款镜像文件是基于一年前的Ubuntu ROS Arduino Gazeb ...

  6. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  7. ROS机器人程序设计(原书第2版)补充资料 (陆) 第六章 点云 PCL

    ROS机器人程序设计(原书第2版)补充资料 (陆) 第六章 点云 PCL 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. RGBD深度摄像头 ...

  8. ROS机器人程序设计(原书第2版)补充资料 (伍) 第五章 计算机视觉

    ROS机器人程序设计(原书第2版)补充资料 (伍) 第五章 计算机视觉 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 计算机视觉这章分为两 ...

  9. ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS下使用传感器和执行器

    ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS使用传感器和执行器 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第四 ...

随机推荐

  1. AutoFac+MVC+WebApi源码----我踩过的坑

    发现网上关于AutoFac的Demo源码比较少,综合MVC和WepApi的更少.所以贴出源码 WebApi项目(MVC4不需要引用,历史遗留问题,人懒没删) 建项目 新建类库IAutoFacDal(接 ...

  2. 洛谷 P3258 [JLOI2014]松鼠的新家(树链剖分)

    题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在”树“上. 松鼠想邀请小熊维尼前来 ...

  3. sqlserver数据库导入Mysql数据库问题

    近来遇到一个问题,之前的项目用的是SQLServer数据库,但是现在要换成MySQL数据库,所有整理了一些数据导入的步骤,供需要的人参考! 第一步: 第二步: 第三步: 第四步: 第五步: 第六步: ...

  4. codevs 搜索题汇总(钻石+大师级)

    1043 方格取数 2000年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图 ...

  5. hdu 1828 线段树扫描线(周长)

    Picture Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  6. 【转载】 HTTP 中 GET 与 POST 的区别

    HTTP 中 GET 与 POST 的区别   GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通 ...

  7. 试说明采用双缓冲技术如何进行I/O操作

    输入设备先将第一个缓冲区装满数据,在输入设备向第二个缓冲区装数据时,处理机就可以从第一个缓冲区取出数据进行处理:当一个缓冲区的数据处理完毕,若第二个缓冲区已经装满,则处理机又可以从第二个缓冲区取出数据 ...

  8. WebService之soap类型的服务和rest类型的服务

    1.引言 WebService顾名思义就是web服务,web服务主要有两种,一种是基于soap类型的服务,一种是基于rest类型的服务,其中soap类型的服务有两种版本,一种是soap1.1版本,一种 ...

  9. 混合式应用开发之Cordova+vue(1)

    一.Cordova创建应用 cordova create oneApp Cordova创建应用出错 Cordova安装时不能使用cnpm 应该使用npm,cnpm虽然快但是后期出的错绝对比这省下来的时 ...

  10. ES6(es2015)新增实用方法汇总

    Array 1.map() [1,2,3,4].map(function(item, index, array){ return  item * 2; }) 对数组中的每一项执行一次回调函数,三个参数 ...