CAD to MuJoCo and Isaac Sim
Whether you're doing reinforcement learning in MuJoCo or GPU-scale sim in Isaac, the hard step is turning CAD into a physics-ready robot. Here's the pipeline and the shortcut.
Modern robot learning runs on two simulators more than any others: MuJoCo (fast, accurate contact dynamics, popular for RL) and NVIDIA Isaac Sim (GPU-parallel, USD-based, popular for scaled training and sim-to-real). Both need your robot in their own format — and both start from the same place: a correct URDF.
The formats
- URDF — the ROS-native robot description. The common intermediate everything converts from.
- MJCF — MuJoCo's XML. MuJoCo can load URDF directly, but MJCF exposes actuators, tendons, contact parameters and solver settings you'll want for RL.
- USD — OpenUSD, the format Isaac Sim is built on. Robots are imported/authored as USD stages.
The pipeline
- CAD → URDF. Recover links, joints, axes, inertia and collision from your CAD. This is the step that determines whether the sim is any good.
- URDF → MJCF for MuJoCo, or URDF → USD for Isaac. MuJoCo ships a URDF loader and a compiler; Isaac Sim ships a URDF importer that writes USD.
- Tune the sim. Add actuators, set friction and contact parameters, and define the observation/action spaces for RL.
Why step 1 dominates sim-to-real gap
If the URDF's inertia is wrong or its joint axes are off, no amount of solver tuning saves you — the simulated dynamics simply don't match the real robot. Accurate mass properties and correct axes are the cheapest large win for closing the sim-to-real gap. (See fixing URDF inertia and collision.)
The fast path
Jointly converts your CAD — STEP, mesh, SolidWorks or Onshape — and exports URDF, MJCF and USD directly, with correct inertia and convex collision and meshes packaged in a ZIP. Instead of chaining exporters and importers and debugging each one, you get all three formats from one conversion, ready to load into MuJoCo or Isaac.
Skip the manual work
Jointly does everything on this page automatically: drop in your CAD (STEP, mesh, SolidWorks or Onshape), and it infers joints, axes, inertia and collision, then exports a simulation-ready URDF, SDF, MJCF or USD. The first conversions are free.
Try Jointly free →Checklist before training
- Robot settles under gravity with no actuation (stable inertia + collision).
- Every joint moves on the correct axis with sensible limits.
- Masses and CoM match the real hardware within a few percent.
- Collision geometry is convex/simplified, not the raw visual mesh.