Getting Started
To guarantee optimal functionality of supported applications on Nova Orin Developer Kit, please follow all steps introduced below before installing it on your robot.
Note
You have completed Nova Orin Developer Kit Quick Start Guide after receiving Nova Orin Developer Kit. The Nova Orin Developer Kit is powered on, connected with display and primary input devices.
Setting up Network Connections on Nova Orin Developer Kit
You can connect through WiFi or Ethernet to access your local network.
Follow these steps to connect the Nova Orin Developer Kit to the local WiFi network:
Log in to the robot (contact the NVIDIA Solutions team for the login password).
Follow the WiFi instructions for Ubuntu.
You can also connect an Ethernet cable for Nova Orin on the right side.
After connecting to the internet it is required to reboot the system. Press the power button or run:
sudo reboot
Connecting a PC to the Nova Orin Developer Kit
To control, deploy, launch, and debug applications, you have to connect your PC remotely to the Nova Orin Developer Kit.
First, you must get the IP address of the Nova Orin Developer Kit. Assuming you have it connected to a display, and primary input devices from the previous section, follow these instructions:
Use
CTRL+ALT+t
to open a terminal.Find the IP address of the WiFi by running
ifconfig wlan0
. Verify that you see an output similar to the screenshot below. The IP address is highlighted with a red rectangle.
Note
If you connect Nova Orin through Ethernet, you will find IP address similarly
by running ifconfig enp1s0
Record the IP address (in the above case it is
10.110.66.127
). This IP address will be used for connecting in all further tutorials and may need to be retrieved again if it changes.From your PC run the following command to SSH into the Nova Orin Developer Kit. Make sure to use a PC that is connected to the same network as your Nova Orin Developer Kit. Enter the login password when asked for it.
$ ssh <USER>@<DEVELOPER_KIT_IP>
Note
Make sure to replace
<USER>
and<DEVELOPER_KIT_IP>
with the values for your robot. In the above case, it would bessh nvidia@10.110.66.127
.The login timeouts for security reasons. Also, the DisplayPort turns off after a while due to inactivity, so retry if the screen goes black.
Nova Orin Initialization
Verify if Nova Orin software is the latest version by comparing the installed package with the candidate:
$ apt policy nova-orin-init nova-orin-init: Installed: 1.3.2+b3 Candidate: 1.3.2+b3 Version table: *** 1.3.2+b3 600 600 https://isaac.download.nvidia.com/nova-init jammy/main arm64 Packages
If the installed version is lower than the candidate, follow the nova init upgrade process here. Otherwise proceed to the next step.
Verify that sensors are functioning by running:
nova_preflight_checker
It is expected for all tests to pass. Refer to the Nova PFC documentation for more details.
Docker Configuration
To run Docker applications on the Nova Orin Developer Kit, configure Docker as below:
Add the
nvidia
user to the docker group to enable using docker without sudo:# Add your user to the docke group sudo usermod -aG docker $USER # Verify that command succeeded id nvidia | grep docker # Log out and log in for the changes to take effect newgrp docker
Stop the Docker service.
sudo systemctl stop docker
Move the existing Docker folder.
sudo du -csh /var/lib/docker/ && \ sudo mkdir /mnt/nova_ssd/docker && \ sudo rsync -axPS /var/lib/docker/ /mnt/nova_ssd/docker/ && \ sudo du -csh /mnt/nova_ssd/docker/
Use a text editor (e.g. Vi) to edit
/etc/docker/daemon.json
sudo vi /etc/docker/daemon.json
Insert
"data-root"
line similar to the following:{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia", "data-root": "/mnt/nova_ssd/docker" }
Rename the old Docker data directory.
sudo mv /var/lib/docker /var/lib/docker.old
Restart the Docker daemon.
sudo systemctl daemon-reload && \ sudo systemctl restart docker && \ sudo journalctl -u docker
Prerequisites
If you consider using Nova Orin Developer Kit 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)
If you consider using the Nova Orin Developer Kit only through the pre-built Docker image, you can proceed to tutorials. Otherwise,
Set up your development environment by following the instructions in getting started.
Clone
isaac_ros_common
under${ISAAC_ROS_WS}/src
.cd ${ISAAC_ROS_WS}/src && \ git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
(Optional) Install dependencies for any sensors you want to use by following the sensor-specific guides.
Note
We strongly recommend installing all sensor dependencies before starting any quickstarts. Some sensor dependencies require restarting the Isaac ROS Dev container during installation, which will interrupt the quickstart process.
Note
We recommend that you connect the Nova Orin Developer Kit 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)
Clone
nova_developer_kit
repository under${ISAAC_ROS_WS}/src
:cd ${ISAAC_ROS_WS}/src && \ git clone --recursive -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/nova_developer_kit.git nova_developer_kit
Create a file called
.isaac_ros_common-config
with the following context:cd ${ISAAC_ROS_WS}/src/isaac_ros_common/scripts echo -e "CONFIG_IMAGE_KEY=ros2_humble.nova_developer_kit\nCONFIG_DOCKER_SEARCH_DIRS=(../../nova_developer_kit/docker ../docker)" > .isaac_ros_common-config
Create a file called
.isaac_ros_dev-dockerargs
with the following context: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
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Clone the dependency repositories using the
vcstool
file in thenova_developer_kit
repository:cd /workspaces/isaac_ros-dev vcs import --recursive --workers 1 --delay 5.0 src < src/nova_developer_kit/nova_developer_kit.repos
Visualization Setup
To visualize and evaluate outputs from camera-based perception applications, you should follow those steps on your remote machine.
Complete the Foxglove setup guide. Make sure to install additional Nvblox Foxglove extension.
Download all Foxglove layout configurations available in nova_developer_kit repository.
Tutorials
You are recommended to go through following tutorials to visualize sensor outputs, and prepare running camera-based perception on your robot.
Visualizing Sensors Outputs on the Nova Orin Developer Kit
Follow the Tutorial: Run all Sensors on the Nova Orin Developer Kit.
Running Camera-based 3D Perception on a Robot
Follow the Tutorial: Camera-based 3D Perception with Isaac Perceptor with the Nova Orin Developer Kit.