Concepts
Backend Support
Simulator backends, environment availability, and key differences.
SO101-Nexus supports MuJoCo and ManiSkill as simulation backends. Genesis is on the roadmap but not yet implemented.
Task Availability
All five tasks are available on both backends:
| Task | MuJoCo | ManiSkill |
|---|---|---|
| PickLift | SO-101 | SO-100, SO-101 |
| PickAndPlace | SO-101 | SO-100, SO-101 |
| Reach | SO-101 | SO-100, SO-101 |
| LookAt | SO-101 | SO-100, SO-101 |
| Move | SO-101 | SO-100, SO-101 |
Vectorization
ManiSkill runs multiple simulation instances in a single GPU-accelerated process by passing num_envs directly to gym.make(). MuJoCo environments must be vectorized through Gymnasium's standard gym.vector.SyncVectorEnv wrapper.
Key Differences
- Robot models -- MuJoCo environments use the SO-101 arm. ManiSkill has separate SO-100 and SO-101 variants for each task.
- Object support -- MuJoCo supports CubeObject, YCBObject, and MeshObject. ManiSkill supports CubeObject and YCBObject only.
- Observations -- Both backends use the same composable observation components (
observationsparameter). See Observations for details. - GPU batching -- ManiSkill supports
num_envsfor GPU-accelerated parallel simulation. MuJoCo uses CPU-based vectorization.
For details on object types, see the Objects API reference. For observation configuration, see Observations.