Professional Documents
Culture Documents
ARTICLE
International Journal of Advanced Robotic Systems
DOI: 10.5772/56403
© 2013 Liu et al.; licensee InTech. This is an open access article distributed under the terms of the Creative
Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,
distribution, and reproduction in any medium, provided the original work is properly cited.
Figure 1. QJ‐I (a) and its D‐H link coordinate (b)
Aiming at making further improvement on the real‐time where R is the 3×3 rotation matrix, including three 3×1
performance of the IK algorithm with closed‐form vectors n, o and a, which respectively denote the normal
analytical solutions, we propose a novel and efficient vector, sliding vector and approach vector; p is the 3×1
approach based on the orthogonality of rotation sub‐ position vector. The 4×4 homogeneous transformation
matrix and multiplication properties of block matrix for a matrix is:
PUMA560‐structured robot manipulator QJ‐I. The rest of
this paper is organized as follows. In Section 2 the ci si i si i ai ci
kinematics of QJ‐I is given. Section 3 presents some useful i 1 si ci i ci i ai si Ri pi
iT ( i ) (2)
properties of the orthogonal matrix and block matrix. 0 i i di 0 1
Section 4 deals with the reconstruction of the IK
0 0 0 1
equations and the solving steps. Lastly, the case study is
shown in Section 5 and conclusions are made in Section 6. where si = sinθi, ci = cosθi, σi = sinαi, τi = cosαi, i = 1, 2, …, 6.
θ1, θ2, …, θ6 are the six unknown variables to be solved.
2. Kinematic Equations
Corresponding to (1), the IK of QJ‐I can be written as
QJ‐I, a PUMA560 type robot, is as shown in Fig.1a, with
its D‐H link coordinate shown in Fig.1b, and the D‐H 1 0
θ 1 2 3 4 5 6 f DK ( 6T ) fIK ( 06T ) (3)
parameters as well as the joint angle interval in Table 1.
The QJ‐I’s last three consecutive joint axes intersect at a 3. Some Properties of the Orthogonal Matrix
common point ‐ satisfying the Pieper criterion. and Block Matrix
Joint No. di/mm ai/mm αi/(°) θi Angle interval/(°) i. If A is an orthogonal matrix, then A –1 is also an
1 250 150 −90 θ1 [‐90,270) orthogonal matrix, and A –1 = AT.
2 0 550 0 θ2 (‐270,90] A B
3 0 160 −90 θ3 (‐270,90] ii. If matrix C , then its inverse can be obtained
4 594 0 90 θ4 (‐180,180] 0 1
5 0 0 90 θ5 (‐180,180] A1 A1B
6 0 0 0 θ6 (‐270,90] from C 1 , where C is a 4×4 matrix,
0 1
Table 1. D‐H parameters of QJ‐I
A is a 3×3 matrix, B is a 3×1 vector.
The direct kinematics (DK) of QJ‐I can be described as
Furthermore, we have
0
6T f DK (θ) 01T (1 ) 12T ( 2 ) 23T ( 3 ) 34T ( 4 ) 45T ( 5 ) 56T ( 6 ) A B1 A2 B2 A1 A2 A1B2 B1
nx ox ax px C1 C2 1 .
0 1 0 1 0 1
ny oy ay py n o a p R p (1)
n oz az pz 0 0 0 1 0 1 By property (i), we find that R, Ri, Ri –1, R –1, RT and Ri T in
z
0 0 0 1 the kinematic equations above are all orthogonal
matrices, and R –1 = R T, Ri –1 = Ri T. By property (ii), the
transformation matrix i 1iT can be partitioned into four c4 s5 c23 c1ax c23 s1ay s23 az (12)
units (rotation matrix Ri, position vector pi, 0 and 1).
Therefore, the complex operations of computing the s4 s5 s1ax c1ay (13)
inverse of each 4×4 transformation matrix are avoided.
c5 s23 c1ax s23 s1ay c23 az (14)
4. Solving the IK Equations
In this part, by using the properties given above, we
s5 s6 s23 c1ox s23 s1oy c23 oz (16)
reconstruct the matrix equations described as (1) into
relatively ordinary trigonometric function equations,
where s23 = sin(θ2 +θ3), c23 = cos(θ2 +θ3).
thereby simplifying the solving process so as to enhance
the real‐time performance of the algorithm.
Up to now we have obtained eight pure algebraic
trigonometric equations (9)~(16), which is less than the
Considering that, the first three joints of QJ‐I are intended
algorithm proposed in [4] (with nine equations). Although
to determine the three‐dimensional coordinates of the
the proposed algorithm has the same quantity of equations
end‐effector, while with the last three joints to determine
as the algorithm proposed in [5], all the equations are
the orientation, and to balance the equation on both sides
generated from (1) directly without constructing new
with the same quantity of the unknowns, we break up the
equations as p∙p and p∙a in [5], which may be a little abrupt.
6R‐chain of QJ‐I as described in (1) into two 3R‐chain[10],
and then obtain 4.2 Solving Steps
3 4 5
4T 5T 6T 2 1 1 1 0 1 0
3T 2T 1T 6T (4) Here, the four‐quadrant inverse tangent function atan2
will be involved frequently in the specific solving process
By using the properties (i) and (ii) we get to obtain the complete solutions as follows.
RT R3T p3 1 1 R2T R2T p2
2 1
, 2T , Step 1: By (9), we get two solutions of θ1.
3T 3
0 1 0 1
Step 2: Square both sides of (10) and (11), respectively,
0 1
RT R1T p1
1T 1
then add together. We get
0 1
(d1 pz )s2 (c1 px s1 p y a1 )c2
Then the left side of (4) can be written as (17)
[a3 2 d4 2 a2 2 (c1 px s1 p y a1 )2 ( d1 pz )2 ] / 2 a2
3 4 5 R R R R4 R5 p6 R4 p 5 p 4
4T 5T 6T 4 5 6 (5)
0 1 For each θ1 we can get two solutions of θ2, i.e., four
solutions of θ2 in total.
In addition, the right side of (4) can be written as
2 1 3 1 4 1 0 Step 3: By (10), one solution of θ3 corresponding to each
3T 4T 5T 6T θ2, i.e., four solutions of θ3 can be obtained.
R R R R RT RT RT p
T T T
R3T R2T R1T p1 R3T R2T p2 R3T p3 (6)
3 2 1 3 2 1
0 1 Step 4: When we solve θ4 by (12) and (13), we should
judge whether the robot manipulator is singular or not,
Finally, from (4)~(6), we obtain due to that singularities inherently limiting the capability
of a manipulator to complete its task [11].
R4 R5 R6 R3T R2T R1T R (7)
If θ5 ≠ 0°, then θ4 = atan2(s4s5, c4s5) and atan2(−s4s5, − c4s5)
R4 R5 p6 R4 p5 p4 R3T R2T R1T p for each set of θ1, θ2 and θ3;
(8)
R3T R2T R1T p1 R3T R2T p2 R3T p3
By (1) and (2), we can obtain
By using the symbol processing software Maple©,
c4c5c6 s4 s6 c4c5 s6 s4c6 c4 s5 0
equations (7) and (8) lead to
3
T 3 4 5
T T T s4 c5c6 c4c6 s4c5 s6 c4 c6 s4 s5 0
(18)
s1px c1py 0 (9) 6 4 5 6 s5c6 s5 s6 c 5 d4
0 0 0 1
s23 ( pz a2 s2 d1 ) c23 (c1px s1py a2c2 a1 ) a3 (10)
If θ5 = 0°, i.e., QJ‐I is in wrist singularity, (18) can be
s23 (c1px s1py a2c2 a1 ) c23 ( pz a2 s2 d1 ) d4 (11)
written as
www.intechopen.com Huashan Liu, Wuneng Zhou, Xiaobo Lai and Shiqiang Zhu: 3
An Efficient Inverse Kinematic Algorithm for a PUMA560-Structured Robot Manipulator
transformation matrix relates solely to (θ4−θ6), and on this
condition, to keep away from the singularities and fix the According to the IK algorithm proposed and D‐H
pose of QJ‐I in the meantime, we only need to rotate both parameters, as well as the joint angle interval shown in
θ4 and θ6 at an equal angle (which is small enough) in the Table 1, we get eight closed‐form solutions as shown in
same direction, to change the axis direction of the fifth Table 2, and the corresponding orientation simulation in
joint, thereby avoiding the singular point. Fig.2.
Step 5: By (12) and (14), we can get one solution of θ5 To testify to the real‐time performance of the proposed
corresponding to each set of θ1, θ2, θ3 and θ4. IK algorithm, we firstly sampled 681 discrete points
from a closed‐curve called QS Eagle referred to in [12],
Step 6: By (15) and (16), one solution of θ6 can be and recorded the three‐dimensional coordinate of each
obtained corresponding to each set of θ1, θ2, θ3 and θ5. point, then put them into the pose matrix of the
So far, we have obtained all eight closed‐form solutions of end‐effector, after getting these 681 samples of pose
θ1, θ2, θ3, θ4, θ5 and θ6. It is worth pointing out that matrices. With the proposed method in this paper,
benefiting from the proper combinations of the related (called “Ours”), the inverse transformation method
equations, there generates no extraneous root in each in [4] (called “ITM”) and the vector‐dot‐product‐based
solving step, which always occurs in the inverse approach in [5] (called “VDP”), we solved out the IK
transformation method in [4] and the vector‐dot‐product‐ solutions of each given pose matrix respectively,
based approach in [5]. This advantage excuses the IK in the VC++ compiling environment on a notebook
solving from both verifying and matching the roots, computer platform (Windows XP 32‐bit SP3 OS, Intel
which further enhances the efficiency of the algorithm. Core 2 Duo Dual 2.2GHz CPU, 2GB DDR3 800MHz
RAM) for 500 times with an accuracy of 0.00000001°.
5. Case Study
The performance comparisons of the three schemes are
In this part, sample calculations are executed, together shown in Table 3.
with simulations and tests to verify the effectiveness of
the proposed IK algorithm.
No. θ1/(°) θ2/(°) θ3/(°) θ4/(°) θ5/(°) θ6/(°)
Table 2. IK solutions of QJ‐I
Average time As shown in Table 3, by our scheme, it just took an
Main means Extraneous root
cost average time of 6.753 μs to figure out all eight solutions
Ours matrix blocking has not 6.753μs for one sample pose matrix, which is 49.5% of the average
inverse time cost by ITM and 76.6% of that by VDP, due to no
ITM has 13.645μs calculating the inverse of the matrix and producing no
transformation
VDP vector dot product has 8.816μs extraneous root in the IK solving.
Table 3. Performance comparisons
8. Reference
www.intechopen.com Huashan Liu, Wuneng Zhou, Xiaobo Lai and Shiqiang Zhu: 5
An Efficient Inverse Kinematic Algorithm for a PUMA560-Structured Robot Manipulator