PATROLLAB

PATROL-LAB · FAQ

Frequently asked questions

Short answers about what patrol-lab is, what is (and is not) simulated, and where every number comes from. Deeper, more technical questions live on the Q&A page.

What is patrol-lab?
Mission control for autonomous inspection robots. You write a mission script on the left and watch an ANYmal C quadruped execute it on a live 3D industrial site on the right — with mission telemetry, POI coverage, findings and alerts on the dashboard. Everything runs deterministically in your browser.
Is this ANYbotics software?
No. patrol-lab is an independent portfolio project and is not affiliated with ANYbotics AG. The ANYmal C robot model comes from MuJoCo Menagerie (anybotics_anymal_c, BSD-3-Clause), vendored with attribution.
Is it real physics?
No — and the UI says so truthfully: the status pill reads SIM KINEMATIC. The robot follows a kinematic trot gait with heading control, driven by a fixed-timestep (120 Hz) mission interpreter. No dynamics engine runs in the browser.
Do results change between runs?
Not for the same seed. The simulation is deterministic: a seeded RNG produces the sensor findings, the interpreter runs on a fixed timestep, and nothing depends on wall-clock time. Pick the same seed and preset and you get the exact same mission, readings and alerts.
What is the mission script language?
A small DSL: MISSION, GOTO, INSPECT, WAIT, SPEED and ALERT IF. The parser reports errors with line and column; the interpreter executes the program step by step, with pause/resume/step playback. The editor ships presets such as patrol_alpha to start from.
Does the AI drive the robot?
Never. The LLM is an optional plugin that can only propose mission DSL code from a plain-language request. The proposal is validated by the DSL parser before it can run — “AI proposes, the interpreter disposes”. Without an API key the compiler runs in mock mode, clearly labeled MOCK in the UI.
Where do the dashboard numbers come from?
From real metric sources in the running simulation: mission clock, odometer, POI coverage, findings and alerts all read from interpreter state. No number on the dashboard is hard-coded or mocked. The inspection report cites mission event IDs for the same reason.
Which sensors are simulated?
Thermal, visual and acoustic inspections, with seeded readings and threshold alerts such as ALERT IF TEMP>75. Findings carry a severity (info / warn / critical) and appear in the event log as the mission executes.
Can it control a real robot?
No. patrol-lab is a browser simulation of an inspection workflow — there is no connection to real hardware or a real fleet. It demonstrates the control-room experience, a deterministic mission interpreter and honest telemetry.
Does it work on my phone?
The layout adapts below 900 px (viewport on top, editor below), but patrol-lab is designed as a desktop control room — a wide screen gives the intended experience.
Who built this?
patrol-lab is an open portfolio project by Rico. The stack: Next.js (App Router), React Three Fiber, CodeMirror 6 and zustand, deployed on Vercel. The source is public on GitHub.