Sparkfun AVC‎ > ‎

My Autonomous Vehicle

Let me introduce you to my autonomous car that I put together for the Sparkfun AVC. First I wanted to see if I could control a robot car with a micro-controller so I went down to the local Goodwill and bought an old RC toy and put an Arduino and a breadboard on it. I bought a cheap RC Transmitter and receiver and I read the receiver input with the Arduino and controlled the two drive motors (differential steering or tank steering) using Pulse-width modulation (PWM) and a motor controller board that I found on Amazon.
My thought was to build a vehicle from scratch but quickly decided that I did not have the time to do that and learn the electronics that I was going to need. So I went to Hobby Action and they pointed me to the Traxxas Slash. I liked it because it is tough and has a large chassis for holding electronics.
So I went on Craig's List and found one used. I bought an ArduIMU and a multiplexor board from DIYDrones and started programming. The multiplexor allowed me to switch from autonomous to manual control by flipping a switch on my transmitter. The ArduIMU has a magnetometer (compass), an accelerometer, and a gyro. This really only allowed me to drive on a specific heading, but that is an important step in the process.
I added a GPS module and a fancy mounting platform and now I could make it follow a preprogrammed course. 
I wanted to add an LCD screen so I cleaned up the electronics, mounted everything on a piece of Lexan, and added an Arduino mini which communicated with the ArduIMU over the serial line. That was a pain because each board only has one serial line and it is also needed when programming the board or monitoring activity over the USB serial interface.
So I decided to go with a Seeeduino Mega and a prototype shield. I also replaced the breadboard with an Adafruit Perma-Proto board. As you can see things are really cleaning up. Of course I could have spent more time on the software...Nah presentation is everything right?
I added a second layer of Lexan on standoffs and put the LCD and the GPS with a 4 inch bronze ground plain on it. I also switched to the Adafruit Ultimate GPS.
Here it is on race day in 2012. That board in the front window was an attempt to use a WII remote camera for IR detection. never got it to work outdoors. You can see Johnny 5 in the background.

In 2013 I didn't decide to go to the race until just before. So I didn't really make any hardware changes just software. The one major change was the shell. I asked my children if they would like to paint that ugly thing for me and they thought that would be a great idea.
As you can see, it is now called Lala-Loopsy Roller-Coaster...Awesome!

For 2014 I have a couple of changes.
My friend got a Laser Cutter (so jealous) so he cut a new base plate for my Electronics. He also designed that really nice LCD shield and sent me one. Then I designed the two other purple boards. The one on the left is plugged into the end of the Seeeduino Mega and provide JST connectors for the three extra UARTs and it also holds the counter chip for my differential odometry. The board on the right is a new multiplexor board based on on of Wayne's designs that plugs directly into the RC Receiver. See my page on my differential odometry for most of the other Hardware changes.
Comments