Release Notes
Version 23.01
7/03/2023
slamcore-tools v23.01.48
slamcore-tools-jetson v23.01.48
slamcore-dev v23.01.48
slamcore-dev-jetson v23.01.48
ros-melodic-slamcore-ros v23.01.13
ros-melodic-slamcore-ros-jetson v23.01.13
ros-melodic-slamcore-viz v23.01.13
ros-foxy-slamcore-ros v23.01.13
ros-galactic-slamcore-ros v23.01.13
New
Slamcore’s new look
The GUI tools have been updated to reflect Slamcore’s new visual branding.
Simultaneous SLAM and recording
The new version of the software allows users to capture a dataset while running SLAM. This allows much more rapid development, evaluation and debugging.
Python API
We are pleased to be able to offer a Python API alongside the existing C++ API for faster prototyping and integration. Please see the Python API documentation for details.
NVIDIA JetPack 5 and ROS 2 Galactic
The
slamcore-tools
andslamcore-dev
packages are now available for JetPack 5. The newros-galactic-slamcore-ros
package provides integration with ROS 2 Galactic on x86_64 and arm64 platforms.
SAFE_V2 Feature Extractor
This version introduces the
SAFE_V2
feature extractor which is much faster and more power-efficient especially on low-power platforms while maintaining comparable accuracy. Please see the frontend parameters section for how to enable it in your integration.
Experimental OAK-D S2 Support
All Slamcore software now experimentally supports the Luxonis OAK-D S2 FF camera. Please see the section on setting up an OAK-D for instructions.
Breaking Changes
Please be aware of the following changes and incompatibilities with previous versions.
Session files from earlier versions are no longer compatible. New session files will need to be generated from mapping datasets where available.
JSON configurations from earlier versions may be incompatible. The
slamcore-tools
package contains a utility to migrate these for use with the current release. For more information, see Migrating from Earlier API Versions.The
ros-foxy-slamcore-ros
andros-galactic-slamcore-ros
packages have a new dependency on theslamcore-dev
package. Please ensure you install both the ROS package andslamcore-dev
from the same release.The ROS 2
world_frame
parameter/launch argument has been renamed tomap_frame
.The “Tracking Status” no longer reports Relocalisation or Loop Closure events. These are now part of a “SLAM Events” stream in the C++ API or ROS topic. See Tracking Information for more details.
Version 21.06.3
30/09/2022
slamcore-tools v21.06.85
slamcore-tools-jetson v21.06.85
slamcore-dev v21.06.85
slamcore-dev-jetson v21.06.85
ros-melodic-slamcore-ros v21.06.24
ros-melodic-slamcore-ros-jetson v21.06.24
ros-melodic-slamcore-viz v21.06.24
ros-foxy-slamcore-ros v21.06.24
Version 21.06.1
07/07/2022
slamcore-tools v21.06.81
slamcore-tools-jetson v21.06.81
slamcore-dev v21.06.81
slamcore-dev-jetson v21.06.81
ros-melodic-slamcore-ros v21.06.22
ros-melodic-slamcore-ros-jetson v21.06.22
ros-melodic-slamcore-viz v21.06.22
ros-foxy-slamcore-ros v21.06.21
Version 21.06
08/12/2021
slamcore-tools v21.06.72
slamcore-tools-jetson v21.06.72
slamcore-dev v21.06.72
slamcore-dev-jetson v21.06.72
ros-melodic-slamcore-ros v21.06.21
ros-melodic-slamcore-ros-jetson v21.06.21
ros-melodic-slamcore-viz v21.06.21
ros-foxy-slamcore-ros v21.06.19
New
Extended functionality in the C++ API
Users can now configure, access and use height mapping, wheel odometry support and local point cloud functionality directly from the C++ API. Also, with
TrajectorySubsystem
users can now export trajectories directly from the C++ API.
Additional system configuration and presets
This release provides additional settings and presets that allows users more control of the SLAM configuration as well as RealSense camera settings. This includes the ability to set feature extraction ROI, camera auto-exposure settings and RealSense depth presets.
Support for OpenLORIS and TUM VI datasets
Slamcore Visualiser and Slamcore Dataset Processor can now be run on the OpenLORIS and TUM-VI datasets.
Dataset compression tool
To reduce the size of datasets, a new tool for compressing datasets has been introduced.
Improved
Slamcore Tools improvements
There have been several improvement to the Slamcore Visualiser, including the ability to export trajectories, display current frame rate, processing time as well as camera orientation in the Euler angles. Users can also visualise the depth point cloud and enable camera “Chase mode”.
Slamcore Dataset Processor provides more detailed feedback.
Support for ground robots
A new, more robust method for estimating the main plane of motion for mobile ground robots has been introduced.
Multisession performance
Performance in multisession mode is improved by enabling loop closure support.
ROS 2
Publish local point cloud in ROS 2.
Access to RealSense camera streams
Users can now enable and access all the RealSense camera streams, including color.
Version 21.05.3
12/10/2021
slamcore-tools v21.05.41
slamcore-tools-jetson v21.05.41
slamcore-dev v21.05.41
slamcore-dev-jetson v21.05.41
ros-melodic-slamcore-ros v21.05.10
ros-melodic-slamcore-ros-jetson v21.05.10
ros-melodic-slamcore-viz v21.05.10
ros-foxy-slamcore-ros v21.05.20
Version 21.05.2
17/09/2021
slamcore-tools v21.05.37
slamcore-tools-jetson v21.05.37
slamcore-dev v21.05.37
slamcore-dev-jetson v21.05.37
ros-melodic-slamcore-ros v21.05.9
ros-melodic-slamcore-ros-jetson v21.05.9
ros-melodic-slamcore-viz v21.05.9
ros-foxy-slamcore-ros v21.05.19
Improved
Multisession Performance
This minor release improves the implementation of multisession for better performance and improves the likelihood of relocalisation.
Updated Intel RealSense Camera Support
Added support for RealSense cameras that do not offer a 250Hz accelerometer stream.
Fixed
ROS Dataset Recorder Killed Before Completion
In previous versions of the Slamcore ROS Wrapper when the dataset recorder was stopped using a
SIGINT
, it was possible that the process of finalising dataset writing would exceed the shutdown time limit of the monitoringroslaunch
process. This causesroslaunch
to escalate to aSIGTERM
which will terminate the dataset recorder process and results in a corrupt dataset.The finalisation step has been removed in this version for all dataset recording tools.
Version 21.05.1
18/08/2021
slamcore-tools v21.05.30
slamcore-tools-jetson v21.05.30
slamcore-dev v21.05.30
slamcore-dev-jetson v21.05.30
ros-melodic-slamcore-ros v21.05.8
ros-melodic-slamcore-ros-jetson v21.05.8
ros-melodic-slamcore-viz v21.05.8
ros-foxy-slamcore-ros v21.05.18
Version 21.05
12/08/2021
slamcore-tools v21.05.27
slamcore-tools-jetson v21.05.27
slamcore-dev v21.05.27
slamcore-dev-jetson v21.05.27
ros-melodic-slamcore-ros v21.05.7
ros-melodic-slamcore-ros-jetson v21.05.7
ros-melodic-slamcore-viz v21.05.7
ros-foxy-slamcore-ros v21.05.17
New
Ubuntu 20.04 packages
The
slamcore-tools
andslamcore-dev
packages are now available for Ubuntu 20.04 (Focal Fossa) on x86_64.
ROS 2 (Foxy) packages
A new
ros-foxy-slamcore-ros
package is available for Ubuntu 20.04 on both x86_64 and arm64 platforms. If using a NVIDIA Jetson platform, please see the Slamcore ROS 2 Docker example repository for how to run the ROS 2 package in a container.
Version 21.04.1
23/06/2021
slamcore-tools v21.04.44
slamcore-tools-jetson v21.04.44
slamcore-dev v21.04.44
slamcore-dev-jetson v21.04.44
ros-melodic-slamcore-ros v21.04.16
ros-melodic-slamcore-ros-jetson v21.04.16
ros-melodic-slamcore-viz v21.04.16
Version 21.04
10/06/2021
slamcore-tools v21.04.43
slamcore-tools-jetson v21.04.43
slamcore-dev v21.04.43
slamcore-dev-jetson v21.04.43
ros-melodic-slamcore-ros v21.04.15
ros-melodic-slamcore-ros-jetson v21.04.15
ros-melodic-slamcore-viz v21.04.15
New
C++ API
Users can now download the
slamcore-dev
andslamcore-dev-jetson
packages which contain headers, a shared library and example code to build applications using Slamcore software.The API supports the RealSense cameras and operates in SLAM, visual odometry or Multisession modes.
Please see the C++ API for more details.
Wider NVIDIA Jetson support
Slamcore packages can now be used on NVIDIA Jetson Xavier AGX as well as the previously supported NVIDIA Jetson Xavier NX.
Improved
Memory usage and performance
Memory usage and speed in session save have both been improved in this release, especially on large sessions.
Visualiser Streams
The Slamcore Visualiser has been enhanced to show multiple image streams with the 3D position and map view. Additionally, a first-person “AR” view is also available.
ROS Improvements
In the Slamcore ROS Wrapper, all topics and service names are now snake_case.
Fixed
In previous versions the
--fps
command-line flag was not usable. The issue has been resolved in this release.
Version 21.03
13/04/2021
slamcore-tools v21.03.34
slamcore-tools-jetsonnx v21.03.34
ros-melodic-slamcore-ros v21.03.15
ros-melodic-slamcore-ros-jetsonnx v21.03.15
ros-melodic-slamcore-viz v21.03.15
New
Mapping
The Slamcore Visualiser and Slamcore ROS Wrapper both now support generating height maps when using RealSense Depth cameras. These height maps can be converted to occupancy maps and tuned by hand using the new Slamcore Session Explorer tool.
When running in Multisession Relocalisation mode, the Slamcore Visualiser and Slamcore ROS Wrapper will display the map saved in the session file and the sensor’s pose relative to it.
Intel RealSense D455 Support
All the Slamcore software now supports the Intel RealSense D455 on x86 platforms.
Improved
ROS Improvements
The Slamcore ROS Wrapper has been improved in a number of ways including now publishing a
/slamcore/odom
topic which provides pose, angular velocity and twist of the sensor without discontinuous jumps due to loop closure and relocalisation.Additionally, the Slamcore ROS Wrapper now allows users to use the RGB stream. Please contact Slamcore to enable this feature.
Fixed
In previous versions of the Slamcore ROS Wrapper it was not possible to enable the depth stream when running on the NVIDIA Jetson Xavier NX. The issue has been resolved in this release.
Version 21.02.1
10/03/2021
slamcore-position v21.02.12
slamcore-position-jetsonnx v21.02.12
ros-melodic-slamcore-ros v21.02.10
ros-melodic-slamcore-ros-jetsonnx v21.02.10
ros-melodic-slamcore-viz v21.02.10
Version 21.02
05/03/2021
slamcore-position v21.02.11
slamcore-position-jetsonnx v21.02.11
ros-melodic-slamcore-ros v21.02.9
ros-melodic-slamcore-ros-jetsonnx v21.02.9
ros-melodic-slamcore-viz v21.02.9
New
Wheel odometry
The Slamcore ROS Wrapper now allows users to use wheel odometry. To do so, users will need to record a number of datasets for calibration using the procedure in the wheel odometry tutorial and provide these to Slamcore to perform the calibration.
With the calibration file from Slamcore, users will be able to process datasets containing wheel odometry using all the current tools:
Slamcore Visualiser,
Slamcore Dataset Processor, and
Slamcore ROS Wrapper.
Users will also be able to run live SLAM with wheel odometry in the Slamcore ROS Wrapper.
Version 21.01.1
02/02/2021
slamcore-position v21.01.10
slamcore-position-jetsonnx 21.01.10
ros-melodic-slamcore-ros v21.01.7
ros-melodic-slamcore-ros-jetsonnx v21.01.7
ros-melodic-slamcore-viz v21.01.7
Version 21.01
29/01/2021
slamcore-position v21.01.9
slamcore-position-jetsonnx 21.01.9
ros-melodic-slamcore-ros v21.01.7
ros-melodic-slamcore-ros-jetsonnx v21.01.7
ros-melodic-slamcore-viz v21.01.7
New
Presets
The
slamcore-position
andslamcore-position-jetsonnx
Debian packages now include configurations to tune SLAM for several common use-cases. These are usable with the Slamcore Visualiser Slamcore Dataset Processor and Slamcore ROS Wrapper.
CLI tools
The Slamcore Dataset Processor and Slamcore Dataset Writer CLI tools have been added to the main .deb.
Save and Load a session in the Slamcore ROS Wrapper
The Slamcore ROS Wrapper now allows users to save and load a session file, similar to save and load functionality in Slamcore Visualiser.
Improved
Performance
Map optimisation performance during session save has been significantly improved.
SLAM performance has also been improved.
ROS Changes
The interface to the ROS node has been redesigned for better integration and robotics deployment.
The node will now start as soon as it is launched and will not publish pose information when it is not successfully tracking.
Stream switches have also been removed in favour of directly detecting subscribers.
The RQT window will no longer be launched by default in visualisations as the node starts automatically. RQT can be launched manually if required.
Session saving file format
Sessions created with this release can not be used with earlier releases. This is due to essential changes format required to support future features. Sessions created with older versions of the software are still supported.
Fixed
D435i timestamp wrap-around error
The range of the hardware timestamps provided by
librealsense
can overflow within reasonable SLAM session time. This issue is resolved in this release.
Minor changes for consistency and usability
The
slamcore_position
tool is now provided asslamcore_visualiser
.Logging verbosity has been reduced.
Version 0.6
11/12/2020
slamcore-position v0.6.34
slamcore-position-jetsonnx v0.6.34
ros-melodic-slamcore-ros v0.6.14
ros-melodic-slamcore-viz v0.6.14
New
ROS Diagnostic Topic
A new diagnostic topic has been added in ROS to allow querying the status of SLAM.
Improved
Checking for Correct Installation of RealSense SDK 2.0
Checks have been added to verify that the Intel RealSense SDK 2.0 has been correctly installed. An error message is generated if this is detected. For the Visualiser a popup window is displayed. For ROS a message is displayed and execution is stopped.
Session saving file format
Changes have been made to the format for saved sessions. Sessions created with this release can not be used with earlier releases of our software. Sessions created with older versions of the software are still supported.
Relocalisation Algorithmic
Improvements have been made to the relocalisation mode, when positioning within an existing map.
Extended Telemetry
Additional telemetry is being collected about the state of the SLAM system to better diagnose issues and improve the software in the future.
Fixed
Restarting SLAM in Visualiser
Previously stopping a SLAM session and then starting again without resetting could lead to unexpected and poor position estimations. This behaviour is corrected.
Multiple map(session) Saving
During mapping runs it is now possible to save maps and then continue building the sparse map.
Version 0.5.2
27/11/2020
slamcore-position v0.5.31
slamcore-position-jetsonnx v0.5.31
ros-melodic-slamcore-ros v0.5.6
ros-melodic-slamcore-viz v0.5.6
Version 0.5.1
28/09/2020
slamcore-position v0.5.26
ros-melodic-slamcore-ros v0.5.5
ros-melodic-slamcore-viz v0.5.5
Version 0.5
19/09/2020
slamcore-position v0.5.25
ros-melodic-slamcore-ros v0.5.5
ros-melodic-slamcore-viz v0.5.5
New
Save and Load a session in the Slamcore Position Visualiser
The Slamcore Position Visualiser now allows users to save a session file after running SLAM. The file is an optimised representation of the explored environment and contains the accumulated sparse map.
Loading the session file puts the Slamcore Position Visualiser into
MultiSession Localisation
mode, where the system will localise against the loaded map and report its pose in the map’s frame.This mode visually distinguishes between currently recognised landmarks loaded from the session file, other loaded landmarks, and temporary landmarks to visualise the operation of
MultiSession
mode.Saving and loading sessions is supported for the Mynteye2 and D435i, datasets recorded with either camera using the Slamcore Dataset Recorder, as well as sequences from the EuRoC MAV dataset.
Version 0.4
17/08/2020
slamcore-position v0.4.27
ros-melodic-slamcore-ros v0.4.10
ros-melodic-slamcore-viz v0.4.10
New
Depth Stream
The Slamcore Position Visualiser, Slamcore Dataset Recorder and Slamcore ROS wrapper now all support the depth stream from the Intel RealSense Depth Camera D435i. Depth is enabled by default in all the applications.
Depth requires additional bandwidth and processing time to collect and display. Also, under some conditions, it can degrade the quality of SLAM. For these reasons it is simple to disable in all the applications. Please refer to their corresponding sections for how to do so.
Improved
Additional topics in ROS
The Slamcore ROS wrapper now publishes additional topics to aid integration:
/slamcore/accel
- accelerometer data;
/slamcore/gyro
- gyroscope data;
/slamcore/<various>/camera_info
- camera intrinsics; and,
/tf
and/tf_static
- transformations between various coordinate frames in the system.
Slamcore Dataset Recorder performance improvement
The performance of the Slamcore Dataset Recorder has been significantly improved. This will be most visible on less powerful systems.
Fixed
D435i dataset metadata corruption
When recording a dataset using the Slamcore Dataset Recorder from a D435i, it was possible to corrupt the received metadata, resulting in either a fatal error or corrupted dataset. This issue has been resolved in the current release.
The behaviour of the Slamcore Dataset Recorder is now to record datasets in the directory where it is launched. For example, to record into
/home/slamcore/datasets
, run:$ cd /home/slamcore/datasets $ slamcore_dataset_recorder
Version 0.3
19/06/2020
slamcore-position v0.3.15
ros-melodic-slamcore-ros v0.3.11
ros-melodic-slamcore-viz v0.3.11
New
SLAM from user datasets
The Slamcore Position Visualiser and the Slamcore ROS Wrapper now support running SLAM from a dataset captured using the Slamcore Dataset Recorder.
SLAM from EuRoC datasets
Registered users can now try the Slamcore Position Visualiser and Slamcore ROS Wrapper on the EuRoC MAV dataset.
Version 0.2
16/04/2020
slamcore-position v0.2.3
ros-melodic-slamcore-ros v0.2.5
ros-melodic-slamcore-viz v0.2.5
New
Experimental support for Intel RealSense Depth Camera D435i
The Slamcore Position Visualiser, Slamcore Dataset Recorder and Slamcore ROS wrapper now all support the Intel RealSense Depth Camera D435i.
Configurable algorithm parameters for Slamcore position
The Slamcore Position Visualiser and Slamcore ROS Wrapper now allow users to specify:
The positioning mode: SLAM or odometry.
The maximum number of features per frame.
Separate packages for SLAM and Visualisation in ROS Melodic
A standalone package for the Slamcore position ROS Melodic Wrapper allows integration into existing ROS installations with minimal dependencies.
An additional visualisations package provides visual tools for Slamcore position using ROS’s
rviz
package.
Version 0.1.0
23/03/2020
System Requirements
Intel processor of the Haswell or later architecture (with AVX2 extensions)
8GB of RAM
USB 3 port for the camera
Ubuntu 18.04
ROS Melodic for the use of the API features
Internet connection at the start of each session.
Supported Camera Sensors
Pre-calibrated Mynteye2 sensors provided by Slamcore.
Software Tools
Visualiser. This stand-alone application shows: trajectory, camera view, tracking status, distance travelled, map features.
Dataset Recorder. This tool allows the capturing of detailed datasets which can be sent to Slamcore for analysis if the user requires it.
ROS Melodic Wrapper. This allows integration of the Slamcore position tracking into an existing ROS installation.
Supported Algorithms
Six degrees-of-freedom tracking using visual-inertial SLAM.
Loop closure and relocalisation.
Single session.
Accessible APIs
Six degrees-of-freedom pose.
Angular and linear velocities of the sensor.
Number of features tracked.
Tracking status.