Skip to content
AgibotTechPublic

About

Genie Envisioner World Simulator 2.0 (GE-Sim 2.0)

Resources

Contributing

Stars

162 stars

Watchers

5 watching

Forks

Repository files navigation

AgiBot

Genie Envisioner World Simulator (GE-Sim 2.0)

A Roadmap Towards Comprehensive Closed-loop Video World Simulators for Robotic Manipulation


GE-Sim 2.0 Overview

Overview of GE-Sim 2.0. GE-Sim 2.0 is a closed-loop video world simulator for robotic manipulation, trained on millions of real-world episodes spanning teleoperation, on-robot policy deployment, and rich object interaction.

Released models. GE-Sim 2.0 includes the distilled Genie-01 (G01) + OmniPicker simulator and Genie-02 (G02) + 90D / YAM checkpoints for WorldOracle evaluation.


News

TODO

  • Release technical report
  • Release code
  • Release model weights (Genie-01 / G01)
  • Release Genie-02 / G02 robot support

Quickstart

Action conditioning renders the trajectory band from policy actions via forward kinematics. The Genie-01 (G01) robot kinematics ship as a compiled FK library inside the package (gesim/conditioning/_g01_fk.so).

from gesim import WorldModelEnv
from gesim.policies import OpenPIPolicy

env = WorldModelEnv("http://localhost:9000")
policy = OpenPIPolicy("ws://localhost:8000")
policy.reset()

obs = env.reset("assets/demo_000", conditioning="action")
for _ in range(8):
    actions = policy.infer(obs)
    obs, reward, state, info = env.step(actions)  # state: (T, 16) predicted robot state
env.save_video("rollout.mp4")

reward is None unless you attach a RewardClient via WorldModelEnv(reward=...); no reward model is bundled (see docs/adding_rewards.md). Feel free to integrate your custom reward model / critic model via this interface.

Installation

git clone --recursive <repo-url> gesim
cd gesim

pip install -e ".[server]"   # world-model server (GPU)
# or
pip install -e .             # client only (runs anywhere)

# policy extra: the lightweight openpi websocket client
pip install -e third_party/openpi/packages/openpi-client

All model and policy checkpoints share agibot-world/Genie-Envisioner-Sim-v2.0.

Checkpoint under checkpoints/ Workflow Config
gesim_community_v2.0.1_g01op_distill_2B G01 + OmniPicker, distilled 4-step simulator with Pose Expert configs/gesim_v2.yaml
gesim_community_v2.0.1_g02_2B AgiBot Genie-02 / G02, 20-step video-only inference configs/worldoracle_g02.yaml
gesim_community_v2.0.1_yam_2B YAM, 20-step video-only inference configs/worldoracle_yam.yaml
pi05_gesim_g01op_test Demo pi05 policy for the existing G01 simulator openpi policy serving

For the existing server/replay/closed-loop examples below, download the distilled simulator and demo policy:

hf download agibot-world/Genie-Envisioner-Sim-v2.0 \
  --include "checkpoints/gesim_community_v2.0.1_g01op_distill_2B/**" \
            "checkpoints/pi05_gesim_g01op_test/**" --local-dir .

configs/gesim_v2.yaml continues to use the self-contained distilled folder. For the new G02/YAM checkpoints, follow WorldOracle inference: install the worldoracle extra and use scripts/infer_worldoracle.py with the matching profile. These video-only folders use different conditioning and are not drop-in replacements for the existing server loader. See installation for both workflows.

Running

Replay a recorded episode (two terminals):

# terminal 1: world-model server
MODEL=gesim_v2 CONFIG=configs/gesim_v2.yaml bash scripts/serve_world_model.sh

# terminal 2: replay
python examples/replay.py --server http://localhost:9000 \
    --episode assets/demo_000 --output-dir outputs/replay

Closed-loop policy rollout (three terminals):

# terminal 1: world-model server
MODEL=gesim_v2 CONFIG=configs/gesim_v2.yaml bash scripts/serve_world_model.sh

# terminal 2: openpi policy server in its own env (see openpi_serving/README.md)
OPENPI_CKPT=checkpoints/pi05_gesim_g01op_test bash scripts/serve_policy_pi05.sh

# terminal 3: closed-loop rollout (FK conditioning uses the compiled Genie-01 kinematics)
python examples/closed_loop.py --server http://localhost:9000 \
    --policy ws://localhost:8000 --episode assets/demo_000 --steps 8

The world-model server also serves a live dashboard at its own address (http://localhost:9000) — open it in a browser to watch the current phase, step count, the commanded action vs the world-model's predicted robot state, and a preview of the latest generated frame. To see the dashboard without a real model or rollout, run python -m gesim.server --demo and open the URL.

The gesim world-model dashboard (python -m gesim.server --demo)

Example rollouts

Closed-loop rollouts of a pi05 policy inside the GE Sim world model. Each clip tiles the three camera views (head, left wrist, right wrist) left-to-right — the world model generates the video from the policy's actions. A stronger policy completes the task; a weaker one fails (missed grasp, dropped object).

Successful task completions:

success 0 success 1 success 2

Failures (weaker policy):

fail 0 fail 1 fail 2

Repository layout

Path Contents
src/gesim The gesim package: WorldModelEnv, policies, rewards, server, models.
configs World-model config (gesim_v2.yaml) and openpi serving recipe.
examples Runnable entry points: replay.py, closed_loop.py.
scripts Thin launchers for the world-model and policy servers.
assets 3 demo episode bundles (demo_000–demo_002) + example rollout clips (example_output/).
docs Installation, replay, closed-loop, and extension guides.
third_party The openpi git submodule (policy serving).
tests CPU-only pytest suite (codecs, bundle loading, registry, smoke test).

Documentation

Citation

If you find GE-Sim 2.0 useful for your research, please consider citing:

@article{qiu2026gesim2,
  title={GE-Sim 2.0: A Roadmap Towards Comprehensive Closed-loop Video World Simulators for Robotic Manipulation},
  author={Qiu, Boxiang and Chen, Liliang and Liao, Yue and Wang, Nan and Wang, Lintao and Luo, Jiayi and Zhao, Wenzhi and Chen, Shengcong and Chen, Di and Li, Ye and Gao, Chen and Yan, Shuicheng and Liu, Si and Yao, Maoqing and Ren, Guanghui},
  journal={arXiv preprint arXiv:2605.27491},
  year={2026}
}

License

Codes adapted from upstream projects such as Diffusers and Cosmos are released under Apache License 2.0.

The pi05 policy is served through openpi (Physical Intelligence), included as a submodule under third_party/openpi and licensed under Apache License 2.0. Because pi05 builds on PaliGemma, its use is additionally subject to the Gemma Terms of Use (see third_party/openpi/LICENSE_GEMMA.txt).

Other data and codes within this repo are under CC BY-NC-SA 4.0.

About

Genie Envisioner World Simulator 2.0 (GE-Sim 2.0)

Resources

Contributing

Stars

162 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages