SparkFun Autonomous Vehicle Competition

I’ve run off and entered the SparkFun Autonomous Vehicle competition in April.  The rules are pretty simple:

Create a vehicle that can autonomously navigate around the SparkFun building

Autonomous vehicles (robots!) fascinate me.  But, there’s a problem:  I don’t have a robot.  I have assorted parts and plenty of ideas but no robot.  My personal goals include:

  • Get the motivation to finally build a robot
  • Learn
  • Meet like-minded people
  • Maybe finish the course

Let’s decompose the rules into smaller, more frightening problems:

  • Mechanical:  Does the vehicle travel over land or through the air?  How?  For a ground vehicle, does the vehicle have wheels, tracks, legs, or something else?  How does the vehicle steer?  What’s the design and construction of the vehicle?
  • Sensors:  How does the vehicle detect and avoid obstacles, like cars, people, bushes, and lakes?  Cameras, IR range finders, sonars, and contact bumpers are leading contenders for sensors.  How does the vehicle find its way around the building?  Does the vehicle use a GPS, odometry, cameras, or something else?
  • Control:  Which micro-controller(s) do I use?  How do I design the control software?  What algorithms and architectures are appropriate?
  • Electrical:  How do I connect and power all of this?

I’ve decided on a three-wheeled ground vehicle with differential steering.  Several competitors last year retrofitted R/C cars or trucks, which is an easy way to get most of the mechanical design and construction done.  In the spirit of Do It Yourself and Not Invented Here, I’m building my own platform.  I’ve chosen differential steering because there are plenty of examples, websites, and books about this design.  Additionally, differential steering permits a very small turning radius.  Building Robot Drive Trains and Constructing Robot Bases are great references on mechanical design and construction of small robots.

I’m using the MiniRoboMind micro-controller because I already have one, and it’s a very capable controller (32-bit 68332 at 25 MHz with 512 KB RAM and 512 KB Flash) compared to more popular controllers for small robots.

Like most if not all of last year’s competitors, I’m using a GPS to navigate around the building.  The alternatives that I see, like cameras or an IMU, seem more complicated.  I may need to supplement the GPS with a magnetic compass and wheel odometry.

I’ll use an IR range finder as the primary method of detecting obstacles.  Sonar seems like a better choice with longer range, but a competitor last year had trouble with ground reflections disrupting sonar readings.  If time permits, I’ll explore sonars and contact bumpers.

Details on last year’s competitors are scarce.  Despite the requirement to document the build, I’ve only found technical details on Deathpod 3000, the winning ground vehicle.  RoboMagellan is a similar outdoor autonomous competition devised by the Seattle Robotics Society, and several RoboMagellan competitors have published very useful technical details.

I’m off to fret about motor and wheel selection.