Inverse Kinematics Solution of Robot Manipulator End-Effector Position Using Multi-Neural Networks

This paper proposes multi-neural networks structure for solving the inverse kinematic problem of the robot manipulator end-effector position. It offers an opportunity to reduce substantially the error of the solution. This error frequently arises when only one neural network is used. In this structure, each neural network is a multilayer perceptron (MLP) trained by the back propagation algorithm. The proposed approach verified by including it within an overall Cartesian trajectory planning system. This structure could produce the robot joint variables that are not included in the training data with an average error ±0.06º, and ±0.15º, ±0.05º for joint angles , and respectively. From the simulation results, the proposed structure of multi-neural network has superior performance for modeling the complex robot kinematics.


INTRODUCTION
here has been much interest in the last years in applying neural network algorithms to research topics in the field of robotics. One attractive area of application is the calculation of the inverse kinematics solution for robot manipulators, which is a difficult theoretical problem in robotics due to the nonlinearity of the mapping between the joint space and Cartesian space and also due to the multiple solutions. Analytical solutions can be found only for simple robot configurations, and even in such cases the solution is a very complex process. There are several published researches applying neural networks to both the forward and inverse kinematics problem of planar manipulators and 3D manipulators [1]. Researches referred in [2][3][4][5][6][7][8][9][10][11] deal with giving different approaches to design or to learn different types of the neural networks to solve the problem under study. Two neural network structures are suggested by [2]; one for finding the inverse kinematics of the position of the robot end-effector and the other to find the inverse kinematics of the orientation of the end-effector. From the graphic analysis [2], the error gives approximately 3.6° for the position inverse kinematics and 8.5° for the orientation inverse kinematics. A method which suggested in [3] depends on the final matrix structure of the forward kinematics yields approximately the same errors as that indicated in [2]. Reference [4] has suggested three-layer partially recurrent neural network to perform trajectory planning and to solve the inverse kinematics and dynamics problems in a single processing stage. A non-algorithmic method is presented for the solution to the inverse kinematics problem of a robot [5]. This method is robot independent and involves a hybrid approach, whereby a neural solution is augmented with an iterative procedure which provides the final solution within some specified tolerance. A neural network is employed to analyze the inverse kinematics of PUMA 560 type robot. The neural network is designed to find exact kinematics of the robot. The neural network is a feed-forward neural network trained with different types of learning algorithm for designing exact inverse model of the robot [6]. A study on generalization ability of neural network for manipulator inverse kinematics including the determination of optimal unit number in the hidden layer using three layered neural network is the interest subject of [7]. The work in [8] presented the performance comparison of two artificial neural networks; radial basis function and multi-layered with back propagation, both trained to learn data obtained from the kinematics model of a robotic arm. Solving the inverse kinematics using learning method of neural network represents the relations of both positions and velocities from the task space coordinate to the joint space coordinate simultaneously has been performed in [9]. While dividing one neural network into several neural networks has been presented in [10]; the first network represent the main network and the others are a secondary networks to estimates the possible errors. The use of multiple cooperating networks for the overall modeling of inverse kinematics was explored in [11], where radial basis function (RBF) neural networks were chosen. Training multiple neural networks for a specified path trajectory could minimize maximum position error to a 7°.

Reis Robot-RV12L
The inverse kinematics of the Reis Robot RV12L shown in Fig. (1) is not different from any 6 DOF robot manipulators. In this type of robot we can divide the 6 angles into two groups; the first comprises 3 angles for the position and the second has 3 angles for the orientation of the robot end effector. Therefore, the schematic shown in Fig. (2), represents the usual first 3 DOF of the robot end-effector position. Generally, there are two major inverse kinematic techniques [10]:  Explicit, with exact solution (as for the 3 link manipulator);  Iterative, for use when an infinite number of solutions exist.
Problems that one may encounter when performing inverse kinematics with these methods are:  Both methods require a computer capable of mathematical calculations;  The methods do not adapt to compensate for damage, calibration errors;  Iterative solutions may be slow;  Solutions are valid only for a specific robot.
Such reasons made designing neural network for solving this problems is very important. After modeling the forward kinematics according [12] and obtaining the final transformation matrix, the process of minimizing the kinematic equations to a position set and orientation matrix will result the following robot end-effector equations: Where and represent the position point of the robot end-effector. can be eliminated by transferring the point of analysis for the first link in the center of connection between and . Usual analytical solution given in [12] for such type of robots leads the following equations of , and for left, right robot arm and for elbow up, elbow down robot arm: ( √ ) ( √ ) -for elbow down and elbow up robot arm respectively. The two solutions of , which depends on , will be given by;

1362
Where the radius √ and .
From the manual of Reis Robot RV12L: , and the range of angles is for for and for .

Methodology and Design
For a successful neural network design, there are important problems needs to be solved:  How to find a suitable multi-neural networks structure;  How to determine an appropriate representation of input/output data;  How to create a well-structured learning data set, and  How to train the network successfully.
It is worthy to notify that a unique structure of neural network could not cope with entire robot work-space. Therefore, it is suggested to divide the workspace into eight sub-workspaces and then assign one neural structure for each subspace. This would permit to enlarge data base of the full work-space. Therefore, one may expect to reach near exact learning process and decrease the error to a large extent.
For plane, the data file can be generated by representing as circles. Similarly, the data needed for and can be represented as circles in plane. Increasing the number of circles means increasing the accuracy of training of every neural network in the entire neural network scheme. This will give an effective multi-neural networks design trained by the data file and would allow to be divided into four parts according the following ranges: (0° to 90°), (90° to 165°), (0° to -90°) and (-90° to -165°). On the other hand, the data files for and would be divided according to the four inverse kinematics solutions of the end-effector position (left arm with elbow up and elbow down) and (right arm with elbow up and elbow down). The final structure will consist of eight large trained neural networks supplied with a unit of addressing control; responsible for choosing the proper set of angles for every robot configuration. Every neural network in the structure has simple and fixed construction with well-training; and this is one of the main advantages of the suggested design. In order to make the results obtained from every neural network very closed to the real and desired results, the input will not rely on the point ( ) but also would depends on another component derived from the point. These components will work as index for the neural network and would increase the speed of training for every neural network. The suggested structure for each sector is illustrated in Fig.(3). It is evident from the figure that the inputs of the neural networks of every joint variable ( , and ) will be different from each other. The distances P and r indicated in the figure are given by √ and √ .
The entire multi-neural networks system is depicted in Fig. (4). Solution of includes four neural networks with the control addressing unit responsible for choosing the proper neural network as shown in Fig. (5). The inputs of are , and . Fig. (6) shows the internal structure of the four neural networks; two networks are for and the other for which trains only for range of joint limit angles of Reis Robot. The inputs of are and , where the solution of is fed as input to find the solution of . Fig. (7) exemplifies the proposed neural network internal structure to solve the inverse kinematics of specifically. By trial and error design approach, the structure consists of four layers: input layer, two hidden layers and one output layer. Four inputs , , , and are used in the input layer for finding , twelve neurons in the first hidden layer, six neurons in the second hidden layer and finally one neuron in the output layer. The hyperbolic tangent function is used as the activation function in the hidden layers, while the linear activation function is employed in the output layer. Eng. &Tech.Journal, Vol.34,Part (A), No.7, 2016

Inverse Kinematics Solution of Robot Manipulator
End-Effector Position Using Multi-N. Networks

Results and Analysis
All the neural networks in the structure are trained by a relatively large data file which covers the robot workspace using the back-propagation algorithm. The performance index of all these neural networks is the mean square error that used to indicate the convergence error during the training process. Figure (8) shows the mean square error graph during training of where the goal was . The results after training the neural networks of the and are better than those with ; because for every value of there is a corresponding range of θ 3 and there is dependency between the errors of and . Figure (9) and (10) shows the after-training errors of and , respectively.
The main difficulties with the neural training are the singular robot configurations which lead to singular forward kinematic matrix. From the analysis of the robot, the point ( ) of end-effector position is considered the main singular configuration for , since there is no offset shoulder in Reis Robot RV12L to prevent this singular configuration. At this case the value of will not affect the robot position, while and will give the desired robot configuration. The table below shows joint angles based on classical geometrical solution and those obtained using suggested multi-neural networks structure.

Verification Model
A Cartesian space trajectory planning system based on cubic polynomial Bezier curve design has been implemented using Matlab-Simulink software. In Cartesian space schemes, the path shape is described in terms of functions which compute Cartesian positions of the Robot End-Effector as a function of time. Thus the trajectory generation is performed in Cartesian space and is converted into corresponding joint space variables at time of executing the trajectory. Bezier curves are useful to design trajectories with certain roundness properties and defined by series of control points with associated weighting factors. During the motion of the robot end effector an Inverse Kinematics process is needed to convert the points in the Cartesian path to the proper joint angles which represent the same path and realize it [13,14]. The Bezier curve design for Cartesian trajectory planning of robot manipulator end-effector can be described by the following Equations:   Eng. &Tech.Journal, Vol.34,Part (A), No.7, 2016

Inverse Kinematics Solution of Robot Manipulator
End-Effector Position Using Multi-N. Networks 1364 y o , z o ) and the goal (x 3 , y 3 , z 3 ) points. Other trajectory parameters x 1 , y 1 , z 1 , x 2 , y 2 and z 2 can be calculated using the following equations: The parameters (A, B, C, D, E and F) are related to the control point's calculations and have been chosen to achieve appropriate curvature of Bezier curve. Also its easy to differentiate the equations of x(t), y(t), and z(t) with respect to time to find the velocity and the acceleration, where V x (t) and A x (t) are x-component linear velocity and acceleration of Bezier trajectory, respectively; The velocities and accelerations in y and z-axes are similarly computed. The desired trajectory has been simulated for t f = 5 (second), the start and the goal points are (0.7, -0.7, 1.5) and (-0.6, 0.6, 1.6), respectively. For the comparison purposes, the overall trajectory planning system shown in Fig. 11 includes the classical inverse kinematic solution and the solution resulting from suggested approach. The simulated Bezier trajectory is shown in Fig. (12), while the produced joint variables , and are shown in Fig. (13). The error traces of different joint variables between the classical computation and multi-neural structure is shown in Fig. (14).

CONCLUSIONS
Multi-neural networks structure trained using back-propagation algorithm has been applied to inverse kinematic problem. As a case study Reis Robot RV12L were used for testing this model. Dividing the workspace of the robot into eight neural networks gives the ability to increase the size of the data file and, then, to increase the accuracy of the solution. However, a trade-off of training time would appear. The training process may take a long time that may reaches to 2 hours and many epochs number up to 10000. On the other hand the feed-forward mode of this model can give a very fast results comparing with classic analytical (mathematical) methods. Results showed that and are better than . The accuracy of deeply depends on ; since is one of the dependent input of neural networks. This approach was tested in a Bezier trajectory planning system. The comparison between the inverse kinematic classical solution and the proposed multi-neural network solution shows that the overall 8-neural networks structure was able to predict robot joint angles that were not included in the training data with an approximate average joint errors ±0.06º, ±0.15º, and ±0.05º for , and , respectively.

Inverse Kinematics Solution of Robot Manipulator
End-Effector Position Using Multi-N. Networks