From fd53716688fc19d62369c6397d7682a0f0386208 Mon Sep 17 00:00:00 2001 From: Thomas Landeg <63191808+landegt@users.noreply.github.com> Date: Mon, 27 Jul 2026 09:42:17 -0700 Subject: [PATCH] fix(envs): make metaworld seeding reproducible (#3727) Co-authored-by: Pepijn <138571049+pkooij@users.noreply.github.com> --- src/lerobot/envs/metaworld.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lerobot/envs/metaworld.py b/src/lerobot/envs/metaworld.py index bffcf6b6e..a32acbff1 100644 --- a/src/lerobot/envs/metaworld.py +++ b/src/lerobot/envs/metaworld.py @@ -155,6 +155,7 @@ class MetaworldEnv(gym.Env): env.model.cam_pos[2] = [0.75, 0.075, 0.7] env.reset() env._freeze_rand_vec = False # otherwise no randomization + env.seeded_rand_vec = True # use seeded RNG so reset(seed=X) controls object positions self._env = env def render(self) -> np.ndarray: @@ -220,6 +221,8 @@ class MetaworldEnv(gym.Env): self._ensure_env() super().reset(seed=seed) + if seed is not None: + self._env.seed(seed) raw_obs, info = self._env.reset(seed=seed) observation = self._format_raw_obs(raw_obs)