Particle Swarm Optimization based Sliding Mode

0 downloads 0 Views 2MB Size Report
IEEE robotics & automation magazine,. 19(3):20–32. ... chua circuit and lur'e system using backstepping control design with recursive feedback. Arabian Journal ...
ip t

cr

Particle Swarm Optimization based Sliding Mode Control Design: Application to a Quadrotor vehicle

us

Alessandro Baldini, Lucio Ciabattoni, Riccardo Felicetti, Francesco Ferracuti, Alessandro Freddi, Andrea Monteri`u and Sundarapandian Vaidyanathan

m

an

Abstract In this chapter, a design method for determining the optimal sliding mode controller parameters for a quadrotor dynamic model using the Particle Swarm Optimization algorithm is presented. In particular, due to the effort to determine optimal or near optimal sliding mode parameters, which depend on the nature of the considered dynamic model, a population based solution is proposed to tune the parameters. The proposed population based-method tunes the controller parameters (boundary layers and gains) according to a fitness function that measures the controller performances. A comparison of the designed sliding mode control with two popular controllers (PID and Backstepping) applied to a quadrotor dynamic model is proposed. In particular sliding mode control shows better performances in terms of steady state and transient response, as confirmed by performance indexes IAE, ISE, ITAE and ITSE. Key words: Sliding Mode; Quadrotor; Particle Swarm Optimization

ed

A. Baldini, L. Ciabattoni, R. Felicetti, F. Ferracuti, A. Monteri`u Dipartimento di Ingegneria dell’Informazione, Universit`a Politecnica delle Marche, Via Brecce Bianche, 60131 Ancona, Italy. e-mail: {a.baldini, l.ciabattoni, r.felicetti, f.ferracuti, a.monteriu}@univpm.it. A. Freddi Universit`a degli studi eCampus, Via Isimbardi 10, Novedrate (CO), Italy. e-mail:[email protected].

ce

pt

S. Vaidyanathan Research and Development Centre, Vel. Tech. University, Avadi, 600062 Chennai, Tamil Nadu, India. e-mail: [email protected]

PUBLISHED VERSION

Ac

1 A. Baldini, L. Ciabattoni, R. Felicetti, F. Ferracuti, A. Freddi, A. Monteriù, and S. Vaidyanathan, “Particle Swarm Optimization Based Sliding Mode Control Design: Application to a Quadrotor Vehicle,” in ser. Studies in Computational Intelligence, Applications of Sliding Mode Control in Science and Engineering. Springer International Publishing (Switzerland), Apr. 2017, vol. 709, pp. 143–169, ISBN: 978-3-319-55597-3, e-ISBN: 978-3-319-55598-0, ISSN: 1860-949X.

DOI: 10.1007/978-3-319-55598-0_7.

ip t

2

A. Baldini, L. Ciabattoni et al.

1 INTRODUCTION

an

us

cr

In recent years an ever growing interest in Unmanned Aerial Vehicles (UAVs) has been shown among the research community, including industry, governments and academia (Freddi et al., 2009). This popularity is mainly due to their ability to carry out a wide range of applications e.g., military and rescue missions, wild fire surveillance, law enforcement, mapping, aerial multimedia productions, power plants inspection. On the one hand the potential to remove human pilots from danger and size/cost effectiveness of modern UAVs are incredibly attractive; on the other hand the need to obtain comparable (or even better) performances with respect to manned aircrafts in terms of capabilities, efficiency and flexibility poses many engineering challenges. The quadrotor UAV is a four-rotor Vertical Take-Off and Landing (VTOL) aircraft, which has all advantages of VTOL aircrafts along with an increased payload capability, a stability in hover inherent to its design as well as an increased maneuverability. Furthermore, its most important advantage, when compared to conventional aircraft, is its reduced mechanical complexity. Nowadays, the emerging and existing motions of the quadrotor UAV include:

ed

m

• the precession motion, however, neutralized by designing the front and rear rotors to spin in the opposite direction to the left and right propellers so eliminating any reactive torque around the vertical coordinate axis; • the hover motion, obtained by making the rotational velocity of each propellers are same; • the roll and pitch motions, attained by applying a difference of rotational velocity between the opposing rotors forcing the vehicle to tilt towards the slowest propeller; • the yaw motion, generated by making the rotational velocity of neighboring rotors different from others, thus forcing the vehicle to tilt towards the two slower propellers; • the vertical motion, generated by increasing or decreasing the rotational velocity of all rotors by the same amount; • the horizonal motion, realized by making the vehicle roll or pitch firstly, so as to shift the direction of the thrust vector and then produce a forward component.

Ac

ce

pt

In practical missions, the stability of the aircraft is easily affected by abruptly changed commands. The flight controller design should be capable to offer to the aircraft an accurate and robust control which is crucial in the flight process. In this context, Sliding Mode Control (SMC) is a popular approach to control systems under heavy uncertainty conditions, and is accurate, robust and simple to implement (Corradini et al., 2010b, 2011a,b; Vaidyanathan, 2014, 2015c,d,e,f,g; Vaidyanathan and Volos, 2016a,b). The main drawbacks of a classical first-order SMC (1-SMC) are principally related to the so-called chattering effect, undesired steady-state vibrations of the system variables. A major cause of chattering has been identified as the presence of unmodelled parasitic dynamics in the switching devices (Bondarev et al., 1985). To mitigate the chattering’s effects, many solutions have

ip t

PSO based SMC design: application to a quadrotor vehicle

3

been developed over the last three decades (Boiko et al., 2007; Ferrara et al., 2014; Levant, 2010). In particular three main approaches have been developed:

cr

• the use of a continuous approximation of the relay (e.g. the saturation function); • the use of asymptotic state-observer to confine chattering in the observer dynamics bypassing the plant; • the use of Higher-Order Sliding Mode control algorithms (HOSM).

Ac

ce

pt

ed

m

an

us

The SMC literature is therefore wide for the flight controller design of a quadrotor vehicles, e.g., Derafa et al. (2010); Lee et al. (2009); Mercado et al. (2014); Zheng et al. (2014). SMC is extensively proposed in literature also in the context of fault tolerant systems (Corradini et al., 2010a; Fasano et al., 2015). A SMC requires the tuning of different parameters that, unfortunately, are quite difficult to tune properly due to time delays and nonlinearities of real systems (Azar and Vaidyanathan, 2015a, 2016; Bondarev et al., 1985; Vaidyanathan and Volos, 2016a). Over the years, several heuristic methods have been proposed for tuning the SMCs (Erbatur and Kaynak, 2001; Ha, 1996; Wai, 2007). In general, it is often hard to determine optimal or near optimal sliding mode parameters. For these reasons, advanced tuning methods are needed to increase the capabilities of SMCs. In this context, Artificial Intelligence (AI) techniques have been proposed in the control theory literature to increase controller performances and to proper tune the ProportionalIntegral-Derivative (PID) controller parameters (Azar and Vaidyanathan, 2015b; Gaing, 2004; Vaidyanathan and Volos, 2016b). Many heuristic algorithms methods have recently received much interest for dealing with nonlinear optimization problems. One of the modern random search method is the Particle Swarm Optimization (PSO) method introduced by Kennedy and Eberhart (1995). PSO originated from the study of a simulator for a social system, and it demonstrated to be robust in solving continuous nonlinear optimization problems (Kennedy and Eberhart, 1995). In this paper, we have developed a SMC tuned by PSO in order to search optimal SMC parameters. As the novelty, we propose a procedure for selecting the parameters of SMC, in order to maximize its performance. The SMC tuned by PSO is tested on the quadrotor dynamic model and compared with PID and backstepping controllers. All the controllers are tuned by PSO and four indexes, i.e. Integral of the Squared Error (ISE), Integral of the Absolute value of Error (IAE), Integral of Time multiplied by the Squared Error value (ITSE) and Integral of Time multiplied by the Absolute value of Error (ITAE), are considered to compare the performances of all controllers. The chapter is organized as follows. Section 2 shows the quadrotor dynamic model considered to test the controllers. Section 3 describes the designing of sliding mode, backstepping and PID techniques for the quadrotor model. In Section 4 we present the PSO algorithm, the swarm intelligence-based technique used to solve the tuning problem of SMC. Results on the testing model are reported in Section 5. The chapter ends with comments on the performance of the proposed solution.

ip t

4

A. Baldini, L. Ciabattoni et al.

2 QUADROTOR DYNAMICS

an

us

cr

A quadrotor consists in four DC motors on which propellers are fixed, and arranged to the extremities of a X-shaped frame, where all the arms make an angle of 90 degrees with one another. The speed of rotation of the motors (i.e.: the lift force associated to the propeller attached to that motor) can be individually changed, thus modifying the attitude of the vehicle allowing the quadrotor to translate into the space. In this section we first use the Newton-Euler approach to model the quadrotor as a rigid body subject to forces and moments and provide the most relevant aerodynamic effects, similarly to Mahony et al. (2012) and Freddi (2012). Then we simplify the model in order to derive a set of equations more suitable for control purposes, as commonly found in the literature, see for instance Bouabdallah and Siegwart (2005) and Lanzon et al. (2014).

2.1 Kinematics

pt

ed

m

The quadrotor vehicle is modelled using the convention shown in figure 1. Two frames are used to study the system motion, in particular a frame integral with the earth {R} (O, x, y, z), which is supposed to be inertial, and a body-fixed frame {RB } {OB , xB , yB , zB }, where OB is fixed to the center of mass of the quadrotor.  T {RB } is related to {R} by a position vector ξ = x y z , describing the position of the center of gravity in {RB } relative to {R} and by a vector of three indepen T dent angles η = ψ θ φ , which represent the orientation of the body-fixed frame {RB } {OB , xB , yB , zB } with respect to the earth frame {R} (O, x, y, z). The adopted notation, usually called yaw, pitch and roll, is based on the assumption that the earth frame {R} (O, x, y, z) can reach the same orientation of the body-fixed frame {RB } {OB , xB , yB , zB } by first performing a rotation of an angle ψ around the z-axis (yaw), then a rotation of an angle θ around the new y-axis (pitch) and finally a rotation of an angle φ around the new x-axis (roll). All the rotations are right-handed  with − π2 < φ < π2 , − π2 < θ < π2 and ψ is unrestricted. In this way ξ and η fully describe, respectively, the translational and the rotational movement of the rotorcraft with respect to the earth frame. Given a vector vB , expressed using the coordinates of the body frame, the vector v expressed in the coordinates of the earth frame is: v = RvB

(1)

Ac

ce

where R is the rotation transformation from vectors read in the body reference frame to vectors read in the earth reference frame given by

ip t

PSO based SMC design: application to a quadrotor vehicle

5

zB { RB }

f4

f3

4

3

r q

f2

y

2 M2

O

1 OB

p

M1

an

x

f1

us

{ R}

yB

M4

M3

z

cr

g

xB

Fig. 1 The quadrotor scheme used for the development of the mathematical model

(2)

m

  C C C S S −Cφ Sψ Cφ Cψ Sθ + Sφ Sψ .  θ ψ ψ θ φ R = Cθ Sψ Sθ Sφ Sψ +Cφ Cψ Cφ Sθ Sψ −Cψ Sφ  −Sθ Cθ Sφ Cθ Cφ

 T In a similar way, given the angular velocity vector ω = p q r , where p, q and r represent the instantaneous angular velocities around the xB -axis, yB -axis and zB axis respectively, it is related to the rate of change of the yaw, pitch and roll angles by: ω = W η˙ (3)   1 0 −Sθ .  W = 0 Cφ Sφ Cθ  0 −Sφ Cφ Cθ

ed

where

(4)

and S(.) and C(.) represent sin (.) and cos (.) respectively.

pt

2.2 Rigid Body Dynamics

Ac

ce

The quadrotor is modelled as a rigid body subject to actuation and external forces. The Newton-Euler approach is adopted in order to derive the rigid body dynamics of the quadrotor model, as it represents the most straightforward approach for modelling purposes (Fossen, 2011). Denote with m the whole mass of the rotorcraft and define the inertia matrix in the body frame as

ip t

6

A. Baldini, L. Ciabattoni et al.

  I −Ixy −Ixz .  x I = −Iyx Iy −Iyz  −Izx −Izy Iz

cr

(5)

an

us

where Ix , Iy , Iz are the moments of inertia about xB , yB , zB axes, and Ixy = Iyx , Ixz = Izx , Iyz = Izy are the products of inertia. Let  T • f oB = Fx , Fy , Fz be the vector of forces acting on the quadrotor read in the body frame;  T • m oB = K, M, N be the vector of moments acting on the quadrotor read in the body frame;  T • v oB = u, v, w be the linear velocities along the xB , yB , zB axes read in the body frame;  T • r g = xg , yg , zg be the vector of offsets between the body frame and the center of gravity of the quadrotor read in the body frame;  T • ν = u, v, w, p, q, r be the generalized velocity vector read in the body frame;  T • τ = Fx , Fy , Fz , K, M, N be the generalized force vector read in the body frame. Then the rigid body dynamics can be expressed in a vectorial form as C (νν )νν = τ M ν˙ +C

(6)

ed

m

where M is the rigid body system inertia matrix and C (νν ) is the rigid body Coriolis and Centripetal matrix. The representation of the rigid body inertia matrix is unique   m 0 0 0 mzg −myg  0 m 0 −mzg 0 mxg     0 0 m myg −mxg 0    M = (7) Ix −Ixy −Ixz   0 −mzg myg   mzg 0 −mxg −Iyx Iy −Iyz  −myg mxg 0 −Izx −Izy Iz

pt

The rigid body system inertia matrix is built such that it takes into account Newton second law and the Euler fictitious force. It is thus necessary to include the Coriolis and centrifugal forces in matrix C (νν ). The rigid body Coriolis and centrifugal matrix C (νν ) can always be represented in a skew-symmetrical form, which is not unique. We use the following representation:   C 11 C 12 (8) C (νν ) = C 21 C 22

Ac

ce

with

  000 C 11 = 0 0 0 000

(9a)

ip t

PSO based SMC design: application to a quadrotor vehicle

7

 m(rzg + qyg ) m(w − qxg ) −m(v + rxg ) C 12 = −m(w + pyg ) m(rzg + pxg ) m(u − ryg )  m(v − pzg ) −m(u + qzg ) m(qyg + pxg )   −m(rzg + qyg ) m(w + pyg ) m(pzg − v) C 21 =  m(qxg − w) −m(rzg + pxg ) m(u + qzg )  m(v + rxg ) m(ryg − u) −m(qyg + pxg )   0 (−pIzx − qIzy + rIz ) (pIyx − qIy + rIyz ) 0 (pIx − qIxy − rIzx ) C 22 =  (pIzx + qIzy − rIz ) (−pIyx + qIy − rIyz ) (−pIx + qIxy + rIxz ) 0

(9b)

cr



us

(9d)

an

2.3 Forces and Moments 2.3.1 Force of Gravity

(9c)

The weight force is applied to the center of gravity and directed along the negative z-axis in the earth frame   0 F g = RT  0  (10) −mg

2.3.2 Thrust

m

where R T is the rotation transformation from vectors read in the earth reference frame to vectors read in the body reference frame. Since the point of application is the center of gravity, the gravity force does not generate any moment.

pt

ed

The thrust force f j , where j = 1, 2, 3, 4, is applied to the center of the j-th motor, distant l from the center of mass, and directed along the positive zB -axis. Labeling as f1 , f2 , f3 and f4 the upward lifting forces generated by the propellers, the force due to the control inputs, expressed into the body frame, has a non zero component in the zB direction only:   0 f j = 0 (11) fj

Ac

ce

The expression of the thrust can be derived using the actuator disk and blade elements theory well known in literature, which lead to . f j = CT ρAr2 Ω 2j = cΩ 2j

(12)

where CT is the thrust coefficient, ρ is the air density, A is the rotor disk area, r is the rotor radius and Ω j is the rotational speed of motor j.

ip t

8

A. Baldini, L. Ciabattoni et al.

Denoting with

(13)

cr

  l j,x l j = l j,y  l j,z

us

the vector whose components represent the offset between the center of rotor j with respect to the center of gravity, the moment around the body frame axis due to the force f j is described by mj = f j ×l j (14)

2.3.3 Propeller Drag

an

The aerodynamic forces acting on the blade of each rotor, in a direction orthogonal to the thrust force (blade reaction to rotation), generate and additional moment which must be included into the model. This moment is called drag moment and it is directed along the zB axis:   0 qj = 0 (15) qj

m

The expression of the drag moment can be derived similarly to that used to derive the thrust force: . q j = CQ ρAr3 Ω j |Ω j | = dΩ j |Ω j | (16) where CQ is the drag coefficient and Ω j is multiplied by its magnitude to preserve the sing of rotation for counter-rotating rotors.

2.3.4 Blade Gyroscopic Effect

pt

ed

The quadrotor vehicle is propelled by four blades which rotate at high speed. Even if the inertia of the propeller is small when compared to that of the body, the high rotation speed causes a gyroscopic effect which can affect the motion of the vehicle when the propellers spin with different velocities. The gyroscopic torque m g caused by rotations of the vehicle with rotating rotors can be expressed as    0 m g = JR ω × 0 (Ω1 + Ω3 − Ω2 − Ω4 ) (17) 1

Ac

ce

where ω is the angular velocity of the body read into the body frame, Ω j is the rotational speed of motor j and JR is the propeller inertia.

ip t

PSO based SMC design: application to a quadrotor vehicle

9

2.4 Model Equation Set

ξ˙ = R v oB

(18a)

(18b)

us

η˙ = W −1 ω    f oB ∑4j=1 f j + F g  C (νν )νν = M ν˙ +C = 4 m oB ∑ j=1 q j + m j − m g 

cr

The vehicle model can now be expressed using the rigid body dynamics, the forces and moments acting on the quadrotor and the kinematic equations described in the previous sections. The complete model in vector form is

(18c)

m

an

where f j is defined in 12, F g is defined in 10, q j defined in 16, m j is defined in 14 and m g is defined in 17. Equations 18 describe the dynamics of a quadrotor for a wide range of flight conditions, however it can be simplified when certain assumptions are made, in order to obtain simpler equations for simulation and control purposes. These assumptions are reasonable for the majority of quadrotors studied in the literature. Usually quadrotor vehicles are built symmetrically with respect to the body axes, with the center of gravity close to the geometric center and the motors having a distance l from the center of gravity. According to this design, equation 5 can be written as   Ix 0 0 I =  0 Iy 0  (19) 0 0 Iz

Ac

ce

pt

ed

and it is possible to consider r g = 0 , l 1 = −ll 3 = [l 0 0]T and −ll 2 = l 4 = [0 l 0]T . Moreover quadrotors are usually adopted for low flight speed missions with conservative attitude, thus the roll and pitch angles are small and matrix W simplifies to the identity matrix I . The simplified model for control purposes then becomes (Bouabdallah and Siegwart, 2005)    x˙1 = x2     x˙2 = a1 x4 x6 + a2 Ω x4 + b1U2     x˙3 = x4     x˙4 = a3 x2 x6 + a4 Ω x2 + b2U3     x˙5 = x6  x˙6 = a5 x2 x4 + b3U4 (20) x˙7 = x8     x˙8 = −g + cos(x1 )cos(x3 ) m1 U1     x˙9 = x10     x˙10 = m1 uxU1     x˙ = x12    11 x˙12 = m1 uyU1 where

ip t

10

A. Baldini, L. Ciabattoni et al.

ux = (cosx1 sinx3 cosx5 + sinx1 sinx5 ) uy = (cosx1 sinx3 sinx5 − sinx1 cosx5 )

x1 = φ x2 = x˙1 = φ˙ x3 = θ x4 = x˙3 = θ˙ x5 = ψ x6 = x˙5 = ψ˙

Iy −Iz Ix −JR Ix Iz −Ix Iy JR Iy Ix −Iy Iz

b1 = b2 =

l Ix l Iy l Iz

an

a1 = a2 =

x7 = z x8 = x˙7 = z˙ x9 = x x10 = x˙9 = x˙ x11 = y x12 = x˙11 = y˙

cr

= c(Ω12 + Ω22 + Ω32 + Ω42 ) = c(Ω42 − Ω 22 ) = c(Ω32 − Ω12 ) = d(Ω22 + Ω42 − Ω12 − Ω32 ) = Ω2 + Ω4 − Ω1 − Ω3

a3 = a4 =

Ac

ce

pt

ed

m

a5 =

b3 =

(22)

us

U1 U2 U3 U4 Ω

(21)

(23)

(24)

ip t

PSO based SMC design: application to a quadrotor vehicle

11

3 CONTROL DESIGN

us

cr

The following section shows the sliding mode, backstepping and PID techniques designed to control a quadrotor, whose mathematical model is described in section 2.4. In this paragraph, the design of sliding mode controller is described in details, whereas backstepping and PID controllers are designed according to Bouabdallah and Siegwart (2005).

3.1 Sliding mode control

an

In this subsection we present the theory of sliding mode for a simple class of nonlinear problems (3.1.1) and then extends it to the case of the quadrotor vehicle (3.1.2) by focusing on the tracking problem.

3.1.1 Basics of sliding mode control

Let us consider a simple nonlinear system 

x˙1 = x2 x˙2 = h(xx) + g(xx)u

m

Σ

(25)

Ac

ce

pt

ed

where (x1 , x2 ) ∈ D ⊂ R2 is the state space, h(xx) and g(xx) are nonlinear functions and g(xx) 6= 0. Without loss of generality, we can suppose g(xx) ≥ g0 > 0. This system can be stabilized as reported in Khalil and Grizzle (1996). Let us define the following sliding surface S = a1 x1 + x2 = 0, where a1 > 0 can be freely chosen. On this surface, the motion is governed by x˙1 = −a1 x1 , with a1 > 0, so the resulting system is asymptotically stable and x1 → 0 (and x2 → 0 too). We note, in fact, that the equation x˙1 = −a1 x1 is a differential equation with solution x1 (t) = x1 (t0 )e(t−t0 ) . In other words, if the state of the system (see Eq. (20)) is on the surface, then the dynamic of x1 converges to 0. It follows that x2 must be constant, but from S = a1 x1 + x2 = 0 we obtain x2 = −a1 x1 = 0. This is the reason why such a surface S is called “sliding surface”: the state of the system (x1 , x2 ) slides on a surface S, designed on the state space D ⊂ R2 , and reaches the point (0, 0) asymptotically. In order to design a sliding mode controller, the first step is to choose a proper sliding surface. Then we must impose S = 0 by the action of a control law u = u(xx), where u is the control input. From another point of view we can say that the closed-loop system must be asymptotically stable. It is usually needed, if possible, that the convergence of the system can be reached in finite time. For doing this we can use Lyapunov theory of the non linear system theory. The derivative of S is S˙ = a1 x˙1 + x˙2 = a1 x2 + h(xx) + g(xx)u

(26)

ip t

12

A. Baldini, L. Ciabattoni et al.

Choosing V =

S2 2

∀xx ∈ R2

(27)

cr

We define ρ(xx) such that a1 x2 + h(xx) ≤ ρ(xx) g(xx)

as a candidate Lyapunov function, it follows that

(28)

us

V˙ = SS˙ = S[a1 x2 + h(xx) + g(xx)u] = = S[a1 x2 + h(xx)] + Sg(xx)u ≤ g(xx)|S|ρ(xx) + g(xx)Su

Choosing u = −β (xx)sign(S), with β (xx) ≥ ρ(xx) + β0 and β0 > 0, yields

V˙ ≤ g(xx)|S|ρ(xx) − g(xx)[ρ(xx) + β0 ]S · sign(S) = −g(xx)β0 |S| ≤ −g0 β0 |S|

(29)

ed

m

an

Therefore, the trajectory reaches the surface S = 0 in finite time and, once on the surface, it cannot leave it because V˙ ≤ −g0 β0 |S|, hence it is definitive negative. This approach has the following negative effect: suppose that the state (x1 , x2 ) of the system is in a point x0 ∈ D where S > 0. The control law forces the system to reach the surface with sign(S) = 1. Once the system reaches the surface, it remains on the surface for a while (instantaneously) and then leaves it, due to physical problems, like inertia. Suppose now that the state (x1 , x2 ) of the system is in a point x00 ∈ D where S < 0 (reached under the effect of the control law). This time sign(S) = −1, so the control input, with an inverse action if compared to the previous, can move the system to the sliding surface again. The final result of this ”zig-zag” action is the well-known chattering problem, which represents the main problem of the sliding mode control. To avoid chattering, let us introduce a boundary layer: we do not impose that S = 0, but |S| ≤ ε, with ε > 0 arbitrarily chosen. In this way the control law can be separated in two parts. When |S| > ε, the control input is the same of the previous case, otherwise, if |S| ≤ ε, the control law can be freely modified. The standard solution is to choose a linear function: this control law is simple and permits to avoid any discontinuity of the control input, in other words, sign(S) is replaced by sat(S/ε). A deeper explanation of chattering problem and its mathematical consequences can be found in literature (Bondarev et al., 1985).

pt

  +1 sign(S) = 0  −1

S>0 S=0 S ε |S| < ε

(30)

Ac

ce

The control law that grants stabilization is finally S u = −β (x)sat( ) ε

(31)

ip t

PSO based SMC design: application to a quadrotor vehicle

13



e˙1 = x˙1 − x˙1d = e2 e˙2 = x˙2 − x˙2d = h(xx) + g(xx)u − x¨1d

(32)

us

Σe

cr

This control law solves the stabilization problem. For the application to the quadrotor vehicle, we are interested to the tracking problem, so we define x1d (t), x2d (t) = x˙1d (t) as references for the states x1 , x2 . It is possible to solve the tracking problem such that x1 (t) → x1d (t) and x2 (t) → x2d (t) for t → ∞. Consider the following tracking errors e1 (t) = x1 (t) − x1d (t) and e2 (t) = x2 (t) − x2d (t), the error system is then

an

We note that this system has the same structure of the previous one by naming h0 (xx) = h(xx) − x¨1d 1 and the same steps can be followed if we know a bound of x¨1d , +h0 (xx) that implies a known bound for a1 x2g(x at the same conditions. The sliding surface x) is S = a1 e1 + e2 = 0 and its derivative is S˙ = a1 e˙1 + e˙2 = a1 e2 + h0 (xx) + g(xx)u We define ρ(xx) such that a1 e2 + h0 (xx) ≤ ρ(xx) g(xx) S2 2

(34)

as a candidate Lyapunov function it follows that

m

Choosing V =

∀xx ∈ R2

(33)

V˙ = SS˙ = S[a1 e2 + h0 (xx) + g(xx)u] ≤ g(xx)|S|ρ(xx) + g(xx)Su

(35)

Once again, by choosing u = −β (xx)sign(S), with β (xx) ≥ ρ(xx) + β0 and β0 > 0, yields

ed

V˙ ≤ g(xx)|S|ρ(xx) − g(xx)[ρ(xx) + β0 ]S · sign(S) = −g(xx)β0 |S| ≤ −g0 β0 |S|

(36)

pt

The trajectory reaches the surface S = 0 (in finite time) and once on the surface it cannot leave it, because V˙ ≤ −g0 β0 |S|. It follows that e1 → 0 and e2 → 0, or rather, x1 → x1d and x2 → x2d , that means x˙1 → x˙1d . To avoid the problem of chattering, sign(·) function is substituted by sat(·) function, as discussed previously, choosing a boundary layer with an arbitrary ε > 0. The control law that grants tracking is finally S u = −β (xx)sat( ) (37) ε where β (xx) and the sliding function S are now related to the tracking error system. For the sake of clarity, we note that h0 is time dependent due to x¨1d , so it is actually h0 (xx,t). Therefore in the following steps, we assert relations ∀ t

Ac

ce

1

ip t

14

A. Baldini, L. Ciabattoni et al.

3.1.2 Sliding mode control applied to the quadrotor vehicle

us

cr

The SMC presented here is not the general theory, but it’s only valid in the simple case when the system has the structure discussed above. It is natural to apply this theory to a quadrotor helicopter, because the considered model is composed by six couples of equations in this form, but only four are considered to synthesize the control laws because the system is underactuated 2 . This follows by the nature of mechanical system, where state variables are the linear and angular positions and speeds, while the equations involve also linear and angular accelerations. Before doing this we must note the following assumption: 1. Let us assume the state of the system (20) to be known ∀t.

 Σ1,2

an

This assumption is usually true for quadrotor vehicles, since all the state variables are measured (or precisely estimated) by using different sensor fusion algorithms (see Lanzon et al. (2014)). Considering the quadrotor system described by Eqs. (20)–(24), where bi > 0, i = 1, 2, 3, 4, the first couple of equations is x˙1 = x2 x˙2 = a1 x4 x6 + a2 Ω x4 + b1U2

m

so we can apply the SMC theory by naming h(xx) = a1 x4 x6 +a2 Ω x4 and g(xx) = g0 = b1 > 0. The sliding surface is S1 = K1 e1 + e2 2 +h0 (xx) It is possible to choose ρ2 (xx) = K1 eg(x , because the terms are known x) K1 e2 + h0 (xx) ≤ ρ2 (xx) g(xx)

ed

Following the procedure it is possible to set I −I R |K e + y Ix z x4 x6 + −J K1 e2 + a1 x4 x6 + a2 Ω x4 − x¨1d Ix Ω x4 − x¨1d | +σ1 = 1 2 β2 = +σ1 b1 b1

pt

where σ1 > 0 is a project parameter. The control law is U2 = −β2 sat(

S1 ) ε1

The second couple of equations is 2

Ac

ce

The remaining two couples of equations are used in the outer loop, which permits to calculate the reference angles required to track a desired position

ip t

PSO based SMC design: application to a quadrotor vehicle

 Σ3,4

15

x˙3 = x4 x˙4 = a3 x2 x6 + a4 Ω x2 + b2U3

cr

again, we can apply the SMC theory by defining h(xx) = a3 x2 x6 + a4 Ω x2 and g(xx) = g0 = b2 > 0. The sliding surface is S3 = K2 e3 + e4 , where e3 = x3 − x3d , e4 = x4 − x4d = x˙3 − x˙3d . Following the procedure it is possible to set

us

JR x |K2 e4 + Iz −I K2 e4 + a3 x2 x6 + a4 Ω x2 − x¨3d Iy x2 x6 + Iy Ω x2 − x¨3d | β3 = +σ2 +σ2 = b2 b2 where σ2 > 0 is a project parameter. The control law is U3 = −β3 sat(

S3 ) ε2

 Σ5,6

an

The third couple of equations is

x˙5 = x6 x˙6 = a5 x2 x4 + b3U4

m

The SMC theory can applied by defining h(xx) = a5 x2 x4 and g(xx) = g0 = b3 > 0. The sliding surface is S5 = K3 e5 + e6 , where e5 = x5 − x5d , e6 = x6 − x6d = x˙5 − x˙5d . Following the procedure it is possible to set I −I |K3 e6 + x Iz y x2 x4 − x¨5d | K3 e6 + a5 x2 x4 − x¨5d β4 = + σ3 + σ3 = b3 b3 The control law is

ed

U4 = −β4 sat(

S5 ) ε3

where σ3 > 0 is a project parameter. The last couple of equations is 

Σ7,8

x˙7 = x8 x˙8 = −g + cos(x1 )cos(x3 ) m1 U1

Ac

ce

pt

We note that −π/2 < x1 < π/2 and −π/2 < x3 < π/2, otherwise the system looses its physical meaning. The SMC theory can be applied by defining h(xx) = −g and g(xx) = cos(x1 )cos(x3 ) m1 > g0 > 0. The sliding surface is S7 = K4 e7 + e8 , where e7 = x7 − x7d , e8 = x8 − x8d = x˙7 − x˙7d . Following the procedure it is possible to set K e − g − x¨ |K4 e8 − g − x¨7d | 4 8 7d β1 = + σ4 + σ4 = cos(x1 )cos(x3 ) m1 cos(x1 )cos(x3 ) m1 where σ3 > 0 is a project parameter. The control law is

ip t

16

A. Baldini, L. Ciabattoni et al.

U1 = −β1 sat(

S7 ) ε4

= −β2 sat( Sε11 ) = −β3 sat( Sε23 ) = −β4 sat( Sε35 ) = −β1 sat( Sε47 )

us

 U2    U 3  U 4    U1 where

= = = =

I −I −J |K1 e2 + yIx z x4 x6 + IxR Ω x4 −x¨1d | b1 x x x + JR Ω x −x¨ | |K2 e4 + Iz I−I 2 6 Iy 2 3d y

an

   β2       β3      β4    β1

cr

In conclusion, the overall control laws of the tracking problem for the quadrotor system are

b2 I −I |K3 e6 + x Iz y x2 x4 −x¨5d | b3 |K4 e8 −g−x¨7d | 4 cos(x1 )cos(x3 ) m1

+ σ1

+ σ2

+ σ3



m

with S1 , S3 , S5 , S7 sliding surfaces of the tracking error system, and σ1 , σ2 , σ3 , σ4 > 0. Twelve parameters have to be set by the automation designer to control a quadrotor by sliding mode: Ki , εi and σi , i = 1, . . . , 4. Finally, we note three important points • Remark 1: the controllers are designed for tracking of variables x1 , . . . , x8 , which means → → → → → → → →

φd φ˙d θd θ˙d ψd ψ˙ d zd z˙d

pt

ed

φ φ˙ θ θ˙ ψ ψ˙ z z˙

x1 x2 x3 x4 x5 x6 x7 x8

→ → → → → → → →

x1d x2d x3d x4d x5d x6d x7d x8d

= x˙1d = x˙3d = x˙5d = x˙7d

Ac

ce

This means that the controller is designed to track the quote z and the attitude, together with their time derivative. We can note from Eq. (20) that the first 8 equations are

Σφ ,θ ,ψ,z

ip t

   x˙1     x˙2     x˙3  x˙4  x˙5     x˙6     x˙7   x˙8

17

= x2 = a1 x4 x6 + a2 Ω x4 + b1U2 = x4 = a3 x2 x6 + a4 Ω x2 + b2U3 = x6 = a5 x2 x4 + b3U4 = x8 = −g + cos(x1 )cos(x3 ) m1 U1

cr

PSO based SMC design: application to a quadrotor vehicle

(38)

an

us

so the state variables x9 , x10 , x11 , x12 do not appear in the equations of interest. In conclusion, we want that the controller sets the desired attitude and quote, but we neglect the longitudinal and lateral motion. • Remark 2: the quadrotor system is considered as a group of coupled equations. The stability for each couple of equation is given with the control law design. For completeness we note that the stability of the system Σφ ,θ ,ψ,z is given by the Lypunov function V = 12 S12 + 12 S32 + 12 S52 + 12 S72 = V1 +V3 +V5 +V7

ed

m

in fact with the control law designed above we have V˙i = Si S˙i < ki |Si |, for i = 1, 3, 5, 7 and k1 , k3 , k5 , k7 > 0. It follows that V → 0 (in finite time) and each Vi → 0, so xi → 0 with i = 1, 3, 5, 7 and x j → 0 with j = 2, 4, 6, 8. • Remark 3: The variables controlled by the control laws U1 ,U2 ,U3 ,U4 are ˙ z, z˙, so the position x, y in the plane, and their derivatives, are φ , φ˙ , θ , θ˙ , ψ, ψ, not considered, as discussed in remark 1. The aim of the SMC is the track˙ which correspond to the state variables ing of the variables x, x, ˙ y, y, ˙ z, z˙, ψ, ψ, x9 , x10 , x11 , x12 , x7 , x8 , x5 , x6 . The solution is to create an external loop with desired variables, with the aim of calculating the correct tracking values for the controller. To achieve that aim, it is necessary to consider the last 4 equations of the system, that link linear accelerations to angles.  x˙9 = x10    x˙10 = m1 uxU1 = (cosx1 sinx3 cosx5 + sinx1 sinx5 ) Um1 Σx,y (39) x˙11 = x12    U1 1 x˙12 = m uyU1 = (cosx1 sinx3 sinx5 − sinx1 cosx5 ) m

Ac

ce

pt

Considering the physical variables of x9 , x10 , x11 , x12 and a small-angle approximation for θ and φ , so cos(γ) ≈ 1 and sin(γ) ≈ γ for any variable γ, it follows that        U1 x¨ (θ cosψ + φ sinψ) Um1 sinψ cosψ φ = = (40) y¨ θ m −cosψ sinψ (θ sinψ − φ cosψ) Um1 We observe that the matrix is invertible ∀ ψ, because its determinant is 1, so the angular references for the controller are given by

ip t

18

A. Baldini, L. Ciabattoni et al.

   −1   m φ sinψ cosψ x¨ = θ y¨ U1 −cosψ sinψ

cr

(41)

an

us

Finally, the block diagram of an quadrotor system with sliding mode controller is shown in Fig. 2. It is worth to note as the external reference signals are the desired quote zd and attitude of the quadrotor (e.g., xd , yd , ψd ), whereas the controller acts on the quote zd and the angles φd , θd and ψd . The variables φd and θd are calculated by xd and yd as shown in Eq. (41).

m

Fig. 2 Block diagram of an quadrotor system with sliding mode controller

3.2 Backstepping

Ac

ce

pt

ed

Backstepping is a recursive procedure able to design a controller for a class of systems known as parametric strict-feedback system. The design problem of the full system is decomposed into a sequence of design problems for lower order subsystems by considering some of the state variables as ”virtual controls” and designing for them intermediate control laws (Krstic et al., 1995; Rasappan and Vaidyanathan, 2013; Vaidyanathan, 2015a,b; Vaidyanathan and Rasappan, 2014; Vaidyanathan et al., 2014). Using the backstepping approach, the control law can be synthesized as follow (Bouabdallah and Siegwart, 2005)

ip t

PSO based SMC design: application to a quadrotor vehicle

19

z1 = x1d − x1 z3 = x3d − x3 z4 = x4 − x˙3d − α3 z3 z5 = x5d − x5 z6 = x6 − x˙5d − α5 z5

us

z7 = x7d − x7

cr

z2 = x2 − x˙1d − α1 z1

z8 = x8 − x˙7d − α7 z7 where

m (z7 + g − α7 (z8 + α7 z7 ) − α8 z8 + x¨7d ) cos(x1 )cos(x3 ) 1 u2 = (z1 − a1 x4 x6 − a2 x4 Ω − α1 (z2 + α1 z1 ) − α2 z2 + x¨1d ) b1 1 u3 = (z3 − a3 x2 x6 − a4 x2 Ω − α3 (z4 + α3 z3 ) − α4 z4 + x¨3d ) b2 1 u4 = (z5 − a5 x2 x4 − α5 (z6 + α5 z5 ) − α6 z6 + x¨5d ) b3 x1d x3d

 =

m U1



sin ψ − cos ψ cos ψ sin ψ



x¨9d − x¨9 − x˙9 + x˙9d − 2x9 + 2x9d y¨9d − y¨9 − y˙9 + y˙9d − 2y9 + 2y9d

m



an

u1 =

 (42)

Eight parameters have be set by the automation designer to control a quadrotor by backstepping: αi , i = 1, . . . , 8.

ed

3.3 PID

Ac

ce

pt

Though many control techniques have been developed in scientific literature, the Proportional-Integral-Derivative (PID) controller is still extensively used in more than 90% of industrial processes (Ang et al., 2005). It can guarantee acceptable performances in transient and steady-state response and disturbance rejection for a wide range of application. Using the PID technique, the control law can be synthesized as follow

ip t

A. Baldini, L. Ciabattoni et al.

us

e1 = x1d − x1 Nφ 1 U2 = (Pφ + Iφ + Dφ )e1 s 1 + Nφ 1s e3 = x3d − x3 1 Nθ U3 = (Pθ + Iθ + Dθ )e3 s 1 + Nθ 1s e5 = x5d − x5 Nψ 1 U4 = (Pψ + Iψ + Dψ )e5 s 1 + Nψ 1s e7 = x7d − x7 1 Nz U1 = (Pz + Iz + Dz )e7 s 1 + Nz 1s

cr

20

Ac

ce

pt

ed

m

an

Twelve parameters have be set by the automation designer for PID controlling of a quadrotor: the proportional, integral and derivative gain of each controller. In particular Pφ , Pθ , Pψ , Pz , Iφ , Iθ , Iψ , Iz , Dφ , Dθ , Dψ and Dz .

ip t

PSO based SMC design: application to a quadrotor vehicle

21

4 PARTICLE SWARM OPTIMIZATION



us

cr

The first version of particle swarm optimization was described in (Kennedy and Eberhart, 1995). The algorithm starts by positioning uniformly and randomly the initial particles, and assigning them initial velocities. The velocities are randomly initialized in the range [vmin , vmax ]. Then the objective function is evaluated at each particle location and after the best function value and the best location are evaluated. → New velocities are chosen, based on the current velocity ( v (t)), the particles’ indi→ vidual best locations ( p(t), particle best) and the best locations of the population → ( g (t), global best). The velocity is updated as described in Eq. (43). →









v (t + 1) = λ v (t) + r1 rand(0,1)( p(t) − x (t))+ + r2 rand(0,1)( g (t) − x (t))

(43)





an

The parameter λ is the inertia weight, whereas r1 and r2 set the significance of p(t) → and g (t), respectively. Then, iteratively, each particle is moved to a new position calculated by the velocity updated at each time step t. The new position is the sum of the previous position and the new velocity as described in Eq. (44). →



x (t + 1) = x (t) + v (t + 1)

(44)

m

The iterations proceed until the algorithm reaches a stopping criterion. Main steps of the basic PSO are listed in the algorithm 1 (Cavanini et al., 2016; Ciabattoni et al., 2016). Algorithm 1 PSO algorithm pseudo-code

ed

1: Initialize Particles 2: repeat 3: Calculate fitness values of particles 4: Modify the best particles in the swarm 5: Choose the best particle 6: Calculate the velocities of particles 7: Update the particle positions 8: until Requirements are met

Ac

ce

pt

In this work, the IAE index is considered as fitness function and the parameters shown in Table 1 are tuned through PSO algorithm.

ip t

22

A. Baldini, L. Ciabattoni et al.

Table 1 Tuning parameters Parameters

Sliding mode Backstepping PID

K1 , ε1 , σ1 , K2 , ε2 , σ2 , K3 , ε3 , σ3 , K4 , ε4 , σ4 α1 , α2 , α3 , α4 , α5 , α6 , α7 , α8 Pφ , Iφ , Dφ , Pθ , Iθ , Dθ , Pψ , Iψ , Dψ , Pz , Iz , Dz

us

cr

Controllers

5 EXPERIMENTAL RESULTS

an

The proposed controllers have been developed and tested on Simulink environment using the quadrotor dynamic model (2.4). The controller parameters shown in Table 1 are tuned through PSO algorithm. In the experiment reported in this section, we considered the basic version of the technique, as described in section 4. Furthermore the values of the common parameters (i.e., λ , r1 , r2 ) used in the PSO algorithm were chosen according to Karaboga and Akay (2009). In particular the population size is 10 and the number of runs is 50. The IAE index is considered as fitness function and four performance index measurements have been considered in the comparison process, i.e., ISE, IAE, ITSE and ISAE defined as follows: • the integral of the squared error (ISE):

m

T

ISE = ∫ [e(t)]2 dt

(45)

0

• the integral of the absolute value of error (IAE): T

IAE = ∫ |e(t)| dt

(46)

ed

0

• the integral of time multiplied by the absolute value of error (ITAE), to penalize long duration transients as well as steady state oscillations: T

ITAE = ∫ t · |e(t)| dt

(47)

0

pt

• the integral of time multiplied by the squared error value (ITSE), to penalize long duration transients as well as steady state oscillations: (48)

0

The simulated task was to perform an 8-shape trajectory. In particular, the quadrotor has to take-off at the position xd , yd , zd = (3, 0, 0), where xd = x9 , yd = x11 , zd = x7 , follow an 8-shape path and land at the initial position. During the path, the

ce

Ac

T

ITSE = ∫ t · [e(t)]2 dt

ip t

PSO based SMC design: application to a quadrotor vehicle

23

cr

quadrotor has to keep the yaw angle ψd = x5 = 0 rad. Figure 3 shows the task accomplished by the quadrotor.

2

Z [m]

1.5

us

1 0.5 0 1.5

1

0.5

0

-0.5

-1

Y [m]

-1.5

-3

-2

0

-1

3

2

1

X [m]

an

Fig. 3 Desired path: the quadrotor has to take-off at the position (3, 0, 0), follow an 8-shape path and land at the initial position.

m

Figure 4 shows the actual path following for each controller, whereas Figs. 5, 6 and 7 depict the error positions of the quadrotor performed during the task. In particular, Figs. 5, 6 and 7 show the error along x, y and z (e9 (t), e11 (t), e7 (t)), respectively. PID controller gives the highest error along z due to the overshoots and sliding mode controller achieves the best performances, whereas along x and y the errors are comparable for all controllers.

2.5

1

ed

Z [m]

2 1.5

0.5

0 1.5

1

0.5

0 -0.5 Y [m]

-1

Reference PID Backstepping Sliding Mode

-1.5

-3

-2

-1

0

1 X [m]

2

3

4

pt

Fig. 4 Path following: dash–dotted blue line refers to PID controller, dashed red line refers to backstepping controller and dotted black line refers to sliding mode controller.

Ac

ce

The simulated performances are showed in Fig. 8, where Figs. 8(a), 8(b), 8(c) and 8(d) depict the indexes IAE, ISE, ITAE and ITSE respectively. The figures show that PID technique achieves the worst performances for this task, while sliding mode controller achieves the best performances.

ip t

A. Baldini, L. Ciabattoni et al.

us

cr

24

an

Fig. 5 Control results: error output e9 (t) related to x. Dash–dotted blue line refers to PID controller, dashed red line refers to backstepping controller and dotted black line refers to sliding mode controller.

ed

m

Fig. 6 Control results: error output e11 (t) related to y. Dash–dotted blue line refers to PID controller, dashed red line refers to backstepping controller and dotted black line refers to sliding mode controller.

pt

Fig. 7 Control results: error output e7 (t) related to z. Dash–dotted blue line refers to PID controller, dashed red line refers to backstepping controller and dotted black line refers to sliding mode controller.

Ac

ce

6 CONCLUDING REMARKS In this paper we proposed a particle swarm optimization method for choosing the control design parameters of well-known control algorithms applied to the tracking

ip t

PSO based SMC design: application to a quadrotor vehicle 3.5

0.3

3

0.25 0.2

1.5

0.1

1

PID Backstepping Sliding Mode

0.5 0

0.15

0

2

4

6

8

10

12

14 16 Time [s]

18

20

22

24

26

28

PID Backstepping Sliding Mode

0.05 0

30

0

2

4

6

8

10

12

5

40

4

30 20

2 PID Backstepping Sliding Mode

10 0

3

2

4

6

8

10

12

14 16 Time [s]

18

20

22

24

26

28

30

20

22

24

26

28

30

PID Backstepping Sliding Mode

1 0

18

us

50

0

14 16 Time [s]

(b) 6

ITSE

ITAE

(a) 60

cr

2

ISE

IAE

2.5

25

0

2

(c)

4

6

8

10

12

14 16 Time [s]

18

20

22

24

26

28

30

(d)

an

Fig. 8 Control results: (a) IAE; (b) ISE; (c) ITAE; (d) ITSE. Dash–dotted blue line refers to PID controller, dashed red line refers to backstepping controller and dotted black line refers to sliding mode controller.

ed

m

problem of a quadrotor vehicle. In detail, we compared the results among three different control laws, PID, backstepping and sliding mode. The sliding mode control showed the best performances in the presented case. The combination of sliding mode control and particle swarm optimization allows to solve the problem of control (stabilization and tracking) of several nonlinear systems, by limiting at the same time the design effort (i.e., parameters choice) and achieving near optimal results. As a drawback, the proposed approach requires a intensive use of process simulation, however this is quite common in control problems where hardware in the loop is usually adopted.

References

Ac

ce

pt

Ang, K. H., Chong, G., and Li, Y. (2005). Pid control system analysis, design, and technology. IEEE Transactions on Control Systems Technology, 13(4):559–576. Azar, A. T. and Vaidyanathan, S. (2015a). Chaos Modeling and Control Systems Design, volume 581. Springer, Berlin, Germany. Azar, A. T. and Vaidyanathan, S. (2015b). Computational Intelligence Applications in Modeling and Control, volume 575. Springer, Berlin, Germany. Azar, A. T. and Vaidyanathan, S. (2016). Advances in Chaos Theory and Intelligent Control, volume 337. Springer, Berlin, Germany. Boiko, I., Fridman, L., Pisano, A., and Usai, E. (2007). Analysis of chattering in systems with second-order sliding modes. IEEE Transactions on Automatic

ip t

26

A. Baldini, L. Ciabattoni et al.

Ac

ce

pt

ed

m

an

us

cr

Control, 52(11):2085–2102. Bondarev, A. G., Bondarev, S. A., Kostyleva, N. E., and Utkin, V. I. (1985). Sliding modes in systems with asymptotic state observers. Autom. Remote Control, 46:679–684. Bouabdallah, S. and Siegwart, R. (2005). Backstepping and sliding-mode techniques applied to an indoor micro quadrotor. In Proceedings of the 2005 IEEE international conference on robotics and automation, pages 2247–2252. Cavanini, L., Ciabattoni, L., Ferracuti, F., Ippoliti, G., and Longhi, S. (2016). Microgrid sizing via profit maximization: a population based optimization approach. In 2016 IEEE 14th International Conference on Industrial Informatics (INDIN). Ciabattoni, L., Ferracuti, F., Ippoliti, G., and Longhi, S. (2016). Artificial bee colonies based optimal sizing of microgrid components: a profit maximization approach. In 2016 IEEE Congress on Evolutionary Computation (IEEE CEC 2016). Corradini, M., Longhi, S., Monteri, A., and Orlando, G. (2010a). Observer-based fault tolerant sliding mode control for remotely operated vehicles. In IFAC Proceedings Volumes (IFAC-PapersOnline), pages 173–178. Corradini, M. L., Longhi, S., Monteri`u, A., and Orlando, G. (2010b). Observerbased fault tolerant sliding mode control for remotely operated vehicles. IFAC Proceedings Volumes, 43(20):173–178. Corradini, M. L., Monteri, A., Orlando, G., and Pettinari, S. (2011a). An actuator failure tolerant robust control approach for an underwater remotely operated vehicle. In 2011 50th IEEE Conference on Decision and Control and European Control Conference, pages 3934–3939. Corradini, M. L., Monteriu, A., and Orlando, G. (2011b). An actuator failure tolerant control scheme for an underwater remotely operated vehicle. IEEE Transactions on Control Systems Technology, 19(5):1036–1046. Derafa, L., Fridman, L., Benallegue, A., and Ouldali, A. (2010). Super twisting control algorithm for the four rotors helicopter attitude tracking problem. In 2010 11th International Workshop on Variable Structure Systems (VSS), pages 62–67. Erbatur, K. and Kaynak, O. (2001). Use of adaptive fuzzy systems in parameter tuning of sliding-mode controllers. IEEE/ASME Transactions on Mechatronics, 6(4):474–482. Fasano, A., Ferracuti, F., Freddi, A., Longhi, S., and Monteri, A. (2015). A virtual thruster-based failure tolerant control scheme for underwater vehicles. IFACPapersOnLine, 48(16):146 – 151. Ferrara, A., Incremona, G. P., and Stocchetti, V. (2014). Networked sliding mode control with chattering alleviation. In 53rd IEEE Conference on Decision and Control, pages 5542–5547. Fossen, T. I. (2011). Handbook of marine craft hydrodynamics and motion control. John Wiley & Sons. Freddi, A. (2012). Model-based diagnosis and control of unmanned aerial vehicles: application to the quadrotor system. PhD thesis, Universit`a Politecnica delle Marche.

ip t

PSO based SMC design: application to a quadrotor vehicle

27

Ac

ce

pt

ed

m

an

us

cr

Freddi, A., Longhi, S., and Monteri`u, A. (2009). A model-based fault diagnosis system for unmanned aerial vehicles. In IFAC Proceedings Volumes (IFACPapersOnline), pages 71–76. Gaing, Z.-L. (2004). A particle swarm optimization approach for optimum design of PID controller in AVR system. IEEE Transactions on Energy Conversion, 19(2):384–391. Ha, Q. P. (1996). Robust sliding mode controller with fuzzy tuning. Electronics Letters, 32(17):1626–1628. Karaboga, D. and Akay, B. (2009). A comparative study of artificial bee colony algorithm. Applied Mathematics and Computation, 214(1):108–132. Kennedy, J. and Eberhart, R. (1995). Particle swarm optimization. In IEEE International Conference on Neural Networks, 1995., volume 4, pages 1942–1948 vol.4. Khalil, H. K. and Grizzle, J. (1996). Nonlinear systems. Prentice hall New Jersey. Krstic, M., Kokotovic, P. V., and Kanellakopoulos, I. (1995). Nonlinear and Adaptive Control Design. John Wiley & Sons, Inc., New York, NY, USA. Lanzon, A., Freddi, A., and Longhi, S. (2014). Flight control of a quadrotor vehicle subsequent to a rotor failure. Journal of Guidance, Control, and Dynamics, 37(2):580–591. Lee, D., Kim, H. J., and Sastry, S. (2009). Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter. International Journal of control, Automation and systems, 7(3):419–428. Levant, A. (2010). Chattering analysis. IEEE Transactions on Automatic Control, 55(6):1380–1389. Mahony, R., Kumar, V., and Corke, P. (2012). Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor. IEEE robotics & automation magazine, 19(3):20–32. Mercado, D., Castillo, P., Castro, R., and Lozano, R. (2014). 2-sliding mode trajectory tracking control and ekf estimation for quadrotors. IFAC Proceedings Volumes, 47(3):8849–8854. Rasappan, S. and Vaidyanathan, S. (2013). Hybrid synchronization of n-scroll chaotic chua circuits using adaptive backstepping control design with recursive feedback. Malaysian Journal of Mathematical Sciences, 7(2):219–246. Vaidyanathan, S. (2014). Global chaos synchronisation of identical li-wu chaotic systems via sliding mode control. International Journal of Modelling, Identification and Control, 22(2):170–177. Vaidyanathan, S. (2015a). Adaptive chaotic synchronization of enzymes-substrates system with ferroelectric behaviour in brain waves. International Journal of PharmTech Research, 8(5):964–973. Vaidyanathan, S. (2015b). Analysis, control, and synchronization of a 3-d novel jerk chaotic system with two quadratic nonlinearities. Kyungpook Mathematical Journal, 55(3):563–586. Vaidyanathan, S. (2015c). Global chaos synchronization of chemical chaotic reactors via novel sliding mode control method. International Journal of ChemTech Research, 8(7):209–221.

ip t

28

A. Baldini, L. Ciabattoni et al.

Ac

ce

pt

ed

m

an

us

cr

Vaidyanathan, S. (2015d). Global chaos synchronization of rucklidge chaotic systems for double convection via sliding mode control. International Journal of ChemTech Research, 8(8):61–72. Vaidyanathan, S. (2015e). Integral sliding mode control design for the global chaos synchronization of identical novel chemical chaotic reactor systems. International Journal of ChemTech Research, 8(11):684–699. Vaidyanathan, S. (2015f). A novel chemical chaotic reactor system and its output regulation via integral sliding mode control. International Journal of ChemTech Research, 8(11):669–683. Vaidyanathan, S. (2015g). Sliding controller design for the global chaos synchronization of enzymes-substrates systems. International Journal of PharmTech Research, 8(7):89–99. Vaidyanathan, S. and Rasappan, S. (2014). Global chaos synchronization of n-scroll chua circuit and lur’e system using backstepping control design with recursive feedback. Arabian Journal for Science and Engineering, 39(4):3351–3364. Vaidyanathan, S. and Volos, C. (2016a). Advances and Applications in Chaotic Systems, volume 636. Springer, Berlin, Germany. Vaidyanathan, S. and Volos, C. (2016b). Advances and Applications in Nonlinear Control Systems, volume 635. Springer, Berlin, Germany. Vaidyanathan, S., Volos, C., Pham, V. T., Madhavan, K., and Idowu, B. A. (2014). Adaptive backstepping control, synchronization and circuit simulation of a 3-d novel jerk chaotic system with two hyperbolic sinusoidal nonlinearities. Archives of Control Sciences, 24(3):375–403. Wai, R. J. (2007). Fuzzy sliding-mode control using adaptive tuning technique. IEEE Transactions on Industrial Electronics, 54(1):586–594. Zheng, E.-H., Xiong, J.-J., and Luo, J.-L. (2014). Second order sliding mode control for a quadrotor uav. ISA Transactions, 53(4):1350–1356. Disturbance Estimation and Mitigation.