As spatial intelligence becomes essential for a wider range of robots, many are discovering the need to enhance the spatial awareness capabilities of their autonomous products. Last year we announced enhanced support for the Robot Operating System (ROS),  through the release of the Slamcore ROS 2 Foxy Wrapper. This provided those using one of the most common and flexible open-source approaches for proof of concept and commercial roll out of robots with new, more powerful navigation capabilities. 

Leveraging the upgraded Nav2 Stack ( which supports fully autonomous navigation, Slamcore’s vision-based localisation and occupancy mapping capabilities can be integrated seamlessly to enable autonomous navigation using a single stereo camera.

Fine-grain control of memory and processor functions enabled in ROS 2 further enhance the efficiency of Slamcore’s algorithms allowing developers to use smaller, less power hungry and more cost-effective embedded processors for SLAM. The algorithms are easily integrated into ROS 2 designs using our simple ROS2 wrapper.. 

But, in case all that sounds too good to be true we’ve produced a short video of Slamcore in action using the Nav 2 Stack in ROS 2. The video highlights Slamcore’s use of visual-inertial data from a stereo depth camera, plus wheel odometry data from a Kobuki robot base to accurately estimate position in real time. It also demonstrates the Slamcore software creating a detailed occupancy map during navigation, as well as the ability to load a previously recorded map and localise within it.

Sensor fusion allows the robot to navigate in difficult environments, even when the camera is occluded. You’ll see that if the robot is ‘kidnapped’ and moved, the Slamcore software is able to relocalise and accurately determine its new position in real time. 

You can watch the video here and follow links to the dedicated tutorial page with example configuration and launch files. Let us know what you think, and get in touch if you’d like to know more about our integrations with ROS 2.