You are on page 1of 27

J Intell Robot Syst

DOI 10.1007/s10846-014-0072-3

Enhanced Backstepping Controller Design with Application


to Autonomous Quadrotor Unmanned Aerial Vehicle
Mohd Ariffanan Mohd Basri ·
Abdul Rashid Husain ·
Kumeresan A. Danapalasingam

Received: 23 April 2014 / Accepted: 16 June 2014


© Springer Science+Business Media Dordrecht 2014

Abstract Quadrotor unmanned aerial vehicle (UAV) is experimentally evaluated on a quadrotor simula-
is an underactuated multi-input and multi-output tion environment to demonstrate the effectiveness and
(MIMO) system which has nonlinear dynamic behav- merits of the theoretical development.
ior such as high coupling degree and unknown nonlin-
earities. It is a great challenge to design a quadrotor Keywords Quadrotor UAV · Robust control ·
control system due to these features. In this paper, Backstepping · Particle swarm optimization
the contribution is focused on the backstepping-based
robust control design of the quadrotor UAV. Firstly,
the dynamic model of the aerial vehicle is mathemati- 1 Introduction
cally formulated. Then, a robust controller is designed
for the stabilization and tracking control of the vehi- Nowadays, the application of modern control theory
cle. The developed robust control system comprises a to UAV is one of the most appealing topics among
backstepping and a proportional-derivative (PD) con- the research control community [1].The arises of this
troller. Backstepping is a recursive design methodol- interest is due to the utilization of UAV in a variety of
ogy that uses Lyapunov theorem which can guarantee civil and military applications such as forest fire detec-
the stability of the nominal model system, while PD tion, traffic surveillance, oil pipeline inspection, area
control is used to attenuate the effects caused by sys- mapping, weather monitoring, wildfire monitoring,
tem uncertainties. For the problem of determining aerial payload delivery, search and rescue operations,
the backstepping control parameters, particle swarm border patrolling etc. UAV can also be very impor-
optimization (PSO) algorithm has been employed. In tant and useful when the desired tasks are executed in
addition, the genetic algorithm (GA) technique is also a dangerous or inaccessible environment for humans,
adopted for the purpose of performance comparison for instance, in nuclear or chemical facilities, volca-
with PSO scheme. Finally, the designed controller noes and flooding areas, to name a few. Generally,
during these missions high maneuverability of the air-
craft and robustness of the control algorithm with
respect to uncertainties and disturbances such as wind
M. A. Mohd Basri () · A. R. Husain · is required.
K. A. Danapalasingam The UAV can be classified into two categories:
Department of Control and Mechatronics,
Faculty of Electrical Engineering, Universiti Teknologi
fixed-wing aircraft and rotary-wing aircraft. When
Malaysia, 81310 Skudai, Johor, Malaysia compared with fixed-wing aircrafts, rotary-wing air-
e-mail: ariffanan@fke.utm.my crafts have advantageous characteristic which is the
J Intell Robot Syst

Fig. 3 Depiction of the velocity and position updates in PSO

linkages to vary the rotor blade pitch angle are not


Fig. 1 Quadrotor UAV configuration required. This simplifies the design of the vehicle, and
reduces maintenance time and cost. Besides, a quadro-
tor aircraft is much safer in terms of the rotors, which
are smaller and can be enclosed. This makes the vehi-
ability to take off and land vertically in a limited space. cles safer to interact with in close proximity and flight
Moreover, such types of aircrafts are able to hover at with low risk of damaging the vehicle, its operators, or
a fixed point that makes them suitable for applications its surroundings. Furthermore, quadrotors is an omni-
that may be impossible to be performed using fixed- directional type vehicle, and has almost no constraints
wing aircrafts [2]. There are many different types of on its motion. It can be flown in tight spaces and
rotary-wing aircrafts, such as conventional helicopter, does not require large safety distances to operate. One
the twin rotor or tandem rotor helicopter, the coax- drawback is that this type of UAV presents a weight
ial rotor helicopter and quadrotor helicopter. In this and energy consumption augmentation due to the extra
paper, it was decided to work on a vertical take-off motors, but the payload-to-power ratio is still advan-
and landing (VTOL) UAV in the quadrotor configura- tageous. These characteristics make the quadrotor a
tion due to its design advantageous. Quadrotors have good candidate to be utilized in the real life.
the advantage over conventional helicopters as they Nevertheless, these kinds of UAV is an underac-
can be controlled by varying the speed of the rotors. tuated multi-input and multi-output (MIMO) system
Thus, fixed-pitch blades can be used and mechanical which has nonlinear dynamic behavior such as high

Fig. 2 The movements of a


quadrotor: the arrow width
is proportional to rotor
speeds
J Intell Robot Syst

coupling degree and unknown nonlinearities. These of Lyapunov functions. The key idea of the backstep-
features make the controlling of the quadrotor a ping design is to select recursively some appropriate
very challenging problem. Therefore, an advanced state variables as virtual inputs for lower dimension
control strategy is required to achieve good perfor- subsystems of the overall system and the Lyapunov
mance in autonomous flight with high maneuverabil- functions are designed for each stable virtual con-
ity and robustness with respect to system uncertain- troller [22]. Therefore, the final designed actual con-
ties and external disturbances. Theoretically, many trol law can guarantee the stability of total control
methods have been proposed to control a quadrotor system.
UAV, such as linear quadratic regulator (LQR) con- The backstepping method can provide a desired
trol [3], proportional-integral-derivative (PID) control level of control system performance. However, it is
[4], fuzzy logic (FL) control [5], sliding mode control just limited to the nominal system i.e. the system
[6], backstepping control [7–10] and adaptive control dynamics and the external disturbance are exactly
[11–13]. known. To overcome this drawback, a robust back-
In this paper, the backstepping technique has stepping control (RBC) system has been proposed.
been used for stabilization and trajectory tracking of The developed RBC system comprises a backstep-
quadrotor UAV. The backstepping control scheme is a ping and a PD controller. Here, the PD controller
nonlinear control method based on the Lyapunov theo- is used to attenuate the effects caused by external
rem. The backstepping control design techniques have disturbances. Compared with only the backstepping
received great attention because of its systematic and control scheme [7], the present control approach has
recursive design methodology for nonlinear feedback the advantages of robust control, which makes this
control [14–21]. Unlike the feedback linearization approach attractive for a wide class of nonlinear sys-
method with the problems such as the precise model tems with the influences of external disturbances. In
requirement and the cancellation of useful nonlinear order to solve the problem of determining the control
terms, the backstepping approach offers a choice of design parameters, particle swarm optimization (PSO)
design tools for accommodation of nonlinearities, and algorithm has been used. PSO is one of the modern
can avoid unwanted cancellations. The advantage of heuristic algorithms based on population optimiza-
backstepping compared with other control methods tion algorithm which is first introduced by Kennedy
lies in its design flexibility, due to its recursive use and Eberhart [23]. The method has been motivated

Fig. 4 Pseudo-code of the


PSO algorithm PSO pseudo-code

01: begin
02: Randomly initialize particles swarm
03: while (number of iterations, or the stopping criterion is not met)
04: Evaluate fitness function of particle swarm
05: for n = 1 to number of particles
06: Find pbest
07: Find gbest
08: for d = 1 to number of dimension of particle
09: update the velocity and position of particles by Eq. (32) and Eq. (34), respectively
10: next d
11: next n
12: update the inertia weight value by Eq. (33)
13: next generation until stopping criterion
14: end
J Intell Robot Syst

Start

Generate initial populations


Eq. (30), (31)

For each iteration k

Update the backstepping


control parameters [ki=1…6 ] Quadrotor UAV

Desired Backstepping Output


Controller
Run the quadrotor control
model

Calculate the fitness


function J , Eq. (38), (39)

Find pbest of each particle


and gbest of population

Update the velocity and


position of particles
Eq. (32), (34)

Update inertia weight


Eq. (33)

No k > kmax

Yes

Display optimal parameters


of backstepping controller

Stop

Fig. 5 The flowchart of the PSO-based backstepping control parameters optimization

by the behavior of organisms, such as fish school- to compute the optimal parameters for the backstep-
ing and bird flocking. Generally, PSO is characterized ping controller of quadrotor systems. To objectively
as a simple concept, easy to implement, computa- evaluate the performance of PSO method, the opti-
tionally efficient and quick convergence. It also has mization technique of backstepping control param-
a flexible and well-balanced mechanism to enhance eters by using genetic algorithm (GA) such as the
the global and local exploration abilities [24]. The works published in [27, 28] is employed. The main
PSO algorithm has been used effectively on a wide advantage of the proposed method is that the struc-
range of engineering and computer science problems ture of the control system is simple but very effective.
[25, 26]. Thus, due to these advantages, PSO is used Furthermore, the nonlinear property of the dynamic
J Intell Robot Syst

Fig. 6 Block diagram of


the robust optimal
backstepping control system

system is well preserved, since the controller design Assumption 2: Aerodynamic effects can be ignored
does not require any linearization. The effectiveness of at low speed.
the proposed robust control scheme is verified by Assumption 3: The rotor dynamics are relatively fast
simulation results. and thus can be neglected.
Assumption 4: The quadrotor’s center of mass and
body-fixed frame origin coincides.
2 Quadrotor Systems Modeling
2.2 Quadrotor Dynamic Model
2.1 Quadrotor Description
Let consider earth fixed frame E = {xe , ye , ze } and
The quadrotor UAV, shown in Fig. 1, has four rotors body fixed frame B = {xb , yb , zb }, as seen in Fig. 1.
to generate the propeller forces Fi=1,2,3,4 . The four Let q = (x, y, z, φ, θ, ψ) ∈ R 6 be the generalized
rotors can be thought of as two pairs, (1,3)@(front, coordinates for the quadrotor, where (x, y, z) denote
back) and (2,4)@(left, right). Fig. 2 shows the various the absolute position of the rotorcraft and (φ, θ, ψ)
movements of a quadrotor due to rotor speeds are the three Euler angles (roll, pitch and yaw) that
changes.
In order to develop the model of the quadrotor,
reasonable assumptions are established in order to
accommodate the controller design. The assumptions
Table 2 The rotation controller parameters and fitness value of
are as follows: each optimal particle
Assumption 1: Quadrotor is a rigid body and has
Iteration no. Optimal parameters Fitness value
symmetric structure.
1 k1 = 12.82, k2 = 12.46 2.511e − 007
Table 1 Parameters of the quadrotor k3 = 13.69, k4 = 15.50
k5 = 15.53, k6 = 13.51
Parameter Description Value Units
3 k1 = 14.74, k2 = 13.74 1.696e − 007
g Gravity 9.81 m/s 2 k3 = 14.00, k4 = 14.29
m Mass 0.5 kg k5 = 15.44, k6 = 13.49
l Distance 0.2 m 7 k1 = 14.64, k2 = 14.14 7.312e − 008
Ixx Roll inertia 4.85 × 10−3 kg · m2 k3 = 14.38, k4 = 14.21
Iyy Pitch inertia 4.85 × 10−3 kg · m2 k5 = 14.61, k6 = 14.11
Izz Yaw inertia 8.81 × 10−3 kg · m2 20 k1 = 14.64, k2 = 14.14 7.312e − 008
b Thrust factor 2.92 × 10−6 k3 = 14.38, k4 = 14.21
d Drag factor 1.12 × 10−7 k5 = 14.61, k6 = 14.11
J Intell Robot Syst

Table 3 The position controller parameters and fitness value of The dynamic model of quadrotor is derived from
each optimal particle Newton-Euler approach. The translational dynamic
Iteration no. Optimal parameters Fitness value equations of quadrotor can be written as follows:

1 k7 = 14.85, k 8 = 13.32 0.1922 mξ̈ = −mgez + uT Rez (3)


k9 = 14.45, k 10 = 15.20
k11 = 15.39, k12 = 16.68 where m denotes the quadrotor mass, g the gravity
acceleration, ez = (0, 0, 1)T the unit vector expressed
5 k7 = 15.45, k 8 = 14.74 0.1741 in the frame E and uT the total thrust produced by the
k9 = 15.84, k 10 = 16.00 four rotors.
k11 = 15.33, k12 = 16.00
 
uT = 4
i=1 Fi =b 4 2
i=1 i (4)
9 k7 = 15.21, k 8 = 14.29 0.1543
k9 = 15.01, k 10 = 14.75 where Fi and i denote respectively, the thrust force
k11 = 15.42, k12 = 14.95 and speed of the rotor i and b is the thrust factor.
The orientation matrix R is given by:
20 k7 = 15.21, k 8 = 14.29 0.1543
k9 = 15.01, k 10 = 14.75 ⎛ ⎞
cθ cψ sφsθ cψ − cφsψ cφsθ cψ + sφsψ
k11 = 15.42, k12 = 14.95
R = ⎝ cθ sψ sφsθ sψ + cφcψ cφsθ sψ − sφcψ ⎠
−sθ sφcθ cφcθ
describe the orientation of the aerial vehicle. There- (5)
fore, the model could be separated in two coordi-
nate subsystems: translational and rotational. They are where s (·) and c (·) are abbreviations for sin(·) and
defined respectively by: cos(·), respectively.
The rotational dynamic equations of quadrotor can
ξ = (x, y, z) ∈ R 3 (1)
be written as follows:

η = (φ, θ, ψ) ∈ R 3 (2) I ω̇ = −ω × I ω − Ga + τ (6)

Fig. 7 The variations of rotation controller parameters by PSO versus number of iterations
J Intell Robot Syst

Fig. 8 The variations of position controller parameters by PSO versus number of iterations

⎛ ⎞ ⎛   ⎞
where I is the inertia matrix, ω × I ω and Ga are the τφ lb 24 − 22 
gyroscopic effect due to rigid body rotation and pro- τ = ⎝ τθ ⎠ = ⎝  lb 23 − 21 
⎠ (8)
peller orientation change respectively, while τ is the τψ d 22 + 24 − 21 − 23
control torque obtained by varying the rotor speeds.
Ga and τ are defined as: where Jr is the rotor inertia, l represent the distance
 from the rotors to the centre of mass and d is the drag
Ga = i=1 Jr (ω × ez ) (−1)
4 i+1
i (7)
factor.

Fig. 9 The convergence of fitness function (rotation) with number of iterations for GA and PSO
J Intell Robot Syst

Fig. 10 The convergence of fitness function (position) with number of iterations for GA and PSO

Then, by recalling Eqs. 3 and 6, the dynamic model Consequently, quadrotor is an underactuated sys-
of the quadrotor in terms of position (x, y, z) and tem with six outputs (x, y, z, φ, θ, ψ) and four control
rotation (φ, θ, ψ) is written as: inputs ( uT , τ φ τθ , τψ ).
Finally, the quadrotor dynamic model can be writ-
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
ẍ 0 cφ sθ cψ + sφ sψ ten in the following form:
1
⎝ ÿ ⎠ = ⎝ 0 ⎠ + ⎝ cφ sθ sψ − sφ cψ ⎠ uT (9)
m   1
z̈ −g cφ cθ
ẍ = Cφ Sθ Cψ + Sφ Sψ U1
m
  1

⎞⎛ J ⎞ ÿ = Cφ Sθ Cψ + Sφ Sψ U1
⎛ ⎞ Iyy −Izz m
θ̇ ψ̇ r
θ̇d
φ̈ ⎜
Ixx ⎟ ⎜ Ixx ⎟   1
⎜ Izz −Ixx ⎟
⎝ θ̈ ⎠ = ⎜ φ̇ ψ̇ ⎟ − ⎜ − r φ̇d
J ⎟ z̈ = −g + Cφ Cθ U1

Iyy ⎠ ⎝ Iyy ⎠ m
ψ̈ Ixx −Iyy 
θ̇ φ̇ Izz 0 Iyy − Izz Jr l
⎛ ⎞ φ̈ = θ̇ ψ̇ − θ̇d + U2
1 Ixx Ixx Ixx
Ixx τφ
⎜ ⎟ 
+⎜ 1 ⎟ Izz − Ixx Jr l
⎝ Iyy τθ ⎠ (10) θ̈ = φ̇ ψ̇ + φ̇d + U3
1 Iyy Iyy Iyy
Izz τψ 
Ixx − Iyy 1
θ̈ = θ̇ φ̇ + U4 (11)
where d = 2 + 4 − 1 − 3 . Izz Izz

Table 4 Comparison of results for 20 iterations of GA and PSO techniques

Technique Convergence rate (iteration number) Best fitness value

Rotation controller Position controller Rotation controller Position controller

GA 13 11 1.267e-7 0.2163
PSO 7 9 7.312e-8 0.1543
J Intell Robot Syst

Fig. 11 Wind force acting 30


on the quadrotor in the
20
lateral direction

Wind force (N)


10

-10

-20

-30
0 1 2 3 4 5 6 7 8 9 10
Time [s]

with a renaming of the control inputs as: X = [x1 x3 x5 x7 x9 x11 ]T = [z φ θ ψ x y]T (15)


U1 = b 21 + 22 + 23 + 24 δ = [δ1 δ3 δ5 δ7 δ9 δ11 ]T (16)


U2 = b 24 − 22 The bound of the external disturbance is assumed to
be given, that is |δ| ≤ β, where β is a given positive


U3 = b 23 − 21 constant. From Eqs. 11 and 15, the nonlinear dynamic
function f (X) and nonlinear control function g (X)


matrices can be written accordingly as:
U4 = d 22 + 24 − 21 − 23 (12)
⎛ ⎞
−g
⎜ θ̇ ψ̇a − θ̇a  ⎟
⎜ 1 2 d ⎟
3 Backstepping Control System for Quadrotor ⎜ ⎟
⎜ φ̇ ψ̇a3 + φ̇a4 d ⎟
f (X) = ⎜ ⎜ ⎟

The dynamic model (11) with the consideration of ⎜ θ̇ φ̇a5 ⎟
⎜ ⎟
external disturbance can be represented into nonlinear ⎝0 ⎠
dynamic equation described as follows: 0
⎛ ⎞
uz m1 0 0 0
Ẍ = f (X) + g (X) U + δ (13) ⎜ ⎟
⎜ 0 b1 0 0 ⎟
⎜ ⎟
⎜ 0 0 b2 0 ⎟
⎜ ⎟
where U, X and δ are respectively the input, state and g (X) = ⎜ ⎟ (17)
⎜ 0 0 0 b3 ⎟
external disturbance vector given as follows: ⎜ ⎟
⎜u 1 0 0 0 ⎟
⎝ xm ⎠
U = [U1 U2 U3 U4 ]T (14) uy m1 0 0 0

Fig. 12 Wind force acting 30


on the quadrotor in the
20
longitudinal direction
Wind force (N)

10

-10

-20

-30
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 13 Altitude/attitude of Z position Roll angle


the hovering quadrotor 5.1 0.2
Desired
using OBC at case 1 5.05 Output

Roll [rad]
0.1

z [m]
5
0
4.95

4.9 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
Pitch angle Yaw angle
0.2 0.2

Pitch [rad]

Yaw [rad]
0.1 0.1

0 0

-0.1 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

 
with the abbreviations a1 = Iyy − Izz /Ixx , a2 = each one of the six controllable degree of freedom
Jr /Ixx , a3 = (Izz − Ixx ) /Iyy , a4 = Jr /Iyy , (DOF), for simplicity only one DOF is considered.
The design of ideal backstepping control (IBC) is
  described step-by-step as follows:
a5 = Ixx − Iyy /Izz , b1 = l/Ixx , b2 = l/Iyy ,
 
b3 = 1/Izz , ux = cφ sθ cψ + sφ sψ ,
    Step 1: Define the tracking error:
uy = cφ sθ sψ − sφ cψ , uz = cφ cθ
e1 = x1d − x1 (18)
The control objective is to design a suitable control
law so that the state trajectory X of the quadro- where x1d is a desired trajectory specified by a ref-
tor system can track a desired reference trajectory erence model. Then the derivative of tracking error
Xd = [x1d x3d x5d x7d x9d x11d ]T despite the pres- can be represented as:
ence of external disturbance. Since the description of
the control system design of the vehicle is similar for ė1 = ẋ1d − ẋ1 (19)

Fig. 14 x − y fixed 6
position hovering using Desired
OBC at Case 1 5.8 Output

5.6

5.4

5.2
y(m)

4.8

4.6

4.4

4.2

4
4 4.2 4.4 4.6 4.8 5 5.2 5.4 5.6 5.8 6
x(m)
J Intell Robot Syst

Fig. 15 Control inputs of 5 5


the hovering quadrotor
using OBC at Case 1 4.8

U2 [N]
U1 [N]
0
4.6

4.4 -5
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

2 1

1 0.5

U3 [N]

U4 [N]
0 0

-1 -0.5

-2 -1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

The first Lyapunov function is chosen as: By substituting the virtual control by its desired
value, Eq. 21 then becomes:
1 2
V1 (e1 ) = e (20) V̇1 (e1 ) = −k1 e12 ≤ 0 (23)
2 1
The derivative of V1 is: Step 2: The deviation of the virtual control from its
desired value can be defined as:
V̇1 (e1 ) = e1 ė1 = e1 (ẋ1d − ẋ1 ) (21)
e2 = ẋ1 − α1 = ẋ1 − ẋ 1d − k1 e1 (24)
ẋ1 can be viewed as a virtual control. The desired The derivative of e2 is expressed as:
value of virtual control known as a stabilizing
function can be defined as follows: ė2 = ẍ1 − α̇1
= f (x1 ) + g (x1 ) u1 + δ1 − ẍ1d − k1 ė1 (25)
α1 = ẋ1d + k1 e1 (22)
The second Lyapunov function is chosen as:
where k1 is a positive constant and should be 1 2 1 2
V2 (e1 , e2 ) = e + e (26)
determined by the PSO algorithm. 2 1 2 2

Fig. 16 Altitude/attitude of Z position Roll angle


the hovering quadrotor 5.1 0.2
using OBC at Case 2 Desired
5.05 Output
Roll [rad]

0.1
z [m]

5
0
4.95

4.9 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
Pitch angle Yaw angle
0.2 0.2
Pitch [rad]

Yaw [rad]

0.1 0.1

0 0

-0.1 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
J Intell Robot Syst

Fig. 17 x − y fixed 6
position hovering using Desired
OBC at Case 2 5.8 Output

5.6

5.4

5.2

y(m)
5

4.8

4.6

4.4

4.2

4
4 4.2 4.4 4.6 4.8 5 5.2 5.4 5.6 5.8 6
x(m)

Finding derivative of Eq. 26 yields: where k2 is a positive constant and should be also
determined by the PSO algorithm. The term k2 e2 is
V̇2 (e1 , e2 ) = e1 ė1 + e2 ė2 added to stabilize the tracking error e1 .
= e1 (ẋ1d − ẋ1 ) + e2 (ẍ1 − α̇1 ) Substituting Eq. 28 into Eq. 27, the following
= e1 (−e2 − k1 e1 ) + e2 (f (x1 ) equation can be obtained:
+g (x1 ) u1 + δ1 − ẍ1d − k1 ė1 )
= −k1 e12 +e2 (−e1 +f (x1 )+g (x1 ) u1
V̇2 (e1 , e2 ) = −k1 e12 − k2 e22 = −E T KE ≤ 0 (29)
+δ1 − ẍ1d − k1 ė1 ) (27)

Step 3: Assuming the external disturbance is well


known, an IBC can be obtained as: where E = [e1 e2 ]T and K = diag (k1 , k2 ).
Since V̇2 (e1 , e2 ) ≤ 0, V̇2 (e1 , e2 ) is negative semi-
1 definite.
u1(I B) = (e1 + k 1 ė1 + ẍ1d −f (x1 )−δ1 −k2 e2 )
g (x1 ) Therefore, the IBC in Eq. 28 will asymptotically
(28) stabilize the system.

Fig. 18 Control inputs of 50 5


the hovering quadrotor
using OBC at Case 2
U1 [N]

U2 [N]

0 0

-50 -5
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

2 2

1 1
U3 [N]

U4 [N]

0 0

-1 -1

-2 -2
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
J Intell Robot Syst

Fig. 19 Altitude/attitude of Z position Roll angle


the hovering quadrotor 5.1 0.2
Desired
using ROBC at Case 1 5.05 Output

Roll [rad]
0.1

z [m]
5
0
4.95

4.9 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
Pitch angle Yaw angle
0.2 0.2

Pitch [rad]

Yaw [rad]
0.1 0.1

0 0

-0.1 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

4 Backstepping Control Parameters Optimization from their successful peers. Further, each particle has
a memory and hence it is capable of remembering the
4.1 Overview of Particle Swarm Optimization best position in the search space ever visited by it. The
position corresponding to the best fitness is known as
The PSO method is a member of wide category of pbest and the overall best out of all the particles in the
swarm intelligence methods for solving the optimiza- population is called gbest.
tion problems. It is a population based search algo- The basic PSO algorithm consists of three steps,
rithm where each individual is referred to as particle namely, generating particles’ positions and velocities,
and represents a candidate solution. Each particle in velocity update, and finally, position update. Here,
PSO moves through the search space with an adapt- a particle refers to a point in the design space that
able velocity that is dynamically modified according changes its position from one move (iteration) to
to its own moving experience and also to the moving another based on velocity updates. First, the positions,
experience of the other particles. In PSO each parti- xik and velocities, vik of the initial swarm of parti-
cles strive to improve themselves by imitating traits cles are randomly generated using upper and lower

Fig. 20 x − y fixed 6
position hovering using Desired
ROBC at Case 1 5.8 Output

5.6

5.4

5.2
y(m)

4.8

4.6

4.4

4.2

4
4 4.2 4.4 4.6 4.8 5 5.2 5.4 5.6 5.8 6
x(m)
J Intell Robot Syst

Fig. 21 Control inputs of 5 5


the hovering quadrotor
using ROBC at Case 1 4.8

U1 [N]

U2 [N]
0
4.6

4.4 -5
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

2 1

1 0.5

U3 [N]

U4 [N]
0 0

-1 -0.5

-2 -1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

bounds on the design variables values, xmin and xmax The fitness function value of a particle determines
as expressed in Eqs. 30 and 31 [29]. which particle has the best global value in the current
swarm, gbest and also determines the best position of
xi0 = xmin + rand(xmax − xmin ) (30)
each particle over iteration, pbest i.e. in current and
all previous moves. For example, in a case to find the
vi0 = [xmin + rand(xmax − xmin )]/ t (31) solution represented by the position of a particle x0
Here, the positions and velocities are given in a vec- and x1 so that the value of the fitness function f = 3
tor format with the subscript and superscript denoting + x02 + x12 is minimized. Let say that the position of
the ith particle at iteration k, respectively. In Eqs. 30 a current particle is x0 = 3 and x1 = 7, which corre-
and 31, rand is a uniformly distributed random vari- sponding to a fitness of 3 + 32 + 72 = 61. The pbest
able that can take any value between 0 and 1. This is updated by comparing the current and previous fit-
initialization process allows the swarm particles to be ness value, while the gbest is updated by comparing
randomly distributed across the design space. the pbest and gbest fitness value. Suppose the previous
The second step is to update the velocities of all fitness value is 100 and the gbest fitness value is 32
particles at iteration k + 1 using the particles objective which corresponding to particle’s position x0 = 2 and
or fitness values which are functions of the particles x1 = 5. Therefore, the position of the current particle
current positions in the design space at iteration k. (x0 = 3 and x1 = 7) is assigned as pbest since it gives

Fig. 22 Altitude/attitude of Z position Roll angle


the hovering quadrotor 5.1 0.2
using ROBC at Case 2 Desired
5.05 Output
Roll [rad]

0.1
z [m]

5
0
4.95

4.9 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
Pitch angle Yaw angle
0.2 0.2
Pitch [rad]

Yaw [rad]

0.1 0.1

0 0

-0.1 -0.1
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
J Intell Robot Syst

Fig. 23 x − y fixed 6
position hovering using Desired
ROBC at Case 2 5.8 Output

5.6

5.4

5.2

y(m)
5

4.8

4.6

4.4

4.2

4
4 4.2 4.4 4.6 4.8 5 5.2 5.4 5.6 5.8 6
x(m)

better (smaller) fitness value than previous particle. shown in Eq. 32 with three weight factors, namely,
Meanwhile, the gbest is maintained since its fitness inertia factor, w self confidence factor, c1 and swarm
value is better than pbest. confidence factor, c2 ,respectively.
The velocity update formula uses these two pieces

of information for each particle in the swarm along vik+1 = w · vik + c1 · rand · pbest − xik
with the effect of current motion, vik to provide a +c2 · rand · (gbest − xik ) (32)
search direction, vik+1 for the next iteration. The veloc-
ity update formula includes some random parameters, Appropriate value ranges for c1 and c2 are 1-2, but
represented by the uniformly distributed variables, 2 is the most appropriate in many cases. The following
rand, to ensure good coverage of the design space and inertia weight is used [30]:
avoid entrapment in local optima. The three values 
w = wmax − (wmax − wmin ) k kmax (33)
that effect the new search direction, namely, cur-
rent motion, particle own memory, and swarm influ- where kmax and k is the maximum number of itera-
ence, are incorporated via a summation approach as tions and the current number of iterations, respectively.

Fig. 24 Control inputs of 50 5


the hovering quadrotor
using ROBC at Case 2
U1 [N]

U2 [N]

0 0

-50 -5
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]

2 2

1 1
U3 [N]

U4 [N]

0 0

-1 -1

-2 -2
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
J Intell Robot Syst

Table 5 Quantitative comparison between OBC and ROBC for stabilization problem

Case Control scheme IAE

x y z φ θ ψ

1 OBC 0 0 1.207e-4 2.701e-2 2.610e-2 2.655e-2


ROBC 0 0 1.193e-4 2.016e-2 2.014e-2 2.008e-2
2 OBC 1.722 2.064 4.012e-1 1.147e-1 1.136e-1 4.208e-1
ROBC 0.1254 0.1511 3.473e-4 2.165e-2 2.163e-2 2.311e-2

Where, wmin and wmax are the minimum and max- 1 in Eq. 35 represents the rotation subsystem related
imum weights respectively. Appropriate values for with the dynamics of UAV roll motion φ, pitch motion
wmin and wmax are 0.4 and 0.9, respectively [31]. θ and yaw motion ψ. 2 in Eq. 36 represents the
Position update is the last step in each iteration. The position subsystem related with the dynamics of UAV
Position of each particle is updated using its velocity longitude motion x, latitude motion y and altitude
vector as shown in Eq. 34 and depicted in Fig. 3 motion z. Hence, the control scheme advocated for the
overall system is then logically divided in a rotation
xik+1 = xik + vik+1 (34)
controller and a position controller.
The three steps of velocity update, position update, In the previous section a controller (28) has been
and fitness calculations are repeated until a desired designed to stabilize one DOF of the overall sys-
convergence criterion is met. The pseudo-code of the tem. The coefficients k1 , k2 are control parameters
PSO algorithm is shown in Fig. 4. and need to be positive to satisfy stability criteria.
In conventional backstepping method, these parame-
4.2 Optimal Backstepping Control System ters are selected by trial and error. It is also possible
The dynamic model in Eq. 11 can be divided into two if the parameters are properly chosen, but it cannot
subsystems 1 and 2 , listed as follows: be said that the optimal parameters are selected. To

overcome this drawback, this paper adopts the PSO
⎪ Iyy −Izz

⎪ φ̈ = θ̇ ψ̇ − Jr θ̇d + Ixx
l
U2 for determining the optimal value of the backstep-

Ixx Ixx
Izz −Ixx Jr ping control parameters. The PSO is utilized off line
1 : θ̈ = φ̇ ψ̇ + φ̇d + Iyy U3
l
(35)


Iyy Iyy to determine the backstepping controller parameters.
⎪ −I
⎩ ψ̈ = θ̇ φ̇ xx yy + 1 U4
I
Izz Izz The performance of the controller varies according to
⎧  1 adjusted parameters. Since the optimal backstepping
⎨ ẍ = cφ sθ cψ + sφ sψ  m U1 control (OBC) aims to improve the control perfor-
2 : ÿ = cφ sθ sψ − sφ cψ m1 U1 (36) mance yielded by a backstepping controller, it keeps
⎩  
z̈ = −g + cφ cθ m1 U1 the simple structure of the backstepping controller.

Fig. 25 Altitude tracking


response due to periodic
rectangular function using
OBC at Case 1
J Intell Robot Syst

Fig. 26 Altitude tracking Z position


response due to periodic 2.5
rectangular function using
OBC at Case 2 2

1.5

z [m]
1

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]

As aforementioned, the rotation and position subsys- For the rotation controller, PSO algorithm is uti-
tem are comprised of three DOF. Then there are in lized to minimize the fitness function JR , expressed
sum six control parameters that need to be selected as:
simultaneously for each subsystem.
In the present study, an integral absolute error JR = I AE R · W (38)
(IAE) is utilized to judge the performance of the con-
and for the position controller, PSO algorithm is uti-
troller. IAE criterion is widely adopted to evaluate the
lized to minimize the fitness function JP , expressed
dynamic performance of the control system [32]. The
as:
index IAE is expressed as follows:
JP = I AE P · W (39)
t
I AE = |e(t)| dt (37) where W = [W1 W2 W 3 ]T is weighting vector used
0 to set the priority of the multiple objective perfor-
mance index (MOPI) parameters and the value of “W ”
Since the system is comprised of two subsys- varies from 0 to 1. In this case, equal weights for
tems, hence a vector integral absolute error for the three objectives to be met by the each controller
the rotation subsystem is taken as I AE R = are considered as such the minimizations of the error
[I AE φ I AE θ I AE ψ ], where the subscripts are indexes are equally important. For fitness function cal-
denoted for roll, pitch and yaw, respectively. Mean- culation, the time-domain simulation of the quadrotor
while, a vector integral absolute error for the position system model is carried out for the simulation period,
subsystem is taken as I AE P = [I AE x I AE y I AE z ], t. It is aimed to minimize this fitness function in order
where the subscripts are denoted for longitude, to improve the system response in terms of the steady-
latitude and altitude, respectively. state errors. The PSO based approach to find out the

Fig. 27 Control inputs for 50


altitude tracking of
rectangular function using
OBC at Case 1 25
U1 [N]

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 28 Control inputs for 50


altitude tracking of
rectangular function using
OBC at Case 2 25

U1 [N]
0

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]

optimal set of backstepping controller parameters is Now, it can be concluded that the system will be
shown in Fig. 5. asymptotically stable (V̇2 ≤ 0) if e2 is tend to zero as
the time goes to infinity, which means limt→∞ e2 = 0.
From Eq. 24, it can be found that |e2 | can be defined
5 Robust Optimal Backstepping Control System in the form of proportional and derivative of e1 as
follows:
The optimized IBC (28) effort cannot ensure the
favorable control performance if unpredictable pertur- |e2 | = |−(k1 e1 + ė1 )| = |k1 e1 + ė1 | (42)
bations from the unknown external disturbance occur.
Thus, auxiliary control effort should be designed to From Eq. 42, Eq. 41 can be rewritten in the form of:
eliminate the effect of the unpredictable perturbations.
V̇2 (e1 , e2 ) = −k1 e12 − k2 e22 + δ1 |k1 e1 + ė1 | (43)
The backstepping control effort for the nominal model
(δ = 0) is formulated as follows: Hence, the auxiliary control effort can be designed as
PD control effort such that the effect of the perturba-
1 tions can be vanished. The PD control signal is given
u1(B) = (e1 + k 1 ė1 + ẍ1d − f (x1 ) − k2 e2 )
g (x1 ) as follows:
(40)
u1(P D) = λ1 e1 + λ2 ė1

Substituting the backstepping control from Eq. 44, λ1
= λ2 e1 + ė1 (44)
Eq. 31 becomes: λ2

where λ1 and λ2 are proportional and derivative gain


V̇2 (e1 , e2 ) = −k1 e12 − k2 e22 + δ1 e2 (41) respectively. The value of gains should be chosen in

Fig. 29 Altitude tracking Z position


response due to periodic 2.5
trapezoidal function using
OBC at Case 1 2

1.5
z [m]

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 30 Altitude tracking Z position


response due to periodic 2.5
trapezoidal function using
OBC at Case 2 2

1.5

z [m]
1

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]

such a way that V̇2 ≤ 0 is satisfied. As aforemen- Finally, the control inputs U1 , U2 , U3 and U4 for
tioned, it is assumed that δ is bounded with β. By the quadrotor dynamic systems can be defined as
choosing −λ2 ≥ β and λ1 = k1 λ2 then V̇2 ≤ 0 can be follows:
satisfied.
Totally, the robust optimal backstepping control m
U1 = (e1 + k 1 ė1 + ẍ1d + g − k2 e2 )
(ROBC) law for one DOF of quadrotor nonlinear sys- cφ cθ

tems with the present of external disturbance, which λ1
+λ2 e1 + ė1
guarantees the stability and convergence, can be gen- λ2
erally represented as: 1  
U2 = e3 +k 3 ė3 + ẍ3d − θ̇ ψ̇a1 + θ̇a2 d −k4 e4
b1 
λ3
ui = ui(B) + ui(P D) +λ4 e3 + ė3
λ4
1 1  
u1 = (e1 + k 1 ė1 + ẍ1d − f (x1 ) − k2 e2 ) U3 = e5 +k 5 ė5 + ẍ5d − φ̇ ψ̇a3 − φ̇a4 d − k6 e6
g (x1 ) b2 
 λ5
λ1 +λ6 e5 + ė5
+λ2 e1 + ė1 ; (f or i = 1) (45) λ6
λ2 1  
U4 = e7 + k 7 ė7 + ẍ7d − θ̇ φ̇a5 − k8 e8
b3 
The control laws for the other states or DOF can be λ7
+λ8 e7 + ė7 (46)
obtained by performing the same steps. λ8

Fig. 31 Control inputs for 50


altitude tracking of
trapezoidal function using
OBC at Case 1 25
U1 [N]

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 32 Control inputs for 50


altitude tracking of
trapezoidal function using
OBC at Case 2 25

U1 [N]
0

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]

The configuration of the proposed control system is In this study, the following values are assigned for
depicted in Fig. 6. controller parameters optimization:
i Dimension of the search space = 6 ( i.e., ki=1...6
or ki=7...12 );
6 Simulation Results
ii Population/swarm size = 15;
iii The number of maximum iteration = 20;
In this section, the performance of the proposed
iv The self and swarm confident factor, c1 and
approach is evaluated. The corresponding algorithm
c2 = 2;
is implemented in MATLAB/SIMULINK simula-
v The inertia weight factor w is set by Eq. 33,
tion environment. The quadrotor system is modeled
where wmax = 0.9 and wmin = 0.4;
in SIMULINK and the PSO algorithm is imple-
vi The searching ranges for the backstepping
mented in MATLAB. The model parameter values
parameters are limited to [0, 20];
of the quadrotor system are taken from [33] and
vii The simulation time, t is equal to 10s;
listed in Table 1. The controller parameter opti-
viii Optimization process is repeated for 20 times;
mization implemented in MATLAB is carried out
at first. Then, the identified parameter values are The finest set of values among the simulation runs
transferred to the controller in the quadrotor sys- is selected as the best optimized controller value. The
tem developed in MATLAB/SIMULINK for further parameter and fitness values of each particle during
evaluation. the simulation for the rotation and position controller

Fig. 33 Altitude tracking Z position


response due to periodic 2.5
rectangular function using
ROBC at Case 1 2

1.5
z [m]

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 34 Altitude tracking Z position


response due to periodic 2.5
rectangular function using
ROBC at Case 2 2

1.5

z [m]
1

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]

are summarized in Tables 2 and 3 respectively. For the performance of both PSO and GA in terms of con-
rotation controller, the best fitness value is 7.312e − vergence rate and best fitness value obtained are
008 appeared in iteration number 7, and the opti- compared. To ensure a fair evaluation for the both
mal parameters are k1 = 14.64, k2 = 14.14, k3 = methods, similar simulation conditions used in PSO
14.38, k4 = 14.21, k5 = 14.61 and k6 = 14.11. The algorithm, i.e. population size, maximum iteration
variations of backstepping control parameters with number, search ranges, simulation time and optimiza-
respect to the number of iterations are shown in Fig. 7. tion process are maintained. The crossover rate is
Meanwhile, for the position controller, the best fitness chosen to be 0.9, while the mutation rate is set at 0.1.
value is 0.1543 appeared in iteration number 9, and the The variation of the fitness functions for rotation
optimal parameters are k7 = 15.21, k8 = 14.29, k9 = and position controller with number of iterations by
15.01, k10 = 14.75, k11 = 15.42 and k12 = 14.95. GA and PSO can be found in Figs. 9 and 10, respec-
The variations of backstepping control parameters tively. It is clear from these figures that, for the
with respect to the number of iterations are shown in optimization problem considered, PSO converge at a
Fig. 8. As can be seen for both control parameters opti- faster rate (at iteration number 7 and 9) compared to
mization, through about 20 iterations, the PSO method that for GA (at iteration number 13 and 11). Further-
can prompt convergence and obtain good fitness value. more, it is also can be seen that, the fitness value
These results show that the PSO approach can search obtained by PSO is less compared to GA. This indi-
optimal backstepping controller parameters quickly cates that, PSO can provide better optimal values of
and efficiently. In addition, for the purpose of com- backstepping control parameters rather than GA.
parison, the genetic algorithm (GA) technique used Table 4 summarizes the convergence rate and best
in literature [27, 28] is also adopted to compute the fitness value obtained by PSO and GA in the 20 iter-
optimal parameters of backstepping controller. The ations. From the results presented in this table, it can

Fig. 35 Control inputs for 50


altitude tracking of
rectangular function using
ROBC at Case 1 25
U1 [N]

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 36 Control inputs for 50


altitude tracking of
rectangular function using
ROBC at Case 2 25

U1 [N]
0

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]

be deduced that PSO performs better compared to fixed position. The desired altitude/attitude is given
GA in terms of the convergence rate and best fitness by xid = [zd , φd , θd , ψd ] = [5, 0, 0, 0]T . The ini-
value obtained in the 20 iterations which indicating the tial states are given by z = 5, φ = 0.2, θ = 0.2
drawbacks of GA method as reported in [34]. and ψ = 0.2. In the simulation, first, the optimized
To explore the effectiveness of the proposed backstepping control system is considered. The sim-
robust optimal backstepping controller, two simula- ulation results of the OBC system for stabilizing a
tion experiments have been performed on the quadro- hovering quadrotor in fixed position [x, y = 5, 5m] at
tor. In the first experiment, the simulation results of Case 1 are depicted in Fig. 13 and the corresponding
the proposed controller in a stabilizing problem are x−y position is given in Fig. 14. The control inputs
given. In the second, the performance of the scheme is are shown in Fig. 15. From the simulation results, the
investigated in a tracking problem. Two test conditions OBC system is able to stabilize the quadrotor in hover
are provided, which are the nominal case (Case 1) and mode at Case 1. However, the degenerate performance
the external disturbance case (Case 2). The external responses shown in Figs. 16 and 17 are resulted under
disturbance is generated as forces produced by wind the occurrence of external disturbance (case 2). It can
that is modeled using Dryden Wind-Gust model [35]. be seen that in Fig. 17, the quadrotor is unable to
The wind disturbances in the lateral and longitudinal hover at a fixed x − y position. The control inputs
direction are shown in Figs. 11 and 12, respectively. for OBC at Case 2 are shown in Fig. 18. Under the
same simulation cases, the ROBC system is simu-
6.1 Simulation Experiment 1: Stabilizing Problem lated. The simulation results for stabilizing a hovering
quadrotor at Case 1 are depicted in Fig. 19 and the
In this simulation experiment, the control objective corresponding x − y position is shown in Fig. 20. The
is to regulate a quadrotor at a certain desired alti- control inputs are given in Fig. 21. From the simu-
tude/attitude, such that the quadrotor can hover at a lation results, the robust control performance of the

Fig. 37 Altitude tracking Z position


response due to periodic 2.5
trapezoidal function using
ROBC at Case 1 2

1.5
z [m]

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 38 Control inputs for 50


altitude tracking of
trapezoidal function using
ROBC at Case 1 25

U1 [N]
0

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]

proposed ROBC system in the quadrotor stabilization due to a periodic rectangular function at the nomi-
can be observed. It can be clearly seen that the quadro- nal condition (Case 1) and external disturbance con-
tor can be maintained at the desired altitude/attitude dition (Case 2) are depicted in Figs. 25 and 26,
and fixed x − y position, that is, the hovering flight respectively. The control inputs for both cases are
is stable even if the external disturbance is exerted shown in Figs. 27 and 28. Meanwhile, the tracking
as shown in Figs. 22 and 23. The control inputs for responses due to a periodic trapezoidal function at
ROBC at Case 2 are shown in Fig. 24. For quantitative the nominal condition and external disturbance condi-
comparison between two methods, integral absolute tion are depicted in Figs. 29, and 30, respectively. The
error (IAE) is used as the criterion. Table 5 shows the corresponding control inputs are respectively shown
IAE values of the simulation results using the OBC in Figs. 31 and 32. From the simulation results,
and ROBC approach. From the comparison, it can be the quadrotor is able to track the desired reference
seen that the performance is improved in all the cases trajectories at case 1 by OBC system as shown
when using the ROBC as compared to the OBC. in Figs. 25 and 29. However, the degenerate per-
formance response shown in Figs. 26 and 30 are
6.2 Simulation Experiment 2: Tracking Problem resulted under the occurrence of external disturbance.
Under the same simulation cases, the ROBC sys-
In this simulation experiment, the control objective tem is simulated. The simulation results for track-
is to maintain the system to track the desired alti- ing a periodic rectangular function at the nomi-
tude trajectory with different reference signals. First, nal condition and external disturbance condition are
the OBC system is simulated. The tracking responses depicted in Figs. 33 and 34, respectively. The cor-

Fig. 39 Altitude tracking Z position


response due to periodic 2.5
trapezoidal function using
ROBC at Case 2 2

1.5
z [m]

0.5 Desired
Output

0
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 40 Control inputs for 50


altitude tracking of
trapezoidal function using
ROBC at Case 2 25

U1 [N]
0

-25

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]

responding control inputs are respectively shown in turning circle maneuver is an important practical
Figs. 35 and 36. Meanwhile, the tracking responses trajectory maneuver that the quadrotor needs to
due to a periodic trapezoidal function at the nominal perform, the control performance of circle trajec-
condition and external disturbance condition are tory tracking is examined. The desired trajectory is
depicted in Figs. 37 and 38, respectively. The cor- generated using the following command:
responding control inputs are respectively shown in 
xd = 5 sin (t) ,
Figs. 39 and 40. From the simulation results, the (47)
yd = 5 cos (t) .
robustness of the proposed control scheme in track-
ing the desired reference trajectories can be ascer- The initial state of the quadrotor is set to be
tained as illustrated in Figs. 34 and 38. To fur- [x0 , y0 ] = [5, 5]m. The simulation results of
ther highlight the advantage of the proposed con- x − y position tracking for both OBC and ROBC
trol structure, the OBC and ROBC for x − y approach under the occurrence of external distur-
position tracking is simulated. Considering that the bance are respectively shown in Figs. 41 and 42. The

Fig. 41 x − y position 12
circle trajectory tracking Output
response using OBC at End position Desired
Case 2
10

6
Wind
y(m)

Initial position
4

Wind
2

-2
-2 0 2 4 6 8 10 12
x(m)
J Intell Robot Syst

Fig. 42 x − y position 12
circle trajectory tracking Output
response using ROBC at End position Desired
Case 2
10

6
Wind

y(m)
Initial position
4

Wind
2

-2
-2 0 2 4 6 8 10 12
x(m)

corresponding control inputs are respectively shown obviously that the ROBC can give small tracking
in Figs. 43 and 44. As it can be seen, the proposed error and good tracking performance compared to
control scheme can track the desired reference tra- OBC. In order to have a quantitative comparison of
jectory accurately despite external disturbance. It is tracking error, IAE of two methods has been reported.

Fig. 43 Control inputs for 50


z − x − y displacement
U1 [N]

using OBC at Case 2 0

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]
0.05
U2 [N]

-0.05
0 1 2 3 4 5 6 7 8 9 10
Time [s]
0.05
U3 [N]

-0.05
0 1 2 3 4 5 6 7 8 9 10
Time [s]
J Intell Robot Syst

Fig. 44 Control inputs for 50


z − x − y displacement

U1 [N]
using ROBC at Case 2 0

-50
0 1 2 3 4 5 6 7 8 9 10
Time [s]
0.5

U2 [N]
0

-0.5
0 1 2 3 4 5 6 7 8 9 10
Time [s]
0.5

U3 [N]
0

-0.5
0 1 2 3 4 5 6 7 8 9 10
Time [s]

Table 6 Quantitative comparison between OBC and ROBC for tracking problem

Control scheme IAE

Rectangular Trapezoidal Circle Trajectory

Case 1 Case 2 Case 1 Case 2 Case 2

OBC 0.786 1.131 0.178 0.5417 10.788


ROBC 0.1907 0.1987 0.03311 0.04152 0.8775

According to the Table 6, it can be observed that the disturbances. PSO algorithm has been utilized to
proposed ROBC gives lower IAE value as compared to determine the controller parameters. Finally, the pro-
OBC. It is evident from the simulation results that the posed control scheme is applied to autonomous
proposed method yields robust and superior control quadrotor UAV. Simulation results show that high-
performances. precision transient and tracking response can be
achieved by using the proposed control system.

7 Conclusions
References
In this paper, the application of a robust controller
for stabilization and trajectory tracking of a quadrotor 1. Salazar-Cruz, S., Escareno, J., Lara, D., Lozano,
UAV perturbed by external disturbances is success- R.: Embedded control system for a four-rotor UAV.
Int. J. Adap. Control Sig. Process. 21(2-3), 189–
fully demonstrated. First, the mathematical model
204 (2007)
of the quadrotor is introduced. Then, the proposed 2. Bouabdallah, S., Murrieri, P., Siegwart, R.: Design and con-
robust control system comprises a backstepping and a trol of an Indoor micro quadrotor. In: Proceedings of IEEE
PD controller is developed. The backstepping control International Conference on Robotics and Automation, pp.
4393–4398 (2004)
design is derived based on Lyapunov function, so that
3. Castillo, P., Lozano, R., Dzul, A.: Stabilization of a mini
the stability of the system can be guaranteed, while rotorcraft with four rotors. IEEE Control Syst. Mag. 25(6),
PD control is used to attenuate the effects caused by 45–55 (2005)
J Intell Robot Syst

4. Salih, A.L., Moghavvemi, M., Mohamed, H.A.F., Gaeid, 20. Hu, Q., Xu, L., Zhang, A.: Adaptive backstepping trajec-
K.S.: Modelling and PID controller design for a quadrotor tory tracking control of robot manipulator. J. Frankl. Inst.
unmanned air vehicle. In: IEEE International Conference 349(3), 1087–1105 (2012)
on Automation Quality and Testing Robotics (AQTR), pp. 21. Hamida, M.A., Glumineau, A., De Leon, J.: Robust
1-5, 28-30 May 2010 (2010) integral backstepping control for sensorless IPM syn-
5. Santos, M., López, V., Morata, F.: Intelligent fuzzy con- chronous motor controller. J. Frankl. Inst. 349(5), 1734–
troller of a quadrotor. In: IEEE International Conference on 1757 (2012)
Intelligent Systems and Knowledge Engineering (ISKE), 22. Krstic, M., Kanellakopoulos, I., Kokotovic, P.: Nonlinear
pp. 141–146 (2010) and adaptive control design, Vol. 222. Wiley New York
6. Xu, R., Ozguner, U.: Sliding mode control of a quadrotor (1995)
helicopter. In: IEEE Conference on Decision and Control, 23. Kennedy, J., Eberhart, R.: Particle swarm optimization. In:
pp. 4957–4962 (2006) Proceedings of IEEE International Conference on Neural
7. Madani, T., Benallegue, A.: Backstepping Control for a Networks, pp. 1942–1948 (1995)
Quadrotor Helicopter. In: IEEE/RSJ International Confer- 24. Abido, M.: Optimal design of power-system stabilizers
ence on Intelligent Robots and Systems, pp. 3255–3260, using particle swarm optimization. IEEE Trans. Energy
9–15 Oct 2006 (2006) Convers. 17(3), 406–413 (2002)
8. Bouadi, H., Bouchoucha, M., Tadjine, M.: Modelling and 25. Rini, D.P., Shamsuddin, S.M., Yuhaniz, S.S.: Particle
stabilizing control laws design based on backstepping for swarm optimization: Technique, system and challenges. Int.
an UAV type-quadrotor. In: Proceedings of the IFAC Sym- J. Comput. Appl. 14(1), 19–27 (2011)
posium on Intelligent Autonomous Vehicles, pp. 245–250, 26. Marinaki, M., Marinakis, Y., Stavroulakis, G.E.: Fuzzy
Toulouse (2007) control optimized by a multi-objective particle swarm
9. Raffo, G.V., Ortega, M.G., Rubio, F.R.: Backstep- optimization algorithm for vibration suppression of
ping/nonlinear H∞control for path tracking of a quadrotor smart structures. Struct. Multidiscip. Optim. 43(1), 29–
unmanned aerial vehicle. In: American Control Conference, 42 (2011)
pp. 3356–3361, 11–13 June 2008 (2008) 27. Witkowska, A., Smierzchalski, R.: Nonlinear backstepping
10. Regula, G., Lantos, B.: Backstepping based control design ship course controller. Int. J. Autom. Comput. 6(3), 277–
with state estimation and path tracking to an indoor quadro- 284 (2009)
tor helicopter. Electr. Eng. Comput. Sci. 53(3-4), 151–161 28. Sahab, A.R., Modabbernia, M.R.: Back stepping method
(2011) for a single-link flexible-joint manipulator using genetic
11. Kaloust, J., Ham, C., Siehling, J., Jongekryg, E., Han, Q.: algorithm. Int. J. Innov. Comput. Inf. Control 7(7 B), 4161–
Nonlinear robust control design for levitation and propul- 4170 (2011)
sion of a maglev system. IEE Proc. Control Theory Appl.
29. Hassan, R., Cohanim, B., De Weck, O., Venter, G.: A com-
151(4), 460–464 (2004)
parison of particle swarm optimization and the genetic algo-
12. Diao, C., Xian, B., Yin, Q., Zeng, W., Li, H., Yang, Y.: A
rithm. In: Proceedings of the 1st AIAA multidisciplinary
nonlinear adaptive control approach for quadrotor UAVs.
design optimization specialist conference (2005)
In: Proceedings of the IEEE 8th Asian Control Conference
30. Lalitha, M.P., Reddy, V.V., Usha, V.: Optimal DG place-
(ASCC), pp. 223–228 (2011)
ment for minimum real power loss in radial distribution
13. Mohammadi, M., Shahri, A.M., Boroujeni, Z.: Modeling
systems using PSO. J. Theor. Appl. Inf. Technol. 13(2),
and Adaptive Tracking Control of a Quadrotor UAV. Int. J.
107–116 (2010)
Intell. Mechatron. Robot 2(4), 58–81 (2012)
14. De Monte, P., Lohmann, B.: Position trajectory tracking of a 31. Eberhart, R.C., Shi, Y.: Comparing inertia weights and
quadrotor helicopter based on L1 adaptive control. In: Euro- constriction factors in particle swarm optimization. In:
pean Control Conference (ECC), pp. 3346–3353, 17–19 Jul Proceedings of the IEEE Congress on Evolutionary Com-
2013 (2013) putation, pp. 84–88 (2000)
15. De Queiroz, M.S., Dawson, D.M.: Nonlinear control of 32. Allaoua, B., Gasbaoui, B., Mebarki, B.: Setting up PID
active magnetic bearings: a backstepping approach. IEEE DC motor speed control alteration parameters using particle
Trans. Control Syst. Technol. 4(5), 545–552 (1996) swarm optimization strategy. Leonardo Electron. J. Pract.
16. Kim, K.S., Kim, Y.: Robust backstepping control for slew Technol. 14, 19–32 (2009)
maneuver using nonlinear tracking function. IEEE Trans. 33. Voos, H.: Nonlinear control of a quadrotor Micro-UAV
Control Syst. Technol. 11(6), 822–829 (2003) using Feedback-Linearization. In: IEEE International Con-
17. Karimi, A., Feliachi, A.: Decentralized adaptive backstep- ference on Mechatronics, pp. 1–6 (2009)
ping control of electric power systems. Electr. Power Syst. 34. Eberhart, R.C., Shi, Y.: Comparison between Genetic Algo-
Res. 78(3), 484–493 (2008) rithms and Particle Swarm Optimization. In: Proceedings of
18. Xie, Q., Han, Z., Kang, H.: Adaptive backstepping control the 7th International Conference on Evolutionary Program-
for hybrid excitation synchronous machine with uncertain ming, pp. 611–616 (1998)
parameters. Expert Syst. Appl. 37(10), 7280–7284 (2010) 35. Waslander, S.L., Wang, C.: Wind disturbance esti-
19. Ursu, I., Ursu, F., Popescu, F.: Backstepping design for con- mation and rejection for quadrotor position control.
trolling electrohydraulic servos. J. Frankl. Inst. 343(1), 94– In: AIAA Infotech@Aerospace conference and AIAA
110 (2006) unmanned. . . Unlimited Conference (2009)

You might also like