Adaptive Nonlinear Stabilization Control For A Quadrotor
Adaptive Nonlinear Stabilization Control For A Quadrotor
Adaptive Nonlinear Stabilization Control For A Quadrotor
net/publication/263372842
CITATIONS READS
83 3,520
2 authors:
All content following this page was uploaded by Mostafa Mohammadi on 26 August 2014.
Received: 21 April 2012 / Accepted: 21 January 2013 / Published online: 24 February 2013
© Springer Science+Business Media Dordrecht 2013
Abstract In this paper an adaptive control scheme of the controller on our real quadrotor. A prac-
along with its simulation, and its implementation tical algorithm is proposed to alleviate and ac-
on a quadrotor are presented. Parametric and non- celerate the tuning of controller parameters. The
parametric uncertainties in the quadrotor model controller is implemented on the quadrotor to
make it difficult to design a controller that works stabilize its attitude and altitude. Simulation and
properly in various conditions during flight time. experimental results demonstrate the efficiency
Decentralized adaptive controller, which is syn- and robustness of the proposed controller.
thesized based on improved Lyapunov-based Model
Reference Adaptive Control (MRAC) technique, Keywords Adaptive control · Stabilization ·
is suggested to solve the problem. The proposed Decentralized control · Quadrotor · UAV
control scheme does not need knowing the value
of any physical parameter for generating appro- 1 Introduction
priate control signals, and retuning the controller
is not required for different payloads. An accurate Rotary wings unmanned aerial vehicles (UAV)
simulation that includes empirical dynamic model have been used in a wide range of applications
of battery, sensors, and actuators is performed to such as search and rescue operations, surveillance,
validate the stability of the closed loop system. and photography in recent years [1]. Because of
The simulation study simplifies implementation the high maneuverability and simplicity of the
mechanical structure, the quadrotor configuration
has received more attention than other micro
Electronic supplementary material The online version UAVs.
of this article (doi:10.1007/s10846-013-9813-y) contains Attitude and altitude control of UAV lies at the
supplementary material, which is available heart of more complex control systems, like posi-
to authorized users. tion control and obstacle avoidance [2]. Designing
M. Mohammadi (B) · A. M. Shahri an efficient stabilizing controller involves coping
Mechatronic & Robotic Research Laboratory, with unmodeled dynamics, interaction between
Electronic Research Center, Electrical Engineering
subsystems, inaccurate measurements, variable
Department, Iran University of Science
and Technology, Narmak 1684613114, Tehran, Iran physical parameters, external disturbances, and
e-mail: [email protected] mechanical underactuation [1]. So an advanced
A. M. Shahri control scheme is required to achieve a high per-
e-mail: [email protected] formance controller. In trying to reach this goal
106 J Intell Robot Syst (2013) 72:105–122
many researchers have solved the control problem control speed an Extended Kalman Filter (EKF)
for the quadrotor in various ways. was used.
Orsag at [2] used an innovative method to get For most of these references, except vision
to the bottom of the Quadrotor control problem, based control papers, the verification of the pro-
which is based on a discrete automaton. This au- posed algorithms has been limited to simulations
tomaton combines classical PID and more sophis- and the model of actuators is not considered in
ticated LQ controllers to create a hybrid control their simulations studies either. In designing the
system. Using a simple nested saturation algo- controller, parametric and non-parametric uncer-
rithm, [3] stabilized a quadrotor which is based on tainties are not taken into account in order to
Layapunov analysis. achieve stability in close form altogether in the
Adaptive control methods are used in [1, 4– model.
6]. In [1, 4, 5] Backstepping Approach was used Furthermore, important practical issues like
for controlling quadrotor. Some parametric and battery discharging during flight time and variable
non-parametric uncertainties are considered in mass have not received attention in the literatures.
these papers. [6] developed an L1 adaptive out- It is worth mentioning that despite the fact that
put feedback control design process. This con- the quadrotor structure and its weight are con-
troller has robustness to time delay and Actuators stant but its payload can be changed in various
Failure. applications. So an adjustable feedback control is
Intelligent control methods are presented in [7– essential to have a decent performance despite
9]. Dierks in [7] used Neural Networks to perform different initial conditions and various situations
Output Feedback Control of a Quadrotor. Nicol during flight.
at [8] proposed a new adaptive neural network In this paper the dynamic model of the quadro-
control to stabilize a quadrotor in the present of tor, which is obtained by Lagrange-Euler for-
modeling error and considerable wind disturbance. malism, is presented. A decentralized adaptive
In [9] a fuzzy controller based on on-line optimiza- controller is proposed to stabilize the attitude and
tion of a zero order TakagiSugeno fuzzy inference the altitude of a quadrotor in the presence of
system, which is tuned by a back propagation-like parametric and non-parametric uncertainties. In
algorithm, is applied to a quadrotor. In this paper this approach, which is originally derived from
some uncertainties are considered. [25], controlling each channel including roll, pitch,
Robust approaches are utilized in [10–18]. yaw, and altitude is performed independently
Raffo in [10] used an integral predictive and H∞ while the effects of other channels are considered
nonlinear robust control strategy to solve the as a disturbance. There is no need to transfer
path following problem for a quadrotor. Aero- information between the channels. Tuning the
dynamic disturbances and parametric uncertain- controller is not depends on the physical parame-
ties are considered in this paper. Sliding mode ters of the UAV. Thus various payloads do not
control is employed to stabilize the quadrotor in compel us to retune the controller. The stability
[11, 13, 15, 18]. Feedback linearization control is proof of the control law is based on the im-
used for controlling the quadrotor in [12–14]. Efe proved Lyapunov-based Model Reference Adap-
in [16] presented a robust control schemes that can tive Control (MRAC) technique. Furthermore,
alleviate disturbances. Fractional PID controller this paper focuses on using accurate simulation for
is proposed as a remedy. Cano in [17] presented ease of implementation and test on real platform.
Asynchronous networked control of quadrotor It is important because quadrotor’s high speed
via L2-gain-based transformations. propellers are dangerous and any crash can be
Vision-based control algorithms of the quadro- very harmful and can damage the vehicle. So,
tor are discussed in [19–24]. These papers had almost complete model of the quadrotor is sim-
used camera as well as AHRS to measure attitude ulated to evaluate the performance of the pro-
and position. In [24] catadioptric system is utilized posed controller. This model includes dynamics
to estimate vehicle attitude in an urban environ- equations of motion, aerodynamic forces and mo-
ment. In order to increase the estimation and ments, and dynamics of actuators, battery and
J Intell Robot Syst (2013) 72:105–122 107
sensors. The dynamic models of the battery, sen- ξ = [x, y, z]T is the position of UAV in inertial
sors and the actuators are obtained based on the frame and the vector η = [φ, θ, ψ]T is the orienta-
experimental data. This leads to more profitable tion of body frame with respect to fixed frame and
simulation results, which can accelerate controller called Euler angles. These angles are bounded as
implementation procedure on the real quadro- follows:
tor. A well-structured quadrotor is designed and ⎧ π π
⎨ roll : − 2 < φ < 2
constructed. This quadrotor is stabilized by the pitch : − 2 < θ < π2
π
(1)
proposed controller. An algorithm is suggested to ⎩
yaw : −π < ψ < π
tune the controller’s parameters, which is one of
the main contributions of this study. A wide range The Lagrange-Euler rotational dynamics in terms
of experiments has been performed to ensure the of η can be expressed, as follows [3, 10]:
capability of controller in various conditions. H(η)η̈ + C(η, η̇)η̇ = τη (2)
Compared to other adaptive controllers that
have been used to control quadrotor, which often τη represents the roll, pitch and yaw moments. The
based on backstepping technique and artificial first term of left hand side of Eq. 2 represents the
neural networks, the proposed controller has sim- inertial moments while the second term includes
ple structure. Furthermore, unlike artificial neural Coriolis and centrifugal forces [27]. The elements
network based controllers there is no need to train of H(η) and C(η, η̇) are calculated in [10]. In
the proposed controller. translational dynamics in contrast to rotational dy-
The rest of the paper is structured as fol- namics there is gravitational potential energy. The
lows. The model of the quadrotor is presented in translational dynamic equations can be expressed
Section 2. Section 3 presents the overall control as follows [10]:
scheme. In Section 4 the quadrotor is simulated ⎡ ⎤
0
and the simulation results are presented. Section 5
mξ̈ + mg ⎣ 0 ⎦ = fξ (3)
gives hardware description, the proposed algo-
Ez
rithm for controller parameters tuning, and exper-
imental results. The summary of this work is given where m is the total mass of body and g is the
in the last section. gravity constant. fξ is a 3 × 1 vector containing all
translational forces.
Some of the uncertain dynamics are Aerody-
2 Quadrotor Dynamic Model namic moments and forces and Friction forces.
These forces and moments depend on veloci-
Having mathematical dynamic model of vehicle ties mostly [26]. We can express all uncertain
is essential for designing a good controller. Nev- forces and moments in unit terms Funcertain (ξ̇ )
ertheless, UAV model always includes some un- and τuncertain (η̇) respectively. Therefore, dynamic
certainties. As the model becomes simpler, the equations of UAV are as follows:
controller becomes more complicated and a ⎧ ⎡ ⎤
⎪
⎪ 0
model with more details leads to more confident ⎨
mξ̈ + mg ⎣ 0 ⎦ = fξ + Funcertain (ξ̇ )
controller. UAV modeling procedure includes de- (4)
⎪
⎪ Ez
termining the dynamic equations of the vehicle ⎩
H(η)η̈ + C(η, η̇)η̇ = τη + τuncertain (η̇)
body and the structure of uncertain dynamics,
specifying the relationship between control inputs As a propeller rotates in the air, it produces a
and outputs of actuators, and finally dynamics of force (thrust) and a moment (drag). Thrust and
actuators and sensors must be considered. drag are denoted by T and D respectively. The di-
For obtaining the dynamic equations of quad- rection of drag is opposite of rotation’s direction.
rotor, as a 6DOF rigid body, the inertial frame Both of them are proportional by square of ro-
and the body fixed frame should be defined. Let tational speed in the hover condition. We denote
B = {B1 , B2 , B3 } be the body fixed frame and the force produced by rotors by T1 , T2 , T3 and T4 .
E = {Ex , E y , Ez } be the inertial frame. The vector Moments produced by rotors are denoted by D1 ,
108 J Intell Robot Syst (2013) 72:105–122
D2 , D3 and D4 . Since propellers 1 and 3 rotate in the pitch control input is defined as follows:
the opposite direction of propellers 2 and 4, then
the signs of D1 and D3 are the opposite signs of τθ = l(−T2 + T4 ) (7)
D2 and D4 (See Fig. 1). When all rotors have the
Yaw movement is obtained by change in sum of
same rotation speed and the lift force is equal to
D1 , D2 , D3 and D4 . As it mentioned previously,
the weight of the vehicle, then quadrotor has a
the signs of D1 and D3 are the opposite signs of
fixed altitude and stable attitude. In this condition,
D2 and D4 . The yaw control input is defined as
the orientation of body frame with respect to the
follows:
inertial frame is fixed, and the quadrotor is in the
hovering mode. In order to change the altitude of τψ = D1 + D2 + D3 + D4 (8)
quadrotor we must change the lift force which is
defined by: So τη can be expressed as follows:
⎡ ⎤ ⎡ ⎤
4 l(−T1 + T3 ) τφ
U= Ti (5) τη = ⎣ l(−T2 + T4 ) ⎦ = ⎣ τθ ⎦ (9)
i=1 D1 + D2 + D3 + D4 τψ
If T1 and T3 are not equal, the roll angle changes. By using the rotation matrix between the body
Longitudinal movements also are achieved by fixed frame and the inertial frame, fξ can be
change in roll angle. Thus the roll control input expressed as follows [1]:
is defined as follows:
⎡ ⎤
(Sψ Sφ + Cψ SθCφ) U
τφ = l(−T1 + T3 ) (6) ⎢
m
⎥
fξ = ⎣ (−Cψ Sφ + Sψ SθCφ) Um⎦
(10)
where l is the distance between center of rotor and (CθCφ) U
m
center of vehicle (see Fig. 1). If T2 and T4 are not
equal, the pitch angle changes. Lateral movements Due to high power and low weight and fast
also are achieved by change in pitch angle. Thus response, brushless DC motors (BLDC) are
Fig. 1 Qaudrotor
helicopter scheme
J Intell Robot Syst (2013) 72:105–122 109
normally types of motors that are used in com- restricted to be decentralized, that’s, each local
mercial UAV’s. Due to very fast response of these controller operates solely on its own subsystem,
motors the dynamic model of actuator in the con- with no exchange of information between the
trol low synthesis is not considered. For simulation subsystems. The adaptive independent controller
purpose, these types of actuators are modeled by dedicated to the ηi and ξi are described by
experimental methods. The details of actuators
modeling are described in the simulation section. Fi (t) = fi (t) + (K0i ei (t) + K1i (t)ėi (t)) i = 1...4 (12)
A quadrotor has six degrees of freedom. Since
the number of actuators is less than the degrees of
where ei = qri − qi is state error. qri are desired
freedom we could not control all degrees of free-
values. The control law Eq. 14 is composed of two
dom simultaneously. These kinds of systems are
components, namely:
called mechanical underactuated systems. In this
paper, we want to control Altitude and attitude of
quadrotor. (i) The term f (t) which is an auxiliary signal
synthesized by the adaptation scheme to
improve the tracking performance and
3 Controller Design partly compensate for the di .
The altitude and attitude of the quadrotor is sta- (ii) The term (K0i (t)ei (t) + K1i (t)ei (t)) which is
bilized by decentralized adaptive controller. The due to the adaptive feedback controller with
desired altitude, roll, pitch and yaw are given to adjustable gains K0i (t) and K1i (t), that acting
the quadrotor as inputs. The outputs of control on defined errors. The overall scheme of the
loops are elements of F. control strategy is depicted in Fig. 2. The fol-
lowing Theorem gives the controller adapta-
3.1 Decentralized Adaptive Control tion laws for tracking the desired trajectory
that is produced by outer loops.
By multiplying, the dynamic equations of UAV
can be rewritten as: Theorem 1 Consider the UAV dynamic equation
Eq. 12 and Adaptive control low Eq. 14, the con-
mi q¨1 + di (q, q̇, q̈) = Fi i = 1...4 (11) troller adaptation laws which ensure asymptotic
In the proposed decentralized control scheme trajectory tracking are based on the weighted error
which is derived from [25], an independent con- ri (t) as follows:
troller is designed for each channel of Eq. 13.
The control laws considered in this section are ri (t) = W pi ei (t) + Wvi e˙1 (t) (13)
Fig. 3 Quadrotor dynamic model along with decentralized adaptive controller simulation diagram
Output of this module is the of the propeller. The The force is measured by FSH00980 load-cell, a
speeds of the motors can be changed between product of FUTEK cooperation. This transducer
0 rpm to 12,000 rpm by applying corresponding is an S type load-cell. The load-cell was fixed on
PWM to ESC. The propeller imposes a non-linear the floor. Motor was installed on top of the load-
load on the motor. Having input and output data cell by screw, such that the motor can move in one
by using simple system identification methods, direction. The displacement of motor due to force
one can find relationship between voltage and produced by propeller results in tension in load-
speed and thrust factor. The relationship between cell. Output voltage of the load-cell is propor-
voltage and speed is used for control purpose, i.e. tional to force. Note that good signal conditioning,
proper motor speed is found by controller and the and damping severe vibrations of the motor is
corresponding PWM is applied to motor. essential to obtain useful results.
To measure motor speed, CNY70 IR receiver/ In order to find the thrust factor, the propeller’s
transmitter is used. Motor, which propeller at- force is measured in various speeds. The rela-
tached to it, was installed on a fixed and tight tionship between force and rotation speed of the
structure. We measured motor speed by using a propeller is as follows.
two color cover (black and white) on the outer
side of motor. The sensor installed perpendicular FT = KT 2
Fig. 4 Measured
forced,which is produced
by the propeller, in
various motor speeds
By using the least squares error method, the drops to minimum voltage during flight time tflight
value of the thrust factor found. KT = 9.7 × 10−5 gradually. A linear function shows the output of
In order to find the relationship between input the voltage of battery according to flight time (for
of motor, i.e. PWM, and the speed of rotation, our quadrotor flight time is 15 min), the minimum
the rotation speed of the motor is measured in voltage is 10 volt and the maximum voltage is
various PWMs. By using the least square tech- 13 volt.
nique a third order polynomial curve is fitted to
the experimental data. The input and output data
voltage(t)
and fitted curve are depicted in Fig. 5.
= maximumvoltage
f (x) = p3 × x3 + p2 × x2 + p1 × x + p0
maximumvoltage − minimumvoltage
− t
Its coefficients values are obtained as follows: tflight
/maximumvoltage
−5
p3 = 1.115 × 10 , p2 = −0.06572,
p1 = 130.8, p0 = −76230 4.3 Simulation Results
For the battery modeling we also use the exper- The control objective is to make the quadrotor
imental data. The maximum voltage of the battery hover at an altitude of 40 cm. its initial altitude is
Fig. 5 Measured
rotational speed of the
motor in various PWMs
J Intell Robot Syst (2013) 72:105–122 113
90 cm. The initial values of controller parameters posed decentralized adaptive controller. It can be
were determined as follows: seen that each channel remains at a set-point very
close despite interconnection between channels.
f (0) = [0, 0, 0, 0] Figure 7 shows the four control signals, which
ki0 (0) = [48, 48, 48, 85] are generated by adaptive controllers. As it can
be seen it the Fig. 7 the weight of the quadrotor
ki1 (0) = [32, 32, 32, 58] is compensated by U1. It means that U1 causes
motors produce a force, which its average is equals
The positive constants of the controller are deter- to the weight of the quadrotor. Three other con-
mined as follows: trol signals stabilize the attitude of the quadrotor.
Since the quadrotor operate near hover condition
W p = diag(6.25, 6.25, 6.25, 25), these control signals are usually smaller than U1.
Wv = diag(1, 1, 1, 5) These fine signals need to be accurate and very
fast in order to stabilize the system. Thus, we use
αi1 = [0.72, 0.72, 1.2, 5], a 14 bit timer/counter to generate the PWMs for
αi2 = [0.02, 0.02, 0.14, 3.2] motors. It is important to note that PWM’s duty
cycle, which changes between 1 to 2 ms, generated
βi1 = [2, 2, 10, 32], βi2 = [0.5, 0.5, 1.2, 10] by a 14 bit timer/counter. The values of control
δ = [0.005, 0.005, 0.01, 0.04], ρ = [0, 0, 0, 0] signal change between 0 to 214(16384), so the
control signal equal to 0 means duty cycle of PWM
Figure 6 depicts the altitude and attitude re- is 1 ms, and if the control signal equals to 16384, its
sponses of the simulated quadrotor with the pro- corresponding duty cycle is 2 ms.
Fig. 6 Altitude and attitude responses of the simulated quadrotor with decentralized adaptive controllers
114 J Intell Robot Syst (2013) 72:105–122
Fig. 7 Control signals generated by decentralized adaptive controllers to stabilize the simulated quadrotor
This section describes our quadrotor platform The structure of our platform is made of carbon
briefly at first. In the following subsection, an fiber (65 cm × 65 cm × 25 cm). Its total weight
efficient algorithm has been proposed to simplify is 1,210 gr with payload capacity about 250 gr
the implementation of feasible controllers. The permits 15 min flight duration (see Fig. 8). Its
experimental results are illustrated in the last part avionic architectures as shown in Fig. 9 is com-
of this section. pletely modular. The Arm microcontroller gathers
data of Attitude and Heading Reference System data, input commands, and state of controller are
(AHRS) and ultra-sonic sensor. Four control sig- stored in the micro-SD RAM for analysis and fault
nals are transmitted by a radio control transmitter detection after probable crashes. Also, all data
to an ARM microcontroller. In order to simplify are sent to the base station through a wireless
tuning of the controller and for flight security network (IEEE 802.11). The base-station is im-
reasons, we have introduced some switches in plemented on a PC at core2Due 2.5 GHz with a
remote control. The control signals are calculated 3 GB RAM. The system is monitored by a sim-
according to the introduced control scheme, and ple Matlab software. The components of avionic
then speed commands are given to the brush- system, which are shown in Fig. 10, are as follows;
less DC motor drivers in PWM form. All sensors STM32F103RB microcontroller is chosen as flight
Fig. 10 Avionic
components: a main
control board with ARM
microcontroller, b AHRS,
c ultrasonic, d zig-bee
receiver/transmitter,
e radio control,
f brushless DC motor
116 J Intell Robot Syst (2013) 72:105–122
computer of our quadrotor. It incorporates high algorithm, which is depicted in Fig. 11, is proposed
performance ARM Cortex-M3 32-bit RISC core as follows:
operating at a 72 MHz maximum frequency (for
1. Conf igure Software this step consists of two
our purpose 16 MHz is enough.), high speed em-
main stages:
bedded memories, an extensive range of enhanced
I/Os and peripherals connected to two APB buses, (a) Initialization and configuration of Data
two 12-bit ADCs, and 7 timers plus 9 communica- Acquisition system, e.g. determining sam-
tion interfaces (I2C, USART, SPI, CAN, USB). pling rate, filtering, etc. The data acquisi-
This choice enables us to extend the system in tion system gathers data of AHRS, ultra-
a simple way for advanced missions. The CHR- sonic and radio control receiver.
6dm AHRS is a cost-effective orientation sensor (b) Motors initializing and configuration, e.g.
providing yaw, pitch, and roll angle outputs at up command rate, resolution of PWM, etc.
to 300 Hz. An Extended Kalman Filter (EKF)
2. Tune each rotational controller individually in
combines data from onboard accelerometers, rate
this step you need a test bench to limit the
gyros, and magnetic sensors to produce yaw, pitch,
degrees of freedom of the quadrotor to one
and roll angle estimates. The LV-MaxSonar®-
degree. The quadrotor must have the ability to
EZ1™, which detects objects from 0-inches to
rotate around one axis, e.g. roll. Then, the con-
254-inches, is used as indoor altitude sensor. The
troller of the selected channel must be tuned.
interface output formats included are pulse width
Tuning of the controller to each channel in-
output, analog voltage output, and serial digital
volves two stages, tuning with zero command,
output. The XM2830CA-14 brushless DC motor
and test with non-zero command. It is essen-
a product of DUALSKY®is used in this quadro-
tial to test the controller with non-zero com-
tor. It has low weight (55 gr) and high power
mand, because the behaviour of the system is
(200 watt). Their power is provided by 2200 mAh
completely different in large angles (bear in
3S 11.1 V Li-Po battery. A 7-channel 2.4 GHz Ra-
mind that the quadrotor is non-linear system).
dio Control transmitter is used to send commands
It is vital to test the controller with various
to the quadrotor.
commands to find the maximum command
that the system can tolerate, especially for
linear controllers, which are designed based
5.2 Controller Parameters Tuning
on small angle approximation. This step can
be divided into three stages:
Tuning the simple controllers, which have con-
stant coefficients, consist of changing the coeffi- (a) Tune the roll controller channel
cients over and over to find the best response i. Tune the roll channel controller with
of the system in this configuration (mass proper- zero constant command
ties and voltage of battery). However if the mass ii. Test the roll channel controller with
properties is changed, for example by adding a variable commands
camera to your drone, or when the voltage of the (b) Tune the pitch controller channel
battery decreases, the tuned coefficients do not i. Tune the pitch channel controller
work ideally and the system need to retune. The with zero constant command
proposed controller simplifies the tuning process ii. Test the pitch channel controller with
in two ways; first finding the initial coefficient (on variable commands
the test bench) is easier. Because, the controller is (c) Tune the yaw controller channel
self-tuning and find the best values for coefficients i. Tune the yaw channel controller with
by itself. Second when the mass properties or volt- zero constant command
age of battery changed there is no need to retune ii. Test the yaw channel controller with
the controller. For controller tuning the following variable commands
J Intell Robot Syst (2013) 72:105–122 117
Fig. 11 Proposed algorithm to tuning parameters of stabilizing controller for a quadrotor UAV
3. Tune the attitude controller after performing Otherwise, if the controller does not show
the previous step, implement all three con- good behaviour and you previously did not
trollers on 6 DOF quadrotor altogether. increase the AHRS sampling rate and the mo-
If the system demonstrates good behaviour, tors command rates enough, raise them. If you
i.e. can be hovered easily, go to the next step. change them several times and the controller
118 J Intell Robot Syst (2013) 72:105–122
does not have good behaviour, go back to step and another for proposed adaptive controller.
2 and modify the controller structure. Each group of tests includes three tests; first test
4. Tune the altitude controller when the attitude with nominal weight and full battery, second test
controller is tuned well, apply the altitude with payload and full battery, and third test with
controller to quadrotor. If the system demon- low voltage battery (its own battery after 8 min
strates good behaviour, i.e. can be hovered flight). These tests show that simple controller
easily, and the operator does not sense a lot does not work in various conditions properly
of vibration and sudden movement, and com- and need to retune while the proposed adap-
mands are performed smoothly, algorithm is tive controller find the proper coefficient, tune
done. Otherwise, if controller does not have itself and its performance better than classic PID
good behaviour and you previously did not controller.
increase ultra-sonic altitude sensor sampling The initial values for the control parameters
rate enough, raise it. If you change it several were determined based on the empirical actuator
times and the system does not exhibit good model and we set the values such that, the thrust
behaviour, go back to step 3 and modify the force be equal to weight of quadrotor.
attitude controller.
f (0) = [0, 0, 0, 0]
5.3 Experimental Results
ki0 (0) = [25, 25, 25, 70]
The experimental results include 2 groups of
tests; a group for classic PID controller [26], ki1 (0) = [17.5, 17.5, 35, 50]
Fig. 12 Quadrotor step response to adaptive and classic controllers (full battery, without payload)
J Intell Robot Syst (2013) 72:105–122 119
The constant parameters of the controllers are High rotational speeds of the propellers cause
determined as follows: the severe vibration of the mechanical structure.
Although the amplitude of these vibrations is
W p = diag(10, 10, 14, 40), Wv = diag(1, 1, 2, 5) small, but the high sensitive AHRS measured
them and appropriate control signal are gener-
αi1 = [0.175, 0.175, 0.35, 1], ated by the controllers. In order to reduce these
inevitable vibrations, a mechanical damper is put
αi2 = [0.0035, 0.0035, 0.35, 1]
under the AHRS. It is worth mentioning that
βi1 = [0, 0, 0, 50], βi2 = [0, 0, 0, 10] different digital Low-Pass Filters (LPF) are ex-
amined to remove the high frequency noises but,
δ = [0.001, 0.001, 0.0025, 0.01], ρ = [0, 0, 0, 0] time delay arising from use of the LPFs cause to
instability of the system instead of improving its
Figures 12, 13 and 14 show the response of behaviour.
the adaptive and classic controller to the 10◦ step The controllers were tested in various condi-
input for the roll channel with constant value tions, the performance of the controllers in static
for other three channels ( pitch = 0 deg, yaw = and dynamic behaviour were compared by three
0 deg, altitude = 1 m) with full battery and without factors; Performance index, which is defined as
payload, with full battery and with 200 gr pay- sum of squire errors, Overshoot, and Settling time.
load, and with low battery and without payload As it can be seen from the Figs. 12, 13, 14 and
respectively. Table 2 for the proposed adaptive controller the
Fig. 13 Quadrotor step response to adaptive and classic controllers (full battery, with 200 gr payload)
120 J Intell Robot Syst (2013) 72:105–122
Fig. 14 Quadrotor step response to adaptive and classic controllers (low battery, without payload)
performance index, overshoot and settling time performance index in the mentioned conditions
are better than classic PID controller. respectively
Another interesting point is: the performance
index for adaptive controller changed less than
classic PID controller in various condition. the 6 Conclusion
performance index for classic controller has
66 % variation from nominal condition to loaded A decentralized adaptive controller has been pro-
condition and has 49 % variation from nomi- posed to stabilize the attitude and altitude of the
nal condition to low battery condition, while the quadrotor. In designing the controller, both para-
adaptive controller has 50 and 38 % variation in metric and non-parametric uncertainties of model
are considered in close form. Improved Lyapunov 9. Zemalache, K., Maaref, H.: Controlling a drone: Com-
based on model reference adaptive control analy- parison between a based model method and a fuzzy in-
ference system. Appl. Soft Comput. 9, 553–562 (2009).
sis is employed to prove that the system is globally
doi:10.1016/j.asoc.2008.08.007
asymptotically stable. 10. Raffo, G., Ortega, M., Rubio, F.: An integral predic-
A new vehicle is designed and built, and the tive/nonlinear H∞ control structure for a quadrotor
control algorithm is implemented on it. Accurate helicopter. Automatica 46, 29–39 (2010). doi:10.1016/
j.automatica.2009.10.018
simulation, which is based on empirical model,
11. Mhammed, G., Hicham, M.: A high gain observer and
and proposed consecutive algorithm make it sim- sliding mode controller for an autonomous quadrotor
ple to implement and tune the controller. Simu- helicopter. Int. J. Intell. Control Syst. 14(3), 204–212
lation and experimental results confirm the high (2009)
12. Das, A., Lewis, F., Subbaro, K.: Dynamic inversion
capability of proposed controller in stabilizing the
with zero-dynamics stabilisation for Quadrotor con-
quadrotor. Now the system can be effectively used trol. IET Control Theory Appl. 3, 303–314 (2009).
in more complicated tasks. doi:10.1049/iet-cta:20080002
13. Lee, D., Kim, H., Sastry, S.: Feedback linearization
vs. adaptive sliding mode control for a quadrotor he-
Acknowledgements The authors would like to thank
licopter. Int. J. Control Autom. 7(3), 419–428 (2009).
Mr. Y. Kanani, Mr. S. Ghorbani, and Mr. Nima Salehi
doi:10.1007/s12555-009-0311-8
Ahangar for providing some software and hardware for the
14. Benallegue, A., Mokhtari, A., Fridman, L.: High-order
quadrotor.
sliding-mode observer for a quadrotor UAV. Int. J.
Robust Nonlinear Control 18(4–5), 427–440 (2008).
doi:10.1002/rnc.1225
15. Zhang, R., Quan, Q., Cai, K.Y.: Attitude con-
References trol of a quadrotor aircraft subject to a class
of time-varying disturbances. IET Control Theory
1. Das, A., Lewis, F., Subbaro, K.: Backstepping ap- Appl. 5(9), 1140–1146 (2011). doi:10.1049/iet-cta.2010.
proach for controlling a quadrotor using lagrange 0273
form dynamics. J. Intell. Robot. Syst. 56(1–2), 127–151 16. Efe, M.Ö.: Neural network assisted computationally
(2009). doi:10.1007/s10846-009-9331-0 simple PID control of a quadrotor UAV. IEEE
2. Orsag, M., Poropat, M. Bogdan, S.: Hybrid fly-by- Trans. Ind. Informat. 7(2), 354–361 (2011). doi:10.1109/
wire quadrotor controller. Automatika 51(1), 19–32 TII.2011.2123906
(2010) 17. Cano, J.M., Lo’ pez-Mart’nez, M., Rubio, F.R.: Asyn-
3. Castillo, P., Dzul, A., Lozano, R.: Real-time stabiliza- chronous networked control of linear systems via
tion and tracking of a four-rotor mini rotorcraft. IEEE L2-gain-based transformations: analysis and synthe-
Trans. Control Syst. Technol. 12(4), 510–516 (2004). sis. IET Control Theory Appl. 5(4), 647–654 (2011).
doi:10.1109/TCST.2004.825052 doi:10.1049/iet-cta.2010.0205
4. Madani, T., Benallegue, A.: Adaptive control via 18. Fahimi, F, Saffarian, M.: The control point con-
backstepping technique and neural networks of a cept for nonlinear trajectory-tracking control of
quadrotor helicopter. In: Proceedings of the 17th autonomous helicopters with fly-bar. Int. J. Con-
World Congress the International Federation of trol 84(2), 242–252 (2011). doi:10.1080/00207179.2010.
Automatic Control, pp. 6513–6518. Seoul, Korea 549842
(2008) 19. Guenard, N., Hamel, T., Mahony, R.: A practical visual
5. Huang, M., Xian, B., Diao, C., Yang, K., Feng, Y.: servo control for an unmanned aerial vehicle. IEEE
Adaptive tracking control of underactuated quadrotor Trans. Robot. 24(2), 331–340 (2008). doi:10.1109/TRO.
unmanned aerial vehicles via backstepping. In: Pro- 2008.916666
ceedings of American Control Conference, pp. 2076– 20. Mahony, R., Corke, P., Hamel, T.: Dynamic image-
2081. Marriott Waterfront, Baltimore, MD, USA based visual servo control using centroid and optic flow
(2010) features. J. Dyn. Syst. Meas. Control. 130, 35–46 (2008).
6. Michini, B., How, J.: L1 adaptive control for indoor doi:10.1115/1.2807085
autonomous vehicles: design process and flight testing. 21. Bourquardez, O., Mahony, R., Guenard, N.,
In: Proceeding of AIAA Guidance, Navigation, and Chaumette, F., Hamel, T., Eck, L.: Image-based
Control Conference, pp. 5754–5768. Chicago, Illinois visual servo control of the translation kinematics of a
(2009) quadrotor aerial vehicle. IEEE Trans. Robot. 25(3),
7. Dierks, T., jagannathan, S.: Output feedback control of 743–749 (2009). doi:10.1109/TRO.2008.2011419
a quadrotor uav using neural networks. IEEE Trans. 22. Garca Carrillo, L.R., Rondon, E., Sanchez, A., Dzul,
Neural Netw. 21(1), 50–66 (2010) A., Lozano, R.: Stabilization and trajectory track-
8. Nicol, C., Macnab, C.J.B., Ramirez-Serrano, A.: Ro- ing of a quadrotor using vision. J. Intell. Robot.
bust adaptive control of a quadrotor helicopter. J. Syst. 61(1–4), 103–118 (2011). doi:10.1007/s10846-010-
Mechatronics 21(6), 927–938 (2011) 9472-1
122 J Intell Robot Syst (2013) 72:105–122
23. Eberli, D., Scaramuzza, D., Weiss, S., Siegwart, R.: Vi- 25. Seraji, H.: Decentralized adaptive control of manipu-
sion based position control for mavs using one single lators: theory, simulation, and experimentation. IEEE
circular landmark. J. Intell. Robot. Syst. 61(1–4), 495– Trans. Robot. Autom. 5(2), 183–201 (1989)
512 (2011). doi:10.1007/s10846-010-9494-8 26. Bouabdallah, S.: Design and control of quadrotor
24. Tarhan, M., Altug, E.: EKF based attitude estima- with application to autonomous flying. Unpublished
tion and stabilizationof a quadrotor uav using van- Doctoral Dissertation, pp. 15–25. EPFL University,
ishing points in catadioptric images. J. Intell. Robot. Lausanne (2007)
Syst. 62(3–4), 587–607 (2011). doi:10.1007/s10846-010- 27. Asada, H., Slotine, J.: Robot Analysis and Control.
9459-y Wiley, New York (1986)