An Annular Wing VTOL UAV Flight Dynamics and Control
An Annular Wing VTOL UAV Flight Dynamics and Control
An Annular Wing VTOL UAV Flight Dynamics and Control
Article
An Annular Wing VTOL UAV: Flight Dynamics
and Control
Rajan Gill * and Raffaello D’Andrea
Institute for Dynamic Systems and Controls, ETH Zurich, 8092 Zurich, Switzerland; rdandrea@ethz.ch
* Correspondence: rgill@ethz.ch
Received: 26 March 2020; Accepted: 15 April 2020; Published: 26 April 2020
Abstract: A vertical takeoff and landing, unmanned aerial vehicle is presented that features
a quadrotor design for propulsion and attitude stabilization, and an annular wing that provides lift
in forward flight. The annular wing enhances human safety by enshrouding the propeller blades.
Both the annular wing and the propulsion units are fully characterized in forward flight via wind
tunnel experiments. An autonomous control system is synthesized that is based on model inversion,
and accounts for the aerodynamics of the wing. It also accounts for the dominant aerodynamics of
the propellers in forward flight, specifically the thrust and rotor torques when subject to oblique flow
conditions. The attitude controller employed is tilt-prioritized, as the aerodynamics are invariant to
the twist angle of the vehicle. Outdoor experiments are performed, resulting in accurate tracking of
the reference position trajectories at high speeds.
Keywords: UA; UAS; UAV; VTOL; hybrid VTOL; tail-sitter; fixed wing; closed wing; control system;
outdoor flight; control allocation; forward flight; oblique flow
1. Introduction
Fixed-wing vertical takeoff and landing (VTOL) aircraft (also known as hybrid VTOL) combine
both the hovering capability of traditional VTOL aircraft (i.e., helicopters), and efficient high-speed
flight of traditional fixed-wing aircraft [1]. Since the 1950s, such vehicles have been of interest primarily
for defense applications, where special environmental requirements for takeoff and landing are
alleviated, while still allowing for efficient high-speed flight [2]. With the advent of unmanned aerial
vehicles (UAVs), there has been renewed interest in hybrid VTOL vehicles, particularly for various
civilian applications such as surveillance [3], disaster management [4], and package delivery [5].
Most of the literature has revolved around so-called convertiplanes [6], which use additional
mechanisms to transition between hover and fixed-wing mode, such as tilt-rotors/wings.
However, such an approach increases the mechanical complexity, thereby increasing cost, maintenance,
and risk of failure [7,8]. As a result, there is growing interest in tail-sitter designs, where either control
surface or differential thrust based designs are currently under investigation [9]. Although differential
thrust tail-sitters typically require more rotors than control surface based tail-sitters, they are more
robust due to their larger control authority [9,10]. However, it has been noted that for these types of
vehicles, systematic development of flight dynamics models and control system design still need to be
explored [4,9,11].
In this paper, a differential thrust tail-sitter is considered based on an annular wing design,
as shown in Figure 1. The annular wing acts as a lifting surface in forward flight and encloses the
propeller blades to enhance human safety (over a solution without any guard or shroud). Regarding the
latter point, there are numerous examples of propeller blades causing serious injuries to the eye or
lacerations to the body [12–17], and it is claimed in [16–19] that a propeller guard or rotor shroud will
help mitigate such injuries. Furthermore, the annular wing may lead to reduced noise emission by
the rotors [20], and may provide better cross-wind resistance at hover than planar wing VTOL UAVs.
The vehicle builds upon a previous prototype [21], which augmented the Flying Machine Arena (FMA)
quadrotor [22] with a foam ring. A similar closed wing design has been adopted by Amazon in their
most recent package delivery drone prototype [23].
A literature review is provided in the remainder of this section. The remainder of this paper is
organized as follows:
• Section 2 presents the specifications for the developed annular wing vehicle. The dynamic model
of the vehicle is presented and is used both for simulations and subsequent control system design.
Wind tunnel tests are performed to obtain accurate models for both the wing and the propellers
under oblique flow conditions. The data presented here can be used as a basis for a further
optimized vehicle design, or as a basis for comparison to other VTOL UAVs.
• Section 3 presents a novel control system that accounts for the propeller aerodynamics in forward
flight, and can be applied to any quadrotor vehicle. The attitude controller presented prioritizes
the tilt of the vehicle, as the aerodynamics for the annular wing vehicle are invariant to the
vehicle’s twist angle (the angle about the vehicle’s axis of symmetry), and does not rely on
feedback linearizing the angular dynamics. Furthermore, unlike most works in the literature,
the control system presented is globally defined and requires no switching depending on the
operating region of the VTOL UAV.
• Section 4 briefly discusses the software architecture used to achieve high-fidelity
software-in-the-loop simulations.
• Section 5 presents the outdoor experimental results, where unlike most works,
tracking performance on the outermost loop (i.e., position) is shown. A video of the
outdoor experiments can be found at: https://youtu.be/ULc63HrgPro.
Literature Review
An early work that investigated transitioning a fixed-wing UAV to a hover position can be found
in [24], where the transition control law is based on an approximate dynamic model of the vehicle and
a neural network for additional compensation in the dynamic inversion scheme. The transitions were
performed not as a consequence of an outer loop position reference, but rather by defining a pitch
angle trajectory given directly to an attitude controller with position regulation disabled. A similar
approach is also used in [11,25–33]. This approach is related to the work done in [27], where the control
system is decomposed into four controllers depending on the operating region of the vehicle: vertical
flight, horizontal flight, transition and braking flight. It is noted in [26] that using such a discontinuous
control system can cause issues in the form of undesirable transients due to the transitions between
each mode. A similar approach is also used in [8,10,28,31,34–38]. One of the earliest works to forgo
the switching approach and use a unified control system is [39], however the experiments for the
transition flights were performed in open loop.
Other early tail-sitter concepts can be found in [40,41], which describe the design process and
theoretical modeling. Another interesting concept was shown in [42], which aims to reduce wing
tip vortices using propellers, and mentions that transition flight maneuvers are difficult to perform
as the rotors are at high inflow angles/oblique flow conditions, thereby increasing vibration and
other complicated aerodynamic effects. A recent work [10] presents a novel tail-sitter vehicle that
contains a single large main rotor as the main propulsion device for both hovering and forward flight.
The control approach also uses a switching based approach, where during the transition phase the
position is not regulated and a pitch trajectory is tracked, resulting in altitude deviations as large as
20 m. The authors state that this will be improved upon in a future work.
With regards to conventional fixed-wing tail-sitters that are based on a control surface design,
ref. [25] considers a transition controller that utilizes a pre-planned reference attitude trajectory, which is
given to an attitude controller that utilizes gain scheduling. In [43], a hovering controller was presented,
and is one of the earliest works to decompose the attitude error into tilt and twist components. In [44],
Drones 2020, 4, 14 3 of 34
this tail-sitter was made to hover and move in an indoor environment, while avoiding obstacles
detected with an ultrasonic range sensor. Other related works include [45], where the transition is
performed by using a gain scheduling controller to improve upon the traditional “stall-and-tumble”
maneuver to achieve the transition. In [46], a fixed-wing vehicle that uses contra-rotating propellers is
presented, and a nonlinear attitude control based on Euler angles is derived and experimentally shown
to work under cruise conditions. One of the earliest work on VTOL control that takes into account
the propeller aerodynamics under oblique flow conditions is [29], however the model was made for
a fixed angle of attack. In [47], a unified control system based on an adaptive control to account
for the aerodynamics of the wing is presented and experimentally shown to perform well indoors.
In [48], an incremental control structure is used that relies on the control derivatives of the aircraft at
certain operating points, as opposed to knowledge of a detailed aerodynamic model, with outdoor
experiments showing its effectiveness.
In the context of quadrotor based tail-sitters, early simulation work can be found in [30], where the
pitch is commanded directly to perform the transition. In [18], various VTOL design concepts are
presented, and it is mentioned that some type of rotor shroud is advantageous to minimize damage
after a casual impact, or for human safety when flying at low altitudes. In [31], a switching control
system is used on a quadrotor tail-sitter that additionally utilizes control surfaces, where the transition
is performed by adjusting the pitch angle reference directly. In [32], it is claimed that fixed-wing
tail-sitters have the disadvantage of relying on control surfaces and result in less accurate flight
performance. Two different wing arrangements are also tested on a quadrotor. The transition is
performed by providing a pre-planned attitude trajectory to an attitude controller that uses a tilt-twist
approach similar to [43]. A similar approach is investigated in [35] and in [34], where a switch is
implemented for forward flight mode. In a later work [33], it is shown that the standard transition
control approach used in their previous work [32] results in significant altitude loss of the vehicle.
This was improved upon by computing an optimal trajectory for the transition maneuver and storing
it onboard. An interesting design that combines both a quadrotor for attitude stabilization and
contra-rotating propellers as the main propulsion source can be found in [37]. In [8], a package
delivery drone is designed and a switching based control system is synthesized to perform the various
modes of flight, although fully autonomous flight was not implemented. In [11], a novel bi-plane
quadrotor is introduced with corresponding theoretical model and controller synthesis. This idea
was extended in [49] by incorporating a passive rotary joint in between the two wings, allowing the
rotors to swivel and thereby increase yaw torque authority. The recent work [20] improves upon the
switching control system approach by designing a unified controller, and is another early work to
account for the propeller aerodynamics in forward flight, specifically in axial flow. In contrast to this
paper, their approach relies on training based on simulation data. A unified control system approach is
also used in [50], capable of continuous transition between hover and fixed-wing flight. Their approach
is based on a nonlinear optimization and is shown to perform well in simulations.
Closed wings have also been researched by the aerodynamics community since the 1920s [51],
and have the advantage of eliminating wing tip vortices and reducing lift-induced drag [52,53].
There is renewed interest, e.g., from NASA and Lockheed Martin, on using such wing designs for new
aircraft [54]. In [55], it is noted that studies on annular wings are lacking in the literature, and a wind
tunnel characterization was undertaken for two different aspect ratio wings for small angles of
attack. In [56], wind tunnel characterization was also performed for an annular wing, with additional
characterization of a ducted propeller mounted in both pusher and tractor configurations.
The dimensions of the vehicle can be found in Figure 2. The dimensions were determined by aiming
at a target operating condition as follows: A first principles based model of the wing lift is derived
based on integrating the airfoil aerodynamic coefficients around the wing, as shown in Appendix A.
The wing diameter D was fixed to 70 cm as a design parameter. The wing chord c was determined to be
that which achieves 7 N (about the target weight of the vehicle) of lift at the target operating condition
of 10 m/s and 12 degrees angle of attack (approximate location of the optimal lift-to-drag ratio using
the theoretical model in Appendix A, and in agreement with [53]), using the aforementioned theoretical
model. The vehicle’s center of mass lies on the quarter chord point of the wing, and is the point at
which the carbon tubes that connect to the wing intersect.
Figure 1. The annular wing vehicles. The two vehicles are the same except for the wings, where the one
on the left uses a simple foam construction. The one on the right is manufactured using a combination
of 3D printing and the application of an adhesive film, see [58] for more details.
D = 700
c = 125
215
Figure 2. Annular wing vehicle front and side view; dimensions are in millimeters.
Table 1 details additional specifications, such as the sensors used and measured power consumption
of the vehicles. The blue vehicle (0.75 kg) is more efficient than the white one (0.71 kg), as expected
due to the more optimized airfoil despite being heavier; it is able to sustain level flight at 10 m/s
at a specific power [2] of 100 W/kg, whereas the white vehicle consumes a slightly larger value of
139 W/kg. For reference, the FMA quadrotor [22], which is of similar size and uses similar flexible
propellers, consumes 275 W/kg at 10 m/s (determined from the tethered flight experiments performed
in [59]).
These numbers can be improved with further design enhancements. The blue vehicle’s wing is
very sensitive to heat: the experiments were performed in cold temperatures, around 0 ◦ C, and this
would cause the rib structure to contract and the foil to expand, thereby inducing wrinkles in the
surface of the airfoil. Both wings are quite flexible, and vibration due to aeroelastic effects was noticed
Drones 2020, 4, 14 5 of 34
in high-speed forward flight, see Section 2.2.1. The fuselage and the ribs for the blue wing were also
printed using standard 3D printed plastic (i.e., PA 2200). Thus, lighter, rigid, and less heat sensitive
materials, such as carbon fiber, should be used for a more efficient vehicle design. The tail of the
fuselage should also be made less flat to reduce pressure drag and thereby improve aerodynamic
efficiency, however the flat tail was used to yield a stable landing surface as the wings were quite
fragile. Stiff, high-pitch propellers should also be used to improve the efficiency at high forward
flight speeds.
The flight computer and Global Positioning System (GPS) printed circuit boards were custom
built, based on the STM32 F4 microcontroller and the Ublox M8P module, respectively.
Table 1. Annular wing vehicle parameters and specifications for both vehicles shown in Figure 1.
Value
Parameter
White Blue
Motor Cobra 1400
ESC SN20A w/SimonK
Propeller Master Airscrew MR 8x4.5
CPU STM32 F4
IMU Bosch BMI 088
Barometer Bosch BMP 388
Magnetometer Bosch BMM 155
GPS Ublox M8P, Tauglass .35
Radio Laird RM024
Mass [kg] 0.71 0.75
Specific power at Hover [W/kg] 116 116
Specific power at 10 m/s [W/kg] 139 100
2.2. Modeling
In the following, the vector p B/I represents the position of the body frame B with respect to the
inertial frame I, where the orientation of a frame is defined by the three orthonormal unit vectors
I
{i, j, k}. A superscript will be used to realize this vector with respect to a particular frame, e.g., p B/I ∈
3
R represents the vector expressed in frame I. If a dot over a vector is present, the superscript/frame
assignment is performed first, then the time derivative is taken. The same is true for the velocity
I
vector v B/I , and the angular velocity ω B/I . An index subscript, e.g., p B/I , represents the lth element,
l
l ∈ {0, 1, 2}, of that vector. The coordinate systems used are shown in Figure 3, where B refers to the
body-fixed frame attached to the center of mass of the vehicle, R refers to a similar frame, but is rotated
about the k axis and will be used in modeling the rotor force and moments, A denotes the air frame
fixed to the incoming airflow to the vehicle, and Pi , i = 0, . . . , 3 represents the propeller frame that is
fixed to the ith propeller. Furthermore, the forward frame rotation from frame I to frame B is denoted
as R BI ∈ SO(3) = R ∈ R3x3 R> R = I3×3 , det( R) = 1 [60].
The wind velocity vector, or the velocity of the air with respect to the inertial frame, is denoted as
v A/I . Thus the velocity of the air with respect to the body is given by
Let n(·) denote the normalization operator, that is n( x ) = x/ k x k for some vector x. The forward
frame rotation from the body frame to the air frame is given by
R BA = i BA B
jA k BA (2)
Drones 2020, 4, 14 6 of 34
where i BA = n v BA/B (arbitrary if v BA/B = 0), j A
B = n k B × i B , and k B = i B × j B . Note that R B is
B A A A A A
solely a function of v BA/B , and that
V∞
vA = 0 (3)
A/B
0
where V∞ is the air speed with respect to the body. The other common frame rotation encountered is
between the body and the rotor frame:
R BR = i RB jRB k BR (4)
where i RB = n (v BA/B 0 , v BA/B 1 , 0) (arbitrary if v BA/B 0 = v BA/B 1 = 0), k BR = k BB , and jRB = k BR × i RB .
Note again that R BR is solely a function of v BA/B .
kA
jA
iA
V∞
kB, kR kA iR
α
kB, kR
α
iR
iA V∞
jB
iB
Figure 3. Frame B, defined by {i B , jB , k B }, is fixed to the center of mass of the vehicle as shown.
Frame A is fixed to the incoming air which forms an angle of attack α with the vehicle’s k-axis. The
rotor frame R has its k axis aligned with that of the body frame, but is rotated such that the incoming
air lies solely on its i, k-plane.
I I
ṗ B/I = v B/I (5)
3
I
mv̇ B/I = R BI FW
B
(v BA/B ) + R BI ∑ FPB (vBA/Pi , Ωi ) − mg I (6)
i =0
Ṙ BI = R BI ω B/I
B
× (7)
3 h i
JBB ω̇ B/I
B B
= MW (v BA/B ) + ∑ MPB (v BA/Pi , Ωi ) + p BPi /B × FPB (v BA/Pi , Ωi ) − JPB ω̇ PBi /B −
i =0
!
3
B
ω B/I × JBB ω B/I
B
+ ∑ JPB ω PBi /B (8)
i =0
JPB ω̇ PBi /B = (ui − Km Ωi )/Rm + MPB (v BA/Pi , Ωi )2 , i = 0, . . . , 3 (9)
2
respect to the center of mass, and JBB , JPB are the inertia tensors for the entire vehicle and propeller,
respectively, represented in the body frame. (9) represents the motor dynamics, where ui is the input
voltage to the ith motor, and Rm , Km are the motor resistance and torque constants, respectively.
Henceforth, the approximation
will be used, under the reasonable assumption that the body rates and the rotor arm lengths are small.
The maps FW B (·), M B (·) represent aerodynamic wing loads, and F B (·), M B (·) represent aerodynamic
W P P
propeller loads, and will be discussed in the subsequent subsections.
2.2.1. Wing
By construction of the air frame A as shown in Figure 3, the annular wing’s aerodynamic force
and moment can be written in the following way:
FWD (v BA/B )
B
FW (v BA/B ) := R BA (v BA/B ) 0 (11)
B
FW L (v A/B )
0
B
MW (v BA/B ) := R BA (v BA/B ) MWP (v BA/B ) (12)
0
where FWD (·), FW L (·) and MWP (·) map the free-stream velocity expressed in the body frame to the
aerodynamic drag, lift, and pitching moment of the wing, respectively, and can be expressed in the
following form [61]:
FW L (v BA/B ) := CW L (α)ρV∞
2
S/2 (13)
FWD (v BA/B ) := 2
CWD (α)ρV∞ S/2 (14)
MWP (v BA/B ) := 2
CWP (α)ρV∞ Sc/2 (15)
where
α := arccos −v BA/B 2 /V∞ (16)
is the angle of attack (see Figure 3), ρ is the air density, and S := Dc is the reference planform
area [61]. To account for some of the aeroelastic vibration effects observed during the wind tunnel
tests, the coefficients CW L (·), CWD (·), and CWP (·) will be written as the sum of a function dependent
solely on the angle of attack and the output of a colored noise process as follows (minding the slight
abuse of notation by including the time t as an additional argument to the coefficients):
where ηu (t) is drawn from a to-be determined distribution and τ is a constant to be determined.
A similar approach is used for the remaining coefficients CWD (·) and CWP (·). The motivation for
including this is to add an additional level of realism to the simulation, and to explore the robustness
of the control system.
Drones 2020, 4, 14 8 of 34
The aerodynamic coefficient maps CW L (·), CWD (·), and CWP (·) are determined using a wind
tunnel using the experimental set-up shown in Figure 4. Note that the maps will also incorporate
the aerodynamic loads of the vehicle’s body, in addition to the wing. The wind speeds V∞ were
set to 3, 5, 6.5, 8, 10, 12 and 15 m/s. For each fixed wind speed, the angle of attack α was swept at
a rate of 0.2 deg/s from −10 to 90 deg (hardware limitations prevented sweeping to higher angles of
attack). Note that aerodynamic hysteresis effects [62,63] are ignored. The load data was collected at
a rate of 1 kHz using a six degree of freedom load cell sensor, and were translated from the point of
measurement to the center of mass of the vehicle/quarter chord point of the wing. The load cell used
is an ATI Mini40 with the SI-20-1 calibration, which has a negligible noise floor of at most 0.02 N and
0.0005 Nm, peak-to-peak. The load cell communicates the load data to the host computer via a direct
Ethernet connection. Both the wind speed V∞ , which is measured using a pitot tube and pressure
sensor, and servo angle α, are sampled via a LabJack U12 data acquisition board and sent to the host
PC over a USB connection. Note that the measurements were taken using a different fuselage tail,
so the results are expected to differ from the vehicle used in the actual flight tests.
The measured aerodynamic coefficients are shown in Figure 5 as function of α. From the figure,
it can be seen that the stall behavior is less pronounced than for planar airfoils. This can partly be
explained using the theoretical model in Appendix A. Also, the drag curves do not exhibit the usual
curves of planar airfoils, which would have maximum drag at α = π/2. In the case of the annular
wing, the drag at α = π/2 is small because of the curved surface that the incoming air can glide around,
similar to a cylinder in cross-flow [64]. These behaviors were also observed in the early wind tunnel
testing done in [53]. This could suggest that annular wing vehicles have better cross-wind resistance at
hover than more traditional planar wing VTOLs [65]. The mean lift and drag curves are parametrized
by a piece-wise linear fit, each assumed to be an odd and even function [66], respectively, where for
positive angles of attack have the form:
cl,α,0 α α ∈ [0, αl,0 ]
cl,α,1 α + cl,o,1
α ∈ [αl,0 , αl,1 ]
CW L ( α ) = cl,α,2 α + cl,o,2 α ∈ [αl,1 , π − αl,1 ] (19)
−(cl,α,1 (π − α) + cl,0,1 ) α ∈ [π − αl,1 , π − αl,0 ]
−cl,α,0 (π − α) α ∈ [π − αl,0 , π ]
cd,α,0 α + cd,0
α∈ [0, αd,0 ]
α∈
c α+c
d,α,1 d,1 [αd,0 , π/2]
CWD (α) = (20)
cd,α,1 (π − α) + cd,1 α ∈ [π/2, π − αd,0 ]
d,α,0 ( π − α ) + cd,0 α ∈ [π − αd,0 , π ]
c
where the constants cl,α , cl,0 , αl , cd,α , cd,0 , and αd are to be determined. For the lift coefficient, this is
done by solving the following optimization
minimize minimize S [CW L (αmeas [k]) − CW
meas
L [ k ]]k ∈M (21)
αl cl,α , cl,0
s.t. cl,α,0 αl,0 =cl,α,1 αl,0 +cl,0,1
cl,α,1 αl,1 +cl,0,1 =cl,α,2 αl,1 +cl,0,2
where S(·) is the Huber loss function for robustness against outliers [67] (alternatively, the sum of
squares function or sum of absolute values can be used), M is the set of all measurements, and the
superscript “meas” is used to denote measured quantities. The constraints on the inner optimization
are to ensure CW L (·) is continuous in its argument α. The inner optimization is convex and can be
computed efficiently using CVXPY [68,69], while the outer optimization is not convex and is computed
Drones 2020, 4, 14 9 of 34
using the minimize routine in Scipy’s optimize package [70]. A similar procedure is performed for
fitting the drag coefficient. For the pitching moment coefficient, a simple sinusoid term suffices:
which can be determined easily from the measured data using a similar convex optimization routine.
V∞
Load cell
Varying α
Sting
Figure 4. Wind tunnel testing of the vehicle without the propulsion units at the Institute of Fluid
Dynamics at ETH Zurich. The vehicle is mounted onto a sting. The sting is connected to a servo motor
underneath the tunnel that rotates about the vertical axis to test various angles of attack. The loads
measured at the load cell are translated to the center of mass of the vehicle.
The next step is to characterize the colored noise process (18). This is done by first discretizing (18)
using an Euler approximation to yield
where Ts = 0.001s is the sampling period and a = 1 − Ts /τ. Then, the measured noise sequence is
defined as
ηCmeas
WL
meas
[k] := CW L [ k ] − CW L ( α
meas
[k]) (24)
Using this measured noise sequence, the parameter a and the variance of ηu [k ] can be computed
using the autocorrelation (Yule-Walker) method as described in [71]. The distribution of ηu [k] can be
determined by plotting a histogram of
as shown in Figure 6, from which it can be observed that the distribution can be approximated
by a Gaussian. With the distribution of ηu [k] determined, and the parameter a determined earlier,
the stochastic process (18) can be simulated and is shown in Figure 7. The simulated noisy sequence
resembles the measured ηCmeas [k ], though a higher fidelity model can be realized by using a higher
WL
order autoregressive model. The fitted aerodynamic parameters can be found in Table 2.
Drones 2020, 4, 14 10 of 34
1 1
6.7m/s 5.1m/s 6.4m/s 12.5m/s 5.1m/s
3.0m/s 3.0m/s
0 0
2 2
CWD
0 0
1 1
10.1m/s
8.1m/s
CWP
0 0
−1 −1
0 20 40 60 80 0 20 40 60 80
α [deg] α [deg]
Figure 5. Measured aerodynamic coefficients for the wing and body, across all wind speeds (labeled)
tested, for both vehicles. The pitching moment is with respect to the quarter chord point at the
center of the wing. Negative pitching moment corresponds to pitch down. The resulting mean fits
CW L (·), CWD (·), and CWP (·), are shown as the opaque blue lines.
300
count
200
100
0
−0.06 −0.04 −0.02 0.00 0.02 0.04 0.06
ηumeas [k ]
Figure 6. Distribution of ηumeas [k] as defined in (25), where a is determined using the Youle-Walker
method [71] for the first-order autoregressive model (23).
0.2
0.1 sim
ηCW L (t)
0.0
−0.1
meas
−0.2
220.0 220.2 220.4 220.6 220.8 221.0
t [s]
Figure 7. Simulation of the first-order autoregressive model (23) and the measured noisy sequence (24).
Drones 2020, 4, 14 11 of 34
Value
Parameter
White Blue
cl,α,0 8.78 7.45
cl,α,1 0.42 −0.12
cl,α,2 −1.97 −1.79
cl,o,1 1.13 1.38
cl,o,2 3.10 2.81
αl,0 0.135 0.182
αl,1 0.825 0.860
cd,α,0 1.90 1.90
cd,α,1 −2.16 −0.66
cd,0 0.31 0.16
cd,1 4.87 2.80
αd,0 1.125 1.031
τ 0.02
Var[ηu (t)] 100
2.2.2. Propulsion
The rotor force and moment maps are modeled using the parametric models provided in [72]:
FPH (v BA/B , Ωi )
FPB (v BA/B , Ωi ) := R BR (v BA/B ) FPS (v BA/B , Ωi ) (26)
FPT (v BA/B , Ωi )
MPR (v BA/B , Ωi )
MPB (v BA/B , Ωi ) := R BR (v BA/B ) MPP (v BA/B , Ωi ) (27)
MPQ (v BA/B , Ωi )
where FPH (·) is the propeller H-force, FPT (·) is the propeller thrust, FPS (·) is the lateral/side force,
and MPR (·), MPP (·), and MPQ (·) are the rolling, pitching and rotor torque, respectively. It is shown in
(Section V, [72]), that these forces and moments can be written as
FPT (v BA/B , Ωi ) = c PT,0 + c PT,λc λc + c PT,λ2c λ2c + c PT,µ2 µ2 (1/2)ρ(πR)2 (Ωi R)2 (28)
B 2 2
FPH (v A/B , Ωi ) = c PH,µ µ (1/2)ρ(πR) (Ωi R)
(29)
FPS (v BA/B , Ωi ) ≡ 0 (30)
MPR (v BA/B , Ωi ) 2 2
= c PR,µ µ (1/2)ρ(πR) (Ωi R) R sign(Ωi )
(31)
MPP (v BA/B , Ωi ) 2
= c PP,µ µ + c PP,λc µ λc µ (1/2)ρ(πR) (Ωi R) R 2
(32)
MPQ (v BA/B , Ωi ) = c PQ,0 + c PQ,λc λc + c PQ,λ2c λ2c + c PQ,µ2 µ2 (1/2)ρ(πR)2 (Ωi R)2 R sign(−Ωi ) (33)
where
are the rotor climb and advance ratios for the ith rotor, respectively, R is the rotor radius, and the
twelve c P constants are to be determined. Note, however, as mentioned in (Section V, [72]), the pitching
moment model (32) may be inaccurate.
The constants are again determined by measuring the loads in a wind tunnel. The experimental
set-up, shown in Figure 8, is the same as before with the same sweeping performed on V∞ and α,
but with two propellers mounted onto the vehicle. Two propellers were used because if all four
Drones 2020, 4, 14 12 of 34
were placed, and if all were sent the same rotation rate commands, the rotor torque MPQ and rolling
moments MPR would cancel each other out. Furthermore, if only one was used, then this might
cause a biased reading at that location. The propellers are commanded to sweep between 150 and 600
rad/s, sinusoidally with a period of 60s. The measured rotation rates Ωi are computed by the onboard
STM32F4 microcontroller (see Section 3.1), which is then communicated to the host computer via the
Laird RM024 radio.
The mean wing force and moment are subtracted from the measured loads using the identified
model (19)–(22), to yield the measured rotor forces and moments from which the constants in the
propeller model (28)–(33) are identified using a convex Huber regression [67]. The results are shown
in Figure 9.
The thrust and rotor torque models fit very well, outperforming the standard hover model
typically used in the drone literature [72], which is also shown for reference in Figure 9. The propeller
H-force is very small for small angles of attack. The pitching moment model is inaccurate, however it
can be shown that this is about an order of magnitude smaller than the pitching moment of the
wing, and thus can be neglected. The slightly non-zero side force, and slightly inaccurate rolling and
H-force models, may be the result of an asymmetrical induced flow observed by the rotor disk [73],
resonance from the aeroelastic and vibration effects, or due to a slight misalignment of the load
cell/vehicle. The numerical values of the aerodynamic coefficients can be found in Table 3.
Two Propellers
Figure 8. Wind tunnel testing of the vehicle’s propulsion units at the Institute of Fluid Dynamics at
ETH Zurich. The experimental set-up is the same as depicted in Figure 4, but with two propulsion
units mounted.
Parameter Value
c PT,0 0.0368
c PT,λc −0.107
c PT,µ2 0.060
c PT,λ2c −0.306
c PH,µ 0.0883
c PQ,0 0.00483
c PQ,λc 0.00202
c PQ,µ2 −0.0299
c PQ,λ2c −0.111
c PR,µ 0.0594
c PP,µ −0.00758
c PP,λc µ 0
Drones 2020, 4, 14 13 of 34
10
0.03
2
8 0.02
MPQ [Nm]
V∞ [m/s]
FPT [N]
1 0.01
6
0.00
0
4
−0.01
1.5 0.06
80
1.0 0.04
60
MPR [Nm]
FPH [N]
α [deg]
0.02
40 0.5
20 0.00
0.0
0
−0.02
0.4
500 0.00
MPP [Nm]
Ωi [rad/s]
FPS [N]
0.3
400 −0.02
0.2
300 −0.04
0.1
−0.06
200 0.0
sample #
Figure 9. Measured rotor forces in the wind tunnel for a single rotor. The standard hover model is shown for reference. The experiment is restarted for every wind
speed, and thus the x-axis doesn’t necessarily represent contiguous samples in time.
Drones 2020, 4, 14 14 of 34
3. Control System
3.1. Overview
The overall control architecture is based on a cascaded scheme as shown in Figure 10. A state
estimator is used to fuse the sensor readings and is based on an extended Kalman filter (EKF)
using an attitude reset scheme as described in [74], fusing the inertial measurement unit (IMU),
magnetometer, pressure sensor and GPS. The state estimator provides an estimate of the body frame,
I , velocity estimate v I , and attitude estimate
denoted B̂, in the form of a position estimate p B̂/I B̂/I
R B̂I . The estimate of the angular velocity, ω B̂/I
B̂ , is read directly from the inertial measurement unit.
The estimate of the propeller rotation rates, Ω̂i , is measured using a timer on the STM32F4 and a
pulse representing the zero-phase crossings that is provided by the SimonK firmware running on the
ESCs [75,76]. GPS latency is also taken into account, by capturing the EKF estimate at the time of a
measurement epoch to generate the innovation.
ref ref
ω BBref /I , ω̇ BBref /I
p BI ref /I a BI cmd /I R BI cmd
v BI ref /I
Position Outer Control Attitude
Controller Allocation Controller
a BI ref /I Section 3.2 Section 3.3 Section 3.5
τ cmd
ψref
T cmd
Inner Control
Allocation
Section 3.6
Ωcmd
I , vI
p B̂/I B̂/I
From R B̂I , ω B̂/I
B̂ Motor
State Controller
Estimator Section 3.7
Ω̂
ucmd
To ESCs
Figure 10. Control system for the annular wing UAV. The position, velocity, and acceleration of the
reference body frame, Bref , described in the inertial frame, are the inputs to be tracked, with ψref the
desired twist or yaw angle.
where k p,p , k p,i , and k p,d are scalars representing the PID gains. This describes the acceleration of
the frame Bcmd . The orientation of Bcmd will be determined in the Outer Control Allocation block,
described in the following section.
Drones 2020, 4, 14 15 of 34
where FW (·) = FW (·) from (11), but with the aeroelastic noise component set to zero. This is done by
first constructing an intermediate frame Acmd (see Figure 11) as follows:
n v I v BI ref /I 6= 0
I
iA := Bref /I (38)
cmd
arbitrary else
n i I × a I + g I a BI cmd /I + g I 6= 0
I A cmd B cmd /I
jA cmd := (39)
arbitrary (but perpendicular to i I ) else
Acmd
k IAcmd := i A
I I
× jA (40)
Now the commanded force m a Bcmd /I + g must lie on the 2-dimension i Acmd , k Acmd plane. Let
" # " 2 #
f x ( T cmd , αcmd ) −CWD (αcmd )ρ v BI ref /I S/2 + T cmd cos(αcmd )
:= 2 (41)
f z ( T cmd , αcmd ) CW L (αcmd )ρ v BI ref /I S/2 + T cmd sin(αcmd )
The control allocation problem can thus be simplified to the following 2-dimensional problem:
D E
I I , iI
" #
fx( T cmd , αcmd ) m a cmd + g
find T cmd , αcmd s.t. = D B /I Acmd E (42)
f z ( T cmd , αcmd ) m a BI cmd /I + g I , k IAcmd
where h·, ·i is the inner product operator. A solution to the above always exists. This can be
verified visually in Figure 12, where the range of (41) is plotted over all αcmd and T cmd . It can
be observed that the range space of (41) is simply-connected (and also convex), and thus for sufficiently
small commanded forces f x = m a BI cmd /I + g I , i A
I
m a BI cmd /I + g I , k IAcmd , there will
cmd , f z =
always be a solution T cmd , αcmd that solves the allocation problem (42). Thus Newton’s method [67]
is used to solve (42). Although CW L (·) and CWD (·) are continuous but not differentiable at the
knot points, simple heuristics or the Secant method [4] can be used to circumvent this at the knots.
Alternatively, the piece-wise linear curves can be made smooth by using a suitable sigmoid function at
each knot.
With T cmd , αcmd determined, the rotation R BI cmd in (37) can be constructed by
k BI cmd := cos(αcmd )i A
I
cmd + sin( α
cmd I
)k Acmd (43)
Drones 2020, 4, 14 16 of 34
and the i BI cmd , jBI cmd vectors can be suitably chosen to match the desired twist or yaw angle ψref .
Note that this choice is arbitrary due to symmetry of the vehicle, and would not be possible for hybrid
VTOL UAVs based on a planar airfoil, where coordinated turn maneuvers are required [47].
m a Bcmd /I + g
k Acmd
fz k Bcmd
v Bref /I αcmd
i Acmd
fx
Figure 11. Visualization of the control allocation problem (42): given the reference velocity v BI ref /I ,
cmd and the frame Bcmd such that the
the vehicleT
the objective is to determine the collective thrust of
resulting forces equal the commanded force of m a BI cmd /I + g I . This can be simplified to a planar 2D
problem, due to symmetry of the vehicle, as shown.
40
20
f z [N]
−20
−40
Figure 12. Range of f x (αcmd , T cmd ), f z (αcmd , T cmd ) as defined in (41), in black, over all αcmd and
T cmd ∈ [0, 25]N, for three different values of v BI ref /I .
An intermediate error frame, called tilt, is introduced, such that the attitude can be decomposed into
a tilt and twist component:
cmd cmd
R BB̂ B
= Rtilt Rtilt
B̂
(45)
Rtilt
B̂
= exp ((∗, ∗, 0)) (46)
Bcmd
Rtilt = exp ((0, 0, ∗)) (47)
where exp(·) maps a rotation vector to the corresponding rotation matrix [60], Rtilt
B̂
represents the
B cmd
tilt error, and Rtilt represents a pure twist error. This decomposition can be done efficiently using
unit-quaternions, see [78] or Appendix B. This is done because the twist error of the vehicle has
no consequence on the tracking of the commanded acceleration, due to symmetry of the vehicle.
Thus, the decomposition will be used to prioritize the tilt errors over twist errors, as follows: Let q be
the unit-quaternion representation of the rotation matrix R, and ~q its vector part. Then, the control law
used for the attitude subsystem is given by
cmd ref
τ cmd = −kp,tilt~qtilt
B̂
− kp,ψ~q BB̂ B̂
− K D ω B̂/B B̂ B B̂ B B̂ B
ref + ω Bref /I × JB ω Bref /I + JB R Bref ω̇ Bref /I (48)
| {z } | {z }
feedback feedforward
where kp,tilt , kp,ψ are positive scalars representing the proportional gains for the tilt and twist errors,
respectively, and K D is a positive definite matrix representing the derivative gains. The stability proof
cmd
can be found in Appendix C. Another approach would be to replace the full attitude error term ~q BB̂
B cmd
in (48) with the pure twist term ~qtilt , although the corresponding stability proof has not been found
and is a suitable direction for future work. This approach differs from the tilt prioritization controller
of [78,79], which includes (additional) feedback terms to linearize the angular dynamics.
B
where the maps FPT (·), MPB (·), FPB (·) are given in (26)–(27), respectively, and MW (·) := MW B (·)
from (12), but with the aeroelastic noise component set to zero. To solve (49), the approximation of
FPH ≈ 0 is made, as discussed in Section 3.3, and additionally
MPR ≈ 0 (50)
MPP ≈ 0 (51)
are made, although taking this into account is a suitable direction for future work. From a modeling
perspective, the approximation MPP ≈ 0 is reasonable since as mentioned in Section 2.2, the pitching
moment of the propeller is dominated by the wing. Next, the approximation MPR ≈ 0 is reasonable
if the propeller rotation rate of a clockwise rotating propeller is roughly similar to that of a counter
clockwise rotating propeller, such that the rolling moments approximately cancel each other out.
From an experimental perspective, these approximations provide adequate tracking even at the high
speed regime (see Section 5).
Drones 2020, 4, 14 18 of 34
where larm is the distance between the vehicle center and a propeller’s center,
are defined for brevity, and where Ω H is the standard quadrotor hover solution:
" #
−1 τ cmd
Ω2H := C (61)
T cmd
Note that the C and D matrices are defined if the body frame B is as shown in Figure 3, modulo the
ordering of the rotors. If they are instead aligned with the rotor arms, as is typically done in the
quadrotor literature, then:
0 −larm k T,0 0 larm k T,0 0 −larm k T,λc 0 larm k T,λc
−larm k T,0
, D = −larm k T,λc
0 larm k T,0 0 0 larm k T,λc 0
C= (62)
k τ,0
−k τ,0 k τ,0 −k τ,0
k τ,λc
−k τ,λc k τ,λc −k τ,λc
k T,0 k T,0 k T,0 k T,0 k T,λc k T,λc k T,λc k T,λc
One way to solve (52) is to use Newton’s method, as done in the outer loop control allocation
block. However, this results in excessive computation, requiring the inverse of a 4 × 4 Hessian matrix.
As an alternative, let
v
u B cmd
u − MW −v BBref /I
f (Ω) := tΩ H − C −1 DΩ − C −1
u 2 (63)
−4 k T,λ2c + k T,µ2
Drones 2020, 4, 14 19 of 34
where the square-root is applied element-wise. The goal is to find the fixed point Ωcmd := Ω∗ such
that Ω∗ = f (Ω∗ ). Note that
∂ f (Ω)
= (1/2) diag (1/ f (Ω∗ )0 , 1/ f (Ω∗ )1 , 1/ f (Ω∗ )2 , 1/ f (Ω∗ )3 ) (−C −1 D ) (64)
∂Ω Ω∗
where the norm applied to the Jacobian is the induced matrix 2-norm, and λ∗c i :=
v BI ref /I cos(αcmd )/(Ωi∗ R). f (·) will be a local contraction mapping if (68) is strictly less than 1 [80].
This will always be the case for a sufficiently small operating region in the climb ratio λc . For example,
using the parameter values from Table 3, this means that for the annular wing vehicle, the operating λc
ratio must be less than 0.68. This is a very extreme operating condition and will not be encountered in
practice, as a climb ratio of 0.2 corresponds roughly to when UAV propellers produce zero thrust [72].
Since f (·) is a local contraction about the solution, then by Banach’s Fixed Point Theorem [80],
Algorithm 1 can be used to find the fixed point Ω∗ .
Algorithm 1: Iterative algorithm to solve the inner control allocation problem (52)
input: desired body torques τ cmd and thrust T cmd , reference velocity expressed in the inertial
frame v BI ref /I , the desired body frame expressed as a rotation matrix R BI cmd (from which αcmd
can be computed), and initial guess Ω(0) .
output: the propeller rates Ωcmd .
Ωcmd ← Ω(0) ;
for iteration = 1,2,... do
Ωcmd ← f (Ωcmd );
end
In practice, Algorithm 1 works for λc larger than 0.68, as Banach’s Fixed Point Theorem is only
a sufficiency condition, although such a scenario is not so interesting as this would not be encountered
in practice. In practice, Algorithm 1 is initialized with the previous time-step’s solution.
See Figure 13 for a simulation of Algorithm 1, where the commanded operating condition is the
target operating speed of v BI ref /I = 10m/s. The hover solution Ω H is used to initialize Algorithm 1
in this case. This figure demonstrates two things: at this high speed, the hover solution is off by a large
amount, as the propellers need to rotate faster to produce the same thrust (under predominantly axial
flow), as evident during the modeling done in Section 2.2. The second is that Algorithm 1 converges
very quickly, often only requiring a couple of iterations in practice. Figure 14 shows the closed loop
tracking results when using the proposed scheme presented herein, and if the hover solution Ω H
were applied instead (both schema use the same feedback control gains as used in the experiments
in Section 5). Here it can be seen that the proposed scheme tracks the desired high-speed maneuver
accurately, whereas the hover solution fails to even hit the target reference speed of 10m/s. Of course,
the standard hover approach can be improved with further tuning (i.e., increasing) the feedback gains,
however doing so will have undesirable consequences, such as causing the system to be more sensitive
to disturbances and noise.
Drones 2020, 4, 14 20 of 34
600
Ωcmd
3
500 Ωcmd
Ωcmd [rad/s]
0
Ωcmd
1 Ωcmd
2
400
300
||Ωcmd − Ω∗ || [rad/s]
101
10−1
10−3
0 2 4 6 8 10
Iteration #
Figure 13. Algorithm 1 performed with inputs τ cmd = 0, T cmd = 1.5N, v BI ref /I = 10m/s, αcmd =
15deg, which corresponds to the typical target flight condition of the annular wing vehicle. The initial
guess was set to the hover solution, i.e., Ω(0) = Ω H as defined in (61). The bottom plot shows the error
of the solution.
10
60
[m/s]
[m]
hover
40
5
p B/I,0
v B/I,0
proposed
I
20
I
0 ref 0
5.0 5.0
[m/s]
2.5 2.5
[m]
0.0 0.0
p B/I,1
v B/I,1
I
−2.5 −2.5
I
−5.0 −5.0
20 5.0
[m/s]
15 2.5
[m]
10 0.0
p B/I,2
v B/I,2
I
5 −2.5
I
0 −5.0
50 60 70 80 90 50 60 70 80 90
t [s] t [s]
Figure 14. Simulated closed loop response using two different inner control allocation schemes: the
hover approach, where Ωcmd = Ω H as defined in (61), and the proposed approach using Algorithm 1.
The feedback gains used are the same as those used in the experiments in Section 5. The difference in
the responses can be exaggerated by using a less aggressive outer loop controller.
Drones 2020, 4, 14 21 of 34
where k p,Ω , k i,Ω are the PI gains. The feedforward term is again necessary for accurate tracking and
compensation of the propeller torque that is encountered in both hover and forward flight.
3.8. Trajectories
It can be shown that the current draw of the motors is a function of the crackle (5th derivative)
of the vehicle’s position trajectory. Thus, to minimize current spikes, trajectories that have bounded
crackle (see Figure 15) are used to generate the reference position trajectory and its derivatives. This is
done by using the harmonic jerk model of [81]:
jmax 1 − cos 2π (t − ti )/Tj /2 t ∈ [ t0 , t1 ], t ∈ [ t6 , t7 ]
ref
j (t) := 0 t ∈ [ t1 , t2 ], t ∈ [ t3 , t4 ], t ∈ [ t5 , t6 ] (70)
− j 1 − cos 2π (t − ti )/Tj /2 t ∈ [ t2 , t3 ], t ∈ [ t4 , t5 ]
max
where jmax , TJ are design parameters, and ti is the initial time instant of the corresponding segment.
These parameters are selected so that a desired position set-point is achieved in each axis.
50
p(t)
0
10
v(t)
0
2.5
a(t)
0.0
−2.5
2.5
j(t)
0.0
−2.5
5
s(t)
−5
20
c(t)
−20
t0 t1 t2 t3 t4 t6 t5 t7
Figure 15. Example of a bounded crackle trajectory using the harmonic jerk model (70).
Drones 2020, 4, 14 22 of 34
4. Software Implementation
An important aspect of the control system is the software architecture used to implement it.
The approach here uses the NuttX real-time operating system (RTOS), which is a light-weight,
POSIX compliant RTOS [82]. The POSIX compliance is the critical ingredient used to achieve high
fidelity software-in-the-loop simulations, as the application software written for the embedded
platform can also be compiled to run on a host’s POSIX compliant personal computer (PC)
(such as a distribution based on GNU/Linux). This allows for certain bugs such as stack
overflows, race-conditions arising from context switches and interprocess communication (IPC) to
be simulated [83], and thus can be caught in advance instead of having to debug software directly
on the embedded platform. This is unlike the approach of [22,84], where only the control algorithms
are simulated as common library routines, or a Simulink (or equivalent) approach [7,20,37,85–90],
where there is a clear separation or distinction between simulated code and code implemented on the
embedded platform.
The software architecture employed is shown in Figure 16. The onboard task can run either
on the embedded platform, or on the host PC for simulation. The onboard task is oblivious to
whether it is being run as a simulation or not. It reads in sensor values using dedicated polling
threads through the virtual file interface via the device drivers [83], and then sends the motor voltages
ucmd via the same interface. The device drivers provide the needed abstraction, where they are
implemented to communicate with the real sensors and actuators on NuttX. For simulation, they are
implemented on a GNU/Linux machine via kernel modules [91], which relay information to and from
the simulator process.
All of the control laws discussed in Section 3 are implemented in the fast thread running within
the onboard main task. It runs at a fixed frequency of 500Hz that is controlled by a dedicated timer
driver /dev/timer0 via signalling [83]. The slow thread communicates with the radio device for
sending telemetry and receiving high level commands from the user (such as takeoff, land, or fly
a certain trajectory). It is also responsible for monitoring for any sensor faults and bringing the vehicle to
an emergency land state. The offboard task runs only on the host PC and runs regardless of whether
a simulation or real experiment is being run. The offboard task communicates with the host radio device
for sending high level commands to the vehicle and receiving telemetry. It also provides the user with
a real time visualization of the received telemetry data. The simulator task runs on the host PC, using the
system model described in Section 2 to drive the ordinary differential equation (ODE) solver [92].
Drones 2020, 4, 14 23 of 34
if sim else
simulator task
Figure 16. Software architecture used to implement the control system. Multiple threads are run
within each process/task, as shown, and communicate amongst each other using standard IPC
mechanisms [83]. The onboard main task runs either on the GNU/Linux machine for simulation, or on
the embedded NuttX platform.
5. Experimental Results
The experiments were performed outdoors; a video can be found at https://youtu.be/ULc63HrgPro.
The experiments were performed in conditions with wind speeds of 2m/s and occasional wind gusts of
up to 5m/s, according to local weather forecasts provided by [93].
Two experiments are performed. The first is a straight line trajectory, shown in Figures 17 and 18,
where the vehicle is commanded to traverse 60m reaching a top speed of 10m/s. The results show good
tracking of the position reference, even at the high-speed part of the trajectory. No significant altitude
fluctuations were encountered, even during the transition. The vehicle’s tilt angle computed by
I
tilt angle = arccos R B̂2,2 (71)
i.e., the arccos of the last entry of the rotation matrix, is shown in Figure 19. The tilt angle varies
between 0 and 80 degrees during the straight line maneuver. The forward and reverse pass differ due
to external wind disturbances and possibly by asymmetries due to manufacturing imperfections.
Drones 2020, 4, 14 24 of 34
60 10
[m/s]
[m]
40
0
p B/I,0
est
v B/I,0
20
I
I
ref
0 −10
5.0 5.0
[m/s]
2.5 2.5
[m]
0.0 0.0
p B/I,1
v B/I,1
I
−2.5 −2.5
I
−5.0 −5.0
20 5.0
[m/s]
15 2.5
[m]
10 0.0
p B/I,2
v B/I,2
I
5 −2.5
I
0 −5.0
430 435 440 445 450 455 460 465 430 435 440 445 450 455 460 465
t [s] t [s]
Figure 17. Estimated and reference trajectories of the straight line maneuver. The shaded region of the
estimator trajectory represents one standard deviation as reported by the onboard state estimator.
60 [m]
Figure 18. Side view of the straight line maneuver. The snapshots are plotted at 2Hz, between times
430 and 445s corresponding to Figures 17 and 19. The vehicle’s k axis is shown for reference.
The second trajectory is shown in Figures 20–22, where the vehicle is commanded to travel in
a circle of radius 10m at a speed of 10m/s. The results again show good tracking of the reference
trajectory throughout the high-speed maneuver. Figure 22 shows that the vehicle’s k-axis is not tangent
with the circle, as the annular wing is not only providing lift to counteract gravity, but also generating
lift in the plane of the circle to provide the required centripetal acceleration, mixed of course with the
rotor thrust. This mixing is done automatically by the outer control allocation block as discussed in
Section 3.
80
tilt angle [deg]
60
40
20
0
430 435 440 445 450 455 460 465
t [s]
Figure 19. Tilt angle (71) of the straight line maneuver as reported by the onboard state estimator.
Drones 2020, 4, 14 25 of 34
20 10
est
[m/s]
[m]
10 0
p B/I,0
v B/I,0
I
I
0 ref
−10
10 10
[m/s]
[m]
0
p B/I,1
v B/I,1
I
I
−10 −10
20 5.0
[m/s]
15 2.5
[m]
10 0.0
p B/I,2
v B/I,2
I
−2.5
I
5
0 −5.0
975 980 985 990 995 975 980 985 990 995
t [s] t [s]
Figure 20. Estimated and reference trajectories of the circle maneuver. The shaded region of the
estimator trajectory represents one standard deviation as reported by the onboard state estimator.
80
tilt angle [deg]
60
40
20
0
975 980 985 990 995
t [s]
Figure 21. Tilt angle (71) of the circle maneuver as reported by the onboard state estimator.
Drones 2020, 4, 14 26 of 34
20 [m]
Figure 22. Top view of the circle maneuver. The snapshots are plotted at 2Hz, between times 981
and 987s corresponding to Figures 20 and 21, where the vehicle is traveling at a speed of 10m/s.
The vehicle’s k axis is shown for reference.
6. Conclusions
A quadrotor with an annular wing has been presented that enhances human safety and can
provide efficient forward flight. The annular wing and propellers have been characterized through
wind tunnel experiments. The designed model-based control system accounts for the dominant
aerodynamics of the propellers under general oblique flow conditions using an iterative algorithm,
and utilizes a tilt-prioritized attitude controller that takes advantage of the symmetry of the vehicle.
The control system has been demonstrated through outdoor experiments and shown to provide
accurate transition maneuvers and high-speed trajectory tracking.
The iterative control allocation algorithm presented in Section 3.6 can be applied to any quadrotor
vehicle, and is a suitable direction for future work for improving tracking performance at high speeds.
A more optimized vehicle design, using lighter and more rigid materials, is a suitable direction for
future work. Other directions include taking into account the propeller H-force and incorporating
an onboard wind speed estimate in the control allocation blocks, and seeking the attitude control
stability proof when a pure twist term is used in the control law (48). Other directions include
performing a rigorous comparison on cross-wind resistance and noise emission of the proposed
annular wing vehicle with conventional planar wing tail-sitters.
Author Contributions: Conceptualization, R.G. and R.D.; methodology, R.G.; software, R.G.; validation, R.G.;
formal analysis, R.G.; investigation, R.G.; resources, R.G. and R.D.; data curation, R.G.; writing—original draft
preparation, R.G.; writing—review and editing, R.G. and R.D.; visualization, R.G.; supervision, R.D.; project
administration, R.G. and R.D.; funding acquisition, R.G. and R.D. All authors have read and agreed to the
published version of the manuscript.
Funding: This research was funded by the Swiss National Science Foundation (SNSF) grant number 200021_162365
and by the Natural Sciences and Engineering Research Council of Canada (NSERC) CGS-D scholarship.
Acknowledgments: The authors would like to thank Julian Humml, Andreas Mueller and Thomas Roesgen at the
Institute of Fluid Dynamics, ETH Zurich for access to the “Large Subsonic Wind Tunnel”. The authors would also
like to thank Daniel Tuerk, Fabian Ruegg and Mirko Meboldt at the Product Development Group, ETH Zurich for
the collaboration on the manufacturing of the annular wing. The authors would also like to thank Marc-Andre
Corzilius and Michael Egli at the Institute for Dynamics Systems and Control, ETH Zurich, for electrical and
mechanical engineering support. Finally, the outdoor flight experiments would not have been possible without
the support provided by Michael Lyrenmann at the Robotic Fabrication Laboratory, ETH Zurich, Peter Isler at the
Institute for Atmospheric and Climate, ETH Zurich, and Petar Stamenkovic.
Drones 2020, 4, 14 27 of 34
Conflicts of Interest: The authors declare no conflict of interest. The funders had no role in the design of the
study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to
publish the results.
Then the velocity of the air expressed in the infinitesimal wing’s frame is
V∞
B
vdw = Rdw
B (θ ) R A (α) 0 (A3)
A/B
0
2π
Z
CW L (α) = (1/S) CdwL (αdw (α, θ ))c( D/2)dθ (A5)
0
where CdwL (·) is the lift coefficient polar of the E169-il airfoil provided by [57] using the following
parameterization:
with cdwL,α = 4. The form for the roll off in the lift coefficient at high angles of attack is provided
by [94], where σ(·) is a sigmoid function and is given by
1 + e − M ( α − α0 ) + e M ( α + α0 )
σ(α) = (A7)
1 + e − M ( α − α0 ) 1 + e M ( α + α0 )
where M, α0 are parameters representing the sharpness and location of the airfoil stall, respectively.
Figure A2 shows the resulting lift curve CW L (·), with a comparison to the planar lift curve CdwL (·).
The annular wing has a larger coefficient of lift at all angles of attack than the planar airfoil (note both
use the same reference planform area of S = Dc), which is expected. Additionally, the stall behavior is
slightly washed out by the annular wing. A similar exercise can be performed for the drag coefficient
(see e.g., Equation (4), [59]).
Drones 2020, 4, 14 28 of 34
kB
kA α jB
jA iA
V∞ iB
θ jdw
kdw
αdw
idw
Figure A1. Infinitesimal wing element and corresponding reference frames.
1.5 CW L
lift coefficient
1.0
CdwL
0.5
0.0
0 10 20 30 40 50 60 70 80 90
α [deg]
Figure A2. Theoretical lift coefficient curves of the annular wing, CW L (·), and of the planar airfoil
CdwL (·).
where is the quaternion multiplication operator defined using Hamilton’s convention. Note the
definition (A8) is different to that used in [60], which sparked the NASA JPL convention for the
quaternion multiplication. A related discussion as to why the approach used here is preferable can be
found in the recent work [95].
ref
Given the attitude error q := q BB , the goal is to determine the attitude p := qtilt
B such that
− p1 − p2
0
p20 − p22 p1 p2
2p2 B
1 p0 p0
ṗ := q̇tilt
B̂
=
p1 p2 p22 − p21
ω ref
B/B (A14)
2 −2p1
p0 p0
0 0 0
B B B
J ω̇ B/I = τ − ω B/I × Jω B/I (A15)
B B B
J ω̇ B/B ref = J ω̇ B/I − J ω̇ Bref /I (A16)
B B
= τ − ω B/I × Jω B/I − J ω̇ BBref /I (A17)
asymptotically brings the attitude and angular velocity errors to zero. To show this, consider the
following Lyapunov function candidate:
T
B B tilt Bref
V = (1/2) ω B/B ref Jω B/B ref + 2k p,tilt (1 − q B,0 ) + 2k p,ψ (1 − q B,0 ) (A19)
B tilt B ref
which is positive everywhere except for the target equilibrium of ω B/B ref = 0 and q B,0 = q B,0 = 1.
Then, using (A13), (A14), (A16) and (A18), and the following identity [96]:
ref
R BBref ω̇ BBref /I = ω̇ BBref /I + ω B/I
B
× ω BBref /I (A20)
= ω̇ BBref /I B
+ ω B/B ref × ω BBref /I (A21)
Assume that without loss of generality, the inertia tensor J is a diagonal matrix. Then, the following
identity is verifiable [97]:
ref
ω BBref /I × Jω BBref /I − ω B/I
B B
× Jω B/I B
+ J ω B/B B
ref × ω Bref /I = (2J − trace( J ) I3×3 ) ω BBref /I × ω B/B
B
ref (A23)
B
Since this is perpendicular to ω B/B ref , this term vanishes in (A22), yielding:
B 2
V̇ = −K D ω B/B ref ≤0 (A24)
B
which implies that ω B/B ref is bounded. It can be shown that the second time derivative, V̈, is also
bounded, which by Barbalat’s Lemma [98] implies that V̇ goes to 0 as t goes to ∞. Equivalently,
by (A24) this means that ω B/B B
ref goes to 0. This also implies that the attitude error must go to zero,
evident from substituting the control law (A18) into the error dynamics (A16). Of course this is true
for all initial conditions except when qtilt
B,0 = 0, which results in a singularity in the control law as the
vector part ~qtilt
B becomes ill-defined (see (A12)).
References
1. Campbell, J.P. Research on VTOL and STOL aircraft in the United States. In Advances in Aeronautical Sciences:
Proceedings of the First International Congress in the Aeronautical Sciences, Madrid, Spain, 8–13 September 1958;
Elsevier: Amsterdam, The Netherlands, 2014; p. 845.
2. Anderson, S.B. Historical Overview of V/STOL Aircraft Technology; NASA-TM-81280, A-8511; NASA Ames
Research Center: Moffett Field, CA, USA, 1981.
3. Sigala, A.; Langhals, B. Applications of Unmanned Aerial Systems (UAS): A Delphi Study Projecting Future
UAS Missions and Relevant Challenges. Drones 2020, 4, 8. [CrossRef]
4. Saeed, A.S.; Younes, A.B.; Islam, S.; Dias, J.; Seneviratne, L.; Cai, G. A review on the platform design, dynamic
modeling and control of hybrid UAVs. In Proceedings of the International Conference on Unmanned Aircraft
Systems, Denver, CO, USA, 9–12 June 2015; pp. 806–815. [CrossRef]
5. Xu, J. Design Perspectives on Delivery Drones; RAND: Santa Monica, CA, USA, 2017.
6. Woods, R.J. Convertiplanes and Other VTOL Aircraft; Technical Report, SAE Technical Paper; SAE International:
Warrendale, MI, USA, 1957. [CrossRef]
7. Stone, R.; Clarke, G. The T-Wing: A VTOL UAV for Defense and Civilian Applications; University of Sydney:
Sydney, Australia, 2001.
8. Hochstenbach, M.; Notteboom, C.; Theys, B.; Schutter, J.D. Design and Control of an Unmanned Aerial
Vehicle for Autonomous Parcel Delivery with Transition from Vertical Take-off to Forward Flight— VertiKUL,
a Quadcopter Tailsitter. Int. J. Micro Air Veh. 2015, 7, 395–405. [CrossRef]
9. Saeed, A.S.; Younes, A.B.; Cai, C.; Cai, G. A survey of hybrid Unmanned Aerial Vehicles. Prog. Aerospace Sci.
2018, 98, 91–105. [CrossRef]
10. De Wagter, C.; Ruijsink, R.; Smeur, E.J.J.; van Hecke, K.G.; van Tienen, F.; van der Horst, E.; Remes, B.D.W.
Design, control, and visual navigation of the DelftaCopter VTOL tail-sitter UAV. J. Field Robot. 2018,
35, 937–960. [CrossRef]
11. Swarnkar, S.; Parwana, H.; Kothari, M.; Abhishek, A. Biplane-Quadrotor Tail-Sitter UAV: Flight Dynamics
and Control. J. Guid. Control Dyn. 2018, 41, 1049–1067. [CrossRef]
12. News, B. Toddler’s Eyeball Sliced in Half by Drone Propeller. Available online: http://www.bbc.com/
news/uk-england-hereford-worcester-34936739 (accessed on 1 January 2020).
13. Alphonse, V.D.; Kemper, A.R.; Rowson, S.; Duma, S.M. Eye injury risk associated with remote control toy
helicopter blades. Biomed. Sci. Instrum. 2012, 48, 20–26.
14. DroneImpact-T0005—3200 fps to 25 fps (Pork, Carbon Propeller, 9 m/s). Available online: https://youtu.
be/QQoTQZcwZWE (accessed on 13 April 2020).
15. MythBusters: Flights of Fantasy. Episode 230, Discovery Channel. 2015. Available online: https://go.
discovery.com/tv-shows/mythbusters (accessed on 1 January 2020).
Drones 2020, 4, 14 31 of 34
16. Arterburn, D.R.; Duling, C.T.; Goli, N.R. Ground Collision Severity Standards for UAS Operating in the
National Airspace System (NAS). In Proceedings of the 17th AIAA Aviation Technology, Integration, and
Operations Conference, Denver, CO, USA, 5–9 June 2017. [CrossRef]
17. Johnson, J.A.; Svach, M.R.; Brown, L.H. Drone and Other Hobbyist Aircraft Injuries Seen in U.S. Emergency
Departments, 2010–2017. Am. J. Prev. Med. 2019, 57, 826–829. [CrossRef]
18. Young, L.; Aiken, E.; Johnson, J.; Demblewski, R.; Andrews, J.; Klem, J. New Concepts and Perspectives
on Micro-Rotorcraft and Small Autonomous Rotary-Wing Vehicles. In Proceedings of the AIAA Applied
Aerodynamics Conference, Chicago, IL, USA, 28 June–1 July 2010. [CrossRef]
19. Waibel, M.; Keays, B.; Augugliaro, F. Drone Shows: Creative Potential and Best Practices; Technical Report; ETH
Zurich: Zurich, Switzerland, 2017. [CrossRef]
20. Theys, B.; De Vos, G.; De Schutter, J. A control approach for transitioning VTOL UAVs with continuously
varying transition angle and controlled by differential thrust. In Proceedings of the International Conference on
Unmanned Aircraft Systems, Arlington, VA, USA, 7–10 June 2016; pp. 118–125. [CrossRef]
21. Gill, R. Flying Ring Robot Can Fly on Its Side. Available online: https://robohub.org/flying-ring-robot-
can-fly-on-its-side/ (accessed on 1 January 2016).
22. Lupashin, S.; Hehn, M.; Mueller, M.W.; Schoellig, A.P.; Sherback, M.; D’Andrea, R. A platform for aerial
robotics research and demonstration: The Flying Machine Arena. Mechatronics 2014, 24, 41–54. [CrossRef]
23. Wilke, J. A Drone Program Taking Off. Available online: https://blog.aboutamazon.com/transportation/a-
drone-program-taking-flight (accessed on 1 January 2020).
24. Johnson, E.; Turbe, M.; Wu, A.; Kannan, S.; Neidhoefer, J. Flight Results of Autonomous Fixed-Wing UAV
Transitions to and from Stationary Hover. In Proceedings of the AIAA Guidance, Navigation, and Control
Conference and Exhibit, Keystone, CO, USA, 21–24 August 2006. [CrossRef]
25. Kita, K.; Konno, A.; Uchiyama, M. Transition between Level Flight and Hovering of a Tail-Sitter Vertical
Takeoff and Landing Aerial Robot. Adv. Robot. 2010, 24, 763–781. [CrossRef]
26. Stone, R.H. Control architecture for a tail-sitter unmanned air vehicle. In Proceedings of the Asian Control
Conference, Melbourne, Australia, 20–23 July 2004; Volume 2, pp. 736–744.
27. Stone, R.H.; Anderson, P.; Hutchison, C.; Tsai, A.; Gibbens, P.; Wong, K.C. Flight Testing of the T-Wing
Tail-Sitter Unmanned Air Vehicle. J. Aircraft 2008, 45, 673–685. [CrossRef]
28. Argyle, M.E.; Beard, R.W.; Morris, S. The Vertical Bat tail-sitter: Dynamic model and control architecture.
In Proceedings of the American Control Conference, Washington, DC, USA, 17–19 June 2013; pp. 806–811.
[CrossRef]
29. Verling, S.; Weibel, B.; Boosfeld, M.; Alexis, K.; Burri, M.; Siegwart, R. Full Attitude Control of a VTOL
tailsitter UAV. In Proceedings of the IEEE International Conference on Robotics and Automation, Stockholm,
Sweden, 16–21 May 2016; pp. 3006–3012. [CrossRef]
30. Udagawa, T.; Chisaka, T.; Ishii, R. Tail-sitter VTOL-UAV—Research project overview. In Proceedings
of the 24th Congress of International Council of the Aeronautical Sciences, Yokohama, Japan,
29 August–3 September 2004.
31. Sinha, P.; Esden-Tempski, P.; Forrette, C.A.; Gibboney, J.K.; Horn, G.M. Versatile, modular, extensible vtol
aerial platform with autonomous flight mode transitions. In Proceedings of the IEEE Aerospace Conference,
Big Sky, MT, USA, 3–10 March 2012; pp. 1–17. [CrossRef]
32. Oosedo, A.; Abiko, S.; Konno, A.; Koizumi, T.; Furui, T.; Uchiyama, M. Development of a quad rotor
tail-sitter VTOL UAV without control surfaces and experimental verification. In Proceedings of the IEEE
International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 317–322.
[CrossRef]
33. Oosedo, A.; Abiko, S.; Konno, A.; Uchiyama, M. Optimal transition from hovering to level-flight of
a quadrotor tail-sitter UAV. Auton. Robots 2017, 41, 1143–1159. [CrossRef]
34. Wang, Y.; Lyu, X.; Gu, H.; Shen, S.; Li, Z.; Zhang, F. Design, implementation and verification of a quadrotor
tail-sitter VTOL UAV. In Proceedings of the International Conference on Unmanned Aircraft Systems, Miami,
FL, USA, 13–16 June 2017; pp. 462–471. [CrossRef]
35. Lyu, X.; Gu, H.; Wang, Y.; Li, Z.; Shen, S.; Zhang, F. Design and implementation of a quadrotor tail-sitter
VTOL UAV. In Proceedings of the IEEE International Conference on Robotics and Automation, Singapore,
29 May–3 June 2017; pp. 3924–3930. [CrossRef]
Drones 2020, 4, 14 32 of 34
36. Forshaw, J.L.; Lappas, V.J.; Briggs, P. Transitional Control Architecture and Methodology for a Twin Rotor
Tailsitter. J. Guid. Control Dyn. 2014, 37, 1289–1298. [CrossRef]
37. Wang, X.; Chen, Z.; Yuan, Z. Modeling and control of an agile tail-sitter aircraft. J. Frankl. Inst. 2015,
352, 5437–5472. [CrossRef]
38. Jung, Y.; Cho, S.; Shim, D.H. A Comprehensive Flight Control Design and Experiment of a Tail-Sitter
UAV. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Boston, MA, USA,
19–22 August 2013. [CrossRef]
39. Bapst, R.; Ritz, R.; Meier, L.; Pollefeys, M. Design and implementation of an unmanned tail-sitter.
In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Hamburg,
Germany, 28 September–2 October 2015; pp. 1885–1890. [CrossRef]
40. Hogge, J.V. Development of a Miniature VTOL Tail-Sitter Unmanned Aerial Vehicle; Brigham Young University:
Provo, UT, USA, 2008.
41. Kubo, D.; Suzuki, S. Tail-Sitter Vertical Takeoff and Landing Unmanned Aerial Vehicle: Transitional Flight
Analysis. J. Aircraft 2008, 45, 292–297. [CrossRef]
42. Moore, M. NASA Puffin Electric Tailsitter VTOL Concept. In Proceedings of the AIAA Aviation Technology,
Integration, and Operations Conference, Fort Worth, TX, USA, 13–15 September 2010. doi:10.2514/6.2010-9345.
[CrossRef]
43. Matsumoto, T.; Kita, K.; Suzuki, R.; Oosedo, A.; Go, K.; Hoshino, Y.; Konno, A.; Uchiyama, M. A hovering
control strategy for a tail-sitter VTOL UAV that increases stability against large disturbance. In Proceedings
of the IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–7 May 2010;
pp. 54–59. [CrossRef]
44. Suzuki, R.; Matsumoto, T.; Konno, A.; Hoshino, Y.; Go, K.; Oosedo, A.; Uchiyama, M. Teleoperation of
a tail-sitter VTOL UAV. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and
Systems, Taipei, Taiwan, 10–12 October 2010; pp. 1618–1623. [CrossRef]
45. Jung, Y.; Shim, D.H. Development and Application of Controller for Transition Flight of Tail-Sitter UAV.
J. Intell. Robot. Syst. 2012, 65, 137–152. [CrossRef]
46. Garcia, O.; Castillo, P.; Wong, K.C.; Lozano, R. Attitude Stabilization with Real-time Experiments of a Tail-sitter
Aircraft in Horizontal Flight. J. Intell. Robot. Syst. 2012, 65, 123–136. [CrossRef]
47. Ritz, R.; D’Andrea, R. A global controller for flying wing tailsitter vehicles. In Proceedings of the IEEE
International Conference on Robotics and Automation, Singapore, 29 May–3 June 2017; pp. 2731–2738.
[CrossRef]
48. Smeur, E.J.J.; Bronz, M.; de Croon, G.C.H.E. Incremental Control and Guidance of Hybrid Aircraft Applied
to a Tailsitter Unmanned Air Vehicle. J. Guid. Contro Dyn. 2020, 43, 274–287. [CrossRef]
49. Raj, N.; Banavar, R.; Abhishek; Kothari, M. Attitude Control of Novel Tail Sitter: Swiveling Biplane–Quadrotor.
J. Guid. Control Dyn. 2019, 1–9. [CrossRef]
50. Zhou, J.; Lyu, X.; Li, Z.; Shen, S.; Zhang, F. A unified control method for quadrotor tail-sitter UAVs in all
flight modes: Hover, transition, and level flight. In Proceedings of the IEEE/RSJ International Conference on
Intelligent Robots and Systems, Vancouver, BC, Canada, 24–28 September 2017; pp. 4835–4841. [CrossRef]
51. Zafirov, D. Closed wing aircraft classification. Int. J. Eng. Res. Technol. 2014, 3, 10–15.
52. Kroo, I.; Mcmasters, J.; Smith, S. Highly Nonplanar Lifting Systems; NASA-CP-10184-Pt-1; NASA Ames
Research Center: Moffett Field, CA, USA, 1995; pp. 331–370.
53. Fletcher, H.S. Experimental Investigation of Lift, Drag, and Pitching Moment of Five Annular Airfoils;
NACA-TN-4117; Langley Aeronautical Laboratory: Langley Field, VA, USA, 1957.
54. NASA. Green Aviation: A First Look at Flight in 2025. Available online: https://www.nasa.gov/topics/
aeronautics/features/flight_2025.html (accessed on 4 January 2017).
55. Traub, L.W. Experimental Investigation of Annular Wing Aerodynamics. J. Aircraft 2009, 46, 988–996.
[CrossRef]
56. Anderson, M.; Lehmkuehler, K.; Ho, D.; Wong, K.; Hendrick, P. Propeller location optimisation for annular
wing design. In Proceedings of the International Micro Air Vehicle Conference and Flight Competition
(IMAV2013), Toulouse, France, 17–20 September 2013.
57. Airfoil Tools. Available online: http://airfoiltools.com/airfoil/details?airfoil=e169-il (accessed on
1 January 2017).
Drones 2020, 4, 14 33 of 34
58. Türk, D.A.; Fontana, F.; Rüegg, F.; Gill, R.; Meboldt, M. Assessing the performance of additive manufacturing
applications. In Proceedings of the International Conference on Engineering Design; The Design Society: Glasgow,
UK, 2017; pp. 259–268.
59. Gill, R.; D’Andrea, R. Propeller thrust and drag in forward flight. In Proceedings of the IEEE Conference on
Control Technology and Applications, Mauna Lani, HI, USA, 27–30 August 2017; pp. 73–79. [CrossRef]
60. Shuster, M.D. A survey of attitude representations. Navigation 1993, 8, 439–517.
61. Darmofal, D.; Drela, M.; Uranga, A. Introduction to Aerodynamics—Lecture Notes; Massachusetts Institute of
Technology: Cambridge, MA, USA, 2016.
62. Hu, H.; Yang, Z.; Igarashi, H. Aerodynamic Hysteresis of a Low-Reynolds-Number Airfoil. J. Aircraft 2007,
44, 2083–2086. [CrossRef]
63. McCroskey, W.J. Unsteady airfoils. Annu. Rev. Fluid Mech. 1982, 14, 285–311. [CrossRef]
64. Jorgensen, L.H. Prediction of Static Aerodynamic Characteristics for Space-Shuttle-Like and Other Bodies at Angles of
Attack from 0 deg to 180 deg; NASA-TN-D-6996; NASA Ames Research Center: Moffett Field, CA, USA 1973.
65. Lyu, X.; Zhou, J.; Gu, H.; Li, Z.; Shen, S.; Zhang, F. Disturbance Observer Based Hovering Control of
Quadrotor Tail-Sitter VTOL UAVs Using H∞ Synthesis. IEEE Robot. Autom. Lett. 2018, 3, 2910–2917.
[CrossRef]
66. Zazkis, D. Odd dialogues on odd and even functions. In Proceedings of the Conference on Research in
Undergraduate Mathematics Education, Denver, CO, USA, 21–23 February 2013.
67. Boyd, S.; Vandenberghe, L. Convex Optimization; Cambridge University Press: Cambridge, UK, 2004.
68. Diamond, S.; Boyd, S. CVXPY: A Python-Embedded Modeling Language for Convex Optimization. J. Mach.
Learn. Res. 2016, 17, 1–5.
69. Agrawal, A.; Verschueren, R.; Diamond, S.; Boyd, S. A Rewriting System for Convex Optimization Problems.
J. Control Decis. 2018, 5, 42–60. [CrossRef]
70. Jones, E.; Oliphant, T.; Peterson, P. SciPy: Open source scientific tools for Python. Available online:
http://www.scipy.org/ (accessed on 1 February 2019).
71. Salzmann, M.; Teunissen, P.; Sideris, M. Detection and Modelling of Coloured Noise for Kalman Filter
Applications. In Kinematic Systems in Geodesy, Surveying, and Remote Sensing; Schwarz, K.P., Lachapelle, G.,
Eds.; Springer: New York, NY, USA, 1991; pp. 251–260.
72. Gill, R.; D’Andrea, R. Computationally Efficient Force and Moment Models for Propellers in UAV Forward
Flight Applications. Drones 2019, 3, 77. [CrossRef]
73. Theys, B.; Dimitriadis, G.; Andrianne, T.; Hendrick, P.; De Schutter, J. Wind tunnel testing of a VTOL MAV
propeller in tilted operating mode. In Proceedings of the International Conference on Unmanned Aircraft
Systems, Orlando, FL, USA, 27–30 May 2014; pp. 1064–1072. [CrossRef]
74. Gill, R.; Mueller, M.W.; D’Andrea, R. A Full-order Solution to the Attitude Reset Problem for Kalman
Filtering of Attitudes. J. Guid. Control Dyn. 2020, in press. [CrossRef]
75. Kirby, S. TGY–Open Source Firmware for ATmega-based Brushless ESCs. Available online: https://github.
com/sim-/tgy (accessed on 1 January 2018).
76. Brescianini, D.; D’Andrea, R. An omni-directional multirotor vehicle. Mechatronics 2018, 55, 76–93. [CrossRef]
77. Diebel, J. Representing attitude: Euler angles, unit quaternions, and rotation vectors. Matrix 2006, 58, 1–35.
78. Brescianini, D.; D’Andrea, R. Tilt-Prioritized Quadrocopter Attitude Control. IEEE Trans. Control Syst. Technol.
2018, 1–12. [CrossRef]
79. Mueller, M.W. Multicopter attitude control for recovery from large disturbances. arXiv 2018,
arXiv:1802.09143.
80. Hefti, A. A differentiable characterization of local contractions on Banach spaces. Fixed Point Theory Appl.
2015, 2015, 106. [CrossRef]
81. Fang, Y.; Hu, J.; Liu, W.; Shao, Q.; Qi, J.; Peng, Y. Smooth and time-optimal S-curve trajectory planning for
automated robots and machines. Mech. Mach. Theory 2019, 137, 127–153. [CrossRef]
82. Nutt, G. NuttX Operating System User’s Manual. Available online: https://cwiki.apache.org/confluence/
display/NUTTX/Nuttx (accessed on 1 January 2020).
83. Stevens, W.R.; Rago, S.A. Advanced Programming in the UNIX Environment; Addison-Wesley: Boston, MA,
USA, 2008.
Drones 2020, 4, 14 34 of 34
84. Lara, D.; Sanchez, A.; Lozano, R.; Castillo, P. Real-time embedded control system for VTOL aircrafts:
Application to stabilize a quad-rotor helicopter. In Proceedings of the IEEE Conference on Computer
Aided Control System Design, IEEE International Conference on Control Applications, IEEE International
Symposium on Intelligent Control, Munich, Germany, 4–6 October 2006; pp. 2553–2558. [CrossRef]
85. Rothhaar, P.M.; Murphy, P.C.; Bacon, B.J.; Gregory, I.M.; Grauer, J.A.; Busan, R.C.; Croom, M.A.
NASA Langley Distributed Propulsion VTOL TiltWing Aircraft Testing, Modeling, Simulation, Control, and
Flight Test Development. In Proceedings of the AIAA Aviation Technology, Integration, and Operations
Conference, Atlanta, GA, USA, 16–20 June 2014. doi:10.2514/6.2014-2999. [CrossRef]
86. Zhang, F.; Lyu, X.; Wang, Y.; Gu, H.; Li, Z. Modeling and Flight Control Simulation of a Quadrotor Tailsitter
VTOL UAV. In Proceedings of the AIAA Modeling and Simulation Technologies Conference, Grapevine, TX,
USA, 9–13 January 2017. [CrossRef]
87. Chu, D.; Sprinkle, J.; Randall, R.; Shkarayev, S. Simulator Development for Transition Flight Dynamics of
a VTOL MAV. Int. J. Micro Air Veh. 2010, 2, 69–89. [CrossRef]
88. Poinsot, D.; Bérard, C.; Krashanitsa, R.; Shkarayev, S. Investigation of Flight Dynamics and Automatic
Controls for Hovering Micro Air Vehicles. In Proceedings of the AIAA Guidance, Navigation and Control
Conference and Exhibit, Honolulu, HI, USA, 18–21 August 2008. [CrossRef]
89. Tayebi, A.; McGilvray, S. Attitude stabilization of a VTOL quadrotor aircraft. IEEE Trans. Control Syst. Technol.
2006, 14, 562–571. [CrossRef]
90. Chu, D.; Sprinkle, J.; Randall, R.; Shkarayev, S. Automatic Control of VTOL Micro Air Vehicle During
Transition Maneuver. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Chicago,
IL, USA, 10–13 August 2009. [CrossRef]
91. Salzman, P.J.; Burian, M.; Pomerantz, O. The Linux Kernel Module Programming Guide; CreateSpace
Independent Publishing Platform: Scotts Valley, CA, USA, 2007.
92. Gough, B. GNU Scientific Library Reference Manual; Network Theory Ltd.: Bristol, UK, 2009.
93. Meteoblue. Available online: https://www.meteoblue.com/en/weather/week/47.406N8.512E541_
Europe2FZurich (accessed on 1 January 2020).
94. Beard, R.W.; McLain, T.W. Small Unmanned Aircraft: Theory and Practice; Princeton University Press: Princeton,
NJ, USA, 2012.
95. Sommer, H.; Gilitschenski, I.; Bloesch, M.; Weiss, S.; Siegwart, R.; Nieto, J. Why and How to Avoid the
Flipped Quaternion Multiplication. Aerospace 2018, 5, 72. [CrossRef]
96. Pfeiffer, F.; Glocker, C. Multibody Dynamics with Unilateral Contacts; John Wiley & Sons: Hoboken, NJ,
USA, 1996.
97. Lee, T. Global Exponential Attitude Tracking Controls on SO(3). IEEE Trans. Autom. Control 2015,
60, 2837–2842. [CrossRef]
98. Khalil, H.K.; Grizzle, J.W. Nonlinear Systems; Prentice Hall: Upper Saddle River, NJ, USA, 2002; Volume 3.
c 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).