Problem
RoboCasaEnv uses a single episode_length (default 1000) as _max_episode_steps for every task. RoboCasa spans ~65 atomic tasks (e.g. CloseFridge, single-skill, short) and ~300 composite tasks (multi-step, long), whose natural horizons differ by an order of magnitude. A flat 1000 is too long for atomic tasks (wastes rollout time, and "any-step success" can be inflated) and potentially too short for long composites.
LIBERO tunes this per suite via TASK_SUITE_MAX_STEPS (libero_spatial=280, libero_10=520, ...).
Suggested approach
- A per-task or per-group (atomic / composite / pretrain) max-steps mapping for RoboCasa, defaulting sensibly and overridable from the config.
- Consider sourcing horizons from RoboCasa's own task metadata if available.
References
_max_episode_steps in src/opentau/envs/robocasa.py
- cf.
TASK_SUITE_MAX_STEPS in src/opentau/envs/libero.py
Problem
RoboCasaEnvuses a singleepisode_length(default1000) as_max_episode_stepsfor every task. RoboCasa spans ~65 atomic tasks (e.g.CloseFridge, single-skill, short) and ~300 composite tasks (multi-step, long), whose natural horizons differ by an order of magnitude. A flat 1000 is too long for atomic tasks (wastes rollout time, and "any-step success" can be inflated) and potentially too short for long composites.LIBERO tunes this per suite via
TASK_SUITE_MAX_STEPS(libero_spatial=280,libero_10=520, ...).Suggested approach
References
_max_episode_stepsinsrc/opentau/envs/robocasa.pyTASK_SUITE_MAX_STEPSinsrc/opentau/envs/libero.py