<< All versions

Skill v1.0.0

currentAutomated scan100/100
horizonrobotics/embodiedgen/asset-converter
──Details
PublishedOctober 22, 2026 at 05:48 PM
Content Hashsha256:0138a2554b15e59f...
Git SHAf0124197888c
──Files
Files (1 file, 3.2 KB)
SKILL.md3.2 KBactive
SKILL.md · 90 lines · 3.2 KB

version: "1.0.0" name: asset-converter description: Convert EmbodiedGen URDF assets to simulator-specific formats (USD/MJCF/URDF) using embodied_gen.data.asset_converter APIs. Use this skill whenever users ask to export assets for IsaacSim, MuJoCo, Genesis, IsaacGym, PyBullet, or SAPIEN, batch-convert URDF assets, or choose the correct converter/source_type per simulator.


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)

  1. IsaacSim -> convert to USD.
  2. MuJoCo / Genesis -> convert to MJCF (.xml).
  3. SAPIEN / IsaacGym / PyBullet -> use EmbodiedGen .urdf directly (no conversion required).

Pre-checks

  1. Run from repository root with embodiedgen environment active.
  2. Confirm input URDF path(s) exist.
  3. For USD conversion, ensure IsaacLab/IsaacSim conversion dependencies are available.
  4. Prefer list inputs for urdf_files and target_dirs (same length, aligned by index).

Standard Python API Template

python
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 MJCF target: prefer source_type=AssetType.URDF.
  • For USD target: use source_type=AssetType.MESH by default; AssetType.URDF path is also supported when needed.
  • For direct-URDF simulators (sapien, isaacgym, pybullet): skip conversion.

Direct Converter Template (Advanced)

python
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>.xml
  • USD: <target_dir>/<asset_name>.usd
  • API return: {<input_urdf_path>: <converted_output_path>}

Failure Handling and Retry

  1. Unsupported conversion pair: verify target_type + source_type mapping.
  2. Missing dependencies (USD path): install/activate IsaacLab + required USD stack.
  3. Missing output file: verify parent output directory permissions and path correctness.
  4. Batch mismatch: ensure len(urdf_files) == len(target_dirs).
All versions