Harmoniverse
The physics engine that powers simulation training on Harmoniis. Rust + CUDA. Extends MuJoCo. Isaac Lab compatible.
Architecture
Harmoniverse is a layered physics engine built in Rust with CUDA acceleration. Each layer depends only on the one below, allowing backends to be swapped without touching higher layers.
- L0 — CUDA Kernels: RK4 integration, broadphase collision, ADMM constraint solver, Material Point Method particles
- L1 — Backend: PhysicsBackend trait with CPU and CUDA implementations. GPU memory management, parallel environments
- L2 — Scene: USD and URDF ingestion, scene graph composition, physics material assignment
- L3 — Physics: MuJoCo C bindings via FFI, extended with MPM for fluids and granular materials
- Python bindings: PyO3 interface providing gymnasium-compatible environments for Isaac Lab
Isaac Lab integration
Isaac Lab requires a gymnasium-compatible Python class. Harmoniverse provides this directly — Isaac Lab's own PhysX is never invoked. Training environments built in UE5 or the Harmonia App export to Isaac Lab format and run on Harmoniverse physics.
USD native
Every scene, robot model, and environment on Harmoniis is composed in USD. Harmoniverse reads USD scenes natively — physics properties, joint hierarchies, collision meshes, and material properties are all encoded in USD physics schema attributes.
What runs on Harmoniverse
- Reinforcement learning training with domain randomization
- Imitation learning from human demonstrations
- Sim-to-real transfer validation
- Fluid and granular material interaction (MPM)
- Parallel environment simulation (4096+ environments on GPU)