introlab / rtabmap

RTAB-Map library and standalone application
https://introlab.github.io/rtabmap
Other
2.72k stars 776 forks source link

Manual map modifications #404

Open void-robotics opened 5 years ago

void-robotics commented 5 years ago

Hello,

Are there any parameters or tools to manually modify the OccupancyGrid? I wanted to box out an area and make everything outside of it "occupied" so the robot doesn't move there.

I also might want to have users manually make areas free or occupied by a GUI.

I've seen https://wiki.ros.org/rtabmap_ros/Tutorials/WifiSignalStrengthMappingUserDataUsage, but I want to edit the OccupancyGrid map instead of adding to the saved data, because it should affect navigation.

Thanks, Nathan

malerv commented 5 years ago

If you are using ros you could subscribe to the occupancy grid topic do the modification and republish it on an other topic.

void-robotics commented 5 years ago

I thought about that; but then, how would I save it? I thought rtabmap does that internally.

matlabbe commented 5 years ago

If you are going in localization mode (Mem/IncrementalMemory=false), memory management is disabled (Rtabmap/TimeThr=0, default), optimization is not done from graph end (RGBD/OptimizeFromGraphEnd=false, default) the global occupancy grid saved to database is reloaded "as is" without regenerating it. That occupancy grid can be edited in rtabmap-databaseViewer, see File->Edit optimized 2D map...

When reloading the map with the conditions above, the map published by rtabmap_ros should contain the edits.

Make sure to have the latest version of rtabmap from master branch.

cheers, Mathieu

void-robotics commented 5 years ago

sounds perfect; I'll check this out in a month or so