I'd like to share with you a video of a project I completed just for fun. It's a demonstration of an autonomously obstacle avoiding robot, constructed with the Lego NXT 2.0 platform. It utilizes 3 motors (2 for the wheels, 1 for the sensor), 1 ultrasonic sensor, and 1 XBee Series 1 attached via a NXTBee. The XBee is for sending sensor data to, and receiving commands from, a remote PC. The PC is executing a program that is interpreting the data from the robot, and sending it instructions about how to move, via its own XBee. This distributed architecture allows for more intense processing to be performed on a more powerful computer, while the robot has only minimal processing requirements--just enough to send data to the PC and to execute commands it receives. The NXT brick's original firmware was replaced with leJOS.

Let me know if you have any questions, and I'd like to hear any comments. Thanks!