Can you consider the problem that is updating the point clouds when a new obstacle in font of robot?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Can you consider the problem that is updating the point clouds when a new obstacle in font of robot?

yincanben
Hello,
     Thank you this project.
     I meet a problem,When robot visted a place which is visted before, There is a new obstacle ,generallly,The researchers increase the point clouds of obstacle on the original slam.Can you give some advice about how to update point cloud in this situation?
Reply | Threaded
Open this post in threaded view
|

Re: Can you consider the problem that is updating the point clouds when a new obstacle in font of robot?

matlabbe
Administrator
Hello,

If node filtering is not activated, all point clouds are always shown. So if there was an obstacle the first time an area is visited, it won't be cleared if coming back when the obstacle is removed.

If node filtering is activated (you should see parameters like "filter_radius" and "filter_angle" for map_assembler and grid_map_assembler nodes, or "Node filtering radius" and "Node filtering angle" for MapCloud rviz plugin), only the more recent cloud in the fixed radius/angle is shown or assembled in the map. So coming back at the same place where the obstacle is removed, the newest cloud (without the obstacle) would have priority on the old cloud (with obstacle), so the obstacle will be cleared indirectly by keeping only the newest cloud in the map.

This also work when a new object is introduced in a previously visited area, the object would be added to the map.

There are also other RTAB-Map's parameters like "RGBD/AngularUpdate" and "RGBD/LinearUpdate" which will make rtabmap node to not add new point clouds if the robot has not moved/rotated more than fixed values.

For planning in dynamically environment, I recommend to update a local map directly with the inputs from the sensors while using rtabmap to generate a global map. I would refer to move_base documentation for example about local costmap generation from sensors. The rtabmap stereo navigation tutorial shows an example with move_base.

Regards,
Mathieu