Newton-Euler Dynamics
March 22, 2026 · View on GitHub
Overview & Motivation
The Newton-Euler formulation describes the dynamics of a single rigid body by directly applying Newton's second law for translational motion and Euler's equation for rotational motion. Unlike the Euler-Lagrange approach which works in generalized (joint-space) coordinates, Newton-Euler operates in Cartesian space, computing forces and torques on individual bodies.
In the body-fixed reference frame, the equations are:
Where:
- — applied force in the body frame
- — applied torque in the body frame
- — body mass (scalar)
- — inertia tensor in the body frame
- — linear velocity and acceleration in the body frame
- — angular velocity and acceleration in the body frame
- — Coriolis term due to body-frame formulation
- — gyroscopic coupling term
This supports two computations:
- Forward dynamics: given forces/torques, compute linear and angular accelerations
- Inverse dynamics: given desired accelerations, compute required forces/torques
Mathematical Theory
Newton's Second Law (Translation)
In an inertial frame, Newton's second law is simply . In a body-fixed (rotating) frame, the transport theorem introduces an additional term:
The term is the Coriolis acceleration that arises because the reference frame itself is rotating.
Forward:
Inverse:
Euler's Equation (Rotation)
Euler's equation governs rotational dynamics:
The term is the gyroscopic torque — it couples different rotational axes when the inertia tensor is non-spherical. For a body spinning about a non-principal axis, this term causes precession even without external torque.
Forward:
This requires solving the $3 \times 3I\dot{\omega} = \tau - \omega \times (I\omega)$ via Gaussian elimination.
Inverse:
This is a direct matrix-vector multiply plus cross product — no linear solve needed.
Properties of the Inertia Tensor
The inertia tensor is:
- Symmetric: (6 independent components, not 9)
- Positive definite: for
- Constant in body frame: For a rigid body, does not change with the body's orientation when expressed in the body frame
When is diagonal (principal axes frame), components are the principal moments of inertia , and Euler's equation simplifies to the well-known form:
Complexity Analysis
| Operation | Time | Space | Notes |
|---|---|---|---|
| Forward dynamics | Fixed 3×3 system; Gaussian elimination on 3×3 matrix | ||
| Inverse dynamics | Matrix-vector multiply + cross products | ||
| Cross product | 6 multiplications and 3 subtractions |
All operations are constant-time since the spatial dimension is fixed at 3. The $3 \times 3$ Gaussian elimination is effectively a small constant cost.
Step-by-Step Walkthrough
Example: Uniform Sphere
Parameters: mass , radius
Inertia tensor:
Forward dynamics with , , :
Example: Gyroscopic Precession
Asymmetric body with
Spinning at with no external torque:
The body accelerates about the z-axis despite no external torque — this is the gyroscopic coupling effect due to asymmetric inertia.
Pitfalls & Edge Cases
- Singular inertia: An inertia tensor must be positive definite. Zero or negative eigenvalues indicate a non-physical body definition.
- Body-frame vs. inertial frame: The equations assume all quantities (forces, torques, velocities) are expressed in the body-fixed frame. Users must transform between frames externally.
- Spherical inertia: When , the gyroscopic term , simplifying Euler's equation to .
- Fixed-point arithmetic: Like Euler-Lagrange, Newton-Euler involves physical quantities (forces in Newtons, torques in N·m) that typically exceed Q15/Q31 range. Use
float. - Energy conservation: For torque-free motion, kinetic energy and angular momentum magnitude should be conserved. Numerical integration may violate this.
Variants & Generalizations
| Variant | Key Difference | Use Case |
|---|---|---|
| Newton-Euler (this) | Single rigid body, Cartesian space | Spacecraft attitude, single-body simulation |
| Recursive Newton-Euler (RNEA) | Multi-body recursive algorithm, | Robot inverse dynamics, real-time control |
| Euler-Lagrange | Generalized coordinates, joint space | Control design, analytical derivations |
| Spatial vector algebra | 6D twist/wrench representation | Compact multi-body formulations |
Applications
- Spacecraft attitude control: Reaction wheel and thruster control using Euler's equations
- Drone / UAV dynamics: Quadrotor translational and rotational dynamics
- Projectile dynamics: Spinning projectile with aerodynamic forces
- Gyroscope modeling: Precession and nutation analysis
- Foundation for RNEA: Body-level Newton-Euler equations form the building block for recursive multi-body algorithms
Connections to Other Algorithms
- Gaussian Elimination (GaussianElimination.md): Used to solve the $3 \times 3I\dot{\omega} = \tau_{net}$ in forward dynamics
- Euler-Lagrange (EulerLagrange.md): Joint-space counterpart; Euler-Lagrange derives the same dynamics from energy principles in generalized coordinates
- Recursive Newton-Euler (RNEA): Extends single-body Newton-Euler to kinematic chains by propagating velocities/accelerations forward and forces/torques backward through the chain
References & Further Reading
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer. Chapter 7.
- Goldstein, H., Poole, C., & Safko, J. (2002). Classical Mechanics (3rd ed.). Chapters 4–5.
- Hughes, P. C. (1986). Spacecraft Attitude Dynamics. Dover Publications.
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer. Chapter 2.