The Robot Operating System (ROS) has played a fundamental role in the development of robots as solutions to real-world challenges in many different sectors. From warehouses and logistics, to agriculture and healthcare, ROS-based designs are delivering real value. Since its birth at Willow Garage in 2007, this flexible framework has helped thousands of robotics developers.
SLAMcore is no exception. From the outset, we had the goal of developing SLAM (Simultaneous Localization and Mapping) software with a ROS interface. We did so because we knew that would make it easy for other developers to integrate our solutions into their designs. It would help deliver our vision of providing accurate visual SLAM software that saves developers time and money as they build commercially-viable robots.
So, we are really excited to further extend our integration with ROS in our latest software release. Our SLAM algorithms have always had basic ROS support, allowing developers to access the outputs of our system. The new version of SLAMcore software will allow users to ‘plug in’ our SLAM functionality directly to their robots and feed our maps and location data into their navigation and mobility stack.
Fusing wheel odometry data
This latest release will expose several additional functionalities that enable deeper and more wide-ranging integration with robotic systems based on ROS. Key among these is the capability to fuse data from wheel odometry sensors into the SLAMcore algorithms via ROS. Until now SLAMcore has taken data inputs from tightly coupled visual and IMU sensors, primarily from units such as the Intel RealSense Depth Camera D435i. Support for ROS-compliant wheel odometry sensors not only increases the reliability and accuracy of mapping and location, but opens the door to a wide range of sensor inputs via ROS interfaces. SLAMcore’s software works ‘out-of-the-box’ with Intel RealSense sensors and x86/Nvidia Jetson compute.
The SLAMcore ROS Wrapper software also allows pass-through of the raw visual sensor data. Now other subsystems can use this same data for their own purposes. For example, visual data from cameras can be exported and used by computer vision systems to identify specific products on warehouse shelves. Sharing this data reduced the need for dedicated sensors for every function. Fewer components lead to faster development time and lower costs.
Additional SLAMcore capabilities
Finally, the new software version will expose a wider range of capabilities within the SLAMcore stack via ROS-compliant inputs and outputs:
- Multisession mapping – supporting saving and loading of maps from discrete SLAM sessions
- Rich point-cloud map export
- Customization of individual parameters can all now be integrated into wider systems through the ROS framework
These all increase the flexibility and ease with which developers can precisely match the capabilities of SLAMcore’s algorithms to the demands of their robots.
The ROS framework plays a fundamental role in helping developers rapidly test and prototype designs. They can be confident SLAMcore’s solutions will ‘plug-in’ to the ROS framework and be up and running to deliver fast results. As designs evolve and move closer to commercialization and industrialized production and use, developers can remain with the ROS framework, or move to more monolithic or bespoke integrations.
ROS has been critical to the rapid explosion of robotics over the last 10-plus years. We share the same goals – helping individuals and teams to develop robust, effective and commercially-viable robotic solutions as quickly as possible. Low-cost, but high-quality robots can solve many of the most pressing issues we face today. Working with ROS, we hope to accelerate the development and production of these solutions. Thanks to ROS, we are all progressing towards this goal, and we will continue to support the movement as it develops over the coming years.
About the Author
Nikos Koukis is a robotics product engineer at SLAMcore. Sitting in between the product and engineering teams, he is responsible for taking SLAMcore’s software and integrating it with customer’s hardware and software platforms. Koukis’ second goal is to understand customer needs and convey them back to SLAMcore engineering to improve the next generation of SLAMcore products.
He is also an advocate for open-source software and a regular contributor to the Mobile Robot Programming Toolkit (MRPT) project. Koukis holds a Master’s degree in mechanical engineering from the National Technical University of Athens, Greece.