0% found this document useful (0 votes)
28 views77 pages

Data Driven Dynamics Modelling Using Flight Logs Signed2

Uploaded by

vomacif706
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views77 pages

Data Driven Dynamics Modelling Using Flight Logs Signed2

Uploaded by

vomacif706
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

ETH Library

Data-Driven Dynamics Modelling


Using Flight Logs

Student Paper

Author(s):
Galliker, Manuel Yves

Publication date:
2021-06-24

Permanent link:
https://doi.org/10.3929/ethz-b-000507495

Rights / license:
In Copyright - Non-Commercial Use Permitted

This page was generated automatically upon download from the ETH Zurich Research Collection.
For more information, please consult the Terms of use.
Autonomous Systems Lab
Prof. Roland Siegwart

Semester Thesis

Data-Driven Dynamics
Modelling Using Flight Logs

In collaboration with Auterion

Autumn Term 2021

Supervised by: Author:


Nicholas Lawrance Manuel Yves Galliker
Thomas Stastny
Jaeyoung Lim and Markus Achtelik
Declaration of originality
The signed declaration of originality is a component of every semester paper, Bachelor’s thesis,
Master’s thesis and any other degree paper undertaken during the course of studies, including the
respective electronic versions.

Lecturers may also require a declaration of originality for other written papers compiled for their
courses.
__________________________________________________________________________

I hereby confirm that I am the sole author of the written work here enclosed and that I have compiled it
in my own words. Parts excepted are corrections of form and content by the supervisor .

Title of work (in block letters):

Authored by (in block letters):


For papers written by groups the names of all authors are required.

Name(s): First name(s):

With my signature I confirm that


− I have committed none of the forms of plagiarism described in the ‘Citation etiquette’ information
sheet.
− I have documented all methods, data and processes truthfully.
− I have not manipulated any data.
− I have mentioned all persons who were significant facilitators of the work .

I am aware that the work may be screened electronically for plagiarism.

Place, date Signature(s)

For papers written by groups the names of all authors are


required. Their signatures collectively guarantee the entire
content of the written paper.
Contents

Preface v

Abstract vii

Symbols ix

1 Introduction 1
1.1 Dynamics Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Parametric Models . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Model Free Approaches . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Combined Approaches . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Dynamics Modelling for UAVs . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Dynamics Modelling for Fixed-Wings . . . . . . . . . . . . . 4
1.2.2 Dynamics Modelling for Multi-Rotors . . . . . . . . . . . . . 4
1.2.3 Dynamics Modelling for VTOLs . . . . . . . . . . . . . . . . 4
1.2.4 Data Collection for System Identification of UAVs . . . . . . 4
1.3 Use case of dynamics models for UAVs . . . . . . . . . . . . . . . . . 5
1.3.1 Dynamic Models and System Analysis . . . . . . . . . . . . . 5
1.3.2 Dynamic Models in Simulation . . . . . . . . . . . . . . . . . 5
1.3.3 Dynamic Models for Control and Planning . . . . . . . . . . 6

2 Data Driven Dynamics Pipeline for ULogs 7


2.1 Sensor Data and State Estimation . . . . . . . . . . . . . . . . . . . 7
2.1.1 ULog File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 UAV Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 State Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Model Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Pipeline architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Data Handling 10
3.1 Data Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1 Data Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.2 Data Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.3 Flight Time Selection . . . . . . . . . . . . . . . . . . . . . . 10
3.1.4 Data Resampling . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.5 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.6 Airspeed Computation . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Data Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ii
4 Modeling of UAV Components 13
4.1 Rotor Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Standard Rotor Model . . . . . . . . . . . . . . . . . . . . . . 14
4.1.2 Tilting Rotor Model . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.3 Bidirectional Rotor Model . . . . . . . . . . . . . . . . . . . . 17
4.2 Aerodynamic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Wing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.2 Control Surface Deflection . . . . . . . . . . . . . . . . . . . . 19
4.2.3 Model Interpolation . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.4 Full Fuselage Drag Model . . . . . . . . . . . . . . . . . . . . 21
4.2.5 Elevator Model . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.6 Tilting Wing Section Model . . . . . . . . . . . . . . . . . . . 22

5 Parameter Optimization 24
5.1 Linear Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.1 Multiple Linear Regression . . . . . . . . . . . . . . . . . . . 25
5.1.2 Quadratic Program . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2 Non-Linear Optimization . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3 Choice of Optimization Parameters . . . . . . . . . . . . . . . . . . . 27
5.3.1 Lumping of Parameters . . . . . . . . . . . . . . . . . . . . . 27

6 Vehicle Models 29
6.1 Multirotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2 Quadplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3 Delta Quadplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.4 Tiltwing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7 Model Analysis 35
7.1 Force and Moment Predictions . . . . . . . . . . . . . . . . . . . . . 35
7.1.1 Prediction Metrics . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2 Parameter and Data Analysis . . . . . . . . . . . . . . . . . . . . . . 36
7.2.1 Parameter Biases . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.2.2 Parameter Bounds . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2.3 Parameter Confidence and Significance . . . . . . . . . . . . . 37
7.2.4 Separate Observabilily of Parameters . . . . . . . . . . . . . . 38
7.2.5 Dedicated Maneuvers . . . . . . . . . . . . . . . . . . . . . . 39

8 Results 40
8.1 Multirotor and Quadplane . . . . . . . . . . . . . . . . . . . . . . . . 40
8.1.1 Multirotor Model Results . . . . . . . . . . . . . . . . . . . . 40
8.1.2 Quadplane and Delta Quadplane . . . . . . . . . . . . . . . . 43
8.1.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2 Tiltwing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.1 Force Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.2 Force Parameter Analysis . . . . . . . . . . . . . . . . . . . . 47
8.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

9 Conclusion and Outlook 55

Bibliography 57

A Aero Mini Tiltwing Vehicle Information 60

B Aero Mini Tiltwing Coefficients 62


Acknowledgement

Hereby I want to acknowledge the people that supported me with the knowledge and
skills needed to conduct the research and writing of this thesis. I would like to thank
my supervisors Jaeyoung Lim, Dr. Nicholas Lawrance, Dr. Thomas Stastny and
Dr. Prof. Roland Siegwart for hosting this thesis and the many hours of supporting
me. I also want to thank Markus Achtelik for supporting the thesis from the side of
Auterion, providing valuable industry inside and flight log data. David Rohr from
ASL supported me with flight data collection and valuable information about the
Aero mini tiltwing model. Here I would also like to mention Fabian Kaiser, who in
my time working at Wingtra has supported and mentored me in learning python
which benefited me greatly in this thesis. To conclude, I also want to thank my
family and friends for the continuing support, care and love.

v
Abstract

A good dynamics model has many useful applications such as in simulations and
control. Obtaining such models using conventional methods such as wind tunnel
testing for UAVs can be time intensive, challenging and time intensive. For this
reasons this thesis presents a data-driven dynamics modelling pipeline for a unified
flight log(uLog) format. The objective hereby is to provide a framework to obtain a
dynamics model without the requirement for additional infrastructure, such as for
example a wind tunnel, just by analyzing the flight data provided by the by default
on the vehicle installed sensors. The dynamics models are obtained by minimizing
a cost function of a parametric model for the given data. The developed framework
is demonstrated with several types of different UAV models, including multirotors
and vertical take-off and landing (VTOL) UAVs. The obtained dynamics models
showed promising results and generated good force predictions. However, it was
also shown that the selection of used data is crucial to obtain a model that is well
generalizable and represents the underlying physical effects which were modeled.
For this more flight data with dedicated maneuvers would be necessary.

vii
Symbols

If not denoted otherwise all values are in standard metric units.

Conventions
a, A scalar (normal letter)
a vector (lower case bold letter)
A matrix (upper case bold letter)
c normal coefficient
c̄ coefficient adjusted for normalized actuator inputs

Symbols
α angle of attack
αs stall angle
αB angle of attack with respect to body frame
αW angle of attack with respect to wing frame
αtilt wing tilt angle with respect to body frame
δ control surface deflectionS
η rotor angular velocity
 rotation vector
λ model interpolation parameter
φ, θ, ψ roll, pitch and yaw angle
ψ stacked angular accelerations
ψpred predicted stacked angular accelerations
ρ air density
Σ covariance matrix
τmax maximum tilting angle
ω vehicle angular velocity
ameasured stacked accelerometer measurements
ainertial stacked accelerations relative to inertial frame
apred stacked predicted accelerations
c stacked parameter
c∗ stacked optimal parameters
D rotor diameter
eA A A
x , ey , ez unitary basis vectors of frame A

ix
F force
f system dynamics function
g gravitational acceleration
krotor rotor angular velocity constant
kcs control surface deflection constant
h measurement model function
J rotor advance ratio
M moment
m mass
p̂rotor normalized rotor thrust direction
r position
R rotation matrix
t time
u stacked normalized system inputs
u normalized system input
va airspeed
va,xz airspeed projected into xz-plane
va,x , va,y , va,z components of airspeed in body frame in x, y and z direction
v|| airspeed parallel to rotor axis
v⊥ airspeed perpendicular to rotor axis
w airspeed velocity due to propwash
X feature matrix
x stacked system states
x̂ stacked estimated system states
y stacked system outputs

Indices
af attached flow region
c continuous
cs control surface
d discrete
D drag
DM drag moment
F force
fp flat plate
g ground speed
k discrete time-step index
L lift
M moment
ps post stall region
RM rolling moment
T thrust
w wind speed
x x axis
y y axis
z z axis

Frames
Frames are denoted as lowered capital letters before a vector. E.g. Br denotes the
vector r expressed in frame B.

B FRD body frame


A FRD aerodynamic frame (x- axis parallel to Vair,xz )
W FRD wing frame
I NED inertial frame

Acronyms and Abbreviations


ASL Autonomous Systems Lab
ETH Eidgenössische Technische Hochschule
EKF Extended Kalman Filter
ESC Electronic Speed Controller
FRD Forward Right Downward
IMU Inertial Measurement Unit
NACA National Advisory Committee for Aeronautics
NED North East Down
UAV Unmanned Aerial Vehicle
VTOL Vertical Take-Off and Landing
Chapter 1

Introduction

Good knowledge of the dynamics of a UAV is not only helpful in analyzing the
performance of the system but can also be used in other applications such as simu-
lations and control of the vehicle. The system dynamics are usually expressed in a
mathematical model, which is hereafter referred to as the dynamics model. To the
complex and non-linear nature of aerodynamics also results a in general non-linear
system behaviour and obtaining system knowledge typically involves some form of
experiments and data collection. This thesis will focus on obtaining a dynamics
model from flight logs data, containing measurements of the already installed sen-
sors and the outputs generated by the flight controller. By not using any additional
sensors or infrastructure, such as for example a wind tunnel, this approach is very
accessible. A special focus in this thesis is set on the dynamic models for vertical
take-off and landing (VTOL) UAVs.

1.1 Dynamics Models


Dynamic Models refer to mathematical models, describing the behaviour of a sys-
tem. For mechanical systems the dynamic model describes the forces and moments
acting on the system as a function of the states as well as the influence of those
forces and moments on the states of a system. For the time-invariant systems an-
alyzed in this thesis the common form of expressing the derivatives of the state
vector x as a function of itself and the input vector u is used.

δ
x = ẋ = fc (x, u) (1.1)
δt
Often, the internal states of a system can not or not completely be observed in a
direct way and have to be related to the measurable system outputs y through a
measurement model.

y = hc (x, u) (1.2)

Hereby, the system dynamics are described in continuous time, since the physics
governing dynamics and kinematics of mechanical systems are continuous in nature.
Nonetheless, it can be many times advantageous to express the dynamics of the
system in discrete time due to the discrete nature of computer systems. Hereby,
the resulting discrete time system dynamics can be obtained by discretization of the
continuous time dynamics using for example Euler or Exact discretization methods.
With this a set of discrete equations for the system dynamics and measurement can
be obtained.

1
Chapter 1. Introduction 2

xk+1 = fd (xk , uk ) (1.3)

yk = hd (xk , uk ) (1.4)
Since both the measurement data and the later described applications of the dynam-
ics model are in discrete-time this thesis will from now on only focus on discrete-time
dynamic systems.
The process used to obtain such a dynamics model is referred to as system iden-
tification (SysID). In many cases the complete system dynamics are not known
beforehand and the dynamics model is obtained or improved by using measured
data.

1.1.1 Parametric Models


A common approach to create a dynamics model of a system is using a paramet-
ric model. Hereby the function fd is specified beforehand and its behaviour is
characterized by parameters. This approach needs thorough domain and system
knowledge of the operator and it can be challenging to choose a good mathematical
model fd accounting for the dominant physical effects present, as outlined in [1].
On the other hand this model then allows for a physical interpretation and a good
way to compare different models, as outlined for example in [2]. This approach
can deliver good performance, even for state space regions not present in the data,
when a suitable model function is used and physically meaningful parameters are
obtained. For this reason, it is possible to obtain a good parametric model with
less data (also referred to as a lower sample complexity) than would be needed for
model free approaches [3]. However, as explained in more detail later in this thesis,
the decision on what data is used to obtain the parameters and how it is weighted
has a strong influence on the obtained parameters. Therefore, the data has to be
heavily curated and all effects modelled in the parametric model have to be sepa-
rately observable in order to get a good fit for all parameters. If the parameters
are not representative of the modeled underlying physical effects this approach loses
many of its advantages and it makes little sense to impose an exact model structure
on the optimizer. Therefore the resulting parameters have to be analyzed in detail.
A further advantage of parametric models is that they enable a physical interpre-
tation and comparisons between similar models by the operator and can therefore
be quite comprehensible to humans.

xk+1 = fd (xk , uk , c, t) (1.5)

yk = hd (xk , uk , c, t) (1.6)
For the process of SysID with a parametric model, only the parameter vector c
is unknown and all the other properties are given, measured or estimated and the
former is generally obtained by an optimization over the data set.

1.1.2 Model Free Approaches


In contrast to the parametric model specified above there exists also a wide range of
model free approaches, as for example Gaussian Process (GP) [4] or Q-learning [5].
Here, the function fd is not specified by the operator but is numerically obtained
through an optimization over the measurement data. This method is advantageous
when the operator does not have prior knowledge of the systems behaviour, when
it is hard to mathematically model all the effects acting on a system or when the
3 1.2. Dynamics Modelling for UAVs

number of needed parameters to describe the problem is not finite. This approach
can capture dynamics not explicitly specified by the operator, as outlined in [5].
On the down side this approach has generally a larger sample complexity than the
parametric model and a physical interpretation by the user is in general not possible,
as outlined in [2] and [3]. Since the obtained function fd does not necessarily need
to describe the underlying physical effects this method can be prone to over-fitting
and could predict completely wrong and nonphysical dynamics for a state space
region it has not been trained on, which complicates the validation of model free
approaches.

1.1.3 Combined Approaches


Since both parametric and model free approaches have their limitations the two
are often combined to mitigate each others drawbacks. While it is often possible to
express the most dominant dynamics in a parametric form this gets sub-sequentially
harder and more tedious to model the residual dynamics and to make sure that all
those effects are observable in the data. Therefore it is a common strategy, to use
the parametric model up to a certain degree of detail and then estimate the residual
dynamics with a parameter free approach such as for example GP regression.

1.2 Dynamics Modelling for UAVs


The dynamics models for unmanned aerial vehicles (UAVs) assume in general that
the movement of the system through the air is unconstrained and therefore does
not include any kinematic constraints. Furthermore, it is assumed in this thesis
that the dynamics of the UAVs analyzed in this thesis, of which none was using a
combustion based propulsion system with changing fuel mass, are time-independent.
For this reason, the dynamics can be fully described by the aerodynamic forces Fk
and moments Mk (including rotors) and gravity in dependency of the system states.

Fk = fF (xk , uk ) (1.7)

Mk = fM (xk , uk ) (1.8)

Figure 1.1: Examples of forces and moments acting on fixed-wing UAV [6]
Chapter 1. Introduction 4

Due to the assumption of constant mass and the lack of kinematic constraints the
linear and angular velocities can be obtained by the discrete integral of the forces and
moments and the pose of the system by the discrete integral of the linear and angular
velocities. As an example the numerical integration of the linear accelerations to
obtain linear velocities using the trapezoidal method is shown below.

T
vi,k+1 = vi,k + (ai,k+1 + ai,k ) (1.9)
2

1.2.1 Dynamics Modelling for Fixed-Wings


The dynamics modelling of fixed wing UAVs builds up on the long experience from
modelling conventional aircraft and has for that reason a long history in research
and industry. Both fixed-wing UAVs and conventional aircraft are mainly operated
and optimized for the nominal cruise flight conditions. Therefore, most modelling
techniques also focus on this nominal flight regime, for which many of the more
complicated aerodynamic effects, such as for example stall characteristics, can be
neglected. A good overview of common SysID techniques for conventional aircraft
can be obtained in [2] or [1].

1.2.2 Dynamics Modelling for Multi-Rotors


The dynamics of multi-rotors are usually dominated by rotor forces and rotor drag
moments, when operated close to hover condition. For this reason, simple dynamics
models focusing on the effects of the rotors can already achieve very good results
close to hover and are well explored. However, when operated in a wider range of
flight conditions additional effects have to be taken into account as can for example
be seen in [7] for higher flight speeds. For example the lift force generated by the
multirotor frame due to the airspeed coming in from an angle is usually ignored for
low flight speeds. Higher speeds also result in more turbulent flow around the UAV
which is hard to model due to the chaotic nature of turbulent flows.

1.2.3 Dynamics Modelling for VTOLs


In comparison to the modelling of fixed-wings and multi-rotors the field of modeling
VTOL UAVs is still fairly new. These vehicles try to combine endurance and range
of fixed-wings with the ability of multi-rotors to be operated independently of a
runway or the terrain. To achieve this they operate in a hover flight after take-off and
before the landing (hence VTOL) and once they reach a safe altitude they transition
to cruise flight. Therefore, they operate in a large range of flight conditions, which
makes the development for the full flight envelope quite challenging. Furthermore,
many VTOL models rely on the down-wash of the propellers over the wing and
control surfaces for control authority in hover or tilt their rotors or the whole wing
in transition, resulting in strong non-linear dynamics of the system. Existing work
considers the modelling and SysID for quadplanes and tiltrotors [8], tailsitters [9]
and tiltwings [10]. Due to the advantages mentioned above there is a lot of interest
from both academia and industry in VTOL UAVs. For this reason of relevance
and novelty and due to the challenging dynamics of VTOL UAVs this thesis puts a
strong focus on this topic.

1.2.4 Data Collection for System Identification of UAVs


In order to obtain or validate a certain dynamics model it is a necessity to collect
data of the system behaviour. The standard way this was done in industry espe-
cially for fixed-wing UAVs was for a long time with wind tunnel experiments and
5 1.3. Use case of dynamics models for UAVs

computational fluid dynamics models. With the controlled environment of wind


tunnel experiments it is possible to get accurate data on a certain steady state
aerodynamic effect of interest. They are however not very suited for measuring
dynamic effects as can occur when flying a dynamic maneuver. A big downside of
wind tunnel experiments is that they are expensive and many times not accessible
to researchers and engineers. Computational fluid dynamics (CFD) models can be
very complex and are more suited for system analysis purposes than applications
that need to run in real time.
An method that can mitigate some of the downsides explained above is to use
the sensors that are already installed on the drone to collect data in flight. The
advantage hereby is the accessibility, since logging of the sensor values is a func-
tionality that is usually already present on most UAV systems and no additional
infrastructure is required. This method is however less controllable than wind tun-
nel experiments since the airspeed depends on other factors such as the wind and
the relevant dynamics of the system have to be highlighted in flight maneuvers,
which can sometimes be challenging. Also it is usually not possible to get ground
truth measurements of all the relevant states x without mounting additional sensors.
Nonetheless, this method was used to achieve very promising results, for example in
[9] and [11]. To the best knowledge of the author there exists no unified approach
for using flight logs for system identification of UAVs, including VTOLs, yet.

1.3 Use case of dynamics models for UAVs


Dynamics models for UAVs have a wide range of applications and have been an
area of extensive investigation over the last years. For the model to be useful for
its applications it can ideally predicts the dynamics of the system accurately. How
accurate the model needs to be and what parts of the state space are important
depend on the use case and exact application of the model. Getting an accurate
estimate of certain parameters (for a parametric model) can for example be crucial
for system analysis while a model used for a software in the loop (SITL) simulation
only has to produce an overall accurate prediction. A few of the most important
use cases shall be highlighted hereafter.

1.3.1 Dynamic Models and System Analysis


A good dynamics model can be used in analyzing not only the dynamics of the
system which can be helpful in analyzing the performance of a system. A good
example for this would be the glide ration of a wing, which can be obtained by
the lift and drag forces of the dynamics model. When a good dynamics model is
present it can also be used to observe and analyze what happens in flight maneuvers
not observed in the data. Furthermore, by repeatedly generating a dynamics model
several times with the same vehicle (or vehicle type) and the same experiments
it is possible to detect potential changes caused by hardware defects. This could
potentially be useful for quality control in drone manufacturing and could extend
the flight checks at the end of the production line, as they are for example employed
at Wingtra.

1.3.2 Dynamic Models in Simulation


Dynamics models offer a wide range of possible applications by simulating the UAVs
dynamics for for a given state vector and inputs. This can then be used to test the
code to control the UAV in a software in the loop manner before proceeding with
an actual flight test. This way it is possible to lower the cost and effort needed
Chapter 1. Introduction 6

for a first code verification step and undesired behaviours can be detected before
they lead to damage or in the worst case a crash of the UAV system. Furthermore,
a good simulation can also be used to make a first fast assessment of a controller
performance. A Simulation can also be used for pilot training to eliminate the
risks of training on a real UAV in flight while lowering training cost and increasing
accessibility. This is especially for VTOLs a real industry need and the reason this
Thesis was conducted in collaboration with Auterion.

1.3.3 Dynamic Models for Control and Planning


A strong field of applications for dynamic models are control and planning. Hereby,
the dynamics model can be used to predict the effects of one or many applied
inputs which is used to improve the performance of planning or control algorithms.
A notable examples here would be the use of inverse dynamics controls, where the
model is used to find the needed system inputs for the desired accelerations, and
model predictive control, where an optimized control input sequence is found by
finding an optimized input sequence over a certain prediction horizon, which is
then partially applied and periodically recomputed taking the sensor feedback into
account.
Chapter 2

Data Driven Dynamics


Pipeline for ULogs

This thesis aimed to develop a pipeline that can be used to estimate a UAV dynamics
model from flight data using the unified log (ULog) file format. Hereby, the aim is
to obtain the best possible dynamics model using only the standard sensors already
present on a UAV. Due to its more interpretable results and easier possibility to
characterize the results the work done in this thesis focuses on parametric models.
For the reasons of relevance and novelty a special focus is placed on VTOL UAVs.

2.1 Sensor Data and State Estimation


2.1.1 ULog File
ULog stands for unified log and is the standard file format for flight logs in the open
source drone autopilot system PX4 [12]. It is used to log various different internal
messages of the asynchronous publish and subscribe uORB messaging API used on
the flight controller. This way it is possible to log sensor measurements, internal
states, parameters and more in an asynchronous manner during the flight of a UAV.
This is the basis of the data used for the system identification in this thesis.

2.1.2 UAV Sensors


Since this approach aims to work with the standard sensors already installed on a
UAV a short overview of the main components shall be given here.

Inertial Measurement Unit A UAV typically has one or multiple inertial mea-
surement units (IMU), which each consist of an MEMS (microelectromechanical
system) accelerometer and MEMS gyroscope. The accelerometer measures the lin-
ear accelerations along its principal axis (relative to the inertial frame) minus the
gravity vector.

ameas = ainertial − g (2.1)


This is due to the fact that the effect of gravity pulling on a suspended proof
mass of the accelerometer is the same as if the accelerometer would accelerate with
a constant acceleration of g in the opposite direction. The measurement data is
typically expressed in m/s2 in ULog data. The measured gravity vector is also used
for the attitude estimation of the pitch and roll angle.

7
Chapter 2. Data Driven Dynamics Pipeline for ULogs 8

The gyroscope uses the Coriolis effect to measure the angular velocities in radians/s.
A direct measurement of angular accelerations is typically not present.

Global Positioning System One or more global navigation satellite system


(GNSS) receivers are used for global absolute position measurements of the UAV.

Magnetometer The magnetometer measures the relative angle to the magnetic


north pole, which is used to estimate the attitude of the UAV. The magnetometer
is especially important for the heading estimate.

Barometer and Temperature Sensor A barometer is used to to measure the


external air pressure, which can be used for altitude estimation and together with
the ambient temperature as an estimate of the air density.

Airspeed Sensor The airspeed sensor uses a differential pressure sensor and a
Pitot tube to measure the airspeed parallel to the Pitot tube. In general it is
only present on fixed-wing and VTOL platforms, but not on multirotors. The
most widely used membrane based differential pressure MEMS sensors have low
sensitivities for small pressure differences and need a significant incoming airflow
to deliver meaningful results as can be seen by the specified minimum pressure
difference in the datasheet of the commonly used MS4525DO sensor (Appendix ??).
The necessary differential pressures for a meaningful measurement are in practice
only reached at around 5m/s.

2.1.3 State Estimation


The measurements of the sensors named above are then combined on the flight
controller in an Extended Kalman Filter (EKF) provided by PX4. This Bayesian
state estimator combines all the sensor measurements with an internal model under
the measurement model of Gaussian process and measurement noise to derive the
most likely estimates of the state vector x. This is done by propagating both a
mean value and variance for each state through a measurement and model update
sequentially. The EKF runs in real time on board the vehicle and is used for the
controls and is a causal filter. Although it would be possible to use non-causal
filtering techniques on the raw sensor values when post-processing the logs, it was
decided to use the already present estimates for this thesis. As long as the variance
of the estimated states of the EKF stays small the assumption of the estimates
being close to the ground truth values is a good approximation. This is usually the
case for a well tuned EKF and properly working sensors. But extending the existing
pipeline with non-causal estimation techniques could be an interesting extension on
the work done in this thesis.

2.2 Model Objective


There is a range of different possibilities on how to obtain a good dynamics model
from data. For this thesis the focus was put on the minimization of the acceleration
prediction error by finding the optimal parameters c∗ of the parametric model.

c∗ = arg minc k ameas − apred (x̂, u, c) k2 (2.2)


Where each acceleration prediction apred is obtained by using equation 1.7 and the
vehicle mass m.
9 2.3. Pipeline architecture

1
apred,k = fF (xk , uk , c) (2.3)
m
A similar approach was used for the prediction of the moments and tested on some
test logs generated by the Gazebo simulator [13]. Since for real flight logs in com-
parison to the logs generated by the simulator no measurement of the angular
acceleration is present, as explained in 2.1.2, this approach was not followed any
further and the focus of the thesis was set on the force prediction. It would be
possible to take the derivative of the measured angular velocity as an estimate of
the angular acceleration. However, the angular velocity measurements of real flight
logs were already quite noisy. Taking the derivative would only increase this effect.
To achieve a reasonable estimate of the angular dynamics of the system it seemed
more promising to extend the existing by including the propagation error (obtained
angular velocity from integrated moments and obtained attitude from integrated
angular velocity) in the optimization. The same approach could also be used to
improve the force prediction by taking velocity and position into account. Due to
time constraints these approaches were not followed further.

2.3 Pipeline architecture


In order to achieve the goals of this pipeline the tasks at hand were subdivided
into smaller modular blocks that can each be exchanged to adjust the pipeline to
the specific needs of the operator. To ensure that the pipeline is accessible without
the need of licensed software and to leverage the many existing libraries for data
handling, optimization and machine learning the pipeline is fully programmed in
python. The main functionalities of the pipeline are visualized in the data flow
diagram (Fig. B.1) and will be explained in more detail in the following chapters.

Figure 2.1: Main components of the Data-Driven Dynamics Pipeline


Chapter 3

Data Handling

3.1 Data Processing


3.1.1 Data Loading
The first step in the pipeline is the processing of the incoming data. Hereby it is
possible to load the required flight data from both ULog and CSV files.

Loading from ULog


The functionality to load the all the required data from a ULog file is a core func-
tionality to make the data recorded during the flight usable for the pipeline. It was
implemented using the pyulog library [14]. Hereby, the data is contained in topic
types where all topics belonging to a certain type are logged at the same frequency.
For example all actuator outputs are contained in the actuator output topic type.
There exists a data object for each topic type which is then converted to a Pandas
Dataframe, which is the base data structure for the project.

Loading from CSV


The pipeline also contains an option of loading data from a csv file. This can be
especially useful when combined with the data selection tool introduced in the next
section.

3.1.2 Data Filtering


The data, contained in a Dataframe per topic type can then optionally be filtered
using a simple moving average filter. This filter takes the average of a symmetric
window around the current data point. Therefore, the filter is initialized with a
uneven filter size k. Filtering is especially important when more computationally
demanding optimization algorithms have to be used. For this algorithms it is often
only feasible to use a small data set to obtain the optimal parameters in a reasonable
time. Noisy data can lead to a significant bias for these smaller data sets.

3.1.3 Flight Time Selection


The pipeline contains an automatic selection algorithm that narrows the data win-
dow to only contain flight data by using a simple threshold on the actuator outputs.
This is necessary to eliminate the data points where unmeasured contact forces on
the ground would insert bias into the parameter estimation.

10
11 3.2. Data Selection

3.1.4 Data Resampling


After filtering, the data is resampled to contain the same frequency and amount of
time steps for all the data used in the pipeline. Since the resample frequency was
typically chosen to be slower than the logged frequency the resampling is done after
the filtering and flight time selection. The resampling is done by linear interpolation
between the two closest data points.

3.1.5 Normalization
Data normalization is then performed for all the actuator inputs u, which are typ-
ically logged as a on-time of the pulse width modulation (PWM) signal. Outputs
corresponding to rotors are in general normalized to be between 0 (no thrust) and
1 (full thrust). Outputs for control surfaces are normalized to be between -1 (max.
negative deflection) and 1 (maximum positive deflection). In both cases the inputs
are normalized using the specified minimum and maximum PWM values specified
in the ULog file. Currently this is still done manually.

3.1.6 Airspeed Computation


The airspeed vector va is a crucial part of the temporal data needed to estimate the
forces and moments acting on the UAV. Unfortunately, the airspeed vector is not
directly measurable from the installed sensors and data from an airspeed sensor,
measuring the airspeed parallel to the pitot tube, was most of the time not present
in the data used in this thesis. For this reason the simple approach was used by
assuming that there is no wind. In this case, the airspeed can be directly computed
out of the ground speed.

B va = CBI I vg (3.1)

Out of a good airspeed measurement from the airspeed sensor and under the as-
sumption of no slipstream velocity (va,y = 0) it is possible to estimate the wind
speed vector. With a good wind speed estimate a better version of the airspeed
could in the future be obtained as follows:

B va = CBI ( I vg − I vw ) (3.2)

3.2 Data Selection


The selection of the right data to feed into the pipeline is not a trivial one. To
get a good estimate for all the parameters of a parametric model it is important
to have the right distribution of the state space with ideally all modelled effects
being separately observable. The type of the desired distribution depends on the
needs of the model. In order to help the operator chose suitable data a standalone
desktop application was developed to help visualizing the data and data distribution
and to allow the operator to manually select the best chunks of the data. The
application takes a Pandas Dataframe and a python dict, specifying which column
of the Dataframe shopuld be visualized in which subplots, as the input and return
a new concatenated dataframe with all the data selected by the operator. It also
includes an option to save the selected data to a csv file to skip this step in a next
run of the pipeline or use the data in another project.
Chapter 3. Data Handling 12

Figure 3.1: Visual Dataframe Selector

The tool is published under an open source license with the name Visual Dataframe
Selector and can be accessed in [15]. Its use in the pipeline is optional and config-
urable.
Chapter 4

Modeling of UAV
Components

Since many UAVs are built up from similar physical components it was decided to
use a modular approach for this project. This way the dynamics model for each UAV
model type (e.g. multirotor, quadplane, ect. ) is built up from basic component
building blocks, which can be shared between different models. A model component
is a physical subsystem, that generates forces and moments which are then used to
calculate the forces and moments of the hole system and is implemented with its
own class. A certain type of component generates the defined forces and moments
depending on a set of predefined properties and optimization coefficients, which are
used characterize the behaviour of the model component. These building blocks are
subdivided into rotor models and aerodynamic models.

Figure 4.1: Model Type using aerodynamic and rotor models as building blocks

To account for differences between UAV model types (e.g. different multirotors)
and keep the rotor and aerodynamic models as general as possible each model type
and its sub components are configurable by a yaml config file.

Model Component Overview Table For an improved overview over the dif-
ferent developed model components a table with the following content is added to
each components description:

• Temporal Data: The data needed in the model for each timestamp. This
data is generally obtained from the flight log.

• Additional Properties: Additional properties specific to the modeled UAV


which are not present in the flight log.

13
Chapter 4. Modeling of UAV Components 14

• Linear Parameters: The parameters to be estimated on which the predicted


force or moment depends in a linear way. The bar symbol over the coefficient
(e.g. c̄T 0 instead of cT 0 ) denotes that the coefficient is adjusted for the nor-
malized actuator inputs u instead of the angular rotor velocity η or control
surface deflection δ.

• Non-Linear Parameters: The parameters to be estimated on which the


predicted force or moment depends in a non-linear way.

4.1 Rotor Models


Rotors are a core component of the dynamics of any UAV and the different devel-
oped rotor models and their mathematical parts are briefly introduced hereafter.
Even when the thesis focused mainly on the estimation of forces the moments were
also taken into account for the rotor models and are therefore mentioned for com-
pleteness.

4.1.1 Standard Rotor Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

Table 4.1: Overview of the standard rotor model

As a core component of any dynamics model, a modular rotor model design was
developed using the normalized actuator input value (urotor ∈ [0, 1]). A Rotor
model can be introduced by specifying the rotor axis (along which thrust acts),
rotor position and turning direction.

Rotor Angular Velocity


To relate the normalized actuator input to the angular velocity of the rotor a linear
model is used.

η = krotor · urotor (4.1)


Where u is the normalized actuator output. This model was chosen, since most
electronic speed control units (ESCs) control the angular velocity in a close to
linear relation to the incoming pwm signal.

Local Airspeed
The airspeed at the rotor position can differ slightly from the airspeed of the CoG
due to rotational movement relative to the air due to the angular velocity. Using
the angular velocity ω and the position of the rotor relative to the centre of gravity
B rrotor the local airspeed is obtained:

B va,local =B va + ω × rrotor (4.2)


15 4.1. Rotor Models

By projecting the local airspeed into the direction of the rotor axis B p̂rotor results
in the local airspeed parallel to the rotor axis.

B v|| = (B va,local ·B p̂rotor )B p̂rotor (4.3)

B v|| = ||B v|| ||2 (4.4)

By then subtracting the parallel local airspeed from the local airspeed the compo-
nents perpendicular to the rotor axis are computed as follows:

B v⊥ =B va,local −B v|| (4.5)

Figure 4.2: Local airspeed components and Resulting Rotor Forces

Rotor Thrust Force

The rotor thrust force uses a common model and consists of two main components.
The first thrust coefficient CT 0 is used to model the thrust force when no external
inflow parallel to the rotor axis is present. The second thrust coefficient CT 1 models
the effect of decreasing angle of attack on the propeller blades due to the inflow
velocity depending on the advance ratio J.

B v||
J= (4.6)
ηD
Where D is the propeller diameter. Hereby, the second thrust coefficient CT 1 is
multiplied with the advance ratio J and hence specifies at what advance ratio J the
rotor does not produce thrust anymore.

B FT = ρη 2 D4 (cT 0 − cT 1 J)B p̂rotor (4.7)

The two coefficients are not distinguishable for a given advance ration. This means
that the data used to obtain this model should contain data points for a range of
different advance ratios.
Chapter 4. Modeling of UAV Components 16

Rotor Drag Force

The rotor drag force exists due to the local airspeed perpendicular to the rotor axis
and acts in opposite direction to it. Similarly to the rotor drag model in for example
[9], the rotor drag force is modeled as linearly proportional to the perpendicular
component of the local velocity and the angular velocity

B FD = −cD η B v⊥ , (4.8)

with cD being a lumped rotor drag constant.

Rotor Drag Moment

The rotor drag moments is a direct effect of the drag forces on the turning rotor
blades acting in opposite directions. Similar to the rotor thrust force the drag
moment coefficient is a linear function of the advance ratio.

B MD = ρη 2 D5 (cDM 0 − cDM 1 J)B p̂rotor (4.9)

Rotor Rolling Moment

The rotor rolling moment is generated due to the local airspeed component perpen-
dicular to the rotor axis. This component results in the advancing blade generating
more lift than the retracting blade which results in a rolling moment.

B MR = −cRM η (B η ·B p̂rotor )v⊥ (4.10)

Hereby, the direction of the rolling moment depends on the turning direction of the
rotor.

4.1.2 Tilting Rotor Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

p̂rotor,0 , c̄T 0 , c̄T 1 , c̄D ,


urotor , utilt ,
Tilting Rotor p̂tilt , τmax , (c̄DM 0 , c̄DM 1 ,
va , ρ
D, rrotor c̄RM )

Table 4.2: Overview of the tilting rotor model

The tilting rotor model was developed on top of the standard rotor model to enable
its application for VTOL platform such as tiltrotor or tiltwing UAVs. It accounts
for the same forces and moments and expands the existing functionality by enabling
the rotation of the rotor axis around a rotation (tilting) axis.
17 4.1. Rotor Models

Figure 4.3: Illustration of tilting rotor with used vectors and angles and resulting
forces

This is done by providing, in addition to the configuration of the standard rotor


model, tilting axis p̂tilt and a maximum tilting angle τmax . The tilting angle of the
rotor is then specified by a normalized tilting input utilt where 0 refers to no tilting
and the axis rotor axis coinciding with the default rotor axis rrotor,0 and 1 refering
to a max. rotation around the tilting axis of the default rotor axis rrotor,0 . The
active rotation vector  is then defined as:

B = sin(utilt ) τmax B p̂tilt (4.11)

The new rotor direction is then obtained by converting the active rotation vector
to a rotation matrix which can be applied to the rotor axis for zero tilt angle.

B p̂rotor = R(B ) B p̂rotor,0 (4.12)

4.1.3 Bidirectional Rotor Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Bi-Directional p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor,0
c̄RM )

Table 4.3: Overview of the bidirectional rotor model

The bidirectional rotor model can reverse the turning direction of the propeller in
flight and therefore reverse the thrust force. This is used for example in some race
Chapter 4. Modeling of UAV Components 18

quad models and is achieved by extending the standard rotor model with a nor-
malized input range from -1 to 1 for maximum rotational speed in both directions.
The rotor axis is computes as follows:

B p̂rotor = sign(u) B p̂rotor,0 (4.13)


This way all the forces and moments, which depend on the rotor axis for their
direction, are calculated identically to the standard rotor model using the absolute
of the input.

uabs = |u| (4.14)

Figure 4.4: Illustration of bidirectional rotor with thrust for clockwise and counter
clockwise turning direction

4.2 Aerodynamic Models


To account for aerodynamic effects of lift and drag of the wing, control surfaces and
fuselage.

4.2.1 Wing Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Wing va , ucs , ρ Aw cDα cDα2 , c̄Dδ , αs , λ
cD,f p,min ,
cD,f p,max

Table 4.4: Overview of wing model

The wing model accounts for the lift and drag force acting in the xz-plane of the
body frame.
19 4.2. Aerodynamic Models

Aerodynamic Frame and Angle of Attack


The wing model computes the wing lift and drag forces. Since this two forces act
in the xz-plane only the airspeed acting in this direction is taken into account.

B va = (va,x , va,y , va,z ) (4.15)

q
va,xz = 2 + v2
va,x (4.16)
a,z

For simplicity, the lift and drag forces are computed in the aerodynamic (also sta-
bility axis) frame before they are converted back to the body frame. This way drag
always acts in negative x direction and lift in the negative z direction of the aero-
dynamic frame. The stability axis frame is obtained by rotating the body frame
around the y axis by the angle of attack α. This way the x-axis of the aerodynamic
frame always points in the direction of the airspeed B vair,xz .

Figure 4.5: Lift and drag force acting along the principal axis of the aerodynamic
frame

Out of the airspeed projected into the xz plane the angle of attack can be computed.

α = atan2(va,z , va,x ) (4.17)

The airspeed is defined as the angle from the aerodynamic frame to the wing frame
and a positive value indicates flow coming from slightly below the wing resulting in
a positive lift force.

4.2.2 Control Surface Deflection


The control surface deflections is per default modelled as a linear function of the
normalized control surface input (ucs ∈ [−1, 1])

δ = kcs ucs (4.18)

Should a better measured model between the servo input and the control surface
angle be present is is always possible to model the relation as a polynomial function
of ucs .
Chapter 4. Modeling of UAV Components 20

4.2.3 Model Interpolation


To account for a large range of possible flight conditions, as s usually the case for
VTOL UAVs, the wing model is composed of an attached flow and post stall region
with corresponding models for both areas. To interpolate between the two models
a symmetric sigmoid function (1 for post stall, 0 for attached flow) is used:

eλ(α+αs )
σ(α) = 1 − (4.19)
(eλ(α+αs ) eλ(α−αs ) )
Hereby, αs denotes the stall angle and λ a scaling factor used to control the band-
width of the interpolation.

Figure 4.6: Symmetric sigmoid function for a stall angle of 15° and a scale factor of
50

The Lift and drag forces are then obtained by combining the symmetric sigmoid
function with the lift and drag force components for the attached flow and post
stall region.

A FL = (1 − σ(α)) FL,af + σ(α) FL,ps (4.20)

A FL = (1 − σ(α)) FD,af + σ(α) FD,ps (4.21)

Lift
As described above two different models for the attached flow and post stall regions
are used for lift and drag respectively. For the attached flow region, where the angle
of attack is smaller than the stall angle, the lift force A FL,af is modeled as a linear
dependency on the angle of attack and the sum of control surface deflections of the
wing.
A1 2
A FL,af = −ez ρA va,xz (cl0 + clα α + clδ (Σ δi )) (4.22)
2
21 4.2. Aerodynamic Models

The control surfaces of the wing can include both ailerons and flaps and their
deflection is denoted by δ.
For the post stall region a simple flat plate model is used where the maximum lift
force A FL,ps is obtained at an angle of attack of 45°.
1
A FL,ps = −eA 2
z ρA va,xz sin(2α) (4.23)
2

Drag
For the attached flow region the drag force A FD,af is modeled by a quadratic
dependence on the angle of attack and a linear dependence on the sum of the
absolute control surface deflections.
1
A FD,af = −eA 2 2
x ρA va,xz (cd0 + cdα α + cdα2 α + cdδ (Σ |δi |)) (4.24)
2
For the post stall region there is again a flat plate model used characterized by a
minimal drag for at 0° and a maximum drag coefficient at 90° angle of attack.
1
A FD,ps = −eA 2 2 2
x ρA va,xz ((1 − sin(α) )cs,min + sin(α) cs,max ) (4.25)
2

4.2.4 Full Fuselage Drag Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

Full Fuselage cD,x , cD,y ,


va , ρ
Drag cD,z

Table 4.5: Overview of the full fuselage drag model

The full fuselage drag model account for the drag force on the fuselage in all three
different axis with a simple drag coefficient for each axis.

ρ
B Fdrag,f = − (eB cD,x va,x |va,x | + eB B
y cD,y va,y |va,y | + ez cD,z va,z |va,z |) (4.26)
2 x

B Vair = (va,x , va,y , va,z )T (4.27)


For the model types where the fuselage drag in x and z direction can not be sep-
arately observed from the wing drag there exists a modified fuselage drag model
that only takes the drag in y direction into account. This is for example the case
for fixed-wings or quadplanes.

B Fdrag,f = −eB
y CD,f,y va,y |va,y | (4.28)

4.2.5 Elevator Model


The elevator model covers the effects of the elevator on lift and drag. It is modelled
separately to the wing to have a modular approach that works for both conventional
fixed-wings with tails and delta wings without a tail. The elevator deflection is
computed in a equivalent way to the control surfaces of the wing model in 4.2.2.
This model is used as an extension to the wing model. The lift and drag forces for
Chapter 4. Modeling of UAV Components 22

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

Elevator va , ue , ρ Ae c̄L,e , c̄D,e

Table 4.6: Overview of the elevator model

the default angle of the elevator control surface are not separately observable from
the main wing forces, since depend on the same parameters and act in the same
direction. Therefore, this model only computes the list change due to the elevator
deflection.
1
A FL = −eA 2
z (1 − σ(α)) ρA va,xz clδe δe (4.29)
2
1
= −eA
A FD
2
x (1 − σ(α)) ρA va,xz cdδe |δe | (4.30)
2
Since none of the modeled VTOL vehicles had a rudder this component was not yet
modeled.

4.2.6 Tilting Wing Section Model

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Tilt Wing va , ucs , αs , λ, cT 0 ,
Aw , cDα cDα2 , c̄Dδ ,
Section utilt , ρ cT 1
cD,f p,min ,
cD,f p,max

Table 4.7: Overview of the tilting wing section model

The tilting wing model section is one of the more specialized components and was
developed for the tiltwing model, for which the propeller down-wash over the wing
has a significant contribution to the local airspeed around the wing. To account for
different angular velocities of the rotors the wing is split up in different segments
for each rotor.

Tilting Angle
The tilting functionalities of the tilting wing section model is inherited from the
rotor assigned to the wing section and uses the equations 4.31 and 4.12 introduced
above. In addition it also introduces the tilt angle αtilt as a scalar value, following
the same convention as the angle of attack.

αtilt = atan2(p̂rotor,z , p̂rotor,x ) (4.31)

Local Airspeed
Since the centre of pressure of each wing section B rcps is at a different position
the local airspeed can be adjusted for the movement relative to the air due to the
angular velocity.
23 4.2. Aerodynamic Models

B va,local =B va + ω × rcps + w (4.32)


Where w is the velocity induced by the propeller:
s
2 2T
w =B p̂rotor ∗ 0.5[−B v|| + B v|| +( )] (4.33)
ρA
The local airspeed in the xz plane and the angle of attack are then computed using
the local airspeed.

B va,local = (va,x , va,y , va,z )T (4.34)


q
va,local,xz = 2 + v2
va,x (4.35)
a,z

Figure 4.7: angle of attack, wing angle and body angle

Out of the airspeed projected into the xz plane the angle of attack relative to the
wing can be computed by subtracting the tilt angle from the angle of attack relative
to the body frame. Note that the angles are defined from aerodynamic/wing frame
to body frame and the positive direction is the shared y axis. Hence, For the
configuration above αtilt and αB are negative.

αw = αb − αtilt = atan2(w, u) − αtilt (4.36)

Forces
The Tilting wing model section hereby computes the lift and drag forces using the
same mathematical model as the standard wing model (section 4.2.1) with the local
airspeed and angle of attack computation as shown above.
Chapter 5

Parameter Optimization

The optimization framework is the building block used to find the optimal parame-
ters minimizing a certain cost function. As described in section 2.2, the goal hereby
is to minimize the the squared acceleration prediction error.

c∗ = arg min k āmeas − āpred (x̂, u, c) k2 (5.1)


c

As can be seen the predicted accelerations are a function of the estimated state
vector x̂, the input vector u and the coefficient vector c. The optimization is
concerned with finding the optimal parameter vector c. For this different numerical
strategies are used depending on how the prediction of the acceleration depends on
the parameter vector.

The acceleration prediction is computed out of the mass and total force prediction
of the model and is expressed in body frame.

1
B apred (x̂, u, c) = B Ftot,pred (x̂, u, c) (5.2)
m
The angular acceleration is obtained by taking in addition to the moments also the
effect of the rotating body frame into account.

B ψpred (x̂, u, c) = I −1 (B Mtot,pred (x̂, u, c) − ωB × I ωB ) (5.3)

Both the measured and predicted linear and angular accelerations were implemented
as stacked row vectors of the following form:
   
ax,1 ψx,1
 ay,1   ψy,1 
   
 az,1 
 , ψ =  ψz,1 
 
a=
ax,2  ψx,2  (5.4)
   
 ....   .... 
az,n ψz,n

The acceleration vectors used in the optimization (āmeas and āpred ) are the ob-
tained by either stacking the linear and angular accelerations or just choosing one
components, depending on whether the operator desires to estimate forces, moments
or both at the same time.

24
25 5.1. Linear Optimization

5.1 Linear Optimization


In case of a linear dependency of the acceleration prediction being linearly depen-
dant the acceleration prediction is expressed as a large matrix equation system of
the form:

apred (x̂, u, c) = X(x̂, u) c (5.5)


Where n denotes the amount of timestamps used for the optimization and m the
amount of parameters to be estimated in the parameter vector c. With this is
follows that the feature matrix is of dimensionality X ∈ R3n×m .

The optimization problem above can then be reformulated to:

c∗ = arg min (ameas − Xc)T (ameas − Xc) (5.6)


c
As can be seen the cost function depends quadratically on each parameter and is
convex. This property is very nice since it guarantees the existence of a single global
minima and allows the usage of convex optimization algorithms,

For the linear optimization each of the used model components return a feature
matrix (e.g. Xrotors ) by separating out all the desired estimation parameters c. The
single feature matrices are then stacked horizontally to achieve the full prediction
matrix.

X = [X1 , X2 , ..Xn ] (5.7)

Moment Estimation For completeness the process and implementation of also


modelling the moments is briefly summarized here, since this was only done for
the case of linear optimization. In addition to the predicted linear acceleration this
model also takes the predicted angular accelerations into account. In this case a
block diagonal matrix together with a stacked acceleration vector was used for the
combined prediciton of angular and linear acceleration.
     
apred XF 0 cF
= (5.8)
ψpred 0 XM cM
Note that the mass and mass moments of inertia can be implicitly or explicitly
be included in the respective matrices, depending on whether a measurement is
present. Also the effects of the non inertial and rotating body frame on the angular
body accelerations is taken into account in Xmoments .
Up until now there was no weighting used between linear and angular accelerations.
This should likely be accounted for in the case when the state propagation is not
included in the optimization, since an acceleration prediction error of 1rad/s2 might
have a bigger impact on the UAV dynamics than in comparison to an error of 1m/s2 .
However, assessing the exact scale of the impact of both errors is not trivial.

5.1.1 Multiple Linear Regression


For an unconstrained Linear Optimization this problem reduces to the multiple
linear regression problem with the close form solution:

c∗ = (X T X)−1 X T ameas (5.9)


This was the first tested approach, which was implemented using the popular sklearn
python library. The multiple linear regression was fast in both implementation and
Chapter 5. Parameter Optimization 26

evaluation. On the downside this method does not allow the implementation of
constraints.

5.1.2 Quadratic Program


For the implementation of constraints the problem can be reformulated to a quadratic
program (QP). For a fast implementation of a convex solver the CVXPY library
[16] would be suited well, but was not implemented yet.

c∗ = arg min (ameas − Xc)T (ameas − Xc)


c (5.10)
subject to cmin ≤ c ≤ cmax
Constraints on the optimization parameters can be used to enforce that the mod-
elled forces apply in the correct physical direction, which helps the optimizer in
distinguishing between the contribution of the modelled forces. For example a wing
drag force always applies in opposite direction to the airspeed, which can be en-
forced by constraining the drag parameters to be positive. This does not necessarily
need to be the case for a certain data set and it is possible, that the optimization
finds a set of non physical parameters that happen to result in a slightly lower cost.
To prevent this the bounding of the parameters was sufficient. But more complex
constraints could be added in the future.

5.2 Non-Linear Optimization


In case of a non-linear dependency of the acceleration prediction on the parameters
c the cost function is not necessarily convex and non-linear optimization solvers
need to be used. The problem then takes the following general form:

c∗ = arg min k ameas − apred (x̂, u, c) k2


c (5.11)
subject to cmin ≤ c ≤ cmax
Since the problem is not necessarily convex a single global optima is not guaranteed
anymore, which greatly complicates the optimization. For this reason the algorithm
can terminate in a local minima and whether the algorithm converges to the global
minima depends on the initial conditions. For this reason solvers for non-linear
optimization typically use a combination of gradient based optimization methods
with exploration of the parameter space.

Apart from a good initial guess also the constraining of the parameters is very
important here. On top of the advantages described in section this also helps by
excluding both other local minimas 5.1.2 this helps in excluding other minimas, to
which the algorithm may converge. This is very important, since due to the nonlin-
ear nature of the problem the problem there could be multiple sets of parameters c
that result in a lower cost for the given data b just predicting well in sum instead
of representing the modelled effects.

Due to the more complex optimization at hand the non-linear optimization al-
gorithms are computationally much more expensive than the linear optimization.
Therefore the amount of data used in the optimization had to be drastically reduced.

The non linear optimization was implemented using the SciPy library [17]. In
comparison to the linear optimization this framework does not operate directly on
the matrix data, but needs a cost function passed to the optimizer. This cost
function uses the current set of parameters c as an input to compute the force
27 5.3. Choice of Optimization Parameters

prediction of each modelled components. For the model components where the this
relation is non-linear a method for the force prediction was included directly in the
respective model. The total predicted accelerations were then computed out of the
sum of the component forces.
k
1 X
apred (x̂, u, c) = Fi (x̂i , ui , cI ) (5.12)
m i=1

5.3 Choice of Optimization Parameters


As has been introduced in the chapter above the relation between the optimization
parameters and the cost function has a large impact of the optimization and is
one of the choices that should be considered when choosing which parameters to
optimize.
Since there are multiple advantages to work with a linear instead of a non-linear
model, as explained in 5.1 and 5.2, it can be a valid strategy to use prior knowledge of
an additional measurement to determine non-linear parameters in order to simplify
the problem. For example it can be seen that the wing model in the table below
has only a nonlinear dependence on the stall angle. If prior knowledge of the stall
angle of the wing is present this parameter can be fixed beforehand to achieve a
linear model of the other components. Knowledge of the stall angle can for example
be read out of wind tunnel experiment data, which can be found online for many
common NACA (National Advisory Committee for Aeronautics) wing profiles, if
the wing profile is known.

5.3.1 Lumping of Parameters


As can be seen in the table above most model components depend on additional
properties of the UAV. On top of this the additional vehicle properties of mass m
and the mass moment of inertia I have to be used to convert the predicted forces
and moments to accelerations.

Those properties are not contained on the flight data and have to either be manually
measured on the UAV or estimated. When it is impossible to obtain a measurement
with sufficient accuracy it is also possible to factor those properties together with
the optimization coefficients and estimate a lumped parameter.

This is for example the case with the angular rotor velocity, which is not measured
using a typical ESC. This results in combining the square of the angular velocity
constant krotor with the two rotor thrust coefficients for the thrust prediction. This
can be seen by substituting equation 4.1 into 4.7.

B FT = ρ u2rotor D4 (c̄T 0 − c̄T 1 J)B p̂rotor (5.13)

2
c̄T 0 = krotor cT 0 (5.14)

2
c̄T 1 = krotor cT 1 (5.15)
Without an intermediate measurement the optimizer can not distinguish between
the separate factors making up the lumped coefficient and there are exists no unique
solution for retrieving the separate parameters back from the lumped coefficient.

In contrast to the example above it is possible to obtain reasonably good measure-


ments of the mass m, propeller diameter D, wing and elevator areas A with access
Chapter 5. Parameter Optimization 28

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

p̂rotor,0 , c̄T 0 , c̄T 1 , c̄D ,


urotor , utilt ,
Tilting Rotor p̂tilt , τmax , (c̄DM 0 , c̄DM 1 ,
va , ρ
D, rrotor c̄RM )

c̄T 0 , c̄T 1 , c̄D ,


Bi-Directional p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Wing va , ucs , ρ Aw cDα cDα2 , c̄Dδ , αs , λ
cD,f p,min ,
cD,f p,max

Full Fuselage cD,x , cD,y ,


va , ρ
Drag cD,z

Elevator va , ue , ρ Ae c̄L,e , c̄D,e

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Tilt Wing va , ucs , αs , λ, cT 0 ,
Aw , cDα cDα2 , c̄Dδ ,
Section utilt , ρ cT 1
cD,f p,min ,
cD,f p,max

Table 5.1: Overview of all model components

to the physical drone. In this case measuring those properties has the advantage
of resulting in optimization parameters, that are closer to the modelled physical
coefficients and therefore more comparable between different models and easier to
constrain. In contrast it is much harder to get an accurate measurement of the
inertia matrix I. Here it might be beneficial to include its contribution into the
optimization due to the non linear influence of its components. This should be
investigated further when focusing more on the moment estimation in future.
Chapter 6

Vehicle Models

To model the full dynamics of a UAV a full vehicle model is constructed using the
component classes introduced in chapter 4. The full forces and moments acting on
the system is then obtained by the sum of its components:
n
X
Ftot = Fi (6.1)
i=1

n
X
Mtot = Mi (6.2)
i=1

In this thesis there were a total of 4 models developed in the order introduced
below. These models were chosen as stepping stones towards the model for the
tiltwing VTOL UAV, on which the thesis lays a special focus. With the modular
approach of the developed component classes it would be possible to quickly develop
additional models when needed such as for example a fixed-wing model.

6.1 Multirotor

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

Full Fuselage cD,x , cD,y ,


va , ρ
Drag cD,z

Table 6.1: Overview of multirotor model

The first and simplest developed model was the multirotor model. It is comprised
of a specified number of upwards facing rotors and a fuselage drag model with
components for all three directions. Hereby, it is assumed that all the rotors are
equal and the rotor coefficients are estimated on the sum of all rotor forces. As can
be seen in the table above this model has only linear dependencies on its parameters
and can therefore use the linear optimization techniques.

29
Chapter 6. Vehicle Models 30

Figure 6.1: Multirotor example: 3DR Iris airframe [18]

6.2 Quadplane

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Wing va , ucs , ρ Aw cDα cDα2 , c̄Dδ , αs , λ
cD,f p,min ,
cD,f p,max

Full Fuselage
va , ρ cD,y
Drag

Elevator va , ue , ρ Ae c̄L,e , c̄D,e

Table 6.2: Overview of standard quadplane model

The quadplane model corresponds to PX4s standard VTOL and was developed for
testing with the gazebo simulator. It uses a total of 5 standard rotors to model the
four vertical and the pusher rotor. Hereby the pusher rotor is modeled by a separate
set of coefficients while the assumed to be identical vertical rotors share the same
coefficients. It furthermore includes a wing with two ailerons and an elevator.
31 6.3. Delta Quadplane

Figure 6.2: Quadplane example: Volantex Ranger-Ex QuadPlane VTOL [19]

The fuselage drag is modeled to only contain the drag force in the y-direction. Since
the drag forces in the xz-plane for wing and fuselage both depend on the same
temporal data (va,xy , ρ) and act in the same direction they are not distinguishable.
For this reason the drag effects in the xz-plane of the wing and the fuselage will be
lumped together.

To achieve a linear model for the quadplane the stall angle αs and the model
blending factor λ were specified by the operator using domain knowledge. It would
however be interesting to extend on the work done with the linear model by including
the non-linear parameters in the optimization at some point.

6.3 Delta Quadplane

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Wing va , ucs , ρ Aw cDα cDα2 , c̄Dδ , αs , λ
cD,f p,min ,
cD,f p,max

Full Fuselage
va , ρ cD,y
Drag

Table 6.3: Overview of delta quadplane model

The delta quadplane model was then developed by adapting the standard quadplane
model, since this airframe was seen to be more common which was thought to make
the data acquisition easier.
Chapter 6. Vehicle Models 32

Figure 6.3: Delta quadplane example: DeltaQuad airframe [20]

In comparison to the standard VTOL quadplane the delta quadplane has no tail.
Therefore the elevator is omitted and the control surfaces on the wing are used to
control both pitch and roll angle of the UAV. Since they combine the two functions
they are sometimes referred to as ailevons. Also the coefficients of this model were
obtained by fixing the stall angle αs and the model blending factor λ and using a
linear optimization technique.

6.4 Tiltwing

Component Temporal Additional Linear Non-Linear


Name Data Properties Parameters Parameters

c̄T 0 , c̄T 1 , c̄D ,


Standard p̂rotor , D,
urotor , va , ρ (c̄DM 0 , c̄DM 1 ,
Rotor rrotor
c̄RM )

p̂rotor,0 , c̄T 0 , c̄T 1 , c̄D ,


urotor , utilt ,
Tilting Rotor p̂tilt , τmax , (c̄DM 0 , c̄DM 1 ,
va , ρ
D, rrotor c̄RM )

Full Fuselage cD,x , cD,y ,


va , ρ
Drag cD,z

Elevator va , ue , ρ Ae c̄L,e , c̄D,e

cL0 , cLα , c̄Lδ ,


cL,f p , cD0 ,
Tilt Wing va , ucs , αs , λ, cT 0 ,
Aw , cDα cDα2 , c̄Dδ ,
Section utilt , ρ cT 1
cD,f p,min ,
cD,f p,max

Table 6.4: Overview of tiltwing model

The tilwing model was the final and most challenging of the models that was de-
veloped in this thesis. It was chosen, because it offers challenging and strongly
33 6.4. Tiltwing

coupled dynamics and because it was the only VTOL model where there existed a
possibility to collect flight data within the scope of this thesis.

Figure 6.4: Tiltwing example: Aero Mini tiltwing UAV [21]

The tiltwing model was specifically developed for the Aero Mini tiltwing, but could
be adapted to other tiltwing models fairly easily. It can tilt its wing with the 4
rotors by 90 from a vertical to a horizontal position. Since the propwash induced
by the rotors influences the airspeed around the wing behind it the latter was split
up into 4 sections. Each section contains a tilting rotor and a tilting wing section.
The local airspeed is then computed as explained in section 4.2.6. Hereby all tilting
wing sections and tilting rotors share the same optimization coefficients.

Furthermore, the tail rotor of the tiltwing model, used to help control the pitch
angle in hover, is modeled by a standard rotor. Also an elevator model and the
fuselage drag model for all three directions is present. In comparison to the two
quadplane models introduced above the tilting of the wing results in the fuselage
drag forces for xB and zB (which are calculated in body frame B) direction to not
always be aligned with the wing drag forces for xW and zW (which are calculated
in wing frame W ).

Similar to the quadplane models above also here the the stall angle αs and the model
blending factor λ were fixed by the operator as a first step. The wing profile is
symmetric and similar to a National Advisory Committee for Aeronautics (NACA)
0018 profile. This information was used to set the stall angle to 15 and to constrain
the lift offset coefficient cL0 and the linear drag coefficient cDα to be equal to zero.
This way the modelled wing produces no lift and minimum drag at zero angle of
attack.

The nonlinear influence of the rotor thrust force on the airspeed around the wing
section was kept in the model and its coefficients were added to the non-linear
optimization.

In contrast to the other models there was a lot more information about vehicle
Chapter 6. Vehicle Models 34

properties such as mass, wing area and the mapping from actuator output to control
surface deflection and rotor angular velocity present. This information can be seen
in appendix A and was incorporated into the model.
Chapter 7

Model Analysis

7.1 Force and Moment Predictions


The optimization, as introduced in chapter 5, returns a set of optimization pa-
rameters that minimize the predicted force error. The overall force and moment
predictions were then analyzed using both prediction metrics and data visualization.

7.1.1 Prediction Metrics


To assess the quality of the produced summed predictions quantitatively, two well
known metrics from the fields of statistics and machine learning are introduced
below. Due to their generality and intuitive interpretation they are well suited as a
general metric suitable for a wide range of applications. For more specialized needs
the list of metrics can always be extended.

Root Mean Squared Error The root mean squared error (RMSE), which is
minimized by the optimization, was used as a first metric to asses the performance
of the fit. For the defined cost function it is computed as follows:

RM SE =k ameas − apred k2 (7.1)

It can be interpreted as the average acceleration prediction error and gives a good

absolute physical relation, since it is expressed in m/s2 as the accelerations.

R2 Error In contrast to the RMSE the R2 error returns the ratio between the
variance explained by the model and the total variance present in the data. This
allows for a better comparison between the performance on different data sets, since
a data set that contains a larger set of the state space typically results in a larger
variance in the acceleration data and therefore a larger RMSE. For the R2 value
that does not necessarily need to be case.

Pn
(ameas,i − apred,i )2
R2 = Pi=1
n 2
(7.2)
i=1 (ameas,i − amean )

where amean is the mean value of ameas .

35
Chapter 7. Model Analysis 36

Metric Evaluation and Over-Fitting To eliminate the possibility of over-


fitting on the data the model should be trained and evaluated on different train
and test data sets or in a more automated manner by using cross validation. In
general over-fitting is less critical for the hand crafted parametric model, since it
contains only DoF in the direction of and correlated to the expected dominant
physical effects. It can nonetheless happen when not all optimization coefficients
are separately observable from the data as explained in more detail in section 7.2.4.
By looking at the difference in RMSE and R2 error between a representative train
and test data set, which both contain a similar distribution of the state space, the
error portions corresponding to over-fitting can be determined.

7.2 Parameter and Data Analysis


To fully leverage the advantages of the parametric model in comparison to the
model free approach a set of coefficients c∗ should not only generate a good Force
and Moment predictions, but also capture the underlying physical effects. This way
it can be assumed that the the model translates well into new potentially not yet
in the data explored states, as explained in section 1.1.1. Unfortunately, it is not
always trivial to assess whether the coefficients c∗, returned by the optimizer are
a good physical fit. This is especially the case since the resulting parameters are
a direct result of the chosen data. This is the reason why the data and parameter
analysis has to be conducted together. The sensitivity of the coefficients on the
choice of used data means that unfortunately, even a good overall force prediction
does not necessarily in realistic coefficients and that the choice of data is crucial to
obtain meaningful parameters.

7.2.1 Parameter Biases


There can be several systematic reasons for a parameter not being estimated at its
correct value. The most important distinctions are:

Sensor Bias The biases arising from the sensor measurements can have a strong
influence on the parameter estimation of the model. The sensor biases can usually
only be mitigated by the estimator to a certain extent. The mitigation is especially
hard for systematic biases, such as an IMU placed outside of the centre of gravity
or measurement drifts due to for example the temperature change due to electron-
ics heating up the electronic compartment of the UAV. Although some of these
systematic biases, such as the IMU offset where the introduced errors correlates
with the angular velocity, could be included in the optimizer many others like the
temperature drift of for example the IMU can many times not be inferred from the
data set. Under the assumption of a zero mean amplitude distribution of the noise
this effect will be mitigated by the optimizer when enough data is used.

Modelling Bias The modelling bias describes the influence of physical effects
that were not accounted for in the model structure or data processing of the model.
One such example for this thesis would be the neglected influence of the wind on the
airspeed. For a good parameter fit the effects of the neglected components should
be small in comparison to the modeled effects.

Data Bias Additional bias can also be introduced by the distribution of data. If
a certain region of the state space is over represented this leads to the regions with
higher data density being more heavily weighted in the fit. To mitigate this effect
the Visual Dataframe Selector introduced in section 3.2 was used to visualize the
37 7.2. Parameter and Data Analysis

data distributions and to choose a suitable subset of the data. A future extension
to the framework could also be a weighting of the data points according to their
occurrence.

Insufficient Information Bias If there is no information about the coefficient


present in the data it could, depending on the implementation of the optimization
parameter, be left at its initial value or set to zero. If the data contains information
about the coefficient but the correlation between the coefficient and the measure-
ment is small it can lead to a significant bias introduced by the measurement noise
or residual dynamics, which are not accounted for by the parametric model.

Joint Observability Bias If the contribution of the modeled physical effects


corresponding to a group of coefficients can not or not well be distinguished the pa-
rameters become dependable variables. This can result arbitrary parameter values
that only predict well in sum. An example for this would be the two rotor thrust
coefficients when the advance ratio J is identical or close to identical for all data
points. Since many coefficients have an influence on multiple axis of the predicted
accelerations, a wrongly estimated parameter in one region of the model can trans-
late to a bias in many other parameters, which are used to compensate the effect of
the former. Especially for nonlinear models these combinations can be unintuitive
to spot for an operator.

In reality all different biases will be present to a certain extent for all coefficients.
There are certain tests and methods than can be employed to analyze, indicate or
mitigate the effects of some of these biases. Unfortunately it is very hard to cover all
possible biases with a standardized approach that works for every model and a good
domain and model knowledge is still critical in the parameter and data analysis.

7.2.2 Parameter Bounds


In order to reduce the possibilities for compensating the effects of other parameters
the operator should use their domain knowledge to enforce bounds on the parame-
ters. With this also the sign of a coefficient and the therefore the direction of the
modeled force can be set for many forces. For example we can safely assume that
the sign of the x, y and z components of the drag vector will always be opposite to
the sign of the components of the airspeed vector and that rotors should generate
positive thrust at zero airspeed inflow velocity (J = 0). Setting upper bounds can
be done by for example analyzing the resulting forces or by experience from similar
models.

If some parameters can be observed to go to the bounds after the optimization, this
can then be used as an indicator, that the modelled effect was either not represented
well enough in the data or used to overcompensate another effect.

7.2.3 Parameter Confidence and Significance


In order to address the issues of the insufficient information bias it would be very
helpful to have a quantitative metric to assess the significance and certainty of the
parameters.

Linear Models For the linear model, for which the influence of the single coeffi-
cients can be separated, there exists already a range of standard tools that can be
used to assess the significance of a value for linear regressions. One such method
investigated in this thesis is the p-value test. It generates a quantitative metric
Chapter 7. Model Analysis 38

for whether the relationship between an independent variable (the optimization co-
efficient in our case) and the dependent variable (the acceleration prediction) is
statistically significant by controlling for the effects of all the other dependent vari-
ables. It works by defining a null hypothesis, which is usually that the coefficients
equals zero and therefore has no effect of the dependent value. The p-value then
indicates the amount of evidence for the null hypothesis as a value between 0 and
1. Hereby, a low value means that it is likely, that the parameter has an influence
on the dependent variable. A common significance threshold hereby is the value of
0.05, but this can be adapted depending on the needs of the project.

Non-Linear Models Unfortunately, there exists no standardized equivalent to


the p-test for nonlinear coefficient models, since the effects of the coefficients on
the prediction can in general not be separated as in the linear case and non-linear
models can take many different forms. For this reason it is impossible to construct
a single hypothesis test that works for all non-linear models. It is possible though,
to manually fix a null hypothesis (e.g. αS = 15 when it is included as an optimiza-
tion parameter) with domain knowledge. Then the statistical significance of the
parameter can be analyzed for a certain confidence interval.

7.2.4 Separate Observabilily of Parameters


When the occurrence of a certain physical effect is not distinguishable from another
effect the coefficients are not separately observable, which can lead to them taking
values that are far from the physical ground truth due to the joint observability
bias. Although it can be hard to detect all of those cases explained above, since for
a given data set the optimizer might find a non physical optimal set of parameters
even when all parameters are observable separately it is possible to check for some
of the more obvious cases. In that sense the separate observability of all parameters
is a necessary but not sufficient condition for a good parameter fit.

Linear Model For the linear model the separate observability can be assessed
by analyzing the dependencies between the rows of the feature matrix X. Each
row of X corresponds to the the influence of a certain coefficient on the predicted
accelerations given the used data. Therefore the covariance between two different
rows of X indicates how similar the effect of the two different effects is up to a scale
factor. Hereby, a correlation value close to 1 or −1 means that the effects are not
well separately observable for the given data.

Σ = Corr(X) (7.3)

Cov(Xi , Xj )
Σij = p (7.4)
V ar(Xi ) V ar(Xj )

X = (X1 , X2 , ..., Xm ) (7.5)

Non-Linear Model Similar to the parameter confidence and significance it is


also less straight forward to define the separate observability for non-linear models.
As can be seen in chapter 6 most used model components are still linear even for the
non-linear models. In this case the relation between the linear model coefficients
could still be expressed by the linear covariance matrix. For the relation to the
non-linear parameters the work in this thesis could be extended by incorporating for
example Spearman’s Correlation [22], to describe monotonic nonlinear associations,
or Mutual Information Theory [23] for general non-linear relations.
39 7.2. Parameter and Data Analysis

7.2.5 Dedicated Maneuvers


In order for a parameter to be estimated close to its physical property the decision
of training data is crucial. Ideally the data contains a very large range of pos-
sible states and inputs, where the physical effect expressed by the model can be
observed separately from other effects. However, the task of collecting a large range
of possible states and inputs can be quite challenging. Deviating too much from the
nominal cruise or hover operation points of a UAV usually might result in a crash
or unsafe behaviour of the UAV. For this reason a large area of the state space can
only be explored dynamically and needs a good controller or pilot that can bring
the UAV back to a stable equilibrium point. This is usually not the case for a nor-
mal mission flight and requires a carefully constructed data set of dedicated flight
maneuvers, highlighting the desired state space, for the best parameter fit. These
dedicated maneuvers have to be specified by the operator using their knowledge of
the model. The confidence, significance and observability metrics introduced above
can then help the operator with indicating the coefficients that were not yet well
covered in the data set. This way they can provide some help in iteratively arriving
at a good data set.

Instead of estimating all parameters simultaneously from a combined data set it is


often easier to specify different maneuvers that ideally only highlight the influence
of a single parameter. This data can then be used to get a good prior estimate of
said parameter, which can be used in refining for example the bounds. At some
point though, a simultaneous optimization over the whole coefficient space is still
desirable.

Unfortunately, there was not enough time to specify the needed maneuvers on top
of the development done in this thesis. Therefore, the author had to work with the
data that could be accessed in the limited time. To get better parameters for the
developed model and therefore further validate the work done the use of dedicated
maneuvers would be a required next step.
Chapter 8

Results

The four models were used together with data from the simulator and from flight
logs. The main results obtained by investigating the effect of the data and the
resulting dynamics predictions shall be introduced below.

8.1 Multirotor and Quadplane

The multirotor and the two quadplane models were used mainly as stepping stones
for the more complicated tiltwing model and to illustrate the parameter analysis
for the linear models.

8.1.1 Multirotor Model Results

The multirotor was used in a first step to mainly validate the rotor dynamics.
Here, it will also be used as a comprehensible example to show the different metrics
used for the parameter analysis of the linear models. Although the same metrics
are also valid for more complex linear models such as the quadplanes introduced
in section 6.2, the problems of significance and separate observability just become
more pronounced for those models.
The examples showed in this section were generated by configuring the multirotor
model for a quadrotor and by using data from the gazebo simulator, where the
drone was controlled manually with a joystick.

Acceleration Prediction As can be seen the regressed model for the multirotor
was able to obtain a very good acceleration prediction for the simulator model,
which is an important first step in validating the core functionalities of the model.

40
41 8.1. Multirotor and Quadplane

Figure 8.1: Simulator dataset for a quadrotor model

For some context on the data used in the optimization also the airspeed in body
frame, calculated as explained in 3.1.6, is included here.

Figure 8.2: Estimated airspeed for the dataset

The evaluation metrics for the force predicitons were:

RM SE = 0.1141 m/s2

R2 : 0.9994
Chapter 8. Results 42

Force Parameter Analysis The resulting coefficients and their respective p-


values, used for the parameter analysis, can be seen in the table below. Note
that the coefficients themselves are the lumped values already taking the propeller
diameter and density into account.

Coefficient
cD,rotor cT 1,rotor cT 0,rotor cD,f,x cD,f,y cD,f,z
Name

Coefficient 1.332 7.496 3.183


0.127 -0.118 3.983
Value ×10−3 ×10−3 ×10−2
p-Value 0.000 0.000 0.000 0.230 0.000 0.000

Table 8.1: Coefficients and p-values for quadrotor results

As can be seen above, the influence of all parameters, expect the fuselage drag in
x-direction, is well observable in the data and gives a significant results.

Figure 8.3: Correlation matrix for the used data set

By looking at the correlation matrix it can be seen that the strongest cross-correlations
exists between the coefficients for rotor thrust and fuselage drag in z-direction
(about -85%) and the rotor drag and fuselage drag in x − direction (about 80%).
This means that for the given data the effects of the rotor drag in x-direction and
the fuselage drag in x-direction are not well distinguishable. Also the estimated
drag coefficients for x and y differ a lot, which exceeds the expected difference of
the author for the frame of the IRIS quadcopter, which has a similar shape and
offers a similar area of resistance from the x and y directions. Together with the
p-value there are some indicator, that the parameter estimate for the drag in x di-
rection could potentially be improved by better highlighting this effect in the data
set. This could be done by inducing airspeed in the x-direction with movement
while also changing the collective thrust at the same point. But to make definitive
43 8.1. Multirotor and Quadplane

conclusions those experiments should be conducted in real flight data, for which the
correlation matrix and p-values might look quite different due to the for example
much larger noise floor.

Figure 8.4: normalized Actuator inputs the used data set

When looking at the correlation matrix it can be seen, that there is also a quite
strong correlation between the rotor drag coefficient and the fuselage drag coefficient
for the y-direction. This suggests, that despite the p-values not indicating a bad
significance, the model components of rotor drag and fuselage drag in y-direction
could likely also be improved by exciting the dynamics along that axis for different
collective thrust values.

A similar strong correlation can be observed between the two motor thrust param-
eters. Similar to the drag in y-direction it is assumed that also this difference could
be highlighted a bit more by having a larger range of airspeeds in z-direction for
different collective thrust values. Hereby, it seems likely that the model, although
working well for the observed input and airspeed range, could perform significantly
worse for larger rotor inflow airspeed or collective thrust differences using the ob-
tained parameters.

In the end though, it is not trivial to asses a specific covariance or p-value threshold
from which on more data needs to be collected. This depends strongly on the use
case of the dynamics model. Furthermore, model components modelling closely
related effects, as for example the two coefficients for rotor thrust, will always have
a higher base correlation value than completely non related components. But the
presented metrics can nonetheless be used as indicators on which parts of the model
are least represented or observable in the data which can then be taken into account
when improving the data selection.

The above explained examples show, how the problem of significance and separate
observability and finding a close to physical parameter fit is not trivial even for this
very simple example, and how sensitive the problem is to the selected data.

8.1.2 Quadplane and Delta Quadplane


Both the standard quadplane and the delta quadplane model were partially tested
and validated. Therefore this chapter is kept brief, but the For both platform,
there was no possibility to collect data and measurements from a vehicle within the
scope of the thesis. They were tested using logs from the simulator and a flight
Chapter 8. Results 44

log, downloaded from the public log repository https://logs.px4.io [24] respectively.
This limited the ceiling for validation and model parameter quality respectively.
Furthermore, by not knowing any information about the properties of the UAVs
used to generate the public flight logs like for example mass, wing area or propeller
diameter all those properties have to be lumped in into the optimization coefficients.
This makes the definitions of bounds and using domain knowledge in the analysis
of the many more coefficients much harder.

For this reason, even though a detailed analysis similar to the quadrotor model
could be shown this section, it is kept brief by design.

Figure 8.5: Quadplane acceleration prediction

An example is shown above from a section of hover flight from a log from the
gazebo simulator. Below a acceleration prediction for the delta quadplane is shown.
Hereby, a cruise flight loiter segment from a mission flight is shown to also present
some data on the cruise dynamics, where the wing and puller rotor dynamics are
dominant. It was also observed, that the acceleration measurements in this log
contains a lot of noise, when compared with for example the tilt wing data. This is
especially the case in the z-direction. Also it can be observed, that the accelerations
in z- and x-direction seem to oscillate in a somehow periodic manner. This seems to
be the case due to the estimated airspeed neglecting the influence of wind, which is
estimated at around 5m/s from the log data. This would well explain the periodic
increase and decrease of the lift and drag force due to variations in airspeed. This
is a good example in showing the limitations of the current implementation of the
airspeed computation and motivates an improvement in that area.
45 8.2. Tiltwing

Figure 8.6: Delta quadplane acceleration prediction

8.1.3 Conclusion

All the developed linear vehicle models offered some promising first results and seem
to be conceptually well suited to eventually deliver good parameter fits. However,
in order to fully validate the design more rigorous testing on real flight data is
needed. To achieve not only a model that predicts well in sum, but that delivers also
meaningful parameters the possibility to collect data and the design of maneuvers
to highlight all the relevant dynamics are crucial. Nonetheless the methods used
in the parameter analysis provided some good indications for how well a parameter
is fit. With more time and by iterating between maneuver design and parameter
analysis those methods could potentially be refined or extended.

8.2 Tiltwing

In contrast to the other model there was quite same data and measurements of the
system properties like mass and wing area present. The available data was generated
from manual flights and contained more dynamics excitation than a normal mission
flight. Due to the limited time of the thesis it was not possible to collect data with
dedicated maneuvers.

8.2.1 Force Prediction

Acceleration Prediction The tiltwing model was used together with a training
dataset to estimate all the model coefficients.
Chapter 8. Results 46

Figure 8.7: Training dataset for the tiltwing model

In addition to the measured and predicted acceleration also the tilt angle is included
in the plot above. Hereby, a tilt angle of 90 corresponds to a vertical wing and a
tilt angle of 0 to the wing being fully horizontal. As can be seen above, the training
data contains a wide range of quite evenly distributed tilt angles. Since the tilting of
the wing is the main distinctive feature for this model this was chosen deliberately.

RM SE : 1.0799 m/s2

R2 : 0.9521

The force prediction of the model does a reasonable job in predicting the occurring
forces for the challenging dynamics of the tilt wing. Interestingly, the force predic-
tion seems to be more accurate in the direction the rotors are facing. This is a first
indicator, that the rotor models contribute more to the force estimate than other
components.

The coefficients obtained from the training data set were then used to predict the
forces on a completely unseen data set.
47 8.2. Tiltwing

Figure 8.8: Testing dataset for the tiltwing model

As can be seen in Fig.8.8, the parameters obtained from the training set translate
well to the test set. Notable here is that in contrast to the training set, the test
set contains multiple transitions. Also here a good prediction is generated which
indicates, that the obtained results are to a certain extend generalizable to unseen
data. This claim is supported by the force prediction evaluation metrics being only
slightly worse than on the training data set.

RM SE : 1.1662 m/s2

R2 : 0.9481

Although the model managed to generate a good prediction for this test set, this
does not mean that this will be the case for any test set. For a closer look, the
resulting model parameters were inspected in more detail in the next section.

8.2.2 Force Parameter Analysis

The different parameters of the tilt wing model were then analyzed. As outlined in
chapter 7, the parameter analysis is much less generalize for the non-linear vehicle
models. Therefore the parameters will be mainly compared to the expected values
and some reference measurements. Furthermore the contribution of all model com-
ponents is visualized separately for the training data set. This way the contribution
of each component can be analyzed.
Chapter 8. Results 48

Figure 8.9: Force Prediction for Rotor Components

Figure 8.10: Force Prediction for Aerodynamic Components

Rotor Thrust A central component for the tiltwing model is the rotor thrust.
It generated the largest force in hover and also influences the wing model by the
propwash. Hereby it was observed, that the optimization tended to overestimate the
contribution of the tail rotor in comparison to the main rotor to the point of even
estimating the thrust of the tail rotor to be larger than the thrust of a single main
rotor. Due to the motor and propeller specifications (appendix A) and a ground
49 8.2. Tiltwing

truth measurement of the rotor thrust at zero inflow velocity it could be concluded,
that this behaviour was not representing the underlying physical effects.

Figure 8.11: Measured main rotor thrust for no air inflow [21]

Figure 8.12: Measured tail rotor thrust for no air inflow [21]

Since the thrust influences directly or indirectly all the other model components it
was decided to implement tight bounds, that only allowed the maximum thrust of
the two rotors to vary within about 15% with respect to the fit obtained from the
measurements shown above. The new combination resulted in only a marginally
worse performing model. This indicates, that the difference between the two com-
ponents is not well observable in the data.
Chapter 8. Results 50

Figure 8.13: Main rotor thrust

Figure 8.14: Tail rotor thrust

For both models the optimizer managed to find coefficients that are close to the
measured thrust but did not converge to the bounds. Furthermore, the effect of
reduced thrust due to air inflow perpendicular to the rotor was not separately
observable for the tail rotor. Since for nominal hover flight, where the tail rotor
is active, large inflow velocity variations are not expected this might be an area of
the model that contains to many DoF. The model complexity could potentially be
reduced here. For sure a good parameter fit for cT 1,tail would not have the highest
priority.

Wing Lift and Drag To analyze the predictions of the lift and drag curves for
the predicted values were plotted over the large range of angle of attack, which can
occur in for example the transition of the tiltwing. In order to set the estimated
51 8.2. Tiltwing

values in perspective an educated guess about the expected value is added based on
the NACA 0018 profile [25] and a thorough study of airfoil behaviour for the post
stall region [26].

Figure 8.15: Predicted and expected lift coefficient over angle of attack

As can be seen from figure 8.10 the lift force does most of the work compensating
gravity in the z direction in the middle of the training log as would be expected. In
contrast to this it the resulting lift coefficient curve is much higher than expected
from the reference and a clear weak point of the model. It was tried to constrain
especially flat plate lift coefficient cL,f p to a value smaller than 1. But the optimizer
would not converge to a better solution and instead just try to compensate the lost
lift with the rotor drag and other model components resulting in a much higher cost
over all.
Chapter 8. Results 52

Figure 8.16: Predicted and expected drag coefficient over angle of attack

The drag model on the other hand is much closer to the expected value. Hereby
it likely contains also some contribution of the fuselage drag in x-direction and
therefore is higher by an almost constant offset from the expected value.

By looking closer at the distribution of the angle of attack (Fig. 8.17) with respect
to the wing, it can be seen that most of the data points are in the post stall or
model interpolation region.

Figure 8.17: Predicted and expected drag coefficient over angle of attack
53 8.2. Tiltwing

Hereby it is important to remember that the wing angle of attack is not obtained
purely from the data but the propwash is estimated together with the rotor thrust.
To verify that the prop-wash is having the expected effect of reducing the angle of
attack all three computed angle of attack values were plotted simultaneously.

Figure 8.18: Distribution of angle of attack

This can be confirmed on a qualitative measure, but is much harder on a quantitative


measure without having a measurement of the airspeed around the wing sections.
When looking at the performed flight manouvers the operator would expect the
average angle of attack being smaller than it was estimated in the given data,
especially for the flight segments where the wing is almost horizontal.

Even a small systematic errors in the range of a few degrees in the wing angle of
attack can have a large impact on how much of the measured data is attributed to
the attached flow and post stall regions and can therefore have a large impact of the
whole model. Possible sources for this are next to the prop-wash estimation the tilt
angle, measured by a potentiometer, and the manually fixed stall angle. Especially
the stall angle might be not very easy to determine, since the turbulent prop-wash
over the wing could delay the stalling of the wing to a certain extent.

For the further investigation of the wing model it would be beneficial to get some
data where the vehicle is gliding without the rotors to analyze the effects of the
wing separately to get a better estimate for meaningful bounds before including it
again in a larger optimization.

Fuselage Drag Even though no significance test could be conducted on the


model, it can be seen from the component based force prediction that the fuselage
drag model generates only a very small contribution to the total predicted force in
comparison to other model components for the obtained coefficients. Hereby, it is
very likely that especially the fuselage drag coefficients for the x- and z-directions
are not separately observable from the effect of the wing drag and lift forces. This
seems very likely to be the case for the wing drag model as explained above. In
order to distinguish them from the wing effects it would be required to fly with high
airspeed components in those directions for different tilt angles. The coefficient in
Chapter 8. Results 54

y-direction is not well separately observable from the rotor drag as was already the
case for the quadrotor. This fuselage drag model would be an interesting model
component to investigate further and see how well those parameters can even be
estimated. If it turns out to be almost not separately observable from the wing
parameters it might make more sense to lump its effects together with the tilting
wing section model.

Elevator Lift In figure ?? no contribution of the elevator lift or drag can be seen.
This effect is also likely hard to observe without dedicated experiments.

8.2.3 Conclusion
The determined model for the tiltwing was able to well predict the summed dy-
namics of the system, especially when taking into account that no dedicated data
collection effort was conducted. Due to the latter reason it turned out, that many
of the parameter fits are likely not well generalizable and do not all represent the
underlying physical effects. Here, the design of maneuvers to highlight those dy-
namics separately and potentially a complexity reduction of the model would be a
good way forward. Also the effect of the wind would be taken into account and
could still be one of the big sources of error and bias in the model.
Chapter 9

Conclusion and Outlook

The developed pipeline for data-driven dynamics estimation using flight logs proved
to be a useful framework to allow for a fast development of new vehicle models out of
the different components. In comparison to model free approaches the parametric
models incorporate domain knowledge about the dynamics of a system into its
mathematical description.

In order to leverage the advantages of this approach it is important in the context


of UAVs, that the estimated parameters are not just predicting well in sum but
actually model the underlying physical effects. To achieve meaningful parameter
estimates it is crucial that enough information on each modelled physical effect if
contained in the data and that those effects are separately observable. Constructing
a data set to meet this requirements gets harder and harder with increasing model
complexity and can, for the model complexity of most UAVs and certainly for VTOL
UAVs, only be done by specifying dedicated maneuvers to separately illuminate the
necessary effects in the data.

To help the operator in assessing whether his data set is good enough two meth-
ods for linear models for significance and separate observability for proposed and
showed promising first results. In contrast it is much harder to come up with a sim-
ilar generalizable procedure for non-linear models. For both linear and non-linear
models it would be a very beneficial addition to the pipeline to have a good of
quality assessment of the used data and also the presented approaches for the linear
model should be further validated and improved upon. To develop better methods
a larger project focusing on these metrics and their influence in building up a more
detailed model with flight test would be an interesting next step.

The models developed in this thesis showed quite promising first results, especially
when taking into account that no dedicated data collection was performed. This
way the developed models enabled the verification of the core functionality of all
the components of the pipeline. For further validation and a better performance
of the different developed models more curated flight data including maneuvers
would be needed. As it has been shown that this gets increasingly difficult for
more complicated models this would be a good motivation extend on the developed
models by combining them with a model free approach to account for the residual
dynamics.

55
Bibliography

[1] Horn Joseph F. Mark B. Tischler, Robert K. Remple. Aircraft and rotorcraft
system identification: Engineering methods with flight test examples, second
edition [bookshelf]. IEEE Control Systems Magazine, 36(2), 2016. doi: 10.
1109/MCS.2015.2512078.

[2] Michael Nothem. System identification of a general aviation aircraft using a


personal electronic device. pages 17–44, 2019.

[3] Anusha Nagabandi, Gregory Kahn, Ronald S. Fearing, and Sergey Levine.
Neural network dynamics for model-based deep reinforcement learning with
model-free fine-tuning, 2017.

[4] Christopher K. I. Williams Carl Edward Rasmussen. Gaussian Processes for


Machine Learning. 2006.

[5] Shixiang Gu, Timothy Lillicrap, Ilya Sutskever, and Sergey Levine. Continuous
deep q-learning with model-based acceleration, 2016.

[6] Thomas Stastny. Robot Dyanmics lecture notes: fixed-wing Lecture. 2019.

[7] Antonio Franchi Matthias Faessler and Davide Scaramuzza. Differential Flat-
ness of Quadrotor Dynamics Subject to Rotor Drag for Accurate Tracking of
High-Speed Trajectories. 2018. ISSN 620-626.

[8] Raunak Raj Basman Elhadidi Erdal Kayacan Yunus Govdeli, Sheikh Moheed
Bin Muzaffar. Unsteady aerodynamic modeling and control of pusher and
tilt-rotor quadplane configurations. 2019.

[9] Thomas Stastny Roland Siegwart Carl Olsson, Sebastian Verling. Full Envelope
System Identification of a VTOL Tailsitter UAV. 2019.

[10] Sebastian Verling David Rohr, Thomas Stastny and Roland Siegwart. Attitude-
and Cruise Control of a VTOL Tiltwing UAV. 2019.

[11] Thomas Stastny and Roland Siegwart. Nonlinear Model Predictive Guidance
for Fixed-wing UAVs Using Identified Control Augmented Dynamics. 2018.

[12] Lorenz Meier, Dominik Honegger, and Marc Pollefeys. Px4: A node-based
multithreaded open source robotics framework for deeply embedded platforms.
In 2015 IEEE International Conference on Robotics and Automation (ICRA),
pages 6235–6240, 2015. doi: 10.1109/ICRA.2015.7140074.

[13] Px4 gazebo simulation. URL https://docs.px4.io/master/en/simulation/


gazebo.html.

[14] Px4/pyulog. URL https://github.com/PX4/pyulog.

56
57 Bibliography

[15] Manuel Galliker. Visual dataframe selector. URL https://github.com/


manumerous/visual_dataframe_selector.
[16] Steven Diamond and Stephen Boyd. CVXPY: A Python-embedded modeling
language for convex optimization. Journal of Machine Learning Research, 17
(83):1–5, 2016.

[17] Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland,


Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren
Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua
Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones,
Robert Kern, Eric Larson, C J Carey, İlhan Polat, Yu Feng, Eric W. Moore,
Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henrik-
sen, E. A. Quintero, Charles R. Harris, Anne M. Archibald, Antônio H. Ribeiro,
Fabian Pedregosa, Paul van Mulbregt, and SciPy 1.0 Contributors. SciPy 1.0:
Fundamental Algorithms for Scientific Computing in Python. Nature Methods,
17:261–272, 2020. doi: 10.1038/s41592-019-0686-2.

[18] 3dr iris. URL http://www.arducopter.co.uk/iris-quadcopter-uav.html.


[19] Volantex ranger-ex quadplane vtol. URL https://docs.px4.io/v1.9.0/en/
frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.html.
[20] Deltaquad airframe. URL https://www.egaoong.top/ProductDetail.aspx?
iid=49451105&pr=82.99.

[21] David Rohr. Images and data.


[22] Jim Frost. Spearman’s correlation explained. URL https:
//statisticsbyjim.com/basics/spearmans-correlation/.
[23] Erik G. Learned-Miller. Entropy and Mutual Information. 2013.

[24] logs.px4.io. URL https://logs.px4.io/browse.


[25] Airfoil tools, naca 0018 airfoil. URL http://airfoiltools.com/airfoil/
details?airfoil=naca0018-il.
[26] D. Naik C. Ostowari. Post-Stall Wind Tunnel Data for NACA 44XX Series
Airfoil Sections . 1985.
Bibliography 58
List of Tables

4.1 Overview of the standard rotor model . . . . . . . . . . . . . . . . . 14


4.2 Overview of the tilting rotor model . . . . . . . . . . . . . . . . . . . 16
4.3 Overview of the bidirectional rotor model . . . . . . . . . . . . . . . 17
4.4 Overview of wing model . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Overview of the full fuselage drag model . . . . . . . . . . . . . . . . 21
4.6 Overview of the elevator model . . . . . . . . . . . . . . . . . . . . . 22
4.7 Overview of the tilting wing section model . . . . . . . . . . . . . . . 22

5.1 Overview of all model components . . . . . . . . . . . . . . . . . . . 28

6.1 Overview of multirotor model . . . . . . . . . . . . . . . . . . . . . . 29


6.2 Overview of standard quadplane model . . . . . . . . . . . . . . . . . 30
6.3 Overview of delta quadplane model . . . . . . . . . . . . . . . . . . . 31
6.4 Overview of tiltwing model . . . . . . . . . . . . . . . . . . . . . . . 32

8.1 Coefficients and p-values for quadrotor results . . . . . . . . . . . . . 42

59
Appendix A

Aero Mini Tiltwing Vehicle


Information

A lot of vehicle information about the aero mini tiltwing model was provided by
David Rohr [21]. It helped constructing the model and its parameter

60
61

aEro MINI
1X MN3110 470KV with Graupner E-Prop 10x5"
cT,0~=0.078 (0.033, 0, -0.052)
n ~= -1895u 2 + 10882u + 213
T T

+
(-0.573, 0, 0.04)
d = -3.781u 3 + 17.176u 2 - 36.426u + 7.659 [deg]
e e e e

d ~= -20ua,f [deg] (d positive down)


a,f a,f

(0.02, 0, -0.02)

FRD wing frame


(0.13, 0.748, 0.035) (x,y,z) coordinates in wing frame
(0.13, 0.323, 0.035) FRD body frame
(x,y,z) coordinates in body frame
CG (in hover)

m = 6.1 kg
Ixx ~= 0.66 kgm2
Iyy ~= 0.33 kgm2
Izz ~= 1.00 kgm2
Ixz = ?
4X MN5008n 400kV with T-Motor 16x5.4"
cT,0~=0.071
n ~= -3058u 2 + 9945u + 226
T T
Appendix B

Aero Mini Tiltwing


Coefficients

Figure B.1: Resulting Coefficient for the train log of the tiltwing model

62

You might also like