Professional Documents
Culture Documents
Ian S. Fischer
Mechanical Engineering
New Jersey Institute of Technology
Newark, NJ 07102
e-mail: fischer@admin.njit.edu
1. INTRODUCTION
The inverse kinematics problem of robot-manipulator kinematics is to determine the joint displacements which will result in a desired situation position and orientation. of the robot hand. Inverse
kinematics is much more difficult than the forwardkinematics problem where the situation of the robot
hand is obtained by simply substituting given values of joint displacements into expressions and performing the arithmetic. The difficulties generally
result from the pertinent equations being typically
highly nonlinear. Numerical solution is usually nec-
essary, but there often is no time for a lot of iterations when executing robot motions in real time
places a high premium on speed. In many instances
the governing equations have multiple solutions
and confusion develops during robot motion when
the calculation results switch erratically from one
solution branch to another.
The practical development of the robotic manipulator has involved many investigators in the study
of the inverse kinematics problem. The work of
some of these will be reviewed here. Tsai and
Morgan1 developed a generic continuation algorithm to solve the inverse kinematics of a five or six
108
degree-of-freedom system expressed as a simultaneous system of eight second-order polynomials. Pennock and Yang 2 developed a systematic approach
for mechanisms with specially defined geometries,
considering each case individually. A methodology
developed by Angeles 3 was based on invariants in
the rotational part of the closure equations. Baker
and Wampler 4 developed various inverse-kinematics algorithms generally applied to redundant
manipulators. Manseur and Doty 5 discussed the
effect of variously choosing the end-effector frame.
Lee, Woernle, and Hiller 6 modeled a 6R manipulator as a 16th-degree polynomial but their methodologies required individual consideration of each
special linkage geometry. Crane, Carnahan, and
Duffy 7 obtained a solution for a NASA proposed
seven degree-of-freedom robotic arm by considering
one of the joints as prescribed to reduce the complexity of the equations. Manseur and Doty 8,9 considered four degree-of-freedom manipulators as a
system of four linear equations in the sines and
cosines of the joint angles in one study and developed an iterative technique for a five degree-of-freedom system in another investigation. Kieffer 10 developed a predictorcorrector method. Ridley 11,12
promoted the use of graphical solutions but in a
follow-up paper resorted to an analytical technique,
acknowledging that the primary usefulness of actual graphical methods was for visualization. A
procedure considering a robotic system as an assemblage of modules was developed by Chung,
Youm, and Chung.13 Chen, Yang, and Kang 14 developed a method based on the differential kinematics
of product-of-exponential formulas. The procedure
developed by Hongguang, Yang, and Zhou15 represented a geometric approach. Some inverse-kinematic analyses for specific types of robot systems
have been reported by Shih, Gruver, and Lee16 and
Roberts, Graham, and Lippitt.17
These investigations represent typical work
dealing with the inverse kinematics. The general
procedure is to model the kinematics of the robotic
system as a mathematical equation or system of
i
jV s
ysi sin i
si cos i
0
2. ANALYSIS
2.1. Spherical Image
A link i of a robot connecting joints i and j is
typically modeled by a 4 = 4 homogeneous coordinate-transformation matrix but, as summarized in
the text by Fischer,18 can also be represented by a
3 = 3 dual-element coordinate-transformation matrix of the form
i
i
i
j T sj U q j V
1.
cos i
sin i
0
ycos i sin i
cos i cos i
sin i
sin i sin i
ysin i cos i
cos i
2.
3.
0
1
2
1T 2T 3 T
ny 1
0
n T sn G
0
n Es
cos cos
sin cos
ysin
4.
repre-
0
n G
0
1 2
1 T 2 T3 T
ny 1
n
nT 0 G s I
7.
A q B s 1U q 01 V . 2 U q 12 V .
ny n1 U q ny1nV . 0n E q n0 F .
8.
9.
B s w 0x
10.
109
0
0
0
n G sn E q n F
5.
6.
of Eq. 8. is
0
1
1U 2 U
ny1
n
nU 0 E s A
11 .
ny 1
n
1
0
n U 0 E q1 U 2 V
q01 U 12 U
ny1
n
nU 0 F s B
ny 1
n
n U 0 E q
12 .
110
ny1
n
n U nq1 E Vin s Vout
13 .
Vin s R Vout
14 .
If we let
111
ny1
n
n U nq1 E
15 .
m
m
M s~ m
x
16 .
m x m xver q cos
R M, . s m x m yver q m z sin
m x m zver y m y sin
r 11 q r 22 q r 33 y 1
2
m
m
x
y
z
r
2 sin
r
1
~r
yr
yr
m y m yver q cos
m y m zver y m x sin
m y m zver q m z sin
m z m zver q cos
21
31
18 .
19.
32 y r 23
13
m x m zver q m y sin
where ri j are the elements of matrix R. The magnitude of angle given by Eq. 19. will be a positive
value ranging from 0 to when the arctangent is
evaluated in the programming. Thus, the miss angle
will be defined as the smaller angle between the
terminal vectors and the direction of the required
angular correction will be determined later.
The solution of Eq. 18. for the miss vector is
M s~ m s
m x m yver y m z sin
17 .
20.
12
i s cosy1
Vi M
<Vi 5M <
21.
y i
i s 2, . . . , n
/
22 .
112
It is reasonable to assume that this fraction is proportional to the angle between the joint axis and
miss vector so that for a calculated gap angle , the
correction angle of joint i is
c s
1
4
s y
0
23 .
snew. s sold. q s
24 .
3. EXAMPLE
A robot developed for an actual NASA project
shown in Figure 7, the Space Station Remote Manipulator System SSRMS. as described by Crane, Carnahan, and Duffy 7 will be used as an example.
Table I shows the link twists for this seven-link
manipulator.
Consider that the hand of the SSRMS manipulator is to be posed at orientations corresponding to
Euler angles of s 80, s 30, s 50 relative to
the base. On the basis of an initial guess of 1 s 10,
2 s 0, 3 s 11, 4 s 0, 5 s 0, 6 s 0, 7 s 2, and
an accuracy tolerance of 0.01, the procedure described in this study arrived at the results of 1 s
354.979, 2 s 125.000, 3 s 359.947, 4 s 0, 5 s
89.565, 6 s 14.702, 7 s 332.612 within 66 itera-
113
114
ai
si
1
2
3
4
5
6
7
90
270
0
0
90
90
0
0
a2
a3
a4
a5
a6
0
1
2
3
4
5
6
7
s1
s2
s3
s4
s5
s6
s7
4. CONCLUSIONS
A geometric approach has been developed to evaluate the rotational displacements in consideration of
the inverse kinematics of a robotic manipulator. A
spherical image of the robotic chain is established so
that the rotations can be considered independently
of the translational displacements. Consequently the
task becomes determining those joint rotations for
which a chain of spherical links forms a closed loop.
The procedure mimics the way a person given actual parts would solve this problem. The person
would connect the links in a chain, guessing at the
rotations. Because of the errors in the guesses, the
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
10.000
8.015
8.015
4.153
4.153
4.153
2.198
2.198
1.024
1.024
1.024
359.070
359.070
357.832
357.832
357.832
356.758
356.758
356.449
356.449
356.449
356.142
356.142
355.945
355.945
355.945
355.613
355.613
355.412
355.412
355.412
355.229
355.229
355.175
355.175
355.175
355.126
0.000
0.000
0.000
0.000
0.000
0.000
32.411
32.411
61.534
81.330
81.330
97.309
97.309
111.911
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
123.172
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.713
124.962
124.962
124.962
124.962
124.962
124.962
124.962
124.962
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
11.000
7.511
5.498
5.498
2.916
2.916
2.916
1.587
1.587
1.587
1.587
1.587
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
26.125
50.730
50.730
82.379
82.379
82.379
105.935
105.955
105.935
105.935
105.935
105.935
105.935
105.935
97.829
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
92.112
90.786
90.786
90.463
90.463
90.463
90.249
90.249
90.249
90.249
90.249
89.969
89.969
89.969
89.969
89.969
89.742
89.742
89.686
89.686
89.686
89.651
89.651
0.000
0.000
0.000
336.157
336.157
336.157
336.157
336.157
336.157
336.157
352.735
352.735
8.399
8.399
8.399
8.399
8.399
8.399
8.399
8.399
8.399
8.399
9.608
9.608
9.608
10.880
10.880
12.315
12.315
12.315
13.669
13.669
13.669
13.669
13.669
13.669
13.669
13.891
13.891
13.891
14.108
14.108
14.347
14.347
14.347
14.566
14.566
14.566
14.566
14.566
14.566
14.566
14.600
14.600
14.600
2.000
2.000
2.000
2.000
2.000
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
153.090
142.775
134.640
134.099
120.420
123.217
92.157
88.264
62.211
46.339
44.882
31.706
34.731
24.221
19.929
12.509
8.103
6.505
6.318
4.788
5.095
2.080
3.015
3.172
1.914
2.769
2.243
3.262
3.291
2.079
2.991
2.448
1.626
1.405
0.560
0.535
0.349
0.501
0.522
0.332
0.470
0.383
0.548
0.552
0.344
0.490
0.403
0.277
0.239
0.093
0.089
0.055
0.079
0.082
0.051
115
116
55
56
57
58
59
60
61
62
63
64
65
66
355.126
355.096
355.096
355.096
355.045
355.045
355.015
355.015
355.015
354.987
354.987
354.979
124.962
124.962
124.962
124.962
124.962
124.962
124.962
125.000
125.000
125.000
125.000
125.000
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
359.947
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
89.651
89.651
89.651
89.608
89.608
89.608
89.608
89.608
89.573
89.573
89.565
89.565
14.633
14.633
14.669
14.669
14.669
14.702
14.702
14.702
14.702
14.702
14.702
14.702
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
332.612
0.072
0.059
0.084
0.084
0.052
0.074
0.061
0.042
0.036
0.014
0.013
0.008
REFERENCES
1. L.W. Tsai and A.P. Morgan, Solving the kinematics of
the most general six- and five-degree-of-freedom manipulators by continuation methods, ASME J Mech
Trans Automation Design 107 1985., 189200.
2. G.R. Pennock and A.T. Yang, Application of dualnumber matrices to the inverse kinematics problem of
robot manipulators, ASME J Mech Trans Automation
Design 107 1985., 201208.
3. J. Angeles, On the numerical solution of the inverse
kinematic problem, Int J Robotics Res 5 1985., 2137.
4. D. Baker and C.W. Wampler II, On the inverse kinematics of redundant manipulators, Int J Robotics Res
7 1988., 321.
5. R. Manseur and K.L. Doty, A fast algorithm for inverse kinematic analysis of robot manipulators, Int J
Robotics Res 7 1988., 5263.
6. H.Y. Lee, C. Woernle, and M. Hiller, A complete
solution for the inverse kinematic problem of the
general 6R robot manipulator, ASME J Mech Design
113 1991., 481486.
7. C.D. Crane, T. Carnahan, and J. Duffy, A kinematic
analysis of the Space Station Remote Manipulator
System SSRMS., J Robotic Sys 8 1991., 637658.
8. R. Manseur and K.L. Doty, A complete kinematic
analysis of four-revolute-axis robot manipulators,
Mech Mach Theory 27 1992., 575586.
9. R. Manseur and K.L. Doty, Fast inverse kinematics of
five-revolute-axis robot manipulators, Mech Mach
Theory 27 1992., 587598.
10. J. Kieffer, Manipulator inverse kinematics for untimed
end-effector trajectories with ordinary singularities,
Int J Robotics Res 11 1992., 225237.
11. P.R. Ridley, Robot kinematicsI. Graphical solution
of the inverse equations of closure, Mech Mach Theory 27 1994., 10431052.
12. P.R. Ridley, Robot kinematicsII. Analytical solution
of the inverse equations of closure, Mech Mach Theory 27 1994., 10531063.
13. W.J. Chung, Y. Youm, and W.K. Chung, Inverse kinematics of planar redundant manipulators via virtual
links with configuration index, J Robotic Sys 11 1994.,
117128.
14. I.-M. Chen, G. Yang, and I.-G. Kang, Numerical inverse kinematics for modular reconfigurable robots, J
Robotic Sys 16 1999., 213225.
15. F. Hongguang, L. Yang, and C. Zhou, A computeraided geometric approach to inverse kinematics, J
Robotic Sys 15 1998., 131143.
16. C.-L. Shih, W. Gruver, and T.-T. Lee, Inverse kinematics and inverse dynamics for control of a biped walking machine, J Robotic Sys 10 1993., 531555.
17. R.G. Roberts, T. Graham, and T. Lippitt, On the in-
18.
19.
20.
21.
117
verse kinematics, statics and fault tolerance of cablesuspended robots, J Robotic Sys 15 1998., 581597.
I.S. Fischer, Dual-number methods in kinematics, statics and dynamics, CRC Press, Boca Raton, FL, 1998.
I.S. Fischer, Application of the principle of transference to the evaluation of translational displacements
in spatial mechanisms, Trends and Developments in
Mechanisms, Machines, and Robotics 2 1988., 711.
P.R. Paul, Robot manipulators, mathematics, programming and control, MIT Press, Cambridge, MA,
1981, Eq. 1.73, p. 30.
I.S. Fischer, Dual angle and axis of a screw motion,
Mech Mach Theory 333. 1998., 331340.