Robust Control for Quadrotor Vehicles
Robust Control for Quadrotor Vehicles
net/publication/224718028
CITATIONS READS
66 537
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Yuri Shtessel on 03 February 2017.
Abstract
Over the last decade, considerable interest has been shown from industry, government and
academia to the design of Vertical Take-Off and Landing (VTOL) autonomous aerial vehicles. This
paper uses the recently developed sliding mode control driven by sliding mode disturbance observer
(SMC-SMDO) approach to design a robust flight controller for a small quadrotor vehicle. This
technique allows for a continuous control robust to external disturbance and model uncertainties to
be computed without the use of high control gain or extensive computational power. The robustness
of the control to unknown external disturbances also leads to a reduction of the design cost as less
pre-flight analyses are required. The multiple-loop, multiple time-scale SMC-SMDO flight controller
is designed to provide robust position and attitude control of the vehicle while relying only on
knowledge of the limits of the disturbances. Extensive simulations of a 6 DOF computer model
demonstrate the robustness of the control when faced with external disturbances (including wind,
collision and actuator failure) as well as model uncertainties.
& 2011 The Franklin Institute. Published by Elsevier Ltd. All rights reserved.
1. Introduction
In the past few years, the interest in Unmanned Aerial Vehicle (UAV) has been growing
strongly. The possibility of removing human pilots from danger as well as the size and cost
of UAVs are indeed very attractive but have to be compared to the performances attained
n
Corresponding author.
E-mail addresses: besnarl@[Link] (L. Besnard), shtessel@[Link] (Y.B. Shtessel),
landrum@[Link] (B. Landrum).
0016-0032/$32.00 & 2011 The Franklin Institute. Published by Elsevier Ltd. All rights reserved.
doi:10.1016/[Link].2011.06.031
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 659
is designed here uses the sliding variables that are supposed to be driven to zero in order to
achieve the desired output tracking performance. Then the continuous sliding mode
control driven by sliding mode disturbance observer [11,12] (SMC-SMDO) approach is
applied in order to drive these sliding variables to zero in the presence of the bounded
disturbances/uncertainties including wind gust, in-flight collision and actuator failure.
The preliminary results dedicated to quadrotor control using SMC-SMDO approach
were presented at the AIAA conference [13]. The structure of the paper is as follows. In
Section 2 the main ideas of SMC-SMDO approach are presented. Mathematical model of
quadrotor is discussed in Section 3. The problem is formulated in Section 4. The quadrotor
SMC-SMDO controller design is shown in Section 5. The simulations and conclusions are
presented in Sections 6 and 7, respectively.
This section introduces the recently developed concept [11–13] of continuous sliding
mode control driven by sliding mode disturbance observer (SMC-SMDO) approach that is
applied here to the flight control of the quadrotor.
Consider a nonlinear MIMO system [14]
x_ ¼ f ðx,tÞ þ Gðx,tÞu, y ¼ hðx,tÞ, ð1Þ
where xARn, uARm and f(x,t)ARn, h(x, t)¼ [h1, h2,y, hm]TARm, G(x, t)¼ [g1, g2,y,
gm]TARn m, gi 2 Rn 8i ¼ 1,m are analytic vector- and matrix-functions. Assuming the
system (1) is completely feedback linearizable [14] in a reasonable compact domain
xAG(x), the system can be transformed to the regular format
2 ðr1 Þ 3 2 r1 3
y1 Lf h1 ðx,tÞ
6 ðr2 Þ 7 6 Lr2 h ðx,tÞ 7
6 y2 7 6 f 2 7
6 7 6 7 þ Eðx,tÞu,
6 ::: 7 ¼ 6 ::: 7
4 5 4 5
r
ðrm Þ
ym Lf m hm ðx,tÞ
2 3
Lg1 ðLfr1 1 h1 Þ Lg2 ðLrf 1 1 h1 Þ ::: Lgm ðLfr1 1 h1 Þ
6 7
6 L ðLr2 1 h Þ L ðLr2 1 h Þ ::: L ðLr2 1 h Þ 7
6 g1 f 2 g2 f 2 gm f 2 7
Eðx,tÞ ¼ 6 7, ð2Þ
6 ::: ::: ::: ::: 7
4 5
Lg1 ðLfrm 1 hm Þ Lg2 ðLfrm 1 hm Þ ::: Lgm ðLfrm 1 hm Þ
where 9E(x,t)9a0, 8xAG; Lrf i 1 hi and Lgi ðLrf i 1 hi Þ8i ¼ 1,m are corresponding Lie
derivatives [14], r ¼ ½r1 , r2 , . . ., rm T is a vector relative degree. Introducing a desired
de-coupled output tracking compensated dynamics as
si ¼ eiðri 1Þ þ ci,ri2 eiðri 2Þ þ þ ci,1 eð1Þ
i þ ci,0 ei þ ci,1 ei,1 ¼ 0, 8i ¼ 1,m, ð3Þ
R
where ei ¼ yi,c(t)yi(t), yi,c(t) is the ith output command profile, eiðjÞ ¼ d j ei =dtj , ei,1 ¼ ei dt
and the coefficients ci,j , 8i ¼ 1,m8j ¼ 1,ri 2 are chosen to achieve the desired eigenvalue
placement in the de-coupled differential-integral Eq. (3). In terms of sliding mode control
(SMC) s ¼ [s1, s2,y, sm]TARn, is called a vector sliding variable, and Eq. (3), s ¼ 0 is called
a sliding surface [15,16].
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 661
Remark. It is worth noting that it is possible to reduce the order ri in differential Eq. (3) by
applying HOSM techniques.
The problem is to design continuous SMC u that provides de-coupled asymptotic output
tracking ei(t)-0 as time increases by guaranteeing the asymptotic stability to the sliding
variable dynamics in the presence of bounded disturbances/uncertainties, which are
derived as follows:
s_ ¼ Cð:ÞEðx,tÞu, ð4Þ
where ci ð:Þ ¼ yðriÞ ðri 1Þ
i,c þ ci,ri2 ei þ þ ci,1 eð2Þ ð1Þ ri
i þ ci,0 ei þ ci,1 ei Lf hi ðx,tÞ 8i ¼ 1,m, Cð:Þ ¼
½c1 ð:Þ,. . .,cim ð:ÞT 2 Rm .
In order to separate the control design into m SISO control designs, a new control
variable is introduced as
u~ ¼ EðxÞu: ð5Þ
This allows Eq. (4) to be rewritten in a scalar format as
s_ i ¼ c0i ð:Þ þ Dci ð:Þu~ i , ð6Þ
where C(.) ¼ C0(.)þDC(.) with C0 ð:Þ ¼ ½c01 ð:Þ,::,c0m ð:ÞT 2 Rm and DCð:Þ ¼ ½Dc1
ð:Þ,:: Dcð:ÞT 2 Rm to be known and unknown (due to external disturbances and model
uncertainties) vectors, respectively. The unknown vector is assumed bounded :Dci ð:Þ:
rLi 8i ¼ 1,m 8x 2 G.
In order to design the sliding mode disturbance observer (SMDO) to estimate the
bounded disturbance Dci(.) the auxiliary sliding variables are introduced
si ¼ si þ zi , z_ i ¼ c0i þ u~ i vi : ð7Þ
where vi is the injection term that is defined below. The si-dynamics are derived taking into
account Eqs. (6) and (7)
s_ i ¼ Dci vi : ð8Þ
where assuming 9Dc_ i ð:Þ9rMi 40, the values of the parameters $1i, $2i can be selected
accordingly [18–20]. Finally, vi(t)¼ Dci(.) in the second order sliding mode (si ¼ s_ i ¼ 0),
and the continuous super-twist control injection terms vi(t) will estimate exactly the
disturbance Dci(.).
Finally, SMC-SMDO (6) that asymptotically drives the vector sliding variable s in
Eq. (4) to zero in the presence of bounded disturbances/uncertainties is presented in the
form u ¼ E 1 ðxÞu.
~
3. Mathematical model
The vehicle considered in this paper is a quadrotor consisting of four rotors powered by
electric motors and mounted at each end of an X-shaped frame as shown in Fig. 1. Let
I ¼ fex ,ey ,ez g be the inertial frame and A ¼ fe1 ,e2 ,e3 g denote the frame attached to the
vehicle as shown in Fig. 1. Let the vector P ¼ (x,y,z)T denote the position of the center of
gravity of the vehicle in frame I while the vector V ¼ (u,v,w)T denote its linear velocity in
frame I and O ¼ (p,q,r)T represents its angular velocity in frame A. The orientation of the
vehicle is given by the rotation matrix R : I -A, RASO (3) depending on the three Euler
angles F ¼ (f, y, c)T representing, respectively, the roll, the pitch and the yaw. Let m
denote the mass of the vehicle, J denote the symmetric matrix of inertia of the frame. The
rotational velocity of rotor i is denoted oi while the term jr represents the diagonal term of
the symmetric matrix of inertia of rotor i. Finally, the four control inputs of the system, the
torques produced by the motors are denoted by ti.
The dynamical model of the quadrotor Fig. 1 is given by [1]
P_ ¼ V , ð18Þ
T
V_ ¼ gez CdA 9V 9V þ Rez , ð19Þ
m
X
4
J O_ ¼ O JO þ ½ð1Þi oi jr O e3 þ ta , ð20Þ
i¼1
_ i ¼ ti ko2i cv oi :
jr o ð21Þ
where d represents the distance from the rotors to the center of gravity of the vehicle.
Finally, dynamical equation governing the Euler angles can be expressed as
8
> _ ¼ HðFÞO
F
>
> 2 3
>
>
>
< 1 s f t y cf t y
6 7
6 0 cf sf 7 , ð26Þ
>
> H ¼6
s c 7
>
> 4 f f 5
>
> 0
: cy cy
where the following notations are used sf ¼ sin f, cf ¼ cos f, cy ¼ cos y, ty ¼ tan y.
The control problem considered in this paper is to provide asymptotic tracking of the
command profile (given as position coordinates and yaw angle) by designing control in
terms of torque commands to the propeller in presence of external disturbances and model
uncertainties. The goal is therefore to design continuous SMC-SMDO control such that
P-Pc and c-cc as time increases.
Based on the quasi-cascade structure of the dynamical model in Eqs. (18)–(25), the
control problem can be divided into four nested control loop (position/longitudinal
velocity, Euler angles, angular velocity and propeller speed) that is inspired by the
backstepping design technique [22]. Each loop is controlled using a virtual control that is,
in fact, a function of the state vector of the outer loop. This multiple-step design is made
possible by the natural time-scale separation of the quadrotor dynamics and allows for a
simplified control design. As a result, a multiple-loop, multiple time-scale controller [11,12]
is designed such that it enforces the natural time-scale of the quadrotor dynamics.
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 665
5. Design of the multiple-loop, multiple time-scale SMC driven by SMDO for the quadrotor
The command tracked by the flight controller is composed of the three position
components along with the yaw angle set to be maintained at zero during flight. The quasi-
cascade structure of the vehicle dynamics and the natural time-scale separation of the
equations are followed to design a four loop flight controller using continuous sliding
mode control driven by sliding mode disturbance observer as shown in Fig. 2
The dynamical equations that describe position and longitudinal velocity of the
quadrotor and given by Eqs. (18), (19) can be rewritten
8
> x_ ¼ u
>
>
>
> y_ ¼ v
>
>
>
>
>
> z_ ¼ w
>
> (
< Cu T _
u_ ¼ dA u9u9 þ ðcf sy cc þ sf sc Þ þ d1,u ) X 11 ¼ X12 , ð27Þ
> m m X_ 12 ¼ f1 ðX12 Þ þ d1 þ u1
>
> C v
T
>
>
>
> v_ ¼ dA v9v9 þ ðcf sy sc sf cc Þ þ d1,v
>
> m m
>
> v
>
> w_ ¼ g CdA w9w9 þ T ðc c Þ þ d
: f y 1,w
m m
where X11, X12 represent, respectively, the position P and longitudinal velocity V of the
vehicle in the Inertial frame, f1(.) represent the known parts of the dynamics while d1
denotes the model uncertainties and external disturbances (wind, collision, mechanical
failure) acting on the system. The term d1 is unknown but norm bounded on a reasonable
flight domain. Finally, the virtual control u1 is a force vector
2 3
T
ðcf sy cc þ sf sc Þ
6m 7
6 7
6T 7
u1 ¼ 66m ðc f s y sc s f c c Þ 7:
7 ð28Þ
6 7
4 T 5
ðcf cy Þg
m
Following the SMC-SMDO algorithm presented in Section 2, the sliding variable vector
s1 ¼ [sx, sy, sz]T is chosen
1 1
s1,i ¼ e_ 1,i þ Ci,0 e1,i þ Ci,1 e1,i,1 , ð29Þ
T
where the tracking error is e1 ¼ ½ xc x yc y zc z and the gains are chosen to Ci1
ensure that the tracking errors e1,i exhibit the desired behavior in the sliding mode. The
system dynamics in sliding mode can be written
1 1
s_ 1,i ¼ e€ 1,i þ Ci,0 e_ 1,i þ Ci,1 e1,i , ð30Þ
or
s_ 1,i ¼ P€ c,i f1,i u1,i d1,i þ Ci,0
1 1
e_ 1,i þ Ci,1 e1,i : ð31Þ
Introducing the terms
8
< C0,i ¼ P€ c,i f1,i d1,i þ Ci,0
1 _ 1
e 1,i þ Ci,1 e1,i
, ð32Þ
: C1,i ¼ c10,i þ Dc1,i , :Dc1,i :rL1,i
These injection terms (37) need to be filtered to obtain an estimate of the disturbance terms.
These filtered (equivalent) injection terms will be used and derived in the next three loops,
therefore, a fourth order LPF is chosen to ensure continuity of the control and its third
derivative
1
v^ eq,1,i ¼ v1,i , ð38Þ
ðb1,i s þ 1Þ4
where the time constant b1,i is chosen to ensure efficient filtering without noticeable time-lag.
Finally, the continuous SMC-SMDO position controller is designed
u1,i ¼ v^ eq,1,i þ c10,i þ Ki1 s1,i , ð39Þ
where the constants Ki1 are chosen to enforce faster convergence of the auxiliary sliding variable
s1,i prior that of the sliding variable s1,i. Indeed, the disturbance has to be estimated (i.e., s1,i
stabilized at zero) before the system can compensate it (i.e., s1,i converges to zero).
The control input given by the first loop is a function of the Euler angles F and the total thrust
T. Therefore, this control needs to be inverted to compute the thrust and the Euler angle
commands that will be used as reference for the following loops. Eq. (28) is rewritten in a form
8 m
>
> cf sy cc þ sf sc ¼ u1,1
>
> Tc
>
>
< m
cf sy sc sf cc ¼ u1,2 : ð40Þ
> Tc
>
>
>
> m
>
: cf cy ¼ T ðu1,3 þ gÞ
c
Bearing in mind that the yaw angle command cc is given by the reference trajectory, and
inversion is presented as
8
> 1
>
>
> Tc ¼ pffiffiffi :mðu1 þ gÞ:
>
> 2
>
>
>
> 1 m
>
> c
f ¼ sin ðs u c u Þ
>
< Tc c
c 1,1 cc 1,2
0m 1 ð41Þ
>
> u1,1 scc sfc
>
> B T C
>
>
> yc ¼ sin1 @ c A
>
> c c c c fc
>
>
>
>
:c ¼c
c c
where g ¼ ½ 0 0 g T and u1 ¼ [u1,1, u1,2, u1,3]T. Eq. (41) serves as a generator of the
commands to the Euler angle control loop. It is worth noting that
(a) By squaring left and right sides of all three equations in Eq. (40) and adding them
together we obtain the formula for computing Tc in Eq. (41).
668 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
(b) By subtracting the second equation in Eq. (40) multiplied by cc from the first equation
in Eq. (40) multiplied by sc we obtain the formula for computing fc in Eq. (41).
(c) Equation for yc in Eq. (41) comes straightforwardly from the first equation in Eq. (40).
The dynamical equation governing the Euler angles given in Eq. (26) can be rewritten in
the regular format as
2 3
1 sf ty cf ty
6 7
6 0 cf sf 7
F_ ¼ 6 O ) X_ 2 ¼ Hu2 þ d2 ,
cf 7
ð42Þ
4 sf 5
0
cy cy
where X2 denotes the Euler angle vector F, the virtual control u2 represents the angular
velocity O. Finally, d2 denotes the model uncertainties and external disturbances acting on
the system. The term d2 is unknown but norm bounded on a reasonable flight domain such
that :d2 :rL2 .
Similarly to the first loop, the sliding variable vector s2 ¼ [sf, sy, sc]T is chosen
2
s2,i ¼ e2,i þ Ci,1 e2,i,1 , ð43Þ
Following Eq. (9), SMC injection terms that drive s2,i to zero in finite times are
v2,i ¼ ðr2,i þ L2,i Þsignðs2,i Þ: ð45Þ
9s2,i ð0Þ9
t2,i r : ð45aÞ
r2,i
Using a third order LPF, we obtained the continuous equivalent injection terms
1
v^ eq,2,i ¼ v2,i : ð46Þ
ðb2,i s þ 1Þ3
where X3 is the angular velocity vector O, the virtual control u3 represents the airframe
torques ta while E3 symbolizes the inverse of the inertia matrix, J1, (as seen in Eq. (20)).
Finally, d3 denotes the model uncertainties and external disturbances acting on the system.
The term d3 is unknown but norm bounded on a reasonable flight domain such that
:d3 :rL3 .
Similarly to the previous loops, the tracking error being e3 ¼ ½ pc p qc q rc r T , the
sliding variable vector s3 ¼ [sp, sq, sr]T is designed
3
s3,i ¼ e3,i þ Ci,1 e3,i,1 , ð49Þ
Once again, the sliding variables are chosen
( (
s3 ¼ ½s3,p ,s3,q ,s3,r s3,i ¼ s3,i þ z3,i
and : ð50Þ
z3 ¼ ½z3,p ,z3,q ,z3,r z_ 3,i ¼ u~ 31,i v3,i
The SMC injection terms (auxiliary controls) that drive s3,i to zero in finite time are
v3,i ¼ ðr3,i þ L3,i Þsignðs3,i Þ: ð51Þ
The finite reaching times are estimated
9s3,i ð0Þ9
t3,i r : ð51aÞ
r3,i
The smooth equivalent injection terms are obtained through the use of a second
order LPF
1
v^ eq,3,i ¼ v3,i : ð51bÞ
ðb3,i s þ 1Þ2
Finally, the continuous SMC-SMDO angular velocity controller is designed
u3 ¼ E3 1 ð^v3 þ c30 þ K 3 s3 Þ: ð52Þ
Once again, the control from the previous loop needs to be inverted in order to compute
the final reference command, the rotational speed of each propeller. This inversion can be
done by simply inverting the matrix given in Eq. (25) to obtain the rotational velocity
commands that will be used for the fourth and last loop. It can be noted that, inverting
Eq. (25) gives us the square of the rotational velocity but the magnitude of these velocities
670 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
Eq. (53) serves as a generator of the commands to the propeller speed control loop.
where xi is the speed of propeller i, oi, the control inputs u4,i represent the motor torques ti
while E4 represents the inverse of the inertia matrix of the rotor. Finally, d4,i denotes the
model uncertainties and external disturbances acting on the system. The term d4,i is
unknown but norm bounded on a reasonable flight domain such that :d4,i :rL4,i .
Similarly to the previous loops, while the tracking error is set as e4,i ¼ oi,coi, the sliding
variable vector s4 is
4
s4,i ¼ e4,i þ Ci,1 e4,i,1 , i ¼ 1,2,3,4, ð55Þ
The SMC injection terms (auxiliary controls) that drive s4,i to zero in finite times are
v4,i ¼ ðr4,i þ L4,i Þsignðs4,i Þ: ð57Þ
The continuous equivalent injection terms are obtained through the use of a first
order LPF
1
v^ eq,4,i ¼ v4,i : ð58Þ
1 þ b4,i s
Finally, the continuous SMC-SMDO propeller speed controllers are designed
1
u4,i ¼ E4,i ð^veq,4,i þ c40,i þ Ki4 s4,i Þ, i ¼ 1,2,3,4: ð59Þ
Another loop could be added in order to compute the power input needed by the motor
to generate the desired motor torque; however, such controllers are usually available
commercially with the motor. These controllers are designed by the constructor especially
for each motor and can therefore be trusted to provide the accuracy needed.
The quasi-cascade structure of the dynamics of the quadrotor imposed the design of a
multiple-loop, multiple time-scale SMC-SMDO controllers. It is therefore important to
take into consideration the requirements that come with such a controller. Indeed, the
parameters of the controller must be chosen in each loop so as to enforce the natural time-
scale separation of the quadrotor dynamics along with the considerations necessary to the
proper implementation of the SMDO into the control loop.
First of all, the tracking error dynamics must be stable in the sliding modes in the nested
loops that are defined for the outer (position) loops by
1 1
s1,i ¼ e_ 1,i þ Ci,0 e1,i þ Ci,1 e1,i,1 ¼ 0
-€e 1,i þ Ci,0
1 1
e_ 1,i þ Ci,1 e1,i ¼ 0, 8i ¼ 1,2,3: ð60Þ
And for the inner loops, including attitude angle (j¼ 2) loops, angular rate (j ¼ 3) loops
j j
sj,i ¼ ej,i þ Ci,1 e2,i,1 ¼ 0-_e j,i þ Ci,1 e2,i ¼ 0, 8j ¼ 2,3 8i ¼ 1,2,3: ð61Þ
and the propeller speed loops
4 4
s4,i ¼ e4,i þ Ci,1 e2,i,1 ¼ 0-_e 4,i þ Ci,1 e2,i ¼ 0, 8i ¼ 1, 2, 3, 4: ð62Þ
Introducing the eigenvalues of differential Eq. (60): l1,1,i and l1,2,i 8i¼ 1,2,3 (complex
conjugate, Re(l1,1,i)¼ Re(l1,2,i)), of differential Eq. (61): lj,i 8j¼ 2,3 8i¼ 1,2,3, and of
differential equations (63): l4,i 8i ¼ 1,2,3,4, the stability conditions, which must be enforced
while designing the sliding variables (29), (43), (49) and (55), are formulated as
The next conditions enforce time-scaling of the compensated error dynamics in the
nested loops: the compensated dynamics of the outer (position) loops are the slowest
and the compensated dynamics of the ‘‘very’’ inner (the propeller speed) loops are the
fastest. These conditions are reduced to the following inequalities that must be
enforced while designing the sliding variables (29), (43), (49) and (55):
672 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
The next conditions describe the time-scaling of the convergence rates of the sliding
variables (29), (43), (49) and (55) to zero in accordance with Eqs. (15) or (17) and must
be enforced via selecting the gains of the controllers (39), (47), (52) and (59):
(c) max Ki1 o min Ki2
i ¼ 1,2,3 i ¼ 1,2,3
The next conditions enforce the faster convergence of the auxiliary sliding variables sj,i
to zero with respect to the rate of convergence of the corresponding sliding variables sj,i
in order to ensure the timely accurate estimation of the disturbances for the controllers
to start compensating them properly. It means that the finite convergence times
9sj,i(0)9/rj,i of auxiliary sliding variables sj,i must be selected smaller then the settling
times 4=Kij of the sliding variables sj,i that are driven to zero asymptotically. These
conditions are reduced to
1
(d) min rj,i 4 max 9sj,i ð0Þ9Kij 8j ¼ 1,2,3
i ¼ 1,2,3 4 i ¼ 1,2,3
1
min r4,i 4 max 9s4,i ð0Þ9Ki4
i ¼ 1,2,3,4 4 i ¼ 1,2,3,4
and can be enforced by a corresponding selection of the coefficients rj,i40, r4,i40 that
simply must be taken large enough. However, the designer must bear in mind that
overestimating the gains rj,i40, r4,i40 can yield significant chattering in SMDO
that can create problems with low-pass filtering of these signals while recovering
smooth estimates of the unknown disturbances.
A Simulinks model of the quadrotor dynamics in Eqs. (18)–(25) is used to test the
performances of the multiple-loop, multiple time-scale SMC-SMDO controller when faced with
unknown external disturbances and model uncertainties. The disturbances applied to the
quadrotor include lateral wind gust, in-flight collision and sudden actuator failure as well as
model uncertainties. For each simulation, the same sinusoidal trajectory was used as it provides
a challenging tracking problem in itself, varying position, velocity and acceleration throughout
the flight. As stated previously, the yaw angle command was fixed at zero.
In the first simulation performed, a side wind gust of magnitude 4.5 m/s (10 mph) and
duration 1 s is applied 3.5 s after the start of the simulation in the form of a step function.
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 673
the response of the SMC driven by SMDO controller is fast and efficient and allows for a
quick compensation of the wind effects. As seen before in the first loops, the uncertainties
applied constantly do not seem to affect the tracking accuracy of the controller.
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 675
The speed controller of the third loop, in Fig. 7, displays a satisfying behavior once
again. Indeed, as expected, the effects of the disturbance are compensated by modifying the
speed of each rotor, and, with them, the lift produced in order to generate force and
torques able to bring the quadrotor back to its desired path and compensate for the model
uncertainties at all time.
676 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
Finally, the motor torque command, displayed on Fig. 8, is continuous as desired and
could easily be applied to a real-life model. It can be noted that although the command
reaches saturation several times during the flight, the stability of the controller or the
vehicle does not appear affected.
In this test, a collision is simulated 3.5 s after the beginning of the simulation. The shock
is implemented as a downward force of 10 N applied during 0.1 s on the side of the
quadrotor (a torque of 0.4 Nm is therefore simulated along the y-axis).
The results obtained are comparable to the first test. Once again, although the effects of
the disturbance are clearly visible on the position and attitude of the quadrotor, the SMC
driven by SMDO is able to estimate the disturbance and compensate for it quickly and
robustly as seen in Figs. 9–13. The motor torque commands, displayed in Fig. 10, are
continuous and although saturation is reached, it does not compromise the stability of the
vehicle (Fig. 14).
In the final test, a mechanical failure on rotor 2 is simulated 3.5 s after the beginning of
the simulation. The failure results in a 50% loss of speed between the velocity that would
normally result from the torque applied and the speed actually seen on rotor 2. This type of
disturbance could happen if a mechanical problem occurred between motor and propeller
2 or if a collision had damaged the propeller blade thus destroying its aerodynamic
coefficients.
The plots presented in Figs. 15 and 16 demonstrate that the position and the attitude of
the quadrotor are clearly affected by the disturbance but the controller estimate the
disturbance and compensate for it quickly. The roll angle is visibly the most affected by the
failure. This is due to the fact that this angle is controlled by the difference of thrust
between rotors 2 and 4. As a result, the failure on rotor 2 destroyed the balance between
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 679
both rotors resulting in a disruption of the roll angle. The sliding variable and angular
velocity dynamics that are robust to the actuator failure are presented in Figs. 17 and 18.
Fig. 19 shows clearly that only rotor 2 is affected directly by the failure while the
reaction of the SMC driven by SMDO is most evident in Fig. 20. Indeed, it appears clearly
680 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
that the loss of speed from rotor 2 is compensated by the controller by increasing the
motor torque applied to this rotor in order to compensate for the loss. Moreover, this
compensation appears to be almost instantaneous thus proving, once more, the high
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 681
robustness of SMC driven by SMDO. Finally, as desired, the motor torque command is
continuous and while saturation is reached at the beginning, it does not compromise the
stability of the vehicle.
682 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
7. Conclusion
This paper applies the recently proposed sliding mode control (SMC) driven by sliding
mode disturbance observer (SMDO) to the flight control of a quadrotor vehicle in order to
improve robustness to external disturbances and model uncertainties, including the
L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684 683
actuator damage, while preserving continuity of the control signals. Moreover, the robust
continuous control is computed without resorting to high gains. The resulting multiple-
loop, multiple time-scales SMC-SMDO uses sliding mode disturbance observer based only
on the knowledge of the limits of the disturbances. In order to test the performances of the
controller, the dynamical model of the quadrotor along with the SMC-SMDO is simulated
on Matlabs/Simulinks. The simulations performed tested the robustness of the control
when face with lateral wind gust, model uncertainties, in-flight collision, and actuator
failure. In each case, the SMC-SMDO computed a robust continuous control able to
compensate for the disturbance quickly and maintain the vehicle close to its desired
trajectory while remaining within physical limits. The presented simulations results are
very promising.
References
[1] T. Hamel, R. Mahony, R. Lozano, J. Ostrowski, Dynamic modeling and configuration stabilization for an
X-4 Flyer, in: Proceedings of the Fifteenth Triennial World Congress, Barcelona, Spain, 2002.
[2] P. Pounds, R. Mahony, P. Hynes, J. Roberts, Design of a four-rotor aerial robot, in: Proceedings of the 2002
Australasian Conference on Robotics and Automation, Auckland, 27–29 November 2002.
[3] E. Altug, J. Ostrowski, R. Mahony, Control of a quadrotor helicopter using visual feedback, in: Proceedings
of the IEEE International Conference on Robotics and Automation, Washington DC, May 2002.
[4] P. Castillo, A. Dzul, R. Lozano, Real-time stabilization and tracking of a four-rotor mini rotorcraft, IEEE
Transactions on Control Systems Technology 12 (4) (2004).
[5] A. Tayebi, S. McGilvray, Attitude stabilization of a VTOL quadrotor aircraft, IEEE Transactions on
Control Systems Technology (2006).
[6] S. Bouabdallah, R. Siegwart, Backstepping and sliding-mode techniques applied to an indoor micro
quadrotor, in: Proceedings of the IEEE International Conference on Robotics and Automation, Barcelona,
Spain, April 2005.
[7] A. Benallegue, A. Mokhtari, L. Fridman, High-order sliding-mode observer for a quadrotor UAV,
International Journal of Robust and Nonlinear Control 18 (2008) 427–440.
[8] R. Xu, U. Ozguner, Sliding mode control of a quadrotor helicopter, in: Proceedings of the 45th IEEE
Conference on Decision and Control, San Diego, USA, December 13–15, 2006, pp. 4957–4962.
[9] Farid Sharifi, Mostafa Mirzaei, Brandon W. Gordon, Youmin Zhang, Fault tolerant control of a quadrotor
UAV using sliding mode control, in: Proceedings of the Conference on Control and Fault Tolerant Systems,
Nice, France, 2010, pp. 239–244.
[10] A. Mockhtari, A. Benalegue, Y. Orlov, Exact linearization and sliding mode observer for a quadrotor
unmanned aerial vehicle, International Journal of Robotics and Automation 21 (1) (2006) 39–49.
[11] C. Hall, Y. Shtessel, Sliding mode disturbance observers-based control for a reusable launch vehicle, AIAA
Journal on Guidance, Control, and Dynamics 29 (6) (2006) 1315–1329.
[12] T. Massey, Y. Shtessel, Continuous traditional and high order sliding modes for satellite formation control,
AIAA Journal on Guidance, Control, and Dynamics 28 (4) (2005) 826–831.
[13] Lenaı̈ck Besnard, Yuri B. Shtessel, Brian Landrum, Control of a quadrotor vehicle using sliding mode
disturbance observer, in: Proceedings of the Conference on Guidance, Navigation and Control, Paper AIAA-
2007-6316, August 2007.
[14] A. Isidori, Nonlinear Control Systems, third ed., Springer-Verlag, London, 1995.
[15] C. Edwards, S.K. Spurgeon, Sliding Mode Control, Theory and Applications, Taylor & Francis, 1998.
[16] V. Utkin, Sliding Mode Control in Mechanical Systems, Taylor & Francis, 1999.
[17] A.D. Poularikas, S. Seely, Signals and Systems, PWS Engineering, 1985.
[18] A. Levant, Higher-order sliding modes, differentiation and output-feedback control, International Journal of
Control 76 (9/10) (2003) 924–941.
[19] A. Levant, Sliding order and sliding accuracy in sliding mode control, International Journal of Control 58 (6)
(1993) 1247–1263.
[20] J. Davila, L. Fridman, A. Levant, Observation and identification of mechanical systems via second order
sliding modes, International Journal of Control 79 (10) (2006) 1251–1262.
684 L. Besnard et al. / Journal of the Franklin Institute 349 (2012) 658–684
[21] R.W. Prouty, Helicopter Performance, Stability and Control, Krieger Publishing Company, 1995.
[22] J.J. Slotine, W. Li., Applied Nonlinear Control, Prentice Hall, Englewood Cliffs, New Jersey, USA,
1991.
[23] J.A. Moreno, M. Osorio, A Lyapunov approach to second order sliding mode controller and observers,
in: Proceedings of the 47th Conference on Decision and Control, 2008, pp. 2856–2861.