Vous êtes sur la page 1sur 9

12 INTERNATIONAL JOURNAL OF COMPUTATIONAL COGNITION (HTTP://WWW.YANGSKY.COM/YANGIJCC.HTM), VOL. 3, NO.

1, MARCH 2005
Genetic Algorithms Adaptive Control for an
Underactuated System
Faical Mnif and Jawhar Ghommem
AbstractIn this paper we develop an intelligent controller
on the basis of Genetic Algorithms for the stabilization of a
class of Underactuated Mechanical Systems. First we develop a
static State Feedback Controller with inner noncollocated partial
feedback linearization loop to stabilize the nominal system.
Second, we develop a Genetic algorithm controller to maintain
system stabilization and to adapt the controller variables to the
changes of system parameters. Simulations results made on a
2-DOF whirling pendulum are given to illustrate our approach.
Copyright c 2003-2005 Yangs Scientic Research Institute, LLC.
All rights reserved.
Index TermsUnderactuated systems, whirling pendulum,
genetic algorithms, adaptive.
I. INTRODUCTION
A
mechanical system may be underactuated in several
ways. The most obvious way is for intentional design as
in the brachiaton robot of Fukuda [1], the passive walker of
McGeer [2], the acrobat [3] or the Pendubot [4]. Underactuated
systems also arise in mobile robot systems. A third way
that Underactuated systems arise is due to the mathematical
model used for control design as, and for example, when
joint exibility is added in the model. It is also interesting to
note that certain control problems for fully actuated redundant
robots are similar to those for Underactuated robots [5]. The
class of Underactuated mechanical systems is thus rich in both
applications and problems.
In the last decade, control researchers have given consider-
able attention to many examples of control problems associ-
ated with underactuated mechanical systems. The key feature
of many of these problems is the nonlinear coupling between
the directly actuated degrees of freedom and the unactuated
degrees of freedom. Spong[4] proved that partial feedback
linearization may be applied to the control of underactuated
mechanical systems.
Control of underactuated systems is rather challenging even
in lack of any parameter uncertainties, however, it is important
to formulate and address robust stabilization/tracking problems
for classes of underactuated systems. Using conventional tech-
niques, designing robust controllers for underactuated systems
Manuscript received August 10, 2003; revised August 29, 2003.
Faical Mnif
(a)
and Jawhar Ghommem
(b)
,
(a)
Sultan Qaboos University,
Department of Electrical and Computer Engineering. P.O. Box 33, Muscat
123, Oman. (On Leave from the) Institut national des Sciences Appliqu ees
et de Technologie, INSAT, Tunisia.
(b)
Institut national des Sciences Ap-
pliqu ees et de Technologie, INSAT, Tunisia. Email: mnif@squ.edu.om(F.
Mnif), faical.mnif@insat.rnu.tn(F. Mnif), Jo g@gmx.f(J. Ghommem)
Publisher Item Identier S 1542-5908(05)10102-X/$20.00
Copyright c 2003-2005 Yangs Scientic Research Institute, LLC.
All rights reserved. The online version posted on September 1, 2003 at
http://www.YangSky.com/ijcc31.htm
can be quite challenging. By making use of heuristics, intel-
ligent control techniques potentially can greatly simplify the
synthesis of a controller for such plants. This paper examines
the design of an adaptive Genetic Algorithm (GA) together
with a noncollocated partial feedback linearization technique
to stabilize all degrees of freedom, including those that are not
directly actuated through this nonlinear coupling. The GA,
discovered by Holland [10], an optimization routine based
on principles of genetics and evolution, performs a directed
random search of a population of controllers to determine
which one is the best to implement. We will use this interesting
feature to online optimize and adapt controller parameters for
a system whose parameters can change or are not perfectly
known. The GA has found numerous applications in off-line
optimization in both signal processing and control problems.
In this paper, we present an on-line algorithm to use GA for
adaptive control.
The system considered for our study is the whirling pen-
dulum. The whirling pendulum is a system consisting of an
inverted pendulum connected to an arm rotating within a
horizontal plane. It is a spatial robot with two degrees of
freedom and a single control input (i.e. it is underactuated).
Because it is underactuated and has complicated nonlinear
dynamics, the whirling pendulum is a good testbed for the
development of nonconventional advanced control techniques
and comparative analysis between control methods.
This paper is organized in the following manner: First
we describe the physical dynamic equations of the whirling
pendulum. Then we present the partial noncollocated feedback
linearization used on the system. The next two sections give
a description of the GA algorithm optimization method and
simulation results.
II. THE WHIRLING PENDULUM
The whirling pendulum is shown in Fig.1. It is a spatial
pendulum whose suspension point is attached to another mass
M by means of a vertical shaft, as shown. The plane of the
pendulum is orthogonal to the radial arm of length R. The
shaft is subject to torque u. We ignore frictional effects here.
l: pendulum length
I: Bob inertia around its center of gravity
m: pendulum bob mass
M: whirling mass
g: gravitational acceleration
R: radius of arm
: shaft torque
MNIF AND GHOMMEM, GENETIC ALGORITHMS ADAPTIVE CONTROL FOR AN UNDERACTUATED SYSTEM 13



Fig. 1. The whirling pendulum.
:angle of pendulum from the upward vertical
:angle of mass M from a xed vertical plane.
Erect an x-y-z coordinate system, with the z axis vertical
along the shaft and the x-y plane in the plane of the horizontal
rod. Denote the angle of the horizontal rod with respect to the
positive x-axis by . Refer to Fig.2



Fig. 2. Looking down on the whirling pendulum.
The coordinates of the mass M are x = Rcos , y =
Rsin, and z=0 and so the velocity is
x = R

cos , y = R

cos , z = 0.
The kinetic energy of the mass M is therefore
K
M
=
M
2
_
x
2
+ y
2
+ z
2

=
1
2
MR
2

2
The coordinates of the pendulum bob with mass m are
x = Rcos l sinsin,
y = Rsin + l sin cos
z = l cos .
The velocity of the bob is the vector with components
x = R

sin l

sin cos l

cos sin
y = R

cos l

sin sin + l

cos cos
z = l

sin
The kinetic energy of the bob is thus given by
K
m
=
m
2
_
x
2
+ y
2
+ z
2

=
1
2
I

2
+
m
2
_
R
2

2
+ l
2

2
sin
2
+ l
2

2
+2Rl

cos
_
. (1)
The potential energy of the system is
V = mgl cos (2)
Euler-Lagrange dynamic equations
The equations of motion can be obtained using the Euler-
Lagrange formulation as
d
dt
_
L
q
_

L
q
= (3)
where L = K V and K = K
m
+ K
M
.
The differential equations describing the system are then

1
= [MR
2
+ m(R
2
+ l
2
sin
2
)]

+ mRl cos

+ml
2
sin(2)

mlRsin

2
(4)
0 = mlRcos

+ (I + ml
2
)

ml
2
sin cos

2
mgl sin (5)
In compact form, the system can be written as
M(q) q + C(q, q) q + G(q) = u (6)
where
q =
_
q
1
q
2

=
_

and
M(q) =
_
m
11
m
12
m
21
m
22
_
=
_
MR
2
+ m(R
2
+ l
2
sin
2
) mlRcos
mlRcos I + ml
2
_
C(q, q) =
_
c
11
c
12
c
21
c
22
_
=
_
2ml
2
cos() sin().


mlRsin()

2
mlRsin()

2
0
_
G(q) =
_
g
1
g
2
_
=
_
0
mgl sin
_
and u =
_

1
0
_
we call also
C(q, q) q =
_
h
1
h
2

Property 1
14 INTERNATIONAL JOURNAL OF COMPUTATIONAL COGNITION (HTTP://WWW.YANGSKY.COM/YANGIJCC.HTM), VOL. 3, NO. 1, MARCH 2005
The generalized mass matrix M (q) is symmetric and
positive denite.
Property 2
It is also easy to verify that

M(q) 2C(q, q)is a skew
symmetric matrix.
III. PARTIAL NONCOLLOCATED FEEDBACK
LINEARIZATION CONTROL FOR THE WHIRLING
PENDULUM
A. Controller Design
An interesting property that holds for the entire class of
underactuated mechanical systems is the so called noncollo-
cated partial feedback linearization property [4], which is a
consequence of the positive denitiveness of the inertia matrix.
Noncollocated linearization refers to linearizing the passive
degrees of freedom, which refers here to. The choice of
noncollocated feedback linearization control is obvious here
since is to be considered as the output of our system which
corresponds to the unactuated degree of freedom.
Recall the dynamical equations for the whirling pendulum
are given by two second order coupled differential equations
m
11
q
1
+ m
12
q
2
+ h
1
+ g
1
= (7)
m
12
q
1
+ m
22
q
2
+ h
2
+ g
2
= 0 (8)
By solving for q
2
in equation (8) and substituting into (7),
we may rewrite Equation (7) as
m
11
q
1
+

h
1
+ g
1
= (9)
where the terms m
11
,

h
1
and g
1
are dened as
m
11
= m
11
m
12
m
1
22
m
12
,

h
1
= h
1
m
12
m
1
22
h
2
,
g
1
=
1
m
12
m
1
22
g
2
.
The nonlinear feedback
= m
11

1
+

h
1
+ g
1
(10)
denes a feedback linearizing controller for equation (9) with
the new input
1
.
By including the feedback linearizing control the system
dynamics may be rewritten as
q
1
= v
1
(11)
m
22
q
1
+ h
2
+
2
= m
12

1
(12)
Equation (11) is linear from input
1
to output q
2
. Equation
(12) represents the internal dynamics of the system.
Denition 1: The system (11)-(12), equivalently the sys-
tem (7)-(8) is said to be Strongly Inertially Coupled iff
rank(m
12
) = 1 for all q.
This denition is essentially a controllability condition and
ensures that the acceleration vector
1
in (12) may be used
as a control input to control the response of q
2
according to
the method of Integrator backstepping [8]. Note that Strong
Inertial Coupling that the number of active degrees of freedom
be at least as great as the number of passive degrees of
freedom. Here we have m
12
= 0 for =

2
+ k. Under
this assumption, we may compute the inverse of m
12
.
Dene
1
in (12) according to

1
= m
1
12
(m
11

2
+ h
2
+ g
2
) (13)
where
1
is an additional control input to be determined. With
this choice for the control input
1
the system becomes
m
12
q
1
+ h
2
+ g
2
= m
22

2
(14)
q
2
=
2
(15)
Thus, we see that the passive degree of freedom q
2
() have
been linearized and decoupled from the rest of the system and
that equation (15) describing the motion of the active joint
of the whirling pendulum is now representing the internal
dynamics of the system relative to the output q
2
= . The
actual control input is given by combining (10) and (13),
and after some algebra, as
= m
12

2
+

h
1
+ g
1
(16)
where
m
12
= m
12
m
11
m
1
12
m
22

h
1
= h
1
m
11
m
1
12
h
2
g
1
= g
1
m
11
m
1
12
g
2
Using the non-collocated partial feedback linearization de-
veloped above, a PD-like controller may be dened for q
2
as
to achieve a desired trajectory q
d
2
:

2
= q
d
2
+ k
2
( q
d
2
q
2
) + k
1
(q
d
2
q
2
) (17)
or equivalently

2
=

d
+ k
2
(


) + k
1
(
d
) (18)
Dene now

1
= q
2
q
d
2
,
2
= q
2
q
d
2
, z
1
= q
1
, z
2
= q
2
and the output error y
2
= q
2
q
2d
, the closed loop system
may be written as

1
=
2

2
= k
1

1
k
2

2
z
1
= z
2
z
2
= m
1
12
(h
2
+ g
2
) m
1
12
m
22
( q
d
2
k
1

1
k
2

2
)
y
2
=
1
in matrix form we can write this as
= A
z = s(, z, t)
y
2
= C
(19)
where
A =
_
0 1
k
1
k
2
_
; C =
_
1 0

MNIF AND GHOMMEM, GENETIC ALGORITHMS ADAPTIVE CONTROL FOR AN UNDERACTUATED SYSTEM 15
and the function
s(, z, t) =
_
z
2
m
1
12
(h
2
+ g
2
) m
1
12
m
22
( q
d
2
k
1

1
k
2

2
)
_
(20)
We see that the surface = 0 in the state space denes a
globally attractive integral manifold for the system and that
the expression
z = (0, z, t) (21)
denes the zero dynamics relative to the output y
2
=
1
.
Theorem 1 Consider the system (19), suppose s(0, z, t) = 0
for t 0, i.e. (0, z
0
) is an equilibrium of the full system (19)
and z
0
is an equilibrium of the zero dynamics (21). If A is
Hurwitz and if the equilibrium z
0
of the zero-dynamics (21)
is locally (Locally asymptotically) stable, then the full system
(19) is locally (Locally asymptotically) stable.
B. Simulation Results
Simulations were performed over a prototype with the
following parameters: M = 0.5kg, m = .2kg, l = R = 0.5kg,
and I = 0.
The heuristic nonlinear feedback controller results are
shown in Fig. 3 the nal values for the gains, which were
obtained via heuristic tuning were k
1
= 10 and k
2
= 15. The
convergence of the position of the arm can not be determined
a priori since the equilibrium manifold of the system is dened
by (, 0, 0, 0).
Figure 4 shows the link displacements for the two-link
simulation by control law (16) when a parametric uncertainty
is considered in the dynamics of the system. A 20% of mass
uncertainty was considered for the two links. One can notice
that the control (16) fail to maintain the stabilization of the
uncertain system.
IV. GENETIC ALGORITHM BASED CONTROLLERS
As it could be imagined, the partial feedback linearization
control discussed in the last section failed to stabilize the sys-
tem when a small change in system parameters is considered.
From an intuitive sense, an adaptive control technique to tune
the system controller parameters may help to improve the
response of the balancing and eliminate the instability behavior
occurred for perturbed system.
The GA is an optimization routine based on the principles of
Darwinian Theory and natural genetics. It has been primarily
used as an off-line technique to perform a directed search
for the optimal solution to a problem. One of the sought-
after goals in control engineering is to make systems adaptive
to changes in the environment. Adaptive controllers have
been successful and are available in the market. The role of
genetic algorithm could then be to provide a further tool and
complement the existing arsenal of algorithms. Also, structure
of GA could probably be used as a background to real time
control of hybrid systems, that is, one single best adaptive
controller is doing its job on a particular plant while there may
be a whole population of adaptive algorithms that is evolving
at the background. Here we show that the GA can be used

0 5 10 15 20 25 30 35 40 45 50
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
phi







(a)

0 5 10 15 20 25 30 35 40 45 50
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
p
o
s
i
t
i
o
n

(
r
a
d
)
time (sec)
theta











(b)
Fig. 3. Stabilization of and with control law (16).
can be used on-line in a controller design to adaptively search
through a population of controllers and determine the member
most t to be implemented over a given model.
This section starts with a brief introduction to the GA,
next we will discuss how to implement the GA-based control
algorithm, and the results obtained.
A. The Genetic Algorithm (GA)
The GA performs a parallel, directed, random search for
the ttest element of a population within a search space.
The population simply consists of strings of numbers called
chromosomes that hold possible solutions of a problem. The
members of a population are manipulated cyclically through
three primary genetic operators: selection, mutation and re-
placement to produce a new generation (population) that
tends to have higher overall tness evaluation. By creating
successive generations which continue to evolve, the GA will
tend to search for a global optimal solution of an objective
16 INTERNATIONAL JOURNAL OF COMPUTATIONAL COGNITION (HTTP://WWW.YANGSKY.COM/YANGIJCC.HTM), VOL. 3, NO. 1, MARCH 2005

0 5 10 15 20 25 30 35 40 45 50
-1
-0.5
0
0.5
1
1.5
2
2.5
phi
p
o
s
i
t
i
o
n

(
r
a
d
)
time (sec)












(a)

0 5 10 15 20 25 30 35 40 45 50
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
theta
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)












(b)
Fig. 4. Responses of (Theta) and (phi) with control for the uncertain system.
function f. Figure 5 shows a general scheme of a Genetic
Algorithm.
The key to the search is the tness evaluation. The tness
of each of the members of the population is calculated using
a tness function that characterizes how well each particular
member solves the given problem. Parents for the next gener-
ation are selected based on the tness value of strings. That is,
strings that possess higher tness value are more likely to be
selected as parents, and thus, are more likely to survive to the
next generation. The rst stage is the selection stage. Although
there are many techniques for the selection of parents, a
commonly used method is the Roulette Wheel selection [11],
a proportionate selection scheme which bases the number of
offspring on the average tness of the population. Strings with
greater than the average tness are allocated more than one
offspring.
For the evolutionary process, the selected members of a
population are randomly paired together to mate and share















Fig. 5. General scheme of a Genetic Algorithm.
genetic information. The GA accomplishes this sharing by the
swapping of portions of strings between parents. The simplest
model is the single-point crossover, where the selection of a
random position between 1 and l 1, where l is the length
of chromosome, indicates which portions are interchanged
between parents. Multiple crossover points can also be se-
lected, where strings swap several portions of their strings.
The resulting interchange produces two new strings. The actual
interchange is often based on a crossover probability p
c
. The
sharing of genetic material occurs only if a randomly generated
normalized number is greater than pc; otherwise, the strings
are not affected. Once this crossover stage is complete, the
new strings are subject to mutation based on the mutation
probability p
m
. This genetic operation randomly selects a
string and position (between 1 and l1) and changes the value
at that position to a random number. Since the variations due
to the mutation operation occur randomly, this tends to keep
the GA from focusing on a local minimum.
The nal step in the GA is the replacement operation, which
determines how the new subpopulation produced from the
genetic operations will be introduced as a new generation.
Two methods exist: complete generation replacement, where
each population produces an equal number of strings, which
then completely replace the parent population, and partial
replacement where only small portion of new strings are
developed and introduced into the population. In addition, the
former procedure may have a tendency to throw away a best
t solution since the entire generation is replaced; for this
reason, often the complete generation replacement method is
combined with an elitist strategy, where a one or more of
MNIF AND GHOMMEM, GENETIC ALGORITHMS ADAPTIVE CONTROL FOR AN UNDERACTUATED SYSTEM 17
the most t members of a previous population are passed,
untouched, to the next generation. This tends to ensure that
there is always a string within the population that is good
solution for the problem, this operation is called crossover.



Fig. 6. Crossover operator.
The genetic algorithm procedure is illustrated in Fig 7.
We start with a randomly (or specically chosen) initial
population of members and perform the three above operations
based on the user-specied probabilities of occurrence. At
the conclusion of this we have automatically produced the
next generation. The repeat the operators on each consecutive
generation until an acceptable result occurs.
A key part of the success of the GA is the encoding of
the strings. Obviously we need to choose parameters that tend
to have reasonable information about the problem. The actual
number and type of variables that will be encoded as strings
is application specic. Common encoding of multiple real-
value continuous variables consists of placing them in integer
form and concatenating them, keeping track of decimal places
and variable separation points for decoding. Thus two real
numbers 12.345 and 9.8765 could be represented in a 10-digit
long string 123456789. Decoding can occur by rst splitting
the string at the appropriate point (in the case, between the
fth and sixth digit) and keeping track of the appropriate
decimal places. In this case, the actual values are represented
by multiplying the integer given by the rst portion of the
string by 10
3
and the integer in the second portion of the
string by 10
4
. This is representative of the base-10 encoding
of strings; a base-2 encoding is also popular, where strings
are represented in the binary form as a series of ones and
zeros. Regardless of the base of the encoding, the procedure
is the same. The strings are decoded for tness evaluation, but
remain in encoded form for genetic manipulation, producing
successive generation until a user-specied termination crite-
rion is reached.
In summary, a GA procedure can be summarized in the
following steps.
1) Randomly create an initial population of individuals
(chromosomes).
2) Iteratively perform the sub-steps below (in one genera-
tion) on the population till the termination criterion is
satised.
Assign a tness f
i
value to each individual of the
population using the tness measure.
Select one or two individual from the population
probabilistically based on tness to participate in
genetic operations described next. Reselection is
allowed.
P
s
=
f
i
N

i=1
f
i
(22)
Create new individuals from the old using one of
the genetic operations with which are also based on
specic probability. The operations are:
Reproduction: Copy the selected individual into
the population.
Crossover: Create new offspring by combining
randomly chosen parts from the two selected
parents
Mutation: Create new offspring by randomly
mutating a randomly chosen part of one selected
chromosome.
3) After the termination criterion is met, the run is stopped.
This may occur when the number of generations is met,
or when the solution is met. Usually the best individual
(best-so-far) is returned as the result of the run. This
may or may not be the satisfactory (or an approximate)
solution to the problem.
If we encode controller gains (k
1
, k
2
) in (17) as the strings
of the population and base the tness the tness value of each
member on the performance of that particular controller the
string represents on a model of the system, then we can use
the GA to nd optimum controller. Furthermore, if we can
implement the GA online, and use it to nd the best controller
at every sampling period or every few sampling times then
we can use the GA to produce an adaptive control routine that
will try to nd the optimum controller to use under different
conditions.
B. On-line Control Using Genetic Algorithms
Development of a control algorithm based on the GA
involves searching for an optimal controller during each (or
every several) sampling periods. The tness evaluation in this
case consists of characterizing the expected performance of
each controller in the population based on error analysis.
This type of evaluation requires both a model of the plant
for prediction purposes and the development of a reference
model for comparison. The nonlinear model developed in
Sec. 2 is used to predict ahead how well the controller will
perform several time steps into the future. The reference model
characterizes the desired response of the system which is
dened here by
q
d
2
= 0 (23)
Consider the error as the difference between the actual
measure of the angle q
2
and the desired angle q
d
2
e = q
2
q
d
2
(24)
18 INTERNATIONAL JOURNAL OF COMPUTATIONAL COGNITION (HTTP://WWW.YANGSKY.COM/YANGIJCC.HTM), VOL. 3, NO. 1, MARCH 2005
and the performance index to be minimized:
t
f
_
t
0
e
2
dt (25)
under the constraint :
|e| e
min
= 10
3
(26)
One may arrange (25) and (26) into a single function by
dening the whole criterion function to minimize as:
min J =
t
f
_
t
0
e
2
dt +
max
(e
i
)|
t
1
t0
(27)
Our aim is to design genetic algorithm procedure for which
given an objective function (27) to be minimized, provides in
return at each sample the optimal k
1
, k
2
which introduced into
the control law (16) leads a swift exponential stability of the
pendulum angle q
2
.
The two strings represented by gains k
1
and k
2
of length
2m and decoded as:
k
i
= k
i(low)
+
2m1

j=0
bit
j
2
j
2
n
1
_
k
i(high)
k
i(low)
_
, i = 1, 2. (28)
with k
(low)
, k
(high)
, respectively denotes the lower and upper
boundary of the interval wherein varies the parameter k
i
, i =
1, 2 to be specied.
C. Simulation Results
Results of the simulation of an adaptive GA on the whiling
pendulum are shown in Fig. 8. The upper and lower bounds
for the feedback gains are dened as: 8 < k
1
< 13 and 12 <
k
2
< 17.
The results simulation results obtained in Fig. 8 are obtained
after several experiments of the GA operation (i.e. to obtain
the best tness function vs. N= number of generation).
It is clear that with the GA algorithm, we succeeded
to maintain the stabilization of the uncertain underactuated
system. The dynamics of the system seems also to be improved
D. Important Remark
The GA optimization technique allows an adaptive change
of gains vector (k
1
, k
2
) according to the optimization criteria
(27), this explain the better dynamic of the system responses
even in the presence of system uncertainties since the gain
vector is adaptively changing to optimize the criteria (27). In-
deed the convergence of the state of the system is conditioned
to the convergence of tness function which is normally linked
to the size of the population (number of generations). To show
this, several other trial runs were completed. Although there
are cases, where the GA adaptive control does not perform
as well as the results shown as the previous results, for most
cases the results are consistent. Figure 9 shows the simulation
results for the stabilization of the of the pendulum angle for

0 5 10 15 20 25 30 35 40 45 50
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
phi
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)











(a)
0 10 20 30 40 50 60
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
theta
(b)
Fig. 8. Best responses of and by adaptive GA control for the uncertain
system (N = 1000)
such cases and where the GA can result on a poorer result.
At a worst, a small size of the population can result on an
oscillatory dynamics behavior.
V. CONCLUSIONS
In this paper we addressed the control of an underactuated
mechanical system by an adaptive GA control. First, a noncol-
located feedback linearization control was developed for the
stabilization of the nominal system. Then we introduced the
GA, the search routine based on Darwinian Theory and natural
genetics and shows how it could be applied to control prob-
lems to produce an adaptive control method when parameter
uncertainties are considered. The application of the adaptive
GA to stabilize uncertain underactuated systems was shown to
be effective and can be used as an alternative to the classical
adaptive control applied in robotics control. Such adaptive or
MNIF AND GHOMMEM, GENETIC ALGORITHMS ADAPTIVE CONTROL FOR AN UNDERACTUATED SYSTEM 19



Fig. 7. Flowchart of a GA implementation.
20 INTERNATIONAL JOURNAL OF COMPUTATIONAL COGNITION (HTTP://WWW.YANGSKY.COM/YANGIJCC.HTM), VOL. 3, NO. 1, MARCH 2005
0 5 10 15 20 25 30 35 40 45 50
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
phi
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)

0 10 20 30 40 50 60
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
theta
(a) (b)
0 10 20 30 40 50 60
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
theta
0 10 20 30 40 50 60
-3
-2
-1
0
1
2
3
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
theta
(c) (d)
0 10 20 30 40 50 60
-4
-3
-2
-1
0
1
2
3
4
time (sec)
p
o
s
i
t
i
o
n

(
r
a
d
)
theta
(e)
Fig. 9. Results of some trial runs for the pendulum angle. (a) Acceptable Response (N = 800). (b) Average Acceptable response (N = 600). (c) Less
Acceptable response (N = 200). (d) Poor Response (N = 100). (e) Poorest Response (N = 30).
robust methods can not be applied for underactuated systems
due to the lack of some properties of the system dynamics.
REFERENCES
[1] Saito, F., Fukada, T., and Arai, F., Swing and locomotion control
for two-link brachiation robot. Proc. of the 1993 IEEE Int. Conf. on
Robotics and Automation, Atlanta 1993, pp. 719-724.
[2] McGeer. T.,, Passive dynamic walking, Int. J. of Robotics Research,
9(2), 1990.
[3] Bortoff, S.A and Spong, M.W., Pseudo linearization of the acrobat
using spline functions, IEEE Conference on Decision and Control,
Tucson, 1992, pp. 593-598.
[4] Spong, M.W., The Control of Underactuated mechanical Systems, 1
st
International Conference on Mechatronics, Plenary address, Mexico city,
1994.
[5] De Luca, A., Nonholonomic behavior in redundant robot arms.
Lecture Notes, June 1996, Dutch Institute of Summer School.
[6] Mnif, F., Ghommem, J., Stabilization for a class of underactuated
mechanical systems, IEEE SMC2002.
[7] Khalil, H., Nonlinear Systems, 3
rd
Edition, Prentice hall, 2001.
[8] Kokotovic, P.V., Krstic, M., and Kanellakopoulos, I., Backstepping to
passivity,: recursive design of adaptive systems Proc. IEEE Conf. on
Decision and Control, 1992, pp 3276-3280
[9] D.E. Goldberg, Genetic Algorithms is search, Optimization and Ma-
chine Learning , Addison Wesley, 1989.
[10] Holland, J.H., Adaptation in Natural and articial systems, University
of Michigan Press, Michigan, 1975.
[11] Goldberg, D.E., Genetic Algorithms is Search, Optimization and Ma-
chine Learning, Addison Wesley, 1989.
[12] Passino, K.M., and Yukovich L.M., Fuzzy Control, Addison Wesley,
1998.
[13] Moore, L.M., Mausacchio J.T., and Passino, K.M., Genetic adaptive
control for an inverted wedge Engineering Applications of Articial
Intelligence, 14, 1, 1-14, 2001.

Vous aimerez peut-être aussi