Abstract
Based on screw theory, a novel improved inverse-kinematics approach for a type of six-DOF serial robot, “Qianjiang I”, is proposed in this paper. The common kinematics model of the robot is based on the Denavit-Hartenberg (D-H) notation method while its inverse kinematics has inefficient calculation and complicated solution, which cannot meet the demands of online real-time application. To solve this problem, this paper presents a new method to improve the efficiency of the inverse kinematics solution by introducing the screw theory. Unlike other methods, the proposed method only establishes two coordinates, namely the inertial coordinate and the tool coordinate; the screw motion of each link is carried out based on the inertial coordinate, ensuring definite geometric meaning. Furthermore, we adopt a new inverse kinematics algorithm, developing an improved sub-problem method along with Paden-Kahan sub-problems. This method has high efficiency and can be applied in real-time industrial operation. It is convenient to select the desired solutions directly from among multiple solutions by examining clear geometric meaning. Finally, the effectiveness and reliability performance of the new algorithm are analysed and verified in comparative experiments carried out on the six-DOF serial robot “Qianjiang I”.
Symbol List
Introduction
The most popular method used in robot kinematics is based on the Denavit-Hartenberg (D-H) notation with the homogeneous transformation of points [1]. In this method, the kinematic formula of each joint is described by one coordinate system in relation to another, resulting in some singularity problems. The inverse kinematics based on the D-H method has inefficient calculation and complicated solution, which will make real-time online operation less effective; this may not be suitable for real-time circumstances. As a traditional algorithm, the D-H-based inverse transformation method [1] is widely used for its intuition, but the inverse of each 4×4 homogeneous transformation matrix needs to be worked out, which results in a complex and time-consuming solution process. Thus, the effectiveness of the inverse-kinematics solution process directly affects the results of real-time online motion control [2, 3], for example as in the inverse dynamics controller in [4] and the remote robot operation in [5].
In recent years, another method based on screw theory has been increasingly adopted in kinematics modelling both for serial robots and parallel robots [6–8]. A screw motion is represented as a linear motion along an axis with a rotation motion by an angle about the same axis in relation to the inertial frame [6]. In screw theory every transformation of rigid body with respect to the inertial coordinate system can be expressed by a screw displacement [9].
In [10] a comparative analysis between the screw theory method and the D-H method for kinematics is presented, which shows that the screw-based method has some striking advantages over the D-H method. There are two main advantages of using the screw method to describe rigid body kinematics. The first is that it allows a global description of rigid body motion that does not suffer from singularity problems without using local coordinates. It needs only two coordinates, of which one is the inertial frame at the base and the other the tool frame at the end-effectors. All joint motions are described in the base coordinate. The second advantage of the method is that it can greatly simplify the analysis of mechanisms by using a geometric description of rigid motion and easily define the geometrical significance of the inverse kinematics solutions. Hence, it is easy to implement the movement of the robot knowing each joint's obvious geometric meaning [11].
Besides the merits mentioned above, the screw theory method also can avoid a large amount of matrixes multiplying operation, which can result in fast calculation and compact formalizations compared to D-H notation method [12]. In [13], Wu's method is introduced to the process of inverse kinematics by combining the idea of characteristic set with the screw method. In [14], screw theory is implemented to analyse the limitations and provides geometric interpretation of the sensible wrenches of continuum robots. With screw theory to solve the inverse kinematics problem we generally reduce the full inverse kinematics problem of a serial robot into some appropriate sub-problems whose solutions are already known. For a robot only including rotary joints, three basic Paden-Kahan sub-problems [15] based on screw theory are admissible for some configurations of robot inverse kinematics. In [16] an extended solution of sub-problem 2 is developed to respond to more manipulator configurations. However, the existing methods of Paden-Kahan sub-problems cannot solve all configurations of robot inverse kinematics. Taking a particular configuration of the six-DOF serial robot “Qianjiang I” as an example, it is not suitable to apply the known Paden-Kahan sub-problems to solve the full inverse kinematic problem. Hence, in this paper a novel improved Paden-Kahan sub-problem is studied for this particular configuration of six-DOF serial robot; then, the new inverse kinematic algorithm is proposed to simplify the solution process and promote efficiency with the virtues of the screw theory.
In section II we provide the necessary notation of the kinematic description of rigid body based on the screw theory and introduce some basic Paden-Kahan sub-problems. Section III presents a novel sub-problem solution with a special configuration of the series revolute joints. In section IV we implement the full inverse kinematic algorithm for the special six-DOF “Qianjiang-I” by combining our proposed new sub-problem and other basic Paden-Kahan sub-problems. In section V a numerical example and comparative experiment are illustrated to verify the correctness and effectiveness of this proposed method. Section VI concludes this paper.
Screw theory of rigid body
A twist, ξ, represents the instantaneous motion of a rigid body relative to a referential axis in [15]. It is usually expressed as ξ = (ω T ; v T ) T ∊ R6 where ω is the angular velocity of rotation about a certain axis and v is the instantaneously linear velocity of translation along the same axis, as shown in Figure 1.

Screw motion
We consider g st (0) as the initial configuration of the body coordinate system {B} relative to the inertial coordinate {A} at the base. After the twist motion ξ of the rigid body, the final configuration of {B} to {A} in twist exponential form is
where
can correspond to ω=[ω1 ω2 ω3] T .
For a revolute joint:
For an open-chain serial robot with n revolute joints, the forward kinematics can be achieved by the product of the exponential formula in Eq.(1) as
As for the inverse kinematics problem, we can develop a geometrically effective algorithm by using the known inverse kinematics sub-problems. There are some basic Paden-Kahan sub-problems [15], as follows:
Rotation about a single axis.
Rotation about two subsequent axes.
Rotation to a given distance.
Though the basic Paden-Kahan sub-problems are applied widely in some configurations of robot, this is still not enough to respond to the general configuration structure. This paper therefore extends a novel sub-problem to solve some special configuration structures in series robots.
The new sub-problem can be illustrated as in Figure 2, where there is rotation about three non-intersecting axis; two of these are parallel and non co-planar to the third.
The point q a rotates θ3 along ξ3 axis to point q b , then rotates θ2 along ξ2 axis to point q c , and finally rotates θ1 along ξ1 axis to point q. Now we solve θ1, θ2 and θ3 with the given q a and q.
The twists’ motion can be represented as
where ξ1, ξ2 and ξ3 are unit magnitude twists with zero-pitch, non-intersecting axis with ξ2, ξ3 two parallel axis.

New sub-problem structure
Applying the principle that the distance between points is preserved by rigid motion:
where q1 and q2 are arbitrary different points on the axis ξ1; here we choose the simplest:
From Eq.(4) and Eq.(5) we can get
Substituting Eq.(6) into Eq.(7) gives
From Eq.(4) we have
Then, θ1 can be obtained by applying the Paden-Kahan sub-problem 1 in [15]:
As for θ2 and θ3, we project the screw motion onto a plane which is perpendicular to axis ξ2, ξ3, as shown in Figure 3.

(a) Two-parallel-screw motion. (b) Screw motion plane projection.
The vectors are set as
Using triangular geometry, we can find θ01 and φ1 as follows:
is given by
Using the same method, we can find θ3 as follows:
The results above indicate that this sub-problem may have one solution, multiple solutions or no solution, depending on whether the rotational surfaces of axis ξ2, ξ3 intersect or not. When the two circles have two intersections, as in Figure 3(b), there are two solutions for the sub-problem. When the two circles are tangential to each other, there exists only one solution. There will be no solution where the two circles are not intersecting.
Kinematic modelling
The six-DOF industrial welding serial Robot “Qianjiang I” has six revolute joints and the structure coordinates are shown as Figure 4.
As illustrated in the figure, the last three consecutive joints’ axes intersect at a point while the first three joints’ structure satisfies the new sub-problem situation presented in Section 3. To solve the inverse kinematics problem of the whole robot, we can reduce it into some appropriate sub-problems whose solutions are already known. We can apply the new sub-problem for the inverse kinematics of the first three joints and apply the Paden-Kahan sub-problems to the inverse kinematics of the last three consecutive joints.

(a) “Qianjiang I”. (b) Structure coordinates.
Firstly, we construct the twist of each joint:
The initial configuration of Figure 4(b) is
Then, the forward kinematics of the six-DOF industrial welding robot is
Step 1 Solving θ1, θ2, θ3
When given the pose position and orientation of end-effectors in Eq.(17), we can solve the first three joints, θ1, θ2, θ3, by applying the proposed sub-problem in Section 3. In this case, we can set the known parameters as follows:
Finally, we substitute these parameters into Eq.(4), and solve θ1, θ2, θ3 accordingly.
Step 2 Solving θ4 and θ5
From Eq.(17) and the known θ1, θ2, θ3, we have
The simple point q6 is chosen on the ξ6 axis, but not on the axis of ξ4, ξ5 as
Then, the q6 on both sides of Eq.(19) is multiplied, giving
Thus, we can solve this case directly by applying the Paden-Kahan sub-problem 2 in [15], from which we have:
Finally, this yields:
Then, in this case we employ the Paden-Kahan sub-problem 1 in [15], giving
Eq. (24) has two solutions corresponding to the results of γ in Eq. (22).
Step 3 Solving θ6
From Eq.(19), we get
The reference point q t is chosen, though not on the ξ6 axis, as
Then, the q t is multiplied on both sides of Eq.(25), giving
Then, in this case we employ the Paden-Kahan sub-problem 1 in [15], giving
In sum, the full inverse-kinematic closed solutions are solved by applying the new sub-problem and basic Paden-Kahan problems. In the process of solving, we can choose the most suitable and simple reference points, such as (6), (20) and (26), resulting in a simplification of the calculating process and an improvement of the computation efficiency. Additionally, the obvious geometric meaning allows us to select the desired and reasonable solutions easily.
To verify the correctness of the inverse kinematics algorithm, we choose an arbitrary group of joint angles within the bounds of workspace range (−π, π]:
with the structure parameters
Applying the forward kinematics gives the pose position and orientation of the end-effectors:
Then, taking Eq.(31) as a known condition, we solve the inverse kinematics by applying the new sub-problem and the basic Paden-Kahan sub-problems. The solutions are shown in Table 1, and the configuration simulation model of each solution are shown in Figure 5.
Eight solutions of the inverse kinematics
From the result above, there are eight solutions of the inverse kinematics, and the first solution is perfect with the given joint in Eq.(29), which verifies the correctness and high accuracy of the presented inverse kinematics algorithm. Furthermore, in real mechanisms when considering the caging device and the actual workspace of the robot, a series of position bounds for every joint need be set. This additional geometrical information may help select the desired and reasonable solution during the inverse kinematic computing process using the proposed method. In real robot operation, we should also adopt optimization strategies such as the minimum energy method or minimum joint-displacement method, and choose a suitable solution for robot control without collision.

Configuration simulation models
To verify the efficiency and reliability performance in real control of the proposed algorithm, we choose a closed-curve irregular trajectory to track in Figure 6(a). Before applying the inverse kinematic algorithm, we sampled 681 discrete points from the curve in Figure 6(b) and calculated the Cartesian coordinate of each point as the desired pose matrix of the end-effector. The inverse kinematics of these poses needed be solved for the next step of trajectory planning in joint space.

(a) Closed-curve irregular trajectory. (b) Sampled discrete points.
To show the correctness and efficiency of our proposed method, we compare our screw theory method (“STM”) in this paper with the traditional inverse transformation method (“TIT”) in [17] and the vector-dot-product method (“VDP”) in [18]. Then, we implement these different algorithms to solve the inverse kinematics of the closed-curve irregular trajectory in Figure 6, respectively, in VC++ software (Windows XP 32-bit, Intel Core i5, 2.57GHz CPU, 4GB DDR3), and record the computation time of each given pose matrix respectively 1000 times. The performance comparison results are shown in Table 2.
Performance comparisons of different algorithms
As shown in Table 2, our proposed STM method with the geometric characteristic is more effective in determining kinematics solutions than the other two methods. To be more specific, it only requires just under 4.151 μs to figure out the inverse kinematics solutions for one sample pose based on mean time with our STM. Comparatively, the TTM and VDP take almost 11.683 μs and 6.457 μs, respectively, due to their complicated matrix computation. The max time results show the performance of our proposed algorithm is better than others.
Concentrating on simplifying the calculation of inverse kinematics problems for serial robots, this paper has presented a new sub-problem solution, which extends the application of sub-problem solutions in the inverse kinematics of general configuration robots. The proposed method can avoid complex matrix inverse operation and make the choice among multiple solutions easier and faster due to the obvious geometric meaning. Further, the case of the six-DOF “Qianjiang I” inverse kinematics problem has been studied by reducing the full inverse kinematics into some sub-problems, namely, our novel sub-problem and the other Paden-Kahan sub-problems, which makes the formula calculation simple and the geometric meaning clear. The results verify the correctness and completeness of the novel screw-theory-based inverse kinematics algorithm. Finally, the efficiency and reliability performance of our method (STM) has been compared in a closed-curve irregular trajectory tracking experiment with other two inverse kinematics algorithms, revealing that the STM algorithm is more practical and can meet the high-performance requirements of real-time operation. In future work, the inverse algorithm for other general structural six-DOF serial robots can be studied based on the approach presented in this paper.
Footnotes
7.
The authors express sincere thanks to the editors, reviewers and all the members of our research group for their beneficial comments. The research work is jointly supported by the Science Fund for Creative Research Groups of the National Natural Science Foundation of China (No. 51221004) and Zhejiang Provincial Natural Science Foundation of China (No. LY13E050001), and Hangzhou Civic Significant Technological Innovation Project of China (No. 20132111A04).
