69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
# 🎮 Use EmbodiedGen in Any Simulator
|
|
|
|
Leverage **EmbodiedGen-generated assets** with *accurate physical collisions* and *consistent visual appearance* across major simulation engines — **IsaacSim**, **MuJoCo**, **Genesis**, **PyBullet**, **IsaacGym**, and **SAPIEN**.
|
|
|
|
!!! tip "Universal Compatibility"
|
|
EmbodiedGen assets follow **standardized URDF semantics** with **physically consistent collision meshes**,
|
|
enabling seamless loading across multiple simulation frameworks — no manual editing needed.
|
|
|
|
---
|
|
|
|
## 🧩 Supported Simulators
|
|
|
|
| Simulator | Conversion Class |
|
|
|------------|------------------|
|
|
| [IsaacSim](https://github.com/isaac-sim/IsaacSim) | `MeshtoUSDConverter` |
|
|
| [MuJoCo](https://github.com/google-deepmind/mujoco) / [Genesis](https://github.com/Genesis-Embodied-AI/Genesis) | `MeshtoMJCFConverter` |
|
|
| [SAPIEN](https://github.com/haosulab/SAPIEN) / [IsaacGym](https://github.com/isaac-sim/IsaacGymEnvs) / [PyBullet](https://github.com/bulletphysics/bullet3) | `.urdf` generated by EmbodiedGen can be used **directly** |
|
|
|
|
!!! note "Simulator Integration Overview"
|
|
|
|
This table summarizes the compatibility of EmbodiedGen assets with various simulators:
|
|
|
|
| Simulator | Supported Format | Notes |
|
|
|-----------|-----------------|-------|
|
|
| IsaacSim | USD / .usda | Use `MeshtoUSDConverter` to convert mesh to USD format. |
|
|
| MuJoCo | MJCF (.xml) | Use `MeshtoMJCFConverter` for physics-ready assets. |
|
|
| Genesis | MJCF (.xml) | Same as MuJoCo; fully compatible with Genesis scenes. |
|
|
| SAPIEN | URDF (.urdf) | Can directly load EmbodiedGen `.urdf` assets. |
|
|
| IsaacGym | URDF (.urdf) | Directly usable. |
|
|
| PyBullet | URDF (.urdf) | Directly usable. |
|
|
|
|
---
|
|
|
|
|
|
## 🧱 Example: Conversion to Target Simulator
|
|
|
|
```python
|
|
from embodied_gen.data.asset_converter import cvt_embodiedgen_asset_to_anysim
|
|
from embodied_gen.utils.enum import AssetType, SimAssetMapper
|
|
from typing import Literal
|
|
|
|
simulator_name: Literal[
|
|
"isaacsim",
|
|
"isaacgym",
|
|
"genesis",
|
|
"pybullet",
|
|
"sapien3",
|
|
"mujoco",
|
|
] = "mujoco"
|
|
|
|
dst_asset_path = cvt_embodiedgen_asset_to_anysim(
|
|
urdf_files=[
|
|
"path1_to_embodiedgen_asset/asset.urdf",
|
|
"path2_to_embodiedgen_asset/asset.urdf",
|
|
],
|
|
target_dirs=[
|
|
"path1_to_target_dir/asset.usd",
|
|
"path2_to_target_dir/asset.usd",
|
|
],
|
|
target_type=SimAssetMapper[simulator_name],
|
|
source_type=AssetType.MESH,
|
|
overwrite=True,
|
|
)
|
|
```
|
|
|
|
<img src="../assets/simulators_collision.jpg" alt="simulators_collision" width="800">
|
|
|
|
Collision and visualization mesh across simulators, showing consistent geometry and material fidelity.
|