18
Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1 , E.J. Solteiro Pires 2 , António M. Lopes 1 Abstract Parallel manipulators are well known for their high dynamic performances and low positioning errors. In the last few years parallel manipulators have attracted great attention from researchers involved in different areas, including high- precision robotics, machine-tools, simulators and haptic devices. Generally speak- ing, the performance of a robotic manipulator is highly dependent on its structural configuration. Thus, after its choice, the mechanical structure must be defined, i.e., the set of parameters defining the structure must be dimensioned. At this stage some performance criteria may be utilized. In this paper the kinematic design of a 6-dof parallel robotic manipulator for maximum dexterity is analyzed. First, the condition number of the inverse kine- matic jacobian is used as a measure of dexterity and a genetic algorithm is utilized to solve the optimization problem. Afterwards, a neuro-genetic formulation is de- veloped and tested. It is shown that the neuro-genetic algorithm can find close to optimal solutions for maximum dexterity, significantly reducing the computational burden. The error involved is believed to be less significant when extending the approach to a multi-objective and global optimization problem. 1 Introduction Parallel manipulators are well known for their high dynamic performances and low positioning errors [1]. In the last few years parallel manipulators have at- tracted great attention from researchers involved with robot manipulators, robotic end effectors, robotic devices for high-precision robotic tasks, machine-tools, si- mulators, and haptic devices [2]. 1 IDMEC – Pólo FEUP, Faculdade de Engenharia da Universidade do Porto, Rua Dr. Roberto Frias 4200–465 Porto, Portugal {[email protected]; [email protected]} 2 Centro de Investigação e de Tecnologias Agro-Ambientais e Biológicas, Escola de Ciências e Tecnologia da Universidade de Trás-os-Montes e Alto Douro, Quinta de Prados, 5000–911 Vila Real, Portugal [email protected]

Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator

Based on Evolutionary Algorithms

Manuel R. Barbosa1, E.J. Solteiro Pires2, António M. Lopes1

Abstract

Parallel manipulators are well known for their high dynamic performances and low positioning errors. In the last few years parallel manipulators have attracted great attention from researchers involved in different areas, including high-precision robotics, machine-tools, simulators and haptic devices. Generally speak-ing, the performance of a robotic manipulator is highly dependent on its structural configuration. Thus, after its choice, the mechanical structure must be defined, i.e., the set of parameters defining the structure must be dimensioned. At this stage some performance criteria may be utilized.

In this paper the kinematic design of a 6-dof parallel robotic manipulator for maximum dexterity is analyzed. First, the condition number of the inverse kine-matic jacobian is used as a measure of dexterity and a genetic algorithm is utilized to solve the optimization problem. Afterwards, a neuro-genetic formulation is de-veloped and tested. It is shown that the neuro-genetic algorithm can find close to optimal solutions for maximum dexterity, significantly reducing the computational burden. The error involved is believed to be less significant when extending the approach to a multi-objective and global optimization problem.

1 Introduction

Parallel manipulators are well known for their high dynamic performances and low positioning errors [1]. In the last few years parallel manipulators have at-tracted great attention from researchers involved with robot manipulators, robotic end effectors, robotic devices for high-precision robotic tasks, machine-tools, si-mulators, and haptic devices [2].

1 IDMEC – Pólo FEUP, Faculdade de Engenharia da Universidade do Porto, Rua Dr. Roberto Frias 4200–465 Porto, Portugal {[email protected]; [email protected]} 2 Centro de Investigação e de Tecnologias Agro-Ambientais e Biológicas, Escola de Ciências e Tecnologia da Universidade de Trás-os-Montes e Alto Douro, Quinta de Prados, 5000–911 Vila Real, Portugal [email protected]

Page 2: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

2 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

One of the most important factors affecting the performance of a robotic mani-pulator is its structural configuration. The kinematics, statics, dynamics and stiff-ness are all dependent upon it. Following the definition of a particular structural configuration, the next step in the manipulator design is its dimensioning. Usually this dimensioning task involves the choice of a set of parameters that define the mechanical structure of the manipulator. The parameter values should be chosen in a way to optimize some performance criterion, dependent upon the foreseen ap-plication [3].

In the last years most of the research in parallel manipulators optimization has been done over several criteria related to the optimization of the manipulator workspace [4-6]. These works try to overcome the main disadvantage of parallel manipulators when compared with their serial counterparts. Other authors choose to optimize the structural stiffness of the manipulator, as this is one of the main advantages of a parallel configuration over a serial one [7-9]. Finally, some works may be referred where the optimization criteria are related with the manipulability, or dexterity, of the manipulator [10-14].

Optimization can be a difficult and time-consuming task, because of the great number of optimization parameters and the complexity of the objective functions. However, optimization procedures based on evolutionary approaches have been proved as an effective way out [15-17].

In this paper the kinematic design of a 6-dof parallel robotic manipulator for maximum dexterity is analyzed. First, the condition number of the inverse kine-matic jacobian is used as a measure of dexterity and a Genetic Algorithm (GA) is utilized to solve the optimization problem. The highly nonlinear nature of the problems involved and the normally associated time consuming optimization algo-rithms used, can be naturally approached by artificial Neuronal Networks (NN’s) techniques. In order to explore the advantages of NN’s and GA’s, a neuro-genetic formulation is developed and tested. It is shown that the neuro-genetic algorithm can find close to optimal solutions for maximum dexterity, significantly reducing the computational burden. The error involved is believed to be less significant when extending the approach to a multi-objective and global optimization prob-lem.

2 Manipulator Structure and Kinematics

The mechanical structure of the parallel robot comprises a fixed (base) platform and a moving (payload) platform, linked together by six independent, identical, open kinematic chains (Figure 1). Each chain comprises two links: the first link (linear actuator) is always normal to the base and has a variable length, li, with one of its ends fixed to the base and the other one attached, by a universal joint, to the second link; the second link (arm) has a fixed length, L, and is attached to the payload platform by a spherical joint. Points Bi and Pi are the connecting points to

Page 3: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 3

the base and payload platforms. They are located at the vertices of two semi-regular hexagons, inscribed in circumferences of radius rB and rP, that are coplanar with the base and payload platforms (Figure 2).

xB

xP

zB

zP

P1P2

P3

P4P5

P6

B6

B5

B4

B3

B2

L

B

P

B1

yB

yP

l1

l2

l3

l4 l5

l6

Fig. 1 Schematic representation of the parallel manipulator structure.

For kinematic modeling purposes a right-handed reference frame {B} is at-tached to the base. Its origin is located at point B, the centroid of the base. Axis xB is normal to the line connecting points B1 and B6 and axis zB is normal to the base, pointing towards the payload platform. The angles between points B1 and B3 and points B3 and B5 are set to 120º. The separation angles between points B1 and B6, B2 and B3, and B4 and B5 are denoted by 2φB (Figure 2).

In a similar way, a right-handed frame {P} is assigned to the payload platform. Its origin is located at point P, the centroid of the payload platform. Axis xP is normal to the line connecting points P1 and P6 and axis zP is normal to the payload platform, pointing in a direction opposite to the base. The angles between points P1 and P3 and points P3 and P5 are set to 120º. The separation angles between points P1 and P2, P3 and P4, and P5 and P6 are denoted by 2φP (Figure 2).

Taking into account the definitions given above, the generalized position of frame {P} relative to frame {B} may be represented by the vector:

[ ] ( ) ( )[ ]TT

EoP

BT

BposP

BT

PPPPPPEB

P

B zyx xxx == ϕθψ|

, (1)

where ( ) [ ]T

PPPBposP

B zyx=x is the position of the origin of frame {P} relative

to frame {B}, and ( ) [ ]T

PPPEoP

B ϕθψ=x defines an Euler angles system

representing the orientation of frame {P} relative to {B}.

Actuator

Payload platform

Base

Page 4: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

4 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

Vector [ ]T

izP

iyP

ixP

iP ppp=p represents the position of point Pi with refer-

ence to frame {P}, and vector [ ]T

iziyixi bbb=b represents the position of point

Bi with reference to frame {B}.

B1

B2

B3

B4

B5

B6

rB

120º

120º

φΒ

φΒ

φΒφΒ

φΒφΒ

xB

yB

B

P1

P2

P3

P4

P5

P6

PxP

yP

rP

φP φ

P

φP

φP

φP

φP

60º

60º

Fig. 2 Position of the connecting points to the base and payload platform.

2.1 Inverse Position Kinematics

The inverse position kinematic model is used to compute the joints positions for a given manipulator Cartesian position and orientation. The presented model follows the one proposed in [18].

Page 5: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 5

Taking into account a single kinematic chain i, vector ppi may be written in the

base frame using the following transformation:

++

++

++

=⋅=

izP

iyP

ixP

izP

iyP

ixP

izP

iyP

ixP

iP

PB

BiP

prprpr

prprpr

prprpr

333231

232221

131211

pRp , (2)

where BRP is a matrix representing the orientation of the payload platform frame

with reference to the base frame, that may be computed from the Euler angles (ψP, θP, ϕP).

xP

xB

zP

zB

pi

bi

ei si

di

Bi B

P yP

yB

Pi

ai

P

ip

( )B

P posB

x

Fig. 3 Schematic representation of a kinematic chain.

Subtracting vectors ( ) BposPB x and bi, then vector [ ]T

iziyixi sss=s is obtained. If

si and Bi

P p are added, the vector [ ]T

iziyixi eee=e is obtained, that is:

( )

.

333231

232221

131211

++

++

++

+

=

+=+−=

iz

P

iy

P

ix

P

iz

P

iy

P

ix

P

iz

P

iy

P

ix

P

izP

iyP

ixP

Bi

P

iBi

P

iBposP

B

i

prprpr

prprpr

prprpr

bz

by

bx

pspbxe

(3)

Vector ai, aligned with the fixed length arm, is given by ai = ei − di. di is a vec-tor parallel to zB, and length li (Figure 3).

Page 6: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

6 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

Knowing that the 2-norm of ai is equal to the arm length, L, it follows that:

,22

Liii =−= dea (4)

( ) .222Lleee iiziyix =−++ (5)

Solving for li results in

,222iyixizi eeLel −−±= (6)

that is, there are two possible solutions for li. The solutions corresponding to the manipulator having the universal joints below the payload platform spherical joints are always considered:

.222iyixizi eeLel −−+= (7)

2.2 Inverse Velocity Kinematics

Inverse velocity kinematics can be represented by the inverse kinematic jaco-bian, relating the joints velocities to the manipulator Cartesian-space velocities (linear and angular) [18]:

BP

BC xJl && ⋅= . (8)

Vector [ ]Tlll 621&L&&& =l represents the joints velocities, and vector

( )[ ]TT

BPBT

BposPB

BPB ωxx && = represents the Cartesian-space velocities.

The velocity of point Pi is dependent upon the linear and angular velocities of the payload platform. If

BPB

iv denotes that velocity with reference to the base

frame (and written in that same frame), then:

( ) BiP

BPB

BposPB

iBPB

ipωxpv ×+== && , (9)

where ( ) BPB

BposPB vx ≡& and

BPB ω represent the linear and angular velocities of

the payload platform frame with reference to, and written in, the base frame.

Page 7: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 7

Squaring booth sides of equation (4), the following relation is obtained:

iTii

Tii

Tii

Ti edeeddaa 2−+= . (10)

Differentiating equation (10), the following expression results:

0=−−+ iTBii

TBii

Tiii llll ezezee &&&& , (11)

where zB = [0 0 1]T denotes the direction of displacement of the linear actuators. From equation (11), and taking into account that & &e pi i= , an expression for the

linear actuators velocity, il& , is obtained:

( )

( )

( )( )B

P

B

ii

T

B

T

BiiBi

P

BposP

B

ii

T

B

T

Biii

l

l

l

ll ω

ez

zepx

ez

ze⋅

−×+⋅

−= && . (12)

Following this result, the inverse kinematic jacobian may be written (with ref-erence to the base frame) as:

( )

( )

( )( )( )

( )

( )

( )( )( )

−×

−−

−×

−−

=

66

666

66

66

11

111

11

11

l

l

l

l

l

l

l

l

TB

T

BB

P

TB

T

B

TB

T

BB

P

TB

T

B

C

ez

zep

ez

ze

ez

zep

ez

ze

J MM . (13)

3 Optimization

3.1 Objective Function

Several performance indexes can be formulated based on the manipulator in-verse kinematic jacobian [3].

In this work we consider the condition number of the inverse kinematic jaco-bian matrix, JC. The condition number is configuration-dependent and may take values between unity (isotropic configuration) and infinity (singular configura-tion). The minimization of the condition number leads not only to the maximiza-

Page 8: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

8 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

tion of the manipulator dexterity, but also to the minimization of the error propa-gation due to actuators, feedback transducers and, when the JC matrix is inverted, numerically induced noise [19].

For example, Salisbury and Craig [20] used the condition number of the jaco-bian matrix to optimize the finger dimensions of an articulated hand. At the same time they introduced the concept of isotropic configuration, that is, a configuration (mechanical structure and pose) presenting a condition number equal to one. In an isotropic configuration a manipulator will require equal joint effort to move or produce forces and/or torques in each direction.

Mathematically, the condition number is given by

( )( )Cmin

Cmax

J

J

σσ

κ = , (14)

where ( )Cmax Jσ and ( )Cmin Jσ represent the maximum an minimum singular val-

ues of matrix JC. For a 6-dof parallel manipulator, in order to obtain a dimensionally homogene-

ous jacobian matrix, some kind of normalization procedure has to be used. In this case we use the manipulator payload platform radius, rP, as a characteristic length. In this way, the same ‘cost’ will be associated to translational and rotational movements. Using rP as the length unit, the inverse kinematic jacobian results de-pendent upon ten variables, four of them being manipulator kinematic parameters: the position and orientation of the payload platform; the base radius (rB); the sepa-ration angles on the payload platform (φP); the separation angles on the base (φB); and the arm length (L).

We will consider a particular manipulator pose (position and orientation), cor-responding to the centre of the manipulator workspace i.e., [0 0 2 0 0 0]T (units in rP and degrees, respectively). Thus, for this pose, the jacobian matrix will be sim-ple a function of the four kinematic parameters.

3.2 Genetic Algorithm Based Approach

3.2.1 Genetic Algorithms Overview

Genetic algorithms, developed by John Holland [21] in the sixties, are based on natural selection theory. A GA is an optimization technique used in a large num-ber of applications.

GA search is based on a population Pt of individuals, in which each individual represents a potential problem solution. Initially, the GA initializes randomly the

Page 9: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 9

population P0. Each population element is computationally represented by a data structure which incorporates problem dependent parameters. The algorithm is run through several iterations, called generations, and a fitness function is used to guide the search for solutions through the search space. The fitness function measures the performance of each solution and is problem dependent. Based on this function, the selection operator is used to identify good elements to generate the next population with its genetic material. The cycle stops when the algorithm finds the optimal solution or a pre-defined number of generations is reached. In each generation these data structures are crossed between them and are subjected to a mutation operator in order to produce better offspring. The selection operator determines which of these individuals will constitute the next population.

A huge advantage of a GA is that it does not need derivative information or other dependent knowledge from the problem. The search direction is led by the fitness function. This makes the GA’s a popular tool for searching and optimiza-tion problems. Figure 4 illustrates a simple GA.

1 t = 0

2 random (Pt)

3 fitness (Pt)

4 select Pt + 1 from Pt

5 repeat

6 t = t + 1

7 crossover (Pt)

8 mutate (Pt)

9 fitness (Pt)

10 select Pt + 1 from Pt

11 until conclusion condition

Fig. 4 Simple Genetic Algorithm

3.2.2 Genetic Algorithm Implementation

The robot kinematic parameters are codified by real values through the vector p = [rB φP φB L]T. The solutions are randomly initialized in the range 1.0 ≤ rB ≤ 2.5, 0º ≤ φP, φB ≤ 25º and 2.0 ≤ L ≤ 3.5. The algorithm has a tournament-2 selection to determine the parents of the offspring [22]. After selection, the simulated binary crossover and mutation operators with pc = 0.6 and pm = 0.05 probabilities, respec-tively, are called [23]. At the end of each cycle, it is used a )( µλε +− strategy to select the solutions which survive for the next iteration. This means the best solu-tions among parents and offspring are chosen. At this stage, the space is divided in hyper-planes separated by the distance ε and all solutions that fall into two con-

Page 10: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

10 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

secutive hyper-planes are considered having the same preference, even if their fit-ness values are different [24]. Two consecutive hyper-planes define a rank. In or-der to sort the solutions in a rank, the maximum selection is used [25-26]. The ε value is initialized with 20 and is decreased during the evolution, until it reaches the value 0.03. The ε is decreased by 90% every time the best 200 solutions be-long to the first rank and the value has not changed during the last 100 genera-tions.

The solutions are classified by the fitness function given by equation (14), in case the solution is admissible, otherwise the value 1×1020 is assigned.

The global results (Figure 5 and Figure 6) show that there are multiple sets of kinematic parameters that are optimal. Moreover, the algorithm draws a represent-ative solution set of the optimal parameters front. It can be seen, by Figure 6, that the final population set belongs to the best rank.

1.7

1.8

1.9

2

2.1

0

2

4

60

1

2

3

4

5

6

rB (rP units)φ

P (º)

φ B (º)

1.7

1.8

1.9

2

2.1

0

2

4

62

2.1

2.2

2.3

2.4

2.5

rB (rP units)φ

B (º)

L (r P units)

(a)

1.7

1.8

1.9

2

2.1

0

2

4

62

2.1

2.2

2.3

2.4

2.5

rB (rP units)φ

P (º)

L (r P units)

0

2

4

6

0

2

4

62

2.1

2.2

2.3

2.4

2.5

φP (º)φ

B (º)

L (r P units)

(b)

Fig. 5 Simulation results: optimal sets of kinematic parameters.

Page 11: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 11

0 20 40 60 80 100 120 140 160 180 2001.414

1.4145

1.415

1.4155

1.416

1.4165

1.417

1.4175

1.418

Iteration

Fitness

Fig. 6 Simulation Results: fitness function values for 200 sets of optimal solutions.

4 0euro-Genetic Algorithm Based Approach

Artificial NN’s can be considered a problem solving tool with specific charac-teristics which can be of interest for the development of alternative solutions to a vast range of problems. In this work we are mainly interested in exploring the well known capability of NN’s to approximate complex nonlinear functions [27-28] when applied to the objective functions associated with the optimal design of pa-rallel manipulators.

The particular structure of NN’s solutions, which is based on the use of a high number of simple processing elements and the respective interconnections, creates a mapping function tool with a high number of adjustable parameters. The process of adjusting these parameters requires the availability of data which represents the instances of the problem. Although the design phase can be time consuming and therefore normally performed in an off-line mode, a trained NN consists of a well defined and deterministic set of operations which provide an instant solution to a specific instance of the problem, provided it has learned and generalized well.

Our objective was therefore, at this stage, to evaluate the performance of a NN developed to map the condition number function of the inverse jacobian, κ, of eq-uation (14).

Page 12: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

12 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

4.1 Development of an Artificial &eural &etwork Mapping of the

Objective Function

The process of designing a NN solution to a specific problem is mainly guided by trial and experimentation, due to the lack of explicit and proven methods that can be used to choose and set the various parameters involved in the NN design process.

Among the different structures and types of NN available, the experiments were done using the multilayer feedforward NN architecture and using the Leven-berg-Marquardt learning algorithm. The representation of the problem in this structure consisted of defining the kinematic parameters (rB, φP, φB, L) as four in-put elements to the network, and κ as the output element (Figure 7).

The design process then consisted of training and testing networks with differ-ent numbers of elements in the hidden layer (i.e., 25, 50 and 100). The data used (i.e., 9999 pairs of input and desired output) was randomly generated and divided in three data sets (60% training, 15% validation, 15% testing). Normalization was applied to both input and output values. The criteria chosen to stop the training process was the number of successive increases of the error on the validation set (validation checks) and different values were experimented in order to visualize the performance of the network through the mean square error function (mse). Figure 8 represents an example of the training iterations relative to one of the net-works which performed better (Net4 in Table 1).

Fig. 7 Feedforward NN elements (4 Inputs, 1 Hidden layer, 1 Output).

Considering the range of values of the objective function included in the data sets [1.4170, 12.0140], the results obtained with mapping the objective function using NN’s show that a good approximation is possible in average terms (i.e.,

01.0<mse ), but extreme error values can be larger by more than one order of magnitude (i.e., 0.33), although in few cases.

The next step was to investigate whether this mapping can be of use for the op-timal design of parallel manipulators. To this purpose the trained NN approxima-tion to the analytical objective function was used as the fitness function for an op-timization through GA’s.

Page 13: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 13

0 200 400 600 800 1000 1200 1400 160010

-8

10-6

10-4

10-2

100

102

Number of Epochs

MSE-Mean Square Error [Log Scale]

net 402F (4INP-50H-1OUT); best 1607 epochs

TRAINING

VALIDATION

TEST

Fig. 8 Example of the performance measure (mse) during training for the three sets of data (train-ing, validation, testing).

Table 1 Neural networks performance considering the error function, after reversing normaliza-tion, (i.e., NN output-Target) on the Training and Test data sets, indicated through the square root of mean square error ( mse ), maximum (Max) and minimum (Min) error values.

The results obtained showed in general that the GA process using the NN con-verged to low values of the approximated function, although these are not as close to the possible minimum as when using the analytical function. This can be appre-ciated in Figure 9 below. For the 200 best possible values obtained in each search experiment using NN’s, the respective values for the approximated objective func-tion were always well above the [1.41, 1.42] range obtained using the analytical function.

Training Test

mse Max Min √mse Max Min

Net1 0.0112 0.3091 -0.1368 0.0290 1.0472 -0.1237

Net2 0.0067 0.0702 -0.1709 0.0121 0.3925 -0.1409

Net3 0.0099 0.1624 -0.1473 0.0220 0.7411 -0.1276

Net4 0.0034 0.0543 -0.0490 0.0093 0.3304 -0.0726

Net5 0.0055 0.0578 -0.1197 0.0170 0.6196 -0.0744

Net6 0.0049 0.0550 -0.1041 0.0138 0.4912 -0.0809

Page 14: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

14 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

20 40 60 80 100 120 140 160 180 2001.41

1.42

1.43

1.44

1.45

1.46

1.47

1.48

1.49

1.5

1.51

Best 200 cases corresponding to each of the search experiments: GA-Anal.F., GA-Net2, GA-Net4, GA-Net6

Objective Function (k)

GA-Anal.F. GA-Net2 GA-Net4 GA-Net6

Fig. 9 Values of the objective function (κ) for each of the 200 considered best cases: GA-Analytical Func., GA-Net2, GA-Net4, GA-Net6.

The results obtained (Figure 9) seem to confirm that NN’s are good as interpo-lators, but not as good for extrapolation. The NN’s ability to map a function, based on sets of data from that function, can not be expected to produce good maps of extreme values of the function if they have not been included in the training sets. Therefore, at most it can be expected for them to map close to minimum values.

The behavior of the NN approximations close to minimum values is illustrated in Figure 10 and Figure 11. A plot of the real values, i.e., obtained from the ana-lytical function, and the respective NN output, is made for each of the 200 best cases. Although the quality of the solutions obtained are still above the overall minimum range values [1.41, 1.42], more cases are closer, even if more dispersed, to these values. The difference from Figure 10 and Figure 11 can be interpreted as due to the size of the networks (25 hidden elements in Net2 versus 50 hidden ele-ments in Net4) and the associated generalization capabilities.

Page 15: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 15

20 40 60 80 100 120 140 160 180 2001,41

1,42

1,43

1,44

1,45

1,46

1,47

1,48

1,49

1,5

1,51

Best 200 cases obtained with GA-Net4: analytical function and NN approximation

Objective Function (k)

Analytical Func (k) Net4

Fig. 10 Values of the objective function (κ) for each of the 200 considered best cases using GA-Net4: values of the analytical function and values of the NN approximation.

20 40 60 80 100 120 140 160 180 2001.41

1.42

1.43

1.44

1.45

1.46

1.47

1.48

1.49

1.5

1.51

1.52

Best 200 cases obtained with GA-Net2: analytical function values and NN approximated values

Objective Function (k)

Analytical Func. Net2

Fig. 11 Values of the objective function (κ) for each of the 200 considered best cases using GA-Net2: values of the analytical function and values of the NN approximation.

In spite of the limitations revealed by the NN’s based solutions, in the ability to

extrapolate well to the minimum values of a function, they may be useful when a multi-objective and global optimization problem is considered. In such cases, more than considering absolute minimum values for different objective functions, recognizing patterns of good solutions may provide better and more feasible ap-proaches. The ability to provide good solutions for each objective function, as the

Page 16: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

16 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

NN based solutions provide, rather than the optimum solutions can therefore be equally important.

Another issue related to the use of a GA-NN based approach was the reduction of the search time by 30% to 50% compared to the use of a GA-analytical func-tion. This as well adds favorably to the advantages of NN based solutions.

5 Conclusions

In this paper the kinematic design of a 6-dof parallel robotic manipulator for maximum dexterity was analyzed. First, a GA was utilized to solve the optimiza-tion problem. Afterwards, a neuro-genetic formulation was developed and tested.

The GA converged to optimal solutions characterized by multiple sets of op-timal kinematic parameters. Moreover, the GA provides a representative solution set of the parameters front.

NN’s were used to map nonlinear objective functions associated with the de-sign of parallel manipulators. The performance obtained showed they can be used as the fitness function in a GA minimization process, provided good solutions ra-ther then optimum solutions are of interest. In such cases they reduce the computa-tional time. These solutions may be of interest when objective functions with op-posite behaviors are involved, or a more global, rather than local problem is considered in relation to the parallel manipulator workspace.

References

1. Chablat D, Wenger P, Majou F et al (2004) An Interval Analysis Based Study for the Design and the Comparison of Three-Degrees-of-Freedom Parallel Kinematic Machines. The Inter-national Journal of Robotics Research 23:615–624

2. Constantinescu D, Salcudean S, Croft E (2005) Haptic Rendering of Rigid Contacts Using

Impulsive and Penalty Forces. IEEE transactions on robotics 21: 309–323 3. Lopes AM (2007) Optimization of a 6-DOF Parallel Robotic Manipulator based on Kinematic

Performance Indexes. In: Proc. of the 26th IASTED International Conference on Modelling, Identification, and Control. Innsbruck, Austria

4. Kumar V (1992) Characterization of Workspaces of Parallel Manipulators. ASME J. Mechan-

ical Design 114:368–375 5. Masory O, Wang J (1995) Workspace Evaluation of Stewart Platforms. Advanced Robotics

9:443–461 6. Miller K (2004) Optimal Design and Modeling of Spatial Parallel Manipulators. The Interna-

tional Journal of Robotics Research 23:127–140

Page 17: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

Design Optimization of a Parallel Manipulator 17

7. Bhattacharya S, Hatwal H, Ghosh A (1995) On the Optimum Design of Stewart Platform

Type Parallel Manipulators. Robotica 13:133–140 8. Tahmasebi F, Tsai L-W (1995) On the Stiffness of a Novel Six-Degree-of-Freedom Parallel

Minimanipulator. Journal of Robotic Systems 12:845–856 9. Liu X-J, Wang J, Pritschow G (2006) Performance atlases and optimum design of planar 5R

symmetrical parallel mechanisms. Mechanism and Machine Theory 41:119–144 10. Gosselin C, Angeles J (1991) A Global Performance Index for the Kinematic Optimization

of Robotic Manipulators. ASME J. Mechanical Design 113:220–226 11. Pittens K, Podhorodeski R (1993) A Family of Stewart Platforms with Optimal Dexterity.

Journal of Robotic Systems 10:463–479 12. Daniali H, Zsombor-Murray P, Angeles J (1995) The Isotropic Design of Two General

Classes of Planar Parallel Manipulators. Journal of Robotic Systems 12:795–805 13. Alici G, Shirinzadeh B (2004) Optimum synthesis of planar parallel manipulators based on

kinematic isotropy and force balancing. Robotica 22:97–108 14. Lopes AM, Almeida F (2006) Force-Impedance Control of a 6-dof Parallel Robotic Manipu-

lator. In: Proc. of the 2006 IEEE International Conference on Computational Cybernetics. Tallinn, Estonia

15. Gao Z, Zhang D, Ge Y (2009) Design optimization of a spatial six degree-of-freedom paral-

lel manipulator based on artificial intelligence approaches. Robotics and Computer Integrated Manufacturing. doi:10.1016/j.rcim.2009.07.002

16. Laribi M, Romdhane L, Zeghloul S (2007) Analysis and dimensional synthesis of the

DELTA robot for a prescribed workspace. Mechanism and Machine Theory 42:859–870 17. Rao N, Rao K (2009) Dimensional synthesis of a spatial 3-RPS parallel manipulator for a

prescribed range of motion of spherical joints. Mechanism and Machine Theory 44:477–486 18. Merlet J-P, Gosselin C (1991) Nouvelle Architecture pour un Manipulateur Parallele a Six

Degres de Liberte. Mechanism and Machine Theory 26:77–90 19. Yoshikawa T. (1985) Manipulability of Robotic Mechanisms. The International Journal of

Robotics Research. 4:3–9 20. Salisbury K, Craig J (1982) Articulated Hands: Force Control and Kinematic Issues. The In-

ternational Journal of Robotics Research 1:4–17 21. Holland J H (1992) Adaptation in Natural and Artificial Systems: An Introduction analysis

with Applications to Biology, Control, and Artificial Intelligence. MIT Press 22. Michalewicz Z, Fogel DB (2000) How to solve it: modern heuristics. Springer-Verlag, New

York 23. Deb K (2001) Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley &

Sons, Chichester

Page 18: Design Optimization of a Parallel Manipulator Based …...Design Optimization of a Parallel Manipulator Based on Evolutionary Algorithms Manuel R. Barbosa 1, E.J. Solteiro Pires 2,

18 Manuel R. Barbosa, E.J. Solteiro Pires, António M. Lopes

24. Laumanns M, Thiele L, Deb K et al (2002) Archiving with Guaranteed Convergence and Di-

versity in Multi-Objective Optimization. In: Proc. of the Genetic and Evolutionary Comp. Conference. San Francisco, USA

25. Solteiro Pires EJ, de Moura Oliveira PB, Tenreiro Machado JA (2005) Multi-objective Max-

iMin Sorting Scheme. Lecture Notes in Computer Science 3410:165–175 26. Solteiro Pires EJ, Mendes L, de Moura Oliveira PB et al (2008) Single-objective front opti-

mization: application to RF circuit design. In: Proc. of the 10th annual conference on Genetic and evolutionary computation. Atlanta, USA

27. Gupta M, Jin L, Homma N (2003) Static and Dynamic Neural Networks, From Fundamentals

to Advanced Theory. John Wiley & Sons 28. Bishop C (1997) Neural Networks for Pattern Recognition. Oxford University Press