A Multiobjective Genetic Algorithm Applied to Control Optimization

5 downloads 140 Views 296KB Size Report
Jul 17, 2015 - 560 arm manipulator given by Rutherford17, have been developed in terms of the position and time derivatives of the PUMA arm joint angles ...
SCIENCE INTERNATIONAL

RESEARCH ARTICLE

DOI: 10.17311/sciintl.2015.7.17

A Multiobjective Genetic Algorithm Applied to Control Optimization S. Chouraqui and H. Benzater Department of Computer Science, University of Sciences and Technology, USTO'MB, 1505 El, Mnouar, Algeria ABSTRACT Background: In control system design there are often a number of design objectives to be considered. The objectives are sometimes connecting and no design exists which can be considered best with respect to all objectives. Hence, there is an inevitable tradeoff between design objectives, for example, between and output performance objective and stability robustness. These considerations have led to the study of multi objective optimization methods for control systems. Methods: In this study a multi-objective Non-dominated Sorting Genetic Algorithms NSGA-II is used to tuning of Proportional Derivative (PD) controller of a six freedom arm manipulator PUMA560. The NSGAII algorithm searches for the controller PD gains so that the six Integral Absolute Errors (IAE) in joint space are minimized. Results: Simulation numerical results of multivariable PD control and convergence of the NSGA-II are presented and discussed. Conclusion: The proposed optimization method based on NSGA-II is capable of generating adequate gains for PUMA560 system with minimum errors. Key words: Arm manipulator, PD control, Simulink, NSGA-II Science International 3 (1): 7-17, 2015 (Non-dominated Sorting Genetic Algorithm II) algorithm that can automatically adjust the gains parameters during plant operation in a routine way.

INTRODUCTION In control system design there are often a number of design objectives to be considered. The objectives are sometimes conflicting and no design exists which can be considered best with respect to all objectives. Hence, there is an inevitable tradeoff between design objectives, for example, between output performance objective and stability robustness. These considerations have led to the study of multiobjective optimisation methods for control systems. Although there has been considerably more research into multiobjective decision making in the field of systems engineering than into multiobjective optimisation design of multivariable control, more and more research in multiobjective control has been carried out. The main research areas are multiobjective robust control1,2, multiobjective critical control3, multiobjective mulitobjective PID eigenstructure assignment4, 5-7 control , multiobjective identification8, multiobjective fault detection9 and multiobjective linear quadratic Gaussian control10-14. This study attempts to develop an automatic PD-computed torque tuning scheme using NSGA-II

MATERIALS AND METHODS Dynamic model of the PUMA 560 arm manipulator Presentation of the PUMA 560 arm manipulator: The PUMA robot is connected to a 1980 series controller that has a programming language called VAL II15. The Unimation PUMA 560 is a PC controlled, robotic arm used frequently in industrial applications, it is a serial manipulator that has six revolute joints or six axes as shown in (Fig. 1) and each joint is controlled by a DC servo motor. The joint is defined by its angle and also named axis. The main component of PUMA 560 robot electrical system is the controller16,17. Dynamic formulation of the PUMA560 arm manipulator: The dynamic equations of the PUMA 560 arm manipulator given by Rutherford17, have been developed in terms of the position and time derivatives of the PUMA arm joint angles Eq. 1:

Corresponding Author: S. Chouraqui, Department of Computer Science, University of Sciences and Technology, USTO'MB, 1505 El, Mnouar, Algeria

    C  q  q 2   g  q    A  q   q  B  q   qq

© 2015 Science International

7

(1)

SCIENCE INTERNATIONAL

RESEARCH ARTICLE

A11.2.57+1.38*CC2+0.30*SS23+7.44*0.1*C2*S23 A12.6.90*0.1*S2-1.34*0.1*C23+2.38*0.01*C2 A13.-1.34*0.1*C23-3.97*0.001*S23 A14.A15.A16.0; A22 = 6.79+7.44*0.1*S3 A23.0.333+3.72*0.1*S3-1.10*0.01*C3 A24.A25.A26.0; A33.1.16 A34.-1.25*0.001*S4*S5 A35.1.25*0.001*C4*C5; A36.0 A44.0.20; A35.A36?0 A55.0.18; A56.0; A66.0.19 (4)

Z4, Z6 z5, y4, y6 d2

x4, x5, x6

z2

z1, z0 d3 y1, y0 x1, x0

y5 x2

y2 a2

d4 a3

z3

y3

The expressions giving the elements of the Coriolis matrix B, having the units of kg m2:

x3

(3)

B112.-2.76*SC2+7.44*0.1*C223+0.60*SC23-2.13 *0.01*(1-2*SS23) B113.7.44*0.1*C2*+0.60*SC23+2.20*0.01*C2 *S23-2.13*0.01*(1-2 *SS23) B114.-2.50*0.001*SC23*S4*S5+8.60*0.0001*C4 *S5-2.48*0.001*C2*C23*S4*S5 B115.-2.50*0.001*(SS23*S5-SC23*C4*C5)-2.48*0.00 1*C2*(S23*S5C23*C4*C5)+ 8.60*0.0001*S4*C5; B116 = 0; B123.2.67*0.1*S23-7.58*0.001*C23 B124 = B125 = B136.0; B134 = B124; B135 = B125; B136 = B126; B145.0; B146.0; B156.0; B212 = 0; B213 = 0 B214.1.64*0.001*S23-2.50*0.001*C23*C4 *S5+2.48*0.001*S2*C4*S5+0.30*0.001*S23 *(1-(2*SS4)) B215.-2.50*0.001*C23*S4*C5+2.48*0.001*S2*S4 *C5-6.42*0.0001*C23*S4 B216 = - B126; B223.2.20*0.01*S3+7.44*0.1*C3; B224.-2.48*0.001*C3*S4*S5; B225.-2.50*0.001*S5+2.48*0.001* (C3*C4*C5-S3*S5) B226 = 0; B234 = B224; B235 = B225; B236 = 0; B245.0; B246.0; B256.0; B312 = 0; B313 = 0. B314.-2.50*0.001*C23*C4*S5+1.64*0.001*S23+0.3 0*0.001*S23*(1-2*SS4) B315.-2.50*0.001*C23*S4*C5-6.42*0.0001*C23*S4 B316.-B136; B323 = 0; B324.0; B325.2.50*0.001*S5; B326 = 0; B334 = B324; B335 = B325; B336 = 0; B345.-2.50*0.001*S5*C5; B346 = B246; B356 = B256; B412 = - B214; B413 = - B314; B414 = 0; B415 .-6.42*0.0001*S23*C4 B416 = -B146; B423 = B324;B424 = 0; B425.6.42*0.0001*S4; B426 = -B446; B434 = 0; B435 = B425 (5)

The expressions giving the elements of the kinetic energy matrix A, having the units of kg m2:

The expressions giving the elements of the Coriolis matrix C, having the units of kg m2 are given in Eq. 6:

Fig. 1: PUMA 560 in the zero position with attached coordinates frames shown17 where, q is the joint position (joint angle), A (q) is the n *n kinetic energy matrix which is symmetric, B (q) is the n *n (n-1)/2 matrix of Coriolis torques, C (q) is the n *n matrix of centrifugal torques, g (q) is the n-vector of gravity torques, q@ is the n-vector of accelerations and τ is the generalized joint force vector. The symbols [qJ qJ ] and [qJ 2] are, respectively the notation for the n*(n-1)/2 vector of velocity products and the n* 1 vector of squared velocities, given by Eq. 2: q 2   q 12 , q 22 ...q n2 

(2)

    q 1q 2 , q 1q 3 ..., q 1q n , q 2 q 3 , q 2 q 4 ,..., q n 2 q n, , q n 1q n  qq

T

The matrices A (q), B (q), C (q) and g (q) are given in following16 with the abbreviation used Eq. 3-4 and 5: S2 = sin(q2), C5 = cos(q5) C23 = cos(q2+q3) S223 = sin(q2+q2+q3) CC2 = cos(q2)*cos(q2) CS4 = cos(q4)*sin(q4)

© 2015 Science International

8

SCIENCE INTERNATIONAL

RESEARCH ARTICLE qd Trajectory generation

q

 Direct dynamic model

Controller

qq Numeric integration

Fig. 2: PUMA’s arm simulation basic blocks C11 = 0, C12.6.90*0.1*C2+1.34*0.1*S23-2.38 *0.01*S2; C13 = 0.5*; C14.0; C15.0; C16 = 0; C21 = -0.5*B112 = 0; C22 = 0; C23 = 0.5*B223; C24.0; C25.0; C26 = 0; C31 = -0.5*B113; C32 = -C23; C33 = 0; C34.1.25*0.001*C4*S5; C35.C34; C36 = 0; C41 = -0.5*B114; C42 = -0.5*B224; C43 = 0.5*B423; C44 = 0; C45 = 0; C46 = 0; C51 = -0.5*B115; C52 = 0.5*B225; C53 = 0.5*B523; C54 = -0.5*B445; C55 = 0; C56 = 0; C61 = C62 = C63 = C64 = C65 = C66 = 0 (6)

D  q f  q i  With : q i : Initial Joint position  f q : Final Joint position

Then: 3

5

(10)

Although control systems based on approximate linear models are popular in current industrial robots, it is important to consider the complete nonlinear dynamics of the manipulator when synthesizing control algorithms17. Computed torque controller is based on feedback linearization and computes the required arm torques using the nonlinear feedback control law18, this nonlinear technique of controlling a manipulator promise better performance than do simpler linear schemes. Tow assumptions are considered to develop this control in the configuration space desired, first the joint position and velocities are measurable and second measurements are not affected with noise. The computed control law given in Rutherford17 was chosen in case that the motion is completely specified (i.e., in order to cause the manipulator joints to follow prescribed position trajectories), one possibility is to use the dynamic equation of the arm (Eq. 11):

Gravity terms, having the units of Newton-meters are given in Eq. 7: g1 = 0; g2.-37.2*C2-8.4*S23+1.02*S2; g3.-8.4*S23+0.25*C23; g4.2.8*0.01*S23*S4*S5; g5.-2.8*0.01*(C23*S5+S23*C4*C5); g6 = 0 (7) The direct dynamic model (q@ ) given in Armstrong et al.16 used to simulate the behavior of our arm manipulator and its control loop, is in Eq. 8:      C  q  q 2   g  q     (8) q   A 1  q    B  q   qq 

To simulate the behavior of the arm in Fig. 1, several blocks are needed like the trajectory generator block and the control block as mentioned in Fig. 2. The motion can be described both in joint space and Cartesian space as described in Armstrong et al.16, in present study, methods of path generation were considered in which the path shapes are described in terms of functions of joint angles. Many ways to generate a trajectory in the joint space16,17, among them the fifth order polynomial given by the following Eq. 9: q(t) = a0+a1t+a2t2+a3t3+a4t4+a5t5 0#t#tf

4

r  t   10  t   15  t   6  t   tf   tf   tf 

    C  q   q 2   g  q    A  q  0  B  q   qq

(11)

0   q d  k v   q d  q   k p   q d  q 

(12)

Where:

q@ d, qJ d and qd in Eq. 11 and 12 are, respectively the desired joint accelerations, velocities and positions in the joint space, calculated by the trajectory generator, τ is the generalized joint force vector, τ0 is the auxiliary control, q, qJ are, respectively the joint velocities and positions determined by using feedback from the joint sensors to compute the torques required and kn, kv are controller gains.

(9)

And since in Liu and Kadirkamanathano8: q(t) = qi+r(t)*D © 2015 Science International

9

SCIENCE INTERNATIONAL

RESEARCH ARTICLE (a) Set point

(b) Error

+ -

E.E

PD controller

Input U

Output

E

kp

Plant

+ E

U

kd

Fig. 3(a-b): Proportional-Derivative (PD) controller diagram (a) PD control of a plant and (b) PD controller internal structure NSGAII controller analysis, modelling and implementation on PUMA 560 arm manipulator PD controllers: The block diagram shown in the Fig. 3a illustrates a closed-loop system with a PD controller in the direct path which is the usual connection. The system's output should follow as closely as possible the reference signal (set point). The Proportional Derivative (PD) controller is characterized by two gains kpkd, as shown in Fig. 3b where, kpkd are controller gains.

C

Definition: The Pareto optimal set is defined as: P* = {x 0 X|ò y 0 X: f (y) #f(x)}

NSGA-II algorithm: Non-dominated Sorting Genetic Algorithm II (NSGA-II) is the heavily revised version of the Non-dominated Sorting Genetic Algorithm (NSGA) which was introduced in the mid 199018,19. The NSGA algorithm is a popular non-domination based genetic algorithm for multi-objective optimization. It is a very efficient algorithm but has been generally criticized for its computational complexity, needs elitism operator and a value of the sharing parameter ‘σ share’ should be chosen a priori . The NSGA-II is a modified version that adopts a more efficient ranking procedure than its predecessor14. Also, it estimates the density of solutions surrounding a particular solution in the population by computing the average distance of two points on either side of this point along each of the objectives of the problem. This value is the so-called crowding distance. During selection, the NSGA-II uses a crowded-comparison operator which takes into consideration both the non domination rank of an individual in the population and its crowding distance (i.e., non-dominated solutions are preferred over dominated solutions, but between two solutions with the same non domination rank, the one that resides in the less crowded region is preferred19.

C

C

(13)

The first front being completely non-dominant set in the current population and the second front being dominated by the individuals in the first front only and the front goes so on. Each individual in each front are assigned rank (fitness) based on front in which they belong to. Individuals in first front are given a value of 1 and individuals in second are assigned fitness value as 2 and so on Calculate the crowding distance, a new parameter, calculating as follow for each individual14: For each front Fi, n is the number of individuals. C Initialize the distance to be zero for all the individuals i.e., Fi(dj) = 0, where, j corresponds to the jth individual in front Fi C For each objective function m *Sort the individuals Fi in front based on objective m i.e.: I = sort (Fi, m)

(14)

*Assign infinite distance to boundary values for each individual in Fi. i.e., I(d) = 4 and I(dn) = 4 *For k = 2 to (n-1) I dk   I dk  

General description of NSGA-II: C C

The rank of each individual (solution) in the population is calculated based in Pareto dominance relation originally proposed by Francis Ysidro Edgeworth in 1881 but generalized by the French Italian economist Vilfredo Pareto in 189618. The set of Pareto optimal solutions is defined in the following definitions:

The population is initialized as usual The m fitness values of the individuals in the population are calculated

I  k  1  m  I  k  1  m f mmax  f mmin

(15)

where, I(k) is the value of the objective function of the kth individual in I:

© 2015 Science International

10

SCIENCE INTERNATIONAL

RESEARCH ARTICLE C

C

C

C

The parents for the crossover are selected: Parents are selected from the population by using binary tournament selection based on the rank and crowding distance. An individual is selected if the rank is lesser than the others. In case of solutions that have the same rank, the individual with the greatest crowding distance is chosen Generation of the off springs: The selected individuals generate off springs from crossover and mutation operators The old population and current offspring are sorted again based in non-domination and only the best N individuals are selected, where N is the population size. The selection is based in rank and the crowding distance on the last front Back to 6 a convergence criterion is met. More details on the algorithm are found in Armstrong and Roted14

Step 2: Each fitness fij = 1 …6 (fj = IAEj) is calculated for each individual in the population and save its value, by concatenation of each individual string and its fitness string Step 3: Sort the current population based on the non-domination sort by calculating the rank value and the crowding distance value of each individual Step 4: Individuals (parents) are selected by tournament selection Step 5: The Simulated Binary Crossover (SBC) is applied to generate off springs find in Jaimes et al.18. In addition to the crossover and mutation probabilities, the SBC needs to be implemented two new parameters: The distribution index for crossover ηc and the mutation distribution index ηm Step 6: Step 2 and 3 are applied to the whole population Step 7: Next population is formed by selection of the best n individuals having minimum rank and the greater crowding distance for the individual of last rank Step 8: Back to step 4 until a predefined number of generations

NSGAII tuning of PD controller of PUMA560: The NSGAII algorithm is based on the genetic algorithm, so to represent a solution we must define it as a chromosome (i.e.: a string). PUMA560 contains independent controller for each joint. For six joint controllers, there are 12 values for PD parameters. By taking a 12 variable string as [Kp1 Kp2 … Kp6, Kv1 kv2 … kv6] for NSGAII, an optimal value can be searched. The method of tuning PD parameters using NSGAII is based in minimizing the Integral of Absolute value of Error (IAE) (Eq. 16) and considerate as vector of fitness of joints20. If qd(k) is desired trajectory vector and q(k) is output trajectory vector then the error vector is in Eq. 17:

NSGAII acts as a controller which modifies the set of parameters of the jth population which consist of P individual parameters of control system. This modification is based in minimizing simultaneously six position errors. In the evaluation step of NSGAII, a simulation is performed for each controller20. Parameters used for simulation of NSGAII given in are: Crossover probability0.914, c = 20, m = 20, tour-size = 2 (size of the tournament selection), pool-size = ceil (size (population, 1)/2): pool-size is the number of individuals selected to form a mating pool after performing tournament selection. The population size and the generation number are defined by the user.

kl

IAE   e  k 

(16)

e(k) = qd(t)-q(t)

(17)

k 1

where, e(k) is the system error at lth sampling instant. The implementation of the NSGAII is presented as follow:

RESULTS Simulink diagrams: Figure 4 shown the implementation blocks of Fig. 2 in MATLAB/Simulink, the internal blocks of the computed torque controller are showed in Fig. 5. Angles, velocities and accelerations generated by the arm manipulator are calculated by the block in Fig. 6.

Step 1: Population is initialized: This function initializes the population with N individuals. Each individual is presented as[Kp1 Kp2 … Kp6, Kv1 kv2 … kv6] and each kpi, kvj taken its value randomly from 1 … 100 and (i = 1…6, j = 1…6) © 2015 Science International

11

SCIENCE INTERNATIONAL

RESEARCH ARTICLE

q"d

q"d

q'd

q'd

qd

qd

q2q_model

Control q'

Acceleration

Acceleration

q'

U

q'

qq_model

Velocities

Velocities Trajectory generation

q' q

q

q

q_model

Positions

Pos_model Computed torque control

PUMA560

Fig. 4: Simulink diagram of the simulation loop of the PUMA560 arm manipulator q

A(q)

Matrix A(q)

Matrix multiply

Q'd

1 Q'd 2

A(q)*U_aux

Q'd

Q'd 3 Qd 4

qd

U_aux

q'

q 5 q

q Auxiliary control

B11 B12 B(q) B13 B14 B16 B26 B27 B28 B46 B56 B4_13

q

B11 B12 B13 B14 B16 B26

c(q)

B27 B28 B46 B56 B4_13

Matrix C

Matrix M (q)

Matrix Martix multiply multiply

qp_sqr q'

C(q)*sqr(qp) qp_qp

q

Matrix multiply B(q)*qp_qp

G (q)

Fig. 5: Simulink diagram of the computed torque control © 2015 Science International

12

U Control

SCIENCE INTERNATIONAL

RESEARCH ARTICLE

1 q" q'

2

q'

q'

2 q'

q

3

q"

q"

q q

3

U

1

q

Control Numeric integration

Direct model of the PUMA 560 arm

Fig. 6: Block diagram for acceleration (q@ ), velocity (qJ ) and position (q)

0.4

(a) 1.5

Desired position 1 Model position 1

0.3

(b) Desired position 2 Model position 2

1.0 Position q2 (rad)

Position q1 (rad)

0.2 0.1 0.0 -0.1

0.5 0.0 -0.5

-0.2 -1.0

-0.3 -0.4 -0.8

-1.5 (c) Desired position 3 Model position 3

-1.0 -1.2 -1.4 -1.6

0.0 -0.2 -0.4

-2.0

-0.6 0

0.1

0.2

0.3 0.4

0.5

0.6

0.7

0.8 0.9

Desired position 5 Model position 5

0.2

-1.8

-2.2

(d)

0.4 Position q5 (rad)

Position q3 (rad)

0.6

-0.8

1.0

0

0.1

0.2

Time (sec)

0.3 0.4

0.5

0.6

0.7

0.8 0.9

1.0

Time (sec)

Fig. 7(a-d): Desired and model joint angles (a) q1 (b) q2 (c) q3 and (d) q5 In the experiments, the MATLAB R2012a environment has been used for implementing and running the NSGAII algorithm. Experiments with PUMA560 system in Fig. 4-6 have been performed for the evaluation of the tuning procedure.

The results obtained are the joint angles (joint positions qij = 1, 2, 3, 5) showed from Fig. 7a-d and the joint velocities (qpJ j) from Fig. 8a-d which are, respectively compared with the desired joint angles values and the desired joint velocities values.

© 2015 Science International

13

SCIENCE INTERNATIONAL

RESEARCH ARTICLE The 4th and the 6th joint are not cited because it goes from 0° to 0°.

Result of NSGAII algorithm using for PD tuning: In the experiments, the MATLAB R2012a environment has been used for implementing and running the NSGAII algorithm. Experiments with PUMA560 system have been performed for the evaluation of the tuning procedure. The results obtained are the joint angles (joint positions) (Fig. 9a-d) and the joint velocities (Fig. 10a-d) which are respectively, compared with the desired joint angles values and the desired joint velocities values. We don't cite the 4th and the 6th joint because it goes from 0° to 0°. As a test, the NSGAII algorithm has been configured as follows: Population size: 2, Generations: 2. Results are shown in Fig. 9a-10d with an elapsed time 1.4534 sec. It can be seen in Fig. 9a-d that the NSGAII joint angles curves converge to the desired joint angles curves. Also, it can be observed that the NSGAII joint velocities curves in Fig. 10a-d converge to the desired joint velocities curves with very small deviation in some areas of the velocities curves.

Result of Simulink: The simulation was implemented in MATLAB/ SIMULINK environment. It is noted that, to simulate the PUMA 560 model in the Simulink environment, we used the Proportional-Derivative (PD) gain values given in Table 1, found empirically in Gambier20. To generate trajectory in joint space directly, we used as initial and final positions noted, respectively qi, qf found in Gambier20: qi = (-20°, 60°, -120°, 0°, -30°, 0°) qf = (20°, -60°, -60°, 0°, -30°, 0°) The system is simulated in 1 sec and the sampling time is 0.0 1 sec. Table 1: Proportional gain (Kp) and derivative gain (Kd) values Joint 1 2 3 4 5 6 700.0 1100 400.0 40.0 30.0 40.0 Kp Kd 20.0 20.0 20.0 5.0 5.0 5.0 1.4

Velocity qp2 (rad sec¯1)

1.2 Velocity qp1 (rad sec¯1)

0.5 (b) 0.0

Desired Desiredvelocity velocity 1 1 Modelvelocity velocity 1 Model

(a)

1.0 0.8 0.6 0.4 0.2 0.0

-0.5 -1.0 -1.5 -2.0 -2.5 -3.0 -3.5

-0.2

-4.0 0

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Time (sec)

0.8 0.9

1.0

0

2.0

2.0

Velocity qp5 (rad sec¯1)

1.5 1.0 0.5 0.0 Desired velocity33 Desired velocity Model velocity Model velocity33

-0.5 0

0.1

0.2

0.5

0.6 0.7

0.8

0.9

1.0

0.3 0.4

0.5 0.6 Time (sec)

1.0

0.9

1.0

0.0 Desired Desiredvelocity velocity 55 Model velocity velocity 55 Model

0.1

0.2

0.3 0.4

Fig. 8(a-d): Desired and model joint velocity (a) qp1, (b) qp2, (c) qp3 and (d) qp5

14

0.9

0.5

0.5

0.6 0.7

Time (sec)

© 2015 Science International

0.7 0.8

1.0

0

Time (sec)

0.2

1.5

-0.5

0.3 0.4

0.1

(d)

(c) Velocity qp3 (rad sec¯1)

Desiredvelocity velocity 2 2 Desired Modelvelocity velocity 2 2 Model

0.8

SCIENCE INTERNATIONAL

RESEARCH ARTICLE Figure 11a show the Integral Absolute Error (IEA) values and how they are minimized by the application of the NSGA II optimization algorithm. The minimized IAE values are showed in Fig. 11b. 0.4

Results obtained show the benefit of using an evolutionary optimization algorithm to improve traditional method (Ziegler-Nichols Method) for tuning controller gain21 or optimization by genetic algorithm22. 1.5

(a)

1.0

0.1 0.0 -0.1 -0.2 -0.3 -0.4

Desired position 1 NSG All position 1

0

-0.8

0.1

0.2

0.3 0.4 0.5 0.6 Time (sec)

0.7

0.8 0.9

0.5 0.0 -0.5 -1.0 -1.5

1.0

Desired position 2 NSG All position 2

0

0.6

(c)

-1.0

0.1

0.2

0.3 0.4

0.5 0.6 Time (sec)

0.7

0.8 0.9

1.0

(d)

0.4 Joint position q5 (rad)

Joint position q3 (rad)

(b)

0.2 Joint position q2 (rad)

Joint position q1 (rad)

0.3

-1.2 -1.4 -1.6 -1.8 -2.0

0

0.1 0.2

0.3 0.4 0.5 0.6 Time (sec)

0.7

0.8 0.9

0.0 -0.2 -0.4 -0.6

Desired position 3 NSG All position 3

-2.2

0.2

-0.8

1.0

Desired position 5 NSG All position 5

0

0.1 0.2

0.3 0.4

0.5

0.6

0.7

0.8 0.9

1.0

Time (sec)

Fig. 9(a-d): Joint angles multi-objective Non-dominated Sorting Genetic Algorithms (NSGA II) Proportional Derivative (PD) controller tuning (a) Desired and NSGAII joint angles q1, (b) Desired and NSGAII joint angles q2, (c) Desired and NSGAII joint angles q3 and (d) Desired and NSGAII joint angles q5 1.4

0.5

(a) Joint velocity qp2 (rad sec¯1)

Joint velocity qp1 (rad sec¯1)

1.2 1.0 0.8 0.6 0.4 0.2 0.0 -0.2 0.0 0.1

Desired velocity 1 NSGAll velocity 1

0.2 0.3

0.4

0.5 0.6

0.7

0.8 0.9

(b)

Desired velocity 2 NSGAll velocity 2

0.0 -0.5 -1.0 -1.5 -2.0 -2.5 -3.0 -3.5 -4.0 0.0

1.0

Time (sec)

0.1

0.2 0.3

0.4

0.5 0.6

Time (sec)

Fig. 10(a-d): Continue © 2015 Science International

15

0.7

0.8 0.9

1.0

SCIENCE INTERNATIONAL

RESEARCH ARTICLE 2.0

(c) Joint velocity qp5 (rad sec¯1)

Joint velocity qp3 (rad sec¯1)

2.0 1.5 1.0 0.5 0.0 -0.5

Desired velocity3 NSGAll velocity 3

0.0 0.1

0.2 0.3

0.4

0.5 0.6

0.7

0.8 0.9

(d)

1.5 1.0 0.5 0.0 Desired velocity 5 NSGAll velocity 5

-0.5

1.0

0.0 0.1

0.2 0.3

0.4

0.5 0.6

0.7

0.8 0.9

1.0

Time (sec)

Time (sec)

Fig. 10(a-d): Joint velocities Non-dominated Sorting Genetic Algorithms (NSGA-II) Proportional-Derivative (PD) Controller tuning (a) Desired and NSGAII joint velocities qp1, (b) Desired and NSGAII joint velocities qp2, (c) Desired and NSGAII joint velocities qp3 and (d) Desired and NSGAII joint velocities qp5

0.8 0.7

(b)

(a)

0.018 IAE 1 IAE 2 -IAE 3 IAE 5

Absolute error of the joint angles

0.9

IAE (rad)

0.6 0.5 0.4 0.3 0.2

0.014 0.012 0.01 0.008 0.006 0.004 0.002

0.1 0.0

e1 e2 e3 e5

0.016

0 0 0.1

0.2

0.3

0.4 0.5 0.6 0.7 Time (sec)

0.8

0.9

1.0

0

0.1 0.2

0.3

0.4

0.5 0.6 0.7 Time (sec)

0.8

0.9

1.0

Fig. 11(a-b): Minimisation of Integral Absolute Error (IAE) by Non-dominated Sorting Genetic Algorithms (NSGAII) algorithm (a) The IAE (fitness values) of the joint position and (b) Minimized absolute error of the joint positions in finding a set of non dominated solutions which not only stabilized the simulation of the modeled system but also had reasonable dynamic responses. Generally, it can be concluded that tuning of controller parameters using multi-objective algorithms is quite promising as it can be used when no analytical or empirical methods are applicable. At the end authors belief that, if sufficiently accurate models can be derived and simulated, the benefits clearly outweighs the drawbacks and we expect that the method will become more widely used in the future for other types of systems and controllers.

CONCLUSION In this study it has been investigated how PD controller parameters for a PUMA360's arm manipulator could be found using NSGA-II. First the desired performance measures were presented and the implementation of these into NSGA-II along with a short description of the parameters used in the algorithm was discussed. To show the performance of the implemented algorithm results were analyzed and compared with the ordinary PD controller. The first conclusion that can made is that the algorithm succeeded © 2015 Science International

16

SCIENCE INTERNATIONAL

RESEARCH ARTICLE

12. Koussoulas, N.T. and C.T. Leondes, 1986. The multiple linear quadratic Gaussian problem. Int. J. Control, 43: 337-349. 13. Toivonen, H.T. and P.M. Makila, 1989. Computer-aided design procedure for multiobjective LQG control problems. Int. J. Control, 49: 655-666. 14. Khargonekar, P.P. and M.A. Rotea, 1991. Multiple objective optimal control of linear systems: The quadratic norm case. IEEE Trans. Automatic Control, 36: 14-24. 15. Craig, J.J., 2005. Introduction to Robotics Mechanics and Control. 3rd Edn., Pearson Education Inc., New Jersey. 16. Armstrong, B., O. Khatib and J. Burdick, 1986. The explicit dynamic model and inertial parameters of the puma 560 arm. IEEE Int. Conf. Robotics Automation, 3: 510-518. 17. Rutherford, J., 2012. Using the PUMA560 robot. PUMA Unofficial User's Guide. http://rutherford-robotics.com/PUMA/USING% 20THE%20PUMA%20ROBOT.pdf. 18. Jaimes, A.L., S. Zapotecas Martinez and C.A.C. Coello, 2009. Chapter 1 An Introduction To Multi-Objective Optimization Techniques. Nova Science Publishers, Inc., New York, pp: 1-26. 19. Zitzler, E. and L. Thiele, 1999. Multiobjective evolutionary algorithms: A comparative case study and the strength pareto approach. IEEE Trans. Evol. Comput., 3: 257-271. 20. Gambier, A., 2008. MPC and PID Control Based on Multi-objective Optimization. Proceedings of the American Control Conference, June 11-13, 2008, Seattle, WA., pp: 4727-4732. 21. Ziegler, J.G., N.B. Nichols and N.Y. Rochester, 1942. Optimum settings for automatic controllers. Trans. Am. Soc. Mech. Eng., 64: 759-765. 22. Sekaj, I. and M. Sramek, 2005. Robust controller design based on genetic algorithms and system simulation. Proceedings of the 44th IEEE Conference on Decision and Control and the European Control Conference, December 12-15, 2005, IEEE Press, pp: 6881-6886.

REFERENCES 1. Whidborne, J.F., G. Murad, D.W. Gu and I. Postlethwaite, 1995. Robust control of an unknown plant-the IFAC 93 benchmark. Int. J. Control, 61: 589-640. 2. Whidborne, J.F., I. Postlethwaite and D.W. Gu, 1996. A mixed optimization approach to multiobjective computer-aided control system design. Proceedings of the IEEE International Symposium on Computer-Aided Control System Design, September 5-18, 1996, Dearborn, MI., pp: 309-314. 3. Liu, G.P. and R.J. Patton, 1995. Parametric state feedback controller design of multivariable systems. Int. J. Control, 61: 1457-1464. 4. Liu, G.P. and R.J. Patton, 1996. Robust control design using eigenstructure assignment and multi-objective optimization. Int. J. Syst. Sci., 27: 871-879. 5. Whidborne, J.F., I. Postlethwaite and D.W. Gu, 1995. Multiobjective Control System Designs a Mixed Optimization Approach. In: Recent Trends in Optimization Theory and Applications, Agarwal, R.P. (Ed.). Vol. 5, World Scientific, Singapore, pp: 467-482. 6. Liu, G.P. and S. Daley, 1998. Stable dynamical controller design for robust polynomial pole assignment. IEE Proc. Control Theory Appl., 145: 259-264. 7. Liu, G.P. and S. Daley, 1999. Optimal-tuning PID control for industrial systems. Control Eng. Pract., 7: 821-830. 8. Liu, G.P. and V. Kadirkamanathan, 1999. Multiobjective criteria for nonlinear model selection and identification with neural networks. IEE Proc. Control Theory Appl., 146: 373-382. 9. Chen, J., R.J. Patton and G.P. Liu, 1996. Optimal residual design for fault diagnosis using multi-objective optimization and genetic algorithms. Int. J. Syst. Sci., 27: 567-576. 10. Tabak, D., A.A. Schy, D.P. Giesy and K.G. Johnson, 1979. Application of multiobjective optimization in aircraft control systems design. Automatica, 15: 595-600. 11. Skelton, R.E. and M. Delorenzo, 1985. Space structure control design by variance assignment. J. Guidance Control Dynamics, 8: 454-462.

© 2015 Science International

17