专栏首页机器人课程与技术ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation

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

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

navigation

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

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

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

第216页:

简介本章要点。

第217页:

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

补充如下:

目录

  1. 配置并使用导航功能包集
  2. 配置并使用导航功能包集的全局规划器(Global Planner)
  3. 导航功能包集和stage
  4. 机器人的具体配置
    1. Erratic
    2. Pioneer
    3. iRobot Create

配置并使用导航功能包集

  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 TitleNo 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

目录

  1. Workspace Setup
  2. Learning tf
  3. Debugging tf
  4. Using sensor messages with tf
  5. Setting up your robot with tf
  6. Video Tutorial (PR2 Beta Workshop)

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

Writing a tf broadcaster (C++)This tutorial teaches you how to broadcast coordinate frames of a robot to tf.Writing a tf listener (C++)This tutorial teaches you how to use tf to get access to frame transformations.Adding a frame (C++)This tutorial teaches you how to add an extra fixed frame to tf.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.Time travel with tf (C++)This tutorial teaches you about advanced time travel features of tf

Writing a tf broadcaster (Python)This tutorial teaches you how to broadcast the state of a robot to tf.Writing a tf listener (Python)This tutorial teaches you how to use tf to get access to frame transformations.Adding a frame (Python)This tutorial teaches you how to add an extra fixed frame to tf.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.Time travel with tf (Python)This tutorial teaches you about advanced time travel features of tf

  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
  6. Writing a tf broadcaster (Python)This tutorial teaches you how to broadcast the state of a robot to tf.
  7. Writing a tf listener (Python)This tutorial teaches you how to use tf to get access to frame transformations.
  8. Adding a frame (Python)This tutorial teaches you how to add an extra fixed frame to tf.
  9. 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.
  10. 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 problemsThis tutorial gives a systematic approach for debugging tf related problems.

Using sensor messages with tf

  1. Using Stamped datatypes with tf::MessageFilterThis tutorial describes how to use tf::MessageFIlter to process Stamped datatypes.

Setting up your robot with tf

  1. Setting up your robot using tfThis tutorial provides a guide to set up your robot to start using tf.
  2. Using the robot state publisher on your own robotThis tutorial explains how you can publish the state of your robot to tf, using the robot state publisher.
  3. Using urdf with robot_state_publisherThis 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 通过示例复习前七章内容。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ubuntu18.04 ROS1Melodic ROS2Dashing 机器人工具集学习镜像的制作说明 Pinguy

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    zhangrelay
  • ROS2编程基础课程--库

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    zhangrelay
  • ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明

    那么配套安装的是Gazebo2,如何在ROS(indigo)中使用更新版本的Gazebo呢?

    zhangrelay
  • 乔布斯斯坦福大学演讲(视频+全文)

    大数据文摘
  • Idea报错“Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA”

    保存设置时,idea总是报错Unable to save settings: Failed to save settings. Please restart I...

    飞奔去旅行
  • TensorFlow从0到1 - 14 - 交叉熵损失函数——防止学习缓慢

    通过上一篇 13 驯兽师:神经网络调教综述,对神经网络的调教有了一个整体印象,本篇从学习缓慢这一常见问题入手,引入交叉熵损失函数,并分析它是如何克服学习缓慢问...

    黑猿大叔
  • ubuntu 13.04 设定静态IP

    切换到root用户,然后进入/etc/network目录。备份interfaces文件(备份文件是一个好习惯) 下面编辑interfaces文件,添加如下语句:...

    随机来个数
  • 教程 | 维度、广播操作与可视化:如何高效使用TensorFlow

    选自GitHub 机器之心编译 参与:Nurhachu Null、李泽南 本文从 Tensorflow 基础、理解静态维度和动态维度、广播操作(Broading...

    机器之心
  • TensorFlow学习笔记:4、TensorFlow简单运算

    版权声明:本文为博主原创文章,欢迎转载。 ...

    程裕强
  • 斯坦福tensorflow教程-实例代码简单代码关于占位符 placeholder与feed_dictvariable 变量

    致Great

扫码关注云+社区

领取腾讯云代金券