Professional Documents
Culture Documents
Gregory P. Starr: Computers & Elect. Engng Vol. 16, No. 1, Pp. 23-34, 1990
Gregory P. Starr: Computers & Elect. Engng Vol. 16, No. 1, Pp. 23-34, 1990
00
Printed in Great Britain. All rights reserved Copyright © 1990 Pergamon Press plc
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.
w=[X, II R2 R3
1
Rj=
rL-YJzj° 0
xj
] (2)
?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
n2
"" ,,,
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.
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
Lfm3J F.
where 4 x 6 m a t n x G w i t h contact point ~(xj, yj, ~) is
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
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.
r2 ......................... ;t,;,,
\ ? ...............
j I%4/~
8 i / I,~ i
. . . . . . . ¢. . . . . . . . . . . . :-__"!
~ • t i •
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
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.
(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.
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
f(k)
(k)j-" (cl)j+~/(~)j-(co~)j
(Co)j __
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.
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.
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
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.