This is my first robot. It can navigate in an indoor environment and avoid obstacles. It uses three home-built ultrasonic rangefinder sensors.
The ultrasonic sensors are based of the audio feedback phenomenon. Each of the sensors have just one digital output signal which is high when an obstacle is detected, otherwise low.
This robot is based on two PIC16F684 microcontrollers. One of the microcontrollers is handling the basic obstacle avoidance and the other one is just destructing the first one by adding some “fake” obstacles. This is just to make the behavior of the robot a little more interesting and unpredictable. Both microcontrollers are programmed in assembler.
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 wheel are hard rubber furniture wheels. This was one of my very first projects I did with PIC microcontrollers, and it was a fun way to learn programming.