physx-to-newton-conversion
Legacy PhysX -> Newton Conversion
Purpose
Add Newton-readable physics schemas to an existing PhysX-authored USD robot, then restructure it into a variant package that loads under either engine. The conversion authors the Mjc* schemas that Newton's MuJoCo solver consumes (MjcJointAPI, MjcActuator) and Newton's own schemas (NewtonMimicAPI, NewtonArticulationRootAPI). The package keeps them in separate layers: the mujoco variant holds the Mjc* schemas, physics holds solver-neutral USD Physics plus Newton*, and physx holds the Physx* schemas. Use this for assets that already simulate in PhysX; for a new robot description use urdf-mjcf-to-usd-conversion.
This skill orchestrates the existing conversion in isaacsim.asset.importer.utils (physx_asset_to_mjc.convert_physx_asset_to_mjc, the same utilities the URDF/MJCF importers use) through PhysxToMjcConversionRule; it adds sequencing, audits and checks, not new conversion logic. Fix conversion behavior in those extensions, not here.
Prerequisites
- Built Isaac Sim (
$ISAAC_SIM_DIR) withisaacsim.asset.transformer.rulesandisaacsim.physics.newton; the runtime check needs a GPU. - A legacy USD with authored
PhysicsDriveAPIgains and aPhysxArticulationAPIarticulation root (that is what gainsNewtonArticulationRootAPI).