 |
 |
 |
 |
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. Requires a GPS module and an infrared XY sensor (not included). The autopilot handles both stabilization and navigation, eliminating the need for a separate stabilization system. It also supports a "fly-by-wire" mode that can stabilize an aircraft when flying manually under RC control, making it easier and safer to fly.
The hardware and software are all open source. The board comes with all the surface-mount parts already soldered, but requires the user to solder on connectors. Firmware is already loaded, but the autopilot software must be downloaded and loaded onto the board by the user.
ArduPilot is the autopilot used to win the 2009 Sparkfun Autonomous Vehicle Competition!
- Instructions:
- The complete ArduPilot manual is online here. Includes: Setting up your new ArduPilot board, Adding the FMA sensors, Correct ArduPilot LED behavior, Adding the expansion board with airspeed sensor, Adding wireless telemetry, Preparing ArduPilot for autonomous flight, Instructions for in-field calibration and setup of ArduPilot 2.x, and more.
- Open source essentials:
- Latest autopilot code (for the board's main processor, an ATmega328) is here.
- Latest multiplexer code (for the board's second processor, an ATtiny, which runs the failsafe system) is here. Instructions for loading this code are here.
- If you want to build your own board from scratch, the necessary files and component lists are here.
ArduPilot 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 to edit and upload the code to the ArduPilot board.
ArduPilot 2.x, the navigation+stabilization version, is currently optimized for the Multiplex EasyStar 3-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, 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. 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
- GPS module
- FTDI cable for programming
- For aircraft use, a FMA Co-Pilot for wing-leveling and stabilization
- [Optional] Two XBee modules for real-time wireless telemetry, with an adapter in the air and another one on the ground/laptop side
Open source essentials:
- Latest autopilot code (for the board's main processor, an ATmega328) is here.
- Latest multiplexer code (for the board's second processor, an ATtiny, which runs the failsafe system) is here. Instructions for loading this code are here.
- If you want to build your own board from scratch, the necessary files and component lists are here.
|
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Features
- Can be used for an autonomous aircraft, car, or boat.
- Built-in hardware failsafe that uses a separate circuit (multiplexer chip and ATtiny processor) to transfer control from the RC system to the autopilot and back again. Includes ability to reboot the main processor in mid-flight.
- Multiple 3D waypoints (limited only by memory)
- Altitude controlled with the elevator (ArduPilot 2.0 software) or throttle (ArduPilot 1.0 software)
- Comes with a 6-pin GPS connector for a 1Hz EM406 GPS module. Faster 5hz GPS modules, such as the Locosys 200031, are supported via an optional expansion board and the version 2.2 code, now in beta.
- Has 6 spare analog inputs (with ADC on each) and 6 spare digital input/outputs to add additional sensors
- Supports addition of wireless modules for real-time telemetry
- Based on a 16MhZ Atmega328 processor. Total onboard processing power aprox 24 MIPS
- Very small: 30mm x 47mm
- Can be powered by either the RC receiver or a separate battery
- ArduPilot 1.x: High-speed ASCII NMEA parser for compatibility with standard GPS modules at any baud rate. ArduPilot 2.0 and 2.1: GPS parser is designed for the EM406 GPS and uses binary mode for efficiency
- Hardware-driven servo control (using the Arduino Servo Timer library), which means less processor overhead, tighter response and no jitters
- Four RC-in channels (plus the autopilot on/off channel) can be processed by the autopilot. This allows the autopilot to read the initial throttle and rudder position when you switch to autonomous mode, so it can maintain speed and heading. The other two channels can be used for whatever you want, such as triggering a camera sequence or dropping an object. (Remember that the aileron and elevator channels are separately controlled by the FMA Co-Pilot)
- LEDs for power, failsafe (on/off), status, and GPS (satellite lock)
|
|
 |
 |
 |
 |

|