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, for example version 418 works well.

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, or Jetson TX2 developer kit. Please make sure to install Jetpack 4.2 or Jetpack 4.2.1 on your embedded devices. Isaac currently only supports these Jetpack versions.

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.

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 0.19.2. 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. The NVIDIA GPU Driver version 418 or later is recommended.

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-418

Replace version 418 with a later version if needed.

Machine Learning (Optional)

When building Isaac SDK, all dependencies required for neural network execution or for writing CUDA kernels are automatically included. No pre-installed system dependencies are required.

To train a neural network however, you must set up a machine learning toolkit. For example, to use TensorFlow for machine learning, follow the TensorFlow setup instructions, which also install CUDA, TensorRT and CUDNN on your system. Test that TensorFlow is set up correctly with the following command:

bob@desktop:~/isaac$ python -c "import tensorflow"

Isaac SDK supports TensorFlow version 1.13.1.