=========================== 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 :doc:`Isaac Apt Repository ` and setup dependencies with ``rosdep`` OR you can use a Docker-based development environment through :ref:`Isaac ROS Dev `. We **strongly** recommend that you set up your :ref:`developer environment ` with Isaac ROS Dev. 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 :doc:`Isaac Apt Repository `. .. note:: All Isaac ROS Quickstarts, tutorials, and examples have been designed with the **Isaac ROS Dev 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 :ref:`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 :doc:`here ` 1. Docker configuration: .. tabs:: .. tab:: On Jetson platforms Follow :doc:`this instruction ` to first set your Jetson up with SSD, then come back to this document and resume from Step 2. .. tab:: On x86_64 platforms 1. Install the ``nvidia-container-toolkit`` using the `instructions `__. 2. Configure ``nvidia-container-toolkit`` for Docker using the `instructions `__. 2. Restart Docker: .. code:: bash sudo systemctl daemon-reload && sudo systemctl restart docker 3. Install `Git LFS `__ to pull down all large files: .. code:: bash sudo apt-get install git-lfs .. code:: bash git lfs install --skip-repo 4. Create a ROS 2 workspace for experimenting with Isaac ROS: .. tabs:: .. tab:: Jetson with SSD .. code:: bash mkdir -p /mnt/nova_ssd/workspaces/isaac_ros-dev/src echo "export ISAAC_ROS_WS=/mnt/nova_ssd/workspaces/isaac_ros-dev/" >> ~/.bashrc source ~/.bashrc .. tab:: x86_64 and Jetson without SSD .. code:: bash 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. .. note:: To further customize your development environment, check out :ref:`this guide `. .. note:: To enable building sensor drivers for RealSense, etc, please follow :doc:`this guide `. This needs a modification to the parameters for ``run_dev.sh`` script. .. toctree:: :hidden: :maxdepth: 2 isaac_apt_repository.rst Troubleshooting --------------- Check out our :doc:`troubleshooting ` section for issues with setting up your development environment.