-
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
Remove in collision goals BT node #4595
Remove in collision goals BT node #4595
Conversation
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Tony Najjar <[email protected]>
Codecov ReportAttention: Patch coverage is
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usual bits on tests and docs, but overall looks like a good initial prototype!
Thought: Adjust the GetCost
service to a GetCosts
service so that you don't call it repeatedly - populate 1 request with N goals and get their costs back in bulk. That's probably useful for a number of reasons
nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.cpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.cpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.cpp
Outdated
Show resolved
Hide resolved
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
@tonynajjar, your PR has failed to build. Please check CI outputs and resolve issues. |
Signed-off-by: Tony Najjar <[email protected]>
@tonynajjar, your PR has failed to build. Please check CI outputs and resolve issues. |
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
@tonynajjar, your PR has failed to build. Please check CI outputs and resolve issues. |
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
I graduated the PR from draft status. Docs and some manual testing are are missing, you can do a second round of review though |
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
should_send_request_ = false; | ||
return; | ||
} | ||
request_ = std::make_shared<nav2_msgs::srv::GetCosts::Request>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The request_
is never recreated/reset in bt_service_node. It would make sense to add that there don't you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for this case since the goal vector length can change this is good!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I wasn't clear enough, I meant to recreate the request in the BTServiceNode parent instead of for every child. Seems like a generic enough thing to do to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I think some rely on it being the same by populating it once in initialization -- but if that's not the case, happy to have that change too. Some API change could come and make that break.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's only used here in Nav2 but some people might rely on it in their private plugins. I'm happy either way, the benefit of keeping it as is, is at least to have the option to initialize once.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm ambivalent unless someone had a compelling argument either way.
This pull request is in conflict. Could you fix it @tonynajjar? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise LGTM, just doc updates:
- Update migration guide that its GetCosts now
- Add the new BT node to the plugins page, migration guide, configuration guide
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.cpp
Outdated
Show resolved
Hide resolved
should_send_request_ = false; | ||
return; | ||
} | ||
request_ = std::make_shared<nav2_msgs::srv::GetCosts::Request>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for this case since the goal vector length can change this is good!
…-goals Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
...behavior_tree/include/nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.hpp
Show resolved
Hide resolved
nav2_behavior_tree/plugins/action/remove_in_collision_goals_action.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Tony Najjar <[email protected]>
should_send_request_ = false; | ||
return; | ||
} | ||
request_ = std::make_shared<nav2_msgs::srv::GetCosts::Request>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm ambivalent unless someone had a compelling argument either way.
* Remove goals in collision Signed-off-by: Tony Najjar <[email protected]> * fix for main Signed-off-by: Tony Najjar <[email protected]> * Fix linting Signed-off-by: Tony Najjar <[email protected]> * linting fixes Signed-off-by: Tony Najjar <[email protected]> * PR fixes Signed-off-by: Tony Najjar <[email protected]> * remove second costmap Signed-off-by: Tony Najjar <[email protected]> * Minor fixes Signed-off-by: Tony Najjar <[email protected]> * getcosts instead of cost Signed-off-by: Tony Najjar <[email protected]> * get future once Signed-off-by: Tony Najjar <[email protected]> * replace with BTServiceNode Signed-off-by: Tony Najjar <[email protected]> * Add test Signed-off-by: Tony Najjar <[email protected]> * fix costmap tool Signed-off-by: Tony Najjar <[email protected]> * fix ament_uncrustify Signed-off-by: Tony Najjar <[email protected]> * remove duplicate Signed-off-by: Tony Najjar <[email protected]> * add return Signed-off-by: Tony Najjar <[email protected]> * fix typo Signed-off-by: Tony Najjar <[email protected]> * reset request before sending Signed-off-by: Tony Najjar <[email protected]> * pr comments fixes Signed-off-by: Tony Najjar <[email protected]> * fix ament cmake Signed-off-by: Tony Najjar <[email protected]> * fix test Signed-off-by: Tony Najjar <[email protected]> * fix Signed-off-by: Tony Najjar <[email protected]> --------- Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Joseph Duchesne <[email protected]>
Basic Info
Description of contribution in a few bullet points
Description of documentation updates required from your changes
Future work that may be required in bullet points
For Maintainers: