# Difference between revisions of "Multifingered Hand Kinematics"

(→Chapter Summary) |
|||

Line 10: | Line 10: | ||

== Chapter Summary == | == Chapter Summary == | ||

+ | |||

+ | The following are the key concepts covered in this chapter: | ||

+ | <ol> | ||

+ | <li> 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>. | ||

+ | </li> | ||

+ | |||

+ | <li> 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'': | ||

+ | <center><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></center> | ||

+ | <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>. | ||

+ | </li> | ||

+ | |||

+ | <li> A grasp is ''force-closure'' when finger forces lying in the | ||

+ | friction cone span the space of object wrenches | ||

+ | <center><amsmath> | ||

+ | G(FC) = {\mathbb R}^p. | ||

+ | </amsmath></center> | ||

+ | 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>. | ||

+ | </li> | ||

+ | |||

+ | <li> The ''fundamental grasp constraint'' describes the relationship | ||

+ | between finger velocity and object velocity: | ||

+ | <center><amsmath> | ||

+ | J_h(\theta, x_o) \dot{\theta} = G^T(\theta, x_o) \dot{x}_o, | ||

+ | </amsmath></center> | ||

+ | 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 | ||

+ | <center><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></center> | ||

+ | 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. | ||

+ | </li> | ||

+ | |||

+ | <li> 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} | ||

+ | </li> | ||

+ | |||

+ | <li> A grasp is ''manipulable'' when arbitrary motions can be | ||

+ | generated by the fingers | ||

+ | <center><amsmath> | ||

+ | {\cal R}(G^T) \subset {\cal R}(J_h). | ||

+ | </amsmath></center> | ||

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

+ | </li> | ||

+ | |||

+ | <li> 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 | ||

+ | <center><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></center> | ||

+ | 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>. | ||

+ | </li> | ||

+ | </ol> | ||

== Additional Information == | == Additional Information == |

## Latest revision as of 02:41, 25 July 2009

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>.