Why not include a velocity profile in the controller input path?
In nav2_core::Controller
the input path is a nav_msgs/Path
which does not allow for the caller to specify a velocity profile. Consider the following motivating examples.
- We want a different speed while turning and we had that information while building the path.
- We want the robot to slow down as it enters a main passageway.
- ...
Now we could achieve these with the max velocity topic by monitoring the robot's progress and updating the topic as necessary but this seems like an awkward coupling and it wouldn't be as accurate as providing the profile upfront.
So my question is should the controller also take in as input a velocity profile perhaps via a new Path message?
As this question feels pretty open ended and subject to individual use cases, it might be more appropriate as an enhancement request for navigation2, or as a discourse discussion topic? I can certainly see the value in the examples you provided.
Yup, I can ask it there. However, I previously got feedback that ROSAnswers is the more appropriate forum for this type of discussion.
I'm by no means the authority on the matter, so take what I say with a grain of salt, but I tend to distinguish between the platforms as follows:
Github Issues -> verifiable general bugs/fixes and actionable feature requests ROS Answers -> specific implementation questions and help ROS Discourse -> general discussions and updates
For me, this feels like an actionable feature request... but I am not a maintainer of nav2, so I can't say how they'll react. Otherwise, you could maybe post on ROS discourse to gauge popularity of the idea?