Create Odometry Bug

From Tekkotsu Wiki

Jump to: navigation, search

The iRobot Create's built-in odometry works reasonably well for forward motion, but does not register rotations slower than around 30 degrees per second when streaming packets at its maximum rate. This appears to be due to a roundoff problem, and can be mitigated by querying the odometry values less frequently so that the angle accumulator does not get reset as often.

Currently, Tekkotsu is polling the Create at a moderate rate rather than using streaming mode, so that odometry information is available even for low speed turns.

The WalkMC::setTargetDisplacement method for the Create recognizes when the robot is turning in place and sets an optimal velocity for maintaining good odometry.

More information about the Create's odometric idiosyncracies can be found here.