Skip to content

Move isStopped, isPathValid and isPoseOccupied from condition nodes to action nodes#5991

Merged
SteveMacenski merged 6 commits intoros-navigation:mainfrom
mini-1235:fix/bt-4881
Mar 9, 2026
Merged

Move isStopped, isPathValid and isPoseOccupied from condition nodes to action nodes#5991
SteveMacenski merged 6 commits intoros-navigation:mainfrom
mini-1235:fix/bt-4881

Conversation

@mini-1235
Copy link
Collaborator

@mini-1235 mini-1235 commented Feb 27, 2026


Basic Info

Info Please fill out this column
Ticket(s) this addresses Fixes #4881
Primary OS tested on Ubuntu
Robotic platform tested on (Steve's Robot, gazebo simulation of Tally, hardware turtlebot)
Does this PR contain AI generated software? (No; Yes and it is marked inline in the code)
Was this PR description generated by AI software? Out of respect for maintainers, AI for human-to-human communications are banned

Description of contribution in a few bullet points

Description of documentation updates required from your changes

Description of how this change was tested


Future work that may be required in bullet points

For Maintainers:

  • Check that any new parameters added are updated in docs.nav2.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists
  • Should this be backported to current distributions? If so, tag with backport-*.

…o action nodes

Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
@mini-1235
Copy link
Collaborator Author

Failing tests related to: #5987, #5990

@mini-1235
Copy link
Collaborator Author

@SteveMacenski There are quite a few places in the docs that need updating. I will open a PR there once you have done an initial review

@SteveMacenski
Copy link
Member

I'm a bit behind today, I took a scan and nothing I immediately saw that caused concern. I still need to look through the implementations to make sure no capabilities were dropped / typos in conversion, but everything seems sane 👍

@mini-1235
Copy link
Collaborator Author

+ EXCLUDE_PACKAGES='dwb_msgs nav2_msgs nav2_rviz_plugins nav2_system_tests nav_2d_msgs'
++ colcon list --names-only --packages-ignore dwb_msgs nav2_msgs nav2_rviz_plugins nav2_system_tests nav_2d_msgs
++ xargs
+ INCLUDE_PACKAGES='costmap_queue dwb_core dwb_critics dwb_plugins nav2_amcl nav2_behavior_tree nav2_behaviors nav2_bringup nav2_bt_navigator nav2_collision_monitor nav2_common nav2_constrained_smoother nav2_controller nav2_core nav2_costmap_2d nav2_dwb_controller nav2_graceful_controller nav2_lifecycle_manager nav2_loopback_sim nav2_map_server nav2_mppi_controller nav2_navfn_planner nav2_planner nav2_regulated_pure_pursuit_controller nav2_ros_common nav2_rotation_shim_controller nav2_route nav2_simple_commander nav2_smac_planner nav2_smoother nav2_theta_star_planner nav2_util nav2_velocity_smoother nav2_voxel_grid nav2_waypoint_follower nav_2d_utils navigation2 opennav_docking opennav_docking_bt opennav_docking_core opennav_following'
+ fastcov --lcov -d build --exclude test/ dwb_msgs nav2_msgs nav2_rviz_plugins nav2_system_tests nav_2d_msgs thirdparty/ --include costmap_queue dwb_core dwb_critics dwb_plugins nav2_amcl nav2_behavior_tree nav2_behaviors nav2_bringup nav2_bt_navigator nav2_collision_monitor nav2_common nav2_constrained_smoother nav2_controller nav2_core nav2_costmap_2d nav2_dwb_controller nav2_graceful_controller nav2_lifecycle_manager nav2_loopback_sim nav2_map_server nav2_mppi_controller nav2_navfn_planner nav2_planner nav2_regulated_pure_pursuit_controller nav2_ros_common nav2_rotation_shim_controller nav2_route nav2_simple_commander nav2_smac_planner nav2_smoother nav2_theta_star_planner nav2_util nav2_velocity_smoother nav2_voxel_grid nav2_waypoint_follower nav_2d_utils navigation2 opennav_docking opennav_docking_bt opennav_docking_core opennav_following --process-gcno --validate-sources --dump-statistic --output lcov/total_coverage.info
[0.125s] [info]: Found 1507 coverage files (.gcno)
[0.124s] [info]: Spawned 36 gcov processes, each processing at most 42 coverage files
[16.810s] [info]: Processed 3336 .gcov files (62964 total, 59628 skipped)
[0.024s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_path_valid_condition.cpp' to scan for exclusion markers...
[0.000s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_path_valid_condition.hpp' to scan for exclusion markers...
[0.000s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_pose_occupied_condition.cpp' to scan for exclusion markers...
[0.000s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_pose_occupied_condition.hpp' to scan for exclusion markers...
[0.000s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_stopped_condition.cpp' to scan for exclusion markers...
[0.000s] [error]: Could not find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_stopped_condition.hpp' to scan for exclusion markers...
[0.033s] [info]: Spawned 36 exclusion marker scanning processes, each processing at most 20 source files
[0.005s] [info]: Scanned 708 source files for exclusion markers
[0.000s] [info]: Checking if all sources exist
[0.008s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_path_valid_condition.cpp'
[0.000s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_path_valid_condition.hpp'
[0.000s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_pose_occupied_condition.cpp'
[0.000s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_pose_occupied_condition.hpp'
[0.000s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/plugins/condition/is_stopped_condition.cpp'
[0.000s] [error]: Cannot find '/opt/overlay_ws/src/navigation2/nav2_behavior_tree/include/nav2_behavior_tree/plugins/condition/is_stopped_condition.hpp'

I will update the key since this PR remove some files

Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
@codecov
Copy link

codecov bot commented Feb 28, 2026

Codecov Report

❌ Patch coverage is 95.45455% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...r_tree/plugins/action/check_stop_status_action.hpp 0.00% 1 Missing ⚠️
...ree/plugins/action/check_pose_occupancy_action.cpp 87.50% 1 Missing ⚠️
Files with missing lines Coverage Δ
...ree/plugins/action/check_pose_occupancy_action.hpp 100.00% <100.00%> (ø)
...avior_tree/plugins/action/validate_path_action.hpp 100.00% <100.00%> (ø)
...r_tree/plugins/action/check_stop_status_action.cpp 100.00% <100.00%> (ø)
...avior_tree/plugins/action/validate_path_action.cpp 91.89% <100.00%> (ø)
...r_tree/plugins/action/check_stop_status_action.hpp 85.71% <0.00%> (ø)
...ree/plugins/action/check_pose_occupancy_action.cpp 94.73% <87.50%> (ø)

... and 9 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One small thing: I think this may need to be reinitialized if changed. But also I think there's a service name port, so is that overriding this default name when set? If so, no change required then.

@mini-1235
Copy link
Collaborator Author

But also I think there's a service name port, so is that overriding this default name when set?

Yes, that's correct

@SteveMacenski SteveMacenski merged commit 554e0ff into ros-navigation:main Mar 9, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BT Tick takes too long for some condition nodes

2 participants