Shop OBEX P1 Docs P2 Docs Learn Events
Optical Mouse for Robot Odometry — Parallax Forums

Optical Mouse for Robot Odometry

ercoerco Posts: 20,256
edited 2010-01-27 15:25 in Robotics
I thought this was pretty tricky, using an optical mouse under a robot to sense motion and direction of motion.
http://imakeprojects.com/Projects/seeing-eye-mouse Looks like this guy used it just for gross motion detection on a Sumo robot, but I wonder if it might be possible to use it for dead reckoning and odometry to help a small robot get from A to B. And possibly C. Then back to A...

It all hinges on the surface readability, sampling speed, and robot speed. It would only work on a smooth uniform surface that would give consistent optical results (like a Sumo ring, mazes,·tabletop, etc). But it eliminates wheel slip, which throws off wheel encoders. Food for thought.

attachment.php?attachmentid=73931

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
633 x 544 - 103K

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-01-09 21:31
    The cited article said...
    It would be really neat if a lens could be added to an optical mouse in order to allow it to work without needing to be so near to a surface.
    This is really the crux of the matter. For many robots, ground clearance is important, and a sensor that drags on the surface will be a problem.

    I've done some experimenting with optical mouse chips. They have a very small aperture, designed for a very short focal length lens. This could make them difficult to implement in a design requiring more distance from the surface being monitored. As I see it, these are the two options: 1) Widen the aperture to accommodate a different lens, or 2) use corrective optics to increase the effective focal length. Number one is a problem because it apparently exposes the raw silicon to the elements. I haven't explored the possibilities yet of number two, but it seems to be the most promising.

    In any event, I doubt that a mouse chip would be effective at odometry, since it is unable to detect rotations (i.e. turns). Two of them in tandem might offset this deficiency, however. Another factor is that the apparent distance traveled will depend on the sensor's distance to the sensed surface, which could vary over rough terrain. A telecentric lens can correct this, but it adds yet another level of complexity.

    -Phil
  • ZootZoot Posts: 2,227
    edited 2010-01-09 21:55
    Something very similar has been done a bunch of times as straightforward wheel encoders, but I can't find the link. What the folks did, that was really ingenious, is take some cheap mousepads, cut them into circles, and glued them onto the inside of their robot wheels. The optical mice were then mounted (hot glued actually) to some brackets. The mousepad gave a nice surface (and one that is replaceable) for really consistent readings from the mouse. The experimenters noted that even when the mousepad "discs" got really dirty, hair-bally, etc. they still worked perfectly.

    In the case of this one project, they wrote some drivers for their micro to just read the mice right out of their USB cables (their mobo was Linux, I think, which is one reason I wanted to track the project down). In any case, the result was they had to do very very little physical modification of the mice. So one mouse per wheel and yer good to go. This was an approach I've really wanted to play with, but I've been waiting for the right project.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When the going gets weird, the weird turn pro. -- HST

    1uffakind.com/robots/povBitMapBuilder.php
    1uffakind.com/robots/resistorLadder.php


    Post Edited (Zoot) : 1/9/2010 10:01:06 PM GMT
  • ZootZoot Posts: 2,227
    edited 2010-01-09 21:57
    Here you go, this isn't the same project, but the same exact setup, basically (using nicer mounting brackets):

    www.linuxjournal.com/article/9103

    Here's an excerpt:

    9103f4.inline.png

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When the going gets weird, the weird turn pro. -- HST

    1uffakind.com/robots/povBitMapBuilder.php
    1uffakind.com/robots/resistorLadder.php
  • I built one based on this ...home.roadrunner.com/~maccody/robotics/croms-1/croms-1.html

    I had the lens about 3" above the ground, but I found it very difficult to track accruately. It was OK on level ground but any slight variation of the picture went out of focus.
  • CannibalRoboticsCannibalRobotics Posts: 535
    edited 2010-01-13 18:19
    You know, the old ball-bearing mice residing in the 10 cent bins have 2 optical shaft encoders in them.
    What if you hung the optical mouse on a spring or put it on its own little set of wheels.
    Sort of drag it on the ground like the vacuum on a street sweeper.
    VERY cool idea.
    Jim-

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Signature space for rent!
    Send $1 to CannibalRobotics.com.
  • mwalimumwalimu Posts: 44
    edited 2010-01-26 20:51
    The adns-2620 chip can be bought from Mouser for $1.37. Even if you don't use it for odometer purposes, it's a very useful sensor that can be easily interfaced to a Stamp or Propeller. It can be a motion detector or light level sensor as well as a simple camera. Pretty cool if you ask me.
  • AlsowolfmanAlsowolfman Posts: 65
    edited 2010-01-27 15:25
    one of the larger adns chips may simpler to use for this purpose, the 16 pin adns 2030 has an x and y quadrature output, which would be easier for some than getting the information from serial. and if you got 2 you could just replace an existing set of quadrature encoders. i don't know where to buy them, but the 16 pin form factor i think is more common than the 8 pin in actual mice.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My head is pasming!
Sign In or Register to comment.