Rosanswers logo


We're just getting started using the AMCL package for this robot. We're publishing odometry as described here, and so far, so good. I'm confused about something though: in the code, we're broadcasting nav_msgs/Odometry messages without setting the covariances (i.e. they're all zeros).

My question: is this a problem?

Thanks in advance,


Originally posted by Rick Armstrong on ROS Answers with karma: 567 on 2014-04-23

Post score: 0


1 Answer 1


Rosanswers logo

Looking at the AMCL wiki page, you´ll notice that AMCL only subscribes to tf and gets the odometry pose from there. This means that covariance information is not used for AMCL (simply because it is not available via tf). The (probabilistic) motion model used within AMCL is determined by the AMCL node parameters.

One could certainly argue that the "proper" way of doing things would be subscribing to odometry messages and using the covariance information provided within, but this would also make setting up a real system harder.

Originally posted by Stefan Kohlbrecher with karma: 24361 on 2014-04-23

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Rick Armstrong on 2014-04-24:\

AMCL only subscribes to tf. Ah, thanks I see that now. Looks like I asked the wrong question. It's local_planner that makes use of odometry directly.

Comment by quentin on 2015-11-30:
Hi! AMCL subscribes to tf but we still have to set a odom_frame_id... Why? Is it possible, and does it make sense, to use hector_mapping to compute odometry AND AMCL to compute the pose? Therefore, there would be 2 different map topics, one for AMCL (known map) one for hector_mapping.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.