Laser Obstacle Detector
Many robots use ultrasonic and/or optical disance sensors such as the Sharp IR sensors. However, these suffer in that they are essentially one dimensional in their returned data. They're pointed in a particular direction relative to the robot and detect the distance to obstacles along that axis. All you know is that there's an obstacle along a particular line at a certain distance. You know nothing about the extent of the object. To get broader coverage multiple sensors can be used. However, there can be problems with crosstalk between the sensors, particularly with the untrasonic ones. Multiple sensors add the the cost and complexity of the system and make the interfacing to the control system more difficult.
High end robots often have laser scanners providing a 3D point cloud of information about objects deteced within their vicinity. Commercial scanners from companies like Sick and Velodyne are too pricey for the hobbyist and tinkerer. The solution is to build your own. The time of flight method used in the commercial scanners requires fast accurate timing that requires considerable engineering expertise to build. Low end systems use triangulation and while they don't provide the level of data the high end scanners do, they can be adequate for certain situations especially when replacing simple point range detectors like ultrasonic and IR.
This project is based on a 2D laser scanner based on an excellent article, "A Real-time Laser Range Finding Vision System", by Kenneth Maxon.