Odom wheels

Does it matter where i put my odom tracking wheel thats perpendicular to my drive?
Because everything i see places it in the back but could it be placed in the middle instead?

Either works, just make sure to program your robot accordingly.


I would recommend placing them in the middle. I say that a bit tentatively, because I feel like I’m about to be logically destroyed by a long standing member of the forums, but here we are.

It sounds like you want to place them in the center of the robot anyways, so this may be a non-issue, but again, here we are.

It is my personal belief that to get the most accurate results from the wheels, they should be placed as close to center as possible. It’s difficult to describe the problem exactly, so I’ll frame it as an example:

Place an omni wheel on the end of a long c-channel (parallel with it) and attach a standoff at the other end of the c-channel facing downwards so that the two ends of the channel are at the same height when placed on a flat surface such that the omni wheel is “rollers down” on a table, that is, oriented so that the wheel’s circular plane is perpendicular to the table. Rotate the entire model around the standoff.

You should find that the wheel consistently rotates the slightest amount as you spin the model around it’s center. This has happened in all of the models I have built so far, and proves consistant with what my head tells me, though I don’t know why. A teammate of mine (after several hours worth of discussion) postulated that this is due to asymmetry in the omni wheel, but I think there is something bigger at play here.

Anyways, I think that you will find that the odometry wheels rotate slightly in an undesirable manner when turning if they are not centered. This may not be noticeable if the wheels are not a significant distance from center or if you don’t sit there turning for long periods of time. Even then, I imagine the error would be small.

I’ve been working on math to prove this, but I’m feeling a little out of my league. Maybe I’m the crazy one, but it keeps happening, so I don’t know.

This debate has been sort of a joke around my team for a long time, but I’d like to actually know, so if you are smart, please tell me what’s going on. Am I hallucinating?

Edit: Maybe this document will provide some clarity. I’m looking for more, but this is what I’ve got right now.
odometry turning proof.pdf (294.5 KB)

1 Like

There is some serious depth to this. I’m pretty sure @Keys isn’t hallucinating about it, there is a visible rotation, but I’m not really sure what causes it. Even after he jumped up in the middle of calculus and started drawing diagrams and explaining complicated mathematical theories it doesn’t make sense to me. To be honest though, the effect is probably small enough that having the wheel a bit off from the center won’t have a significant effect though.

1 Like

The rotation of the horizontal wheel will give the robot the same information about its position whether the wheel is placed in the center of the robot or meters away.

As others have said, placement does not matter much, just make sure they are oriented correctly. There are ways to correct for placement of the wheels so they read correctly, like using an inertial sensor’s heading or other rotation-sensing method to negate any rotational movement from a horizontal tracking wheel.

I don’t support the argument that the odom wheels don’t turn. I’ve seen it. However, I agree that it probably a negligible amount of error, since you will likely turn your robot in both directions, essentially undoing the error. I also don’t believe that anyone has calculated how much they will turn over an angle, so I don’t know how an inertial sensor would help. I believe it solves a different problem than the one I am describing.

After spending way too long rotating 3D models in my head last night, I have what I believe to be a potential clue as to why the rotation is happening. Things turn in arcs like circles. It’s what they do. But the axis of movement on the odometry wheels are offset by 90 degrees, like a square. When the odometry wheel is centered, the wheel experiences less rotation. But when the wheel is farther away, the overall result is more rotation, because of what I’m about to describe. Single axis movements are straight lines. So the axis of the rollers on the wheel cannot follow the arc without being shifted around by the second axis, which would change the angle of the first to match each part of the arc. So, the farther out the wheel is, the bigger the radius of the arc it follows, so the more the wheel’s second axis has to work to match the straight lines of the first to the curvature of the arc. This would mean that less error is created as the wheel gets closer to centered on the robots pivot point.

Again, maybe I’m insane. But this is starting to make sense.