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 model. The released GE-Sim 2.0 weight is post-trained and distilled for the Genie-01 (G01) wheeled humanoid robot with OmniPicker grippers. Support for the Genie-02 (G02) robot is on the roadmap.
-
[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-clientRunning the gesim_v2 world model needs the released checkpoints. Download them
from Hugging Face:
huggingface-cli download agibot-world/Genie-Envisioner-Sim-v2.0 \
--include "checkpoints/**" --local-dir .This fetches the world model (checkpoints/gesim_community_v2.0.1_g01op_distill_2B)
and the pi05 policy (checkpoints/pi05_gesim_g01op_test). Set checkpoint in
configs/gesim_v2.yaml to the world-model folder (the
folder is self-contained). See docs/installation.md for
accelerated-kernel builds and checkpoint details.
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.






