Centroidal Momentum Matrix
质心动量矩阵CMMAdvancedThe matrix that maps a robot's full-body joint velocities into its center-of-mass linear and angular momentum.
Orin and Goswami analyzed its structure in detail in a 2008 IROS paper: a robot's centroidal momentum h_G (linear momentum plus angular momentum about the center of mass, 6 dimensions in total) is a linear function of the generalized velocity q̇, written h_G = A_G(q)·q̇, where A_G is the centroidal momentum matrix and q is the full set of generalized coordinates, including the floating base. It had previously been called both a Jacobian and an inertia matrix in different contexts; the paper points out that it is in fact the product of the two. Differentiating h_G gives ḣ_G = A_G·q̈ + Ȧ_G·q̇, which lets whole-body control express a desired change in momentum as a linear constraint on joint accelerations, ready to drop into a quadratic program. Pinocchio computes it with the ccrba function.
ExampleA humanoid robot with 30 joints plus the 6 degrees of freedom of the floating base has a 36-dimensional q̇, making A_G a 6×36 matrix; a balance controller requires A_G·q̈ + Ȧ_G·q̇ to equal the desired rate of change of momentum, solved together with other tasks in a quadratic program.
- Also called
- CMM, A_G Matrix
- Related
- Centroidal Dynamics · Angular Momentum · Jacobian Matrix · Mass Matrix · Whole-Body Control · Floating Base
- Sources
- Orin & Goswami: Centroidal Momentum Matrix of a humanoid robot: Structure and properties (IROS 2008)
Underactuated Robotics(Tedrake): Highly-articulated Legged Robots 一章 (Chinese)