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.
The SLAM configuration files are only compatible with SLAMcore Software Version 21.01 and above, and the mapping configuration files with Version 21.03 and above.
The configuration files are downloaded along with the “SLAMcore Tools” packages
for Ubuntu 18.04 (x64) and NVIDIA Jetson platforms at the SLAMcore Portal, and
installed under the
Users of the ROS Wrappers will be required to download and install the non-ROS packages to obtain the preset files.
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_dataset_processor by using the
$ slamcore_visualiser -c /usr/share/slamcore/presets/high_accuracy.json
Specify a configuration file for the SLAM ROS1 node by using the
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
# Make sure to set the parameter *before* running the node $ rosparam set /slamcore/config_file "<path/to/config/file>" $ rosrun slamcore_slam slam_publisher
Specify a configuration file for the SLAM ROS2 node by using the
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
The presets contain parameters tuned to the most common use cases:
Target Use Case
Office environments with a hand-held camera
High accuracy with no constraints on computation time
Wheeled robot moving on one dominant ground plane
Running on low performance hardware
Outdoor robot/drone use with landmarks far from the camera
Indoor robot navigation use with landmarks far from the camera
Height/occupancy map generation example
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.
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 two pages describe the common configuration parameters for tuning: