
¶
Embodied-AI Development Environments Nexus
A robot-learning framework built on Genesis: write a task as one typed config, train it across thousands of GPU-parallel environments, then run the same policy on a real robot.

What Eden gives you¶
A task is one typed config¶
Scene, observations, actions, rewards, terminations, events, curricula and the learning runner live in one Pydantic object. It validates when you construct it, saves to JSON or YAML, and turns its variants into CLI flags.
Composable terms¶
Observations, rewards, terminations, commands, events and curricula are small registered terms. A plain function
with a decorator becomes a new one, and eden terms --grep <text> finds an existing one with its parameters.
Robots and objects¶
Humanoids, quadrupeds, arms and dexterous hands come as ready-made robot options, and composite rigs bolt a hand onto an arm. Robot and object assets download on first use.
Physics and sensing¶
The Genesis solvers (rigid, PBD, MPM, SPH, FEM) are set through EnvOptions, plus Mochi, an implicit solver that
couples rigid, soft, cloth and rod bodies. Cameras render through a rasterizer, a batch renderer or the Nyx path
tracer, next to depth, lidar, tactile, IMU, contact and audio sensors.
Motion and demonstration data¶
Load human-motion datasets, retarget them to robots, estimate motion from video, teleoperate with GELLO, Meta Quest, PICO or the Wuji Glove, and record or script demonstrations into HDF5 and LeRobot datasets.
Train, export, deploy¶
Train with rsl_rl (the default), rl_games, skrl or Stable-Baselines3, on one GPU or many. Export a policy to ONNX
or TorchScript, check it against MuJoCo with eden deploy --mujoco, then run it on hardware with eden deploy.
From install to a trained policy¶
pip install eden-world # or, in a clone of the repository: uv sync
eden list # every registered task and its variant flags
eden train --task reacher # train a Yam arm to reach sampled targets
eden inference --task reacher --checkpoint <path/to/model.pt> --vis
eden inference --policy homie --vis # roll out a published policy, no training needed
Installation covers platforms and optional extras, and the Quick start walks through these commands and where their output goes.
A task is one config¶
The reacher task, abridged from
eden/tasks/benchmark/reacher/config.py,
the template every built-in task follows:
@TASK_REGISTRY.register(modifiers=(ReacherDifficultyMod,)) # adds `eden train --task reacher --difficulty hard`
class ReacherConfig(EdenRLConfig):
env_options: EnvOptions = EnvOptions(num_envs=4096, episode_length_s=9.0, sim_dt=0.01, sim_substeps=2, ...)
scene_options: SceneOptions = en.scenes.Empty(robot=en.robots.Yam())
observation_options: ObservationManagerOptions = ObservationManagerOptions(
policy=ObservationGroupOptions(
dofs_pos=observations.DofsPos.configure(entity_name="robot"),
dofs_vel=observations.DofsVel.configure(entity_name="robot"),
...
),
)
action_options: ActionManagerOptions = ActionManagerOptions(
joint_pos_controller=actions.ImplicitPDController.configure(
entity_name="robot", dofs_name="joint*", scale=0.05, reference_source=ReferenceSource.DELTA,
),
)
command_options: CommandManagerOptions = CommandManagerOptions(
reaching_target=UniformT3Command.configure(x_range=(0.3, 0.5), y_range=(-0.1, 0.1), z_range=(0.25, 0.35)),
)
reward_options: RewardManagerOptions = RewardManagerOptions(
reaching_task=RewardTerm.configure(func=reaching_reward, weight=1.0, params={...}),
action_rate=RewardTerm.configure(func=rewards.action_rate_l2, weight=-0.01),
)
termination_options: TerminationManagerOptions = TerminationManagerOptions(
timeout=DoneTerm.configure(func=terminations.time_out, time_out=True),
)
runner_options: RslRlOnPolicyRunnerOptions = RslRlOnPolicyRunnerOptions(...)
Key concepts explains each piece, and Your first task builds one from scratch.
Gallery¶

Sensors: a Go2 with LiDAR in a scanned tunnel.

Multi-modality: playing piano, with sound synthesised from the pressed keys.

Beyond rigid bodies: a G1 fills a glass with water at a kitchen tap.

Batch rendering: batched Gaussian-splat backgrounds behind a heterogeneous simulation.

Embodiments: built-in robots, composite rigs and object sets.

Policy zoo: published controllers run as shipped with eden inference --policy <name>.

Motion datasets: loaders that share one motion format.

Cross-embodiment retargeting with eden retarget.

Human-object retargeting: the object comes along, onto a rig or a hand.

Train at scale: eden train --task <task> --num_envs 4096, across GPUs with DDP.

Sim-to-sim: eden deploy --task <task> --checkpoint model.pt --mujoco.

Sim-to-real: eden deploy --task <task> --checkpoint model.pt.

Motion tracking with the native motion manager.

Human-object interaction: humanoids with dexterous hands move objects.

Multi-agent RL: two agents with their own observations, actions and rewards.

Soft-body manipulation: a trained policy wipes a bar with a foam sponge.

Cloth manipulation: two arms fold a towel in half.

Cable routing: a cable routed around two spools into a port.

Calligraphy with a modeled Chinese brush.

Wet-acrylic painting, with the wet paint blending.

Benchmark suites: LIBERO, robosuite, SIMPLER, PolaRiS and more, reimplemented.
Where to go next¶
Get started¶
Install Eden, train and watch a policy, and learn the handful of ideas every task is built from.
Task suites¶
The registered tasks by family, and how to list, train and evaluate them.
Building tasks¶
Task configs, variants, terms, entities and environments, in depth.
Training and deployment¶
Training runs and checkpoints, other RL libraries, multi-GPU training, the policy zoo, export and deployment.
Examples¶
Runnable projects, policy demos and single-capability recipes, browsable with eden examples list.
Reference¶
Every eden command and its flags, the environment variables Eden reads,
and the API reference.
Acknowledgments¶
Eden builds on these open-source projects:
- genesis-world: the simulation backend, with gs-madrona (batch renderer) and genesis-nyx (path tracer).
- quadrants: the compiler that generates parallel kernels for GPUs and CPUs.
- IsaacLab and mjlab: reference manager-based environment implementations.
- ManiSkill: a reference holistic environment for embodied agents.
- ProtoMotions and MimicKit: reference environments for human motion priors.
- Holosoma and InstinctLab: reference end-to-end humanoid frameworks.
Citation¶
If you use Eden in your research, please cite:
@misc{Eden,
author = {Eden Authors},
title = {Eden: One Task Definition from Simulation to Real Robots},
month = {November},
year = {2026},
url = {https://github.com/embodied-ai-nexus/Eden}
}
Eden is released under the Apache 2.0 License.