2010 - Multi Criteria Optimization Manipulator Trajectory Planning - Solteiro
2010 - Multi Criteria Optimization Manipulator Trajectory Planning - Solteiro
0
27
Multi-Criteria Optimization
Manipulator Trajectory Planning
E. J. Solteiro Pires and P. B. de Moura Oliveira
Universidade de Trás-os-Montes e Alto Douro
epires,[email protected]
Portugal
J. A. Tenreiro Machado
Instituto Superior de Engenharia do Porto
[email protected]
Portugal
1. Introduction
In the last twenty years genetic algorithms (GAs) were applied in a plethora of fields such as: control,
system identification, robotics, planning and scheduling, image processing, and pattern and speech
recognition (Bäck et al., 1997). In robotics the problems of trajectory planning, collision avoidance
and manipulator structure design considering a single criteria has been solved using several techniques
(Alander, 2003).
Most engineering applications require the optimization of several criteria simultaneously. Often the
problems are complex, include discrete and continuous variables and there is no prior knowledge about
the search space. These kind of problems are very more complex, since they consider multiple design
criteria simultaneously within the optimization procedure. This is known as a multi-criteria (or multi-
objective) optimization, that has been addressed successfully through GAs (Deb, 2001). The overall
aim of multi-criteria evolutionary algorithms is to achieve a set of non-dominated optimal solutions
known as Pareto front. At the end of the optimization procedure, instead of a single optimal (or near
optimal) solution, the decision maker can select a solution from the Pareto front. Some of the key issues
in multi-criteria GAs are: i) the number of objectives, ii) to obtain a Pareto front as wide as possible
and iii) to achieve a Pareto front uniformly spread.
Indeed, multi-objective techniques using GAs have been increasing in relevance as a research area.
In 1989, Goldberg suggested the use of a GA to solve multi-objective problems and since then other
researchers have been developing new methods, such as the multi-objective genetic algorithm (MOGA)
(Fonseca & Fleming, 1995), the non-dominated sorted genetic algorithm (NSGA) (Deb, 2001), and
the niched Pareto genetic algorithm (NPGA) (Horn et al., 1994), among several other variants (Coello,
1998).
In this work the trajectory planning problem considers: i) robots with 2 and 3 degrees of freedom (dof ),
ii) the inclusion of obstacles in the workspace and iii) up to five criteria that are used to qualify the
evolving trajectory, namely the: joint traveling distance, joint velocity, end effector / Cartesian distance,
end effector / Cartesian velocity and energy involved. These criteria are used to minimize the joint
504 Robot Manipulators, New Achievements
and end effector traveled distance, trajectory ripple and energy required by the manipulator to reach at
destination point.
Bearing this ideas in mind, the paper addresses the planning of robot trajectories, meaning the devel-
opment of an algorithm to find a continuous motion that takes the manipulator from a given starting
configuration up to a desired end position without colliding with any obstacle in the workspace.
The chapter is organized as follows. Section 2 describes the trajectory planning and several approaches
proposed in the literature. Section 3 formulates the problem, namely the representation adopted to
solve the trajectory planning and the objectives considered in the optimization. Section 4 studies the
algorithm convergence. Section 5 studies a 2R manipulator (i.e., a robot with two rotational joints/links)
when the optimization trajectory considers two and five objectives. Sections 6 and 7 show the results for
the 3R redundant manipulator with five goals and for other complementary experiments are described,
respectively. Finally, section 8 draws the main conclusions.
2. Trajectory planning
Trajectory planning for robotic manipulators is the process of creating trajectories free of collisions
allowing the manipulators to perform the required task. The robotic planners substitute the human
operator to specify explicitly the trajectory. Consequently, the operator is free to focus his attention on
the task instead of worrying about the robot movement. Therefore, the operator only needs to specify
the start and the end path points, leaving the planner to generate the appropriate trajectory that the
manipulator must perform.
The trajectories are made by successive displacements of the robotic end effector and a trajectory can
be seen as a sequence of points in which the end effector must pass. As a result of the end effector
movement over the discrete points, it is obtained a continuous trajectory (Fig. 1). Optimizing the robot
trajectory involves the identification of optimal points and the corresponding intermediate positions.
Nevertheless, the trajectory optimization is difficult due to the non-linearity dynamics and the dimension
of the trajectory search space.
The trajectory planning can be implemented using either the direct or the inverse kinematics. When it is
adopted the direct kinematic, the problem is directly solved in the joint space. On the other hand, when
the problem is solved through the inverse kinematics, it is determined the trajectory of the manipulator
end effector in the operational space. Then, the values of the joints are evaluated using the inverse
kinematics. The resulting values of the joints variables are then used by the planner to form the final
trajectory. However, when the inverse kinematics is considered, due to the existence of singularities,
some problems may arise (Duarte, 2002), such as:
• The mobility of the manipulator is reduced and it way be not possible to impose certain body
movements to the end effector;
• The inverse kinematics problem can have multiple solutions;
• In the neighborhood of the kinematic singularities low speeds in operational space may require
high speeds in joint space.
In order to solve the planning problem it is necessary to model the trajectory. Therefore, the represen-
tation of a manipulator trajectory can be seen as a string representing all the joint positions between
the initial and final robot configurations. The trajectory is determined in order to satisfy some specifi-
cations with the best performance. Best performance may have a different meaning such as minimum
energy consumption, trajectory duration, singularities avoidance, etc. Therefore, the trajectory opti-
mization for robotic manipulators is a problem involving the use of multiple criteria. The resolution
of such problems can benefit from the multi-objective optimization, particularly when the objectives
Multi-Criteria Optimization Manipulator Trajectory Planning 505
are conflictous. This means that an improvement of one criterion leads, necessarily, to the degrada-
tion of another one. In these cases, the optimal compromise between them is possible considering
the concepts of non-dominance theory proposed by Pareto and successfully integrated in evolutionary
multi-objective (EMO). The major disadvantage of using EMO is the increasing of the computational
time with the number of objectives under analysis, which is progressively reduced with advent of faster
processors. This makes the techniques proposed in this chapter to have viability in the context of indus-
trial applications.
0.5
y [m]
0
A
− 0.5
in minimizing an aggregate function including the distance traveled and the energy required to perform
the task. Luo and Wei (2004) addressed the problem for a 3R manipulator based on a biological immune
system. The problem was reduced to one objective, aggregating all the criteria together, and to one
parameter (joint) making all the other joints dependent of that variable.
GAs can be used in trajectory generation to determine the intermediate points of the polynomial that
describes the manipulator movement. In this kind of application the velocities and accelerations are
considered null in the extreme points. Wei-Min and Yu-Geng (1996) developed a method for the 2R
and 3R manipulators incorporating kinematic, dynamical and control constraints. The method uses
polynomials of 4th and 5th degree and optimizing the time duration of the trajectory. Wang and Zalzala
(1996) also developed an algorithm for an industrial robot to provide a short travel time duration. The
algorithm divided the joint space through a grid, using a 6th degree polynomial and a binary GA with
heuristic search techniques. Another application was proposed by Tian and Collins (2004), adopting
a binary GA and a cubic polynomial for the trajectory generation of a 2R manipulator in a workspace
containing point obstacles.
GAs are also applied in cooperative manipulator systems that is having more than one manipulator oper-
ating in the same workspace. Rana and Zazala (1996) proposed a technique evolving two manipulators.
This algorithm minimized the trajectory duration while avoiding collisions between the manipulators.
The planning was carried out in the joint space and the trajectory was represented as a string of via-
points connected through cubic splines.
Another method based on a hybrid EA was described by Ridao et al. (2001). The GA had to determine
the sequence of synchronization points where the length of the path is minimal. For this purpose, the
algorithm used predetermined manipulators paths (given by other algorithms like local search). Ali et
al. (2002) proposed a method, in a three-dimensional space, for two 2R manipulators which consisted
in minimizing the trajectory distance without colliding with obstacles. Another application, where the
objective is the minimization of the energy required by the manipulator to perform the trajectory, was
proposed by Garg and Kumar (2001; 2002) using both GAs and simulated annealing.
In the trajectory planning there are some approaches that optimize independently the objectives. Ort-
mann (2001) presented a multi-criteria scheme for a manipulator where the workspace has one obstacle.
The algorithm tries to find multiple joint positions of the trajectory.
Chen and Zalzala (1997) proposed a GA to generate the position and the configuration of a mobile
manipulator. In this report the inverse kinematics optimizes the least torque norm, the manipulability,
the torque distribution and the obstacle avoidance.
In table 1 are depicted the main differences of the mentioned works. The column ‘Kinematics’ indicates
if the work solves the planning trough the direct (D) or the inverse (I) kinematics. The manipulator
type and the number of obstacles are described in the next columns. The column ‘Objective’ specifies
the criteria used in the optimization. The space dimension and the information if the algorithm uses
cooperative techniques are described in next columns. Column eight indicates if exists more than one
manipulator, and its number, in the workspace. ‘Dynamics’ and ‘Polynomial interpolation’ indicates if
the algorithm uses the dynamic equations and polynomial functions, or splines, respectively. Finally,
the last two columns indicate if the algorithm adopts immune systems, hybrid GAs, and if it incorporate
a mobile base.
3. Problem description
This work considers robotic manipulators that are required to move between two configurations taking
into consideration several objectives. The objectives considered in this work are: the joint distance
(Oq), the Cartesian / gripper distance (O p), the joint ripple (Oq̇), the Cartesian / gripper ripple (O ṗ) and
the energy required by the manipulator to make the movement (OEa ). Thus, it is intended to determine
Multi-Criteria Optimization Manipulator Trajectory Planning 507
508 Robot Manipulators, New Achievements
a set of non-dominated solutions from the Pareto optimal front. The final solution is then chosen by the
decision maker taking into account the commitment of the objectives that he finds more appropriate.
Two (see figure 2) and three dof planar manipulators are used in the experiments. However, this algo-
rithm can be extended to hyper-redundant robots. The rotational joint of each link, is free to rotate 2π
rad. To test a possible manipulator / obstacle collision, the end effector structure is analyzed to verify if
it is inside of any obstacle.
y ( x 0, y 0 )
l2
q2
g
l1
q1
0 x
The path for a iR manipulator (i = 2, 3), at generation T, is directly encoded as a string in the joint space
to be used by the GA. This string is represented by expression (1), where i represents the number of dof
and ∆t the sampling time between two consecutive configurations. Therefore, one string is codified as:
( ∆t,T ) ( ∆t,T ) ( 2∆t,T ) ( 2∆t,T ) (( n − 2) ∆t,T ) (( n − 2) ∆t,T )
[{ q1 , q2 } , { q1 , q2 } , . . . , { q1 , q2 }] (1)
( j∆t,0)
where the joints values ql (j = 1, . . . ,n − 2; l = 1, . . . ,i) are randomly initialized in the range
] − π , + π ] rad. The robot movement is described by n = 8 configurations. However, the initial
and final configurations are not encoded into the string because they remain unchanged throughout the
trajectory search. Without losing generality, for simplicity, it is adopted a normalized time of ∆t =
0.1 s, but it is always possible to perform a time re-scaling.
Five indices { Oq, Oq̇, O p, O ṗ, OEa } presented in (2) quantify the qualify of the evolving trajectory
robotic manipulators. The indices represents the joint distance, Oq, the joint ripple, Oq̇, the Cartesian /
gripper distance and ripple (Op and O ṗ), and the energy, OEa .
n i
( j∆t,T ) 2
Oq = ∑∑ q̇l (2a)
j= 1 l = 1
n i
( j∆t,T ) 2
Oq̇ = ∑∑ q̈l (2b)
j= 1 l = 1
n 2
Op = ∑d pj , pj − 1 (2c)
j= 2
n 2
O ṗ = ∑ d pj , pj − 1 − d pj − 1, pj − 2 (2d)
j= 3
Multi-Criteria Optimization Manipulator Trajectory Planning 509
n i
( j∆t,T )
OEa = ( n − 1) T Pa = ∑ ∑| τ l .∆ql | (2e)
j= 1 l = 1
The function OEa evaluates the average mechanical energy during the trajectory whereas is assumed that
power regeneration is not available by motors doing negative work, that is, by taking the absolute value
of the power (Silva & Tenreiro Machado, 1999). The index i specifies the total number of manipulator
joints. These criteria are minimized by the planner to find the non-dominated front. Before evaluating
(( j + 1) ∆t,T ) ( j∆t,T )
any solution, in order to remove virtual jumps, all the values such that | qi − qi | > π are
readjusted, by adding or removing a multiple value of 2π in the strings.
The joint distance Oq represented in (2a) is used to minimize the manipulator joints traveling distance.
In fact, for a function y = g( x ) the curve length is defined by equation (3) and, consequently, to
minimize the curve length distance the simplified expression (4) is adopted.
f (i)
f ( k) = (5a)
n ck
dk,j α
1− , dk,j < σ
dσ ( dk,j ) = σ (5c)
0, dk,j ≥ σ
4. Algorithm convergence
This section analysis the convergence of the algorithm to the locals fronts when the trajectory is opti-
mized. Several experiments consisting in moving a 2R manipulator from the point A { x0, y0} =
{ 1.2,− 0.3} up to the point B { x1, y1 } = {− 0.5, 1.4} are performed. The optimization considers
the angular and the Cartesian end effector distance criteria, while the initial and final configurations are
determined through the inverse kinematics. The simulations adopt the parameters (defined in advance):
popdim = 300 population solutions, during Tt = 1500generations, and probabilities of crossover and
mutation of pc = 0.6 and pm = 0.05, respectively. Each link has a length of l = 1 m and mass of
m = 1 kg.
510 Robot Manipulators, New Achievements
The algorithm converges to the fronts illustrated in Fig. 3. One of the fronts is obtained when the planar
manipulator moves around its base in a counterclockwise direction (Figure 4(a)). The corresponding
optimal Pareto front is shown in Fig. 3(a) as f P and is expanded separately illustrated in Fig. 3(b). The
other local front is obtained when the manipulator circumvents the base in the clockwise direction (Fig.
4(b)). The front is denoted by fl in Fig. 3(a) and is represented separately in Fig. 3(c).
Fig. 3(a) depicts the initial population Ipop , giving rise to the Pareto front fP . In figure it is also
illustrated the local front obtained from another experiment. In 80.1%of the tests carried out (in a set
of 21 simulations) the algorithm converges to the optimal Pareto front fP . In the rest of the cases the
algorithm converges to the local front fl .
2500
120 a
110
2000
fp
100
90
b
1500 80
70 90 110 130 150
fq
1000
400 a
300
500
fp
200
fl I pop
0 fP 100
b
200 400 600 800 1000
0 2000 4000 6000 8000 10000 12000 14000 fq
fq (c) Local front fl
(a) Pareto front ( fP ), local front ( fl ) and initial population (Ipop )
One of the problems associated with the use of EAs, in the context of optimization problems, is called
premature convergence, which consists in the incapacity of the population to converge the global op-
timal (Bäck, 1996). This phenomenon arises when the objective function has an local optimal with a
large base location or the local optimal is in a small spectrum. Therefore, the relationship between the
convergence to the global optimum and the geometry function is very important. If the population of
the EA is ‘trapped’ in a large local geometry, then it is difficult for the variation operators to produce an
offspring with better performance than its parents. In the second case, if the global optimum is located
in a geometry relatively small and the population did not found it until the moment, then variation op-
erators have a low probability of producing descendants in these regions is very low. This happens in
19.9%of the cases, when the algorithm converges to local front getting trapped in it. Indeed, the opti-
mal front solutions are so different from Pareto front, that operators have an extremely low probability
to transform a solution of the local front in a solution of Pareto front.
In Fig. 5 is represented the configuration of the robotic manipulator and the joints displacement for
extreme solutions of the Pareto optimal front, that are represented by solutions ‘a’ and ‘b’ in Fig. 3(b).
Multi-Criteria Optimization Manipulator Trajectory Planning 511
B B
1 1
0.5
0.5
y [m]
y [m]
0
0 A
A − 0.5
− 0.5
−1
− 1 − 0.5 0 0.5 1 1.5 − 1.5 − 1 − 0.5 0 0.5 1 1.5
x [m] x [m]
(a) A trajectory of Pareto optimal front fP (b) A trajectory of local (non-optimal) front fl
4
B
1 q̇1 ( t )
3
2
1.5 q2 ( t )
q̇i ( t ) [rad/s]
0.5 2
y [m]
qi ( t ) [rad]
0 0.5 1
0
A q1 ( t )
− 0.5 − 0.5 0 q̇2 ( t )
−1
− 1.5 −1
− 1 − 0.5 0 0.5 1 1.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
x [m] t [s] t [s]
(a) Successive configurations, solu- (b) Joint position trajectory vs. (c) Joint time evolution vs. time, so-
tion a of Fig. 3(b)) time, solution a of Fig. 3(b) lution a of Fig. 3(b)
6
B q̇1 ( t )
1 4
3
2
q̇i ( t ) [rad/s]
0.5 2 q2 ( t ) q̇2 ( t )
y [m]
0
qi ( t ) [rad]
1
0
A −2
0
− 0.5 q1 ( t ) −4
−1
−2 −6
− 1 − 0.5 0 0.5 1 1.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
x [m] t [s] t [s]
(d) Successive configurations, solu- (e) Joint position trajectory vs. (f) Joint time evolution vs. time, so-
tion b of Fig. 3(b) time, solution a of Fig. 3(b) lution b of Fig. 3(b)
Fig. 5. Trajectories of optimal the Pareto front for the O( q, p) optimization and the 2R manipulator
Fig. 12 illustrates the projections of the 5D front into the distinct 2D planes. In each plane, is also
plotted the 2D non-dominated front obtained when the corresponding optimization is executed. It can
be observed that the 5D optimization does not produce results as good as the 2D optimization. This is
due to the increasing of the search space, reducing the ratio between the population size and the search
space dimension. The distance between the fronts 2D, 3D, 4D and 5D increases with the number of
objectives.
Oq Oq̇ OEa Op
22
20 Oq̇
18
16
14
79 81 83 85
4500 4500
3500 3500
2500 2500
130 200
120
120 180
110 160
110
140
100 100
90 90
120 Op
100
80 80 80
70 90 110 130 150 10 20 30 40 50 60 400 800 1200 1600 2000
30 24
20 160
26
120 20
18
22
80
18 16
40
16 O ṗ
14 14 0 12
80 100 120 140 10 20 30 40 50 60 70 500 1500 2500 82 84 86 88 90
(g) O(q, ṗ) (h) O(q̇, ṗ) (i) O(Ea, ṗ) (j) O(p, ṗ)
Fig. 6. The 2D Pareto optimal front for the ten cases: O( q, q̇) , O( q, Ea) , O( q, p) , O( q, ṗ) , O( q̇, Ea) ,
O( q̇, p) , O( q̇, ṗ) , O( Ea, p) , O( Ea, ṗ) and O( p, ṗ) and the 2R manipulator
5
B
1 4
q̇1 ( t )
3
q̇i ( t ) [rad/s]
0.5
y [m]
2
0
1
A
− 0.5 0 q̇2 ( t )
−1
− 1 − 0.5 0 0.5 1 1.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
x [m] t [s]
(a) Successive 2R robot configu- (b) joint time evolution vs. time
rations
Fig. 7. The solution sq̇ min of the O(q, q̇) optimization for the 2R manipulator
514 Robot Manipulators, New Achievements
300
B
1 250
200 q2
0.5
Ea [J]
y [m]
150
0
100
A
− 0.5 50 q1
0
− 1 − 0.5 0.5 1 1.5 0 0 0.2 0.4 0.6 0.8 1
x [m] t [s]
(a) Successive 2R robot configurations (b) Energy required Ea
Fig. 8. The solution sEa min of the O( q, Ea) optimization for the 2R manipulator
B 3
1
2.5
0.5 2
vy [m/s]
y [m]
1.5
0
A 1
− 0.5 0.5
0
− 1 − 0.5 0.5 1 1.5 0 −3 −2 −1 0
x [m] v x [m/s]
(a) Successive 2R robot configurations (b) Cartesian time evolution vx vs. vy
Fig. 9. The solution sṗ min of the O( q, ṗ) optimization for the 2R manipulator
Normalized objective value
Normalized objective value
1 1 s1
s3
0.8 0.8
0.6 0.6
s2
0.4 0.4
s5
0.2 0.2
s4
0 0
Oq Oq̇ O Ea Op O ṗ Oq
O Ea Op Oq̇ O ṗ
Objectives Objectives
(a) Population tradeoffs (b) Best solution of one objective tradeoffs
Fig. 10. Value path method representation of the Oq, Oq̇, OEa , O p and O ṗ objectives for the 2R
manipulator
Multi-Criteria Optimization Manipulator Trajectory Planning 515
1.5 s1 3
s2
s3 2.8
1
s4 s3
s5 2.6
0.5 s4
2.4
q1 ( t ) [rad]
q2 ( t ) [rad]
0 2.2 s5
2
− 0.5 s2
1.8
−1
1.6 s1
− 1.5 1.4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
t [s] t [ s]
(a) Joint 1 position vs. time (b) Joint 2 position vs. time
6 4
3
5
2 s5
s3
1
4
s2
q̇1 ( t ) [rad/s]
s1 q̇2 ( t ) [rad/s] 0
s1
3 −1
s2 s3
−2
2
−3
s5 s4
−4
1
s4 −5
0 −6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
t [s] t [s]
(c) Joint 1 time evolution vs. time (d) Joint 2 time evolution vs. time
1.4
4
1.2
3 s2
1 s5
0.8 s3 s1
s4
2 s5
v y [m/s]
s4
y [m]
0.6 s2
0.4 1
0.2
0 s1
0
− 0.2 s3
− 0.5 0 0.5 1 −1 −5 −4 −3 −2 −1 0 1
x [m] v x [m/s]
3500 160
s1
3000 140
s1
120
2500
100 s3
2000
Ea
Ea
80
1500
60
s2
1000 s5 s5
40 s2
500 s4
20
s4
s3
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
t [s] t [s]
(g) Joint 1 energy required vs. time (h) Joint 2 energy required vs. time
Fig. 11. Behavior of the best solutions obtained for the 2R robot with 5D optimization
516 Robot Manipulators, New Achievements
Oq Oq̇ OEa Op
90
70
50
30 2D Oq̇
5D
10
60 100 140 180
4500 4500 2D
5D
3500 3500
2500 2500
1500 2D 1500
OEa
5D
500 500
60 100 140 180 0 50 100 150
130 200
120 2D 2D
120 5D 5D
110 160
110
100 100
90 2D 90
120 Op
5D
80 80 80
60 100 140 180 0 20 40 60 80 120 0 2000 4000
60 60 90 60
2D 2D 2D 2D
50 5D 50 5D 70 5D 50 5D
40 40 40
50
30 30 30
20 20 30 20
O ṗ
10 10 10 10
50 100 150 200 0 40 80 120 0 2000 4000 80 90 100 110 120 130
(g) Oq × O ṗ plane (h) Oq̇ × O ṗ plane (i) OEa × O ṗ plane (j) O p × O ṗ plane
Fig. 12. Projections of the 5D Pareto optimal front for the 2R manipulator
Normalized objective value
1 1
0.8 0.8
0.6 0.6 s2
0.4 0.4 s3
0.2 0.2 s4
s s5
0 0 1
Oq Oq̇ O Ea O p O ṗ Oq Oq̇ O Ea O p O ṗ
Objectives Objectives
(a) Population tradeoffs (b) Best solutions tradeoffs
Fig. 13. Value path method representation of the Oq, Oq̇, OEa , O p and O ṗ objectives for the 3R
manipulator
Multi-Criteria Optimization Manipulator Trajectory Planning 517
Fig. 14 shows the projections of 5D front into the different 2D planes. It is apparent that the solutions
have a good distribution across the search space. From the figures it can be observed two optimal fronts.
This ‘discontinuity’, of the optimal solutions, is due to all optimal solutions are not obtained when the
manipulator moves in same direction.
Oq Oq̇ OEa Op
800
600
400
200 Oq̇
0
100 300 500 700
× 104 × 104
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
OEa
0 0
100 300 500 700 0 200 400 600 800
Fig. 14. The 5D Pareto optimal front projection for the 3R manipulator
518 Robot Manipulators, New Achievements
Fig. 15 presents the best solutions for each objective. Most of them are obtained when the manipulator
moves in the counterclockwise direction. However, the solution with lower Oq̇ results from manipulator
clockwise movement.
B B B
1 1 1
y [m]
y [m]
0
0 A 0
A − 0.5 A
− 0.5 − 0.5
−1
− 0.5 0 0.5 1 1.5 − 1 − 0.5 0 0.5 1 1.5 − 0.5 0 0.5 1 1.5
x [m] x [m] x [m]
(a) Successive configurations for (b) Successive configurations for (c) Successive configurations for
the achieved best solution in the the achieved best solution in the the achieved best solution in the
viewpoint of the joint distance (Oq) viewpoint of the joint ripple (Oq̇) viewpoint of the energy (OEa) ob-
objective objective jective
B B
1 1
0.5 0.5
y [m]
y [m]
0 0
A A
− 0.5 − 0.5
Fig. 15. Results of the best solutions for 3R manipulator with one obstacle in the workspace, considering
the five objectives optimization criteria
7. Additional experiments
In this section two tests are presented. The first experiment involves a 2R manipulator and three ob-
jectives. This simulation intends to emphasize the form of the optimal Pareto front for the 3D case.
The second experiment involves a 3R manipulator and one obstacle, in order to study the effect of the
obstacle in the non-dominated front.
During the experiments a 600 population elements is used over a total of 30000 generations. The other
parameters remain the same as those earlier sections.
Fig. 16(a) depicts the results for the 2R manipulator when considering three objectives: the joint dis-
tance, the Cartesian distance and the energy required by the end effector to perform the task. The
obtained front is continuous and has an ‘Y’ shape.
Figures 16(b)–16(d) show the Pareto optimal front projected into the different planes: { q, p} , { q, Ea}
and { p, Ea} . The chats are also overlapped the solutions obtained through the optimizations considering
the two objectives under analysis. Comparing the results, it can be concluded that the algorithm with
three objectives converges for the optimal front similarly to the Pareto front obtained with the two
corresponding objectives.
Multi-Criteria Optimization Manipulator Trajectory Planning 519
160
O(q,p,Ea)
150 O(q,p)
5000 140
4000 130
3000
120
Op
O Ea
2000
1000 110
0 100
160
140 200 90
120 150
100 100
80 50 80
Op Oq 60 80 100 120 140 160 180 200
Oq
(a) Pareto optimal front, O ( p, q, Ea) (b) Optimization projection in { Oq, O p } plane
5000 5000
4500 O(q,p,Ea) 4500 O(q,p,Ea)
4000
O(q,Ea)
4000 O(p,Ea)
3500 3500
3000
3000
O Ea
O Ea
2500
2500
2000
2000 1500
1500 1000
1000 500
500 0
60 80 100 120 140 160 180 200 80 100 120 140 160 180 200
Oq Op
(c) Optimization projection in { Oq, O Ea } plane (d) Optimization projection in { Op, O Ea } plane
Fig. 16. The Pareto optimal front and its projections for the 2R manipulator and three objectives
In Fig. 17, a 3R manipulator is considered to move between two configurations A { q1, q2, q3} =
{− 1.15, 1.81,− 0.50} and B { q1, q2, q3} = { 1.18, 1.47, 0.50 } . The manipulator has link length
l i = 1 m length and mass mi = 1 kg of mass, for i = { 1, 2, 3} . The results concern environment with
and without obstacles. The obstacle is a circle with center at c = ( 2.0, 2.0) and radius ρ = 1. In Fig.
17(c) are represented the optimal Pareto fronts f1 and f 2 for the workspace with and without obstacles,
respectively. Thus, when the obstacle is introduced the optimal Pareto front is reduced. Consequently,
the environment with obstacles does not lead to values with a cost as low as in the case of no obstacles,
as can be seen by Figures 17(a), 17(b) and 17(c). At the other end of the front, the resulting solutions ‘b’
and ‘d’ are almost identical, therefore, it can be concluded that the optimization of the gripper Cartesian
distance is not affected by inclusion of the obstacle in the workspace.
8. Conclusions
This chapter addresses the planning of robotic trajectories in a multiobjective optimization perspective,
for finding a set of solutions belonging to the Pareto optimal front. The results demonstrate clearly that
the algorithm finds the Pareto front or at least one very close.
Additionally, it is concluded that the algorithm leads to solutions with a good distribution along the
front. The presence of obstacles in the environment can affect the optimal Pareto front but is not an
520 Robot Manipulators, New Achievements
3
2.5 2.5
2 2
1.5 1.5
B B
y [m]
y [m]
1 1
0.5 0.5
0 A 0 A
− 0.5 − 0.5
−1 1 0 2 3 −1 1 0 2 3
x [m] x [m]
(a) Successive configurations, solution a (b) Successive configurations, solution c
400 3
a f 1 = cd
380 2.5
360 f 2 = ab
2
340
1.5
320 c B
y [m]
Op
1
300
280 0.5
260 0 A
240 b − 0.5
d
220
50
100 150 200 250 300 350 400 −1 1 0 2 3
Oq x [m]
(c) Pareto optimal front for O( q, p) : f1 = cd (workspace (d) Successive configurations, solution b
with one obstacle), f2 = ab(workspace with one obstacle)
2 2
q2( t )
1.5 q2 ( t ) 1.5
1 1
0.5 q3( t )
qi ( t ) [rad]
qi ( t ) [rad]
0.5
q3 ( t ) 0
0
− 0.5
− 0.5 −1 q1 ( t )
q1 ( t )
−1 − 1.5
− 1.5 −2
0 0.1 0.2
0.3 0.4 0.5 0.6 0.7 0 0.1 0.20.3 0.4 0.5 0.6 0.7
t [s] t [s]
(e) Joint position trajectory, solution a (f) Joint position trajectory, solution b
Fig. 17. Pareto optimal front, successive configurations and joint trajectory for the 3R manipulator
Multi-Criteria Optimization Manipulator Trajectory Planning 521
obstacle to solve the problem. When it is increased the number of objectives, the burden and complexity
of the algorithm increases and the quality of final solutions decreases. This disadvantage can be reduced
by increasing population and the number of generations. However, the final population considering
only the 2D optimization may include dominated solutions in the 5D optimization point of view. The
proposed method helps the decision maker in choosing the best solution since the method gives a set of
representative solutions belonging to the non-dominated front.
9. Acknowledgment
The authors would like to acknowledge the GECAD unit.
10. References
Alander, J. (2003). An indexed bibliography of genetic algorithms in robotics, Technical report, De-
partment of Electrical Engineering and Production Economics, University of Vaasa.
Ali, A. D. M. S., Babu, N. R. & Varghese, K. (2002). Offline path planning of cooperative manipu-
lators using co-evolutionary genetic algorithm, Proceedings of International Symposium on
Automation and Robotics in Construction, 19th (ISARC), National Institute of Standards and
Technology, Gaithersburg, Maryland, pp. 415–424.
Bäck, T. (1996). Evolutionary Algorithms in Theory and Practice: Evolutionary Strategies, Evolutionay
Programming, Genetic Algorithms, Oxford University Press, Oxford, New York.
Bäck, T., Hammel, U. & Schwefel, H.-P. (1997). Evolutionary computation: Comments on the history
and current state, IEEE Trans. on Evolutionary Computation 1(1): 3–17.
Chen, M. & Zalzala, A. M. S. (1997). A genetic approach to motion planning of redundant mobile ma-
nipulator systems considering safety and configuration, Journal Robotic Systems 14(7): 529–
544.
Coello, C. A. C. (1998). A comprehensive survey of evolutionary-based multiobjective optimization
techniques, Knowledge and Information Systems 1(3): 269–308.
Dae Lee, Y., Hee Lee, B. & Gyoo Kim, H. (1999). An evolutionary approach for time optimal trajectory
planning of a robotic manipulator, Information Sciences 113: 245–260.
Davidor, Y. (1991). Genetic Algorithms and Robotics, a Heuristic Strategy for Optimization, number 1
in Series in Robotics and Automated Systems, World Scientific Publishing Co. Pte Ltd.
Deb, K. (2001). Multi-Objective Optimization Using Evolutionary Algorithms, John Wiley & Sons,
LTD.
Doyle, A. B. & Jones, D. (1996). Robot path planning with genetic algorithms, 2nd Portuguese Conf.
on Automatic Control, Porto, Potugal, pp. 312–318.
Duarte, F. B. M. (2002). Anlise de Robots Redundantes, Phd, Faculdade de Engenharia da Universi-
dade do Porto.
Fonseca, C. M. & Fleming, P. J. (1995). An overview of evolutionary algorithms in multi-objective
optimization, Evolutionary Computation Journal 3(1): 1–16.
Garg, D. P. & Kumar, M. (2001). Optimal path planning and torque minimization via genetic algo-
rithm applied to cooperating robotic manipulators, IMECE – Congress of American Society
of Mechanical Engineers, Ney York.
Garg, D. P. & Kumar, M. (2002). Optimization techinques applied to multiple manipulators for
path planning and torque minimization, Engineering Applications of Artificial Intelligence
(15): 241–252.
Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning, Addison
– Wesley.
522 Robot Manipulators, New Achievements
Horn, J., Nafploitis, N. & Goldberg, D. (1994). A niched pareto genetic algorithm for multi-
objective optimization, Proceedings of the First IEEE Conference on Evolutionary Computa-
tion, pp. 82–87.
Kubota, N., Arakawa, T. & Fukuda, T. (1997). Trajectory generation for redundant manipulator us-
ing virus evolutionary genetic algorithm, IEEE International Conference on Robotics and
Automation, Albuquerque, New Mexico, pp. 205–210.
Kubota, N., Fukuda, T. & Shimojima, K. (1996). Trajectory planning of cellular manipulator system
using virus-evolutionary genetic algorithm, Robotics and Autonomous systems 19: 85–94.
Lavoie, M.-H. & Boudreau, R. (2001). Obstacle avoidance for redundant manipulators using a genetic
algorithm, Proc. of the 2001 CCToMM Symposium on Mechanisms, Machines, and Mecha-
tronics, Montréal.
Luo, X. & Wei, W. (2004). A new immune genetic algorithm and its application in redundant manipu-
lator path planning, Journal of Robotic Systems 21(3): 141–151.
Nearchou, A. C. & Aspragathos, N. A. (1995). Application of genetic algorithms to pointo-to-point
motion of redundant manipulators, Mecha. Mach. Theory, Pergamon 31(3): 261–270.
Ortmann, M. (2001). Multi-criterion optimization of robot trajectories with evolutionary strategies,
FACTA UNIVERSITATIS, Electronics and Energetics 14(1): 19–32.
Rana, A. & Zalzala, A. (1996). An evolutionary planner for near time-optimal collision-free motion of
multi-arm robotic manipulators, UKACC International Conference on Control, Vol. 1, pp. 29–
35.
Ridao, M. A., Camacho, E. F., Riquelme, J. & Toro, M. (2001). An evolutionary and local search
algorithm for motion planning of two manipulators, Journal of Robotic Systems 18(8): 463–
476.
Silva, F. & Tenreiro Machado, J. (1999). Energy analysis during biped walking, Proc. IEEE Int. Conf.
Robotics and Automation, Detroit, Michigan, pp. 59–64.
Tian, L. & Collins, C. (2004). An effective robot trajectory planning method using a genetic algorithm,
mechatronics, Mechatronics, In Press 14: 455–470.
Wang, Q. & Zalzala, A. M. S. (1996). Genetic control of near time-optimal motion for an industrial
robot arm, IEEE International Conference on Robotics and Automation, Minneapolis, Min-
nesota, pp. 2592–2597.
Wei-Min, Y. & Yu-Geng, X. (1996). Optimum motion planning in joint space for robots using genetic
algorithms, Robotics and Autonomous Systems 18(4): 373–393.