Professional Documents
Culture Documents
Fault Tolerant Path Following For A Quadrotor
Fault Tolerant Path Following For A Quadrotor
Fault Tolerant Path Following For A Quadrotor
Abstract— This paper presents a path following controller trajectory tracking by following the inner-outer loop control
for a quadrotor UAV experiencing a single rotor failure. A structure.
smooth, dynamic feedback control law is proposed that allows In this work, a path following controller is proposed for
the quadrotor to follow both closed and non-closed embedded
curves while maintaining a desired velocity profile along the the case when one rotor of the quadrotor encounters a failure.
path when one out of four motors is completely disabled due to The control design process is challenging because it requires
failure. The nonlinear model of the quadrotor is transformed the controller to manage six degrees of freedom using only
into a partially linear model by a coordinate and feedback three control inputs instead of four. It is shown in this work
transformation. A path following controller is designed for that using fault tolerant path following, the system can be
transformed system that guarantees invariance of the path.
The uncontrolled nonlinear portion of the dynamics (internal made to stay precisely on the path, in other words path
dynamics) are shown to be bounded. invariance can be achieved while the quadrotor is running
only on three rotors. Unlike the previous work for the case
I. I NTRODUCTION of fault-free system [5] where the system was shown to be
A quadrotor is an aerial mobile robot with a four rotor differentially flat, the three rotor system is not differentially
setup in a cross configuration. Many indoor applications exist flat, but instead presents uncontrolled internal dynamics.
for the quadrotor, which require reliable operation in clut- Nonetheless, it is shown that the vehicle is still able to follow
tered environments. In such a scenario, the quadrotor needs the given path, maintain the desired speed along the path, and
to follow a given path precisely in order to avoid obstacles. does not rotate at an unbounded rate.
However, due to unknown disturbances and uncertainties in 1) Notation: The point-to-set distance from a point x ∈
the environment, there exists the possibility that one of the Rm to a set Γ ⊂ Rn is denoted by kxkΓ := inf p∈Γ kx − pk
rotors of a quadrotor come in contact with an obstacle. Such where k · k is the Euclidean norm. Given two vectors
accidents can cause a large imbalance in the body torques x, y ∈ Rn the inner product is denoted by hx, yi and, when
and typical controllers may result in loss of the vehicle, or n = 3, the vector (cross) product is denoted by x × y.
in an extreme case, collision with a human being. Trigonometric functions are abbreviated as Si := sin (xi ),
The dynamics of the quadrotor vehicle are nonlinear Ci := cos (xi ) and Ti := tan(xi ). Let col(xi , . . . , xk ) :=
⊤
and various works have proposed nonlinear controllers for where ⊤ denotes transpose. Given a C 1
xi · · · xk
fault-free stabilization. Feedback linearization [1]–[3] and map f : R → R and a point p ∈ Rn , the Jacobian of f
n m
backstepping [4] are the most commonly used techniques, evaluated at p is denoted dfp . If f, g : Rn → Rn and λ :
and have both been implemented and demonstrated in flight Rn → R are smooth, we use the following standard notation
in nominal hover conditions. for iterated Lie derivatives L0g λ := λ, Lkg λ := Lg (Lgk−1 λ),
Most of the controllers presented for quadrotors are tra- Lg Lf λ := Lg (Lf λ).
jectory tracking controllers. In [5] the authors present a path
following controller for a fault-free quadrotor system. The II. DYNAMIC MODEL OF THE QUADROTOR
path following controller provides certain advantages such A fault-free quadrotor is a nonlinear unmanned aerial
as path invariance, ensuring that once the system gets on the vehicle (UAV) consisting of four actuators, i.e., four motors
path it will stay on the path for all future time, which is with rotors attached. Two diagonal motors M1 and M3 rotate
beneficial when working in close proximity to obstacles. in one direction while the other two M2 and M4 rotate
Compared to the fault-free case, less research has been in the opposite direction. Because of this configuration the
done for fault tolerant control of quadrotors. In [6], [7] the gyroscopic effects and aerodynamic effects tend to balance
authors propose a fault tolerant controller for quadrotors each other. The inertial and body frames are represented,
using sliding mode control. In [8] the authors proposed respectively, by I and B. Let χ := col(xI , yI , zI ) ∈ R3
a fault tolerant controller based on trajectory linearization and χ̇ := col(ẋI , ẏI , żI ) ∈ R3 represent, respectively, the
when one rotor of the quadrotor fails. In [9] the authors position and velocity of a quadrotor in the frame I. The
applied feedback linearization and discussed the problem of attitude of the quadrotor is represented by the Euler angles
Ω := col(φ, θ, ψ) ∈ R3 . Let the body rates be represented
Supported by the Natural Sciences and Engineering Research Council of
Canada (NSERC). as ω := col(p, q, r) ∈ R3 . For a detailed discussion on
A. Akhtar and S. Waslander are with the Department of Mechani- quadrotor modelling, the reader is referred to [9]–[11]. Let
cal and Mechatronics Engineering and C. Nielsen is with the Depart- the state vector of the quadrotor be x := col(x1 , . . . , x12 ) =
ment of Electrical and Computer Engineering, University of Waterloo,
200 University Avenue West, Waterloo, Ontario, Canada, N2L 3G1. col(Ω, ω, χ, χ̇) ∈ R12 . It is shown in [9] that using an Euler-
{a5akhtar,stevenw cnielsen}@uwaterloo.ca Lagrange approach, the state space model of the quadrotor
848
G5 The system does not spin at unbounded rate about its Assumption 1, we refine the “virtual output” function ŷ to
axis, i.e., |ψ̇| < ∞ for all t ≥ 0. be
α1 (x7 , x8 , x9 ) s1 ◦ h(χ)
A. Dynamic Extension ŷ = α2 (x7 , x8 , x9 ) = s2 ◦ h(χ) . (9)
849
The determinant goes to zero if and only if any term x⋆ to
in the numerator of (11) is zero or any term in the ξ˙ij = ξij+1
denominator is infinity. The terms Ix , Iy , d, l and m are
η̇j = ηj+1
finite constants. By assumption, at x⋆ ∈ Γ⋆ ∩ {x ∈
R14 : x13 6= 0}, the combined thrust x13 6= 0. By ξ̇14 = L4f α1 + Lg1 L3f α1 uf x=T −1 (η,ξ,µ)
Lemma V.2, span{dχ α1 , dχ α2 , σ ′ }(x⋆ ) = R3 and therefore, (15)
ξ̇24 = L4f α2 3
+ Lg2 Lf α2 ur x=T −1 (η,ξ,µ)
by Lemma V.1 h−dχ α1 , (dχ α2 × σ ′ )i 6= 0 at x⋆ . Thus we
have shown that for any x⋆ ∈ Γ⋆ ∩ {x ∈ R14 : x13 6= 0}, η̇4 = L4f π + Lg3 L3f πuq x=T −1 (η,ξ,µ)
det (D(x⋆ )) 6= 0, therefore the extended system has a well µ̇k = bk (η, ξ, µ)|x=T −1 (η,ξ,µ)
defined vector relative degree at x⋆ .
for i ∈ {1, 2}, j ∈ {1, 2, 3}, k ∈ {1, 2} and where bk are
The extended system has a well defined vector relative smooth nonlinear functions. The structure of (15) suggests
degree of {4, 4, 4}, which implies that the dimension of the the feedback transformation
4 ξ1
uf −Lf α1 v
internal dynamics is 14 − (4 + 4 + 4) = 2. Two additional
functions are needed to define a complete coordinate trans- u −1 −L4 α v ξ2
r := D (x) f 2 + , (16)
formation. uq −L4f π vη
Corollary V.4. Let x⋆ ∈ Γ⋆ \{x ∈ R14 : x1 ±900 , x13 6= 0}.
where (v ξ1 , v ξ2 , v η ) are auxiliary control inputs. By
There exists a neighbourhood U ⊂ R14 containing x⋆ such
Lemma V.3 the feedback transformation (16) is well-defined
that the mapping T : U ⊂ R14 → T (U ) ⊂ R14 , defined by
in a neighborhood of every x⋆ ∈ Γ⋆ ∩ {x ∈ R14 : x13 6=
i−1 0}. Thus in a neighborhood of x⋆ , the closed-loop system
Lf αj (x)
ξji is reduced to 3 decoupled chains of integrators and the
i−1
ηi = T (x) = Lf π(x) , (12)
nonlinear internal dynamics of the system.
µk µ(x) After applying the coordinate and feedback transforma-
tions (12), (16) to the extended system the auxiliary con-
for i ∈ {1, 2, 3, 4}, j ∈ {1, 2} and k ∈ {1, 2}, is a troller design is straight forward for the linear subsystems. A
diffeomorphism. linear controller similar to [5] can be designed to stabilize the
origin of the ξ. Similarly a linear controller can be designed
Proof. The choice of (ξ, η) ∈ R12 is clear from (12). for the η−subsystem to satisfy G3.
However, the relative degree of the extended system is 2
less than the dimension of the state space. Therefore we VI. I NTERNAL DYNAMICS
must select two additional real-valued functions µ1 , µ2 to The µ-subsystem represents the internal dynamics
complete the definition of T . The distribution G0 (x) := µ̇1 (η, ξ, µ) = sec (x2 )(x6 C1 + x5 S1 )|x=T −1 (η,ξ,µ) ,
span{g1 , g2 , g3 }(x) is constant and therefore involutive. By
0.5lx13 lkr x6
[15, Proposition 5.1.2] there exist real-valued functions µ1 µ̇2 (η, ξ, µ) = − +
and µ2 whose differentials belong to the annihilator of G0 (x) Ix Iz 2Ix Iz d (17)
and complete the coordinate transformation T . Two possible kr x4 + x5 x6 (Ix − Iz )
+ .
choices are Ix Iz x=T −1 (η,ξ,µ)
µ1 := x3 , In order to prove boundedness of the internal dynamics
−x4 Lx6 (13) (Lemma VI.3), we need the following preliminary results.
µ2 := − − .
Iz 2Ix d We first analyze the stability of the set of differential equa-
tions involving the dynamics of the body rates from when
With the above choice of µ1 and µ2 it is sufficient to check the control inputs are set to zero.
the rank of the 14 × 14 Jacobian matrix. The determinant of
Jacobian matrix dT Lemma VI.1. The origin (x4 , x5 , x6 ) = (0, 0, 0) of
dx is given by
ẋ4 = −((Iz − Iy )/Ix )x5 x6 − (kr x4 )/Ix
−l(x13 )4 C1 ẋ5 = −((Ix − Iz )/Iy )x4 x6 − (kr x5 )/Iy
h−dχ α1 , (dχ α2 × σ ′ )i. (14) (18)
2Ix m6 d
ẋ6 = −((Iy − Ix )/Iz )x4 x5 − (kr x6 )/Iz .
By Lemma V.3, Equation (14) equals zero at x⋆ ∈ Γ⋆ ∩ is globally exponentially stable.
{x ∈ R14 : x13 6= 0} if and only if C1 = 0. However, by
hypothesis, the gimbal lock condition φ = θ = ±900 does Proof. We assume, without the loss of generality, that Ix ≥
not hold at x⋆ . Therefore, the Jacobian of T is non-singular in Iy ≥ Iz , and let
a neighbourhood of x⋆ and T is a local diffeomorphism. Iy − Iz Ix − Iz Ix − Iy
a1 := , a2 := , a3 :=
Ix Iy Iz
Using the coordinate transformation T from Corollary V.4, kr kr kr
k4 := , k5 := , k6 := .
the system is differentially equivalent in a neighbourhood of Ix Iy Iz
850
If Ix ≥ Iy ≥ Iz does not hold, a1 , a2 , a3 can be redefined, so a1 p1 − a2 p2 + a3 p3 = 0. Then Q := diag (k4 p1 , k5 p2 , k6 p3 )
that these constants are non-negative. With these definitions, and we have
(18) becomes V̇ = −2x⊤ Qx + 2x⊤ P Bw
ẋ4 = a1 x5 x6 − k4 x4
= −2(1 − θ)x⊤ Qx − 2θx⊤ Qx + 2x⊤ QBw, (∀ θ ∈ (0, 1))
ẋ5 = −a2 x4 x6 − k5 x5 (19)
≤ −2(1 − θ)x⊤ Qx − 2θ min {k4 p1 , k5 p2 , k6 p3 }kxk2
ẋ6 = a3 x4 x5 − k6 x6 .
+ 2x⊤ QBw
Equation (19) can be written as ẋ = f (x), for x := ≤ −2(1 − θ)x⊤ Qx − 2θ min {k4 p1 , k5 p2 , k6 p3 }kxk2
col(x4 , x5 , x6 ). Choose as a candidate Lyapunov function + 2kxkkQkkBkkwk.
V : R3 → R
Thus
kQk2 kBk2
⊤
V (x) = x P x := p1 x24 + p2 x25 + p3 x26 (20) ∀ kxk ≥ kwk,
θ min {k4 p1 , k5 p2 , k6 p3 }
where P := diag (p1 , p2 , p3 ). If p1 , p2 , p3 are positive then V̇ ≤ −(1 − θ)x⊤ Qx
V is a positive definite quadratic form. The Lie derivative of
V along the vector field (19) is where θ ∈ (0, 1). This shows, by [19, Theorem 4.19],
that (21) is ISS stable.
Lf V = 2x4 x5 x6 (a1 p1 − a2 p2 + a3 p3 )
In summary, by Lemmas VI.1 and VI.2 we have shown
− 2x⊤ diag (k4 p1 , k5 p2 , k6 p3 )x. that the body rates x4 , x5 , x6 are bounded.
Now choose p1 , p2 , p3 > 0 so that a1 p1 − a2 p2 + a3 p3 = 0. Lemma VI.3. If the control inputs uf , ur , uq of the quadro-
This is always possible, for example p1 = Ix , p2 = Iy , tor are bounded and the quadrotor avoids the gimbal lock
p3 = Iz works. In summary we have that condition (x1 = x2 = ±900), then µ̇1 and µ̇2 in (17) are
bounded. Moreover, µ2 is bounded.
(i) For all x ∈ R3 ,
Proof. By Lemma VI.2 we have shown that for any bounded
min {p1 , p2 , p3 }kxk2 ≤ V (x̄) ≤ max {p1 , p2 , p3 }kxk2 inputs, the body rates x4 , x5 , x6 are bounded. By hypothesis
the system is bounded away from Euler angle singularities
(ii) For all x ∈ R3 , (x1 = x2 = ±900 ). From the expressions (17) we have that
Lf V = −2x⊤ diag (k4 p1 , k5 p2 , k6 p3 )x |µ̇1 | ≤ sec (x2 ) (|x5 | + |x6 |) ,
≤ −2 min {k4 p1 , k5 p2 , k6 p3 }kxk 2 lkr l kr
|µ̇2 | ≤ |x6 | + |x13 | + |x4 |
max {p1 , p2 , p3 } 2dI I
x z 2I I
x z Ix Iz
2
= −2 min {k4 p1 , k5 p2 , k6 p3 } kxk Iz − Ix (22)
max {p1 , p2 , p3 } + |x5 ||x6 |,
min {k4 p1 , k5 p2 , k6 p3 } Ix Iz
≤ −2 V (x) 1 l
max {p1 , p2 , p3 } |µ2 | ≤ |x4 | − |x6 |,
Iz 2dIx
Conditions (i) and (ii) imply, by [17, Theorem 3.1], that which is bounded because the body rates are bounded and
x = 0 is globally exponentially stable. x2 6= 0 during the flight.
In summary, all the goals G1-G5 are achieved. It is
interesting to note that the internal state µ1 which repre-
Next we analyze the stability the body rate equations and sent the yaw angle may become unbounded. This implies
show that they are input-to-state stable (ISS-stable) [18]. Let that the quadrotor is spinning about its body z-axis while
k7 := l/2Ix , k8 := −1/dIx , k9 := 1/Iy , k10 := 1/Iz . traveling along the path, which is not surprising as there is
Lemma VI.2. The system (21) an imbalance in torques that results when one of the four
rotors fails. However, we have shown that rate at which the
ẋ4 = a1 x5 x6 − k4 x4 + k7 x13 + k8 u2 quadrotor spins µ̇1 = ψ̇ is bounded, which is a result of the
ẋ5 = −a2 x4 x6 − k5 x5 + k9 u3 (21) rotational drag term about the body z-axis that resists overly
fast rotation, regardless of the path traveled.
ẋ6 = a3 x4 x5 − k6 x6 + k10 u2 ,
VII. S IMULATION
is input-to-state stable.
For simulation purposes, it is assumed that the quadrotor
Proof. To be consistent with the notation we used for (19), has a mass of m = 4.493 kg, and inertias Ix = Iy = 0.177
write system (21) as ẋ = f (x) + Bw where w := kg.m2 and Iz = 0.344 kg.m2, a length l = 0.1 m and
col (x13 , ur , uq ). To prove that the system (21) is ISS-stable acceleration due to gravity is g = 9.8 m/sec2 . The initial
we show that the function (20) is an ISS-Lyapunov function. position of the quadrotor is indicated by a solid dot. The
As in the proof of Lemma VI.1, choose p1 , p2 , p3 > 0 so that values of kt and kr used in the simulation are taken from
851
the rotational and translational drag models presented in [20], 30
µ̇1
[21]. 25
µ̇1 (rad/sec)
We consider a curve at varying height given by 20
4
[5] A. Akhtar, S. L. Waslander, and C. Nielsen, “Path following for
a quadrotor using dynamic extension and transverse feedback lin-
3 earization,” in Decision and Control (CDC), 2012 IEEE 51st Annual
Conference on, Dec. 2012, pp. 3551 –3556.
x9 = z(m)
0.25
following for the PVTOL aircraft,” Automatica, vol. 46, no. 8, pp.
η2 (m/s)
852