[ros-users] Announcing the robot_localization package

Tom Moore tmoore at cra.com
Tue Apr 22 17:05:23 UTC 2014

I’ve used it successfully with a Garmin GPS 18x, but that was running at 5Hz. I’d have to generate a dataset that has less frequent measurements, or would be happy to test it out if anyone can provide one. In any case, if you find that it doesn’t handle that situation well out-of-the-box, I’d be happy to put in the development time to improve it.


From: ros-users-bounces at lists.ros.org [mailto:ros-users-bounces at lists.ros.org] On Behalf Of Mike Purvis
Sent: Tuesday, April 22, 2014 12:56 PM
To: User discussions
Subject: Re: [ros-users] Announcing the robot_localization package

Looks very interesting! Thanks for supplying detailed documentation.

A major gap in the existing ROS localization solution (robot_pose_ekf) has been with respect to periodic absolute measurements, especially GPS fixes and data from mocap systems. Does robot_localization handle these cases at all, or provide for them to be handled with further development?

Thanks again for contributing this,


On 22 April 2014 12:47, Tom Moore <tmoore at cra.com<mailto:tmoore at cra.com>> wrote:


I am pleased to announce the release of a new ROS package, robot_localization. The package estimates the state (3D pose and velocity) of a mobile robot through sensor fusion. Its features include:

* Fusion of an arbitrary number of sensors: the nodes do not restrict the number of input sources. If, for example, your robot has multiple IMUs or multiple sources of odometry information, the nodes within robot_localization can support all of them.

* Support for multiple ROS message types: all nodes in robot_localization can take in Odometry, Imu, PoseWithCovarianceStamped, or TwistWithCovarianceStamped messages.

* Per-sensor input customization: if a given sensor message contains data that you don't want to include in your state estimate, robot_localization's nodes allow you to exclude that data on a per-sensor basis.

* Continuous estimation: each node in robot_localization begins estimating the robot's state as soon as it receives a single measurement. If there is a holiday in the sensor data (i.e., a long period in which no data is received), the filter will continue to estimate the robot's state via a 3D motion model.

robot_localization currently contains only one node, ekf_localization, which, as the name implies, employs an extended Kalman filter. New nodes, such as an unscented Kalman filter node, will be added as they become available.

robot_localization is currently available for ROS Groovy, Hydro, and Indigo. The package's wiki page at http://wiki.ros.org/robot_localization provides more details on how to integrate it with your robot.

Development of this node was funded by Charles River Analytics, Inc.


Tom Moore
Software Engineer
Sensor Processing & Networking
Government Services
Charles River Analytics Inc.
617.491.3474 x521<tel:617.491.3474%20x521>

ros-users mailing list
ros-users at lists.ros.org<mailto:ros-users at lists.ros.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20140422/7ee4f1c8/attachment.html>

More information about the ros-users mailing list