Robot Dynamics and Control
Prev: Manipulator Kinematics  Chapter 4  Robot Dynamics and Control  Next: Multifingered Hand Kinematics 
This chapter presents an introduction to the dynamics and control of robot manipulators. We derive the equations of motion for a general openchain manipulator and, using the structure present in the dynamics, construct control laws for asymptotic tracking of a desired trajectory. In deriving the dynamics, we will make explicit use of twists for representing the kinematics of the manipulator and explore the role that the kinematics play in the equations of motion. We assume some familiarity with dynamics and control of physical systems.
Summary
The following are the key concepts covered in this chapter:

The equations of motion for a mechanical system with Lagrangian <amsmath>L =
T(q,\dot q)
 V(q)</amsmath> satisfies Lagrange's equations:
<amsmath> \frac{d}{dt} \frac{\partial L}{\partial \dot q_i}  \frac{\partial L}{\partial q_i} = \Upsilon_i,
</amsmath>where <amsmath>q \in {\mathbb R}^n</amsmath> is a set of generalized coordinates for the system and <amsmath>\Upsilon \in {\mathbb R}^n</amsmath> represents the vector of generalized external forces.
 The equations of motion for a rigid body with configuration
<amsmath>g(t) \in \mbox{\it SE}(3)</amsmath> are given by the NewtonEuler equations:
<amsmath> \begin{bmatrix} mI & 0 \\ 0 & \cal I \end{bmatrix} \begin{bmatrix} \dot v^b \\ \dot \omega^b \end{bmatrix} + \begin{bmatrix} \omega^b \times m v^b \\ \omega^b \times {\cal I} \omega^b \end{bmatrix} = F^b,
</amsmath>where <amsmath>m</amsmath> is the mass of the body, <amsmath>\cal I</amsmath> is the inertia tensor, and <amsmath>V^b = (v^b, \omega^b)</amsmath> and <amsmath>F^b</amsmath> represent the instantaneous body velocity and applied body wrench.
 The equations of motion for an openchain robot manipulator can be
written as
<amsmath> M(\theta) \ddot\theta + C(\theta, \dot\theta) \dot\theta + N(\theta, \dot\theta) = \tau
</amsmath>where <amsmath>\theta \in {\mathbb R}^n</amsmath> is the set of joint variables for the robot and <amsmath>\tau \in {\mathbb R}^n</amsmath> is the set of actuator forces applied at the joints. The dynamics of a robot manipulator satisfy the following properties:
 <amsmath>M(\theta)</amsmath> is symmetric and positive definite.
 <amsmath>\dot M  2C \in {\mathbb R}^{n \times n}</amsmath> is a skewsymmetric matrix.
 An equilibrium point <amsmath>x^*</amsmath> for the system <amsmath>\dot x = f(x,t)</amsmath> is locally asymptotically stable if all solutions which start near <amsmath>x^*</amsmath> approach <amsmath>x^*</amsmath> as <amsmath>t \to \infty</amsmath>. Stability can be checked using the direct method of Lyapunov, by finding a locally positive definite function <amsmath>V(x,t) \geq 0</amsmath> such that <amsmath>\dot V(x,t)</amsmath> is a locally positive definite function along trajectories of the system. In situations in which <amsmath>\dot V</amsmath> is only positive semidefinite, Lasalle's invariance principle can be used to check asymptotic stability. Alternatively, the indirect method of Lyapunov can be employed by examining the linearization of the system, if it exists. Global exponential stability of the linearization implies local exponential stability of the full nonlinear system.
 Using the form and structure of the robot dynamics, several control
laws can be shown to track arbitrary trajectories. Two of the most
common are the computed torque control law,
<amsmath> \tau = M(\theta) (\ddot \theta_d + K_v \dot e + K_p e) + C(\theta,\dot \theta) \dot \theta + N(\theta,\dot \theta),
</amsmath>and an augmented PD control law,
<amsmath> \tau = M(\theta) \ddot \theta_d + C(\theta, \dot \theta) \dot \theta_d + N(\theta, \dot \theta) + K_v \dot e + K_p e.
</amsmath>Both of these controllers result in exponential trajectory tracking of a given joint space trajectory. Workspace versions of these control laws can also be derived, allowing endeffector trajectories to be tracked without solving the inverse kinematics problem. Stability of these controllers can be verified using Lyapunov stability.
Errata
 Robot Dynamics and Control errata v1
 Full list of errata
 Submit bug report