Show EOL distros: 

Package Summary

The mrpt_localization package

Package Summary

This package provides an interface for the mprt (Mobile robotics C++ libraries) and enables the included node to solve a 2D self-localization problem given an existing map. The node is able to use mrpt map formats as well as published ros maps. The interface is similar to the amcl (http://wiki.ros.org/amcl) pkg.

mrpt_navigation: mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (http://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

mrpt_navigation: mrpt_bridge | mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_msgs | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (http://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

mrpt_navigation: mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (http://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

mrpt_navigation: mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (http://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

mrpt_navigation: mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (https://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

mrpt_navigation: mrpt_local_obstacles | mrpt_localization | mrpt_map | mrpt_rawlog | mrpt_reactivenav2d | mrpt_tutorials

Package Summary

Package for robot 2D self-localization using dynamic or static (MRPT or ROS) maps. The interface is similar to amcl (https://wiki.ros.org/amcl) but supports different particle-filter algorithms, several grid maps at different heights, range-only localization, etc.

Overview

This package uses dynamic or static (MRPT or ROS) maps for self-localization. If an MRPT format is used the node publishes the map for debugging and interface reasons in ROS standard format.

MRPT particle filtering allows for localization with:

  • A number of different algorithms.

  • Different map kinds: Occupancy grid maps (as images or in MRPT binary format), point clouds, beacon map (for range-only sensors). At present, these combinations are exposed to ROS:

    • Map: occupancy grid, Sensor: anyone capable of generating a point cloud (see mrpt_local_obstacles). Several occupancy grids, each at a different height, to be used for laser scans at the corresponding robot height.

    • Map: beacons at predefined 3D positions, Sensor: range-only. For Range-Only (RO) Localization.

  • Multiple simultaneous sensors: The combinations above can be used together and their probabilistic information automatically fused together.

pioneer.jpg This Figure shows the mprt pf-localization working together with ROS. RViz can be used to visualize the data and to set an initial pose.

  • Optimal particle filtering algorithm

    • J.L. Blanco, J. Gonzalez-Jimenez, J.A. Fernandez-Madrigal, "Optimal Filtering for Non-Parametric Observation Models: Applications to Localization and SLAM", The International Journal of Robotics Research (IJRR), vol. 29, no. 14, 2010. (PDF)

  • Range-Only localization

    • J. Gonzalez-Jimenez, J.L. Blanco, C. Galindo, A. Ortiz-de-Galisteo, J.A. Fernandez-Madrigal, F.A. Moreno, J. Martinez, "Mobile Robot Localization based on Ultra-Wide-Band Ranging: A Particle Filter Approach", Robotics and Autonomous Systems, vol. 57, no. 5, pp. 496--507, 2009. (PDF)

Demos

LIDAR localization with a gridmap

Run:

roslaunch mrpt_localization demo.launch

to start:

  • a rosbag including tf and laser scan data,
  • the mrpt localization with a mrpt map
  • RViz for visualization

Range-only (RO) localization with a set of fixed, known radio beacons

Run:

roslaunch mrpt_localization demo_ro.launch

to start:

  • a dataset (rawlog format) including RO and odometry observations,
  • the mrpt localization with known beacon locations, and
  • RViz for visualization

Tutorial

We added also gazebo tutorial, but you have to get sure to have gazebo_ros, teleop_twist_keyboard and some other pkg installed. The tutorial shows a pioneer 3DX robot unter the namespace r1.

  • roslaunch mrpt_tutorials r1_gazebo_gh25.launch
    it should start gazebo with a simple environment. If you have problems there check your gazeo installation and try some native gazebo_ros launches like roslaunch gazebo_ros empty_world.launch

  • roslaunch mrpt_tutorials r1_localization.launch
    it will start the mrpt pf-localization. You can use additional arguments to define a the mrpt ini_file, map_file or laser scan topic. Have a look at the r1_localization.launch file

  • roslaunch mrpt_tutorials r1_rviz.launch
    it will start RViz. Using the 2D pose Estimation tool, you can reset the robot pose. (Since the robot lies within the namespace r1 you have to check the Panel->Tool Propertiers to publish the robot pose under /r1/initialpose)

  • roslaunch mrpt_tutorials r1_teleop.launch
    Now you can control the robot with the keyboard. The teleop publishes Twist msgs on r1/cmd_vel ( teleop_twist_keyboard must be installed!!)

Nodes

mrpt_localization

The mrpt_localization node wraps MRPT particle-filter localization algorithms through a ROS interface. See demo launch-file and tutorials above.

Example usage:

roslaunch mrpt_localization demo.launch

Wiki: mrpt_localization (last edited 2016-03-19 11:49:36 by Jose Luis Blanco)