Which sensors for odometry?

So I’ve checked the search results for odometer resources and I’ve found many. However, I haven’t been able to get a straight answers as to what sensors do you need for odometry. Is it just shaft encoders? And how many would you need? I am using a standard tank drive for next season so I’m thinking I just need two? Any other sensors I might need? Thanks.

1 Like

For odometry you need three shaft encoders. Two of them parallel to each other on the left and right side of your drive base and a third perpendicular encoder on the base to track horizontal displacement.

1 Like

Ok, just to clarify because I was told the third was only for H-drive. The third is needed for any drive, correct? If so, thank you! And it’s just the encoders I need?

Yes the third is necessary for any type of drive because it models the horizontal chord your robot is traveling on. It is how you calculate your x coordinate while the two parallel wheels calculate your y coordinate and the orientation of your robot. And yes all you need for functional odometry is the three shaft encoders previously described.


In theory, you need sensor to track x movement, one to track y movement, and one to track heading. The second parallel wheel has been used in the past to approximate heading as the three-wire gyro was very inaccurate. You can use an inertial combined with two perpendicular tracking wheels to get the same result as two parallel and one perpendicular.