robo-friends/m-explore-ros2

Feature: Option to publish frontier on a topic instead of sending it to nav2

Closed this issue · 2 comments

A common issue that I have using this package is that it takes totally control over the navigation. In my opinion if the stack is complex it will contain a decision system (SMACH, BT..) which probably needs to analyze the frontiers or perform another task before sending it to the nav stack. I would like to add a way to configure if we want the explorer to send the frontiers to the nav stack or just publish it on topic.

I can prepare a PR for this if needed, do you think it would be useful?

Hi Luis, that makes sense.
Keep in mind that the node also keeps track and blacklists frontiers to avoid going to already visited or impossible frontiers.
Also, keep in mind the progress_timeout parameter which is used to blacklist a frontier after some time if no progress is made, so if the nav2 is not moving the robot this node will start to blacklist frontiers.

What could be done is to expose 3 topics:

  • all frontiers found
  • blacklisted frontiers
  • goal frontier

Also when this mode is activated (no nav2 control) stop blacklisting when a progress timeout, although this will affect the normal behavior. When a new frontier is persued, the previous frontier is blacklisted in the callback of the nav2 action, that need to be handled as well somehow

Closing this since the author of the PR closed it