Backport GetCurrentPose, ArePosesNear, and ConcatenatePaths BT nodes for Route Server in Jazzy, and minimal BT for navigation.#5755
Conversation
There was a problem hiding this comment.
@preverte A few requests to get this merged:
- Please sign with DCO
- Please fix the linting
- Please try to keep it as close to the main branch as possible, and only make changes where absolutely necessary. If you have any improvements to add, please open a PR targeting main first, then we can backport it to Jazzy
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/get_current_pose_action.hpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/get_current_pose_action.hpp
Outdated
Show resolved
Hide resolved
nav2_behavior_tree/plugins/condition/are_poses_near_condition.cpp
Outdated
Show resolved
Hide resolved
SteveMacenski
left a comment
There was a problem hiding this comment.
To add to what @mini-1235 said, where are the tests? Those should be backported too
… to Jazzy Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
…ames Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
|
@SteveMacenski , @mini-1235 , thank you for the suggestions. Please, find updated branch with DCO sign, linting fixed and corrections suggested above. Also, test files for new nodes have been included, as well as compute_route server handling for nav2_system_tests testing of BTs in nav2_bt_navigator |
|
I will review tomorrow |
mini-1235
left a comment
There was a problem hiding this comment.
I still see quite a few differences after the latest update. Please, please keep this 1:1 with the main branch so it's easier to review and maintain for future backports. We would really appreciate any improvements added to the main branch first, once merged, we can backport them to Jazzy
nav2_behavior_tree/plugins/condition/are_poses_near_condition.cpp
Outdated
Show resolved
Hide resolved
…ch structure Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
…g this tree, back to original Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
|
@mini-1235 , I updated the code to be as close as possible with main branch. Regarding the BT xml, I just deleted it as it is not part of the backport just like you mentioned, maybe I will add it as some new feature in the main branch. |
nav2_behavior_tree/include/nav2_behavior_tree/plugins/action/get_current_pose_action.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
…for Route Server in Jazzy, and minimal BT for navigation. (ros-navigation#5755) * Backported GetCurrentPose, ConcatenatePaths and ArePosesNear BT nodes to Jazzy Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Created minimum BT for navigation using RouteServer, without replanning Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * GetCurrentPose and ArePosesNear use deconflictPortAndParamFile for frames Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Apply cpplint and uncrustify formatting corrections for new BT nodes Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Original copyright Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Added test for GetCurrentPose, ConcatenatePaths and ArePosesNear Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Correct copyright for GetCurrentPose Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * GetCurrentPose heritages from BT::ActionNodeBase Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * ArePosesNear uses isStatusActive Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Added route_server to server_handler for BT test in building Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * GetCurrentPose, ArePosesNear and ConcatenatePaths closer to main branch structure Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Removed new BT with routes and nav2_system_tests additions for testing this tree, back to original Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Removed override of halt function for get_current_pose_action.cpp Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> * Removed default values for input ports of GetCurrentPose Signed-off-by: Pau Reverté <pau.reverte@eurecat.org> --------- Signed-off-by: Pau Reverté <pau.reverte@eurecat.org>
Basic Info
Description of contribution in a few bullet points
Backported three basic Behavior Tree (BT) nodes into the Jazzy distribution to enable full Route Graph navigation: GetCurrentPose, ArePosesNear, and ConcatenatePaths.
Added a minimal example Behavior Tree (nav2_bt_navigator/behavior_trees/nav_to_pose_with_routes.xml) demonstrating the core sequencing required to navigate: From an arbitrary starting point to the route graph, along the route graph and from the route graph exit to an off-route final goal.
Description of documentation updates required from your changes
Description of how this change was tested
Note: No dedicated unit tests or integration tests have been written yet, only simulation verification of the functionality.
Future work that may be required in bullet points
Adding full recovery behaviors and replanning logic to the minimal BT example to match the robustness of the standard navigate_to_pose tree.
Writing dedicated unit tests for the new GetCurrentPose, ArePosesNear, and ConcatenatePaths BT nodes.
For Maintainers:
backport-*.