Technology

mousemod_20071215.jpg

The standard optical mouse contains all of the hardware necessary for tracking X/Y movement on a flat surface. With a bit of modification, you can tweak the illumination and focal length of the device to create a compact motion tracking module for your robotics projects.

Mac A. Cody has done a really nice job of documenting a couple different configurations using the common Agilent/Avago ADNS-2610 Optical Mouse Sensor that powers a lot of cheap optical mice. The motion sensor pictured above has been hacked to sit further above the surface than a stock mouse, and he’s included some fairly simple example code for reading the X/Y movements from the sensor.

The cool thing about using something like this, aside from the cheap cost, is that the motion detected by this system isn’t dependent on your gearing, traction, or relative speed between wheels or tracks. If you are moving, the camera detects it. If you aren’t, it can tell that as well. This is pretty difficult with standard wheel encoders, where you can tell that a wheel is spinning, but not that the robot is moving.

References:
Cody’s Robot Optical Motion Sensor #1 – Link
BTC Optical Mouse Hack – Link
Interface to Optical Mouse Sensor (PDF) – Link

5 thoughts on “Using an optical mouse for robotic position sensing

  1. Thanks for the tip, Max. That’s no-doubt a better software stack for the radio modem.

    Do you have any recommendations on a cheaper or more simple solution for the hardware side of things?

  2. hardware wise I’d use an isolating interface between the radio and the computer. Unless you’re a HAM you could use some walkie talkies, and this http://www.sparetimegizmos.com/Hardware/SoundBuddy.htm

    Why not become a radio HAM, and get to play with this stuff with some real radios. google for ‘d-star’ it’s a system allowing digital voice and data over HAM radio. On the 1.2Ghz band you can have a mobile 128k connection. Although sadly it uses a proprietry codec.

    -Cheers Max

  3. Hello. The picture is not showing and some links are not valid anymore. Can you provide some documentation for this example? I am working on a project and I want to implement an optical/laser mouse sensor to detect the movement of a model hovercraft, hence the need to track without touching any surfaces. Thank you!

    1. hey Alexandru … I am also working on the similar project of the optical mouse sensor.
      Did you find your piece for the sensor?
      Please revert me back as I required some.

Comments are closed.

Tagged