#### 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.

#### 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 Section 2 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 of robot end-effector, which has been known to solve the joint angles . 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 point . The position of point is independent of the last three joints , , and . Therefore, only the three previous joints should be considered when solving the position of point . These joints are the main content of the arm-wrist separateness method. The position and orientation are , and matrix can be achieved from the D-H model. The position of is denoted as .

The position of point can be described as

##### 2.1. Solutions of Arm Joint Angles , ,

The position of point can be determined from the homogeneous transformation matrix, which is derived from , , , . Consider

In the expressions above,

The elements of can be drawn as follows:

The following can be obtained by calculating (4) × + (5) × . Consider

The solution of can be obtained through solving (7). Therefore,

The following can be obtained by calculating (4) × (5) × . Moreover,

In the TX90 XL robot, can be obtained from (9) as follows:

We can obtain by solving (6) as follows:

Substituting the equation with (10) and (11) yields

The solution of is achieved by solving (12). Considerwhere

The result of performing the calculation of (10)/(11) is

The solution of (15) is , and we have

##### 2.2. Solutions of Wrist Joint Angles

The orientation of the robot is controlled by the rotation matrix, and the orientation of is described by . The orientation of the tool end-effector is described by . The relationship between and is . Matrix can be described as

can then be calculated as follows:

When ,

When , 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 and . Oftentimes, the current value of is used.

According to (17), when ,

When , the current value of is also utilized because the case is similar to the value determination of .

#### 3. Optimization of the Inverse Kinematics Solution

The obtained equations, , 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 . 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.

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 where is the solution effect of the th point in the trajectory. is the weighted factor of the th joint. is the th joint angle of the th trajectory point, and is the th joint angle of the trajectory point. If 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 Figure 2.

#### 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 , , , , , and form the controller panel. The coordinate position and orientation configurations for the robot are as follows:

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 Table 2.

We 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 , , , , , and . 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 Figure 3. 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 -axis is along the tangential direction of motion. The trajectory was generated from CATIA first and then optimized with MATLAB.

The trajectory was divided into 100 discrete points. Joint solutions can be solved with the inverse kinematics method proposed in Section 2. 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.

The above trajectory was reoptimized with the optimized method proposed in this study. The new trajectory is shown in Figure 5. In the entire process, no large degree flop occurs. This finding proves that the inverse kinematics of the proposed method is feasible.

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.

The real ultrasonic testing experiment configuration is shown in Figure 7. 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 8 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.

**(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.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work was supported by the Program of International S&T Cooperation (Grant no. 2012DFA70260) and a major project of the National Science and Technology of China (Grant no. 2011ZX04014-081).