Kamino: GPU-based Simulation of Rigid Multi-Body Physics with Kinematic Loops
Organizations: Disney Research, Zurich, Switzerland · NVIDIA, Zurich, Switzerland
Abstract
We present Kamino, a GPU-based physics solver for massively parallel simulations of heterogeneous highly-coupled mechanical systems. Implemented in Python using NVIDIA Warp and integrated into the Newton framework, it enables the application of data-driven methods, such as large-scale reinforcement learning, to complex robotic systems that exhibit strongly coupled kinematic and dynamic constraints such as kinematic loops. The latter are often circumvented by approximating the system's topology as a kinematic tree, and incorporating explicit loop-closure constraints or so-called mimic joints. Kamino aims at alleviating this burden by natively supporting these types of couplings. Moreover, Kamino supports heterogeneous worlds, allowing for batched simulation of structurally diverse robots on a single GPU. At its core lies a state-of-the-art constrained optimization algorithm based on ADMM, which computes constraint forces by solving the constrained rigid multi-body forward dynamics transcribed as a nonlinear complementarity problem. This leads to high-fidelity simulations that resolve contact dynamics without resorting to approximate models that simplify or convexify the problem. We demonstrate RL policy training on a biped with six nested kinematic loops, generating a feasible walking policy while simulating parallel environments on a single GPU.
Figures & tables
| Kamino | MJWarp | MuJoCo CPU ∗ | XPBD | ||||||
| Model | Metric | median | p90 | median | p90 | median | p90 | median | p90 |
| BDX | |||||||||
| - | - | ||||||||
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Bodies | Actuated | Passive | Loops |
|---|---|---|---|---|
| DR Legs | ||||
| BDX | ||||
| Olaf | ||||
| Iron Man | ||||
| Hoberman Sphere | ||||
| Ant- |
| Sim. rate | Kamino | MJWarp | XPBD | |||
|---|---|---|---|---|---|---|
| Soft | Stiff | Soft | Medium | Stiff | ||
| Name | Weight | Reward Term |
| Tracking | ||
| Linear velocity xy | ||
| Angular velocity z | ||
| Path deviation | ||
| Contact matching | ||
| Foot clearance | ||
| Name | Weight | Reward Term |
| Tracking | ||
| Linear velocity tracking | ||
| Angular velocity tracking | ||
| Regularization | ||
| Hip angle penalty | ||
| Joint velocities | ||
| 3-leg | 4-leg | 5-leg | Heterogeneous | |
|---|---|---|---|---|
| Samples per second |
Robotics Simulation
Robotics simulation builds virtual robots and environments to model, train, and evaluate autonomous systems before real-world deployment.
See all 320 papersScaling Nonlinear Optimization: Many Problems One GPU
jaxipm, the first GPU-batched NLP solver, based on IPOPT, and implemented in JAX. We accomplish this by redesigning IPOPT's algorithm to eliminate control flow with heterogeneous iteration fusion, and by minimizing GPU idle time with iteration level batching. We evaluate jaxipm on a variety of quadrotor nonlinear model predictive control benchmarks, including reference tracking in the presence of obstacles, multi-quadrotor navigation without collision, and navigation in a cluttered environment. We demonstrate up to a increase in throughput over IPOPT. Our complete open-source codebase is available at https://github.com/johnviljoen/jaxipm.