This is my first robot, built in 2009. It can navigate in an indoor environment and avoid obstacles useing three home-built ultrasonic rangefinder sensors.
The ultrasonic sensors are based on the audio feedback phenomenon. Each of the sensors has just one binary digital signal which is high when an obstacle is detected, otherwise low.
This robot is controlled by two PIC16F684 microcontrollers. One of the microcontrollers is handling the basic obstacle avoidance and the other one is just “distracting” the first one by adding some “fake” obstacles. This is to make the behavior of the robot a little more interesting and unpredictable. Both microcontrollers are programmed in Assembly language.
The robot is powered by a rechargeable, 5 cell, NiMh battery pack. It uses two large R/C servos modified for continues rotation as motors. Both the drive wheels and the third free-rotating caster wheel are hard rubber furniture wheels. This was one of the very first projects I did with PIC microcontrollers, building a robot was a fun way to learn about programming microcontrollers.