axol collect-dagger).
Before you start
- Axol installed (one-command install), CAN up, and motors verified.
- The ZED cameras the policy was trained on connected (at least one), with their serials on hand — see the Data Collection tip for listing them. Assign the same cameras, resolution, stereo setting, and fps the policy was trained on.
- A trained checkpoint (local path or HuggingFace repo) and its policy type (
act,smolvla,pi0, …). Inference runs locally on this machine (in-process, one action per control tick); a CUDA-capable PyTorch install is expected, or pass--device cpu. - The VR TLS certificate authorized once — see Teleoperation — and the headset ready, since you drive interventions from it.
Run it
- Control Panel
- CLI
1
Connect the robot and assign cameras
Connect the Axol Host and Axol, then assign the cameras the policy was trained on in the Cameras settings tab (at least one, recording enabled). See Cameras.
2
Select Collect DAgger and fill the fields
Pick Collect DAgger. Set the policy path, policy type, task, and the dataset repo id — the per-run inputs. Point the repo id at an existing DAgger dataset to resume it. Stiffness, rates, and inference details come from the Settings tabs.
3
Start, then correct from the headset
Press Start and connect the headset. Use the Episode control box to start and end episodes, and the grip buttons to take over and hand back while an episode runs (see Intervening below). The panel mirrors the camera feeds and episode state so you can follow along with the headset off.
Intervening
While an episode is running, the policy drives the arms. The VR grip (“side”) buttons let you take over the moment it needs help and hand back when it’s recovered — the same grips you engage teleop with elsewhere:
A takeover engages at the robot’s measured pose, so control never jerks the arm toward a stale target, and the grippers adopt your controller triggers immediately — pre-set the triggers before you squeeze the grips (hold a trigger down so a part already in the gripper stays held). When you hand back, the policy re-plans from where you left the arms rather than continuing from its pre-freeze plan. Nothing is recorded during the frozen gap, so the episode flows straight from the policy’s motion into your correction and back — and the frames you record while driving are tagged as interventions (see What gets recorded).
If the headset link drops mid-intervention, tracking auto-disengages and control hands back to the policy — the arms won’t stay latched to a stale pose.
Episodes
Episode boundaries are driven from VR exactly like data collection:- Record button — start an episode (the policy starts driving and recording begins); press it again to save.
- Record with the reset button held — discard and re-record.
- On the CLI terminal,
ssaves,rdiscards,qdiscards and quits.--episode_time_s(default 600 s) is a safety cap that saves the episode if nothing is pressed. - With
--subtaskssupplied, typing a number1..Nswitches the policy’s instruction mid-episode without ending it (the dataset’s task stays--task).
--teleop_config.vr_teleop_config.reset_torque_threshold (default 4.0 Nm; 0 disables it) or the control panel’s Reset contact threshold.
The control-panel Episode control box carries the same Start episode / Save / Discard / Return to rest buttons as run policy, so a session can be driven with the headset off.
What gets recorded
Each saved episode is one continuous take: the policy’s motion, then your correction, then the policy again — with the frozen gaps stitched out. Every datasetcollect-dagger creates carries LeRobot’s per-frame intervention flag, set True on the frames you recorded while driving and False on the policy’s own frames, so training can weight or filter the corrections. Datasets are recorded and resumed with the same durability, crash-consistency repair, and resume behavior as collect-data; resuming a dataset requires it to already carry the intervention feature (one recorded by this command).
Next steps
Train a Policy
Retrain on the combined demonstrations and corrections.
Run Policy
Run the retrained policy autonomously.
collect-dagger reference
Every flag and the intervention internals.
Data Collection
Record fresh teleoperation episodes from scratch.
