Is there a ROS Package for Merging and Tracking Obstacles from Multiple Robots?
I'm currently developing a multi-robot system using ROS, where each robot is equipped with one (or more) 2D laser scanners. I intend to create a node, which I refer to as the "Global Obstacle Tracker". The function of this node is to subscribe to local obstacle data (shape, size, position in 2D space) from each robot and publish a unified global obstacle dataset. The idea is to smartly merge similar or identical obstacles into a single entity to avoid duplications. Additionally, the node should be able to track the obstacles, calculating and reporting their velocities.
My question is: Is there an existing ROS package that performs these functions, or should I proceed with custom development? Any guidance or suggestions for relevant resources would be greatly appreciated.
Asked by burakaksoy on 2023-05-23 10:42:15 UTC
Answers
There are some repositories tackling similar challenge of merging the map from different robots:
- https://github.com/hrnr/m-explore
- https://github.com/Nightbot1448/TBMMapMerging/tree/master
- https://github.com/ANYbotics/grid_map
- https://github.com/OctoMap/octomap_mapping
- https://wiki.ros.org/nav2d/Tutorials/DistributedMapping
- https://gingineer95.github.io/2021/03/21/multirobot-map-merge/
- https://github.com/awesomebytes/occupancy_grid_python
Get what you can out of these materials, then develop your custom obstacle detection on merged maps or use some of the tools mentioned in these related sources:
- https://answers.ros.org/question/402073/multirobot_map_merge-merged-map-width-and-height-varies-with-number-of-robots/#402080
- https://github.com/klintan/ros2_pcl_object_detection
Asked by ljaniec on 2023-05-24 04:52:56 UTC
Comments