# Robot Dynamics and Control

 Prev: Manipulator Kinematics Chapter 4 - Robot Dynamics and Control Next: Multifingered Hand Kinematics

## Contents

This chapter presents an introduction to the dynamics and control of robot manipulators. We derive the equations of motion for a general open-chain 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.

 Chapter pdf (436K) Lecture notes (1.2M)

### Summary

The following are the key concepts covered in this chapter:

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

2. The equations of motion for a rigid body with configuration <amsmath>g(t) \in \mbox{\it SE}(3)</amsmath> are given by the Newton-Euler 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.

3. The equations of motion for an open-chain 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 skew-symmetric matrix.
4. 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 semi-definite, 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.
5. 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 end-effector trajectories to be tracked without solving the inverse kinematics problem. Stability of these controllers can be verified using Lyapunov stability.
{"ft_lang_label":"__label__en","ft_lang_prob":0.73178744,"math_prob":0.99129355,"size":4174,"snap":"2021-21-2021-25","text_gpt3_token_len":1167,"char_repetition_ratio":0.17458034,"word_repetition_ratio":0.040885862,"special_character_ratio":0.24604696,"punctuation_ratio":0.072931275,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9999267,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-05-11T04:42:33Z\",\"WARC-Record-ID\":\"<urn:uuid:046a12a4-9250-4954-a784-05f128a90561>\",\"Content-Length\":\"21972\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:18a13f6b-473e-472d-9bce-ef0f2ffc7ce2>\",\"WARC-Concurrent-To\":\"<urn:uuid:86c2fcb3-39dc-4b04-9056-105bd3504114>\",\"WARC-IP-Address\":\"131.215.243.5\",\"WARC-Target-URI\":\"https://www.cds.caltech.edu/~murray/mlswiki/index.php?title=Robot_Dynamics_and_Control\",\"WARC-Payload-Digest\":\"sha1:Y4UHHVCY6C5AXUQUS7TVVYMOAEGMJKMT\",\"WARC-Block-Digest\":\"sha1:KBKLYOK2NRCVP25XHVF2LYCHMNVGPIWV\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-21/CC-MAIN-2021-21_segments_1620243991641.5_warc_CC-MAIN-20210511025739-20210511055739-00329.warc.gz\"}"}