Skip to content

Add a service for enabling/disabling the collision monitor#5493

Merged
SteveMacenski merged 19 commits intoros-navigation:mainfrom
armgits:collision-monitor-toggle-service
Sep 19, 2025
Merged

Add a service for enabling/disabling the collision monitor#5493
SteveMacenski merged 19 commits intoros-navigation:mainfrom
armgits:collision-monitor-toggle-service

Conversation

@armgits
Copy link
Copy Markdown
Contributor

@armgits armgits commented Aug 27, 2025


Basic Info

Info Please fill out this column
Ticket(s) this addresses #5463
Primary OS tested on Ubuntu
Robotic platform tested on Turtlebot 3 Loopback Simulation
Does this PR contain AI generated software? No
Was this PR description generated by AI software? No

Description of contribution in a few bullet points

  • Added a service to globally enable/disable collision monitor
  • Added a new Toggle interface in nav2_msgs that is similar to SetBool from std_srvs

Description of documentation updates required from your changes

Mentioning this interface in the Collision Monitor Node documentation if needed.

Description of how this change was tested

  • This change was tested in TB3 loopback simulation with the service requests sent from CLI. Upon toggling off the collision monitor, robot doesn't slowdown/stop when the polygons overlap with the collision points on the map.

Future work that may be required in bullet points

  • Implementing behavior tree node by @DavidG-Develop
  • Any code quality improvements since this is my first time!

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-*.

Copy link
Copy Markdown
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.

Also check out the failing linting and DCO CI jobs and resolve their issues please!

How did you test these changes?

Comment thread nav2_collision_monitor/src/collision_monitor_node.cpp Outdated
Comment thread nav2_collision_monitor/src/collision_monitor_node.cpp Outdated
Comment thread nav2_collision_monitor/src/collision_monitor_node.cpp
@DavidG-Develop
Copy link
Copy Markdown
Contributor

Although this solution seems like it should also work by disabling and enabling all polygons using this service I feel like a simpler solution could be a better one... Currently you must set a parameter for each polygon that is set up and if we have many polygons that could unnecessarily increase time needed for the service call execution... Also now you set the enabled param for all polygons to true or false but it could be very possible that some of those polygons should not be enabled as they were also disabled before the service call to toggle off.

I would propose the following:

  • Keep the service server set up as is
  • Change the service topic name to use "~/" notation for namespace resolution
  • In the service callback just set the enabled_ to true (+ log that the collision monitor is now on/of or has been enabled/disabled)
  • in the cmdVelInCallbackStamped do something simmilar to:
void CollisionMonitor::cmdVelInCallbackStamped(geometry_msgs::msg::TwistStamped::SharedPtr msg)
{
  // If message contains NaN or Inf, ignore
  if (!nav2_util::validateTwist(msg->twist)) {
    RCLCPP_ERROR(get_logger(), "Velocity message contains NaNs or Infs! Ignoring as invalid!");
    return;
  }
  if (enabled_){
    process({msg->twist.linear.x, msg->twist.linear.y, msg->twist.angular.z}, msg->header);
  } else {
    // Republish the message
    Action robot_action{DO_NOTHING, {msg->twist.linear.x, msg->twist.linear.y, msg->twist.angular.z}, ""};
    publishVelocity(robot_action, msg->header);
  }
}

This way the node acts simply as a relay for cmd vel taking it from input and publishing it on output witouth doing any additional computation and not generating the polygons.

This change requires to be tested which I could not do it on my machine. Please provide any feedback from testing.

If your PC is not powerfull enough to run the sim you can firstly try running gazebo headless to reduce the load, secondly you can try the Loopback simulator which can be used so simple testing.

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Aug 28, 2025

I'm working on the changes/fixes suggested above by Steve, but your solution looks pretty good too. I'm not sure if the process() method could be entirely skipped.

@SteveMacenski
Copy link
Copy Markdown
Member

SteveMacenski commented Aug 28, 2025

Something nice that running the full function does is still exercise this condition to check of sensor data is not updating correctly. Even if we disable the collision element of things, stopping due to hardware issues seems still useful. But, that could be abstracted into a lambda or function and used both here and in the else condition.

@armgits can you make this change if you agree that there's nothing else in the process we should ensure we do?

unnecessarily increase time needed for the service call execution

I do also generally agree with that. Instead, we could just update the enabled for each polygon with a new API instead of using dynamic parameter callbacks. But moot if we change the enabled globally

This change requires to be tested which I could not do it on my machine. Please provide any feedback from testing.

Why are you unable to test on your machine? If you have the compute resources to compile Nav2, you probably have all you need to simulate it too

@SteveMacenski
Copy link
Copy Markdown
Member

@armgits any update?

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 4, 2025

I'm still working and here are some updates so far:

@armgits can you make this change if you agree that there's nothing else in the process we should ensure we do?

I made this change locally but some unit tests are failing after extracting the check condition into a function which I'm looking into. I noticed that the process() function returns if the process_active_ flag isn't set. I think this applies even in disabled state right (to check sensor data and publish velocity)?

I was also thinking if we could have separate process() methods for enabled and disabled states like processEnabledState() and processDisabledState() to keep things clean in the subscription callback.

Why are you unable to test on your machine? If you have the compute resources to compile Nav2, you probably have all you need to simulate it too

This has been slowing me down. Gazebo isn’t running properly on either of my laptops (even in headless mode), so I’ve been testing with loopback simulation instead. Based on my testing with the old logic after sorting that out last week, I can confirm the service interface responded correctly to CLI requests, but haven't seen any polygons published or changes in robot's behavior with enabled/disabled states. (I'm testing with this tutorial Using Collision Monitor)

@SteveMacenski
Copy link
Copy Markdown
Member

SteveMacenski commented Sep 4, 2025

I noticed that the process() function returns if the process_active_ flag isn't set.

That flags is for the lifecycle state transition, that it can process data because the node is in the Activate state to process data, versus in the process of being deactivated or configuring or so on.

I think right here, here, and here you could just add a check for enabled_. If not enabled, it continue or not publish the polygon or not log changes. But, it should still then do the checks on stopping due to sensor stoppages which I think is still crucial.


What's up with gazebo? You can also try the loopback simulator instead, we have launch files using those in the nav2_bringup package.

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 5, 2025

I have completed adding the new changes, tested them successfully in loopback simulation, passes all unit tests and is linted. While I ensured to sign off new commits, I want to sign off the old commits too and push the changes.

For now, I just tried rebasing my local branch from the commit just before my first one last week, leaving everything else as it is upon which I made new commits. Based on this:

image

Is this okay?

@SteveMacenski
Copy link
Copy Markdown
Member

Sure! You could always just commit here and then pull in / rebase on main afterwards. We squash merge all PRs anyway so not having the cleanest git commit history is not a big deal (to me at least; we have so much more to focus on 😆 ) since it'll all get squashed into a single commit onto main. Just look out for DCO and if it doesn't pass, look at the job and just do what the instructions there tell you to do.

@armgits armgits force-pushed the collision-monitor-toggle-service branch 2 times, most recently from 978bc74 to 9a53a82 Compare September 5, 2025 19:34
@SteveMacenski
Copy link
Copy Markdown
Member

@armgits something's gone wrong here, you have included all the recent commits from the Nav2 branch. That is not correct and the diff shows them in this PR versus only your changes.

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 5, 2025

I tried to sign off only my commits and leave the following commits untouched first but the DCO didn't pass that way, so I had to sign off all the following commits too.

I synced my branch with the main branch that brought in all the new commits, was that the mistake?

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 5, 2025

I can roll back my branch to just before I made my first commit and reapply just my commits from there. That will not include other commits and diff would show only my changes.

@codecov
Copy link
Copy Markdown

codecov Bot commented Sep 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
...2_collision_monitor/src/collision_monitor_node.cpp 97.18% <100.00%> (+0.08%) ⬆️

... 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.

@SteveMacenski
Copy link
Copy Markdown
Member

SteveMacenski commented Sep 5, 2025

Yeah I'd grab your changes and many cherry pick them onto a clean branch or otherwise roll back to a state without all these excess commits and try again. You don't need to rebase beyond what's needed for DCO which shouldn't be pulling in changes

@armgits armgits force-pushed the collision-monitor-toggle-service branch from 9a53a82 to 4a6c7f4 Compare September 5, 2025 20:32
Copy link
Copy Markdown
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.

You missed one for notifyActionState

Comment thread nav2_collision_monitor/src/collision_monitor_node.cpp Outdated
Comment thread nav2_collision_monitor/src/collision_monitor_node.cpp Outdated
@DavidG-Develop
Copy link
Copy Markdown
Contributor

I opened a PR with the bt stuff, but I feel that keeping the param tied to this PR might be better. I would recommend that @armgits also includes the parameter change into this PR as that way we have 2 encased PRs that don't change the same files and should just be able to be merged one after another easier.

@armgits are you okay with you adding the param? It has to be added into the param file in the bringup package (name wise is up to you if you want to stick with just enabled or start_enabled or smthn similar) and read in the CollisionMonitor::getParameters to be used as initial value for your enabled_ variable.

Great! I think you can open that as a draft now as long as you link it back here so we know to test it once this is merged (unless you've already tested from a fork of this branch?)

I did not test it directly on the fork of this branch, but I already did have a rudimentary implementation of this solution (as we discussed in the issue before) so I did have where to test it at. Also, as it is just a service called any service server that takes than the agreed upon nav2_msgs::srv::Toggle should be enough to test it in my opinion. (i did also write a test for it)

@SteveMacenski
Copy link
Copy Markdown
Member

I feel that keeping the param tied to this PR might be better.

I would like to minimize the additional changes requested to @armgits so we can get this merged in ASAP which would unblock the BT PR and another enabled PR as a matter of efficiency. I think its OK for now to merge this without it since it doesn't create a bug, just brings up a future enhancement that we have in mind.

@armgits please make that one open change and we can merge. If you are open to contributing the enabled parameter PR as well, you can do that immediately after that change and I can merge after I merge this one!

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Sep 19, 2025

This pull request is in conflict. Could you fix it @armgits?

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 19, 2025

I think someone has already done that bit and now when I pushed my changes there's a merge conflict.

Update: I just realized that change was already done on the main branch, I'll rewrite mine to exactly match the main branch and see if the merge conflict could be resolved.

@DavidG-Develop
Copy link
Copy Markdown
Contributor

I would like to minimize the additional changes requested to @armgits so we can get this merged in ASAP which would unblock the BT PR and another enabled PR as a matter of efficiency. I think its OK for now to merge this without it since it doesn't create a bug, just brings up a future enhancement that we have in mind.

Understood 👍

@armgits you can than decide if you want to do a pr for the enabled param than or if I should.

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 19, 2025

I will do the PR for enabled parameter once this gets merged.

@SteveMacenski
Copy link
Copy Markdown
Member

@armgits can you deal with the merge conflict?

Signed-off-by: Abhishekh Reddy <[email protected]>
@armgits armgits force-pushed the collision-monitor-toggle-service branch from d8cc774 to aa11e09 Compare September 19, 2025 19:58
@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 19, 2025

@SteveMacenski I tried, but there's still a small portion of code that's in conflict... Could it be manually resolved by accepting the incoming changes to the main branch?

@SteveMacenski
Copy link
Copy Markdown
Member

No - you need to hit the "Resolve Conflicts" button and resolve it manually before I can merge

@armgits
Copy link
Copy Markdown
Contributor Author

armgits commented Sep 19, 2025

My bad! Just learnt that I could edit that and remove the markers, it should be good now.

@SteveMacenski SteveMacenski merged commit c95673e into ros-navigation:main Sep 19, 2025
15 checks passed
@SteveMacenski
Copy link
Copy Markdown
Member

SteveMacenski commented Sep 19, 2025

Great! Merged!

The BT Nodes and Enabled Parameter are up next - thanks everyone!

SteveMacenski added a commit that referenced this pull request Sep 19, 2025
* 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]>
SteveMacenski added a commit that referenced this pull request Sep 20, 2025
* Fix dynamic param SmacPlannerLattice  (#5478)

* 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 with computePlanThroughPoses (#5488)

* 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]>

* Fix seg fault (#5501)

* 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]>

* Add a service for enabling/disabling the collision monitor (#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]>

* bump Jazzy to 1.3.9 for release

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

* Change service type for collision monitor

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

* Fix backport error

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

* update

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

---------

Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Abhishekh Reddy <[email protected]>
@keshavchintamani
Copy link
Copy Markdown

@armgits @DavidG-Develop thanks for all the effort to get this PR through! Im keen to test it in one of our use cases which is going live soon.
@SteveMacenski any estimates on when this PR will be back ported into humble?

@SteveMacenski
Copy link
Copy Markdown
Member

I tried when I did my syncs on Friday but the merge conflicts were too large for me to do in my batch release process. I got it out into Jazzy and Kilted though!

If you want it in humble, you may want to manually backport it and then I can review / merge.

BCKSELFDRIVEWORLD pushed a commit to BCKSELFDRIVEWORLD/navigation2 that referenced this pull request Sep 23, 2025
…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]>
SakshayMahna pushed a commit to SakshayMahna/navigation2 that referenced this pull request Oct 4, 2025
…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]>
silanus23 pushed a commit to silanus23/navigation2 that referenced this pull request Oct 10, 2025
…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]>
silanus23 pushed a commit to silanus23/navigation2 that referenced this pull request Oct 11, 2025
…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]>
RBT22 pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Oct 28, 2025
* Fix dynamic param SmacPlannerLattice  (ros-navigation#5478)

* 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 with computePlanThroughPoses (ros-navigation#5488)

* 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]>

* Fix seg fault (ros-navigation#5501)

* 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]>

* Add a service for enabling/disabling the collision monitor (ros-navigation#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]>

* bump Jazzy to 1.3.9 for release

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

* Change service type for collision monitor

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

* Fix backport error

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

* update

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

---------

Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Abhishekh Reddy <[email protected]>
RBT22 pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Dec 1, 2025
* Fix dynamic param SmacPlannerLattice  (ros-navigation#5478)

* 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 with computePlanThroughPoses (ros-navigation#5488)

* 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]>

* Fix seg fault (ros-navigation#5501)

* 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]>

* Add a service for enabling/disabling the collision monitor (ros-navigation#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]>

* bump Jazzy to 1.3.9 for release

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

* Change service type for collision monitor

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

* Fix backport error

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

* update

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

---------

Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Abhishekh Reddy <[email protected]>
redvinaa pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Dec 3, 2025
* Jazzy Sync 7: May 29 2025 (ros-navigation#5211)

* Dynamic param patterns (ros-navigation#4971)

* redesign dynamic param patterns

Signed-off-by: Nils-ChristianIseke <[email protected]>

* change cache version

Signed-off-by: Nils-ChristianIseke <[email protected]>

* check that parameter of type double are  >=0.0

Signed-off-by: Nils-ChristianIseke <[email protected]>

---------

Signed-off-by: Nils-ChristianIseke <[email protected]>

* [nav2_behavior_tree] Add force_use_current_pose to ComputePathToPoseAction (ros-navigation#4925)

* Add force_use_current_pose

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

* xml update

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

* rename to use_start

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

* lint

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

* descriptions

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

* simplify logic

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

---------

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

* [CostmapTopicCollisionChecker] Alternative constructor with footprint string (ros-navigation#4926)

* [CostmapTopicCollisionChecker] Alternative constructor with footprint

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

* raw pointer

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

* suggestions from review

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

---------

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

* Merged Fix navfn_planner from humble PR ros-navigation#5087 (ros-navigation#5092)

* merged changes from humble for goal.header fix

* reverted back, error in merge

* ported goal.header fix in navfn_planner.cpp from humble

* reverted to navfn_planner.cpp to origin/main

* merged navfn_planner.cpp from humble

* fixed the merge

* Update map_io library to use Eigen method for faster map loading (ros-navigation#5071)

* Update map_io library to use opencv method for faster map loading

Signed-off-by: Vignesh T <[email protected]>

* Update pre-commit config changes

Signed-off-by: Vignesh T <[email protected]>

* Use Eigen approach instead of OpenCV

Signed-off-by: Vignesh T <[email protected]>

* Update pre-commit changes

Signed-off-by: Vignesh T <[email protected]>

* Update include header include order

Signed-off-by: Vignesh T <[email protected]>

* Remove intermediary alpha matrix

Signed-off-by: Vignesh T <[email protected]>

* Add comments for the code understanding

Signed-off-by: Vignesh T <[email protected]>

* Fix else braces rule issue

Signed-off-by: Vignesh T <[email protected]>

* Create and use alpha_matrix when applying mask

Signed-off-by: Vignesh T <[email protected]>

* Update pre-commit changes

Signed-off-by: Vignesh T <[email protected]>

* Take flip part out of if-else

Signed-off-by: Vignesh T <[email protected]>

* Update pre-commit changes

Signed-off-by: Vignesh T <[email protected]>

---------

Signed-off-by: Vignesh T <[email protected]>

* Precompute yaw trigonometric values in smac planner (ros-navigation#5109)

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

* removing the start navigation message in the paused state from rviz buttons (ros-navigation#5137)

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

* Show error if inflation radius is smaller than circumscribed radius (ros-navigation#5148)

* Warn if inflation radius is smaller than circumscribed radius

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

* Update nav2_mppi_controller/src/critics/cost_critic.cpp

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

* Update nav2_smac_planner/include/nav2_smac_planner/utils.hpp

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

---------

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

* Prevent MPPI controller from resetting speed limits upon goal execution. (ros-navigation#5165)

Signed-off-by: Leander Stephen D'Souza <[email protected]>

* Fixing docking server when already docked at the requeste ddock (ros-navigation#5171)

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

* Adding parameter util to node utils (ros-navigation#5154)

* Adding declare_or_get_param util to node utils

Signed-off-by: Marco Bassa <[email protected]>

* Adding test for declare_or_get_param util

Signed-off-by: Marco Bassa <[email protected]>

* Adding declare_or_get_parameter function by type, using explicit variable names, disabling param warnings by default

Signed-off-by: Marco Bassa <[email protected]>

* Update nav2_util/test/test_node_utils.cpp

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

* Fixing codecove test

Signed-off-by: Marco Bassa <[email protected]>

* Catching possible exception in declare_or_get_by_type

Signed-off-by: Marco Bassa <[email protected]>

* Templating return type of declare parameter by value

Signed-off-by: Marco Bassa <[email protected]>

---------

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

* added config for laserscan in lb-sim (ros-navigation#5174)

* added config for laserscan in lb-sim

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

* fixing ament_flake8 errors

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

* review: use_inf is default:true and added parameters on readme ros-navigation#4992

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

* refactor: meaningfull value for scan_angle_increment

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

---------

Signed-off-by: RamanaBotta <[email protected]>
Co-authored-by: RamanaBotta <[email protected]>

* Publish planned footprints after smoothing (ros-navigation#5155)

* Publish planned footprints after smoothing

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

* Revert "Publish planned footprints after smoothing"

This reverts commit c9b349a.

* Add smoothed footprints publishing

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

* fix formatting

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

* Fix indentation for publisher creation in SmacPlannerHybrid and SmacPlannerLattice

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

* address PR comments

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

* fixes

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

* fix build error

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

---------

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

* fixing deprecation warning (ros-navigation#5182)

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

* Adding missing dep to loopback sim (ros-navigation#5204)

* Adding missing dep

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

* typo

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

* updating fix

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

---------

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

* Adding parameter warn_when_defaulting_parameters to control default parameter warnings (ros-navigation#5189)

* Adding a parameter warn_when_defaulting_parameters to control default parameter warnings instead of using a flag

Signed-off-by: Marco Bassa <[email protected]>

* Adding parameter strict_param_loading for optionally throwing an exception if parameter overrides are missing

Signed-off-by: Marco Bassa <[email protected]>

* Using default false declaration instead of declare_or_get in param util

Signed-off-by: Marco Bassa <[email protected]>

---------

Signed-off-by: Marco Bassa <[email protected]>

* bumping to 1.3.7 for release

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

---------

Signed-off-by: Nils-ChristianIseke <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Signed-off-by: Vignesh T <[email protected]>
Signed-off-by: mini-1235 <[email protected]>
Signed-off-by: Pradheep <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Signed-off-by: Marco Bassa <[email protected]>
Signed-off-by: RamanaBotta <[email protected]>
Co-authored-by: Nils-Christian Iseke <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Sandeep Dutta <[email protected]>
Co-authored-by: Vignesh T <[email protected]>
Co-authored-by: mini-1235 <[email protected]>
Co-authored-by: Pradheep Krishna <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Leander Stephen D'Souza <[email protected]>
Co-authored-by: Marco Bassa <[email protected]>
Co-authored-by: Raman <[email protected]>
Co-authored-by: RamanaBotta <[email protected]>

* Fixing Jazzy CI via new ROS 2 keys

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

* Revert "Fix Ci from key signing (ros-navigation#5220)" (backport ros-navigation#5237) (ros-navigation#5239)

* Revert "Fix Ci from key signing (ros-navigation#5220)" (ros-navigation#5237)

* Revert "Fix Ci from key signing (ros-navigation#5220)"

This reverts the changes to the Dockerfile done in 1345c22.

Signed-off-by: Nils-Christian Iseke <[email protected]>

* Update Cache Version

Signed-off-by: Nils-Christian Iseke <[email protected]>

---------

Signed-off-by: Nils-Christian Iseke <[email protected]>
(cherry picked from commit 7f561b0)

# Conflicts:
#	.circleci/config.yml

* Update config.yml

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

---------

Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Nils-Christian Iseke <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>

* Backport bidirectional settings ros-navigation#4954 (ros-navigation#5260)

Signed-off-by: Tatsuro Sakaguchi <[email protected]>

* Add namespace support for rviz costmap cost tool (ros-navigation#5271)

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

* Use fixed thresholds for Trinary yaml (ros-navigation#5278) (ros-navigation#5286)

(cherry picked from commit 829e683)

Signed-off-by: Adi Vardi <[email protected]>
Co-authored-by: Adi Vardi <[email protected]>

* Clear costmap around pose jazzy (backport ros-navigation#5309) (ros-navigation#5318)

* Adding clear costmap around pose service option (ros-navigation#5309)

(cherry picked from commit c0bf67e
Signed-off-by: dw25628 <[email protected]>

* Linting

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

* Removed __init__.py that came in with cherry pick

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

---------

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

* Backport "Option to Reduce Lethal to High-Cost Navigable To Get Out of Keepout Zones if Wandered In" (ros-navigation#5378)

* Option to Reduce Lethal to High-Cost Navigable To Get Out of Keepout Zones if Wandered In (ros-navigation#5187)

* Adding toggle option of keepout zone

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

* Default off

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

* Join conditions

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

* spell check

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

* copilot suggestions

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

* Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp

Co-authored-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>

* Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp

Co-authored-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>

* Update keepout_filter.cpp

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

---------

Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Leander Stephen D'Souza <[email protected]>

* Revert bringup params changes

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

---------

Signed-off-by: Steve Macenski <[email protected]>
Signed-off-by: Maurice <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Co-authored-by: Leander Stephen D'Souza <[email protected]>

* Adding minimum range to PC2 in collision monitor (backport ros-navigation#5392) (ros-navigation#5393)

* Adding minimum range to PC2 in collision monitor (ros-navigation#5392)

Signed-off-by: SteveMacenski <[email protected]>
(cherry picked from commit 40a0451)

# Conflicts:
#	nav2_collision_monitor/src/pointcloud.cpp

* Update pointcloud.cpp

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

* Update pointcloud.cpp

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

* Update sources_test.cpp

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

---------

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

* Construct TF listeners passing nodes, spinning on separate thread (backport ros-navigation#5406) (ros-navigation#5431)

* Construct TF listeners passing nodes, spinning on separate thread (ros-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]>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp

* Delete nav2_route/src/route_server.cpp

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

---------

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

* Fix lifecycle manager deadlock during shutdown (ros-navigation#5448)

Signed-off-by: Jacob Visser <[email protected]>

* fix 5456 (ros-navigation#5458)

Signed-off-by: David G <[email protected]>

* backport the fix for setting binary_state as the default (ros-navigation#5459)

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

* Sync Jazzy Aug 19, 2025 1.4.1 (ros-navigation#5469)

* Conserve curvature with LIMIT action (ros-navigation#5255)

* Conserve curvature with LIMIT action

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

* fix format

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

* fix test

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

---------

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

* Adding epsilon for voxel_layer precision loss (ros-navigation#5314)

* Adding epsilon for voxel_layer precision loss

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

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

---------

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

* fix: correct ThroughActionResult type alias in would_a_planner_recovery_help_condition (ros-navigation#5326)

The ThroughActionResult type alias was incorrectly referencing Action::Result 
instead of ThroughAction::Result, causing the condition to not work properly 
for ComputePathThroughPoses actions.

Fixes ros-navigation#5324

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Adding slow down at target heading to RPP Controller (ros-navigation#5361)

* Adding slow down at target heading to RPP

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

* Update test_regulated_pp.cpp

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

---------

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

* Eexception rethrow in dockRobot method (ros-navigation#5364)

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

* Add global min obstacle height in voxel layer (ros-navigation#5389)

* Add min obstacle height in voxel layer

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

* Fix linting

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

---------

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

* [DEX] Enforce 3 digits precision (ros-navigation#5398)

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

* [static_layer] limit comparison precision (ros-navigation#5405)

* [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]>

* Smooth path even if goal pose is so much near to the robot (ros-navigation#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]>

* Fix KeepoutFilter on the ARM architecture (ros-navigation#5436)

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

* Fix missing dependency (ros-navigation#5460)

* bump to 1.3.8 for Jazzy release Aug 19, 2025

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

* load balance CI

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

---------

Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: bhx <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>
Signed-off-by: mini-1235 <[email protected]>
Signed-off-by: Maurice <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Signed-off-by: CihatAltiparmak <[email protected]>
Signed-off-by: Sushant Chavan <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: hutao <[email protected]>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Alberto Tudela <[email protected]>
Co-authored-by: mini-1235 <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Cihat Kurtuluş Altıparmak <[email protected]>
Co-authored-by: Sushant Chavan <[email protected]>
Co-authored-by: Tim Clephas <[email protected]>

* fix: Move SmootherParams declaration outside smooth_path conditional (ros-navigation#5473) (ros-navigation#5474)

Fixes crash when dynamically changing smooth_path parameter from false to true.
The issue occurred because SmootherParams were only declared when smooth_path
was initially true, causing ParameterModifiedInCallbackException when trying
to declare parameters within the dynamic parameter callback.

Now SmootherParams are always declared, making them available for dynamic
reconfiguration regardless of the initial smooth_path value.

Fixes ros-navigation#5472


(cherry picked from commit 69a60df)

Co-authored-by: Steve Macenski <[email protected]>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Replace last pose if only orientation differs in Navfn (ros-navigation#5490) (ros-navigation#5492)

(cherry picked from commit ff80727)

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

* Manual Backport Route Server to Jazzy (ros-navigation#5517)

* Manual backport of Route Server to Jazzy

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

* linting

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

* Fix backport error

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

* lint

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

* Adding in Nav2 BT + Launch

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

---------

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

* Jazzy Sync Sept 19, 2025 1.3.9 (ros-navigation#5540)

* Fix dynamic param SmacPlannerLattice  (ros-navigation#5478)

* 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 with computePlanThroughPoses (ros-navigation#5488)

* 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]>

* Fix seg fault (ros-navigation#5501)

* 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]>

* Add a service for enabling/disabling the collision monitor (ros-navigation#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]>

* bump Jazzy to 1.3.9 for release

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

* Change service type for collision monitor

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

* Fix backport error

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

* update

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

---------

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

* Update package version from 1.1.0 to 1.3.9

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

* Add support for dynamically changing keepout zone (ros-navigation#5429) (ros-navigation#5542)

* Add support for dynamically changing keepout zone



* Linting



* Revert binary and speed changes



---------


(cherry picked from commit e690ef0)

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

* Fix bad_weak_ptr in createBond() by using shared_ptr (backport ros-navigation#5341) (ros-navigation#5563)

Signed-off-by: ymd-stella <[email protected]>

* Fixed crash due to incorrect string construction (ros-navigation#5606) (ros-navigation#5613)

(cherry picked from commit 48e7e06)

Signed-off-by: Jay Herpin <[email protected]>
Co-authored-by: Jay Herpin <[email protected]>

* Add dependency on nav2_route in package.xml (ros-navigation#5639)

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

* Revert ros-navigation#4971 in Jazzy (ros-navigation#5640)

* Revert ros-navigation#4971 in Jazzy

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

* Add

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

---------

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

* Bumping to 1.3.10 for urgent jazzy regression fixes (ros-navigation#5650)

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

* Backporting custom height point field into Jazzy. (ros-navigation#5646)

* Summary commit of all changes for adding custom pointcloud field height. (ros-navigation#5586)

Doing this to clear out unsigned commits from history.

Signed-off-by: Greg Anderson <[email protected]>

* Corrected parameter declaration methods that aren't part of Jazzy.
Fixed parameter typo from some manual merging in pointcloud.cpp

Signed-off-by: Greg Anderson <[email protected]>

---------

Signed-off-by: Greg Anderson <[email protected]>

---------

Signed-off-by: Nils-ChristianIseke <[email protected]>
Signed-off-by: Guillaume Doisy <[email protected]>
Signed-off-by: Vignesh T <[email protected]>
Signed-off-by: mini-1235 <[email protected]>
Signed-off-by: Pradheep <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Tony Najjar <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Signed-off-by: Marco Bassa <[email protected]>
Signed-off-by: RamanaBotta <[email protected]>
Signed-off-by: Tatsuro Sakaguchi <[email protected]>
Signed-off-by: Maurice-1235 <[email protected]>
Signed-off-by: Adi Vardi <[email protected]>
Signed-off-by: dw25628 <[email protected]>
Signed-off-by: Maurice <[email protected]>
Signed-off-by: Jacob Visser <[email protected]>
Signed-off-by: David G <[email protected]>
Signed-off-by: olaghattas <[email protected]>
Signed-off-by: bhx <[email protected]>
Signed-off-by: SteveMacenski <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>
Signed-off-by: CihatAltiparmak <[email protected]>
Signed-off-by: Sushant Chavan <[email protected]>
Signed-off-by: Abhishekh Reddy <[email protected]>
Signed-off-by: ymd-stella <[email protected]>
Signed-off-by: Jay Herpin <[email protected]>
Signed-off-by: Greg Anderson <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Co-authored-by: Nils-Christian Iseke <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Sandeep Dutta <[email protected]>
Co-authored-by: Vignesh T <[email protected]>
Co-authored-by: mini-1235 <[email protected]>
Co-authored-by: Pradheep Krishna <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Leander Stephen D'Souza <[email protected]>
Co-authored-by: Marco Bassa <[email protected]>
Co-authored-by: Raman <[email protected]>
Co-authored-by: RamanaBotta <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tatsuro Sakaguchi <[email protected]>
Co-authored-by: Adi Vardi <[email protected]>
Co-authored-by: dw25628 <[email protected]>
Co-authored-by: Patrick Roncagliolo <[email protected]>
Co-authored-by: cboostjvisser <[email protected]>
Co-authored-by: DavidG-Develop <[email protected]>
Co-authored-by: olaghattas <[email protected]>
Co-authored-by: hutao <[email protected]>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Alberto Tudela <[email protected]>
Co-authored-by: Cihat Kurtuluş Altıparmak <[email protected]>
Co-authored-by: Sushant Chavan <[email protected]>
Co-authored-by: Tim Clephas <[email protected]>
Co-authored-by: Abhishekh Reddy <[email protected]>
Co-authored-by: ymd-stella <[email protected]>
Co-authored-by: Jay Herpin <[email protected]>
Co-authored-by: Greg Anderson <[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.

Service to disable/enable for collision_monitor at any time

5 participants