History: MicroRaptor VisionSource of version: 11 (current)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:
[http://www.alexandria.nu/ai/machine_vision/introduction/|Machine Vision Intro] - includes some stereo stuff at the end [http://code.google.com/p/sentience/|Sentience Project] - nice page, with source code [http://www.ces.clemson.edu/~stb/research/stereo_p2p/|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 [http://www.roborealm.com|RoboRealm] that does low-level vision processing in a very novel form - you start a "server" running the [http://www.roborealm.com|RoboRealm] software, and your "client" application (the robot controller) can talk to the server over a socket, using a simple XML command language. {img src=http://www.roborealm.com/links/roborealm_logo_4.gif width=219 height=32 desc="RoboRealm" link=http://www.roborealm.com/} I did a little video test using one of my wireless cameras hooked up to [http://www.roborealm.com|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) {img src=show_image.php?id=130 link=http://www.bioloid.info/tiki/tiki-download_file.php?fileId=74} Here's a similar movie, done with the Canny Edge Filter in [http://www.roborealm.com|RoboRealm] (WMV format, 1.45 MB) {img src=show_image.php?id=131 link=http://www.bioloid.info/tiki/tiki-download_file.php?fileId=75} --- MicroRaptor will use a pair of [http://www.inesun.com/list_1.asp?id=2639|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. {img src=show_image.php?name=MicroRaptor-StereoVisionHead width=444 height=347 link=show_image.php?name=MicroRaptor-StereoVisionHead} 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. |
Login |