Académique Documents
Professionnel Documents
Culture Documents
by
Master of Science in
Mechatronics Engineering
February 2014
© 2014 Bara J. Emran. All rights reserved.
Approval Signatures
We, the undersigned, approve the Master’s Thesis of Bara Jamal Emran.
Thesis Title: Nonlinear Adaptive Control of Quadrotor
___________________________ _______________
Dr. Aydin Yesildirek
Associate Professor, Department of Electrical Engineering
Thesis Advisor
___________________________ _______________
Dr. Ali A. Jhemi
Assistant Professor, Department of Mechanical Engineering
Thesis Committee Member
___________________________ _______________
Dr. Lotfi Romdhane
Visiting Professor, Department of Mechanical Engineering
Thesis Committee Member
___________________________ _______________
Dr. Aydin Yesildirek
Director, Mechatronics Graduate Program
___________________________ _______________
Dr. Hany A El-Kadi
Associate Dean, College of Engineering
___________________________ _______________
Dr. Leland Blank
Dean, College of Engineering
___________________________ _______________
Dr. Khaled Assaleh
Director of Graduate Studies
Abstract
In this research, nonlinear and adaptive controls of quadrotors are designed. The
system is considered as an under-actuated system, which has six degrees of freedom
(DOF) and four actuators. In addition, a nonlinear model is taken into account and
considered to suffer from the presence of parameter uncertainty. All the plant’s
parameters, such as mass, system inertia, thrust and drag factors, are considered to be
fully unknown and varying with time without any prior information. Firstly, a direct
and an indirect model reference adaptive controls are combined to form a nonlinear
composite adaptive control, which is driven using the information from both the
tracking errors and the parameters’ error. This controller is designed to achieve output
tracking with parametric convergence. The stability of the closed-loop system is
shown in the flight region of interest. Secondly, a novel switched controller using
multi Lyapunov function (MLF) is proposed. This controller is designed to overcome
the system’s under-actuated difficulties. Practically, the system is decomposed into
three fully actuated subsystems; in pitch, roll and yaw domains. Each of these
subsystems targets to control only a 2-DOF. The stability of the controller is proven in
region of interest with a simulation results. Finally, a combination of the MLF and the
composite adaptive controller is investigated. This cooperation is proven to achieve an
output tracking with a good parametric convergence. The stability of the system in the
flight region of interest is proven. In addition, the performance of the proposed
controller is found to follow a desired position, velocity, acceleration and the heading
angle of quadrotor despite of the fully unknown parameters.
4
Table of Contents
Abstract….……………..…………………………………………………….…..……4
Chapter 1: Introduction………………………………………………………………11
5
2.3. Actuators ........................................................................................................... 33
6
4.3.1. Input constraints. ........................................................................................ 63
Chapter 6: Conclusions……………………………………………………………..101
Refernces..….…….……………….………………………………………….…..…102
Vita……...….…….……………….………………………………………….…..…106
7
List of Figures
8
Figure 4.8: Switching Function.................................................................................... 78
Figure 4.9: Control Rotor Speeds ................................................................................ 78
Figure 5.1: Proposed Switching Control Framework .................................................. 86
Figure 5.2: Command, Desired and Actual Positions Interval 1 ................................. 89
Figure 5.3: Command, Desired and Actual Positions Interval 2 ................................. 90
Figure 5.4: Command, Desired, and Actual Angles Interval 1 .................................... 91
Figure 5.5: Command, Desired, and Actual Angles Interval 2 .................................... 92
Figure 5.6: Position Tracking Error ............................................................................. 93
Figure 5.7: Angle Tracking Error ................................................................................ 94
Figure 5.8: Parameters Estimation 1 ............................................................................ 95
Figure 5.9: Parameters Estimation 2 ............................................................................ 96
Figure 5.10: Parameter Estimation Error 1 ................................................................. 97
Figure 5.11: Parameter Estimation Error 2 .................................................................. 97
Figure 5.12: Lyapunov functions ................................................................................. 98
Figure 5.13: Switch Function....................................................................................... 99
Figure 5.14: Control Rotor Speeds .............................................................................. 99
9
List of Tables
10
Chapter 1: Introduction
1.1. Background
This section provides some basic information regarding the fundamentals. First,
the section starts by explaining the reference frames. Then some information about
the rotation matrix and the vector mapping is presented. In the following part, the
adaptive control is described with some details about each of the main pieces of this
controller. In the last part, the equilibrium points and fundamentals of Lyapunov
stability theory are mentioned. Moreover, the Lyapunov’s direct method is described
shortly with some illustration. In the end, the switching Lyapunov algorithm is
explained.
11
1.1.1. Reference frames.
This section describes the various reference frames that are used to describe the
position and the orientation of the quadrotor. In addition, it explains the rotation
matrix that is used to map any vector between these frames. It is necessary to use
different coordinate systems. On one hand, the Newton’s equations of motion are
given the coordinate frame attached to the body of the quadrotor. The aerodynamics
forces and the torques are applied in the body frame. Moreover, the on-board sensors,
such as accelerometers, rate gyros, GPS and magnetometer, measure the information
with respect to the body frame. On the other hand, the command signals, which are
received from the pilot, are given in the earth frame [1].
Two reference frames are defined to describe the motion of a 6-DOF rigid body:
* + [ ] (1 .1)
where x, y and z are the positions of the center of the gravity in E-frame and
are the ZYX Euler angles represent the roll, pitch and yaw in E-frame
respectively.
12
* + * + (1 .2)
where u, v and w are the velocity of the center of the gravity in B-frame and
are the angular velocity around x-,y- and z-axis respectively in B-frame.
The linear position is determined using the coordinates of the vector between
the origin of the B-frame and the origin of the E-frame wrt E-frame. See
Figure 1.1.
The Euler angles are the attitude of the quadrotor and are defined by the
orientation of B-frame wrt E-frame. A Rotation matrix is needed to map the
orientation of a vector from B-frame to E-frame [7],[8]. It is obtained by multiplying
three basic rotation matrices in the following order:
[ ] (1 .3)
Using this rotation matrix will yield an intermediate frame denoted by (F1-
frame). This frame has the same z-axis of the E-frame but different y-
and x-axis denoted by and respectively.
2. Rotation about the y-axis of the intermediate frame (F1-frame) of the
angle (pitch):
13
[ ] (1 .4)
[ ] (1 .5)
where .
Figure 1.2 shows the three types of rotation axis:
(1 .6)
[ ]
1. Orthogonality:
(1 .7)
14
2. Determinant of one:
(1 .8)
The relation between the linear velocity in the B-frame and the linear velocity in
the E-frame is defined using the rotation matrix as follows:
(1 .9)
̇
[ ̇] * + (1 .10)
̇
The relation between the Euler angles rates in the E-frame ( ̇ ) and the angular
velocity in the B-frame has been introduced using the transfer matrix as
follows [7],[8]:
̇ ̇
* + [ ] [ ̇] [ ] [ ̇]
̇ ̇
̇
[ ̇] * + (1 .11)
̇
̇ (1 .12)
(1 .13)
[ ]
The objective of this section is to describe the main idea of the adaptive control.
One of the main differences between the adaptive controller and the ordinary
controller is that the controller parameters are variables. In addition, it has a
mechanism for adjusting these parameters online. There are two main approaches for
constructing adaptive controllers. In this work, a so-called model reference adaptive
control (MRAC) method is going to be used.
15
Generally, the MRAC can be schematically represented by Figure 1.3 [9]. It is
composed of four parts:
A reference model is used to design the desired response of the adaptive control
system to the command signal. Naturally, the adaptation mechanism will keep
adjusting the plant parameters until it reaches the ideal response. The choice of the
reference model, which is considered as part of the adaptive control system design,
must satisfy two requirements:
16
2. The ideal behavior of the reference model should be achievable by the
adaptive control system, i.e. there are some characteristic constraints on
the structure of the reference model given the assumed structure of the
plant model.
In MRAC systems, the adaptation law adjusts the control parameters such that the
response of the plant becomes the same as that of the reference model. Therefore, the
main objective of the adaptation is to make the output tracking error converge to zero.
The main work in adaptation design is to design an adaptation mechanism which will
guarantee the stability of the control system and the convergence of the tracking error
as the parameters are varied.
These three conditions are satisfied by the nonlinear quadrotor system. Thus, a
nonlinear adaptive scheme is designed for the quadrotor.
17
1.1.3. Fundamentals of Lyapunov theory
Before addressing the main problems of defining and determining stability in the next
sections, let us discuss some relatively simple background issues.
̇ (1 .14)
where is nonlinear vector function. are the state vectors and is the
order of the system. A solution of the equations (3.1) usually corresponds to a
curve in state space as (t) varies from zero to infinity. The form (1.14) can represent
both closed-loop dynamics of a feedback control system and a dynamic system where
no control signals are involved. A special class of nonlinear systems is linear system.
The dynamics of linear systems are of the from:
̇ , with
Definition 1.1: The nonlinear system (1.14) is considered to be autonomous if does
not depend explicitly on time. In other words, if the system’s state equation can be
written as (1.14). Otherwise, the system is considered to be non-autonomous.
(1 .15)
18
Using (1.15), the equilibrium points can be determined. Usually, the stability
problems are basically formulated with respect to equilibrium point. A nonlinear
system can have several (or infinitely many) equilibrium points.
Nonlinear systems may have much more complex and unusual behavior than linear
systems. Thus, a number of stability concepts, such as asymptotic stability,
exponential stability and global asymptotic stability, are needed.
A few simplifying notations are defined at this point. Let denote a spherical
region defined by ‖ ‖ in state-space, and the sphere itself, defined by
‖ ‖ .
‖ ‖
‖ ‖
Otherwise, the equilibrium point is unstable. In other words, stability in the sense of
Lyapunov means that the system trajectory can stay arbitrarily close to the origin by
starting sufficiently close to it. See Figure 1.4.
19
Figure 1 .4: Stability Concept [ 9]
1. It is stable.
2. There exists some such that ‖ ‖ implies that
.
Particularly, asymptotic stability means that the equilibrium point is stable, and that
states started close to 0 actually converge to 0 as time t goes to infinity. It is important
to mention that any equilibrium point, which is Lyapunov stable but not
asymptotically stable is called marginally stable.
Definition 1.5: An equilibrium point 0 is called exponentially stable if there exist two
strictly positive numbers such that
‖ ‖ ‖ ‖
in some ball around the origin.
In particular, this means that the state vector of an exponentially stable system
converges to the origin faster than an exponential function. In addition, the positive
number is often called the rate of exponential convergence.
20
equilibrium point. Therefore, the stability of a system could be examined by the
variation of a single scalar function.
If and the above condition holds over the whole state space, then is
considered to be globally positive definite.
̇ ̇
Definition 1.7: If, in a ball , the function is positive definite and has
continuous partial derivatives, and if its time derivative along any state trajectory of
system (1.14) is negative semi-definite, i.e.
̇
then is said to be a Lyapunov function for the system (1.14). See Figure 1.5.
21
Theorem 1.1 (Local Stability): if in a ball , there exists a scalar function
with continuous first partial derivatives such that
Theorem 1.2 (Global Stability): assume that there exists a scalar function of the
state x, with continuous first order derivatives such that
1. is positive definite.
2. is negative definite.
3. ‖ ‖ .
Now, given that a function tends towards a finite limit, an additional requirement that
can guarantee that its derivative actually converges to zero is required. Barbalat's
lemma indicates that the derivative of the function itself should have some
smoothness.
| | | |
In other words, is uniformly continuous if one can always find an which does not
rely on the specific point , such that does not decreed as . This will be
deemed as an important point when proving the lemma. Note that and show a
symmetric role in the definition of uniform continuity.
22
To apply Barbalat's lemma to the analysis of dynamic systems, one typically uses
the following immediate corollary that looks very much like an invariant set theorem
in Lyapunov analysis:
1. is lower bounded.
2. ̇ is negative semi-definite.
3. ̇ is uniformly continuous in time.
then as .
̇ (1 .16)
‖ ‖ ‖ ‖
2) Its derivative is negative definite within the piecewise continues time intervals
̇ { } ̇
3) It forms a decreasing sequence at the switching instances
23
Theorem 1.3 [16]-[18]: Given the M-switched nonlinear system (1.16), suppose each
vector field has an associated Lyapunov-like function in the region , each with
equilibrium point , and suppose . Let be a given switching
sequence such that can take on the value only if , and in addition
( ( )) ( ( ))
where denotes the th time that vector field is “switched in,” i.e., ( )
( ). Then (1.16) is Lyapunov stable.
Adaptive control is an admirable candidate for this type of systems because of its
capability to track a desired output signal with the presence of parametric
uncertainties. The adaptive control basic idea is to estimate the uncertainty plant
parameters online using the inputs and the outputs signals of the system, and then to
use these parameters in the control input computation. One of the main differences
between the adaptive controller and the ordinary controller is that the controller
parameters are variables. Furthermore, it has a mechanism for adjusting these
parameters online. There are two main approaches for constructing adaptive
controllers. In this work, a so-called model reference adaptive control (MRAC)
method is used. The convergence of the adaptive control to the exact value depends
on the richness of the input signal. Still the adaptive control will track the desired
output signal regardless of whether it convergences to the exact parameter or not.
For an adaptive control scheme, there are different parameters that can be
estimated. Many proposed methods estimate the mass only, while the other estimate
24
the mass and the inertia matrix. However, very few researches considered other
parameters. For estimating mass, a backstepping approach has been used in [19],
while an improvement using an adaptive integral backstepping has been done in [20].
An adaptive robust control has been proposed in [21] and a model reference adaptive
control in [22]. However, for mass and inertia estimating, a comparison between
model reference adaptive control and model identification adaptive control has been
done in [23]. A Lyapunov-based robust adaptive control has been used in [24]-[26].
Furthermore, in [27], a composite adaptive controller has been demonstrated. In
addition, estimating extra parameters such as aerodynamic coefficients can be shown
first in [28] using Lyapunov-based robust adaptive control, in [29] using adaptive
sliding mode control and in [30] using adaptive integral backstepping method.
Quadrotors, having only four rotors, do not have enough control mechanism in
their structure to provide unrestricted flight in full vector space. Since the number of
the DOF is larger than the order of independent control signals, only a limited number
of system variables can directly be controlled. Thus, the quadrotors are not fully
linearizable. As a result, one needs to deal with the underlying internal dynamics that
may raise the stability problem. In this paper, we will consider a desired motion in the
Cartesian space together with the heading angle.
There are several approaches to obtain a suitable controller for this under-actuated
class of systems. First, solutions have been based on linearized dynamical models
around some predefined flight conditions. Classical PID algorithms have been
demonstrated successfully due to their simplicity and proven reliability in practice.
Multi-loop PID architectures derived for a particular flight profile over a trimmed
model have performed even better. For instance, PID controller is manifested and
compared to LQR and backstepping in [31]. Likewise, in [32] a scheduled PID
technique is applied to a quadrotor with some fault conditions. A sliding mode
controller for altitude control is displayed in [33]. Effectiveness backstepping under
disturbance for attitude control is shown in [34]. An H∞ control application is shown
in [35]. A dynamic inversion based on a control scheme is given in [36]. In [36], an
adaptive sliding mode and a feedback linearization are compared for quadrotor
platforms. A nonlinear controller for a simplified model of quadrotor using a control
Lyapunov function [38] is presented in [39]. There has been an increasing interest in
discontinuous solutions, especially for systems that conventional control algorithms
25
cannot provide a solution to, such as hybrid and discrete event systems [40]-[43].
Multi Lyapunov functions (MLF) based on switching controllers have been proposed
for such systems with guaranteed performances. We will apply this technique by
decomposing the configuration space into full-actuated and unactuated subspaces in
which various controller strategies may be applicable for each actuated subspaces. We
will then switch to one of those controllers using MLF.
A switching algorithm for switching controller of DES, which has been given
in [39], suggests using the minimum Lyapunov function strategy. The same algorithm
is found to yield autonomous land vehicles control successfully to follow a feasible
trajectory in [43]. However, the same strategy results in an unstable behavior when
applied to some under-actuated systems where there is an internal stability problem in
any subspaces. Our research will investigate some necessary and sufficient conditions
to guarantee the overall system stability of the under-actuated systems. The main
problem lies in dealing with systems that inherit the lack of control signal in a multi-
dimensional space. The fact that only some certain numbers of state space variables
may be controlled independently, leaves the performance of the remaining variables
to corresponding internal dynamics. Our focus is to develop novel controllers to
enable us control both actuated and unactuated configuration spaces.
The thesis is divided into four main chapters. The contents of each chapter can be
summarized as follows:
In Chapter 2, the basic concepts and basic movements of the quadrotor are
explained and illustrated. In addition, the quadrotor model is further illustrated
by providing some detail using the Newton-Euler method.
In Chapter 3, the problem statement and the proposed adaptive control scheme
are described. This is followed by an explanation of the sliding mode control,
the direct adaptive control and the composite adaptive control. At last, the
difference between both types of adaptive control is illustrated using a
simulation example.
In Chapter 4, the under-actuated system is taken into consideration. A multi
Lyapunov function is proposed to deal with this problem. It explains the
method of dividing the system into three subspaces using sub-vector fields.
26
Then, it interprets the control development of the proposed solution with the
constrains on the rotor’s speed. Finally, an illustrative example is given.
In Chapter 5, a combination of the proposed adaptive control and the multi
Lyapunov function is used.
In the last chapter, Chapter 6, the main ideas are summarized.
27
Chapter 2: Quadrotor System
This chapter highlights some basic points regarding the quadrotor system.
Moreover, it provides a detailed description of the basic movements and the model.
This chapter is organized as follows. In the first section, both the basic concepts
and basic movements of the quadrotor are explained and illustrated. In the next
section, more details regarding the quadrotor model are provided using the Newton-
Euler method. Then, a description about the DC-motors and the sensors are given.
Finally, a Simulink model for the quadrotor system is illustrated.
The quadrotor has 6-DOF and four actuators. The four rotors are modeled in a
cross configuration. The symmetry of the design allows for a centralization of control
systems and payload. Each motor is connected to a propeller and all the propellers’
axes of rotation are fixed and parallel to each other. In addition, all the propellers have
fixed-pitch blades and their airflow goes downwards to get an upward lift. Thus, the
movements of the quadrotor are directly related to the propellers velocities [44]-[48].
However, to balance the quadrotor and remove the need for a tail rotor, an opposite
pair’s directions have been configured. The left and the right propellers rotate
clockwise, while the front and the rear ones rotate counter-clockwise. Figure 2.1
shows the structure model in hovering condition, where all the propellers have the
same speed.
The quadrotor structure is presented in black, while the fixed body frame is shown
in green. Each propeller is represented by two arrows; straight and curved. The
straight arrow represents the velocity of the propeller, while the curved one represents
the direction of rotation.
Reaching any desired set-point in space is not possible for a quadrotor because it is
specified as an under-actuated system, it has four actuators and 6-DOF. As a result, it
is important to select four variables that will make the quadrotor easier to control.
Those variables could be controlled using different movements, which allow the
quadrotor to reach a desired altitude and attitude. Those movements are defined as
throttle, roll, pitch and yaw. Follows is a description of each movement:
28
Figure 2 .1: Structure Model of a Quadrotor
1. Throttle (u [N]):
2. Roll ( [N m]):
Roll movement is achieved by increasing (or decreasing) the left propeller’s speed
and by decreasing (or increasing) the right one. This difference in speed generates a
torque in x-axis wrt B-frame, which makes the quadrotor turn and leads to roll angle
acceleration.
3. Pitch ( [N m]):
4. Yaw ( [N m]):
Yaw movement is achieved by increasing (or decreasing) both the front and the
rear propellers’ speed, while decreasing (or increasing) both the right and left couples.
This generates a torque in z-axis wrt B-frame, which makes the quadrotor turn and
leads to yaw angle acceleration. Figure 2.2 shows the yaw movement.
29
Figure 2 .2: Shows the Four Basic Movements; Throttle, Roll, Pitch and Yaw Respectively
The red straight arrows in Figure 2.2 represent the change in the speed of each
rotor, while the blue straight arrows represent a hovering speed.
There are many techniques, which can be used to derive the equations of 6-DOF
rigid body. In this work, Newton-Euler formulation has been used.
To make the body equations simpler, two assumptions have been made. First, the
origin of the body-fixed frame is coincident with the center of mass (COM) of
the body. Second, the axes of the B-frame coincide with the body principal axes of
inertia to have a diagonal Inertia matrix.
̈ (2 .1)
̇ (2 .2)
30
where is the quadrotor mass in [kg], is the quadrotor inertia matrix in
[N·m·s2], ( ̈ ) is the linear acceleration wrt E-frame in [m·s−2], ̇ is the angular
acceleration wrt B-frame in [rad·s−2], is the angular velocity wrt B-frame in
[rad·s−1], is the quadrotor forces vector wrt E-frame in [N], is the quadrotor
torque vector wrt B-frame in [N·m].
2.2.2. Forces.
1. Thrust force: which is the summation of all forces generated by the four
motors. All these forces are proportional to the propellers’ speed square.
Moreover, they are acting only along z-axis of the B-frame and could be
calculated using the following equation:
( ) (2 .3)
where is thrust factor in [N·s2], is the front propeller speed, is the right
propeller speed, is the rear propeller speed and is the left propeller speed.
Combining all forces acting on the quadrotor body wrt E-frame yields:
(2 .4)
[ ] [ ] (2 .5)
2.2.3. Torques.
There are two main sources that generate torques in a quadrotor system:
( )
[ ] [ ( ) ] (2 .6)
( )
31
where is the drag factor in [N m s2] and is the distance between the center of a
propeller and the center of the quadrotor in [m].
2. Gyroscopic Torque: since two of the propellers are rotating clockwise and the
other two rotating counterclockwise, an overall imbalance will happen when
the algebraic sum of the rotor speeds is not equal to zero. This imbalance will
cause a gyroscopic effect. Furthermore, this effect is proportional to the roll
and pitch rates. The following equation defines the overall propellers’ speed
[rad s−1].
(2 .7)
* + [ ] [ ] (2 .8)
where is the total rotational moment of inertia around the propeller axis in
2
[N·m·s ].
The linear dynamic system for a quadrotor in the E-frame can be expressed using
equations (2.1) and (2.5) as follows:
̈
[ ̈] (2 .9)
̈ [ ] [ ]
where ̈ ̈ ̈ are the linear acceleration in x-, y- and z-axis respectively in [m·s-2].
The angular dynamic system for a quadrotor in the B-frame can be expressed using
equations (2.2) and (2.8) as follows:
̇ ( )
̇ ( ) (2 .10)
[ ̇] ( )
[ ] [ ] [ ][ ]
32
where ̇ ̇ ̇ are the angular acceleration around x-, y- and z-axis respectively in
[rad·s-2]. For small angles, the following simplification can be done for the angular
dynamic equations:
̇ (2 .11)
This yields:
̈ ( ) ̇ ̇ ̇
̈ ( ) ̇ ̇ ̇ (2 .12)
[ ̈] ( ) ̇ ̇
[ ] [ ] [ ][ ]
2.3. Actuators
A quadrotor typically has one type of actuator, which is the DC-motor. The DC-motor
is an actuator that converts electrical energy to mechanical energy. Practically, it is
composed of two interactive electromagnetic circuits. The first part is called rotor and
it is free to rotate around the second part, stator, which is fixed. By applying a DC-
current into the windings, the rotor turns because of the force generated by the
electrical and magnetic interaction. The DC-motor dynamic equation can be written
as follows:
(2 .13)
where i is the motor current in [A], is called the motor constant [ ] and
is the motor angular speed in [ ].
33
3) It is rather easier to solve a first order differential equation than a second order
one.
For all these reasons, the inductor effect is neglected in this work. Therefore, the
equation (1.13) can be simplified to:
(2 .14)
̇ (2 .15)
(2 .16)
̇ (2 .17)
2.4. Sensors
One of the most basic and necessary sensors on any quadrotor is the IMU sensor. It
consists of an accelerometer, a gyroscope and sometimes even a magnetometer. Those
sensors are used in order to control the orientation of the quadrotor. The gyroscope
measures the rate of rotation around an axis, i.e. if the quadrotor moves in its roll axis
34
the gyroscope value for the roll axis will be a non-zero value until it stops the
movement in the roll axis. The accelerometer measures the body acceleration of the
quadrotor. However, it can be used to measure the orientation of the quadrotor with
respect to earth. In stand still, the accelerometer will give better reading for the angle
because it measures the angle directly without the need of integration unlike the
gyroscope. Still in motion, the body acceleration will affect the accelerometer reading.
In addition, a magnetometer can be used to measure the heading of the quadrotor with
respect to the north. Another sensor that can be commonly found on a quadrotor is the
ultrasonic range sensors. This sensor is mainly used for low level altitude control and
obstacle avoidance. In addition, if some more accurate readings are needed, a laser
range finder can be used. In some applications, the position and the velocity of the
quadrotor are important and using only an accelerometer senor will not be accurate;
because of the acclamation error of the integration. Therefore, one usually finds an
additional important sensor on quadrotors, which is the GPS. The main purpose of
GPS is the tracking and localization of the quadrotor in an outdoor environment. In
addition to all of the sensors mentioned, a camera is another commonly used sensor
on a quadrotor. It provides a video feedback that can be used for image recognition
and processing as well as obstacle avoidance [49].
The next figure shows the Simulink model for the quadrotor system.
35
Figure 2 .3: Simulink Quadrotor Model
36
Chapter 3: Adaptive Controller
3.1. Introduction
Dynamic systems suffer from unknown or slowly varying parameters. Unless such
parameter uncertainty is reduced, it may cause inaccuracy or instability for control
system. Using parameter estimation technique, this uncertainty can be reduced.
Because of the adaptive control's capability of tracking a desired output signal with
the presence of parametric uncertainties, it is considered an excellent candidate for
this type of systems. The adaptation law will try to estimate the plant parameter online
using the inputs and the outputs signals of the system, and then use these parameters
in the control input computation [50].
Quadrotors, like any highly nonlinear systems, suffer from parametric uncertainty;
either totally unknown or vary with time. There are different ways to control such
systems ,such as robust controller and adaptive control. Robust control makes sure the
closed loop control system remain stable in the presence of disturbance, while
adaptive control deals with parametric uncertainty without having any prior
information about the parameter.
37
Besides the parameter uncertainty, the quadrotor is considered as an under-actuated
system, which will make it harder to control in 6-DOF. In this chapter, a dynamic
inversion technique is used to split the system into two sub systems.
̈
[ ̈] (3 .1)
̈ [ ] [ ]
̈ ( ) ̇ ̇ ̇
̈ ( ) ̇ ̇ ̇ (3 .2)
[ ̈] ( ) ̇ ̇
[ ] [ ] [ ][ ]
[ ] [ ][ ] (3 .3)
(3 .4)
(3 .5)
The first subsystem is the internal dynamics that have been defined using the
feedback linearization on the system and it is given by:
̈
* + [ ] (3 .6)
̈
38
A sliding mode control is used to control the second subsystems and to generate
the command .
The second subsystem is considered as a fully actuated system and it is defined as:
̈ ( ) ̇ ̇
(3 .7)
̈ ( ) ̇ ̇
[ ̈] ( ) ̇ ̇
[ ] [ ][ ]
39
Figure 3 .2: Sliding Control for the Internal Dynamics Block Diagram
(3 .8)
̈ [ ] (3 .9)
[ ] (3 .10)
where the yaw angle ( ) and the roll angle ( ) in the matrix are the current angles
of the system. It is important to note that the matrix is invertible in the region of
interest
( ) ( ) (3 .11)
The desired trajectory for the first subsystem can be defined using the following
reference model in state space form:
* + * + (3 .12)
̇ ̇
(3 .13)
40
3.5.2. Tracking and sliding mode error.
* + * + (3 .14)
̇
* + ̇ * + * + (3 .15)
̇
(3 .16)
where and are design positive constant and represent a stable Hurwitz
polynomial.
Using (3.1), a relation between the input force and the gravitational acceleration
( ) could be made to simplify the control law. Recall from the dynamic equation of
the z-axis:
̈ (3 .17)
When the system moves in XY-plane, the acceleration in z-axis will equal to zero:
(3 .18)
where in this equation represent the current roll and pitch angles respectively.
[ ] ( [ ̈ ̇ ] ) (3 .19)
( ) (3 .20)
where and are design positive constants and represent a stable Hurwitz
polynomial. Substitute the control law (3.19) into (3.6) yields:
41
̈ ̈ ̇ (3 .21)
̇ (3 .22)
The objective of using the adaptive control is to make the output asymptotically
track the desired output despite the parameter uncertainty. The adaptive
control is applied for the second subsystem to guarantee the convergence of the
attitude and altitude tracking . See
Figure 3.3.
3.6.1. Parameterization.
(3 .23)
(3 .24)
42
where:
⁄
⁄ ⁄
[ ] [ ] (3 .25)
⁄ ( )⁄
[ ⁄ ]
(3 .26)
̈ ( ) (3 .27)
̈
̈
(3 .28)
̈
[ ̈ ]
( ) (3 .29)
[ ]
̇ ̇ ̇ ̇ ̇ ̇ (3 .30)
Similar to the first subsystem, let the desired trajectory for the second subsystem be
defined using the following reference model in state space form:
* + * + (3 .31)
̇ ̇
(3 .32)
43
(3 .33)
[ ] [ ] [ ]
And the associated sliding error as:
̇
̇
̇ (3 .34)
̇
[ ] [ ̇ ] [ ]
̇ ̈ ̇ ̈ (3 .35)
̈ ̇ (3 .36)
(3 .37)
̅̂ (3 .38)
where:
̅ ( ) (3 .39)
(3 .40)
where are design positive control gains. Substituting the control law
(3.38) in equation (3.24) yields:
̅̂
̅̂ ̅
̅ ̅ (̂ ) ̅̃ (3 .41)
44
where ̃ is the parameter error defined by:
̃ ̂ (3 .42)
Using:
̅ ̈ ̇ (3 .43)
̇ ̇ (3 .44)
Using (3.41):
̇ ̅̃ (3 .45)
( ̃) [ ̃ ̃] (3 .46)
where and are symmetric positive definite matrix. The derivative of the
Lyapunov function is calculated as:
̇ ̇ ̇ ̃̇ ̃ (3 .47)
̇ ̅̃ ̃̇ ̃ (3 .48)
̃̇ ̂̇ ̇ ̂̇ (3 .49)
( ̅ ̂̇ ) ̃ (3 .50)
̂̇ ̅ (3 .51)
45
Therefore, the derivative of the Lyapunov function (3.48) becomes:
̇ (3 .52)
In the previous section, the information about the estimated parameters was extracted
from the tracking error . However, there is another source that can be used to
extract the information about the estimated parameters. Prediction error in the inputs
also contains parameters information. Figure 3.4 shows the block diagram of the
composite adaptive control [51].
The prediction error is defined as the difference between the actual input and the
estimated control
̂ ̂ (3 .53)
46
However, the presence of an immeasurable acceleration in will prevent us from
using this definition for the prediction error ( ) directly for the parameter estimation.
To avoid the appearance of the acceleration in this relation, let us use a proper first
order filter as follows:
* + ( ̈ ) ( ̇ ) (3 .54)
* ̇ ̇ + (3 .55)
̃ ̂ (3 .56)
* + (3 .57)
The main idea of using the composite adaptive control, is to develop an adaptive
law that is driven by the information from both errors, tracking error ( ) and
prediction error ( ), without changing the control law.
̃̇ ̅ (3 .58)
(3 .59)
47
Substitute the new adaptation law in (17). The derivative of the Lyapunov function
becomes:
̇ (3 .60)
̃
By using Barbalat’s lemma
̇ ̇
̃
The above expression guarantees global stability and global tracking convergence of
both the sliding control and adaptive control systems.
Simulations are used to validate the proposed control algorithm and to illustrate the
difference in behavior between the direct and the composite adaptive controllers.
Figure 3.5 shows the used simulink model.
In the simulation, time varying plant parameters are considered. The plant
parameters are generated using square wave function which is defined as:
(3 .61)
The plant parameters have a common duty cycle of 50% and a common
frequency of . However, each parameter has got a different amplitude and
an offset which are demonstratedin Table 3.1.
Table 3.2 shows the command signals which are generated using
square wave function with a common duty cycle of 50%, an amplitude of one and
zero offsets. However, they have different frequencies.
The control parameters have been selected to satisfy the desired performance and
they are shown in Table 3.3.
Figure 3.6 to Figure 3.9 show the positions and the angles of the quadrotor. The
figures show the difference in response between the composite and direct adaptive
controls. Figure 3.6 and Figure 3.8 illustrate the responses at the beginning of the
48
simulation where time is between . While Figure 3.7 and Figure 3.9
showthe responses at the time where the estimated parameters changed their values
. It is easy to notice that the composite adaptive response is better
and that tracking the desired signal is faster.
In Figure 3.10 and Figure 3.11, the tracking error of the position and the angles of
the quadrotor are shown. Figure 3.12 and Figure 3.13 show the parameters
estimation where the composite adaptive control is tracking the parameters exactly
unlike the direct adaptive control. Error! Reference source not found. and Error!
ference source not found. illistrate the parameters error.
1.5 1
0.01 0.005
0.0125 0.005
0.02 0.01
0.03
0.015 0
0.01 0
0.012 0
0.009 0
49
Table 3 .3: Control Parameter
Parameter Value
[ ]
[ ]
[ ]
[ ]
20
Table 3.4 shows the parameters estimation Mean Square Error (MSE). The composite
adaptive control has much lower MSE in all parameters.
50
Figure 3.6 shows three subplots of the positions of the quadrotor system in x-,y-
and z-axis respectively. In each graph, there are four different lines and they represent
the command signal, the desired signal, the composite adaptive control actual signal
and direct adaptive control actual signal. In the x and y graph, there is no difference in
the responses between the composite and the direct adaptive control, while this is
easily shown in the z graph.
Figure 3.7 also shows the positions response of the system in the same manner of
the previous one. However, the subplots in this graph are illustrated in a different time
span when the parameters are changed. It is noticeable that the positions tracking of
the both adaptive controller are convergence to the desired trajectory even when the
plant parameters are changing.
51
Figure 3 .7: Command, Desired and Actual Positions Interval-2
Figure 3.8 contains three subplots, where in each subplot the command, the desired
and both adaptive control signals are plotted for the Euler angles roll, pitch and yaw
respectively. In the first and the second plots, the signal from both adaptive systems
cannot be distinguished. In the yaw plot, a small oscillating respond can be seen for
the direct adaptive signal but not for the composite one.
52
Figure 3 .8: Command, Desired, and Actual Angles Interval -1
Figure 3.9 shows the response of Euler angles of the system after the plant
parameters are changed. The adaptive control in both methods can track the desired
output of the system even when the parameters are changing.
53
Figure 3 .9 Command, Desired, and Actual Angles Interval -2
The tracking errors of the positions are illustrated in the Figure 3.10. The time span
is distributed before and after the plant’s parameters are changed. Even though, the
spikes appear because of the command signals. Still, it can be easily noted that the
tracking error in each subplot goes to zero. In addition, the tracking error of the
composite adaptive control is less than the direct one in the z-axis.
54
Figure 3 .10: Position Tracking Error
In Figure 3.11, the tracking errors of the Euler angles are shown. The difference
between both adaptive schemes is illustrated in the plots. The composite adaptive
control has lower spike’s amplitude than the direct one. In addition, the plots show
that the tracking error converges to zero even when the plants’ parameters vary.
55
Figure 3 .11: Angle Tracking Error
56
Figure 3 .12: Parameters Estimation 1
In Figure 3.13, the estimation of the other parameters is shown. Here the
estimation of the plant’s parameters using the direct adaptive method shows very poor
results. In all three subplots, the composite adaptive was able to estimate the true
parameter quickly, while the adaptive one could not estimate them at all.
57
Figure 3 .13: Parameters Estimation 2
Figure 3.14 and Figure 3.15 show the error in parameters estimation of the first
three parameters for both methods. The conclusions mentioned regarding the
parameter estimation for both methods are evident in these two figures. The
estimation using the composite adaptive method is faster and converges to actual plan
parameter. Moreover, it clearly shows how poor is the adaptive estimation method
compared with composite one.
58
Figure 3 .14: Parameters Error 1
59
Table 3 .4: Parameter Estimation Mean Square Error (MSE)
Method
Parameter
Direct Adaptive Composite Adaptive
0.14248 0.047467
⁄
0.00113 3.217e-05
⁄
⁄ 0.00543 0.000145
29.0047 0.468041
⁄
0.09204 0.001541
⁄
2.40200 0.261399
( )⁄
3.9. Summary
A nonlinear composite adaptive control algorithm has been done for a 6-DOF
quadrotor system. The proposed controller forced the quadrotor to follow a desired
position, velocity, acceleration and a heading angle despite the parameter uncertainty.
A Sliding mode control has been used to control the internal dynamics, while the
adaptive control was controlling the fully actuated subsystem. All the parameters such
as the mass, the system inertia, thrust and drag factors were considered to be fully
unknown and have been estimated.
60
Chapter 4: Multi Lyapunov Functions
4.1. Introduction
There exist several approaches to obtain a suitable controller for this class of
under-actuated systems. In this chapter, our focus is to develop a novel structure to
enable us to control the linear motion and the heading angle of quadrotor.
A motion control of 6-DOF quadrotor that follows a desired path at some velocities
in Cartesian space and a heading angle is aimed. Roll and pitch motions are desired to
stay at zero degree. Note that there is no general solution for full state control of the
overall system, since we do not have sufficient control effectiveness within an entire
state space.
Discontinuous input signals are not desired since they may trigger some
unmodeled dynamics and thus, the existence of a solution to ODE will become
questionable. However, they have been considered, especially for the problems where
there are no trivial answers. In this research, a multiple Lyapunov Functions based on
a switching controller will be developed to treat the under-actuated problem.
61
4.3. Quadrotor Dynamics
The overall system dynamics (2.9) and (2.12) can be re-grouped and written as:
̈ ( )
(4 .1)
̈ ( ̇ ̇ ̇ )⁄
̈ ( )
(4 .2)
̈ (( ) ̇ ̇ ̇ )⁄
̈ ( )
(4 .3)
̈ (( ) ̇ ̇ )⁄
Due to the lack of enough actuators, we will first define some subspaces where the
existent structures allow us to implement full actuations. Note that the entire space is
spanned by three orthogonal sub-vector fields as follows:
̇ ̇
̇ ̇ (4 .4)
̇ ̇
with defining pitch, roll and yaw subspaces respectively and
[ ] [ ] [ ] (4 .5)
It is very typical to assume small angle approximation for such sized quadrotors of
interest. To avoid the singularities it is sufficient to assume:
62
4.3.1. Input constraints.
The system dynamics (4.1)-(4.3) are not in the affine form. We will now define some
constraints on the rotor speeds to enforce some symmetry conditions needed to
develop our controller.
Let the rotor speeds be as shown in Table 4.1 for the three subspaces; pitch, roll and
yaw, that quadrotor will operate.
Pitch
Roll
Yaw
Remark 1: This will further reduce the effective control inputs to the under-actuated
system only to . However, it is sufficient to control the 2-DOF subsystems in
the partitioned subspaces. Hence, the equations (4.1)-(4.3) can be put into:
̇ (4 .6)
In the next section, we will derive the error system dynamics to solve for local
tracking control problem in fully-actuated vector subspaces. Then, the controllers in
each subspace will be defined. Finally, using an MLF based switching rule we will
extend the stability resulting from the fully-actuated subspaces to the entire vector
space.
63
(4 .7)
̇ ̇ (4 .8)
̇ ̈ ̇ ( )
(4 .9)
̇ ̈ ̇ ( ̇ ̇ ̇ )⁄
Observe that applying the input constraints shown in Table 4.1 implies that
generalized inputs in (4.9) are:
(4 .10)
(4 .11)
̇ ̇ (4 .12)
The error system dynamics on the roll manifold can be written as:
̇ ̈ ̇ ( )
(4 .13)
̇ ̈ ̇ (( ) ̇ ̇ ̇ )⁄
Applying the input constraints of Table 4.1 into (4.13), we have:
(4 .14)
64
3. Yaw Subspace: Let there be a desired trajectory ̇ ̈ and
̇ ̈ that defines the altitude and the heading angle profiles. Then,
for the tracking errors
(4 .15)
̇ ̇ (4 .16)
The error system dynamics in yaw subspace can be obtained by substitution of (4.3)
into (4.16) as in:
̈ ̈ ̇ ( )
(4 .17)
̈ ̈ ̇ (( ) ̇ ̇ )⁄
Since we enforce the rotor speed, that generates those generalized inputs to the
quadrotor system, to be constrained according to Table 4.1, inputs to (4.3) are
(4 .18)
Since the problem is posed to handle the 6-DOF under actuated system with only
two constrained control signals, we will first define three subsystem controllers over
the fully actuated pitch, roll and yaw subsystems defined by the basis vector set of
(4.5).
[ ̈ ̇ ]
( )
(4 .19)
* ̈ ̇ ( ̇ ̇ )+
65
with and . Then, ̇ ̇ goes to ̇ ̇
exponentially in .
(4 .20)
̇ (4 .21)
with
* + (4 .22)
̇ ‖ ‖ (4 .23)
Therefore goes to zero exponentially. Using the standard Lyapunov theorem, one
can conclude that goes to zero and using the Barbalat’s extension so does ̇ . Hence,
the tracking is achieved in .
* ̈ ̇ +
( )
(4 .24)
* ̈ ̇ ( ) ̇ ̇+
exponentially in .
(4 .25)
66
with [ ] and . Then substituting the proposed controller
(4.24) in to (4.13) results in:
̇ (4 .26)
with positive diagonal matrix as in (4.22). Thus, the time derivative of (4.25)
̇ ‖ ‖ (4 .27)
[ ̈ ̇ ]
( )
(4 .28)
* ̈ ̇ ( ) ̇ ̇+
exponentially in .
(4 .29)
With
[ ] (4 .30)
Substituting the proposed controller (4.28) in (4.17) and having the time derivative of
(4.30) result in:
̇ (4 .31)
̇ ‖ ‖ (4 .32)
Once again, having go to zero exponentially implies that the tracking objective is
achieved everywhere in .
67
Remark 2: All these Lemmas only show that there exist some fully actuated
nonlinear control configurations that can be used to control a 2-DOF motion which
makes sense when the corresponding internal dynamics are bounded. Unfortunately,
this is not the case, so they cannot be used alone. However, we will show with the
main theorem that a proper switching control algorithm guarantees the overall
stability even if the unactuated dynamics are unstable.
Actual control signals to the quadrotors are not the generalized inputs but the rotor
speeds. In this section, we will formulate the relation between the two.
We define the speeds by a nominal speed and a fluctuation needed for the
desired motion. In order to find the relation, the nonlinear equations should be solved.
First, construct the square terms below together with (4.10) to have the following
relationships
√
( √ ) √ (4 .33)
and
√
( √ ) √ (4 .34)
Adding and subtracting the square roots of (4.33) and (4.34) solve the speed
variables as:
(√ √ )
√
(4 .35)
(√ √ )
√
with
√
(4 .36)
√
Due to the structural similarity in the roll subspace, the rotor speed solutions are:
68
(√ √ )
√
(4 .37)
(√ √ )
√
with
√
(4 .38)
√
For hovering, to have the rotor speeds for the yaw and altitude control, construct
the squares slightly different as
Solving the last two equations for the rotor speeds, we obtain:
(√ √ )
√
(4 .39)
(√ √ )
√
with
(4 .40)
Plugging the speeds (4.35), (4.37) and (4.39) in to Table 4.1 gives the required rotor
speeds in the three regions of operation.
69
4.4.3. Main result.
Figure 4.1. Using a special rotor speed profile, we have shown the elimination of
some cross multiplication terms that exist in the quadrotor dynamics because of some
asymmetry in the rotor speed. Those constraints turn the system into the affine form
where we can apply feedback linearization using two control signals effectively, a
nominal speed and fluctuation to accomplish the needed navigation. Further, we
have derived three 2-DOF fully-actuated controllers for the system with some
unstable internal dynamics. We now state a switching controller law using multiple
Lyapunov functions that keep the overall system stable.
{ { }} (4 .41)
{ } (4 .42)
‖ ‖ ‖ ‖
70
with then
‖ ‖ ‖ ‖
with
{ } { }
It is a piecewise decreasing function in the intervals defined by . We have
concluded from Lemma 1-3 that at each interval the selected control ensures the
exponential decay of .
71
shown by the trajectory as initial point has been selected as ,
final point , = 10 and . See Table 4.3.
( )
( ( ) )
72
Figure 4.3 shows the command, desired and actual positions of the quadrotor in x-,
y- and z-axis. The command signal is represented by a dashed thick black line and the
desired signal by a solid black one. While the actual signal is represented by a solid
dark gray line. The command signals for x and y positions are sinusoidal, while it is
ramp for z position. It is clearly revealed that the actual position of the system in the
z-axis reached the final height of 100 meter with approximately 30 sec.
Figure 4.4 is represented in the same manner of the previous one but for Euler
angles instead of positions. The command signals for the roll and pitch angles are
driven from the command signals of the x and y positions respectively. While the psi
angle, which represents the heading of the quadrotor, is considered as a separate
command signal. In this example, the psi command signal is generated using ramp
function starting from non-zero value.
73
Figure 4 .4: Desired and Actual Angles
In Figure 4.5 Figure 4.6 , the tracking errors of the positions and the angles of the
system are shown. The plot below shows how the tracking error of the positions are
reaching zero in the all three axis. It almost reached zero within less than 10 seconds.
74
Figure 4 .5: Position Tracking Error
Figure 4.7 shows the tracking error of the Euler angles; roll, pitch and psi. All the
values converge to zero within a minor period.
75
Figure 4 .6: Angle Tracking Error
The values of the Lyapunov functions of the three subsystems; roll, pitch and yaw,
are illustrated in Figure 4.8. In all three subplots, the decaying of all these functions is
revealed. Within five seconds, the values of the all three Lyapunov functions reached
almost zero.
76
Figure 4 .7: Lyapunov Functions
The value of the switch function is shown in Figure 4.9. The switch function
indicates which subsystem has the maximum Lyapunov value. The value is either one,
two or three. One indicates that the Lyapunov function of the roll subsystem has the
maximum value and it is selected accordantly. While, the value two refers to the pitch
subsystem and the value three to yaw subsystem.
77
Figure 4 .8: Switching Function
In the next figure, the speed of each rotor in radian per second is plotted. An
actuator limitation is taken into account, where the maximum speed is considered to
be 500 rad/sec and the minimum is zero.
78
4.6. Summary.
A nonlinear control algorithm has been given for small size 6-DOF quadrotors.
The under-actuated control problem has been decomposed into three fully actuated
subsystems; in pitch, roll and yaw domains. Each of these subsystems targets to
control only a 2-DOF using partial feedback linearization. A multi Lyapunov
functions based on switching control system has been proposed to overcome coupling
and unstable internal dynamics problems. Local stability of the closed-loop system
has been shown in the flight region of interest. The performance of the proposed
controller has been found to follow the desired position, velocity, acceleration and the
heading angle of quadrotor.
79
Chapter 5: MLF with Adaptive Controller
5.1. Introduction
In this chapter, a combination of the two previous controllers will be used together
to overcome the difficulty that lies in the plant’s unknown parameters and the under-
actuated system. All the plant parameters are been considered to be fully unknown
and varying with time without any prior information. Therefore, the composite
adaptive control, which has been introduced in Chapter 3, will be utilized. In addition,
because of the under-actuated control problem, the multi Lyapunov functions based
on switching control system, which have been proposed in Chapter 4, will be applied.
5.2. Parameterization
(5 .1)
where:
̈
[ ̈ ] * +
(5 .2)
⁄ ⁄
[ ] [ ] [ ]
⁄ ⁄
2) Roll Subspace: similar to pitch space, the linear-in-parameter form is
defined as
80
(5 .3)
where:
̈
* ̈ + * +
(5 .4)
⁄ ⁄
[ ] [ ] [ ]
⁄ ⁄
3) Yaw Subspace: the linear-in-parameter form is defined as
(5 .5)
where:
̈
* ̈ + * +
(5 .6)
⁄
[ ] [ ] ( )⁄
⁄
The desired paths which the system is going to follow are generated using
reference model. Using this reference model, the tracking errors are defined as the
difference between the actual and the desired signal. In the following part, the
reference model and the tracking error in each subspace are going to be defined.
1) Pitch Subspace: Let the desired trajectory for the first subsystem be defined
using the following reference model in state space form:
̈ ̇
* + * +
̇
81
2) Roll Subspace: Similar to Pitch subspace let the desired trajectory be defined
using the following reference model in state space form:
̈ ̇
* + * +
̇
̈ ̇
* + * +
̇
Since the problem is posed to handle the 6-DOF under actuated system with only
two constrained control signals, we will, first, define three subsystem controllers over
the fully actuated pitch, roll and yaw subsystems defined by the basis vector set of
(4.5).
82
̅ ̅ ̂
[ ] (5 .7)
̈ ̇
̅ * +
̈ ̇
̅
(5 .8)
( )
where defined in (4.22). Substitute the control law (5.7) and (5.8) in the pitch
̅ ̂
̅ ̂ ̅
̅ ̅ ̃ (5 .9)
̅ ̇
Using (5.9) yields
̇ ̅ ̃ (5 .10)
̃ ̃ (5 .11)
̇ ̅ ̃ ̃̇ ̃ (5 .12)
̃̇ ̂̇ [̅ ] (5 .13)
83
̇
̅
[ ] ̅ ̂ (5 .14)
̈ ̇
̅ * +
̈ ̇
̅
( )
with positive diagonal matrix as in (4.22). Similar to the pitch subsystem,
substituting the proposed controller (5.14) into (5.3) yields
̇ ̅ ̃ (5 .15)
̃ ̃
(5 .16)
̇ ̅ ̃ ̃̇ ̃ (5 .17)
̃̇ ̂̇ ̅ (5 .18)
84
̇
Similar to pitch subspace, the exponentially convergence to zero tracking error and
parameter error are achieved in .
̅
[ ] ̅ ̂ (5 .19)
̈ ̇
̅ * +
̈ ̇
̅
( )
with positive diagonal matrix as in (4.22). Similar to the previous subsystems,
substituting the proposed controller (5.19) into (5.5) yields
̇ ̅ ̃ (5 .20)
̃ ̃
(5 .21)
̇ ̅ ̃ ̃̇ ̃ (5 .22)
̃̇ ̂̇ *̅ + (5 .23)
85
Once again, having go to zero exponentially implies that the tracking objective is
achieved everywhere in .
Remark 1: All these Lemmas only show that there exist some fully actuated
nonlinear control configurations that can be used to control a 2-DOF motion which
makes sense when the corresponding internal dynamics are bounded. Using the
switched control algorithm defined in Section 4.4.3, guarantees the overall stability
even if the unactuated dynamics are unstable.
The figure below shows the block diagram of the proposed solution.
Similar to the adaptive example, simulations are used to validate the proposed
control algorithm and to illustrate the behavior of the multiple lyapunov function with
the composite adaptive controller.
The plant parameters are considered to be time varying. The plant parameters are
generated using square wave function defined in (3.61).
86
The plant parameters have a common duty cycle of 50% and a common of
. However, each parameter has got different frequency, amplitude and
offset which are shown in Table 5.1.
0.75 0.25
0.0085 0.015
0.008 0.004
0.0125 0.005
0.01
0.03
Figure 5.2 to Figure 5.5 show the positions and the angles of the quadrotor
respectively. Figure 5.2 and Figure 5.4 show the response of the control system.
Where Figure 5.6 and Figure 5.5 illustrate the responses at the beginning of the
simulation where time is between . While the right column represent the
responses at the time where the estimated parameters changed their values
.
In Figure 5.6 and Figure 5.7, the tracking error of the position and the angles of the
quadrotor are shown. Figure 5.8 with Figure 5.9 show the parameters estimation
where the control is tracking the parameters exactly. Also Figure 5.10 and Figure 5.12
illustrate the parameters error and Lyapunov functions respectively. Moreover, the
87
switch function is plotted in Figure 5.13, while the control rotor speed is shown in
Figure 5.14.The mean square error for parameter estimation is shown in Table 5.3.
[ ] [ ]
[ ] [ ]
30
20
Figure 5.2 shows three subplots of the positions of the quadrotor system in x-, y-
and z-axis respectively. In each graph, there are three different lines representing the
command signal, the desired signal and the actual signal. The graph reveals how the
response of the system changes between the first and second command signals. This
occurs because of the adaptation behavior of the control system
88
Figure 5 .2: Command, Desired and Actual Positions Interval 1
In the same way of the previous graph, the positions of the system are plotted in
Figure 5.3, but within a different time span. Although at this interval, the estimated
parameters have changed their values, the control signal managed to achieve the
output tracking.
89
Figure 5 .3: Command, Desired and Actual Positions Interval 2
In Figure 5.4, the values of the Euler angles are plotted. The command, desired and
actual signals for each angle are illustrated. The values of the roll and pitch angles are
driven from the x and y command signal. However, the yaw command signal is
considered as a direct command signal.
90
Figure 5 .4: Command, Desired, and Actual Angles Interval 1
In Figure 5.5, the values of the Euler angles are plotted after the parameters of the
system are changed. Still the controller was able to achieve the output tracking for all
the Euler angles.
91
Figure 5 .5: Command, Desired, and Actual Angles Interval 2
Figure 5.6 shows the tracking error of the positions. The time span is distributed
before and after the plant’s parameters were changed. It becomes evident that the
tracking error in each subplot goes to zero.
92
Figure 5 .6: Position Tracking Error
In Figure 5.7, the tracking error of the Euler angles is demonstrated. The plots in
this graph show that the tracking error converges to zero even when the plants’
parameters vary.
93
Figure 5 .7: Angle Tracking Error
94
Figure 5 .8: Parameters Estimation 1
Figure 5.9 shows the estimation of the other parameters. In the first and second
subplots, the estimation is converging to the true parameter.
95
Figure 5 .9: Parameters Estimation 2
Figure 5.10 and Figure 5.11 show the parameters’ estimation error. It is
demonstrated how the parameters’ estimation goes to zero.
96
Figure 5 .10: Parameter Estimation Error 1
97
The values of the Lyapunov functions of the three subsystems; roll, pitch and yaw,
are illustrated in Figure 5.12. In all three subplots, the decaying of all these functions
is revealed. Within five second, the values of all three Lyapunov functions have
reached almost zero.
The switch function’s value is shown in Figure 5.13. The switch function indicates
which subsystem has the highest Lyapunov value. The value of this function is either
one, two or three. Where one indicates that the Lyapunov function of the roll
subsystem has the maximum value and it is selected accordantly. Whereas, the value
two refers to the pitch subsystem and the value three refers to the yaw subsystem.
98
Figure 5 .13: Switch Function
In Figure 5.14, the speed of each rotor in radian per second, is plotted. An
actuator limitation is taken into account, where the maximum speed is considered to
be 500 rad/sec and the minimum is zero.
99
Table 5 .3: Parameter Estimation Mean Square Error (MSE)
Parameter ⁄ ⁄ ⁄ ⁄ ⁄ ( )⁄
5.6. Summary
A nonlinear control algorithm has-been developed for small size quadrotors. All
the plant parameters have been considered as fully unknown and varying with time
without any prior information. The under-actuated control problem has decomposed
into three fully actuated subsystems; in pitch, roll and yaw domains. Each of these
subsystems targets to control only a 2-DOF using partial feedback linearization along
with a composite adaptive control to overcome the problem of the unknown plant
parameter. Thus, a multi Lyapunov functions based on switching control system is
proposed to overcome coupling and unstable internal dynamics problems.
The Local stability of the closed-loop system and the adaptive control has been
shown in the flight region of interest. The performance of the proposed controller
designed to follow the desired position, velocity, acceleration and the heading angle
of the quadrotor.
100
Chapter 6: Conclusions
To begin with, the system has been divided into two subsystems. The first
subsystem has controlled the internal dynamics using a sliding mode control.
However, the second subsystem, which is a fully actuated system, has been controlled
using an adaptive control; to remove the effects of the parameter uncertainty while
tracking the desired output. Moreover, a direct adaptive controller has improved by
using an indirect adaptive technique. The composite adaptive controller has been
driven using the information from both the tracking errors and the parameter errors.
The stability of the closed-loop system has been shown in the flight region of interest.
In addition, the comparisons between both sachems have been illustrated. The
adaptive control of [27] has been improved by considering all the parameters in a
nonlinear model.
Then, a novel control using multi Lyapunov functions based on switching control
system has been proposed to overcome the coupling and the unstable internal
dynamics problems. The under-actuated system has been decomposed into three fully
actuated subsystems; in pitch, roll and yaw domains. Each of these subsystems targets
to control only a 2-DOF using partial feedback linearization. The local stability of the
closed-loop system has been shown in the flight region of interest. In addition, the
performance of the proposed controller has been found to follow a desired position,
velocity, acceleration and the heading angle of quadrotor.
At last, the proposed Lyapunov functions based on switching control system has
been combined with composite adaptive control as a solution to the two problems
mentioned above. The performance of the proposed combined controller has been
found to follow the desired position, velocity, acceleration and the heading angle of
the quadrotor.
101
References
[1] A. Puri, “A Survey of Unmanned Aerial Vehicles (UAV) for Traffic Surveillance,”
Technical Report, Tampa, 2005.
[2] B. Li, C. Mu and B. Wu, “A Survey of Vision Based Autonomous Aerial Refueling for
Unmanned Aerial Vehicles,” Third International Conference on Intelligent Control and
Information Processing. Dalian, China: IEEE, 2012.
[3] G. Saggiani and M. Teodorani, “Rotary wing UAV potential applications: an analytical
study through a matrix method,” Aircraft Engineering and Aerospace Technology, Vol.
76 Iss: 1, pp.6 – 14, 2004.
[5] B. L. Stevens and F. L. Lewis, “Aircraft Control and Simulation,” Hoboken, New Jersey:
John Wiley & Sons, Inc., 2nd ed., 2003.
[6] M.A.R. Ai-Omari, M.A. Jaradat and M. Jarrah, “Integrated simulation platform for indoor
quadrotor applications,” 2013 9th International Symposium on Mechatronics and its
Applications (ISMA), IEEE; 2013.
[9] J.J.E. Slotine, and W. Li, “Applied Nonlinear Control,” Englewood Cliffs, N.J. : Prentice
Hall, 1990., 1990.
[10] S.S. Sastry and A. Isidore, “Adaptive Control of Linearizable Systems,” I.E.E.E
Transactions Automation Control, 1989.
[11] J.J.E. Slotine and J.A. Coetsee, “Adaptive Sliding Controller Synthesis for Nonlinear
Systems,” Int. J. Control, 43(4), 1986.
[13] W. Hahn, “Theory and Application of Lyapunov's Direct Method,” Englewood Cliffs:
Perntice Hall, 1963.
[14] J. La-Salle and S. Lefschetz. “Stability by Lyapunov Direct Method,” Academic Press,
1961.
102
[17] M. S. Branicky, “Stability of switched and hybrid systems,” in Proc. 33rd IEEE Conf.
Decision and Control, Lake Buena Vista, FL, Dec. 14–16, 1994.
[18] M. S. Branicky, Studies in hybrid systems: Modeling, analysis, and control. ProQuest
Dissertations and Theses, pp. 0-1. Available:
http://ezproxy.aus.edu/login?url=http://search.proquest.com/docview/304276768?account
id=16946. 1995.
[19] M. Huang, B. Xian, C. Diao, K. Yang and Y. Feng, "Adaptive Tracking Control of
Under-actuated Quadrotor Unmanned Aerial Vehicles Via Backstepping", In Proc.
American Control Conference, Baltimore, USA, 2010.
[21] B. C. Min, J. H. Hong and E. Matson, “Adaptive Robust Control (ARC) for an Altitude
Control of a Quadrotor Type UAV Carrying An Unknown Payloads,” 2011 11th
International Conference on Control, Automation and Systems. IEEE; 2011.
[23] M. Schreier, "Modeling and adaptive control of a quadrotor". 2012 IEEE International
Conference on Mechatronics and Automation. IEEE; 2012.
[25] M. Imran Rashid, and S. Akhtar, "Adaptive Control of a Quadrotor with Unknown
Model Parameters", Proceedings of 2012 9th International Bhurban Conference on
Applied Sciences & Technology (IBCAST). IEEE; 2012.
[26] C. Diao, B. Xian, Q. Yin, W. Zeng, H. Li and Y. Yang, “A Nonlinear Adaptive Control
Approach for Quadrotor UAVs,” 8th Asian Control Conference (ASCC). IEEE; 2011.
[28] B. J. Bialy, J. Klotz, K. Brink and W.E. Dixon, “Lyapunov-Based Robust Adaptive
Control of A Quadrotor UAV In The Presence of Modeling Uncertainties,” 2013
American Control Conference. IEEE; 2013.
[29] H. Bouadi, S. Cunha, A. Drouin and F. Mora-Camino, "Adaptive Sliding Mode Control
for Quadrotor Attitude Stabilization and Altitude Tracking", 2011 IEEE 12th
International Symposium on Computational Intelligence and Informatics (CINTI). IEEE;
2011.
[30] D. Lee, C. Nataraj, T.C. Burg and D.M. Dawson, "Adaptive Tracking Control of An
Underactuated Aerial Vehicle", Proceedings of the 2011 American Control Conference.
IEEE; 2011.
103
[31] S. Bouabdallah and R. Siegwart, “Full Control Of A Quadrotor,” 2007 IEEE/RSJ
International Conference on Intelligent Robots and Systems. IEEE; 2007.
[35] G. Raffo, M. Ortega and F. Rubio, “Nonlinear Controller for the Quad-Rotor Helicopter
with Input Coupling,” in 18th IFAC World Congress, pp. 13834 – 13839, Aug. 28 – Sep.
2 2011.
[36] A. Das, K. Subbarao and F. Lewis, “Dynamic Inversion with Zerodynamics Stabilization
for Quadrotor Control,” IET Control Theory and Applications, vol. 3, no. 3, pp. 303–314,
2009.
[37] H. K. D. Lee and S. Sastry, “Feedback Linearization Vs. Adaptive Sliding Mode Control
for a Quadrotor Helicopter,” International Journal of Control, Automation, and Systems,
vol. 7, no. 3, pp. 419–428, 2009.
[38] R. Freeman and P. Kokotovic , Robust Nonlinear Control Design, statespace and
Lyapunov techniques. Boston, MA: Birkhauser, 2008.
[39] L. Sanchez, O. Santos, H. Romero, S. Salazar and R. Lozano, “Nonlinear and Optimal
Real-Time Control of a Rotary-Wing UAV,” in American Control Conference, no. 88,
pp. 1533 – 1538, June 27 – 29 2012.
[40] M. Branicky, “Multiple Lyapunov Functions and Other Analysis Tools for Switched And
Hybrid Systems,” IEEE Trans. Autom. Control, vol. 43, no. 4, pp. 475–482, 1998.
[45] S. Bouabdallah, P. Murrieri and R. Siegwart, “Design and Control of an Indoor Micro
Quadrotor,” In Proc. ICRA, New Orleans, Louisianna, 2004.
[46] E. Johnson and M. Turbe, “Modeling, Control, and Flight Testing of a Small Ducted Fan
Aircraft,” Journal of Guidance Control and Dynamics, Vol. 29, No. 4, pp. 769-779,
July/August 2006.
104
[47] G. Hoffmann, H. Huang, S. Waslander and C. Tomlin, “Quadrotor Helicopter Flight
Dynamics and Control: Theory and Experiment,” In Proc. AIAA GNC, Hilton Head,
South Carolina, 2007.
[49] S. Gupte, P.I.T. Mohandas and J.M. Conrad, "A Survey of Quadrotor Unmanned Aerial
Vehicles," Southeastcon, 2012 Proceedings of IEEE , vol., no., pp.1,6, 15-18 March
2012.
[50] B. J. Emran and A. Yesildirek. "Nonlinear Composite Adaptive Control For Quadrotor,"
The International Conference on Electrical and Electronics Engineering, Clean Energy
and Green Computing. UAE: SDIWC, pp. 220-231, 2013.
[51] A. Das, F. L. Lewis and K. Subbarao, "Sliding Mode Approach to Control Quadrotor
Using Dynamic Inversion, Challenges and Paradigms in Applied Robust Control," ISBN:
978-953-307-338-5, InTech, DOI: 10.5772/16599. Available from:
http://www.intechopen.com/books/challenges-and-paradigms-in-applied-robust-
control/sliding-mode-approach-to-control-quadrotor-using-dynamic-inversion. November
16, 2011.
105
Vita
Bara Jamal Emran was born on July 26, 1988, in Amman, Jordan. He was
educated and graduated from Riyadh Al Salheen School in Riyadh, Saudi Arabia in
2006. From there, he went on to the University of Jordan where he obtained his
degree in Bachelor of Science in Mechatronics Engineering in June 2011.
106