isaac-sim / IsaacLab

Unified framework for robot learning built on NVIDIA Isaac Sim
https://isaac-sim.github.io/IsaacLab
Other
2.19k stars 907 forks source link

[Question] How to make franka_alt_finger.usd or custom USDs instanceable in IsaacLab #1080

Closed right-chan closed 1 month ago

right-chan commented 1 month ago

Hi, I want to make other USDs, such as franka_alt_finger or custom robots, instanceable in IsaacLab.

I noticed a structural difference between franka.usd and franka_instanceable.usd in the following path: omniverse://localhost/NVIDIA/Assets/Isaac/4.2/Isaac/Robots/Franka/

The structure is different, so I think the approach outlined in the instanceable assets documentation cannot be directly applied.

Are there any examples or best practices for making USDs like franka_alt_fingers.usd or other custom USDs instanceable?

Any help or suggestions would be appreciated!

kellyguo11 commented 1 month ago

To make an existing USD instanceable, you can follow the guideline at https://docs.omniverse.nvidia.com/isaacsim/latest/isaac_lab_tutorials/tutorial_instanceable_assets.html?highlight=instanceable#hierarchy-requirement-for-instanceable-assets to understand the structure requirement for instanceable assets. The conversion process to bring an existing USD into the required structure could be a bit manual, since each asset is designed in different ways. The easiest method to make an asset instanceable is through the importers directly from MJCF or URDF. These importers will take care of the structure conversion to make sure it can work as an instanceable asset.