# Inverse Kinematic Analysis and Evaluation of a Robot for Nondestructive Testing Application

Authors: Zongxing Lu; Chunguang Xu; Qinxue Pan; Xinyu Zhao; Xinliang Li
Journal: Journal of Robotics
 (2015)

---

## Abstract

The robot system has been utilized in the nondestructive testing field in recent years. However, only a few studies have focused on the application of ultrasonic testing for complex work pieces with the robot system. The inverse kinematics problem of the 6-DOF robot should be resolved before the ultrasonic testing task. A new effective solution for curved-surface scanning with a 6-DOF robot system is proposed in this study. A new arm-wrist separateness method is adopted to solve the inverse problem of the robot system. Eight solutions of the joint angles can be acquired with the proposed inverse kinematics method. The shortest distance rule is adopted to optimize the inverse kinematics solutions. The best joint-angle solution is identified. Furthermore, a 3D-application software is developed to simulate ultrasonic trajectory planning for complex-shape work pieces with a 6-DOF robot. Finally, the validity of the scanning method is verified based on the C-scan results of a work piece with a curved surface. The developed robot ultrasonic testing system is validated. The proposed method provides an effective solution to this problem and would greatly benefit the development of industrial nondestructive testing.


---

## Body

## 1. Introduction

Ultrasonic testing as an important nondestructive inspection method is adopted in numerous applications to test the internal defects of composite materials with simple structures. However, the manufacturing technology of composite materials with a complex shape, such as a curved shape, variable thickness, and complex rotary structure, has developed rapidly. Thus, the automatic inspection of complex structures has become a challenge.The joint robot with six degrees of freedom (DOF) can reach any position and orientation in its operating range; the inspection problem can be solved by combining this joint robot with ultrasonic testing technology [1]. In such an automatic ultrasonic testing system, optimization and simulation of the inspection path are important so that the robot that scans these complex structures can be operated according to reasonable tracks. Many researchers [2–5] have worked on the inverse kinematics of the general 6R serial robot. Robot simulation was based on robot kinematics. Yu et al. [6] built a 6R serial robot using OpenGL and conducted motion simulation. Lee and Liang [7] provided a resultant elimination procedure by using complex number method and vector theory. However, the geometric interpretation of their elimination procedure was not completely revealed because of its complexity. Establishing a common inverse algorithm so that the analytical method [8, 9], geometric method [10, 11], and numerical method [12] are all developed to address this problem is difficult. Wang et al. [13] provided a preliminary inverse kinematics method for the Staubli robot. However, this method cannot explain the optimization of these solutions.A new evolutionary arm-wrist separateness method is used in the present study to formulate the kinematics equations of the general 6-DOF robot. Inverse kinematics only has eight solutions; hence, the difficulty in solving is reduced. With the optimized method, the optimal solution for a trajectory can be identified. A 3D-application software is created to simulate ultrasonic trajectory planning. Based on the feature that the subsequent three joint axes intersect at one point, the arm-wrist separateness method is adopted in Section2 to solve the inverse kinematics of the robot. Additionally, the shortest distance rule is adopted in Section 3 to optimize the results [14]. A 3D-application software is also developed to simulate ultrasonic trajectory planning for complex-shape work pieces. Finally, the work piece with a curved surface is detected with this robot. The experiment results verify the effectiveness and feasibility of the proposed method. The simulation and experiment results are shown in Section 4, and the paper ends with concluding remarks in Section 5.


## 2. Inverse Kinematics Solution

Denavit and Hartenberg established the D-H method [15, 16], which is commonly utilized in robot kinematics models. The inverse kinematics solution uses the position and orientation px,py,pz,α,β,γ of robot end-effector, which has been known to solve the joint angles θ1,θ2,θ3,θ4,θ5,θ6. An arm-wrist separateness method was used in this study.In the TX90 XL robot, the axes of the last three joints intersect at one point, which is referred to as pointA. The position of point A is independent of the last three joints θ4, θ5, and θ6. Therefore, only the three previous joints should be considered when solving the position of point A. These joints are the main content of the arm-wrist separateness method. The position and orientation are (px,py,pz,α,β,γ), and matrix T06 can be achieved from the D-H model. The position of A is denoted as pa=pax,pay,paz′.The position of pointA can be described as(1)pax=px-d6ax,pay=py-d6ay,paz=pz-d6az.


### 2.1. Solutions of Arm Joint Anglesθ1, θ2, θ3

The position of pointA can be determined from the homogeneous transformation matrix, which is derived from T01, T12, T23, T34. Consider(2)T04=T01T12T23T34=c1c23c4-s1s4-c1s23-c1c23s4-s1c4d4c1s23-d3s1+a1c1+a2c1c2s1c23c4+c1s4-s1s23-s1c23s4+c1c4d4s1s23+d3c1+a1s1+a2c2s1-s23c4-c23s23s4d4c23-a2s20001.In the expressions above,(3)ci=cos⁡⁡θi,si=sin⁡θi,cij=cos⁡⁡θi+θj,sij=sin⁡θi+θj.The elements ofPa can be drawn as follows:(4)pax=d4c1s23-d3s1+a1c1+a2c1c2,(5)pay=d4s1s23+d3c1+a1s1+a2c2s1,(6)paz=d4c23-a2s2.The following can be obtained by calculating (4) ×  (-s1) + (5) ×  (-c1). Consider(7)payc1-paxs1=d3.The solution ofθ1 can be obtained through solving (7). Therefore,(8)θ1=Atan⁡2pay,pax-Atan⁡2d3,±pax2+pay2-d32.The following can be obtained by calculating (4) ×  c1+ (5) ×  s1. Moreover,(9)paxc1+pays1=d4s23+a1+a2c2.In the TX90 XL robot,s23 can be obtained from (9) as follows:(10)s23=paxc1+pays1-a1-a2c2d4.We can obtainc23 by solving (6) as follows:(11)c23=paz+a2s2d4.Substituting the equations232+c232=1 with (10) and (11) yields(12)paxc1+pays1-a1c2-pazs2=paxc1+pays1-a12+a22+paz2-d422a2.The solution ofθ2 is achieved by solving (12). Consider(13)θ2=Atan⁡2paxc1+pays1-a1,paz-Atan⁡2t1,±paxc1+pays1-a12+paz2-t12,where(14)t1=paxc1+pays1-a12+a22+paz2-d422×a2.The result of performing the calculation of (10)/(11) is(15)tan⁡θ2+θ3=paxc1+pays1-a1-a2c2paz+a2s2.The solution of (15) is θ3, and we have(16)θ3=Atan⁡2paxc1+pays1-a1-a2c2,paz+a2s2-θ2.


### 2.2. Solutions of Wrist Joint Anglesθ4,θ5,θ6

The orientation of the robot is controlled by the rotation matrix, and the orientation ofA is described by R03. The orientation of the tool end-effector is described by R06. The relationship between R03 and R06 is R06=R03R36. Matrix R36 can be described as(17)R36=R34R45R56=c4c4c6-s4s6-c4c5s6-s4c6c4s5s4c5c6+c4s6-s4c5s6+c4c6s4s5-s5c6s5s6c5.θ
5 can then be calculated as follows:(18)θ5=Atan⁡2±awx2+awy2,awz.Whenθ5≠0,(19)θ4=Atan⁡2=awys5,awxs5.Whenθ5=0, the arms are at the singular position where link axes 4, 5, and 6 are collinear. This condition has only one motion form of the robot tool side, the orientation of which is calculated by the sum or difference of θ4 and θ6. Oftentimes, the current value of θ4 is used.According to (17), when θ5≠0,(20)θ6=Atan⁡2owzs5,-nwzs5.Whenθ5=0, the current value of θ6 is also utilized because the case is similar to the value determination of θ4.


## 2.1. Solutions of Arm Joint Anglesθ1, θ2, θ3

The position of pointA can be determined from the homogeneous transformation matrix, which is derived from T01, T12, T23, T34. Consider(2)T04=T01T12T23T34=c1c23c4-s1s4-c1s23-c1c23s4-s1c4d4c1s23-d3s1+a1c1+a2c1c2s1c23c4+c1s4-s1s23-s1c23s4+c1c4d4s1s23+d3c1+a1s1+a2c2s1-s23c4-c23s23s4d4c23-a2s20001.In the expressions above,(3)ci=cos⁡⁡θi,si=sin⁡θi,cij=cos⁡⁡θi+θj,sij=sin⁡θi+θj.The elements ofPa can be drawn as follows:(4)pax=d4c1s23-d3s1+a1c1+a2c1c2,(5)pay=d4s1s23+d3c1+a1s1+a2c2s1,(6)paz=d4c23-a2s2.The following can be obtained by calculating (4) ×  (-s1) + (5) ×  (-c1). Consider(7)payc1-paxs1=d3.The solution ofθ1 can be obtained through solving (7). Therefore,(8)θ1=Atan⁡2pay,pax-Atan⁡2d3,±pax2+pay2-d32.The following can be obtained by calculating (4) ×  c1+ (5) ×  s1. Moreover,(9)paxc1+pays1=d4s23+a1+a2c2.In the TX90 XL robot,s23 can be obtained from (9) as follows:(10)s23=paxc1+pays1-a1-a2c2d4.We can obtainc23 by solving (6) as follows:(11)c23=paz+a2s2d4.Substituting the equations232+c232=1 with (10) and (11) yields(12)paxc1+pays1-a1c2-pazs2=paxc1+pays1-a12+a22+paz2-d422a2.The solution ofθ2 is achieved by solving (12). Consider(13)θ2=Atan⁡2paxc1+pays1-a1,paz-Atan⁡2t1,±paxc1+pays1-a12+paz2-t12,where(14)t1=paxc1+pays1-a12+a22+paz2-d422×a2.The result of performing the calculation of (10)/(11) is(15)tan⁡θ2+θ3=paxc1+pays1-a1-a2c2paz+a2s2.The solution of (15) is θ3, and we have(16)θ3=Atan⁡2paxc1+pays1-a1-a2c2,paz+a2s2-θ2.


## 2.2. Solutions of Wrist Joint Anglesθ4,θ5,θ6

The orientation of the robot is controlled by the rotation matrix, and the orientation ofA is described by R03. The orientation of the tool end-effector is described by R06. The relationship between R03 and R06 is R06=R03R36. Matrix R36 can be described as(17)R36=R34R45R56=c4c4c6-s4s6-c4c5s6-s4c6c4s5s4c5c6+c4s6-s4c5s6+c4c6s4s5-s5c6s5s6c5.θ
5 can then be calculated as follows:(18)θ5=Atan⁡2±awx2+awy2,awz.Whenθ5≠0,(19)θ4=Atan⁡2=awys5,awxs5.Whenθ5=0, the arms are at the singular position where link axes 4, 5, and 6 are collinear. This condition has only one motion form of the robot tool side, the orientation of which is calculated by the sum or difference of θ4 and θ6. Oftentimes, the current value of θ4 is used.According to (17), when θ5≠0,(20)θ6=Atan⁡2owzs5,-nwzs5.Whenθ5=0, the current value of θ6 is also utilized because the case is similar to the value determination of θ4.


## 3. Optimization of the Inverse Kinematics Solution

The obtained equations,θ1,θ3,θ5, show two roots; thus, the robot has eight groups of inverse kinematics solutions that correspond to the same position and orientation. For the kinematics of the robot, which has numbers of solutions, a suitable algorithm is required to select a set of values as the inverse solution of a robot.For the eight group solutions, several solutions are real solutions, but some may be imaginary solutions. In the traditional inverse kinematics calculation method, the result of double variables arctangent function is in the range of(-π,π). If the path trajectory has a singular point, then the joint will have a jump of 180°. Achieving a smooth motion is difficult because a long time is spent to rotate the joint of the robot by 180°, and the entire movement process is slow. We presented a type of inverse optimization method according to the incomplete solution of the inverse function. Comparison of the results of the joint with the actual range of the corresponding joint variables showed that the joint results may be ±2π. All of the trigonometric functions were not changed. This condition prevents the singular point jump and maintains the continuity of the trajectory. The actual range of the joint is shown in Table 1. The optimized process is shown in Figure 1.Table 1
D-H parameters of the TX90XL robot.
Number
α
i (°)
a
i (mm)
d
i (mm)
θ
i (°)
Limit joints (°)
1
−90
50
0
θ
1 (0)
−180~180
2
0
650
0
θ
2 (−90)
−130~148
3
90
0
50
θ
3 (90)
−145~145
4
−90
0
650
θ
4 (0)
−270~270
5
90
0
0
θ
5 (0)
−115~140
6
0
0
100
θ
6 (0)
−270~270Figure 1
Optimized process of joints.The shortest distance weighted calculation method was developed to select the most suitable solution for the next trajectory point. The effect of each joint moving the same angle to the entire robot is not the same. The effect of joint 1 move angle is more than the effect of joint 6. A six-weighted factor was set up to represent the joint rotation effect for the entire robot. The weighted factor is large, and the effect of the entire robot is significant, which is not the optimal result that can be used for the trajectory. The shortest distance weighted calculation method can be expressed as(21)Un=∑i=16xiθi,n-θi,n-1,where Un is the solution effect of the nth point in the trajectory. xi is the weighted factor of the ith joint. θ(i,n) is the ith joint angle of the nth trajectory point, and θ(i,n-1) is the ith joint angle of the (n-1) trajectory point. If Un is small, then the effect of the solution on the robot is minimal, which is the optimal solution for the trajectory.Based on the shortest distance principle, a set of joint angles closest to the current value of the joint angles were selected. The process of the inverse kinematics solution optimization is shown in Figure2.Figure 2
Optimization of the inverse kinematics solution.


## 4. Kinematics Simulation and Experimental Result

To validate the theoretical developments and conclusions, representative simulations were conducted in a laboratory. The test bed was composed of industrial robots produced by STAUBLI Faverges SCA, France. An external PC was used as a top layer controller to implement all the controller logics.Driving the robot end-effector to an arbitrary point and recording the robot jointsθ1=56.31, θ2=-3.24, θ3=105.09, θ4=-1.08, θ5=62.93, and θ6=-110.10 form the controller panel. The coordinate position and orientation configurations for the robot are as follows:(22)px=334.59,py=589.47,pz=419.04,α=-167.76,β=9.18,γ=12.24.These positions and orientation configurations were substituted into the robot inverse kinematic equations. With the proposed inverse kinematics method, the joint angles were acquired with eight solutions, as shown in Table2.Table 2
Solutions of inverse kinematics.
Number
θ
1 (°)
θ
2 (°)
θ
3 (°)
θ
4 (°)
θ
5 (°)
θ
6 (°)
1
56.309
101.847
−105.088
−4.597
167.973
−115.083
2
56.309
101.847
−105.088
−175.403
−167.973
64.9170
3
−114.885
−5.547
−96.119
176.365
63.462
−100.453
4
−114.885
−5.547
−96.119
−3.634
−63.462
79.546
5
56.309
−3.241
105.088
−1.075
62.926
−110.098
6
56.309
−3.241
105.088
178.925
−62.926
69.902
7
−114.885
−101.667
96.119
170.772
159.289
−110.72
8
−114.885
−101.667
96.119
−9.228
−159.289
69.278We consider the situation where the joint is in the trajectory. The only solution is the optimization joint. With the shortest distance rule, the eight solutions are compared with the joint angles of the current position and orientation. The proper joint angles can then be identified asθ1=56.309, θ2=-3.241, θ3=105.088, θ4=-1.075, θ5=62.926, and θ6=-110.098. The results show that the solution obtained is fully correct and effective.A set trajectory of the inspection task for the cylindrical work piece is shown in Figure3. This trajectory is a section of a circular arc. When testing the cylindrical work piece, the transducer should be along the normal direction. Therefore, the orientations are toward the center of the circle. The x-axis is along the tangential direction of motion. The trajectory was generated from CATIA first and then optimized with MATLAB.Figure 3
Trajectory of the robot in motion.The trajectory was divided into 100 discrete points. Joint solutions can be solved with the inverse kinematics method proposed in Section2. The motion trajectory of six joint angles can be obtained by using the 100 solutions. The joint positions for the robot are shown in Figure 4. The trajectory of joint 4 exhibits singularity. The trajectory has a 180° abrupt change.Figure 4
Joint position in the trajectory of the traditional method.The above trajectory was reoptimized with the optimized method proposed in this study. The new trajectory is shown in Figure5. In the entire process, no large degree flop occurs. This finding proves that the inverse kinematics of the proposed method is feasible.Figure 5
Joint position in the trajectory of the proposed method.Based on the correctness of this algorithm, a 3D-application software was built with OpenGL technology to simulate ultrasonic trajectory planning [17]. The 3D solid modeling in the OpenGL scene is shown in Figure 6. The scene displays the movement of the robot for the trajectory. It provides a good platform for further research and the verification problem of solving trajectory planning and error compensation.Figure 6
Kinematic simulation of the ultrasonic testing robot.The real ultrasonic testing experiment configuration is shown in Figure7. The test work piece is a thick cylinder with standard artificial defects. A transducer is attached to the end-effector of the robot. A water ejection unit couples these transducers with the work piece surface. An ultrasonic testing system is responsible for data acquisition and processing. According to trajectory planning, the joint angles of the robot can be calculated.Figure 7
Robotic ultrasonic testing system.Figure8 shows an artificial defect with “BIT” shape manufactured in the curved composite work piece. The robot was controlled to scan this curved surface and simultaneously collect A-scan data at each given position. The data were utilized to create an image called C-scan image with data processing. The ultrasonic C-scan image was displayed on a PC. The effectiveness of the inspection path we provided is proven by the good agreement between the C-scan result and picture of the artificial defect.Figure 8
C-scan image of the ultrasonic testing robot.
(a)
Photo of the artificial defect
(b)
C-scan result of the artificial defect


## 5. Conclusions

A simple and effective method for the inverse kinematics problem of an industrial robot system was presented. The arm-wrist separateness method was adopted to solve the inverse kinematics for robots with 6 DOF. A large number of complicated matrix operations can be avoided, and the solution process is not time consuming.With the aid of the shortest distance criteria, the orientation closest to the current position and orientation can be selected from eight solutions provided by the arm-wrist separateness method. These criteria can ensure the continuity of robot movement. This method is primarily considered from the continuity of angle motions. However, the principles of “disorder avoidance” and “best force” are also considered in several cases.A 3D-application software was developed based on OpenGL technology. Simulation of ultrasonic trajectory planning for complex-shape work pieces was included in the software. A robotic ultrasonic testing system was established to test the complex-shape work pieces. The C-scan result is satisfactory and verifies the validity and effectiveness of the proposed method. The application of the inverse kinematics method will herald a new approach in the robot nondestructive testing industry. Meanwhile, complicated matrix operations greatly limit traditional inverse kinematics methods. The proposed method provides an effective solution to this problem and will greatly benefit the development of nondestructive industrial testing.



---

*Source: 596327-2015-10-01.xml*