-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Initial draft of Controller Path Following Deviation Range API #5362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Hello, I really admire the fact that Nav2 is thinking about a tighter communication with Fleet Managers. I worked on implementing a VDA5050 adapter for our mobile robot based on ROS 2, I can provide some feedback. I'm also interested in hearing what the community thinks.
The edge information becomes necessary when you have edge actions associated with them --- in which case, it becomes imperative to let the VDA5050 Master controller know the current status of the robot. If you do not have edge actions, and you swear to never deal with edge actions, what you can do is simply pop the associated edge once you have traversed the node. To the MC, this will seem as if the traversal of the edge was instantaneous. This is not the cleanest way to deal with this, mind you. That being said, I do not imagine that Nav2 will be dealing with a full integration of the VDA5050 standards, so the edge information for something like a path planner would be a bit extra. I'll try and explain myself a bit better. Consider a VDA5050 order where you go to Node A, then to Node B, pick up an item X, and drive to Node C, to drop it off. When the item is loaded, you must blink a light and let everybody know that you're transporting loads. In this case, the critical information necessary for Nav2 would simply be plan the trajectory The one reason I might be convinced in favour of passing in the edge info will be the possibility of launching edge actions (by calling appropriate behavior trees) while traversing the edge. If not, you leave it up to the higher level adapter node to figure out if they are on the edge by using the current pose of the robot/the Looking forward to hearing thoughts on this. 🙂 |
This introduces an initial prototype of a Controller Deviation API so that a path following solution can have awareness of the intermediary goals from something like a fleet manager, VDA 5050, or navigate through poses whereas each intermediary goal / connecting edge has a strict allowable deviation range. We pass in the goal(s) on the path through the Action API into the controllers which can then be setup to use them as they see fit.
Please provide some feedback!
TODO