VISLOC3D
← back to VisLoc

What this actually is

A real 6-degree-of-freedom rigid-body physics simulation of a quadrotor: gravity, motor thrust, drag, and a cascaded PID flight controller, all integrated step-by-step — not a scripted animation. The battery model is validated against six real commercial drones' published specs. "Take a fix" calls a real backend running OpenCV/ORB computer-vision feature matching against a synthetic satellite-style map, to recover the drone's position from its simulated camera view — the same way real GPS-denied drone navigation works.

Try this: tap Cut motors mid-flight to watch gravity actually take over — the controller normally cancels it perfectly, every instant, which is exactly why you'd never otherwise see it doing anything at all.

The buildings and balls scattered around are real physics objects too — momentum-conserving collisions, not animations. Fly into a ball and watch it actually get knocked away (lighter balls fly further); fly into a building and the drone gets physically blocked, not clipped through.

Position (m)0, 0, 0
Speed (m/s)0.00
Roll / Pitch / Yaw0°, 0°, 0°
Motor power0 W
Battery100%
Pack voltage14.8 V
BATTERY DEPLETED — simulation paused
Nearest obstacle— m
Avoidanceclear
Target X (East)0.0 m
Target Y (North)0.0 m
Target Z (altitude)5.0 m
Target yaw
No map, no foreknowledge - picks a random destination, reacts only to whatever enters its ~3.5m sensing range, then resumes course.
Real ORB localization (server-side)
Same validated camera projection + ORB localizer + nadir-offset correction as the Python pipeline, running server-side (OpenCV has no practical browser equivalent). 1 simulator meter = 40 world units; flight position maps to world (900, 900) ± that scale, matching the same world map used throughout the project.
drag to orbit · scroll to zoom · right-drag to pan
same validated 6-DOF dynamics + PID controller + battery model as the Python sim