adaptive fuzzy control for a quadrotor helicopter robust...

18
Journal of Intelligent & Fuzzy Systems 22 (2011) 267–283 DOI:10.3233/IFS-2011-0488 IOS Press 267 Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting C. Coza a , C. Nicol a , C.J.B. Macnab a,and A. Ramirez-Serrano b a Department of Electrical and Computer Engineering, University of Calgary, Calgary, AB, Canada b Department of Mechanical and Manufacturing Engineering, University of Calgary, Calgary, AB, Canada Abstract. The nonlinear and open-loop unstable dynamics of a quadrotor helicopter makes a control system design non-trivial. However, even more difficulty lies in adapting to an uncertain dynamic model and unknown payloads while remaining robust to significant buffeting wind disturbances. Fuzzy-adaptive or neural-adaptive control offer possible solutions, exhibiting com- putational efficiency and adaptation to arbitrary nonlinearities. A common method for making these adaptive controls robust to disturbances, e-modification, is found to be unsuitable when applied to the quadrotor in simulation. The adaptive parameters tend to drift to large values in the presence of a sinusoidal disturbance. In this work, we propose a method that uses alternate adaptive parameters in the adaptation scheme. The proposed method successfully controls the quadrotor in simulation, with realistic con- trol signals and computational effort. The adaptive parameter drift and control chatter present with e-modification both vanish. Moreover, performance improves dramatically in the presence of disturbances. Keywords: Adaptive fuzzy control, neural adaptive control, cerebellar model articulation controller (CMAC), quadrotor helicopter, helicopter control 1. Introduction Traditionally used for military operations, Unmanned Aerial Vehicles (UAVs) are now find- ing applications in the civilian world including monitoring of traffic conditions, recognition and surveillance of vehicles, aerial photography for real estate evaluations, and search and rescue operations [24]. Those that can take off and land vertically, like helicopters, are especially versatile. Recent advances in technology, including sensors and microcontrollers, now allow small electrically actuated UAV’s to be built relatively easily and cheaply. A helicopter with Corresponding author: C.J.B. Macnab, Department of Electrical and Computer Engineering, University of Calgary, Calgary, Alberta, T2N 1N2, Canada. Tel.: +1 403 220 4877; Fax: +1 403 282 6855; E-mail: [email protected]. four rotors, or quadrotor, has numerous advantages over traditional helicopter designs in the case of small electrically actuated aircraft [19]. Successful implementation of a UAV depends on the level of controllability and flying capabilities. Exhibiting open-loop unstable nonlinear dynamics, the quadrotor poses significant challenges to present-day control engineers [7]. In this work we have made progress in the area of quadrotor stabilization control in the presence of uncertain nonlinear functions in the dynamics, unknown payload, and sinusoidal external disturbances (wind gusts). Using adaptive intelligent control designs, like fuzzy or neural methods, may very well be required to achieve practical unmanned flying. For one thing, small quadro- tors are supposed to be inexpensive. Taking the time to calibrate a nonlinear model to use in a model-based con- trol for each quadrotor (as in [8]) significantly increases 1064-1246/11/$27.50 © 2011 – IOS Press and the authors. All rights reserved

Upload: others

Post on 18-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

Journal of Intelligent & Fuzzy Systems 22 (2011) 267–283DOI:10.3233/IFS-2011-0488IOS Press

267

Adaptive fuzzy control for a quadrotorhelicopter robust to wind buffeting

C. Cozaa, C. Nicola, C.J.B. Macnaba,∗ and A. Ramirez-Serranob

aDepartment of Electrical and Computer Engineering, University of Calgary, Calgary, AB, CanadabDepartment of Mechanical and Manufacturing Engineering, University of Calgary, Calgary, AB, Canada

Abstract. The nonlinear and open-loop unstable dynamics of a quadrotor helicopter makes a control system design non-trivial.However, even more difficulty lies in adapting to an uncertain dynamic model and unknown payloads while remaining robustto significant buffeting wind disturbances. Fuzzy-adaptive or neural-adaptive control offer possible solutions, exhibiting com-putational efficiency and adaptation to arbitrary nonlinearities. A common method for making these adaptive controls robust todisturbances, e-modification, is found to be unsuitable when applied to the quadrotor in simulation. The adaptive parameters tendto drift to large values in the presence of a sinusoidal disturbance. In this work, we propose a method that uses alternate adaptiveparameters in the adaptation scheme. The proposed method successfully controls the quadrotor in simulation, with realistic con-trol signals and computational effort. The adaptive parameter drift and control chatter present with e-modification both vanish.Moreover, performance improves dramatically in the presence of disturbances.

Keywords: Adaptive fuzzy control, neural adaptive control, cerebellar model articulation controller (CMAC), quadrotor helicopter,helicopter control

1. Introduction

Traditionally used for military operations,Unmanned Aerial Vehicles (UAVs) are now find-ing applications in the civilian world includingmonitoring of traffic conditions, recognition andsurveillance of vehicles, aerial photography for realestate evaluations, and search and rescue operations[24]. Those that can take off and land vertically, likehelicopters, are especially versatile. Recent advancesin technology, including sensors and microcontrollers,now allow small electrically actuated UAV’s to bebuilt relatively easily and cheaply. A helicopter with

∗Corresponding author: C.J.B. Macnab, Department of Electricaland Computer Engineering, University of Calgary, Calgary, Alberta,T2N 1N2, Canada. Tel.: +1 403 220 4877; Fax: +1 403 282 6855;E-mail: [email protected].

four rotors, or quadrotor, has numerous advantagesover traditional helicopter designs in the case of smallelectrically actuated aircraft [19].

Successful implementation of a UAV depends onthe level of controllability and flying capabilities.Exhibiting open-loop unstable nonlinear dynamics, thequadrotor poses significant challenges to present-daycontrol engineers [7]. In this work we have madeprogress in the area of quadrotor stabilization controlin the presence of uncertain nonlinear functions in thedynamics, unknown payload, and sinusoidal externaldisturbances (wind gusts).

Using adaptive intelligent control designs, like fuzzyor neural methods, may very well be required to achievepractical unmanned flying. For one thing, small quadro-tors are supposed to be inexpensive. Taking the time tocalibrate a nonlinear model to use in a model-based con-trol for each quadrotor (as in [8]) significantly increases

1064-1246/11/$27.50 © 2011 – IOS Press and the authors. All rights reserved

Page 2: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

268 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

the cost of the product. Moreover, many practical appli-cations require the quadrotor to pick up unknownpayloads, significantly changing the dynamic model.

Direct adaptive control methods may be suitable forthis problem [20]. Intelligent control methods offersome advantages, relaxing the restriction on a linear-in-parameters model and reducing on-line computationalcomplexity. For instance, others have proposed usingnon-adaptive fuzzy logic as the basis of control. Thefuzzy gain-scheduling control of a helicopter [14] isrobust to wind gusts in simulation. The fuzzy-PID heli-copter control in [23] is robust to decreasing fuel massin simulation but is not tested with disturbances. Adap-tive neural-networks offer an alternative approach thatcan compensate for uncertain and changing dynam-ics. Many have developed and tested neural-adaptivecontrols in simulation without disturbances, for exam-ple for a helicopter in [12, 15] and a quadrotor in[25]. Turbulence may actually help stability, providinga persistently-exciting input causing weight conver-gence (tested with helicopter simulations in [6, 11]).Neural-adaptive control on an experimental helicopterwas robust to an impulse disturbance (a push) in [17].The work in this paper focuses on the worst case sce-nario disturbance for an adaptive system, which is a puresinusoid. This could occur with a buffeting wind dis-turbance. A pure sinusoidal disturbance tends to makeneural weights, or adaptive fuzzy centers, diverge.

A fuzzy nonlinear function approximator based onthe Cerebellar Model Arithmetic Computer (CMAC)[2], provides computational efficiency and adaptivecapabilities (and was originally called the CerebellarModel Articulation Controller [1]). In adaptive fuzzycontrol, the adaptive parameters are centers of thefuzzy membership functions used in the decoding.Update laws derived with Lyapunov methods usuallyprovide adaptation. Previously proposed adaptive fuzzytechniques can handle approximation errors and smallexternal disturbances [18]. However, achieving bothrobustness and high performance when large exter-nal sinusoidal forces disturb the system is difficult.The adaptive parameters tend to drift to large magni-tudes in the presence of a sinusoidal disturbance. Adesign using Gaussian basis functions can prevent thisdrift [18], but the local nature of CMAC basis func-tions causes much more severe drift [16, 26]. The driftof the adaptive parameters eventually causes controlsignal chatter resulting in undesired behavior, errordivergence, bursting, or even instability. Techniquestraditionally used in direct adaptive control for robustparameter updates restrict performance to stop the drift.

These traditional techniques include parameter pro-jection [10], deadzone [10], and e-modification [21].The e-modification method appears attractive becauseit requires neither a-priori training on the model (likeprojection) nor knowledge of the bounds on distur-bances (like deadzone) in order to guarantee uniformlyultimately bounded (UUB) signals. Unfortunately, thebound on the signals may be too large for practical pur-poses (i.e. outside the acceptable operating range of thequadrotor) unless the actuators are capable of applyingvery large gains.

A new proposed method for robust adaptive param-eter updates appears here that prevents this drift. Inthe new method, a set of alternate parameters guidesthe adaptation process in order to prevent drift. ALyapunov stability proof ensures the uniform ultimateboundedness of all signals, similar to e-modification.A simulation study of a quad-rotor helicopter demon-strates the high performance and robust stability of thenew method.

2. Description of the quadrotor

A quadrotor has four rotors and requires no cyclic,collective pitch or tail rotor as helicopters do. This typeof UAV can take off, fly, hover, perform nimble maneu-vers, and land in small areas. Assuming there is no wind,such vehicles perform flying tasks using simple con-trol mechanisms developed by numerous researchers[3, 22]. Small disturbances, such as light wind and prob-lems associated with poor vehicle modeling, greatlydisturb light portable quadrotors.

Four motors/propellers located at the front, rear, left,and right ends of a cross frame provide both propul-sion and steering. The front and rear propellers rotatein a counter-clockwise direction while the left and rightpropellers rotate in a clockwise direction to balance thetorque created by the spinning rotors. The relative speedof the left and right rotors is varied to control the rollrate of the UAV. Increasing the speed of the left motorby the same amount that the speed of the right motor isdecreased will keep the total thrust provided by the fourrotors approximately the same. (This assumption needsverification from wind-tunnel and flight based exper-imental research.) In addition, the total torque createdby these two rotors remains constant. Similarly, varyingthe relative speed of the front and rear rotors deter-mines the pitch rate. Controlling the yaw rate meanssetting the relative speed of the clockwise (right andleft) and counter-clockwise (front and rear) rotors. The

Page 3: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 269

Fig. 1. Experimental quadrotor.

Fig. 2. Coordinates and assumption of rotor spin directions.

collective thrust varies with a constant change in speedof all the rotors.

The hardware we have built (Fig. 1) and aim tocontrol using our proposed method is described inAppendix A.

3. Modeling of a quadrotor helicopter

The quadrotor moves with six degrees of freedom(Fig. 2): movement in Cartesian coordinates relative tothe body-frame (X, Y ,Z) and rotation about the respec-tive Cartesian axes (φ, θ, ψ are roll, pitch, and yawrespectively). The coordinates X0, Y0, Z0 describe thefixed Cartesian frame relative to the Earth.

Different methods can produce dynamic equationsof the helicopter model. Ideally a model incorporatesthe nonlinear gyroscopic effects resulting from boththe rigid body rotation in space and the four propul-

sion groups rotation. Secondary effects includes therotors, the gearbox and the motor rotation. In choosingour approach and which dynamics effects to includewe follow the formulations that resulted in successfulquadrotor experiments [4, 5] and a successful neural-adaptive control [25].

3.1. Equations governing roll, pitch and yaw

A Newton-Euler formulation describes the dynamicsexpressed in the body fixed frame [13] as:

Jϑ + ϑ × (Jϑ + hre3) = T, (1)

where

• J = diag(JX, JY , JZ) is the inertia tensor in bodycoordinates,

• hr is the angular momentum of the rotors and pro-pellers,

• T ∈ �3 is the applied torque due to propellerforces,

• ϑ = [φ θ ψ]T are angular velocities,• e3 = [0 0 1]T defines the axis of rotation of

the rotors.

The force from a propeller is proportional to thesquare of its angular velocity. Defining the rotor angu-lar velocities for the four rotors as �1, �2, �3 and �4(with positive directions defined in Fig. 2), the appliedtorque is

T =

⎡⎢⎣T1

T2

T3

⎤⎥⎦ =

⎡⎢⎣

Lb(�24 −�2

2)

Lb(�23 −�2

1)

d(�21 +�2

3 −�22 −�2

4)

⎤⎥⎦ , (2)

where L is the distance from the rotor center to thequadrotor’s center of mass, b is a constant thrust factor,and d is a constant drag factor. The third torque ele-ment (for the yaw) is the result of drag forces on thepropellers. The torque applied by each motor to opposedrag is also a torque (in the opposite direction) on theairframe.

Assuming constant rotation speed, the angularmomentum of the rotors is

hr = Jr�r = Jr(−�1 +�2 −�3 +�4), (3)

where Jr is the inertia of the each identical rotor. Usingthe propeller speeds as control inputs implies variablespeeds, making (3) an approximation and making (1) aquasi-static approximation of the dynamics.

The second order dynamics of the DC motor pro-pellers are much faster than the dynamics of the

Page 4: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

Fig. 3. Outer and inner control loops for flying/hovering mode.

helicopter, and a simple motor constant Km is suffi-cient to describe the relationship between input voltageand rotor angular velocity for control design purposes.Assuming the motor constant is known, input voltagesVi results in

�i = KmVi for i = 1, 2, 3, 4, (4)

Thus, the control design assumes each rotor velocity�ican be applied as desired.

3.2. Control problem

In our scenario, a high-level navigation systemsupplies the control system with desired Cartesian coor-dinates in the fixed frame. An outer control loop takesdesired horizontal Cartesian coordinates Xd, Yd andprovides desired roll and pitch to an inner control loop(Fig. 3). The outer control loop utilizes a (nonlinear)control law based on choice of translational/rotationalcoordinate transformation matrix. For hovering with theX axis pointed in the direction of a strong wind, theouter loop control derived in Appendix B is

φd = sin−1([K1(Yd − Y0) −K2Y0]), (5)

θd = − sin−1([(K1(Xd −X0) −K2X0]/ cos(φ)). (6)

whereK1 andK2 are positive control gains. Derivativesφd, θd follow from analytic differentiation. The controllaw assumes an orientation mode has already moved(yawed) the quadrotor into the correct orientation. Thus,applying pitch will allow the quadrotor to hover againstthe wind (or move forward).

The inner control loop provides appropriate controlsu to follow the pitch and roll trajectory generated bythe outer loop, achieve a desired height Xd , and regu-late yaw ψ. These controls are transformed into motorspeeds � using the transformation T(u). The transfor-mation T, state space model, and error dynamics aredeveloped in Appendix C. The states are

x1 = Z0, x2 = φ − φd, x3 = θ − θd, x4 = ψ,

and using state vector x = [x1, x2, x3, x4]T the result-ing auxiliary error dynamics are

Z = �x + x = f (x, t) + d(t) + g(x, t) + B(φ, θ)u, (7)

where� is chosen constant and positive-definite, f (x, t)contains linear and nonlinear terms, d(t) contains exter-nal disturbances (wind), g(x, t) contains higher-orderterms, and B(φ, θ) ∈ R4 × 4 is positive-definite whenangles are less than 90 degrees.

We assume that f (x, t) contains unknown parame-ters, because of uncertainty in the physical componentsand because the quadrotor is expected to pick upunknown payloads. The challenge is to design anonlinear control law for u utilizing a fuzzy nonlinear-approximator that adapts to uncertain/changing f (x, t)while remaining robust to unknown d(t) and g(x, t).

4. Adaptive-fuzzy control

Making a nonlinear control both adaptive to largemodel uncertainty and robust to significant sinusoidaldisturbances is a challenging control problem. Previ-ously proposed fuzzy and neural adaptive solutions canlearn unknown dynamics, but will sacrifice significantperformance in order to be able to reject disturbances.Purely robust techniques may handle small disturbancesbut are not suitable for large uncertainties like unknownmass and significant wind force. Thus, we propose anovel adaptive-fuzzy control that achieves adaptationwith both performance and stability in this difficultsituation.

4.1. Fuzzy nonlinear-approximator

Aiming at computational efficiency, the algorithmuses local polynomials (splines) to construct the fuzzymembership functions. A fuzzy nonlinear approxima-tor requires encoding and decoding of the informationusing these functions. The CMAC serves as a computa-tionally efficient method of constructing such functions.From a computational standpoint, it avoids the curse ofdimensionality when trying to use multi-dimensionalbasis functions to span an input space.

Each spline is non-zero, or activated by the input, ina cell. Each layer consists of cells arranged in a look-uptable, and there are a total of m layers which are offsetfrom each other. If there is only one input, the methodis straightforward (Fig. 4). With multiple inputs theCMAC uses hash-coding to only allocate memory for a

Page 5: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 271

cell 1 cell 2 cell 3 cell 4 cell 5

layer 1

layer 2

layer 3

layer 4

input y

Fig. 4. Spline-shaped fuzzy membership functions arranged inCMAC form: the input activates one function per layer, the output isa fuzzy decoding operation (weighted sum of basis functions). Withn-inputs, the fuzzy membership functions become n-dimensionalusing a fuzzy AND of one-dimensional splines.

cell once it is activated. This offers significant advantagein computational efficiency compared to using globalbasis functions e.g. a lattice of Gaussians. Moreover, themicroprocessor in the quadrotor can easily perform theCMAC algorithm in real time. The value of an activatedspline for the ith input on the jth layer is calculated

sij(qi) = h2j (qi) − 2h3

j (qi) + h4j (qi), (8)

where yi is the ith element of the input and 0 < hj(qi)< 1 is the position inside the activated cell on layerj. A fuzzy AND operation provides the total fuzzyencoding for the n inputs:

γj(y) = 16(s1j(q1) ANDs2j(q2) . . . AND snj(qn)). (9)

This work uses a standard probability interpretationof fuzzy AND so

γj(q) =n∏i=1

sij(qi). (10)

One can view (10) as a fuzzy membership function witha truth value between zero and one: the truth that the ndimensional input is at the center of the activated cell.The output of the fuzzy approximator is a center-of-average decoding operation.

c =m∑i=1

(γi(q)∑mj=1 γj(q)

)wi (11)

Alternatively, one may view the operation as anassociative-memory neural network, where the output isa weighted sum of normalized multi-dimensional basisfunctions.

4.2. Adaptive-fuzzy control of the roll, pitchand yaw

The following adaptive-fuzzy control strategy stabi-lizes the roll, pitch and yaw angles of the quadrotorhelicopter in the presence of unknown parameters inthe dynamics. The gyros and accelerometers estimatethe roll and pitch angle. Fuzzy approximators estimatethe nonlinear functions in the control law. The fuzzymembership functions that encode inputs q consist oflocal splines, described in the previous section. Theoutput of one fuzzy approximator with m membershipfunctions is

c =m∑i=1

�i(q)wi, (12)

where each wi is a center of a (decoding) fuzzy member-ship function. Using neural-network terminology, eachwi is a weight and each �i is a basis function. We shallcall each wi a decoding weight to emphasize the similar-ity of fuzzy membership functions to neural networksand other nonlinear approximation techniques. The fourcontrols in the quadrotor dynamics require⎡⎢⎢⎢⎣c1

c2

c3

c4

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎣

[�1 . . . �m] 0 0

0. . . 0

0 0 [�1 . . . �m]

⎤⎥⎥⎦⎡⎢⎢⎢⎢⎣w1

w2

...

w4m

⎤⎥⎥⎥⎥⎦ ,

c = diag(�1,�2,�3,�4)[wT

1 wT2 wT

3 wT4

]T,

c = �(q)w. (13)

where each �i is the same row vector of basis func-tions and � is a 4 ×m matrix. Development of a directadaptive control utilizes a Lyapunov-like function

V = 1

2zTB−1Bz + 1

2βwT w, (14)

where order-of-magnitude estimates bi’s are containedin

B = diag(b1, b2, b3, b4)).

The term b1 is time-varying (containing CθCφ) result-ing in a positive-definite V in the region −π/2 <(φ, θ) < π/2. Differentiating (14) using (48) produces

V = zT (c(q) + ε(t,q) + Bu) − wT ˙w, (15)

where fuzzy approximators replaced all nonlinearfunctions. The term ε(q, t) represents the uniform

Page 6: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

272 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

approximation error of each fuzzy approximator plustime-varying disturbances. Substituting (47) into (15)reveals the fuzzy CMACs must uniformly approximatenonlinear terms

b1(�x5 − d1(t) − g)/b1 + z1

2

d

dt

(b1

b1

)= c1 + ε1, (16)

b2(�x6 − d2(t) + x7x8a1 + x7a2�r − φd)/b2 = c2 + ε2,(17)

b3(�x7 − d3(t) + x6x8a3 + x6a4�r − θd)/b3 = c3 + ε3, (18)

b4(�x8 − d4(t) + x6x7a5)/b4 = c4 + ε4, (19)

where the parameters are defined in Appendix C.Assuming uniform approximation and bounded distur-bances, then a positive constant εmax bounds each εi(such that εi(x) ≤ εmax for i = 1, 2, 3, 4) in the localregion of approximation. An appropriate control lawand common robust decoding weight update law are

u = B−1(c(q) − Kz), (20)

˙w = β(�T z − ν‖z‖w) (21)

with each β and ν positive constants and K a positive-definite symmetric matrix of gains. The e-modificationterm (−ν‖z‖w) makes the decoding weight updatesrobust to each bounded approximation error andwind disturbances. Thus, the Lyapunov derivative (15)becomes:

V = (−zTKz + zT (ε+ d) + ν‖z‖wT w)

(22)

V ≤ ‖z‖(−‖z‖Kmin + εmax + dmax

+ ν‖w‖‖w‖ − ν‖w‖2) (23)

where Kmin is the minimum eigenvalue of K. Thisensures V (z, w) < 0 outside of a compact set on the(‖z‖, ‖w‖) plane that includes the origin [21]. Thesmallest level set of V (Lyapunov surface) that enclosesthis compact set encloses an invariant set i.e. the Lya-punov surface is a bound on trajectories that start withinthe Lyapunov surface. Furthermore, the signals areUUB.

4.3. The proposed method of alternate weights

The robust e-modification decoding weight methodcannot achieve high performance when there are largedisturbances that exhibit oscillations. The decodingweights tend to drift to large values, eventually causingsevere control chatter, if the e-modification parameter νis not large. However, a large value of ν directly reduces

desired error

fuzzy

functions

control

control

weights

weights

alternate

state

feedback

Γw

Γp

state

+

+

++

-

-

Fig. 5. Proposed Method of Alternate Weights: The state error trainsthe control weights and the difference between the control outputand alternate output trains the alternate weights (training indicatedby dashed lines).

the magnitude of the decoding weights, which mayresult in a large output error. For example, large controlsignals, and thus large decoding weights, are required tosimply overcome the force of gravity with the quadrotor.Any reduction in decoding weight magnitude causes thequadrotor to sag beneath the commanded height.

The basic idea of the method of alternate weightsis that many sets of decoding weights are capable ofuniformly approximating the same nonlinear function.An alternate set of decoding weights that is smaller inmagnitude than w can guide the training (Fig. 5). Bykeeping the decoding weights w relatively close to thesmaller alternate weights, we expect to keep the systemstable without sacrificing performance. Further novelimprovements to this method appear in the followingsection, allowing the method to perform significantlybetter than e-modification when a sinusoidal wind dis-turbs the system.

4.4. Supervised training of alternate weights

The method of alternate weights relies on theassumption that a set of alternate set of decodingweights p exists such that�p ≈ �w. (In fact we assumethat many such sets exists). The learning error is

τ = (�w − �p). (24)

If the control output�w was static, the gradient descentrule that would accomplish supervised (static) learningwould be

˙p = α�T τ (25)

where α is a positive constant.However, this could lead to p simply converging

to w, which would not constitute a true alternate set.

Page 7: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 273

Moreover, we want an alternate set that avoids extremeweight values. Thus, we propose modifying this statictraining rule as

˙p = α�T τ + ρ(p − p) (26)

where ρ is a positive constant and the term p denotesthe mean value of the alternate decoding weights

p = [pT1 pT2 pT3 pT4 ]T where pi = mean (pi)I

for i = 1, 2, 3, 4

The term ρ(p − p) ensures that the alternate decod-ing weights differ from the control decoding weights.They will be clustered closer to the mean, avoidingthe extreme values of weights that cause problemsfor e-modification. Proof that this results in a sta-ble (bounded) static training procedure is presented inAppendix D.

4.5. Robust weight using alternate weights

When applied on-line the alternate update rule (26)must be further modified to ensure stability, in lightof time-varying �w and closed-loop error dynamics.Assuming the alternate output is capable of approxi-mating �w within range ±δ, the following decodingweight update is appropriate:

˙p ={κ[α�T τ + ρ(p − p) − ηp] if‖τ‖ > δ

κ[ρ(p − p) − ηp] otherwise(27)

where κ and η are positive constants. The leakage terms(multiplied by η) provide robustness to disturbancesin the closed-loop dynamics. The learning deadzoneδ is necessary to ensure alternate decoding weightsdo not diverge when �w is time-varying. If one hadgood knowledge of the system i.e. from extensivepre-training, choice of δ = τmax would be appropriate(Appendix D). In this work, an appropriate δ is foundthrough experiment.

The new control decoding weight update must

• prevent drift by utilizing the alternate decodingweight updates to guide the training, keeping the

control decoding weights close to the alternatedecoding weights and

• ensure UUB signals in light of (27) and distur-bances in the closed-loop dynamics.

Replacing (21), we find the following update rule to beappropriate:

˙w ={β(�Tz − α�T τ + ζ1(p − w)

)if‖τ‖ > δ

β(�Tz + ζ2(p − w)

)otherwise

(28)

where ζ1 and ζ2 are positive constants. We choose ζ2much larger than ζ1 in order to force the control decod-ing weights close to the alternate decoding weightswhen the learning error is small. A Lyapunov analy-sis establishes UUB signals for the proposed method inAppendix E. Validation that this method outperformse-modification is found through experiment.

5. Results and discussion

The simulation experiment compares the results ofapplying e-modification with the proposed methodusing alternate weights. The parameters used in the sim-ulation (Table 1) come from a real quadrotor [5]. TheCMAC fuzzy approximator inner-loop control is runas a digital signal at 50 Hz, and the outer loop controlthat produces a desired roll and pitch trajectory as a5 Hz digital signal. This is a realistic performance forthe hardware in the quadrotor, although the sensors andfiltering of signals is not simulated. The choice of only10 layers in the CMAC leaves plenty of room for signalprocessing operations in the hardware.

In the simulations, the quadrotor hovers first withoutdisturbances, and then in the presence of external dis-turbances. For both scenarios the quadrotor starts withonly an initial value for pitch:

θ(0) = 0.1 radians,

X0(0) = Y0(0) = Z0(0) = φ(0) = ψ(0) = 0.

Note the value Z0 = 0 does not imply the quadrotorstarts on the ground. We assume both the value of Z0and ψ are reset to zero at the end of the orientation

Table 1Quadrotor parameters

Symbol Definition Value Symbol Definition Value

b Thrust factor 3.13 × 10−5 (N s2) JZ Z Inertia 1.121 × 10−2 (Kg m2)d Drag factor 7.5 × 10−7 (N m s2) Jr Rotor inertia 6 × 10−5 (Kg m2)JX X Inertia 6.228 × 10−3 (Kg m2) m Mass 0.52 (Kg)JY Y Inertia 6.225 × 10−3 (Kg m2) L Distance 0.232 (m)m

Page 8: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

274 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

Table 2Parameters used in controller

ControlParameters Values CMAC Inputs Input Cell Sizes

k1, k2, k3, k4 1 φ, θ 0.5 (rad)b1, b2, b3 1 × 10−5 φ, θ 0.5 (rad/s)b4 1 × 10−7 ψ 0.05 (rad/s)β1 0.4 z1 2.5β2, β3, β4 0.2 z2, z3 0.25m (number of layers) 10 z4 0.025

�� 250 (rad/s)

phase (the start of the hovering phase). The quadrotorwill drop significantly at first, because the entire massof the quadrotor is unknown to begin with.

5.1. No disturbances

Providing a fair comparison, both e-modification andthe proposed method use common gains and the sameCMAC parameters (Table 2). For the robustifying terme-modification method used

ν = 0.05

The proposed method used robust control-weight-update parameters

α = 5, ζ1 = 0.1 ζ2 = 10,

and robust alternate-weight-update parameters

κ = 0.5, α = 5, η = 0.026, ρ = 0.02 δ = 0.01

These parameters were found to produce very similarresults between the two methods in the disturbance-freecase. In fact, both e-modification and the new methodare fully capable of controlling the quadrotor withoutdisturbances (Fig. 6). TheX0 position initially changes(due to the initial pitch) but adjusts back to zero in 10seconds. The fuzzy approximator learns to adapt to themass of the quadrotor within 60 seconds. Since, in bothcases, the weights converge to constant values we knowbursting will never occur.

5.2. With disturbances

The disturbances that hit the quadrotor are

di(t) = D1 +D2 sin(ωt) for i = 1, 2, 3, 4 (29)

where D1 and D2 are positive constants. In all simu-lations D1 = 1, D2 = 0.5 and ω = 2π. The idea is tocapture, in a simple form, the worst qualities of a buf-feting wind disturbance for fuzzy-adaptive control. It isthe persistent oscillation that taxes the method the most.

Fig. 6. No disturbance: Both methods are capable of achieving nearly zero error and have nearly identical transient response.

Page 9: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 275

Fig. 7. With disturbance: e-modification cannot achieve both stable performance and low error, regardless of the value of ν.

Fig. 8. With disturbances: e-modification does not stop the weight drift until ν is raised to 50, resulting in large steady-state error.

Page 10: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

276 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

Fig. 9. With disturbances: e-modification with ν = 5 (left) starts diverging after 30 seconds, but the new method (right) converges to low errorsin a smooth fashion.

Fig. 10. With disturbances: the proposed method of alternate weights can achieve high performance, approximately ten times better thane-modification with ν = 50.

Page 11: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 277

Fig. 11. With disturbances: the proposed method can stop the weight drift, at maximum weight values significantly below those that caused thedivergence in e-modification.

118.2

Fig. 12. Outputs: even a conservative e-modification design that sacrifices performance results in severe control chatter (dashed line) while thebest performance with the new method results in no visible control chatter (solid line).

Page 12: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

278 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

When there is a persistent oscillation (D2 > 0)it causes inputs to oscillate between two (or more)local fuzzy membership functions. Then at least oneweight tends to drift to infinity (where zi > 0) andone tends to drift to negative infinity (where zi < 0)without robust modifications to the adaptation rule.The e-modification method tries to limit weight driftby implementing a term that pushes the weightstoward zero. However, if the steady-state disturbanceD1 is significant, the weights must remain large tocounter-act the disturbance if one wishes to main-tain high performance. Thus, increasing the magnitudeof the e-modification term will directly reduce per-formance in order to halt the weight drift. This ismost apparent in the Z0 coordinate because largeweights are needed to approximate the gravity force bute-modification moves the weights to smaller magni-tudes. The proposed method of alternate weights doesnot require such a trade-off.

It is clear that e-modification is not capable of con-trolling the system adequately, even when ν is varied(Fig. 7). This is because the weights continue to driftto large values unless ν is very large (Fig. 8). A rel-atively small value of ν = 0.5 drives the error towardzero in the first thirty seconds, but then weight driftcauses diverging performance. Increasing ν to 5 sacri-fices 25 cm of performance in Z0 but does not makeperformance inX0 or Y0 converge (roll, pitch, and yawaugmented errors shown in Fig. 9 on the left). To haltweight drift altogether, e-modification requires ν = 50which results in large steady-state errors of 20 cm inboth X0 and Y0.

The proposed method of alternate weights can stopthe weight drift (Fig. 11) while still achieving high per-formance (Fig. 10) of 1 cm error in both X0, Y0 and1.5 cm error in Z0. Thus, the error is more than tentimes smaller than e-modification with no weight drift.The oscillation of the state errors does not result anydivergence in performance, rather convergence remainssmooth (Fig. 9 right). The simulations utilized the samevalues of parameters used in the experiment with nodisturbance. No redesign was necessary.

The reason why large weights decrease performancein X0 and Y0 coordinates is control signal chatter.Unless weight drift halts, the e-modification trials resultin significant chatter (ν = 5 shown in Fig. 12, dashedline). Due to this chatter e-modification cannot followthe desired values ofφd(t) and θd(t) produced by (5) and(6), preventing the Cartesian error from reaching zero.This kind of chatter can also excite unmodeled dynam-ics in a real system. The proposed method of alternate

weights, however, does not produce any visible chatterin the control signals (Fig. 12, solid line).

6. Conclusions

This work presents a new method of adaptive-fuzzycontrol that makes controlling a quadrotor helicopterpossible in the presence of both model uncertainty andsinusoidal external wind disturbances. A quadrotor hasbeen built as part of this research, but requires advancedadaptive control methods to be able to operate outside invarying weather conditions with variable payloads. Theobjective in the design of adaptive parameter updates isto halt the drift of the adaptive parameters without sac-rificing performance. The proposed method relies on aset of alternate adaptive parameters to guide the train-ing. The alternate parameters produce nearly the sameoutputs in the fuzzy approximator, but are smaller inmagnitude. This method can control the quadrotor in adifficult situation when both the model of the quadro-tor is unknown to begin with, including the mass, anda significant oscillating disturbance buffets the system.In the simulation tests, the proposed method eliminatesthe control chatter found with e-modification in this sit-uation. As a result, the proposed method achieves errorsup to ten times smaller than the e-modification method.

Acknowledgments

This work was supported by the Alberta Ingenu-ity Fund and the Natural Sciences and EngineeringResearch Council of Canada.

A. Description of the quadrotor hardware

One can purchase a number of commercial quadrotorvehicles such as Dragonflyer from RC Toy and EADSQuattrocopter MAV12. Other quadrotor vehicles sup-ply research and development needs, like The X-4 Flyer,so people can investigate control and design aspects.For these reasons our work also relies on a prototype.When developing prototypes, researchers typically relyon inertial measurement units that contains gyroscopes,accelerometers, magnetometers, and microcontrollersin order to measure the states of the aircraft. Vision sys-tems and differential GPS mechanisms can also provideinformation on the vehicle position and posture [3, 9].Our design emphasizes the use of commercially avail-

Page 13: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 279

able hardware and software tools in order to achieveintegration of all components with the least effort.

Although the physical construction of the quadro-tor is not the main topic of this paper, some issuesare important when looking at control design. Manypapers in the approximate adaptive control literatureassume one can implement nearly unlimited controlgains and massive real-time computations. As the con-troller developed here will be tested in experiment, it isimportant to develop a realistic control system for thegiven hardware.

The prototype quadrotor (Fig. 1) has a solid alu-minum alloy frame making it stronger and more rigidthen some of the other designs found in literature. Thisdesign results in a frame that is lightweight, strongenough to survive rough landings, and portable. Withthese properties the vehicle should be able to traversevarious environmental scenarios outside the lab.

An examination of current motor technology yieldedtwo options for electric power; brushed versus brushlessmotors. The important difference for the type of appli-cation for quad-rotor vehicles is that high performancebrushed motors are significantly heavier than high per-formance brushless motors. As a result, our vehiclesuse brushless motors. The final choice of motor for theopen-blade quad-rotor was the Razor RZ-Micro HeliV2 which weights 27 g. The corresponding speed con-trol processor used is the Castle Creations Phoenix 10controller. This ESC was selected for its light weight(6 g) and compatibility with multiple battery types. Thepower to weight ratio of the motor/controller systemwas found to be over 10:1.

The unstable nature of the aerial robot requires thatan advanced control system be used to achieve flight.High end inertial sensors are coupled with a highperformance micro-processor, allowing the onboardcomputer to detect and react to unwanted flight char-acteristics. A wireless data link and a PC basedcontrol station allow an operator to remotely transmitcommands to the vehicle up to thirty-two kilome-ters away. The onboard electronics control system iscomprised of 3 MEMs gyroscopes (oriented in a mutu-ally orthogonal manner), two dual axis accelerometers(one output is ignored), four dedicated speed con-trollers, a bidirectional wireless data link, as well asa high performance micro-processor. The FreescaleMC9S12XDP512 microcontroller was chosen for thetask, as it offers 32KB ram and 512KB flash, a 40MHzmax bus, sixteen 10-bit analog to digital (A/D) con-version channels, four 16-bit pulse width modulation(PWM) channels, as well as a USART for serial com-

munication. Six of the A/D channels are utilized bythe gyroscopes (three for roll, pitch and yaw measure-ments, and three for internal gyroscope temperaturemeasurements - used for calibration), three more for foraccelerometer measurements, as well as a tenth inputbeing reserved to monitor battery voltage. The maincontroller communicates to each of the dedicated speedcontrols by PWM signaling. The high-power Aero-comm AC4490 transceiver then allows bi-directionaldata to pass between the USART and the base station.

B. Outer control loop

This section develops the outer control loop for track-ing fixed-frame Cartesian coordinates, (5) and (6), usedto provide desired roll and pitch to an inner control loop.

B.1. Expressing Cartesian coordinates

In body-frame Cartesian coordinates

mv +mϑ × v = F + G, (30)

where

• v = [X Y Z]T are body-frame Cartesianvelocities,

• m is the mass of the quadrotor,• F ∈ �3 is the applied force from the propellers,• G ∈ �3 is the force of gravity.

The propeller force is

F =

⎡⎢⎣

0

0

F3

⎤⎥⎦ =

⎡⎢⎣

0

0

b(�21 +�2

2 +�23 +�2

4)

⎤⎥⎦ . (31)

Presumably one is interested in controlling the Carte-sian coordinates in a fixed frame attached to the Earth.Let us define the fixed-frame coordinates asX0, Y0, Z0and fixed-frame velocities

v0 = [X0, Y0, Z0]. (32)

The Cartesian equations of motion in the fixed frameare

mv0 = RF −mge3, (33)

where R is a rotation matrix and g is the gravitationalacceleration constant.

The transformation between attitude angles andCartesian coordinates is best accomplished using Eulerangles (true roll, pitch, and yaw produce a singularity

Page 14: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

280 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

when the pitch is zero). The appropriate choice of Eulerangles and resulting R depends on how the aircraft isflown. Consider two logical modes: an initial orienta-tion mode followed by a flying/hovering mode. In theorientation mode the quadrotor will simply rotate inyaw to face the desired direction (along the X axis). Inthe flying or hovering mode, an independent outer-loopcontrol system design will achieve desired X0 and Y0coordinates in the flying frame of reference [4]. In fly-ing/hovering mode the initial yaw is defined as zero, androll and pitch will be used to achieve desired Cartesianpositions or velocities.

B.2. Orientation mode

An orientation phase occurs first, where the quadro-tor rotates to a desired yaw angle and perhaps to adesired height. During this mode, the X axis will turnto face into the desired direction of travel for flying.Ideally, it will face the wind direction for hovering,although this will not be necessary except for verystrong winds. In this mode the control u2, u3, and u4regulate rotational coordinates only, and drift inX0 andY0 will be ignored. Control u1 is capable of lifting to ormaintaining a desired height in this mode.

The yaw angle from the orientation mode will bedefined as zero for the subsequent flying/hoveringmode. Thus the flying frame of reference is initiallylined up with the body frame along the X axis. Theflying/hovering mode requires an outer control loop toachieve desired Cartesian positions or velocities.

B.3. Flying/hovering mode and outer control loop

Consider viewing φ, θ, ψ as approximating the set ofZ -X -Y Euler angles. This accuracy of this approxima-tion relies on an assumption of very small yaw angle,small roll angle, but with no assumption on pitch. Thus,these Euler angles serve as an appropriate basis fordesigning a rotation matrix for flying facing the front(X direction). When flying the pitch is used to moveforward or backwards. If hovering with this orienta-tion the pitch alone could cancel out wind force, andit would be easy to keep yaw at zero. If hovering doesnot take place while facing into the wind, adjustmentsin roll will be needed to deal with error in the Y0 coor-dinate. The resulting rotation matrix that achieves thetranslation between the body frame and the fixed frameis then

RZXY = CY (ψ)CX(θ)CZ(φ), (34)

where CX,CY ,CZ are the three standard principalrotation matrices. Then (33) becomes

X0 = −SθCφb

mu1, (35)

Y0 = Sφb

mu1, (36)

Z0 = −g+ CθCφb

mu1, (37)

where Cθ = cos(θ), Sθ = sin(θ) and so on.Now an outer control loop design will achieve desired

horizontal coordinates. The outer control loop providesdesired angles to an inner control loop. The inner loopachieves those angles using the control signals. (Notethe vertical coordinate control resides in the inner loop).In the simulation, the inner control loop runs at a fre-quency an order of magnitude faster than the outer loop.

In the flying/hovering mode the desired yaw willalways be zero. Providing a desired Yd coordinateallows for small adjustments to combat inertial driftwithout having to stop and reenter the orientation mode.Examining (36) with the knowledge that b

mu1 > 0

implies the desired roll that would, if achieved, driveY0 → Yd is

φd = sin−1 ([K1(Yd − Y0) −K2Y0]), (38)

whereK1 andK2 are positive control gains. The desiredpitch for hovering at a constant position Xd followsfrom (35)

θd = −sin−1 ([(K1(Xd −X0) −K2X0]/Cφ). (39)

During flight we would use a desired velocity X0 todesign desired pitch angle as

θd = −sin−1 ([K2(Xd − X0)]/Cφ). (40)

Avoiding having positive term (b/m)u1 in these outerloop control laws is useful because the control designassumes b and m are unknown parameters. Moreover,avoiding using u1 means the signals φd and θd areavailable through analytic differentiation (using filteredestimates of X0 and Y0).

C. State space model and error dynamics

This section describes our control signals and a statespace model of the quadrotor. Also, it shows how errordynamics (7) are developed, which are suitable fordeveloping an inner-loop control.

Page 15: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 281

C.1. Control inputs

Treating the angular velocities as control inputs isunnecessarily complicated. It is easier to utilize theexpressions for force in (31) and torques in (2) anddefine the mapping from angular velocities to controlsignals:⎡⎢⎢⎢⎣u1

u2

u3

u4

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

F3/b

T1/(Lb)

T2/(Lb)

T3/(d)

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

1 1 1 1

0 −1 0 1

−1 0 1 0

1 −1 1 −1

⎤⎥⎥⎥⎦⎡⎢⎢⎢⎣�2

1

�22

�23

�24

⎤⎥⎥⎥⎦ (41)

The inverse of the above matrix defines atransformation T from u = [u1 u2 u3 u4]T to � =[�1 �2 �3 �4]T

� = T(u). (42)

The resulting dynamics suitable for control design are

mv0 = bu1Re3 −mge3, (43)

φ = θ ψJY − JZ

JX− Jr

JXθ �r + Lb

JXu2, (44)

θ = φ ψJZ − JX

JY+ Jr

JYφ �r + Lb

JYu3, (45)

ψ = φ θJX − JY

JZ+ d

JZu4. (46)

The term �r (defined in (3)) depends on the angu-lar velocities but cannot be easily accounted for inthe control design. Using a fuzzy approximator yieldsan advantage over traditional adaptive methods in thiscase, because a value from the previous time step canbe provided as an input

�� = �r(t −�)

where � is the time period of the controller fre-quency. This provides the fuzzy approximator enoughinformation to compensate for this term under mostcircumstances. The difference between �� and �r issimply treated as a disturbance (providing yet anotherreason why an appropriate control system will need tobe robust).

C.2. State space form of inner loop

The following state space model, and subsequentsimulation experiments, assume the quadrotor is hov-ering (Xd = Yd = Zd = ψd = 0). The system takes on

the state-space form x = f (t,x,u) using the followingstate space variables:

x1 = Z0, x2 = φ − φd, x3 = θ − θd, x4 = ψ,

and xi+4 = xi for i = 1, 2, 3, 4. The state space modelin expanded form becomes

x =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

x1

x2

x3

x4

x5

x6

x7

x8

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

x5

x6

x7

x8

−d1(t) − g+ b1u1

−d2(t) + x7x8a1 + x7a2�r − φd(t) + b2u2

−d3(t) + x6x8a3 + x6a4�r − θd(t) + b3u3

−d4(t) + x6x7a5 + b4u4

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

where

a1 = (JY − JZ)/JX, b1(t) = CφCθb/m,

a2 = −Jr/JX, b2 = Lb/JX,

a3 = (JZ − JX)/JY , b3 = Lb/JY ,

a4 = Jr/JY , b4 = d/JZ,

a5 = (JX − JY )/JZ,

and each di(t) represents an external disturbance due towind. Defining the auxiliary state error as

zi = �xi + x(i+4) for i = 1, 2, 3, 4 (47)

where � is a positive constant, and putting the errorsinto vector z = [z1 z2 z3 z4]T results in error dynamics

Z = f (q) + d(t) + g(�r −��) + Bu, (48)

where g is a disturbance term and

q = [xT , φd, θd, φd, θd, ��]T , B = diag(b1, b2, b3, b4).

D. Static training stability analysis

This analysis establishes that a static alternate weightupdate (26) would result in UUB signals. For statictraining on N discrete input values a Lyapunov functioncandidate is

V =N∑i=1

1

2τTi τi =

N∑i=1

1

2τT (�(qi)w − �(qi)p)

where �i = �(qi) contains only non-zero (positive)functions. Using CMAC terminology, � contains all

Page 16: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

282 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting

the activated functions. In static training, �(qi) = 0 and˙w = 0

V =N∑i=1

τTi (−�(qi) ˙p))

Applying training rule (26) results in

V =N∑i=1

τTi (−α�i�Ti τi + ρ�i(p + p))

Assuming that ‖p − p‖ ≤ a where a is a positive con-stant means

V =N∑i=1

τTi (−α�i�Ti τi + ρ�ia)

Vi ≤ ‖�i‖‖τi‖(−α‖�i‖‖τi‖ + ρa)

and Vi < 0 when ‖τi‖ > τbound where

τbound = ρa

α‖�i‖By standard Lyapunov arguments, τbound constitutes auniform ultimate bound on each error ‖τi‖.

Now we must show that indeed ‖p − p‖ ≤ a. Con-sider

V =N∑i=1

1

2pT p

where p = w − p. Using ˙p = − ˙p

V =N∑i=1

pT (�Ti τi + ρp − ρp)

V =N∑i=1

pT (�Ti �iw − �Ti �ip + ρp − ρp)

Using ‖p‖ ≤ ‖p‖ means

Vi ≤ ‖�Ti �i‖‖p‖(‖w‖ − ‖p‖)

and Vi < 0 when

‖p‖ > ‖w‖recalling ‖w‖ is a constant in static training. Thus bystandard Lyapunov arguments ‖w‖ is a bound on ‖p‖.Since ‖p‖ < ‖p‖ this also implies ‖p − p‖ ≤ 2‖w‖and the constant in (D) is a = 2‖w‖.

E. Proposed method on-line stability analysis

This analysis establishes that control (20) withweight updates (27) and (28), applied to system (48)results in uniformly ultimately bounded (UUB) signals.The direct-adaptive control Lyapunov function is

V = 1

2zTB−1Bz + 1

2βwT w + 1

2κpT p (49)

Since this is just (14) with the an additional term due top, we rely on the previous result (22) to write

V = −zTKz + zT (ε+ d) + h(z, w, ˙w, p, ˙p) (50)

where

h(z, w, ˙w, p, ˙p) = wT(�T z − ˙w

β

)+pT

(− ˙pκ

)(51)

With weight updates (27) and (28), for the case of ‖τ‖ >δ this becomes

h = αwT�T (�w − �p) − ζ1wT (p − w)

−αpT�T (�w − �p) − ρpT (p − p) + ηpT p (52)

Using w = w − w and p = w − p implies (w − p) =(p − w) resulting in

h = −α(�w − �p)T (�w − �p) − ζ1wT (w − p)

−ρpT (w − ¯p − w + p) + ηpTw − ηpT p (53)

Using the fact that

−ρpT (w − ¯p − w + p) ≤ ρ

(‖p‖‖w‖ + ‖p‖2 + ‖p‖‖w‖ − ‖p‖2) (54)

results in

h ≤ −ζ1‖w‖2 + ζ1‖w‖‖p‖ + (2ρ + η)‖p‖‖w‖−η‖p‖2 (55)

and thus

V ≤

⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦T ⎡⎢⎣

−Kmin 0 0

0 −ζ1 ζ1/2

0 ζ1/2 −η

⎤⎥⎦⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦

+ [Dmax 0 (2ρ + η)‖w‖ ]⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦ (56)

where Dmax = εmax + dmax. The matrix in the firstterm has eigenvalues with negative real parts as long

Page 17: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter robust to wind buffeting 283

as the parameters are chosen such that η > ζ1/4,which implies that V < 0 outside a compact set in(‖z‖, ‖w‖, ‖p‖) space making all signals UUB.

For the case of ‖τ‖ < δ then (27) implies that

‖p‖ < pmax (57)

where pmax is a positive constant and

h ≤ −ζ2‖w‖2 + ζ2‖w‖pmax + (2ρ + η)pmax‖w‖ − η‖p‖2 (58)

and thus

V ≤

⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦T ⎡⎢⎣

−Kmin 0 0

0 −ζ2 0

0 0 −η

⎤⎥⎦⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦

+ [Dmax pmax 0]⎡⎢⎣

‖z‖‖w‖‖p‖

⎤⎥⎦

+(2ρ + η)pmax‖w‖ (59)

again implying that V < 0 outside a compact set in(‖z‖, ‖w‖, ‖p‖) space guaranteeing UUB signals.

References

[1] J. Albus, A new approach to manipulator control: The cere-bellar model articulation controller (CMAC), J Dyn Sys MeasContr 97 (1975), 220–227.

[2] J. Albus, Brains, Behaviour, and Robotics, BYTE PublicationsInc., 1981.

[3] E. Altug, J.P. Ostrowski, R. Mahony, Control of a quadrotorhelicopter using visual feedback, in: IEEE International Con-ference on Robotics and Automation, Washington, DC, 2002,pp. 72–77.

[4] S. Bouabdallah, R. Siegwart, Backstepping and sliding-mode techniques applied to an indoor micro quadrotor, in:IEEE International Conference on Robotics and Automation,Barcelona, Spain, 2005, pp. 2259–2264.

[5] S. Bouabdallah, R. Siegwart, Results of the 5th Annual Conf.on Field and Service Robotics, Springer Berlin / Heidelberg,2006, Ch. Towards intelligent miniature flying robots, pp. 429–440.

[6] A. Calise, R. Rysdyk, Nonlinear adaptive flight control usingneural networks, IEEE Control Syst Mag 18(6) (1998), 14–25.

[7] P. Castillo, R. Lozano, A. Dzul, Stabilization of a mini rotor-craft with four rotors, IEEE Control Systems Magazine (2005)45–55.

[8] M. Chen, M. Huzmezan, A combined MBPC/2 DOF H-infinitycontroller for a quad rotor UAV, in: AIAA Atmospheric FlightMechanics Conference, Austin, 2003.

[9] M. Earl, R. Andrea, Real-time attitude estimation techniquesapplied to a four rotor helicopter, in: Proceeding of the 43rdIEEE Conference on Decision and Control, Atlantis, ParadiseIsland, Bahamas, 2004, pp. 3956–3961.

[10] B. Egardt, Stability of Adaptive Controllers, Springer-Verlag,New York, 1979.

[11] R.J.S. Enns, Helicopter trimming and tracking control usingdirect neural dynamic programming, IEEE Trans Neural Netw14(4) (2003), 929–939.

[12] N. Hovakimyan, F. Nardi, A. Calise, N. Kim, Adaptive outputfeedback control of uncertain nonlinear systems using single-hidden-layer neural networks, IEEE Trans Neural Netw 13(6)(2002), 1420–1431.

[13] P.C. Hughes, Spacecraft Attitude Dynamics, Wiley, New York,1986.

[14] B. Kadmiry, D. Driankov, A fuzzy gain-scheduler for the atti-tude control of an unmanned helicopter, IEEE Trans Fuzzy Syst12(4) (2004), 502–515.

[15] F. Keng Peng Tee, Shuzhi Sam Ge, Tay, Adaptive neural net-work control for helicopters in vertical flight, IEEE TransControl Syst Technol 16(4) (2008), 753–762.

[16] L. Kraft, J. Pallotta, Real-time vibration control using CMACneural networks with weightsmoothing, in: Proc. AmericanCntrl Conf, San Diego, 1999, pp. 3939–3943.

[17] A. Kutay, A. Calise, M. Idan, N. Hovakimyan, Experimentalresults on adaptive output feedback control using a labora-tory model helicopter, IEEE Trans Control Syst Technol 13(2)(2005), 196–202.

[18] Y. Lee, S. Hui, E. Zivi, S. Zak, Variable neural adaptive robustcontrollers for uncertain systems, Int J Adaptive Control andSignal Processing 22 (2008), 721–738.

[19] P. McKerrow, Modeling the draganflyer four-rotor helicopter,in: Proceedings of the 2004 IEEE International Conference onRobotics and Automation, 2004, pp. 3596–3601.

[20] Y. Morel, A. Leonessa, Direct adaptive tracking control ofquadrotor aerial vehicles, in: Florida Conference on RecentAdvances in Robotics, Miami, Florida, 2006, pp. 1–6.

[21] K. Narendra, A. Annaswamy, A new adpative law for robustadaptation without persistant excitation, IEEE Trans AutomControl AC-32(2) (1989), 134–145.

[22] P. Pounds, R. Mahony, J. Gresham, P. Corke, J. Roberts,Towards dynamically-favourable quad-rotor aerial robots, in:Proceedings of the 2004 Australasian Conference on Roboticsand Automation, Canberra, Australia, 2004.

[23] E.N. Sanchez, H.M. Becerraa, C.M. Velez, Combining fuzzy,pid and regulation control for an autonomous mini-helicopter,Information Sciences 177(10) (2007), 1999–2022.

[24] Y.M. Shakernia, T. Koo, S.S. Sastry, Landing an unmanned airvehicle: Vision-based motion estimation and nonlinear control,Asian Journal of Control 1(3) (1999), 128–145.

[25] H. Voos, Nonlinear and neural network-based control of a smallfour-rotor aerial robot, in: Proc.IEEE/ASME Conf. AdvancedIntelligent Mechatronics, Zurich, 2007, pp. 1–6.

[26] Y. Yuan, W. Gu, J. Yu, Advances in Neural Networks –ISNN 2004, Springer Berlin/Heidelberg, Ch. Online Learn-ing CMAC Neural Network Control Scheme for NonlinearSystems, 2004, pp. 117–122.

Page 18: Adaptive fuzzy control for a quadrotor helicopter robust ...read.pudn.com/downloads550/doc/2269941/Adaptive... · 270 C. Coza et al. / Adaptive fuzzy control for a quadrotor helicopter

Copyright of Journal of Intelligent & Fuzzy Systems is the property of IOS Press and its content may not be

copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written

permission. However, users may print, download, or email articles for individual use.