15
Synthesizing Grasp Configurations with Specified Contact Regions Carlos Rosales 1,2 , Llu´ ıs Ros 1 , Josep M. Porta 1 , and Ra´ ulSu´arez 2 (1) Institut de Rob`otica i Inform`atica Industrial (CSIC-UPC), Barcelona, Spain (2) Institut d’Organizaci´o i Control de Sistemes Industrials (UPC), Barcelona, Spain Abstract This paper presents a new method to solve the configuration problem on robotic hands: deter- mine how a hand should be configured so as to grasp a given object in a specific way, characterized by a number of hand-object contacts to be satis- fied. In contrast to previous algorithms given for the same purpose, the one presented here allows specifing such contacts between free-form regions on the hand and object surfaces, and always re- turns a solution whenever one exists. The method is based on formulating the problem as a system of polynomial equations of special form, and then exploiting this form to isolate the solutions, us- ing a numerical technique based on linear relax- ations. The approach is general, in the sense that it can be applied to any grasping mechanism in- volving lower-pair joints, and it can accommodate as many hand-object contacts as required. Experi- ments are included that illustrate the performance of the method in the particular case of the Schunk Anthropomorphic hand. Keywords: Configuration problem, precision grasp, grasp planning, grasp synthesis, contact con- straint, position analysis, inverse kinematics, an- thropomorphic hand, prehension. 1 Introduction Substantial efforts have been done in Robotics thus far, to endow robots with the ability to grasp and * This is the version of the paper we initially submitted. The revised version will appear in the IJRR web page. o1 o2 o3 o4 h1 h2 h3 h4 Figure 1: A typical grasp configuration for a scalpel can be specified by requiring the contact of regions h 1 ,...,h 4 of the hand, with regions o 1 ,...,o 4 on the object (top). The configuration problem is to determine how should the hand be configured rel- ative to the object, in order to bring the hand re- gions into contact with their corresponding object regions (bottom). dexterously manipulate objects with multifingered hands (Siciliano and Khatib 2008). Several as- pects of this ability have been investigated, includ- 1

Synthesizing Grasp Configurations with Specified Contact …

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Synthesizing Grasp Configurations with Specified Contact …

Synthesizing Grasp Configurations

with Specified Contact Regions∗

Carlos Rosales1,2, Lluıs Ros1, Josep M. Porta1, and Raul Suarez2

(1) Institut de Robotica i Informatica Industrial (CSIC-UPC), Barcelona, Spain

(2) Institut d’Organizacio i Control de Sistemes Industrials (UPC), Barcelona, Spain

Abstract

This paper presents a new method to solve theconfiguration problem on robotic hands: deter-mine how a hand should be configured so as tograsp a given object in a specific way, characterizedby a number of hand-object contacts to be satis-fied. In contrast to previous algorithms given forthe same purpose, the one presented here allowsspecifing such contacts between free-form regionson the hand and object surfaces, and always re-turns a solution whenever one exists. The methodis based on formulating the problem as a systemof polynomial equations of special form, and thenexploiting this form to isolate the solutions, us-ing a numerical technique based on linear relax-ations. The approach is general, in the sense thatit can be applied to any grasping mechanism in-volving lower-pair joints, and it can accommodateas many hand-object contacts as required. Experi-ments are included that illustrate the performanceof the method in the particular case of the SchunkAnthropomorphic hand.

Keywords: Configuration problem, precisiongrasp, grasp planning, grasp synthesis, contact con-straint, position analysis, inverse kinematics, an-thropomorphic hand, prehension.

1 Introduction

Substantial efforts have been done in Robotics thusfar, to endow robots with the ability to grasp and

∗This is the version of the paper we initially submitted.The revised version will appear in the IJRR web page.

o1

o2

o3

o4

h1

h2

h3

h4

Figure 1: A typical grasp configuration for a scalpelcan be specified by requiring the contact of regionsh1, . . . , h4 of the hand, with regions o1, . . . , o4 onthe object (top). The configuration problem is todetermine how should the hand be configured rel-ative to the object, in order to bring the hand re-gions into contact with their corresponding objectregions (bottom).

dexterously manipulate objects with multifingeredhands (Siciliano and Khatib 2008). Several as-pects of this ability have been investigated, includ-

1

Page 2: Synthesizing Grasp Configurations with Specified Contact …

ing 1) the determination of object contact points onwhich a form- or force-closure grasp (Bicchi 1995) isguaranteed (Dizioglu and Lakshiminarayana 1984;Markenscoff et al. 1990; Ferrari and Canny 1992;Ponce et al. 1997; Cornella and Suarez 2009); 2) thedelimitation of object regions such that an arbi-trary contact on these regions assures a force/formclosure grasp (Nguyen 1988; Trinkle et al. 1995;Pollard 2004; Roa and Suarez 2009); 3) the com-putation of finger forces required to equilibrate anexternal force applied on the object (Kerr and Roth1986; Kumar and Waldron 1989; Buss et al. 1996;Cornella et al. 2008); 4) the planning of joint mo-tions that would allow a stable and manipulabledisplacement of the object (Li et al. 1989; Bicchiand Kumar 2001; Arimoto 2007; Saut et al. 2007);or 5) the synthesis of hand configurations satisfyinga number of grasping conditions (Borst et al. 2002;Guan and Zhang 2003; Gorce and Rezzoug 2005;Miller and Allen 2004; Rosell et al. 2005; Ciocarlieand Allen 2009).

This paper addresses a problem within the latteraspect. Given a number of regions on the surface ofthe hand, and a number of corresponding regionson the surface of the object, determine how shouldthe hand be configured relative to the object so thateach hand region establishes contact on its corre-sponding object region. Fig. 1 illustrates the prob-lem with an example. This problem, referred toas the configuration problem hereafter, arises whenthe object is to be grasped and manipulated in aspecific way, characterized by a number of contactconstraints to be satisfied (Borst et al. 2002; Guanand Zhang 2003; Gorce and Rezzoug 2005; Rosellet al. 2005). While the object regions may be theoutcome of an algorithm for contact region delim-itation (Nguyen 1988; Trinkle et al. 1995; Pollard2004; Roa and Suarez 2009), those on the handmay derive from known patterns of static prehen-sion (Kamakura et al. 1980).

The configuration problem has mostly been ad-dressed with local search methods to date. Ex-amples of such methods include those proposedby Borst et al. (2002), who cast the problem intoone of unconstrained optimization where the vari-ous constraints are introduced as penalty terms inan objective function, Gorce and Rezzoug (2005),who rely on a neural network to learn the fin-ger inverse kinematics, and later employ reinforce-ment learning to optimize the pose of the hand,

and Rosell et al. (2005), who propose an iterativemethod to compute joint displacements that max-imally reduce the distance from the fingertips tothe contact points. Although such methods areusually fast and return a solution in many cases,their convergence is not always guaranteed, evenif a solution exists. Some of such methods, more-over, require a sufficiently-good initial estimation ofthe solution (Borst et al. 2002; Rosell et al. 2005),which might not always be available.

This work attempts to find a way around suchlimitations by proposing a new algorithm of guar-anteed convergence; i.e., one that always providesa solution whenever one exists. This algorithm,which extends one introduced by Rosales et al.(2008), does not require an initial estimation of thesolution and can, in fact, solve a superclass of theconfiguration problems dealt with by Borst et al.(2002); Gorce and Rezzoug (2005); Rosell et al.(2005); Rosales et al. (2008), because all contactconstraints considered in such works can be seenas particular cases of more general ones tractableherein.

The proposed algorithm is based on formulat-ing the problem as a system of polynomial equa-tions of special form, and then exploiting such formto solve the equations, using a recent branch-and-prune strategy based on linear relaxations (Portaet al. 2009), properly extended to deal with the spe-cific constraints of the problem at hand. Becauserobotic hands have a diversity of kinematic struc-tures, special care has been taken to make the tech-nique applicable to grasping devices of any form,articulated with lower-pair joints of arbitrary type,allowing the contacts with the object to be estab-lished anywhere on the hand.

The rest of the paper is organized as follows. Tosee which constraints come into play, Section 2 re-views the kinematic structure of existing anthropo-morphic hands and describes how the hand-objectcontacts are specified. Section 3 shows that, reflect-ing such constraints, the configuration problem canbe formulated as a system of polynomial equations.Section 4 presents a numerical method to isolatethe solutions of this system. Section 5 illustratesthe performance of the approach on the particularcase of the Schunk Anthropomorphic (SA) hand—acommercial version of the DLR II hand (Butterfasset al. 2004)—on various tasks requiring an objectto be grasped in a special way. Finally, Section 6

2

Page 3: Synthesizing Grasp Configurations with Specified Contact …

gives the paper conclusions and highlights pointsdeserving further attention.

2 The hand-object system

2.1 Structure of the hand

Although each anthropomorphic hand follows aparticular design, all hands are in general madeup of a palm and several fingers, one of them act-ing as the thumb. Usually, all fingers are alignedwith each other and with the palm, except thethumb, which is mounted asymmetrically so thatit can push against the other fingers. Each finger iscomposed of several phalanges, usually articulatedthrough revolute (R) or universal (U) joints, whosedegrees of freedom may be actuated, unactuated, orcoupled to those of other joints. Mechanical limi-tations ususally exist, that constrain these degreesof freedom to take values within prescribed ranges.

Many finger designs follow an URR structure orslight variations of it. This structure closely mimicsthat of the human finger (Napier 1993). It mountsa universal joint at the finger base, to model themetacarpophalangeal joint, and two additional rev-olute joints, to model the proximal and distal in-terphalangeal joints (Fig. 2). The axis of the Ujoint that is fixed to the palm is responsible for ab-duction/adduction movements, and the remainingaxes, which are usually parallel, are responsible forflexion/extension movements of the finger.

The thumb structure is more diverse and contro-versial (Giurintano et al. 1995; Valero-Cuevas et al.2003). Designs are found where the thumb adoptsthe same structure as that of the remaining fin-gers, which facilitates the construction of the hand.Other designs either decrease or increase the mobil-ity of the thumb, by removing or adding joints withrespect to the basic URR design. In all cases, how-ever, the tip of the thumb is allowed to face all otherfingertips, so as to be able to grasp and manipu-late objects under stable prehensions. A summaryof representative hand designs adopted during thelast decade is provided in Table 1.

Note that, to reduce the number of motors neces-sary to actuate the hand, many hands have coupleddegrees of freedom. The coupling of two joints Aand B is indicated as ⁀AB in Table 1, meaning thata rotation about an axis of A produces an identical

U

R

R

Figure 2: Common URR structure of an anthropo-morphic finger.

rotation about an axis of B. On a coupling ⁀UR onlythe parallel axes are coupled.

2.2 Contact constraint specification

The contact constraints to be fulfilled are as-sumed to be given as a collection of pairs (hc, oc),c = 1, . . . , nc, where hc and oc are two-dimensionalregions on the hand and object surfaces, respec-tively. The constraint (hc, oc) is meant to requirethe contact of hc and oc at some point, with thenormals to hc and oc aligned at such point, to avoidthe interpenetration of the regions.

By convention, hc and oc are assumed to be givenas polynomial patches. That is, it is assumed thata polynomial function of the form

p = p(u, v), (1)

is given for each region, providing the parametriccoordinates p = (px, py, pz) of a point P in the re-gion, in terms of some scalar parameters u and v,bound to lie within the interval [0, 1]. To properlyalign the normals of hc and oc, the parameteriza-tion p(u, v) is supposed to be nondegenerate, in thesense that, if pu and pv are the partial derivativesof p(u, v) with respect to u and v, then the normalvector to the patch, defined as

n = pu × pv, (2)

3

Page 4: Synthesizing Grasp Configurations with Specified Contact …

#Actuated Finger designs

Hand d.o.f. Little Ring Middle Index Thumb

DIST hand (Caffaz and Cannata 1998) 16 - URR

Robonaut hand (Lovchik and Diftler 1999) 12 R ⁀R ⁀RR U ⁀RR ⁀UR

LMS hand (Gazeau et al. 2001) 16 - URR

Ultralight Anthropom. hand (Schulz et al. 2001) 10 R ⁀RR ⁀U ⁀RR

GIFU II hand (Kawasaki et al. 2002) 16 U ⁀RR URR

Shadow Robot hand (Shadow Robot Company 2003) 18 RU ⁀RR U ⁀RR UUR

DLR II hand (Butterfass et al. 2004) 13 - U ⁀RR RU ⁀RR

UBH 3 hand (Lotti et al. 2004) 20 URR

MA-I hand (Suarez and Grosch 2005) 16 - URR

SA hand (Schunk GmbH & Co. KG 2006) 13 - U ⁀RR RU ⁀RR

Table 1: Representative hand designs adopted during the last decade.

never vanishes for (u, v) ∈ [0, 1] × [0, 1].

For ease of explanation, p(u, v) will adopt theform of a standard Bezier patch of some given de-gree M × N ,

p(u, v) =

M∑

i=0

N∑

j=0

bi,j · Bi,M (u) · Bj,N (v), (3)

where bi,j denote the Bezier control points of thepatch, and Bi,j(x) =

(

i

j

)

xi(1−x)j−i is the ith Bern-stein polynomial of degree j. Note that any poly-nomial paramaterization p(u, v) can be convertedinto such form, by using an appropriate change ofbasis (Farin 2001).

3 Kinematic equations

The configuration problem can be formulated as anumber of constraints that the poses of the handand object links must fulfill. This section formu-lates such constraints mathematically, following themethodology proposed by Porta et al. (2009). Oncegathered together, the constraints form a system ofpolynomial equations characterizing all possible so-lutions of the configuration problem. The specialstructure of this system will be beneficial to solvethe problem numerically, as it will be shown in Sec-tion 4.

3.1 Link constraints

It will be convenient to label the hand and objectlinks as L0, L1, . . . , Ln, where L0 is the palm link,L1, . . . , Ln−1 are the various phalange links, andLn is the object link. The joints of the hand willalso be labelled for reference, as J1, . . . , Jm.

Each link Ll, l = 0, . . . , n, will be furnished witha local reference frame Fl, and we will let the ref-erence frame of the palm link, F0, to act as theabsolute frame. Moreover, each frame will have anassociated vector basis, and we will write vFl torefer to the coordinates of vector v, written in thebasis of Fl. Vectors with no superscript will eitherbe expressed in the basis of the absolute frame, orin no particular frame, depending on the context.

With the previous notation, a configuration ofthe hand-object system will be an assignment of apose (rl,Rl) to each link Ll, l = 1, . . . , n, whererl ∈ R

3 is the position of the origin of Fl with re-spect to F0, and Rl is a 3×3 rotation matrix givingthe orientation of Fl relative to F0. The elementsof the rotation matrices are not independent, be-cause if Rl has the form (cl, dl, el), then it mustbe

‖cl‖ = 1, (4)

‖dl‖ = 1, (5)

cl · dl = 0, (6)

cl × dl = el, (7)

4

Page 5: Synthesizing Grasp Configurations with Specified Contact …

Lj

Lj

Lj

Lj

Lk

Lk

LkLk

(a) (b)

(c) (d)

ui, vi

ui

vi

Pi, Qi

Pi, Qi

ui

viPi

Pi

Qi

Qi

ui vi

90o

Figure 3: (a,b): The assembly of two links through a revolute joint is specified by imposing the coinci-dence of two points and the alignment of two vectors. (c,d): The assembly through a universal joint isspecified by imposing the coincidence of two points and the orthogonality of two vectors.

for l = 1, . . . , n, in order for Rl to represent a validrotation. Note that the joints, the contacts, and themechanical limits impose additional constraints onthe link poses. These constraints are next formu-lated explicitly.

3.2 Joint assembly constraints

Since most hand designs only resort to revoluteor universal joints (Table 1), we focus on formu-lating the constraints imposed by such joints, butother joint types would be formulated in a similarway (Porta et al. 2009).

In terms of spatial constraints, the assembly oftwo links Lj and Lk, through a revolute joint Ji,is equivalent to imposing the coincidence of twopoints, Pi and Qi, and the alignment of two unitvectors, ui and vi, respectively fixed to Lj and Lk

(Fig. 3a). These two points and vectors are chosen

on the axis of the joint, and they coalesce into asingle point and vector when the two links get as-sembled (Fig. 3b). The coincidence and alignmentconditions can be written, respectively, as

rj + Rj pFj

i = rk + Rk qFk

i , (8)

Rj uFj

i = Rk vFk

i , (9)

where pFj

i and qFk

i refer to the position vectors ofPi and Qi in frames Fj and Fk, respectively. Thevalid poses of the two links, hence, are those thatfulfill Eqs. (8) and (9) simultaneously.

Similarly, if Ji is a universal joint, the valid posesof Lj and Lk are those that fulfill

rj + Rj pFj

i = rk + Rk qFk

i , (10)

Rj uFj

i · Rk vFk

i = 0 (11)

where Eqs. (10) and (11) impose the coincidenceof two points Pi and Qi, and the orthogonality of

5

Page 6: Synthesizing Grasp Configurations with Specified Contact …

two unit vectors ui and vi, respectively fixed on Lj

and Lk. The points are located on the center ofthe universal joint, on Fj and Fk. The vectors arealigned with the axes of the joint on such frames

(Figs. 3c and 3d). Since vectors pFj

i , qFk

i , uFj

i ,

and vFk

i are known a priori, the only unknowns inEqs. (8)-(11) are the poses of the two links (rj ,Rj)and (rk,Rk).

3.3 Joint limit constraints

For a revolute joint Ji incident to links Lj andLk, the relative angle between Lj and Lk, denotedφi, is the angle between two unit vectors ai andbi orthogonal to the axis of Ji, fixed in Lj andLk, respectively. Usually, due to the existence ofmechanical limits, φi can only take values withina prescribed interval which, using a proper loca-tion for ai and bi, can always be written in theform [−αi, αi], with αi ∈ [0, π]. In our formu-lation, these limits can be taken into account byconstraining the cosine of φi. For this, we definea new variable ci = cos(φi), and observe that theconstraint φi ∈ [−αi, αi] is equivalent to the con-straint ci ∈ [cos αi, 1]. Then we note that

ci = ai · bi. (12)

where

ai = Rj aFj

i , (13)

bi = Rk bFk

i . (14)

Thus, to constrain φi to the range [−αi, αi] it isonly necessary to add Eqs. (12)-(14) to the systemto be solved, taking into account that ci can onlytake values in the range [cos αi, 1]. Joint limits fora universal joint can be imposed in a similar way.

3.4 Contact constraints

Let us suppose that in the required grasp somehand link Lk is required to be in contact with theobject link Ln, where the contact has to be estab-lished between given regions hc and oc defined onLk and Ln, respectively (Fig. 4). Let Hc ∈ hc andOc ∈ oc be two points on such regions, with posi-tion vectors hFk

c and oFnc relative to Fk and Fn,

respectively, and let mc and nc denote unit normalvectors to the link surface at such points. Then,

the poses of Lk and Ln that bring the two regionsin contact through Hc and Oc are those that fulfill

rk + Rk hFkc = rn + Rn oFn

c , (15)

Rk mFkc = −Rn nFn

c , (16)

where Eq. (15) imposes the coincidence of Hc andOc, and Eq. (16) establishes the alignment of mc

and nc.

All vectors and matrices in Eq. (15) are un-knowns. However, since Hc and Oc are bound tolie on hc and oc, the additional constraints

hFkc = hFk

c (uc, vc), (17)

oFnc = oFn

c (sc, tc), (18)

must be taken into account to properly formulatethe contact, where hFk

c (uc, vc) and oFnc (sc, tc) are

parametric descriptions of regions hc and oc, givenin the form of Eq. (3). Note that the Bezier controlpoints of the patches hFk

c (uc, vc) and oFnc (sc, tc)

must be given in frames Fk and Fn, respectively.

Analogously, the unit vectors mFkc and nFn

c inEq. (16) must also be related to the patch parame-ters. This relationship can be established by takinginto account that, for a parametric patch p(u, v) ofthe form of Eq. (3), the normal vector n(u, v) de-fined by Eq. (2) can be written as

n(u, v) =

2M−1∑

i=0

2N−1∑

j=0

b′

i,j · Bi,2M−1(u) · Bj,2N−1(v), (19)

so that it can be thought of as a new Bezier patch,but now of degree (2M − 1) × (2N − 1). Explicitformulas for computing the control points b′

i,j inthis expression, in terms of the control points bi,j ofp(u, v), are given by Yamaguchi (1997). Thus, mFk

c

and nFnc can be related to the patch parameters by

defining two unnormalized vectors mFkc and nFn

c ,and their norms µc and νc, placed in correspon-dence with mFk

c and nFnc through the constraints

µ2c = ‖mFk

c ‖2, (20)

ν2c = ‖nFn

c ‖2, (21)

mFkc = µcm

Fkc , (22)

nFnc = νcn

Fnc , (23)

6

Page 7: Synthesizing Grasp Configurations with Specified Contact …

Lk

Ln

Hc

Oc

mc

nc

oc

hc

Figure 4: Elements intervening in a contact con-straint (hc, oc). The constraint is satisfied whenpoints Oc ∈ oc and Hc ∈ hc coincide, with thenormals on such points aligned.

and setting the additional constraints

mFkc = mFk

c (uc, vc), (24)

nFnc = nFn

c (sc, tc), (25)

whose right-hand sides follow the form of Eq. (19).

3.5 Final system of equations

Summarizing, the final system of equations definingthe possible grasp configurations will be formed byEqs. (4)-(7) for each link, Eqs. (8) and (9) for eachrevolute joint, Eqs. (10) and (11) for each universaljoint, equations of the form of (12)-(14) for eachjoint limit constraint, and Eqs. (15)-(18) and (20)-(25) for each contact constraint. Note that the vari-ables involved in this system are:

• The pose variables (rl,Rl) corresponding tolinks Ll, l = 1, . . . , Ln.

• The variables ai, bi, and ci correspondingto the joint limit constraints on all joints Ji,i = 1, . . . ,m.

• The contact point coordinates hFkc and oFn

c ,associated normal vectors mFk

c , nFnc , mFk

c ,nFn

c , vector norms µc and νc, and parametersuc, vc, sc, and tc, corresponding to all contactconstraints (hc, oc), c = 1, . . . , nc.

It is worth mentioning that the rl variables ofthis system can actually be eliminated, through aprocess explained in detail by Porta et al. (2009).The elimination is based on the fact that, for aloop of links pairwise constrained by joint or con-tact constraints, Eqs. (8), (10), and (15) occurringalong the loop can be substituted by an equivalent“loop-closure” equation which is their sum, whichdoes not contain any of the rl variables. This pro-cess simplifies the system, and can always be in-voked if desired, but the numerical method thatfollows is equally applicable to anyone of the twosystems.

4 Numerical Solution

Let ne and nv be, respectively, the number of equa-tions and variables of the final system described inSection 3.5. This system can be compactly writtenas

Φ(q) = 0, (26)

where q = (q1, . . . , qnv) refers to the vector of its

variables, and Φ : Rnv → R

ne refers to the vector-valued function describing its equations. A numer-ical method able to solve this system is next de-scribed, based on the approach proposed by Portaet al. (2009). The approach entails expanding theequations to a canonical form (Section 4.1) andthen using a branch-and-prune method exploit-ing this form to isolate the solutions (Sections 4.2and 4.3).

4.1 Equation expansion

We distinguish two groups of equations in the fi-nal system Φ(q) = 0: A first group encompassingEqs. (17), (18), (24), and (25), whose polynomialsfollow the Bezier form of Eqs. (3) and (19), anda second group encompassing the remaining equa-tions, whose polynomials only contain monomials

7

Page 8: Synthesizing Grasp Configurations with Specified Contact …

of the form qi, q2i and qiqj . Note that all equations

of the second group can be easily converted intolinear form by introducing the changes of variables

pi = q2i (27)

bk = qiqj (28)

for all q2i and qiqj monomials occuring in them.

After such changes, we obtain a new system of theform

Λ(x) = 0Ψ(x) = 0

}

, (29)

where x is an nx-dimensional vector encompass-ing all of the original qi variables, and the newly-introduced bk and pi ones. Here, Λ(x) = 0 rep-resents a collection of linear equations in x, andΨ(x) = 0 represents a collection of equations, eachof which can only adopt one of these three forms:

xk = x2i , (30)

xk = xixj , (31)

xk = f(xi, xj). (32)

While the first two forms correspond to the changesof variables in Eqs. (27) and (28), the latter formcorresponds to the scalar components of Eqs. (17),(18), (24), and (25), so that f(xi, xj) refers to aBernstein-form polynomial of degrees di and dj inxi and xj , respectively.

4.2 Equation solving

It can be seen that, under the used formulation,each variable xi of x can only take values within aprescribed interval (Porta et al. 2009), so that theCartesian product of all such intervals defines aninitial nx-dimensional box B ⊂ R

nx which boundsall solutions of Eqs. (29). The algorithm to isolatesuch solutions recursively applies two operations onB: box shrinking and box splitting.

Using box shrinking, portions of B containing nosolution are eliminated by narrowing some of itsdefining intervals. This process is repeated untileither 1) the box is reduced to an empty set, inwhich case it contains no solution, or 2) the box is“sufficiently” small, in which case it is considered asolution box, or 3) the box cannot be “significantly”reduced, in which case it is bisected into two sub-boxes via box splitting (which simply bisects thebox through its largest interval). To converge to all

solutions, the whole process is recursively appliedto the new sub-boxes, until one ends up with acollection of solution boxes, whose side lengths arebelow a given threshold σ.

As it turns out, this algorithm explores a binarytree of boxes, whose internal nodes correspond toboxes that have been split at some time, and whoseleaves are either solution or empty boxes. By prop-erly implementing the bookkeeping of boxes await-ing to be processed, this tree can be explored eitherin depth- or breadth-first order, the choice of orderdepending on whether one wishes to isolate just onesolution, or the entire solution set.

Note that the algorithm is complete, in the sensethat the solution boxes it returns include all solu-tion points of Eqs. (29). Thus, the algorithm willalways succeed in computing a solution, wheneverone exists, provided that a small-enough value ofthe σ parameter is used. Detailed properties of thealgorithm, together with examples of its output,are given by Porta et al. (2007, 2009).

4.3 Box shrinking

We next see how a given sub-box Bc ⊆ B can bereduced, discarding portions of the box that containno solution.

First, observe that the solutions of Eqs. (29) ly-ing within Bc ⊆ B must lie on the linear varietydefined by Λ(x) = 0. Thus, in principle, we mightshrink Bc to the smallest possible box boundingthis variety inside Bc. The lower and upper limitsof the shrunk box along dimension xi, i = 1, . . . , nx,would respectively be found by solving the two lin-ear programs

LP1: Minimize xi, subject to: Λ(x) = 0,x ∈ Bc,

LP2: Maximize xi, subject to: Λ(x) = 0,x ∈ Bc.

Bc may be further reduced, however, because thesolutions must also satisfy the equations Ψ(x) = 0.These equations can be taken into account by not-ing that for each equation it is possible to define aconvex polytope that bounds the equation solutionswithin Bc. Thus, to better delimit the solutions ofthe system, Bc can be safely reduced to the smallestpossible box enclosing the intersection of Λ(x) = 0and the polytopes of all equations in Ψ(x) = 0.This reduction can be implemented by represent-ing the individual polytopes with linear inequali-ties, and adding such inequalities to the constraint

8

Page 9: Synthesizing Grasp Configurations with Specified Contact …

(a)

(b)

(c)

A1

A2

A3

B1

B2

B3

B4

xk

xk

xk

xj

xj

xi

xi

xi

ui

ui

ui

li

li

li

uj

uj

lj

lj

C01

C02

C10

C11

C12C20

C21

C22

Figure 5: Polytope bounds within Bc. (a) Thepoints on xk = x2

i are bound by the triangleA1A2A3. (b) The points on xk = xixj are boundby the tetrahedron B1B2B3B4. (c) The points onxk = f(xi, xk) are bound by the convex hull ofthe points Cpq. In this example, f(xi, xk) is aBernstein-form polynomial of degree two in xi andxj , so that the control points Cpq form a grid ofsize 3 × 3.

set of the linear programs LP1 and LP2. We nextsee how such polytopes can be derived, for each oneof Eqs. (30)-(32). The notation [li, ui] will refer tothe interval of Bc relative to xi.

To derive a polytope for xk = x2i , note that the

portion of the parabola xk = x2i lying within Bc is

bound by the triangle A1A2A3 in the xi-xk plane,where A1 and A2 are the points where the parabolaintercepts the lines xi = li and xi = ui, and A3 isthe point where the tangent lines at A1 and A2

meet (Fig. 5a). Thus, the polytope of xk = x2i

is defined by the triangle A1A2A3, which can berepresented by three inequalities that correspondto the three edges of this triangle.

To derive a polytope for xk = xixj , we realizethat the portion of the surface xk = xixj includedin Bc is bound by a tetrahedron B1B2B3B4 in thexi-xj-xk subspace, whose vertices Bi are obtainedby lifting the four corners of the rectangle [li, ui]×[lj , uj ] vertically to the surface xk = xixj (Fig. 5b).Thus, the polytope of xk = xixj is defined by thetetrahedron B1B2B3B4, and can be represented byfour inequalities, corresponding to the four faces ofthis tetrahedron.

Finally, to derive a polytope for xk = f(xi, xj),we resort to the subdivision and convex-hull prop-erties of Bernstein polynomials (Farin 2001). Usingthe subdivision property, on the one hand, f(xi, xj)is written in the form

f(xi, xj) =

di∑

p=0

dj∑

q=0

bp,q · Bp,di(xi) · Bq,dj

(xj),

where the scalars bp,q are the so-called controlpoints of f(xi, xj) relative to the interval [li, ui] ×[lj , uj ]. On the other hand, using the convex-hullproperty, we know that the surface xk = f(xi, xj)must be contained inside the convex-hull of the 3Dpoints Cpq with coordinates

cpq =

li +p

di

(ui − li), lj +q

dj

(uj − lj), bp,q

«

, (33)

for p = 0, . . . , di, and q = 0, . . . , dj (Fig. 5c).This convex hull defines a polytope for equationxk = f(xi, xj), which can be encoded as a set of in-equalities by resorting to an algorithm for convex-hull computations (Barber et al. 1996).

9

Page 10: Synthesizing Grasp Configurations with Specified Contact …

Number of contacts 2 3 4

slightly constrained moderately constrained highly constrained

Object scalpel

Task name Upholding Handling IncisionTask requirements The task requires picking

the scalpel up by means ofa two-fingered grasp, us-ing the index finger andthe thumb.

The task requires handling thescalpel delicately using the mid-dle finger, the thumb, and thepalm.

The hand must contactthe scalpel as in a usualgrasping of a pencil, usingthe middle and index fin-gers, the thumb, and thepalm.

nv , ne, d 219, 209, 17 243, 235, 16 331, 324, 18Computed solution

CPU time [s] 106 255 418

Object teapot

Task name Lid lifting Service TransportationTask requirements The lid must be pulled up

through its knob using atwo-fingered grasp involv-ing the index finger andthe thumb.

The hand is required to holdthe teapot by its handle, placingthe thumb on top of the handle,while the index and middle fin-gers embrace the handle.

The palm has to contactthe bottom of the teapot,while the index, middle,and ring fingers enclosethe teapot so that it doesnot slide out of the hand.

nv , ne, d 219, 209, 17 288, 278, 19 312, 305, 17Computed solution

CPU time [s] 114 262 375

Object guitar

Task name Tunning Playing HoldingTask requirements The tunning task requires

the hand to grasp a givenkey of the guitar withthe index finger and thethumb, in order to tunethe tension of the corre-sponding string.

The fingertips must contact atspecified strings and frets in or-der to perform a given chord,while the thumb contacts theguitar neck.

The task requires an al-most whole-hand grasp ofthe guitar, on a specificregion where the guitarcan not be damaged whilebeing transported.

nv , ne, d 219, 209, 17 307, 298, 19 331, 324, 18Computed solution

CPU time [s] 68 229 664

Table 2: Benchmark configuration problems and their computed solutions

10

Page 11: Synthesizing Grasp Configurations with Specified Contact …

(a)(b)

palm

ring

middleindex

thumb

L0

L1

L2

L3

L4

L5

L6

L7

L8

L9

L10

L11

L12

L13

u1

v1

P1Q1

u2

v2

P2

Q2

u3

v3

P3

Q3

u4

v4

P4

Q4

u5

v5

P5

Q5

u6

v6

P6

Q6

u7

v7

P7

Q7

u8

v8P8

Q8

u9

v9P9

Q9

u10

v10

P10 Q10

u11

v11

P11

Q11

u12

v12

P12

Q12

u13

v13

P13

Q13

Q0

U

U

R

R

R

R

R

Figure 6: Geometric parameters (a) and reference configuration (b) of the Schunk AnthropomorphicHand. The various joint types are indicated in (b).

5 Experiments

The presented method has been implemented in C,using the libraries of the CUIK platform (Portaet al. 2009). This section illustrates the perfor-mance of the method under this implementation,on various experiments where an object needs tobe grasped in a particular way, in order to fulfill agiven task.

The experiments involve the solution of vari-ous configuration problems defined on a scalpel, ateapot, and a guitar, where each problem involvesa number of contact constraints to be satisfied, im-posed by the specific requirements of the task to bedone with the object. In all experiments, the SAhand has been used to grasp the objects (SchunkGmbH & Co. KG 2006), but the presented method-ology is equally applicable to any other hand. Ta-ble 2 summarizes such experiments.

We next explain how the equations of the handcan be set up, and later discuss the algorithm’sperformance on the selected experiments.

5.1 Equations for the SA hand

The SA hand is composed of four identical fin-gers that follow the anthropomorphic structure il-lustrated in Fig. 2. Three of these fingers are di-rectly mounted on the palm, and act as index, ring,and middle fingers. The fourth finger is mountedon an intermediate link articulated with the palmthrough a revolute joint, which allows this finger toact as a thumb (Fig. 6). The hand has a total offourteen links (one palm and thirteen phalanges)and thirteen joints (nine revolute joints and fouruniversal joints).

To set up the equations, the links of the hand arelabelled as L0, . . . , L13, as shown in Fig. 6, and the

11

Page 12: Synthesizing Grasp Configurations with Specified Contact …

Joint Ring Middle Index Thumb

type Par. Value Par. Value Par. Value Par. Value

R

pF2

3(30, 0, 0) p

F4

6(30, 0, 0) p

F7

9(30, 0, 0) p

F12

13

(30, 0, 0)

uF2

3(0, 1, 0) u

F5

6(0, 1, 0) u

F8

9(0, 1, 0) u

F12

13

(0, 1, 0)

vF3

3(0, 1, 0) v

F6

6(0, 1, 0) v

F9

9(0, 1, 0) v

F13

13

(0, 1, 0)

R

pF1

2(67.80, 0, 0) p

F4

5(67.80, 0, 0) p

F7

8(67.80, 0, 0) p

F11

12

(67.80, 0, 0)

uF1

2(0, 1, 0) u

F4

5(0, 1, 0) u

F7

8(0, 1, 0) u

F11

12

(0, 1, 0)

vF2

2(0, 1, 0) v

F5

5(0, 1, 0) v

F8

8(0, 1, 0) v

F12

12

(0, 1, 0)

U

pF0

1(−4.30,−40.16, 145.43) p

F0

4(−4.30, 0, 145.43) p

F0

7(−4.30, 40.16, 145.43) p

F10

11

(97, 6,−87)

uF0

1(1, 0, 0) u

F0

4(1, 0, 0) u

F0

7(1, 0, 0) u

F10

11

(cos 55o, 0, sin 55o)

vF1

1(0, 1, 0) v

F4

4(0, 1, 0) v

F7

7(0, 1, 0) v

F11

11

(0, 1, 0)

R

pF0

10

(−3, 27.10, 0)

uF0

10

(0, 0,−1)

vF10

10

(1, 0, 0)

Table 3: Parameters of the Schunk Anthropomorphic hand.

joints as J1, . . . , J13, letting Ji be the joint betweenLi−1 and Li (for clarity, joint labels are not shownin Fig. 6). Twenty-six points and unit vectors arethen defined, that provide the positions and orien-tations of all rotation axes of the hand relative tothe involved links. The points correspond to thecenters of the universal joints and to the midpointsof the revolute joints. The vectors correspond tounit vectors aligned with the rotation axes of thejoints. These points and vectors are displayed inFig. 6 and their coordinates are given in Table 3,in milimeters. All reference frames Fl are locatedwith their origin in Ql, so that q

Fl

l = (0, 0, 0), forl = 0, . . . , 13. The orientations of such frames canbe deduced easily from the coordinates providedin Table 3. Taking into account these definitions,Eqs. (4)-(11) can readily be written for all links andjoints involved.

To write down the equations of Section 3.3, themechanical limits of the SA hand must be consid-ered. Regarding the universal joints, the rotationsabout their ui and vi axes are limited to the ranges[−15o, 15o] and [−4o, 75o], respectively. Regardingthe revolute joints, all of them can only rotate inthe range [4o, 75o], except for the revolute joint atthe base of the thumb, which is restricted to therange [0o, 90o]. The reference configuration corre-sponding to setting all rotation angles to zero isshown in Fig. 6b.

Finally, it must be taken into account that not alljoints of the SA hand are independently actuated.

The two distal joints of each finger are coupled, sothat when one of such joints is actuated, a rotationof the same angle about the other is produced. Inthe adopted formulation, the coupling of two rota-tion angles is simply imposed by equating the sineand cosine of such angles.

5.2 Computed solutions

A system of equations has to be solved for each taskof Table 2, encompassing the equations of the SAhand, together with the contact equations that im-pose the specific requirements of the task. It mustbe noted that Eqs. (4)-(11) relative to fingers notin contact with the object can actually be removedfrom this system, because such fingers do not inter-vene in any kinematic loop, and hence impose noloop-closure constraint on the overall system.

Table 2 provides the size of the equation sys-tem (26) to be solved in each case, in terms ofthe number of variables (nv) and equations (ne) itinvolves, and the dimension of its solution space(d), predicted as the number of variables minusthe number of non-redundant equations. Note inthis regard that Eq. (9) introduces equations thatare redundant in terms of predicting such dimen-sion, because ui and vi are unit vectors, and it issufficient to establish the x and y components ofEq. (9) to determine the alignment of Lk relativeto Lj . The third component of Eq. (9), however,is needed to remove a sign ambiguity in such align-

12

Page 13: Synthesizing Grasp Configurations with Specified Contact …

ment. Since a similar redundancy is introduced byEq. (16), there will be as many redundant equa-tions as the number of joints and contacts involvedin the problem at hand.

As it can be observed from Table 2, typical con-figuration problems yield solution spaces of ratherhigh dimension. To avoid the curse of dimensional-ity as much as possible, and converge to one solu-tion rapidly, the proposed algorithm must be set toexplore in depth-first order (Section 4.2). Runningthe algorithm in this order, we have obtained thehand-object configurations depicted, in the CPUtimes indicated in each case.

All times reported correspond to a parallelizedversion of the algorithm, executed on a grid of 8DELL Poweredge computers, equipped with twoIntel Quadcore Xeon E5310 processors and a 4GbRAM each one. Note that the cost of comput-ing a solution increases with the number of con-tact constraints to be satisfied. This is because thesize of the linear programs to be solved during boxshrinking is proportional to the number of poly-tope inequalities introduced by such constraints,which increases the cost of each iteration of thealgorithm (Section 4.3).

6 Conclusions

This paper has presented a new solution to the con-figuration problem of robotic hands. When com-pared to other approaches to this problem, theproposed method is always guaranteed to convergeto a solution whenever one exists. An additionalfeature of the method is its ability to deal withgeneral region-to-region contact constraints, as op-posed to point-to-region (Borst et al. 2002; Rosellet al. 2005) or point-to-point (Gorce and Rezzoug2005) constraints, and the possibility to define theinvolved regions as general Bezier patches, to betteradapt the regions to the real surfaces of the handand object considered.

The method performs sufficiently well and re-turns problem solutions in reasonable times. Suchtimes are arguably large, however, so as to allowthe execution of the method in real-time roboticplatforms devoted to manipulation tasks. Instead,the approach is more suitable to off-line compu-tations in the context of grasp planning, where ef-forts are being made to develop standard databases

of graspable objects, along with corresponding setsof stable grasps for each object. Algorithms al-ready exist that exploit such precomputed graspsto produce proper grasps of objects perceived on-line (Goldfeder et al. 2009).

Although the focus of the work has been on deal-ing with the kinematic and contact constraints in-herent to the hand-object system, the approachseems to be versatile enough so as to accommo-date the treatment of additional constraints aris-ing in grasp synthesis, like collision, stability, ordexterity constraints. We are currently exploringthe possibility to formulate such constraints in theform required by the method, to be able to synthe-size grasp configurations satisfying all constraintssimultaneously.

Acknowledgements

This work has been partially supported by theSpanish Ministry of Science and Innovation undercontracts DPI2007-63665 and DPI2007-60858.

References

Arimoto, S. (2007). Control Theory of Multi-fingered Hands: A Modelling and Analytical Me-chanics Approach for Dexterity and Intelligence.Springer, 1st edition.

Barber, C., Dobkin, D., and Huhdanpaa, H.(1996). The Quickhull algorithm for convex hulls.ACM Transactions on Mathematical Software,22(4):469–483.

Bicchi, A. (1995). On the closure properties ofrobotic grasping. The International Journal ofRobotics Research, 14(4):319–334.

Bicchi, A. and Kumar, V. (2001). Robotic grasp-ing and manipulation. In Nicosia, S., Siciliano,B., Bicchi, A., and Valigi, P., editors, LectureNotes in Control and Information Sciences, vol-ume 270, chapter 3, pages 55–74. Springer BerlinHeidelberg, Berlin, Heidelberg.

Borst, C., Fischer, M., and Hirzinger, G. (2002).Calculating hand configurations for precision andpinch grasps. In Proceedings of the IEEE/RSJInternational Conference on Intelligent Robotsand System, volume 2, pages 1553–1559.

13

Page 14: Synthesizing Grasp Configurations with Specified Contact …

Buss, M., Hashimoto, H., and Moore, J. B.(1996). Dextrous hand grasping force optimiza-tion. IEEE Transactions on Robotics and Au-tomation, 12(3):406–418.

Butterfass, J., Fischer, M., Grebenstein, M.,Haidacher, S., and Hirzinger, G. (2004). De-sign and experiences with DLR hand II. In Pro-ceedings of the World Automation Congress, vol-ume 15, pages 105–110.

Caffaz, A. and Cannata, G. (1998). The design anddevelopment of the DIST-Hand dextrous gripper.In Proceedings of the IEEE International Con-ference on Robotics and Automation, volume 3,pages 2075–2080.

Ciocarlie, M. T. and Allen, P. K. (2009). Handposture subspaces for dexterous robotic grasping.The International Journal of Robotics Research,28(7):851–867.

Cornella, J. and Suarez, R. (2009). Efficient de-termination of four-point form-closure optimalconstraints of polygonal objects. IEEE Trans-actions on Automation Science and Engineering,6(1):121–130.

Cornella, J., Suarez, R., Carloni, R., and Mel-chiorri, C. (2008). Dual programming based ap-proach for optimal grasping force distribution.Mechatronics, 18(7):348–356.

Dizioglu, B. and Lakshiminarayana, K. (1984).Mechanics of form closure. Acta Mechanica,52(1):107–118.

Farin, G. (2001). Curves and Surfaces for CAGD:A Practical Guide. Morgan Kaufmann, 5th edi-tion.

Ferrari, C. and Canny, J. (1992). Planning optimalgrasps. In Proceedings of the IEEE InternationalConference on Robotics and Automation, pages2290–2295. IEEE Comput. Soc. Press.

Gazeau, J. P., Zehloul, S., Arsicault, M., and Lalle-mand, J. P. (2001). The LMS hand: force and po-sition controls in the aim of the fine manipulationof objects. In Proceedings of the IEEE Interna-tional Conference on Robotics and Automation,pages 2642–2648.

Giurintano, D. J., Hollister, A. M., Buford, W. L.,Thompson, D. E., and Myers, L. M. (1995). Avirtual five-link model of the thumb. Medical En-gineering & Physics, 17(4):297–303.

Goldfeder, C., Ciocarlie, M., Dang, H., and Allen,P. (2009). The columbia grasp database. In Pro-ceedings of the IEEE International Conferenceon Robotics and Automation, pages 1710–1716.

Gorce, P. and Rezzoug, N. (2005). Grasping pos-ture learning with noisy sensing information fora large scale of multifingered robotic systems:Research articles. Journal of Robotic Systems,22(12):711–724.

Guan, Y. and Zhang, H. (2003). Kinematicfeasibility analysis of 3-D multifingered grasps.IEEE Transactions on Robotics and Automation,19(3):507–513.

Kamakura, N., Matsuo, M., Ishii, H., Mitsuboshi,F., and Miura, Y. (1980). Patterns of static pre-hension in normal hands. The American Journalof Occupational Therapy, 34(7):437–445.

Kawasaki, H., Komatsu, T., and Uchiyama, K.(2002). Dexterous anthropomorphic robot handwith distributed tactile sensor: Gifu handII. IEEE/ASME Transactions on Mechatronics,7(3):296–303.

Kerr, J. and Roth, B. (1986). Analysis of mul-tifingered hands. The International Journal ofRobotics Research, 4(4):3–17.

Kumar, V. and Waldron, K. J. (1989). Subopti-mal algorithms for force distribution in multifin-gered grippers. IEEE Transactions on Roboticsand Automation, 5(4):491–498.

Li, Z., Hsu, P., and Sastry, S. (1989). Grasp-ing and coordinated manipulation by a multifin-gered robot hand. The International Journal ofRobotics Research, 8(4):33–50.

Lotti, F., Tiezzi, P., Vassura, G., Biagiotti, L., andMelchiorri, C. (2004). UBH 3: An anthropomor-phic hand with simplified endo-skeletal structureand soft continuous fingerpads. In Proceedingsof the 2004 IEEE International Conference onRobotics and Automation, pages 4736–4741.

14

Page 15: Synthesizing Grasp Configurations with Specified Contact …

Lovchik, C. S. and Diftler, M. A. (1999). The Robo-naut hand: A dexterous robot hand for space.In Proceedings of the IEEE International Con-ference on Robotics and Automation, pages 907–912.

Markenscoff, X., Ni, L., and Papadimitriou, C. H.(1990). The geometry of grasping. The Interna-tional Journal of Robotics Research, 9(1):61–74.

Miller, A. T. and Allen, P. K. (2004). Graspit! Aversatile simulator for robotic grasping. Robotics& Automation Magazine, IEEE, 11(4):110–122.

Napier, J. (1993). Hands. Princeton UniversityPress.

Nguyen, V.-D. (1988). Constructing force- closuregrasps. The International Journal of RoboticsResearch, 7(3):3–16.

Pollard, N. S. (2004). Closure and quality equiv-alence for efficient synthesis of grasps from ex-amples. The International Journal of RoboticsResearch, 23(6):595–613.

Ponce, J., Sullivan, S., Sudsang, A., Boissonnat,J.-D., and Merlet, J.-P. (1997). On computingfour-finger equilibrium and force-closure graspsof polyhedral objects. The International Journalof Robotics Research, 16(1):11–35.

Porta, J. M., Ros, L., Creemers, T., and Thomas,F. (2007). Box approximations of planar link-age configuration spaces. Journal of MechanicalDesign, 129(4):397–405.

Porta, J. M., Ros, L., and Thomas, F. (2009). Alinear relaxation technique for the position anal-ysis of multiloop linkages. IEEE Transactions onRobotics, 25(2):225–239.

Roa, M. and Suarez, R. (2009). Computation ofindependent contact regions for grasping 3-D ob-jects. IEEE Transactions on Robotics, 25(4):839–850.

Rosales, C., Porta, J. M., Suarez, R., and Ros, L.(2008). Finding all valid hand configurations fora given precision grasp. In Proceedings of theIEEE International Conference on Robotics andAutomation, pages 1634–1640.

Rosell, J., Sierra, X., Palomo, L., and Suarez, R.(2005). Finding grasping configurations of a dex-terous hand and an industrial robot. In Pro-ceedings of the IEEE International Conferenceon Robotics and Automation, pages 1178–1183.

Saut, J.-P., Sahbani, A., El-Khoury, S., andPerdereau, V. (2007). Dexterous manipulationplanning using probabilistic roadmaps in con-tinuous grasp subspaces. In Proceedings of theIEEE/RSJ International Conference on Intelli-gent Robots and Systems, pages 2907–2912.

Schulz, S., Pylatiuk, C., and Bretthauer, G. (2001).A new ultralight anthropomorphic hand. In Pro-ceedings of the IEEE International Conferenceon Robotics and Automation, pages 2437–2441.

Schunk GmbH & Co. KG (2006). Schunk anthro-pomorphic hand. http://www.schunk.com/.

Shadow Robot Company (2003). Design of a dex-trous hand for advanced CLAWAR applications.In Climbing and Walking Robots and the Sup-porting Technologies for Mobile Machines, pages691–698.

Siciliano, B. and Khatib, O. (2008). Springer Hand-book of Robotics. Springer-Verlag New York Inc.Chapters 15, 28, 22.

Suarez, R. and Grosch, P. (2005). Mechanical handMA-I as experimental system for grasping andmanipulation. In VideoProceedings of the IEEEInternational Conference on Robotics and Au-tomation, Barcelona.

Trinkle, J. C., Farahat, A. O., and Stiller, P. F.(1995). First-order stability cells of activemulti-rigid-body systems. IEEE Transactions onRobotics and Automation, 11(4):545–557.

Valero-Cuevas, F. J., Johanson, M. E., and Towles,J. D. (2003). Towards a realistic biomechanicalmodel of the thumb: the choice of kinematic de-scription may be more critical than the solutionmethod or the variability/uncertainty of muscu-loskeletal parameters. Journal of Biomechanics,36(7):1019–1030.

Yamaguchi, Y. (1997). Bezier normal vector sur-face and its applications. In Proceedings of theInternational Conference on Shape Modeling andApplications, pages 26–35.

15