-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add current path to GoalChecker interface #4593
Conversation
638ab6c
to
0ecf464
Compare
Signed-off-by: Jonas Otto <[email protected]>
0ecf464
to
2bed7fb
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
|
Agreed!
I see you're marking this as a solution to the nav through poses ticket. I see this as a good API-change step needed to implement the goal checker specifics for that and I approve of this intermediate step. I think we do need to adjust the goal checker(s) or make a new one (probably just update the existing?) to fully close the ticket and actually use this API change. So, I like where this is going - no objections and I look forward to the next step! |
@ottojo following up here - have you had a chance to work on this? |
I'm also interested in this, and can potentially help out if it's blocked. Not having this is a real headache for me, and I'd rather not duplicate @ottojo's patch solution (and make yet another proprietary goal checker that subscribes to the current path). |
@josephduchesne I think we'd appreciate the help! This has been blocked / not updated in some time. Taking this and bringing it to the end would be great :-) |
@josephduchesne Please feel free to continue this, i don't currently have the time to continue this. |
The controller server uses a configurable goal checker to determine if the robot has completed its current path as defined by the global plan. Current goal checkers compare the goal (end of path) pose and twist to the current robot state, but that is not sufficient in all cases.
In some use cases, the path will visit the goal multiple times, and the goal might coincide with the starting position. It is still desired that the robot follows the entire path, instead of immediately ending navigation once the goal pose is reached.
This PR adds a parameter to the GoalChecker interface to inform the goal checker of the current path, which enables building more sophisticated goal checkers that (for example) take progress along the path into account.
We already use such a goal checker internally, which just subscribes to the global plan via the appropriate ROS topic, but i think this here is the cleaner solution (and also avoids race conditions of checking against an old path in the goal checker...)
I don't have a nice testing setup and a goal checker using this interface yet (other than our own robot and the mentioned goal checker), which is why I mark this as draft for now.
Basic Info
Description of contribution in a few bullet points
GoalChecker::isGoalReached
interface with argument for current pathDescription of documentation updates required from your changes
Future work that may be required in bullet points
For Maintainers: