Bouncing test
Test scenario
The setup of the test is as follows:
- static ground
- free drop of 7 x 7 number of 10 kg balls
- restitution coefficient = 1
- zero friction
- ERP = 0 and CFM = 0
- Metric: system energy
Tested solver list
- Rai
- Bisection method
- Bullet
- Sequential Impulse
- ODE
- Dantzig
- LCP PGS
MuJoCo[1]- PGS
- CG
- Newton
- Dart
- Dantzig
- LCP PGS
Commentary
-
[1] MuJoCo cannot simulate elastic collision. Furthermore, it is not possible to set specific restitutional coefficient in MuJoCo. The only way to make bouncy contact is adjusting solref parameter (damping parameter), however there is no one-to-one correspondence between solref and restitutional coefficient.
Results
The following figure is accuracy-speed plot of elastic collision case.
The elastic collision between rigid body objects preserves energy. However, the system energy slightly increased over time in the physics engines, that is caused by contact impulse error. There is clear inverse-relationship between speed-accuracy.
Among the engines, RaiSim remarkably has good speed-accuracy curve than others. Its elastic collision simulation is not only accurate but also considerably faster than other engines: