Skip to main content

NVIDIA Jetson Platform Integration

Migrate OpenEB to Nvidia Jetson Platform

This guide demonstrates how to migrate OpenEB to Nvidia Jetson platform using Nvidia Orin Jetpack 5.0.2 (L4T 35.1) as an example.

Reference Documents

1. Preparation Document

The patch file of OpenEB plugin: sensing_imx646.diff

Download it from: https://autosensee.feishu.cn/drive/folder/LS9hffxYvl6fAXdF2wmcyIZCn2g

2. Install Dependent Packages

System Dependencies

$ sudo apt update
$ sudo apt -y install apt-utils build-essential software-properties-common wget unzip curl git cmake
$ sudo apt -y install libopencv-dev libboost-all-dev libusb-1.0-0-dev
$ sudo apt -y install libhdf5-dev hdf5-tools libglew-dev libgifw3-dev libgifww3-dev libcanberra-gtk-module ffmpeg
$ sudo apt-get install libprotobuf-dev protobuf-compiler
$ sudo apt -y install libgtest-dev libgmock-dev

Python Libraries

$ sudo apt -y install python3-pip python3-distutils
$ sudo apt -y install python3.X-dev # where X is 8, 9 or 10 depending on your Python version (3.8, 3.9 or 3.10)
$ python3 -m pip install pip --upgrade
$ python3 -m pip install "opencv-python==4.5.5.64" "sk-video==1.1.10" "fire==0.4.0" "numpy==1.23.4" pandas scipy h5py
$ python3 -m pip install jupyter jupyterlab matplotlib "ipywidgets==7.6.5" pytest command_runner

Install pybind11 (version >= 2.6.0)

$ wget https://github.com/pybind/pybind11/archive/v2.6.0.zip
$ unzip v2.6.0.zip
$ cd pybind11-2.6.0
$ mkdir build && cd build
$ cmake .. -DPYBIND11_TEST=OFF
$ cmake --build .
$ sudo cmake --build . --target install

Install PyTorch 1.13.1

$ python3 -m pip install "numba==0.56.3" "profilehooks==1.12.0"
$ python3 -m pip install "pytorch_lightning==1.8.6" "tqdm==4.63.0" "kornia==0.6.8"

3. Compile and Install OpenEB

Download the OpenEB source code. The current version is v4.3.0:

$ git clone https://github.com/prophesee-ai/openeb.git --branch 4.3.0

Copy the patch file sensing_imx646.diff to hal_psee_plugins directory and apply the patch:

$ git apply sensing_imx646.diff

Compile and install:

$ cd openeb
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF
$ cmake --build . --config Release -- -j 'nproc'
$ sudo cmake --build . --target install

Add the following environment variables to the end of your ~/.bashrc file:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/local/hdf5/lib/plugin

Make environment variables effective:

$ source ~/.bashrc

4. Connect and Test Equipment

4.1 Connect Equipment

Connect EVS camera to the USB port of NVidia Orin device via USB cable.

View the device through the lsusb command:

$ lsusb

You should see output containing "SENSING USB3 EVS CAMERA" in the list.

4.2 View Device Information

$ metavision_platform_info

This will display detailed information about the connected camera, including:

  • Available data encoding formats
  • Current data encoding format
  • Connection type
  • Camera build date and version
  • Sensor name and serial number
  • Available device configuration options

4.3 Run Sample Viewer

$ metavision_viewer

This will launch the Metavision viewer application where you can visualize the event-based camera output.

What's next?