Skip to content

Task Suites

Eden ships 66 registered tasks: its own locomotion, motion-tracking and manipulation tasks, plus ports of established benchmarks. This page lists every one of them by family, shows the commands every task shares, and links to the page that documents each family in depth. Read it to find a task to train, or to see what a task name on the command line refers to.

Find a task

eden list prints every registered task with its variant modifiers:

eden list
Available Tasks in Eden: Task Name | Source | Modifiers
  ...
  velocity_tracking_flat | eden | VelocityTrackingRobotMod, VelocityTrackingObsMod
  ...

The first column is the name you pass to --task. The last column names the task's TaskMods: typed presets that turn into command-line flags (--robot, --difficulty, --song, ...). A task's --help lists its flags with their choices and defaults:

eden train --task velocity_tracking_flat --help

Every task registers itself with @TASK_REGISTRY.register(...) in a config.py under eden/tasks/<package>/; there is no central index. The task name defaults to the config class name in snake case with the trailing _config dropped (ManipulationLiftBoxConfig → manipulation_lift_box), and the convention is to name the class <Package><Task>Config so the task reads <package>_<task>. A registration may pass an explicit name= instead (beyondmimic, homie, omnireset, ...). See Task configs for the registry and the package layout.

The commands every task shares

The same five commands work for any task. Substitute the task name and its flags.

# Build the task with 2 envs and step it twice: a quick check that it builds on this machine.
eden smoke --task reacher

# Train. num_envs is per GPU rank; each task sets its own default.
eden train --task reacher --difficulty hard --num_envs 2048 --logger wandb

# Resume the most recent run of this task (or a run id, or a run_name substring).
eden train --task reacher --resume latest

# Roll a checkpoint out. --rec records an mp4 into the run's log directory.
eden inference --task reacher --checkpoint logs/reacher/<run>/model_<iter>.pt --rec

# Export the policy for a runtime outside Eden (ONNX / TorchScript + policy_spec.json).
eden export --task reacher --checkpoint logs/reacher/<run>/model_<iter>.pt

A training run writes into logs/<task>/<timestamp>-<run id>/: the checkpoints model_<iter>.pt, the exact config.json the run trained with, and progress.json. See Training runs for the runners, resuming, loggers and the run directory layout, and Policy export for eden export.

eden inference replays the checkpoint's own config

When the checkpoint has a config.json beside it, eden inference (and eden deploy) loads that file, not the task's current defaults, so the rollout runs the environment the policy was trained in. Task-mod flags such as --robot cannot apply to a saved config, so passing one is an error. Change a field with --override instead, for example --override 'env_options: {episode_length_s: 30.0}'. A --task that disagrees with the saved config only warns, and the run is logged under the saved config's task.

eden inference needs a --checkpoint. To roll out a published controller instead of your own checkpoint, use eden inference --policy <name>; see the policy zoo.

To train on several GPUs, launch the same eden train command under torchrun; see Multi-GPU training.

Locomotion

Locomotion tasks — velocity tracking, parkour, recovery and skateboarding.

Task Robot What the policy learns
velocity_tracking_flat Unitree G1 29-DOF (--robot oli: LimX Oli) Follow a planar velocity command on flat ground
velocity_tracking_terrain Unitree G1 29-DOF (--robot oli: LimX Oli) The same on stairs, slopes, bumps and waves, with a height scan
extreme_parkour_teacher Unitree Go2 Cross a grid of parkour courses from privileged scan dots
extreme_parkour_student Unitree Go2 Distil the teacher onto a forward depth camera
mujoco_playground_getup Unitree Go1 Stand up after a fall
mujoco_playground_handstand Unitree Go1 Balance on the front legs with the rear legs raised
homie Unitree G1 29-DOF Track velocity and base height with the legs while the upper body moves
husky Unitree G1 (23-DOF skater model) Ride a simulated skateboard: push, steer and balance
move_forward Unitree Go2 (--robot go1) Walk forward; a small benchmark task

Motion tracking

Motion-tracking tasks — whole-body imitation of reference clips, with and without objects.

Task Robot What the policy learns
beyondmimic Unitree G1 29-DOF Track one motion clip (BeyondMimic recipe)
general_mimic Unitree G1 29-DOF Track a library of clips (LAFAN1 or AMASS) with an adaptive per-clip curriculum
weave_hoi G1 + two Inspire RH56DFQ hands Track OMOMO human-object clips with the object simulated
contrack xArm7 + XHand Track a hand-object clip with contact annotations
assistmimic Two SMPL humanoids A caregiver helps a weakened recipient up off the floor
assistmimic_bed Two SMPL humanoids A caregiver helps a recipient out of bed

Manipulation and dexterous hands

Manipulation tasks — arm-and-gripper lifting and reaching, in-hand reorientation, piano, assembly and hand-object tracking.

Task Robot What the policy learns
manipulation_reach_droid Franka Panda + Robotiq 2F-85 Move the grasp point to a sampled 3D target
manipulation_lift_box Franka Panda + Robotiq 2F-85 (--manipulator: UR5e, UR10e) Reach, grasp and lift a box to a 3D goal
manipulation_lift_box_rgb Franka Panda + Robotiq 2F-85 The same, finding the box in a wrist RGB camera
manipulation_lift_ycb_rgb Franka Panda + Robotiq 2F-85 Lift a different YCB object in each env, from a wrist RGB camera
manipulation_dex_lift Franka + XHand (left) Grasp and lift a cube with a 12-DOF dexterous hand
reorient Wuji Hand 1 Rotate a cube in the hand to a stream of target orientations
piano Two Wuji Hand 2 Play a song on an 88-key keyboard
omnireset UR5e + Robotiq 2F-85 Assemble an object pair, starting from recorded reset states
flashdexretarget XHand or Sharpa Wave hands Make retargeted human hand-object demos physically valid
reacher I2RT YAM arm Reach a sampled 3D target; the reference task-config template

Ported benchmarks

These reimplement existing benchmark suites in Eden, keeping their scenes, success checks and robot setups. Each has its own page.

Family Tasks Page
robosuite robosuite_door, robosuite_lift, robosuite_nut_assembly, robosuite_pick_place, robosuite_stack, robosuite_tool_hang, robosuite_wipe, robosuite_two_arm_handover, robosuite_two_arm_lift, robosuite_two_arm_peg_in_hole, robosuite_two_arm_transport robosuite
LIBERO libero (one task; --task_name picks the LIBERO task) LIBERO
SIMPLER (Bridge) simpler_put_carrot_on_plate, simpler_put_eggplant_in_basket, simpler_put_spoon_on_table_cloth, simpler_stack_green_cube_on_yellow_cube SIMPLER
PolaRiS polaris_block_stack_kitchen, polaris_food_bussing, polaris_move_latte_cup, polaris_organize_tools, polaris_pan_clean, polaris_tape_into_container, and a _batched variant of each PolaRiS
Mochi (deformables) mochi_fold_the_towel, mochi_route_the_cable, mochi_wipe_the_bar Mochi tasks
Whiteboard whiteboard_draw_table, whiteboard_write_in_colour, whiteboard_write_text Whiteboard
Art art_calligraphy_dai, art_calligraphy_san, art_calligraphy_ei, art_calligraphy_lettering_minimum, art_painting_fuji, art_painting_fuji_study, art_painting_sunset Calligraphy and painting

Eden also ships a CALVIN scene and its objects (eden.options.scenes.calvin), which have no registered task; see Scenes and terrains.

See also

  • Your first task — write a task end to end, starting from reacher.
  • TaskMods — how variant flags are declared and composed.
  • Training runs — eden train and eden inference in detail.
  • Deployment — eden deploy, on hardware or in MuJoCo.