Welcome to ConvertibleUAV’s documentation!

Contents:

ConvertibleUAV

Read The Docs Status https://img.shields.io/github/issues/SebastienBocquet/ConvertibleUAV https://img.shields.io/github/license/SebastienBocquet/ConvertibleUAV

This project attempts to build a VTOL aircraft with the following requirements:

  • The aircraft should make a flight consisting of a vertical take-off up to 30 m, a horizontal flight at an altitude of 60m, and a vertical landing. The landing shall be located within a prescribed square of 10m by 10m.

  • The aircraft should only use electric energy.

  • The aircraft weight should be less than 2.5kg, and the span less than 2m.

  • The horizontal flight should have a minimum duration of 15 min. Hovering time should be at least 5min.

  • In case of avorted landing, the aircraft should be able to raise at 30 m before proceeding to a second take-off.

  • The flight should be possible in presence of a maximum wind on ground of 25 km/h.

  • The flight can be semi-automatic, with manual controls from an RC emitter. A pilot with basic piloting skills should be able to make the flight.

Documentation

This documentation attempts to provide sufficient information for reproducing this project. In particular, it describes:

  • the airframe construction choices

  • the method used to determine the cruise and stall speed, as well as the required electrical power

  • the selected hardware and autopilot project used

The documentation is accessible on readthedocs.

How to build the documentation locally on Linux

Miniconda version 2019.07 or above is required, it can be downloaded from https://docs.conda.io/en/latest/miniconda.html

Then, execute the following commands

cd docs/tools/conda
make environment
conda activate uavDoc
cd ../..
make html

and open the following path in a web browser from

build/html/index.html

How to build the documentation locally on Windows 10

conda is required (version 4.8.2 only tested), but Miniconda would probably also work (Miniconda version 2019.07 or above is required, it can be downloaded from https://docs.conda.io/en/latest/miniconda.html)

Open a conda console Set and activate the conda/miniconda environment : to do once by working conda session

cd docs
set CONDA_CONFIG_DIR=tools/conda
conda config --add channels conda-forge
conda config --set channel_priority strict
conda env create --file %CONDA_CONFIG_DIR%/environment.yml
conda activate uavDoc
make html

Open the generated Sphynx documentation : Double click on : build/html/index.html

Contributing

We would be glad to receive contributions on the following points:

  • correction of errors or improvement in documentation clarity.

  • improvement of redundancy, reliablity and safety, both on the frame and hardware.

  • idea of applications for such an aircraft.

  • improvement of aerodynamic design for larger flight time, and better resistance to wind

Please contribute through the Github issue tracker.

Authors

Licence

This project is released under the Apache 2.0 licence.

This documentation and software is provided without qualification standards of professional embedded softwares for aeronautical applications. Users are aware that they engage their own responsability in case of accidents and injuries.

Airframe

Contents:

Frame

Configuration

The chosen aircraft configuration is a tilt-rotor tricopter. It is based on a 1.8m span RC glider. A rearward motor is fixed on the fuselage in front of the rudder. The front motors can tilt around the pitch axis to ensure yaw control and forward flight propulsion. Controls include:

  • the three motor speed

  • the tilt angle of the two front motors

  • the elevator

  • the ailerons

which requires 7 PWM outputs.

Note

For simplicity, the rudder is fixed.

_images/global_view.jpg

Global view of the VTOL tricopter prototype.

_images/rear_motor.jpg

Rear motor mounting.

The front part of the fuselage contains, from front to back: battery 1 (placed on a 1mm wood plate, itself glued to the fuselage), the elevator servo, the R/C receiver, the 5.5V converter.

_images/front_fuselage.jpg

Equipment in the front part of the fuselage.

Motor locations

Location of motors from wing leading edge.

Parameters

Value

distance between the front motors

\(635mm\)

front motor arm length (from leading edge to motor axis in vertical position)

\(155mm\)

distance between rear motor and leading edge

\(520mm\)

Tilting mechanism

_images/motor_tilt.jpg

Tilt rotor mechanism.

The tilting mechanism needs to be accurate for small tilt angles (+/-10° for yaw control), but also rotate by 90° in forward flight. To increase accuracy, the axis is guided with two ball bearings. The tilt actuation is performed with two Hyperion DS16 servos.

Motor arm mounting

The main modification to the original Easyglider is the wing spar. Indeed, for the chosen motor configuration, the spar needs to handle a large effort in hovering due to the the large lever arm between the spar and the front motors. The original plastic tube is replaced with a 14mm section aluminium square tube. 10mm carbon sqaure tubes are glued at each extremity of the aluminim tube to reach the original plastic spar length. Two blocs of hardwood allow to connect the aluminium tube with the motor arms. The motor arms are 10mm carbon tubes.

_images/motor_arm_and_spar.jpg
_images/spar_arm_mounting.jpg

The spar tunnel needs to be enlarged to allow the new aluminium tube to pass. To lock the spar in the wing, 3mm wood plates fixed with 4mm nylon screws are used.

_images/spar_tunnel.jpg
_images/spar_tunnel_cover.jpg

Wing mounting

For the same reason as explained above, the wing mounting needs to handle a large pitching effort. A 10mm threaded shaft is fixed in the aluminium tube. Inside the shaft, a 8mm aluminium tube and a 6mm carbon tube are glued. The wing can be removed from the fuselage. The wing is maintained on the fuselage with a 4mm copper tube. This tube passes through two small 6mm carbon tubes glued in the fuselage at the front and back of the wing.

_images/spar_locking_bar.jpg

System used to fix the wing to the fuselage. The wing can be unmounted for easier transport.

_images/spar_locking_rear.jpg

6mm carbon tube glued on the fuselage at the back of the wing. A similar tube is glued at the front.

_images/wing_locking_bar.jpg

Wing locking bar, which is a 4mm copper tube.

Flight mechanics model

Flight mechanics model for forward flight

The Easyglider plane is modified due to the addition of the three motors, a tougher wing spar and the control hardware. It leads to a significant overweight compared to a conventional Easyglider (more than 800g overweight). As a result, the aircraft flight mechanics is assessed using PredimRC. PredimRC computes aircraft aerodynamic coeficients for a steady horizontal flight. It requires to select an airfoil, set-up the plane geometry, weight and target lift coefficient \(C_z\).

The main objective is to determine the cruise speed range ensuring that the wing is working at reasonable lift coefficient. Indeed, there is a risk of stall for a too high lift coefficient. Secondly, PredimRC provides an estimate of the propulsion parameters during cruise, including the required electric power which is the parameter of interest to ensure that the cruise condition can be reached, and which flight time can be expected.

The set-up procedure is the following. First, we choose three airfoils: SD7003, E195 and CLARKY. We do not know the exact airfoil of the Easyglider but we expect that these three airfoils are representative. Then we define the aircraft geometry, a weight equal to \(1900g\) and the reference lift coefficient \(C_z=0.5\) at which the wing is expected to work in cruise. Based on these inputs, PredimRC computes interesting parameters which allow to determine the cruise speed, and geometrical parameters to obtain an aircraft that is coherent with cruise condition:

  • in terms of geometry: the center of gravity position behind the leading edge and the longitudinal V (which is the difference of angle between the wing and the horizontal stabilizer.

  • the cruise speed, which can be computed from the \(C_z\) versus cruise speed graph.

_images/predim_geometry.PNG

Easyglider geometry and parameters defining cruise condition.

_images/predim_cz_finesse.PNG

finesse and lift coefficient versus cruise speed.

The results show that the reference \(C_z = 0.5\) is a good choice, because it is the lower \(C_z\) allowing to remain at the maximum finesse. For this \(C_z\), the estimated cruise speed s \(53 km/h\). The center of gravity is \(74mm\) behind the leading edge, which remains close to the value of \(70mm\) given by the Easyglider manual. One question is to know if we need to modify the Easyglider structure (wing incidence and horizontal stabilizer indicence) to match this cruise condition. The longitudinal V, wing incidence and horizontal stabilizer indicence do not depend on the aircraft weight, but only on the airfoil type and \(C_z\). So the Easyglider do not need to be modified if we assume that it is well designed for a \(C_z\) of 0.5. Note that PredimRC estimates that the standard Easyglider (weight of \(1000g\)) has a cruise speed of \(35 km/h\) at \(C_z=0.5\). The main result is that:

  • no modification of the Easyglider is needed

  • the cruise speed is \(53 km/h\).

  • a speed below \(40 km/h\) is dangerous since the \(C_z\) gets higher than \(0.8\).

These parameters are needed by \(ArduPilot\) to ensure that the aircraft will fly in safe conditions.

Another useful result from PredimRC is the required electrical power in cruise.

_images/predim_propulsion.PNG

Propulsion parameters in cruise condition.

Note that the fact that we use the same propeller for hovering and cruise means that we lose significant efficiency in one of the flight mode. Here we choose low pitch propellers adapted for hovering (10x4.5 inches). However, PredimRC shows that in cruise, the propeller is working far from its maximum efficiency. As a result, a total electrical power of \(84W\) is required for a cruise speed of \(53 km/h\).

Note

In horizontal flight, this aircraft is a bimotor (the propulsion is ensured by the two front motors).

Note

PredimRC estimates that the maximum propeller efficiency is obtained with 10x8 propellers for a cruise speed of \(53 km/h\), with a total electrical power of \(63W\) (which is 25% lower than with 10x4.5 propellers).

Hardware

Propulsion

Energy is provided by two LiPo batteries 3S 2400mAh connected in parallel.

Note

To obtain correct center of gravity, the two batteries would need to be placed above the R/C receiver. Due to a lack of space, the battery location is awkward, with one battery in the nose and the second one above the wing.

All the electronics is fed with a 5.5V converter module placed behind the RC receiver.

The motors are T-MOTOR MS2216-9, with a KV of 1100. The ESC are EMAX 25A SimonK. The propellers are 10x4.5 inch Aeronaut CAM Carbon light.

Control board

The control board is a mini Pixhawk 4, complemented with its GPS module.

_images/pixhawk_board.jpg

The mini pixhawk board is mounted in the fuselage, below the wing.

Communication

Telemetry communication is ensured with a Holybro 433MHz telemetry module.

Software

The software is based on the open source ArduPilot. This amazing project allows to control rovers, copters, planes and more awkward configurations like this tricopter. Version 4.0.7 is used (but, a priori, the latest version could be used. I did not have time to test it).

Lessons learnt

Several dangerous situations occured due to the following:

  • low battery: I highly recommend to set with reasonable accuracy at least battery voltage measurement, and activate voice indication of battery voltage during flight on your ground control application. Indeed, during first flights with VTOLs, the transition from forward flight to hovering may not be accurately controlled, and the plane may transitions at high altitude and far from landing site. This leads to long hovering time and increases the risk of low battery.

  • aileron max angle too small. It was due to the use of fly by wire mode with too small PID coefficients. I recommend to be able to switch to MANUAL mode during all flight tests. Verify that in MANUAL mode, the full servo range is used. You may also verify that the aileron angle is sufficient in fly by wire mode.

Note

If you control flight mode with a three-position switch from your transmitter, note that you are not limited to three flight modes. Most transmitters allow to control 6 positions by configuring a mixer on the transmitter and using an addition two-position switch.

Note

Basic plane configuration provides very good advices to set-up your first plane with Ardupilot.

Indices and tables