Robot kinematic calibration using Genetic Algorithms

Kesheng Wang* and Jonathan Lienhardt

Knowledge Discovery Laboratory
Department of Production and Quality Engineering,
Norwegian University of Science and Technology,

N-7491 Trondheim, Norway

Outline of presentation

 

1.      Introduction

2.      Robot calibration problem

3.      Genetic Algorithms

4.      Robot error model

5.      Calibration algorithm

6.      Implementation

7.      A case study

8.      Conclusions

Outline of presentation

 

1.      Introduction

2.      Robot calibration problem

3.      Genetic Algorithms

4.      Robot error model

5.      Calibration algorithm

6.      Implementation

7.      A case study

8.      Conclusions

Robot calibration problem ---Principle

The common procedure of the parametric calibration is divided into four major steps as follows:

 

1. Establishing the structure of kinematic model (both forward and inverse kinematics) of the robot for calibration.
2. Collecting a set of measurement data consisting of the end-effector pose and corresponding joint configuration.
3. Making the numeric identification of the model parameters. Generally this is based on non-linear least squares optimization.

4. Implementation of the identified model into the controller of the robot manipulator.

The Denavit-Hartenberg model

 The forward kinematic equations are:

[X,Y,Z,φ,θ,ψ]=f(θ1,θ2,...θN)   (1)

 The inverse kinematics is:

(θ1,θ2,...θN)=f(-1)[X,Y,Z,φ,θ,ψ]

Genetic Algorithms

 

A GA is a stochastic optimization method based on the mechanisms of natural selection and evolution. In GAs, searches are performed based on a population of chromosomes represent solutions to the problem. A population starts from random values and then evolves through succeeding generations. During each generation a new population is generated by propagating a good solution to replace a bad one and by combining or mutating existing solutions to construct new solutions.

GAs have been theoretically and empirically proven robust for identifying solutions to combinatorial optimization problems.

 

Robot error model

 The forward and inverse error model can be expressed as the following two equations:
[ΔP,ΔR]T=J[Δθi]       i=1,2,...N    (3)

[Δθi]=J-1 [ΔP,ΔR]T       i=1,2,...,N    (4)

Where J is Jacobian matrix and J-1 is inverse Jacobian matrix.

For N measurements, we define the fitness function (FF), as:

 

Calibration algorithm(1/2)

 The Algorithm could be described as the following steps:

  1. Using the D-H parameters, ai,αi,θi,di (i = 1, 2, …, N), for a given configuration of the robot manipulator.
  2. For a nominal position and orientation (PN and RN) of the end-effector, the corresponding joint variables,θi , are calculated by inverse kinematic equation (2).
  3. The actual position Pc and orientation Rc are computed by a forward kinematics in equation (1).
  4. Establish a set of measurement data consisting of the pose of the end-effector (position, Pm and orientations, Rm ) and corresponding joint configuration, θi (i = 1, 2. …, N) of the robot manipulator in a work space.
  5. Calculating the errors of the end-effector, ΔP and ΔR .

Calibration algorithm(2/2)

  1. The GA iterations start by generating an initial population pool with a number of individuals which contain the error variables of the joints: Δai,Δαi,Δθi,Δdi (i = 1, 2, …, N) randomly. These populations are used as parents from which the genetic operators are applied to produce offspring in a new generation.
  2. Calculating the absolute position Pc=[X, Y, Z] and orientation Rc [φ,θ,ψ]of the end-effector of the robot manipulator using the correction joint variables (by adding the joint error valuables which are generated in step 6).
  3. Calculate the value of the fitness function using equation (5).
  4. Reproduce the offspring in the next generation using a selection approach (roulette wheel or elitist strategy) and GA operators (crossover and mutation).
  5. This process is iterated until criterion (such as a given number of iterations) is met.

Implementation(1/2)

Four different Types of configurations:

Type 1: 24 chromosomes (Δai, Δαi, Δθi, Δdi) encoded each with 10 binary bits.
Type 2: 24 chromosomes (Δai, Δαi, Δθi, Δdi) represented by real numbers.
Type 3: 6 chromosomes (Δθi) represented by real numbers.
Type 4: 18 chromosomes (Δai, Δαi, Δdi) represented by real numbers.

In order to evaluate these 4 selections, the following GA parameters were chosen: 

 

·      Mutation rate: 0.05
·      Crossover rate: 0.98
·      Population Size: 50

GA program stop if the best fitness value remains unchanged after 1000.

 

Implematation(2/2)

We obtain then the following results:

 


Type of Chrom.

Generation of converge
Mean Error
Error Ratio
Type 1 6035 265,5465114 20337,63%
Type 2 19131 5,057637714 289,26%
Type 3 6150 2,21727906 70,65%
Type 4 41285 0,830260798 -36,10%

A case study

 

Table 1. The best correction values.

 

Joint Δa Δα Δd
1 0.95761 0.000479141 -0.41084
2 -1.43162 5.79852e-005 -1.03977
3 1.20811 1.52593e-005 1.14438
4 0.186224 -0.00311594 -1.1102
5 0.497513 -0.00314035 -0.0293588
6 -0.925382 0.00036317 0.488601

Conclusions

This algorithm has the effectiveness and convergence  in the presence of small joint errors and measurement errors ,and its benefit is to avoid complex inverse Jacobean calculations in traditional robot calibration model

There are many new techniques concerning Genetic Algorithms could be used, for example, ANN and Fuzzy logic technique could be integrated with GAs to build up hybrid computational system.