You’re reading an older version of the Slamcore SDK documenation. The latest one is 23.04.
Troubleshooting
Camera Issues
IR bleed in images

Fig. 2 Consecutive images in a sequence showing the projection of an IR pattern
When the depth sensor is in use, it projects an IR pattern on alternate frames (see left image). The pattern causes feature detection to perform poorly so SLAMcore runs on an “interleaved mode” and uses only alternate images without the IR pattern projection.
However, in some scenes the IR may bleed to the next frame depending on the
exposure time and the textures in the scene (see right image: IR bleed on the black
texture). To mitigate the IR bleed, configure the
Base.Readers.Property.AutoExposureLimit
parameter as described in
Feature-Specific Presets.
No RealSense device found
No RealSense device found. Is your device plugged in?
Error querying the camera serial number (No such device)
Cause
If the camera is plugged in there might be a problem with the installation of the RealSense SDK caused by secure boot BIOS settings.
Solution
If the camera is connected when you get the error, you can confirm the issue by running the following command
$ rs-enumerate-devices | grep Physical
If the device is correctly installed then you should see a response similar to
Physical Port : /sys/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb4/4-2/4-2.2/4-2.2.3/4-2.2.3:1.0/video4linux/video4
There is a problem if the output looks similar to
Physical Port : 2-1-2
In that case you will need to remove the installation with following process. You can remove old RealSense DKMS installations by running the following command
$ dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge
You can remove kernel modules installed from source by running
$ cd /path/to/librealsense
$ ./scripts/patch-realsense-ubuntu-lts.sh reset
Once you have done that you will need to disable secure boot in your BIOS settings and reinstall the RealSense SDK by following the instructions in Setting up a camera. Alternatively, use a machine that does not have secure boot enable.
Could not find metadata for sensor
Metadata error:
Could not find metadata for sensor
Intel RealSense SDK 2.0 may not be correctly installed.
Cause
Intel RealSense SDK 2.0 is not correctly installed. This may occur even when RealSense Viewer appears to be running correctly.
Solution
If you have not installed Intel RealSense SDK 2.0 previously on your computer then follow these instructions in Setting up a camera.
If you have installed previously then it is best to ensure old versions are removed before installing a new one. You can remove old RealSense DKMS installations by running the following command
$ dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge
You can remove kernel modules installed from source by running
$ cd /path/to/librealsense
$ ./scripts/patch-realsense-ubuntu-lts.sh reset
Once you have done either one or both of the above steps then that you should follow the instruction for installation Setting up a camera.
No camera configuration data, make sure to register your device!
Failed to receive camera config: No error (0) | HTTP Response: 403
Receive Buffer:
{"detail":"You do not have permission to perform this action."}
No camera configuration data, make sure to register your device!
Cause
The camera being used isn’t registered to the user’s account.
Solution
Register the camera on your SLAMcore account with instructions in Register Camera.
A subcommand is required
Auto-detecting your camera...
A subcommand is required
Cause
The camera could not be detected.
Solution
Ensure the camera is plugged in.
RealSense camera over USB <version> not supported
Realsense camera over USB 2.1.0.0 not supported. Minimum supported 3.0.0.0
Error querying the camera serial number (Operation not supported)
Error querying the camera device
Cause
The camera is connected using a non USB3-capable port and/or a non USB3-capable cable.
Solution
Connect the camera using USB3.0 hardware.
Unsupported D435i/D455 camera firmware
D435i/D455 camera firmware 5.11.1.100 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 }
Error querying the camera serial number (Operation not supported)
Cause
Firmware version on the connected D435i/D455 is not supported.
Solution
Update the camera firmware to one of the supported versions. Versions 5.12.3.0 - 5.12.15.50 are supported. Please see instructions in Setting up a camera.
Error failed to open scan_element
15/04 14:07:37,618 ERROR [140332946140864] (types.h:307) Failed to open scan_element /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.5/0003:8086:0B3A.000E/HID-SENSOR-200076.2.auto/iio:device1/scan_elements/in_anglvel_x_en Last Error: Permission denied
15/04 14:07:37,619 ERROR [140332946140864] (backend-hid.cpp:969) Hid device is busy!
Backend rs2_open_multiple sensor:0x556d637b97e0, profiles:0x556d637f3f98, count:2
Error querying the camera serial number (Input/output error)
Error querying the camera device
Cause
User does not have permissions to access scan_element
.
Solution
Install the librealsense2
udev rules with instructions in Setting up a camera.
Failed to receive data from D435i/D455 sensor stream
Failed to parse command-line, try to guess camera vendor
No 'odometry_params' section was detected. Skipping this...
Failed to receive data from D435i sensor stream Depth.0
Failed to receive data from D435i sensor stream Infrared.0
Failed to receive data from D435i sensor stream Infrared.1
Cause
One or more of the expected data streams from the RealSense camera failed to open.
Solution
This is an intermittent error on the RealSense cameras. Advice is to:
Install the
librealsense2
udev rules with instructions in Setting up a camera.Disconnect and re-connect the RealSense camera.
SLAM Issues
Dropped frames during SLAM execution
There are two probable causes for our SLAM software to drop incoming frames/measurements during its execution.
Cause 1: High CPU Load
If the SLAM process is not allocated enough time to process all incoming measurements it will start skipping old measurements for the sake of keeping up with the newer ones. This may happen because:
There are other unrelated CPU-intensive tasks running alongside SLAM.
A loop closure event (normally running in the background) is taking up too much CPU time. This may often be the case when operating in large-scale environments.
The SLAM configuration parameters are not appropriate for the platform SLAM is running on.
The CPU clock frequency is reduced at the system level. This could occur due to overheating.
In this case you should be seeing warnings like the following while running:
Frames dropped because of insufficient processing resources.
Frequent dropping of frames can lead to lower accuracy and robustness.
Solution
Reduce the overall CPU load, e.g. by shutting down any redundant processes.
Tweak the SLAM configuration so that SLAM uses less CPU time (e.g. reduce the
NumKeypoints
orTimeBudget
)Make sure that the hardware is not overheating.
Cause 2: Problems related to timing of incoming sensor measurements
There is an issue with the associated timestamps of the measurements used for SLAM (that may be visual-inertial measurements, wheel odometry measurements etc.).
To ensure the accuracy and minimise the latency of SLAM results (e.g. estimated pose), we have set strict restrictions with regards to the timestamps of the incoming measurement streams. If these requirements are somehow not met, you should be seeing warnings like the following while running:
Frames dropped because of timing problems with sensor data.
Known causes include high sensor latency and incorrectly aligned timestamps from different sensors.
Solution
You should pay extra care in configuring the timestamps of the incoming measurements.
If integrating wheel-odometry, you should ensure that the wheel-odometry measurements are produced and fed to the SLAM at a constant rate as suggested in the Wheel Odometry Integration Tutorial.
If integrating wheel-odometry and you are capturing the odometry measurements in a machine different than the one you are running SLAM, then the system clocks of these two machines should be synchronised so that their measurements are in the same timeline and avoid potential clock drift. If feasible, use a reliable and fast medium for connecting the machines (e.g. Gigabit ethernet link) - avoid using WiFi.
You could use an NTP client program like chrony to ensure the clocks synchronisation.
Connection Issues
Not authorized to run on this system
Failed to start session: Timeout was reached (28) | HTTP Response: 0
Not authorized to run on this system
Cause
Unable to connect to SLAMcore.
Solution
Check that your internet connection is stable and try running the software a couple of times. If the issue persists, check that the proxy server your system uses does not block SLAMcore’s site (if applicable).
Contact SLAMcore at support@slamcore.com with the full output log from running this command:
$ curl -L -v 'http://portal.slamcore.com/session/start'
Software Dependencies
glfw error: failed to create OpenGL window
glfw error: Requested OpenGL version <number>, got version <number> (code 65543).
Uncaught std::exception! Failed to create OpenGL window.
Solution
Overwrite OpenGL version by running the following:
$ export MESA_GL_VERSION_OVERRIDE=4.3
Dataset Recording Issues
Failed to reserve padding space
Failed to reserve padding space.
Failed to start recording dataset: Input/output error
Cause
The file system type of the selected output directory does not support the
fallocate
operation, for example if the system drive is formatted to
NTFS
.
Solution
Select a different location to write the dataset. Alternatively, reformat the
intended partition to use a file system that does support fallocate
, such as
ext4
.
Target disk might be too slow
Cannot write all the data, your target disk might be too slow. Your dataset will be incomplete
Cause
There are various causes for this; sometimes the disk does not have the required write speed, or the disk is formatted in an unsupported type.
Solution
We recommend using a disk formatted to ext4
.
If you still get the warning, use the fio tool to test the estimated speed and ensure it is above the requirements for Recording Datasets.
To install fio
:
$ sudo apt install fio
To test the write speed to your disk:
$ cd /path/to/disk/for/dataset && fio --name TEST --eta-newline=5s \
> --filename=fio-tempfile.dat --rw=write --size=500m --io_size=10g \
> --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 \
> --direct=1 --numjobs=1 --runtime=60 --group_reporting
ROS Issues
Some packages could not be installed
The following error:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
ros-melodic-slamcore-ros : Depends: ros-melodic-desktop but it is not installable
Depends: ros-melodic-tf2-geometry-msgs but it is not installable
Cause
Indicates that ROS Melodic packages are not available through apt
.
Solution
Please see the SLAMcore ROS1 Wrapper page for how to setup ROS Melodic.
Permission denied with ROS dataset recorder
$ roslaunch slamcore_slam run_dataset_recorder.launch output-dir:=/home/<user>/<output-directory>
... Last Error: Permission denied
Cause
Jetson kits flashed with the default L4T release may require superuser permissions to run the SLAMcore ROS dataset recorder.
Solution
Run with superuser permissions:
$ sudo su
root# source /opt/ros/melodic/setup.bash
root# roslaunch slamcore_slam run_dataset_recorder.launch output_dir:=/home/<user>/<output-directory>
rqt
fails to launch
ValueError: bottom cannot be >= top
Cause
This is an issue with the matplotlib
version used by our rqt
configuration.
Solution
Upgrade matplotlib
to a version such as 2.2.5:
$ sudo pip install --upgrade matplotlib