robo-friends / m-explore-ros2

Explore_lite port to ROS2
Other
129 stars 45 forks source link

map_merge: Make it compatible with Slam_toolbox #10

Open charlielito opened 2 years ago

charlielito commented 2 years ago

The original code in ROS1 was written to be compatible with slam_gmapping or hector_slam, which AFAIK publish a map of a fixed size. In ROS2 the facto slam choice is slam_toolbox, which publishes the map as it grows changing its size, but this doesn't work with the map merging algorithm in this package.

A more dive deep into the code is needed but I think the solution can be to pad all maps to the biggest map among received maps and then just apply the existing algorithm

charlielito commented 2 years ago

See this repo which kind of solved the issue but in ros1: https://github.com/gingineer95/Multi-Robot-Exploration-and-Map-Merging https://github.com/gingineer95/Multi-Robot-Exploration-and-Map-Merging/blob/main/src/map_expansion.cpp

charlielito commented 2 years ago

MVP in https://github.com/robo-friends/m-explore-ros2/tree/feature/slam_toolbox_compat