Professional Documents
Culture Documents
DOI 10.1007/s10846-008-9280-z
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.
1 Introduction
2 Helicopter Model
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)
x1 = x2 = z ,
1
x2 = c8 2 u1 + c9 + c10 c7 ,
c0
x3 = x4 = ,
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
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
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
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
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 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
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)
Step 2 : Given the system Eq. 30, suppose we can find a continuous function (e, t),
which is bounded in t, satisfying the inequalities:
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
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
|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:
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
1 = a1 1 + x 1d f (x1 ), (51)
where:
1 = a1 1 + x 1d f(x1 ). (52)
2 = 1 x2 = a1 1 + 1 = 1 = 2 a1 1 . (53)
2 = 1 x 2 = a1 1 + x 1d f(x1 ) u. (54)
1 2 1 2
V2 = + 2 , (55)
2 1 2
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
1 1
z = c8 2 u1 + c9 + c10 c7 + c16 vra f , (59)
c0 c0
The value of |vra f | = 0.68m/s corresponds to an average wind gust. In that case, we
have the following bounds:
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
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
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
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
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
y = f (y, y , p) + b u, (73)
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
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
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 ),
and
! t
V2 = k5 x 4 k4 x 5 k6 x 4 d dt x 6 , (81)
0
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
To control the altitude dynamics z and the yaw angle , the steps are as follows:
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)
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)
1 = x 1d x 1 = x 1d x2 , (88)
666 J Intell Robot Syst (2009) 54:647686
V 1 = 1 1 = 1 (x 1d x 1 ) = 1 (x 1d x2 ). (90)
1 = a1 1 + x 1d , (91)
where:
1 = a1 1 + x 1d . (92)
2 = 1 x2 = a1 1 + 1 . (93)
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)
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)
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)
1 = x 1d x 1 1 = x 1d x 1 . (103)
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)
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
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 = w2 + d2 a24 4 + a4 5 d + 6 + 5 , (117)
V 5 = 4 4 + 5 5
= a4 42 + 5 w2 + 4 a24 4 + a4 5 d + 5 + d2 + 6 . (118)
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
The integral of Eq. 123 provides w2 and V = w2 + . In this way, the yaw
angle control is calculated.
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
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
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)
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
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
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
zd (m)
0.4
0.6
(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)
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)
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)
21 = a1 + a2 + a3 ,
120 2 = 2 + a1 a2 + a1 a3 + a2 a3 ,
100 3 = a1 + a3 + a1 a2 a3 .
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)
a4 + a5 + a6 = 21,
2 + a4 a5 + a4 a6 + a5 a6 = 120 2 ,
a4 + a6 + a4 a5 a6 = 100 3 .
73.4
73.5
RNFC
73.6
73.7
73.4
73.5
BACK
73.6
73.7
73.4
73.5
ADRC
73.6
73.7
Time (s)
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
140
160
0 50 100 150 200 250 300
Time (s)
678 J Intell Robot Syst (2009) 54:647686
2
0 50 100 150 200 250 300
Time(s)
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
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)
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.
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
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
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.
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
0.3
Vtot
0.2
0.1
0
0 50 100 150 200 250 300
Time(s)
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
. 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)