Task¶
Task (core/task.py) is the abstract base bundling everything task-specific:
the DRManager, the robot descriptor, sensor configs, and the Gym action and
observation spaces.
Class attributes¶
Attribute |
Purpose |
|---|---|
|
Identity and human-readable name |
|
|
|
Robot uid and controller selection |
|
Camera definitions ( |
|
Per-randomizer configuration, see Domain Randomization |
Key methods¶
reset(seed, options)— sequences through every registered randomizer (scene, target, container, distractor, spatial, lighting, camera, material) and builds aLayoutthat both simulators ingest to rebuild the scene.check_success()/compute_reward()— task completion and reward.instruction— the natural-language instruction for this episode, sampled byLanguageDR.decompose()— splits the objective intoSubtaskSpecatoms, used by the motion-planning data generator.state_dict()/load_state_dict()— serialize an episode’s layout so it can be reproduced exactly during replay or evaluation.
Concrete tasks live in simple/tasks/ and are named
<robot>_<skill>_<pipeline>.py, where the pipeline suffix is _mp (motion
planning) or _teleop (VR teleoperation).