Professional Documents
Culture Documents
Scientific Programming
Volume 2021, Article ID 3997648, 13 pages
https://doi.org/10.1155/2021/3997648
Research Article
Adaptive Backstepping Sliding Mode Control for Quadrotor UAV
1
Network and Information Center, Huizhou University, Huizhou, China
2
School of Electronic Information and Electrical Engineering, Huizhou University, Huizhou, China
3
Shanwei Polytechnic, Shanwei, China
4
School of Computer Science and Engineering, Huizhou University, Huizhou, China
Copyright © 2021 Sibo Huang et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Quadrotor UAV has a strong mobility and flexibility in flight and has been widely used in military and civil fields in recent years.
An adaptive backstepping sliding mode control (ABSMC) method is proposed to address the trajectory tracking control problem
of quadrotor UAV based on actuator fault and external disturbance. In the proposed method, the switching gain of adaptive
sliding mode control is constructed in the backstepping design process in order to suppress the chattering effect of sliding mode
control effectively by differential iteration. Firstly, the dynamic model of quadrotor UAV with actuator fault and external
disturbance is proposed, and then the controllers are designed based on the ABSMC method. Finally, the comparison experiments
between sliding mode control (SMC) method and ABSMC method show that the ABSMC method can not only effectively
suppress the chattering problem for the SMC method but also perform a perfect control effect.
Z
the tracking error can be reduced. Neural network was used
to estimate unknown dynamics and disturbances [17]. ω4
As a kind of controller design method, the backstepping
method is widely used because of its brief design process.
The designed controller can guarantee the system conver- X ω2
B
gence in finite time, and the convergence time can be proved. y
Moreover, the combination of the backstepping method and ω1
Z
other methods can organically integrate the advantages of
the two methods. Accordingly, the backstepping method
and sliding mode method were combined to ensure the
system convergence [18], where the fuzzy control method
combined with the backstepping method was used to control
a multi input multi output nonlinear input saturation system
[19] so that the controller can make the system converge to
Figure 1: A structure diagram of quadrotor UAV.
the expected value in finite time within a given range. In
addition, there are a lot of research studies on controller
design [20–25].
Considering that the traditional sliding mode control UAV. According to reference [20, 21], the expression of its
method is insensitive to the nonlinear problems such as dynamic equation is shown in equation (1) based on the
disturbance and failure in the flight of the quadrotor UAV actuator fault and external disturbance.
system and the setting of its switching gain can cause huge
chattering of input, an adaptive backstepping sliding mode ⎪
⎧
⎪ 1
⎪
⎪ x€ � ux U1 + εU1 + f1 ,
control (ABSMC) method is proposed in this paper, which ⎪
⎪ m
⎪
⎪
can estimate the upper bound of the sliding mode switching ⎪
⎪
⎪
⎪
gain in real time and modify the sliding mode controller in ⎪
⎪
⎪
⎪ 1
combination with the backstepping method to suppress the ⎪
⎪
⎪
⎪ y€ � uy U1 + εU1 + f2 ,
chattering of the sliding mode control. The switching gain ⎪
⎪ m
⎪
⎪
adaptive method proposed in this paper can update the ⎪
⎪
⎪
⎪
switching gain adaptively when the upper bound of dis- ⎪
⎪
⎪
⎪ 1
turbance is unknown so as to ensure the robustness of ⎪
⎪
⎪
⎪ €z � (cos(ϕ) cos(θ)) U1 + εU1 − g + f3 ,
sliding mode control as well as the control tracking accuracy. ⎪
⎪ m
⎪
⎪
Finally, the effectiveness of the proposed method is verified ⎪
⎨
by comparing the control effect of the ABSMC method with ⎪ (1)
⎪
⎪ I − Iz Jr
the SMC method. ⎪
⎪ _ + l U + εU + f ,
⎪
⎪ ϕ€ � θ_ ψ_ y + θω
⎪
⎪
⎪ I x I x
r
Ix 2 2 4
⎪
⎪
2. Dynamics Model of Quadrotor UAV ⎪
⎪
⎪
⎪
⎪
⎪
The motion of a quadrotor UAV in space has six degrees of ⎪
⎪
⎪
⎪ €θ � ψ_ ϕ_ Iz − Ix − Jr ϕω
_ r + l U3 + εU3 + f5 ,
freedom, which are roll, pitch, and yaw around its center of ⎪
⎪
⎪
⎪ I I Iy
mass and its translational motion in three-dimensional ⎪
⎪ y y
⎪
⎪
space with two horizontal and one vertical direction. The ⎪
⎪
⎪
⎪
quadrotor UAV can be regarded as an underactuated rigid ⎪
⎪
⎪
⎪ Ix − Iy 1
⎪
⎪ψ
body with four inputs. Its thrust is generated by four pro- ⎩ € � ϕ_ θ_ I
⎪ +
Iz 4
U + εU4 + f6 ,
pellers, which can be controlled by command to keep the z
UAV in a certain attitude and follow the desired trajectory.
Figure 1 shows the structural diagram of the quadrotor in which
Scientific Programming 3
⎪
⎧ ux � cos(ϕ)sin(θ)cos(ψ) + sin(ϕ)sin(ψ), 3.2.1. The Design of the Altitude Controller. Firstly,
⎪
⎪ the controller for quadrotor UAVs’ height based on
⎪
⎪
⎪
⎪ uy � cos(ϕ)sin(θ)cos(ψ) − sin(ϕ)sin(ψ), the adaptive backstepping sliding mode method is
⎪
⎪
⎪
⎪ designed.
⎪
⎪
⎪
⎪ In equation (1), the second-order system controlling
⎪
⎪ U1 � bω21 + ω22 + ω23 + ω24 ,
⎪
⎪ the height of quadrotor UAV can be equivalent as
⎪
⎪
⎨ follows:
⎪ U2 � bω24 − ω22 , (2)
⎪
⎪ 1
⎪
⎪ z€ � (cos(ϕ) cos(θ))U1 − g + Δz . (3)
⎪
⎪
⎪
⎪
⎪ U3 � bω23 − ω21 , m
⎪
⎪
⎪
⎪ In equation (3), z represents the height of quadrotor
⎪
⎪ U � dω2 + ω2 − ω2 − ω2 ,
⎪
⎪ 4 2 4 1 3 UAV and Δz � cos(ϕ)cos(θ)εU1 + f3 . Let z1 � z and
⎪
⎪
⎪
⎩ _ equation (3) can be rewritten as follows:
z2 � z,
ωr � ω4 + ω2 − ω1 − ω3 ,
⎧ z_1 � z2 ,
⎪
⎪
⎪
⎨
where U1 −U4 are the control input of UAV; εU1 −εU4 (4)
⎪
⎪
denote the unknown actuator fault; f1 −f6 are defined as ⎩ z_2 � 1 (cos(ϕ) cos(θ))U1 − g.
⎪
the unknown external interference; Ix , Iy , and Iz present m
the inertia matrix; b and d are the drag coefficient and lift
Firstly, an integral sliding surface is defined as follows:
coefficient, respectively; m is the mass of the quadrotor
UAV; g is the gravity acceleration; l represents the length sz1 � ez + kz e_z . (5)
of the quadrotor UAV from the end of each rotor to the
center of gravity; Jr is the moment of inertia of the motor
rotor; [ϕ, θ, ψ] represent the roll angle, pitch angle, and In equation (5), kz is a positive constant and ez � z − zd ,
yaw angle, respectively; [x, y, z] are the position coor- where zd is the reference height. The first and second de-
dinates of the center of mass of the quadrotor UAV rivatives of equation (5) are defined as follows:
relative to the fixed coordinate system; and sz2 � s_ z1
ωi (i � 1, 2, 3, 4) are the rotation speed of four propellers of (6)
� ez + kz e_ z ,
quadrotor UAV.
sz3 � s_ z2
3. Adaptive Backstepping Sliding Mode (7)
� e_z + kz€ez .
Control for Quadrotor UAV
In particular, we use the sliding mode differentiator to
3.1. Control Strategy. The quadrotor UAV is a nonlinear obtain the differential value of the state as follows:
system with strong coupling and is an underactuated
system. As an underactuated system, it has only four ⎨ z � v + k1 |z − z|2/3 sign(z − z),
⎧
control inputs, but it has to control six states. The control ⎩ (8)
v_ � k2 |z − z|1/2 sign(z − z),
strategy adopted in this paper is double loop control, and
the outer loop is position control, which is composed of where k1 and k2 are normal numbers, and the differentiator
altitude and horizontal position. The difference between the can ensure that v converges to z_ in finite time. In the fol-
real value and the expected value is calculated, and then the lowing controller design process, v is used instead of z_ to
altitude and level control of the ABSMC method are used to construct the sliding surface and related error terms.
design control input terms, the desired attitude angle is It can be obtained by combining equations (3), (6), and
obtained by inverse solution, and then the inner loop is (7):
used for attitude control, which mainly controls the pitch,
yaw, and roll motion of UAV. The specific control flow is ⎪
⎧
⎪ s_z1 � sz2 ,
⎪
⎪
shown in Figure 2. ⎪
⎪
⎪
⎪
⎨ s_ � s ,
z2 z3
⎪
⎪
⎪
⎪
3.2. Controller Design. Firstly, the design process of the ⎪
⎪
⎪
controller U1 is given based on the ABSMC method, and ⎩ s_z3 � d e_z + kz 1 (cos(ϕ)cos(θ))U1 − g + Δz − z€d .
⎪
then the controllers ux , uy , U2 , U3 , and U4 are obtained dt m
based on the same design process. (9)
4 Scientific Programming
Desired zd U1
Altitude
trajectory Controller
Quadrotor UAV
Expected
xd,yd Horizontal ux,uy pitch ϕd,θd Attitude U2,U3,U4
Controller and roll Controller
ψd Angle
x,y ϕ,θ,ψ
Then, according to the backstepping method, combine differential of equation (16), which is the Lyapunov function
equations (5)–(7), with following transformation: V2 as follows:
σ z1 � sz1 , (10) V_ 2 � V_ 1 + σ z2 σ_ z2
d _ z
V_ 4 � −ξ 1 σ 2z1 − ξ 2 σ 2z2 − ξ 3 σ 2z3 + σ z3 z − Λ∗ Λ
u + kz Δz + δz Λ
dt 1as z
Table 2: Parameters of controller. 3.2.3. The Design of Attitude Controller. Likewise, the design
process of attitude controller is the same as that of altitude
The parameters of controllers Numerical value
controller. Therefore, only the derivation of the controllers
ki (i � x, y, z) 0.5 of attitude ϕ, θ, and ψ is given here.
kj (j � ϕ, θ, ψ) 0.3
According to equation (2) and combined with equations
ξ i (i � 1, 2, 3) 3
δi (i � x, y, z) 0.5 (31) and (32), the expected values of pitch angle and roll
δi (i � ϕ, θ, ψ) 5 angle can be obtained as follows:
⎪
⎧
⎪ ϕd � arcsinux sin ψ − uy cos ψ ,
⎪
⎪
m ⎪
⎨
⎧
⎪
⎪ uy � u − uyas , (34)
⎪
⎪ ky U1 yn ⎪
⎪
⎪
⎪ ⎪
⎪ ux − sin ϕd sin ψ
⎪
⎪ ⎪
⎩ θd � arcsin cos ϕ cos ψ .
⎪
⎪
⎪
⎪ d
⎪
⎪
⎪
⎪ uyn � ky y € d − e_y + ay2 − ξ 3 σ y3 + σ y2 , The controller of attitude ϕ is as follows:
⎪
⎪
⎪
⎨
(32) ⎪
⎧
⎪ I
⎪
⎪ ⎪
⎪ U2 � x uϕn − uϕas ,
⎪
⎪ ⎪
⎪ k ϕl
⎪ y + ςy signσ y3 , ⎪
⎪
⎪
⎪ uxas � Λ ⎪
⎪
⎪
⎪ ⎪
⎪
⎪
⎪
⎪ ⎪
⎨ Iy − Iz Jr
⎪
⎪ uϕn � −kϕ θ_ ψ_ + θω_ −ϕ €d − e_ϕ + aϕ2 − ξ 3 σ ϕ3 + σ ϕ2 ,
⎪
⎪ ⎪ Ix r
⎪ ⎪
⎪ Ix
⎪
⎪
⎪
⎩Λ_ y � 1 σ y3 , ⎪
⎪
⎪
⎪
δy ⎪
⎪
⎪
⎪ 1
⎪
⎪ _
⎩ uϕas � Λϕ + ςϕ signσ ϕ3 , Λϕ � δ σ ϕ3 .
⎪
where in equations (31) and (32), ϕ
(35)
⎪
⎧
⎪ ex � x − xd , ey � y − yd , σ x1 � sx1 , σ y1 � sy1 ,
⎪
⎪ The controller of attitude θ is as follows:
⎪
⎪ σ x2 � sx2 − αx1 , σ x3 � sx3 − αx2 ,
⎪
⎪
⎪
⎪ Iy
⎪ σ y2 � sy2 − αy1 , σ y3 � sy3 − αy2 ,
⎪ ⎪
⎧
⎪ U3 � u − uθas ,
⎪
⎪ ⎪
⎪
⎪
⎪ ⎪
⎪ kθ l θn
⎪ ⎪
⎨ αx1 � −ξ 1 σ x1 , αy1 � −ξ 1 σ y1 ,
⎪ ⎪
⎪
⎪
(33) ⎪
⎪
⎪
⎪ ⎪
⎪ I − Ix J r _
⎪
⎪
⎪
sx1 � ex + kx e_x , sy1 � ey + ky e_y , ⎪
⎪ uθn � −kθ ψ_ ϕ_ z
⎪ − ϕωr − €θd
⎪
⎪ ⎪
⎨ Iy Iy
⎪
⎪ e x � x − xd , e y � y − y d ,
⎪
⎪ ⎪ (36)
⎪
⎪ ⎪
⎪
⎪
⎪ sx2 � s_x1 , sx3 � €sx1 , sy2 � s_y1 , sy3 � €sy1 , ⎪
⎪
⎪
⎪ ⎪
⎪ −e_θ + aθ2 − ξ 3 σ θ3 + σ θ2 ,
⎪
⎩ k , k , δ , δ , ς , ς > 0, ⎪
⎪
⎪
⎪
x y x y x y ⎪
⎪
⎪
⎪
⎪
where xd and yd are the reference values in x direction and y ⎪
⎪
⎩ uθas � Λ _ θ � 1 σ θ3 .
θ + ςθ sign σ θ3 , Λ
direction, respectively. δθ
Scientific Programming 7
40
20
x
0
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
20
0
y
-20
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
4
z
0
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
Figure 3: UAV’s position tracking.
⎪
⎧
⎪ I
⎪
⎪ U4 � z uψn − uψas ,
⎪
⎪ k ψl
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎨ Ix − Iy
⎪ uψn � −kψ ϕ_ θ_ € d − e_ψ + aψ2 − ξ 3 σ ψ3 + σ ψ2 ,
−ψ (37)
⎪
⎪ Iz
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ 1
⎪
⎪ _
⎩ uψas � Λψ + ςψ signσ ψ3 , Λψ � δ σ ψ3 ,
⎪
ψ
0.5
ϕ
-0.5
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
0.5
0
θ
-0.5
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
0.4
0.2
ψ
0
0 5 10 15 20 25 30 35 40 45 50
t (s)
Reference
SMC
ABSMC
Figure 4: UAV’s attitude tracking.
⎪
⎧
⎪ eϕ � ϕ − ϕd , eθ � θ − θd , eψ � ψ − ψ d ,
⎪
⎪
⎪
⎪
⎪ σ ϕ1 � sϕ1 , σ θ1 � sθ1 ,
⎪ σ ψ1 � sψ1 ,
⎪
⎪
⎪
⎪
⎪
⎪ σ ϕ2 � sϕ2 − αϕ1 , σ ϕ3 � sϕ3 − αϕ2 ,
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ σ θ2 � sθ2 − αθ1 , σ θ3 � sθ3 − αθ2 ,
⎪
⎪
⎪
⎪
⎪
⎪ σ � sψ2 − αψ1 , σ ψ3 � sψ3 − αψ2 ,
⎪
⎨ ψ2
⎪ αϕ1 � −ξ 1 σ ϕ1 , αθ1 � −ξ 1 σ θ1 , αψ1 � −ξ 1 σ ψ1 , (38)
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ sϕ1 � eϕ + kϕ e_ϕ ,
⎪
⎪
sθ1 � eθ + kθ e_θ , sψ1 � eψ + kψ e_ψ ,
⎪
⎪
⎪
⎪
⎪
⎪ eϕ � ϕ − ϕd , eθ � θ − θd , eψ � ψ − ψ d ,
⎪
⎪
⎪
⎪
⎪
⎪
⎪ sϕ2 � s_ϕ1 ,
⎪
⎪
sϕ3 � €sϕ1 , sθ2 � s_θ1 , sθ3 � €sθ1 , sψ2 � s_ψ1 , sψ3 � €sψ1 ,
⎪
⎪
⎩ k , k , k , δ , δ , δ , ς , ς , ς > 0.
ϕ θ ψ ϕ θ ψ ϕ θ ψ
Scientific Programming 9
0.2 0.5 5
0.16 0.4 4
0.12 0.3 3
|ey| [m]
|ez| [m]
|ex| [m]
0.08 0.2 2
0.04 0.1 1
0 0 0
0 20 40 0 20 40 0 20 40
t (s) t (s) t (s)
4. Simulation Results MATLAB 2019b. The expected trajectory of the UAV is set as
shown in equation (39). Actuator fault and external distur-
To verify the effectiveness of the proposed ABSMC method, bance of the aircraft are set as shown in equation (40). The
the SMC method and ABSMC method are used to perform relevant physical parameters of quadrotor UAV are shown in
trajectory tracking control of quadrotor UAV based on Table 1, and the control parameters are shown in Table 2.
⎪
⎧ πt
⎪
⎪ xd � 201 − cos ,
⎪
⎪ 20
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ πt
⎪
⎨ yd � −14 sin ,
10
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ zd � 5,
⎪
⎪
⎪
⎪
⎪
⎪
⎩
ψ d � 0,
(39)
10 Scientific Programming
0.45
0.3
1
0.4
0.25
0.35
0.8
0.3
0.2
|eϕ| [rad]
|eψ| [rad]
|eθ| [rad]
0.6 0.25
0.15
0.2
0.4
0.1 0.15
0.1
0.2
0.05
0.05
0 0 0
0 20 40 0 20 40 0 20 40
t (s) t (s) t (s)
⎪
⎧ εU1 � 0.4 sin(t)U1 , εU3 � 0.2(sin(t) + cos(t))U3 ,
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ εU2 � 0.4 cos(t)U2 , εU4 � 0.2(sin(t) − cos(t))U4 ,
⎪
⎪
⎪
⎨
⎪ f1 � −cos(2t) − 3 cos(t), f2 � −cos(2t) − 3 cos(t), (40)
⎪
⎪
⎪
⎪
⎪
⎪ f3 � −3cos(t), f4 � cos(2t) + cos(t),
⎪
⎪
⎪
⎪
⎪
⎩
f5 � − cos(2t) − 3cos(t), f6 � cos(2t) + cos(t).
It can be seen that the sliding mode control method has a method significantly suppresses the chattering phenomenon of
good control effect in the case of actuator failure and external sliding mode control input after the adaptive switching gain
interference, as shown in Figures 3–6; however, since its being introduced and the backstepping method being used for
switching gain is fixed, it still has disadvantages in the face of correction, as shown in Figures 7 and 8. And the chattering
interference beyond the upper bound of its gain. At this time, caused by the SMC method is limited in a small range.
the adaptive backstepping sliding mode control method with Therefore, the adaptive backstepping sliding mode control
adaptive switching gain can adaptively adjust its switching. method shows better control performance from the pose
Compared with the SMC method, it is clear that the ABSMC tracking effect in Figures 3 to 6.
Scientific Programming 11
80
20
0
60 15
-0.5
0.1
10
40
U1
U2
-1
0
5
20 22 24
20 -1.5
-0.1
20 22 24
0 -2
0 10 20 30 40 50 0 10 20 30 40 50
t (s) t (s)
0.1
0
0
0.02
-0.1
0.1
U4
U3
0
-0.5 0 -0.2
-0.02
-0.1
-0.3
-0.2 -0.04
20 22 24 20 21 22 23 24 25
-1 -0.4
0 10 20 30 40 50 0 10 20 30 40 50
t (s) t (s)
Figure 7: Control input based on the ABSMC method.
200 2
20
150
15 1
100
10
0 0.1
U2
U1
50
5 0
20 22 24 -1
0 -0.1
-0.2
-50 -2 20 25
0 10 20 30 40 50 0 10 20 30 40 50
t (s) t (s)
1.5 0.2
0
1 0
0.05
-0.1
0.5 -0.2
20 22 24
U3
U4
-0.2 0
0
-0.5 -0.3
-0.05
20 21 22 23 24 25
-1 -0.4
0 10 20 30 40 50 0 10 20 30 40 50
t (s) t (s)
Figure 8: Control input based on the SMC method.
12 Scientific Programming
[20] J.-J. Xiong and G.-B. Zhang, “Global fast dynamic terminal
sliding mode control for a quadrotor UAV,” ISA Transactions,
vol. 66, pp. 233–240, 2017.
[21] Q. Luo, J. Yuan, X. Q. Chen, Q. Zhijian, and T. Jinjun,
“Analyzing start-up time headway distribution characteristics
at signalized intersections,” Physica A: Statistical Mechanics
and its Applications, vol. 535, no. 1, pp. 1–10, 2019.
[22] M. Labbadi and M. Cherkaoui, “Robust adaptive backstepping
fast terminal sliding mode controller for uncertain quadrotor
UAV,” Aerospace Science and Technology, vol. 93, Article ID
105306, 2019.
[23] Q. Luo, J. Yuan, X. Chen, J. Yang, W. Zhang, and J. Zhao,
“Research on mixed user equilibrium model based on mobile
Internet traffic information service,” IEEE Access, vol. 7, no. 1,
Article ID 164775, 2019.
[24] C. Zhai and W. Wu, “Designing continuous delay feedback
control for lattice hydrodynamic model under cyber-attacks
and connected vehicle environment,” Communications in
Nonlinear Science and Numerical Simulation, vol. 95, Article
ID 105667, 2021.
[25] C. Zhai and W. T. Wu, “Car-following model based delay
feedback control method with the gyroidal road,” Interna-
tional Journal of Modern Physics C, vol. 30, no. 9, Article ID
1950074, 2019.