DESIGN OF NON-ANTHROPOMORPHIC ROBOTIC HANDS FOR
ANTHROPOMORPHIC TASKS

Edgar Simo-Serra
Institut de Robòtica i Informàtica Ind.
(CSIC-UPC)
Llorens i Artigas, 4-6
08028 Barcelona, Spain
Email: esimo@iri.upc.edu

Francesc Moreno-Noguer
Alba Perez-Gracia∗
Institut de Robòtica i Informàtica Ind. Institut de Robòtica i Informàtica Ind.
(CSIC-UPC)(CSIC-UPC)
Llorens i Artigas, 4-6
Llorens i Artigas, 4-6
08028 Barcelona, Spain
08028 Barcelona, Spain
Email: fmoreno@iri.upc.edu
And: College of Science and Engineering
Idaho State University
Pocatello, Idaho 83209
Email: aperez@iri.upc.edu

ABSTRACTIn this paper, we explore the idea of designing nonanthropomorphic multi-fingered robotic hands for tasks that
replicate the motion of the human hand. Taking as input dataa finite set of rigid-body positions for the five fingertips, we develop a method to perform dimensional synthesis for a kinematic
chain with a tree structure, with five branches that share threecommon joints.
We state the forward kinematics equations of relative displacements for each serial chain expressed as dual quaternions,and solve for up to five chains simultaneously to reach a numberof positions along the hand trajectory. This is done using a hybrid global numerical solver that integrates a genetic algorithm
and a Levenberg-Marquardt local optimizer.
Although the number of candidate solutions in this problem
is very high, the use of the genetic algorithm allows us to perform
an exhaustive exploration of the solution space to obtain a set ofsolutions. We can then choose some of the solutions based on thespecific task to perform. Note that these designs match the task
exactly while generally having a finger design radically different
from that of the human hand.
NOMENCLATURE
b Number of kinematic chains branches.
n Number of joints.
m Number of end-effector positions for all branches considered.
ε Dual unit such that ε 2 = 0.

∗ Address all correspondence to this author.

v A vector.
Q̂ A dual quaternion.
S Plücker coordinates of a line: S = s + ε s0

INTRODUCTION
There are many applications for which a robotic system isneeded to work in human environments and to perform tasks thatare designed for the human hand. In most cases, the solution
adopted for grasping and manipulation consists of anthropomorphic robotic hands, which imitate to a certain extent the topology
and joint location of the human hand. See [1] for a review ofapplications and concept definition.
It is difficult to match the complexity of the human hand,commonly accepted to have 26 degrees of freedom when counting the motion at the wrist and the pronation/supination of theforearm. The anthropomorphic design must include a complex
mechanical system, actuation and sensing in a small space [2].
In order to reduce complexity, current designs limit the active degrees of freedom, through simplification of the mechanical structure or by designing underactuated hands. The design of simplified grippers limits the tasks of the robotic end-effector to somegrasping and manipulation actions. Pairing these designs withsome degree of underactuation and compliance, it is then possible to perform robust grasping of objects of unknown shape.
Dollar and Howe [3] present a simplified, underactuated design
for reliable grasping. Ciocarlie and Allen [4] optimize an underactuated, non-anthropomorphic gripper for performing a seriesof grasps from a database. A more thorough review on underactuated hands can be found in [5].
In order to perform some of the more complex functions

of the human hand (not only grasping and manipulation, butalso perception through surface exploration), it seems that an
end-effector with several independently-actuated fingers may beneeded. There are many examples of anthropomorphic robotic
hands, see for instance [6] for a relatively recent review. However, for complex multi-fingered designs, it may not be necessarythat the robotic fingers mimic those of the human hand in order toperform human-like tasks. We want to explore these alternative
designs with the use of kinematic synthesis.
These alternate designs may have multiple applications. One
possible usage is on the design of exoskeletons. These exoskeletons move the finger tips exactly like a human hand, while being
able to be mounted on a hand without interfering with the hand’s
movement. Another application is the improvements of existing designs. Solutions can be chosen with additional criteria likeequal distribution of joint velocities for a given task or location
criteria for the joint axes. This can allow, for instance, designs
optimized for particular actuators.
Kinematic design of robotic hands has focused on the design of individual motion of fingers or parts of the hand. Dai andWang [7] use kinematic synthesis to design a spherical mechanism to act as the palm of a metamorphic hand. Van Varseveld and Bone [8] designed a finger mechanism for a nonanthropomorphic dexterous hand. Walker et al. [9] also design
planar linkages for the fingers of a non-anthropomorphic, dexterous hand. Schafer and Dillman [10] present the kinematic designof a humanoid robotic wrist.
In this paper, we develop a method for the design of a full
non-anthropomorphic multi-fingered robotic hand for tasks that
replicate the motion of the human hand at the fingertips. Taking
as input data a finite set of rigid-body positions for the human fingertips, we perform dimensional synthesis for a kinematic chain
with a tree structure, with three common joints and five branches.
As a whole, the process entails the simultaneous solution of up
to five serial chains, two of them having four independent joints
and three of them with five independent joints, plus three common joints for all of them. The total degrees of freedom of the
non-anthropomorphic hand design is 26, similar to the humanhand.
We state the forward kinematics equations of relative displacements for each serial chain expressed as dual quaternions,and solve for all five chains simultaneously to reach a number of
positions along the hand trajectory. The synthesis of spatial serial chains for up to five degrees of freedom using this technique
was developed in [11]. We use a similar methodology together
with a hybrid global numeric solver, composed of a genetic algorithm paired with a Levenberg-Marquardt local optimizer. For
the tree-like kinematic structure, a high number of positions canbe defined to perform exact synthesis, obtaining a good approximation for the desired trajectory.
Finding the complete solution set for the synthesis of complex kinematic chains is an unsolved problem. Only dyads, such

FIGURE 1: HAND SKELETON USED TO GENERATE POSI-TIONS.

as the RR kinematic chain [12, 13], and some triads with particular characteristics [14], have been fully studied. Even the 3R
kinematic chain has not been completely solved with a closed algebraic expression [15]. The complexity of a tree-like kinematic
chain with a total of 26 revolute joints, and our numerical results,
lead to believe that there will be a very large amount of solutions.
This is an issue that has been found before even for simpler kinematic chains, see [14]. In order to deal with this, additional constraints may be added to help in the selection of the final design,depending on the task. We present two of the solutions for a handtask that was synthetically generated. The designs exactly matchthe task while having a finger design radically different from thatof the human hand.

KINEMATIC HAND MODEL
The human hand has 5 fingers formed by 14 joints. These
joints are created at the contact surface of the 27 major bones
forming the hand. The joints do not exactly match the motionof a classical lower pair, and some of them present more than
one degree of freedom. However, they can be modeled fairly
precisely using only simple revolute kinematic joints. The axesof these revolute joints do not necessarily have to intersect within
the same joint.
The full hand can be modeled using a total of 26 joints if we
consider the wrist and the pronation/supination of the forearm
to be formed by 3 revolute joints. The index and middle finger
have 4 revolute joints, while the third, fourth and thumb have 5
revolute joints. The dimensions are taken from the literature [16,17]. The skeleton can be represented by drawing the common
normals of the joint axes as shown in Fig. 1.

TABLE 1: JOINT ANGLES USED TO GENERATE THE TRA-JECTORY.

Chain

Hand task revolute joint limits [θmin -θmax ]Common[-90◦,90◦],[-90◦,90◦ ],[-90◦,90◦ ]Index[-10◦,90◦],[-10◦,10◦ ],[0◦,100◦],[0◦ ,90◦]

Middle[-10◦,90◦],[-10◦,10◦ ],[0◦,100◦],[0◦ ,90◦]

Third[-10◦,10◦],[0◦ ,20◦ ],[-10◦,10◦ ],[0◦,100◦],[0◦ ,90◦]

Fourth[-10◦,10◦],[0◦ ,20◦ ],[-10◦,10◦ ],[0◦,100◦],[0◦ ,90◦]

Thumb[-25◦,25◦],[-25◦,25◦ ],[-10◦,10◦ ],[0◦,70◦ ],[-10◦,85◦]

Forward Kinematics
We can represent each individual branch of a tree-like topology as an individual kinematic serial chain, which shares a number of joints with other branches. Given a kinematic serial chain
with n joints, we can write the kinematics equations using the
product of exponentials of the screws corresponding to the joint
axes, as described in [19]. In this paper, instead of calculating
the exponentials using matrix algebra, we do the exponentials
for the Clifford even subalgebra of the projective space, in which
the unit elements, also known as dual quaternions, express spatial displacements. The exponential of a screw represented by
the Clifford algebra element J = (1 + µε )S of axis S, where µ is
the pitch relating the slide d and the rotation θ along and about
the screw, yields a finite displacement,

θ

θ d
θ
θ d
θ
− sin ε ) + (sin + cos ε )S
2 2
2
2 2
2
θ̂
θ̂
= cos + sin S.
22

e 2 J =(cosHand Task Generation
The task is defined as a series of finite positions (locations
and orientations) for each finger tip, created by assigning a set of
joint variables to the kinematic model. The range of motion ofeach joint varies greatly among the population and it is therefore
impossible to assign a precise range to each joint. In this paper,
we will evaluate our solver using synthetically generated trajectories. These trajectories are generated from random positions
within the joint angle ranges defined in Table 1 to simplify theconvergence of the solver.

For a serial chain with n joints, in which each joint can rotate
an angle θi and slide a distance di , around and along the axis Si ,i = 1, . . . , n, we calculate the forward kinematics of relative displacements (with respect to an arbitrary reference configuration),

∆θ̂1

∆φ̂

∆φ̂

formations P̂1 j = cos 21 j + sin 21 j P1 j , j = 2, . . . , m, defining
the task; the output are the Plücker coordinates Si = si + ε s0i =si + ε ci × si , i = 1, . . . , n, of the n joints that define the kinematic
chain at a reference configuration, and also the j = 2, . . . , m sets
θ j = θi j − θi1 + ε (di j − di1 ), i = 1, . . . , n, usedof joint variables ∆ θ̂to reach the task positions, measured from the reference configuration θ̂θ 1 = θi1 + ε di1, i = 1, . . . , n.

∆θ̂2

∆θ̂n

∆θ̂θ ) = e 2 S1 e 2 S2 · · · e 2 SnQ̂(∆
= (cosKINEMATIC SYNTHESISThe goal of the dimensional kinematic synthesis is to findthe location and orientation of a set of joint axes able to perform a given motion, where the number and type of joints are
pre-defined. This is also known as the motion-to-form problem
in which we are given a motion, defined by a sequence of endeffector positions, as an input and must calculate the form as a setof joints and angles that can perform the motion. In this paper,
we follow the original idea of [18] of using the forward kinematics equations of the kinematic chain, but formulated as relative
displacements and expressed as dual quaternions, see [11] for acomplete description of this approach.
The input data for the synthesis are the m − 1 relative trans-

(1)

∆θ̂1
∆θ̂1
∆θ̂n
∆θ̂n
+ sin
S1 ) · · · (cos
+ sin
Sn ),
2
2
2
2
(2)

where ∆θ̂θ = θ j − θ 1 + ε (d j − d1 ) contains the joint variables, as
relative values with respect to the joint parameters of the chain
θ 1 and d1 when in the reference configuration.
Synthesis Design Equations
The dimensioning of the articulated system has to be done
so that the forward kinematics equations in Eqn. (2) can reach all
the desired task positions P̂1 j ,∆θ̂1 j∆θ̂2 j∆θ̂n jP̂1 j = e 2 S1 e 2 S2 · · · e 2 Sn ,j = 2, . . . , m(3)where j = 1 is reserved for the reference configuration.
This results in 8(m − 1) design equations, considering thefact that we are using dual quaternions which have 8 components. The design variables that determine the dimensions of the

S1

2

S3

S4

total system of equations

S2∆θ̂1 j1[G]

Branch 2

F∆θ̂2 j∆θ̂3 j∆θ̂4k j∆θ̂3 j∆θ̂4k jk

∆θ̂7k jkk

∆θ̂8k jk

P̂1k j = e 2 S1 e 2 S2 e 2 S3 e 2 S4 · · · e 2 S7 ,S4Common Joints∆θ̂1 j∆θ̂2 jP̂1k j = e 2 S1 e 2 S2 e 2 S3 e 2 S4 · · · e 2 S8 , k ∈ {3, 4, 5},
{z
}|
{z
}
|
commonBranch 1

FIGURE 2: TOPOLOGY OF THE KINEMATIC CHAIN.

chain are the n joint axes Si , i = 1, . . . , n, in the reference configuration. In addition, the equations contain the n(m − 1) pairs of
joint parameters ∆θ̂i j = ∆θi j + ε ∆di j , which are also unknown.

NON-ANTHROPOMORPHIC HAND SYNTHESISIn this paper, we are interested in the synthesis of robotic
grippers for human-hand tasks. We do not impose any explicit
limitation on the link dimensions or placement. The resulting
design should be able to perform a given human-hand task while
having a non-anthropomorphic aspect.

System Topology
As input topology, we define a tree-like kinematic chain withthree common joints in series at the base, connected to five serial
chains arranged in parallel, two of them with four degrees of
freedom and three of them with five degrees of freedom. This
structure follows the generally accepted joint arrangement of thehuman hand plus the wrist motion. Figure 2 shows the topologyof the kinematic chain to be synthesized.
Note that, to our knowledge, no previous approach has addressed the synthesis of tree-like structures. In addition, tree
topologies can also be used to represent pure serial topologies,
when there is only one branch, and loop topologies, when endeffectors of multiple branches are placed at the same position.

individual

j = 2, . . . , m.
(4)Here k identifies the kinematic chain and j = 2, . . . , m is the index
of the task position. The fingers are denoted by: index, k = 1;
middle, k = 2; third, k = 3; fourth, k = 4 and thumb, k = 5.
Each of the five serial chains, taken individually, has a totalof seven or eight degrees of freedom, depending on the finger
it corresponds to. Even though the exact dimensional synthesis
does not apply to serial chains with six or more degrees of freedom, by having three common degrees of freedom we are able tostate the design equations of the system as a whole.
Notice that even though each individual finger has more thansix degrees of freedom, the tree-like architecture is not kinematically redundant when defining the motion of several branches atthe same time.

KINEMATIC SOLVER
In order to deal with the large system of equations presented
in the previous section, the selected solver aims to minimize theerror in Eqn. (4) for each kinematic chain. In principle, problems
with selection of the metric does not apply to this case, as we aretargeting exact synthesis.
The objective of the solver is to perform general inverse
kinematics, that is, adjust both joint angles and joint axes to follow a motion. However, by making the joint axes constant it canalso perform inverse kinematics.
Objective Functions
Given a vector v = {4, 4, 5, 5, 5} with the number of independent joints for each finger, the design equations from Eqn. (4) canbe written as a set of unconstrained functions,3∆θ̂i j3+vk ∆θ̂ikjkF̂jk (Sk , ∆ θ̂θ j ) = ∏ e 2 Si ∏ e 2 Si −P̂1k j ,ki=1

Design Equations
We state the design equations by adapting Eqn. (3) to ourparticular topology. For each one of the serial chains in the parallel arrangement we state a set of design equations, to obtain thek ∈ {1, 2},

|

i=4

{z

common}|{z

individual

j = 2, . . . , m(5)
k = 1, . . . , 5}

where we can separate the product of the common joints fromthe individual joints that belong to each branch.

The global objective of the solver is to solve the design equations defined in Eqn. (4). This can be written as,

5m∑ ∑ |F̂jk (Sk , ∆ θ̂θ j )| = 0k

An important question remaining is how many task positions
m are required for the system to have a finite number of solutions,see [20] for details. This can be obtained by imposing f 0 = x0
and solving to obtain,(6)

j=2 k=1m=
In order to avoid falling into local minima we will use
a hybrid solver composed of both a genetic algorithm and aLevenberg-Marquadt optimizer.
Genetic algorithms behave better with defined positive maximization objective functions. We can convert Eqn. (6) to a minimization function and invert it to obtain,

m

5

∑∑

maximize
∆θ̂θ
S,∆

k
|F̂jk (S , ∆ θ̂θ j )|k

j=2 k=1!−1(7)which we can see is defined positive if the domain of Eqn. (5) isfinite. This single function is also known as the fitness function.
For the Levenberg-Marquadt local optimizer we use theminimizing least squares objective function,mminimize
θ
∆θ̂
S,∆

5

∑ ∑ F̂jk (Sk , ∆ θ̂θ j )2k

(8)

j=2 k=1

Dimension of the Equation Set
The equations and variables in the objective functions
Eqn. (5) are not all linearly independent. The equations areformed by unit dual quaternions Q̂ = q̂ + ε q̂0 which have a dimension of eight, but are subject to the two implicit constraintsq̂q̂∗ = 1 and q̂ · q̂0 = 0, which reduce the independent dimensionof the dual quaternion to 6. Similarly, only four of the six Plücker
components of each line are independent as they are subject tothe two implicit constraints ksk = 1 and s · s0 = 0. The numberof variables x and independent variables x0 can be written as,

x =n(6 + (m − 1))x0 =n(4 + (m − 1))(9)

The number of equations f and independent equations f 0
can be written as,

f =8b(m − 1)
f 0 =6b(m − 1)

(10)

4n
+1
6b − n(11)

The number of task positions obtained is the amount needed
to have a finite solution for non-degenerate tree topologies. Nondegenerate tree topologies are those where no kinematic chain
segment, that is the smallest kinematic serial chain from an endeffector to a fork or from the origin to a fork, has fewer than 6
degrees-of-freedom and that no serial chain from the origin to an
end effector has fewer joints than the largest kinematic chain segment from a fork to an end-effector. Degenerate tree topologies
have redundant equations and thus Eqn. (10) is no longer valid.
More task positions can be provided although this overdetermines the system. If the system is overdetermined by task
positions from the same workspace it will still have solutions,otherwise an exact match will generally not exist. Overdetermined systems can lead to problems of convergence and muchslower performance.
Applying Eqn. (11) to our model with b = 5 branches andn = 26 revolute joints, three of them being shared by all the
branches, we obtain that we can solve exactly for a task definedby m = 27 finite positions for each finger. This gives a total of
156 structural parameters and 676 joint variables for our set of
equation.
Solver Implementation
Note that the complexity of the problem that we are trying
to solve is especially challenging. However, the use of Clifford
algebra allows reducing the number of equations and variables,
compared to a matrix-based approach. In particular, we represent
the entire equation system with only 832 input variables between
both structural and joint variables. This is a reduction of 33% in
the number of variables compared to using homogeneous matrix,
only considering the 3x4 submatrix containing the rotation andtranslation information.
Genetic algorithms have already been used in many kinematic problems [21, 22]. The genetic algorithm performs an exhaustive exploration of the solution space in order find a solution.
However, due to complexity of the system a pure genetic algorithm would have convergence problems past a certain fitness.
This problem was overcome by reducing the solution space usedby the genetic algorithm to only the local minima. This converts the solution space from a continuous domain to a discrete
finite domain that improves the behaviour of the genetic algorithm. The local minima are found by a Levenberg-Marquardt

optimizer.
The genetic algorithm chromosomes consist of sets of variables that belong to the full solution space. After being generated
they are then converged to a local minima. This local optimization is also computed when chromosomes are crossed or mutatedto ensure each chromosome always represents a local minima of
the search space.
The fitness is calculated as the inverse of the sum of the error as seen in Eqn. (7). This makes the fitness a continuous positive function, which allows the usage of roulette-wheel selection
when choosing pairs from the genetic algorithm population tocrossover. It also converts the genetic algorithm to a maximization problem. The crossover rate is kept low to encourage diversity in the population, since the strong convergence is provided
by the Levenberg-Marquardt optimizer.
To avoid explicit constraints the chromosomes are generated
in the proximity of the ideal kinematic solution. This plays therole of a soft limit for the possible shapes of the robotic hand.
However, it is not unusual for the Levenberg-Marquardt minimizer to move far from the generation space and find extremely
non-anthropomorphic solutions.
The solver is executed until the fitness surpasses the value of1010 at which it is considered to have arrived to a solution. The
error is attributed to the imprecision in the computer representation of real numbers.

Kinematic Subsystems
It is worth noting that it is possible to solve a subsystemof the full kinematic chain tree. These subsystems are independently solvable as long as they have a finite number of task positions m needed for a finite number of solutions. To have m ∈ Q+
the subsystem must satisfy the following inequality,

6b − r > 0(12)which is obtained from imposing m > 0 in Eqn. (11). Table 2
shows all the possible subsystems of the hand model that can besolved.
The most interesting configurations to solve are the 5 kinematic chains at once, to minimize the needed positions, and theconfiguration with only two 4R branches to reduce the amount ofvariables needed. The two 4R branches are the index and middle
fingers and can be seen in Fig. 3. Afterwards, the remaining fingers can be solved individually as the common revolute joints are
now identified. There are also other systems that can be solvedthat are a compromise between the number of positions and thenumber of variables needed.

FIGURE 3: TOPOLOGY OF THE SOLVABLE (4R, 4R) FIN-GERS SUBSYSTEM.
TABLE 2: SOLVABLE SYSTEMS OF EQUATIONS FOR DIF-

FERENT COMBINATIONS OF CHAINS.

b

r

x

f

m

Notes

5

26

832

1092

27

Full model

4

22

1100

1452

45

(5R, 5R, 5R, 4R) fingers

4

21

714

938

29

(5R, 5R, 4R, 4R) fingers

3

17

1258

1666

69

(5R, 5R, 4R) fingers

3

16

608

800

33

(5R, 4R, 4R) fingers

2

11

550

726

45

(4R, 4R) fingers

1

5

130

170

21

5R finger, common solved

1

4

56

72

9

4R finger, common solved

RESULTS
It is very important for the solver to converge that the endeffector positions, for all branches describing the task, do notfollow an equation for the movement. This can lead to implicit
equations that can lower the dimension of the system so that
Eqn. (11) no longer guarantees a finite number of solutions. It
is also important for the difference between end-effector positions to be large to aid in the solver convergence, and that all the
joints present movement in the generated task.
The algorithm presented in this paper has a parallel natureand can be adjusted to run on supercomputers or other distributed
computing systems to increase the calculation speed. This is dueto the nature of the genetic algorithm which forms part of thehybrid solver presented.
We have obtained best results when using a population sizeof 100 for the genetic algorithm. This is much lower than what
would be expected to be needed for a pure genetic algorithm foran equation system of this size. The crossover rate was set at 0.2
while the mutation rate was set extremely high at 0.5. This isTABLE 3: SOLVER EXECUTION INFORMATION.

Solution

Generations

Time (hours)

1

13

20.8

2

5

20.5

3

10

16.5

4

12

85.0

The presented methodology is not limited to anthropomorphic tasks and hand models. It can be applied to generic serial,
loop and tree topologies of articulated systems, making the solver
a powerful tool.
Our hybrid solver has managed to successfully find solutions to kinematic synthesis problems much larger than previously considered. This has been accomplished by using Clifford
algebra to provide a more compact system of equations that isthen solved by the application of both meta-heuristics and classical math optimization.

14

Logarithm of Fitness

knowledge this is the first time kinematic synthesis has been applied to tree topologies. This methodology allows obtaining nonanthropomorphic designs that can perform an anthropomorphic
finite-position task exactly, while having a very different joint
distribution and motion. These designs have applications in exoskeleton design, as they could be mounted on the hand without
physically interfering with it.

12
10
8
6
4
2
0
−2
0

2

4

6

8

10

Generation

FIGURE 4: CONVERGENCE OF A SOLVER EXECUTION.

due to the fact that our hybrid solver uses a Levenberg-Marquadt
optimizer which provides the strong convergence. Therefore thegenetic algorithm must explore as much of the solution space aspossible and not focus on local convergence.
Runtime information can be found in Table 3 for the various solutions found. These results were obtained on an Intel R
CoreTM i7-870 CPU running at 2.93 GHz. The solver was using all 4 cores of the CPU by using 5 threads for the local optimization of the chromosomes, which is the slowest part of thealgorithm. An example of the solver’s converge can be seen in
Fig. 4.
We present two example solutions that can be seen in Fig. 5
and Fig. 6. The non-anthropomorphic solutions are rendered on
top of the anthropomorphic skeleton used to generate the data,
and both are drawn as joint axes linked along their common normal lines. The anthropomorphic skeleton is represented by thickgray lines while the non-anthropomorphic solution is represented
using thinner green lines.

CONCLUSIONSIn this paper we have presented a method for the kinematicsynthesis of tree-like articulated systems, with an applicationin the design of a robot to perform human-hand tasks. To our

From the dimensional synthesis point of view, an interesting result is that, due to the tree structure, we can perform exact
synthesis for general serial chains with more than five degrees of
freedom. We may conclude from this that, despite common believe that the human wrist/hand is a redundant mechanical system, it may not be so when we consider a task in which several
fingers must act.
The dimensional synthesis for articulated systems like theone presented here, with a high number of joints, yields manysolutions. A good selection process is required in order to choosea solution from the pool of candidates. For instance, for the application presented in this paper, additional constraints could be
imposed either in the solving process or in the post-processing
phase in order to find a suitable design. Among others, we cancite size or location restrictions for exoskeletons mounted on thehuman hand, or dexterity conditions at given configurations for
manipulation in human environments. Future work will take into
consideration possible link collisions that may be present in someof the solutions of the kinematic synthesis.
In order for the designs to be able to perform realistic humantasks, not only fingertip positions, but also fingertip forces andinfinitesimal motion need to be considered. Future work will
focus on including task velocities and accelerations in order todefine grasping actions.

ACKNOWLEDGMENT
This work is partially supported by the Spanish Ministryof Science and Innovation under projects DPI2010-18449, Consolider Ingenio 2010 CSD2007-00018, and a Ramon y Cajal
Research Fellowship. Also by the EU project GARNICS FP7247947.

(a) Full Hand(b) Index Finger(c) Middle Finger(d) Third Finger(e) Fourth Finger(f) Thumb

FIGURE 5: OVERVIEW OF A SOLUTION FOUND.

REFERENCES[1] Siciliano, B., and Khatib, O., 2008. Handbook of Robotics.
Springer, Berlin.
[2] Soto Martell, J., and Gini, G., 2007. “Robotic hands: Design review and proposal of new design process”. World
Academy of Science, Engineering and Technology, 26.
[3] Dollar, A., and Howe, R., 2007. “Simple, robust autonomous grasping in unstructured environments”. In Proc.
of the 2007 International Conference on Robotics and Automation, pp. 4693–4700.
[4] Ciocarlie, A., and Allen, P., 2010. “Data-driven optimization for underactuated robotic hands”. In Proc. of the2010 International Conference on Robotics and Automation, pp. 1292–1299.
[5] Briglen, L., Laliberte, T., and Gosselin, C., 2008. Underactuated Robotic Hands. Springer.

[6] Biagiotti, L., Lotti, F., Melchiorri, C., and Vassura, G.,2004. How far is the human hand? a review of anthropomorphic robotic end-effectors. internal report. Tech. rep.,
Universita di Bologna.
[7] Dai, J., and Wang, D., 2007. “Geometric analysis and synthesis of the metamorphic robotic hand”. ASME Journal of
Mechanical Design, 129, pp. 1191–1197.
[8] van Varseveld, R., and Bone, G., 1999. “Design andimplementation of a lightweight, large workspace nonanthropomorphic dexterous hand”. ASME Journal of Mechanical Design, 121.
[9] Ramos, A., Gravagne, I., and Walker, I., 1999. “Goldfinger: A non-anthropomorphic, dextrous robot hand”. In
Proceedings of the 1999 IEEE International Conference on
Robotics and Automation.
[10] Schaffer, C., and Dillmann, R., 2001. “Kinematic design

(a) Full Hand(b) Index Finger(c) Middle Finger(d) Third Finger(e) Fourth Finger(f) Thumb

FIGURE 6: OVERVIEW OF A SECOND SOLUTION FOUND.

of a humanoid robot wrist”. Journal of Robotic Systems,
18(12), pp. 747–754.
[11] Perez Gracia, A., and McCarthy, J. M., 2006. “The kinematic synthesis of spatial serial chains using clifford algebra exponentials”. Proceedings of the Institution of Mechanical Engineers, Part C, Journal of Mechanical Engineering Science, 220(7), pp. 953–968.
[12] Perez, A., and McCarthy, J. M., 2003. “Dimensional synthesis of bennett linkages”. ASME Journal of Mechanical
Design, 125(1), pp. 98–104.
[13] Brunnthaler, K., 2006. “Synthesis of 4r linkages using kinematic mapping”. PhD thesis, Institute for Basic Sciencesand Engineering, University of Innsbruck, Innsbruck, Austria.
[14] Su, H., McCarthy, J. M., and Watson, L. T., 2004. “Generalized linear product homotopy algorithms and the computation of reachable surfaces”. ASME Journal of Computers
and Information Science and Engineering, 4(3), pp. 226–
235.
[15] Lee, E., Mavroidis, C., and Merlet, J. P., 2004. “Fiveprecision point synthesis of spatial rrr manipulators using
interval analysis”. ASME Journal of Mechanical Design,

126(5), pp. 842–850.
[16] Fadi J. Beijjani, J. M. F. L., 1989. Basic Biomechanics ofthe Musculoskeletal System. Lea & Febiger, ch. Biomechanics of the hand, pp. 275–304.
[17] Chang, L., and Matsuoka, Y., 2006. “A kinematic thumbmodel for the act hand”. In Robotics and Automation, 2006.
ICRA 2006. Proceedings 2006 IEEE International Conference on, pp. 1000 –1005.
[18] Lee, E., and Mavroidis, C., 2002. “Solving the geometric design problem of spatial 3r robot manipulators using
polynomial homotopy continuation”. ASME Journal of Mechanical Design, 124(4), pp. 652–661.
[19] Murray, R. M., Li, Z., and Sastry, S. S., 1994. A Mathematical Introduction to Robotic Manipulation. CRC Press,
Inc., Boca Raton, FL.
[20] Perez, A., and McCarthy, J. M., 2004. “Dual quaternion
synthesis of constrained robotic systems”. ASME Journalof Mechanical Design, 126(3), pp. 425–435.
[21] Chocron, O., and Bidaud, P., 1997. “Evolutionary algorithms in kinematic design of robotic systems”. In Intelligent Robots and Systems, 1997. IROS ’97., Proceedingsof the 1997 IEEE/RSJ International Conference on, Vol. 2,

pp. 1111 –1117 vol.2.
[22] Yang, Y., Peng, G., Wang, Y., and Zhang, H., 2007. “A new
solution for inverse kinematics of 7-dof manipulator basedon genetic algorithm”. In Automation and Logistics, 2007
IEEE International Conference on, pp. 1947 –1951.