Simulator

Our wheeled-drone simulator is publicly available. The demo below is not a recording: it solves the simulator’s physics in your browser as you watch.

Load the physics engine?

Running the demo transfers the WebAssembly build of MuJoCo (about 3.5–12 MB, depending on the server's compression). Your browser caches it, so this happens once.

wall ↑ height toward wall →
Target height
1.30 m
Toward wall
1.93 m (+0.13)
Vehicle height
0.60 m
Scenario
Time
0.0 s
Height
0.60 m
Wall
not touching
Real-time factor
—

Move the target by dragging the green sphere in the 3D view or by dragging on the pad in the lower left (arrow keys when the pad has focus, Shift for bigger steps). Elsewhere in the 3D view, drag to orbit and scroll to zoom.

What you are looking at

A vehicle with four rotors and two wheels. Its shape comes from measurements of the lab’s own airframe.

To climb the wall it does nothing special: the target position is simply placed behind the wall face. The vehicle tries to reach it and the wall stops it, so the effort to reach the target becomes the force pressing the wheels into the surface, balanced by the wall’s reaction. The wheels roll, so motion up and down the wall stays free. There is no dedicated pressing controller.

Attitude is controlled without decomposing rotation into three angles; the rotation matrix is used directly. That formulation has no singularities arising from how attitude is represented, so it does not break down at any attitude, and it is the idea at the center of our work on rotational control. See the Research page for more.

The simulator itself

It handles single and multiple vehicles, walls and curved terrain, and runs with a real flight controller in the loop. The source, its license and its citation information are on GitHub.