Using PMD flexx2 3D Camera with Local UI (Royalviewer) Running Natively on i.MX 8M Plus

1. Overview

This application note describes how to connect the PMD flexx2 3D camera to the NavQPlus board, and use the Royaleviewer camera UI running on the NavQPlus for streaming data from the camera.

The PMD flexx2 3D camera is built on the Infineon’s IRS2381C REAL3™ Time-of-Flight Image Sensor and implements a PMD patented 3D Time-of-Flight Technology. The camera characteristics include up to 2.4M 3D points per second and 7 m measurement range with incredible data quality. The flexx2 camera comes with a special software development kit (SDK) “Royale”, that supports popular programming extensions including Matlab, OpenCV, and ROS 1+2. Refer to the PMD flexx2 product page for additional details:

2. Connecting the Camera

To connect the PMD flexx2 camera to the NAVQPlus kit, use a USB 3.1 Gen 1 compatible USB cable and connect the camera to the USB1 port of the carrier board. Alternatively, the flexx2 camera can be connected to a USB hub that is plugged into the USB1 port of the NAVQ+.

For visualizing 3D video stream coming from the camera connect an HDMI display to the micro HDMI port of the NAVQPlus carrier.

The following picture illustrates connection of the camera and display to the kit:

3. Software Setup

With some USB hubs the NavQPlus USB1 port may not switch into the host mode automatically, leading to a situation when the flexx2 camera cannot be detected by the NavQPlus USB subsystem. In such case the USB1 port should be switched to host mode manually using the below command:

sudo su -c 'echo host > /sys/kernel/debug/usb/38100000.usb/mode'

The default password for the sudo command in the above command example is “user”.

4. Running Royaleviewer

On the NavQPlus display, navigate to the Gnome application menu, and find the Royaleviewer icon. Run the Royaleviewer application, then press the “Start” button in the bottom right corner. The PMD flexx2 camera will initialize and start streaming the 3D visualization of the surrounding area.

Alternatively, Royaleviewer can be started from a serial or ssh connection using the below command line:

user@imx8mpnavq:~$ royaleviewer --ac --3d

The following picture illustrates Royaleviewer running on a 800x480 HDMI display connected to the NavQPlus:


5. Known Problems And Limitations

NAVQP-174: WIFI connection may freeze when the flexx2 camera is connected to the USB1 port of the NavQPlus. The Ethernet connection should be used for working around this problem.

NAVQP-119: Under some circumstances automatic mode switching between device and host mode is not working for the USB1 port. In this case USB1 port should be manually switched into the host mode for the flexx2 camera to appear in the system.