Overview
Steel (Scalable Throughput-optimized Engine for Embodied Learning) is a GPU solver for articulated robots and rigid bodies in Newton. It integrates robots in joint coordinates, solves contacts and joint constraints with a projected Gauss-Seidel sweep that does not assemble the world’s constraint matrix, and schedules every world of a batch on its own, so different robots, tasks and scenes can share one batch. Newton is the open-source physics engine hosted by the Linux Foundation.
newton.solvers.SolverSteelexperimental in Newton 1.8
We benchmark Steel against PhysX and MuJoCo Warp on single-task and mixed-task Isaac Lab workloads in the launch post.
What it is for
Section titled “What it is for”Steel was built for robot learning at scale: thousands of environments per GPU, fixed memory, every step capturable in a , and batches that mix embodiments. Tree joints hold exactly because the state is the joint coordinates; constraint rows are needed only for contacts, limits, optional drive rows, mimic couplings and loop closures. In the default serial sweep each world’s rows are solved by one GPU in sequence, which keeps ’s convergence while thousands of worlds run in parallel.
Steel is experimental in Newton 1.8: SolverSteel, its constructor options and its steel: attributes may change without the normal deprecation period.
Newton’s articulated-body solvers
Section titled “Newton’s articulated-body solvers”Newton has several solvers that simulate articulated bodies. From their source and Newton’s solver documentation, with Newton’s joint types PRISMATIC, REVOLUTE, BALL, FIXED, FREE, DISTANCE, D6 and ROD:
| Solver | Coordinates | Contacts and constraints | Joint types | Loop closures |
|---|---|---|---|---|
SteelSolver |
Reduced | Hard contacts with Coulomb friction; matrix-free projected Gauss-Seidel | All but ROD; DISTANCE moves as FREE | BALL, REVOLUTE and FIXED loop joints |
MuJoCo WarpSolver |
Reduced | MuJoCo soft constraints (solref, solimp); CG or Newton solver; pyramidal or elliptic cone |
All but DISTANCE and ROD | FIXED, REVOLUTE, BALL and one- or three-axis angular D6 loop joints, as equality constraints |
FeatherstoneSolver |
Reduced | Penalty spring-damper contacts | All but ROD; DISTANCE moves as FREE | No |
KaminoSolver |
Maximal | Hard contacts with friction and restitution as a complementarity problem; proximal ADMM by default | PRISMATIC, REVOLUTE, BALL, FIXED, FREE | Yes |
XPBDSolver |
Maximal | Position-based contact and joint constraints | All but ROD | Yes |
Semi-implicitSolver |
Maximal | Penalty spring-damper contacts and joints | All but ROD; DISTANCE moves as FREE | Yes |
VBDSolver |
Maximal | Vertex block descent; compliant augmented-Lagrangian contact and joint constraints | All but DISTANCE | Yes |
| Solver | Particles, cloth, soft bodies | Gradients | Devices | Worlds with different structure |
|---|---|---|---|---|
| Steel | Through coupled solvers | No | CUDA; CPU for the core solve | Yes |
| MuJoCo Warp | Through coupled solvers | No | CUDA (MuJoCo Warp); CPU (MuJoCo C) | No: bodies, joints and equality constraints match across worlds; meshes may differ |
| Featherstone | In the same solver | Basic (diffsim examples) | CPU, CUDA | Yes |
| Kamino | Through coupled solvers | No | CPU, CUDA | Yes |
| XPBD | In the same solver | No | CPU, CUDA | Yes |
| Semi-implicit | In the same solver | Basic (diffsim examples) | CPU, CUDA | Yes |
| VBD | In the same solver | No | CPU, CUDA | Yes |
Newton marks Steel, Kamino and VBD experimental. Steel can be one entry of Newton’s experimental coupled solvers, next to VBD or XPBD for cloth, cables and soft bodies; see Coupling. Model features Steel rejects at construction are listed in the FAQ.
To see what Steel runs, browse the examples: scenes with a clip of each one’s Steel preset, its presets for the other solvers and the command that runs it.
Steel docs and tutorials are licensed under Apache-2.0. Third-party notices. "Skild", "Skild AI" and the Skild logo are trademarks of Skild AI and are not licensed under Apache-2.0.