Plot:
Neural net distillation
Record samples from a live drive, then set Training mode → "Recorded trajectory" before clicking Train. This is the imitation-learning path; the random-query path is the usual workflow.
0 samples
Loss curve (log)
Then pick "Neural net (distilled)" in the controller dropdown.
Log

Controller

Tunings

Navigation
Lidar A* plans on what the bot has actually seen. Drive around to fill in the map.
Mixer — velocity → tilt

Closes velocity error into a body tilt. The smallest learnable layer.

Attitude — pitch (force out)
RNN hyperparameters
Attitude — yaw (torque out)
Wheels — force tracker
PID gains (force out)
ArduBalance — outer loop
ArduBalance — inner wheel PID
Yaw control (legacy)

Used by ArduBalance, PID, and the legacy whole-stack NN. Cascade replaces this with Attitude's yaw (above).

Preset

Physics
Sensors & Timing
Motor
Disturbances — make life hard

Inject impulses or biases to test disturbance rejection. A recorded-mode NN will fall here; a random-mode NN should recover.

Top-bar Shove button kicks pitch_rate by this amount.