Dojo can simulate a number of interesting physical behaviors. We include notebooks (generated upon installation) for the examples below.
The humanoid Atlas is dropped onto a flat surface. Dojo is able to simulate hard contact and prevent interpenetration of the robot's feet with the floor. In comparison, when the same system is simulated in MuJoCo, centimeters of interpenetration occur.
Blocks are simulated with initial velocity before impacting and sliding along a flat surface. We compare Dojo's nonlinear cone (blue) with a linearized approximation (orange) and MuJoCo's default linear cone (magenta). The linearized cones exhibit drift due to the approximation, whereas Dojo's nonlinear cone produces the expected sliding behavior.
Dojo simulates the unstable rotational motion of a rigid body about its second primary moment of inertia. Using non-Euclidean optimization for quaternions enables continuous simulation of rotating objects without singularity issues.
A spinning object oscillates between up and down configurations as a result of its mass distribution.