- My Account
- Best of the 'Box
- What's New
- Open Lidar
RobotBox is a community for robot builders to show off their projects. Add yours today.
The Sparkfun Autonomous Vehicle Contest (Sparkfun AVC) pits robots against each other in a timed race, circumnavigating the outside of the Sparkfun building in Boulder. The event features two classes: airplanes and ground vehicles.
I'd been itching to compete since we saw the contest in April of 2010 and I took the plunge and entered in 2011. By April I'd failed to pull together the sensor fusion software and the robot excelled only at crashing.
Finally in 2012, days before the event, everything came together and the robot was doing speed runs around the building time and again with incredible consistency.
The competition was another matter: the first and second heats the robot veered off and crashed due to jostling the starting ramp imparted on the gyro.
Finally dialing in a solution offered by a friend, Data Bus was back to its Thursday performance, ripping around the building in 37 seconds, earning a 3rd place victory.
The chassis is a budget-friendly, ECX Circuit equipped with a Tacon 3000Kv brushless motor and 4000mAH Gens Ace Lipo battery. Top speed is around 30mph. Suspension is tuned for the parking lot event with heavier shock oil, lower ride height, and stiffer springs. Custom Traxxas Anaconda street tires on 2.8" black chrome All Star wheels provide sufficent grip.
The robot's brain is an NXP mbed, a 32-bit, 96MHz ARM Cortex M3 on a DIP-40 board with 64K SRAM, many features and a lot of power.
Heading is provided by an L3G4200D gyro on a Pololu MinIMU-9. A Venus638FLPX GPS provides additional heading data while dual wheel encoders with QRE1113 sensors and a custom SMT adapter board provide distance and speed measurements.
The heading data is fused with a simple 1st order, two state Kalman Filter. The software compensates for GPS data lag, fusing historical gyro data then updating current heading and position information.The navigation system converts Google Earth waypoints to cartesian coordinates and manages waypoint heading error and waypoint switching.
The control system uses a PI controller for throttle and a simplified path following algorithm to correct heading errors. The sensor update, estimation, and control run on a 100Hz schedule, with estimation and sensor readings occuring every 10ms and control, GPS readings, and other activities occurring less often.
The software is open source:
The robot features several custom circuit boards I created from design to final assembly including both through hole and SMD components. All circuit designs, board layouts, software, and engineering documentation are available in accordance with the Open Source Hardware definition.
Data is logged to a FAT-formatted microSD card. A configuration file is read at startup from the mbed's built in filesystem. Data is plotted with GPSVisualizer.com and a Perl script the processes data and launches gnuplot automatically, generating an HTML webpage with the featured plots.