Robot control
Articulated-body algorithm
Definition
The articulated-body algorithm computes forward dynamics recursively by propagating articulated inertias and forces inward through a kinematic tree, then accelerations outward. It finds joint accelerations from state, applied effort, and external loads without explicitly inverting a dense whole-robot mass matrix.
Also known as: ABA
Updated
Solve forward dynamics link by link
Forward dynamics asks for joint accelerations given position, velocity, applied joint force or torque, and external loads. The articulated-body algorithm treats a link and everything beyond its parent joint as an articulated body whose effective inertia and bias force can be passed towards the base.
An inward recursion accumulates those quantities from the leaves of a kinematic tree. An outward recursion then computes the base and joint accelerations. Featherstone's reference implementation and documentation expose this as FDab for fixed-base trees and use the same algorithmic family for floating-base and hybrid dynamics.
Complement inverse-dynamics recursion
The recursive Newton-Euler algorithm maps a requested acceleration to joint effort. ABA performs the opposite mapping without constructing and numerically inverting the full joint-space inertia matrix. Both are recursive rigid-body algorithms and are often implemented with spatial vector algebra.
Physics simulation, model-based control, trajectory optimisation, and reinforcement-learning environments can call ABA repeatedly to advance a tree-structured robot. A floating-base robot requires an appropriate free-base formulation and consistent treatment of gravity, frames, and external wrenches.
Contacts and model errors remain outside the basic pass
The basic algorithm assumes a kinematic tree with known rigid-body inertias and joint models. Closed loops need constraints or a different formulation. Rigid multi-contact also adds contact forces and complementarity or constraint equations that a free forward-dynamics pass does not decide by itself.
Incorrect mass, centre-of-mass, friction, compliance, actuator, or external-load parameters produce incorrect accelerations. ABA improves how the model equations are evaluated; it does not make the model accurate, guarantee numerical stability for every time integrator, or enforce actuator and contact limits.
Sources
Related terms
Forward dynamics
Forward dynamics predicts a robot's acceleration from its current configuration, velocity, applied joint forces or torques, and external forces. It uses the robot's mass, inertia, and other modeled dynamic properties.
Recursive Newton-Euler algorithm
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.
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.
Floating-base robot
A floating-base robot is modeled with an unconstrained base pose relative to the world in addition to its internal joint coordinates. In a legged or humanoid robot, joint actuators change base motion indirectly through the coupled dynamics and external contact forces.