Show EOL distros:
Package Summary
The mrpt_localization package
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author:
- License: BSD
- Source: git https://github.com/mrpt-ros-pkg/mrpt_common.git (branch: master)
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.
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: indigo-devel)
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.
- Maintainer status: maintained
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: master)
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.
- Maintainer status: maintained
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: master)
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.
- Maintainer status: maintained
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: master)
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.
- Maintainer status: maintained
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: master)
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.
- Maintainer status: maintained
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: ros1)
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.
- Maintainer status: developed
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Bader, Raphael Zack <raffi.z AT gmail DOT com>
- License: BSD, BSD
- External website: http://www.mrpt.org/
- Source: git https://github.com/mrpt-ros-pkg/mrpt_navigation.git (branch: ros1)
Contents
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.
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. |
Related papers
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.launchroslaunch 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 fileroslaunch 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