Rigid-Body Simulation
刚体仿真CommonPhysics simulation that assumes objects never deform, computing only their translation, rotation, and collisions with each other.
Rigid-body simulation is the most basic and most widely used part of a physics engine. It assumes an object's shape never changes under force, so each object's state can be described with just its position, orientation, velocity, and angular velocity. Simulation advances in fixed timesteps: each step first runs collision detection to find contact points, then a contact model and constraint solver compute contact forces, friction, and joint constraint forces, and finally an integrator updates the state using the Newton-Euler equations. Robots are usually modeled as several rigid links connected by joints (an articulated body), which is why tasks like quadruped locomotion or an arm stacking blocks are all handled within rigid-body simulation. MuJoCo, PhysX, and Bullet all build rigid-body simulation as their core. It cannot handle cloth, rope, liquids, or soft objects, which instead require soft-body, cloth, or fluid simulation; even contact and friction are only approximations, making them one of the main sources of the sim-to-real gap.
ExampleWhen a robot arm pushes a block off a table, both the block and the table are treated as rigid bodies that never deform; each step, the engine detects collisions between the block and the table edge or the ground, computes contact and friction forces, and integrates the block's next position and rotation.
- Also called
- Rigid-Body Dynamics Simulation
- Related
- Physics Engine · Rigid-Body Dynamics · Articulated-Body Simulation (Articulation) · Contact Model · Deformable-Body Simulation · MuJoCo (Multi-Joint dynamics with Contact)
- Sources
- Wikipedia: Rigid body dynamics
MuJoCo Documentation: Overview