Skip to content

Conversation

@BCKSELFDRIVEWORLD
Copy link
Contributor

@BCKSELFDRIVEWORLD BCKSELFDRIVEWORLD commented Jul 29, 2025


Basic Info

Info Please fill out this column
Ticket(s) this addresses (#4963)
Primary OS tested on (Ubuntu, MacOS, Windows)
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-*.

@mergify
Copy link
Contributor

mergify bot commented Jul 29, 2025

@BCKSELFDRIVEWORLD, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

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.

LGTM with small changes. Rebase on main when I merge #5409 (should be in the next hour or so) to get CI to turn over. We're hitting some limits I'm working around. Once these small changes are made and CI is passing I can merge!

Checkout the linting failure jobs, those should be fixed as well

@SteveMacenski
Copy link
Member

@BCKSELFDRIVEWORLD any update?

@mergify
Copy link
Contributor

mergify bot commented Sep 23, 2025

@BCKSELFDRIVEWORLD, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
@mergify
Copy link
Contributor

mergify bot commented Sep 23, 2025

@BCKSELFDRIVEWORLD, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

1 similar comment
@mergify
Copy link
Contributor

mergify bot commented Sep 23, 2025

@BCKSELFDRIVEWORLD, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

@codecov
Copy link

codecov bot commented Sep 23, 2025

Codecov Report

❌ Patch coverage is 90.79070% with 99 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
nav2_costmap_2d/src/clear_costmap_service.cpp 18.75% 26 Missing ⚠️
...tmap_2d/plugins/costmap_filters/keepout_filter.cpp 53.06% 23 Missing ⚠️
..._map_server/src/vo_server/vector_object_shapes.cpp 96.81% 7 Missing ⚠️
...clude/nav2_behavior_tree/bt_action_server_impl.hpp 79.31% 6 Missing ⚠️
...vior_tree/plugins/action/clear_costmap_service.cpp 66.66% 4 Missing ⚠️
...r_tree/plugins/control/pause_resume_controller.cpp 94.28% 4 Missing ⚠️
...v2_graceful_controller/src/graceful_controller.cpp 75.00% 4 Missing ⚠️
nav2_map_server/src/vo_server/main.cpp 0.00% 4 Missing ⚠️
...avior_tree/plugins/control/persistent_sequence.cpp 89.28% 3 Missing ⚠️
...cking/opennav_docking/src/simple_charging_dock.cpp 95.52% 3 Missing ⚠️
... and 9 more
Files with missing lines Coverage Δ
nav2_amcl/src/amcl_node.cpp 66.76% <100.00%> (ø)
...nclude/nav2_behavior_tree/behavior_tree_engine.hpp 100.00% <ø> (ø)
...ee/include/nav2_behavior_tree/bt_action_server.hpp 83.33% <100.00%> (ø)
...vior_tree/plugins/action/clear_costmap_service.hpp 100.00% <100.00%> (ø)
...r_tree/plugins/action/controller_selector_node.hpp 100.00% <ø> (ø)
...tree/plugins/action/goal_checker_selector_node.hpp 100.00% <ø> (ø)
...vior_tree/plugins/action/planner_selector_node.hpp 100.00% <ø> (ø)
.../plugins/action/progress_checker_selector_node.hpp 100.00% <ø> (ø)
...ior_tree/plugins/action/smoother_selector_node.hpp 100.00% <ø> (ø)
...tree/plugins/action/truncate_path_local_action.hpp 100.00% <ø> (ø)
... and 117 more

... and 29 files with indirect coverage changes

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

BCKSELFDRIVEWORLD and others added 18 commits September 23, 2025 21:02
Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
* Moving MPPI, Smac to secondary job

Signed-off-by: SteveMacenski <[email protected]>

* Use xlarge resource class

Signed-off-by: SteveMacenski <[email protected]>

* Bump the cache

Signed-off-by: SteveMacenski <[email protected]>

* back to large

Signed-off-by: SteveMacenski <[email protected]>

* fix

Signed-off-by: SteveMacenski <[email protected]>

* Add route server

Signed-off-by: SteveMacenski <[email protected]>

* Shift more packages over

Signed-off-by: SteveMacenski <[email protected]>

---------

Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
* [DEX] limit comparison precision

Signed-off-by: Guillaume Doisy <[email protected]>

* EPSILON 1e-5

Signed-off-by: Guillaume Doisy <[email protected]>

---------

Signed-off-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
…s for CircleCI limits (ros-navigation#5409)

* Moving Nav2 behaviors to the system build job

Signed-off-by: SteveMacenski <[email protected]>

* Adding Docking

Signed-off-by: SteveMacenski <[email protected]>

* moving more over to balance jobs

Signed-off-by: SteveMacenski <[email protected]>

---------

Signed-off-by: SteveMacenski <[email protected]>
)

* Add pause and seq with bb memory BT nodes

Signed-off-by: redvinaa <[email protected]>

* Requested changes

Signed-off-by: redvinaa <[email protected]>

* Lint

Signed-off-by: redvinaa <[email protected]>

* Restructure pause, rename unpaused state to resumed

Signed-off-by: redvinaa <[email protected]>

* Add PauseResumeController test

Signed-off-by: redvinaa <[email protected]>

* Implement tests using xml_txt trees and dummy nodes

Signed-off-by: redvinaa <[email protected]>

* Update include

Signed-off-by: redvinaa <[email protected]>

* One more fix because of sync

Signed-off-by: redvinaa <[email protected]>

* Fix build

Signed-off-by: redvinaa <[email protected]>

* Add tests

Signed-off-by: redvinaa <[email protected]>

* Remove unreachable code

Signed-off-by: redvinaa <[email protected]>

* Fix tests

Signed-off-by: redvinaa <[email protected]>

* Update copyrights

Signed-off-by: redvinaa <[email protected]>

* Fix size calc

Signed-off-by: redvinaa <[email protected]>

* Rename to PersistentSequence

Signed-off-by: redvinaa <[email protected]>

* Fix docstring

Signed-off-by: redvinaa <[email protected]>

---------

Signed-off-by: redvinaa <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
…ros-navigation#5420)

* fix: Add KDTree type definition to include unsigned int for IndexType

Signed-off-by: Ericsii <[email protected]>

* code format

Signed-off-by: Ericsii <[email protected]>

---------

Signed-off-by: Ericsii <[email protected]>
* Move nav_2d_util to nav2_util

Signed-off-by: mini-1235 <[email protected]>

* Rename frame

Signed-off-by: mini-1235 <[email protected]>

* Replace OdomSubscriber with OdomSmoother

Signed-off-by: mini-1235 <[email protected]>

* Use transformPoseInTargetFrame in all controllers

Signed-off-by: mini-1235 <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
…s-navigation#5406)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <[email protected]>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <[email protected]>

---------

Signed-off-by: Patrick Roncagliolo <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
…ation#5423)

* Smooth path even if goal pose is so much near to the robot

Signed-off-by: CihatAltiparmak <[email protected]>

* Apply suggestions

Signed-off-by: CihatAltiparmak <[email protected]>

* Remove unnecessary diff

Signed-off-by: CihatAltiparmak <[email protected]>

---------

Signed-off-by: CihatAltiparmak <[email protected]>
…5427)

* Make pause resume controller use nav2::LifecycleNode

Signed-off-by: redvinaa <[email protected]>

* Fix tests

Signed-off-by: redvinaa <[email protected]>

* Use new nav2 create_service

Signed-off-by: redvinaa <[email protected]>

* Use attribues from parent, fix future wait, update docstring

Signed-off-by: redvinaa <[email protected]>

---------

Signed-off-by: redvinaa <[email protected]>
* Updating readme info

Signed-off-by: SteveMacenski <[email protected]>

* Adding configuration guide

Signed-off-by: SteveMacenski <[email protected]>

* Conciseness

Signed-off-by: SteveMacenski <[email protected]>

---------

Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
emersonknapp and others added 27 commits September 23, 2025 21:02
…s-navigation#5452)

* nav2_route vizualization marker use sphere_list and line_list for rendering performance

Signed-off-by: Emerson Knapp <[email protected]>

* Fix unit test and break out magic constants into named values

Signed-off-by: Emerson Knapp <[email protected]>

---------

Signed-off-by: Emerson Knapp <[email protected]>
* Fix SmacPlannerLattice dynamic parameter early exit

Signed-off-by: Tony Najjar <[email protected]>

* remove comment

Signed-off-by: Tony Najjar <[email protected]>

---------

Signed-off-by: Tony Najjar <[email protected]>
* fix-duplicate-poses

Signed-off-by: Tony Najjar <[email protected]>

* Update nav2_planner/src/planner_server.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>

---------

Signed-off-by: Tony Najjar <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
* Revert "Add double spin_some in some BT nodes (ros-navigation#5055)"

This reverts commit 4e8469e.

Signed-off-by: mini-1235 <[email protected]>

* Update spin some to use spin all

Signed-off-by: mini-1235 <[email protected]>

* Replace 50 ms with bt loop duration

Signed-off-by: mini-1235 <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
)

* Add custom window size and poly order in SG filter

Signed-off-by: mini-1235 <[email protected]>

* Fix linting and benchmark tool

Signed-off-by: mini-1235 <[email protected]>

* Cmakelist

Signed-off-by: mini-1235 <[email protected]>

* Adding comments

Signed-off-by: mini-1235 <[email protected]>

* Add blog

Signed-off-by: mini-1235 <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
Added 3Laws Robotics to the list of partners.

Signed-off-by: Steve Macenski <[email protected]>
* Fix segmentation fault

Signed-off-by: Tony Najjar <[email protected]>

* fix linting

Signed-off-by: Tony Najjar <[email protected]>

---------

Signed-off-by: Tony Najjar <[email protected]>
…s-navigation#5507)

* Fixes for route graph

Signed-off-by: SteveMacenski <[email protected]>

* Fix route graph vis

Signed-off-by: SteveMacenski <[email protected]>

---------

Signed-off-by: SteveMacenski <[email protected]>
…ion#5499)

* Fix pose timestamp when using transformPoseInTargetFrame

Signed-off-by: mini-1235 <[email protected]>

* Fix frame

Signed-off-by: mini-1235 <[email protected]>

* Update nav2_route/src/goal_intent_extractor.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: mini-1235 <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
* Implement integral distance for critics

Signed-off-by: Tony Najjar <[email protected]>

* .

Signed-off-by: Tony Najjar <[email protected]>

* linting

Signed-off-by: Tony Najjar <[email protected]>

* more linting

Signed-off-by: Tony Najjar <[email protected]>

* fix tests

Signed-off-by: Tony Najjar <[email protected]>

* reset path length

Signed-off-by: Tony Najjar <[email protected]>

* fix sign

Signed-off-by: Tony Najjar <[email protected]>

* fix return value

Signed-off-by: Tony Najjar <[email protected]>

* Revert "fix return value"

This reverts commit 8b21e89.

Signed-off-by: Tony Najjar <[email protected]>

* remove extra variable

Signed-off-by: Tony Najjar <[email protected]>

* add doxygen

Signed-off-by: Tony Najjar <[email protected]>

* rename getCriticGoalPathDistance

Signed-off-by: Tony Najjar <[email protected]>

* delete withinPositionGoalTolerance

Signed-off-by: Tony Najjar <[email protected]>

* use only one path distance

Signed-off-by: Tony Najjar <[email protected]>

* cleanup

Signed-off-by: Tony Najjar <[email protected]>

* linting

Signed-off-by: Tony Najjar <[email protected]>

* reorder

Signed-off-by: Tony Najjar <[email protected]>

* format

Signed-off-by: Tony Najjar <[email protected]>

* fix tests

Signed-off-by: Tony Najjar <[email protected]>

---------

Signed-off-by: Tony Najjar <[email protected]>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ts (ros-navigation#5485)

* Publish criticsStats

Signed-off-by: Tony Najjar <[email protected]>

* linting

Signed-off-by: Tony Najjar <[email protected]>

* change header to stamp

Signed-off-by: Tony Najjar <[email protected]>

* make unique_pointer

Signed-off-by: Tony Najjar <[email protected]>

* typo

Signed-off-by: Tony Najjar <[email protected]>

* Add readme

Signed-off-by: Tony Najjar <[email protected]>

* add to readme

Signed-off-by: Tony Najjar <[email protected]>

* fixes

Signed-off-by: Tony Najjar <[email protected]>

---------

Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
* Add Vector Object server

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Meet review comments

Signed-off-by: Alexey Merzlyakov <[email protected]>

* Simplify shapes param configuring

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Rename getROSParameter() to getParameter()

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Return back getMaskData() to nav2_costmap_2d

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Add composition node support

Signed-off-by: Alexey Merzlyakov <[email protected]>

* Remove redundant methods

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Update nav2_map_server/src/vo_server/vector_object_server.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Avoid shapes clearing

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Optimize switchMapUpdate() method

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Switch to vector of shapes

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Minor fixes

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Meet review comments

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Move isPointInside algorithm to nav2_util

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Testcases covering new functionality

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Fix linting issues

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Adjust for Vector Objects demonstration

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Code clean-up
* Corrected headers
* Functions ordering
* Comment fixes

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>

* Additional code facelift
* Correct licensing years
* Fix Vector Object server dependencies
* Funcion rename for better readability
* Improve/fix comments

Signed-off-by: Alexey Merzlyakov <[email protected]>

* Minor fixing after rebase

Signed-off-by: Alberto Tudela <[email protected]>

* Rename vector object server

Signed-off-by: Alberto Tudela <[email protected]>

* Minor changes

Signed-off-by: Alberto Tudela <[email protected]>

* Update tests

Signed-off-by: Alberto Tudela <[email protected]>

* Merge branch 'main' into feature/vector_object_server

Signed-off-by: Sushant Chavan <[email protected]>

* Fix merge issues and pre-commit checks

Signed-off-by: Sushant Chavan <[email protected]>

* Change tf2_ros headers from `.h` to `.hpp`

Signed-off-by: Sushant Chavan <[email protected]>

* Fix race condition in pub-sub of VO map

Signed-off-by: Sushant Chavan <[email protected]>

* Cleanup

Signed-off-by: Sushant Chavan <[email protected]>

* Remove use of ament_target_dependencies

Signed-off-by: Sushant Chavan <[email protected]>

* Fix review comments

Signed-off-by: Sushant Chavan <[email protected]>

* Fix linter errors

Signed-off-by: Sushant Chavan <[email protected]>

* Fix exception handling

Signed-off-by: Sushant Chavan <[email protected]>

* Update nav2_map_server/include/nav2_map_server/vector_object_utils.hpp

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>

* Update nav2_util/include/nav2_util/raytrace_line_2d.hpp

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>

* Add error logs

Signed-off-by: Sushant Chavan <[email protected]>

* Fix cpplint

Signed-off-by: Sushant Chavan <[email protected]>

---------

Signed-off-by: Alexey Merzlyakov <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>
Signed-off-by: Sushant Chavan <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Co-authored-by: Alberto Tudela <[email protected]>
Co-authored-by: Copilot <[email protected]>
* Add missing dependency declaration

Signed-off-by: Sushant Chavan <[email protected]>

* Remove unused header

Signed-off-by: Sushant Chavan <[email protected]>

---------

Signed-off-by: Sushant Chavan <[email protected]>
* Get rid of rclcpp spin all and spin some

Signed-off-by: mini-1235 <[email protected]>

* Linting

Signed-off-by: mini-1235 <[email protected]>

* Vector object server

Signed-off-by: mini-1235 <[email protected]>

* Linting

Signed-off-by: mini-1235 <[email protected]>

* Update nav2_rviz_plugins/src/utils.cpp

Signed-off-by: Steve Macenski <[email protected]>

* Error log

Signed-off-by: Maurice <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Signed-off-by: Maurice <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
… dock plugins (ros-navigation#5015) (ros-navigation#5218)

* feat(opennav_docking): Add dynamic lifecycle for external detectors

This change introduces an API to dynamically enable and disable external
docking detectors, such as those based on AI, to conserve system
resources when not actively docking.

Key changes:
- Added `startDetectionProcess()` and `stopDetectionProcess()` to the
  docking plugin interface (`ChargingDock` and `NonChargingDock`).
- Implemented this logic in `SimpleChargingDock` and
  `SimpleNonChargingDock` using a `std_srvs/Trigger` service call and
  dynamic topic subscription to manage the detector's lifecycle.
- The `DockingServer` now ensures `stopDetectionProcess()` is called
  on all exit paths, including success, failure, and cancellation,
  to prevent dangling resources.
- Added new parameters (`detector_service_name`, `subscribe_toggle`, etc.)
  to configure this behavior and updated the README documentation.
- Added comprehensive C++ unit tests to verify the new detector
  lifecycle logic, specifically covering service failure cases and
  proper cleanup on action termination.

Closes ros-navigation#5015
Signed-off-by: Koensgen Benjamin <[email protected]>

-

updtae

Signed-off-by: Koensgen Benjamin <[email protected]>
Signed-off-by: bkoensgen <[email protected]>

* fix: Address review feedback and fix unit tests

Signed-off-by: Koensgen Benjamin <[email protected]>

fix(docking): Change subscribe_toggle default to false

Signed-off-by: Koensgen Benjamin <[email protected]>

-

Signed-off-by: bkoensgen <[email protected]>

* refactor(docking): Improve plugin lifecycle and resource management

This commit addresses several code review suggestions to improve the design and robustness of the docking plugins.

- Replaced the `DetectorState` enum with a simpler `bool detector_enabled_` for clarity.
- Encapsulated the detection process lifecycle within the plugin itself. The `deactivate` method now ensures `stopDetectionProcess` is called, improving encapsulation and simplifying the `DockDatabase`.
- Refactored the `configure` method in plugins to group related logic, improving readability.
- Cleaned up redundant checks and calls in both the plugins and the `DockingServer` for more robust and intentional code.

Signed-off-by: Koensgen Benjamin <[email protected]>
Signed-off-by: bkoensgen <[email protected]>

* fix(plugins): Resolve race condition by setting enabled state in callback

The previous refactoring introduced a race condition where the detector
was marked as 'enabled' in startDetection() before a message was
actually received.

This caused tests to fail because getRefinedPose() would be called
with an enabled state but no valid/recent data.

This commit fixes the issue by moving the `detector_enabled_ = true`
assignment into the subscription callback. This ensures the plugin's
state accurately reflects that it has received at least one valid
data point before being considered active.

Signed-off-by: Koensgen Benjamin <[email protected]>
Signed-off-by: bkoensgen <[email protected]>

* refactor(docking): migrate to nav2_ros_common (node_utils, LifecycleNode, QoS)

Signed-off-by: bkoensgen <[email protected]>

* build(opennav_docking): update deps (std_srvs, package.xml + CMakeLists)

Signed-off-by: bkoensgen <[email protected]>

* refactor(Docking): migrate to nav2::LifecycleNode

Signed-off-by: bkoensgen <[email protected]>

* refactor(docking): use nav2::qos::StandardTopicQoS for subscriptions

Signed-off-by: bkoensgen <[email protected]>

* refactor(opennav_docking): replace raw queue size with rclcpp::QoS(1) in pubs/subs

Signed-off-by: bkoensgen <[email protected]>

* refactor(tests): migrate nav2_util::NodeThread to nav2::NodeThread

Signed-off-by: bkoensgen <[email protected]>

* refactor(tests): migrate to 3-args service callbacks

Signed-off-by: bkoensgen <[email protected]>

* style(test): apply ament_uncrustify

Signed-off-by: bkoensgen <[email protected]>

* refactor(opennav_docking) migrate detector Trigger service to node_->create_client()

Signed-off-by: bkoensgen <[email protected]>

* docking: use nav2 types for pubs/subs in SimpleChargingDock and add explicit detection state flags

Signed-off-by: bkoensgen <[email protected]>

* docking: use nav2 types for pubs/subs in SimpleNonChargingDock and add explicit detection state flags

Signed-off-by: bkoensgen <[email protected]>

* docking: split detection state in SimpleChargingDock (detection_started_ vs initial_pose_received_) and warn before first pose

Signed-off-by: bkoensgen <[email protected]>

* docking: split detection state in SimpleNonChargingDock (detection_started_ vs initial_pose_received_) and warn before first pose

Signed-off-by: bkoensgen <[email protected]>

* tests: adapt SimpleChargingDockTestable to initial_pose_received_ state

Signed-off-by: bkoensgen <[email protected]>

* tests: adapt SimpleNonChargingDockTestable to initial_pose_received_ state

Signed-off-by: bkoensgen <[email protected]>

* docs(docking): clarify external detection gating and subscribe_toggle behavior (default=false)

Signed-off-by: bkoensgen <[email protected]>

* fix(docking): keep SimpleNonChargingDock registered as ChargingDock (stay in-scope)

Signed-off-by: bkoensgen <[email protected]>

* docs(docking): revert README note to pre-e881de19 state

Signed-off-by: bkoensgen <[email protected]>

* fix(docking_server): remove redundant null-check before stopDetectionProcess() in terminal cleanup

Signed-off-by: bkoensgen <[email protected]>

* style(docking_server): unify terminal order (stash->publishZeroVelocity->stopDetection->terminate)

Signed-off-by: bkoensgen <[email protected]>

* lint

Signed-off-by: bkoensgen <[email protected]>

* fix(docking): inline detection process

Signed-off-by: bkoensgen <[email protected]>

* chore(docking): drop redundant detector comment

Signed-off-by: bkoensgen <[email protected]>

* chore(docking): clarify detector logs

Signed-off-by: bkoensgen <[email protected]>

* fix(docking): activate lifecycle publishers

Signed-off-by: bkoensgen <[email protected]>

* chore(docking): reuse dock pose subscription

Signed-off-by: bkoensgen <[email protected]>

* lint

Signed-off-by: bkoensgen <[email protected]>

* fix(docking_server): drop redundant DB deactivate on cleanup

Signed-off-by: bkoensgen <[email protected]>

* refactor(docking): rename detection state flag to detection_active

Signed-off-by: bkoensgen <[email protected]>

* fix(docking): reset detection flags on cleanup

Signed-off-by: bkoensgen <[email protected]>

---------

Signed-off-by: Koensgen Benjamin <[email protected]>
Signed-off-by: bkoensgen <[email protected]>
* Added BT ID finder and used createTree to resolve btcpp warning

Signed-off-by: Jad El Hajj <[email protected]>

* Support using either bt file path or bt id

Signed-off-by: Jad El Hajj <[email protected]>

* Not necessarily a file name

Signed-off-by: Jad El Hajj <[email protected]>

* fix logic

Signed-off-by: Jad El Hajj <[email protected]>

* fix function definition

Signed-off-by: Jad El Hajj <[email protected]>

* fixed unit test

Signed-off-by: Jad El Hajj <[email protected]>

* fixed BB variable

Signed-off-by: Jad El Hajj <[email protected]>

* fixed error msg

Signed-off-by: Jad El Hajj <[email protected]>

* fixed variable and its getter naming

Signed-off-by: Jad El Hajj <[email protected]>

* fixed definition

Signed-off-by: Jad El Hajj <[email protected]>

* fix xml check

Signed-off-by: Jad El Hajj <[email protected]>

* fix bt unit test

Signed-off-by: Jad El Hajj <[email protected]>

* test

Signed-off-by: Jad El Hajj <[email protected]>

* added back test

Signed-off-by: Jad El Hajj <[email protected]>

* check bt id using the root or bt id

Signed-off-by: Jad El Hajj <[email protected]>

* using tinyxml2 instead of regex

Signed-off-by: Jad El Hajj <[email protected]>

* fixed var name

Signed-off-by: Jad El Hajj <[email protected]>

* fixed var name

Signed-off-by: Jad El Hajj <[email protected]>

* check if arg is already a BT ID

Signed-off-by: Jad El Hajj <[email protected]>

* check if arg is already a BT ID

Signed-off-by: Jad El Hajj <[email protected]>

* Test was failing due to same BT ID MainTree among all registred trees

Signed-off-by: Jad El Hajj <[email protected]>

* Fixed error msg to be compliant

Signed-off-by: Jad El Hajj <[email protected]>

* python linting

Signed-off-by: Jad El Hajj <[email protected]>

* Removed unused createTreeFromFile since its replaced with createTree

Signed-off-by: Jad El Hajj <[email protected]>

* PR fixes

Signed-off-by: Jad El Hajj <[email protected]>

* Added new line at the end of BT xml

Signed-off-by: Jad El Hajj <[email protected]>

* Should cover most of the cases

Signed-off-by: Jad El Hajj <[email protected]>

* format

Signed-off-by: Jad El Hajj <[email protected]>

* Fixed BT format

Signed-off-by: Jad El Hajj <[email protected]>

* Removed redundant check

Signed-off-by: Jad El Hajj <[email protected]>

* Allow usage of file paths with a warning, while keeping BT ID usage as the recommended option

Signed-off-by: Jad El Hajj <[email protected]>

* Additional test

Signed-off-by: Jad El Hajj <[email protected]>

* Test coverage

Signed-off-by: Jad El Hajj <[email protected]>

---------

Signed-off-by: Jad El Hajj <[email protected]>
…p, ArePosesNear to nav2_tree_nodes.xml (ros-navigation#5534)

Signed-off-by: Jonas Otto <[email protected]>
…ation#5493)

* Added std_srvs package to dependencies

Signed-off-by: Abhishekh Reddy <[email protected]>

* Declared service and callback for enabling/disabling collision monitor

Signed-off-by: Abhishekh Reddy <[email protected]>

* Declared a variable to store collision monitor enable/disable state

Signed-off-by: Abhishekh Reddy <[email protected]>

* Added initialization for collision monitor enable/disable service

Signed-off-by: Abhishekh Reddy <[email protected]>

* Implemented service callback for collision monitor enable/disable service

Signed-off-by: Abhishekh Reddy <[email protected]>

* Removed std_srvs package dependency

Signed-off-by: Abhishekh Reddy <[email protected]>

* Added Toggle interface

Signed-off-by: Abhishekh Reddy <[email protected]>

* Replaced Trigger interface with the new Toggle interface

Signed-off-by: Abhishekh Reddy <[email protected]>

* Added default initialization for enabled flag

Signed-off-by: Abhishekh Reddy <[email protected]>

* Fixed toggle service name

Signed-off-by: Abhishekh Reddy <[email protected]>

* Updated toggle logic for collision monitor

Signed-off-by: Abhishekh Reddy <[email protected]>

* Added a new line at the end of file

Signed-off-by: Abhishekh Reddy <[email protected]>

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>

* Added enabled check for logging

Signed-off-by: Abhishekh Reddy <[email protected]>

* Added a unit test for toggle service

Signed-off-by: Abhishekh Reddy <[email protected]>

* Made the getter const and added a comment

Signed-off-by: Abhishekh Reddy <[email protected]>

* Replaced rclcpp::spin_some

Signed-off-by: Abhishekh Reddy <[email protected]>

---------

Signed-off-by: Abhishekh Reddy <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
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.