Why not allow for dynamic goal checker plugins?
Looking through the code, I'm wondering why nav2_controller::ControllerServer
doesn't allow for dynamic goal checker plugins like it does for the controller plugins. Take the following examples as motivation.
Scenario 1: We want the robot to interface with a control panel and so we give it a path that ends with it facing the panel (orientation is important, thus for this scenario the goal checker needs to ensure we have achieved the correct pose).
Scenario 2: We want the robot to communicate with another robot and so we give it a path that brings the robot within range of the other robot (we don't want it to go out of it's way to orient itself since in this case orientation doesn't matter).
Of course, these two scenarios would likely require different planners and or controllers but wouldn't it be ideal that our controller returns true if we achieve the desired result (the correct location and orientation for scenario 1 and just the correct location for scenario 2)?
PS. I would think we would also allow for dynamic plugins for the progress checker, because you never know.