You are on page 1of 11

A Geometric Method for

Determining Joint Rotations


in the Inverse Kinematics of
Robotic Manipulators

Ian S. Fischer
Mechanical Engineering
New Jersey Institute of Technology
Newark, NJ 07102
e-mail: fischer@admin.njit.edu

Received August 17, 1999; revised April 10, 1999


accepted October 9, 1999

An inverse-kinematics algorithm has been developed to evaluate the joint rotations of


a robotic manipulator given the orientation of its hand link. The method mimics the
way a person would determine the joint rotations by assembling the links comprising
the robot mechanism and making adjustments in the joint displacements until the
hand link is in the desired situation. An example is given where it is shown that the
method is reasonably robust, can be applied to any design of robot, and is competitive
with alternative highly-mathematical, specific-robot specialized, computational-intensive schemes. 2000 John Wiley & Sons, Inc.

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-

Journal of Robotic Systems 17(2), 107117 (2000)


2000 by John Wiley & Sons, Inc.

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

CCC 0741-2223/ 00 / 020107-11

108

Journal of Robotic Systems2000

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

such equations. Special dimensions of the robot or


graphical constructions are sometimes used to make
solution of the equations simpler, but even when
such conveniences are available the nonlinear equations are difficult to solve.
If a person was given a robot and told to adjust
the joint displacements so that the robot hand would
assume a desired situation, he or she would move
the links around and within a few iterations obtain
the desired result without consideration of an equation set which requires a high level of mathematical
skill to solve. In this study a procedure has been
developed which basically mimics the way a person
would solve the inverse-kinematics problem. In the
procedure, comparatively few calculations per iteration are required and they consist of only matrix
algebra without the evaluation of derivatives, resulting in minimal round-off errors affecting the
solutions. Such a method will be general enough to
apply to a large variety of robotic manipulators and
be robust, particularly when multiple solutions exist.

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.

where letter represents the dual number with


properties 2 s 0, / 0, and
i
jU s

a i sin i sin i y si cos i cos i


ya i sin i cos i y a i cos i sin i
a i cos i

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

a i cos i sin i q si sin i cos i


ya i cos i cos i q si sin i sin i
ya i sin i

2.

3.

Fischer: Inverse-Kinematics Algorithm

in which letters a i and i represent the length and


twist of link i, respectively, and letters i and si
respectively represent the rotation and translation of
joint i.
The coordinate-transformation matrices j i T corresponding to the links of the robot are related to
each other by the condition

0
1
2
1T 2T 3 T

ny 1
0
n T sn G

where coordinate-transformation matrix

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.

Substituting Eqs.1. and 5. into the left-hand side of


Eq. 7.,
0

A q B s 1U q 01 V . 2 U q 12 V .

ny n1 U q ny1nV . 0n E q n0 F .

8.

If the proper values of joint displacements i and si


are used in Eqs. 2. and 3. to evaluate matrices j i U
and j i V in Eq. 8., then
AsI

9.

B s w 0x

10.

where symbol I represents the 3 = 3 identity matrix


and symbol w 0x the 3 = 3 null matrix.
Observing that the square of the dual number
vanishes, the primary component of the expansion

109

sents the situation of the hand link n at the end of


the chain of links comprising the robot manipulator
relative to the base link 0. Now, matrix n0 G can be
decomposed into primary and dual components

0
0
0
n G sn E q n F

5.

In terms of ZYX Euler angles, the primary


component which indicates the orientation of the
hand relative to the base takes the form

cos sin sin y sin cos


sin sin sin q cos cos
cos sin

The basic question of inverse kinematics is that


if the orientations and displacements of the hand
are specified so that matrix n0 G is known, what are
the appropriate values of the joint rotations and
translations which would satisfy Eq. 4.?
Eq. 4. can be manipulated to the form

cos sin cos q sin sin


sin sin cos y cos sin
cos cos

6.

of Eq. 8. is
0
1
1U 2 U

ny1
n
nU 0 E s A

11 .

and the dual component of the expansion of Eq. 8.


is
0
1
1 V 2U

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 .

If the joint rotations i are known, then Eq. 12.


under the condition of Eq. 10. can readily be solved
for the values of the joint translations si using an
algorithm developed by Fischer.19 This study is
concerned with the more difficult matter of determining the rotational displacements which requires
solution of Eq. 11. under the condition of Eq. 9..
The matrices comprising the left-hand side of
Eq. 11. are all functions of the link twists i and
joint rotations i only, and consequently can be
thought of as describing a spherical mechanism
which can be considered the spherical image of the
spatial linkage comprising the robotic manipulator.
In a spherical mechanism, the joint axes intersect at
a common point. The links can be thought of as arcs
with angular dimension of the link twist i floating
on the surface as a sphere as is shown in Figure 1.

110

Journal of Robotic Systems2000

Figure 1. Ideal configuration of the spherical image of a


robotic manipulator.

Because the joint rotations are unknown, a guess


could be made of what they should be and a trial
assembly attempted. If the guesses are incorrect, a
connection could not be made at all of the joints.
This would result in a gap as is shown in Figure 2.
A scheme has been developed to adjust the joint
rotations to their correct values by minimizing the
gap. This would mimic the way a person would
determine the joint rotations by assembling the
mechanism and then turning the links so that all of
the joints could be connected.
2.2. Terminal Vectors
The orientations of the joint axes of the unconnected
link ends can be specified by the terminal vectors

Figure 3. The terminal vectors Vin , Vout , miss angle ,


and miss axis M.

Vin and Vout shown in Figure 3 which, respectively,


correspond to the vectors k 0 and k nq1 shown in
Figure 2. If the joint rotations are set to imperfect
values, then the terminal vectors will not be aligned.
Now, the magnitude of the angle between the
terminal vectors, the miss angle about the miss
axis M as shown in Figure 3, indicates the severity
of the errors in the joint rotations. A person attempting to close the mechanism would decide which
joint axis is most closely aligned with the miss axis
and rotate the joint about the amount of the miss
angle to reduce the gap as much as possible. It
probably would not be possible to close the mechanism with just a single adjustment, so the person
would judge which joint axis is best aligned with
the new miss axis and rotate that joint through
essentially the new miss angle. The procedure would
be reiterated until the mechanism can be closed. It is
proposed to mimic this human behavior as a means
of performing the inverse-kinematics problem.
2.3. Computation of the Miss Angle and Miss Axis
The relationship between the terminal vectors can
be obtained by consideration of the transformations
through the chain of links
0
1
1U 2 U

ny1
n
n U nq1 E Vin s Vout

13 .

or by a transformation R through the gap


Figure 2. Gap resulting when guessed values of the joint
rotations are incorrect.

Vin s R Vout

14 .

Fischer: Inverse-Kinematics Algorithm

If we let

111

which is the transformation representing a rotation


through the miss angle about the miss vector
D s01 U 12 U

ny1
n
n U nq1 E

15 .

m
m

M s~ m
x

which can be calculated on the basis of the given


link twists and the guessed joint rotations, then Eqs.
13., 14., and 15. yield
RsD

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 .

those vectors such that

19.

32 y r 23
13

As discussed in texts such as Paul 20 and papers


such as Fischer,21 matrix R has the form

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

The solution of Eq. 18. for the miss angle is


< < s cosy1

17 .

20.

12

which has direction normal to the plane of the two


terminal vectors.

i s cosy1

Vi M
<Vi 5M <

21.

These angles i are shown in Figure 4.


Now, if the vector representing joint axis i and
the miss vector are collinear, the angle i obtained
from Eq. 21. will be either 0 or depending on
whether the two vectors are directed the same or
opposite. Whichever case occurs is immaterial since
opposite rotations about opposite-directed vectors
are equivalent motions. The two cases of the joint
axis at angle to the miss axis closest to 0 or can be
combined by simply considering the joint-axis vector whose angle with the miss vector is most different from r2. Consequently, joint s with axis closest in alignment to the miss axis is determined by
considering
s s index of for maximum of

2.4. Selection of Joint Angle for Adjustment


It is desired to find the joint axis closest in alignment to the miss vector M for adjustment of its
rotation to improve the closure of the mechanism.
The angle i between the unit vector Vi representing the axis of joint i and the miss vector M can be
obtained by consideration of the dot product of

y i

i s 2, . . . , n

/
22 .

2.5. Setting the Correction Angle


Because joint i is probably directed differently than
the miss vector, the adjustment to the rotational
displacement of joint i is a fraction of the gap angle.

112

Journal of Robotic Systems2000

Figure 4. Relative alignment of the joint axes and the


miss axis.

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 .

where the 14 factor represents a safety measure which


experience indicates will prevent accidental overcorrection.
This correction angle c has been calculated on
the basis of the joint-axis vector directed essentially
the same as the miss vector, the situation where
angle i obtained from Eqs. 21. and 22. is greater
than r2. For the case where the joint-axis vector is
directed essentially opposite from the miss vector,
when angle s obtained from Eqs. 21. and 22. is
less than r2, then the correction must be yc .
2.6. Iterative Procedure
Upon determining the appropriate correction angle,
c , the displacement s at selected joint s is adjusted so that

snew. s sold. q s

24 .

reducing the size of the gap as is shown in Figure 5.

Figure 5. New configuration of the mechanism resulting


from a correction made at joint 4.

When the correction has been made, the size of


the resulting gap is evaluated. If the gap is greater
than a predetermined accuracy value, then the process of evaluating the miss axis, selecting the appropriate joint to adjust and making a correction of the
appropriate amount is repeated. As many iterations
as are required to obtain the desired accuracy are
conducted. When the gap is adequately closed, the
joint rotations have been determined. A flow chart
illustrating the programming procedure is shown in
Figure 6.

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-

Fischer: Inverse-Kinematics Algorithm

Figure 6. Flow chart.

113

114

Journal of Robotic Systems2000

Table I. Link twists of SSRMS robot.


i

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

Figure 7. SSRMS robot.7

tions. The character of the convergence is shown in


Figure 8 and the change in the joint displacements
as the iterations proceed are shown in Table II
where the bold numbers indicate the joint being
adjusted.

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

Figure 8. Convergence of the miss angle.

Fischer: Inverse-Kinematics Algorithm

Table II. Convergence of the miss angle.


it.

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

Journal of Robotic Systems2000

Table II. Convergence of the miss angle. Continued.


it.

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

last connection to form a closed loop could not be


made. The person would judge the size of the gap
and make a correction of about the size of the gap at
a joint whose axis best approximates the direction of
the axis of the arc comprising the gap.
The method has been shown to work reasonably
well. In the example where a complicated seven-link
robot was considered, the rotations corresponding
to a specified hand-link orientation were determined to the desired accuracy on the basis of a
rough guess in only 66 iterations. As with any
iterative method, there is no information provided
about multiple solutions and the initial guess generally determines which solution is obtained. For many
applications, the procedure successfully found solutions with poor-quality initial guesses, but there
were some situations where there was nonconvergence. Apparently, passing through some configurations resulted in drifting toward nonrecoverable positions. In some instances, there would be toggling
about a solution without convergence. Initial experience with the algorithm suggested that correcting a
joint rotation by 14 of the gap angle, as in Eq. 23.,
reduced the possibilities of overshoots which would
result in nonconvergence, but perhaps further investigation would indicate a better factor to use.
Even with its occasional deficiencies, the algorithm
described in this study features a simplicity, an
analogy to human behavior, applicability on a general basis, and a performance comparable to highly
mathematical, computation-intensive alternatives.
Graduate student John D. Kliminski worked out the
details, created the programming, and made other
significant contributions to this study.

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.

Fischer: Inverse-Kinematics Algorithm

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.

You might also like