MicroRaptor Vision

Stereo Vision
Most stereo vision systems use two fixed (relative to one another) cameras, and use software to try and build a 3D representation of what the cameras are looking at. There are a number of interesting projects out there that talk about that:

Machine Vision Intro - includes some stereo stuff at the end

Sentience Project - nice page, with source code

Stan Birchfield - also includes source



I plan to do things a little differently, however. I think the way people do stereo vision is much more interesting - our eyes basically turn inwards to maintain an object in the center of our field of view as the object moves closer to our eyes.

One thing that Smalltalk/Squeak is not particularily good at is high-volume single pixel work, unless that work is implemented in a primitive or plugin. It turns out there's a really cool free library out there called RoboRealm that does low-level vision processing in a very novel form - you start a "server" running the RoboRealm software, and your "client" application (the robot controller) can talk to the server over a socket, using a simple XML command language.

RoboRealm


I did a little video test using one of my wireless cameras hooked up to RoboRealm through a USB frame grabber, running through a Sobel edge filter. Click on the image to download the movie (WMV format, 1.5 MB)



Here's a similar movie, done with the Canny Edge Filter in RoboRealm (WMV format, 1.45 MB)





MicroRaptor will use a pair of wireless cameras for vision. They are high resolution CCD cameras, with switchable transmit channels. They will be mounted on a custom machined head, with a tiny servo acting as the mechanism to turn the eyes inwards.



The cameras are mounted on a pan and tilt head already, so I'm not going to bother going to the next step, which is two servos, one for each eye. With that kind of setup, the robot can move its eyes without having to move its head. I think that is important in an advanced robot, but I can't afford the space or weight here.

The basic concept behind this kind of stereo vision is that the robot's brain attempts to find common elements in both pictures for whatever object it is studying, and then tries to line up those elements by turning the cameras inwards. The amount the cameras have to turn inward is a good indicator of how far away the object of interest is. I don't care about finding out how far away anything else is in view, because we (people) really only look at one thing at a time.


Created by: admin last modification: Wednesday 16 of January, 2008 [18:02:35 UTC] by admin

The original document is available at http://www.bioloid.info/tiki-index.php?page=MicroRaptor%20Vision