# Inverse Kinematics of a 7R 6-DOF Robot with Nonspherical Wrist Based on Transformation into the 6R Robot

Authors: Xuhao Wang; Dawei Zhang; Chen Zhao
Journal: Mathematical Problems in Engineering
 (2017)

---

## Abstract

The 7R 6-DOF robots with hollow nonspherical wrist have been proven more suitable for spray painting applications. However, the inverse kinematics of this kind of robot is still imperfect due to the coupling between position and orientation of the end-effector (EE). In this paper, a new and efficient algorithm for the inverse kinematics of a 7R 6-DOF robot is proposed. The proposed inverse kinematics algorithm is a two-step method. The geometry of the 7R 6-DOF robot is analyzed. A comparison between the 7R 6-DOF robot and the well-known equivalent 6R robot is made. Based on this comparison, a rational transformation between these two kinds of robots is constructed. Then the general inverse kinematics algorithm of the equivalent 6R robot is applied to calculate the approximate solutions of the 7R 6-DOF robot, in the first step. The Damped Least-Squares (DLS) method is employed to derive the exact solutions, in the second step. The accuracy and efficiency of the algorithm are tested on a 7R 6-DOF painting robot. The results show that the proposed algorithm is more advantageous in the case without an approximate solution, such as the initial point of a continuous trajectory.


---

## Body

## 1. Introduction

In robotics, inverse kinematics is one of the most traditional research areas. It is necessary for robot design, trajectory planning, and dynamic analysis of robots. There are mainly two types of inverse kinematic techniques, namely, analytical methods and numerical methods. Analytical solutions exist only for some special geometric structure; that is, three adjacent axes intersect at one point or parallel to each other [1]. The robot with a spherical wrist is a good example. As the position and orientation of the end-effector (EE) are determined, respectively, by the first three joints and the last three joints, which is convenient to control and teaching, spherical wrists are widely used in industrial robots. In this paper, the serial 6R manipulator with a spherical wrist is called equivalent 6R robot. Many efficient inverse kinematics methods [2–4] have been presented for the equivalent 6R robot. However in some industrial applications such as spray painting, the 7R 6-DOF robot with hollow nonspherical wrist has been proved to be advantageous due to wider range of motion of the wrist. As shown in Figure 1, the wrist of 7R 6-DOF robot has 4 revolute joints, the second and third of which are coupled with the relation: θ6=-θ5. It means that an extra revolute joint is added to enlarge the range of motion of the wrist. And in order to avoid introduction of redundancy, a constraint is introduced on the second and third revolute joints of the wrist, resulting in a couple joint. Figure 2 is the configuration of the 7R 6-DOF robot.Figure 1
Prototype of a 7R 6-DOF robot.Figure 2
Configuration of the 7R 6-DOF robot.Because of the nonspherical wrist, the analytical solution of the 7R 6-DOF robot is nonexistent. In order to get inverse kinematics of the robots with nonspherical wrist, Tsai and Morgan [5] proposed a higher dimensional approach with eight second-degree equations. As an improvement, Raghavan and Roth [6] used dialytic elimination to derive a 16 degree polynomial. Manocha and Canny [7] proposed symbolic preprocessing and matrix computations to convert the inverse kinematics to an eigenvalue problem. In recent years, [8–12] have studied the inverse kinematics of general 6R robots. However, the problem is that these methods can only be applied to 6R robots. In some references, the methods based on heuristic search techniques such as neural network solution [13, 14], genetic algorithms [15, 16], and simulated annealing [17] are developed for the solution of inverse kinematics problem. These methods convert the kinematics problem into an equivalent minimization problem and generally suffer from time-consuming and low accuracy. For serial robots, the numerical iterative techniques, such as Newton-Raphson approach [18], the steepest descent approach [19], and the Damped Least-Squares (DLS) approach [20, 21], are often applied. The drawbacks of a numerical iterative algorithm are slow iterations and sensitivity to the initial value and normally just one solution instead of all solutions can be derived.For the 7R 6-DOF robot, Wu et al. [22] proposed a two-step method: the approximate analytical solutions are firstly derived through solving the 7R robot with spherical wrist by introducing a virtual wrist center, and the Levenberg-Marquardt (LM) method is used to calculate the exact solutions. This is an interesting approach, but a complex polynomial system needs to be solved in the first step which is time-consuming. In this paper, a new and efficient two-step method is presented. As the major improvement, a rational transformation between the 7R 6-DOF robot and the well-known equivalent 6R robot is constructed. The general inverse kinematics algorithm of the equivalent 6R robot is used to calculate the approximate solutions of the 7R 6-DOF robot in the first step. Then a general iterative algorithm, that is, the DLS method, is employed to get the exact solutions. The approximate solutions derived from the first step can offer good initial value to the DLS method and make it computationally efficient. To verify the accuracy and efficiency of this method, three simulations are implemented.The paper is organized in the following manner. In Section2, the inverse kinematics of the equivalent 6R robot is briefly reviewed. Section 3 describes the efficient transformation between the 7R 6-DOF robot and the equivalent 6R robot, where a rational assumption will be given. In Section 4, the DLS method is reviewed and the new inverse kinematics algorithm is presented. In Section 5, three simulations are implemented to illustrate the accuracy and efficiency of the proposed method. The results are presented and discussed. Section 6 is the conclusion.


## 2. Inverse Kinematics Algorithm of the Well-Known Equivalent 6R Robot

As stated previously, the equivalent 6R robot is a well-known typical structure of serial robots. The inverse kinematics methods have been proposed by [2–4]. Before deriving the inverse kinematics of the 7R 6-DOF robot, firstly we briefly describe that of the equivalent 6R robot. For the equivalent 6R robot, the configuration is shown in Figure 3. For serial robots, Denavit–Hartenberg (DH) parameters are widely used to describe the position and orientation of the EE. The transformation matrix relating the joint i to joint i-1 could be given by(1)Tii-1=ci-si0ai-1sicαi-1cicαi-1-sαi-1-disαi-1sisαi-1cisαi-1cαi-1dicαi-10001,where si=sin⁡θi, ci=cos⁡θi, cαi=cos⁡αi, and sαi=sin⁡αi.Figure 3
Configuration of the equivalent 6R robot.Then the forward kinematics of the manipulator could be formulated by(2)T10θ1T21θ2T32θ3T43θ4T54θ5T65θ6=Tend,where Tend is the configuration of the EE with respect to the base frame. For the inverse kinematics, Tend is known and described by (3), where n, o, and a are three unit orientation vectors, and p is the position vector of Tend(3)Tend=noap0001=nxoxaxpxnyoyaypynzozazpz0001.As a result, the inverse kinematics problem is to calculate the joint anglesθi through the matrix (2). To derive the solutions, (2) is firstly rearranged as(4)T21θ2T32θ3T43θ4T54θ5T65θ6=T10θ1-1Tend.From the last column of both sides of (4), we obtain(5)c1px+s1py=d4s23+a2c2,(6)-s1px+c1py=0,(7)pz=-d4c23+a2s2.From (6), two values of θ1are obtained as (8)θ1=atan⁡2py,px,θ1′=θ1-pi,θ1>0,θ1+pi,θ1≤0.Calculating the sum of the squares of (5), (6), and (7) on both sides, we obtain(9)2a2d4s3=px2+py2+pz2-d42-a22.The joint angleθ3 is obtained as (10)θ3=2atan⁡1±1-k2k,where k=(px+py+pz-d4-a2)/2a2d4.In order to deriveθ2, rearrange (2) as(11)T43θ4T54θ5T65θ6=T32θ3-1T21θ2-1T10θ1-1Tend.Thenθ2 can be obtained by equating (1, 4) and (2, 4) matrix elements of each sides in (11) (12)θ2=atan⁡2pza2c3+k2a2s3+d4,k1+k2a2c3-θ3,where k1=-pzd4-pza2s3 and k2=pxc1+pys1.Equate (1, 3) and (3, 3) matrix elements of each sides in (11), we obtain(13)θ4=atan⁡2axs1-ayc1,azs23+ayc23s1+axc23c1.Similarly,θ5 and θ6 can be obtained. Following the calculation above, 8 solutions in total could be obtained.


## 3. Transformation between the 7R 6-DOF Robot and Equivalent 6R Robot

In order to apply above algorithm to the inverse kinematics of the 7R 6-DOF robot, firstly the geometry of the 7R 6-DOF robot is analyzed. The transformation between the 7R 6-DOF robot and the equivalent 6R robot is constructed based on a comparison.As shown in Figure1, the 7R 6-DOF robot consists of 7 revolute joints. Configuration of the first three joints, that is, R⊥R//R, is widely used in industrial robots. The last four joints construct the nonspherical wrist. From the comparison between the 7R 6-DOF robot and the equivalent 6R robot which is shown in Figure 3, configurations of the first three joints are the same and the wrists are different. In order to construct the transformation between the two kinds of robot, the first three joint angles are firstly set to be equal, described by (14). Then the transformation between the wrists can be derived separately. Geometrical models of the wrists are given in Figures 4 and 5, respectively. The center of joint 3 is taken as the origin of the base frame. For simplicity, the notation 4R wrist and equivalent 3R wrist are used in the following text. As for the 4R wrist, because the couple joint is the main difference, the kinematic analysis of the couple joint is firstly executed(14)θ1=θ1eq,θ2=θ2eq,θ3=θ3eq.Figure 4
Configuration of the 4R wrist.Figure 5
Configuration of the equivalent 3R wrist.Figure4 shows that the couple joint consists of two coupled revolute joints. As a result of rotating the couple joint over an angle θ5, axis 4 and axis 7 revolve around axis 5 and axis 6, respectively. And axis 4 and axis 7 intersect at a changing point Pc′. Ignoring the change of position, a virtual axis which is perpendicular to axis 4 and axis 7 could be constructed at the point Pc′. As a result, a virtual equivalent 3R wrist can be obtained, as shown in Figure 5. Taking the change of position into account, an additional relation is given by (15), which could be derived in triangle O4O5O6 and triangle O4Pc′O6(15)d4eq=d4+d5cos⁡βcos⁡θ5eq/2,d6eq=d7+d5cos⁡βcos⁡θ5eq/2.Based on DH parameters, configuration of the EE with respect to the base frame is given by(16)Tend4r=T43T54T65T76,Tend3r=Teq43Teq54Teq65.The equivalent 3R wrist must generate the same configuration of EE as the 4R wrist, meaning the following equation:(17)Tend4r=Tend3r.By equating the matrix elements of each side in (17), the transformation between the two wrists could be obtained. But it is not a simple relation. Given this situation, the orientation of the EE with respect to the base frame is considered solely, which is efficient for the 3-DOF wrist [23]. Then (17) is simplified as(18)Rz,θ4Rx,α4Rz,θ5Rx,α5Rz,θ6Rx,α6Rz,θ7=Rz,θ4eqRx,α4eqRz,θ5eqRx,α5eqRz,θ6eq.Because the couple joint is the main difference, we firstly keep joint 4 and joint 7 at the initial position, that is,θ4=θ7=0. By equating the matrix elements of each side in (18), we obtain(19)cα6sα5s5-sα6c5s5-cα5c5s5=c4eqs5eq,(20)-sα6cα4s52+cα4cα5c52-sα4sα5c5-cα6cα5sα4+cα4sα5c5=s4eqs5eq,(21)cα6cα4cα5-sα4sα5c5-sα6cα5sα4c52+cα4sα5c5+sα4s52=c5eq.Thenθ5eq is derived by substituting c5eq=1-x2/1+x2 into (21), where x=tan⁡(θ5eq/2)(22)θ5eq=2atan⁡±1-A1+A,where A=cα6(cα4cα5-sα4sα5c5)-sα6(cα5sα4c52+cα4sα5c5+sα4s52).Whens5eq≠0, we can obtain the value of θ4eq with (19) and (20)(23)θ4eq=atan⁡2B,C,where (24)B=signs5eq-sα6cα4s52+cα4cα5c52-sα4sα5c5-cα6cα5sα4+cα4sα5c5,C=signs5eqcα6sα5s5-sα6c5s5-cα5c5s5.According to the property of the wrist,θ6eq is equal to -θ4eq; that is, θ6eq=-θ4eq. Hence, taking the displacement of joint 4 and joint 7 into account, the value of θ4eq and θ6eq can be obtained(25)θ4eq=atan⁡2B,C+θ4,θ6eq=-atan⁡2B,C+θ7.As for the inverse transformation, substitutec5=(1-y)/(1+y) into (21). Where y=(tan⁡(θ5/2))2, we can obtain(26)W-U+Vy2+2V-Wy+W+U+V=0,where W=sα4sα6-sα6cα5sα4, U=-sα5(cα6sα4+cα4sα6), and V=cα4cα5cα6-sα4sα6-c5eq.From (26), two values of y can be obtained. However, one of the values is negative, which results in θ5 with imaginary part. Then note y+ as the nonnegative solution of (26); θ5 is obtained as(27)θ5=2atan⁡±y+.Take the effect of the couple joint into account; we can obtain(28)θ4=θ4eq-atan⁡2B,C,θ7=θ6eq+atan⁡2B,C.Because of the changing pointPc′, the inverse kinematics algorithm in Section 2 cannot be used to the equivalent 6R robot obtained from the transformation. Given this situation, an assumption is made that the point Pc′ is fixed. It means that the points Pc′, Pc1, and Pc2 coincide all the time, as shown in Figure 4. With this assumption, the inverse kinematics algorithm in Section 2 can be used to calculate approximate solutions of the 7R 6-DOF robot.In order to have a further understanding, the error of this transformation with an assumption is investigated as follows. As shown in Figure6, the intersection of axis 4 and axis 7 is point Pc′. The position of point Pc′ is changing while rotating the couple joint of the 4R wrist, which is the source of the error. So the variation of point Pc′, that is, the distance between point Pc′ and Pc1, is calculated in triangle O4O5Pc and triangle O4Pc′Pc as(29)d=d5cos⁡β1cos⁡θ5eq/2-1.Figure 6
Transformation error described in the 4R wrist.It is obvious that(30)dmax=d5cos⁡β1cos⁡θ5maxeq/2-1,where dmax is the maximum distance between point Pc′ and Pc1, θ5maxeq is the maximum joint angle of the equivalent 6R robot, and θ5maxeq=4β when β≤45°. For practical robots, 30°≤β≤35°. As shown in Figure 7, it is the tendency of variation on dmax versus β with d5=90mm. It is obvious that the smaller d5 and β are, the smaller the distance between point Pc′ and Pc1 will be. As a practical example, the wrist of ABB IRB 5400 painting robot uses β=35° and parameter d5 is small enough to ensure the assumption above. The effect of the transformation error on the inverse kinematics solution accuracy is discussed in Section 5.1 with a numerical simulation.Figure 7
Tendency of variation ondmax versus β with d5=90mm.


## 4. The DLS Method and the New Inverse Kinematics Algorithm

Because of the absence of the analytical solutions, a numerical iterative algorithm is necessary and helpful for the inverse kinematics of the 7R 6-DOF robot. As a stable numerical algorithm, the Damped Least-Squares (DLS) method is widely used for inverse kinematics of serial robots [20]. As the main advantage, the DLS method with a varying damping factor could deal with the kinematic singularities of the robot, providing user-defined accuracy capabilities. So in this paper, the DLS method is used and the main idea is described as follows.


### 4.1. The DLS Method

Firstly, the error between the desired and actual EE configuration is investigated. With the desired configurationTd and the actual configuration Ta, the error of configuration could be described in the tool (EE) coordinate frame as (31). The orientation of the EE is described according to the Z-Y-X Euler angles(31)e=exeyezeϕeθeψ=napd-paoapd-paaapd-paaa·od-ad·oa2na·ad-nd·aa2oa·nd-od·na2,where ex,ey,ezT is the position error; eϕ,eθ,eψT is the orientation error of EE; pd and pa are the position vector of Td and Ta, respectively; nd, od, ad and na, oa, aa are the orientation vector of Td and Ta, respectively.According to the differential theory, we can obtain(32)e=JΔq,where e denotes the configuration error of EE, Δq denotes the increment of joint angle, and J is the Jacobian matrix.As for the general configuration where the Jacobian matrix is nonsingular,Δq could be calculated by (33) according to the least-squares principle(33)Δq=JTJ-1JTe.When the Jacobian matrix is singular or at the neighborhood, the damping factorλ is introduced to make a trading off accuracy against feasibility of the joint angle required and Δq could be described as(34)Δq=JTJ+λ2I-1JTe.It is obvious that a suitable value forλ is essential. And a small value of λ gives accurate solution but low robustness to the kinematic singularities. Given this problem, a method to determine the value of λ is given based on the condition numbers of J as follows:(35)λ2=1-εk2λ12k>ε0k≤ε,where k is the condition numbers of J; ε is the critical value of k; λ1 is the maximum value of λ and usually is set based on trial and error.Then the iterative formula of joint angle will be(36)q=q+Δq.The exact inverse kinematics solution will be obtained with the rational termination condition(37)perr≤εp,rerr≤εr,where perr=ex2+ey2+ez2 and rerr=eϕ2+eθ2+eψ2 are the position error and orientation error of EE, respectively. εp and εr are the critical value and usually are set based on trial and error.


### 4.2. New Inverse Kinematics Algorithm

The new presented algorithm for the inverse kinematics of the 7R 6-DOF robot is shown in Algorithm1. At line (1), DH parameters of the corresponding equivalent 6R robot are calculated with the transformation method shown in Section 3. At line (2), joint angle θeq of equivalent 6R robot is derived with the inverse kinematics algorithm shown in Section 2. At line (3), the approximate solutions of the 7R 6-DOF robot are obtained with the inverse transformation method shown in Section 3. At lines (4)–(7), the exact inverse kinematic solutions of the 7R 6-DOF robot can be derived with the DLS method.The new proposed algorithm is a two-step method, which incorporates the inverse kinematics algorithm of the equivalent 6R robot and the DLS method. The approximate solutions derived from the first step can offer good initial value to the DLS method. This is the main advantage of the proposed algorithm over the DLS method. Moreover, the DLS method can derive just a single solution, while the proposed algorithm can derive all 8 solutions. This is another advantage of the proposed algorithm over the DLS method. It is notable that [22] also presents a two-step method which is noted as Wu’s method. There are several similarities between the new proposed algorithm and Wu’s method: (1) the approximate solutions are derived by analytical method; (2) the exact solutions are derived by a numerical iterative technique with the approximate solutions as the initial values. And the main difference is the way to derive the approximate solutions in the first step. Because a complex polynomial system needs to be solved, the method used in the first step of Wu’s method (i.e., directly deriving the approximate solutions by solving the 7R robot with spherical wrist) is time-consuming. Instead the inverse kinematics algorithm of the equivalent 6R robot (which has been well studied and is available in most commercial robot controllers) is utilized in the first step of the proposed algorithm. This improvement makes the proposed method more computationally efficient than Wu’s method. Moreover, it is easier to find the correct approximate solution from all possible ones by prescribing configuration indicators [24] for the equivalent 6R robot. This is another advantage of the proposed method over Wu’s method.Algorithm 1 (new inverse kinematics algorithm).
(1)
DH parameters of the equivalent 6R robot⇐ DH parameters of the 7R 6-DOF robot;
(2)
θ
e
q
=
I
K
e
q
(
T
e
n
d
);
(3)
θ
i
n
=
I
T
R
A
N
S
(
θ
e
q
);
(4)
T
a
⇐
D
K
(
θ
i
n
);
(5)
T
e
n
d
,
T
a
⇒
e;
(6)
θ
i
n
=
θ
i
n
+
Δ
θ
=
θ
i
n
+
(
J
T
J
+
λ
2
I
)
-
1
J
T
e;
(7)
ifperr≤εp and rerr≤εr, then θfinal=θin stop; else go to (4).Additionally, the multiple solutions problem is discussed. It is well known that a general 6R 6-DOF robot can have at most 16 inverse kinematic solutions [7]. However with the proposed algorithm, only 8 real number solutions can be obtained for the 7R 6-DOF robot. This can be explained by (26) which is used in the inverse transformation method, that is, Algorithm 1 line (3). Given a solution of the equivalent 6R robot, two values of y can be obtained. However, one of the values is negative, which results in θ5 with imaginary part. Because there are 8 solutions for the equivalent 6R robot, 8 values of θ5 with imaginary part can be obtained which are meaningless for practical application. Finally, only 8 real number solutions are left. In order to have a further understanding, the solutions of (26) (i.e., the values of y) are analyzed. The values of y are influenced by θ5eq and are shown in Figure 8. It is obvious that there is only one value of y which is nonnegative when θ5eq changes in its working space, that is, (-140°,140°). Therefore in some degree, we can draw the conclusion that there are at most 8 meaningful real number inverse kinematic solutions when the 7R 6-DOF robot works in its working space.Figure 8
The solutions of (26) (i.e., the values of y).


## 4.1. The DLS Method

Firstly, the error between the desired and actual EE configuration is investigated. With the desired configurationTd and the actual configuration Ta, the error of configuration could be described in the tool (EE) coordinate frame as (31). The orientation of the EE is described according to the Z-Y-X Euler angles(31)e=exeyezeϕeθeψ=napd-paoapd-paaapd-paaa·od-ad·oa2na·ad-nd·aa2oa·nd-od·na2,where ex,ey,ezT is the position error; eϕ,eθ,eψT is the orientation error of EE; pd and pa are the position vector of Td and Ta, respectively; nd, od, ad and na, oa, aa are the orientation vector of Td and Ta, respectively.According to the differential theory, we can obtain(32)e=JΔq,where e denotes the configuration error of EE, Δq denotes the increment of joint angle, and J is the Jacobian matrix.As for the general configuration where the Jacobian matrix is nonsingular,Δq could be calculated by (33) according to the least-squares principle(33)Δq=JTJ-1JTe.When the Jacobian matrix is singular or at the neighborhood, the damping factorλ is introduced to make a trading off accuracy against feasibility of the joint angle required and Δq could be described as(34)Δq=JTJ+λ2I-1JTe.It is obvious that a suitable value forλ is essential. And a small value of λ gives accurate solution but low robustness to the kinematic singularities. Given this problem, a method to determine the value of λ is given based on the condition numbers of J as follows:(35)λ2=1-εk2λ12k>ε0k≤ε,where k is the condition numbers of J; ε is the critical value of k; λ1 is the maximum value of λ and usually is set based on trial and error.Then the iterative formula of joint angle will be(36)q=q+Δq.The exact inverse kinematics solution will be obtained with the rational termination condition(37)perr≤εp,rerr≤εr,where perr=ex2+ey2+ez2 and rerr=eϕ2+eθ2+eψ2 are the position error and orientation error of EE, respectively. εp and εr are the critical value and usually are set based on trial and error.


## 4.2. New Inverse Kinematics Algorithm

The new presented algorithm for the inverse kinematics of the 7R 6-DOF robot is shown in Algorithm1. At line (1), DH parameters of the corresponding equivalent 6R robot are calculated with the transformation method shown in Section 3. At line (2), joint angle θeq of equivalent 6R robot is derived with the inverse kinematics algorithm shown in Section 2. At line (3), the approximate solutions of the 7R 6-DOF robot are obtained with the inverse transformation method shown in Section 3. At lines (4)–(7), the exact inverse kinematic solutions of the 7R 6-DOF robot can be derived with the DLS method.The new proposed algorithm is a two-step method, which incorporates the inverse kinematics algorithm of the equivalent 6R robot and the DLS method. The approximate solutions derived from the first step can offer good initial value to the DLS method. This is the main advantage of the proposed algorithm over the DLS method. Moreover, the DLS method can derive just a single solution, while the proposed algorithm can derive all 8 solutions. This is another advantage of the proposed algorithm over the DLS method. It is notable that [22] also presents a two-step method which is noted as Wu’s method. There are several similarities between the new proposed algorithm and Wu’s method: (1) the approximate solutions are derived by analytical method; (2) the exact solutions are derived by a numerical iterative technique with the approximate solutions as the initial values. And the main difference is the way to derive the approximate solutions in the first step. Because a complex polynomial system needs to be solved, the method used in the first step of Wu’s method (i.e., directly deriving the approximate solutions by solving the 7R robot with spherical wrist) is time-consuming. Instead the inverse kinematics algorithm of the equivalent 6R robot (which has been well studied and is available in most commercial robot controllers) is utilized in the first step of the proposed algorithm. This improvement makes the proposed method more computationally efficient than Wu’s method. Moreover, it is easier to find the correct approximate solution from all possible ones by prescribing configuration indicators [24] for the equivalent 6R robot. This is another advantage of the proposed method over Wu’s method.Algorithm 1 (new inverse kinematics algorithm).
(1)
DH parameters of the equivalent 6R robot⇐ DH parameters of the 7R 6-DOF robot;
(2)
θ
e
q
=
I
K
e
q
(
T
e
n
d
);
(3)
θ
i
n
=
I
T
R
A
N
S
(
θ
e
q
);
(4)
T
a
⇐
D
K
(
θ
i
n
);
(5)
T
e
n
d
,
T
a
⇒
e;
(6)
θ
i
n
=
θ
i
n
+
Δ
θ
=
θ
i
n
+
(
J
T
J
+
λ
2
I
)
-
1
J
T
e;
(7)
ifperr≤εp and rerr≤εr, then θfinal=θin stop; else go to (4).Additionally, the multiple solutions problem is discussed. It is well known that a general 6R 6-DOF robot can have at most 16 inverse kinematic solutions [7]. However with the proposed algorithm, only 8 real number solutions can be obtained for the 7R 6-DOF robot. This can be explained by (26) which is used in the inverse transformation method, that is, Algorithm 1 line (3). Given a solution of the equivalent 6R robot, two values of y can be obtained. However, one of the values is negative, which results in θ5 with imaginary part. Because there are 8 solutions for the equivalent 6R robot, 8 values of θ5 with imaginary part can be obtained which are meaningless for practical application. Finally, only 8 real number solutions are left. In order to have a further understanding, the solutions of (26) (i.e., the values of y) are analyzed. The values of y are influenced by θ5eq and are shown in Figure 8. It is obvious that there is only one value of y which is nonnegative when θ5eq changes in its working space, that is, (-140°,140°). Therefore in some degree, we can draw the conclusion that there are at most 8 meaningful real number inverse kinematic solutions when the 7R 6-DOF robot works in its working space.Figure 8
The solutions of (26) (i.e., the values of y).


## 5. Simulation and Discussion

In order to illustrate the accuracy and efficiency of the algorithm proposed in this paper, three simulations are implemented on a practical 7R 6-DOF painting robot as shown in Figure1. The DH parameters of the robot are shown in Table 1. The first simulation aims to validate the accuracy of the algorithm by calculating 8 solutions of the inverse kinematics with a given configuration of EE. In the second simulation, the proposed algorithm is compared with the DLS method and Wu’s method. The accuracy of the algorithm is also assessed in the whole usable workspace of the robot. The third simulation aims to illustrate the efficiency of the algorithm, when it is tested in an offline programming operation.Table 1
The D-H parameters of the 7R 6-DOF robot.
i-th
a
i
-
1 (mm)
α
i
-
1 (deg)
d
i (mm)
θ
i (deg)
1
0
0
0
60
2
0
90
0
-
30
3
1000
0
0
60
4
0
90
900
-
30
5
0
-
35
80
60
6
0
70
80
-
60
7
0
-
35
100
30


### 5.1. Simulation 1

Takeq=[θ1,θ2,θ3,θ4,θ5,θ7]=[60°,-30°,60°,-30°,60°,30°] as the target joint angle. Through the forward kinematic equations, the configuration of EE is described as(38)Tend=-0.0128940.902597660.43029197754.40005-0.120727-0.42858500.895399281333.44420.992602-0.04040210.11449425-1.3269190001.According to the new proposed algorithm, the DH parameters of the corresponding equivalent 6R robot are derived with the method shown in Algorithm1 line (1), as shown in Table 2. The 8 solutions of the equivalent 6R robot are calculated with equations in Algorithm 1 line (2). Then the approximate solutions of the 7R 6-DOF robot are obtained with the inverse transformation method in Algorithm 1 line (3), as listed in Table 3. At the end, Table 4 lists the final inverse kinematic solutions of the 7R 6-DOF robot. And the corresponding postures for the 8 inverse kinematic solutions are shown in Figure 9. The algorithm is performed on a desktop computer platform (Pentium i7 2.8 GHz, 8 GB RAM, MATLAB software program).Table 2
The D-H parameters of the equivalent 6R robot.
i-th
a
i
-
1 (mm)
α
i
-
1 (deg)
d
i (mm)
1
0
0
0
2
0
90
0
3
1000
0
0
4
0
90
965.53216
5
0
-
90
0
6
0
90
165.53216Table 3
The approximate inverse kinematic solutions of the 7R 6-DOF robot.
i
θ
~
1 (deg)
θ
~
2 (deg)
θ
~
3 (deg)
θ
~
4 (deg)
θ
~
5 (deg)
θ
~
7 (deg)
1
60.0406
-
32.2712
64.0328
-
28.8849
57.3570
29.0515
2
60.0406
-
32.2712
64.0328
199.3868
-
57.3570
-
199.2202
3
60.0406
-
56.7935
114.9672
-
20.9030
34.0025
22.2399
4
60.0406
-
56.7935
114.9672
187.2190
-
34.0025
-
185.8821
5
-
119.9594
-
123.2065
64.0328
7.2190
-
34.0025
174.1179
6
-
119.9594
-
123.2065
64.0328
159.0970
34.0025
22.2399
7
-
119.9594
-
147.7288
114.9672
19.3868
-
57.3570
160.7798
8
-
119.9594
-
147.7288
114.9672
151.1151
57.3570
29.0515Table 4
The inverse kinematic solutions of the 7R 6-DOF robot.
i
θ
1 (deg)
θ
2 (deg)
θ
3 (deg)
θ
4 (deg)
θ
5 (deg)
θ
7 (deg)
1
59.9999
-
29.9999
59.9999
-
30.0000
60.0000
30.0000
2
59.9999
-
29.9999
59.9999
200.6224
-
60.0000
-
200.6224
3
60.0288
-
57.6792
116.5404
-
20.7687
33.3904
22.1316
4
60.0288
-
57.6792
116.5404
186.8377
-
33.3904
-
185.4748
5
-
119.9712
-
122.3207
63.4595
6.8377
-
33.3904
174.5251
6
-
119.9712
-
122.3207
63.4595
159.2312
33.3904
22.1316
7
-
120.0000
-
150.0000
120.0000
20.6224
-
60.0000
159.3775
8
-
120.0000
-
150.0000
120.0000
149.9999
60.0000
30.0000Figure 9
Postures for the 8 inverse kinematic solutions of the 7R 6-DOF robot.It is obvious that 8 solutions are obtained for a given configuration of EE. The first solution in Table4 agrees with the given target joint angle, and the deviation is less than 0.0001°, which illustrate the accuracy of the proposed algorithm. It is worthwhile to make a comparison between the approximate solutions in Table 3 and the exact solutions in Table 4. As stated in Section 3, the deviations result from the error of the transformation, that is, the distance between points Pc′ and Pc1 described by (34). From the comparison, the approximate solutions are very close to the exact ones with the deviation less than 5°. Therefore the approximate solutions as the initial values could guarantee the DLS method to convergent to the exact solutions rapidly. This is the advantage of the proposed algorithm over the general DLS method of which the initial value is randomly selected. Additionally, as shown in Figure 9, the corresponding postures of the robot are similar to that of the equivalent 6R robot [24], which makes it easy to select an optimal solution according to the joint working range restrictions, which is a main advantage of the proposed algorithm over Wu’s method.


### 5.2. Simulation 2

In order to further illustrate the performance of the proposed algorithm, it is compared with the DLS method and Wu’s method in this section. In the first comparison, the target joint angle in Simulation 1 is used. The proposed algorithm and DLS method are utilized to solve this inverse kinematics problem. Here, the termination conditions of the two methods are set to be the same (i.e.,perr≤0.01mm and rerr≤0.01°). The corresponding results are shown in Table 5. From Table 5, the proposed algorithm takes about 64 ms on an average. It is notable that three different initial values are chosen for the DLS method. When the initial value is chosen as θin=[60°,-25°,60°,-30°,60°,-60°,30°], the computation time of DLS method is 60 ms which is slightly smaller than that of the proposed method. However, when the initial value is changed to θin=[0°,0°,0°,0°,0°,0°,0°], the computation time will greatly increase to 182 ms. The DLS method even fails to convergent to the correct solution, when the initial value is chosen as θin=[-60°,-25°,60°,-30°,60°,-60°,30°]. It means that the DLS method is too sensitive to the initial value which is randomly selected in practical usage. So in some degree, we draw the conclusion that the proposed algorithm is more stable and efficient than the DLS method. Moreover, the DLS method can derive only one solution, while the proposed algorithm can derive all 8 solutions as shown in Simulation 1. This is another advantage of the proposed algorithm over the DLS method.Table 5
The computation time of the proposed algorithm and DLS method.
Method
The initial valueθin (deg)
Computation time (ms)
The proposed method
/
64
DLS method
[60, −25, 60, −30, 60, 60, 30]
60
[0, 0, 0, 0, 0, 0, 0]
182
[−60, −25, 60, −30, 60, 60, 30]
FailureIn the second comparison, the accuracy and efficiency of the algorithm are assessed in the whole usable workspace of the robot. For the 7R 6-DOF painting robot under studied, the usable workspace is shown in Table6. And 1000 groups of target joint angles are randomly selected in the usable workspace. For comparison, Wu’s method [22] is also utilized to solve the inverse kinematics. Because the main difference between the proposed algorithm and Wu’s method is the first step, that is, the method to derive the approximate solutions, the second step of Wu’s method is changed from LM method to DLS method for simplicity. And the termination conditions of the two methods are set to be the same (i.e., perr≤0.01mm and rerr≤0.01°). The corresponding solution errors and the computation times are depicted in Figures 10, 11, and 12, respectively. For simplicity, the average and maximum computation times of the two methods are also summarized in Table 7. From Figures 10 and 11, the inverse kinematic solutions for all 1000 configurations are successfully derived with the two methods, and the solution errors are rather small, that is, perr≤0.01mm and rerr≤0.0001°. However, the computation time of the proposed method is less than that of Wu’s method, as shown in Figure 12 and Table 7. In other words, the proposed method is more efficient than Wu’s method. This is because directly solving the 7R robot with spherical wrist in Wu’s method is more time-consuming than solving the equivalent 6R robot in the new proposed method. Moreover, it is easier to find the correct approximate solution from all possible ones by prescribing configuration indicators [24] for the equivalent 6R robot.Table 6
The usable workspace of the 7R 6-DOF robot.
i-th
θ
1 (deg)
θ
2 (deg)
θ
3 (deg)
θ
4 (deg)
θ
5 (deg)
θ
7 (deg)
Range of joint angle
[−120, 120)
[−30, 135]
[−80, 80]
(−360, 360)
(−170, 170)
(−360, 360)Table 7
The computation time of the proposed algorithm and modified Wu’s method.
Method
Average computation timeTaverage (ms)
Maximum computation timeTmaximum (ms)
The proposed method
60.3
128
Modified Wu’s method
90.6
169.9Figure 10
Position errors of the inverse kinematic solutions: (a) the proposed method; (b) modified Wu’s method.
(a)
(b)Figure 11
Orientation errors of the inverse kinematic solutions: (a) the proposed method; (b) modified Wu’s method.
(a)
(b)Figure 12
Computation time of the proposed method and modified Wu’s method.Additionally, it is notable that the computation time of the algorithm is influenced by the termination conditions, that is, the prescribed solution errorperr and rerr. In other words, in order to improve the accuracy of the solution, the computation time will increase. From the perspective of application, the termination conditions used in this simulation are rational.


### 5.3. Simulation 3

The new proposed inverse kinematics algorithm is implemented in an offline programming operation to spray painting. The graphic simulator of the 7R 6-DOF robot and the task is shown in Figure13. The trajectory of EE is a classical raster trajectory in the plane x-o-y on the surface of the workpiece. The orientation of EE is constant, with the x-axes parallel to that of the base frame and the z- and y-axes opposite to that of the base frame respectively. The duration of the motion is determined as 20 s. For trajectory tracking, firstly discrete points are sampled from the trajectory. The inverse kinematic solution for each sample point is derived. Later on, a further interpolation in joint space is implemented to make the trajectory smooth enough. And the calculated joint positions, velocities, and acceleration of the 7R 6-DOF robot are given in Figure 14.Figure 13
Graphic simulator of the 7R 6-DOF robot and the trajectory.Figure 14
Simulation results of the 7R 6-DOF robot: (a) joint position; (b) joint velocity; (c) joint acceleration.
(a)
(b)
(c)It is obvious that the offline programming operation is completed with the new proposed algorithm. The algorithm takes 15 ms on an average on a desktop computer platform (Pentium i7 2.8 GHz, 8GB RAM, MATLAB software program), which illustrates the efficiency. By comparing simulation 3 and simulation 2, the computing time in simulation 3 is less than 25 percent of that in simulation 2. The reason is that we use the solution of the last step as the initial value of the next step when the robot is following a continuous trajectory. In other words, the presented algorithm is only used for the initial point of the continuous trajectory. So, the presented algorithm may be not so great advantageous than general iterative method during a continuous trajectory. However, as for the initial point of the continuous trajectory, that is, the point without an approximate solution, the new proposed algorithm in this paper is significant, because, with an initial solution derived in the first step, the proposed algorithm is less time-consuming. Additionally, 8 solutions will be obtained for a given EE configuration. According to the joint working range restrictions and so on, the optimal solution could be selected.


## 5.1. Simulation 1

Takeq=[θ1,θ2,θ3,θ4,θ5,θ7]=[60°,-30°,60°,-30°,60°,30°] as the target joint angle. Through the forward kinematic equations, the configuration of EE is described as(38)Tend=-0.0128940.902597660.43029197754.40005-0.120727-0.42858500.895399281333.44420.992602-0.04040210.11449425-1.3269190001.According to the new proposed algorithm, the DH parameters of the corresponding equivalent 6R robot are derived with the method shown in Algorithm1 line (1), as shown in Table 2. The 8 solutions of the equivalent 6R robot are calculated with equations in Algorithm 1 line (2). Then the approximate solutions of the 7R 6-DOF robot are obtained with the inverse transformation method in Algorithm 1 line (3), as listed in Table 3. At the end, Table 4 lists the final inverse kinematic solutions of the 7R 6-DOF robot. And the corresponding postures for the 8 inverse kinematic solutions are shown in Figure 9. The algorithm is performed on a desktop computer platform (Pentium i7 2.8 GHz, 8 GB RAM, MATLAB software program).Table 2
The D-H parameters of the equivalent 6R robot.
i-th
a
i
-
1 (mm)
α
i
-
1 (deg)
d
i (mm)
1
0
0
0
2
0
90
0
3
1000
0
0
4
0
90
965.53216
5
0
-
90
0
6
0
90
165.53216Table 3
The approximate inverse kinematic solutions of the 7R 6-DOF robot.
i
θ
~
1 (deg)
θ
~
2 (deg)
θ
~
3 (deg)
θ
~
4 (deg)
θ
~
5 (deg)
θ
~
7 (deg)
1
60.0406
-
32.2712
64.0328
-
28.8849
57.3570
29.0515
2
60.0406
-
32.2712
64.0328
199.3868
-
57.3570
-
199.2202
3
60.0406
-
56.7935
114.9672
-
20.9030
34.0025
22.2399
4
60.0406
-
56.7935
114.9672
187.2190
-
34.0025
-
185.8821
5
-
119.9594
-
123.2065
64.0328
7.2190
-
34.0025
174.1179
6
-
119.9594
-
123.2065
64.0328
159.0970
34.0025
22.2399
7
-
119.9594
-
147.7288
114.9672
19.3868
-
57.3570
160.7798
8
-
119.9594
-
147.7288
114.9672
151.1151
57.3570
29.0515Table 4
The inverse kinematic solutions of the 7R 6-DOF robot.
i
θ
1 (deg)
θ
2 (deg)
θ
3 (deg)
θ
4 (deg)
θ
5 (deg)
θ
7 (deg)
1
59.9999
-
29.9999
59.9999
-
30.0000
60.0000
30.0000
2
59.9999
-
29.9999
59.9999
200.6224
-
60.0000
-
200.6224
3
60.0288
-
57.6792
116.5404
-
20.7687
33.3904
22.1316
4
60.0288
-
57.6792
116.5404
186.8377
-
33.3904
-
185.4748
5
-
119.9712
-
122.3207
63.4595
6.8377
-
33.3904
174.5251
6
-
119.9712
-
122.3207
63.4595
159.2312
33.3904
22.1316
7
-
120.0000
-
150.0000
120.0000
20.6224
-
60.0000
159.3775
8
-
120.0000
-
150.0000
120.0000
149.9999
60.0000
30.0000Figure 9
Postures for the 8 inverse kinematic solutions of the 7R 6-DOF robot.It is obvious that 8 solutions are obtained for a given configuration of EE. The first solution in Table4 agrees with the given target joint angle, and the deviation is less than 0.0001°, which illustrate the accuracy of the proposed algorithm. It is worthwhile to make a comparison between the approximate solutions in Table 3 and the exact solutions in Table 4. As stated in Section 3, the deviations result from the error of the transformation, that is, the distance between points Pc′ and Pc1 described by (34). From the comparison, the approximate solutions are very close to the exact ones with the deviation less than 5°. Therefore the approximate solutions as the initial values could guarantee the DLS method to convergent to the exact solutions rapidly. This is the advantage of the proposed algorithm over the general DLS method of which the initial value is randomly selected. Additionally, as shown in Figure 9, the corresponding postures of the robot are similar to that of the equivalent 6R robot [24], which makes it easy to select an optimal solution according to the joint working range restrictions, which is a main advantage of the proposed algorithm over Wu’s method.


## 5.2. Simulation 2

In order to further illustrate the performance of the proposed algorithm, it is compared with the DLS method and Wu’s method in this section. In the first comparison, the target joint angle in Simulation 1 is used. The proposed algorithm and DLS method are utilized to solve this inverse kinematics problem. Here, the termination conditions of the two methods are set to be the same (i.e.,perr≤0.01mm and rerr≤0.01°). The corresponding results are shown in Table 5. From Table 5, the proposed algorithm takes about 64 ms on an average. It is notable that three different initial values are chosen for the DLS method. When the initial value is chosen as θin=[60°,-25°,60°,-30°,60°,-60°,30°], the computation time of DLS method is 60 ms which is slightly smaller than that of the proposed method. However, when the initial value is changed to θin=[0°,0°,0°,0°,0°,0°,0°], the computation time will greatly increase to 182 ms. The DLS method even fails to convergent to the correct solution, when the initial value is chosen as θin=[-60°,-25°,60°,-30°,60°,-60°,30°]. It means that the DLS method is too sensitive to the initial value which is randomly selected in practical usage. So in some degree, we draw the conclusion that the proposed algorithm is more stable and efficient than the DLS method. Moreover, the DLS method can derive only one solution, while the proposed algorithm can derive all 8 solutions as shown in Simulation 1. This is another advantage of the proposed algorithm over the DLS method.Table 5
The computation time of the proposed algorithm and DLS method.
Method
The initial valueθin (deg)
Computation time (ms)
The proposed method
/
64
DLS method
[60, −25, 60, −30, 60, 60, 30]
60
[0, 0, 0, 0, 0, 0, 0]
182
[−60, −25, 60, −30, 60, 60, 30]
FailureIn the second comparison, the accuracy and efficiency of the algorithm are assessed in the whole usable workspace of the robot. For the 7R 6-DOF painting robot under studied, the usable workspace is shown in Table6. And 1000 groups of target joint angles are randomly selected in the usable workspace. For comparison, Wu’s method [22] is also utilized to solve the inverse kinematics. Because the main difference between the proposed algorithm and Wu’s method is the first step, that is, the method to derive the approximate solutions, the second step of Wu’s method is changed from LM method to DLS method for simplicity. And the termination conditions of the two methods are set to be the same (i.e., perr≤0.01mm and rerr≤0.01°). The corresponding solution errors and the computation times are depicted in Figures 10, 11, and 12, respectively. For simplicity, the average and maximum computation times of the two methods are also summarized in Table 7. From Figures 10 and 11, the inverse kinematic solutions for all 1000 configurations are successfully derived with the two methods, and the solution errors are rather small, that is, perr≤0.01mm and rerr≤0.0001°. However, the computation time of the proposed method is less than that of Wu’s method, as shown in Figure 12 and Table 7. In other words, the proposed method is more efficient than Wu’s method. This is because directly solving the 7R robot with spherical wrist in Wu’s method is more time-consuming than solving the equivalent 6R robot in the new proposed method. Moreover, it is easier to find the correct approximate solution from all possible ones by prescribing configuration indicators [24] for the equivalent 6R robot.Table 6
The usable workspace of the 7R 6-DOF robot.
i-th
θ
1 (deg)
θ
2 (deg)
θ
3 (deg)
θ
4 (deg)
θ
5 (deg)
θ
7 (deg)
Range of joint angle
[−120, 120)
[−30, 135]
[−80, 80]
(−360, 360)
(−170, 170)
(−360, 360)Table 7
The computation time of the proposed algorithm and modified Wu’s method.
Method
Average computation timeTaverage (ms)
Maximum computation timeTmaximum (ms)
The proposed method
60.3
128
Modified Wu’s method
90.6
169.9Figure 10
Position errors of the inverse kinematic solutions: (a) the proposed method; (b) modified Wu’s method.
(a)
(b)Figure 11
Orientation errors of the inverse kinematic solutions: (a) the proposed method; (b) modified Wu’s method.
(a)
(b)Figure 12
Computation time of the proposed method and modified Wu’s method.Additionally, it is notable that the computation time of the algorithm is influenced by the termination conditions, that is, the prescribed solution errorperr and rerr. In other words, in order to improve the accuracy of the solution, the computation time will increase. From the perspective of application, the termination conditions used in this simulation are rational.


## 5.3. Simulation 3

The new proposed inverse kinematics algorithm is implemented in an offline programming operation to spray painting. The graphic simulator of the 7R 6-DOF robot and the task is shown in Figure13. The trajectory of EE is a classical raster trajectory in the plane x-o-y on the surface of the workpiece. The orientation of EE is constant, with the x-axes parallel to that of the base frame and the z- and y-axes opposite to that of the base frame respectively. The duration of the motion is determined as 20 s. For trajectory tracking, firstly discrete points are sampled from the trajectory. The inverse kinematic solution for each sample point is derived. Later on, a further interpolation in joint space is implemented to make the trajectory smooth enough. And the calculated joint positions, velocities, and acceleration of the 7R 6-DOF robot are given in Figure 14.Figure 13
Graphic simulator of the 7R 6-DOF robot and the trajectory.Figure 14
Simulation results of the 7R 6-DOF robot: (a) joint position; (b) joint velocity; (c) joint acceleration.
(a)
(b)
(c)It is obvious that the offline programming operation is completed with the new proposed algorithm. The algorithm takes 15 ms on an average on a desktop computer platform (Pentium i7 2.8 GHz, 8GB RAM, MATLAB software program), which illustrates the efficiency. By comparing simulation 3 and simulation 2, the computing time in simulation 3 is less than 25 percent of that in simulation 2. The reason is that we use the solution of the last step as the initial value of the next step when the robot is following a continuous trajectory. In other words, the presented algorithm is only used for the initial point of the continuous trajectory. So, the presented algorithm may be not so great advantageous than general iterative method during a continuous trajectory. However, as for the initial point of the continuous trajectory, that is, the point without an approximate solution, the new proposed algorithm in this paper is significant, because, with an initial solution derived in the first step, the proposed algorithm is less time-consuming. Additionally, 8 solutions will be obtained for a given EE configuration. According to the joint working range restrictions and so on, the optimal solution could be selected.


## 6. Conclusion

A new and efficient two-step algorithm for the inverse kinematics of a 7R 6-DOF robot is proposed and studied in this paper. In the first step, a rational transformation between the 7R 6-DOF robot and the well-known equivalent 6R robot is constructed. Then 8 approximate solutions of the 7R 6-DOF robot are derived with the general inverse kinematics algorithm of the equivalent 6R robot. In the second step, the DLS method is employed to derive the exact solutions.Compared with other methods, the proposed algorithm is systematic. The accuracy and efficiency has been evaluated with three simulations. In the first simulation, 8 solutions are obtained for a given EE configuration of the 7R 6-DOF robot. The error is less than 0.0001 degree, which illustrates the accuracy of this proposed algorithm. In order to further illustrate the performance of the proposed algorithm, it is compared with the DLS method and Wu’s method in the second simulation. The accuracy of the algorithm is also assessed in the whole usable workspace of the robot. In the third simulation, the algorithm is implemented in an offline programming operation. The results show that the proposed algorithm is efficient for offline programming and it is more advantageous in the case without an approximate solution, such as the initial point of the continuous trajectory.



---

*Source: 2074137-2017-05-18.xml*