Comparison of Neural Network Robot Models with Not ... - CiteSeerX

Report 2 Downloads 221 Views
Comparison of Neural Network Robot Models with Not Inverted and Inverted Inertia Matrix Jakub Mo˙zaryn and Jerzy E. Kurek Warsaw University of Technology, Institute of Automatic Control and Robotics, 02-525 Warszawa, ul. `sw.Andrzeja Boboli 8, Poland [email protected]

Abstract. The mathematical model of an industrial robot is usually described in the form of Lagrange-Euler equations, Newton-Euler equations or generalized d’Alambert equations. However, these equations require the physical parameters of a robot that are difficult to obtain. In this paper, two methods for calculation of a Lagrange-Euler model of robot using neural networks are presented and compared. The proposed network structure is based on an approach where either a not inverted or inverted inertia matrix is calculated. The presented models show good performance for different sets of data.

1

Introduction

An accurate robot mathematical model is useful for the design of advanced robot control systems. Its calculation requires knowledge of exact values of a robot’s physical parameters. It is rather difficult to obtain the data without disassembling a robot. One of the methods which enables the identification of the robot mathematical model without a’priori knowledge of these parameters is using the neural networks [3,4,5]. This paper presents identification method of the robot mathematical model using neural networks. Firstly, the robot mathematical model is presented. Then, two neural network models of a robot are described, with not inverted inertia matrix (NIIM), and with inverted inertia matrix (IIM). Next, computer simulations and comparison of the robot neural network models are presented. Finally, concluding remarks are given.

2

Discrete Time Robot Model

The discrete time model of a robot with n degrees of freedom, in the form of the Lagrange-Euler equation [2] can be presented as follows τ (k) = Tp−2 M (k)[q(k + 1) − 2q(k) + q(k − 1)] + V (k) + G(k) ,

(1)

where τ (k) ∈ Rn is a vector of control signals, q ∈ Rn is a vector of generalized joint coordinates, M (k) = M (q(k)) = [mij (k)] ∈ Rn×n is a robot inertia matrix, G(k) = G(q(k)) = [gi (k)] ∈ Rn is a vector of gravity loading, W. Duch et al. (Eds.): ICANN 2005, LNCS 3697, pp. 417–422, 2005. c Springer-Verlag Berlin Heidelberg 2005 

418

J. Mo˙zaryn and J.E. Kurek

V (k) = V (q(k), q(k − 1)) = [vi (k)] ∈ Rn is a vector of Coriolis and centrifugal effects, k is discrete time, t = kTp , Tp is sampling time.

3

Design of the Neural Network Robot Models

In the robot model (1) the unknown nonlinear elements of M (k), V (k), G(k) have to be identified. For their identification neural networks are proposed, because of their ability to approximate the nonlinear multidimensional functions [6]. Two different approaches to design robot neural models can be developed. In the first approach, with a not inverted inertia matrix, equation (1) can be rewritten as M (k)γ(k) + H(k) = τ (k) , (2) where H(k) = [hi (k)] = V (k) + G(k) , γ(k) = [γi (k)] =

Tp2 [q(k

+ 1) − 2q(k) + q(k − 1)] .

(3) (4)

Matrix equation (2) can be presented in the form of n independent equations n 

mij (k)γj (k) + hi (k) = τi (k), i = 1 . . . n .

(5)

j=1

The structure of neural network should be designed to identify the elements hi (k) and mij (k). The inputs of the neural network are q(k − 1), q(k), and γ(k). The output of the neural network is τi (k). The performance function of the neural network is in the form JNIIMi

N 1  = (τi (k) − τNNi (k))2 , N

(6)

k=1

where τNNi (k) is the neural network output and N is the number of training samples. The neural network model of a robot with a not inverted inertia matrix can be used to calculate the values of MNN (k) = [mNNij (k)] and HNN (k) = [hNNi (k)] in (2). Thus, using neural networks generalized coordinates qNN (k + 1) can be calculated based on (2) and (4) as follows −1 qNN (k + 1) = MNN (k)Tp2 [τ (k) − HNN (k)] + 2q(k) − q(k − 1) .

(7)

In the second approach, with inverted inertia matrix, equation (1) can be presented as follows M (k)τ (k) + P (k) = γ(k) , (8) where

M (k) = [mij ] = M −1 (k) , P (k) = [pi (k)] = −M

−1

(k)[V (k) + G(k)] .

(9) (10)

Comparison of Neural Network Robot Models

419

Each of n independent equations of matrix equation (8) can be written as follows n 

mij (k)τi (k) + pi (k) = γi (k), i = 1 . . . n .

(11)

j=1

In this case, the structure of neural network should be designed to identify the elements pi (k) and mij (k). The inputs of the neural network are q(k − 1), q(k), and τi (k), i = 1 . . . n. The output of the neural network is γi (k). The performance function of the neural network is in the form JIIMi =

N 1  (γi (k) − γNNi (k))2 , N

(12)

k=1

The neural network robot model with inverted inertia matrix can be used to calculate the values of M NN (k) = [mNNij (k)], PNN (k) = [pNNi (k)], and γNN (k) = [γNNi (k)] in (8). Thus, using neural networks generalized coordinates qNN (k + 1) can be calculated based on (4) as follows qNN (k + 1) = Tp−2 γNN (k) − 2q(k) + q(k − 1) .

(13)

Fig. 1. Structure of the neural network for the robot model identification

For both approaches, the structure of neural network is similar, with different input and output signals, which is presented in Fig.1.

4

Computer Simulations

To compare the presented methods sets of data were generated from the simulation of the robot PUMA 560 [1] with 6 degrees of freedom, revolute joints and

420

J. Mo˙zaryn and J.E. Kurek

Table 1. Parameters of training (i = 18[ ◦s ], ϕi = 0[◦ ], i = 1 . . . 6) and testing (i = 18[ ◦s ], ϕi = 180[◦ ], i = 2, 3, 5, 6, ϕi = 0[◦ ], i = 1, 4) trajectories q1 [◦ ] q2 [◦ ] q3 [◦ ] q4 [◦ ] q5 [◦ ] q6 [◦ ] qmini , training trajectories -20 10 -180 -20 20 -100 qmaxi , training trajectories 160 45 225 170 100 266 qmini , testing trajectories -20 10 -180 -20 20 -100 qmaxi , testing trajectories 86 140 30 40 90 120

Fig. 2. Trajectories and control signals: a. training data, b. testing data

sliding mode control algorithm. They were used to train and test the proposed neural network models. The trajectory for i-th joint was set according to the following formula qi (k) = ai cos(i kTp + ϕi ) +

ai + qmini , i = 1 . . . n , 2

(14)

where ai = |qmaxi − qmini | is the amplitude, qmaxi is the maximal value of angular position, qmini is the minimal value of angular position, i is the angular velocity and ϕi is phase. The values of qmaxi , qmini , i , ϕi for the training and testing data are given in Table 1. The trajectories and control signals are presented in Fig.2. The robot was simulated with given trajectory in time interval T = 10[sec], with sampling time Tp = 0.01[sec]. Thus, there were 1000 data samples for

Comparison of Neural Network Robot Models

421

training and 1000 data samples for testing of the neural models. In all nonlinear layers (NL) the neurons are described by the sigmoidal activation function y = fnl (x) =

1 −1 . 1 + e−x

(15)

In linear layers (L) the neurons are described by the linear activation function y = fl (x) = x ,

(16)

L where x = i=1 wi xi + b, L is the number of neuron inputs, wi is the weight of the i-th input to neuron, xi is the i-th input to neuron, b is bias. In both robot neural network models, (IIM) and (NIIM), there were two neurons in each nonlinear layer and one neuron in each linear layer. Models were trained using the the Levenberg - Marquardt method to update weights in all layers [6]. There were 1000 training iterations. To compare both neural network models, (IIM) and (NIIM), quality indexes were chosen as average absolute error Qavi and maximum absolute error Qmaxi in i-th joint N 1  Qavi = |ei (k)|, i = 1 . . . n , (17) N k=1

Qmaxi = max |ei (k)|, k = 1 . . . N, i = 1 . . . n ,

(18)

k

where errors were calculated as ei (k) = qNNi (k) − qi (k), i = 1 . . . n ,

(19)

k is the number of the data sample, N is the number of all data samples. The values of quality indexes (17) and (18) for (IIM) and (NIIM) robot neural network models for training and testing data are given in Table 2. The obtained results show that for the robot neural network model with a not inverted inertia matrix the average errors are generally smaller than for the robot neural network model with an inverted inertia matrix. The main drawbacks Table 2. Values of the average errors Qavi and maximum errors Qmaxi Qavi NIIM Model, training NIIM Model, testing IIM Model, training IIM Model, testing Qmaxi NIIM Model, training NIIM Model, testing IIM Model, training IIM Model, testing

q1 [◦ ] 0.080 0.032 0.360 0.210 q1 [◦ ] 0.480 2.800 0.560 0.330

q2 [◦ ] 0.040 0.018 0.070 0.260 q2 [◦ ] 0.210 3.660 0.110 0.410

q3 [◦ ] 0.017 0.090 0.820 0.420 q3 [◦ ] 0.530 15.420 1.270 0.660

q4 [◦ ] 0.115 0.034 0.380 0.120 q4 [◦ ] 1.510 2.890 0.600 0.200

q5 [◦ ] 0.030 0.130 0.740 0.140 q5 [◦ ] 0.130 12.460 0.250 0.220

q6 [◦ ] 0.035 0.049 0.740 0.440 q6 [◦ ] 1.100 8.090 1.200 0.700

422

J. Mo˙zaryn and J.E. Kurek

of the robot neural network model with a not inverted inertia matrix are the significantly bigger maximal errors and the requirement of inversion of the matrix MNN (k) to calculate the generalized coordinates. The neural network model with the inverted inertia matrix has better overall performance. The main problem is the difficulty to recognize exactly which equation from the matrix equation (8) is calculated. It is due to the fact that as the output is γi , it can be the same for different joints during use of the robot neural network model.

5

Concluding Remarks

In this work the two approaches to design neural networks that can be used for a robot mathematical model identification, have been described. The results obtained during the simulations have shown, that presented robot neural network models have good approximation properties for training and testing data. However, there are a few drawbacks of both methods that should be considered during the design and use of these models. The model with a not inverted inertia matrix can be used for the the identification of the Lagrange-Euler equation coefficients. The model with an inverted inertia matrix has better overall performance. It is also useful in practice, especially for the design of robot control algorithms, where the inverted inertia matrix is needed. We plan further research to improve the robot neural network models, and to use them in the synthesis of model-based robot control algorithms.

References 1. Corke, P.I., Armstrong-Helouvry, B.: A Meta Study of Puma 560 Dynamics: A Critical Appraisal of Literature Data. Robotica 13 (1995) 253-258 2. Fu, K. S., Gonzalez, R. C., Lee, C. S. G.: Robotics: control, sensing, vision, and inteligence. McGraw-Hill Book Company (1987) 3. Lewis, F. L., Liu, K., Yesildirek, A.: Neural Net Robot Controller with Guaranteed Tracking Performance. IEEE Transactions on Neural Networks 6 (1995) 703-715 4. Mo˙zaryn, J., Wildner, C., Kurek, J. E.: Wyznaczanie Parametr´ ow Modelu Robota Przemyslowego Przy Pomocy Sieci Neuronowych (Calculation of Industrial Robot Model Coefficients Using Neural Networks). Proc. XIV Krajowa Konferencja Automatyki KKA 2002 2 (2002) 675-678 (in polish) 5. Mo˙zaryn, J., Kurek, J. E.: Neural Network Robot Model with Not Inverted Inertia Matrix. Proc. 10th IEEE Int. Conf. on Methods and Models in Automation and Robotics MMAR 2004 2 (2004) 1021-1026 6. Osowski, S.: Sieci Neuronowe do Przetwarzania Informacji (Neural Networks for Information Processing). OWPW Warszawa, Poland (1994) (in polish)