Developer Environment Setup

The development flow currently supported by Isaac ROS is to build on your target platform. You can setup ROS 2 Humble in your host machine with the Isaac ROS Buildfarm and setup dependencies with rosdep OR you can use the Isaac ROS Dev Docker-based development environment through run_dev.sh.

We strongly recommend that you set up your developer environment with Isaac ROS Dev Docker images. This will streamline your development environment setup with the correct versions of dependencies on both Jetson and x86_64 platforms. Working within the Isaac ROS Dev Docker containers will also automatically give you access to our Isaac ROS Buildfarm.

Note

All Isaac ROS Quickstarts, tutorials, and examples have been designed with the Isaac ROS Docker images as a prerequisite.

For more information on the Isaac ROS Dev Docker-based development environment and how to customize it for your needs, check out this guide.

Note

Before you begin, verify that you have sufficient storage space available on your device. We recommend at least 30 GB, to account for the size of the container and datasets.

On Jetson platforms, NVMe SSD storage is required for sufficient and fast storage. See here

  1. On x86_64 platforms:

    1. Install the nvidia-container-toolkit using the instructions.

    2. Configure nvidia-container-toolkit for Docker using the instructions.

    On Jetson platforms: Follow this instruction to first set your Jetson up with SSD, then come back to this document and resume from Step 2.

  2. Restart Docker:

    sudo systemctl daemon-reload && sudo systemctl restart docker
    
  3. Install Git LFS to pull down all large files:

    sudo apt-get install git-lfs
    
    git lfs install --skip-repo
    
  4. Create a ROS 2 workspace for experimenting with Isaac ROS:

    For Jetson setup with SSD as optional storage:

    mkdir -p  /ssd/workspaces/isaac_ros-dev/src
    echo "export ISAAC_ROS_WS=/ssd/workspaces/isaac_ros-dev/" >> ~/.bashrc
    source ~/.bashrc
    
    mkdir -p  ~/workspaces/isaac_ros-dev/src
    echo "export ISAAC_ROS_WS=${HOME}/workspaces/isaac_ros-dev/" >> ~/.bashrc
    source ~/.bashrc
    

    We expect to use the ISAAC_ROS_WS environmental variable to refer to this ROS 2 workspace directory, in the future.

To further customize your development environment, check out this guide.

Troubleshooting

Check out our troubleshooting section for issues with setting up your development environment.