Setting up a Camera

The Slamcore SDK supports the following cameras:

  • Intel RealSense D435i

  • Intel RealSense D455

  • Luxonis OAK-D S2 FF

Follow the steps below to set up one of the supported cameras:

Setting up an Intel® RealSense™ Camera

Note

Slamcore software packages link statically to the Intel RealSense SDK 2.0, librealsense2, meaning the necessary libraries are included in our packages and no separate installation of librealsense2 is necessary to run our tools.

However, to use the D435i or D455 depth camera, most systems will require building and activating kernel modules or setting up udev rules to complete the setup of the librealsense2 features required by Slamcore software.

To complete this essential step, follow the steps below.

Warning

The D435i and D455 depth cameras require a USB 3.0 connection - make sure you are using a USB 3.0 rated cable and port on your compute board.

To start using our software with live camera data you will need to do the following:

  1. Install Slamcore DKMS Package

  2. Check the Camera Serial Number and Firmware

  3. Register Your Camera

Install Slamcore DKMS Package

Slamcore offers a DKMS Debian package, available from slamcore-dkms, which will patch the required camera kernel modules and set up the required udev rules to ensure the system can communicate with the camera correctly. This is the recommended approach by Slamcore to patch the kernel and replaces the need to patch the kernel with Intel’s librealsense2-dkms package or by building the kernel patches from source.

Note

You may skip this step if you have already patched the kernel with an existing installation of librealsense2-dkms (you can check this with dpkg -l | grep realsense) or have built librealsense2 from source.

The Slamcore DKMS package supports the following Linux kernel versions, as listed on slamcore-dkms:

Platform

Supported Operating System

Supported Kernel Versions

x86_64

Ubuntu 20.04

5.13, 5.14, 5.15

x86_64

Ubuntu 22.04

5.15, 5.19

NVIDIA JetPack 4

JetPack 4.4.1 - 4.6.1 (L4T 32.4.4 - 32.7.1)

4.9

NVIDIA JetPack 5

JetPack 5.0.2 - 5.1.1 (L4T 35.1 - 35.3.1)

5.10

Check your machine’s kernel version by running the following in a terminal window:

$ uname -r

If using a supported kernel, download and install the slamcore-dkms Debian package by following the instructions on the slamcore-dkms GitHub README. Ensure that your Intel RealSense camera is unplugged when installing the package and reboot your system when the patch is completed.

Warning

If you are installing the DKMS package on a machine with Secure Boot enabled you may need to set an MOK key during the installation process. You will then be prompted to re-enter this key on reboot to properly install the kernel modules. Please ensure you do not skip this step as it is essential to ensure the Slamcore SDK can communicate with the camera correctly. Further details are available in the slamcore-dkms GitHub README Troubleshooting section.

After reboot, you can verify the patch has been applied properly by running:

$ dkms status

The slamcore-dkms package status should display installed. If the output only displays built, make sure you have rebooted your computer.

Note

For kernel versions not supported by the Slamcore DKMS package, you may be able to use the librealsense2-dkms package or you will need to build and install the librealsense2 module package from source.

Check the Camera Serial Number and Firmware

Once you have setup the DKMS package correctly, you will need to register your camera on the Slamcore Portal using its serial number. To fetch this information, you can simply run one of our tools with the camera connected to your computer.

$ slamcore_visualiser

When using an unregistered camera, the tool will not run and prompt you to register your camera on the Slamcore Portal.

Auto-detecting your camera...
Using camera: Intel RealSense D435I, with serial number: 123456789000
Could not retrieve camera configuration, please ensure that the camera is registered at https://portal.slamcore.com.

Copy or note down the camera model and serial number.

Note

If using an unsupported firmware version, our software will throw an error such as the following:

Auto-detecting your camera...
RealSense camera firmware 5.14.0.0 not supported. Please install one of the supported
firmware versions: { 5.12.3.0, 5.12.6.0, 5.12.7.100, 5.12.8.200, 5.12.11.0, 5.12.12.100,
5.12.13.50, 5.12.14.50, 5.12.15.50 }
Error: Failed to query camera serial number: Operation not supported (generic:95)

To install a compatible firmware (5.12.3.0 - 5.12.15.50) on the camera using the RealSense SDK tools, follow the steps outlined in our Troubleshooting page - Unsupported D435i/D455 camera firmware section.

Note

An error such as Per-frame metadata is not enabled at the OS level or Error failed to open scan_element means the kernel module patches or udev rules are not correctly installed or activated. If this happens, check that the patches were installed correctly according to the instructions for your kernel version.

If the message persists, contact Slamcore support at support@slamcore.com providing the following details:

  • The machine you are using,

  • Your system’s kernel version,

  • The camera firmware version,

  • The slamcore-dkms package version or alternative used

Register Your Camera

Finally, register your camera to start using it with the Slamcore software. You will need the serial number which can be found by running one of our tools as explained above or printed on the camera or its box.

Login to your Slamcore account at the Slamcore Portal.

  1. Click on the Manage Cameras option.

  2. Click on the Activate New Camera link.

  3. Select your camera type (RealSense D435i, RealSense D455, OAK-D S2 Fixed-Focus).

  4. Enter your camera serial number.

  5. Enter an optional tag.

  6. Click Add Camera.

RealSense Camera Calibration (Optional)

While the RealSense cameras can work out-of-the-box without a custom camera calibration, we recommend performing the RealSense Camera Calibration to see potential improvements in accuracy and robustness of SLAM, especially before you do a thorough accuracy evaluation of our system.

When a camera calibration has been applied, a using custom calibration label will be shown next to the camera entry on the portal and when using our tools.

Set up an OAK-D S2 Camera

Note

Our support for the Luxonis OAK-D S2 is experimental and only on demand. Please contact us directly at support@slamcore.com if you would like to use the camera.

We currently only support the camera in Fixed-Focus mode and only the stereo pair. We do not support its color or depth streams.

To start using our software with live camera data from the OAK-D cameras you will need to do the following:

Set Udev Rules on your Machine

When first attempting to access the OAK-D camera, you may get permission issues from Luxonis’ DepthAI:

Insufficient permissions to communicate with X_LINK_UNBOOTED device with name
"1.1". Make sure udev rules are set

Resolve this by setting the udev rules according to Luxonis’ DepthAI documentation, then unplug the camera and plug it back into USB afterwards:

echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

Register the Camera

As the OAK-D S2 Fixed-Focus camera is currently supported only on demand, you must contact us at support@slamcore.com to register the camera. Please email us with the following details:

  • Slamcore account email address

  • Your OAK-D camera serial number (typically 18-digit long)

OAK-D Camera Calibration

We will reply to your email with the next steps to calibrate your camera before using it with our SLAM.