Skip to content

sharronliu/isaacsim-app-template

 
 

Repository files navigation

Isaac Sim App Template

Overview

This repository provides Isaac Sim applications pre-built and ready to use. These applications mirror the .kit configs provided alongside Isaac Sim binary release packages.

Pre Built Isaac Sim Applications

Applications that contain base are minimal Isaac Sim applications that do not contain all of the GUI utilities. Applications that contain full enable a more complete set of extensions by default.

Kit experience app file Description
isaacsim.exp.base.kit Base .kit file contains most of the extensions and settings used by other .kit files
isaacsim.exp.base.xr.vr.kit Base + VR extensions
isaacsim.exp.base.zero_delay.kit Base + settings to force zero delay between rendering and simulation at a cost of reduced performance.
isaacsim.exp.full.kit Full Isaac Sim application, mirrors isaac-sim.sh from Isaac Sim binary installs
isaacsim.exp.full.fabric.kit Full + Fabric enabled for simulation, in certain cases this will improve performance at the cost of disabling updates from simulation to USD
isaacsim.exp.full.streaming.kit Full + Streaming enabled

These applications should be used as a quick way for users to start using Isaac Sim, If you are interested in building your own applications continue to the next section.

Quick Start

This section guides you through creating your first Kit SDK-based Application using the isaacsim-app-template repository. For a more comprehensive explanation of functionality previewed here, reference the following Tutorial for an in-depth exploration.

Prerequisites and Environment Setup

Please see Kit App Template: Prerequisites and Environment Setup for more information on recommended software and system specifications.

1. Clone the Repository

Begin by cloning the isaacsim-app-template to your local workspace:

1a. Clone

git clone https://github.com/isaac-sim/isaacsim-app-template.git

1b. Navigate to Cloned Directory

cd isaacsim-app-template

2. Use prebuilt IsaacSim applications

Several default IsaacSim applications are provided and can be built using the following command.

Linux:

./repo.sh build

Windows:

.\repo.bat build

These applications can be launched by going into the build directly and running the associated .sh. For example:

Linux:

./_build/linux-x86_64/release/isaacsim.exp.full.kit.sh

Windows:

.\_build\windows-x86_64\release\isaacsim.exp.full.kit.bat

3. Using Standalone Python

Standalone python scripts are also supported by default and can be executed like so

Linux:

./_build/linux-x86_64/release/python.sh source/standalone_examples/hello_world.py

Windows:

.\_build\windows-x86_64\release\python.bat source\standalone_examples\hello_world.py

4. Creating Templates

Creating additional templates is not required to run the default applications. You can stop here and run IsaacSim using the generated .sh files or continue to learn how to make your own applications.

Create and Configure New Application From Template

Details about the Isaac Sim templates provided and how to create, build and launch can be found here:

  • IsaacSim: App definitions for isaac sim workflows. Two templates are provided: a base/minimal template and a full template with all isaac sim extensions enabled.

For a more in depth introduction to the kit-app-template system please see kit-app-template and Kit App Template: Deeper Understanding. In contrast This repository focuses on getting up and running with the isaac sim app templates and does not cover some of the finer details about the kit-app-template system

Extension Templates

Enhance Omniverse capabilities with extension templates to create new extensions that can be added to your application:

  • Basic Python: The minimal definition of an Omniverse Python Extension.

  • Basic C++: The minimal definition of an Omniverse C++ Extension.

    Note for Windows C++ Developers : This template requires "platform:windows-x86_64".enabled and link_host_toolchain within the repo.toml file be set to true. For additional C++ configuration information see here.

  • Python UI: An extension that provides an easily extendable Python-based user interface.

Additional Resources

Troubleshooting

  • If you are seeing errors when building the app template, please try cleaning the repository using git clean -fdx and building/creating a new template. Commit any work you want to preserve before doing this.

  • If you are seeing errors when running either a pre-built application or a template based app, please use the --reset-user launch argument.

    Linux:

    ./repo.sh launch -- --reset-user

    Windows:

    .\repo.bat launch -- --reset-user

    Or if launching an app via the .sh/.bat directly appent --reset-user directly

  • Run the following if you see errors similar to : [Error] [omni.ui] Failed to upload UI Image

    git lfs install
    git lfs pull
    

    This will ensure that all lfs content is pulled correctly

  • If you see the following errors, close and open a new terminal

    [Error] [carb.livestream-rtc.plugin] Stream Server: starting the server failed, 0x800B1002
    [Error] [carb.livestream-rtc.plugin] Could not initialize streaming components
    [Error] [carb.livestream-rtc.plugin] Couldn't initialize the capture device.
    

License

Development using the Omniverse Kit SDK is subject to the licensing terms detailed here.

Data Collection

The Omniverse Kit SDK collects anonymous usage data to help improve software performance and aid in diagnostic purposes. Rest assured, no personal information such as user email, name or any other field is collected.

To learn more about what data is collected, how we use it and how you can change the data collection setting see details page.

Contributing

We provide this source code as-is and are currently not accepting outside contributions.

About

Isaac Sim App Template

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kit 41.1%
  • Python 31.9%
  • PowerShell 9.6%
  • Shell 7.3%
  • Batchfile 6.2%
  • C++ 1.6%
  • Other 2.3%