ArduPilot main page

Chris Anderson
DIY Drones

January 21, 2009

ArduPilot is a full-featured autopilot based on the Arduino open-source hardware platform. It uses infrared (thermopile) sensors for stabilization and GPS for navigation. It is the autopilot used to win the 2009 Sparkfun Autonomous Vehicle Competition [ http://bit.ly/DL8f0 ].

The hardware is available from Sparkfun for $24.95 [ http://www.sparkfun.com/commerce/product_info.php?products_id=8785 ]. An expansion board ("Shield") kits that includes an airspeed sensor, a 3.3v power regulator for 3.3v GPS modules and other sensors and cables and connectors for easy attachment of the XY and Z sensors, is available from our own store for $47.50 [ http://store.diydrones.com/ProductDetails.asp?ProductCode=KT%2D0001%2D01 ].

ArduPilot features include:

The software comes in two varieties: 1.x (navigation-only, requires a third-party stabilization system for aircraft) and 2.x (navigation and stabilization integrated into one).

Both require the free Arduino IDE [ http://arduino.cc/en/Main/Software ] to edit and upload the code to the Ardupilot board.

ArduPilot 2.x, the navigation+ stabilization version, is currently optimized for the Mutiplex EasyStar [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXFRU7&P=ML  ] three-channel powered glider and FMA sensors, but can be modified for other aircraft and sensors. It uses the rudder/ailerons and elevator to maintain level flight and navigate to GPS waypoints. It supports a desktop setup utility and ground station software. It also includes a "fly-by-wire" mode that simply stabilizes RC flight. The main code is ArduPilot2.x.zip in the download section of our Google Code repository [ http://code.google.com/p/ardupilot/ ], where x is the latest version.

What you need to make a fully-functional autopilot with the 2.x code:

ArduPilot 1.x is the navigation-only version of autopilot. It is a GPS-guided autopilot that controls the rudder to navigate to GPS waypoints, and the throttle to maintain altitude. It works with a stand-alone stabilization system to provide a full autopilot solution. The main code is the "Ardupilot1.x.zip" code (where x is the latest version) in the download section of the repository [ http://code.google.com/p/ardupilot/ ]. This code supports all GPS modules in NMEA mode.

What you need to make a navigation-only autopilot with the 1.x code:

Instructions:

Open source essentials:

Recommended UAV setup:

Airframe option one: Hobbico SuperStar [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXGVZ3&P=7 ] (49" wingspan, $95, shown above). This is an inexpensive, good flying high-wing trainer with ailerons. It can be hand launched in a park or take off from a runway, and replacement parts are readily available in case of a crash. If you want much better performance with this aircraft, you can upgrade it to a brushless motor [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXLWZ8&P=7 ], speed controller [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXKSY5&P=0 ] and a LiPo battery [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXWNZ0&P=0 ]. [If you don't already have one, you'll also need a balancing charger [ http://www.hobbycity.com/hobbycity/store/uh_viewitem.asp?idproduct=7028 ] and power supply [ http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=6477 ].] Note: any stable aircraft with both ailerons (for stabilization) and rudder (for navigation) can work, so feel free to experiment with what you've got.

Airframe option two (recommended for ArduPilot 2.x): EasyStar [ http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXFRU7&P=ML ] (shown above). Performance can be improved with the modifications described in this post [ http://diydrones.com/profiles/blogs/705844:BlogPost:3387 ].

You'll also need:

Cool optional extras for your UAV:

5:00pm

Copyright 2009 http://diydrones.com/