Same task on many real robots.
Every real run rebuilt in sim.
Verifier success becomes the reward.
XE2 = cross-embodiment × cross-environment
One agent. Many robot bodies. Real and simulated.
Test LLM robot agents on many bodies, in the real world and in simulation, then train them with the same tools.
Built together by
What XE means
Same task across bodies. Same run in real and in sim.
Real vs sim
Drag to compare the real robot with its replica replaying the same joint motion.
YAM pair, 3× speed. First MuJoCo replicas, before the contact work.
Same task on many real robots.
Every real run rebuilt in sim.
Verifier success becomes the reward.
↺ trained agents return to XEbench
Robots


Tasks
Three tiers: anchor, middle, frontier.
Inside the lab
Four models, three real arms, one task: put a brick in a box.
Controller parameters
Camera calibration
Object poses, background
MuJoCo or IPC contact
A replica is useful when it ranks agents in the same order as the real robot. See the comparison ↑
Run protocol
Only the backend changes between a real run and its replica.
{
"name": "move_to",
"arguments": {
"observation_id": "obs_0042",
"command_id": "cmd_0043",
"note": "lift the cup 5 cm",
"frame": "base",
"translation_m": [0.0, 0.0, 0.05],
"rotation_delta_rad": [0.0, 0.0, 0.0]
}
}agent: cc # cc · codex · dsh profile: intuitive # or expert engine: kind: robosuite # replica in sim # kind: real # the real station task: cup_stack command_budget: 80
$ ./scripts/run.sh demo \ --agent cc \ --claude .tools/claude-2.1.296/claude \ --provider openai # → "demo_verified": true
Claude Code · Codex · DeepSeek Harness
intuitive: 5 tools · expert: 16
Same tool calls, either backend
Scores the final state
The verifier that scores a run is the reward that trains the agent.
Next: XEsim replicas as training environments.
$ bash examples/train_qwen38_27b.sh --dry-run \ --actor-num-nodes 2 --actor-num-gpus-per-node 4 \ --rollout-num-gpus 4 \ --tensor-model-parallel-size 2 --pipeline-model-parallel-size 2 \ --rollout-batch-size 8 --n-samples-per-prompt 8 # review the generated command, then drop --dry-run
Runs in simulation today. A full 27B training step is not yet verified.
Status
Recordings on YAM, xArm and Wuji Hand 2.
IPC holds the cups; cloth close, not matched yet.
No paired real and sim scores yet.
Runs in sim; full 27B step pending.
Related benchmarks
| Benchmark | Tests | Cross-embodiment | Cross-environment |
|---|---|---|---|
| Embodied First Exam | coding agents | yes | sim only |
| Ember-0 (XDOF) | frontier LLMs | one robot type | real only |
| RoboDojo | learned policies | tasks differ per platform | separate task sets |
| DuoBench | learned policies | one robot | 4 of 11 tasks |
| SO-101 Bench | learned policies, one LLM agent | one arm | yes, Isaac Lab twin |
| LIBERO | learned policies | one arm (Franka) | sim only |
| RoboCasa | learned policies | several robots, one sim | sim only |
| RoboTwin 2.0 | learned policies | 5 dual-arm robots | sim only |
| BEHAVIOR-1K | learned policies | a few mobile manipulators | sim only |
| XE2 Arena | LLM agents + RL training | five embodiments, more coming | a replica per recording |
Contact
Want your agent or policy on our robots and replicas, or want to collaborate? Talk to our researchers.