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
Planner selector #2249
Planner selector #2249
Conversation
@pabloinigoblasco please copy-paste an un-modified PR template and fill it in. There's checklists and items there important for my own sanity when reviewing PRs to make sure things don't drop through the cracks and that you're prompted about things you may have forgotten to do. Though I do understand this is just a WIP first go |
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.
LGTM from a high level, just some details to work out
nav2_behavior_tree/include/nav2_behavior_tree/plugins/decorator/planner_selector_node.hpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/include/nav2_behavior_tree/plugins/decorator/planner_selector_node.hpp
Outdated
Show resolved
Hide resolved
I updated the PR description to fit the default PR template. |
What about this new version? |
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.
Overall LGTM, just a question for Sarthak and a test. Also the readme table update to include this new Bt node + the website update to include it I mention in above comments with an example.
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/planner_selector_node.hpp
Show resolved
Hide resolved
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/planner_selector_node.hpp
Show resolved
Hide resolved
…nd main class doxygen brief
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.
LGTM - just missing complete docs. Following up in comment about readme, but also still missing the navigation.ros.org updates I also described. But no more changes to code required. For the website docs:
- Migration guide add this new BT node to the new BT node section https://navigation.ros.org/migration/Foxy.html#new-behavior-tree-nodes
- Navigation plugins page add this new BT node https://navigation.ros.org/plugins/index.html
- Configuration guide add page for the ports (ex https://navigation.ros.org/configuration/packages/bt-plugins/actions/ComputePathToPose.html)
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/planner_selector_node.hpp
Show resolved
Hide resolved
I am with these last tasks. However, I have a weird feeling with this PlanerSelector node about its "category":
This PlannerSelector is located inside plugins/action, is that correct? For all these documentation tasks I would need to know its category. |
I did a pull request to the documentation respository: |
Yes, it belongs in the BT - Action subsection in the navigation plugins list, since its an action plugin (deriving from the action plugin type). It is a Behavior Tree Action node, it has nothing to do with ROS actions. |
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.
@naiveHobo you happy with this?
@pabloinigoblasco One more place to add it: https://github.com/ros-planning/navigation2/blob/main/nav2_behavior_tree/nav2_tree_nodes.xml for groot monitoring
@pabloinigoblasco pull in |
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.
Just a small naming issue, otherwise LGTM!
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/planner_selector_node.hpp
Outdated
Show resolved
Hide resolved
I have to analyze this thoroughly. I just merged the "main branch" and I am getting erros on nav2_utils and some rclcpp Exceptions and not sure why. I am working on that. |
You're probably on an older version of ros2 master build, you'll have to update your local source ros2 repositories and build ros2 master again to get the latest changes. https://docs.ros.org/en/foxy/Installation/Maintaining-a-Source-Checkout.html#update-your-repositories |
Thanks I will have a look to the link you say. I was working on rolling not directly on the ros2 main branch. So, according to what you say, that should be the problem. |
Sweet! This is good to go once CI passes + your documentation PR is completed (just 1 more missing thing so that the page is reachable) |
@pabloinigoblasco thanks for this! The controller / goal checker should be just exactly equal to this with different names / topics! |
* planner selector proposal * PR review changes: ros-planning#2249 * minor, inline function in cpp file * Third PR for planner selector: default input_topic, additional test and main class doxygen brief * some more documentation on planner_selector * adding planner selector to nav_tree_nodes.xml * method namming convention in planner_selector
Basic Info
PR of the planner selector to be integrated in navigation2 main branch. With this BTNode we use a subscriber to enable the ability of selecting the current planner for the navigation.
Description of contribution in a few bullet points
Deeper discussion in issue 147, but the main features are:
Description of documentation updates required from your changes
Documentation is planned to be added after the first revision of the PR.
Future work that may be required in bullet points
For Maintainers: