Setup

This document explains how to start developing with Isaac SDK and Isaac SIM. After following the steps in this document you should be ready to start developing robotics applications with Isaac SDK.

Prerequisites

Isaac currently only supports Ubuntu 18.04 LTS for development and simulation from your workstation. Please make sure to install recent NVIDIA graphics card drivers on your workstation; we recommend using version 440.

The compute capability of a GPU is represented by a version number. This version number identifies the features supported by the GPU hardware and is used by applications at runtime to determine which hardware features and/or instructions are available on the present GPU. The compute capability version of a particular GPU should not be confused with the CUDA version (e.g., CUDA 7.5, CUDA 8, CUDA 9), which is the version of the CUDA software platform.

Isaac SDK requires that your desktop system include a GPU with a compute capability of 3.5 or higher.

To determine the compute capability of your GPU, find your GPU on the CUDA GPUs website.

For deployment of your robotics applications Isaac works best with a Jetson Nano, Jetson Xavier NX, Jetson Xavier, or Jetson TX2 developer kit. Please make sure to install Jetpack 4.4 on your embedded devices. Isaac currently only supports this Jetpack version.

Note

Ubuntu 18.04 LTS may come installed with a higher Linux kernel version than L4T on your Jetson device, which can cause unpredictable errors when you run Isaac applications. Ensure that your workstation is using a Linux kernel version that is less than or equal to that of your Jetson device.

Installing Dependencies on the Desktop

While most of the Isaac SDK build is hermetic, some system dependencies are required. A script that installs required dependencies is included.

Note

Avoid installing CUDA manually unless you plan on running a module that uses CUDA, such as TensorFlow. If you know you need CUDA, in addition to running the script below, make sure to also install CUDA 10.0–see the CUDA Requirements for Machine Learning section below for more details.

To install dependencies, at the root folder of the Isaac SDK repository run the following command:

bob@desktop:~/isaac$ engine/build/scripts/install_dependencies.sh

The script requests your administrator password at points to install certain dependencies. It installs three kinds of dependencies:

  • Ubuntu packages from the official Ubuntu repositories via aptitude

  • Python packages via pip, for example, TensorFlow and keras

  • the build system Bazel, used by Isaac SDK.

Installing Dependencies on Robots

To install required dependencies on Jetson devices in robots, such as Jetson Nano, Jetson Xavier, and Jetson TX2, run the following command:

bob@desktop:~/isaac$ engine/build/scripts/install_dependencies_jetson.sh -u <jetson_username> -h <jetson_ip>

Where <jetson_username> is your username on the Jetson, and <jetson_ip> is the IP address of the Jetson device.

The script installs Ubuntu packages from the official Ubuntu repositories via aptitude.

Bazel

Large software projects need a reliable and efficient build system and Isaac SDK uses Bazel. Bazel enables clean module dependencies, hermetic builds, and cross-compilation for various hardware platforms like the Jetson TX2 or Jetson Xavier developer kits. Bazel is installed by the dependency script. If additional resources are needed see Installation instructions on the Bazel homepage.

Please make sure you have the correct version of bazel, currently 2.0.0. Isaac SDK might not work with an older or newer version of bazel.

Note

Bazel requires the file .bazelrc, located in the Isaac SDK package. The Archive Manager application in Ubuntu Linux may fail to extract the hidden file, leading to building errors. If you see errors when building, confirm that .bazelrc is present in the extracted sources.

NVIDIA GPU Driver

An NVIDIA GPU and corresponding driver software is required to run CUDA-enabled code on a PC. It is also required by machine learning software. We recommend using NVIDIA GPU Driver version 440.

Use the following procedure to install the driver:

bob@desktop:~/isaac$ sudo add-apt-repository ppa:graphics-drivers/ppa
bob@desktop:~/isaac$ sudo apt-get update
bob@desktop:~/isaac$ sudo apt-get install nvidia-driver-440

Replace version 440 with a later version if needed.

IsaacSim Unity3D Setup

IsaacSim Unity3D allows you to use Unity3D as the simulation environment for Isaac robotics. Follow the steps below to set up IsaacSim Unity3D.

Prerequisites

Perform all the Isaac SDK setup steps outlined above before installing Unity3D. In addition, IsaacSim Unity3D requires the Vulkan graphics API, which comes installed with the NVIDIA graphics driver. We recommend using an NVIDIA GTX 1080 or higher GPU with NVIDIA driver version 440 or above.

Tip

On some machines, Vulkan may be using another graphics card instead of the NVIDIA card by default. This results in the Unity Editor window being completely black or the binaries exiting immediately. To fix this, add the line export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json to end of the $HOME/.bashrc file and save the change. This will apply to any newly opened terminal.

Download IsaacSim Unity3D

Download IsaacSim Unity3D from the Isaac Developer Downloads website and unzip it to $HOME/isaac_sim_unity3d. This package contains both a “play mode” build and “editor mode” projects and packages. You can use the “play mode” build without installing Unity Editor, so it’s a good way to start exploring Isaac SDK and IsaacSim Unity3D. On the other hand, the “editor mode” projects and packages, which require the Unity Editor, allow you to create your own simulation environment for Isaac SDK.

Unity3D installation workflow

Install Unity Editor for Editor Mode

If you do not have a Unity ID, create a Unity account first.

Download Unity Hub for Linux from the Unity forum, then run the following commands:

bob@desktop:~$: chmod +x UnityHub.AppImage
bob@desktop:~$: ./UnityHub.AppImage

When the Unity Hub application opens, follow these steps to install the Unity Editor:

  1. Click the person icon in the upper right and select Sign in. Sign in with your Unity ID.

  2. Select Installs on the left, then select Add.

  3. In the Add Unity Version popup window, install 2019.3.x (no modules are required). The sample project for IsaacSim Unity3D is created with 2019.3.0f6, so any newer 2019.3 version can be used.

CUDA Requirements for Machine Learning

Isaac SDK supports TensorFlow version 1.15.0, which is installed by the install_dependencies.sh script.

To avoid potential issues caused by mismatching library versions, we recommend using CUDA 10.2, CUDNN 8.0.0, and TensorRT 7.1.3, which are the versions available in Jetpack.

To install CUDA 10.0 directly, follow the instructions on the NVIDIA Developer website.