ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

How can I get the same map size for all SLAM algorithms?

asked 2020-06-09 08:03:04 -0500

dhaour9x gravatar image

updated 2020-06-09 08:03:48 -0500

  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

map_hector

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

gazeboEnvi

       -  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 :)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-06-09 12:00:48 -0500

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.

edit flag offensive delete link more

Comments

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??

dhaour9x gravatar image dhaour9x  ( 2020-06-10 10:24:59 -0500 )edit

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.

stevemacenski gravatar image stevemacenski  ( 2020-06-10 11:20:01 -0500 )edit

Thank you @stevemacenski , can you provide me more information about this or how can I do your suggestion(like implementation Process :) )

dhaour9x gravatar image dhaour9x  ( 2020-06-10 13:19:04 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2020-06-09 08:03:04 -0500

Seen: 561 times

Last updated: Jun 09 '20