Feature request
Feature description
The current implementation of PlannerServer invokes the getPlan function in a blocking manner. This means that even if a goal is cancelled, the planner computation continues until completion, leading to potential delays, especially with slower planners like Hybrid A*.
Implementation considerations
Potential implementations could be either running planner in an async way and keep checking for isCancelRequested or having a cancel service. Both requires GlobalPlanner to have a cancel interface.