OpenUSD vs SDF vs URDF vs MJCF
Four formats describe robots and scenes for simulation, and they are not interchangeable. Here is what each does well, where each falls short, and which to treat as your source of truth.
Updated May 19, 2026 · by Ugur Yekta
The short answer
URDF describes a single robot and is the ROS default. SDF extends URDF to whole worlds for Gazebo. MJCF is MuJoCo's format, tuned for fast contact physics. OpenUSD is a general scene format (Pixar/NVIDIA) that scales to huge environments and is the emerging cross-tool standard. Author in OpenUSD and convert outward when you need portability.
Side-by-side comparison
| OpenUSD General scene standard | SDF Gazebo worlds | URDF ROS robots | MJCF MuJoCo physics | |
|---|---|---|---|---|
| Origin | Pixar / NVIDIA | Open Robotics | ROS community | MuJoCo / DeepMind |
| Primary scope | Whole scenes + assets | Whole worlds | Single robot | Robot + scene physics |
| Best simulator fit | Isaac Sim, Omniverse | Gazebo | ROS / ROS 2 | MuJoCo, MJX |
| Composition / references | Native (layers, references) | Includes / nesting | Limited (xacro macros) | Includes |
| Physics expressiveness | USDPhysics schemas | Rich (inertia, sensors) | Basic (inertial, collision) | Excellent contact model |
| Materials / rendering | Full PBR + MaterialX | Basic | Basic | Minimal |
| Scales to large scenes | Yes — built for it | Moderate | No | Moderate |
| Human-readable | .usda text variant | XML | XML | XML |
| Cross-tool support | Growing fast | Gazebo-centric | ROS-centric | MuJoCo-centric |
URDF: the ROS robot description
URDF (Unified Robot Description Format) is an XML format describing a single robot — links, joints, inertial properties, collision and visual geometry. It is the default in the ROS ecosystem and the format most robot manufacturers ship. Its limits are well known: it cannot describe closed kinematic loops cleanly, has no native concept of a world or multiple robots, and relies on xacro macros for reuse. For a single robot in a ROS pipeline, it is the path of least resistance.
SDF: URDF's bigger sibling for worlds
SDF (Simulation Description Format) was created by Open Robotics to address URDF's gaps. It describes entire worlds — multiple models, lights, sensors, physics properties, and environment — and is the native format for Gazebo. It is more expressive than URDF for sensors and physics, and supports nesting and includes. If your simulation lives in Gazebo, SDF is the natural source format.
MJCF: MuJoCo's physics-tuned XML
MJCF (MuJoCo XML) is the format MuJoCo and its JAX implementation MJX consume. It is designed around MuJoCo's contact solver, exposing parameters like condim, solref, and solimp that give fine control over contact dynamics. This makes it excellent for dexterous manipulation and locomotion research, but it is MuJoCo-specific — there is little tooling outside that ecosystem, and it is not built for large visual scenes.
OpenUSD: the general scene standard
OpenUSD (Universal Scene Description), created by Pixar and heavily backed by NVIDIA, is a general-purpose 3D scene format rather than a robotics-specific one. Its composition system — layers, references, variants — scales to enormous scenes (film, factory digital twins) that the XML formats cannot. Physics is expressed through USDPhysics schemas, and materials use full PBR/MaterialX. Under the Alliance for OpenUSD (Pixar, NVIDIA, Apple, Adobe, Autodesk), it is the closest thing the industry has to a converging cross-tool standard.
When to choose each
OpenUSD
A canonical source-of-truth format that scales to large scenes and converts outward — especially anywhere NVIDIA Isaac Sim, Omniverse, or digital twins are involved.
SDF
Gazebo simulations where you need to describe whole worlds with sensors and environment, not just a single robot.
URDF
Single-robot description in a ROS / ROS 2 pipeline — the format your robot hardware likely already ships in.
MJCF
MuJoCo and MJX research where fine-grained contact-dynamics control matters more than scene scale or rendering.
Where Rigyd fits
These formats are not mutually exclusive — most teams need more than one. Rigyd authors in OpenUSD (the most expressive, most portable option) and converts to MJCF, URDF, or SDF on demand, preserving mass, inertia, friction, and collision data across the boundary. That way a single source asset works in Isaac Sim, MuJoCo, and Gazebo without re-authoring physics three times.
Frequently asked questions
What is the difference between URDF and SDF?
URDF describes a single robot (links, joints, inertia, geometry) and is the ROS default. SDF extends that idea to entire worlds — multiple models, lights, sensors, and environment physics — and is Gazebo's native format. SDF is more expressive; URDF is more widely shipped by robot manufacturers. Gazebo can consume both.
Should I author robotics assets in OpenUSD or a robotics-specific format?
Author in OpenUSD when you want a portable source of truth that scales to large scenes and converts outward to MJCF, URDF, or SDF. Author directly in URDF/SDF/MJCF when you are committed to a single ecosystem (ROS, Gazebo, or MuJoCo respectively) and do not need cross-tool portability. USD-to-others conversion is cleaner than the reverse.
Can I convert between these formats without losing physics data?
Conversion from OpenUSD to MJCF, URDF, or SDF preserves mass, inertia, friction, and collision geometry well because USDPhysics is more expressive than the targets. Converting the other direction (e.g. URDF to USD) is lossier, since the source formats carry less material, semantic, and scene metadata. Rigyd converts from its OpenUSD output to the others on demand.
Why is OpenUSD becoming the standard for robotics simulation?
Three reasons: its composition system (layers, references, variants) scales to scenes the XML formats cannot handle; NVIDIA built Isaac Sim and Omniverse on it; and it is openly governed by the Alliance for OpenUSD (Pixar, NVIDIA, Apple, Adobe, Autodesk). For new projects involving large scenes or NVIDIA platforms, it is the path of least friction.
Convert your own catalog to SimReady
Upload any 3D model and get a physics-enabled OpenUSD asset in minutes — exports to MJCF, URDF, and FBX too.
Related reading
Synthetic data generation for computer vision in robotics
Real-world labeled robotics data is expensive and slow to capture. Synthetic data is fast and unlimited — but only useful if the underlying simulation has correct physics, semantic labels, and domain randomization. Here's the complete pipeline.
Digital twin creation pipeline for manufacturing
A factory digital twin needs every object to behave physically, not just render. This is the end-to-end pipeline: CAD intake, BIM merge, physics layer, semantic labeling, simulation runtime — at the asset volumes (10K+ unique SKUs) real factories actually contain.
How to set up mass, friction, and joint properties for robot training
The three pillars of robot physics setup — mass, friction, joints — determine whether your trained policy transfers to real hardware. Here's the calibration target for each, the schemas, and the common mistakes that quietly break training.