# Multifingered Hand Kinematics

Prev: Robot Dynamics and Control | Chapter 5 - Multifingered Hand Kinematics |
Next: Hand Dynamics and Control |

In this chapter, we study the kinematics of a multifingered robot hand grasping an object. Given a description of the fingers and the object, we derive the relationships between finger and object velocities and forces, and study conditions under which a grasp can be used to manipulate an object. In addition to the usual fixed contact case, we also include a complete derivation of the kinematics of grasp when the fingers are allowed to roll or slide along the object.

## Chapter Summary

The following are the key concepts covered in this chapter:

- A
*contact*is described by a mapping between forces exerted by a finger at a point on the object and the resultant wrenches in some object reference frame. The contact basis <amsmath>B_{c_i}:{\mathbb R}^{m_i} \to {\mathbb R}^p</amsmath> describes the set of wrenches that can be exerted by the finger, written in the contact coordinate frame. For contacts with friction, the friction cone <amsmath>FC_{c_i} \subset {\mathbb R}^{m_i}</amsmath> models the range of allowable contact forces that can be applied. The friction cone satisfies the following properties:- <amsmath>FC_{c_i}</amsmath> is a closed subset of <amsmath>{\mathbb R}^{m_i}</amsmath> with non-empty interior.
- <amsmath>f_1, f_2 \in FC_{c_i}</amsmath> <amsmath>\implies</amsmath> <amsmath>\alpha f_1 + \beta f_2 \in FC_{c_i}</amsmath> for <amsmath>\alpha, \beta > 0</amsmath>.

- A
*grasp*is a collection of fingers which exert forces on an object. The net object wrench is determined from the individual contact forces by the relationship <amsmath>F_o = G f_c</amsmath>, where <amsmath>G \in {\mathbb R}^{p \times m}</amsmath> is the*grasp map*:<amsmath> G = \begin{bmatrix} \operatorname{Ad}_{g_{o c_1}^{-1}}^T B_{c_1} & \cdots & \operatorname{Ad}_{g_{oc_k}^{-1}}^T B_{c_k} \end{bmatrix}.

</amsmath><amsmath>\operatorname{Ad}_{g_{o c_i}^{-1}}^T:{\mathbb R}^p \to {\mathbb R}^p</amsmath> is a the wrench transformation between the object and contact coordinate frames. The contact forces must all lie within the friction cone <amsmath>FC = FC_{c_1} \times \cdots \times FC_{c_k}</amsmath>.

- A grasp is
*force-closure*when finger forces lying in the friction cone span the space of object wrenches<amsmath> G(FC) = {\mathbb R}^p.

</amsmath>A grasp is force-closure if and only if the grasp map is surjective and there exists an

*internal force*<amsmath>f_N</amsmath> which satisfies <amsmath>G f_N = 0</amsmath> and <amsmath>f_N \in \operatorname{int}(FC)</amsmath>. - The
*fundamental grasp constraint*describes the relationship between finger velocity and object velocity:<amsmath> J_h(\theta, x_o) \dot{\theta} = G^T(\theta, x_o) \dot{x}_o,

</amsmath>where <amsmath>\theta\in{\mathbb R}^n</amsmath> is the vector of finger joint angles and <amsmath>x_o := g_{po}</amsmath> is the configuration of the object frame relative to the palm frame. The

*hand Jacobian*<amsmath>J_h \in {\mathbb R}^{m \times n}</amsmath> is defined as<amsmath> J_h = \begin{bmatrix} B_{c_1}^T \operatorname{Ad}_{g_{s_1 c_1}}^{-1} J_{s_1 f_1}^s(\theta_{f_1}) & & 0 \\ &\ddots& \\ 0 & & B_{c_k}^T \operatorname{Ad}_{g_{s_k c_k}}^{-1} J_{s_k f_k}^s(\theta_{f_k}) \end{bmatrix},

</amsmath>where <amsmath>J_{s_i f_i}^s</amsmath> is the spatial Jacobian for the \th{i} finger and <amsmath>\operatorname{Ad}_{g_{s_i c_i}}^{-1}</amsmath> is the twist transformation between the base and contact frames. For contacts in which rolling does not occur, <amsmath>G</amsmath> is a constant matrix.

- The relationships between the forces and velocities in a multifingered grasp are summarized in the following diagram: \begin{center} \input \figdir/graspCD.pst \end{center}
- A grasp is
*manipulable*when arbitrary motions can be generated by the fingers<amsmath> {\cal R}(G^T) \subset {\cal R}(J_h).

</amsmath>A force-closure grasp is manipulable if and only if <amsmath>J_h</amsmath> is surjective.

- The
*contact kinematics*describe how the contact points move along the surface of the fingers and object. For an individual rolling contact, the contact kinematics are<amsmath> \aligned \dot{\alpha}_f &= M_f^{-1}(K_f + \tilde{K}_o)^{-1} \begin{bmatrix} - \omega_y \\ \omega_x \end{bmatrix} \\ \dot{\alpha}_o &= M_o^{-1}R_\psi(K_f + \tilde{K}_o)^{-1} \begin{bmatrix} - \omega_y \\ \omega_x \end{bmatrix} \\ \dot{\psi} &= T_f M_f \dot{\alpha}_f + T_o M_o \dot{\alpha}_o.\\ \endaligned

</amsmath>where <amsmath>(M_i, K_i, T_i)</amsmath> are the geometric parameters for a given coordinate chart on the surface. The contact kinematics allow <amsmath>G</amsmath> and <amsmath>J_h</amsmath> to be computed using <amsmath>\eta = (\alpha_f, \alpha_o, \psi)</amsmath> rather than solving for <amsmath>\eta</amsmath> in terms of <amsmath>g_{po}</amsmath>.