TRAINING ENVIRONMENT · LIVE IN THE BROWSER · RAYLIB / WEBASSEMBLY

Swarm RL evaluation

This is the actual PufferLib training environment compiled to WebAssembly: four drones fly a random addendum course with the classical tape-frame planner, the bounded RL residual on top, a PX4-style cascade and rotor-level physics. Nothing is pre-recorded. The policy packed into this page is shown below; with no checkpoint the residual is zero and you are watching the classical baseline.

policy: loading…

compiling environment…

Controls (click the canvas first)

SPACE pause · R new course · P residual on/off · C follow / free camera

1–4 select drone · W/S sim speed · H help · drag to orbit, wheel to zoom

What you are seeing

  • tape corridor, 900 → 600 mm narrowings, start/finish boxes
  • right-lane drones, left-lane drones (250 mm cubes)
  • overhead hurdle: hanging wedge, barrier, hill, arrow boards
  • the white stem is the formation centroid riding the corridor; the white spokes are each drone's slot offset from it, ending in that slot's target cube. The faint coloured line from a cube to its drone is that drone's tracking error
  • thin blue line = height profile (1000 mm, 600 mm under the hurdle)
  • the HUD names the formation shape and the selected drone's slot. box is home and resizes freely with the corridor; line is a deviation, entered only at a 600 mm narrowing where a box has no margin left, with its 2 s clock shown
  • red cube = tape-out or contact event; HUD shows the selected drone's residual output

Caveats

Perception is ground truth plus noise, comms are noise plus dropout, and the airframe constants are placeholders until the platform is fixed. Courses here are a 59-seed web bank; training uses 298.

Source: training/ocean/themis/ · built by training/web/publish.sh · course generator