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.
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.
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.
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:
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.
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.
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.
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.
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
to end of the
$HOME/.bashrc file and save the change. This will apply to any newly
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.
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:
Click the person icon in the upper right and select Sign in. Sign in with your Unity ID.
Select Installs on the left, then select Add.
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
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.