Can load the dataset into Omniverse Isaac Sim?

Hi,
I want to perform some simulation tasks of robot manipulation.
Is there a way to load some objects in the dataset (such as YCB, etc.) to Isaac Sim

Hi…

It is possible to import assets to Isaac Sim.
There is a section about it in the documentation: Importing Assets into Kit

Also, the next example shows how to import and setup the apple form YCB dataset in Isaac Sim.

  1. Unzip and copy the 013_apple folder to Isaac Sim / Nucleus

  2. Select Import on the top-left side of the Content tab and choose the 3D file to be imported (supported formats are: FBX, OBJ, GLTF, and LXO)

  1. Adjust some parameters and press Import. The name wrote bellow Create Folder checkbox will be the name of the exported folder in omni:/Isaac path

  1. Open the created USD asset (omni:/Isaac/apple/textured.usd), select the Root XForm and adjust some visual parameters; like X, Y, Z scale to 100.00 (maybe there are some differences with the scale units between the USD and the OBJ object, I don’t know, just I’m guessing). Note: the F key center the selected object in the viewport

  1. Adjust some physics properties to allow interaction in the simulation. In this previous post there is some discussion about setup the PhysicsAPI , CollisionAPI , MassAPI:mass components. Also, change (or not) the mass and the mesh collision. Then Save/Save As… the changes. Note: to visualize the mesh set the “Show collision shapes” to “Selected” on the PhysX debug windows (Menu: Physics > PhysX Debug Window)

Finally, the next image shows how the imported and configured apple falls into the bin (ur10_bin_filling.usd stage)

2 Likes

Thank you for detailed answer, it looks great!

Hi,
Sorry to interrupt again.
I followed your steps and it looks good, now I want to know is there a way to import assets in batches instead of manually importing each asset? Need to write a script?

Hi…

As far as I know, there is not anything related to import assets via scripting in the Kit Programming Manual.

But, after doing some search I found the extension folder that contains the code of the Asset Import:

/isaac-sim/_build/target-deps/kit_sdk_release/_build/linux-x86_64/release/extensions/extensions-other/omni/assetimport

Even when the core of this package is a human unreadable compiled file (_assetconverter.cpython-36m-x86_64-linux-gnu.so), there is some desciption in assetconverter/__init__.py file (Note: I haven’t tested this code so I don’t know how it works)

"""This module contains bindings to omniverse_asset_converter.dll interface.
   The function convert asset file which identify by `in_filename` to usd file which identify
   by `out_filename`. Currently, only fbx and obj are fully tested.
    >>> import assetconverter
    >>> import asyncio
    >>> with assetconverter.OmniAssetConverter(in_filename, out_filename) as future:
    >>>     status = assetconverter.OmniConverterStatus.eOK
    >>>     while True:
                status = assetconverter.omniConverterCheckFutureStatus(future)
                if status == assetconverter.OmniConverterStatus.eInProgress:
                    await asyncio.sleep(0.1)
                else:
                    break

            if status == assetconverter.OmniConverterStatus.eOK:
                pass # Handle success
            else:
                pass # Handle failure
"""

I hope this is useful to you…