Robot control
Recursive Newton-Euler algorithm
Definition
The recursive Newton-Euler algorithm computes inverse dynamics along a kinematic chain with an outward pass for link motion and an inward pass for transmitted wrenches and joint effort. Its recursive structure avoids forming one dense whole-robot dynamics expression.
Also known as: RNEA, Recursive Newton-Euler method
Updated
Sweep motion outward and forces inward
The recursive Newton-Euler algorithm solves inverse dynamics: given joint position, velocity, and acceleration, it calculates the joint forces or torques required by the model.
In the outward pass, the algorithm propagates each link's pose, twist, and acceleration from the base toward the end effector. In the inward pass, it propagates each link's inertial and external wrench back toward the base and projects the result onto each joint axis. The Modern Robotics derivation presents these two passes for an open-chain robot and includes gravity through an equivalent base acceleration.
Reuse neighbouring-link results
Each step uses quantities already calculated for an adjacent link, which makes the computation scale linearly with the number of links for a serial chain. Implementations often express the same recursion with spatial vector algebra.
A controller can use RNEA for model-based feedforward torque or computed-torque control. Robotics software can also call inverse dynamics repeatedly to assemble quantities needed by a forward-dynamics or optimisation method. For a tree-structured humanoid, the recursion branches across limbs and combines their transmitted wrenches at shared ancestors.
The answer is only as accurate as the model
RNEA does not estimate inertial parameters, friction, compliance, actuator dynamics, or external contact loads. Missing or incorrect values appear as torque error. Closed kinematic loops and rigid multi-contact constraints require additional treatment beyond the basic open-chain pass.
The method calculates the effort associated with a requested acceleration; it does not check whether motors can supply that effort or whether the motion respects contact and friction constraints. Numerical conventions also matter. Frame direction, joint-axis sign, gravity, and the ordering of angular and linear spatial components must remain consistent throughout the recursion.
Sources
Related terms
Inverse dynamics
Inverse dynamics calculates the joint forces or torques required for specified joint positions, velocities, and accelerations under a dynamics model. The result also depends on gravity and specified external loading.
Spatial vector algebra
Spatial vector algebra represents rigid-body motion and force with six-dimensional quantities and operators that preserve their frame and point-of-application rules. It provides compact building blocks for multibody robot kinematics and dynamics algorithms.
Wrench
A wrench is a six-component representation of force and moment acting on a rigid body. It combines three force components with three moment components about a specified reference point.
Kinematic chain
A kinematic chain is an arrangement of links connected by joints that constrains their relative motion. Open chains have no closed link loop, while closed chains contain at least one loop.
Computed-torque control
Computed-torque control combines a robot dynamics model with motion feedback to calculate joint forces or torques for trajectory tracking. The model supplies inverse-dynamics terms while feedback corrects tracking and modeling errors.