Skip to content

Conversation

@alexanderjyuen
Copy link
Contributor


Basic Info

Info Please fill out this column
Ticket(s) this addresses N/A
Primary OS tested on Ubuntu
Robotic platform tested on Gazebo simulation
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

  • Added new behavior tree control node that allows for ticking through of all children nodes if they were in SUCCESS or RUNNING states. This is enable a sequence to not be blocked by a single child in the running state
  • Unit testing for the above control node

Description of documentation updates required from your changes

Description of how this change was tested

  • Included unit testing
  • Tested in Gazebo with ComputeAndTrackRoute BT Action Node, along with FollowPath. Since ComputeAndTrackRoute stays in the RUNNING state until route completion, the NonblockingSequence had to be used to get to the FollowPath BT Node while the route was being tracked

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-*.
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
@codecov
Copy link

codecov bot commented Jul 2, 2025

Codecov Report

Attention: Patch coverage is 92.30769% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...vior_tree/plugins/control/nonblocking_sequence.cpp 92.00% 2 Missing ⚠️
Files with missing lines Coverage Δ
...vior_tree/plugins/control/nonblocking_sequence.hpp 100.00% <100.00%> (ø)
...vior_tree/plugins/control/nonblocking_sequence.cpp 92.00% <92.00%> (ø)

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
…nonblocking_sequence.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
@SteveMacenski SteveMacenski merged commit fc8a642 into ros-navigation:main Jul 10, 2025
16 checks passed
user247-tai pushed a commit to huynhduc9905/navigation2 that referenced this pull request Oct 9, 2025
* added nonblocking sequence

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* adding non blocking sequence test

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* adding non blocking sequence test to CMake

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* added doxygen

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* remove node_

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* main port

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* added NonblockingSequence to nav2_tree_nodes.xml

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* cpp linting

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* cpplinting

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* clarifed nonblocking sequence functionality in doxygen

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* Update nav2_behavior_tree/include/nav2_behavior_tree/plugins/control/nonblocking_sequence.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
user247-tai pushed a commit to huynhduc9905/navigation2 that referenced this pull request Oct 29, 2025
* added nonblocking sequence

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* adding non blocking sequence test

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* adding non blocking sequence test to CMake

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* added doxygen

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* remove node_

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* main port

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* added NonblockingSequence to nav2_tree_nodes.xml

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* cpp linting

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* cpplinting

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* clarifed nonblocking sequence functionality in doxygen

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>

* Update nav2_behavior_tree/include/nav2_behavior_tree/plugins/control/nonblocking_sequence.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants