Project Installation#

Solution is based on NVIDIA Omniverse with Python interface. There are two ways of installation. End user installation and development installation. The guide follows Linux based installation steps, which is also the recommended option.

End User Installation#

Docker Compose#

Error

Docker Compose guide is not complete!

Attention

❗ NVIDIA GPU is required. ❗

To be able to run ArDaGen using Docker Compose, perform following steps:

  1. Install Docker (how to install).

  2. Install Docker Compose (how to install).

  3. Pull NVIDIA Omniverse Isaac Sim Docker image.

Development Installation#

Follow the instruction steps. Linux (Ubuntu 22.04) installation was tested only. The installation might not work on Windows.

Attention

❗ NVIDIA GPU is required. ❗

  1. Download and install NVIDIA Omniverse Launcher from here.

  2. Run Omniverse Launcher and install Isaac Sim application. See the link.

  3. Install Microsoft Visual Studio Code. Other IDEs are not supported out of the box, nor tested.

  4. Download the repository using

    git clone --recurse-submodules https://github.com/OndrejSzekely/metron_ai_ardagen.git
    
  5. Move ArDaGen repository into Isaac Sim’s root folder.

    # a sample command, your paths will be different and also Isaac Sim version might not match
    mv  /ssd_crucial/projects/metron_ai_ardagen /ssd_crucial/omniverse/isaac_sim-2022.1.0/
    
  6. Install pre-commit in your environment and then install the hook by running pre-commit install.

  7. (optional) Download Shapenet’s ShapeNetCore v2 dataset. You have to register on the page to be allowed to download the dataset. Place the downloaded dataset into any arbitraty location, but a fast storage is recommended.

  8. To start Visual Studio project, go into Isaac Sim’s root folder and run code .. It will open a setup Visual Studio project with everything predefined.

    In the Explorer tab whole Isaac Sim folder is present, but everything else, except metron_ai_garden folder, is irrelevant for the development.

    Hint

    📋 ✋ Be aware that debuging is performed using the Python: Current File option in Run & Debug.

  9. Append

    "./metron_ai_ardagen",
    

    into python.analysis.extraPaths list in <ISAAC_SIM_ROOT_FOLDER_PATH>/.vscode/settings.json file.

  10. Install missing Python requirements. Go into Isaac Sim’s root folder and run ./python.sh -m pip install -r metron_ai_ardagen/requirements.txt.

  11. Download Metron AI ArDaGen Omniverse Extension which is an Omniverse Extension

    git clone --recurse-submodules https://github.com/OndrejSzekely/metron_ai_ardagen_omni_ext.git
    
  12. Run Isaac Sim and open Extension window (windowExtensions). Click on the gear icon and in Extension Seatch Paths add the path to exts folder in the cloned Metron AI ArDaGen Omniverse Extension repository.

    Installation of Metron AI ArDaGen OV Extension

Bug Fixes#

Bug #1: OV Replicator camera detach fails at the end of data generation#

'dict' object has no attribute 'discard'
  File "/ssd_crucial/omniverse/library/isaac_sim-2022.1.0/exts/omni.replicator.core-1.2.0+cp37/omni/replicator/core/scripts/writer_registry.py", line <line_num>, in detach

In exts/omni.replicator.core<VERSION>/omni/replicator/core/scripts/writer_registry.py on line <line_num> change

cls._render_product_writer_mapping[render_product].discard(writer_name)

into

cls._render_product_writer_mapping[render_product].pop(writer_name)