Odometry deals with how far and how fast the mouse has travelled. If you are feeling brave, you might want to consider dead-reckoning as a means of navigation. here, you rely on information about how far each wheel has moved to calculate your position and orientation in the maze. This is almost certainly not a good idea. Small errors will soon accumulate into fatal miscalculations. Arrange for you distance sensors to recalibrate at appropriate points while running the maze. A good place is at the end of a straight. You know how far you should have travelled and how far you think you travelled. Reconcile these values and keep track of relative errors.
If you are using steppers, you command the wheels to take so many steps and expect them to do as they are told. Generally, this will be a fair assumption. There are ways for things to go wrong though. Wheel slip, caused by dirt or over-enthusiastic acceleration and braking, is one of them. Resonannce and mis-stepping is another. Steppers give you open-loop control. there is no way to know how far you have actually travelled until you find yourself in a position, such as up against a wall, which will allow you to calculate where you actually are. Consequently, you will need to take extra care with stepper motors to ensure that commanded steps are turned into actual steps without slippage or missed steps.
So long as you dont miss steps, stepper motors do give good absolute positionng. The error after a thousand steps will be the same as the error after two steps, and is generally small. Let us say, however, that you are using a typical stepper set up – 400 steps per revolution, 55mm wheels, 0.43mm per step. If every start/stop sequence loses you two steps and you hop from square to square down a 16 cell straight, you might find yourself about 14mm out of position at the end.
DC motors present a couple of challenges all their own. These motors are geared. Backlash in the gear train can cause havoc if you have a shaft encoder on the motor rather than the driving wheel. however, cheap/easy encoders with a few tens of sectors need to be placed at the motor to get sufficient resolution for good navigation. To achieve the same resolution directly from the driving wheels will require relatively high resolution, expensive encoders.
A good alternative, albeit mechanically more difficult, is to use a pair of wheels with encoders attached. Four wheel mice commonly use these. Positioned in the middle of the chassis they are mounted to maintain contact with the floor in spite of minor irregularity in the maze floor. The motor driver routines then close the loop between encoders and motors as part of a position control system.
Remember that your main aim is position control rather than velocity control. Your software will adjust motor speeds to achieve a given mouse position. There is a likely to be a tradeoff between good positional control and high speed – even before you get to the stage of skidding out of control on the corners.