03-16-2026

Problems and fixes

  • Left camera disconnecting
    • Fix: Added external USB cable to get over disconnecting issue
  • Computer freezing randomly
    • Spent like 3 hours on this, looking through journalctl it seemed to be some obscure ACPI problem telling the GPU to go into power saving mode, ended up just disabling the GPU (i tried upgrading drivers and trying different kernel versions)
  • Camera read error, resulting in computer freezing
    • Cause looks like soemthing along the lines of USB bus getting flooded? when the camera tries to reconnect? I just exit instead of retrying to reconnect the camera when this happens, the freezing no longer happens

NOTES TO SELF:

  • future models will get trained at 60fps, so the model should also take in 60fps

What to try:

  • OpenPi model in joint control
  • Krish’s diffusion and ACT models

collect data for impedance control.

  1. Upsample dataset to 60 fps for older trainig data
  2. train rel joint as soon as possible.
  3. Setup pipeline for Dagger and start collecting on dagger

The finding is that the joint control and EE control look similarly bad, however joint control is a bit safer and seems to be smoother.

Eddy

  • collect white t-shirt impednace controlled 60fps data

Dagger

  1. Merge the datasets
    Use LeRobot’s merge tool to combine your original demos with the DAgger corrections:
lerobot-merge-datasets \                                                                    
    --repo_ids ${HF_USER}/original-demos ${HF_USER}/dagger-corrections \                    
    --output_repo_id ${HF_USER}/merged-dataset                                              

Or just list both repos directly in your OpenPI training config — it natively supports
multiple datasets:

data=LeRobotKochDataConfig(                                     
    repo_id=[                                                                               
        "${HF_USER}/original-demos",
        "${HF_USER}/dagger-corrections",                                                    
    ],                                                                                      
    ...
)                                                                                           
  1. Recompute norm stats

uv run openpi/scripts/compute_norm_stats.py —config-name=your_config

This iterates through all datasets in the config and computes unified mean/std/quantiles,
saved to {assets_dir}/{asset_id}/norm_stats.json.

  1. Train as usual with OpenPI

That’s it. The norm stats script and data loader already handle multi-dataset configs, so
you don’t need lerobot-train at all. Just make sure the merged/multi-repo datasets have compatible FPS and action keys.