30-03-2012, 01:54 PM
Autonomous visually steered car
Autonomous visually steered car.pdf (Size: 5.24 MB / Downloads: 66)
Introduction
For our final project, we re-engineered a remote control car to autonomously navigate through a track by
detecting lanes and centering itself between them as well as detect objects in front of it and avoid collision. The
RC car detects lanes through image input from a low-resolution camera mounted at its front. Using an IR
distance sensor, the car determines when to stop accelerating once a certain distance between a forward object
has been breached. All computations based on sensor data are handled by an Atmel Mega644 MCU. Due to the
nature of the input peripherals, especially the camera, this system is extremely time sensitive so that
computations had to be optimized as much as possible in order for the car to be able to react and respond with
proper movements in real time. In addition, given the limited computational capacity of this 8-bit MCU, our
design made use of several computational efficiency strategies.
High-Level Design Rationale of Project Idea
The basic idea of our project stemmed from a rather playful interest in using an MCU to program a robot to
perform some common everyday function autonomously. Given our lack of mechanical engineering expertise,
an RC car was chosen as the hardware to be programmed since it provides all the components and
infrastructure necessary for a simple mechanical system, all at a low cost with an easy-to-use interface. We
decided to design the car so that it would automatically navigate a track made of parallel lines which were
meant to mimic the roads that actual full-sized cars encounter. Given that there has been some societal interest
in the development of automatic driving car technology, we figured that designing a low complexity system
with this functionality would be an exciting and practical project to pursue.
Hardware Design
Due to the low cost and relatively low complexity of our design, this project can easily be rebuilt by those
interested in tinkering around with an RC car. The following sections describe the hardware that is used in
detail and explains how they are set up.
Hardware Details
Remote Control Car:
The RC car used in our project was the cheapest RC car we could find at our local Radioshack. It is a 4-wheel
car with rear-wheel drive and front-wheel steering. Since a datasheet for the hardware was not provided with it,
we had to manually test the cars connections and figure out how to properly operate its motor functions
ourselves. Given the nature of our project, the RF functionality of the car was scrapped and the receiver board
on the car was removed. Only six wires had to be tested to determine their function - two wires for the car
battery, two wires for the rear-wheel DC motor, and two wires for the front-wheel servo motor.
Conclusion
Considering our level of expertise and the relatively low capabilities of the camera, RC car, and MCU, we
were fairly pleased with how our automated car drove. Being able to imitate a road, then seeing our car
navigated within it, was thrilling. Unfortunately, timing issues and the actual RC car limited the response
ability of our automated car.