Generalized (Reduced) Coordinates vs. Cartesian (Maximal) Coordinates
关节坐标仿真 vs 笛卡尔坐标仿真(约化坐标 / 最大坐标)AdvancedTwo ways a physics engine can represent a multi-link robot: by joint angles alone, or as separate rigid bodies tied together by constraints.
There are two modeling approaches for simulating a robot made of multiple links and joints. Generalized (or reduced) coordinates describe the state using only each joint's angle or displacement; joint constraints hold automatically and can never be pulled apart, and the number of variables equals the number of degrees of freedom, which suits arms and legged robots well — the “articulation” feature in both MuJoCo and PhysX works this way. The cost is a more complex algorithm, which usually requires the link structure to be a tree, with closed loops needing extra constraints. Cartesian (or maximal) coordinates instead give every rigid body its full 6 degrees of freedom and connect them with constraints; this is simpler to implement and is what game physics engines commonly do, but because the constraints are enforced numerically, joints can drift or jitter when the structure is complex or link masses vary wildly. Knowing this distinction matters when choosing a simulator or debugging simulation instability.
ExampleThe same robot arm can be built in PhysX either as rigid bodies plus joint constraints (maximal coordinates) or as an articulation (reduced coordinates); the official documentation notes that the latter has joint error at zero by design and can tolerate a much larger ratio between link masses, which is why it's recommended for robots.
- Also called
- Reduced-coordinate Articulation, Maximal Coordinates, Generalized-coordinate Simulation
- Related
- Generalized Coordinates · Articulated-Body Simulation (Articulation) · Multibody Dynamics · Constraint Solver · MuJoCo (Multi-Joint dynamics with Contact) · PhysX
- Sources
- MuJoCo Documentation: Overview
PhysX 5 Documentation: Articulations