| from __future__ import annotations | |
| from rlbench.backend.utils import task_file_to_task_class | |
| def is_bimanual_task_name(task_name: str) -> bool: | |
| return task_name.startswith("bimanual_") | |
| def resolve_task_class(task_name: str): | |
| if task_name == "open_drawer": | |
| # The dual-panda RLBench fork provides dedicated bimanual drawer tasks. | |
| # Route the generic smoke/rollout task name to the compatible variant. | |
| return task_file_to_task_class("right_open_drawer", bimanual=True) | |
| return task_file_to_task_class(task_name, bimanual=is_bimanual_task_name(task_name)) | |