Getting Started =============== .. include:: /../shared/_snippets/nova_carter/getting_started.rst .. _nova-carter-dev-setup: Prerequisites ------------- If you consider using `Nova Carter` only through the pre-built docker image, continue to Visualization Setup. Otherwise, you should complete Isaac ROS Development Environment, repositories, and visualization setup before proceeding to run the applications. Isaac ROS Development Environment Setup (Optional) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: /_snippets/set_up_dev_env.rst .. note:: Ensure you have set up the SSD and migrated the Docker directory to SSD. Instructions can be found :ref:`here `. .. note:: We recommend that you connect the `Nova Carter` through Ethernet in this step. Building a Docker image for the development environment takes longer time in the first time you run it. Expect faster spin-up of the development environment after the first cached build. Repositories Setup (Optional) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. conditional_render:: internal .. note:: In order to clone private repositories from the dev container you will need a valid SSH key and a running SSH agent. To enable the SSH agent run the following on your personal computer: .. code:: bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 When SSHing to the robot make sure to forward your SSH Agent with the ``-A`` flag in ``ssh``, i.e. ``ssh -A ``. You can check that the SSH agent is running with your SSH key by running ``ssh-add -l`` (can be run on the personal computer, on the robot and inside of the dev container). 1. Clone ``nova_carter`` repository under ``${ISAAC_ROS_WS}/src``: .. code:: bash cd ${ISAAC_ROS_WS}/src && \ git clone --recursive :ir_clone:`` 2. Create a file called ``.isaac_ros_common-config`` with the following context: .. code:: bash cd ${ISAAC_ROS_WS}/src/isaac_ros_common/scripts echo -e "CONFIG_IMAGE_KEY=ros2_humble.nova_carter\nCONFIG_DOCKER_SEARCH_DIRS=(../../nova_carter/docker ../docker)" > .isaac_ros_common-config 3. Create a file called ``.isaac_ros_dev-dockerargs`` with the following context: .. code:: bash cd ${ISAAC_ROS_WS}/src/isaac_ros_common/scripts && \ echo -e "-v /etc/nova/:/etc/nova/\n-v /opt/nvidia/nova/:/opt/nvidia/nova/\n-v /mnt/nova_ssd/recordings:/mnt/nova_ssd/recordings" > .isaac_ros_dev-dockerargs 4. Launch the Docker container using the ``run_dev.sh`` script: .. code:: bash cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh 5. Clone the dependency repositories using the ``vcstool`` file in the ``nova_carter`` repository: .. code:: bash cd /workspaces/isaac_ros-dev vcs import --recursive --workers 1 --delay 5.0 src < src/nova_carter/nova_carter.repos .. _visualization-setup-carter: Visualization Setup ~~~~~~~~~~~~~~~~~~~ To visualize and evaluate outputs from running applications, you should follow these steps on your remote machine. 1. Complete the :ref:`Foxglove setup ` guide. Make sure to follow the instructions of :ref:`installing additional Nvblox Foxglove extension `. 2. Download all Foxglove layout configurations available in :ir_repo:`nova_carter repository `.