Eric St. John, Christopher McLean, Maher Iskandar
Bob The Car: Autonomous Car Project
What is it:
This was our autonomous car project. The car would follow the left wall approximately 30 cm from the wall, back up if it got stuck, dodge obstacles in its path, and turn left when possible. The car worked by reading the input of four sensors that gauged distances in its surroundings and processed these inputs though an algorithm being run on a PPC555 processor to determine its next course of action. The algorithm controlled outputs by adjusting the output of 3 different pulse widths. With the pulses, it could turn right, left, speed up, slow down or reverse.
Inputs:
The car had a total of four input sensors: 3 infrared and one sonic sensor. Each of the infrared sensors could effectively determine distance in a range from approximately fourteen to eighty cm and the sonic sensor from about eight cm to 2 meters.
Two of the infrared sensors were located on the left side of the vehicle facing the wall directly. These sensors returned the values that were used to calculate our average distance from the wall and in determining if we should turn left. The third infrared sensor was mounted on an angle above the left front tire. This sensor's primary function was used to determine the distance from the wall when completing a left turn. The final sensor is located on the front center of the car and is the sonic sensor used to determine the distance from any impeding obstacles.
Outputs:
The car had two simple outputs: a servo motor used for steering and dc motor for the engine. The servo for the steering took a pulse with a period of 10 ms and a duty cycle of between 0.6ms (sharp left) to 1.7ms(sharp right). The servo was adjusted by changing the value of the MIOS1.MPWMSM0PULR.R register from the PPC555 chip. The dc motor controlled the speed of the car using the same sub module as the servo, by setting the duty cycle of the pulse stop(0%) fast (100%)