I will be competing in the Sparkfun AVC competition this year using Ardupilot hardware in a ground vehicle. My car is called Minuteman, and works on simple dead reckoning. It uses Ardupilot hardware, with an optical encoder and a gyro as the only sensors. No GPS, no compass, no proximity sensors. Testing has been really simplified by using the ardupilot, because with my 3 channel radio, I can easily switch between auto and manual mode with the push of a button. I can first map-out a course by driving it manually and using my 3rd channel to set waypoints. Then I can put the car in auto mode, and have it re-trace the course. It's pretty simple in theory, but took a lot of fine-tuning to get working.


Making this project work with ardupilot required a complete re-purposing of almost everything on the ardupilot. A few modifications were made to the board to facilitate testing, and a fully custom firmware was written. It's hard to say how things will go this weekend at the competition, as I will not have a chance to pre-run the course (until the day of the competition). In near-by parking lots, it performs well. I'm optimistic! 


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Hmm, I have to be pretty accurate with my starting position, but mostly with my starting angle. I don't think GPS would give me the accuracy I need. A good mark on the ground seems to work well. Also my vehicle's navigation system doesn't understand latitude and longitude or any geo-referenced coordinate system. It just knows where it is in relation to where it started. 


    What is it that you are working on, BTW? 

  • May I suggest for next years version a GPS start position would be good. That way you could do your pre-run toggle that it is in GO state and it could find the start automatically.
    I am currently trying out something that may help ground and air vehicles alike in sensing but as it's just me it's taking a while.
  • It looks at a small disk (from an old computer mouse) that is attached to the input shaft of the transmission. It outputs a 0.4V to 4.5V signal, so that it can be read directly by an external interrupt on the ardupilot. That way it just runs in the background.
  • Developer

    When you say 'optical encoder' what are you referring to?  is that something look at the wheels or looking at the ground?


    Best of luck this weekend!!

  • Excellent Nathan, I'll see you there! I'm not competing...just going to meet some of you guys and support my GCS if anyone wants to use it.
  • Yes, there will be time to pre-run the course. I just have to ensure the same initial conditions on each run (position and orientation).
  • Excellent concept and should easily complete the course using the "dummy" run information. Will you be allowed to do a dummy run before your timed entry though?
This reply was deleted.