Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. This repository provides Cartographer SLAM for Magazino Robotics platforms via Cartographer ROS. This is a simplified integration for testing and evaluation purposes only.
We keep the master branch of this repository compatible with the latest revision of the cartographer_ros repository.
Release versions of this repository can be found here: Releases.
They are tagged according to the version number of the matching release version
of cartographer_ros
.
We currently support bagfiles recorded on Magazino TORU robots. Support for other platforms like SOTO may be added in the future.
Download links for the public datasets of Magazino robots can be found on the Cartographer ROS Read the Docs site.
We provide two sample datasets for mapping and localization that were recorded in a hallway.
Run the simulation demo (mapping) with the hallway dataset:
cd data # (where you stored the bagfiles)
roslaunch cartographer_toru demo_toru_simulation.launch bag_filename:=$(pwd)/hallway_return.bag playback_rate:=2
Use the write_state
ROS service to serialize the state to a .pbstream
file:
rosservice call /write_state "{filename: '$PWD/hallway_return.bag.pbstream', include_unfinished_submaps: true}"
If realistic timing is not critical, you can also use the faster offline node:
roslaunch cartographer_toru offline_toru_2d.launch bag_filenames:=$(pwd)/hallway_return.bag
Run the localization demo:
roslaunch cartographer_toru demo_toru_localization.launch load_state_filename:=$(pwd)/hallway_return.bag.pbstream bag_filename:=$(pwd)/hallway_localization.bag
Magazino is a robotics start-up based in Munich, Germany. We develop and build perception-controlled, mobile robots for intralogistics. We are hiring!
A video of TORU robots in action at one of our German customers: