Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: getSurreal on July 10, 2014, 09:15:20 AM

Title: Odometry "like" an Optical Mouse
Post by: getSurreal on July 10, 2014, 09:15:20 AM
For starters, I'm not talking about hacking a computer mouse.

Does anyone know of a project that takes the concept of how an optical mouse tracks and scales it up to work for an outdoor robot?  I was thinking of some sort of cmos camera that can be several inches above the ground and be able to work without a fixed focus since the terrain could have blades of grass or other objects at various heights.
Title: Re: Odometry "like" an Optical Mouse
Post by: Billy on July 10, 2014, 08:24:04 PM
That might be something that roborealm could accomplish.
Of course to work like a mouse your robot would need to always face the same direction like a mouse does if you want to use it track location.
It may work as a distance/speed indicator and coupled with a compass give you a reasonable idea of where the robot is.

I have used roborealm in a different manner for tracking location of a lawnbot. The bot is painted a bright orange and camera is mounted on roof line of the house looking into the yard.
I use roborealm to find the robot (based on color) and then I know where the robot is in the yard. Roborealm comes with easy-to-use APIs that I've embedded in a visual basic application does the high level thinking for the bot.
Title: Re: Odometry "like" an Optical Mouse
Post by: bdeuell on July 11, 2014, 05:58:15 PM
I had to look up how an optical mouse works ... (http://computer.howstuffworks.com/question631.htm (http://computer.howstuffworks.com/question631.htm)) but it seems to me like you could build a scaled up version with a light and camera. The challenge seems to be in the software to process the images ... and i'm not much help there. However if my understanding is correct I don't see why it couldn't track orientation as well. My thought is the software would compare two images and find the transformation that provides the best fit. The best fit would look for a transformation that would include translation in x and y as well as rotation about the z-axis. Of course adding another degree of freedom (rotation about the Z-axis) to the transformation increases the processing required.

I am looking at a sensor for a project at work that detects translational motion using Laser Doppler Velocimetry. There is a version that can detect both x and y translation but not rotation. I would think you could use two sensors a fixed distance apart and calculate the rotation from the difference in the two sensor movements. However these sensors run about 10k for a single axis detection capability so they are probably outside of your price range.

... just some thoughts on the problem, probably not very helpful.

If you do find any sensors capable of measuring the translational movement of an irregular surface without contact (even if it is only in one axis) I would be interested.
Title: Re: Odometry "like" an Optical Mouse
Post by: getSurreal on July 18, 2014, 03:01:53 PM
The guys at DPRG (Dallas Personal Robotics Group) helped me out.  The term for what I was looking for is called "Optical Flow" and there is a pretty popular device for it called PX4FLOW.  It's targeted at plane and drone audience and used with autopiloting, but looks like it can be setup to be used on ground vehicles.  I've ordered one to try it out.