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 board [ http://www.sparkfun.com/commerce/product_info.php?products_id=8785 ]
- Shield expansion kit with airspeed sensor [ http://store.diydrones.com/ProductDetails.asp?ProductCode=KT-0001-01 ]
- GPS module (EM406 [ http://www.sparkfun.com/commerce/product_info.php?products_id=465 ] recommended)
- XY and Z sensors [currently out of stock; we'll have them available by July]
- FTDI cable [ http://store.diydrones.com/ProductDetails.asp?ProductCode=TTL%2D232R%2D3V3 ] for programming
- [Optional] Two Xbee modules [ http://www.sparkfun.com/commerce/product_info.php?products_id=8742 ] for real-time wireless telemetry, with an adapter [ http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 ] in the air and a different one [ http://www.sparkfun.com/commerce/product_info.php?products_id=8687 ] on the ground/laptop side
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:
- ArduPilot board [ http://www.sparkfun.com/commerce/product_info.php?products_id=8785 ]
- GPS module (EM406 [ http://www.sparkfun.com/commerce/product_info.php?products_id=465 ] recommended)
- FTDI cable [ http://store.diydrones.com/ProductDetails.asp?ProductCode=TTL%2D232R%2D3V3 ] for programming
- For aircraft use, a FMA Co-Pilot [ http://fmadirect.com/detail.htm?item=1489&section=20 ] for wing-leveling and stabilization
- [Optional] Two Xbee modules [ http://www.sparkfun.com/commerce/product_info.php?products_id=8742 ] for real-time wireless telemetry, with an adapter [ http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 ] in the air and a different one [ http://www.sparkfun.com/commerce/product_info.php?products_id=8687 ] on the ground/laptop side
Instructions:
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/