Professional Documents
Culture Documents
net/publication/258435818
Robust Fault Tolerant Control With Sensor Faults for a Four Rotor Helicopter
CITATIONS READS
5 173
3 authors:
Yacef Fouad
Centre Algérien de Développement des Technologies Avancées
30 PUBLICATIONS 247 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Yacef Fouad on 01 June 2014.
ABSTRACT
This paper considers the control problem for an under actuated quadrotor UAV system in presence of sensor
faults. Dynamic modelling of quadrotor while taking into account various physical phenomena, which can
influence the dynamics of a flying structure is presented. Subsequently, a new control strategy based on robust
integral backstepping approach using sliding mode and taking into account the sensor faults is developed.
Lyapunov based stability analysis shows that the proposed control strategy design keep the stability of the
closed loop dynamics of the quadrotor UAV even after the presence of sensor failures. Numerical simulation
results are provided to show the good tracking performance of proposed control laws.
KEYWORDS: Backstepping control, Dynamic modelling, Fault tolerant control (FTC), Nonlinear systems,
Robust control, Quadrotor, Unmanned aerial vehicles (UAV).
I. INTRODUCTION
Unmanned aerial vehicles (UAV) have shown a growing interest thanks to recent technological
projections, especially those related to instrumentation. They made possible the design of powerful
systems (mini drones) endowed with real capacities of autonomous navigation at reasonable cost.
Despite the real progress made, researchers must still deal with serious difficulties, related to the
control of such systems, particularly, in the presence of atmospheric turbulences. In addition, the
navigation problem is complex and requires the perception of an often constrained and evolutionary
environment, especially in the case of low-altitude flights.
In contrast to terrestrial mobile robots, for which it is often possible to limit the model to kinematics,
the control of aerial robots (quadrotor) requires dynamics in order to account for gravity effects and
aerodynamic forces [10].
In [6-13], authors propose a control law based on the choice of a stabilizing Lyapunov function
ensuring the desired tracking trajectories along (X,Z) axis and roll angle only. The authors in [2], do
not take into account frictions due to the aerodynamic torques nor drag forces. They propose control-
laws based on backstepping, and on sliding mode control in order to stabilize the complete system
(i.e. translation and orientation). In [16-17], authors take into account the gyroscopic effects and show
that the classical model-independent PD controller can stabilize asymptotically the attitude of the
quadrotor aircraft. Moreover, they used a new Lyapunov function, which leads to an exponentially
stabilizing controller based upon the PD2 and the compensation of coriolis and gyroscopic torques.
While in [9] the authors develop a PID controller in order to stabilize altitude. The authors in [4]
propose a control algorithm based upon sliding mode using backstepping approach allowed the
tracking of the various desired trajectories expressed in term of the center of mass coordinates along
(X,Y,Z) axis and yaw angle. In [8], authors used a controller design based on backstepping approach.
Moreover, they introduced two neural nets to estimate the aerodynamic components, one for
aerodynamic forces and one for aerodynamic moments. While in [7] the authors propose a hybrid
backstepping control technique and the Frenet-Serret Theory (Backstepping+FST) for attitude
stabilization, that includes estimation of the desired angular acceleration (within the control law) as a
II. MODELLING
2.1. Quadrotor dynamic modelling
The quadrotor have four propellers in cross configuration. The two pairs of propellers {1,3} and {2,4}
as described in Fig. 1, turn in opposite directions. By varying the rotor speed, one can change the lift
force and create motion. Thus, increasing or decreasing the four propeller’s speeds together generates
vertical motion. Changing the 2 and 4 propeller’s speed conversely produces roll rotation coupled
with lateral motion. Pitch rotation and the corresponding lateral motion; result from 1 and 3
propeller’s speed conversely modified. Yaw rotation is more subtle, as it results from the difference in
the counter-torque between each pair of propellers.
Let E (0,x,y,z) denote an inertial frame, and B (0’,X,Y,Z) denote a frame rigidly attached to the
quadrotor as shown in Fig. 1.
where:
m total mass of the structure
ζ=[x, y, z]T position vector
v linear velocity
ϕ roll angle
θ pitch angle
Ψ law angle
Ω angular velocity
ωi angular rotor speed
Ff resultant of the forces generated by the four rotors
Ft resultant of the drag forces along (x,y,z) axis
Fg gravity force
Mgh resultant of torques due to the gyroscopic effects
Ma resultant of aerodynamics frictions torques
Mf moment developed by the quadrotor according to the body fixed frame
Kft(x,y,z) translation drag coefficients
Kfa(x,y,z) frictions aerodynamics coefficients
I(x,y,z) body inertia
Jr rotor inertia
b lift coefficient
d drag coefficient
l distance from the rotors to the center of mass of the quadrotor aircraft
The moment developed by the quadrotor according to the body fixed frame along an axis is the
difference between the torque generated by each propeller on the other axis.
lb (ω 42 − ω 22 )
Mf = lb (ω 32 − ω12 ) (5)
2
2
( 2 2
d ω1 − ω 2 + ω 3 − ω 4 )
The complete dynamic model which governs the quadrotor is as follows [3-4]:
ψ&& =
( I x − I y ) θφ& & − K faz ψ& 2 + 1 u (6)
4
Iz Iz Iz
x&& = − K ftx x& + 1 u x u 1
m m
K
y&& = − fty y& + 1 u y u 1
m m
K cos(φ ) cos(θ )
z&& = − ftz z& − g + u1
m m
with
u x = ( cos φ cosψ sin θ + sin φ sinψ )
(7)
u y = ( cos φ sin θ sinψ − sin φ cosψ )
The system’s inputs are posed u 1 , u 2 , u 3 , u 4 and Ω r a disturbance, obtaining:
u1 = b ω12 + ω22 + ω32 + ω42
( )
u 2 = lb (ω42 − ω22 )
2 2
u 3 = lb (ω3 − ω1 ) (8)
( 2 2 2
u 4 = d ω1 − ω2 + ω3 − ω4
2
)
Ωr = ω1 − ω2 + ω3 − ω4
From (7) it easy to show that :
φd = arcsin (u x sin (ψ d ) − u y cos (ψ d ) )
(u x cos (ψ d ) + u y sin (ψ d ) ) (9)
θd = arcsin
cos ( φ )
d
2.2. Rotor dynamic model
The rotors are driven by DC motors with the well known equations:
di
v = Ri + L dt + k e ω
(10)
k i = J d ω + C + k ω 2
m r
dt
s r
As we a small motor with a very low inductance, then we can obtain the voltage to be applied to each
motor as follows [9]:
1
vi =
η
(ω& i )
+ µ0ωi2 + µ1ωi + µ2 , i ∈ [1,..., 4] (11)
kr k k C k
with: µ0 = , µ1 = e m , µ 2 = s and η = m
Jr JrR Jr JrR
where, vi : is the motor input, ω : is the angular speed, kr : is the load torque constant, ke, km : are
respectively the electrical and mechanical torque constants, and Cs : is the solid friction.
Attitude u1
zd
Control
Y
ux φd u2
xd Position uy θd Orientation u3
Passage u4
yd Control Control
Quadrotor
ψd
1
1 &&
u 3 = b (θd + k 3 ( − k 3e 3 + e 4 ) + e 3 + k 4e 4 − a4 x 2 x 6 − a5 x 4 − a6 Ω r x 2 )
2
2
1
u 4 = b (ψ&&d + k 5 ( − k 5e 5 + e 6 ) + e 5 + k 6e 6 − a7 x 2 x 4 − a8 x 6 )
2
3
(18)
u = m ( x&& + k ( − k e + e ) + e + k e − a x ) /u 1 ≠ 0
x u1 d 7 7 7 8 7 8 8 9 8
u = m ( y&& + k ( − k e + e ) + e + k e − a x ) /u 1 ≠ 0
y u1 d 9 9 9 10 9 10 10 10 10
u = m
1 cos( x 1 ) cos( x 3 ) d
( z&& + k 11 (− k 11e11 + e12 ) + e11 + k 12e12 − a11x 12 + g )
k 1 and λ1 are chosen so as to make the definite matrix positive Q1 , which means that, V&1 ≤ 0
Let us proceed to a variable change by making:
e 2 = x&1d + k 1e1 + λ1ς1 − y 2 (27)
For the second step we consider the augmented Lyapunov function:
1
V 2 =V 1 + e 22 (28)
2
&
2 1 ( %
1 1 1 2 )
V = e − k e + λ d + e + d% ( −e ) + e ( β − b u ) 1 2 s1 1 2
(29)
Such as
βs 1 = ( x&&1d + k 1 (−k 1e1 + e2 ) + λ1e1 − a1 y 4 y 6 − a2 y 22 − a3Ωr y 4 ) + ∆βs 1 (30)
and if:
∆β s 1 = k 1λ1d% + a1 (f s 3 y 4 + f s 2 y 6 − f s 2 f s 3 ) + a2 (f s 1 y 2 − f s 21 ) + a3Ω r f s 2 ≤ λ2 (31)
with: (∆βs1) is the unknown part related to velocity sensor faults.
The control input u 2 is then extracted satisfying V&2 ≤ 0
1 &&
u2 =
b1
(
φd + k 1 (−k 1e1 + e 2 ) + (1 + λ1 )e1 + k 2e 2 −a4 y 2 y 6 − a5 y 42 − a6 Ω r y 2 + λ2sign (e 2 ) ) (32)
b 2
1
u 4 = (ψ&&d + k 5 ( − k 5e 5 + e 6 ) + (1 + λ5 )e 5 + k 6e 6 −a7 y 2 y 4 − a8 y 6 + λ6sign (e 6 ) )
2
b3
m (33)
u x = ( x&&d + k 7 ( − k 7e 7 + e 8 ) + (1 + λ7 )e 7 + k 8e 8 −a9 y 8 + λ8sign (e 8 ) ) /u 1 ≠ 0
u1
m
u y = ( y&&d + k 9 ( − k 9e 9 + e10 ) + (1 + λ9 )e 9 + k 10e10 −a10 y 10 + λ10 sign (e10 ) ) /u 1 ≠ 0
u1
m
u 1 = ( z&&d + k 11 (− k 11e11 + e12 ) + (1 + λ11 )e11 + k 12e12 − a11 y 12 + g + λ12sign (e12 ) )
cos( x 1 ) cos( x 3 )
with
x id − x i i ∈[3,5,7,9,11]
ei = (34)
x&(i −1)d + k (i −1)e(i −1) + λ(i −1)ς (i −1) − y i i ∈[ 4,6,8,10,12]
and
e i dt
ς i = ∫
i ∈ [3,5, 7,9,11]
(35)
sign (e i ) i ∈ [ 4, 6,8,10,12]
The corresponding lyapunov functions are given by:
1 2 1 %2
2 e i + 2 d j i ∈ [3,5, 7,9,11] and j ∈ [ 2,..., 6]
Vi = (36)
V + e 1 2
i ∈ [ 4, 6,8,10,12]
i −1 2 i
such as
% f sj
d j = d j − ς i = λ − ς i i ∈ [3, 5, 7, 9,11] and j ∈ [ 2,..., 6 ]
i
k i − λi (37)
Q j = >0 i ∈ [ 3, 5, 7, 9,11] and j ∈ [ 2,..., 6 ]
1 0
k > 0 i ∈ [ 4, 6,8,10,12 ]
i
To synthesize a stabilizing control laws in the presence of velocity Sensor faults, the following
necessary condition must be verified:
∆β sj = β sj − β sjn ≤ λi , i ∈ [ 4,6,8,10,12] and j ∈ [ 2,...,6] (38)
(∆βsj) represent the unknowns parts related to velocity sensor faults.
y 6-RFTCS
4 4
0.1
2 2
0.05
0 0
0
-2 -2
-4 -4 -0.05
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
temps[sec] temps[sec] temps[sec]
(a) evolution of angular velocity of roll (b) evolution of angular velocity of pitch (c) evolution of angular velocity of yaw
0.15 0.15 0.35
z dp
0.3 y 12-Backstepping
0.1 0.1
y 12-RFTCS
0.25
Linear velocity along X axis [m/s]
0.05 0.05
0.2
0 0 0.15
0.05
-0.1 -0.1
0
x dp y dp
-0.15 -0.15
y 8-Backstepping y 10-Backstepping -0.05
y 8-RFTCS y 10-RFTCS
-0.2 -0.2 -0.1
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
temps[sec] temps[sec] temps[sec]
(d) evolution of linear velocity along X (e) evolution of linear velocity along Y (f) evolution of linear velocity along Z
axis axis axis
Figure. 3. Tracking simulation results of the angular and linear velocities, Test 1.
0.25
6 6
0.2
4 4
0.15
2 2
0.1
0 0
0.05
-2 -2 0
-4 -4 -0.05
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
temps[sec] temps[sec] temps[sec]
(a) evolution of angular velocity of roll (b) evolution of angular velocity of pitch (c) evolution of angular velocity of yaw
0.15 0.15 0.6
z dp
y 12-Backstepping
0.1 0.1 0.5
y 12-RFTCS
Linear velocity along X axis [m/s]
0 0 0.3
x dp y dp
-0.15 -0.15 0
y 8-Backstepping y 10-Backstepping
y 8-RFTCS y 10-RFTCS
-0.2 -0.2 -0.1
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
temps[sec] temps[sec] temps[sec]
(d) evolution of linear velocity along X axis (e) evolution of linear velocity along Y axis (f) evolution of linear velocity along Z axis
Figure. 4. Tracking simulation results of the angular and linear velocities, Test 2.
Figure. 3 and Figure. 4 shows at outset a very good tracking of the desired velocities, but upon the
appearance of sensor faults, the measurements of angular velocities and linear velocity of attitude Z
(illustrated respectively by (a), (b), (c), and (f)) are deviated to their desired velocities, with 100% of
her maximum values in Test. 1, and 200% of these maximum values in Test. 2 for both control
strategies developed in this paper, which gives us a wrong information of the velocities of our system.
-3 -3
x 10 x 10
10 8 1.2
φd θd
8 6
φ-Backstepping θ-Backstepping 1
6 φ-RFTCS θ-RFTCS ψd
4
0.8
4 ψ-Backstepping
2
ψ-RFTCS
Pitch angle[rad]
Yaw angle[rad]
Roll angle[rad]
2 0.6
0
0 0.4
-2
-2
0.2
-4
-4
-6 0
-6
-8 -8 -0.2
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec] Time[sec]
(a) evolution of roll angle (b) evolution of pitch angle (c) evolution of yaw angle
0.3 0.3 6
Zd
Z-Backstepping
0.2 0.2 5
Z-RFTCS
0.1 0.1 4
X position [m]
Y position [m]
Z attitude [m]
0 0 3
-0.1 -0.1 2
-0.2 -0.2 1
-0.3 Xd -0.3 Yd 0
X-Backstepping Y-Backstepping
X-RFTCS Y-RFTCS
-0.4 -0.4 -1
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec] Time[sec]
Figure. 5. Tracking simulation results of trajectories along roll ( φ ), pitch ( θ ), yaw angle (ψ ) and (X,Y,Z)
axis, Test 1.
Pitch angle[rad]
Yaw angle[rad]
0.005 4
Roll angle[rad]
0.6 ψ-RFTCS
2
0.4
0 0
-2 0.2
-0.005 -4
0
-6
-0.01 -8 -0.2
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec] Time[sec]
(a) evolution of roll angle (b) evolution of pitch angle (c) evolution of yaw angle
0.3 0.3 6
Zd
Z-Backstepping
0.2 0.2 5
Z-RFTCS
0.1 0.1 4
X position [m]
Y position [m]
Z attitude [m]
0 0 3
-0.1 -0.1 2
-0.2 -0.2 1
-0.3 Xd -0.3 Yd 0
X-Backstepping Y-Backstepping
X-RFTCS Y-RFTCS
-0.4 -0.4 -1
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec] Time[sec]
Figure. 6. Tracking simulation results of trajectories along roll ( φ ), pitch ( θ ), yaw angle (ψ ) and (X,Y,Z)
axis, Test 2.
According to Figure. 5 and Figure. 6, there is a very good tracking of the desired trajectories for both
control strategies at outset, but after the occurrence of sensor faults in angular velocities and linear
velocity of the attitude Z, the actual trajectories along roll angle, pitch angle, yaw angle, and z position
(illustrated respectively by (a), (b), (c), and (f)) corresponding of classical backstepping approach are
deviated to their desired values, which also explains the inefficiency of this control approach after
occurrence of velocity sensor faults. However, the actual trajectories corresponding of this new
control strategy converge to their desired trajectories after transient peaks with low amplitudes caused
by the appearance of velocity sensor faults.
-4
x 10
5.1 5
u1-RFTCS u2-RFTCS
5.05 u1-Backstepping u2-Backstepping
4
5
3
4.95
Input control u2 [N.m]
Input control u1 [N]
2
4.9
4.85 1
4.8
0
4.75
-1
4.7
-2
4.65
4.6 -3
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec]
3 u3-Backstepping u4-Backstepping
4
2
2
Input control u3 [N.m]
1
0
0
-2
-1
-4
-2
-3 -6
-4 -8
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec]
4.85 1
4.8
0
4.75
-1
4.7
-2
4.65
4.6 -3
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec]
u3-Backstepping u4-Backstepping
3
0.5
2
Input control u3 [N.m]
4
0
-0.5
-1
-1
-2
-3 -1.5
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time[sec] Time[sec]
From Figures. 7 and 8, it is clear to see that the classical backstepping approach give a smooth inputs
control, with transient peaks during the appearance of sensor faults in angular velocities and linear
velocity of the attitude Z, However, the inputs control corresponding to this new control strategy are
characterized at outset by very fast switching caused by using of the discontinuous compensation term
"sign", also with transient peaks during the appearance of velocity sensor faults, but this chattering
gone after the appearance of sensor fault in linear velocity of the attitude Z.
3D position 3D position
6 6
4 4
Z coordinate [m]
Z coordinate [m]
2 2
0 0
(a) evolution of position along (X,Y,Z) axis, Test 1 (b) evolution of position along (X,Y,Z) axis, Test 2
The simulation results given by Figure. 9 show the efficiency of the robust fault tolerant control
strategy developed in this paper, which clearly shows a good performances and robustness towards
stability and tracking of this control strategy with respect to the backstepping approach after the
occurrence of velocity sensor faults.
APPENDIX
m 0,486 kg
g 9,806 m/s2
l 0,25 m
b 2,9842 × 10−5 N/rad/s
d 3,2320 × 10−7 N.m/rad/s
Jr 2,8385 × 10−5 kg.m2
I(x,y,z) diag (3,8278; 3,8288; 7,6566) × 10−3 kg.m2
Kfa(x,y,z) diag (5,5670; 5,5670; 6,3540) × 10−4 N/rad/s
Kft(x,y,z) diag (5,5670; 5,5670; 6,3540) × 10−4 N/m/s
µ0 0,0122
µ1 6,0612
µ2 189,63
η 280,19
REFERENCES
[1] S. Bouabdellah, P.Murrieri, & R.Siegwart. (2004) “Design and control of an indoor micro quadrotor”,
Proceeding of the IEEE, ICRA, New Orleans, USA.
[2] S. Bouabdellah, & R.Siegwart. (2005) “Backstepping and sliding mode techniques applied to an indoor
micro quadrotor”, Proceeding of the IEEE, ICRA, Barcelona, Spain.
[3] H. Bouadi, M. Bouchoucha, & M. Tadjine. (2007) “Modelling and Stabilizing Control Laws Design
Based on Backstepping for an UAV Type-Quadrotor”, Proceeding of 6 the IFAC Symposium on IAV,
Toulouse, France.
[4] H. Bouadi, M. Bouchoucha, & M. Tadjine. (2007) “Sliding Mode Control Based on Backstepping
Approach for an UAV Type-Quadrotor”, International Journal of Applied Mathematics and Computer
Sciences, Vol.4, No.1, pp. 12-17.
[5] M. Bouchoucha, M. Tadjine, A. Tayebi, & P. Müllhaupt. (2008) “Step by Step Robust Nonlinear PI for
Attitude Stabilization of a Four-Rotor Mini-Aircraft”, 16th Mediterranean Conference on Control and
Automation Congress Centre, Ajaccio, France, pp. 1276-1283.
[6] P. Castillo, A. Dzul, & R. Lozano. (2004) “Real-Time Stabilization and Tracking of a Four-Rotor Mini
Rotorcraft”, IEEE Transactions on Control Systems Technology, Vol. 12, No. 4, pp. 510-516.
[7] J. Colorado, A. Barrientos, , A. Martinez, B. Lafaverges, & J. Valente. (2010) “Mini-quadrotor attitude
control based on Hybrid Backstepping & Frenet-Serret Theory”, Proceeding of the IEEE, ICRA,
Anchorage, Alaska, USA.
[8] A. Das, F. Lewis, & K. Subbarao (2009) “Backstepping Approach for Controlling a Quadrotor Using
Lagrange Form Dynamics.” Journal of Intelligent and Robotic Systems, Vol. 56, No. 1-2, pp. 127- 151.
[9] L. Derafa, T. Madani, & A. Benallegue. (2006) “Dynamic modelling and experimental identification of
four rotor helicopter parameters”, IEEE-ICIT , Mumbai, India, pp. 1834-1839.
[10] N. Guenard, T. Hamel, & R. Mahony. (2008) “A Practical Visual Servo Control for an Unmanned
Aerial Vehicle”, IEEE Transactions on Robotics, Vol. 24, No. 2, pp. 331-340.
Fouad YACEF is currently a Ph.D. student at the Automatic Control Department of Jijel
University, ALGERIA. He received the Engineer degree in Automatic Control from Jijel
University, ALGERIA in 2009, and Magister degree in Control and Command from Military
Polytechnic School (EMP), Algiers, in November 2011. His research interests include Aerial
robotics, Linear and Nonlinear control, LMI optimisation, Analysis and design of intelligent
control systems.