Rolling test

rolling-test

Rolling test is for testing frictional contact behaviors. In this test, we simulated simple system of primitive ball and box shaped objects and investigated the trajectory of the objects.

The test focuses on:

  1. The quality of the friction cone (linear or elliptic)
  2. The accuracy of frictional contact simulation
  3. The speed of many primitive shaped objects simulation

Test scenario

rolling-test-scenario

The setup of the test is as follows:

Tested solver list

Note that ODE Dantzig solver fails when ERP is set to zero: the box goes into the ground as this video.

Results

We investigated the speed-accuracy curve of each engines: how the accuracy of the fricitional contact simulation changes over the number of solver iteration.

As expected, the pushing force resulted in no motion in ODE and Dart that is due to their pyramid shaped friction cone. As the same size force is applied to y direction, the objects move.

rolling-test-dart-xy
rolling-test-dart-y

MuJoCo has jittery trajectory that leads to the large error. This is due to the soft contact model of MuJoCo that has inherent constant vibrating motion. The objects oscillate significantly as the time step size increases.

rolling-test-mujoco

Although RaiSim's accuracy is saturated by a numerical error of the solver, the error is negligible. Remarkably, Bullet performed exceptionally in terms of the accuracy of the solver.

Besides, RaiSim is notably fast than other for the simulation. Note that the following plot describes the speed of the simulation with default solver parameters.