Asset Converter
Unified entry for simulator-targeted asset conversion using embodied_gen.data.asset_converter.
When To Use
Use this skill when users want to:
- Convert EmbodiedGen assets for IsaacSim (
USD) or MuJoCo/Genesis (MJCF). - Batch-convert multiple URDF assets into simulator-ready outputs.
- Map simulator names to the correct target format and conversion strategy.
- Decide when conversion is unnecessary (URDF can be used directly).
Routing Rules (Core)
- IsaacSim -> convert to
USD. - MuJoCo / Genesis -> convert to
MJCF(.xml). - SAPIEN / IsaacGym / PyBullet -> use EmbodiedGen
.urdfdirectly (no conversion required).
Pre-checks
- Run from repository root with
embodiedgenenvironment active. - Confirm input URDF path(s) exist.
- For USD conversion, ensure IsaacLab/IsaacSim conversion dependencies are available.
- Prefer list inputs for
urdf_filesandtarget_dirs(same length, aligned by index).
Standard Python API Template
from embodied_gen.data.asset_converter import cvt_embodiedgen_asset_to_anysim
from embodied_gen.utils.enum import AssetType, SimAssetMapper
simulator_name = "mujoco" # isaacsim / mujoco / genesis / sapien / isaacgym / pybullet
asset_paths = cvt_embodiedgen_asset_to_anysim(
urdf_files=[
"outputs/demo_assets/remote_control/result/remote_control.urdf",
],
target_dirs=[
"outputs/demo_assets/remote_control/mjcf",
],
target_type=SimAssetMapper[simulator_name],
source_type=AssetType.URDF,
overwrite=True,
)
print(asset_paths)
Source Type Guidance
- For
MJCFtarget: prefersource_type=AssetType.URDF. - For
USDtarget: usesource_type=AssetType.MESHby default;AssetType.URDFpath is also supported when needed. - For direct-URDF simulators (
sapien,isaacgym,pybullet): skip conversion.
Direct Converter Template (Advanced)
from embodied_gen.data.asset_converter import AssetConverterFactory
from embodied_gen.utils.enum import AssetType
converter = AssetConverterFactory.create(
target_type=AssetType.USD,
source_type=AssetType.MESH,
)
with converter:
converter.convert(
"outputs/demo_assets/remote_control/result/remote_control.urdf",
"outputs/demo_assets/remote_control/usd/remote_control.usd",
)
Output Conventions
MJCF:<target_dir>/<asset_name>.xmlUSD:<target_dir>/<asset_name>.usd- API return:
{<input_urdf_path>: <converted_output_path>}
Failure Handling and Retry
- Unsupported conversion pair: verify
target_type+source_typemapping. - Missing dependencies (USD path): install/activate IsaacLab + required USD stack.
- Missing output file: verify parent output directory permissions and path correctness.
- Batch mismatch: ensure
len(urdf_files) == len(target_dirs).