Tutorial: Run all Sensors on the Nova Orin Developer Kit

This tutorial walks you through visualizing all sensors on your Nova Orin Developer Kit.

For this tutorial, you must have successfully set up your Nova Orin Developer Kit using the setup instructions here, and you must be familiar with the Isaac ROS development environment.

Run the Application

  1. SSH into your Nova Orin Developer Kit (instructions).

  2. Build/install the required packages and run the app:

  1. Pull the Docker image:

docker pull nvcr.io/nvidia/isaac/nova_developer_kit_bringup:release_3.1-aarch64
  1. Run the Docker image:

docker run --privileged --network host \
    -v /dev/*:/dev/* \
    -v /tmp/argus_socket:/tmp/argus_socket \
    -v /etc/nova:/etc/nova \
    nvcr.io/nvidia/isaac/nova_developer_kit_bringup:release_3.1-aarch64 \
    ros2 launch nova_developer_kit_bringup sensors.launch.py

Visualizing the Sensor Outputs

  1. Make sure you complete Visualization Setup.

  2. In Foxglove open the nova_developer_kit_sensors.json layout file downloaded in the previous step.

  3. Validate that you can see a visualization of the dev kit and the enabled sensors. Per default, only the front stereo camera is enabled. You are encouraged not to stay too close to cameras. You should expect a visualization similar to the following:

Foxglove visualization of the sensors

Note

The example streams the camera images in their full resolution to Foxglove. This requires a substantial amount of bandwidth and is only done here for exemplary purposes. Most likely the image stream will be fairly choppy due to the large bandwidth. For a better visualization experience, we recommend that you only visualize resized images or h264 streams.

Note

The fisheye cameras use the equidistant distortion model which is not yet supported in Foxglove. For this reason, it is not possible to visualize a fisheye camera in the 3D panel in Foxglove. You can however add an additional Image panel and use this to visualize the fisheye camera. In the Image panel’s settings set Topic to the fisheye camera’s image topic and set Calibration to None.

Enabling More Sensors

By default, as specified in the launch file sensors.launch.py, only the front stereo camera and front fisheye camera are enabled. You can, however, pass additional launch arguments to enable more sensors.

To see all available launch arguments use the --show-args argument, for example:

ros2 launch nova_developer_kit_bringup sensors.launch.py --show-args

You can run this command directly on host or just append it to your docker run command from above.

You can enable more stereo or fisheye cameras with the launch arguments enabled_stereo_cameras and enabled_fisheye_cameras.

For example to enable all stereo cameras you could run the following launch command:

ros2 launch nova_developer_kit_bringup sensors.launch.py \
    enabled_stereo_cameras:=front_stereo_camera,left_stereo_camera,right_stereo_camera

In the same fashion, you can also enable the fisheye cameras.

ros2 launch nova_developer_kit_bringup sensors.launch.py \
    enabled_fisheye_cameras:=front_fisheye_camera,left_fisheye_camera,right_fisheye_camera

To visualize the sensors in Foxglove follow the same setup as before.

Note

Streaming higher bandwidth data to Foxglove causes higher latency. You can choose an appropriate value for the send_buffer_limit parameter in Foxglove bridge to control latency vs. high bandwidth data visualization.