You are on page 1of 12

Computers & Elect. Engng Vol. 16, No. 1, pp. 23-34, 1990 0045-7906/90 $3.00+ 0.

00
Printed in Great Britain. All rights reserved Copyright © 1990 Pergamon Press plc

EFFICIENT FINGERTIP FORCE COMPUTATION


FOR OBJECT MANIPULATION USING
DEXTEROUS ROBOT HAND

YOUNG C. PARK and GREGORYP. STARR


Department of Mechanical Engineering, The University of New Mexico,
Albuquerque, NM 87131, U.S.A.

(Received 15 November 1989; received for publication I February 1990)

A~tract--Multifingered hands, or parallel manipulators, can be used to grasp and manipulate objects.
Effective finger force computation is necessary for successful manipulation of an object by a multifingered
robot hand. This paper presents an etticient computational procedure to obtain finger force of a
three-fingered robot hand in object manipulation. We first define initial grasping force as the force to hold
a massless object. Then grasping force and contact normal during manipulation are determined from
initial grasping force and initial contact normal by tracking the object displacement. Manipulation force,
the finger force required to manipulate an object and to compensate for object weight, is computed by
the generalized matrix inverse method. Optimal internal force, when necessary, is determined from
the grasping force during manipulation without explicitly solving the optimization problem. The
computational burden to determine finger force in this paper is less than previous methods.

1. I N T R O D U C T I O N
When a multifingered robot hand manipulates an object, efficient finger force computation is
critical for real time implementation. To manipulate an object, finger force must be applied to the
object such that it generates the required external object force, including object weight, without
sliding or breaking contact.
Finger force can be divided into two different forces, manipulation force and internal force.
Manipulation force, introduced by Yoshikawa and Nagai [1], is the force which generates the
required external object force. Internal force, originally defined by Salisbury [2], is the force which
is zero in resultant and can be added when necessary to the manipulation force to prevent sliding
or breaking contact. Salisbury [2] derived the grip transformation matrix, G -T, and finger force
can be determined by inverting it. But even with only three friction finger contacts, the grip
transformation matrix will be a 9 x 9 matrix and inversion in real time may not be computationally
feasible. Another problem is that the computed finger force may cause fingertip sliding or breaking
contact. If this is the case, appropriate internal force needs to be added to the manipulation force.
The grip transformation matrix was formulated such that it determined the final finger force from
known internal force. Since the internal force may not be determined before the manipulation force
is determined, the grip transformation matrix is adequate only to determine the finger manipulation
force, but not the final finger force as the sum of manipulation and internal force. The vector
decomposition proposed by Hollerbach and Narasimhan [3] and the method studied by Kumar
and Waldron [4] using the helicoidal vector field property have the same difficulty in finding final
fingertip force.
Kerr and Roth [5] and Nakamura et al. [6] determined the finger force by first finding the finger
manipulation force. Then they obtained the internal force from linear and nonlinear programming.
But the use of optimization to find internal force involves a numerical procedure. Also, when they
formulated the numerical optimization problem they assumed implicitly that the contact normal
at a given grasping position is available. But if the object is being manipulated with predefined
reference coordinate system which is not fixed to the object, the contact normal directions change
continuously. With currently available multifingered robot hands and sensors, measuring contact
normals during manipulation in real time is difficult.
In this paper, we propose a new finger force computation algorithm to be used in real time object
manipulation by a three-fingered hand. Each finger contact is modeled as a point contact with
CAEEt6/l~ 23
24 YOUNG C. PARK and GREGORY P. STARR

friction. We first define the grasping, manipulation and internal force in Section 2. The definitions
used here are different from those previously proposed [1]. These differences are due to
computational efficiency considerations. In Section 3 computational methods are developed. The
manipulation force is computed using the generalized matrix inverse. To determine internal force
during object manipulation, current grasping force and contact normals are updated from initial
grasping force and initial contact normal. This is done by finding the object displacementS', given
by the object transformation matrix which maps initial grasping position to current grasping
position. In computation of object displacement we assume that the fingers do not slide on the
object so that relative configuration between fingers is maintained during manipulation. Optimal
internal force is defined as the minimum force to be added to the manipulation force. This optimal
internal force is obtained from the current grasping force without explicitly performing any
optimization. Finally we discuss the computational efficiency of the proposed method.

2. G R A S P I N G , MANIPULATION AND INTERNAL FORCE


Even though the grasping, manipulation and internal forces were well understood in previous
work, methods for determination of those forces were not adequate for real time implementation.
In this section, we define the grasping, manipulation and internal force in a somewhat different
manner to facilitate their computation.
2.1. Graspingforce
Grasping force is defined as equilibrium finger force which satisfies static friction and force
directional constraints in the absence of any external object force. When three fingers make point
contact with friction on the object rj(xj, yj, zj), each finger grasping force fs is determined from static
force equilibrium equation satisfying static friction constraint, equation (3), and force directional
constraint, equation (4)
WF s = 0 (1)
where 6 × 9 grasping matrix W with 3 x 3 identity matrix I and 9 × 1 vector Fg are

w=[X, II R2 R3
1

Rj=
rL-YJzj° 0
xj
] (2)

Fg = [fgl, f~, fg3] v.


Static friction constraint at each contact is given by
(fa/.f~a)-(1 +/~g)(f~-nj)2<0 j = 1,2,3. (3)
In equation (3), #0 is the friction coefficient and contact normal n is defined as inward direction
from outer object face. The force directional constraint on each finger grasping force is
f~.nj>O j = 1,2,3. (4)
The solution to (1) can be represented by a linear combination of null space base vectors of the
grasping matrix W. Among different representations of the null space base vector of W, if we adopt
the following three 9 x 1 vectors as the null space base vectors with (ru)x = xi-xj, etc.
NI = [(r21 )x, (r21)y, (?'21)z, (rl2)x, (rl2)y, (rl2)z, 0, 0, 0] T
N2 = [(r31 )x, (r31)y, (r31)z, 0, 0, 0, (rl3)x, (rl3)y, (rl3)z] "r (5)
N 3 = [0, 0, 0, (r32)x, (r32)y, (r32)z, (r23)x, (r23)y, (r23)z] "r

?Unless otherwise specified, object displacement implies the linear displacement plus angular displacement. Also external
object force implies force plus moment.
Ett~cient fingertip force computation for robot hand 25

then the solution of equation (1) will be


F s = NX (6)

where 9 x 3 matrix N and 3 x 1 vector k are


N---- [N,, N2, N3] and g = [21, '~2, ~'3] T"
Finger grasping force can be obtained by finding constants 2j in equation (6) such that each finger
grasping force will satisfy the static friction and force directional constraint at each contact, as
shown in Fig. 1.
Initial grasping force f~ is the force to hold a massless object at the initial grasp. In rerality, since
every object has mass, initial grasping force is not the actual finger force to hold the object. But
if we can determine the finger manipulation force at initial grasp to compensate the object weight
and internal force from initial grasping force, initial grasping is the same procedure as object
manipulation. Computational procedures to find these forces will be discussed in Section 3.
To determine the initial grasping force, that is, to determine the three constants 2j from equation
(6) with static friction and force directional constraints, we formulate the problem as a standard
nonlinear programming problem [7]. Since the static friction and force directional constraint
equations are now strict inequality equations, first introduce friction coefficient/~ instead of P-0 as
/~ = sf/~0 (7)
where 0 < sf < 1 is a safety factor and P-0 is the assumed friction coefficient. Then the optimization
problem can be stated as:
Find ;tj, j = 1, 2, 3 so as to minimize
(Ifg, l - Ifg2l)2 + (Ifg~ I - Ifg31)2 (8)
subject to
( f g / f ~ ) - ( 1 +/t2)(f~.nj)2~<0 j = 1,2,3 (9)
--(fg/nj)~<0 j=1,2,3 (10)
;tTNTN2 = 1. (1 l)
In the above minimization problem, the goal function was selected such that it would minimize
the difference between the magnitude of each initial grasping force. Also the equality constraint,
equation (11), was introduced to prevent the trivial solution, which is the zero vector of ~t. This
optimization problem need be solved only once at the initial grasping stage. During object
manipulation, grasping force as defined by equation (1), (3) and (4) at the current grasping
position will be obtained by updating initial grasping force without solving the optimization
problem again.

n2

"" ,,,

Fig. 1. Grasping force with positive 2t, 2 2 and 2 3.


26 YOUNGC. PARK and GREGORYP. STARR

2.2. Manipulation force


Manipulation force fm is defined as the finger force which will generate the required external
object force Fe, including the effect of object weight, without any interaction force components.
To define each finger manipulation force fm explicitly, write the static equilibrium equation with
external object force Fe
WFm =F¢ (12)
where
Fm = [fro1, fm2, fm3]T and F e = IF, M ] T

and grasping matrix W is defined by (2). If we use the generalized inverse of grasping matrix W
to solve (12), the particular solution can be represented by
Fm = w T ( w w T ) -I Fe. (13)
Since this particular solution for Fm belongs to the range space of the grasping matrix W, as shown
by Kumar and Waldron [4], equation (13) represents the solution of (12) such that it is in
equilibrium with required external object force Fe and has no internal or interaction force
components.

2.3. Internal force


When the finger manipulation force does not satisfy the static friction constraint or force
directional constraint it cannot be applied to the object due to sliding or breaking contact.
Internal force is the force which can be added to the manipulation force without disturbing
equilibrium and can be used to modify the finger force to avoid sliding or breaking contact. To
define the internal force mathematically, express the generalized inverse solution of (12) for final
finger force e f = [fn, fr2, ff3]x with the null space base vector representation given by (5)
Ff = F m + N2. (14)
From the above equation, internal force which belongs to'the null space of grasping matrix W can
be obtained by finding appropriate constant 3 x 1 vector 2 such that the final finger force Ff c a n
be applied to the object without sliding or breaking contact. But with the six nonlinear inequality
constraints of (9) and (10), even if mathematically well-defined, a closed form solution is not easily
found.
Instead of solving a numerical optimization problem to find internal force at a given grasping
position, we will modify equation (14) as follows. Examination of the internal force, the second
term of the right-hand side of equation (14), reveals that it has exactly the same form as grasping
force. Thus, if we have the grasping force at a given grasping position we can determine the internal
force by modifying the grasping force magnitude. For example, if we continuously increase
grasping force magnitude, the final finger force will approach the grasping force itself. With this
observation, define the internal force fi at a given grasping position as
f~= kf~. 05)
Now finding the internal force reduces to finding the constant k. To select k, define optimal internal
force as the minimum force to be added to the manipulation force such that final finger force can
be applied without sliding or breaking contact. Then by finding minimum k, optimal internal force
can be obtained without explicitly performing any numerical optimization. This optimal internal
force is basically the same as the one defined and solved by Nakamura et al. [6].

3. F I N G E R FORCE COMPUTATION
The computational procedures for finger force are developed in this section. We first determine
the manipulation force. To find grasping force and contact normal during manipulation of an
object, we will use screw displacement theory. Optimal internal force, when necessary, is determined
from the current grasping force without performing optimization.
Efficient fingertip force computation for robot hand 27

3.1. Manipulation force


The manipulation force for each finger to develop required external object force Fe can be
determined by solving the static force and moment equilibrium equations
F = fro, + fm2 + f~n3 (16)
M = rl x fml + r2 X fro2 + r3 x fm (17)
where fm~,freeand f~3 are the manipulation force of fingers 1, 2 and 3 and 7~, r 2 and r 3 are position
vectors from predefined task coordinate frame origin to fingers 1, 2 and 3 contact points. Since
manipulation force was defined to have zero interaction force between fingers, three additional
constraint equations on manipulation force can be stated as
(fml- fro2)"(rl--r2) = 0 (18)
(fml--fm3)'(rl =r3) = 0 (19)
(fm2 --fm3)" (r2 --r3) = 0. (20)
Equations (16) to (20) will determine finger manipulation force which is in equilibrium with
external object force and will have zero interaction force between each contact. This formulation
of finger manipulation force computation is identical with the grip transformation matrix G -r
formulation [2] if we set all internal forces zero. Finger manipulation force can be determined by
inverting the grip transformation matrix. But inversion of the 9 x 9 matrix is likely too slow for
real time implementation. To increase computational efficiency, instead of inverting G -~ directly,
solve for fm~ from (16) first. Then substitute it into (17) to yield
M. = M - r I X F = (r2-rl) X fm2+ (r3--rl) X fm3" (21)
Also substitute fm~ in equation (18), (19), add two resultant equations and use (20) to obtain
Fn = IF" [(r2 - rl ) + (r3 - 71 )] = fro2" (72 -- rl ) + fro3"(73 -- 71 )" (22)
TO determine f2m and f3m , write equations (21) and (22) in matrix form

Lfm3J F.
where 4 x 6 m a t n x G w i t h contact point ~(xj, yj, ~) is

I 0 z~-z2 Y2-Ym 0 zl-z3 Y3-Yt


G_~_ z2--z I 0 Xl--X 2 z3--z I 0 Xl--X 3
Yl--Y2 x2--xl 0 Yl--Y3 x3--xl 0
x2--x1 Y2--Yl z2--zl x3--Xl Y3--Y~ z3--z~
Manipulation force fro2and fro3for fingers 2 and 3 will be determined using generalized inverse of
G from (23)
fm2l = Gr (GGT)-' [ Mn ] (24)
fm3J Vo "
In computation of the inverse of 4 x 4 symmetric matrix (GGT), we notice that its inverse will be
symmetric. In addition, computation efficiency can be again increased by using a matrix partition
scheme [8] (see Appendix A). Finally finger 1 manipulation force, fml, can be obtained by
equation (16).

3.2. Object displacement


Grasping force at the current grasping position during object manipulation can be obtained by
updating initial grasping force if we know how the object is displaced from initial to current
grasping position, given by the object transformation matrix. Also, the current contact normal
direction, required in computation of the internal force, can be obtained from initial contact normal
by mapping with the object transformation matrix.
28 YOUNG C. PARK and GREC~RY P. STARF

When a solid object is displaced in three-dimensional space and three non-collinear points on
the object are specified before and after displacement, the object displacement can be determined
by a unique screw displacement (Chasles' theorem). In manipulation of an object by a three-
fingered hand, if we assume no sliding at any finger contact, the object displacement can be
computed from initial and current fingertip locations.
To express object displacement in terms of screw displacement let p~, qi and ri in Fig. 2 be initial
and P2, q2 and r 2 be current finger 1, 2 and 3 contact locations. Then Rodrigues' formula for a
general screw displacement for point p is (for detailed derivation of equations (25) to (28), refer
to [9])
P2 = (P~- Sn)COS ~b + s x (p~- S,)sin ~b + [(p~- S.). sis(1 - c o s ~b) + S, + ds. (25)

The screw displacement for points q and r can be obtained from (25) by replacing p with q and
r. The screw axis direction s and amplitude 4, axis location Sn (perpendicular to the screw axis
from the coordinate origin) and linear displacement along screw axis d is given by

tan(~)s = [(r2-q2)-(r]-q,)] x [(p2-q2)-(p,-q,)]


(26)
[ ( r 2 - q2) - (r, - ql )]" [(P2 -- q2) + (P, -- q, )]

s
Sn = P2 + Pl + [s. (P2 + Pl )]s} (27)
tan

d=s.(p2-p,) (28)

The object rotational matrix R from defined screw information can be obtained and each element
of rotational matrix is summarized in Appendix B.
In some special cases, equation (26) which defines direction of the screw axis s and
amplitude ~b cannot be used since it becomes indeterminate due to zero denominator. To
identify these special cases which will make the denominator of equation (26) zero, consider the
following.

Special Case 1: the object is purely translated or stationary


When the object is purely translated or stationary, the denominator in (26) will be zero since
the term [(r2-q2)-(rl-ql)] is zero. This special case can be easily detected by checking the
following two conditions
[(q2-q~)-(p2-pl)]=0 and [(r2-r,)-(p2-p,)]=0. (29)

r2 ......................... ;t,;,,

\ ? ...............
j I%4/~

8 i / I,~ i
. . . . . . . ¢. . . . . . . . . . . . :-__"!

~ • t i •

/<> " x(.,


x

Fig. 2. An object displacementas a screw displacement.


Efficientfingertip force computation for robot hand 29

If equation (29) is satisfied with the denominator from (26) being zero, then the object is purely
translated or is stationary. For this special case the object rotational matrix will be the 3 x 3 identity
matrix.
Special Case 2: the object has screw displacement where the screw axis is parallel to the
initial grasping plane, the plane formed by three initial grasping points 05, q~ and r~ but
not parallel to p~-q~
When the displacing screw axis is parallel to the initial grasping plane, equation (25) will be
indeterminate. To show this, substitute 02, q2 and r2 represented by (25) in the denominator of (25).
After some algebra, we have
[(r2- q2) - (r~ - q~)]- [(P2- q2) + (P~ - q~ )] = s. [(p~ - q~ ) × (rl - ql )] 2 sin ~b. (30)
From equation (30), if s is perpendicular to (p~-q~) x (r~-q~) which is perpendicular to the initial
grasping plane, the denominator becomes zero. In other words, when the displacing screw has
direction s which is parallel to the initial grasping plane, we cannot use equation (25) to find s and
~b. For this special case, to define screw axis s and amplitude 4) first apply Rodrigues' formula once
for point p and once for point q. By subtracting the q equation from the p equation, we have

(p2--q2)--(pl--ql) = tan(--02)s x [(P2--q2)+ (Pl --q,)]. (31)

To separate s from the vector cross-product in the right-hand Side of (31), perform a vector cross-
product with a vector n
n = (p~-qm) x (r~-q~) (32)

which is perpendicular to the initial grasping plane and also perpendicular to screw axis s. Then
the equation to define s and q5 for this special case will be, instead of (26)
(~) n x [(P2--q2)-- (P' --q')] (33)
tan s = n.[(p2_q2) + (Pl-ql)]

Special Case 3: the object has screw displacement where the screw axis is parallel to the
initial grasping plane and at the same time parallel to p~-q~
When the displacing screw axis is parallel to the initial grasping plane and at the same time
parallel to the vector p~-q~, equation (33) will still be indeterminate. To see this, take the
denominator from (33) and substitute P2 and q2 represented by (25). The denominator from (33)
will be
n . [(P2 - q2) + (P~ - q~ )] = (P~ - q~ )" {[(P, - q, ) x (r~ - q~ )] x s}. (34)

In the above equation, since vector (p~- q~ ) x (r~- q~) is perpendicular to vector s the vector cross
product between these two cannot be zero. But if screw axis s is parallel to p~-q~ then the
denominator in (33) will be zero. So whenever equation (33) is still indeterminate, we know that
the displacing screw axis is parallel to the initial grasping plane and at the same time parallel to
p~-q~. For this last special case use r in equation (33) instead of q to determine screw axis s and ~b.

tan(-02)s = n x [(P2- r 2 ) - (P,-rl)] . (35)


n. [(P2 - r2) -I- (p~ - r~ )]
The computational procedure to identify special cases so that one of the equations (26), (33) and
(35) can be used for screw axis s, amplitude ~b and rotational matrix R is as follows.
(1) When the demoninator from (26) is not zero, use equation (26) for the screw axis
s and ~fi and go to step 5. Otherwise go to step 2.
(2) Check whether the object displacment is purely translation or stationary by
equation (29). If this is the case (special case 1) then the object rotational matrix
will be 3 x 3 identity matrix and go to step 6. If equation (29) is not satisfied, the
object displacement is not purely translation or stationary. For this case, go to
step 3.
30 YOUNG C. PARK and GREGORY P. STARS

(3) Compute the denominator of equation (33). If it is not zero, the object has screw
displacement where screw axis is parallel to the initial grasping plane but not
parallel to P l - q l (special case 2). For this case, use equation (33) for screw axis s
and ~b and go to step 5. If the denominator from (33) is still zero, go to step 4.
(4) Use equation (35) for screw axis s and ~b. This is special case 3.
(5) Compute the object rotational matrix from defined screw axis direction s and
amplitude ~b.
(6) Stop.

3.3. Current grasping force


After the object is displaced from the initial grasping position, the grasping force fg needs to be
updated so that any necessary internal force can be determined. Since we already found the
rotational matrix from initial and current fingertip locations, current grasping force can be
determined for each finger as
fg= Rf~ (36)
where f~ is initial grasping force determined at initial grasping stage.

3.4. Internal force


If each finger exerts manipulation force fr~ on the object to manipulate and hold it, and the
applied manipulation force does not satisfy static friction and force directional constraint, internal
force needs to be added to the finger manipulation force. This is done such that final fingertip force
fr for each finger
ff = fm q- fi = f m q- kfg (37)
can generate the required external object force (including object weight) and at the same time
satisfies the static friction and force directional constraints.
From definition of the internal force in Section 2.3, finding the internal force reduces to
determination of the constant k. To find internal force at the current grasping position, first we
need to have the contact normal at each finger contact. This can be done by updating each initial
contact normal, n i, with previously obtained rotational matrix R
n = R n i. (38)

After we have current contact normals, substitute each final finger force ff defined in (37) into
modified static friction constraint, equation (9), for each contact with m = 1 +/~2
(Co)jk2+2(ct)jk +(Cz)j~<0 j = 1,2, 3 (39)
where
(c0)j = m 2

(Cl)j = (fgj"froj) -- m (fro/nj)(fg/nj)


(C2)j = (fmj" fmj) -- m (fmj" IIj) 2

and modified force directional constraint, equation (lO)

k >i fmj'nj j = 1, 2, 3. (40)


fvj"nj
In solving equation (39) to find k, since grasping force already satisfies the static friction constraint,
the coefficient of k 2 will always be negative for each contact. Also, if c2 is positive, which means
finger manipulation force does not satisfy friction constraint, equation (39) will have two real
solutions, equation (41), representing the upper and lower bound of k as shown in Fig. 3.

--(c,)j+ ~/(c2)j--(CoC2)j J = 1, 2, 3. (41)


(k)j = (c0)j
Efficient fingertip force computation for robot hand 31

f(k)

(k)j-" (cl)j+~/(~)j-(co~)j
(Co)j __

feasible range f o r ~ asible range fk r k

f (k)=(Co)jk2-~?.(Cl)jk-~c2) j
Fig. 3. Upper and lower bound for k.

But if c2 is negative, which means finger manipulation force already satisfies static friction
constraint, any value of k can be a solution of (39). In this case, we can simply set the upper and
lower bound of k as zero. No internal force is necesasry to satisfy the current static friction
constraint.
To find optimal internal force, first we solve equations (39) and (40) for each finger force and
identify a common range of k from solution of (39) and (40) for each contact. Then the value of
k which will give optimal internal force will be the value of k which has minimum absolute value.

3.5. Computational eJficiency


Computational efficiency for a three-fingered robot hand with friction contact is summarized in
Table 1. This table lists the number of add and multiply operations required to compute final finger
force from given external object force, initial grasping force and initial contact normal. In counting
the number of operations, we assume that negation and subtraction are equal in time to addition
and division is equal to multiplication.
Table 1 shows that the burden for manipulation force computation is reduced by more than a
factor of four over direct inversion of the grip transformation matrix using Gaussian elimination

Table I. Summary of computational efficiency


Computation Mult. Add. Assign. etc. Remark
Manipulation 67 69 41 1 comparison Using (AI) a
force 68 72 39 I comparison Using (A2)

l sin, I cos
35 41 32 I sqrt, 1 arctan General case
I comparison
5 23 25 7 comparison Special ease 1
Object 1 sin, l cos
rotational 47 55 38 l sqrt, l arctan Special case 2
matrix 8 comparison
1 sin, I cos
53 63 38 I sqrt, Iarctan Special case 3
8 comparison
Grasping
force 27 18 0 0
3 sqrt Included
Internal 2 abs addition of
force 85 65 46 8 comparison manipulation
force

Worst case
l sin, I cos computation
4 sqrt, l arctan cost
Grant total 232 215 152 2 absolute Intermediate
17 comparison Variable
assignments
included
"(Al) and (A2) represent equations in Appendix A.
32 YOUNG C. PARK and GREGORYP. STARR

[10]. Also it shows that the proposed method is about 20 and 45% less than the methods of [3]
and [4] respectively. As to internal force computation complexity, the methods used in [5,6] involve
numerical procedures and cannot compete with the method proposed in this paper.

4. C O N C L U S I O N AND FUTURE WORK


In this paper we presented a new and efficient finger force computation algorithm to be used
in real time finger force control. We first defined the grasping force as finger force to hold a massless

Fig. 4. An assembly example using the Salisbury hand.


Efficient fingertip force computation for robot hand 33

object. Then we discussed h o w this grasping force can be used to grasp a real object and to
determine necessary internal force. M a n i p u l a t i o n force was defined as a force which generates the
required external object force w i t h o u t any interaction force c o m p o n e n t between each contact. The
efficiency o f m a n i p u l a t i o n force c o m p u t a t i o n was increased by using the constraints between finger
manipulation forces explicitly. Given difficulty in measuring and tracking contact normals, we used
screw displacement theory to find the object rotational matrix. The contact n o r m a l and grasping
force during object manipulation were u p d a t e d f r o m initial grasping force and initial contact
n o r m a l with the rotational partition. In c o m p u t a t i o n o f the screw parameters, we extended previous
w o r k by identifying special cases. A m o n g the infinite possible internal forces we chose the optimal
internal force as the m i n i m u m force to be added to the finger manipulation force. This optimal
internal force was obtained without explicitly performing any optimization. C o m p u t a t i o n a l
efficiency in determination o f the optimal internal force was also increased by formulating it in
closed f o r m equations instead o f using a numerical procedure. In derivation o f the c o m p u t a t i o n a l
procedure, we used a three-fingered r o b o t h a n d but the same procedure can be used for m o r e than
three fingers.
The goal o f this research is development and evaluation o f a system to control a dextrous r o b o t
h a n d m o u n t e d on a host manipulator. Figure 4 shows an assembly example using the Salisbury
hand. The system will be used to grasp an object based on visual sensory information and
manipulate the object for a u t o m a t e d assembly. Grasping position synthesis based on force closure
grasping and allocation o f the m o t i o n between the dextrous h a n d and host manipulator are
currently under study.

Acknowledgements--We would like to thank Peter Boissiere at Sandia National Laboratories and Chris Wilson at the
University of New Mexico for their valuable discussion and comments. This work was performed at Sandia National
Laboratories and supported by U.S. Department of Energy under contact DE-AC04-76DP00789.

REFERENCES
1. T. Yoshikawa and K. Nagai, Manipulating and grasping forces in manipulation by multi-fingered hands, Proc. 1EEE
Int. Conf. on Robotics and Automation, Raleigh, pp. 1998-2004 (1987).
2. J. K. Salisbury, Kinematic and force analysis of articulated hands, Ph.D. thesis, Stanford Univ. (1982).
3. J. Hollerbach and S. Narasimhan, Finger force computation without the Grip Jacobian, Proc. IEEE Int. Conf. on
Robotics and Automation, San Fransisco, pp. 871-875 (1988).
4. V. Kumar and K. Waldron, Force distribution in closed kinematic chains, Proc. IEEE Int. Conf. on Robotics and
Automation, Philadelphia, pp. 114-119 (1988).
5. J. Kerr and B. Roth, Analysis of multifingered hands. Int. J. Robot. Res. 4, No. 4, pp. 3-17 (1986).
6. Y. Nakamura, K. Nagai and Yoshikawa T., Mechanics of coordinative manipulation by multiple robotic mechanisms,
Proc, IEEE Int. Conf. on Robotics and Automation, Raleigh, pp. 991-998 (1987).
7. M. S. Bazaraa and C. M. Shetty, Nonlinear Programming. Wiley, New York (1979).
8. B. Noble and J. W. Daniel, Applied Linear Algebra. Prentice Hall, Englewood Cliffs, N.J. (1977).
9. O. Bottema and B. Roth, Theoretical Kinematics. North-Holland, Amsterdam (1979).
10. R. B. Burden, J. D. Faires and A. C. Reynolds, Numerical Analysis. PWS, Boston (1981).

APPENDIX A
To invert the (GGT) matrix by matrix partition scheme, divide it into four 2 × 2 sub-matrices P, Q, QT and R where P
and R are never simultaneously singular if the three grasping points are not collinear

Then inverse of (GGT) will be given by either one of the following two equations depending on singularity of the sub-matrix
P or R. When the matrices P or R are both non-singular the result will be identical for both cases.
(1) Matrix R is non-singular case
(GGT)-. ~ [_R_XQTI -- XQR- I I (gl)

X = ( P - Q R - I Q T ) -L Y = R - I + R - I Q r X Q R -I.
(2) Matrix P is non-singular case
X
(GGT)-t = I--YQTP-I -PYQY 1 (A2)

y f ( R - Q T p - I Q ) -l X = p - t + p - I Q y Q r p -I.
34 YOUNG C. PARK and GREGORY P. STARR

APPENDIX B
Another form of Rodrigues' formula used in derivation of equation (31) is

P2--P, = t a n ( ~ ) s x (P2 + Pl--2Sn) + ds.

The object rotational matrix R from the screw axis direction s(sx, Se, sz) and amplitude ~b is

I
rll r12 rt3 l
R = r21 r22 r23
r31 r32 r33
where each element r e with s~b = sin(q~), c~b = cos(q~) is

rll = (S 2 - I)(I --CO) + 1 r12 = SxSy(1 --Cq~)--SzSt~ rl3 = SxSz(1 --c~b) + sys~
r2t=SySx(1-cdp)+szs~p r22 = (s~- 1 ) ( 1 - c ~ ) + 1 r23 = sysz(1--cc~ )--SxSqb
r31 = SzSx(1 -- Cq~)--SySq~ 32 = SzSy(1 --Cq~) + SxS(O r33 = (s~-- 1)(1--c~) + 1.

AUTHOR'S BIOGRAPHIES

Young C. Park--Young C. Park received the B.S. and M.S. degrees in Mechanical Engineering from Inha University,
Incheon, Korea and is currently completing the Ph.D. degree in Mechanical Engineering at the University of New Mexico.
His research interests include grasp synthesis of dextrous robot hand, optimization and adaptive control.

Gregory P. Start--Gregory P. Starr received the B.S. degree in Mechanical Engineering from the University of Southern
California, and the M.S. and Ph.D. degrees in Mechanical Engineering from Stanford University. His research interests
include sensor-driven robot control, articulated grippers and digital control. Since 1977 he has been at the University of
New Mexico in the Department of Mechanical Engineering, where he is currently Associate Professor.

You might also like