From ae113e0d9926e25833428d424d0be2f255f074ee Mon Sep 17 00:00:00 2001 From: Pepijn Date: Tue, 14 Apr 2026 20:00:36 +0200 Subject: [PATCH] fix(robotwin): expose _max_episode_steps for lerobot_eval.rollout rollout() does `env.call("_max_episode_steps")` (lerobot_eval.py:157) to know when to stop stepping. LiberoEnv and MetaworldEnv set this attribute; RoboTwinEnv was tracking the limit under `episode_length` only, so the call raised AttributeError once CuRobo finished warming up. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/lerobot/envs/robotwin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lerobot/envs/robotwin.py b/src/lerobot/envs/robotwin.py index 6f370d1d4..d3b301d69 100644 --- a/src/lerobot/envs/robotwin.py +++ b/src/lerobot/envs/robotwin.py @@ -247,6 +247,7 @@ class RoboTwinEnv(gym.Env): self.observation_height = observation_height or setup_kwargs["head_camera_h"] self.observation_width = observation_width or setup_kwargs["head_camera_w"] self.episode_length = episode_length + self._max_episode_steps = episode_length # lerobot_eval.rollout reads this self.render_mode = render_mode self._env: Any | None = None # deferred — created on first reset() inside worker