You are on page 1of 40

J Intell Robot Syst (2009) 54:647686

DOI 10.1007/s10846-008-9280-z

Dynamic Modelling and Stability Analysis


of Model-Scale Helicopters Under Wind Gust

Adnan Martini Franois Lonard Gabriel Abba

Received: 11 April 2007 / Accepted: 4 July 2008 / Published online: 2 August 2008
Springer Science + Business Media B.V. 2008

Abstract The purpose of this paper is to present the stabilization (tracking) with
motion planning of a reduced-order model having 3 Degrees Of Freedom (DOF).
This last one represents a scale model helicopter mounted on an experimental
platform. It deals with the problem of disturbance reconstruction acting on the
autonomous helicopter, the disturbance consists in vertical wind gusts. The objective
is to compensate these disturbances and to improve the performances of the control.
Consequently, a nonlinear simple model with 3DOF of a helicopter with unknown
disturbances is used. Three approaches of robust control are compared via simula-
tions: a robust nonlinear feedback control, an active disturbance rejection control
based on a nonlinear extended state observer and backstepping control.

Keywords Helicopter Nonlinear systems Backstepping


Robust nonlinear control Active disturbance rejection control
Helicopter state observer Drone control UAV

1 Introduction

High levels of agility, maneuverability and the capability of operating in degraded


visual environments and adverse weather conditions are the new trends of helicopter
design nowadays. Helicopter flight control system should make these performance
requirements achievable by improving tracking performance and disturbance rejec-
tion capability. Robustness is one of the critical issues which must be considered in
the control system design for such high-performance autonomous helicopter, since
any mathematical helicopter model, especially those covering large flight envelope,

A. Martini (B) F. Lonard G. Abba


Industrial Engineering and Mechanical Production Lab (LGIPM),
cole Nationale dIngnieurs de Metz, le du Saulcy,
57045 METZ Cedex 1, France
e-mail: adnanmartini@hotmail.com
648 J Intell Robot Syst (2009) 54:647686

will unavoidably have uncertainty due to the empirical representation of aerody-


namic forces and moments. To preserve stability and performance in the presence
of a 3 Degrees Of Freedom (DOF) autonomous helicopter model uncertainties and
exogenous disturbances, robust control techniques such as robust nonlinear feedback
control (RNFC), active disturbance rejection control (ADRC) based on a nonlinear
extended state observer (ESO) and backstepping control are useful tools to meet the
control requirements.
Design of control of autonomous flying systems has now become a very challeng-
ing area of research, as shown by a large literature [1, 8, 17, 22, 32]. Many previous
works focus on (linear and nonlinear, robust, ...) control, including a particular
attention on the analysis of the stability [23], but very few works have been made on
the influence of wind gusts acting on the flying system, whereas it is a crucial problem
for out-door applications, especially in urban environment: as a matter of fact, if the
autonomous flying system (especially when this system is relatively slight) crosses a
crossroads, it can be disturbed by wind gusts and leave its trajectory, which could be
critical in a highly dense urban context. In [25] and [26], three controllers (nonlinear,
H and robust nonlinear feedback) are designed for a nonlinear reduced-order
model of a 3DOF helicopter. In [31], a control strategy stabilizes the position of
the flying vehicle in wind gusts environment, in spite of unknown aerodynamic
efforts and is based on robust backstepping approach and estimation of the unknown
aerodynamic efforts.
In recent papers, feedback linearization techniques have been applied to heli-
copter models. The main difficulty in the application of such an approach is the
fact that, for any meaningful selection of outputs, the helicopter dynamics are non-
minimum phase, and hence are not directly input-output linearizable. However, it
is possible to find good approximations to the helicopter dynamics [17] such that
the approximate system is input-output linearizable, and bounded tracking can be
achieved.
Nonlinear control designs previously attempted include neural network based
controllers [28], fuzzy control [34], differential flatness [18], backstepping designs
[7, 8, 23] and [21], and adaptive control [6, 20]. These methods either assume
feedback linearizability, which in turn restricts the motion to be around hover, or do
not include parametric uncertainties, or realistic aerodynamics. Specific issues such
as unknown trim conditions that degrade the performance of the helicopter have not
been addressed. While adaptive control schemes have been proposed in the aircraft
and spacecraft control context, there is a lack of similar work on helicopter control.
The non-minimum phase nature of the helicopter dynamics adds to the challenge of
finding a stable adaptive controller. Wei [40] showed the control of nonlinear systems
with unknown disturbances, using a disturbance observer based control. In [14] a
robust sliding mode control structure is designed using the exact feedback lineariza-
tion procedure of the dynamic of a small-size autonomous helicopter in hover. The
robustness of the controller in the context of stabilization and trajectory tracking
with respect to small body forces and air resistance on the main and tail rotor, is
analytically proved using Lyapunov approach. Some approach and some simulation
results are presented to illustrate the performance and robustness of such controller
in the presence of small body forces and air resistance. Isidori et al. [16] designed
a nonlinear controller (to control the vertical motion of a nonlinear model of an
helicopter, while stabilizing the lateral and horizontal position and maintaining a
J Intell Robot Syst (2009) 54:647686 649

constant attitude) which combines recent results on nonlinear adaptive output


regulations and robust stabilization of systems in feedforward form by means of
saturated controls. Simulations show the effectiveness of the method and its ability
to cope with uncertainties on the plant and actuator model. In the paper of [24], the
authors design an autopilot in order to control the vertical, lateral, longitudinal and
yaw attitude dynamic of an helicopter achieving a desired four degree of freedom
trajectory. The nonlinear control law proposed succeeds in enforcing the desired
trajectories robustly with respect to uncertainties characterizing the physical and
aerodynamical parameters of the helicopter.
This paper is organized as follows. Section 2 is dedicated to the aerodynamical
forces and torques acting on the helicopter and used in the 3DOF Lagrangian model
of the helicopter mounted on an experimental platform. This model can be seen as
made of two subsystems (translation and rotation). Section 3 introduces the model
of wind gust. In Section 4 three approaches of robust control design for the reduced
order model are proposed. The application of these three approaches of robust
control on our disturbed helicopter is analyzed in Section 5. Section 6 is dedicated
to the zero-dynamics analysis. Section 7 is devoted to simulation results and some
conclusions are presented in Section 8. Finally, the study of model stability is carried
out in the annex A.

2 Helicopter Model

Helicopters operate in an environment where task performance can easily be af-


fected by atmospheric turbulence. This paper discusses the airborne flight test of the
VARIO Benzin Trainer helicopter in turbulent conditions to determine disturbance
rejection criteria and to develop a low speed turbulence model for an autonomous
helicopter simulation. A simple approach to modeling the aircraft response to
turbulence is described by using an identified model of the VARIO Benzin Trainer
to extract representative control inputs that replicate the aircraft response to dis-
turbances. This parametric turbulence model is designed to be scaled for varying
levels of turbulence and utilized in ground or in-flight simulation. Hereafter the
nonlinear model of the disturbed helicopter [25] starting from a non disturbed model
[39] is presented. The Vario helicopter is mounted on an experimental platform and
submitted to a vertical wind gust (see Fig. 1) [39]. It can be noted that the helicopter
is in an Out Ground Effect condition. The effects of the compressed air in take-off
and landing are then neglected. The Lagrange equation, which describes the system
of the helicopter-platform with the disturbance, is given by:
M(q)q + C(q, q)
+ G(q) = Q(q, q,
u, vra f ), (1)
where the input vector of the control u = [u1 u2 ]T and q = [z ]T is the vec-
tor of generalized coordinates. The first control u1 is the collective pitch angle
(swashplate displacement) of the main rotor. The second control input u2 is the
collective pitch angle (swashplate displacement) of the tail rotor. The induced gust
velocity is noted vra f . The helicopter altitude is noted z, is the yaw angle and
is the main rotor azimuth angle. M R33 is the inertia matrix, C R33 is the
Coriolis and centrifugal forces matrix, G R3 represents the vector of conservative
u, vra f ) = [ fz z ]T is the vector of generalized forces. The variables
forces, Q(q, q,
650 J Intell Robot Syst (2009) 54:647686

Fig. 1 Helicopter-platform
[39] with wind gust

fz , z and represent respectively, the total vertical force, the yaw torque and the
main rotor torque in presence of wind gust and can take the following expressions as
proved in [38]:
fz = T M + Dvi , (2)

z = T T x T , (3)

= C M + Cmot , (4)
with:
  
p M c M a R M 2 2R3M 2
TM = z + u1 + R2M v1 ,
4 b lM 3b l M
 
pT cT a RT 2 2r2 R3T 2
TT = z + u2 ,
4 b lT 3b lT
 
p M c M aR2M 2R M cd cd 2 2 5 2
CM = v1 u1 + z 2 + R M + v1 , (5)
4 3b l M 2a 2a 4
where T M , TT are the main and tail rotor thrust. Here M stands for main rotor and
T for tail rotor and Dvi is the amplitude of the drag force created by induced velocity
in the disc of the main rotor, C M is the main rotor drag torque, Cmot = kmot u1 is
the engine torque which is assumed to be proportional to the first control input, a
is the lift-curve slope per degree of the wing, is the air density, ( p M , pT ) are the
number of the main and tail rotor blades, respectively, (c M , cT ) are the chord blade
of the main and tail rotor. Moreover (R M , RT ) are the radius of the main and tail
rotor, (b l M , b lT ) are the lever arm blade of the main and tail rotor, cd is the drag
coefficient, v1 = vv is the induced velocities in the case of the vertical flight.
J Intell Robot Syst (2009) 54:647686 651

With the assumption that the helicopter evolves at low rates of vertical velocity,
the vertical flight induced velocity vv and the hover induced velocity vh are approx-
imately equal, so that the algebraic values of the main and tail rotor thrusts and the
main rotor drag torque take the following form:

T M = c8 2 u1 + c9 , (6)
TT = c11 u2 ,
2
(7)
C M = c12 u1 + c14 + c15 .
2
(8)

Finally, with the state vector : x = [z z ]T , where is the main rotor


angular speed, the representation of the reduced system of the helicopter, without
considering the effects of the wind gust, can be written in the following state
form [25]:

x1 = x2 = z ,
1 
x2 = c8 2 u1 + c9 + c10 c7 ,
c0

x3 = x4 = ,

Table 1 3DOF model Parameters Values


parameters
c0 7.5 kg
c1 0.4305 kg m2
c2 3 104 kg m2
c3 4.143
c4 0.108 kg m2
c5 0.4993 kg m2
c6 6.214 104 kg m2
c7 73.58 N
c8 3.411 kg
c9 0.6004 kg m/s
c10 3.679 N
c11 0.1525 kg m
c12 12.01 kg m/s
c13 1 105 N
c14 1.206 104 kg m2
c15 2.642 N
c16 0.1706 kg
c17 0.2132 N s2 /m
652 J Intell Robot Syst (2009) 54:647686

1 

x4 = c5 c11 2 u2 c4 (c12 + c13 ) u1 + c14 2 + c15 ,
c1 c5 c4
2

x5 = x6 = ,
1 

x6 = c11 c4 2 u2 + c1 c4 (c12 + c13 ) u1 + c14 2 + c15 , (9)
c1 c5 c24

where ci (i =0,...,17) are numerical aerodynamical constants of the model given in


Table 1 [38]. For example c0 represents the helicopter weight, c15 = 2ka1s b 1s where
a1s and b 1s are the longitudinal and lateral flapping angles of the main rotor blades,
k is the blades stiffness of main rotor.

3 Disturbance Model of Wind Gust

Flight in turbulent atmosphere, as the most frequent poor weather condition, is a


major issue for aircraft design. The most important problems related to turbulence
effects are: structural loading and fatigue, controllability and handling qualities,
passenger and crew safety and comfort. While structural analysis and design may
require more complex and intricate descriptions of the natural phenomena, simula-
tion, performance analysis or handling qualities investigations may take advantage
of simpler and more tractable models.
The purpose of this section is to present the development of a simple turbulence
representation suitable for helicopter dynamic simulation, stability and performance
analysis. The rotorcraft atmospheric turbulence problem has attracted a wide variety
of researchers with an assortment of approaches, for example we can find in [4]
that the disturbances d = [ d d ] = [ dx d y dz dl dm dn ] are the applied forces and
moments resulting from unmodelled aerodynamics such as wind gust and vortex
shedding. The main effect of wind gust is to cause a random fluctuation of helicopters
velocity. The velocity uncertainties  and  caused by wind gust can be well
modeled by the outputs of some shaping filters with white noise as the input source.
The velocity increments  and  depend on the intensity w and the turbulence
scale length Lw of wind gust. Where w and Lw are the main statical characteristics
describing the behavior of wind gust, different values of w and Lw result in different
types of wind gust.
Perhinschi in [30] presents the development of a simple turbulence representation
suitable for helicopter dynamic simulation. The components of the uniform field
velocity are included as additive perturbations affecting aerodynamic terms of the
state matrix.
The frozen field hypothesis and linear approximation are assumed. Components
of the uniform field velocity are included as additive perturbations affecting aero-
dynamic terms of the state matrix. Effects of the spatial gradients on parts of the
helicopter other than rotor are considered as equivalent rotations. Effects of the
spatial gradients on the rotor are considered by means of equivalent blade pitch
angle perturbations. Vertical gradients are neglected. Equivalent blade pitch angle
perturbations are determined such that total aerodynamic forces and moments over
the rotor disc are conserved. The most important spatial turbulence gradients are the
longitudinal and lateral gradients of the vertical velocity component. Due to the rotor
dynamic response they have an important coupling effect. The trend of increased
J Intell Robot Syst (2009) 54:647686 653

pilot workload and degraded handling qualities with increasing turbulence intensity
is captured. Some simulation results are presented to illustrate behavior and use of
the model.
The research conducted in [10] develops a theoretically consistent stochastic
model describing the atmospheric turbulence velocity field as experienced by the
major force generating surfaces of rotorcraft in an arbitrary trimmed flight condition.
A major contribution is the analysis of rotating frame atmospheric turbulence and
helicopter response to atmospheric turbulence, both of which are cyclostationary or
nearly stationary, by means of frequency-time spectra. The frequency-time spectra
can be treated as conventional power spectral densities of stationary stochastic
processes for discrete rotor blade azimuth locations.
Dahl and Faulkner [5] reviewed both helicopter and helicopter gust dynamic
modelling used in real-time simulation of rotorcraft flying through atmospheric
turbulence. Different modelling methods used in the formation of wind gust models
with helicopter simulation are represented, highlighting the limitations of each
method with respect to particular helicopter requirements. This paper is perhaps the
first to investigate the effects of using more complete blade-fixed sampling theory
atmospheric turbulence models to investigate the handling qualities of rotorcraft in
turbulent air.
Let us now introduce our approach based on induced velocity. While returning to
the definition of the induced velocity in three dimensions to the main rotor disc of
the helicopter [33] and [38]:
 

2
 x + y 2 (x 2 + y 2 )2
z z 2
v1 = + + vh4 + + vh2 vh , (10)
2 4 2 4

where (0, x, y, z) is the inertial reference system (see Fig. 1), with:1

mg + Dvi
vh = . (11)
2 A

The case x = y = 0 corresponds to a vertical flight:



z z 2
v1 = vv = + + vh2 , (12)
2 4
where vv and vh are respectively the induced velocities in the case of vertical flight
and of hovering. Hereafter an ascending vertical flight with a gust velocity2 vra f is
considered. In this case the total induced velocity becomes: v1 = vv + vra f . If it is
assumed that the helicopter flies at low speed, then the induced velocity in vertical
flight and the induced velocity in hovering are almost the same ones: (vv vh ),
so that v1 = vh + vra f . Replacing this value in the force and the torque equations

1A is the area of the main rotor disk.


2 The wind gust is vertical and it has a downward direction as the vertical induced velocity.
654 J Intell Robot Syst (2009) 54:647686

Table 2 Variation of forces vra f (m/s) T M (N) T M


% C M (N.m) C M
%
and torques for different T Mo C Mo
wind gusts 0.68 14.5 19 1.1 25
3 64 83 6.5 141

Eq. 5, provides the contribution T M , TT and C M of wind on these aerodynamical


actions:
T M = c16 vra f ,
TT = 0,
5
C M = c8 vra f u1 + c9 vra f + c17 vra
2
f. (13)
2
Finally, the representation of the reduced system of the helicopter, which is subjected
to a wind gust, can be expressed as:
x1 = x2 = z ,
1  1
x2 = c8 2 u1 + c9 + c10 c7 + c16 vra f ,
c0 c0

x3 = x4 = ,
1 

x4 = c5 c11 2 u2 c4 c14 2 + c15
c1 c5 c42

   
c4
5
c 12
+ c 13 + c 8
vra f u 1 + c 9 + c v
17 ra f vra f ,
c1 c5 c24 2
x5 = x6 = ,
c4 

x6 = c11 2 u2 + c1 c14 2 + c15
c1 c5 c42

   
1
5
+ c 1 c 4 c 12
+ c 13 + c 8
vra f u 1 + c 9 + c 17 vra f vra f . (14)
c1 c5 c24 2
Table 2 shows the variations of the main rotor thrust and of the main rotor drag
torque (variations of the helicopter parameters) operating on the helicopter due to
the presence of wind gust. These variations are calculated from a nominal position
defined as the equilibrium of helicopter when vra f = 0: = 124.63rad/s, u1 =
4.588 105 , u2 = 5 107 , T Mo = 77.3N and C Mo = 4.6N.m.
Three robust nonlinear controls adapted to wind gust rejection are now introduces
in Sections 4.1, 4.2 and 4.3 devoted to control design.

4 Control Design

4.1 Robust Nonlinear Feedback Control (RNFC)

Figure 2 shows the configuration of this control [37] based on the inverse dynamics
of the following mechanical system:
M(q)q + h(q, q)
= u. (15)
J Intell Robot Syst (2009) 54:647686 655

Fig. 2 Architecture of robust feedback control

Since the inertia matrix M is invertible, the control u is chosen as follows:



u = M(q)v + h(q, q). (16)
The term v represents a new input to the system. Then the combined system
(Eqs. 1516) reduces to:
q = v. (17)
Equation 17 is known as the double integrator system. The nonlinear control law
(Eq. 16) is called the inverse dynamics control and achieves a rather remarkable
result, namely that the new system (Eq. 17) is linear, and decoupled.
Taking account of uncertainty on the model, one can express the nonlinear law
control as follows (Eq. 16):

u = M(q)v +
h(q, q), (18)
 
where M, h represent nominal values of M, h respectively. The uncertainty or
modeling error, is represented by:

M = M(q) M(q),
h =  h(q, q),
h(q, q) (19)
with system Eq. 15 and nonlinear law Eq. 18, the system becomes:
 +
Mv h = Mq + h. (20)
Thus q can be expressed as:


 + M1 h = v + M1 M
q = M1 Mv  I v + M1 h. (21)

Defining E = M1 M I and = Ev + M1 h, then in state space the system


(Eq. 21) becomes:
= A + B(v + ), (22)
where:
     
0I 0 q
A= , B= , = . (23)
00 I q
656 J Intell Robot Syst (2009) 54:647686

Using the error vectors e = [e1 e2 ]T , e1 = q qd and e2 = q q d , leads to:

e = Ae + B{v + q d }. (24)

Therefore the problem of tracking the desired trajectory qd (t) becomes one of
stabilizing the (time-varying, nonlinear) system (Eq. 24). The control design to follow
is based on the premise that although the uncertainty is unknown, it may be possible
to estimate worst case bounds and its effects on the tracking performance of the
system. In order to estimate a worst case bound on the function , the following
assumptions can be used [37]:

Assumption 1: supt0 q d  < Q1 < .


Assumption 2: E = M1 M  I < 1 for some , and for all q Rn .
Assumption 3: h (e, t) for a known function , bounded in t.

Assumption 2 is the most restrictive and shows how accurately the inertia of the
system must be estimated in order to use this approach. It turns out, however, that
 satisfying Assumption 2. Since the inertia matrix
there is always a simple choice for M
M(q) is uniformly positive definite for all q there exist positive constants M and M
such that:
 
M  M1 (q) M q Rn . (25)

If we therefore choose:

 = 1I M+M
M where c = , (26)
c 2
it can be shown that:
 1 
M M  I  M M = < 1. (27)
M+M

Finally, the following algorithm may now be used to generate a stabilizing


control v:

Step 1 : Since the matrix A in Eq. 22 is unstable, we first set:

v = q d K1 e1 K2 e2 + v, (28)

where K = K1 K2 :
 
K1 = diag 12 , . . . , n2 ,
K2 = diag {21 1 , . . . , 2n n } . (29)

The desired trajectory qd (t) and the additional term v will be used to
attenuate the effects of the uncertainty and the disturbance. Then we have:

e = Ae + B{v + }, (30)

where A = A BK is Hurwitz and = Ev + E(q d Ke) + M1 h.


J Intell Robot Syst (2009) 54:647686 657

Step 2 : Given the system Eq. 30, suppose we can find a continuous function (e, t),
which is bounded in t, satisfying the inequalities:

v < (e, t), (31)

 < (e, t). (32)

The function can be defined implicitly as follows. Using Assumptions


13 and Eq. 31, we have the estimate:
 
  Ev + Eq d EKe + M1 h

(e, t) + Q1 + K.e + M(e, t) = (e, t). (33)


This definition of makes sense since 0 < < 1 and we may solve for as:
1  
(e, t) = Q1 + K.e + M(e, t) . (34)
1
Note that whatever v is now chosen must satisfy Eq. 31.
Step 3 : Since A is Hurwitz, choose a n n symmetric, positive definite matrix
Q and let P be the unique positive definite symmetric solution to the
Lyapunov equation:
T
A P + PA + Q = 0. (35)
Step 4 : Choose the outer loop control v according to:

BT Pe  T 
(e, t) T if  B Pe = 0,
v = B Pe   (36)
 BT Pe = 0,
0 if
that satisfy Eq. 31. Such a control will enable us to remove the principal
influence of the wind gust.

4.2 Nonlinear ESO

The primary reason to use the control in closed loop is that it can treat the variations
and uncertainties of model dynamics and the outside unknown forces which exert
influences on the behavior of the model. In this work, a methodology of generic
design is proposed to treat the combination of two quantities, denoted as disturbance.
A second order system described by the following equation is considered [9, 13]:
y = f (y, y , p) + b u, (37)
where f (.) represents the dynamics of the model and the disturbance, p is the input
of unknown disturbance, u is the input of control, and y is the measured output. It is
assumed that the value of the parameter b is given. Here f (.) is a nonlinear function.
An alternative method is presented by [11, 12] as follows. The system in Eq. 37 is
initially increased:

x 1 = x2 ,
x 2 = x3 + b u, (38)

x 3 = f,
658 J Intell Robot Syst (2009) 54:647686

where x1 = y, x2 = y , x3 = f (y, y , p). f (.) is treated as an increased state. Here f and


f are unknown. By considering f (y, y , p) as a state, it can be estimated with a state
estimator. Han in [12] proposed a nonlinear observer for Eq. 38:

x = Ax + Bu + Lg(e, , ),
y = C x,
(39)

where:

010 0  L1
A = 0 0 1 , B = b , C = 1 0 0 , L = L2 . (40)
000 0 L3

The observer error is e = y x 1 and:


|e|i sign(e) |e| >
gi (e, i , )|i=1,2,3 = e > 0. (41)
|e|
1i
The observer is reduced to the following set of state equations, and is called ESO:


x 1 = x 2 + L1 g1 (e, , ),

x 2 = x 3 + L2 g2 (e, , ) + b u, (42)


x 3 = L3 g3 (e, , ).

The ADRC is then defined as a method of control where the value of f (y, y , p) is
estimated in real time and is compensated by the control signal u. Since x 3 f , it is
used to cancel actively f by the application of:

u = (u0 x 3 )/b . (43)

Fig. 3 ADRC structure


J Intell Robot Syst (2009) 54:647686 659

This expression reduces the system to:




y = f x 3 + u0 u0 . (44)
The process is now a double integrator with a unity gain, which can be controlled
with a PD controller.


u0 = k p r x 1 kd x 2 , (45)
where r is the reference input. The observer gains Li and the controller gains k p and
kd can be calculated by a pole placement. The configuration of ADRC is presented
in Fig. 3:

4.3 Backstepping Control (BACK)

The design of a controller for a nonlinear system where the vector of state is of
large size, can often prove to be a difficult task, even impossible. The backstepping
technique [19, 35] offers one systematic method to answer this problem type. It
combines the concept of control function of Lyapunov with a recursive procedure of
design. That makes it possible to surmount the obstacle dimension and to exploit the
flexibility of design in the scalar case to solve the problems of an higher order system.
This allows, in addition to the task for which the controller is designed (tracking
and/or regulation), to guarantee, in any time, the total stability of the compensated
system. The backstepping was conceived to eliminate the residual errors. By using
backstepping, the controller with integral action proposed in this paper, allowed a
clear improvement of performances and a good attenuation of the disturbance in
closed-loop.
In order to illustrate the principle of the backstepping method, one considers the
case of the nonlinear systems of the form:
x 1 = f (x1 ) + x2 ,
x 2 = u, (46)
where [ x1 x2 ] Rn+1 is the state, u R is the control input and f (0) = 0 so that
origine (x1 = 0, x2 = 0) is an equilibrium point of the system defined by Eq. 46.
Hereafter the control by backstepping is developed:
Step 1: Firstly, we ask the output to track a desired trajectory x1d , one introduces
the trajectory error:
1 = x1d x1 , (47)
and its derivative:
1 = x 1d x 1 = x 1d f (x1 ) x2 , (48)
which are both associated to the following Lyapunov candidate function:
1 2
V1 = . (49)
2 1
The derivative of Lyapunov function is evaluated:
V 1 = 1 1 = 1 (x 1d x 1 ) = 1 (x 1d f (x1 ) x2 ). (50)
660 J Intell Robot Syst (2009) 54:647686

The state x2 is then used as intermediate control in order to guarantee the


stability of Eq. 48. We define for that a virtual control:

1 = a1 1 + x 1d f (x1 ), (51)

where:

1 = a1 1 + x 1d f(x1 ). (52)

Step 2: It appears a new error:

2 = 1 x2 = a1 1 + 1 = 1 = 2 a1 1 . (53)

Its derivative is written as follows:

2 = 1 x 2 = a1 1 + x 1d f(x1 ) u. (54)

In order to attenuate this error, the precedent candidate function Eq. 49 is


increased by another term, which will deal with the new error introduced
previously:

1 2 1 2
V2 = + 2 , (55)
2 1 2

its derivative gives:

V 2 = 1 1 + 2 2
= 1 (2 a1 1 ) + 2 ( 1 u)
= a1 12 + 2 ( 1 u + 1 )

= a1 12 + 2 a1 1 + x 1d f(x1 ) u + 1 . (56)

The design of the control law by the method of backstepping stops here. This
control is given in such a way that it must return the expression between bracket
equal to a2 2 . The control u obtained is:

u = a1 1 + 1 + a2 2 + x 1d f(x1 )


= (a1 + a2 )2 + 1 a21 1 + x 1d f(x1 ), (57)

so that:

V 2 = a1 12 a2 22 0, (58)

and V2 appears now as a Lyapunov function for the system Eq. 46, which proves
asymptotical stability of the origin.
J Intell Robot Syst (2009) 54:647686 661

5 Control of Disturbed Helicopter

5.1 Robust Feedback Control

5.1.1 Control of Altitude z


Hereafter we apply this robust method to control the altitude dynamics z of our
helicopter. Let us remain the equation which describes the altitude under the effect
of a wind gust:

1  1
z = c8 2 u1 + c9 + c10 c7 + c16 vra f , (59)
c0 c0

with u1 = M1 (q)z + h1 (q, q, vra f ) where M1 (q) = c0


c8 2
and vra f ) =
h1 (q, q,
c8 2 [c9 + c10 c7 + c16 vra f ].
1

Moreover: and vra f vra f vra f . It is noted that trim = 124,


63rad/s and:

= 209.4rad/s and = 99.5rad/s, (60)

vra f = 0.68m/s and vra f = 0.68m/s. (61)

The value of |vra f | = 0.68m/s corresponds to an average wind gust. In that case, we
have the following bounds:

5 105 M1 22.2 105 ,


2, 2 103 h1 1, 2 103 . (62)

Note: We will add an integrator to the control law to reduce the static error of the
system and to attenuate the effects of the wind gust which is located in low frequency
ra f 7rad/s [27]. We then obtain [26, 37]:
! t
v1 = z d K1 e1 K2 e2 K3 e1 dt + v1 , (63)
0

and the value of v becomes:

v1 = 1 (e, t)sign(287e1 + 220e2 + 62e3 ) (64)

Moreover 1 = 1.7v1  + 184.

5.1.2 Control of Yaw Angle


The control law for the yaw angle is:
 
1

2


u2 = c1 c5 c4 + c4 c12 + c13 + c8 vra f u1
c5 c11 2

5
+c14 2 + c15 + c9 vra f + c17 vra
2
f (65)
2
662 J Intell Robot Syst (2009) 54:647686

" M " " M "


Table 3 Variations of the M1 (s2 /rad2 ) " 1"
(%) M2 (m.s2 /rad2 ) " 2"
(%)
inertia matrices M1 and M2 M1 M2
1, 42 104 65 1, 72 104 65

We have:
u2 = M2 (q) + h2 (q, q,
vra f ),
c1 c5 c24
M2 (q) = ,
c5 c11 2

c4

vra f , u1 ) =
h2 (q, q, c12 + c13 + c8 vra f u1
c5 c11 2

5
+c14 2 + c15 + c9 vra f + c17 vra
2
f . (66)
2
Using Eq. 60 and with u1 u1 u1 , u1 = 0, u1 = 0.0112m, we find the following
values :
2.7 104 M2 6.1 105 ,
1.3 103 h2 0.16 (67)
We also add an integrator to the control law of the yaw angle [26, 37]:
! t
v2 = d K4 e1 K5 e2 K6 e1 dt + v2 , (68)
0

where e1 = d and e2 = e1 , e3 = e1 . We obtain : 2 = 1.7v2  + 1614.6, the value


of v becomes:
v2 = 2 (e, t)sign(217e1 + 87e2 + 4e3 ) (69)
On the other hand, the variation of inertia matrices M1 (q) and M2 (q) from their
equilibrium value (corresponding to = 124.63rad/s) are shown in Table 3. It
appears, in this table, that when varies from 99.5 to 209, 4rad/s an important
variation of the coefficients of matrices M1 (q) and M2 (q) of about 65% is obtained.

5.2 Active Disturbance Rejection Control

Two approaches are proposed here. The first uses a feedback and supposes the
knowledge of a precise model of the helicopter. For the second approach, only
two parameters of the helicopter are necessary, the remainder of the model being
regarded as a disturbance, as well as the wind gust.
Approach 1: Firstly, the nonlinear terms of the non disturbed model (vra f = 0 )
are compensated by introducing two new controls V1 and V2 such as:
1 
u1 = c0 V1 c9 c1 0 + c7 ,
c8 2
 
c1 c5 c24 c4

u2 = V2 + (c12 + c13 )u1 + c14 + c15 .
2
(70)
c5 c11 2 c1 c5 c24
J Intell Robot Syst (2009) 54:647686 663

Since vra f = 0, a nonlinear system of equations is obtained:

1
z = V1 + c16 vra f ,
c0
 
c4 c0 vra f c4 vra f c7 c10 5
= V2 V1 + c9 + c17 vra f . (71)
(c1 c5 c4 )
2
c1 c5 c24 2

Approach 2: By introducing the two new controls u 1 and u 2 such as:


c8 2
u 1 = u1 ,
c0
c5 c11
u 2 = 2 u2 ,
c1 c5 c24

a different nonlinear system of equations is got:

1 
z = u 1 + c9 + c10 c7 + c16 vra f ,
c0

c4
c0 u 1
= u 2
c12 + c13 + c8 vra f + c15
c1 c5 c42 c8 2

5
+c14 2 + c9 vra f + c17 vra 2
f . (72)
2

The systems Eqs. 71 and 72 can be written as the following form:

y = f (y, y , p) + b u, (73)

with b = 1, u = V1 or V2 for the approach 1, whether:

1
For y = z fz (y, y , p) = c16 vra f ,
c0
c4 c0 vra f c4 vra f
For y = f (y, y , p) =
V1
c1 c5 c4 2
c1 c5 c24
 
c7 c10 5
+ c9 + c17 vra f , (74)
2

and b = 1, u = u 1 or u 2 for the approach 2, whether:

1 
For y = z fz (y, y , p) = c9 + c10 c7 + c16 vra f ,
c0

c4
c0 u 1
For y = f (y, y , p) = c12 + c13 + c8 vra f
(c1 c5 c4 )
2 c8 2

5
+c15 + c14 2 + c9 vra f + c17 vra
2
f .
2
(75)
664 J Intell Robot Syst (2009) 54:647686

Concerning the first approach, an observer is built using Eq. 42:


for altitude z:

x 1 = x 2 + L1 g1 (ez , 1 , 1 ),

x 2 = x 3 + L2 g2 (ez , 2 , 2 ) + b V1 , (76)


x 3 = L3 g3 (ez , 3 , 3 ),

where ez = z x 1 is the observer error, gi (ei , i , i ) is defined as exponential function


of modified gain:
iz
|ez | sign(ez ), |ez | > i ,
gi (ez , iz , i )|i=1,2,3 = e z (77)
1iz , |ez | i ,
i

with 0 < i < 1 and 0 < i 1, a PID controller is used in stead of PD Eq. 45 in order
to attenuate the effects of disturbance:
! t


V1 = k1 x 2 k2 x 1 k3 x 1 zd dt x 3 . (78)
0

The control signal V1 takes into account of the terms which depend on the observer
(x 1 , x 2 ). The fourth part, which also comes from the observer, is added to eliminate
the effect of disturbance in this system.
for the yaw angle :

x 4 = x 5 + L4 g4 (e , 4 , 4 ),

x 5 = x 6 + L5 g5 (e , 5 , 5 ) + b V2 , (79)


x 6 = L6 g6 (e , 6 , 6 ),

where e = x 4 is the observer error, with gi (e , i , i ) is defined as exponential


function of modified gain:

i
|e | sign(e ), |e | > i ,
gi (e , i , i )|i=4,5,6 = e (80)
1i ,
|e | i ,
i

and
! t

V2 = k5 x 4 k4 x 5 k6 x 4 d dt x 6 , (81)
0

zd and d are the desired trajectories.


PID parameters are designed to obtain two dominant poles in closed-loop:
# #
c1 = 2rad/s c2 = 5rad/s
for z and for (82)
1 = 1 2 = 1

The approach 2 uses the same observer with the same gain, simply (x 3 ) and (x 6 )
compensate respectively fz (y, y , p) and f (y, y , p).
J Intell Robot Syst (2009) 54:647686 665

5.3 Backstepping Control

To control the altitude dynamics z and the yaw angle , the steps are as follows:

1. Compensation of the nonlinear terms of the nondisturbed model (vra f = 0 ) by


introducing two new controls Vz and V such as:

1 
u1 = c0 Vz c9 c10 + c7 ,
c8 2
1 


u2 = c1 c5 c24 V + c4 (c12 + c13 ) u1 + c14 2 + c15 , (83)
c5 c11 2
with these two new controls, the following system of equations is obtained:

z = Vz + d1 ( , vra f ), (84)

= V + d2 (Vz , , vra f ). (85)

2. Stabilization is done by backstepping control, we start by controlling the altitude


z then the yaw angle .

5.3.1 Control of Altitude z


We already saw that z = Vz + d1 ( , vra f ). The controller, generated by backstepping,
is generally a PD (Proportional Derived). Such PD controller is not able to cancel
external disturbances with non zero average unless they are at the output of an
integrating process. In order to attenuate the errors due to static disturbances, a
solution consists in equipping the regulators obtained with an integral action [2]. The
main idea is to introduce, in a virtual way, an integrator in the transfer function of
the process and to carry out the development of the control law in a conventional
way using the method of backstepping. The state equations of z dynamics which are
increased by an integrator, are given by:

x1 = z,
x 1 = x2 = z ,
x 2 = x3 + d1 ( , vra f ),
x 3 = w1 , (86)
$
where Vz = w1 = x3 . The introduction of an integrator into the process only
increases the state of the process. Hereafter the control by backstepping is developed:

Step 1: Firstly, we ask the output to track a desired trajectory x1d , one introduces
the trajectory error:

1 = x1d x1 , (87)

and its derivative:

1 = x 1d x 1 = x 1d x2 , (88)
666 J Intell Robot Syst (2009) 54:647686

which are both associated to the following Lyapunov candidate function:


1 2
V1 = . (89)
2 1
The derivative of Lyapunov function is evaluated:

V 1 = 1 1 = 1 (x 1d x 1 ) = 1 (x 1d x2 ). (90)

The state x2 is then used as intermediate control in order to guarantee the


stability of Eq. 88. We define for that a virtual control:

1 = a1 1 + x 1d , (91)

where:

1 = a1 1 + x 1d . (92)

Step 2: It appears a new error:

2 = 1 x2 = a1 1 + 1 . (93)

Its derivative is written as follows:

2 = 1 x 2 = a1 1 + x 1d x3 d1 . (94)

In order to attenuate this error, the precedent candidate function (Eq. 89)
is increased by another term, which will deal with the new error introduced
previously:
1 2 1 2
V2 = + 2 , (95)
2 1 2
its derivative:

V 2 = 1 1 + 2 2
= a1 12 + 2 ( 1 x3 + 1 ) 2 d1 . (96)

The state x3 can be used as an intermediate control in Eq. 94. This state
is given in such a way that it must return the expression between bracket
equal to a2 2 for d1 ( , vra f ) = 0. The virtual control obtained is:

2 = a2 2 + 1 + 1
= (1 + a1 a2 )1 + (a2 + a1 )1 + x 1d , (97)

its derivative:

2 = (1 + a1 a2 )1 + (a2 + a1 )1 + x(3)
1d . (98)

Step 3: Still here, another term of error is introduced:

3 = 2 x3
= (1 + a1 a2 )1 + (a2 + a1 )1 + 1 + d1 , (99)
J Intell Robot Syst (2009) 54:647686 667

and the Lyapunov function Eq. 95 is augmented another time, to take the
following form:
1 2 1 2 1 2
V3 = + 2 + 3 , (100)
2 1 2 2
its derivative:

V 3 = 1 1 + 2 2 + 3 3
= a1 12 + 2 ( 1 x3 + 1 ) 2 d1 ( , vra f ) + 3 ( 2 x 3 )
= a1 12 + 2 ( 1 + 3 2 + 1 ) + 3 ( 2 x 3 ) 2 d1 ( , vra f )
= a1 12 a2 22 + 3 (2 + 2 x 3 ) 2 d1 ( , vra f )
= a1 12 a2 22 + 3 (2 + 2 w1 ) 2 d1 ( , vra f ). (101)

The control Vz should be selected in order to return the expression between


the precedent bracket equal to a3 3 for d1 = 0:

w1 = a3 3 + 2 + 2
= x(3)
1d + (a3 + a1 a2 a3 + a1 )1

+ (2 + a1 a2 + a1 a3 + a2 a3 )1 + (a1 + a2 + a3 )1 , (102)

with the relation Eq. 88, we obtain:

1 = x 1d x 1 1 = x 1d x 1 . (103)

These values, replaced in the control law, gives for d1 ( , vra f ) = 0:

V z = w1
= x(3)
1d + (a3 + a1 a2 a3 + a1 )1

+ (2 + a1 a2 + a1 a3 + a2 a3 )1 + (a1 + a2 + a3 )1 . (104)

If we replace Eq. 102 in Eq. 101, we obtain finally:

V 3 = a1 12 a2 22 a3 32 2 d1 . (105)

Step 4: It is here that the design of the control law by the method of backstepping
stops. The integrator, which was introduced into the process, is transferred
to the control law, which gives the final following control law:
 
1
Vz = s2 x1d + Td s + Kc + (x1d x1 ), (106)
Ti s

where s is the Laplace variable and:

T d = a1 + a2 + a3 ,
Kc = 2 + a1 a2 + a1 a3 + a2 a3 ,
1/Ti = a1 + a3 + a1 a2 a3 .
668 J Intell Robot Syst (2009) 54:647686

5.3.2 Control of Yaw Angle


The calculation of the yaw angle control is also based on backstepping control [41]
dealing with the problem of the attenuation of the disturbance which acts on lateral
dynamics. The representation of yaw state dynamics with the angular velocity of the
main rotor is:

x4 = x5 = ,
x5 = = V + d2 (Vz , , vra f ) = w2 + + d2 (Vz , , vra f ),
x6 = = f1 ( )Vz + f2 ( )w2 + d3 (Vz , , vra f ). (107)
The backstepping design then proceeds as follows:
Step 1: We start with the error variable:
4 = x4 x4d , (108)
whose derivative can be expressed as:
4 = x5 x 4d , (109)
in Eq. 109, x5 is viewed as the virtual control, that introduces the following
error variable:
5 = x5 4 , (110)
where 4 is the first stabilizing function to be determined. Then we can
represent 4 as:
4 = 4 + 5 x 4d . (111)
In order to design 4 , we choose the partial Lyapunov function V4 = 12 42
and we evaluate its time derivative along the solutions of Eq. 111:
V 4 = 4 4 = 4 (4 + 5 x 4d ). (112)
The choice of:
4 = a4 4 + x 4d , (113)
yields:
V 4 = a4 42 + 4 5 and 4 = a4 4 + 5 . (114)
Step 2: According to the computation of step 1, driving 5 to zero will ensure that
V 4 is negative definite in 4 . We need to modify the Lyapunov function to
include the error variable 5 :
1
2
V5 = 4 + 52 . (115)
2
We rewrite 5 :
5 = x 5 4
= 4
= w2 + + d2 a24 4 + a4 5 d . (116)
J Intell Robot Syst (2009) 54:647686 669

In this equation, is viewed as the virtual control. This is a departure from


the usual backstepping design which only employs state variables as virtual
controls. In this case, however, this simple modification is not only dictated
by the structure of the system, but it also yields significant improvements in
closed-loop system response. The new error variable is 6 = 5 , and 5
is yet to be computed. Then Eq. 116 becomes:

5 = w2 + d2 a24 4 + a4 5 d + 6 + 5 , (117)

and the time derivative of V5 is:

V 5 = 4 4 + 5 5

= a4 42 + 5 w2 + 4 a24 4 + a4 5 d + 5 + d2 + 6 . (118)

From Eq. 118, the choice of:




5 = a24 1 4 (a4 + a5 )5 w2 + d , (119)

provides:

5 = 4 a5 5 + 6 + d2 V 5 = a4 42 a5 52 + 5 6 + 5 d2 . (120)

Step 3: Similarly to the previous steps, we will design the stabilizing function w2
in this step. To achieve that, firstly, we define the error variable 6 : 6 =
5 , its time derivative:

6 = 5
c4

= f1 ( )Vz + f2 ( )w2 + d(3) a5 a4 + a25 + a24 1 5
c5


2a4 + a5 a34 4 + (a4 + a5 )6 + w 2 + (a4 + a5 )d2 + d3 . (121)

Therefore, along the solutions of Eqs. 114, 120 and 121, we can express the
time derivative of the partial Lyapunov function V6 = 12 (42 + 52 + 62 ) as:

V 6 = 4 4 + 5 5 + 6 6
= a4 42 a5 52 + 5 6 + 5 d2
%
+ 6 f1 ( )Vz + f2 ( )w2
c4


+ 2a4 + a5 a34 4 a5 a4 + a25 + a24 1 5
c5
&
+ (a4 + a5 )6 + w 2 + (a4 + a5 )d2 + d3 d(3)

= a4 42 a5 52 a6 62 + (5 + 6 (a4 + a5 ))d2 + 6 d3

c4
+6 (a4 + a5 + a6 )6 + f1 ( )Vz + f2 ( )w2 + + w 2
c5




2a4 + a5 a34 4 a5 a4 + a25 + a24 2 5 d(3) . (122)
670 J Intell Robot Syst (2009) 54:647686

In the above expression Eq. 122, our choice of w 2 is:


c4
w2 = f1 ( )Vz f2 ( )w2 (a4 + a5 + a6 )6
c5



+ 2a4 + a5 a34 4 + a5 a4 + a25 + a24 2 5 + d(3) . (123)

Then one replaces Eq. 123 in Eq. 121, to obtain:

6 = 5 a6 6 + (a4 + a5 )d2 + d3 , (124)

the derivative of V6 becomes:

V 6 = a4 42 a5 52 a6 62 + (5 + 6 (a4 + a5 ))d2 + 6 d3 . (125)

The integral of Eq. 123 provides w2 and V = w2 + . In this way, the yaw
angle control is calculated.

6 Zero Dynamics Problem

The zero dynamics of a nonlinear system are its internal dynamics subject to the
constraint that the outputs (and, therefore, all their derivatives) are set to zero for
all times [15, 36]. Nonlinear systems with nonasymptotically stable zero-dynamics
are called strictly (or weakly, if the zero dynamics are marginally stable) nonmini-
 T
mum phase system. The output of our system is q = z and its control input
 T
u = u1 u2 . The calculation of the relative degrees [15] gives: r1 = r2 = 2. The
dimension of our model is n = 5 so that: r1 + r2 < n what implies the existence of
an internal dynamics. If a linearisation feedback is used, it is necessary to check
the stability of this internal dynamics [15]. In fact, the dynamics represents the
zeros-dynamics of Eq. 14. Moreover the nonlinear terms of the non disturbed model
(vra f = 0 ) can be compensated by introducing two new controls V1 and V2 such as:

1 
u1 = c0 V1 c9 c10 + c7 ,
c8 2

1 


u2 = c1 c5 c24 V2 + c4 (c12 + c13 )u1 + c14 2 + c15 . (126)
c5 c11 2

Since vra f = 0, a nonlinear system of equations is then obtained:

z = V1 ,
= V2 ,
1
= [b 1 V1 + b 2 V2 + b 3 ], (127)
c1 c5 c24

where: b 1 = c5cc48c0 2 (c12 + c13 )(c1 c5 + c4 ), b 2 = cc45 (c1 c5 c24 ), b 3 = cc45 (c1 c5 + c4 ) (c12 +

c13 )(c9 c10 + c7 ) c81 2 + c14 2 + c15 ) .
J Intell Robot Syst (2009) 54:647686 671

Zero dynamics of nondisturbed model can then obviously be got by putting z =


= 0 z = = 0 z = = 0 V1 = V2 = 0:

1
= b3
c1 c5 c24
 
c4 (c1 c5 + c4 ) c12 + c13
=
(c9 c10 + c7 ) + c14 + c15 ) ,
2
(128)
c5 c1 c5 c24 c8 2

simplified in:

b5 b6
= b 4 2 + + + b 7, (129)
2

with:

(c1 c5 + c4 )
b 4 = c4 c14
= 4.1425 105 ,
c5 c1 c5 c24
c4 c13 (c1 c5 + c4 )
b5 =
(c7 c10 ) = 7.783 105 ,
c5 c8 c1 c5 c24
c4 (c1 c5 + c4 )
b6 =
(c10 c12 + c7 c12 c13 c9 ) = 6.142 103 ,
c8 c5 c1 c5 c24
c4 (c1 c5 + c4 )
b7 =
(c15 c8 c12 c9 ) = 0.1814.
c8 c5 c1 c5 c24

To get possible equilibrium points of Eq. 129, the following equation is solved:

b 4 4 + b 7 2 + b 6 + b 5 = 0. (130)

The four solutions of Eq. 130 are:

= {219.5 468.2i, 563.71 and 124.6 } rad/s

Only the two real values of have physical meaning for the system (see Fig. 1 for the
rotation sense of the main rotor). On the other hand, the value = 563.7 rad/s is too
high regarding the blade fragility. As a result, the only equilibrium point to consider
is = 124.6 rad/s. The dynamics Eq. 129, linearized around the equilibrium
point of interest = 124.634 rad/s, has a real eigenvalue equal to 0.419. As
a consequence, all trajectories starting sufficiently near converge to the latter.
Then it follows that the zeros-dynamics of Eq. 127 has a stable behavior. Simulation
results show that remains bounded away from zero during the flight. For the chosen
trajectories and gains converges rapidly to a constant value (see Fig. 10). This is an
interesting point to note since it shows that the dynamics and feedback control yield
flight conditions close to the ones of real helicopters which fly with a constant
thanks to a local regulation feedback of the main rotor speed (which does not exist
on the VARIO scale model helicopter).
672 J Intell Robot Syst (2009) 54:647686

7 Results in Simulation

RNFC, ADRC based on a nonlinear ESO (ADRC) and backstepping control


(BACK) are now compared via simulations.

1. RNFC: The various numerical values for the (RNFC) are the following:
For state variable z: {K1 = 84, K2 = 24, K3 = 80} for 1 = 2rad/s which is
the bandwidth of the closed loop in z (the numerical values are calculating
by pole placement).
For state variable : We have {K4 = 525, K5 = 60, K6 = 1250} for 2 =
5rad/s which is the bandwidth of the closed loop in .
2. ADRC: The various numerical values for the (ADRC) are the following:
For state variable z: k1 = 24, k2 = 84 and k3 = 80 (the numerical values are
calculating by pole placement as defined in Eq. 82). Choosing a triple pole
located in 0z such as 0z = (3 5)c1 , one can choose 0z = 10rad/s, 1 =
0.5, 1 = 0.1, and using pole placement method the gains of the observer for
the case |e| (i.e linear observer) can be evaluated:

L1
11
= 3 0z ,
1
L2
11
= 3 0z
2
,
1
L3
= 0z
3
, (131)
111

which leads to: Li = {9.5, 94.87, 316.23}, i [1, 2, 3]

For state variable : k4 = 60, k5 = 525, k6 = 1250, 0 = 25 rad/s, 2 = 0.5


and 2 = 0.025. And by the same method in Eq. 131 one can find the observer
gains: Li = {11.86, 296.46, 2.47 103 }, i [4, 5, 6]
3. BACK: The regulation parameters (a1 ; a2 ; a3 ; a4 ; a5 ; a6 ) for the (BACK) con-
troller was calculated to obtain two dominating poles in closed-loop such as 1 =
2 rad/s, which defines the bandwidth of the closed-loop in z, and 2 = 5 rad/s
for .

Table 4 Regulation a2 a3 a1 a5 a6 a4
parameters of z and
-dynamics 19 1.95 49 5
21 51
1.95 19 4.97 49
1.95 21 51 4.97
19 49
21 1.95 4.97 51
20+0.4i 200.4i 50+0.54i 60.54i
1.88 4.95
200.4i 20+0.4i 500.54i 6+0.54i
J Intell Robot Syst (2009) 54:647686 673

Fig. 4 Trajectories in z and 0.2

zd (m)
0.4

0.6

0 50 100 150 200 250 300


Time(s)

(rad)
0

1
0 50 100 150 200 250 300
Time(s)

5
x 10
3
4
u (m)

5
1

RNFC
6
7
0 50 100 150 200 250 300

5
x 10
3
4
u (m)

5
1

6 BACK

7
0 50 100 150 200 250 300

5
x 10
3
4
u (m)

5
1

6 ADRC

7
0 50 100 150 200 250 300

Time (s)

Fig. 5 Control input u1


674 J Intell Robot Syst (2009) 54:647686

The closed-loop dynamics of the z-dynamics with d1 ( , vra f ) = 0 is given


by [3]:

1 a1 1 0 1 1

2 = 1 a2 1 2 = A0 2 . (132)
3 0 1 a3 3 3

Eigenvalues of A0 can be calculated solving:

|Is A0 | = s3 + (a1 + a2 + a3 )s2 + (a1 a2 + a1 a3


+ a2 a3 + 2)s + a1 + a3 + a1 a2 a3 = 0. (133)

If one gives as a desired dynamics specification, one dominant pole in


and the two other poles in 10, one must solve:

d (s) = (s + )(s + 10)2 = s3 + 21s2 + 120 2 s + 100 3 , (134)

4
x 10
4
RNFC
2
u2 (m)

2
0 50 100 150 200 250 300

4
x 10
4
BACK
2
u2 (m)

2
0 50 100 150 200 250 300

4
x 10
4

ADRC
2
u2 (m)

2
0 50 100 150 200 250 300
Time (s)

Fig. 6 Control input u2


J Intell Robot Syst (2009) 54:647686 675

4
x 10
5
RNFC

5
0 50 100 150 200 250 300

4
x 10
5
BACK

5
0 50 100 150 200 250 300

4
x 10
5
ADRC

5
0 50 100 150 200 250 300

Time (s)

Fig. 7 Tracking error in z

which leads to:

21 = a1 + a2 + a3 ,
120 2 = 2 + a1 a2 + a1 a3 + a2 a3 ,
100 3 = a1 + a3 + a1 a2 a3 .

For = 1 = 2 rad/s, and resolving the above equations, we find 4 positive


solutions for every parameter (see Table 4). As justified in Annex A the
solution: a1 = 21, a2 = 19, a3 = 1.95 has been used for simulation.
The closed-loop dynamics of the -dynamics with
d3 (Vz , , vvra f ) = 0 is given by:


4 a4 1 0 4 4
5 = 1 a5 1 5 = B0 5 . (135)
6 0 1 a6 6 6
676 J Intell Robot Syst (2009) 54:647686

3
x 10
5
RNFC

5
0 50 100 150 200 250 300

3
x 10
5
BACK

5
0 50 100 150 200 250 300
BACK

3
x 10
5
ADRC

5
0 50 100 150 200 250 300
Time (s)

Fig. 8 Tracking error in

Eigenvalues of B0 can be calculated by solving:

|Is B0 | = s3 + (a4 + a5 + a6 )s2 + (a4 a5 + a4 a6


+ a5 a6 + 2)s + a4 + a6 + a4 a5 a6 = 0. (136)

By using the same development as for z-dynamics, one can write:

a4 + a5 + a6 = 21,
2 + a4 a5 + a4 a6 + a5 a6 = 120 2 ,
a4 + a6 + a4 a5 a6 = 100 3 .

For = 2 = 5 rad/s and resolving the above equations, we find again 4


positive solutions for every parameter (see Table 4). As justified in Annex A
the solution: a4 = 4.97, a5 = 49, a6 = 51 has been used for simulation.
J Intell Robot Syst (2009) 54:647686 677

73.4

73.5
RNFC

73.6

73.7

0 50 100 150 200 250 300

73.4

73.5
BACK

73.6

73.7

0 50 100 150 200 250 300

73.4

73.5
ADRC

73.6

73.7

0 50 100 150 200 250 300

Time (s)

Fig. 9 Variations of the main rotor thrust T M

The induced gust velocity operating on the principal rotor is chosen as [29]:
vra f = vgm sin(0.042td1 ) 70 t 24 + 130
vra f = vgm sin(0.042td2 ) 220 t 297 (137)
where td1 = t 70 and td2 = t 220, the value of 0.042 represent 2LuV where V in
meters/second is the height rise speed of the helicopter and vgm = 0.68 m/s is the
gust density. This density corresponds to an average wind gust, and Lu = 1.5 m is its

Fig. 10 Variations of the main 80


rotor angular speed
RNFC
100 ADRC
BACK
120

140

160
0 50 100 150 200 250 300
Time (s)
678 J Intell Robot Syst (2009) 54:647686

Fig. 11 Observer error in z x 10


3

Altitude observer error (m)


2

2
0 50 100 150 200 250 300
Time(s)

Fig. 12 Observer error in x 10


5
Yaw angle observer error (rad)

6
0 50 100 150 200 250 300
Time(s)

Fig. 13 Estimation of fz 3

2 f z (.)
cc3
1

2
0 50 100 150 200 250 300
Time(s)

Fig. 14 Estimation of f 1

0.5

0
f (.)
0.5
c 6
c

1
0 50 100 150 200 250 300
Time (s)
J Intell Robot Syst (2009) 54:647686 679

Fig. 15 Induced gust 1


velocity vra f
0.5

vraf(m/s)
0

0.5

1
0 50 100 150 200 250 300
Time(s)

length (see Fig. 15). The take-off time at t = tof f = 50 s is imposed and the following
desired trajectory is used [39]:

zd = 0.2, 0 t to f f ,
% &
zd = 0.2 + 0.3 exp(tto f f ) /350 1 ,
2
tof f < t ta ,

zd = 0.6 + 0.1 cos (t 130)/10 , ta < t < tb ,
zd = 0.5, t tb , (138)

3
x 10
5
RNFC

5
0 50 100 150 200 250 300
3
x 10
5
BACK

5
0 50 100 150 200 250 300
3
x 10
5
ADRC

5
0 50 100 150 200 250 300
Time (s)

Fig. 16 Large disturbance vra f = 3 m/s


680 J Intell Robot Syst (2009) 54:647686

where ta = 130s and tb = 20 + 130s,

d = 0, t < to f f ,

d = 1 exp(tto f f ) /350
2
, to f f t < tc ,

d = exp(tto f f ) /350
2
, tc t < td ,
d = 1 + exp(t180) /350
2
, t td , (139)

and tc = 120 s and td = 180 s. The following initial conditions are applied: z(0) =

0.2 m, z (0) = 0, (0) = 0, (0) = 0 and (0) = 99.5 rad/s. A band limited white
noise of variance 2.5 mm for z and 1 deg for , has been added respectively to the
measurements of z and for the three controls. The compensation of this noise is
done using a Butterworth second-order low-pass filter. Its crossover frequency for
z is cz = 1 rad/s and for is c = 1 rad/s. Figure 4 shows the desired trajectories
in z and . Figures 5 and 6 illustrates the variations of control inputs, where from
initial conditions when   increases quickly, the control output u1 and u2 saturates.
Nevertheless the stability of the closed-loop system is not destroyed. We observe that
the (RNFC) control is more sensitive to noise than the other controls.
One can observe that 124.6 rad/s as expected from the previous zero
dynamics analysis. One can also notice that the main rotor angular speed is similar
for the three controls as illustrated in Fig. 10. The difference between the three
controls appears in Fig. 7 where the tracking errors in z are less significant by using
the (BACK) and (ADRC) control than (RNFC) control. For it is the different. This
is explained by the use of a PID controller for the (RNFC) and(ADRC) but a PD
controller for the (BACK) controller of (Fig. 8). Here, the (ADRC) and (BACK)
controls show a robust behavior in presence of noise.

Fig. 17 Tracking error in z x 10


4

and for both approaches 10


1 and 2 of ADRC control ADRC
Altitud error (m)

ADRCM
5

5
0 50 100 150 200 250 300
Temps(s)

3
x 10
3
ADRC
Yaw error (rad)

2 ADRCM
1

2
0 50 100 150 200 250 300
Time (s)
J Intell Robot Syst (2009) 54:647686 681

Fig. 18 Inputs u1 and u2 for 4


x 10
both approaches 1 and 2 of 0
ADRC control

u1(m)
0.5
ADRCM
ADRC

1
0 50 100 150 200 250 300
Time(s)
4
x 10

5 ADRC
ADRCM
u (m)
2

5
0 50 100 150 200 250 300
Time(s)

One can see in Fig. 9 that the main rotor thrust converges to values that com-
pensate the helicopter weight, the drag force and the effect of the disturbance on the
helicopter. The (RNFC) control allows the main rotor thrust T M to be less away from
its balance position than the other controls, where the RNFC control is less sensitive
to noise (Fig. 10). Figures 11 and 12 represent the effectiveness of the observer:
x 3 and fz (y, y , w) are very close and also x 6 and f (y, y , w). Observer errors are
presented in the Figs. 13 and 14.
If one keeps the same parameters of adjustment for the three controls and using a
larger wind gust (vra f = 3 m/s) (Fig. 15), we find that the control (BACK) give better
results than the two controls (ADRC) and (RNFC) (see Fig. 16).
Figure 17 shows the tracking error in z and for two different ADRC controls.
These errors are quite similar for approach 1 (ADRC) and approach 2 (ADRCM).
Nevertheless ADRCM induces larger error at the take off, which can be explained by
the fact that the control depends directly on the angular velocity of the main rotor:
this last one need a few time to reach its equilibrium position as seen in Fig. 10. The
same argument can be invoked to explain the saturation of ADRCM control u1 and
u2 as illustrated in Fig. 18.

8 Conclusion

In this paper, a RNFC, an ADRC based on a nonlinear ESO (ADRC) and backstep-
ping control (BACK) have been applied for the drone helicopter control disturbed
by a wind gust. The technique of a RNFC use the second method of Lyapunov
and an additional feedback provides an extra term v to overcome the effects
of the uncertainty and disturbances. The basis of ADRC is the ESO. The state
estimation and compensation of the change of helicopter parameters and disturbance
variations are implemented by ESO and Nonlinear ESO. By using ESO, the complete
decoupling of the helicopter is obtained. The major advantage of the proposed
682 J Intell Robot Syst (2009) 54:647686

method is that the closed loop characteristics of the helicopter system do not depend
on the exact mathematical model of the system.
The backstepping technique should not viewed as a rigid design procedure, but
rather as a design philosophy which can be bent and twisted to accommodate the
specific needs of the system at hand. In the particular example of an autonomous
helicopter, we were able to exploit the flexibility of backstepping with respect to
the selection of virtual controls, initial stabilizing functions and Lyapunov functions.
Comparisons were made in detail between the three methods of control.
It is concluded that the three proposed controls algorithms produces satisfactory
dynamic performances. Even for large disturbance, the proposed backstepping
(BACK) and (ADRC) control systems are robust against the modeling uncertainties
and external disturbance in various operating conditions. It is also indicated that
(BACK) and (ADRC) achieve a better tracking and stabilization with prescribed
performance requirements.
For practical reasons, the second ADRC approach is the best one because it
only requires to know some aerodynamic parameters of the helicopter (dimensions
of the blades of the main and tail rotor and the helicopter weight), whereas the
other approaches (first ADRC approach, RNCF and BACK) depend on all the
aerodynamic parameters which generate the forces and the couples that act on
the helicopter.
As illustrated in Tables 2, 3, wind gust induces large variation of helicopter
parameters, and the controls quoted in this work can efficiently treat these parameter
deviations.
As perspective, this work is carried on a model of a 7DOF VARIO helicopter,
where ADRC and linearizing control will be tested in simulation. Moreover, our
control methodologies will be also implemented on a new platform to be built using
a Tiny CP3 helicopter.

Appendix

Annex

A. Stability of Helicopter Model

A.1 For the (ADRC) Control

One can show that if the gains of the observer Li=1,2,3,4,5,6 are too large, the
)
convergence of x i=1,2,3,4,5,6 to the following values (z, z , z , , , is very fast but
the robustness against the noises quickly deteriorated. By choosing Li+1  Li (i =
1, 2, , 6), higher order observer state x i+1 will converge to the actual value more
quickly than lower order state x i . Therefore, the stability of ADRC system will be
guaranteed. is the width of linear area in the nonlinear function ADRC. It plays
an important role to the dynamic performance of ADRC. The larger is, the wider
the linear area. But if is too large, the benefit of nonlinear characteristics would
be lost. On the other hand, if is too small, then high frequency chattering will
happen just the same as in the sliding mode control. Generally, in ADRC, is set
to be approximately 10% of the variation range of its input signal. is the exponent
J Intell Robot Syst (2009) 54:647686 683

of tracking error. The smaller is, the faster the tracking speed is, but the more
calculation time is needed. In addition, very small will cause chattering. In reality,
selecting = 0.5 provides a satisfactory result.

A.2 For the (BACK) Control

We can effect the following study: from the equation of the total derived lyapunov
Eq. 125, we view that the attenuation of the disturbance depends on the selected
gains a4 , a5 and a6 , and of the functions 5 , 6 , the choice of gains a4 , a5 small and the
large gain a6 , will help us to attenuate the disturbance which acts on the rotation
dynamics (, ). The total Lyapunov function of the disturbed helicopter model is:
1
2
Vtot = V3 + V6 = 1 + 22 + 32 + 42 + 52 + 62 , (140)
2
and its derivative:
V tot = V 3 + V 6
= a1 12 a2 22 a3 32 a4 42 a5 52 a6 62 + 2 d1
+ (5 + 6 (a4 + a5 ))d2 + 6 d3
a2 a5 a6
= a1 12 22 a3 32 a4 42 52 62
2 2 2
 2 2  2
a2 d1 d a5 d2 d2
2 + 1 5 + 2
2 a2 2a2 2 a5 2a5
 2  2
a6 (a4 + a5 )d2 + d3 (a4 + a5 )d2 + d3
6 +
2 a6 2a6
a2 a5 a6
a1 12 22 a3 32 a4 42 52 62 + T d, (141)
2 2 2



with T = 2a12 2a15 + (a42a+a5 )2
6
(a4 +a5 )
a6
1
2a6
and dT = d21 d22 |d2 d3 | d23 . To en-
sure the stability of our model, it is necessary to check V tot 0, it goes if:
am 1 , 2 , 3 , 4 , 5 , 6 2 T dmax , (142)
where: am = min{a1 , a22 , a3 , a4 , a25 , a26 } and dmax = {max(d21 ) max(d22 ) max|d2 d3 |
max(d23 )}
for and vra f vra f vra f .
Using Eq. 140, Eq. 142 is equivalent to: 2am Vtot T dmax . So that:
# T )

Vtot Max dmax , Vtot (0) ,
2am
which imposes that:
T
limt Vtot dmax
2am

T dmax
limt 1 , 2 , 3 , 4 , 5 , 6  . (143)
am
684 J Intell Robot Syst (2009) 54:647686

Fig. 19 Total Lyapunov 0.5


function Vtot
0.4

0.3

Vtot
0.2

0.1

0
0 50 100 150 200 250 300
Time(s)

However the scalar product T .d * d (Inequality


* of Cauchy-Schwartz or of


Holder), and here T .dmax 0 so that T d  d. Moreover:
*   2  14
 T  1 1 1 (a4 + a5 )2 4(a4 + a5 )2 1
= + + + + 2 (144)
am 2am a22 a5 a6 a26 a6

From this equation, one can see that in order to achieve disturbance attenuation, it
is sufficient to choose:
1
1. a large values of a2 and a6 , to reduce the values of , 1 .
2a2 am 2a6 am
(a4 +a5 )
and (aa46+a 5)
2
2. a large value of a6 to reduce the value of 2a6 am am
.
(a4 +a5 )2 (a4 +a5 )
3. a small value of a4 to reduce the value of 2a6 am
and a6 am .
T
 
In this way, am can be made arbitrarily small, which, in view of Eq. 143, implies
that the effect of the disturbance on the closed-loop can be arbitrarily attenuated.
The following simulation results also confirm that the disturbance attenuation and
tracking objectives are achieved. We find that from the sixteen possible solutions for
(a1 , . . . , a6 )(see Table 4) that:

 T 
0.78 3.45 (145)
am

Fig. 20 Derived total 0.05


Lyapunov function V tot
V tot

. 0

0.05
0 50 100 150 200 250 300
Time(s)
J Intell Robot Syst (2009) 54:647686 685
+
The smallest value of am  correspond to: a1 = 21; a2 = 19; a3 = 1.95; a4 = 4.97;
T

a5 = 49; a6 = 51 and in fact, these values of (a1 , . . . , a6 ) were used in the simulation
described in Section 7. Figure 20 shows that V tot is not always negative because of
the disturbance, but when the disturbance disappears it becomes again negative and
Vtot 0 (Fig. 19).

References

1. Beji, L., Abichou, A.: Trajectory generation and tracking of a mini-rotorcraft. In: Proceed-
ings of the 2005 IEEE International Conference on Robotics and Automation, pp. 26182623,
Barcelona, 1822 April 2005
2. Benaskeur, A.: Aspects de lapplication du backstepping adaptatif la commande dcentralise
des systmes non linaires[In French]. PhD thesis, Departement of Electrical and Computer
Engineering, University of Laval, Quebec (2000)
3. Benaskeur, A., Paquin, L.N., Desbiens, A.: Toward industrial control applications of the back-
stepping. In: Process Control and Instrumentation, pp. 6267, Glasgow, 2628 July 2000
4. Ciann, D.Y., Liu, W.H., Kung, C.C.: Nonlinear H decoupling control for hovering helicopter.
In: Proceeding of the American Control Conference, vol. 6, pp. 43534358, Anchorage, May 2002
5. Dahl, H.L., Faulkner, A.J.: Helicopter simulation in atmospheric turbulence. Vertica 3, 6578
(1979)
6. Dzul, A., Lozano, R., Castillo, P.: Adaptive control for a radio-controlled helicopter in a vertical
flying stand. Int. J. Adapt. Control Signal Process 18, 473485 (2004)
7. Fantoni, I., Lozano, R.: Nonlinear Control for Underactuated Mechanical Systems. Springer,
London (2002)
8. Frazzoli, E., Dahleh, M.A., Feron, E.: Trajectory tracking control design for autonomous heli-
copters using a backstepping algorithm. In: Proceedings of the American Control Conference,
pp. 41024107, Chicago, June 2000
9. Gao, z., Hu, S., Jiang, F.: A novel motion control design approach based on active disturbance
rejection. In: Proceedings of the 40th IEEE Conference on Decision and Control, pp. 48774882,
Orlando, 47 December 2001
10. Gool, P.V.: Rotorcraft responses to atmospheric turbulence. PhD thesis, Delft University (1997)
11. Han, J.: A class of extended state observers for uncertain systems. Control Decis. 10(1), 8588
(1995)
12. Han, J.: Nonlinear design methods for control systems. In: Proc of the 14th IFAC World
Congress, Beijing, 59 July 1999
13. Hou, Y., Jiang, F., Gao, Z., Boulter, B.T.: Active disturbance rejection control for web tension
regulation. In: Proceedings of the 40th IEEE Conference on Decision and Control, pp. 4974
4979, Orlando, 47 December 2001
14. Ifassiouen, H., Guisser, M., Medromi, H.: Robust nonlinear control of a miniature autonomous
helicopter using sliding mode control structure. Int. J. Appl. Math. Comput. Sci. 4(1), 3136
(2007)
15. Isidori, A.: Nonlinear Control Systems, 3rd edn. Springer, Berlin (1995)
16. Isidori, A., Marconi, L., Serrani, A.: Robust nonlinear motion control of an helicopter. IEEE
Trans. Automat. Control 48, 413426 (2003)
17. Koo, T.J., Sastry, S.: Output tracking control design of a helicopter model based on approximate
linearization. In: Proceeding of the 37th Conference on Decision and Control, vol. 4, pp. 3636
3640, Tampa, December 1998
18. Koo, T.J., Sastry, S.: Differential flatness based full authority helicopter control design. In:
Proceeding of the 38th IEEE Conference on Decision and Control, Phoenix, vol. 2, pp. 1982
1987. IEEE, Piscataway (1999)
19. KrstiC, M., Kanellakopoulos, I., Kokotovic, P.: Nonlinear and Adaptive Control Design. Wiley-
Interscience, New York (1995)
20. Krupadanam, A.S., Annaswamy, A.M., Mangoubi, R.S.: A multivariable adaptive controller for
autonomous helicopters. In: American Control Conference, vol. 3, pp. 20522057, Anchorage,
May 2002
21. Lozano, R., Castillo, P., Dzul, A.E.: Modeling and Control of Mini-flying Machines. Springer,
London (2005)
686 J Intell Robot Syst (2009) 54:647686

22. Luo, C.C., Kung, C.C., Yang, C.D., Chiou, D.W.: Nonlinear H helicopter control. In: Pro-
ceeding of the 41st IEEE Conference on Decision and Control, Las Vegas, Nevada, vol. 4,
pp. 44684473. IEEE, Piscataway (2002)
23. Mahony, R., Hamel, T.: Robust trajectory tracking for a scale model autonomous helicopter. Int.
J. Robust Nonlinear Control 14, 10351059 (2004)
24. Marconi, L., Naldi, R.: Non linear robust control of an helicopter for trajectory tracking. In: 8th
International IFAC Symposium on Robot Control, SYROCO 2006, Bologna, 68 September
2006
25. Martini, A., Lonard, F., Abba, G.: Suivi de trajectoire dun hlicoptre drone sous rafale de
vent [in french]. CFM 17me Congrs Franais de Mcanique, Troyes, France, CD ROM.N 0 .467,
(2005)
26. Martini, A., Lonard, F., Abba, G.: Suivi robuste de trajectoires dun hlicoptre drone sous
rafale de vent [in french]. SEE e-STA revue lectronique 4(1), 5055 (2007)
27. McLean, D.: Automatic Flight Control Systems. Prentice Hall International, London (1990)
28. McLean, D., Matsuda, H.: Helicopter station-keeping: comparing lqr, fuzzy-logic and neural-net
controllers. Eng. Appl. Artif. Intel. 11, 411418 (1998)
29. Padfield, G.D.: Helicopter Flight Dynamics: The Theory and Application of Flying Qualities and
Simulation Modeling. Blackwell Science LTD, Tokyo (1996)
30. Perhinschi, M.G.: A model of atmospheric turbulence for rotorcraft simulation and analysis of
stability and performance. In: AIAA Modeling and Simulation Technologies Conference and
Exhibit, pp. 984175, Boston, 1012 August 1998
31. Pflimlin, J.M., Soures, P., Hamel, T.: Hovering flight stabilization in wind gusts for ducted fan
uav. In: Proc. 43rd IEEE Conference on Decision and Control CDC, Atlantis, Paradise Island,
pp. 34913496. IEEE, Piscataway (2004)
32. Postlethwaite, I., Prempain, E., Turkoglu, E., Turner, M.C., Ellis, K., Gubbels, A.W.: Design and
flight of various H controllers for the bell 205 helicopter. Control Eng. Prac. 13, 383398 (2005)
33. Prouty, R.W.: Helicopter Performance, Stability, and Control. Krieger, Marburg (1995)
34. Sanders, C.P., DeBitetto, P.A., Feron, E., Vuong, H.F., Leveson, N.: Hierarchical control of small
autonomous helicopters. In: Proceeding of the 37th IEEE Conference on Decision and Control,
Tampa, Florida, vol. 4, pp. 36293634. IEEE, Piscataway (1998)
35. Sepulchre, R., Jankovic, M., Kokotovic, P.: Constructive Nonlinear Control. Springer, London
(1997)
36. Slotine, J.J.E., Li, W.: Applied Nonlinear Control. Prentice-Hall, Englewood Cliffs (1991)
37. Spong, M.W., Vidyasagar, M.: Robot Dynamics and Control. Wiley, New York (1989)
38. Vilchis, A.: Modlisation et Commande dHlicoptre. PhD thesis, Institut National Polytech-
nique de Grenoble (2001)
39. Vilchis, A., Brogliato, B., Dzul, L., Lozano, R.: Nonlinear modeling and control of helicopters.
Automatica 39, 15831596 (2003)
40. Wei, W.: Approximate output regulation of a class of nonlinear systems. J. Process Control 11,
6980 (2001)
41. Zhao, J., Kanellakopoulos, I.: Flexible backstepping design for tracking and disturbance attenu-
ation. Int. J. Robust Nonlinear Control 8, 331348 (1998)