Is there any way to use the RTABMAP software to publish locations of nearby obstacles? I have been using the occupancy grid for the time being but was thinking about an alternative setup.
Secondly, is there a way for me to do the following:
1. Map a room in advance
2. Deploy a robot in room using this database, put it in localization mode only
3. Update the grid_map or 2d occupancy grid with dynamic obstructions it detects?
Basically if someone walks in front of my robot, is there a way to allow it to detect the obstacle but not permanently add it to the map?
For reference, I am using a ZEDm stereoscopic camera.
Thanks all, and thanks Matt for all of your work on this software
I think the easiest way is to derive nearby obstacles from the occupancy grid. Other approach could be to subscribe to /rtabmap/cloud_obstacles topic, which is a PointCloud2 type. The disadvantage is that dynamic obstacles or noisy obstacles will all appear in /rtabmap/cloud_obstacles, as there is no overwriting from empty cells like in occupancy grid (e.g., when we remap the same area but with an obstacle removed).
You can map first the environment, then switch in localization mode (Mem/IncrementalMemory=false).
For dealing with dynamic moving obstacles (like people, pets), I suggest to use the obstacle layer of the local costmap and/or global costmap instead of updating the static map published by rtabmap.
For dealing with "slowly" dynamic obstacles (like furnitures moved over time), it would be possible to start rtabmap again in mapping mode with the previous map, find a loop closure to merge the new map and the old one, move around to add/clear spaces where objects have moved, then go back after that in localization mode.