Best way to add new controller which has a custom path as input
If I have a custom controller, like a pure pursuit for example, which has a custom path as input.
How could I add this controller to nav2?
I would like to have it as a plugin to the default controller server but then I need to implement the default interface which has nav_msgs::path as input:
virtual void setPlan(const nav_msgs::msg::Path & path) = 0;
And I have a custom one, say pure_pursuit::path
.
So the best idea I have is to create a custom controller server with it's own costmap.
But then I have two copies of the same costmap running...
How would you guys accomplish this?