Here’s an older project that I found pretty inspiring. Way back in 2001, Kenneth Maxon of the Seattle Robotics Society built his own Real-time Laser Range Finding Vision System using naught but a laser pointer, NTSC video camera, a bit of custom electronics, and a Complex Programmable Logic Device (CPLD). Vision systems usually seem to be really complicated to understand, but the crux of this one is relatively simple.
First, a laser line, parallel to the ground, is projected onto the objects to be detected. The camera is mounted above the laser, pointing downwards at the objects on an angle. Next, the logic device continuously scans each line of video data, recording the point in the line where the highest intensity of red was detected. This point corresponds to the distance of the nearest object in that direction, but needs to be corrected using a look-up table. Once each row of data is scanned, the vision system has a list of the distance to the first object along the entire field of view from the camera. This data can then be used to determine which direction to move a robot, or to map out the current environment. Cool!
Think it could be done on an 8-bit microcontroller? [thanks, Marty!]