9 SDSC
9 SDSC
Abstract—With the convenience of maneuvering and taking There are many kinds of control problems for the quadro-
off easily, quadrotors are becoming more and more popular tor such as balancing flight control, position control, path
in military as well as civilian applications recently. Quadro- following control and trajectory tracking control. Balancing
tor is an under-actuated system with six degrees of freedom
but only four input signals. Moreover, in the presence of the flight control is a control problem in which the requirement
external disturbance and uncertainties, it’s even more difficult is only to balance the quadrotor from tilting or rotating on its
to control. Therefore, the study of flight control algorithms for axes. For position control, the quadrotor needs to be moved
the quadrotor in the presence of the external disturbance and to a given location, but the distance or travel time of the
uncertainties is absolutely necessary and that is also the main quadrotor is not considered. For the path following control
purpose of this study. First, the trajectory tracking problem
without disturbance and uncertainties is solved by a backstepping problem, the quadrotor simply has to move along a given
controller (BSC). Then, an adaptive backstepping sliding mode path. Finally, the trajectory tracking control problem requires
controller (ABSMC) is investigated to solve the influence of the quadrotor to fly and follow a known reference signal
external disturbance. Next, a controller was developed from the or ensures that the quadrotor’s state following a reference
ABSMC controller to ensure that the tracking errors converge trajectory q (t) → qref (t).
to zero while the coefficients of air resistance are unknown.
In addition, all algorithms are analyzed for stability through Up to now, various control methods for UAVs in general
Lyapunov theory. Finally, several simulations are performed to and partially quadrotors have been studied and developed.
verify as well as compare the quality of the studied control For linear control methods, the quadrotor model is linearized
algorithms. about the operating point. With simplicity in design as well
Index Terms—Backstepping, sliding mode control, external as algorithm implementation , the PID controller is one of the
disturbance, uncertainties, quadrotor
most used controllers for quadrotors [1]. This controller keeps
I. I NTRODUCTION the quadrotor balanced in space or flying with small angle
deviation along a certain direction. Among PID controllers,
For recent years, unmanned aerial vehicles (UAV) have the second-order optimal control method LQR was also given
been increasingly applied in many practical fields such as in [2]. Until now, the mentioned linear controllers still provide
agriculture, industry, military, and research. The UAV has good control performance for simple flying tasks such as
many advantages, especially quadrotors which have high balancing. However, the quadrotor model is nonlinear, so using
maneuverability and take off easily without an airport or nonlinear controllers will increase the capacity of more flexible
a launching pad. It makes the quadrotor to be suitable for flying for more difficult tasks like trajectory tracking.
many applications such as reconnaissance mission, search on Several nonlinear control techniques can be applied such as
rescue, and transportation. Therefore, the quadrotor control feedback linearization, backstepping, sliding mode control [3],
problems have become a prominent topic and have been and adaptive control. Using control methods such as sliding
interested recently. mode control or adaptive control will allow us to deal with
Quadrotor, or quadcopter, is a type of multi-rotor UAV with operation tasks in windy environment or parameter deviations
four motors located symmetrically through its center. Because of the model. A few sliding mode controllers with second-
of having only four control input signals with six degrees of order sliding surface, higher-order sliding surface, terminal
freedom, the quadrotor is an under-actuated system. With a sliding mode were given in [4], [5], [6], respectively, to offer
complex nonlinear dynamic model, the stabilization control very good control performance. An adaptive controller [7]
or trajectory tracking problem of the quadrotor still creates a also gave good tracking performance even in the absence of
lot of challenges. velocity signal. Regulators such as backstepping control and
model predictive control were either developed in [8] and
This work was supported by the Ministry of Education and Training, [9], respectively. To deal with the external disturbance, there
Vietnam under the Grant B2022-BKA-01. have been some disturbance estimator based controllers can
a : Department of Automation Engineering, School of Electrical and Elec-
be applied for the quadrotor such as adaptive control [12],
tronic Engineering, Hanoi University of Science and Technology Hanoi,
Vietnam linearization based LQR [13], and iterative learning control
∗ : Corresponding author. [14].
In this study, a backstepping controller for the quadrotor built based on Newton-Euler equation. Firstly, the relationship
[10] is revisited and an adaptive backstepping sliding con- between rotatory velocity ωi with the force fi , and moment
troller will be developed with an additional assumption to τM i developed by the motor are described as follows
guarantee that tracking errors converge to the origin in the
presence of external disturbance and model uncertainties. The fi = kp .ωi2 , τM i = cd .ωi2 + Jr .ω̇i (3)
stability of the closed-loop system is rigorously analyzed where kp is the thrust constant, cd is a moment coefficient
through Lyapunov theory. and Jr is the rotor’s moment of inertial. Normally, the product
The remaining of this work is organized as follows: The Jr .ω̇i is very small, it is ignored in this study. The thrust force
next section provides the mathematical model of the quadrotor. provided by the four rotors is
Section III will propose a backstepping controller, then the
4 4
work [10] is revisited and developed. The section IV consists X X
fs = fi = k p . ωi2 . (4)
of simulation results and comparisons of control methods.
i=1 1
Conclusions and future works are given in the final section.
The thrust force on the axes of the Oxyz plane is
II. M ATHEMATICAL MODEL T
T = R.fs . 0 0 1 . (5)
To consider the motion of the quadrotor in the space, two
coordinate systems are used: The first one is the inertial Substituting Eq. (1) into Eq. (5), one gets
reference frame, which is fixed to a specific location on the
ground Oxyz axes and the second one is the body frame, cψ sθ cϕ + sψ sϕ
which is fixed to the quadrotor’s center of mass and is T = fs . sψ sθ cϕ − cψ sϕ . (6)
represented by the GxB yB zB axes. To obtain the function of cθ cϕ
In addition, the moment vector τB is computed as
cd .l. −ω22 + ω42
τϕ
τB = τθ = cd .l. −ω12 + ω32 ,
(7)
2 2 2 2
τψ cd −ω1 − ω3 + ω2 + ω4
where l is the distance between each rotor’s rotation axis
and the quadrotor’s center of mass. Thus, the mathematical
dynamics of the quadrotor under the impact of the external
disturbance is described as follows
u1 kf x
ẍ = cψ sθ cϕ + sψ sϕ − ẋ + dx
m m
ÿ = u1 s s c − c s − kf y ẏ + d
ψ θ ϕ ψ ϕ y
m m
z̈ = u1 cθ cϕ − g − kf z ż + dz
m m
(I y − I z ) . θ̇ ψ̇ Jr θ̇ kax 2 u2 , (8)
Fig. 1. The inertial and body frames of a quadrotor.
ϕ̈ = − ωr − ϕ̇ + + dϕ
Ix Ix Ix Ix
(Iz − I x ) . ϕ̇ ψ̇ J r ϕ̇ k ay u 3
θ̇2 +
coordinates between the two frames, the rotational operations
θ̈ = − ωr − + dθ
I I I I
are performed. The rotation matrix R presents the axis rotation
y y y y
(I − Iy ) .ϕ̇θ̇ kaz 2 u3
from the fixed frame Oxyz to the body frame GxB yB zB as
ψ̈ = x
− ψ̇ + + dψ
Iz Iz Iz
cθ cψ sϕ sθ cψ − cϕ sψ cϕ sθ cψ + sϕ sψ
R = cθ sψ sϕ sθ sψ + cϕ cψ cϕ sθ sψ − sϕ cψ , (1) where u1 = fs , u2 = τϕ , u3 = τθ , u4 = τψ , ωr = ω1 − ω2 +
−sθ sϕ cθ cϕ cθ ω3 − ω4 , di (i= x, y, z, ϕ, θ, ψ) is the disturbance, m is the
mass of quadrotror, Ii (i = x, y, z) is the inertia moments of
where c∗ = cos(∗) and s∗ = sin(∗). quadrotor; kf x , kf y , kf z are the resistance force coefficients
Remark 1: R−1 = RT . and kax , kay , kaz are resistance moment coefficients affected
The absolute position and direction of the quadrotor in the by airflow’s effect. Define the virtual control signal as
fixed frame Oxyz are described by ξ and η, respectively as in
Eq. (2). v1 u1 (c (ψ) s (θ) c (ϕ) + s (ψ) s (ϕ)) /m
T T T v2 = u1 (s (ψ) s (θ) c (ϕ) − c (ψ) s (ϕ)) /m . (9)
ξ = x y z , η = ϕ θ ψ , and q = ξ T η T .
v3 u1 (c (θ) c (ϕ)) /m − g
(2)
A quadrotor is basically controlled by adjusting the speed It implies q
2
of four motors. The fully dynamical model of quadrotor is u1 = m v12 + v22 + (v3 + g) . (10)
III. C ONTROLLER DESIGN 2) Altitude control: From the virtual control signals
A. Backstepping controller (BSC) vi (i = 1, 2, 3), and the desired angle ψd , the reference angles
ϕd , θd are calculated as
In this section, a backstepping controller will be designed
for the quadrotor in the absence of the disturbance and all the v1 .cψd + v2 .sψd
coefficients of air resistance are known.
d
θ = arctan
v +g
Lemma 1: The system (11) is asymptotic stable under the 3 . (20)
v1 .sψd − v2 .cψd
controller (12). ϕd = arctan cθd .
v3 + g
ẋ1 = x2 , ẋ2 = u + f (x1 , x2 ) , (11)
Consider the altitude subsystem
u = −a0 ẋ1 − f (x1 , x2 ) − a1 (x2 + a0 x1 ) , (12)
(Iy −Iz ).θ̇ ψ̇
ϕ̈ =
Ix − JIrxθ̇ ωr − kax 2
Ix ϕ̇ + u2
Ix
where a0 , a1 > 0. (Iz −Ix ).ϕ̇ψ̇ Jr ϕ̇ kay 2 u3
Proof 1: . Consider the first subsystem ẋ1 = x2 . Let V1 = θ̈ = Iy − Iy ωr − Iy θ̇ + Iy
. (21)
1 2 (I −I ).ϕ̇θ̇ kaz 2 u3
2 1 be a Lyapunov function, then its time derivative is V̇1 =
x ψ̈ = x Izy − Iz ψ̇ +
Iz
x1 ẋ1 = x1 .x2 . Hence, with a virtual control signal x2 =
r1 (x1 ) = −a0 x1 , a0 > 0, The tracking errors are:
V̇1 = −a0 x21 ≤ 0, ∀x1 . (13) e ϕ = ϕ − ϕd ëϕ = ϕ̈ − ϕ̈d
eθ = θ − θ d → ë = θ̈ − θ̈d (22)
Consider the overall Lyapunov function as θ
eψ = ψ − ψd ëψ = ψ̈ − ψ̈d
1 2
V2 = V1 + (x2 − r1 (x1 )) . (14) Applying Lemma 1, the system (22) is AS with following
2
The first-order time derivative of V2 is controllers
h i
V̇2 =V̇1 + (x2 − r1 (x)) (ẋ2 − ṙ1 (x))
u 2 = Ix −eϕ − a0ϕ .ėϕ + ϕ̈d − a1ϕ (ėϕ + a0ϕ .eϕ )
=x1 x2 + (x2 + a0 x1 ) (ẋ2 + a0 ẋ1 )
− (Iy − Iz ) .θ̇ψ̇ − Jr θ̇ωr − kax ϕ̇2
= − a0 x21 + x1 (x2 + a0 x1 ) . (15)
h i
u3 = Iy −eθ − a0θ .ėθ + θ̈d − a1θ (ėθ + a0θ .eϕθ )
+ (x2 + a0 x1 ) (u + f (x1 , x2 ) + a0 ẋ1 )
(23)
= − a0 x21 + (x2 + a0 x1 ) (u + f (x1 , x2 ) + a0 ẋ1 )
2
− (I z − Ix ) .ϕ̇ψ̇ − Jr ϕ̇ωr − kay θ̇
Substituting Eq. (12) into Eq. (15) gives:
h i
u4 = Iz −eψ − a0ψ .ėψ + ψ̈d − a1ψ (ėψ + a0ψ .eψ )
2
V̇2 = −a0 x21 − a1 (x2 + a0 x1 ) ≤ 0, ∀x1 , x2 .
(16)
− (I − I ) .ϕ̇θ̇ − k ψ̇ 2 .
x y az
Thus, with the proposed controller (12) the system is asymp-
totically stable (AS). Remark 2: With the proposed controller (19) and (23) the
1) Position control: Consider the following position sub- closed-loop is AS. However, it is necessary to fully know all
system parameters of the system, but this is impossible in reality. In
kf x kf y kf z addition, the impact of external disturbance forces the system
ẍ = v1 − ẋ+dx , ÿ = v2 − ẏ +dy , z̈ = v3 − ż +dz .
m m m to leave the equilibrium point, driving the system back to that
(17) point depends on the control parameters a lot, hence in some
Tracking errors for the position are defined as: cases where the disturbance magnitude is large, the controller
k
can not drive the system to the equilibrium point while the
ëx = ẍ − ẍd = v1 − f x ẋ − ẍd
m desired signal has changed. Thus, in the next part, we study
ex = x − xd
k
ey = y − yd → ëy = ÿ − ÿd = v2 − f y ẏ − ÿd . adaptive sliding mode control based on backstepping technique
ez = z − zd
m to avoid the aforementioned disadvantages.
k
ëz = z̈ − z̈d = v3 − f z ż − z̈d
m B. Adaptive backstepping sliding mode control (ABSMC) [10]
(18)
According to Lemma 1, the position subsystem is asymptoti- 1) ABSMC for the position subsystem: Consider the altitude
cally stable with the following controllers: subsystem:
kf z
kf x z̈ = v3 − ż + dz . (24)
v1 = −ex − a0x ėx + ẋ + ẍd − a1x (ėx + a0x ex ) m
m
kf y Assumption 1: [10] di is immeasurable and bounded by a
v2 = −ey − a0y ėy + ẏ + ÿd − a1y (ėy + a0y ex ) positive constant Di as: |di | < Di (where i= x, y, z, ϕ, θ, ψ).
m
kf z The tracking error of the altitude subsystem is:
v3 = −ez − a0z ėz + ż + z̈d − a1z (ėz + a0z ez ) .
m
(19) ez = z − zd . (25)
With the sliding surface Sz = c0z .ez + ėz defined in [10], the C. Extended ABSMC controller
proposed controller is: Consider the altitude subsystem (24).
kf z Assumption 2: The coefficient kf z is unknown.
v3 = −ez − c0z .ėz + ż + z̈d − ĉ1z sign (Sz ) , (26) A controller is proposed as
m
where c0z is a positive constant and ĉ1z is an estimated value v3 = −ez − c0z .ėz + ρz .ż + z̈d − ĉ1z sign (Sz ) . (32)
for c1z = Di + η, η is a positive constant. Theorem 2: The altitude system (24) is AS with the con-
Theorem 1: [10] If the adaption law of lumped uncertainty troller (32) and the adaptive law (33).
(27) is combined with the control law (26), the quadrotor
system is guaranteed to be asymptotically stable. ρ̇z = −ż (ėz + c0z ez ) . (33)
ĉ˙1z = rz . |Sz | . (27) Proof 3: Consider a Lyapunov candidate function:
2
Proof 2: The proof is given in [10], so it is skipped here □. 1 kf
V4z = V3z + − ρz , (34)
Similarly, we have controllers for the subsystems of x, y. 2 m
(
kf x where V3z is the third Lyapunov function in the proof of
v1 = −ex − c0x .ėx + m ẋ + ẍd − ĉ1x sign (Sx ) Theorem 1 in [9].
kf y (28)
v2 = −ey − c0y .ėy + m ẏ + ÿd − ĉ1y sign (Sy ) , The first-order time derivative of V4z is:
where ĉ˙1x = rx |Sx | , ĉ˙1y = ry |Sy |, rx and ry are two positive kf z
V̇4z = V̇3z − − ρz ρ̇z
constants. m
2) ABSMC for the altitude subsystem: Consider the altitude 2 kf z
= −c0z .ez + Sz ez + v3 − ż − z̈d + dz + c0z ėz
subsystem: m
1 kf z
+ .c̃1z .c̃˙1z −
(Iy − Iz ) .θ̇ψ̇ Jr θ̇ kax 2 u2 − ρz ρ̇z .
ϕ̈ = − ωr − ϕ̇ + + dϕ
rz m
I x I x Ix Ix (35)
(Iz − Ix ) .ϕ̇ψ̇ Jr ϕ̇ kay 2 u3
Substituting the controller (32) and the adaptive laws (27),
θ̈ = − ωr − θ̇ + + dθ (29)
I y Iy Iy Iy (33) into (35), one gets
ψ̈ = (Ix − Iy ) .ϕ̇θ̇ − kaz ψ̇ 2 + u3 + d
2 kf z
ψ V̇4z = −c0z .ez + Sz .ż ρz − + Sz .dz − c1z . |Sz |
Iz Iz Iz m
The altitude subsystem’s tracking error is: kf z
− − ρz ρ̇z
m
e ϕ = ϕ − ϕd
kf z
eθ = θ − θd (30) = −c0z .e2z + Sz .ż ρz − + Sz .dz − c1z . |Sz |
eψ = ψ − ψd m
kf z
Applying the same proof procedure, we have controllers for + − ρz ż (ėz + coz ez )
m
the altitude subsystem as follows:
= −c0z .e2z + Sz .dz − c1z . |Sz | .
(36)
h i
u 2 =I x −e ϕ − c0ϕ . ė ϕ + ϕ̈ d − ĉ1ϕ sign (S ϕ )
Therefore,
V4z ≤ −c0z e2z − η. |Sz | ≤ 0.
2 (37)
− y − Iz ) .θ̇ ψ̇ − Jr θ̇ωr − kax ϕ̇
(I
Thus, the altitude system is AS and the tracking erro converges
h i
u3 =Iy −eθ − c0θ .ėθ + θ̈d − ĉ1θ sign (Sθ )
, (31) to zero. □.
− (Iz − Ix ) .ϕ̇ψ̇ − Jr ϕ̇ωr − kay θ̇2 Prove similarly for the remaining subsystems as follows
v1 = − ex − c0x .ėx + ρx ẋ + ẍd − ĉ1x sign (Sx )
h i
4 =Iz −eψ − c0ψ .ėψ + ψ̈d − ĉ1ψ sign (Sψ )
u
v2 = − ey − c0y .ėy + ρy ẏ + ÿd − ĉ1y sign (Sy )
− (I − I ) .ϕ̇θ̇ − k ψ̇ 2
h i
x y az
2 =Ix −eϕ − c0ϕ .ėϕ + ϕ̈d − ĉ1ϕ sign (Sϕ )
u
where ĉ˙1ϕ = rϕ |Sϕ | , ĉ˙1θ = rθ |Sθ | , ĉ˙1ψ = rψ |Sψ | and
2
− y − Iz ) .θ̇ ψ̇ − Jr θ̇ωr − Ix .ρϕ ϕ̇
(I
rϕ , rθ , rψ are positive constants.
h i
u3 =Iy −eθ − c0θ .ėθ + θ̈d − ĉ1θ sign (Sθ ) . (38)
Remark 3: In controllers (26), (28) and (31), the authors in
− (Iz − Ix ) .ϕ̇ψ̇ − Jr ϕ̇ωr − Iy .ρθ θ̇2
[10] used the drag coefficient and friction and aerodynamic
h i
coefficients which are known. However, in fact it is difficult
−e − −
u 4 =I z ψ c0ψ ψ.ė + ψ̈d ĉ 1ψ sign (S ψ )
to know these coefficients exactly. Thus, we will extend the
controller [10] given by Nettari Y. 2
− (Ix − Iy ) .ϕ̇θ̇ − Iz ρψ ψ̇
Remark 4: The sign function sign (·) is a discontinuous
function, this affects the time derivative process of the desired
angles, so we will use tanh (·) in place of sign (·) in the
aforementioned controllers.
IV. S IMULATION RESULTS
Simulation parameters presented in Table I is based on the
work [11].
TABLE I
M ODEL PARAMETER
R EFERENCES
[1] G. Szafranski and R. Czyba, ”Different approaches of PID control
UAV type quadrotor,” International Micro Air Vehicles Conference and