Embodied AI Glossary中文

Continuous Collision Detection

连续碰撞检测(隧穿问题)CCDAdvanced

Finding collisions along an object's full motion path within a step, preventing fast-moving objects from passing straight through obstacles.

Ordinary discrete collision detection only checks whether objects overlap at the end of each timestep. When an object is very fast or very thin, it can jump from one side of an obstacle to the other within a single step, with neither the before nor after check finding any overlap — so the collision is missed entirely. This is called tunneling. Continuous collision detection instead finds the earliest time of contact along the path an object sweeps out during that step, handling the collision before the object passes through — at the cost of more computation, which grows more noticeable as speed and object density increase. PhysX requires CCD to be enabled separately at the scene, object-pair, and rigid-body levels, and also offers a cheaper speculative CCD (which enlarges the contact distance based on velocity). Another common fix is shrinking the simulation timestep or adding more substeps. Note that in MuJoCo's documentation, “CCD” instead refers to convex collision detection, not continuous collision detection.

ExampleA thin rod swung quickly, or a small ball thrown fast, can pass straight through a tabletop in simulation when the timestep is too large; enabling CCD or shrinking the timestep fixes the behavior.

Also called
CCD, Tunneling
Related
Collision Detection · Interpenetration · Simulation Timestep · Substeps · Broad-phase / Narrow-phase Collision Detection · PhysX
Sources
NVIDIA PhysX 5 SDK Documentation: Advanced Collision Detection - Continuous Collision Detection
Wikipedia: Collision detection
MuJoCo Documentation: Computation - Convex collisions

See it in the full glossary →