Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

1

Obtaining Adjacent Configurations with Minimum Time Considering


Robot Dynamics Using Genetic Algorithm

Fares Abu-Dakka
a
, Francisco Valero
a
and Vicente Mata
a


a
Mechanical Engineering and Materials Department, Polytechnic University of
Valencia - Valencia, Spain
E-mail: faab@upvnet.upv.es - {fvalero, vmata}@ mcm.upv.es
URL: www.upv.es/citv


Abstract. This paper presents a genetic algorithm approach to generate a space of adjacent
configurations between two feasible configurations of manipulator robot. The adjacent
configuration is generating a feasible robot configuration from an existing one, permitting the
robot to move between them with minimum time considering the maximum and minimum
torques provided by the joints actuators and with prevention of collisions. The robot
configuration has been formulated by means of generalized coordinates. In the applied
procedure, a map of feasible robot adjacent configurations is obtained by using genetic
algorithm, and then comparing the results with the results obtained by another procedure
using a sequential quadratic programming (SQP) to solve such nonlinear optimization
problem with nonlinear constraints in previous paper (Abu-Dakka, et al., 2007). As an
application example, this algorithm is applied over robot Puma 560. Some numerical
examples are provided in this paper to verify the functionality of the algorithm.

Keywords. Robotics, Adjacent Configurations, Trajectory Planning, Collision Avoidance



1. Introduction

The resolution of efficient trajectory planning
problem with prevention of collisions for robots in
complex environments requires computationally
costly algorithms that prevent their industrial
application.
Some authors use trajectory planning as a
synonym for path planning, but this is not accurate.
Path planning is restricted to the geometric aspects of
the motion. The only constraints that can be taken
into account are time-independent constraints such as
stationary obstacles and kinematic constraints. From
the other point of view, trajectory planning with its
time dimension permits to take into account time
dependent constraints such as moving obstacles and
the dynamics constraints of the robot. The trajectory
planning problem is a very active research area and
there is a vast literature about it, e.g. (Abu-Dakka, et
al., 2007, Bobrow, et al., 1985, Kieffer, et al., 1997,
Valero, 1990, Valero, et al., 2006, Valero, et al.,
2005)
Actually there is two approaches deal with
trajectory planning problem. The first ones called
decoupled or indirect approaches, which include first
seeking a path in the configuration space and then the
trajectory adjusts, subjected to the dynamic
constraints of the manipulator. The second one
named direct or global approach, where the search
takes place in the systems state space. This approach
involves optimal control, numerical optimization, and
grid-based searches. The work in this paper is
oriented towards the attainment of an algorithm that
permits avoiding obtaining a prior path.
The main difficulties with finding an optimum
trajectory arise from the fact that the complexity of
the system means that analytical methods may be
intractable, while enumerative search methods are
overwhelmed by the size of the search space, enter
the genetic algorithm (GA). GAs were first
introduced by (Holland, 1975) based search and
optimization techniques have recently found
increasing use in machine learning, robot motion
planning, scheduling, pattern recognition, image
sensing and many other engineering applications.
In principle, GAs are stochastic search algorithms
analogous to natural evolution based on mechanics of
natural selection and natural genetics. They combine
survival of the most fitting among the string
structures with randomized yet structured information
exchange to form a search algorithm with innovative
flair of natural evolution. GAs have proven their
robustness and usefulness over other search
techniques because of their unique procedures that
differ from other normal search and optimization
techniques in four distinct ways:
1. GAs work with coding of a parameter set,
not the parameters themselves.
2
2. GAs search from a population of points, not
a single point.
3. GAs use payoff (objective function)
information, not derivative or other auxiliary
knowledge.
4. GAs use probabilistic transition rules, not
deterministic rules.
Numerous implementations of GAs in the field of
robot path and trajectory planning have been carried
out in the last decade.
(Shiller and Dubowsky, 1991) proposed a method
to solve optimal trajectory with collision-free
problem. A small number of candidates of optimal
trajectory in a discretized workspace were searched
for. Then the trajectory is improved using the
gradient method. It is easy predicted that it takes too
much time all over the workspace. (Toogood, et al.,
1995) developed a GA to find collision-free
trajectories for 3R robot with specific start and goal
joint configurations, among known stationary
obstacles. (Monteiro and Madrid, 1999) have used
GA to plan the stages of the trajectory of a robot arm
called Jeca III. They have proposed the use of GA to
plan a trajectory with obstacle avoidance and to
implement joint space using classical GA. This is
achieved in two stages: initial positioning, which
locates the end-effector of robot arm in first point of
trajectory, and incremental positioning which moves
the end-effector to the next point of trajectory
This work is based on the algorithm built in the
previous paper (Abu-Dakka, et al., 2007) that utilized
the Adjacent Configuration concept with dynamic
compatibility (Valero, et al., 1997). (Abu-Dakka, et
al., 2007) constructed a Sequential Quadratic
Programming (SQP) algorithm to solve a nonlinear
optimization problem with nonlinear constrains to
obtain a space of adjacent configurations with
minimum time considering robot dynamics. In this
paper a genetic algorithm procedure is proposed to
solve the same problem, and make a comparison
between the two algorithms for the same
mathematical model. Subsequently this procedure
will be applied to Puma 560 robot, on which
examples of application will be illustrated in order to
enunciate conclusions.
In the proposed optimization problem, the
variables are the degrees of freedom of the robot and
the time of motion; where the constraints are the
proper of the actuators in addition to the prevention
of collisions avoidance that will be formulated in
Cartesian coordinates to avoid the conversion of the
obstacles in joint space.
(Steffen and Samarago, 1996) used polynomial
functions to represent the trajectory between two
configurations in the joint space. Continuity
conditions to guarantee a smooth motion for the
manipulator are used to spline lower degree
polynomial together. The trajectory between adjacent
configurations in this problem has been modelled
using three degree polynomial.


2. Problem Modelling

The workspace has been modelled in Cartesian
coordinates and descritized into a rectangular prism
with its axis parallel to the Cartesian reference
system. The end points of the diagonal represent the
initial and final position of the robot end-effector, see
(Abu-Dakka, et al., 2007, Valero, et al., 2005).

2.1. Robotic System Modelling
The robotic system has been modelled as function of
generalized coordinates and considered as a wired
model, see Fig. 1. This model consists of rigid
links joined together by the corresponding kinematics
joints. While, the workspace has been modelled using
Cartesian coordinates to facilitate the definition of the
whole collision avoidance process.
A set of significant point ( )
i
j
i
q o and interesting
points
( )
i
j
k
q P
have been identified to express the
robot configuration in the collision avoidance
detection.
The next figure shows an application example for
a robot Puma 560 with four significant points
( )
i
j
i
q o

and four interesting points ( )
i
j
k
q P .


Fig. 1. Robot Wired Model

The obstacles contained in the workspace are
modelled in Cartesian coordinates, using a
combination of three basic elements: spheres,
cylisphere, and quadrilateral planes since they are
computationally simple. Any type of obstacle can be
modelled using one or set of these elements. The
3
three basic elements of obstacles can be defined in
the space as follows:

Sphere E
k
( Q
ek
, r
ek
)
Q
ek
centre
r
ek
radius
Cylinder
CL
k
(Q
ck1
,
Q
ck2
, r
ck
)
Q
ck1
End 1
Q
ck2
End 2
r
ck
radius
Quadri-
lateral
plane
PR
k
(Q
pk1
,Q
pk2
,
Q
pk3
,e
pk
)
Q
pk1
vertex 1
Q
pk2
vertex 2
Q
pk3
vertex 3
e
pk
height

According to (Lozano-Prez and Wesley, 1979)
the process of growing obstacles technique has been
used in order to obtain the actual dimensions of the
robot. The robot kinematics has been modelled in the
same way as (Abu-Dakka, et al., 2007).

2.2. Adjacent Configurations Formulation
The adjacent configurations concept can be defined
as: The configuration
k
C is adjacent to a given
configuration
p
C if they are feasible and the three
following conditions are available (Valero, et al.,
2005, Valero, et al., 2000).
1. The end effector position
4
o corresponds to
a point of the discrete workspace and it is
one increment -less than the smallest
obstacle size- far from the corresponding
point of
p
C , so it is said that the two
configurations are neighbouring.
2. Verify the absence of obstacles between
adjacent configurations
k
C and
p
C . And also
verify that the distance between significant
points meet the following condition,

( )
,... 2 , 1 ; 3 , 2 , 1
min 2
= =
s
j i
r
j
k
i
p
i
o o
(1)
where
j
r is the minimum characteristic
dimension of the obstacles used to model the
workspace.
3.
k
C should be such as to minimize the
function:

( )
( )
( )
( )
|
|
|
|
|
.
|

\
|

+
+
+
+ =

=
=
3
1
2
2
2
6
1
2
2
j
z
p
j
k
j
y
p
j
k
j
x
p
j
k
j
i
k
i
f
i
p k
C
q q B t A C C
o o
o o
o o
(2)
where A, B, and C are coefficients.

2
t (3)
is the time needed to move the end effector
between adjacent configurations through a
third degree polynomial trajectory expressed
in the equation (6).
( )
2
k
i
f
i
q q (4)
are the joint coordinates, which aims to
minimize the difference between the joint
coordinates of the generated configuration
k
C and the joint coordinates of the goal
configuration of the robot, where
i
q is the
joint value.

( )
( )
( )
|
|
|
|
|
.
|

\
|

+
+

=
3
1
2
2
2
j
z
p
j
k
j
y
p
j
k
j
x
p
j
k
j
o o
o o
o o
(5)
expressed in Cartesian coordinates which
aim to minimize the distance between every
group of the first three significant points to
achieve the second condition of obtaining
adjacent configurations.
The motion of robot between two adjacent
configurations
( )
p
i
p
q C
and
( )
k
i
k
q C
has been expressed
in polynomial function as follows:

3 2
pk
pk
i pk
pk
i pk
pk
i
pk
i
pk
i
t d t c t b a q + + + = (6)
where
pk
t
is the minimum time necessary to go from
p
C to
k
C , satisfactory with the robots torque
constraints
i
max
t
and
i
min
t
. The verification of the
maximum and minimum torque in each actuator is
done by dividing the interval
pk
t
and solving the
corresponding inverse dynamic problem using the
recursive Newton-Euler formulation to obtain the
joint torques required for a given set of joint angles,
velocities, and accelerations. The torque or the force
exerted by the actuator at joint i could be obtained
from (Craig, 1989).

i
i T
i
i
i
Z n

= t (7)
where
i
i
Z

is a unit vector in Z direction in frame i,


and
i
n is the torque exerted on link i by link i 1.
For each guess of
pk
t
the coefficients of the
polynomial function can be obtained, where the
initial and final conditions are:
- For t = 0

( )
( ) 0 0
0
=
=
pk
i
p
i
pk
i
q
q q

(8)
- For t =
pk
t

( )
( ) 0 =
=
pk
pk
i
k
i pk
pk
i
t q
q t q

(9)
Requiring velocity zero at the ends doesnt fit in
motion conditions between the
p
C and
k
C as if they
were part of the pursued trajectory, but it facilitates
the comparison between the configurations that
constitute the discrete space since common initial and
goal velocity requirements are imposed.
The solution of the optimization problems is
obtained by using a genetic algorithm procedure. The
4
obtained solution guarantees the prevention of
collisions and the dynamic feasibility of the
movement.
To achieve the objective function which is
generating adjacent configurations from an existing
one with minimum time that allows the robot to move
between them, three types of constraints must be
considered. First, the torques can be provided by the
actuators of the robot, which are considered as
dynamic constraints and explained before. Second,
collision avoidance between robots links and
obstacles must be verified. Finally, the feasibility of
the robot configuration.

2.3. Workspace Modelling
In order to evaluate the influence of the objective
function in obtaining the geometrical solution for
adjacent configurations, some examples have been
solved using a Puma 560 robot (as an application
example) in different workspaces. In order to obtain
many adjacent configurations, the workspace is
modelled as a rectangular prism between the initial
i
C and final
f
C pursued trajectory (points
i
4
o and
f
4
o , see Fig. 2).


Fig. 2. Workspace generation

For more details please back to (Abu-Dakka, et
al., 2007, Valero, et al., 2005, Valero, et al., 1997,
Valero, et al., 2000).


3. GA Solution Methodology.

A genetic algorithm maintains population of
solutions or individuals throughout the search. It
initializes the population with a pool of potential
solutions to the problem and seeks to produce better
solutions by combining the better of the existing ones
through the use of genetic operators. Individuals are
selected at each iteration through a selection scheme
depends on the fitness or the objective function value
for each individual.
In this paper a steady state genetic algorithm
procedure is used; which use overlapping
populations. This means the ability to specify how
much of the population should be replaced in each
generation. Newly generated offspring are added to
the population, and then the worst individuals are
destroyed (so the new offspring may or may not
make it into the population, depending on whether
they are better than the worst in the population).
The individual or the chromosome represents the
robot configuration. Each one consists of seven
genes; six are the robot generalized coordinates
6 ,..., 2 , 1 ; = i q
i
and the seventh is the time needed to
move the robot end-effector between the adjacent
configurations.
A roulette-wheel selection method is applied to
select individuals for crossover and mutation. This
method based on the magnitude of the fitness score of
an individual relative to the rest of the population.
The higher score, the more likely an individual will
be selected.
The crossover operator defines the procedure for
generating a child from two parents. A single point
crossover used in this work.
The mutation operator defines the procedure for
mutating each genome. Swap mutation used in this
work.


4. Results & Comparison.

Many examples were applied in various cases. The
algorithm shows a high ability of convergence and
coverage comparing with the SQP algorithm, reaches
to 95-98% for cases without obstacles. The table
results (1) will focus on the average time needed to
move the robot between adjacent configurations and
the percentage of total number of convergence; which
means the total number of successful adjacent
configurations generated with respect to the total
trials of the algorithm in a specific workspace; which
depends on the complexity of the workspace. And
finally it will focus on the calculation time needed. In
(Tab. 1 below), Case 1, it will demonstrate the results
published in (Abu-Dakka, et al., 2007). On the other
hand, Case 2, will demonstrate the results obtained
from the GA procedure.

Tab. 1. Computational effort for the evaluation of the GA
Procedure
5

Case 1: SQP
Sphere Cylinder Plane
Avg. Time of
motion (sec)
1.4491 1.0244 1.3608
Avg. Time of
calculation (sec)
12.97 39.0 16.2
Percentage of
convergence
78.6% 58.6% 81.6%

Two
Spheres
Three
Spheres
Sphere and
cylinder
Avg. Time of
motion (sec)
1.4036 1.5220 1.3608
Avg. Time of
calculation (sec)
14.9 15.1 7.8
Percentage of
convergence
75.4% 79.7% 61.1%
Case 2: GA

Sphere Cylinder Plane
Avg. Time of
motion (sec)
0.3581 0.3478 0.3461
Avg. Time of
calculation (sec)
16.19 17.10 19.38
Percentage of
convergence
79.4% 78% 78%

Two
Spheres
Three
Spheres
Sphere and
cylinder
Avg. Time of
motion (sec)
0.3432 0.3436 0.3513
Avg. Time of
calculation (sec)
10.4 14.89 15.56
Percentage of
convergence
78% 84% 75%


5. Conclusion

In this paper an algorithm had been built to obtain
adjacent configurations, with consideration to the
dynamic behaviour of the robot in a complex
environment to facilitate the obtaining of trajectories
in the further work. The problem modelling in this
paper had been defined depending on the work done
by (Abu-Dakka, et al., 2007), where the robot was
defined in joint coordinates and the obstacles were
defined in Cartesian coordinates. This algorithm
optimized the time needed to move the robot between
adjacent configurations using genetic algorithm. A
comparison had been set between the SQP algorithm
built by (Abu-Dakka, et al., 2007) and the genetic
algorithm built in this work. In order to insure the
functionality of the algorithm; a huge workspace had
been built between the initial and final configuration
of the robot. This workspace had been discretized in
prism by starting ramification from the initial
position to reach the final or the goal position. As
shown in the example demonstrated above, the
average of the convergence is reasonable, which
means that the algorithm succeeded to occupy the
majority of intermediate points of prism.
Accordingly, this will facilitate the selection of
trajectories between the initial and final position of
the end effector of the robot depending on the data
saved in each adjacent configurations. Further more,
expressing the joints coordinates in 3rd degree
polynomial; makes the motion and the velocity
between adjacent configurations to be smooth.
According to the results shown above it will be
noted clearly that the GA algorithm succeeded to
minimize the time needed to move the robot between
the adjacent configurations to reach a values less than
30% of the values obtained from the SQP algorithm.
Also, as an advantage of using genetic algorithms,
it wasnt needed to find the derivatives of the
objective functions and constrains because the GA
treats directly with the variables and search for a
population of points not a single points. Moreover, in
the previous paper, the SQP algorithm faced a
sensibility problem of the initial guess of the
variables, which disappeared in the GA procedure.


6. Acknowledgement

This paper has been possible thanks to the funding of
Spanish Education and Science Ministry by means of
the Researching and Technologic Development
Project DPI2005-08732-C02-01 which is also
supported by FEDER funds.


7. References

F. Abu-Dakka, F. J. Valero, A. Tubaileh, and F.
Rubio, "Obtaining Adjacent Configurations
with Minimum Time Considering Robot
Dynamics," Proc. The 12th World Congress in
Mechanism and Machine Science, Besanon,
France, 2007.
J. E. Bobrow, S. Dubowsky, and J. S. Gibson, "Time-
Optimal Control of Robotic Manipulators
Along Specified Paths," International Journal
of Robotics Research, vol. 4, pp. 3-17, 1985.
J. Kieffer, A. J. Cahill, and M. R. James, "Robust and
Accurate Time-Optimal Path-Tracking
Control for Robot Manipulators," IEEE
Transactions on Robotics and Automation,
vol. 13, pp. 880-890, 1997.
F. J. Valero, "Planificacin de Trayectorias Libres de
Obstculos para un Manipulador Plano," in
Departamento Ingeniera Mecnica y de
Materiales. Valencia, Spain: Universidad
Politcnica de Valencia, 1990.
F. J. Valero, V. Mata, and A. Besa, "Trajectory
planning in workspaces with obstacles taking
into account the dynamic robot behaviour,"
Mechanism and Machine Theory, vol. 41, pp.
525-536, 2006.
F. Valero, V. Mata, and A. Besa, "Trajectory
planning in workspaces with obstacles taking
into account the dynamic robot behaviour,"
6
Mechanism and Machine Theory, vol. 41, pp.
525-536, 2005.
J. H. Holland, Adaptation in Natural and Artificial
Systems: The University of Michigan Press,
1975.
Z. Shiller and S. Dubowsky, "On computing the
global time-optimal motions of robotic
manipulators in the presence of obstacles,"
IEEE Transactions on Robotics and
Automation, vol. 7, pp. 785-797, 1991.
R. Toogood, H. Hao, and C. Wong, "Robot path
planning using genetic algorithms," Proc.
IEEE International Conference on Systems,
Man and Cybernetics, Vancouver, BC,
Canada, 1995, 489-494.
D. Monteiro and M. Madrid, "Planning of Robot
Trajectories with Genetic Algorithms,"
Proceedings of the First Workshop on Robot
Motion and Control, pp. pp. 223-228, 1999.
F. Valero, V. Mata, J. I. Cuadrado, and M. Ceccarelli,
"A formulation for path planning of
manipulators in complex environments by
using adjacent configurations," Advanced
Robotics, vol. 11, pp. 33-56, 1997.
V. J. Steffen and S. F. P. Samarago, "Optimization
Techniques for off-line Trajectories Planning
of Robot Manipulators," Proc. ICONE--
Second International Conference on Non-
linear Dynamics, Chaos, Control and their
Applications in Engineering Sciences, So
Pedro, S.P. Brazil, 1996.
T. Lozano-Prez and M. A. Wesley, "An Algorithm
for Planning Collision-Free Paths Among
Polyhedral Obstacles," Communications of
ACM, vol. 22, pp. 560-570, 1979.
F. Valero, V. Mata, and M. Ceccarelli, "Path
planning in complex environments for
industrial robots with additional degrees of
freedom," COURSES AND LECTURES-
INTERNATIONAL CENTRE FOR
MECHANICAL SCIENCES, pp. 431-438,
2000.
J. J. Craig, Introduction to Robotics Mechanics and
Control, Second ed: Addison-Wesley
Publishing Company, 1989.

You might also like