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.
-
[2026.10.17] 🔥 Update: We have updated the WorldOracle evaluation code and G02/YAM model weights.
-
[2026.06.25] 💻 The code and model weights of GE-Sim 2.0 have been released.
-
[2026.05.28] 📄 The technical report GE-Sim 2.0: A Roadmap Towards Comprehensive Closed-loop Video World Simulators for Robotic Manipulation has been released on arXiv.
-
[2026.04.10] 🌐 The project page of GE-Sim 2.0 has been released.
- Release technical report
- Release code
- Release model weights (Genie-01 / G01)
- Release Genie-02 / G02 robot support
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.
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-clientAll 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.
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/replayClosed-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 8The 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.
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:
![]() |
![]() |
![]() |
Failures (weaker policy):
![]() |
![]() |
![]() |
| 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). |
- Installation
- Replay a recorded episode
- Closed-loop policy rollout
- Adding a policy
- Adding a world model
- Adding a reward client
- Serving pi05 with openpi
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}
}
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.






