Auto correcting omniwheel drift

I was wondering if it is possible to auto correct omniwheel drift in autonomous?

Do you mean like, you’re driving straight and then your drivetrain goes to the side, or you hit a sharp turn and then the wheels continue sliding sideways

If you mean accidental lateral displacement (aka strafing), adding a center traction wheel to your robot’s drivetrain would solve that problem. Many VRC teams employ this solution to great success, and I don’t see why it wouldn’t work for VIQC.

Coding wise you could create a more complicated PID algorithm that would try to maintain a specified heading, but I don’t think that would completely solve your problem.


Last year my team just put two traction wheels on the front, and two omnis on the back for extra traction, and so we didn’t drift/strafe. (No flex wheels then :frowning:)

So just as a reminder it’s pretty much impossible to put wheels of any type and drivetrain and say "drive forward for N seconds and end up in the same exact spot. This is due to slight differences in the motors, gears, frame, friction on to the floor, etc.

You can do a little better if you say "drive forward for N rotations. But some of the issues still exist. Your best bet is the gyro or the inertial sensor built into the V2 brain.

Would you please explain the logic behind that? I don’t understand why and how to add a center traction wheel. Thanks a lot.

Robot being pushed sideways= bad b/c it will get misaligned for shooting.

Center traction wheel resists sideways pushing as it takes significant force to move sideways. Therefore robot cannot be pushed sideways, and has an easier time lining up at goal to shoot.

It’s super easy add, just make sure its diameter matches that of the outside omni wheels so that it can actually contact the ground and work its magic.