NINE EYES
The Autonomous Light Seeking, Object Avoiding, Robot
Andy Lin and Alexis Mackenzie

| Introduction |
Our goal was to create an autonomous vehicle that could track a light source and avoid any objects in its path. Nine Eyes is named for its 9 eyes (9 sensor lenses) located on the front of the vehicle.
| |
|
High Level Design |
Our car was built using the Boe-Bot chassis and the MPC555. Our project was comprised of two types of sensors (IR sensors and photo resistors), the microprocessor, and servos to drive the wheels. The sensors were used to detect the direction of the source of light from the front, left or right of the car. The distance sensors were used to prevent the vehicle from running into any obstacles while following the light source. |
|
|
|
||
|
Hardware Design |
For the MPC555 almost everything is done in software; therefore, our hardware design was fairly minimal. We put each photo resistor in series with a reference resistor. We then looked at the voltage output across the reference resistor and fed that into the input for the ADC. For the IR sensors we fed the output signal directly into the ADC on the processor. We used the PIT (Periodic Interrupt Timer) to throw an interrupt every half a second. We then read the ADC values to determine the source of light and the clarity of the path. The vehicle was then steered by using the MIOS1 module pulse width regulator to slow down or speed up the servos. To power the board and the servos we used two 9.6 volt battery packs with 5 volt voltage regulators. We used one pack for the servos and the other pack to power the board and the sensors. |
|
|
Software Design
|
The majority of our software design was in our single interrupt handler. Once the values from the ADC were read, we modulated the pulse width to direct the car in the direction of the photo resistor that had the greatest ADC output value. If the IR sensor in that direction indicated that there was an obstacle, the car would turn to avoid the object. If the obstacle was located in the front or the right of the car, the car turned left. If the obstacle was on the left the car turned right. The MPC555 uses CodeWarrior to interface to the board. This enabled us to write all of our code in C. All the assemble code we needed for this project was already provided by Motorola.
| |
| Results of the Design | The MPC555 turned out to be very useful because a lot of things that we would normally have had to implement in hardware were already present on the board. Over all, everything worked the way we had planed. Our light following algorithm ended up being less complex than we had hoped and the vehicle did not always avoid obstacles as well as we had hoped. This was because the IR sensors didn’t have a very good connection and their readings were not always reliable. If we had to do the project again we’d probably either use different distance sensors or find a way to make the connection with the sensors more secure. Now that we know how the MPC555 works we’d also be able to add more features to our car. | |
| Acknowledgements | We'd like to thank Professor Brehob and Math Smith for their support as they aided us in debugging our problems and offered countless suggestions. We'd also like to thank Matt Fornero who, in addition to helping us with the previously mentioned issues, let us bug him to death while we learned the intricacies of the MPC555. | |
| References |
MPC555
Jameco (Photoresistor)
|
|
|
|
See NINE-EYES in action!
| |
| ||
|