Rosanswers logo

  1. Which TurtleBot3 you have?

    • [x ] Waffle
  2. Which ROS is working with TurtleBot3?

    • [ x] ROS 1 Kinetic Kame
  3. Which SBC(Single Board Computer) is working on TurtleBot3?

    • [ x] Raspberry Pi 3
  4. Which OS you installed in SBC?

    • [ x] Ubuntu MATE 16.04 or later
  5. Which OS you installed in Remote PC?

    • [ x] Ubuntu 16.04 LTS (Xenial Xerus)

I 'm currently trying to compare the maps of SLAM algorithms for Alignment, Therefor The SLAM maps size must be the same to get meaningful results. If I use the following generated SLAM card for the comparison, the comparison would not be reliable. I have tried to create maps of the gazebo Environment with the following SLAM Algorithms (gmapping, hector, karto and cartographer) on TB3 waffle. I got very different map size of the generated SLAM maps. Although resolution value is 0.05 for all SLAM algorithms. here the size of SLAM maps:

SLAM        |Gmapping SLAM | Hector SLAM | karto SLAM | Cartographer
----------- | ------------ | ------------| -------- | ---------------
Width      | 384           | 2048        | 71       | 61
Height     | 384           | 2048        | 82       | 99

Gmapping map: | gmap
Hector SLAM map: hmap Karto SLAM map kmap |
Cartocrapher SLAM cmap

how can I get the same Maps size of all SLAM algorithms. for example like this


I have used a Image editor such as ImageMagik to resize the maps, but it has bad impact on the shape of the Environment.

I have used the following gazebo environment for each SALM.

roslaunch turtlebot3_gazebo navibot.launch


       -  roslaunch turtlebot3_slam turtlebot3_slam slam_methods:=gmapping
       - roslaunch turtlebot3_slam turtlebot3_slam slam_methods:=hector
       - roslaunch turtlebot3_slam turtlebot3_slam slam_methods:=karto
       - roslaunch turtlebot3_slam turtlebot3_slam slam_methods:=cartographer

I hope you can help me :)

Originally posted by dhaour9x on ROS Answers with karma: 35 on 2020-06-09

Post score: 0


1 Answer 1


Rosanswers logo

I don't think you can without modifying a bunch of code. I've personally looked under the hood of all of those implementations before and that's not going to be possible with just parameterizations.

Originally posted by stevemacenski with karma: 8272 on 2020-06-09

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by dhaour9x on 2020-06-10:
Thank you @stevemacenski. In this situation, where the maps that I got are not having the same size, I have to perform "Image registration" imRegister.py. The assumption is, I try to align map2, map3 and map4, with the same scale as Ground truth map.

my question is, does this method make sense to solve the problem and is the comparison between ground truth map and registered (edited) maps reliable??

Comment by stevemacenski on 2020-06-10:
Sure, that's a way you could do this. You could also choose another metric to look at for accuracy like looking at the trajectory rather than the pixel coordinates.

Comment by dhaour9x on 2020-06-10:
Thank you @stevemacenski , can you provide me more information about this or how can I do your suggestion(like implementation Process :) )


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.