Quadrotor Tailsitter VTOL UAV Simulation
Quadrotor Tailsitter VTOL UAV Simulation
net/publication/312109050
CITATIONS READS
32 2,759
5 authors, including:
Haowei Gu
Hong Kong University of Science and Technology
12 PUBLICATIONS 469 CITATIONS
SEE PROFILE
All content following this page was uploaded by Fu Zhang on 31 July 2019.
This paper presents the modeling and simulation of a quad rotor tail-sitter VTOL UAV.
The VTOL UAV is configured with four rotors for full attitude control and thrust gener-
ation for both vertical and forward flight. In the modeling process, a full attitude wind
tunnel test was performed on the full scale UAV to capture the UAV aerodynamics. In our
model, we explicitly consider the degradation of motor thrust and torque at the presence
of forward speed, which is usually neglected in most multi-rotor models. Quaternion based
attitude representation is utilized to drive the dynamics of the aircraft. When monitoring
and commanding the UAV attitude, ZXY Euler angles are used to avoid the singularity
at pitching angle of 90 degrees of commonly used ZYX Euler angles. Other minor consid-
erations include motor dynamics, gyroscopic effect, etc. Such a model captures the UAV
kinematics, dynamics, aerodynamics and actuator dynamics, and serves a good reference
model for flight controller design and verification. As a testimony of the presented model,
an attitude controller with an altitude holding loop will be presented.
Nomenclature
p Position vector represented in earth frame, m
R Vehicle orientation w.r.t. earth frame
v Vehicle groundspeed vector represented in earth frame, m/s
ω Angular velocity vector represented in body frame, rad/s
m Mass, kg
It Inertia matrix of the UAV, kg · m2
Ft Force vector represented in earth frame, N
Mt Moment vector represented in body frame, N · m
CT Propeller thrust coefficient
CQ Propeller torque coefficient
w Wind speed vector represented in earth frame, m/s
u Airspeed vector represented in body frame, m/s
V Airspeed magnitude, m/s
αx Angle of attack, rad
β Sideslip angle, rad
CD Drag coefficient
CL Lift coefficient
CY Side force coefficient
Cl Rolling coefficient
Cm Pitching coefficient
Cn Yawing coefficient
S Reference area, m2
c̄ Characteristic length, m
ρ Air density, kg/m3
∗ Research Assistant Professor, Department of Electronic and Computer Engineering, HKUST, Clear Water Bay, Hong Kong
† Ph.D. Candidate, Department of Electronic and Computer Engineering, HKUST, Clear Water Bay, Hong Kong
‡ [Link] Student, Department of Electronic and Computer Engineering, HKUST, Clear Water Bay, Hong Kong
§ Professor, Department of Electronic and Computer Engineering, HKUST, Clear Water Bay, Hong Kong
1 of 13
2 of 13
A. Coordinate Systems
Coordinate systems used in this paper will take conventions from conventional fixed-wing aircrafts10, 11 . As
seen in Figure 2, the earth frame denoted by Fe (Oe , Xe , Ye , Ze ) is attached to the earth and is considered as
an inertial frame in analyzing the UAV motion. The three axes of the earth frame are respectively aligned
with the North, East and Down direction of the earth. The body frame denoted by Fb (CG, Xb , Yb , Zb )
is attached to the UAV body thus being non-inertial. The three axes of the body frame are respectively
the UAV front, right and down direction. The orientation of the body frame w.r.t. earth frame is time
varying and is denoted as R. In addition to the earth frame and body frame, a motor frame denoted as
(i) (i) (i) (i) (i)
Fm (Om , Xm , Ym , Zm ) is embedded to the i-th motor. This is necessary as the motor is inclined and is no
longer aligned with the body frame. As seen in Figure 3, the X axis of the motor frame is aligned with the
motor rotation axis and stays still with the motor stator (instead of rotating with the rotor). As a result,
(i)
the orientation of the i-th motor frame w.r.t. the body frame is fixed and can be denoted as Rm .
Xb
Xm(i)
Zb Zm(i)
CG
Ym(i)
Yb
CG
Zb Xb Yb
Oe
Ye
Xe
Ze
Figure 2. Earth frame versus body frame Figure 3. Body frame versus motor frame
3 of 13
0 0
where m is the mass; Ir is the moment of inertia of the rotor and propeller; It is the inertial matrix of
the aircraft; v is the linear velocity of the UAV center of mass relative to earth (i.e. the groundspeed) and
is represented in the earth frame; ω is the UAV angular velocity relative to earth and is represented in
body frame; σi is the rotation speed of i-th motor; si indicates the i-th motor rotating direction; Ft and
Mt are respectively the total force and moment applied on the UAV. When compared with Euler’s rotation
equations describing the rotation of a generic rigid body, Eq. (2) takes into account for the rotor gyroscopic
effect and motor inertia. It is worth mentioning that the motor inertia term will contribute a zero in the
UAV’s transfer function in yawing direction and should be compensated in designing flight controllers.
Forces exerted on the vehicle consist of aerodynamic force, propeller thrust and gravity. Assume the
thrust produced on i-th propeller is Ti , the total force can be rewritten as
X Ti 0
(i)
Ft = R Rm 0 + fa + 0 (3)
0 mg
where fa is the aerodynamic force produced by the airframe. It should be noticed that fa is a vector in body
frame while Ft in earth frame. Similarly, the total moment Mt can be rewritten as
X Ti −si Qi
(i) (i)
Mt = r̂i Rm 0 + Rm 0 + Ma (4)
0 0
where Ma is the aerodynamic moment on the airframe, Qi is the torque produced on the i-th propeller and
ri is the position vector of each motor in body frame.
Eq. (1 – 4) is a generic model for a wide class of UAVs such as multi-copters and tail-sitter UAVs where
the rotors are arbitrarily located. It can also be extended with minor modifications to capture the model of
other UAVs and actuation mechanisms such as tilt-rotor, tilt-wing, elevons, etc.
C. Kinematics
When compared with the vehicle dynamics described in Eq. (1 - 2), the kinematics of the vehicle also breaks
into translation and rotation parts. The translation part describes the displacement (denoted as p) of the
UAV center of mass and is related to the velocity by
ṗ = v (5)
The rotation part describes the UAV attitude, which is denoted by its rotation matrix R and lies on
SO(3)12 ,
Ṙ = Rbω (6)
where the b· is an operation that converts a vector in R3 to a skew symmetric matrix in R3×3
0 −ωz ωy
ωb = ωz 0 −ωx (7)
−ωy ωz 0
4 of 13
A number of minimal dimensional (i.e. three) parameterization of the attitude kinematics have been
developed to eliminate the redundancy, such as Euler angles through three successive rotations, parame-
terization methods developed by Tsiotras et al 15 through two successive rotations, and angle-axis param-
eterization through one single rotation. Unfortunately, it has been proved that none of three-dimensional
parameterization methods can be singularity free14, 16 .
A good balance between singularity free and low redundancy is quaternion based parameterization, which
is singularity free while keeps only one parameter of redundancy. Readers can refer to Farrell17 for a full
description of quaternion. The attitude propagation using quaternion representation is
" #
1 −T
q̇ = ω (9)
2 ηI + b
" #
η
where q = ∈ R4 , η ∈ R is the scalar part of the quaternion q while ∈ R3 is the vector part of the
quaternion q.
In our simulation, the attitude is updated using Eq. (9) and converted to the DCM through
R = I + 2ηb 2
+ 2b (10)
It can be seen that the quaternion is ideal for computer simulation as it is singularity free. However, as
it keeps one parameter of redundancy, quaternion based parameterization is difficulty for visualization and
human interpretation. In conventional aircraft analysis, the airplane attitude is usually represented by ZYX
Euler angles10, 11 . Even though ZYX Euler angles are singular at pitching angle of 90 degrees, the singular
point is well avoided as conventional airplanes rarely operate in such a high pitching angle. However, the
tail-sitter VTOL UAV is designed to tilt itself from vertical direction to horizontal direction, resulting in a
large pitching angle nearly 90 degrees. Apparently, ZYX Euler angles is not a good choice in this situation.
In this paper, we propose to use ZXY Euler angles to represent the UAV attitude for the purpose of
monitoring and accepting operator’s attitude commands if the UAV is operating in attitude mode. ZXY
Euler angles refer to a sets of consecutive rotations where the initial frame first rotates along its Z axis by
angle Ψ, then rotates along the X axis of the new frame by angle Φ, and finally along the Y axis of the
newest frame by angle Θ. As each rotation is made with respect to the latest frame (i.e. intrinsic), the
resulting rotation matrix is
R = RZ (Ψ)RX (Φ)RY (Θ) (11)
It can be seen that when compared with ZYX Euler angles, ZXY Euler angles exchanged the order of
the last two rotations, which does not cause any difficulty in human interpretation but successfully shifts
the singular point from Θ = ± π2 to Φ = ± π2 . Fortunately, this singular point is rarely reached for tail-sitter
VTOL UAVs.
ZXY Euler angles is also called Pitch-Roll-Yaw (PRY) Euler angles which refer to a set of consecutive
rotations where the initial frame is first rotates along its Y axis (i.e. Pitch) by angle Θ, then rotates along
the X axis (i.e. Roll) of the initial frame by angle Φ, and finally rotates along the Z axis (i.e. Yaw) of the
initial frame by angle Ψ. As each rotation is made with respect to the initial frame (i.e. extrinsic), the
resulting rotation matrix is
R = RZ (Ψ)RX (Φ)RY (Θ) (12)
which is essentially the same with Eq. (11). ZXY Euler angles can be computed from the DCM using the
following formulas
Θ = tan−1 −r 31
r33
Φ = sin−1 (r
32 ) (13)
−1 −r12
Ψ = tan r22
5 of 13
Torque coefficient [C Q]
0.07
Thrust coefficient [C T]
RPM:10000 RPM:10000
RPM:11000 10 RPM:11000
0.06 RPM:12000 RPM:12000
RPM:13000 RPM:13000
RPM:13999 RPM:13999
0.05 RPM:15000 8 RPM:15000
RPM:16000 RPM:16000
RPM:17000 RPM:17000
0.04 RPM:18000 RPM:18000
6
RPM:19000 RPM:19000
RPM:20000 RPM:20000
0.03
4
0.02
0.01 2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0 0.1 0.2 0.3 0.4 0.5 0.6
Advance Ratio [J] Advance Ratio [J]
Figure 4. The thrust (left) and torque (right) coefficient of APC95x45. The data is drawn from the APC
Performance Data Files22
D. Actuator Dynamics
Brushless DC Motors (BLDCs) are used to change the rotation speed of the four propellers. The model of
a typical three-phase BLDC can usually be expressed as follows.
dia
La = uVb − ia Ra − Kv σ (14)
dt
dσ
Ir = Kt ia − bω − Q (15)
dt
where La is the armature inductance, ia is the current on the armature, Ra is the armature resistance, Kv is
the back emf constant, Ir is the moment of inertia of the rotor and propeller, σ is the rotation speed in radian
per second of the rotor, Kt is the torque constant, b is the damping constant, Q is the torque produced on
the propeller, Vb is the battery voltage applied on the DC motor and u is the PWM duty inputed to the
ESC.
It can be seen that the motor dynamics is coupled with the propeller torque, which is in general nonlinear
to the rotation speed. In Brandt et al 19 , the propeller thrust and torque are respectively parameterized as
CT ρσ 2 D4
T = (16)
4π 2
CQ ρσ 2 D5
Q= (17)
4π 2
where ρ is the air density, D is the propeller diameter, CT and CQ are respectively the thrust and torque
coefficients of the propeller. As shown in Figure 4, the thrust and torque coefficient depend both on RPM
and advanced ratio, which is defined as follows
2πVf
J= (18)
σD
where Vf is the rotor forward speed (i.e. the speed perpendicular to rotor disk). In Bangura et al 20 and
Prouty21 , it shows that a H-force will be produced as a result of the rotor lateral speed. The H-force can
be expressed as
Cd
H= ρAb σDVl (19)
8
where Cd is the blade airfoil drag coefficient, Ab is the rotor blade surface area, and Vl is the rotor lateral
speed. In our simulation, we neglect the H-force but retain the effect of the forward speed on the propeller
aerodynamics. The propeller profile is preloaded to the model.
E. Aerodynamics
In preceding sections, the aerodynamic force and moment were referred as fa and Ma , which are functions
of the speed of the vehicle relative to its surrounding air mass (i.e. airpseed). Suppose that the vehicle speed
6 of 13
uy
L
𝛼𝑥
ux 𝛼𝑥
uz 𝛽
D
ux (body X)
𝛼𝑥
uxz
uz (body Z)
u
(a) Angle of attack and sideslip angle (b) Lift and drag
relative to earth is v (see Eq. (1)) and the wind speed relative to earth is w, the airspeed is therefore
u = RT (v − w) (20)
In Eq. (20), v and w are vectors in earth frame while u is a vector in body frame, hence the rotation
matrix R takes place. The purpose of expressing the airspeed in body frame is to ease the definition of angle
of attack and sideslip angle, which are directly related to the aerodynamic force and moment.
As seen in Figure 5, the angle of attack, denoted by αx , and sideslip angle β are defined as
q
V = u2x + u2y + u2z (21)
uz
αx = tan−1 (22)
ux
u
y
β = sin−1 (23)
V
In conventional aircraft analysis10, 11 , the aerodynamic force is usually characterized by Lift force L,
Drag force D and Side force Y. While the Side force is along body Y axis, the Lift and Drag forces are
respectively along and perpendicular to the airspeed projection onto the body x − z plane, as seen in Figure
5. The resulting aerodynamic force fa , which is a vector in body frame, is therefore
− cos αx 0 sin αx D
fa = 0 1 0 Y (24)
− sin αx 0 − cos αx L
The aerodynamic moment consisting of rolling L, pitching M and yawing moments N can be expressed
as
L
Ma = M (25)
7 of 13
L = 12 ρV 2 SCL (26)
D = 12 ρV 2 SCD (27)
Y = 12 ρV 2 SCY (28)
L = 12 ρV 2 Sc̄Cl (29)
M = 21 ρV 2 Sc̄Cm (30)
N = 12 ρV 2 Sc̄Cn (31)
where S is the reference area, which is usually the wing area; c̄ is the characteristic length which is usually
the mean aerodynamic chord, V is the airspeed magnitude; CL , CD and CY are respectively the lift, drag
and side force coefficients; and Cl , Cm and Cn are respectively the rolling, pitching and yawing coefficients.
These coefficients are in general functions of airspeed magnitude V , angle of attack αx and sideslip angle
β. In order to characterize these coefficients, the full scale VTOL prototype was tested in a 3m×2m wind
tunnel located at HKUST.
Figure 6 shows the wind tunnel setup. The full scale VTOL UAV (propeller removed) is mounted on
a six-dimensional force sensor through a strut. The six-dimensional force sensor is capable of measuring
the three-dimensional forces and three-dimensional moments. Right underneath the UAV is a gimbal which
enables the adjustment of pitching angle (i.e. angle of attack). The force sensor is fixed on a rotation table
which enables the adjustment of sideslip angle. The airspeed is adjusted by changing the level of voltage
supplied to the fan. A pitot tube installed at the UAV shoulder is used to measure the airspeed. A number
of combinations of sideslip angle, angle of attack and airspeed were tested with sideslip angle from 0 to 90
degrees, angle of attack from -180 to 180 degrees and airspeed up to 19m/s, which is sufficiently high to
cover the UAV speed envelope. The tested data can effectively capture all the possible flight conditions of
the quad rotor tail-sitter VTOL UAV.
The raw data measured in wind tunnel test was interpolated by fitting it to a group of carefully chosen
basis functions. Figure 7 shows the fitted aerodynamic force and moment coefficients. The mean residual
error for lifting and drag coefficients are respectively 10% and 8% for all different level of airspeed and all
possible angle of attack and sideslip angle. A comparison between the raw data and the fitted data at
different airspeed level and sideslip angle can be seen in Figure 8 and 9.
8 of 13
1.5
1
1
0.5 0.5
CL
0
0
Cl
-0.5
-0.5
-1
200
-1 150
-1.5 100 100
80
100 200 60 50
80 150 40
60 100 0
40 20
20 50 0 -50
0 0 -20
-20 -50 -40 -100
-40 -100
-60 -60 -150
-80 -150 -80
-100 -200 -100 -200
Y: X:
Y: X:
2
2.5
2
1.5
1.5
1 1
CD
Cm
0.5
0.5
0
-0.5
0
-1
200
-0.5 200 -1.5 150
100 150 100
80 100
80 100
60 60 50
40 50 40
20 20 0
0
0 0 -50
-20 -50 -20
-40 -100 -40 -100
-60 -150 -60 -150
-80 -80
-100 -200 -100 -200
Y: X: Y: X:
0.5
0.4
0.4
0.3 0.3
0.2 0.2
0.1 0.1
CY
0
Cn
0
-0.1
-0.1
-0.2
-0.2
-0.3
-0.3
-0.4 200
200 -0.4 150
-0.5 100 100
150
100 100 80 50
80 60
60 50 40 0
40 0 20
20 0 -50
0 -50 -20
-20 -100
-40 -100 -40
-60 -150 -60 -150
-80 -80
-100 -200 -100 -200
X: Y: X:
Y:
eω = ω − RT RdT ωd (34)
b RT Rd ωd − RT Rd ω̇d − Ma
u = −kR eR − kω eω + ω × (It ω) − It ω (35)
9 of 13
CL
CL
0 14.1 m/s 0 14.1 m/s
15.7 m/s 15.7 m/s
-0.5 17.3 m/s -0.5 17.3 m/s
18.9 m/s 18.9 m/s
-1 -1
-1.5 -1.5
-200 -150 -100 -50 0 50 100 150 200 -200 -150 -100 -50 0 50 100 150 200
=60 =90
1 0.4
2.9 m/s 2.9 m/s
6.0 m/s 0.3 6.0 m/s
0.5 7.6 m/s 7.6 m/s
0.2
9.2 m/s 9.2 m/s
10.9 m/s 0.1 10.9 m/s
CL
CL
0 12.5 m/s 12.5 m/s
14.1 m/s 0 14.1 m/s
15.7 m/s 15.7 m/s
-0.1
-0.5 17.3 m/s 17.3 m/s
-0.2 18.9 m/s
-1 -0.3
-200 -150 -100 -50 0 50 100 150 200 -200 -150 -100 -50 0 50 100 150 200
=0 drag
2.9 m/s =30 2.9 m/s
2 4.4 m/s 2 4.4 m/s
6.0 m/s 6.0 m/s
7.6 m/s 7.6 m/s
1.5 9.2 m/s 1.5 9.2 m/s
10.9 m/s 10.9 m/s
12.5 m/s 12.5 m/s
CD
CD
0 0
-200 -150 -100 -50 0 50 100 150 200 -200 -150 -100 -50 0 50 100 150 200
CD
14.1 m/s
0.6 15.7 m/s -0.1 15.7 m/s
17.3 m/s 17.3 m/s
0.4 -0.2 18.9 m/s
0.2 -0.3
0 -0.4
-200 -150 -100 -50 0 50 100 150 200 -200 -150 -100 -50 0 50 100 150 200
0 mg
10 of 13
In our prototype, the four motors are symmetrically inclined such that
X Ti Tx
(i)
Rm =
0 0 (38)
0 0
where R = [r1 , r2 , r3 ]. Assume the desired altitude is hd , the designed altitude actuation is computed from
a PID controller as follows
Tx Z
T d
r3 0 + fa + mg = kP (h − hd ) + kI (h − hd ) dt + kD (h − hd ) (40)
dt
0
C. Flight Simulator
The UAV model, attitude and altitude holding controllers developed in proceeding sections are simulated in
MATLAB Simulink. As seen in Figure 10, the model is highly modularized. It consists of four sub blocks:
vehicle dynamics, flight controller and mixer, command block and visualization block. The command block
can accept either software generated attitude commands such as step, sine, etc. or attitude commands from
11 of 13
100
Pitc h (deg)
Set Point
Response
50
0
0 5 10 15 20 25 30 35 40 45 50
0.05
Roll (deg)
-0.05
0 5 10 15 20 25 30 35 40 45 50
0.2
Yaw ( deg)
0.1
-0.1
0 5 10 15 20 25 30 35 40 45 50
-9.8
Altitude ( m)
-9.9
-10
-10.1
0 5 10 15 20 25 30 35 40 45 50
Time (s)
50
Motor 1
40
30
0 5 10 15 20 25 30 35 40 45 50
50
Motor 2
40
30
0 5 10 15 20 25 30 35 40 45 50
40
Motor 3
30
20
0 5 10 15 20 25 30 35 40 45 50
40
Motor 4
30
20
0 5 10 15 20 25 30 35 40 45 50
Time (s)
Figure 12 shows the flight speed and required motor thrust for different pitching angles. It can be seen
that as the pitching angle increases, the required thrust first decreases and then increases. The minimal
thrust is achieved at around 12 degrees of pitching angle. On the other hand, the flight speed decreases
monotonically as pitching angle increases. Unlike conventional aircrafts, with thrust-weight-ratio lager than
one, the UAV is capable of flying at extremely high angle of attack where stall occurs. During this regime,
the motor thrust provides the main lift. Although flying at this regime is not necessarily fuel optimal, it
considerably extends the UAV’s speed envelope.
12 of 13
Velocity
Thrust
10 10
Velocity (m/s)
Thrust (N)
0 5
-10 0
0 10 20 30 40 50 60 70 80 90
Pitch (deg)
Figure 12. The required motor thrust and vehicle speed when flying at different pitching angle
References
1 Carlson,
Stephen. ”A hybrid tricopter/flying-wing vtol uav.” American Institute of Aeronautics and Astronautics (2014).
2 Holsten,
J., T. Ostermann, and D. Moormann. ”Design and wind tunnel tests of a tiltwing UAV.” CEAS Aeronautical
Journal 2.1-4 (2011): 69-79.
3 Cetinsoy, Erturul, et al. ”Design and development of a tilt-wing UAV.” Turkish Journal of Electrical Engineering &
flight test.” AIAA Infotech@ Aerospace Conference and AIAA Unmanned Unlimited Conference. 2009.
5 Dickeson, Jeffrey J., et al. ”Robust LPV H-infinity gain-scheduled hover-to-cruise conversion for a tilt-wing rotorcraft in
the presence of CG variations.” Decision and Control, 2007 46th IEEE Conference on. IEEE, 2007.
6 Jump-20. Arcturus UAV. Available at [Link]
7 Amazon. Prime Air. Available at [Link]/b?node=8037720011
8 Saeed, Adnan S., et al. ”A review on the platform design, dynamic modeling and control of hybrid UAVs.” Unmanned
Decision and Control (CDC), 2010 49th IEEE Conference on. IEEE, 2010.
19 Brandt, John B., and Michael S. Selig. ”Propeller performance data at low reynolds numbers.” 49th AIAA aerospace
13 of 13