An UAV autopilot board: Aero Elf

AeroElf is now flying. After 2 years, the first successful controlled flight...

The project story

The beginning of every project is both exciting for the freedom the designer has and frightening for the doubts existing. But, for those with adventurous hearts, the attraction wins.

The basic element of any autopilot is the IMU (Inertial Measurement Unit) which is made (in the case of a full 6 degree-of-freedom IMU) of 3 accelerometers and 3 gyroscopes. Both components are available from a number of manufacturers. Accelerometers are cheap, but gyros, specially the digital output ones are more expensive. Finally, LIS3LV02 (datasheet) was chosen as accelerometer and three MLX90609 (datasheet) were chosen as gyroscopes. As they come in LCC packages, reflow soldering technique has to be employed.

The second basic element in any autopilot is the GPS module. For this, the Venus634 module (datasheet) was chosen for its small footprint and low consumption.

For the microcontroller, a lot of possibilities were taken into account, 8, 16 or 32 bit, with or without DSP capabilities, etc. Finally, the winner was a Renesas M16C/62P. It's a powerful MCU used in many appliances and coming from a leading company.

Other elements I wanted to include, even if redundant, were:

Picture below shows all these elements (in the form of breakout boards to make first prototypes easier).

AeroElf components (breakout modules for 1st prototype)
1 1-axis digital output gyroscope
modules (3x Melexis MLX90609)
  2 3-axis digital output accelerometer module
(LIS3LV02DQ)
3 microcontroller
(Renesas M16C/62P)
  4 PWM switch module
(Xilinx CPLD XC2C256)
5 GPS module
(Skytrak Venus634)
  6 GPS antenna
7 3-axis magnetometer module
(Honeywell HMC6352)
  8 Barometric altimeter module
(SCP1000)
9 Differential pressure speed meter
  10 Ultrasonic ranger
11 SD card module   12 Bluetooth module

And below is the block diagram of AeroElf. Note the central position of the PWM switch module, which is a key element in the development process, as it will be explained later. This CPLD also interfaces to the different sensors and releases the MCU of that task, allowing it to focus on the control task.

Choosing the plane

The first great point was to choose between electric or nitro powered. I belong to that generation of modellers grown up with balsa and nitro so I used to look at foam electric planes as a "toys" compared to "big" nitro planes. With a little research I found out a 60 inch (or bigger) plane intended for nitro can be electric powered and fly for more than 30 minutes, so finally I surrendered to the electric advantage.

Finally, the Decathlon 70 from Seagull was the winner. Here it is. It has plenty of space for the extra electronics plus extra batteries and its 180 cm span makes it able to fly with AeroElf inside.

wingspan 70.9 inch (1800 mm)
length 47.6 inch (1210 mm)
flying weight 7.5 - 8.8 lb
(3.4 - 4.0 kg)
wing area 837 in2 (54.0 dm2)
wing load 20.6-24.2 oz/ft2
(62.9-73.8 g/dm2)
airfoil type semi symmetrical
   
   
   

The development process

Many friends of mine feared I was going to crash one after other plane. Me sometimes too. All projects begin on a piece of paper (or the PC screen) and finally have to end in the real world. This transition is always the magic instant in the creative process of any engineer. But I devised a plan to safely cross that misty area. One of the key elements is the PWM switch module presented above.

The PWM switch module is (basically) a multiplexer implemented on a CPLD that receives the signals from the receiver (6 channel) and sends PWM signal to the 5 servos controlling the plane. Of course, also interfaces to the microcontroller. The 6th channel is exclusively used to switch AeroElf between "manual" and "auto" modes.

In "manual" mode, the plane works as a normal RC plane. The signals from the 5 channels go straight to the servos. But the PWM module measures these signals and sends them to the MCU to record them as well as all other data from sensors. In this way, lots of data can be acquired in a safe way to devise the control system.

In "auto" mode, the plane works by itself, the signals from the receiver are ignored (except for the 6th channel) and the MCU sends the servo signals to the PWM module that continuously generates the PWM signals for the servos. This also proved very useful as control can be taken immediately if AeroElf go nuts.

First, a set of aerodynamic and mechanical data was obtained from the plane in order to develop a simulation model. Some data was obtained in flight with AeroElf in manual mode.

Then, the simulation loop was closed by adding the control model. Dozens of control schemes and parameter sets were tested to control level flight with cross winds and gusts, and to manoeuvre in a stable way.

The third step is the jump to the real world: testing all that beautiful theories, simulations and calculations. The manual/auto switch and the PWM module, plus the possibility of recording flight data in the SD card was really an investment in safety and greatly eased the development.

A successful professional UAV system

AeroElf has become a proven UAV autopilot able to fly a 180 cm span electric powered airplane in a stable and reliable way to predefined waypoints, reaching them precisely, while carrying out a mission and storing data in its on-board SD card (another faster/ bigger media storage can be employed).

AeroElf is not a lucky amateur design. It has been designed with professional tools and knowledge: aeronautical, mechanical, electronics, control and IT plus ingenuity have created it. It is therefore the result of great efforts and economical investment, so it is not a free open-source project. We think creators deserve a reward. AeroElf is available to any person or organization wanting to include it in a plane, with the only condition that AeroElf is not going to be used for military purposes.

AeroElf is highly flexible and can be used for many civilian purposes:

Present and Future of AeroElf

AeroElf is now a newborn successful autopilot for UAV. It was conceived as a robust platform and really demonstrated it. As it is now, it can be easily adapted to any airplane, even without a mechanical/ aerodynamic model of the plane. By using the "black box" plus the auto/manual channel, any plane can safely fly.

A final hardware version, with all components in a single PCB will soon come up for sale.

In the future the following add-ons are expected: