12 Grasp Planning II - Eigengrasp planningTop10 The Dynamics Engine11 Eigengrasps


11 Eigengrasps

Eigengrasps define a subspace of a given hand's DOF space. Assuming the hand has d DOF's, each eigengrasp is a d-dimensional vector. A basis comprising b orthogonal eigengrasps can define a b-dimensional subspace. Additionally, this subspace needs an origin, which is also a d-dimensional vector. This gives the following options:

The term "Eigengrasp" is of our own creation; in the literature (particularly regarding the human hand), the same concept is often referred to as "hand synergies".

For a complete discussion on Eigengrasps and their application in practice, please see the Publications section. This is just a brief overview of Eigengrasps in practice, in this version of GraspIt!.

This distribution of GraspIt! include Eigengrasp information for many dexterous hands. For the human hand, we are providing eigengrasp directions matching those discovered through user studies by Santello et al. (see M. Santello, M. Flanders, and J. F. Soechting, Postural hand synergies for tool use, Journal of Neuroscience, vol. 18, no. 23, 1998 for details). The hand model used in that study had 16 DOF. Therefore, the only the 16-DOF version of the human hand included with GraspIt! has all 6 eigengrasps discovered in the study. The 20-DOF version has only the 2 dominant eigengrasps, and since an empirical mapping was done between 16 DOF and 20 DOF, they might not be as accurate as the ones provided with the 16-DOF version.

3 more dexterous hands have eigengrasp information pre-defined in this version of GraspIt!: the Robonaut hand, the DLR hand and the Barrett hand. For the anthropomorphic models (Robonaut and DLR) we have performed an empirical mapping of the 2 dominant eigengrasps from the human hand to adapt them to the robotic hand kinematics. The Barrett hand natively only has 4 DOF (it can be considered an eigengrasp hand by construction, since it has 7 joints). We have still defined 2 eigengrasps empirically, this is the simplest case of using eigengrasps and it will be used as an example in the rest of this chapter.

11.1 Loading Eigengrasp Information

For any hand model, eigengrasp information can be defined using a text file which is loaded together with the hand configuration file. Usually, eigengrasp information files are placed together with the rest of the information that defines a robot, such as the configuration file or link geometry files. Here is an example file defining a 2-dimensional (b=2) eigengrasp subspace for the Barrett hand (d=4). The example shown here is found in the file barrett_eigen.egr included in this distribution.


1.0  0.0  0.0  0.0

0.0  1.0  1.0  1.0 

1.13 0.79 0.79 0.79

1.57 1.22 1.22 1.22

When loading a robot, GraspIt! will look in the robot configuration file for information on what eigengrasps file to load (if any). First comes the keyword EigenGrasps, followed on the next line by the eigengrasp file to be loaded. The path to the Eigengrasp file is relative to the robot configuration file. For example, all this information can be supplied by placing the following lines anywhere in the hand configuration file (in this example, Barrett.cfg):


11.2 Using eigengrasps

With the desired hand highlighted in the hand drop-down list, use the Grasp -> EigenGrasp Interface menu. Two windows will show up: the eigengrasp amplitude sliders window and the eigengrasp options window. If no eigengrasp information has been loaded from a file, the system will display the trivial eigengrasp set, where each eigengrasp corresponds to exactly one DOF and the eigengrasp subspace is identical to the DOF space.

Copyright (C) 2002-2009 Columbia University

12 Grasp Planning II - Eigengrasp planningTop10 The Dynamics Engine11 EigengraspsContents