Nvidia Xavier NX User Guide

Setting up the system

Required hardware

  • AD-96TOF1-EBZ development kit

  • Nvidia Xavier NX

  • 9V to 19V power supply for Jetson.

  • To run the system in standalone mode, besides the accessories that are provided in the AD-96TOF1-EBZ box you’ll need an additional HDMI cable to connect to a monitor and a USB keyboard and mouse

  • Camera flex cable for connection between Xavier NX and AD-96TOF1-EBZ

Modifying the AD-96TOF1-EBZ to work with the Nvidia Xavier NX

All changes required for RPi are applicable to Nvidia Xavier NX. So please follow the instructions presented here: Raspberry Pi User Guide

Prepare SD card

  • Download and flash on a SD card the latest image provided from the following link: aditof_sdk#ad-96tof1-ebz

  • Download L4T BSP L4T BSP package (Tested release R32.3.1)

  • Extract kernel_src from BSP package

  • ADI ToF camera driver and devicetree should be taken from aditof_sdk.

  • Copy paste and replace content of kernel_src folder from L4T BSP with the one downloaded from ADI ToF Repository

  • Build Kernel and devicetree blob following instructions from Building_the_Kernel_from_Source selecting “CONFIG_VIDEO_ADDI9036” and “CONFIG_EEPROM_AT24” using menuconfig

  • Copy generated kernel Image and devicetree to SD card

Power on sequence

  • Plug the SD card into the Nvidia Xavier NX SD card slot

  • Connect the HDMI cable from the monitor to the Jetson HDMI connector

  • Connect the camera cable between the J1 connector of Jetson Xavier NX and the P1 connector of the ToF board

  • Connect a USB mouse and keyboard to the Xavier NX

  • connect the 5V power supply to the camera board and set the camera power switch S2 to on. Once the camera board is powered up the DS1 LED will turn on

  • connect the 9V-19V power supply to the Xavier NX. Once power is connected to the Jetson the system will boot the Linux OS from the SD card.

Important

Password for “analog” user is “analog”. This user has sudo rights

Jetson Xavier nx connections rev. C

Power off sequence

  • Open a terminal and type sudo poweroff. This will safely power off and ensure that the SD card is properly unmounted

  • remove the 5V supply from the Nvidia Jetson

  • Set the camera board power switch to off

Troubleshooting

  • Linux does not boot

    • The SD card is corrupted and this prevents the system from booting. Reflash the SD card or check generated devicetree or kernel image


Running the evaluation application

This example demonstrates how to capture data from the TOF system on the Nvidia jetson and display it using OpenCV.

Once Linux boots you’ll see on the HDMI monitor the Linux desktop and on the top left corner a shortcut to the evaluation application. Double clicking on the icon will start the evaluation application. A console window will open to show the application’s status and, after a few seconds, the evaluation application GUI will be displayed.

aditof-demo

When starting the application, a terminal window will open to display status messages (also warning and error messages, in case there are any issues). Shorty the main window will show up.

The evaluation application allows to do live streaming of depth and IR data as well as recording the depth and IR data and playing back from a file. The depth data is displayed as a color map ranging from warm to cold colors as the distance from the camera increases. A point in the middle of the depth image shows the distance in mm to the target.

There are 3 operating modes that determine the range of the system:

  • Near - 25cm to 80cm

  • Medium - 30cm to 4.5m (Rev.B: 80cm to 3m)

  • Far - 300cm to 600cm

When in a certain operating mode the system will measure distances outside of the mode’s range but those will not be accurate.

The system is factory calibrated to achieve high accuracy in all the operating modes for indoor environments. It is possible to recalibrate the system for your specific operating conditions by using the calibration procedure and tools provided here.

The evaluation application also displays the temperature in deg C of the camera (AFE) and laser boards as read from the temperature sensors installed on each board.

The framerate at which data is acquired from the system is constantly updated on the GUI. The camera board outputs data at 30 frames per second (fps), but due to USB connection limitations, the host PC acquires the frames at a lower rate.

Enabling the point cloud display in aditof-demo

  • The demo application has the capability to display a point cloud image if it detects an OpenCV module called viz.

Unfortunately OpenCV does not provide binaries for this module so a manual build is needed. The steps required to install OpenCV and include it in the project are presented here: Windows Linux

  • If aditof-demo finds all the OpenCV required modules a button in the interface will allow you to display the point cloud. By toggling the button a separate window will appear.

aditof-demo

Important

Due to the limited computation speed of DragonBoard410c it is recomended to enable the point cloud only in the desktop sdk

Troubleshooting

  • The demo application hangs after closing the main window

    • Due to some limitations the application always hangs if it is closed using the regular X button from the window top bar (title bar). To avoid this unpleasant hang, we’ve made available a second X button in the top right corner right above the title bar that can be used to safely close the demo application. We hope this to be a temporary workaround.