Skip to content

Strange Issue: When recording dataset, when I use 'resume', the reset environment does not happen (it does happen when I don't use resume) #638

@PradeepKadubandi

Description

@PradeepKadubandi

System Info

- `lerobot` version: 0.1.0
- Platform: Linux-6.8.0-51-generic-x86_64-with-glibc2.35
- Python version: 3.10.15
- Huggingface_hub version: 0.26.3
- Dataset version: 2.20.0
- Numpy version: 1.26.4
- PyTorch version (GPU?): 2.3.1+cu121 (True)
- Cuda version: 12010
- Using GPU in script?: No

Information

  • One of the scripts in the examples/ folder of LeRobot
  • My own task or dataset (give details below)

Reproduction

I am observing something strange (I read the code in control_robot.py to see if I can figure out the root cause but not yet sure what's happening)

I first used this command:

python lerobot/scripts/control_robot.py record \
  --robot-path lerobot/configs/robot/koch.yaml \
  --fps 30 \
  --repo-id pkaduban/debug_record \
  --single-task debug-record-task \
  --tags tutorial \
  --warmup-time-s 5 \
  --episode-time-s 120 \
  --reset-time-s 120 \
  --num-episodes 3 \
  --resume 0 \
  --local-files-only 1 \
  --push-to-hub 0 | tee debug_record_`date -Is`.log

this behaves as expected. Lets me record an episode and I hit the 'right arrow' after I am done with it - then it starts resetting the environment. The first simplified log attached shows the log file for this command.

Then I continued collection using this command:

python lerobot/scripts/control_robot.py record \
  --robot-path lerobot/configs/robot/koch.yaml \
  --fps 30 \
  --repo-id pkaduban/debug_record \
  --single-task debug-record-task \
  --tags tutorial \
  --warmup-time-s 5 \
  --episode-time-s 120 \
  --reset-time-s 120 \
  --num-episodes 3 \
  --resume 1 \
  --local-files-only 1 \
  --push-to-hub 0 | tee debug_record_`date -Is`.log

This behaves unexpectedly. It lets me record an episode, however when I hit the 'right arrow' after I am done with the episode, it doesn't reset the environment but goes directly to recording the next episode. I'd expect the environment reset to be respected in this setting too. The second log shows the log file for this invocation.

For generating the log, I changed the log level of control info statement from info to debug to reduce log verbosity. I also redirect all log info messages of program by default to stdout instead of stderr which is the current behavior. I don't have any other code changes in the repository. The output of git diff is also attached in case needed.

debug_record_2025-01-14T12:12:42-08:00.log
debug_record_2025-01-14T12:14:25-08:00.log
git_diff.txt

Expected behavior

I'd expect the environment reset to be respected in this setting too. The second log shows the log file for this invocation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions