Skip to content

Commit

Permalink
Show reset and saving episode
Browse files Browse the repository at this point in the history
  • Loading branch information
jackvial committed Dec 24, 2024
1 parent 9108649 commit ccf53e4
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 12 deletions.
1 change: 1 addition & 0 deletions lerobot/common/robot_devices/control_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class ControlPhase:
WARMUP = "Warmup"
RECORD = "Record"
RESET = "Reset"
SAVING = "Saving"


@dataclass
Expand Down
46 changes: 34 additions & 12 deletions lerobot/scripts/control_robot.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,18 +295,6 @@ def record(
if has_method(robot, "teleop_safety_stop"):
robot.teleop_safety_stop()

control_context = control_context.update_config(
ControlContextConfig(
robot=robot,
control_phase=ControlPhase.RECORD,
play_sounds=play_sounds,
assign_rewards=False,
num_episodes=num_episodes,
display_cameras=display_cameras,
fps=fps,
)
)

recorded_episodes = 1
while True:
if recorded_episodes >= num_episodes:
Expand All @@ -317,6 +305,18 @@ def record(
# if multi_task:
# task = input("Enter your task description: ")

control_context = control_context.update_config(
ControlContextConfig(
robot=robot,
control_phase=ControlPhase.RECORD,
play_sounds=play_sounds,
assign_rewards=False,
num_episodes=num_episodes,
display_cameras=display_cameras,
fps=fps,
)
)

log_say(f"Recording episode {dataset.num_episodes}", play_sounds)
record_episode(
dataset=dataset,
Expand All @@ -339,6 +339,17 @@ def record(
if not events["stop_recording"] and (
(dataset.num_episodes < num_episodes - 1) or events["rerecord_episode"]
):
control_context = control_context.update_config(
ControlContextConfig(
robot=robot,
control_phase=ControlPhase.RESET,
play_sounds=play_sounds,
assign_rewards=False,
num_episodes=num_episodes,
display_cameras=display_cameras,
fps=fps,
)
)
log_say("Reset the environment", play_sounds)
reset_environment(robot, events, reset_time_s)

Expand All @@ -349,6 +360,17 @@ def record(
dataset.clear_episode_buffer()
continue

control_context = control_context.update_config(
ControlContextConfig(
robot=robot,
control_phase=ControlPhase.SAVING,
play_sounds=play_sounds,
assign_rewards=False,
num_episodes=num_episodes,
display_cameras=display_cameras,
fps=fps,
)
)
dataset.save_episode(task)
recorded_episodes += 1
control_context.update_current_episode(recorded_episodes)
Expand Down

0 comments on commit ccf53e4

Please sign in to comment.