# Simulation

Dojo can simulate a number of interesting physical behaviors. We include notebooks (generated upon installation) for the examples below.

## Atlas Drop

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.

## Friction Cone Comparison

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**.

## Dzhanibekov Effect

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.

## Tippetop

A spinning object oscillates between up and down configurations as a result of its mass distribution.