You’re reading an older version of the Slamcore SDK documenation. The latest one is 23.04.
Configuration Overview
By default, the SLAMcore software comes preconfigured and fully functional with its default algorithm configuration. However, users may use configuration files to adjust the settings based on test conditions (e.g. a large room or outdoors) to potentially improve performance in that particular environment.
We provide a set of presets configured for the most common use cases, which users may further tweak to suit their needs.
Download
The configuration files are downloaded along with the “SLAMcore Tools” packages
for Ubuntu 18.04 (x64), Ubuntu 20.04 (x64) and NVIDIA Jetson platforms at the SLAMcore Portal, and
installed under the /usr/share/slamcore/presets
directory.
Note
Users of the ROS Wrappers will be required to download and install the SLAMcore Tools packages to obtain the preset files.
Usage
Note
Providing a configuration file is optional: the algorithm falls back to appropriate defaults if one is not provided.
Visualiser, Dataset Recorder and CLI
Specify a configuration file for slamcore_visualiser
and
slamcore_dataset_processor
by using the -c
or --config
flag,
for example:
$ slamcore_visualiser -c /usr/share/slamcore/presets/high_accuracy.json
ROS1 Wrapper
Specify a configuration file for the SLAM ROS1 node by using the config_file
parameter of the run_slam.launch
file, for example:
$ roslaunch slamcore_slam run_slam.launch config_file:=/usr/share/slamcore/presets/high_accuracy.json
Alternatively and in case you are not using our provided launchfile, you can
write the configuration file path to the /slamcore/config_file
ROS1 parameter
directly and then run the slam_publisher
node:
# Make sure to set the parameter *before* running the node
$ rosparam set /slamcore/config_file "<path/to/config/file>"
$ rosrun slamcore_slam slam_publisher
ROS2 Wrapper
Specify a configuration file for the SLAM ROS2 node by using the config_file
parameter of the slam_publisher.launch.py
file, for example:
$ ros2 launch slamcore_slam slam_publisher.launch.py config_file:=/usr/share/slamcore/presets/high_accuracy.json
Configuration Files
The presets contain parameters with suggested values for various use cases.
Environment-Specific Presets
These presets are configured to the common SLAM environments and system setup. You may use the presets out-of-the-box or tune it further for your use case.
Preset |
Target Use Case |
---|---|
|
Office environments with a hand-held camera |
|
High accuracy SLAM with no constraints on computation time |
|
Wheeled robot moving on one dominant ground plane |
|
Running SLAM on low performance hardware |
|
Outdoor robot/drone use with landmarks far from the camera |
|
Indoor robot navigation use with landmarks far from the camera |
Note
Some of the preset settings can significantly change the processing times.
It is recommended to use high_accuracy.json
on prerecorded datasets to
generate a high quality map offline, and then use a less
computationally expensive configuration for live localisation.
Feature-Specific Presets
The following presets are examples of the parameters which can be useful to configure for various features we support. It is expected that you may need to change the parameter values from the defaults when using these presets.
Note
autoexposure_limit
and depth_preset
are only available for camera firmware version
5.12.14.50 and above. See how to Install the Camera Firmware.
Preset |
Target Use Case |
---|---|
|
Change auto-exposure limit to mitigate IR bleed (see Troubleshooting) |
|
Useful RealSense parameters to configure the depth stream |
|
Set region of interest (ROI) for feature extraction |
|
Configure local point cloud |
|
Configure height/occupancy map generation |
Custom Configuration
Each configuration file is a collection of settings in .json
format used
for the SLAM algorithm. Users may create their own configuration files based on
the presets we ship.
The following pages describe the common configuration parameters for tuning: