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!