ROS_Navigation专题1 - Introduction and Learning

ROS_Navigation专题1 - Introduction and Learning Resources

  Before going further, it is highly recommended that the reader check out the NavigationRobot Setup tutorial on the ROS Wiki.
  This tutorial provides an excellent overview of the ROS navigation stack.
  For an even better understanding, check out all of the Navigation Tutorials.
  And for a superb introduction to the mathematics underlying SLAM, check out Sebastian Thrun's onlineArtificial Intelligence course on Udacity.

  If you own a TurtleBot, you might want to skip directly to the TurtleBot SLAM tutorial on the ROS Wiki.
  Another affordable SLAM robot is the Neato XV-11 vacuum cleaner which includes a 360-degree laser scanner. In fact, you can run the complete Navigation Stack using the XV-11 thanks to the neato_robot ROS stack by Michael Ferguson.

In this special subject, we will cover the three essential ROS packages that make up the core of the Navigation Stack:

  • • move_base for moving the robot to a goal pose within a given reference frame
  • • gmapping for creating a map from laser scan data (or simulated laser data from a depth camera)
  • • amcl for localization using an existing map
----
In this case, I fell that starting from ROS  Navigation Tutorials could be a better way to learn.
----
So I will follow the outline below:

1. Navigation is an ROS stack named as "Navigation"

   It contains packages listed as below:
   amcl*
   base_local_planner
   carrot_planner
   clear_costmap_recovery
   costmap_2d
   dwa_local_planner
   fake_localization
   global_planner
   map_server*
   move_base*
   move_base_msgs
   move_slow_and_clear
   nav_core
   navfn
   robot_pose_ekf
   rotate_recovery
   voxel_grid

2. First, follow the tutorials in this order:

   1) The introduction to Navigation: http://wiki.ros.org/navigation?distro=hydro#Tutorials
   2) The specific tutorial webpage: http://wiki.ros.org/navigation/Tutorials

   Note:

   使用导航功能包集(Navigation Stacks)的先决条件是:

       >机器人必须运行ROS,
       >有一个tf变换树,
       >使用正确的ROS Message types发布传感器数据。
   而且,我们需要在高层为一个具有一定形状和动力学特点的机器人配置Navigation Stacks。本手册指导配置一个典型的Navigation Stacks。
  

   硬件限制:

       虽然Navigation Stacks被设计成尽可能的通用,在使用时仍然有三个主要的硬件限制:
  • 它是为差分驱动的完全约束的轮式机器人设计的。它假设移动基站受到理想的运动命令的控制并可实现预期的结果,命令的格式为:x速度分量,y速度分量,角速度(theta)分量。
  • 它需要在移动基站上安装一个平面二维激光。这个激光用于构建地图和定位。
  • Navigation Stacks是为正方形的机器人开发的,所以方形或圆形的机器人将是性能最好的。 它也可以工作在任意形状和大小的机器人上,但是较大的矩形机器人将很难通过狭窄的空间,例如门道。
  

3. Second, follow the tutorial webpage:

   --------------------->>>>

    Configuring and Using the Navigation Stack

  1. Setting up your robot using tf

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

  2. No Title

    No Description

  3. Navigation of the Evarobot in Gazebo

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

  4. Basic Navigation Tuning Guide

    This guide seeks to give some standard advice on how to tune theROS 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 theROS 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.

  5. Bilinen Bir Haritada Otonom Evarobot Navigasyonu

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

  6. 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.

  7. Installing

    Instructions to install and compile this package

  8. Navigation with Robotino

    Autonomous navigation of a known map with Robotino

  9. Autonomous Navigation of a Known Map with Evarobot

    How to navigate autonomously the Evarobot with known map.

  10. 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.

  11. 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.

  12. Mapping with Robotino

    Explains how to build a map with Robotino using gmapping

  13. Publishing Sensor Streams Over ROS

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

  14. Sending Goals to the Navigation Stack

    The Navigation Stack serves to drive a mobile base from one location to another while safely avoiding obstacles. Often, the robot is tasked to move to a goal location using a pre-existing tool such as rviz in conjunction with a map. For example, to tell the robot to go to a particular office, a user could click on the location of the office in a map and the robot would attempt to go there. However, it is also important to be able to send the robot goals to move to a particular location using code, much like rviz does under the hood. For example, code to plug the robot in might first detect the outlet, then tell the robot to drive to a location a foot away from the wall, and then attempt to insert the plug into the outlet using the arm. The goal of this tutorial is to provide an example of sending the navigation stack a simple goal from user code.

  15. Gazebo'da Evarobot Navigasyonu

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

    Configuring and Using the Global Planner of the Navigation Stack

  1. Writing A Global Path Planner As Plugin in ROS: This tutorial presents the steps for writing and using a global path planner in ROS as a plugin.

To use navigation stack with stage, check the navigation_stage package.

    Robot Specific Configurations

This section contains information on configuring particular robots with the navigation stack. Please help us by adding information on your robots.

    Erratic

The erratic_navigation package contains configuration and launch files for running the navigation stack on Erratic robot. Theerratic_navigation_apps package contains example launch files that will start the navigation stack in three different configurations:

  • navigation with existing static map
  • navigation with SLAM for building a map of the area
  • navigation in local odometric frame without a map and localization:

The erratic_teleop package contains a keyboard teleoperation node for driving the robot (e.g. while in SLAM mode).

    Pioneer

TODO

    iRobot Create

TODO

4.



你可能感兴趣的:(ROS_Navigation专题1 - Introduction and Learning)