Thoughts on odometry?

I remember seeing a video where a team was testing odometry for match auton/skills and thinking if the self correction of the robot was necessary. Wouldn’t using an inertial sensor be easier and just as efficient?

The inertial sensor is certainly easier to use than making a full odom program. However, it is incapable of creating accurate position tracking, and I have had some issues with inaccurate readings.

Odometry allows you to know the exact location and heading of your robot on the field, while an inertial sensor only gives you your robots current heading.


neither odometry or an inertial sensor make your robot do anything. All that either of these things do is give you data about your robot. Odometry gives you an estimated position and heading, while the inertial sensor gives you your angle and acceleration in all axis. an Inertial sensor is often used within odometry as an alternative way of finding the robot heading, but the two are not equivalent and do not tell your robot what to do. Theoretically one could take the second integral the acceleration data to find robot position, but the sensor does not refresh data quickly enough for this to work at all.

In order for a robot to have any sort of self-correcting behavior, you must take data from various sources (which can include both odom and/or the inertial sensor), and use motion control algorithms to actually make the robot move in a desired way.

So no, odometry alone will not make your robot correct itself. and the inertial sensor will both not do this, and also does not return enough data for a control algorithm to do this using the inertial sensor’s information.


I see. Do you think it’s worth the time to use odometry along with what @Xenon27 said?

There isn’t much point in doing odometry if you aren’t going to have a movement algorithm as well. While odom is very useful, I assume are new to robotics so I would not recommend trying odometry unless you have a solid understanding of programming and trigonometry as it is a more advanced concept. Full odom also requires having 3 additional tracking wheels. For your first robot, an inertial sensor would probably be best.


I’ve actually been doing robotics for a couple years now, but this year is my first year in high school. My team didn’t find the need to focus on skills too much since we were able to make worlds every year with the elim matches. I just figured that since high school would be far more competitive, getting good in skills would be necessary.

It really depends on you program abilities and knowledge of trig. Odom will lead to more accurate information than an inertial, but it will be harder and require more effort. It’s really up to you and your team to decide.


If you’re using it for skills, the gps sensor is another good alternative, but it’s all sold out at the moment.


As someone who’s programmed and used odometry/driving algorithms id say its worth it, however you absolutely do not need odometry to have a competitive autonomous.

Personally im going to end up using an inertial sensor and the integrated incoders as my bot has absolutely no room for tracking wheels

1 Like

I was thinking that too. Last year, we used vision sensors for our skills auton to face towards the goals along with inertial sensors, but it wasn’t always accurate because the lighting is different at every competition.

1 Like