Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations Ali T. Hasan1 and H.M.A.A.Al-Assadi2 Department of Mechanical and Manufacturing Engineering, University Putra Malaysia, 43400UPM,Serdang, Selangor, Malaysia 2Faculty of Mechanical Engineering, Universiti Teknologi MARA (UiTM) 40450 Shah Alam, Selangor, Malaysia Corresponding author E‐mail:
[email protected] 1
Abstract: This paper is devoted to the application of Artificial Neural Networks (ANN) to the solution of the Inverse Kinematics (IK) problem for serial robot manipulators, in this study two networks were trained and compared to examine the effect of considering the Jacobian Matrix to the efficiency of the IK solution. Given the desired trajectory of the end effector of the manipulator in a free‐of‐obstacles workspace, Offline smooth geometric paths in the joint space of the manipulator are obtained. Even though it is very difficult in practice, data used in this study were recorded experimentally from sensors fixed on robot’s joints to overcome the effect of kinematics uncertainties presence in the real world such as ill‐defined linkage parameters, links flexibility and backlashes in gear train The generality and efficiency of the proposed algorithm are demonstrated through simulations of a general six DOF serial robot manipulator, finally the obtained results have been verified experimentally. Keywords: neural networks, inverse kinematics, Jacobian matrix, singularities, back propagation, robot control.
1. Introduction The most frequently attempted to be solved problem for serial robots is the Inverse Kinematics (IK) task. The complexity in the solution arises from robots geometry and non‐linear equations (trigonometric equations) occurring when transforming between Cartesian and joint spaces (multiple solutions and singularities exist), mathematical solutions for the problem may not always correspond to physical solutions and methods of solution depends on the robot configuration (Dulęba and Sasiadek, 2002). Researchers have used three approaches to the IK solutions; first approach is the analytical solution (close form solution) where all of the joints variables are solved analytically according to given configuration data (Duffy, 1980), closed form solution is preferable because in many applications where the manipulator supports or is to be supported by a sensory system, the results from kinematics computations need to be supplied rapidly in order to have control actions, unfortunately, close form solution is only exist for robots with simple geometry. In the second approach, all of the joint variables are obtained iterative computational procedures. There are four disadvantages in these (incorrect initial estimations before executing the inverse kinematics algorithms,
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010) ISSN 1729‐8806, pp. 11‐24
convergence to the correct solution can not be guarantied, multiple solutions are not known, and, there is no solution if the Jacobian matrix is in singular configuration). In the third approach, some of the joint variables are determined analytically in terms of two or three joints variables and these joint variables computed numerically. Disadvantage of numerical approaches to inverse kinematics problems is also heavy computational calculation and big computational time (Bingual et al., 2005). Techniques for the IK problem solution have been the subject of considerable research effort in the past years, as close‐form analytical solution can only be found for manipulators having simple geometric structures, a number of techniques mainly based on the inversion of the Jacobian Matrix have been proposed for all these structures that can not be solved in close‐form (Antonelli et al., 2003). One of the first techniques employed was the Resolved Motion Rate‐Control method (Whitney, 1969) which uses the pseudoinverse of the Jacobian matrix to obtain the joint velocities corresponding to a given end‐effector velocity, an important drawback of this method was the singularity problem.
10
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
To overcome the problem of kinematics singularities, the use of a damped least squares inverse of the Jacobian matrix has been later proposed in lieu of the pseudoinverse (Nakamura and Hanafusa, 1986; Wampler, 1986). Since in the above algorithmic methods the joint angles are obtained by numerical integration of the joint velocities, these and other related techniques suffer from errors due to both long‐term numerical integration drift and incorrect initial joint angles. To alleviate the difficulty, algorithms based on the feedback error correction are introduced (Wampler and Leifer, 1988). However, it is assumed that the exact model of manipulator Jacobian matrix of the mapping from joint coordinate to Cartesian coordinate is exactly known. It is also not sure to what extent the uncertainty could be allowed. Therefore, most research on robot control has assumed that the exact kinematics and Jacobian matrix of the manipulator from joint space to Cartesian space are known. This assumption leads to several open problems in the development of robot control laws today (Antonelli et al., 2003). In other words, it is not possible to formulate a mathematical model that has a clear mapping between Cartesian space and joint space for inverse kinematics problem, to overcome this problem, Artificial Neural Networks (ANN) uses samples to obtain the nonlinear model of such systems. Their ability to learn by example makes artificial neural networks very flexible and powerful when traditional model‐based modeling techniques break down. Many researchers have experimented with this approach by applying it to several robot configurations (Kuroe, 1994;Karlik and Aydin, 2000; Köker et al., 2004;Köker, 2005;Hasan et al., 2006). Studying the IK of a serial manipulator by using ANNs has two problems, one of these is the selection of the appropriate type of network and the other is the generating of suitable training data set (Funahashi, 1998;Hasan et al., 2007). Researchers have applied different methods for gathering training data, some of them have used the kinematics equations (Karlik and Aydin, 2000; Bingual et al., 2005), some of them have used the network inversion method (Kuroe, 1994; Köker, 2005), some of them have used the cubic trajectory planning (Köker et al., 2004) and other have used a simulation program for this purpose (Driscoll, 2000). However, there are always kinematics uncertainties presence in the real world such as ill‐defined linkage parameters, links flexibility and backlashes in gear train, in this approach, although this is very difficult in practice (Hornik, 1991), training data were recorded experimentally from sensors fixed on each joint, and the Euler (RPY) representation was used to represent the orientation, as was recommended by (Karilk and Aydin, 2000), (as they have used the robot model to get the training data and used 11
the homogeneous transformation matrix representation to represent the orientation), then the resulting network was compared to another network where the Jacobian Matrix was considered (to show the effect of singularities) ,finally the approach was experimentally verified using a six DOF serial robot. 2. Inverse Kinematics for Serial Manipulators It is known that the vector of Cartesian space coordinates (the end effector position and orientation) x of a robot manipulator is related to the joint coordinates q by:
x f (q)
(1)
Where
f (.) is a nonlinear differential function.
if the Cartesian coordinates x were given, joint coordinates q can be obtained as :
q f
1
( x)
(2)
Solving the above equation, (Denavit and Hertenberg, 1955) proposed a matrix method of systematically establishing a coordinate system to each link of an articulated chain as shown in Figure 1, to describe both translational and rotational relationships between adjacent links. In this method each of the manipulator links is modelled, this modelling describes the “A” homogeneous transformation matrix, which uses four link parameters (Fu et al. 1987; Köker, 2005). The forward kinematics solution can be obtained as: Position n Rotation x | matrix vector n | y AEND EFFECTOR T6 A1 . A2 . A3 . A4 . A5 . A6 n z Perspective transformation | Scaling 0
sx
ax
sy sz 0
ay az 0
px py pz 1
(3)
Where: n : Normal vector of the hand. Assuming a parallel‐jaw hand, it is orthogonal to the fingers of the robot arm.
s : Sliding vector of the hand. It is pointing in the
direction of the finger motion as the gripper opens and closes. a : Approach vector of the hand. It is pointing in the direction normal to the palm of the hand (i.e., normal to the tool mounting plate of the arm). p :Position vector of the hand. It points from the origin of the base coordinate system to the origin of the hand coordinate system, which is usually located at the center point of the fully closed fingers.
The orientation of the hand is described according to the Euler (RPY) rotation as:
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
RPY(x , y ,z ) Rot(Z w ,z ).Rot(Yw ,y ).Rot( X w ,x ) (4)
After T6 matrix is solved:
z ATAN 2( n y , n x )
(5)
y ATAN 2(n z , n x cos z n y sin z )
(6)
x ATAN 2( a x sin z a y cos z , o y cos z o x sin z ) (7)
These equations describe the orientation according to the Euler representation (Karilk and Aydin, 2000). To find the IK solution, however, joints angels are found according to the manipulator’s end position, described with respect to the world coordinate system. IK solution can be shown as a function:
IK ( X , Y , Z , x , y , z ) (1 , 2 , 3 , 4 , 5 , 6 )
(8)
Model‐based methods for solving the IK problem are inadequate if the structure of the robot is complex, therefore; techniques mainly based on inversion of the mapping established between the joint space and the task space of the manipulator’s Jacobian matrix have been proposed for those structures that cannot be solved in closed form. If a Cartesian linear velocity is denoted by V , the joint
velocity vector q has the following relation:
V J q
(9)
Where J is the Jacobian matrix. If V , is a desired Cartesian velocity vector which represents the linear velocity of the desired trajectory to
be followed. Then, the joint velocity vector
q can be
resolved by:
q J 1V
(10)
Inverting the Jacobian Matrix trying to solve the above equation normally results in the singularity problem. The most commonly used techniques of coping with singularities are the following: avoiding singular configurations, robust inverse, normal form approach, extended Jacobian technique and channeling algorithms. Singular configuration avoidance means keeping a current configuration away from a set of singular configurations. Unfortunately, it causes severe restrictions on the configuration space, as well as the workspace (task space), because the singular configurations split the configuration space into separate components (Dulęba and Sasiadek, 2002). To avoid ill conditioning of the Jacobian matrix, robust inverses are used instead inverting the original Jacobian matrix at singularity; a disturbed, well‐conditioned
Jacobian matrix is inverted. This method may force the robot to stop at singular configurations; also robust inverse methods increase errors in following a desired path (Nakamura, 1991). The normal form technique, expresses original kinematics around singularity in the simplest, normal form. Both the kinematics are equivalent around singularity. Trajectory planning in the vicinity of singularity is significantly simpler with the use of the normal form kinematics than with the use of original kinematics. However, the transformation into the normal form is not computationally simple (Tchoń and Muszyński, 1998; Muszyński and Tchoń, 1997). The extended Jacobian technique, supplements original kinematics with auxiliary functions. Then, extended Jacobian is formulated to be well‐conditioned. Obviously, the extended Jacobian matrix has more rows than the original Jacobian matrix. Consequently, computational load of the inverse kinematics algorithm increases (Nakamura, 1991). A channeling algorithm examines singular values of Jacobian matrix while approaching a singularity. As vanishing singular values detect a singular configuration, the algorithm forces to change signs of the singular values (the algorithm, contrary to the classical formulation, admits also negative singular values). The channeling algorithm works for any type of singularities but it is rather computationally involving as it is requires calling the singular values decomposition algorithm frequently (Dulęba, 2000). Therefore, to analyze the singular conditions of a manipulator and develop effective algorithms to resolve the inverse kinematics problem at or in the vicinity of singularities are of great importance. 3.Artificial Neural Networks An ANN consists of massively interconnected processing nodes known as neurons. Each neuron accepts a weighted set of inputs and responds with an output (Knowledge acquired by the network is stored as a set of connection weights). The sum of the weighted inputs is processed through an activation function, Basically, the neuron model represents the biological neuron that fires when its inputs are significantly excited, There are many ways to define the activation function such as threshold function, sigmoid function, and hyperbolic tangent function. An ANN can be trained to perform a particular function by adjusting the values of connections, i.e., weighting coefficients, between the processing nodes. In general, ANNs are adjusted/trained to reach from a particular input to a specific target output using a suitable learning
12
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
method until the network output matches the target. The error between the output of the network and the desired output is minimized by modifying the weights. When the error falls below a determined value or the maximum number of epochs is exceeded, training process is ceased. Then, this trained network can be used for simulating the system outputs for the inputs that have not been introduced to the network before. The architecture of an ANN is usually divided into three parts: an input layer, a hidden layer(s) and an output layer. The information contained in the input layer is mapped to the output layer through the hidden layer(s). Each unit can send its output to the units only on the higher layer and receive its input from the lower layer. For a given modeling problem, the numbers of nodes in the input and output layers are determined from the physics of the problem, and equal to the numbers of input and output parameters respectively, while the number of nodes in the hidden layers(s) is determined by trail and error (Bingual et al., 2005) 4. Implementing the ANN Two supervised feed forward ANN have been designed using C programming language to overcome the singularities and uncertainties in the arm configurations. Both networks consist of input, output and one hidden layer, every neuron in each of the networks is fully connected with each other, sigmoid transfer function was chosen to be the activation function, generalized backpropagation delta learning rule (GDR) algorithm was used in the training process. Off‐line training was implemented; Trajectory planning was performed for 600 data set for every 1‐second interval from amongst all the possible joint angles in the robot’s workspace, then data sets were recorded experimentally from sensors fixed on the robot joints as was recommended by (Karilk and Aydin, 2000), 400 set were used for the training while the other 200 sets were used for the testing the network. All input and output values are usually scaled individually such that overall variance in data set is maximized, this is necessary as it leads to faster learning, all the vectors were scaled to reflect continuous values ranges from –1 to 1. FANUC M‐710i robot was used in this study, which is a serial robot manipulator consisting of axes and arms driven by servomotors. The place at which arm is connected is a joint, or an axis. This type of robot has three main axes; the basic configuration of the robot depends on whether each main axis functions as a linear axis or rotation axis. The wrist axes are used to move an end effecter (tool) mounted on the wrist flange. The wrist
13
itself can be wagged about one wrist axis and the end effecter rotated about the other wrist axis, this highly non‐linear structure makes this robot very useful in typical industrial applications such as the material handling, assembly of parts and painting. 4.1 Training Phase In order to find the best network’s configuration to solve the IK problem, and to make sure that for a certain trajectory the angular position of each joint will be the same as or sufficiently close to the desired when planning the trajectory for the robot, the ANN technique has been utilized where learning is only based on observation of the input–output relationship. Two networks have been trained and compared. 4.1.1 The First Configuration (6‐6 Configuration) As was recommended by (Karilk and Aydin, 2000), the input vector for the network consists of the position of the end effector of the robot along the X, Y and Z coordinates of the global coordinate system and the orientation according to the Euler representation (RPY), while the output vector was the angular position of each of the 6 joints as can be seen in Figure 2. Number of neurons in the hidden layer has chosen to be 40 with a constant learning factor of 0.85 by trial and error. Table 1 shows the percentage of error of each of the 6 joints after the training was finished after 40,000 iteration. Even though one hidden layer was used in this study and the Euler representation (RPY) was used to represent the orientation, while the previous study of (Karilk and Aydin, 2000) has used two hidden layers and the homogeneous transformation representation to represent the orientation; the results were almost similar (higher error percentage for the last three joints was obtained as compared to the first three joints) even when different number of training patterns was used. 4.1.2 The Second Configuration (7‐12 Configuration) To examine the effect of considering the Jacobian matrix to the IK solution, another network has been designed, as in Figure 3, the new network consists of the Cartesian Velocity added to the input buffer and the angular velocity of each of the 6 joints added to the output buffer of the previous network. Number of the neurons in the hidden layer was set to be 55 with constant learning factor of 0.9 by trial and error. Table 2 shows the percentage of error of each of the 6 joints after the training was finished after 40,000 iteration. 4.1.3 Networks’ Performance To drive the robot to follow a desired trajectory, it will be necessary to divide the path into small portions, and to move the robot through all intermediate points. To accomplish this task, at each intermediate location, the robot’s IK equations are solved, a set of joint variables is
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
calculated, and the controller is directed to drive the robot to the next segment. When all segments are completed, the robot would be at the end point as desired. Figures 4 to 6, show the experimental trajectory tracking for the robot over the X, Y and Z Coordinates of the global coordinates system while Figures 7 to 9 show the orientation angles (Roll, Pitch and Yaw) tracking for both of the networks compared to each other verses the desired trajectory. The performance of the first network has improved when considering the Jacobian Matrix in the second configuration as Figures 4 to 9 show. 4.2 Testing Phase As the second configuration has shown better response than the first, it has been chosen to implement the testing data, new data that has never been introduced to the network before have been fed to the trained network in order to test its ability to make prediction and generalization to any set of data later overcoming problems resulting from applying the robot model. Testing data were meant to pass through singular configurations (fourth and fifth joints); these configurations have been determined by setting the determinant of the Jacobian matrix to zero. Table 3 shows the percentages of error for the testing data set for each joint. 4.2.1 Experimental Verification In order to verify the testing results, experiment has been performed to make sure that the output is the same or sufficiently close to the desired trajectory, and to show the combined effect of error, Figures 10 to 15 show the trajectory tracking of the X, Y, and Z coordinates with the Roll, Pitch and Yaw orientation angles respectively. The locus of which robot is passing through singular configurations are also shown. The error percentages in the experimental data are shown in table 4. Through these figures, it can be seen that a good prediction has been achieved .
5. Conclusions and Recommendations Inverse Kinematics problem is very important to be solved in close‐form for the robots using the Kinematics control approach, closed‐form analytical solutions can only be found for manipulators having simple geometric structures. A number of algorithmic techniques mainly based on inversion of the mapping established between the joint space and the task space of the manipulator’s
Jacobian matrix have been proposed for those structures that cannot be solved in closed form. In order to overcome the arising problems from applying the system kinematics model, which are mainly singularities and uncertainties in the arm configuration, Artificial Neural Network has been used trying to solve these problems. The proposed technique does not require any prior knowledge of the kinematics model of the system being controlled, the basic idea of this concept is the use of the ANN to learn the characteristics of the robot system rather than to specify explicit robot system model. Any modification in the physical set‐up of the robot such as the addition of a new tool would only require training for a new trajectory without the need for any major system software modification, which is a significant advantage of using neural network approach. In this research, two ANNs have been trained and compared. Comparison results shown that the performance of the network will be improved if considering the Jacobian Matrix in the solution. Euler representation has been used in this study to represent the orientation as a recommended by (Karilk and Aydin, 2000) as they have used the homogeneous transformation matrix to represent the orientation. For further research, we recommend a comparison study comparing the three types of orientation representation; in order to find the best orientation representation to be used. Backpropagation algorithm has been used as a learning algorithm with sigmoid transfer function as an activation function in all neurons, another recommendation we would like to recommend that a different learning algorithm, different activation function and/or different number of hidden neurons to be used in order to achieve, if possible, a better response in terms of precision and iteration. 6. References Antonelli, G., Chiaverini, S. and Fusco, G. A new on‐line algorithm for inverse kinematics of robot manipulators ensuring path‐tracking capability under joint limits. IEEE Transaction on Robotics and Automation 2003; 19(1): 162‐167. Bingual, Z., Ertunc, H.M. and Oysu, C., Comparison of Inverse Kinematics Solutions Using Neural Network for 6R Robot Manipulator with Offset. 2005 ICSC congress on Computational Intelligence. Denavit, J., and Hertenberg, R.S.A. Kinematics Notation for lower Pair Mechanism Based on Matrices. Applied mechanics 1955; 77: 215‐221.
14
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
Driscoll, J.A. Comparison of neural network architectures for the modeling of robot inverse kinematics. Proceedings of the IEEE, south astcon .2000:44‐51. Duffy, J. Analysis of mechanism and robot manipulators, John Wiley, New York.USA 1980. Dulęba, I., Channel algorithm of transversal passing through singularities for non‐redundant robot manipulators. IEEE conference on Robotics and Automation, San Francisco, CA.USA2000: 1302‐1307. Dulęba,I., Sasiadek, J.Z., Redundant manipulators motion through singularities based on modified Jacobian method. Third International Workshop on Robot Motion and Control, November 9‐11,2002:331‐336. Fu, K.S., Gonzalez, R.C. and Lee, C.S.G. Robotics Control, Vision, and Intelligence. McGraw‐Hill book Co. Singapore, international edition. 1987. Funahashi, K.I. On the approximate realization of continuous mapping by neural networks. Neural Networks, 1998; 2(3): 183‐192. Hasan, A.T., Hamouda, A.M.S., Ismail, N., and Al‐Assadi, H.M.A.A. An adaptive‐learning algorithm to solve the inverse kinematics problem of a 6 D.O.F serial robot manipulator. Journal of Advances in Engineering Software 2006; 37: 432‐438. Hasan, A.T., Hamouda, A.M.S., Ismail, N., and Al‐Assadi, H.M.A.A. A new adaptive learning algorithm for robot manipulator control. Proceeding of the I Mech E, Part I: Journal of System and Control Engineering 2007; 221(4): 663‐672. Hornik, K. Approximation capabilities of multi‐layer feed forward networks.IEEE Trans.Neural Networks 1991;4(2):251‐257. Karilk, B., Aydin, S. An improved approach to the solution of inverse kinematics problems for robot manipulators. Engineering applications of artificial intelligence 2000; 13: 159‐164. Köker, R., Öz, C., Çakar.T. and Ekiz, H. A study of neural network based inverse kinematics solution for a three‐ joint robot. Robotics and Autonomous Systems 2004; 49: 227–234. Köker, R.,Reliability‐based approach to the inverse kinematics solution of robots using Elman’s networks. Engineering applications of artificial intelligence 2005; 18:685‐693. Kuroe, Y., Nakai, Y. Mori, T. A new Neural Network Learning on Inverse Kinematics of Robot Manipulators. International Conference on Neural Networks, IEEE world congress on computational Intelligence 1994; 5: 2819‐2824. Muszyński, R., Tchoń, K., Singularities of non‐redundant robot kinematics. Robotic Research 1997; 16(1): 60‐76. Nakamura Y., Advanced Robotics: Redundancy and Optimization, Addison Wesley, New York, USA.1991. Nakamura, Y. and Hanafusa, H. Inverse kinematic solutions with singularity robustness for robot manipulator control. Journal of Dynamic Systems Measurements Control 1986; 108: 163–171. 15
Tchoń K., Muszyński R., Singular Inverse Kinematic Problem for Robotic Manipulators: A Normal Form Approach”, IEEE Trans. on Robotics and Automation1998; 14 (1): 93‐104. Wampler, C. W. and Leifer, L. J. Applications of damped least‐squares methods to resolved‐rate and resolved‐ acceleration control of manipulators, Journal of Dynamic Systems Measurements Control 1988; 110: 31–38. Wampler, C. W. Manipulator inverse kinematic solutions based on vector formulations and damped least‐ squares methods. IEEE Transaction Syst., Man, Cybernetics 1986; 16: 93–101. Whitney. E. Resolved motion rate control of manipulators and human prostheses, IEEE Transaction Man–Mach. Systems 1969; 10:47–53.
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
1
2
3
4
5
6
5.9% 2.487% 2.703% 6.73% 6.803% 3.658% Table 1. Overall error percentages for the training data for the 6‐6 configuration. Joint 1 Joint 2 Joint 3 Joint 4 Joint 5 Joint 6 Angular Position 4.32% 1.408% 1.403% 4.237% 5.165% 1.623% Angular Velocity 2.627% 3.09% 2.33% 2.692% 2.803% 2.325% Table 2. Overall error percentages for the training data for the 7‐12 configuration. Joint 1 Joint 2 Joint 3 Joint 4 Joint 5 Joint 6 Angular Position 2.515% 0.29% 1.745% 10.065% 9.755% 1.78% Angular Velocity 4.2% 6.1% 3.22% 3.7% 6.5% 2.6% Table 3. Overall error percentages for the testing data (Simulation). Cartesian Trajectory Orientation Angles X Y Z Roll Pitch Yaw 3.72% 3.06% 1.042% 3.562% 6.2% 4.964% Table 4. Overall error percentages for the testing data (Experiment).
Fig. 1. Schematic diagram for a general 6DOF serial robot showing the wrist mechanism.
16
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
Angular Position
2
1
X
Y
3
Z
Cartesian Position
4
5
6
Role Pitch Yaw
Orientation
Fig. 2. The topology of the 6‐6 Network configuration
Angular Position Cartesian Position Fig. 3. The topology of the 7‐12 Network configuration 17
Angular Velocity
Orientation
Linear Velocity
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
800 Desired 6- 6 Configurtion 600
7 - 12 Configuration
Distance ( mm )
400
200
0 0
50
100
150
200
250
300
350
400
-200
-400
-600 Time ( Sec. ) Fig. 4.Trajectory tracking of the X coordinate for both configurations compared.
1200
1000
Desired 6 - 6 Configuration
Distance ( mm )
800
7 - 12 Configuration
600
400
200
0 0
50
100
150
200
250
300
350
400
-200
-400 Time ( Sec. ) Fig. 5.Trajectory tracking of the Y coordinate for both configurations compared. 18
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
2000 1800 1600
Distance ( mm )
1400 1200 1000 800
Desired 6 - 6 Configuration
600
7 - 12 Configuration
400 200 0 0
50
100
150
200
250
300
350
Time ( Sec. ) Fig. 6.Trajectory tracking of the Z coordinate for both configurations compared. 250 Desired
400
6 - 6 Configuration
200
7 - 12 Configuration
150
Angle ( Degree )
100 50 0 0
50
100
150
200
250
300
350
400
-50 -100 -150 -200 -250 Time ( Sec. )
Fig. 7. Orientation tracking of the Roll angle for both configurations compared. 19
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
80
Desired 6 - 6 Configuration
60
7 - 12 Configuration
40
Angle ( Degree )
20 0 0
50
100
150
200
250
300
350
400
-20 -40 -60 -80 -100 Time ( Sec. )
Fig. 8. Orientation tracking of the Pitch angle for both configurations compared.
250
Desired 6 - 6 Configuration 7 - 12 Configuration
200 150
Angle ( Degree )
100 50 0 0
50
100
150
200
250
300
350
400
-50 -100 -150 -200 -250 Time ( Sec. )
Fig. 9. Orientation tracking of the Yaw angle for both configurations compared. 20
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
600
400 Desired Predicted Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
Distance ( mm )
200
0 0
20
40
60
80
100
120
140
160
180
200
-200
-400
Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
-600 Time ( Sec. )
Fig. 10. Experimental trajectory tracking of the X coordinate for the testing data.
1400
1200 Desired
Distance ( mm )
1000
Predicted
800 Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
600
400 Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
200
0 0
20
40
60
80
100
120
Time ( Sec. ) Fig. 11. Experimental trajectory tracking of the Y coordinate for the testing data. 21
140
160
180
200
International Journal of Advanced Robotic Systems, Vol. 7, No. 4 (2010)
Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
2000 1800 Desired
1600
Predicted
Distance ( mm )
1400 1200 1000 800 600 400
Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
200 0 0
20
40
60
80
100
120
140
160
180
200
Time ( Sec. )
Fig. 12. Experimental trajectory tracking of the Z coordinate for the testing data. Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
200 180
Desired Predicted
160
Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
Angle ( Degree )
140 120 100 80 60 40 20 0 0
25
50
75
100
125
Time ( Sec. )
150
175
200
Fig. 13. Experimental orientation tracking of the Roll angle for the testing data. 22
Ali T. Hasan and H.M.A.A.Al‐Assadi: Performance Prediction Network for Serial Manipulators Inverse Kinematics solution Passing Through Singular Configurations
80 60
Desired Predicted
40
Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
Angle ( Degree )
20 0 0
20
40
60
80
100
120
140
160
180
200
-20 -40 -60
Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
-80 -100 Time ( Sec. ) Fig. 14. Experimental orientation tracking of the Pitch angle for the testing data. 140 120
Lucas of which robot is passing through Singular configuration in 2 Joints 2 DOF expected to be lost
Desired Predicted
100 80
Angle ( Degree )
60 40 20 0 0
20
40
60
80
100
120
140
160
180
200
-20 -40 -60
Lucas of which robot is passing through Singular configuration in 1 Joint 1 DOF expected to be lost
-80 Time ( Sec. ) Fig. 15. Experimental orientation tracking of the Yaw angle for the testing data. 23