Thursday, June 20, 2013

Odometry Sensor

Home made optical encoder odometry sensor.
I want to improve the dead reckoning ability of my robot and I intended to build my own odometry sensor for this. A rotary encoder seemed simplest and i bought a IR-cheap sensor for the purpose.

The sensor has been tuned so it senses the relative color of the backside of the wheel and I drew a black and white circle encoder for the backsides of the wheel.

Unfortunately I get very bad results. The sensor is not really intended for this. I have adjusted it so its very sensitive to the black and white color changes but I guess the motors interfere with the measurements.

I think I'm going to buy a better sensor and perhaps new motors.

I also found this resource giving a good overview of odometry sensors.


  1. Hello Daniel, Nice project you have :-)

    In our open source project (www.ardumower), we are trying to map and localize too, but just with odometry, a perimeter boundary, a compass (including gyro+accel) and GPS. Do you think it's possible? At least the Bosch people behind their Indego managed to do so...
    Here's a simulator of the current implementation:
    The driven distance is computed by odometry sensor, the direction by compass. The short-time error is corrected when the robot hits the perimeter boundary. The long-time error is corrected by GPS (if the computed position is off by more than 4 meters).
    Any ideas how this could be improved? Would it work better using Kalman filters maybe?
    All hints are appreciated :-)

    1. Nice work!
      My own limited experience is that my odometry readings produces large errors, making it hard to get good results. I think you should look at and the course "Artificial Intelligence for Robotics", I learned a lot on localization there
      Kind regards