ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Mars Rovers fetching groceries and odom covariances

Hi all,

You might remember me from my recent post on dual quaternions. Aside from indulging in maths for robotics in my free time, I also have been writing a series of blog posts about Mars Rovers and all things robotics.

While all of us are working our way up to AGI, part 3 (rock solid odometry) and part 4 (mapping and localization) of the series I am writing shows how to set up odometry, mapping, and localization properly based on a whole bunch of iteration building and tuning multiple platforms.

Odometry, especially, is something I see quite a few questions on ROS answers about and most roboticists don’t give it the love it needs. That results in poor mapping and localization results and typically the response is a combination of wasting time on tuning mapping or nav stack parameters or throwing more sensors and compute at the problem.
In the odometry blog, I explain some simple and fast ways to check your wheel odometry, as it’s surprisingly easy to get wrong. I saw a robot where the odometry readings were off by a factor of 5 and the engineer tried to fix it by fusing it with an IMU. Good luck.
The covariance matrix, which a couple of SLAM packages require you to specify, is another tough one with most folks just setting it to some guesstimates. There’s no rigorous material on this online, so I attempted to explain it myself in this blog. I’m curious to hear what you are setting it to - if at all!



I love the GIF. Hilarious! What lib are you using for person following?

1 Like

It’s something I threw together myself, but the plan is to use @smac’s dynamic follower once I have the switch to ROS2 set up!

EDIT: Apologies, @fmrico’s dynamic follower!


(@fmrico’s dynamic follower :wink:) I take absolutely 0 credit for conception, implementation, and tutorializing it. I just helped facilitate Francisco to do what he does best.