# Hand Dynamics and Control

Prev: Multifingered Hand Kinematics | Chapter 6 - Hand Dynamics and Control |
Next: Nonholonomic Behavior |

In this chapter, we study the dynamics and control of a set of robots performing a coordinated task. Our primary example will be that of a multifingered robot hand manipulating an object, but the formalism is considerably broader. It allows a unified treatment of dynamics and control of robot systems subject to a set of velocity constraints, generalizing the treatment given in Chapter 4.

## Chapter Summary

The following are the key concepts covered in this chapter:

- The dynamics of a mechanical system with Lagrangian <amsmath>L(q, \dot
q)</amsmath>, subject to a set of
*Pfaffian constraints*of the form<amsmath> A(q) \dot q = 0 \qquad A(q) \in {\mathbb R}^{k \times n},

</amsmath>can be written as

<amsmath> \frac{d}{dt} \frac{\partial L}{\partial \dot q} - \frac{\partial L}{\partial q} + A^T(q) \lambda - \Upsilon = 0,

</amsmath>where <amsmath>\lambda \in {\mathbb R}^k</amsmath> is the vector of

*Lagrange multipliers*. The values of the Lagrange multipliers are given by<amsmath> \lambda = (A M^{-1} A^T)^{-1} \left( A M^{-1}(F - C\dot q - N) + \dot A \dot q \right).

</amsmath> - The
*Lagrange-d'Alembert formulation*of the dynamics represents the motion of the system by projecting the equations of motion onto the subspace of allowable motions. If <amsmath>q = (q_1, q_2) \in {\mathbb R}^{(n-k) \times k}</amsmath> and the constraints have the form<amsmath> \dot q_2 = \cal A(q) \dot q_1,

</amsmath>then the equations of motion can be written as

<amsmath> \left(\frac{d}{dt} \frac{\partial L}{\partial \dot q_1} - \frac{\partial L}{\partial q_1} - \Upsilon_1\right) + {\cal A}^T \left(\frac{d}{dt} \frac{\partial L}{\partial \dot q_1} - \frac{\partial L}{\partial q_2} - \Upsilon_2\right) = 0.

</amsmath>In the special case that the constraint is integrable, these equations agree with those obtained by substituting the constraint into the Lagrangian and then using the unconstrained version of Lagrange's equations.

- The dynamics for a
*multifingered robot hand*with joint variables <amsmath>\theta \in {\mathbb R}^n</amsmath> and (local) object variables <amsmath>x \in {\mathbb R}^p</amsmath>, subject to the grasp constraint<amsmath> J_h(\theta, x) \dot \theta = G^T(\theta, x) \dot x,

</amsmath>is given by

<amsmath> \tilde M(q) \ddot x + \tilde C(q, \dot q) \dot x + \tilde N(q, \dot q) = F,

</amsmath>where <amsmath>q = (\theta, x)</amsmath> and

<amsmath> \aligned \tilde{M} &= M_o + G J_h^{-T} M_f J_h^{-1} G^T \\ \tilde{C} &= C_o + G J_h^{-T} \left(C_f J_h^{-1} G^T + M_f \frac{d}{dt} \left(J_h^{-1} G^T \right)\right) \\ \tilde{N} &= N_o + G J_h^{-T} N_f \\ F &= G J_h^{-T} \tau. \endaligned

</amsmath>These same equations can be applied to a large number of other robotic systems by choosing <amsmath>G</amsmath> and <amsmath>J_h</amsmath> appropriately.

- For
*redundant*and/or*nonmanipulable*robot systems, the hand Jacobian is not invertible, resulting in a more complicated derivation of the equations of motion. For redundant systems, the constraints can be extended to the form<amsmath> \underbrace{\begin{bmatrix} J_h \\ K_h \end{bmatrix}}_{\bar J_h} \dot\theta = \underbrace{\begin{bmatrix} G^T & 0 \\ 0 & I \end{bmatrix}}_{\bar G^T} \begin{bmatrix} \dot x \\ v_N \end{bmatrix},

</amsmath>where the rows of <amsmath>K_h</amsmath> span the null space of <amsmath>J_h</amsmath>, and <amsmath>v_N</amsmath> represents the

*internal motions*of the system. For nonmanipulable systems, we choose a matrix <amsmath>H</amsmath> which spans the space of allowable object trajectories and write the constraints as<amsmath> J_h \dot\theta = \underbrace{G^T H}_{\bar G^T} w,

</amsmath>where <amsmath>\dot x = H(q) w</amsmath> represents the object velocity. In both the redundant and nonmanipulable cases, the augmented form of the constraints can be used to derive the equations of motion and put them into the standard form given above.

- The kinematics of
*tendon-driven systems*are described in terms of a set of*extension functions*, <amsmath>h_i:Q \to {\mathbb R}</amsmath>, which measures the displacement of the tendon as a function of the joint angles of the system. If a vector of tendon forces <amsmath>f \in {\mathbb R}^k</amsmath> is applied at the end of the tendons, the resulting joint torques are given by<amsmath> \tau = P(\theta) f,

</amsmath>where <amsmath>P(\theta) \in {\mathbb R}^{n \times p}</amsmath> is the

*coupling matrix*:<amsmath> P(\theta) = \frac{\partial h}{\partial \theta}^T(\theta).

</amsmath>A tendon-system is said to be

*force-closure*at a point <amsmath>\theta</amsmath> if for every vector of joint torques, <amsmath>\tau</amsmath>, there exists a set of tendon forces which will generate those torques. - The equations of motion for a constrained robot system are
described in terms of the quantities <amsmath>\tilde M(q)</amsmath>, <amsmath>\tilde C(q, \dot
q)</amsmath>, and <amsmath>\tilde N(q, \dot q)</amsmath>. When correctly defined, the
quantities satisfy the following properties:
- <amsmath>\tilde M(q)</amsmath> is symmetric and positive definite.
- <amsmath>\Dot{\tilde M}(q) - 2 \tilde C</amsmath> is a skew-symmetric matrix.

<amsmath> \tau = J^T G^+ F + J^T f_N,

</amsmath>where <amsmath>F</amsmath> is the generalized force in object coordinates (determined by the control law) and <amsmath>f_N</amsmath> is an internal force. The internal forces must be chosen so as to insure that all contact forces remain inside the appropriate friction cone so that the fingers satisfy the fundamental grasp constraint at all times.