Robot Dynamics
Overview
Dynamics studies the relationship between forces/torques and motion. Unlike kinematics, which concerns only geometric relationships, dynamics must account for physical quantities such as mass, inertia, and gravity. Dynamics is the foundation of robot control.
Dynamics has two core problems:
| Problem | Input | Output | Application |
|---|---|---|---|
| Forward Dynamics | Joint torques \(\tau\) | Joint accelerations \(\ddot{q}\) | Simulation |
| Inverse Dynamics | Desired trajectory \(q, \dot{q}, \ddot{q}\) | Required torques \(\tau\) | Control |
1 Standard Form of the Equations of Motion
The robot's equations of motion can be written in the unified form:
Meaning of each term:
| Symbol | Name | Dimension | Physical Meaning |
|---|---|---|---|
| \(M(q)\) | Mass/Inertia Matrix | \(n \times n\) | Positive definite symmetric, characterizes inertia |
| \(C(q, \dot{q})\dot{q}\) | Coriolis and Centrifugal Forces | \(n \times 1\) | Velocity coupling effects |
| \(g(q)\) | Gravity Term | \(n \times 1\) | Projection of gravity in joint space |
| \(\tau\) | Joint Torques/Forces | \(n \times 1\) | Actuator output |
Important Properties
- \(M(q)\) is symmetric positive definite: \(M = M^T\), \(x^T M x > 0, \; \forall x \neq 0\)
- \(\dot{M} - 2C\) is skew-symmetric (when \(C\) is defined using Christoffel symbols)
- This property is crucial for adaptive control and passivity analysis
2 Newton-Euler Recursive Method
The Newton-Euler method is the most efficient approach for computing inverse dynamics, with computational complexity \(O(n)\).
2.1 Algorithm Flow
graph TB
subgraph "Forward Recursion: Base to End-Effector"
A["Link 1"] -->|"ω₁, α₁, a₁"| B["Link 2"]
B -->|"ω₂, α₂, a₂"| C["Link 3"]
C -->|"..."| D["Link n"]
end
subgraph "Backward Recursion: End-Effector to Base"
D -->|"f_n, τ_n"| C
C -->|"f₂, τ₂"| B
B -->|"f₁, τ₁"| A
end
style A fill:#e8f4fd,stroke:#2196F3
style D fill:#fff3e0,stroke:#FF9800
2.2 Forward Recursion (Velocity and Acceleration Propagation)
Starting from the base (\(i=0\)), compute the angular velocity, angular acceleration, and linear acceleration of each link sequentially toward the end-effector (\(i=n\)).
Revolute Joint \(i\):
Angular velocity propagation:
Angular acceleration propagation:
Link origin linear acceleration:
Center of mass linear acceleration:
where \(s_i\) is the vector from the link frame origin to the center of mass.
2.3 Backward Recursion (Force and Torque Propagation)
Starting from the end-effector (\(i=n\)), compute the forces and torques at each joint sequentially toward the base (\(i=0\)).
Net force on link \(i\) (Newton's equation):
Net torque on link \(i\) (Euler's equation):
Recursive force and torque toward the base:
Final joint torque:
3 Lagrangian Method
3.1 Basic Principle
The Lagrangian method is based on an energy perspective and is more intuitive for modeling, but has computational complexity \(O(n^3)\) or \(O(n^4)\).
Define the Lagrangian function:
where \(K\) is the total kinetic energy and \(P\) is the total potential energy.
Euler-Lagrange Equations:
3.2 Kinetic and Potential Energy
Kinetic Energy of Link \(i\):
The total kinetic energy can be written as a quadratic form:
where \(M(q)\) is the mass matrix with elements:
Potential Energy of Link \(i\):
Total potential energy:
3.3 Deriving Each Term of the Equations of Motion
Expanding the Euler-Lagrange equations yields:
where the Christoffel symbols are:
4 Example: Complete Derivation for a 2-Link Planar Manipulator
4.1 System Description
- Link 1: mass \(m_1\), length \(l_1\), center of mass at \(l_{c1}\), inertia \(I_1\)
- Link 2: mass \(m_2\), length \(l_2\), center of mass at \(l_{c2}\), inertia \(I_2\)
- Gravity along the \(-y\) direction
4.2 Position and Velocity
Link 1 center of mass position:
Link 2 center of mass position:
4.3 Kinetic Energy
4.4 Potential Energy
4.5 Mass Matrix
4.6 Coriolis and Centrifugal Force Matrix
Let \(h = m_2 l_1 l_{c2} \sin\theta_2\), then:
4.7 Gravity Term
4.8 Complete Equations of Motion
5 Properties and Applications of Dynamics
5.1 Key Properties
Property 1: \(M(q)\) is Symmetric Positive Definite
This ensures the kinetic energy is always positive and guarantees the existence and uniqueness of solutions to the equations of motion.
Property 2: \(\dot{M} - 2C\) is Skew-Symmetric (under Christoffel definition)
This property implies system passivity, playing a key role in adaptive control.
Property 3: Linear Parameterization
The equations of motion can be written as:
where \(Y\) is the regressor matrix and \(\pi\) is the dynamics parameter vector. This property is the foundation of adaptive control.
5.2 Forward Dynamics Solution
Forward dynamics is used for simulation. Given \(\tau\), solve for \(\ddot{q}\):
Combined with numerical integration (e.g., Runge-Kutta), robot motion can be simulated.
5.3 Inverse Dynamics Solution
Inverse dynamics is used for control. Given the desired trajectory \(q_d(t)\), compute the feedforward torque:
6 Computational Efficiency Comparison
| Method | Complexity | Application Scenario |
|---|---|---|
| Newton-Euler Recursion | \(O(n)\) | Real-time inverse dynamics, control |
| Lagrangian | \(O(n^3) \sim O(n^4)\) | Deriving symbolic expressions, theoretical analysis |
| Articulated-Body Algorithm | \(O(n)\) | Forward dynamics simulation |
| Composite-Rigid-Body | \(O(n^2)\) | Computing \(M(q)\) (paired with \(O(n)\) inverse dynamics) |
7 Extended Topics
7.1 Contact Dynamics
When the robot makes contact with the environment, contact force constraints must be introduced:
where \(J_c\) is the contact Jacobian and \(F_c\) is the contact force. Contact forces must satisfy friction cone constraints, among others.
7.2 Flexible Joint Dynamics
When joints have elasticity (e.g., harmonic drives), the model must be extended:
where \(K\) is the joint stiffness matrix, \(B\) is the motor inertia, and \(\theta_m\) is the motor-side angle.
7.3 Common Simulation Tools
- MuJoCo: Efficient contact dynamics simulator, widely used in robot learning
- PyBullet: Open-source physics engine with Python interface
- Drake: Developed by MIT, supports multi-body dynamics and optimal control
- Pinocchio: Efficient rigid body dynamics library with analytical derivatives
References
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Siciliano, B. et al. (2009). Robotics: Modelling, Planning and Control. Springer.
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. Pearson.
- Spong, M. W. et al. (2006). Robot Modeling and Control. Wiley.