SlideShare a Scribd company logo
1 of 8
Download to read offline
INVERSE KINEMATICS OF ARBITRARY ROBOTIC
MANIPULATORS USING GENETIC ALGORITHMS


            A.A. KHWAJA, M.O. RAHMAN AND M.G. WAGNER
            Arizona State University,
            Department of Computer Science and Engineering,
            Tempe, AZ 85287, USA,
            email: khwaja@asu.edu, obaid@asu.edu,
                   wagner@asu.edu


Abstract: In this paper we present a uni ed approach for solving the
inverse kinematics problem of an arbitrary robotic manipulator based on
Genetic Algorithms. The tness function we use in our algorithm does a
multi-objective optimization satisfying both the position and orientation
of the end-e ector. As an example we show how this approach can be
used for computing the motion of an n-R robotic manipulator following a
speci ed end-e ector path. To avoid unnecessary manipulator undulations
in case of a redundant design, we thereby introduce a third objective to our
  tness function minimizing the discrete joint velocities. Unlike Jacobian-
based solutions our approach deals e ciently with redundant designs and
singularities.
1. Introduction
There exists only a small number of attempts to use Genetic Algorithms
(GAs) in the context of kinematics or Computer Animation. A reason being
that GAs are themselves new with lots of accompanying problems which
need to be resolved along with the real objectives. Most of the work, re-
ports results in terms of planar manipulators and none of them made any
mention of how to deal with singularities. Furthermore very few referenced
the handling of redundant robots and all the problems that go along with
it.
Davidor (1991) uses GAs to generate and optimize robot trajectories of a
redundant robot in two dimensions. The robot mentioned in the paper has
three links but the author claims that the technique can easily be extended
for n-link structures. Ahuactzin et al. (1993) use genetic algorithms for
planning the motion of a robot arm among moving obstacles. While the
proposed method does not make any assumptions about the number of links
and the authors only present a 2R robot for ease of graphical representation.
Gritz and Hahn (1995) made use of genetic programming (an extension of
genetic algorithms to programs) for 3D articulated gure motion.
In this paper we exhibit the potential of genetic algorithms by applying
them to arbitrary 3D manipulators. Our experiments were conducted with
linkages with a total number of links ranging from 4 to 15. The approach
proved to handle singularities or redundancies in a very e ective way. It is
easily extensible to other problem areas such as inverse dynamics.
2. Genetic Algorithms
Genetic Algorithms are search algorithms for nding optimal or near op-
timal solutions. They can be considered a cross between gradient-based
calculus methods and Arti cial Intelligence (AI) algorithmic search meth-
ods.
Conventional AI search methods proceed by building a search tree along
their way. The traversal is usually done by a xed traversal scheme. These
methods, in general, do not perform a directed search. Solutions that are
obtained during the traversal are judged and discarded and new solutions
are searched for until the optimal solution is found.
Gradient-based calculus methods on the other hand start with a initial so-
lution and traverse the parameter space proceeding in the direction that re-
duces the error, hence obtaining increasingly better solutions. These meth-
ods, while being very directed, are highly localized and solution quality
commonly depends on the initial solution. Because of this, they are highly
susceptible to getting stuck in a local minimum in problems having a multi-
modal error surface.
GAs use a directed search like gradient-based calculus methods but do not
rely on derivatives. Thus they do not require the parameter space to be con-
tinuous. Along with that, they are global search methods. While gradient-
based methods pick one initial solution, GAs pick a whole population of
randomly generated initial solutions so that the whole space is searched in
parallel. This prevents GAs to get stuck in a local minimum with a certain
probability depending on the size of the population. There is, however, the
problem of so-called premature convergence which is closely reminiscent of
the local minima problem. In a premature convergence situation the GA
loses diversity in its population of solutions resulting in no improvement
for a couple of generations until random mutation reintroduces some of the
missing elements. While this impedes the performance of GA and the qual-
ity of solution signi cantly, it is not di cult to handle and various methods
are proposed by researchers to get around it e ectively (see e.g. Goldberg
(1989)).
2.1. MAIN CONCEPTS
The key concept in Genetic Algorithms is that problems are solved at a
level di erent than that at which they are created. There is always some
kind of coding scheme involved with which the parameters of one particular
solution are encoded into strings called chromosomes.
Genetic Algorithms usually work with xed sized populations of chromo-
somes. An initial population is generated entirely randomly. The quality of a
chromosome is measured by the tness function which evaluates the close-
ness of the corresponding solution to the desired solution with a proper
distance measure. Then three genetic operators are applied to produce
the next generation of solutions (chromosomes). These operators are se-
lection/reproduction, crossover and mutation.
Selection or reproduction is used to build the next generation using the t-
ness value of the chromosomes as their probability of survival. The more t
an individual is the more chance it has to be a part of the next generation.
The crossover operator picks two parent chromosomes randomly from the
new generation, chooses a random crossover point and swaps the chromo-
some strings after the crossover point. This way the operator produces two
new child chromosomes. Then, a mutation operator is applied with a cer-
tain probability which changes one or more elements of the chromosomes
randomly. Finally the tness values of the next generation's chromosomes
are re-evaluated. This process is repeated for a xed number of genera-
tion after which the chromosome with the best tness value is taken to be
the solution. For an excellent introduction to GAs, we refer the reader to
Goldberg (1989) and Mitchell (1996).
3. Genetic Approach to Inverse Kinematics
Since GAs are search algorithms, their application to inverse kinematics
causes a radical change in the underlying model. As opposed to the velocity
model approach, the GA-based approach does not require the computation
of the Jacobian and thus works for every possible mechanism in the same
way as long as one is able to solve the forward kinematics problem.
3.1. BUILDING CHROMOSOMES
As an example, we use an n-R robot such as shown in gure 1. There are
no requirements on the design of the manipulator. The parameters we are
going to encode are the joint angles i of the n revolute joints. Without loss
of generality we may assume that these angles hold
                  ?   max   i < max ;     i = 0; : : : ; n   ? 1;      (1)
with max = . We use a binary coding of these state variables since GAs
are known to work best with binary coded problems (see Goldberg (1989)).
In order to achieve this we convert i into an unsigned integer Ti according
to
             Ti = int (2k ? 1)
                                 i + max ; i = 0; : : :; n ? 1;         (2)
                                  2 max
where k is the number of chromosome bits per angle. Concatenating all
binary strings together, the total chromosome size for an n-R robot is kn
bits. For the decoding phase, this process is reversed.
3.2. FITNESS FUNCTION
In order to obtain the tness of each chromosome one rst has to solve the
forward kinematics for each corresponding set of joint angles. The tness
value is then set to be equal to the distance of the resulting end-e ector
position to the desired end-e ector position, measured with a proper dis-
tance measure. Tests showed that best results are achieved if the problem
is decoupled into the translational and orientational part thus giving two
independent tness values. Note that this approach cannot be coordinate
independent.
However, the problem with this approach is that one is now facing a multi-
objective optimization where each individual objective is a constraint that
the solution has to satisfy. This has been a source of complication in both
gradient-based optimization and genetic algorithms and is referred by some
researchers as the curse of dimensionality.
Conventionally, tness functions in GAs return a single numeric quantity
which when divided by the sum of all tness values serves as the probability
of selection or survival of that particular chromosome. This works without
problems when there is only one criterion to optimize. But when there are
more than one objectives to meet, combining them to obtain one unique
quantity cannot be achieved in a straightforward manner. One possible way
is to use a linear combination
                                      Xd
                                  f =     ci fi                         (3)
                                    i=1
of the sub tness values fi from d di erent optimization criteria. The con-
stant coe cients ci serve as weights for this approach and can be used to
adjust the in uence of each objective to the total tness. As it turns out,
this method fails to provide an optimal solution to most problems because
of the failure in providing a unique direction for the system to evolve in.
Gritz and Hahn (1995) used the above formulation in their genetic pro-
gramming approach with the exception of making the weights adaptable.
They start out with all weights zero except for the main objective and as
generations proceed, increase the other weights slowly. Although they re-
ported satisfactory results, the method, however, still doesn't guarantee a
near-optimal solution.
Biological organisms usually also have many objectives and constraints to
satisfy in order to survive and be a part of the next generation. Organisms
that have higher tness than others are more likely to escape attacks by
predators thus having a higher survival probability. We therefore decided
to take recourse in nature's approach.
3.3. PREDATOR FUNCTION
The two main objectives that our system has to meet are the position
and orientation accuracy of the end-e ector. Let ft be the sub tness value
associated with the position and fr the sub tness value associated with the
orientation. For instance, we choose ft to be the Euclidean distance of the
tool center point to its desired position, and fr to be equal to the rotation
angle necessary to achieve the desired orientation. We rst convert these
sub tness values into two individual survival probabilities pt and pr by

                    pt   = ftmax ? ft ;   pr   = frmax ? fr ;            (4)
                             f tmax                f rmax

where ftmax is the maximum distance and frmax the maximum angle pos-
sible. Without loss of generality we may always choose frmax = whereas
ftmax depends on the geometry of the robot. If for any reason ft is larger
than ftmax we set pt equal to zero. In order to improve results one might
additionally use rescaling functions to rescale pt and pr such that they are
properly distributed. These probabilities are calculated for each individual
chromosome.
We then introduce a predator function which will keep the population size
at a certain level by trying to terminate individuals. We therefore randomly
choose an objective, a chromosome in the current population, and a predator
  tness ranging between 0 and 1. If the predator tness is higher than the
chosen survival probability of the selected chromosome, the chromosome is
deleted. The procedure works as a low level component of the tournament
selection method described below. It is repeated until the desired population
size is achieved.
3.4. SELECTION, CROSSOVER AND MUTATION
For selection, a method known as tournament selection is used (see Crossley
(1994)) with a tournament size of 2. It works as follows: Two chromosomes
are randomly selected without replacement from the current population and
the best of the two is taken to be the rst mate. This process is repeated
and a second mate is obtained. These two parent chromosomes are then
mated together to produce two new chromosomes for the next generation.
Tournament selection helps keeping the destructive e ects of crossover min-
imal. High order and longer schemas are more likely to be destroyed by the
clutches of the crossover operator. This e ect, however, will be minimal if
the two chromosomes, that are selected as mates, are close to each other
in tness value. While tournament selection does not guarantee as such
a close selection, the probability of selection of two such chromosomes is
more than that in a simple selection and this probability increases as the
tournament size is increased. But increasing the tournament size too much
shows up as a considerable loss in e ciency. The crossover and mutation
operators we used are the standard ones as described in section 2.1.
3.5. FOLLOWING THE END-EFFECTOR PATH
The inverse kinematics problem is intrinsically non-unique in terms of its
solutions. GAs search the whole solution space in parallel and for that
reason can come up with any of the multiple satisfying solutions. One can,
however, introduce additional objectives to the tness function, which will
guide the evolutionary process to a solution with special desired features.
One of the cases where this is useful is when the manipulator is to follow a
speci ed end-e ector path. This can be implemented as follows.
Let us assume that we have already calculated the joint angles for the end-
e ector position at time instant t. Following the end-e ector path we want
to calculate the joint angles at t = t + t for a small t. Our goal is
                                  0


to keep the change in the joint angles small. In order to achieve this we
decided to encode the changes i = i ? i of the joint angles instead
                                             0


of the joint angles themselves into the chromosomes. Note that i can
be considered the discrete joint velocity of the ith joint. Furthermore, to
force the GA to search for solutions only in a certain neighborhood of the
previous solution, we set max in (1), now describing the maximum discrete
joint velocity, equal to max = 6 . Finally, we introduce a third objective to
our tness function by minimizing the sum
                                  n
                                  X      2
                                         i                               (5)
                                  i=0
of the squares of the discrete joint velocities. Selection, crossover and mu-
tation are implemented as described above.
Since the solution of a genetic algorithm is only a near-optimal solution, this
technique is likely to produce small but still unwanted jumps in the discrete
joint velocities as seen in gure 2. It is therefore useful to postprocess the
joint angle data with an appropriate data smoothing technique, for instance
by applying a discrete Weiner lter.
4. Examples and Conclusion
Figure 1 shows an example of an 8R robotic manipulator following a spec-
i ed end-e ector path while gure 2 is an example of how the algorithm is
able to escape singularities. In both examples the motion of the end-e ector
is interpolated linearly between initial and nal positions.




          Figure 1.   8R manipulator following speci ed end-e ector path.
We used a one point crossover operator with a crossover probability of 0.8.
Mutation operator has not been considered very useful by GA researchers
because of its purely random nature. We used the usual proposed mutation
probability of 0.001. The number of generations and the population size
were selected empirically to be 50 and 150, respectively.




               Figure 2.   6R manipulator escaping a singular position.
Although Genetic Algorithms provide a straightforward approach to inverse
kinematics, there are still a lot of open questions which have to be answered.
The above implementation did not address the problem of premature con-
vergence, which leads to loss in e ciency and accuracy. In particular, we
were not able to achieve real-time computation. In order to overcome these
problems we are currently working on a hybridization of genetic algorithms
which will include entropy optimization techniques.
References
Ahuactzin, J.M., Talbi, E.G., Bessiere, P., and Mazer, E., (1993), Using Genetic Algo-
    rithms for Robot Motion Planning, Geometric Reasoning for Perception and Action
    Workshop '93, pp. 84{93.
Crossley, W.A., Wells, V.L., and Laananen D.H., (1994), The Potential of Genetic Algo-
    rithms for Conceptual Design of Rotor Systems, Semiannual Report, Arizona State
    University.
Davidor, Y., A Genetic Algorithm Applied To Robot Trajectory Generation, in: Hand-
    book of Genetic Algorithms, ed: Davis, L., Van Nostrand Reinhold 1991, pp. 144-165.
Goldberg, D.E., (1989), Genetic Algorithms in Search, Optimization, and Machine Learn-
    ing, Addison-Wesley.
Gritz, L., and Hahn, J.K., (1995), Genetic Programming for Articulated Figure Motion,
    Journal of Visualization and Computer Animation.
Mitchell, M., (1996), An Introduction to Genetic Algorithms, MIT Press.

More Related Content

What's hot

Quantum algorithm for solving linear systems of equations
 Quantum algorithm for solving linear systems of equations Quantum algorithm for solving linear systems of equations
Quantum algorithm for solving linear systems of equationsXequeMateShannon
 
Granger Causality Test: A Useful Descriptive Tool for Time Series Data
Granger Causality Test: A Useful Descriptive Tool for Time  Series DataGranger Causality Test: A Useful Descriptive Tool for Time  Series Data
Granger Causality Test: A Useful Descriptive Tool for Time Series DataIJMER
 
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...Waqas Tariq
 
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...IOSR Journals
 
Application of thermal error in machine tools based on Dynamic Bayesian Network
Application of thermal error in machine tools based on Dynamic Bayesian NetworkApplication of thermal error in machine tools based on Dynamic Bayesian Network
Application of thermal error in machine tools based on Dynamic Bayesian NetworkIJRES Journal
 
Non-life claims reserves using Dirichlet random environment
Non-life claims reserves using Dirichlet random environmentNon-life claims reserves using Dirichlet random environment
Non-life claims reserves using Dirichlet random environmentIJERA Editor
 
YAK
YAKYAK
YAKiwdf
 
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSA NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSorajjournal
 
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...CSCJournals
 

What's hot (19)

Ijetcas14 546
Ijetcas14 546Ijetcas14 546
Ijetcas14 546
 
Quantum algorithm for solving linear systems of equations
 Quantum algorithm for solving linear systems of equations Quantum algorithm for solving linear systems of equations
Quantum algorithm for solving linear systems of equations
 
Granger Causality Test: A Useful Descriptive Tool for Time Series Data
Granger Causality Test: A Useful Descriptive Tool for Time  Series DataGranger Causality Test: A Useful Descriptive Tool for Time  Series Data
Granger Causality Test: A Useful Descriptive Tool for Time Series Data
 
Using Partitioned Design Matrices in Analyzing Nested-Factorial Experiments
Using Partitioned Design Matrices in Analyzing Nested-Factorial ExperimentsUsing Partitioned Design Matrices in Analyzing Nested-Factorial Experiments
Using Partitioned Design Matrices in Analyzing Nested-Factorial Experiments
 
REYLEIGH’S METHOD,BUCKINGHAM π-THEOREM
REYLEIGH’S METHOD,BUCKINGHAM  π-THEOREMREYLEIGH’S METHOD,BUCKINGHAM  π-THEOREM
REYLEIGH’S METHOD,BUCKINGHAM π-THEOREM
 
Dv33736740
Dv33736740Dv33736740
Dv33736740
 
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...
A Computationally Efficient Algorithm to Solve Generalized Method of Moments ...
 
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...
The Use of Markov Model in Continuous Time for Prediction of Rainfall for Cro...
 
Dimensional analysis
Dimensional analysisDimensional analysis
Dimensional analysis
 
Application of thermal error in machine tools based on Dynamic Bayesian Network
Application of thermal error in machine tools based on Dynamic Bayesian NetworkApplication of thermal error in machine tools based on Dynamic Bayesian Network
Application of thermal error in machine tools based on Dynamic Bayesian Network
 
Non-life claims reserves using Dirichlet random environment
Non-life claims reserves using Dirichlet random environmentNon-life claims reserves using Dirichlet random environment
Non-life claims reserves using Dirichlet random environment
 
F0422052058
F0422052058F0422052058
F0422052058
 
YAK
YAKYAK
YAK
 
Buckingham's theorem
Buckingham's  theoremBuckingham's  theorem
Buckingham's theorem
 
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSA NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
 
G05313347
G05313347G05313347
G05313347
 
Differential Evolution Algorithm with Triangular Adaptive Control Parameter f...
Differential Evolution Algorithm with Triangular Adaptive Control Parameter f...Differential Evolution Algorithm with Triangular Adaptive Control Parameter f...
Differential Evolution Algorithm with Triangular Adaptive Control Parameter f...
 
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...
Genetic Algorithm for the Traveling Salesman Problem using Sequential Constru...
 
Dimesional Analysis
Dimesional Analysis Dimesional Analysis
Dimesional Analysis
 

Viewers also liked

Rio Salado College: What an Associate Degree in General Business Offers Students
Rio Salado College: What an Associate Degree in General Business Offers StudentsRio Salado College: What an Associate Degree in General Business Offers Students
Rio Salado College: What an Associate Degree in General Business Offers Studentsriosalado
 
Evaluation: Question one
Evaluation: Question oneEvaluation: Question one
Evaluation: Question oneLucyMorton94
 
Storage: Alternate Futures
Storage: Alternate FuturesStorage: Alternate Futures
Storage: Alternate Futures小新 制造
 
Online Community College: Basic Steps for Financial Aid
Online Community College: Basic Steps for Financial AidOnline Community College: Basic Steps for Financial Aid
Online Community College: Basic Steps for Financial Aidriosalado
 
מצגת על טורקיה לכנס יצואנים יולי 2010
מצגת על טורקיה לכנס יצואנים יולי 2010מצגת על טורקיה לכנס יצואנים יולי 2010
מצגת על טורקיה לכנס יצואנים יולי 2010istanbultrade
 
Memory-Based Cloud Architectures
Memory-Based Cloud ArchitecturesMemory-Based Cloud Architectures
Memory-Based Cloud Architectures小新 制造
 

Viewers also liked (7)

Rio Salado College: What an Associate Degree in General Business Offers Students
Rio Salado College: What an Associate Degree in General Business Offers StudentsRio Salado College: What an Associate Degree in General Business Offers Students
Rio Salado College: What an Associate Degree in General Business Offers Students
 
Evaluation: Question one
Evaluation: Question oneEvaluation: Question one
Evaluation: Question one
 
Storage: Alternate Futures
Storage: Alternate FuturesStorage: Alternate Futures
Storage: Alternate Futures
 
Online Community College: Basic Steps for Financial Aid
Online Community College: Basic Steps for Financial AidOnline Community College: Basic Steps for Financial Aid
Online Community College: Basic Steps for Financial Aid
 
Book slide show
Book slide showBook slide show
Book slide show
 
מצגת על טורקיה לכנס יצואנים יולי 2010
מצגת על טורקיה לכנס יצואנים יולי 2010מצגת על טורקיה לכנס יצואנים יולי 2010
מצגת על טורקיה לכנס יצואנים יולי 2010
 
Memory-Based Cloud Architectures
Memory-Based Cloud ArchitecturesMemory-Based Cloud Architectures
Memory-Based Cloud Architectures
 

Similar to 10.1.1.34.7361

An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...Zac Darcy
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...Zac Darcy
 
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...eSAT Publishing House
 
A Genetic Algorithm on Optimization Test Functions
A Genetic Algorithm on Optimization Test FunctionsA Genetic Algorithm on Optimization Test Functions
A Genetic Algorithm on Optimization Test FunctionsIJMERJOURNAL
 
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...ijmpict
 
Advance operator and technique in genetic algorithm
Advance operator and technique in genetic algorithmAdvance operator and technique in genetic algorithm
Advance operator and technique in genetic algorithmHarshana Madusanka Jayamaha
 
Medical diagnosis classification
Medical diagnosis classificationMedical diagnosis classification
Medical diagnosis classificationcsandit
 
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...cscpconf
 
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...Jim Jimenez
 
ABOU-NAOUM_AMANE_ROUGUI_Article
ABOU-NAOUM_AMANE_ROUGUI_ArticleABOU-NAOUM_AMANE_ROUGUI_Article
ABOU-NAOUM_AMANE_ROUGUI_ArticleAnthony Abou Naoum
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithmsswapnac12
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 
Two-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionTwo-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionXin-She Yang
 
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMS
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMSA COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMS
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMSecij
 
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION ijscai
 
F043046054
F043046054F043046054
F043046054inventy
 
F043046054
F043046054F043046054
F043046054inventy
 

Similar to 10.1.1.34.7361 (20)

An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...
 
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
 
A Genetic Algorithm on Optimization Test Functions
A Genetic Algorithm on Optimization Test FunctionsA Genetic Algorithm on Optimization Test Functions
A Genetic Algorithm on Optimization Test Functions
 
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...
A NEW APPROACH IN DYNAMIC TRAVELING SALESMAN PROBLEM: A HYBRID OF ANT COLONY ...
 
Advance operator and technique in genetic algorithm
Advance operator and technique in genetic algorithmAdvance operator and technique in genetic algorithm
Advance operator and technique in genetic algorithm
 
Medical diagnosis classification
Medical diagnosis classificationMedical diagnosis classification
Medical diagnosis classification
 
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...
MEDICAL DIAGNOSIS CLASSIFICATION USING MIGRATION BASED DIFFERENTIAL EVOLUTION...
 
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
 
[IJCT-V3I2P31] Authors: Amarbir Singh
[IJCT-V3I2P31] Authors: Amarbir Singh[IJCT-V3I2P31] Authors: Amarbir Singh
[IJCT-V3I2P31] Authors: Amarbir Singh
 
ABOU-NAOUM_AMANE_ROUGUI_Article
ABOU-NAOUM_AMANE_ROUGUI_ArticleABOU-NAOUM_AMANE_ROUGUI_Article
ABOU-NAOUM_AMANE_ROUGUI_Article
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Two-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionTwo-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential Evolution
 
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMS
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMSA COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMS
A COMPARISON BETWEEN SWARM INTELLIGENCE ALGORITHMS FOR ROUTING PROBLEMS
 
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION
MARGINAL PERCEPTRON FOR NON-LINEAR AND MULTI CLASS CLASSIFICATION
 
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
 
Genetic algorithms mahyar
Genetic algorithms   mahyarGenetic algorithms   mahyar
Genetic algorithms mahyar
 
F043046054
F043046054F043046054
F043046054
 
F043046054
F043046054F043046054
F043046054
 

10.1.1.34.7361

  • 1. INVERSE KINEMATICS OF ARBITRARY ROBOTIC MANIPULATORS USING GENETIC ALGORITHMS A.A. KHWAJA, M.O. RAHMAN AND M.G. WAGNER Arizona State University, Department of Computer Science and Engineering, Tempe, AZ 85287, USA, email: khwaja@asu.edu, obaid@asu.edu, wagner@asu.edu Abstract: In this paper we present a uni ed approach for solving the inverse kinematics problem of an arbitrary robotic manipulator based on Genetic Algorithms. The tness function we use in our algorithm does a multi-objective optimization satisfying both the position and orientation of the end-e ector. As an example we show how this approach can be used for computing the motion of an n-R robotic manipulator following a speci ed end-e ector path. To avoid unnecessary manipulator undulations in case of a redundant design, we thereby introduce a third objective to our tness function minimizing the discrete joint velocities. Unlike Jacobian- based solutions our approach deals e ciently with redundant designs and singularities. 1. Introduction There exists only a small number of attempts to use Genetic Algorithms (GAs) in the context of kinematics or Computer Animation. A reason being that GAs are themselves new with lots of accompanying problems which need to be resolved along with the real objectives. Most of the work, re- ports results in terms of planar manipulators and none of them made any mention of how to deal with singularities. Furthermore very few referenced the handling of redundant robots and all the problems that go along with it. Davidor (1991) uses GAs to generate and optimize robot trajectories of a redundant robot in two dimensions. The robot mentioned in the paper has three links but the author claims that the technique can easily be extended for n-link structures. Ahuactzin et al. (1993) use genetic algorithms for
  • 2. planning the motion of a robot arm among moving obstacles. While the proposed method does not make any assumptions about the number of links and the authors only present a 2R robot for ease of graphical representation. Gritz and Hahn (1995) made use of genetic programming (an extension of genetic algorithms to programs) for 3D articulated gure motion. In this paper we exhibit the potential of genetic algorithms by applying them to arbitrary 3D manipulators. Our experiments were conducted with linkages with a total number of links ranging from 4 to 15. The approach proved to handle singularities or redundancies in a very e ective way. It is easily extensible to other problem areas such as inverse dynamics. 2. Genetic Algorithms Genetic Algorithms are search algorithms for nding optimal or near op- timal solutions. They can be considered a cross between gradient-based calculus methods and Arti cial Intelligence (AI) algorithmic search meth- ods. Conventional AI search methods proceed by building a search tree along their way. The traversal is usually done by a xed traversal scheme. These methods, in general, do not perform a directed search. Solutions that are obtained during the traversal are judged and discarded and new solutions are searched for until the optimal solution is found. Gradient-based calculus methods on the other hand start with a initial so- lution and traverse the parameter space proceeding in the direction that re- duces the error, hence obtaining increasingly better solutions. These meth- ods, while being very directed, are highly localized and solution quality commonly depends on the initial solution. Because of this, they are highly susceptible to getting stuck in a local minimum in problems having a multi- modal error surface. GAs use a directed search like gradient-based calculus methods but do not rely on derivatives. Thus they do not require the parameter space to be con- tinuous. Along with that, they are global search methods. While gradient- based methods pick one initial solution, GAs pick a whole population of randomly generated initial solutions so that the whole space is searched in parallel. This prevents GAs to get stuck in a local minimum with a certain probability depending on the size of the population. There is, however, the problem of so-called premature convergence which is closely reminiscent of the local minima problem. In a premature convergence situation the GA loses diversity in its population of solutions resulting in no improvement for a couple of generations until random mutation reintroduces some of the missing elements. While this impedes the performance of GA and the qual- ity of solution signi cantly, it is not di cult to handle and various methods
  • 3. are proposed by researchers to get around it e ectively (see e.g. Goldberg (1989)). 2.1. MAIN CONCEPTS The key concept in Genetic Algorithms is that problems are solved at a level di erent than that at which they are created. There is always some kind of coding scheme involved with which the parameters of one particular solution are encoded into strings called chromosomes. Genetic Algorithms usually work with xed sized populations of chromo- somes. An initial population is generated entirely randomly. The quality of a chromosome is measured by the tness function which evaluates the close- ness of the corresponding solution to the desired solution with a proper distance measure. Then three genetic operators are applied to produce the next generation of solutions (chromosomes). These operators are se- lection/reproduction, crossover and mutation. Selection or reproduction is used to build the next generation using the t- ness value of the chromosomes as their probability of survival. The more t an individual is the more chance it has to be a part of the next generation. The crossover operator picks two parent chromosomes randomly from the new generation, chooses a random crossover point and swaps the chromo- some strings after the crossover point. This way the operator produces two new child chromosomes. Then, a mutation operator is applied with a cer- tain probability which changes one or more elements of the chromosomes randomly. Finally the tness values of the next generation's chromosomes are re-evaluated. This process is repeated for a xed number of genera- tion after which the chromosome with the best tness value is taken to be the solution. For an excellent introduction to GAs, we refer the reader to Goldberg (1989) and Mitchell (1996). 3. Genetic Approach to Inverse Kinematics Since GAs are search algorithms, their application to inverse kinematics causes a radical change in the underlying model. As opposed to the velocity model approach, the GA-based approach does not require the computation of the Jacobian and thus works for every possible mechanism in the same way as long as one is able to solve the forward kinematics problem. 3.1. BUILDING CHROMOSOMES As an example, we use an n-R robot such as shown in gure 1. There are no requirements on the design of the manipulator. The parameters we are going to encode are the joint angles i of the n revolute joints. Without loss
  • 4. of generality we may assume that these angles hold ? max i < max ; i = 0; : : : ; n ? 1; (1) with max = . We use a binary coding of these state variables since GAs are known to work best with binary coded problems (see Goldberg (1989)). In order to achieve this we convert i into an unsigned integer Ti according to Ti = int (2k ? 1) i + max ; i = 0; : : :; n ? 1; (2) 2 max where k is the number of chromosome bits per angle. Concatenating all binary strings together, the total chromosome size for an n-R robot is kn bits. For the decoding phase, this process is reversed. 3.2. FITNESS FUNCTION In order to obtain the tness of each chromosome one rst has to solve the forward kinematics for each corresponding set of joint angles. The tness value is then set to be equal to the distance of the resulting end-e ector position to the desired end-e ector position, measured with a proper dis- tance measure. Tests showed that best results are achieved if the problem is decoupled into the translational and orientational part thus giving two independent tness values. Note that this approach cannot be coordinate independent. However, the problem with this approach is that one is now facing a multi- objective optimization where each individual objective is a constraint that the solution has to satisfy. This has been a source of complication in both gradient-based optimization and genetic algorithms and is referred by some researchers as the curse of dimensionality. Conventionally, tness functions in GAs return a single numeric quantity which when divided by the sum of all tness values serves as the probability of selection or survival of that particular chromosome. This works without problems when there is only one criterion to optimize. But when there are more than one objectives to meet, combining them to obtain one unique quantity cannot be achieved in a straightforward manner. One possible way is to use a linear combination Xd f = ci fi (3) i=1 of the sub tness values fi from d di erent optimization criteria. The con- stant coe cients ci serve as weights for this approach and can be used to adjust the in uence of each objective to the total tness. As it turns out,
  • 5. this method fails to provide an optimal solution to most problems because of the failure in providing a unique direction for the system to evolve in. Gritz and Hahn (1995) used the above formulation in their genetic pro- gramming approach with the exception of making the weights adaptable. They start out with all weights zero except for the main objective and as generations proceed, increase the other weights slowly. Although they re- ported satisfactory results, the method, however, still doesn't guarantee a near-optimal solution. Biological organisms usually also have many objectives and constraints to satisfy in order to survive and be a part of the next generation. Organisms that have higher tness than others are more likely to escape attacks by predators thus having a higher survival probability. We therefore decided to take recourse in nature's approach. 3.3. PREDATOR FUNCTION The two main objectives that our system has to meet are the position and orientation accuracy of the end-e ector. Let ft be the sub tness value associated with the position and fr the sub tness value associated with the orientation. For instance, we choose ft to be the Euclidean distance of the tool center point to its desired position, and fr to be equal to the rotation angle necessary to achieve the desired orientation. We rst convert these sub tness values into two individual survival probabilities pt and pr by pt = ftmax ? ft ; pr = frmax ? fr ; (4) f tmax f rmax where ftmax is the maximum distance and frmax the maximum angle pos- sible. Without loss of generality we may always choose frmax = whereas ftmax depends on the geometry of the robot. If for any reason ft is larger than ftmax we set pt equal to zero. In order to improve results one might additionally use rescaling functions to rescale pt and pr such that they are properly distributed. These probabilities are calculated for each individual chromosome. We then introduce a predator function which will keep the population size at a certain level by trying to terminate individuals. We therefore randomly choose an objective, a chromosome in the current population, and a predator tness ranging between 0 and 1. If the predator tness is higher than the chosen survival probability of the selected chromosome, the chromosome is deleted. The procedure works as a low level component of the tournament selection method described below. It is repeated until the desired population size is achieved.
  • 6. 3.4. SELECTION, CROSSOVER AND MUTATION For selection, a method known as tournament selection is used (see Crossley (1994)) with a tournament size of 2. It works as follows: Two chromosomes are randomly selected without replacement from the current population and the best of the two is taken to be the rst mate. This process is repeated and a second mate is obtained. These two parent chromosomes are then mated together to produce two new chromosomes for the next generation. Tournament selection helps keeping the destructive e ects of crossover min- imal. High order and longer schemas are more likely to be destroyed by the clutches of the crossover operator. This e ect, however, will be minimal if the two chromosomes, that are selected as mates, are close to each other in tness value. While tournament selection does not guarantee as such a close selection, the probability of selection of two such chromosomes is more than that in a simple selection and this probability increases as the tournament size is increased. But increasing the tournament size too much shows up as a considerable loss in e ciency. The crossover and mutation operators we used are the standard ones as described in section 2.1. 3.5. FOLLOWING THE END-EFFECTOR PATH The inverse kinematics problem is intrinsically non-unique in terms of its solutions. GAs search the whole solution space in parallel and for that reason can come up with any of the multiple satisfying solutions. One can, however, introduce additional objectives to the tness function, which will guide the evolutionary process to a solution with special desired features. One of the cases where this is useful is when the manipulator is to follow a speci ed end-e ector path. This can be implemented as follows. Let us assume that we have already calculated the joint angles for the end- e ector position at time instant t. Following the end-e ector path we want to calculate the joint angles at t = t + t for a small t. Our goal is 0 to keep the change in the joint angles small. In order to achieve this we decided to encode the changes i = i ? i of the joint angles instead 0 of the joint angles themselves into the chromosomes. Note that i can be considered the discrete joint velocity of the ith joint. Furthermore, to force the GA to search for solutions only in a certain neighborhood of the previous solution, we set max in (1), now describing the maximum discrete joint velocity, equal to max = 6 . Finally, we introduce a third objective to our tness function by minimizing the sum n X 2 i (5) i=0
  • 7. of the squares of the discrete joint velocities. Selection, crossover and mu- tation are implemented as described above. Since the solution of a genetic algorithm is only a near-optimal solution, this technique is likely to produce small but still unwanted jumps in the discrete joint velocities as seen in gure 2. It is therefore useful to postprocess the joint angle data with an appropriate data smoothing technique, for instance by applying a discrete Weiner lter. 4. Examples and Conclusion Figure 1 shows an example of an 8R robotic manipulator following a spec- i ed end-e ector path while gure 2 is an example of how the algorithm is able to escape singularities. In both examples the motion of the end-e ector is interpolated linearly between initial and nal positions. Figure 1. 8R manipulator following speci ed end-e ector path. We used a one point crossover operator with a crossover probability of 0.8. Mutation operator has not been considered very useful by GA researchers because of its purely random nature. We used the usual proposed mutation
  • 8. probability of 0.001. The number of generations and the population size were selected empirically to be 50 and 150, respectively. Figure 2. 6R manipulator escaping a singular position. Although Genetic Algorithms provide a straightforward approach to inverse kinematics, there are still a lot of open questions which have to be answered. The above implementation did not address the problem of premature con- vergence, which leads to loss in e ciency and accuracy. In particular, we were not able to achieve real-time computation. In order to overcome these problems we are currently working on a hybridization of genetic algorithms which will include entropy optimization techniques. References Ahuactzin, J.M., Talbi, E.G., Bessiere, P., and Mazer, E., (1993), Using Genetic Algo- rithms for Robot Motion Planning, Geometric Reasoning for Perception and Action Workshop '93, pp. 84{93. Crossley, W.A., Wells, V.L., and Laananen D.H., (1994), The Potential of Genetic Algo- rithms for Conceptual Design of Rotor Systems, Semiannual Report, Arizona State University. Davidor, Y., A Genetic Algorithm Applied To Robot Trajectory Generation, in: Hand- book of Genetic Algorithms, ed: Davis, L., Van Nostrand Reinhold 1991, pp. 144-165. Goldberg, D.E., (1989), Genetic Algorithms in Search, Optimization, and Machine Learn- ing, Addison-Wesley. Gritz, L., and Hahn, J.K., (1995), Genetic Programming for Articulated Figure Motion, Journal of Visualization and Computer Animation. Mitchell, M., (1996), An Introduction to Genetic Algorithms, MIT Press.