WestWorld: A Knowledge-Encoded Scalable Trajectory World Model for Diverse Robotic Systems
Organizations: William & Mary · Georgia Institute of Technology · Carnegie Mellon University · University of Illinois at Urbana-Champaign ·
Abstract
Trajectory world models play a crucial role in robotic dynamics learning, planning, and control. While recent works have explored trajectory world models for diverse robotic systems, they struggle to scale to a large number of distinct system dynamics and overlook domain knowledge of physical structures. To address these limitations, we introduce WestWorld, a knoWledge-Encoded Scalable Trajectory World model for diverse robotic systems. To tackle the scalability challenge, we propose a novel system-aware Mixture-of-Experts (Sys-MoE) that dynamically combines and routes specialized experts for different robotic systems via a learnable system embedding. To further enhance zero-shot generalization, we incorporate domain knowledge of robot physical structures by introducing a structural embedding that aligns trajectory representations with morphological information. After pretraining on 89 complex environments spanning diverse morphologies across both simulation and real-world settings, WestWorld achieves significant improvements over competitive baselines in zero- and few-shot trajectory prediction. Additionally, it shows strong scalability across a wide range of robotic environments and significantly improves performance on downstream model-based control for different robots. Finally, we deploy our model on a real-world Unitree Go1, where it demonstrates stable locomotion performance. The code is available at https://github.com/511205787/WestWorld.
Figures & tables
| Method | Walker2d ( ) | Hopper ( ) | Franka ( ) | |||
|---|---|---|---|---|---|---|
| MAE | MSE | MAE | MSE | MAE | MSE | |
| MLPEnsemble | 26.006 | 12.028 | 19.987 | 7.216 | 12.164 | 4.271 |
| TDM | 20.122 | 6.428 | 17.634 | 5.076 | 23.686 | 8.435 |
| Trajworld | 22.261 | 8.623 | 17.388 | 5.441 | 13.102 | 5.127 |
| Ours | 16.350 | 5.064 | 13.731 | 3.368 | 7.737 | 2.539 |
| Method | Cassie ( ) | A1 ( ) | UR5 ( ) | |||
|---|---|---|---|---|---|---|
| MAE | MSE | MAE | MSE | MAE | MSE | |
| MLPEnsemble | 14.369 0.523 | 4.416 0.368 | 14.357 1.009 | 3.707 0.523 | 15.181 0.597 | 4.936 0.322 |
| TDM | 14.510 0.642 | 3.404 0.300 | 10.624 0.312 | 2.151 0.109 | 18.578 0.324 | 5.510 0.175 |
| Trajworld | 7.834 0.167 | 1.697 0.109 | 5.138 0.200 | 0.900 0.050 | 8.066 0.799 | 2.117 0.433 |
| Ours | 5.316 0.108 | 0.808 0.025 | 4.227 0.120 | 0.628 0.040 | 4.925 0.317 | 0.831 0.150 |
| Method | Pretrain | Walker2d | Hopper | Go1 |
|---|---|---|---|---|
| Accumulate Reward | Accumulate Reward | Accumulate Reward | ||
| MLPEnsemble | ✗ | 119.18 | 147.37 | -1.07 |
| ✓ | 190.51 | 200.56 | -0.31 | |
| TDM | ✗ | 122.65 | 242.34 | -0.72 |
| ✓ | 207.61 | 154.64 | 0.03 | |
| Trajworld | ✗ | 395.23 | 366.26 | 0.05 |
| Method | Sys-MoE | Structural embedding | Walker2D ( ) | Hopper ( ) | Franka ( ) | |||
|---|---|---|---|---|---|---|---|---|
| MAE | MSE | MAE | MSE | MAE | MSE | |||
| Ours w/o Sys-MoE | ✗ | ✓ | 18.707 | 6.797 | 15.978 | 4.630 | 9.392 | 2.873 |
| Ours w/o Structural embedding | ✓ | ✗ | 21.156 | 7.872 | 16.227 | 4.990 | 7.897 | 2.707 |
| Ours | ✓ | ✓ | 16.350 | 5.064 | 13.731 | 3.368 | 7.737 | 2.539 |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Notation | Definition |
|---|---|
| state space | |
| action space | |
| state | |
| action | |
| number of robotics systems | |
| number of task-level environments in scalability evaluation |
| Body | Global idx | |||
|---|---|---|---|---|
| torso | 0 | 0 | 6 | 6 |
| right_thigh | 1 | 1 | 3 | 5 |
| right_leg | 2 | 2 | 5 | 4 |
| right_foot | 3 | 3 | 4 | 3 |
| left_thigh | 4 | 4 | 2 | 2 |
| left_leg | 5 | 5 | 1 | 1 |
| Dataset | Robot morphology categories |
|---|---|
| ExORL ( Yarats et al., 2022 ) | Cartpole, Jaco, Quadruped, Walker † |
| RL Unplugged ( Gulcehre et al., 2020 ) | Cartpole, Fish, Humanoid, Manipulator, Walker † |
| JAT ( Gallouédec et al., 2024 ) | Double Pendulum*, Pendulum*, Pusher*, Reacher*, Swimmer* |
| DB-1 ( Wen et al., 2022 ) | Acrobat, Ball In Cup, Cartpole, Cheetah-2-back, Cheetah-2-front, Cheetah-3-back, Cheetah-3-balanced, Cheetah-3-front, Cheetah-4-allback, Cheetah-4-allfront, Cheetah-4-back, Cheetah-4-front, Cheetah-5-back, Cheetah-5-balanced, Cheetah-5-front, Cheetah-6-back, Cheetah-6-front, Finger, Fish, Hopper † , Hopper-3, Hopper-5, Humanoid, Humanoid-2d-7-left-arm, Humanoid-2d-7-left-leg, Humanoid-2d-7-lower-arms, Humanoid-2d-7-right-arm, Humanoid-2d-7-right-leg, Humanoid-2d-8-left-knee, Humanoid-2d-8-right-knee, Humanoid-2d-9-full, Manipulator, Reacher, Swimmer6, Swimmer15, Walker † , Walker-2-flipped, Walker-2-main, Walker-3-flipped, Walker-3-main, Walker-4-flipped, Walker-4-main, Walker-5-flipped, Walker-5-main, Walker-6-flipped, Walker-6-main |
| TD-MPC2 ( Hansen et al., 2024 ) | Acrobot, Ball In Cup, Cartpole, Cheetah † , Finger, Fish, Hopper † , Pendulum † , Reacher † , Walker † |
| Modular RL ( Huang et al., 2020 ) | Cheetah-2-back, Cheetah-2-front, Cheetah-3-back, Cheetah-3-balanced, Cheetah-4-allback, Cheetah-4-back, Cheetah-4-front, Cheetah-5-back, Cheetah-5-balanced, Cheetah-5-front, Cheetah-6-back, Cheetah-6-front, Hopper-3, Hopper-5, Walker-2-flipped, Walker-3-flipped, Walker-4-flipped, Walker-5-flipped, Walker-6-flipped, Walker-7-flipped |
| Component | Task-level environments | # |
|---|---|---|
| TD-MPC2 | walker-stand, walker-walk, walker-run, cheetah-run, reacher-easy, reacher-hard, acrobot-swingup, pendulum-swingup, cartpole-balance, cartpole-balance-sparse, cartpole-swingup, cartpole-swingup-sparse, cup-catch, finger-spin, finger-turn-easy, finger-turn-hard, fish-swim, hopper-stand, hopper-hop, walker-walk-backwards, walker-run-backwards, cheetah-run-backwards, cheetah-run-front, cheetah-run-back, cheetah-jump, hopper-hop-backwards, reacher-three-easy, reacher-three-hard, cup-spin, pendulum-spin | 30 |
| ExORL | jaco-reach, quadruped-locomotion | 2 |
| RL-Unplugged | humanoid_run, manipulator-insert-ball, manipulator-insert-peg | 3 |
| JAT | inverted_double_pendulum, inverted_pendulum, pusher, reacher, swimmer | 5 |
| DB-1 | acrobot, cheetah_2_back, cheetah_2_front, cheetah_3_back, cheetah_3_balanced, cheetah_3_front, cheetah_4_allback, cheetah_4_allfront, cheetah_4_back, cheetah_4_front, cheetah_5_back, cheetah_5_balanced, cheetah_5_front, cheetah_6_back, cheetah_6_front, hopper_3, hopper_5, humanoid, humanoid_2d_7_left_arm, humanoid_2d_7_left_leg, humanoid_2d_7_lower_arms, humanoid_2d_7_right_arm, humanoid_2d_7_right_leg, humanoid_2d_8_left_knee, humanoid_2d_8_right_knee, humanoid_2d_9_full, manipulator-bring_ball, swimmer6, swimmer15, walker_2_flipped, walker_2_main, walker_3_flipped, walker_3_main, walker_4_flipped, walker_4_main, walker_5_flipped, walker_5_main, walker_6_flipped, walker_6_main | 39 |
| Modular-RL | walker_7_flipped | 1 |
| Selected task-level environments | |
|---|---|
| 1 | Cartpole Swingup |
| 2 | Cartpole Swingup; Acrobot Swingup |
| 5 | Walker Walk Backwards; Finger Turn Easy; Cartpole Swingup; Reacher Three Easy; Cheetah Run Front |
| 10 | Walker Walk Backwards; Finger Turn Easy; Cartpole Swingup; Reacher Three Easy; Cheetah Run Front; Acrobot Swingup; Reacher Hard; Cup Catch; Cartpole Swingup Sparse; Finger Turn Hard |
| 20 | Walker Walk Backwards; Finger Turn Easy; Cartpole Swingup; Reacher Three Easy; Cheetah Run Front; Acrobot Swingup; Reacher Hard; Cup Catch; Cartpole Swingup Sparse; Finger Turn Hard; Cartpole Balance Sparse; Hopper Hop Backwards; Pendulum Spin; Cheetah Run Backwards; Fish Swim; Reacher Three Hard; Walker Walk; Finger Spin; Hopper Hop; Walker Run |
| 30 | Walker Walk Backwards; Finger Turn Easy; Cartpole Swingup; Reacher Three Easy; Cheetah Run Front; Acrobot Swingup; Reacher Hard; Cup Catch; Cartpole Swingup Sparse; Finger Turn Hard; Cartpole Balance Sparse; Hopper Hop Backwards; Pendulum Spin; Cheetah Run Backwards; Fish Swim; Reacher Three Hard; Walker Walk; Finger Spin; Hopper Hop; Walker Run; Hopper Stand; Cup Spin; Reacher Easy; Cheetah Jump; Pendulum Swingup; Cartpole Balance; Cheetah Run Back; Walker Stand; Cheetah Run; Walker Run Backwards |
| #Experts | Val. MAE | Best step (k updates) |
|---|---|---|
| 2 | 0.0409 | 108.6 |
| 4 † | 0.0379 | 137.2 |
| 6 | 0.0390 | 176.7 |
| 8 | 0.0340 | 214.0 |
| Number of bins | MAE | MSE |
|---|---|---|
| 128 | 1.455 | 0.098 |
| 256 | 1.415 | 0.095 |
| 512 | 1.404 | 0.094 |
| Method | Walker root velocity | Walker foot angle | Hopper leg angle | Hopper foot angle | Franka position | Franka pitch |
|---|---|---|---|---|---|---|
| MSE | MSE | MSE | MSE | MSE | MSE | |
| MLPEnsemble | 4.623 | 1.339 | 0.089 | 0.685 | 0.068 | 0.547 |
| TDM | 4.654 | 0.615 | 0.134 | 0.372 | 0.653 | 0.390 |
| TrajWorld | 3.202 | 0.779 | 0.093 | 0.468 | 0.538 | 0.162 |
| Ours | 2.544 | 0.183 | 0.045 | 0.244 | 0.039 | 0.130 |
| Method | Tuned Layers | Tuned Params | MSE ( ) | ||
| Cassie | A1 | UR5 | |||
| Trajworld | Full | 10.0 M | 1.674 | 0.931 | 2.616 |
| Ours | Last 2 Sys-MoE | 3.2 M (21.91%) | 1.249 | 0.775 | 1.052 |
| Last 4 Sys-MoE | 6.3 M (43.37%) | 1.074 | 0.762 | 1.031 | |
| Last 6 Sys-MoE | 9.5 M (64.83%) | 1.055 | 0.744 | 0.895 | |
| Full | 14.6 M (100%) | 0.785 | 0.636 | 0.761 | |
| Method | Latency (ms) | ||||
|---|---|---|---|---|---|
| TDM | 388.85 0.41 | 697.89 0.64 | 1099.63 1.41 | 1602.34 1.33 | 2558.94 1.64 |
| TrajWorld | 94.62 0.30 | 236.63 0.33 | 379.43 0.59 | 522.37 0.43 | 736.67 0.91 |
| Ours | 113.61 0.71 | 138.03 1.45 | 159.90 0.97 | 183.96 1.01 | 238.52 0.47 |