# Robust Command Filtered Adaptive Backstepping Control for a Quadrotor Aircraft

Authors: Yicheng Liu; Junhui Ma; Haiyan Tu
Journal: Journal of Control Science and Engineering
 (2018)

---

## Abstract

This paper addresses a robust trajectory tracking controller for an underactuated quadrotor with external bounded disturbances and unknown inertia parameters. Different from most of the existing control algorithms, the proposed method does not adopt the dual-loop scheme in which the design is divided into position control and attitude control. Instead, command filter backstepping is employed to design the controller based on the integrated motion model such that the stability can be guaranteed strictly for the flight control system. Furthermore, adaptive compensation and robust compensation are introduced to deal with the uncertainty of the inertia parameters and the external bounded disturbances, respectively. Finally, a similar skew symmetric structure is chosen as the desired structure of the closed-loop system to facilitate the analysis of the stability of the integrated system. Stability and robust performance of the designed controller are verified by Lyapunov stability theorem. Simulations are provided to validate the proposed controller.


---

## Body

## 1. Introduction

Recently, the unmanned aerial vehicles (UAV) have attracted the extensive attention from researchers in the field of control. As a popular UAV, a quadrotor can implement vertical takeoff, landing, and autonomous hover, and it has stable control performance. In addition, it has advantages of small size, simple structure, and low cost, and it is safer than ordinary helicopters. Based on the above advantages, the research of UAV is of great significance in search, monitoring, and rescue [1–3].Many control methods have been proposed for flight control of a quadrotor. The typical linear control methods, such as linear quadratic regulator control and proportional integral derivative control, can be used to design the controller [4, 5]. However, the stability of these methods cannot be guaranteed when the quadrotor moves away from its equilibrium configuration too much. Compared to linear control, nonlinear control can implement global stable flight for a quadrotor. Typical nonlinear control methods, such as sliding model control, backstepping control, and adaptive control, have been applied to quadrotor flight control. For example, a global fast dynamic terminal sliding mode control method was proposed for the position and attitude tracking control [6]; a backstepping approach based on a full state cascaded dynamics has been introduced in [7]; an observer-based adaptive fuzzy backstepping controller was designed for trajectory tracking of a quadrotor under wind gust conditions and parametric uncertainties [8]. It is noteworthy that most of the existing controller design methods adopt a multiloop scheme. For example, a nonlinear controller was proposed in [9] by using a backstepping-like feedback linearization method. The control system is composed of 3 loops, named attitude loop, altitude loop, and position loop. In [10], the dynamic system of the quadrotor includes two loops as follows: the inner loop for attitude control and the outer loop for position control. However, the stability of these methods is proved, respectively, for the related control loop; respectively, the stability of the integrated flight control system cannot be guaranteed strictly. To overcome this drawback, a command filtered implementation approach for adaptive backstepping has been introduced in [11], and the stability of the closed-loop system is proved via Lyapunov direct method. In fact, an adaptive command filtered backstepping flight control law has been applied to the trajectory tracking problem of a nonlinear quadrotor model [12]. Unlike in [11], online update laws were established for the uncertain parameters which represent the mass, inertia, actuator efficiency, and thruster misalignment. In [13], a robust adaptive attitude tracking control for a spacecraft with unknown inertial parameters and bounded external disturbances is proposed. Its robust compensation and closed-loop system design ideas have given this great inspiration.In this paper, a trajectory tracking controller is designed for a quadrotor by employing a robust command filtered adaptive backstepping control method based on the integrated flight motion model. Thus, the stability is strictly guaranteed for the closed-loop system in contrast to most of the existing multiloop control methods. During the controller design, the similar skew symmetric structure is chosen as the desired structure for the closed-loop system. On this basis, a backstepping design procedure is adopted to obtain the stabilizing functions of the system. A command filter scheme is proposed to bypass the difficulty of analytic calculation of the partial derivatives of stabilizing functions. Accordingly, controller design is simplified significantly compared with the conventional backstepping procedure. Furthermore, adaptive compensation and robust compensation are adopted to deal with the uncertainty of the inertia parameters and the external bounded disturbances, respectively.This paper is organized as follows: Section2 addressed the flight movement modeling for a quadrotor. Section 3 is dedicated to robust command filtered adaptive backstepping controller design and the stability analysis of the closed-loop system. In Section 4, simulation results are provided to demonstrate the effectiveness and robustness of the proposed methods. Finally, some conclusion remarks are included in Section 5.


## 2. Quadrotor Flight Model

This section addresses quadrotor flight model. To facilitate the modeling process, as shown in Figure1, some notations are introduced as follows:Figure 1
Schematic of the quadrotor.E
(
x
e
,
y
e
,
z
e
): the earth fixed frame;B
(
x
b
,
y
b
,
z
b
): the body fixed frame;R: the rotation matrix of B with respect to E, and it can be expressed as(1)R=cθcψsϕsθcψ-cϕsψcϕsθcψ+sϕsψcθcψsϕsθsψ+cϕcψcϕsθsψ-sϕcψ-sθsϕcθcϕcθ;ξ
=
x
y
z
T: the position of the quadrotor with respect to the frame E;v
=
x
˙
y
˙
z
˙
T: the velocity of the quadrotor with respect to the frameE;s
·
=
sin
⁡
·
,
c
·
=
cos
⁡
·;ϕ
,
θ
,
ψ: the roll angle, the pitch angle and the yaw angle, respectively;η
=
ϕ
θ
ψ
T: the vector of Euler angle;w
=
p
q
r
T: the angular velocity of the quadrotor expressed in frameB;m: the mass of the quadrotor;g: the gravity acceleration;k
b: the thrust factor of the motor;Ω
i: the angular velocity of the motor i;U
1
=
k
b
Ω
1
2
+
Ω
2
2
+
Ω
3
2
+
Ω
4
2: the height control input of the quadrotor;T
f
=
U
1: the thrust force produced by the four propellers;k
d: the drag factor of the motor;U
2
=
k
b
Ω
4
2
-
Ω
2
2
,
U
3
=
k
b
Ω
3
2
-
Ω
1
2
,
U
4
=
k
d
Ω
1
2
+
Ω
3
2
-
Ω
2
2
-
Ω
4
2: the control inputs for pitch angle, roll angle, and yaw angle, respectively;l: the distance from the motor to the center of gravity;τ
f
=
τ
f
ϕ
τ
f
θ
τ
f
ψ
T
=
l
U
2
l
U
3
U
4
T: the control torque obtained by varying the rotor speeds;E
z
=
0
0
1
T: the unit vector along the z-axis in the frameE;J
=
d
i
a
g
J
x
,
J
y
,
J
z: the inertia matrix of the quadrotor.The flight model of the quadrotor consists of earth fixed frameE and body fixed frameB. The Kinematics and dynamics models of quadrotor can be described as(2a)ξ˙=ν(2b)mν˙=TfREz-mgEz+d1(2c)η˙=Wηw(2d)Jw˙=-w×Jw+τf+d2,where d1,d2 represent the aerodynamic forces and moments acting on the quadrotor. W(η) can be expressed as(3)Wη=1sϕtθcϕtθ0cϕ-sϕ0sϕcθcϕcθ.Define the states vector to beχ=ξvηwT.To facilitate the controller design, we introduce the inertia parameters vector(4)λ=Jy-JzJxlJxJz-JxJylJyJx-JyJz1JzT,where the elements of λ are assumed to be unknown.For simplifying the derivation, some denotations are introduced as follows:λ0 stands for the nominal value of λ, which belongs to prior information for attitude controller design, and the relative error is denoted as Δλ=λ-λ0; λ^ is an estimate of the unknown parameter vector λ; estimation error vector is expressed by λ~=λ-λ^.


## 3. Controller Design and Stability Analysis

This section addresses robust command filtered adaptive backstepping implementation approach with an integrated stability analysis. The control objective for the quadrotor is to track a desired trajectory and a desired yaw angle. The composition of this method is as follows: First, a backstepping procedure is used to derive the stabilizing functions. Then, the command filter is to ensure that the desired state of the system is closer to the value of the stabilizing function. Finally, adaptive compensation and robust compensation are introduced to deal with the uncertainty of the inertia parameters and the external bounded disturbances, respectively.We give the desired position and the desired yaw angle and its derivative{ξc,ξ˙c,ψc(t),ψ˙c(t)}. Define the tracking error as(5)ξ~=ξ-ξc,ν~=ν-νc,η~=η-ηc,w~=w-wc,where ξcTνcTηcTwcTT represent the desired state.Assumption 1.
The desired trajectoryξc and its derivative ξ˙c are bounded, continuous, and known.Assumption 2.
The model uncertainties of the quadrotor are subject to constraints as follows:(6)d1≤δ,J-1d1≤γ,Δλ≤ε,where δ∈R+,γ∈R+,ε∈R+.


### 3.1. Controller Design

The design can be carried out with the backstepping procedure as follows.Step 1.
Considerν as the control of (2a), and the virtual control can be chosen as(7)ν0c=α1=-k1ξ~+ξ˙c,where k1∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. The error equation (8) can be obtained by combining (2a). Taking time derive of ξ~ yields(8)ξ~˙=-k1ξ~+ν-ν0c.The command filter compensation for the virtual controlν0c is as follows:(9)ν˙c=kC1ν0c-νc,where kC1∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. Denote α1c=νc, and then from (8), we can get(10)ξ~˙=-k1ξ~+νc-ν0c+ν-νc=-k1ξ~+α1c-α1+aν~,where(11)a=100010001.Step 2.
Since the yaw angle has been given, considerϕ,θ,U1 as the control of (2b), and we define the stabilizing function as follows:(12)α2=-k2ν~+ν˙c-aTξ~-ρ1ν~,where k2∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. ρ1 is introduced to compensate the external disturbances d1.According to (2b), α2will be achieved if we have the values(13)η0c1:2=acrtan⁡α21cψ+α22sψα23+gacrtan⁡α21sψ-α22cψcθ0cα23+gU1=mα23+gcθ0ccϕ0c,where α2=α21α22α23T.The command filter compensation for the virtual controlη0c1:2 is as follows:(14)η˙c1:2=kC2η0c1:2-ηc1:2,where kC2∈R2×2 is a diagonal matrix and each diagonal element of the matrix is a positive constant. η1:2 represents the first two elements in vector η.According to (14), we can compute ηc. α2c is constructed to facilitate the subsequent acquisition of the quadrotor error dynamic equation.(15)α2c=cϕcsθccψ+sϕcsψU1mcϕcsθcsψ-sϕccψU1mcϕccθcU1m-g.The error equation (16) can be obtained by combining (2b).(16)ν~˙=-k2ν~-aTξ~+α2c-α2+bη~1:2+1md1-ρ1ν~,where(17)b=U1mcϕ-cϕc2ϕ~sθc+sθcψ+sϕ-sϕcϕ~sψsθ-sθc2θ~cϕc+cϕcψcϕ-cϕc2ϕ~sθc+sθsψ-sϕ-sϕcϕ~cψsθ-sθc2θ~cϕc+cϕsψcϕ-cϕc2ϕ~cθc+cθcθ-cθc2θ~cϕc+cϕ.when ϕ~,θ~ approach zero and the vector functionb can be written as(18)b=U1m-sφc2sθc+sθcψ+cφcsψcθc2cφc+cφcψ-sφc2sθc+sθsψ-cφccψcθc2cφc+cφsψ-sφc2cθc+cθ-sθc2cφc+cφ.Step 3.
Considerw as the control of (2c), and we define the stabilizing function as follows:(19)α3=-k3η~+η˙c-bTν~;0,where k3∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant.According to (2c), α3 can be obtained if w is chosen as(20)w0c=α31-α33sθα32cϕ+α33cθsϕα33cθcϕ-α32sϕ,where α3α31α32α33T.The command filter ofw0c can be described as(21)w˙c=kC3w0c-wc,where kC3∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. According to (21), we can compute wc. α3c can be chosen as(22)α3c=pc+qcsϕtan⁡θ+rccϕtan⁡θqccϕ-rcsϕqcsϕ+rccϕcθ.Thus we can obtain(23)η~˙=-k3η~+α3c-α3+cw~-bTν~;0,where(24)c=1sϕtθcϕtθ0cϕ-sϕ0sϕsec⁡θcϕsec⁡θ.Step 4.
Now the control can be chosen as(25)τ=α4=diag1λ^2,1λ^4,1λ^6-k4w~+w˙c-cTη~-qrλ^1,prλ^3,pqλ^5T-ρ2w~,where k4∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. ρ2 is introduced to compensate the external disturbances d2. Thus combining (25) and (2d) yields(26)w~˙=-k4w~-cTη~+ΦTλ~+J-1d2-ρ2w~,where Φ can be expressed as(27)Φ=qrU2000000prU3000000pqU4T.The adaptive algorithm is introduced to compensate for the interference caused by the uncertain model parameters. The updating law ofλ^ can be given by(28)λ^˙=ΓΦw~-σλ^-λ0=ΓΦw~+σλ~-σΔλ,where Γ∈R6×6 is a diagonal matrix and each diagonal element of the matrix is a positive constant. Since λ is a constant vector, we obtain that(29)λ~˙=λ˙-λ^˙=-ΓΦw~-σλ~+σΔλ.The command filter described in (9), (14), and (21) can be summarized as follows:(30)ν˙c=kC1α1-νcη˙c1:2=kC2η0c1:2-ηc1:2w˙c=kC3w0c-wc.Equation (30) is a fist-order, low-pass filter, and bandwidth parameterized by kci. The purpose of this command filter is to generate χic-αi-1,i=2,3,4 is small. The initial values of νc,ηc1:2,wc can be chosen as(31)νc0=ν0,ηc0=η0,wc0=w0.


### 3.2. Error Dynamic Equation

According to the error equations (10), (16), (23), (26), and (29), the closed-loop system can be described as(32)ξ~˙ν~˙η~˙w~˙λ~˙=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6ξ~ν~η~w~λ~+α1c-α1α2c-α2+1md1α3c-α3J-1d2σΔλ,where we can easily analyze the stability of the closed-loop system when the system interference is 0. In this case, it is clear to see that the closed-loop system has the similar skew symmetric structure of system in [13].The compensating signal is introduced to eliminate the virtual control errorαic-αi for i=1,2,3. According to the error dynamic system (32), the compensating system dynamic equation is constructed as follows:(33)ζ˙1ζ˙2ζ˙3ζ˙4ζ˙5=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6ζ1ζ2ζ3ζ4ζ5+α1c-α1α2c-α2α3c-α300,where ζ1,ζ2,ζ3,ζ4∈R3 are the state vectors of compensating system and ζ=ζ1Tζ2Tζ3Tζ4TT, αic-αi for i=1,2,3 are the input signal of compensating system. The initial condition can be chosen as ζ=0.Assumption 3 (αict-αit≤μ,t≥T0 for i=1,2,3).
Combining (16) and (19) yields, constructing the error dynamic equations (35) for quadrotor compensating system. New state variables are defined as follows:(34)v1=ξ~-ζ1v2=ν~-ζ2v3=η~-ζ3v4=w~-ζ4v5=λ~.The error dynamic equations of quadrotor compensating system can be described as(35)v˙1v˙2v˙3v˙4v˙5=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6v1v2v3v4v5+01md10J-1d2σΔλ.


### 3.3. Stability Analysis

Theorem 4.
Under Assumption3, the states of system (33) are bounded.Proof.
For the compensating system (33), we can construct the Lyapunov function Vc as(36)Vc=12ζ1Tζ1+ζ2Tζ2+ζ3Tζ3+ζ4Tζ4+1Γζ5Tζ5.
Substituting (33) and Assumption 3 yields(37)V˙c=-ζ1Tk1ζ1-ζ2Tk2ζ2-ζ3Tk3ζ3-ζ4Tk4ζ4-σΓζ5Tζ5+∑i3ζ1Tαic-αi-ρ1ζ2Tζ2-ρ2ζ4Tζ4≤-2k0ζ2+μζ,where k0=0.5min⁡k1,k1+ρ1,k3,k4+ρ2,σ/Γ.
Since(1/2)kVζ2≤Vc,kV=min⁡(1,1/Γ), we obtain(38)V˙c≤-4k0kVVc+μ2kVVc.Then, from (38) we can get(39)Vc≤μ2kV4k0⟹ζ≤μ2k0.Thus, the state of compensating system (33) is bounded convergence for bounded inputs satisfying αic-αi≤μ.Theorem 5.
Under Assumptions1 and 2, the states of system (35) are uniformly bounded.Proof.
For the error dynamic equations of quadrotor compensating system (35), we can construct the Lyapunov function Vce as(40)Vce=12v1Tv1+v2Tv2+v3Tv3+v4Tv4+1Γv5Tv5.Differentiating Vce with respect to time, we get(41)V˙ce=v1T-k1v1+av2+v2T-k2v2+b,0v3-aTv1+1md1-ρ1v2+v3T-k3v3+cv4-b,0Tv2+v4T-k4v4-cTv3+ΦTv5+J-1d2-ρ2v4+1Γv5T-ΓΦv4-σv5+σΔλ=-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σΓv5Tv5-ρ1v2Tv2-ρ2v4Tv4+1mv2Td1+v4TJ-1d2+σΓv5TΔλ=-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σΓv5Tv5+σ2Γv5Tv5+ΔλTΔλ+14ρ2J-1d2J-1d2-ρ1v2-12mρ1d1Tv2-12mρ1d1+14m2ρ1d1Td1-ρ2v4-12ρ2J-1d2Tv4-12ρ2J-1d2.From (41) and Assumption 2, we can get(42)V˙ce≤-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σ2Γv5Tv5+δ24m2ρ1+γ24ρ2+σε22Γ≤-κVce+M,where(43)κ=min⁡12k1,12k2,12k3,12k4,σ2M=δ24m2ρ1+γ24ρ2+σε22Γ.Therefore, Vce decreases monotonically until v reaches the bounded set v:Vce≤κ-1M. This means that v is uniformly bounded.According to Theorems4 and 5, we can conclude that χ~ bounded by(44)χ~t≤μ2k0+vt.Thus, whent approaches infinity, χ~ is uniformly bounded. Apparently, κ represents the response speed of the closed system; thus the response speed can be arbitrarily adjusted by tuning the parameters ki(i=0,…,4) and σ appropriately. κ-1M reflects the residual error bound of the closed-loop system, and the external disturbances and parameter uncertainties can be mitigated by tuning the parameters ρ1,ρ2, and Γ.


## 3.1. Controller Design

The design can be carried out with the backstepping procedure as follows.Step 1.
Considerν as the control of (2a), and the virtual control can be chosen as(7)ν0c=α1=-k1ξ~+ξ˙c,where k1∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. The error equation (8) can be obtained by combining (2a). Taking time derive of ξ~ yields(8)ξ~˙=-k1ξ~+ν-ν0c.The command filter compensation for the virtual controlν0c is as follows:(9)ν˙c=kC1ν0c-νc,where kC1∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. Denote α1c=νc, and then from (8), we can get(10)ξ~˙=-k1ξ~+νc-ν0c+ν-νc=-k1ξ~+α1c-α1+aν~,where(11)a=100010001.Step 2.
Since the yaw angle has been given, considerϕ,θ,U1 as the control of (2b), and we define the stabilizing function as follows:(12)α2=-k2ν~+ν˙c-aTξ~-ρ1ν~,where k2∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. ρ1 is introduced to compensate the external disturbances d1.According to (2b), α2will be achieved if we have the values(13)η0c1:2=acrtan⁡α21cψ+α22sψα23+gacrtan⁡α21sψ-α22cψcθ0cα23+gU1=mα23+gcθ0ccϕ0c,where α2=α21α22α23T.The command filter compensation for the virtual controlη0c1:2 is as follows:(14)η˙c1:2=kC2η0c1:2-ηc1:2,where kC2∈R2×2 is a diagonal matrix and each diagonal element of the matrix is a positive constant. η1:2 represents the first two elements in vector η.According to (14), we can compute ηc. α2c is constructed to facilitate the subsequent acquisition of the quadrotor error dynamic equation.(15)α2c=cϕcsθccψ+sϕcsψU1mcϕcsθcsψ-sϕccψU1mcϕccθcU1m-g.The error equation (16) can be obtained by combining (2b).(16)ν~˙=-k2ν~-aTξ~+α2c-α2+bη~1:2+1md1-ρ1ν~,where(17)b=U1mcϕ-cϕc2ϕ~sθc+sθcψ+sϕ-sϕcϕ~sψsθ-sθc2θ~cϕc+cϕcψcϕ-cϕc2ϕ~sθc+sθsψ-sϕ-sϕcϕ~cψsθ-sθc2θ~cϕc+cϕsψcϕ-cϕc2ϕ~cθc+cθcθ-cθc2θ~cϕc+cϕ.when ϕ~,θ~ approach zero and the vector functionb can be written as(18)b=U1m-sφc2sθc+sθcψ+cφcsψcθc2cφc+cφcψ-sφc2sθc+sθsψ-cφccψcθc2cφc+cφsψ-sφc2cθc+cθ-sθc2cφc+cφ.Step 3.
Considerw as the control of (2c), and we define the stabilizing function as follows:(19)α3=-k3η~+η˙c-bTν~;0,where k3∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant.According to (2c), α3 can be obtained if w is chosen as(20)w0c=α31-α33sθα32cϕ+α33cθsϕα33cθcϕ-α32sϕ,where α3α31α32α33T.The command filter ofw0c can be described as(21)w˙c=kC3w0c-wc,where kC3∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. According to (21), we can compute wc. α3c can be chosen as(22)α3c=pc+qcsϕtan⁡θ+rccϕtan⁡θqccϕ-rcsϕqcsϕ+rccϕcθ.Thus we can obtain(23)η~˙=-k3η~+α3c-α3+cw~-bTν~;0,where(24)c=1sϕtθcϕtθ0cϕ-sϕ0sϕsec⁡θcϕsec⁡θ.Step 4.
Now the control can be chosen as(25)τ=α4=diag1λ^2,1λ^4,1λ^6-k4w~+w˙c-cTη~-qrλ^1,prλ^3,pqλ^5T-ρ2w~,where k4∈R3×3 is a diagonal matrix and each diagonal element of the matrix is a positive constant. ρ2 is introduced to compensate the external disturbances d2. Thus combining (25) and (2d) yields(26)w~˙=-k4w~-cTη~+ΦTλ~+J-1d2-ρ2w~,where Φ can be expressed as(27)Φ=qrU2000000prU3000000pqU4T.The adaptive algorithm is introduced to compensate for the interference caused by the uncertain model parameters. The updating law ofλ^ can be given by(28)λ^˙=ΓΦw~-σλ^-λ0=ΓΦw~+σλ~-σΔλ,where Γ∈R6×6 is a diagonal matrix and each diagonal element of the matrix is a positive constant. Since λ is a constant vector, we obtain that(29)λ~˙=λ˙-λ^˙=-ΓΦw~-σλ~+σΔλ.The command filter described in (9), (14), and (21) can be summarized as follows:(30)ν˙c=kC1α1-νcη˙c1:2=kC2η0c1:2-ηc1:2w˙c=kC3w0c-wc.Equation (30) is a fist-order, low-pass filter, and bandwidth parameterized by kci. The purpose of this command filter is to generate χic-αi-1,i=2,3,4 is small. The initial values of νc,ηc1:2,wc can be chosen as(31)νc0=ν0,ηc0=η0,wc0=w0.


## 3.2. Error Dynamic Equation

According to the error equations (10), (16), (23), (26), and (29), the closed-loop system can be described as(32)ξ~˙ν~˙η~˙w~˙λ~˙=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6ξ~ν~η~w~λ~+α1c-α1α2c-α2+1md1α3c-α3J-1d2σΔλ,where we can easily analyze the stability of the closed-loop system when the system interference is 0. In this case, it is clear to see that the closed-loop system has the similar skew symmetric structure of system in [13].The compensating signal is introduced to eliminate the virtual control errorαic-αi for i=1,2,3. According to the error dynamic system (32), the compensating system dynamic equation is constructed as follows:(33)ζ˙1ζ˙2ζ˙3ζ˙4ζ˙5=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6ζ1ζ2ζ3ζ4ζ5+α1c-α1α2c-α2α3c-α300,where ζ1,ζ2,ζ3,ζ4∈R3 are the state vectors of compensating system and ζ=ζ1Tζ2Tζ3Tζ4TT, αic-αi for i=1,2,3 are the input signal of compensating system. The initial condition can be chosen as ζ=0.Assumption 3 (αict-αit≤μ,t≥T0 for i=1,2,3).
Combining (16) and (19) yields, constructing the error dynamic equations (35) for quadrotor compensating system. New state variables are defined as follows:(34)v1=ξ~-ζ1v2=ν~-ζ2v3=η~-ζ3v4=w~-ζ4v5=λ~.The error dynamic equations of quadrotor compensating system can be described as(35)v˙1v˙2v˙3v˙4v˙5=-k1a000-aT-k2-ρ1b,0000-b,0T-k3c000-cT-k4-ρ2ΦT000-ΓΦ-σI6v1v2v3v4v5+01md10J-1d2σΔλ.


## 3.3. Stability Analysis

Theorem 4.
Under Assumption3, the states of system (33) are bounded.Proof.
For the compensating system (33), we can construct the Lyapunov function Vc as(36)Vc=12ζ1Tζ1+ζ2Tζ2+ζ3Tζ3+ζ4Tζ4+1Γζ5Tζ5.
Substituting (33) and Assumption 3 yields(37)V˙c=-ζ1Tk1ζ1-ζ2Tk2ζ2-ζ3Tk3ζ3-ζ4Tk4ζ4-σΓζ5Tζ5+∑i3ζ1Tαic-αi-ρ1ζ2Tζ2-ρ2ζ4Tζ4≤-2k0ζ2+μζ,where k0=0.5min⁡k1,k1+ρ1,k3,k4+ρ2,σ/Γ.
Since(1/2)kVζ2≤Vc,kV=min⁡(1,1/Γ), we obtain(38)V˙c≤-4k0kVVc+μ2kVVc.Then, from (38) we can get(39)Vc≤μ2kV4k0⟹ζ≤μ2k0.Thus, the state of compensating system (33) is bounded convergence for bounded inputs satisfying αic-αi≤μ.Theorem 5.
Under Assumptions1 and 2, the states of system (35) are uniformly bounded.Proof.
For the error dynamic equations of quadrotor compensating system (35), we can construct the Lyapunov function Vce as(40)Vce=12v1Tv1+v2Tv2+v3Tv3+v4Tv4+1Γv5Tv5.Differentiating Vce with respect to time, we get(41)V˙ce=v1T-k1v1+av2+v2T-k2v2+b,0v3-aTv1+1md1-ρ1v2+v3T-k3v3+cv4-b,0Tv2+v4T-k4v4-cTv3+ΦTv5+J-1d2-ρ2v4+1Γv5T-ΓΦv4-σv5+σΔλ=-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σΓv5Tv5-ρ1v2Tv2-ρ2v4Tv4+1mv2Td1+v4TJ-1d2+σΓv5TΔλ=-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σΓv5Tv5+σ2Γv5Tv5+ΔλTΔλ+14ρ2J-1d2J-1d2-ρ1v2-12mρ1d1Tv2-12mρ1d1+14m2ρ1d1Td1-ρ2v4-12ρ2J-1d2Tv4-12ρ2J-1d2.From (41) and Assumption 2, we can get(42)V˙ce≤-v1Tk1v1-v2Tk2v2-v3Tk3v3-v4Tk4v4-σ2Γv5Tv5+δ24m2ρ1+γ24ρ2+σε22Γ≤-κVce+M,where(43)κ=min⁡12k1,12k2,12k3,12k4,σ2M=δ24m2ρ1+γ24ρ2+σε22Γ.Therefore, Vce decreases monotonically until v reaches the bounded set v:Vce≤κ-1M. This means that v is uniformly bounded.According to Theorems4 and 5, we can conclude that χ~ bounded by(44)χ~t≤μ2k0+vt.Thus, whent approaches infinity, χ~ is uniformly bounded. Apparently, κ represents the response speed of the closed system; thus the response speed can be arbitrarily adjusted by tuning the parameters ki(i=0,…,4) and σ appropriately. κ-1M reflects the residual error bound of the closed-loop system, and the external disturbances and parameter uncertainties can be mitigated by tuning the parameters ρ1,ρ2, and Γ.


## 4. Simulation

In this section, we design two simulation examples to illustrate the effectiveness of the proposed control algorithm. Sustained disturbances and parametric uncertainties have been imposed on the quadrotor to indicate the ability of antidisturbance and robustness. The model parameters of the quadrotor were obtained from a real quadrotor platform in paper [9] as Table 1. For the purpose of verifying the superiority of the algorithm, the proposed controller is simulated compared with that of [9]. The two simulations are carried out under the same conditions as follows:Table 1
Quadrotor model parameters.
Parameter
Value
m (kg)
1.336
g (m/s2)
9.807
l (m)
0.285
k
b
1.23
e
-
4
I
x (kg⋅m2)
0.0259
I
y (kg⋅m2)
0.0260
I
z (kg⋅m2)
0.0397
k
d
6.48
e
-
6(a) The external bounded disturbances are described by(45)d1=0.2×sin⁡20πt+cos⁡200πtcos⁡20πt+sin⁡200πtsin⁡20πt-cos⁡200πtNd2=2×randn⁡3N·m,where randn⁡3 represents a 3-dimensional random noise vector.(b) The true inertia parameters are given byλ=-0.529110.5310.960.00257.18T. The initial value of λ^ is set as λ^0=-114.25128.50.3339.5T, and λ0=-0.3512.390.3212.950.0339.5T.Case 1 (hovering).
The initial position and yaw angle of the quadrotor are set toξ(0)=000T m, ψ(0)=5deg. The desired position and yaw angle are set to ξc=332T m, ψc=0deg. Figures 2 and 3 show the position response and attitude response. Figure 4 represents the transformation process of adaptive estimation parameters.Figure 2
Comparison result of position response.Figure 3
Comparison result of attitude response.Figure 4
Adaptive parameterλ^.Figures2 and 3 show that the proposed controller can drive the quadrotor to the target position in a short time. When reaching the target position, the quadrotor is then hovering around it within a small range. From Figure 2, it can be seen that the position error is η~≤2cm when using the proposed controller, while the position error is η~≤5cm when using that of [9]. Therefore, the proposed controller leads to high position tracking precision. Figure 3 shows that the proposed controller results in higher attitude control precision than that when using the controller of [9]. In addition, Figure 4 shows that λ^ converges to a constant value, instead of its real value. The above analysis shows that much better performance can be obtained by the proposed controller compared with the controller of [9].Case 2 (trajectory tracking).
The initial position of the quadrotor is set toξ0=020T m, ψ(0)=5deg. The reference path is given as(46)ξct=2cos⁡πt202sin⁡πt2031-cos⁡πt20m,ψc=0deg.Figure 5 depicts the trajectory tracking results of the aircraft along the given path in 3D space. Figures 6 and 7 show the position response and position error response. Figure 8 presents the comparative response of attitude angles.Figure 5
Path following.Figure 6
Comparison result of position response.Figure 7
Comparison result of position error response.Figure 8
Comparison result of attitude response.Figures5–8 show that the aircraft position is moving closer to the set path. It is proved that the proposed controller can ensure that the error dynamic system of quadrotor converges the desired path. Figures 6 and 8 show the system performance of tracking the reference trajectory. It can be seen that both methods track the trajectory soon and remain stable. In Figures 7 and 8, it can be seen that the quadrotor takes 5 seconds to approach the desired path, while ensuring that the position tacking error is maintained within ±0.5 m and the attitude tacking error is maintained within ±1 deg. However, the proposed controller leads to a smoother position response and attitude response than that when the controller of [9] is adopted. Thus, it can be observed that the proposed controller has stronger robustness against external disturbances and uncertain inertia matrix.


## 5. Conclusion

A robust command filtered adaptive backstepping controller for a quadrotor has been presented under the unknown inertia parameter and unknown external bounded disturbance. The proposed method is designed based on the integrated model of the quadrotor, and it is strict to analyze the stability of the integrated system than the double-loop control method. The similar skew symmetric structure is constructed to facilitate the analysis of the stability of the integrated system. Theoretical analysis proves that the high precision trajectory tacking of the quadrotor system can be obtained by choosing appropriate control parameters, and the flight control system has an inhibitory effect on the external disturbances. Simulation results show that satisfactory performance can be achieved by using the proposed controller. The robustness of the proposed controller is better than that of the conventional block controller in [9].



---

*Source: 1854648-2018-01-09.xml*