Lo Quadrotor With MPC Model Implementation
Lo Quadrotor With MPC Model Implementation
Lo Quadrotor With MPC Model Implementation
v1
Disclaimer/Publisher’s Note: The statements, opinions, and data contained in all publications are solely those of the individual author(s) and
contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting
from any ideas, methods, instructions, or products referred to in the content.
Article
Abstract: For a decade, the studies of dynamic control for unmanned aerial ve-
hicles took a large interest, where drones as a useful technology in different are-
as were always suffering from several issues like instability-high energy con-
sumption of batteries - inaccuracy of tracking targets. Different approaches are
proposed for dealing with the nonlinearity issues which present the most im-
portant features of this system. This paper describes our focus on the most
common control strategies, known as model predictive control MPC, by devel-
oping a model based on the sensors embedded in our Tello quadrotor used for
indoor purposes. The original controller of Tello quadrotor is supposed to be a
slave, where the designed model predictive controller is created in MATLAB
and imported to another embedded system, considered as a master; the objec-
tive of this model is to track the reference trajectory, almost keeping the stability
of the system and ensure the low energy consumption. In the first part, a pro-
found description of the modeling process of a dynamic model for drones is
presented, explaining the design of MPC controller with both linear and nonlin-
ear strategies built in MATLAB. In the final part, simulation and results are dis-
cussed regarding its behavior and performance, highlighting the MPC model's
important role on drones' energy consumption profile.
1. Introduction
Drones, abbreviated as UAVs (Unmanned Aerial Vehicles), are
unmanned aircraft capable of carrying out a mission autonomously by
being self-piloted or semi-autonomous using a remote control [1], [2].
The primary function of these vehicles is to extend human vision be-
yond the natural horizon to accomplish works at risk or in hostile envi-
ronments. The military has implemented the first applications of drones
for surveillance or reconnaissance missions without the risk of human
losses. More recently, civil applications have appeared, such as the pre-
vention of forest fires, the inspection of engineering structures, the ener-
gy flow monitoring of motorway traffic, or the collection of meteorolog-
ical data. However, the use of civilian drones remains limited because
non-military drones still need to be fully integrated into civil airspace
[2], [3].
The classification of the existing UAVs differs according to the
countries and their army [4]. The UAVs can be classified according to
2 of 28
size, endurance, flight altitude, function, mass, payload, etc. The most
accepted classification divides UAVs according to their size and endur-
ance, where mostly five categories of UAVs exist, from aircraft UAVs
with a wingspan of about 30 meters to flapping wings a few millimeters
long.
In this paper, our interest mainly focuses on quadrotor UAVs,
known as drones with multiple rotors. Multi-rotor UAVs are certainly
the best-known and most widespread aeromechanics configuration
among autonomous aerial vehicles [5]. These aircraft are usually
equipped with four rotors, but there are also some with six or even eight
rotors. The mechanical simplicity of this type of vehicle makes it a wide-
ly used configuration for the realization of experimental platforms at
reduced costs [6]. The operation of multi-rotor drones is quite particular,
where the configuration ca be plus or cross configuration [7]. First, to
compensate for the torque reaction, the rotation of the rotors' direction is
reversed two by two. In addition, the translation and the rotation
movements according to the three axes are done carefully by manipulat-
ing the rotational speeds of the different rotors. In fact, it is the differ-
ence in the lift that determines the inclination of the aircraft around the
roll and pitch angles, allowing translational flight, Figure 1 shows the
movement states of a quadrotor with cross configuration regarding the
X, Y, and Z axes [8].
3 of 28
4 of 28
5 of 28
Figure 2. The proposed plan for building the customized embedded system for
Tello Edu
6 of 28
SDK 2.0, embedded with DJI’s flight control technology, and supports
electronic image stabilization.
Figure 3 presents the Tello quadrotor with its specifications. The
drone features a vision positioning system and an onboard camera
based on an advanced flight controller to hover in a precise place, suita-
ble for flying indoors, in which its maximum time flight is around 13
minutes, and its maximum flight distance is 100 meters. These specifica-
tions are critical to see the advantages and the drawbacks that they
have. For example, when we say the drone is for indoor activities, this
characteristic will neglect the wind and gyroscopic effects as a disturb-
ance in the system. Also, it is a motivation for us to optimize the energy
profile of this drone where the time flight can be much longer in case of
using optimal control strategies.
From Tello drone, our interest, as we mentioned earlier, is to devel-
op a new predictive control model using its basic sensors identified as a
complete system: the vision positioning system helps the aircraft to
maintain its current position, where the main components are the cam-
era and the 3D infrared module located on the underside of the plane.
7 of 28
8 of 28
𝑣𝑣𝑥𝑥𝑖𝑖 𝑥𝑥̇ 𝑢𝑢
𝑣𝑣 = �𝑣𝑣𝑦𝑦𝑖𝑖 � = �𝑦𝑦̇ � = 𝑅𝑅 ∙ 𝑣𝑣𝑏𝑏 = 𝑅𝑅 ∙ � 𝑣𝑣 � (1)
𝑣𝑣𝑧𝑧𝑖𝑖 𝑧𝑧̇ 𝑤𝑤
Ω𝑏𝑏𝑥𝑥 𝑝𝑝 𝜙𝜙̇
𝑏𝑏
Ω = �Ω𝑦𝑦 � = �𝑞𝑞 � = 𝑇𝑇 ∙ � 𝜃𝜃̇ � (2)
Ω𝑏𝑏 𝑟𝑟 𝜓𝜓̇
𝑧𝑧
where v is the linear velocity and Ω the rotation velocity, R is the rota-
tion matrix describes the rotation from the body reference system to the
inertial reference, T is the matrix for angular transformation, where to
obtain [ϕ̇ θ̇ ψ̇] T , we need the inverse of matrix T.
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 + 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆
𝑅𝑅 = 𝑅𝑅𝑏𝑏𝑖𝑖 = � 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 + 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆� (3)
−𝑆𝑆𝑆𝑆 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
9 of 28
10 of 28
where m is the masse of the rigid body and v𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 and 𝐹𝐹𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 are the
linear velocity and the forces projected in the inertial frame respectively.
By using the rotation matrix to transform forces from the rigid body
frame to the inertial body frame, we get:
−𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 0 0 𝑥𝑥
𝐹𝐹𝑑𝑑𝑑𝑑 = � 0 −𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 0 � 𝜉𝜉̇ ; where 𝜉𝜉 = �𝑦𝑦� (18)
0 0 −𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 𝑧𝑧
4
⎧𝑥𝑥̈ = 1 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 + 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆) �� 𝐹𝐹 � − 𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 𝑥𝑥̇
𝑖𝑖
⎪ 𝑚𝑚 𝑚𝑚
⎪ 𝑖𝑖=1
⎪ 4
1 𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓
𝑦𝑦̈ = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆) �� 𝐹𝐹𝑖𝑖 � − 𝑦𝑦̇ (20)
⎨ 𝑚𝑚 𝑚𝑚
𝑖𝑖=1
⎪ 4
⎪ 1 𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓
⎪ 𝑧𝑧̈ = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶) �� 𝐹𝐹𝑖𝑖 � − 𝑧𝑧̇ − 𝑔𝑔
⎩ 𝑚𝑚 𝑚𝑚
𝑖𝑖=1
11 of 28
its center of mass. Mexternal represent the sum of moments acting on the
vehicle,
𝐽𝐽𝑥𝑥𝑥𝑥 0 0
𝐽𝐽 = � 0 𝐽𝐽𝑦𝑦𝑦𝑦 0� (22)
0 0 𝐽𝐽𝑧𝑧𝑧𝑧
where Jxx , Jyy , Jzz are calculated according to the mass distribution, by
replacing the previous inertial moments, we get:
𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 𝜙𝜙̇ 2
𝑀𝑀𝑥𝑥 = 𝑙𝑙𝑙𝑙(𝜔𝜔42 − 𝜔𝜔22 )
where: 𝑀𝑀𝑓𝑓 = � �; 𝑀𝑀𝑎𝑎 = � 𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 𝜃𝜃̇ 2 �
𝑀𝑀𝑦𝑦 = 𝑙𝑙𝑙𝑙(𝜔𝜔32 − 𝜔𝜔12 ) (24)
2 2 2 2
𝑀𝑀𝑧𝑧 = 𝑑𝑑(𝜔𝜔1 − 𝜔𝜔2 + 𝜔𝜔3 − 𝜔𝜔4 ) 𝐾𝐾𝑓𝑓𝑓𝑓𝑓𝑓 𝜓𝜓̇ 2
Such that:
12 of 28
1 4
⎧𝑥𝑥̈ = 𝑚𝑚 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 + 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)�∑𝑖𝑖=1 𝐹𝐹𝑖𝑖 �
⎪ 1
𝑦𝑦̈ = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)�∑4𝑖𝑖=1 𝐹𝐹𝑖𝑖 �, (29)
𝑚𝑚
⎨ 1
⎪ 𝑧𝑧̈ = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶)�∑4𝑖𝑖=1 𝐹𝐹𝑖𝑖 � − 𝑔𝑔
⎩ 𝑚𝑚
Parameters Values
Mass 0.8 [Kg]
Jxx 0.0097
Jyy 0.0097
Jzz 0.017
b 1
d 0.08
l 0.06 [m]
g 9.81
13 of 28
ing presents the most used method in UAV flight control. Usually,
the application of a nonlinear controller can achieve higher perfor-
mance with a nonlinear model of the UAV plant, but the main dis-
advantage is that it needs higher power computation [20], [31]–[33].
Table 2 summarizes the most linear and nonlinear control strategies
used in UAV flight control in the literature review. In our case, we are
using MPC strategy, where two scenarios can be taken:
• 1- the first scenario assumes that the dynamic model is linear, so
MPC is linear also; this is very familiar in science, where the dy-
namic model should be linearized around a defined point called
the equilibrium point.
• 2- the second scenario: suggests taking the nonlinear model as it is
and, according to the constraints, then building an efficient nonlin-
ear MPC. The second method presents different complications and
requires much more computation power.
𝑋𝑋⃗̇ = 𝑓𝑓̂(𝑋𝑋⃗, 𝑢𝑢
�⃗) (32)
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
14 of 28
where f̂�X
�⃗� is the state variables function, and f̂(u
�⃗) is the input control
variables function.
2.3.1. Model Predictive Control Concept
Model predictive control MPC is an advanced automatic control
technique useful mostly for industrial applications. MPC concept is
based on using the linear or nonlinear dynamic model of the plant in-
side the controller in real-time, this is to anticipate the future behavior of
the system. The main particularity of MPC is that the output calculation
must be solved online. The optimization process is based on the in-
puts/outputs of the system that minimize a cost function to predict the
future. The prediction is executed from the internal model of the con-
troller over a finite time window called the prediction horizon. The solu-
tion of the optimization problem is presented as a control vector. Using
updated system data, the controller can solve the problem again on the
next interval period, therefore MPC is called also moving horizon or re-
ceding horizon optimal control.
An MPC solves an optimization problem, specifically a quadratic
program (QP), it consists of the following three components: a state dy-
namics model; a cost function, which is the objective that we would like
to achieve; and constraints, which are presented as boundaries to limit
the future behavior for the inputs and outputs, where can set soft or
hard constraints.
MPC operates as follows: using the open-loop plant model and a
chosen prediction horizon N, calculate the set of future states
xk+1 , … … xk+N and control inputs uk ,⋯, uk+N−1 that minimizes a cost
function subject to state and input constraints. Then, the first element uk
in the set of calculated inputs is used as the input to the plant, and the
sequence of calculations is repeated at the next sampling instant.
MPC controller has shown its efficiency in the application with
short sampling periods where in the field of numerical controls has giv-
en good results in terms of speed and accuracy [34]. Figure 5 shows the
internal closed loop of MPC with the plant, where Figure 6 shows the
internal behavior concept of MPC.
15 of 28
Θ(𝓏𝓏𝑘𝑘 ) = Θ𝑦𝑦 (𝓏𝓏𝑘𝑘 ) + Θ𝑢𝑢 (𝓏𝓏𝑘𝑘 ) + Θ∆𝑢𝑢 (𝓏𝓏𝑘𝑘 ) + Θ𝜀𝜀 (𝓏𝓏𝑘𝑘 ), (33)
where:
• Θy (𝓏𝓏k ): Cost function for Output Reference Tracking
• Θu (𝓏𝓏k ): Cost function for Manipulated variable tracking
• Θ∆u (𝓏𝓏k ): Cost function for manipulated variable move suppression
• Θε (𝓏𝓏k ): Cost function for constraint violation
• 𝓏𝓏k : The quadratic program
In our case we are interested in minimizing the following two
terms Θy (𝓏𝓏k ), Θu (𝓏𝓏k ), where we would like to track the reference output,
so the error between the reference and the output signal should be min-
imized, where the second term is minimized in order to the controller
keep selected manipulated variables (MVs) at or near specified target
values, in general the problem statement is written as follow:
min {∑𝑁𝑁−1 2 2
𝑘𝑘=0 ‖𝑟𝑟(𝑡𝑡) − 𝑦𝑦𝑡𝑡+𝑘𝑘 ‖ + 𝜌𝜌‖𝑢𝑢𝑡𝑡+𝑘𝑘 − 𝑢𝑢𝑟𝑟 (𝑡𝑡)‖ } (34)
𝑢𝑢𝑡𝑡 ,....,𝑢𝑢𝑡𝑡+𝑁𝑁−1
Subject to:
• xt+k+1 = f(xt+k , ut+k ) presents the dynamic of the system.
• yt+k = g(xt+k , ut+k ) presents the outputs of the system
• umin ≤ ut+k ≤ umax
• ymin ≤ yt+k ≤ ymax
• xt = x(t), k = 0, … . , N − 1 presents state variables
In the following, we will present the design of linear and Nonlinear
MPC using MATLAB. The software provides some facilities regarding
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
16 of 28
𝑛𝑛𝑦𝑦 𝑝𝑝 𝑦𝑦 2
𝑤𝑤𝑖𝑖,𝑗𝑗
Θ(𝓏𝓏𝑘𝑘 ) = � � �� 𝑦𝑦 �𝑟𝑟𝑗𝑗 (𝑘𝑘 + 𝑖𝑖|𝑘𝑘) − 𝑦𝑦𝑗𝑗 (𝑘𝑘 + 𝑖𝑖|𝑘𝑘)��
𝑠𝑠𝑗𝑗
𝑗𝑗=1 𝑖𝑖=1
𝑦𝑦 2 (36)
𝑤𝑤𝑖𝑖,𝑗𝑗
+ � 𝑦𝑦 �𝑢𝑢𝑗𝑗 (𝑘𝑘 + 𝑖𝑖|𝑘𝑘) − 𝑢𝑢𝑗𝑗,𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 (𝑘𝑘 + 𝑖𝑖|𝑘𝑘)�� �
𝑠𝑠𝑗𝑗
17 of 28
In hover position, we have the following state vector and input vec-
tor:
0 0 0 0
⎡ 0 0 0 0 ⎤
⎢ 0 0 0 0 ⎥
⎢ 0 0 0 0 ⎥
𝜕𝜕𝜕𝜕(𝑋𝑋,𝑢𝑢) ⎢ ⎥
⎢ 0 0 0 0 ⎥
𝐵𝐵 = � 𝑥𝑥=𝑥𝑥𝑒𝑒 = 0 0 ⎥ (42)
𝜕𝜕𝜕𝜕 ⎢ 0 0
𝑢𝑢=𝑢𝑢𝑒𝑒 ⎢ 0 0 0 0 ⎥
⎢1/𝑚𝑚 1/𝐽𝐽𝑥𝑥𝑥𝑥 0 0 ⎥
⎢ 0 0 1/𝐽𝐽𝑦𝑦𝑦𝑦 0 ⎥
⎣ 0 0 0 1/𝐽𝐽𝑧𝑧𝑧𝑧 ⎦
The outputs variable that we would like to track, and control are
the following: [x y z ϕ θ ψ], therefore the matrix C and D are written as
follow:
1 0 0 0 0 0 0 0 0 0 0 0
⎡0 1 0 0 0 0 0 0 0 ⎤
0 0 0
⎢ 1 ⎥
0 0 0 0 0 0
𝐶𝐶 = ⎢0 0 0 0 0⎥,
(43)
⎢0 0 0 1 0 0 0 0 0 0 0 0⎥
⎢0 0 0 0 1 0 0 0 0 0 0 0⎥
⎣0 0 0 0 0 1 0 0 0 0 0 0⎦
𝐷𝐷 = 𝑧𝑧𝑧𝑧𝑧𝑧𝑧𝑧(6,4) (44)
18 of 28
inputs we have: - mo: 6 measured outputs that present the state vector
[x y z ϕ θ ψ], - md: 0 measured disturbances where we neglected all the
disturbances applied on the quadrotor, as outputs: - mv: 4 manipulated
variables [u1 , u2 , u3 , u4 ], which present the input control variables.
Inside MPC plant model, different recommendations can be taking
into consideration, depending on the characteristics of the dynamic sys-
tem that we have, in our case the constraints are the weights, and the
control horizon were setting as presented in the Table 3. The weight re-
fers to the priority of the variables, where the high weight indicates the
higher priority to track.
MPC Parameters
Sample time (𝑇𝑇𝑠𝑠 ) 0.1 s
Prediction Horizon (P) 20 s
Control Horizon (M) 3s
MPC Constraints
Boundaries of 𝑢𝑢1 [-10 – 12] N.m
Boundaries of 𝑢𝑢2 [-10 – 12] N.m
Boundaries of 𝑢𝑢3 [-10 – 12] N.m
Boundaries of 𝑢𝑢4 [-10 – 12] N.m
MPC Weights
Translation motion along 𝑥𝑥 1
Translation motion along 𝑦𝑦 1
Translation motion along 𝑧𝑧 1
Pitch motion along 𝜙𝜙 0.1
Roll motion along 𝜃𝜃 0.1
Yaw motion along 𝜓𝜓 0.1
19 of 28
20 of 28
Table 4 identify the necessary parameters for the nonlinear MPC that fit
Tello quadrotor. The weight parameter in the controller refers to the
priority of the variables to track; usually in the quadrotor, we set higher
priority for the position variables than the orientation variables, in our
case we are looking for the best performance, so we set higher priority
for all six variables.
3. Simulation Results
In this section, several simulations for three different trajectories
are presented to validate the comparison between linear and nonlinear
MPC based on the performance analyses of the following inputs and
outputs:
• error position tracking
• velocity tracking
• control inputs tracking.
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
21 of 28
The design of the linear and nonlinear dynamic model of the drone
beside the linear and nonlinear MPC models were designed in
MATLAB Simulink, where different functions were written in MATLAB
Script as: trajectory function, which provides to the control loop the ref-
erence desired trajectory; Jacobian function, which guarantees solving
the optimization problem and avoiding the singularities.
Three generated trajectories are defined: the first represents a
straight curvature motion of the drone, the second trajectory is present-
ed as a circle motion, while the third trajectory is a helical motion, the
initial states for both controllers were set as follow: 𝑋𝑋𝑖𝑖 =
[0 2 2 0 0 0 0 0 0 0 0 0]𝑇𝑇 .
For Linear MPC, the control input bounds were set as presented in
Table 3 between minimum value of -10 and maximum value of 12. This
choice leads to give the controller more freedom to track the trajectory,
where if the minimum value is set to 0. The controller will behave in an
aggressive scenario. For Nonlinear MPC the control input boundaries
were set between minimum value of 0 and maximum value of 12. An-
other setting was made regarding the control inputs tracking, where for
Nonlinear MPC, the tracking control inputs can be done successfully so
the track values where set to [4.9 4.9 4.9 4.9], while for Linear MPC, this
option was neglected because it will definitely disturb the controller to
achieve the most priority task, which is tracking the position and orien-
tation outputs. From the first attempt and without looking to the simu-
lation results, the recognition of these limitations could identify that
Nonlinear MPC is more flexible than Linear MPC in term of setting
conditions.
22 of 28
23 of 28
24 of 28
Table 5. Calculation of the average control effort value and the execution time
25 of 28
References
[1] R. K. Barnhart, S. B. Hottman, D. M. Marshall, and E. Shappee, Introduction to Unmanned Aircraft Systems,
[2] K. Nonami, F. Kendoul, S. Suzuki, W. Wang, and D. Nakazawa, Autonomous flying robots: Unmanned aerial
vehicles and micro aerial vehicles. Tokyo: Springer Japan, 2010. doi: 10.1007/978-4-431-53856-1/COVER.
[3] G. D. Padfield, C. A. Kluever, T. M. Young, A. J. Keane, A. Sóbester, and J. P. Scanlan, “Design of Un-
manned Aerial Systems,” Design of Unmanned Aerial Systems, Mar. 2020, doi: 10.1002/9781119508618.
[4] K. Dalamagkidis, Classification of uavs. Dordrecht: Springer Netherlands, 2014. doi: 10.1007/978-90-481-
9707-1_94/COVER.
[5] M. Idrissi, M. Salami, and F. Annaz, “A Review of Quadrotor Unmanned Aerial Vehicles: Applications,
Architectural Design and Control Algorithms,” Journal of Intelligent & Robotic Systems , vol. 104, no. 2, pp.
[6] F. M. Agugliaro, M. Jacewicz, M. ˙ Zugaj, R. Gł˛, and P. Bibik, “Quadrotor Model for Energy Consump-
tion Analysis,” Energies 2022, Vol. 15, Page 7136, vol. 15, no. 19, p. 7136, Sep. 2022, doi:
10.3390/EN15197136.
[7] X. Zhang, X. Li, K. Wang, and Y. Lu, “A survey of modelling and identification of quadrotor robot,” Ab-
[8] X. Zhang, X. Li, K. Wang, and Y. Lu, “A survey of modelling and identification of quadrotor robot,” Ab-
[9] E. Balestrieri, P. Daponte, L. de Vito, and F. Lamonaca, “Sensors and Measurements for Unmanned Sys-
tems: An Overview,” Sensors 2021, Vol. 21, Page 1518, vol. 21, no. 4, p. 1518, Feb. 2021, doi:
10.3390/S21041518.
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
26 of 28
[10] S. Guan, Z. Zhu, and G. Wang, “A Review on UAV-Based Remote Sensing Technologies for Construction
and Civil Applications,” Drones 2022, Vol. 6, Page 117, vol. 6, no. 5, p. 117, May 2022, doi:
10.3390/DRONES6050117.
[11] G. Barbaraci, “Modeling and control of a quadrotor with variable geometry arms,” J Unmanned Veh Syst,
[12] Z. Tahir, M. Jamil, S. A. Liaqat, L. Mubarak, W. Tahir, and S. O. Gilani, “State Space System Modeling of
a Quad Copter UAV,” Indian J Sci Technol, vol. 9, no. 27, Jul. 2016, doi: 10.17485/IJST/2016/V9I27/96613.
[13] A. Chovancová, T. Fico, E. Chovanec, and P. Hubinský, “Mathematical Modelling and Parameter Identi-
fication of Quadrotor (a survey),” Procedia Eng, vol. 96, pp. 172–181, Jan. 2014, doi:
10.1016/J.PROENG.2014.12.139.
[14] M. R. Mokhtari and B. Cherki, “A new robust control for minirotorcraft unmanned aerial vehicles,” ISA
[15] Z. Bodó and B. Lantos, “Modeling and Control of Outdoor Quadrotor UAVs,” SISY 2018 - IEEE 16th In-
ternational Symposium on Intelligent Systems and Informatics, Proceedings, pp. 111–116, Nov. 2018, doi:
10.1109/SISY.2018.8524697.
[16] G. J. J. Ducard and M. Allenspach, “Review of designs and flight control techniques of hybrid and con-
vertible VTOL UAVs,” Aerosp Sci Technol, vol. 118, p. 107035, Nov. 2021, doi: 10.1016/J.AST.2021.107035.
[17] A. N. Chand, M. Kawanishi, and T. Narikiyo, “Adaptive pole placement pitch angle control of a flap-
ping-wing flying robot,” Advanced Robotics, vol. 30, no. 16, pp. 1039–1049, Aug. 2016, doi:
10.1080/01691864.2016.1196609.
[18] N. Chen, F. Song, G. Li, X. Sun, and C. Ai, “An adaptive sliding mode backstepping control for the mo-
bile manipulator with nonholonomic constraints,” Commun Nonlinear Sci Numer Simul, vol. 18, no. 10, pp.
[19] A. Bogdanov et al., “State-dependent riccati equation control of a small unmanned helicopter,” AIAA
Guidance, Navigation, and Control Conference and Exhibit, 2003, doi: 10.2514/6.2003-5672.
[20] G. v. Raffo, M. G. Ortega, and F. R. Rubio, “Robust Nonlinear Control for Path Tracking of a Quad-Rotor
Helicopter,” Asian J Control, vol. 17, no. 1, pp. 142–156, Jan. 2015, doi: 10.1002/ASJC.823.
[21] J. P. How, E. Frazzoli, and G. V. Chowdhary, Linear Flight Control Techniques for Unmanned Aerial Vehicles.
[22] Z. Bodó and B. Lantos, “Integrating Backstepping Control of Outdoor Quadrotor UAVs,” Periodica Poly-
technica Electrical Engineering and Computer Science, vol. 63, no. 2, pp. 122–132, Feb. 2019, doi:
10.3311/PPEE.13321.
[23] F. Gao et al., “Optimal trajectory generation for quadrotor teach-and-repeat,” IEEE Robot Autom Lett, vol.
[24] Ryzerobotics User Manual, “User Manual 2018.09,” pp. 1–22, 2018.
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
27 of 28
[25] R. Benotsmane, A. Reda, and J. Vasarhelyi, “Model Predictive Control for Autonomous Quadrotor Tra-
jectory Tracking,” 2022 23rd International Carpathian Control Conference, ICCC 2022, pp. 215–220, 2022, doi:
10.1109/ICCC54292.2022.9805883.
[26] R. Roy, M. Islam, N. Sadman, M. A. P. Mahmud, K. D. Gupta, and M. M. Ahsan, “A Review on Compar-
ative Remarks, Performance Evaluation and Improvement Strategies of Quadrotor Controllers,” Technol-
ogies 2021, Vol. 9, Page 37, vol. 9, no. 2, p. 37, May 2021, doi: 10.3390/TECHNOLOGIES9020037.
[27] G. Farid, M. Hongwei, S. M. Ali, and Q. Liwei, “A REVIEW ON LINEAR AND NONLINEAR CON-
Systems and Control 2017, vol. 45, no. 1, pp. 43–57, Jan. 2017, doi: 10.2316/JOURNAL.201.2017.1.201-2819.
[28] B. J. Emran and H. Najjaran, “A review of quadrotor: An underactuated mechanical system,” Annu Rev
[29] O. Araar and N. Aouf, “Full linear control of a quadrotor UAV, LQ vs H∞,” 2014 UKACC International
Conference on Control, CONTROL 2014 - Proceedings, pp. 133–138, Oct. 2014, doi:
10.1109/CONTROL.2014.6915128.
[30] A. Koszewnik, “The parrot UAV controlled by PID controllers,” Acta Mechanica et Automatica, vol. 8, no.
[31] J. B. Rawlings, E. S. Meadows, and A. D. K. R. Muske, “Nonlinear Model Predictive Control: A Tutorial
and Survey,” IFAC Proceedings Volumes, vol. 27, no. 2, pp. 185–197, May 1994, doi: 10.1016/S1474-
6670(17)48151-1.
[32] A. Isidori, L. Marconi, and A. Serrani, “Robust nonlinear motion control of a helicopter,” IEEE Trans Au-
tomat Contr, vol. 48, no. 3, pp. 413–426, Mar. 2003, doi: 10.1109/TAC.2003.809147.
[33] S. J. Qin and T. A. Badgwell, “An Overview of Nonlinear Model Predictive Control Applications,” Non-
[34] C. B. E. F. Camacho, Model Predictive Control, no. July. London: Springer London, 2000. doi: 10.1007/978-0-
85729-398-5.
[35] P. Ru and K. Subbarao, “Nonlinear Model Predictive Control for Unmanned Aerial Vehicles,” Aerospace
2017, Vol. 4, Page 31, vol. 4, no. 2, p. 31, Jun. 2017, doi: 10.3390/AEROSPACE4020031.
[36] M. Kamel, M. Burri, and R. Siegwart, “Linear vs Nonlinear MPC for Trajectory Tracking Applied to Ro-
tary Wing Micro Aerial Vehicles,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 3463–3469, Jul. 2017, doi:
10.1016/J.IFACOL.2017.08.849.
[37] M. Ławryńczuk and R. Nebeluk, “Computationally Efficient Nonlinear Model Predictive Control Using
the L1 Cost-Function,” Sensors 2021, Vol. 21, Page 5835, vol. 21, no. 17, p. 5835, Aug. 2021, doi:
10.3390/S21175835.
[38] P. D. Domanski, “Performance Assessment of Predictive Control—A Survey,” Algorithms 2020, Vol. 13,
Page 97, vol. 13, no. 4, p. 97, Apr. 2020, doi: 10.3390/A13040097.
Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 10 November 2022 doi:10.20944/preprints202211.0181.v1
28 of 28
[39] A. Arce Rubio, A. Seuret, A. Mannisi, Y. Ariba, and A. Arce, “Optimal control strategies for load carrying
[40] Y. al Younes and M. Barczyk, “Nonlinear Model Predictive Horizon for Optimal Trajectory Generation,”
Robotics 2021, Vol. 10, Page 90, vol. 10, no. 3, p. 90, Jul. 2021, doi: 10.3390/ROBOTICS10030090.
[41] R. Benotsmane and J. Vásárhelyi, “Nonlinear Model Predictive Control for Autonomous Quadrotor Tra-
jectory Tracking,” in Lecture Notes in Mechanical Engineering, 4th ed., K. , C. Á. Jármai, Ed. Springer,