[Documentation] [TitleIndex] [WordIndex

free hit counters

General description

CRSM SLAM stands for Critical Rays Scan Match SLAM (Simultaneous Localization And Mapping). Its main characteristics follow:

The full algorithmic description can be found in the following paper:


CRSM SLAM does not have a close loop behaviour, but it gives very good results in featured spaces.

Finally, it was used in the PANDORA autonomous vehicle that takes part in the world-wide robotic competition RoboCup-RoboRescue.


CRSM SLAM is provided through the official ROS repositories. To install execute the following command :

sudo apt-get install ros-$ROS_DISTRO-crsm-slam

You can also manually set it up:

cd <your_catkin_ws>/src
git clone https://github.com/etsardou/crsm-slam-ros-pkg.git
cd ../


The following environment was created in the Gazebo simulator :

RoboCup-RoboRescue arena

One video that demonstrates CRSM SLAM in the above environment is the following :

The final map produced by CRSM SLAM is the following :

CRSM SLAM result

Package Input / Output

There is only one node spawn whose name is crsm_slam_node.

CRSM needs as input :

On the other hand, CRSM outputs :


CRSM is fully parameterizable by changing the parameter file "crsm_slam/config/crsm_slam/crsm_slam_parameters.yaml". The meaning of each parameter, as well as the expected effect on the algorithm follow:

How to run CRSM SLAM

CRSM SLAM can be executed either with rosrun or by roslaunch.

The package includes two launchers, one for a simulated laser (crsm_slam_simulation.launch) and one for a real one (crsm_slam_real.launch), which "listens" to a hokuyo_node.

2024-06-22 13:08