Content uploaded by Arash Ajoudani

Author content

All content in this area was uploaded by Arash Ajoudani on Oct 23, 2017

Content may be subject to copyright.

On the Common-Mode and Conﬁguration-Dependent Stiffness Control

of Multiple Degrees of Freedom Hands

Virginia Ruiz Garate1, Nikos Tsagarakis2, Antonio Bicchi3, and Arash Ajoudani1

Abstract— Object manipulation using hands is a compelling

topic in which the interaction forces play a key role. These

inﬂuence the stability of the grasp and the dexterity of the hand

manipulation. A well-known technique to modulate these forces

is through the grasp stiffness. Inspired by the observations on

human motor behaviour, this paper proposes a novel control

method that exploits the dominant contribution of the ﬁnger

poses to the major axes directions of the grasp stiffness ellipsoid.

This is achieved by the optimisation of the hand/ﬁngers posture

minimizing the error between the desired orientation of the

grasp stiffness ellipsoid and the obtained one. The adjustment

of the volume of the ellipsoid is achieved through the adaptation

of the ﬁngers joint stiffness in a coordinated way.

The performance of the proposed technique is evaluated in

transferring desired grasp stiffness features from an anthropo-

metric hand model to two different robotic hand models. Results

show that the method is able to obtain a new grasp conﬁguration

approximating the desired grasp stiffness. Moreover, it is

capable of adapting the orientation of the achieved grasp

stiffness to the required variations of the task.

I. INTRODUCTION

Object manipulation, in autonomous or teleoperated poly-

articulated robotic hands, is a complex problem with several

difﬁcult aspects. One of the most complicated points is the

modulation of the interaction forces in contacts to guarantee

both the stability of the grasp and the versatility of the

operation [1], [2]. These can be achieved either by force

control techniques or modulation of the grasp compliance

[3], [4]. However, the latter presents an enhanced stability

to unexpected changes of the environment. This is due to

its dominance in the dynamic response to small disturbance

proﬁles when manipulating a tool or an object. Such con-

sideration has promoted the design of several multi degrees-

of-freedom (DoF) robotic hands with dedicated active [5],

passive [6], or hybrid [7] compliant joints. Still, the added

redundancy in the dynamic coordinates has contributed to

a raised complexity in the control of grasp compliance and

hand pose. Several studies have tried to address this problem

from a robotics point of view facing the trade-off between

the stability of the grasp and the dexterity of the operation

[8]–[10].

The authors are with the 1Human-Robot Interfaces and physical In-

teraction, 2Humanoids and Human Centred Mechatronics, and 3Soft

Robotics for Human Cooperation and Rehabilitation Laboratories of the

Advanced Robotics Department, Istituto Italiano di Tecnologia. Email:

virginia.ruiz@iit.it

This work is supported in part by the EU H2020 projects ‘SOMA: SOft

MAnipulation” (no. 645599), and “SoftPro: Synergy-based Open-source

Foundations and Technologies for Prosthetics and RehabilitatiOn”(no.

688857).

On the other hand, the complex biomechanical architecture

of the human hand raises challenging questions for under-

standing the control strategies that underlie the coordination

of movements and forces required for a wide variety of

tasks. These can range from the individual movements of

single joints to multi-DoF in-hand manipulation [11], [12].

The problem of redundancy in kinematic control of the hand

DoF has been tackled by reducing the state space of many di-

mensions to a control space of few, commonly known as the

postural hand synergies [13]. Embedding such coordinated

movements in the joint space has shown promising results,

either using software [14] or hardware [15] solutions.

Towards the extension of this concept to the dynamic

coordinates while focusing on the mechanical stability of the

human grasp, the work in [16] investigated the existence of

a coordinated stiffening pattern in human ﬁngertips during

a tripod grasp. In this study, the human ﬁngertip stiffness

proﬁles were estimated using external perturbations and

illustrated by ellipsoids. The results suggested that the co-

activations of the forearm muscles contribute to a coordinated

stiffening of the ﬁngers. This led to an increase in the

amplitudes of the major axes of the ellipsoids with minor

effects on their orientations. However, effective modulations

of the grasp forces in certain directions require the overall

geometry of the ﬁngertip stiffness to be controllable. For

example, if an object slippage occurs, an effective way to

avoid it is to increase the contact normal forces, e.g. by

rotating the major axes of the ﬁngertip stiffness ellipsoids in

the direction normal to the contact surface [17]. Similarly, if

high interaction forces are expected in certain directions of

a tool-tip hold by ﬁngers (e.g. carving using a chisel), the

ﬁngertip stiffness proﬁles must be modulated to provide a

resulting tool-tip stiffness ellipsoid with its major axis in the

direction of the highest interaction force.

To achieve this, humans explore the role of limb conﬁg-

uration [18] in modulating the geometry of the limb end-

point stiffness ellipsoid. The reason for that is the major and

quadratic effect of the limb geometry (through ﬁnger Jaco-

bians), in modiﬁcations of the orientation of the end-point

stiffness ellipsoid. In addition, self-selected postures are

more ergonomic solutions in comparison to co-contractions.

This may be the reason for some postures appearing as more

natural to the humans. For instance, the way a pencil or a

speciﬁc tool is held, or even the human body pose while

pushing a heavy object, contain very important information

on the expected physical interaction between the limb end-

point and the environment. The ﬁrst attempt to explore

the relevance of this concept to robotic applications was

presented in [19] for the teleoperation of a redundant robotic

arm. The volume-adjusting component of the end-point stiff-

ness was achieved by using the Common-Mode Stiffness

(CMS) variable. CMS implemented a coordinated activation

across the arm joints. The control of redundant kinematic

DoF was achieved simultaneously using a Conﬁguration-

Dependent Stiffness (CDS) variable. CDS controlled the

nullspace velocity of the manipulator to change the overall

geometry of the Cartesian stiffness ellipsoid.

The work presented here aims to transfer the CMS and

CDS principles to robotic hand manipulation of objects. This

presents the additional challenge of dealing with the multiple

DoF of the several ﬁngers of the hand. In the proposed frame-

work, the CMS control implements a coordinated stiffening

across the ﬁnger joints (similar to [16]), a common behaviour

in robotic ﬁngers with coupled joints [20]. At the same time,

the grasp pose and the ﬁnger conﬁgurations in redundant

space are controlled to achieve a desired grasp stiffness

geometry (CDS). This framework contributes to a reduction

in the dynamic control complexity of multi-DoF hands while

providing a solution for mapping dexterous manipulation

capabilities between hands with different kinematic and

dynamic characteristics (e.g. in teleoperation scenarios).

The performance of the proposed control method is eval-

uated by transferring grasp stiffness behaviours from an

anthropomorphic model of the human hand (20 DoF) to the

Schunk (7 DoF) and Allegro (16 DoF) robotic hands.

II. METHODOLOGY

When holding an object, the grasp stiffness matrix K∈

R6×6relates the wrench ∆w∈R6applied to the object to

its displacement ∆u∈R6:

∆w=K∆u= (GKcGT)∆u, (1)

where Kcis the equivalent contact stiffness matrix by taking

into account all the system compliance sources [21]. The

dimension of Kcdepends on the numbers of contact points

on the object. Gis the grasp matrix relating the contact forces

and moments transmitted through the contact points, to the

set of wrenches that the hand can apply on the object [22]

[23]. The stiffness matrix Kcincorporates the ﬁngers and

object structural elasticity. It is deﬁned as in [23]:

Kc= (Cs+JK−1

qJT)−1,(2)

where Csrepresents the structural compliance matrix, and

Kqis a nq×nqdiagonal matrix representing the joint

stiffness. nqis the total number of ﬁnger joints in the hand1.

The grasp matrix Gis deﬁned as G=e

GHT.His the

selection matrix representing the contact constraints [23],

i.e, the transmitted forces and moments between the hand

and the object [21]. If the contacts are modelled as hard

ﬁngers, only the force components (and no moments) are

transmitted through the contacts [22]. According to the

notation in [23], the selection matrix is therefore deﬁned

1In this work only ﬁnger joint movements are considered, keeping a ﬁxed

wrist conﬁguration.

as: H=I3n03n×3n, where nis the number of hard-

ﬁnger contacts. Similarly, e

Gcan be composed as:

e

G=I3I3. . . I303×3n

S(bc1)S(bc2). . . S(bcn)I3. . . I3,

(3)

where S(bci)stands for the skew-symmetric matrix of the

position of the i−th contact point ciwith respect to the

grasped object centre b, both expressed in the world frame.

Iis the identity matrix. If the rolling between the object and

the ﬁngers at the contact points is neglected, Gis constant

as long as the same grasp is held [21].

The joint stiffness matrix in (2) is deﬁned as Kq=

α·[Γ1,Γ2, ..., Γnf], being α[Nm/rad]the synergistic joint

stiffness variable and nfthe number of ﬁngers of the

hand. Γiis a constant vector implementing the coordinated

stiffening of the hand ﬁngers (CMS) [16].

As mentioned earlier, the grasp stiffness matrix (K) is

an important quantity to characterise the stability and the

versatility of the grasp. In particular, its translational com-

ponents (Kt∈R3×3, given that the rolling between the

object and the ﬁngers is negligible) can provide meaningful

insights into the underlying physical interactions between the

ﬁngers, the object, and the environment. This behaviour can

be graphically represented by an ellipsoid [16].

The purpose of the present study is to achieve the desired

features of a stiffness ellipsoid, i.e., volume and orientation,

in various hands with different kinematic and dynamic prop-

erties. The proposed method is divided in two consecutive

steps: (i) ﬁnding the optimal ﬁnger pose that generates the

best grasping stiffness orientation by means of the CDS

control (Section II-A), (ii) ﬁnding the optimal joint stiffness

(through α) to match the ellipsoid volume to the desired

one by means of the CMS control (Section II-B). Finally,

the grasp stability is evaluated for the resulting hand poses

(Section II-C).

A. Finding the optimal ﬁnger pose: CDS

To achieve the optimal ﬁnger pose, the hand workspace

must be explored to ﬁnd a grasp that best approximates the

desired stiffness ellipsoid orientation. This is achieved by

ﬁrst searching within an off-line computed mesh of possible

locations of the object centre in the hand workspace. The

hand workspace is deﬁned based on the ﬁnger joint limits.

The object centre is usually considered at its centre of mass.

This broad check is needed to avoid falling in a possible

local minima. That would be the case if the optimization is

constrained to start from a particular grasp conﬁguration in

such a high dimensional space. During the search, the contact

points are constrained to remain in the same position with

respect to the object centre.

Once a ﬁrst stiffness ellipsoid approximation is obtained

from an object position and its corresponding hand pose,

a local on-line optimisation is performed. This second step

serves to adjust the ﬁnger poses in the redundant space

around the solution provided by the mesh, while minimizing

the difference between the desired and obtained stiffness

ellipsoid orientations.

Starting with the exploration of the mesh positions, from

a initial randomly pre-deﬁned hand conﬁguration q0, and

provided the initial contact points c0and an object centre

position b0of a stable grasp, the initial grasp matrix e

G0can

be obtained using (3). Then, by moving the object to the

new centre locations bnew deﬁned in the mesh, subsequent

e

Gnew matrices are constructed. At the same time, all the

contact points at the ﬁngers must be kept constant, that

is, for every contact point ci:e

G0=e

Gnew. This implies

that the new desired positions of each contact point in the

world reference frame can be obtained from the new object

positions as ci,new =ci,0−b0+bnew.

Next, inverse kinematics is performed for every ﬁnger

to ﬁnd the new joint conﬁgurations that are capable of

grasping the object in the different mesh positions with the

desired contact points locations. In case of joint redundancy,

the Levenberg-Marquardt algorithm [24] [25] is used to

minimize ||ci,des −ci,new||2. At every new mesh position, the

iterative algorithm starts from the Jacobian pseudo-inverse

using the previous position: q1=J#(cnew −c0) + q0.

Obtained results are discarded if: (i) there are more/less

contact points than desired, (ii) contacts are placed in differ-

ent links of the ﬁnger, (iii) the obtained joint angles are above

their limits, (iv) the relative distance error from the contact

points to the centre of the object is bigger than 10% of the

desired one: ||bcnew −bcdes||2<0.1||bcdes ||2. However, the

lack of a feasible solution can be due to a poor starting

condition. Therefore, in cases (i), (ii), and (iii), the iterative

process is repeated, starting from a known stable initial grasp

conﬁguration of the hand as q1. If still no solution is found,

then the position is ﬁnally dismissed.

As this procedure is performed for all the pre-deﬁned mesh

points, the total computational time depends on the size and

resolution of such mesh. To avoid a long processing, the

computation is executed off-line once for the grasped object,

and the results are stored. Then, for every movement, the

previously obtained values just need to be loaded.

After all positions in the mesh have been evaluated, the one

giving the closest stiffness ellipsoid orientation to the desired

one is chosen. For this, the algorithm checks the normalized

difference (eθ) between the major axis of the desired and

obtained translational stiffness matrices.

The second step is to locally optimise the redundant DoF

of the ﬁngers to better approximate the desired orientation.

This exploration leads to a new object location and ﬁnger

pose within the vicinity of the previously found one. To do

so, the method exploits the direct kinematics of the ﬁngers:

˙cf=Jf˙qf, being cthe contact point position, and fthe

corresponding ﬁnger. In this work we consider the object

to be grasped by the ﬁngertips, being clocated at the most

distal link of each ﬁnger. Similar to previous step, the new

conﬁguration needs to keep the contact point locations with

respect to the centre of the object constant (bci=cte).

Therefore:

b˙cf= ˙cf−˙

b=Jf˙qf−˙

b= 0,(4)

where, Jfdenotes the Jacobian matrix of the ﬁnger. Ex-

panding (4) by putting all ﬁnger equations together and

transforming into a matrix form:

J10 0 · · · −I3×3

0J20· · · −I3×3

.

.

....· · · .

.

.

0 0 · · · Jnf−I3×3

×

˙q1

.

.

.

˙qnq

˙

bT

=

b˙c1

b˙c2

.

.

.

b˙cn

,

(5a)

A3n×nqf×˙pnqf×1=b˙c3nf×1,(5b)

where ˙q1... ˙qnqare the joints of all ﬁngers. Solving (5):

˙p=A# b ˙c+N(A)·σ, (6)

where N(A)is the nullspace of matrix A. As bc=cte,

b˙c= 0, hence ˙p=N(A)·σ. This equation can be put

down numerically into an iterative process minimizing σ.

Therefore, this parameter is derived from the difference

between the desired stiffness ellipsoid orientation and the

actual one: σ=−0.5∂(θd,k)

∂p , where θd,k =θdes −θk

represents the difference between the desired orientation and

the one at the k−th iteration, and pis the vector deﬁned in

(5). The three last elements of σthat correspond to the partial

derivative with respect to small object displacements, are set

to 0. As we focus on the translational stiffness components

and not the rotational, small changes in the object centre

location do not generate a change in the translational part of

the stiffness. For the angular displacements, differences of -

0.01 rad are considered and a maximum of 100 iterations

are allowed. Clearly, hands with more DoF are able to

iterate more within the nullspace of (5), further reducing the

stiffness orientation error.

B. Finding the optimal joint stiffness: CMS

Once a hand pose and the object centre position are

estimated, the algorithm minimises the difference between

the volumes of the desired stiffness ellipsoid and the achieved

one. Due to the coupling between the different ﬁnger joint

stiffness proﬁles of the hand (Kq=α·Γi), the only way to

vary the stiffness is by modifying α.

To optimise α, we use fminsearchbnd, a bound constrained

optimization function provided by Matlab (The MathWorks

Inc.), with α∈[0.001,50] Nm/rad. Since Ktis a sym-

metric positive-deﬁnite matrix, only the diagonal and upper

triangular values of the desired (Ktd,des) and actual (Ktd)

translational matrices are evaluated. Then, the error function

eKtd (%) = 100||Ktd,des −Ktd||2

||Ktd,des||2is minimised.

C. Grasp stability check

For every ﬁnal conﬁguration the obtained grasp stability

is checked. To do so, the algorithm examines if the ratio

between the tangential and normal forces at all the contact

points is lower than the surface friction coefﬁcient by using

the procedure suggested in [26]. A tolerance ktol =−0.01,

and an object friction coefﬁcient of µ= 0.8are stablished.

For the examples presented here, an object weight similar to

that of a tennis ball (59.4 g) is considered. We further use

the concept of Potential Contact Robustness (P CR) deﬁned

in [27]. This parameter is used to compare the robustness of

the initial and the ﬁnal achieved grasps.

III. MODELS OF THE HANDS

To validate the proposed method, a series of virtual

hands are generated to perform the required simulations.

These hands have different kinematic and dynamic proper-

ties. Moreover, selected grasps are performed with spherical

objects of random sizes.

As exploring an actual human hand stiffness is not

straightforward, it is modelled departing from the anthro-

pometric example of 20 DoF (4 DoF per ﬁnger) provided in

the Syngrasp toolbox [26]. Some modiﬁcations are applied

based on joint deﬁnitions and limits described in [28] [29].

Finger lengths are based on those described in [30]. The

ﬁnal simulation model is displayed in Fig. 1a. An initial

grasp on a spherical object of 30 mm radius is then deﬁned

(Fig. 1b). The structural diagonal stiffness of (2) is set to

Ks=C−1

s= 1000 N/m. The joint stiffness is set initially

to Kq=α·[Γthumb,Γindex ,Γmiddle,Γring ,Γlittle ], being

α= 2 Nm/rad, and Γi= [1,1,0.8,0.6] for every ﬁnger.

The decreasing values from proximal to distal joints are

based on experiments with actual human hands, like the one

in [18]. This pattern is followed for the rest of the hand

models. The projection of the resulting translational grasp

stiffness Ktis displayed in Fig. 1c for the 3 main planes.

−10010

−20

0

20

40

0

50

100

150

x (mm)

Defined Configuration

y (mm)

z (mm)

(a) (b)

−2000 0 2000

−2000

0

2000

XY Stiffness (N/m)

−2000 0 2000

−2000

0

2000

XZ Stiffness (N/m)

−2000 0 2000

−2000

0

2000

YZ Stiffness (N/m)

(c)

Fig. 1: (a) Anthropometric hand model. Ball shapes deﬁne the ﬁngertips.

Blue arrows represent the Z axis, rotation axis for the ﬁnger joints. (b) Initial

conﬁguration. (c) Initial grasp stiffness in the 3 translational planes.

The goal in the proposed simulations is two-fold: ﬁrst to

mimic the initial modelled anthropometric hand stiffness into

a robotic hand, and then to follow possible variations in the

obtained robotic grasp stiffness. For robotic hands we choose

the Schunk and Allegro hands and model them in Matlab

(The MathWorks Inc., Natick, MA, 2000). The Schunk hand

has 8 joints with 7 DoF, while the Allegro hand has 16

independent DoF. These hands together with their virtual

models are displayed in Fig. 2. It must be pointed out that,

in the model of the Allegro hand an extra joint has been

added to each ﬁnger (Fig. 2e) to account for the division

of the last phalanges from the ﬁngertips (white part in the

photo, Fig. 2d). In simulations, these joints remain inactive

and positioned at 0 rad. Additionally, they are assigned a

joint stiffness of 5 Nm/rad. Fig. 2c and Fig. 2f show the

initial grasp of the Schunk and Allegro hands while holding

spherical objects of 50 mm and 34.3 mm radius, respectively.

Based on the ﬁnger joint limits, we deﬁne the workspace

of possible object center locations for the Schunk hand

in (x, y, z)ranging from (−252.90,0,−193.08) mm to

(−22.90,0,186.92) mm, with a resolution of 10 mm. In

the case of the Allegro hand, the workspace is deﬁned from

(−134.62,−99.25,−140.58) mm to (85,38140.75,139,42)

mm, with a resolution of 20 mm.

In the case of the Schunk hand, the thumb inverse kine-

matics can be directly solved. For the other ﬁngers, as well

as for those of the Allegro hand, the redundant problem is

solved as explained in Section II-A. For both hands, the

structural diagonal stiffness is set to 1000 N/m and the joint

stiffness initially to α= 5 Nm/rad. For the Schunk hand

thumb Γthumb = [0.8,0.6], whereas Γi= [1,0.8,0.6]

for the other two ﬁngers. In the case of the Allegro hand,

Γi= [1,1,0.8,0.6] for all the ﬁngers. Both initial grasps of

the Schunk and Allegro hands satisfy the contact constraints,

being P CR = 10.94 and P CR = 4.971, respectively.

(a)

−200

−100

0

40

20

0

20

40

−50

0

50

x (mm)

y (mm)

z (mm)

(b) (c)

(d)

020

40

0

100

200

100

50

0

50

100

150

x (mm)

y (mm)

z (mm)

(e) (f)

Fig. 2: (a) Photo of the Schunk hand. (b) Schunk hand model. Ball shapes

deﬁne the ﬁngertips. Blue lines represent the Z axis, rotation axis for the

ﬁnger joints. (c) Initial conﬁguration of Schunk hand grasp. (d) Allegro hand

model. (e) Photo of the Allegro hand. (f) Initial conﬁguration of Allegro

hand grasp.

IV. RESULTS AND DISCUSSION

When analysing the pre-deﬁned mesh for the Schunk and

Allegro hands, the algorithm provided 98 and 50 feasible

hand conﬁgurations respectively for different object loca-

tions. At these positions, the contact points are held as in

the initial conﬁguration (see Fig. 2c and Fig. 2f). Fig. 3

shows the set of grasp stiffness ellipsoids that are generated

in such positions projected in the 3 main planes. Although

the evaluation of all these points is time consuming, once

performed results can be stored and loaded for the rest of

trials.

It can be observed that while a wide range of stiffness

orientations are attainable, not all of them are feasible. In the

case of the Schunk hand the larger stiffness is always in the

’Y’ or ’Z’ direction, whereas no large stiffness is achievable

in the diagonal direction of the ’YZ’ plane. Likewise, for

the Allegro hand, with the deﬁned contact points no large

stiffness can be obtained in the negative diagonal ’XZ’

direction. Therefore, comparing these ellipsoids to the grasp

stiffness of the anthropometric hand (see in Fig. 1c), we

estimate that the Schunk hand will better perform when

mimicking the orientation of the stiffness ellipsoid in the

’XZ’ plane. Reversely, the Allegro hand may be able to better

represent the ’XY’ and ’YZ’ stiffness.

(a)

(b)

Fig. 3: Grasp stiffness ellipsoids and their main axes projected in the 3 main

planes for the (a) 98 possible object positions for the Schunk hand, (b) 50

possible object positions for the Allegro hand.

A. Approximating the anthropometric stiffness

Using the methodology described in Section II, our ﬁrst

objective is to achieve the anthropometric grasp stiffness

(Fig. 1c) by the robotic hands. Results are presented in Fig.

4 for the Schunk hand and Fig. 5 for the Allegro hand.

Table I displays all numerical results of the different

steps of the proposed method for all the trials. Among the

variables, it shows the difference between the desired and

achieved main orientation of the grasp stiffness ellipsoid

along the different phases of the proposed optimization

method (eθ,mesh, eθ ,null). The initial errors for the Schunk

and Allegro hands, are reduced at the end of the process

to 0.1281 and 0.7531, respectively. As already mentioned,

the optimization of the joint stiffness parameter αre-sizes

the ellipsoid volume without re-orienting it. Therefore, the

orientation error before and after this optimization remains

the same. In any case, a reduction in this error is observed for

both hands, being the decrease larger for the Schunk hand.

As expected, from Fig. 4 and Fig. 5 it can be observed that

the Schunk hand is able to better match the orientation of the

grasp stiffness in the ’XZ’ plane than the Allegro hand. This

is also the stiffest grasp direction, thus resulting in a bigger

error on the orientation of the Allegro hand. Conversely, the

Allegro hand performs better in the ’XY’ plane whereas the

differences in the ’YZ’ plane result to be quite similar. On

the other hand, the nullspace optimization is able to iterate

more in the case of the Allegro hand than the Schunk hand

due to the more redundant DoF. This translates into a slight

reduction of the error (see Table I), as the Allegro hand is

able to better exploit its redundant DoF.

Initial Desired Oriented Final

Fig. 4: Upper row: Initial Schunk hand grasp, after mesh search of ellipsoid

orientation, and after nullspace optimization. Lower row: Grasp stiffness

projected in the 3 main planes. Oriented and ﬁnal stiffness are obtained

before and after the optimization of the joint stiffness Kqrespectively.

Initial Desired Oriented Final

Fig. 5: Upper row: Initial Allegro hand grasp, after mesh search of ellipsoid

orientation, and after nullspace optimization. Lower row: Grasp stiffness

projected in the 3 main planes. Oriented and ﬁnal stiffness are obtained

before and after optimization of the joint stiffness Kqrespectively.

The ﬁnal optimized αfor the Schunk and the Allegro

hands are 24.64 Nm/rad and 18.49 Nm/rad, respectively.

Therefore, a larger joint stiffness is needed with the robotic

hands than with the anthropometric hand. A possible rea-

son for this could be the higher amount of contact points

restricting the object possible movements in the case of

TABLE I: Initial values and results of the optimization process. eθ: normalized difference in the main axis orientation of the grasp stiffness ellipsoid

after mesh search eθ,mesh, and nullspace optimization eθ ,null.eKtd (%): relative difference between the translational stiffness components. t(s) is the

computational time taken for each of the method main steps.

Schunk α(Nm/rad) eθ,mesh eθ,null eKtd (%) PCR tmesh (s) tnull (s) tKq(s)

Initial Anthropometric 5 – 1.321 46.69 10.94 – – –

Optimized (Section IV-A) 24.64 0.1281 0.1281 25.02 10.92 0.008087 0.8874 0.1351

Rotation (Section IV-B) 28.47 0.1133 0.1133 9.816 10.92 0.02203 0.5074 0.02974

Allegro α(Nm/rad) eθ,mesh eθ,null eKtd (%) PCR tmesh (s) tnull (s) tKq(s)

Initial Anthropometric 5 – 1.348 56.05 4.971 – – –

Optimized (Section IV-A) 18.49 0.7534 0.7531 38.70 1.694 0.005221 15.84 0.1702

Rotation (Section IV-B) 7.529 0.3586 0.3586 17.27 4.744 0.01445 2.371 0.05481

Initial Anthropometric (Section IV-C) 5 – 1.309 48.87 4.971 – – –

Optimized (Section IV-C) 11.05 0.6362 0.6357 23.69 4.912 0.005256 4.584 0.1535

the anthropometric hand. This would be supported by the

fact that a lower joint stiffness is needed with the Allegro

hand (with 4 ﬁngertip contacts) than with the Schunk hand

(3 ﬁngertip contacts). However, this could also be due to

the different phalanges length of the hands ﬁngers. Further

simulations would be needed to evaluate the inﬂuence of

both factors.

The ﬁnal error eKtd is notably reduced for both hands

at the end of the process, remaining higher for the Allegro

hand than the Schunk hand (see Table I). This is in agreement

with the previous results on orientation adjustments. In both

obtained conﬁgurations, the imposed contact constraints are

respected, with P CR = 10.92 and P C R = 1.694 for the

Schunk and Allegro hands, respectively. Therefore, while

for the Schunk hand there is no big difference in terms of

grasp robustness, in the case of the Allegro hand there is a

signiﬁcant decrease.

Interestingly, from Fig. 4 and Fig. 5, it can be noticed that

the object position with respect to the Schunk hand is more

similar to that of the anthropometric hand grasp (see Fig.

1b). However, the Allegro hand provides a ﬁnger pose more

similar to that of the anthropometric conﬁguration.

B. Modelling the achieved robot hand grasp stiffness

Once the anthropometric grasp stiffness is approximated,

or directly copied from an already existing grasp of the

robotic hand, some changes of the stiffness ellipsoid might

be required. For example, in the case of grasping a heavier

object or applied disturbances in the vertical axis of the world

frame, it would be necessary to re-orient the ellipsoid to

become stiffer in the vertical ’Z’ direction. This could be

achieved by rotating the stiffness ellipsoids of the Schunk

and Allegro hands from previously approximated ones by

35 and 90 deg, respectively (see Fig. 6b and Fig. 7b).

To do so, from the previous existing robotic grasp stiffness

K, a new desired stiffness matrix is created by applying

a rotation to its eigenvectors. Then, the method deﬁned

in Section II is again used to ﬁnd the best ﬁtting grasp

conﬁguration and the joint stiffness. Figs. 6 and 7 show

the results for the Schunk and Allegro hands, respectively.

An evident change in the ﬁnger joint conﬁguration can be

observed. In the case of the Schunk hand, the joint stiffness

coupling value found to be optimal is 28.47 Nm/rad, while

(a)

Initial Rot 35° Final

2000 0 2000

2000

0

2000

XY Stiffness (N/m)

2000 0 2000

2000

0

2000

XZ Stiffness (N/m)

2000 0 2000

2000

0

2000

YZ Stiffness (N/m)

(b)

Fig. 6: (a) Schunk initial hand conﬁguration and conﬁguration achieved to

match the 35 deg rotation in Y. (b) Projection of grasp stiffness ellipsoids

in the 3 main planes.

(a)

−2000 0 2000

−2000

0

2000

XY Stiffness (N/m)

−2000 0 2000

−2000

0

2000

XZ Stiffness (N/m)

−2000 0 2000

−2000

0

2000

YZ Stiffness (N/m)

Initial Rot 90° Final

(b)

Fig. 7: (a) Allegro initial hand conﬁguration and conﬁguration achieved to

match the 90 deg rotation in Y. (b) Projection of grasp stiffness ellipsoids

in the 3 main planes.

for the Allegro hand is 7.529 Nm/rad. This result is in

agreement with the ones before, needing larger joint stiffness

for the Schunk hand. The difference in alignment between

desired and achieved main orientation of the grasp stiffness

ellipsoid is of 0.1133 for the Schunk hand and 0.3586 for the

Allegro hand, with the total difference being eKtd = 9.816%

and eKtd = 17.27% respectively. Again, error remains higher

for the Allegro hand. In any case, all differences have

been reduced with respect to those obtained when trying to

approximate the stiffness given by the anthropometric hand

(see Table I). This is coherent with the fact that the desired

stiffness is now obtained from a known achievable grasp

stiffness by the robotic hands. Moreover, contact constraints

for both hands at the new found scenarios are satisﬁed in both

cases for all contact points. P CR = 10.92 for the Schunk

hand, meaning that the grasp is as robust as before. In the

case of the Allegro hand, P CR = 4.744, which means that

robustness is regained to a similar value as with the initial

conﬁguration.

Best approximation results obtained with the Schunk hand

can be again explained by the higher number of pre-deﬁned

mesh positions for the object centre that are found to be

graspable while maintaining the contact point conﬁguration.

Even if with the Allegro hand the redundant DoF allow for

a better exploration of the nullspace, again if the departing

position is further from the global optimal position, the

performed optimization will only reach a local minima.

C. Mimicking the evolution of the anthropometric grasp

Finally, another point of analysis is the capability of the

method to not only approximate an initial grasp stiffness and

modify it, but also to follow the conﬁguration and stiffness

of the human-like hand to more extreme positions. For this

last part, we evaluate the method only using the Allegro hand

due to its similarity to the anthropomorphic hand in terms

of the number of DoF.

A closed grasp position of the anthropometric hand is

chosen with the same contact points as in the initial example.

The difference lies on the object location, which is displaced

in the positive ’X’ direction and negative ’Z’. This new grasp

conﬁguration also reﬂects in the obtained grasp stiffness (see

Fig. 8). The ’XZ’ plane is more balanced in both directions

than in the initial conﬁguration (compare with Fig. 1c). There

is actually a decrease in the ’X’ direction making the grasp

to be the stiffest in the ’Y’ direction.

Starting from the same initial conﬁguration of the Allegro

hand as before (Fig. 2f), the algorithm is able to ﬁnd the solu-

tion displayed in Fig. 9 with a joint stiffness synergy value of

α= 11.05 Nm/rad. This value remains quite below the ones

of the Schunk hand in previous conﬁgurations. The ﬁnal error

regarding the orientation of the grasp stiffness ellipsoid is

reduced from an initial 1.309 to 0.6357, while eKtd decreases

from 48.87% to 23.69%. Again, in this conﬁguration all

contact constraints are fulﬁlled, being P CR = 4.912.

Interestingly, from Fig. 8 and Fig. 9, it can be noticed

that even if some error remains, the Allegro hand moves

towards a ﬁnger pose that mimics the one produced by the

anthropometric hand.

XY XZ YZ

Fig. 8: Modiﬁed conﬁguration of the anthropometric hand and object

position, and grasp stiffness projection in the 3 main translational planes.

Initial Desired Oriented Final

Fig. 9: Upper row: Initial Allegro hand grasp, after mesh search of ellipsoid

orientation, and after nullspace optimization. Lower row: Grasp stiffness

projected in the 3 main planes. Oriented and ﬁnal stiffness are obtained

before and after optimization of the joint stiffness Kqrespectively.

D. Computational time

Computational time is an important factor if this method

is planned to be used with actual teleoperated robotic hands.

There are three main computation timings: (i) search of the

best approximation of the stiffness orientation among the

mesh positions, (ii) optimization around the nullspace, (iii)

optimization of the synergistic joint stiffness. Computations

are made with an Intel(R)Core(TM) i5-6200U 2.30 GHz,

with 4.00 GB of RAM.

The average computational time for the search among the

mesh positions is of 0.0110 s. In the case of the nullspace

optimization, it highly depends on the number of iterations,

being 1.049 s the average computational time per iteration.

This means an average of 3.146 s for 3 iterations and

8.388 s for 8 iterations (the maximum the method executed).

Finally, for the optimization of the joint stiffness synergy, the

process takes 0.1087 s in average. While the mesh search and

optimization of the joint stiffness is done in a relatively rapid

way, the nullspace optimization might take a relevant amount

of time depending on the number of iterations performed.

Therefore, in the case of a real-time application this nullspace

optimization could be done using an analytical solution rather

than numerical. This would potentially result in an efﬁcient

computational time.

V. CONCLUSION

In this work, inspired by the observations in human motor

behaviour on the coordination of the ﬁngers stiffness and

pose of the hand, a new method for the control of robot

grasping compliance was proposed. The method exploited

the dominant contribution of the ﬁnger poses to the grasp

stiffness ellipsoid geometry. This was achieved by the op-

timisation of the DoF of the hand (CDS) to minimise the

error between the desired orientation of the grasp stiffness

ellipsoid and the obtained one. The adjustment of the volume

of the ellipsoid was achieved through the adaptation of the

ﬁngers joint stiffness (CMS) in a coordinated way, a common

design concept in robot hands with coupled ﬁnger joints [20].

The use of a synergistic stiffness activation across the

ﬁnger joints of a hand is actually in concordance with

the stiffening patterns found in humans [16]. Moreover, it

drastically reduces the actuation complexity of the robotic

hand, as having coupled joints allows to control all their

stiffness with just one motor. Stiffness boundaries with such

joint coupling have begun to be studied in works like [20].

The proposed method was evaluated based on the ability

to transfer desired stiffness proﬁles from an anthropomorphic

model of the human hand to two robotic hands with different

kinematic and dynamic properties. In addition, the efﬁcacy of

the technique in tracking the required on-line modulations of

the grasp stiffness matrix of the robotic hands was assessed.

It ought to be mentioned that the simulation software used

in this study [26] is known to include detailed kinematic and

dynamic considerations to make the simulation environment

as realistic as possible. Nevertheless, future work will aim

at the experimental validation of the method on a multi-DoF

robotic hand.

REFERENCES

[1] Antonio Bicchi. Hands for dexterous manipulation and robust grasp-

ing: A difﬁcult road toward simplicity. IEEE Transactions on robotics

and automation, 16(6):652–662, 2000.

[2] Tsuneo Yoshikawa. Multiﬁngered robot hands: Control for grasping

and manipulation. Annual Reviews in Control, 34(2):199–208, 2010.

[3] Mark R Cutkosky and Imin Kao. Computing and controlling com-

pliance of a robotic hand. IEEE Transactions on Robotics and

Automation, 5(2):151–165, 1989.

[4] Hideo Hanafusa. Stable prehension by a robot hand with elastic

ﬁngers. In Proc. of 7th int. Symp. on Industrial Robots, 1977.

[5] Hong Liu, Ke Wu, Peter Meusel, Nikolaus Seitz, Gerd Hirzinger,

MH Jin, YW Liu, SW Fan, T Lan, and ZP Chen. Multisensory ﬁve-

ﬁnger dexterous hand: The dlr/hit hand ii. In Intelligent Robots and

Systems, 2008. IROS 2008. IEEE/RSJ International Conference on,

pages 3692–3697. IEEE, 2008.

[6] Lael U Odhner, Leif P Jentoft, Mark R Claffee, Nicholas Corson,

Yaroslav Tenzer, Raymond R Ma, Martin Buehler, Robert Kohout,

Robert D Howe, and Aaron M Dollar. A compliant, underactuated

hand for robust manipulation. The International Journal of Robotics

Research, 33(5):736–752, 2014.

[7] Markus Grebenstein, Alin Albu-Sch¨

affer, Thomas Bahls, Maxime

Chalon, Oliver Eiberger, Werner Friedl, Robin Gruber, Sami Haddadin,

Ulrich Hagn, Robert Haslinger, et al. The dlr hand arm system. In

Robotics and Automation (ICRA), 2011 IEEE International Conference

on, pages 3175–3182. IEEE, 2011.

[8] Thomas Schlegl, Martin Buss, Toru Omata, and G¨

unther Schmidt.

Fast dextrous re-grasping with optimal contact forces and contact

sensor-based impedance control. In EEE International Conference

on Robotics and Automation (ICRA), 2001.

[9] Aaron M Dollar and Robert D Howe. Towards grasping in unstructured

environments: Grasper compliance and conﬁguration optimization.

Advanced Robotics, 19(5):523–543, 2005.

[10] Christoph Borst, Max Fischer, Steffen Haidacher, Hong Liu, and

Gerd Hirzinger. Dlr hand ii: experiments and experience with an

anthropomorphic hand. In IEEE International Conference on Robotics

and Automation, 2003, 2003.

[11] N Bernstein. The Coordination and Regulation of Movements. Perg-

amon Press, Oxford, 1967.

[12] Tamar Flash and Neville Hogan. The coordination of arm movements:

an experimentally conﬁrmed mathematical model. Journal of neuro-

science, 5(7):1688–1703, 1985.

[13] Marco Santello, Martha Flanders, and John F Soechting. Postural hand

synergies for tool use. J. of Neuroscience, 18(23):10105–10115, 1998.

[14] Guido Gioioso, Gionata Salvietti, Monica Malvezzi, and Domenico

Prattichizzo. Mapping synergies from human to robotic hands with

dissimilar kinematics: an approach in the object domain. IEEE

Transactions on Robotics, 29(4):825–837, 2013.

[15] Arash Ajoudani, Sasha B Godfrey, Matteo Bianchi, Manuel G Cata-

lano, Giorgio Grioli, Nikos Tsagarakis, and Antonio Bicchi. Exploring

teleimpedance and tactile feedback for intuitive control of the pisa/iit

softhand. IEEE transactions on haptics, 7(2):203–215, 2014.

[16] Matteo Rossi, Alessandro Altobelli, Sasha B Godfrey, Arash Ajoudani,

and Antonio Bicchi. Electromyographic mapping of ﬁnger stiffness in

tripod grasp: a proof of concept. In Rehabilitation Robotics (ICORR),

2015 IEEE International Conference on, pages 181–186. IEEE, 2015.

[17] Mark R Cutkosky. On grasp choice, grasp models, and the design of

hands for manufacturing tasks. IEEE Transactions on robotics and

automation, 5(3):269–279, 1989.

[18] Theodore E Milner and David W Franklin. Characterization of

multijoint ﬁnger stiffness: dependence on ﬁnger posture and force

direction. IEEE Trans. on Biomed. Engineering, 45(11):1363–1375,

1998.

[19] Arash Ajoudani, Marco Gabiccini, Nikos G Tsagarakis, and Antonio

Bicchi. Human-like impedance and minimum effort control for natural

and efﬁcient manipulation. In Robotics and Automation (ICRA), 2013

IEEE International Conference on, pages 4499–4505. IEEE, 2013.

[20] Prashant Rao, Gray C. Thomas, Luis Sentis, and Ashish D. Deshpande.

Analyzing achievable stiffness control bounds of robotic hands with

compliantly coupled ﬁnger joints. In IEEE International Conference

on Robotics and Automation (ICRA), 2017.

[21] Monica Malvezzi and Domenico Prattichizzo. Evaluation of grasp

stiffness in underactuated compliant hands. In IEEE International

Conference on Robotics and Automation (ICRA), 2013.

[22] Domenico Prattichizzo and Jeffrey C Trinkle. Grasping. In Springer

handbook of robotics, pages 671–700. Springer, 2008.

[23] Antonio Bicchi. On the problem of decomposing grasp and manip-

ulation forces in multiple whole-limb manipulation. Robotics and

Autonomous Systems, 13(2):127–147, 1994.

[24] Kenneth Levenberg. A method for the solution of certain problems in

least squares. Quaterly J. on Appl. Mathematics, (2):164–168, 1944.

[25] Donald W Marquardt. An algorithm for least-squares estimation of

nonlinear parameters. Journal of the society for Industrial and Applied

Mathematics, 11(2):431–441, 1963.

[26] Monica Malvezzi, Guido Gioioso, Gionata Salvietti, and Domenico

Prattichizzo. Syngrasp: A matlab toolbox for underactuated and

compliant hands. IEEE Robotics & Automation Magazine, 22(4):52–

68, 2015.

[27] Maria Pozzi, Monica Malvezzi, and Domenico Prattichizzo. On grasp

quality measures: Grasp robustness and contact force distribution

in underactuated and compliant robotic hands. IEEE Robotics and

Automation Letters, 2(1):329–336, 2017.

[28] Charles Eaton. E-Hand: Electronic Textbook of Hand Surgery. Charles

Eaton, 2000.

[29] Salvador Cobos, Manuel Ferre, M ´

Angel S´

anchez-Ur´

an, Javier Ortego,

and Rafael Aracil. Human hand descriptions and gesture recognition

for object manipulation. Computer methods in biomechanics and

biomedical engineering, 13(3):305–317, 2010.

[30] Buryanov Alexander and Kotiuk Viktor. Proportions of hand segments.

Int. J. Morphol, 28(3):755–758, 2010.