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.