I use an optical mouse sensor to measure forward and backward progress of the CBA robot. The robot uses wheel encoders to move forward a fixed amount, so the mouse sensor should read close to zero. Since it reads relatively close to that, this approach as some promise.
Source Code:
https://github.com/Martin-H1/PBasic/blob/master/CBA%20Robot/MouseOdometry.bse