Slam Toolbox marks humans to map

asked 2021-11-05 04:57:01 -0500

jannkar gravatar image

While mapping large areas with our robot, we have a human operator walking with the robot around the building. Issue is that Slam Toolbox is also drawing this person and other moving humans to the map, inflating costmaps from these marked ponts during navigation phase and making path planning difficult.

Is this expected behavior for Slam Toolbox? If yes, are there any existing solutions to filter humans, especially any moving objects out of the static map? What would be the best ways to approach this problem?

We are planning to use our robot in large spaces, with dynamically changing environment of people constantly moving. We are using 360-lidar to do the mapping and ROS 2 Foxy version of the Slam Toolbox. Here is an example map of an empty parking hall, where the black dots in the middle of it are moving humans.

image description

edit retag flag offensive close merge delete

Comments

I read this paper about this challenge: https://hal.archives-ouvertes.fr/hal-....

There is another paper that uses a different approach: https://mdpi-res.com/d_attachment/sen...

I will try to find some implementation

osilva gravatar image osilva  ( 2021-11-06 07:52:42 -0500 )edit

I found this cool implementation that was presented in IROS 2020: https://github.com/irapkaist/removert

Please let me know if this is what you are looking and I all add an answer accordingly

osilva gravatar image osilva  ( 2021-11-06 08:06:10 -0500 )edit

Thanks for the great resources! The first link seems to do the dynamic point removal from rgb-d image and the second uses deep learning method. I'm looking for a solution for a Lidar and preferably for a solution that doesn't require running neural networks on GPU. So the third link, the removert, seems really promising and is definitely in the right direction. Too bad it is only for ROS melodic for now and not for ROS 2.

But I'm now wondering do we really even need to do the proper segmentation for the dynamic data or even need to use 3D Lidar. Wouldn't it be possible to just compare two or more 2D scans from nearby locations, and if some of the objects are not present anymore when comparing those scans, we would just remove them from the map? I originally expected that the slam-toolbox could ...(more)

jannkar gravatar image jannkar  ( 2021-11-08 09:55:36 -0500 )edit

You could go back to the basics and use opencv look for object detection and features detection and make a criteria to remove them. Machine learning is way more accurate thoug. I will summarize and add an answer.

osilva gravatar image osilva  ( 2021-11-08 11:47:02 -0500 )edit