Skip to content

Construct TF listeners passing nodes, spinning on separate thread#5406

Merged
SteveMacenski merged 3 commits intoros-navigation:mainfrom
roncapat:patch-2
Aug 7, 2025
Merged

Construct TF listeners passing nodes, spinning on separate thread#5406
SteveMacenski merged 3 commits intoros-navigation:mainfrom
roncapat:patch-2

Conversation

@roncapat
Copy link
Contributor

See #1182 - this is a re-assessment after 6 years.
Advantages: easier auditing of TF2 subscriptions across the ROS graph. The nav2 node(s) name(s) will appear for example when issuing ros2 topic info -v /tf.


Basic Info

Info Please fill out this column
Ticket(s) this addresses #1182
Primary OS tested on Ubuntu
Robotic platform tested on proprietary simulation & HW
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

Construct tf2_ros::TransformListener instances passing a node pointer, so that no additional nodes with randomized names are spawned on the ROS graph (less pollution, better auditing), but enabling the spin_thread flag, so that we ensure TF subscriptions are not interleaved with other nav2-related callbacks in the same executor.

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 30, 2025

@roncapat, 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).

@SteveMacenski
Copy link
Member

SteveMacenski commented Jul 31, 2025

Pull in / rebase on main once #5409 is merged to get CI to turn over. Sorry about that, we hit the wall with circleci limits and needing to load balance the builds.

Also makes sure to sign off with DCO

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
@SteveMacenski
Copy link
Member

... huh. Alot of tests failed. I'm rerunning but if they fail again, I think this introduces a regression

@roncapat
Copy link
Contributor Author

roncapat commented Aug 1, 2025

Also noticed right now... I will be able to investigate as early as next week, sorry. Will be interesting to see what is the cause, since in my real testing scenario it works impressively well. Hope to learn something and have a fix!

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 1, 2025

impressively well

How so? big perf boost? I wouldn't have expected that

@roncapat
Copy link
Contributor Author

roncapat commented Aug 1, 2025

Nah I mean more like "without surprises" - but I am 99% sure that by using the node, it will benefit from enabled IPC on the /tf subscribers.

It has been maybe two years or so, I have pushed in the past some patches for IPC in the TransformListener, need to check again in which conditions it gets enabled or not.

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 1, 2025

yeah this is still failing completely - I think there's something awry here. I sampled 2 of the 16 tests and the lifecycle transition never completes while its waiting for a transform to be available (which seems awfully related, so I don't think its a CI fluke)

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
@roncapat
Copy link
Contributor Author

roncapat commented Aug 3, 2025

I began to study deeper the tf2_ros::TransformListener.

What I assessed, basically, is that current nav2 code uses the constructor:
TransformListener(tf2::BufferCore & buffer, bool spin_thread = true, bool static_only = false)
Notice the default spin_thread = true.

This is to say, the "only" difference introduced in this PR is the node used by TransformListerer implementation, not the spinning logic, that is exactly kept the same.

Of course, here we are passing a LifecycleNode, from which the TransformListener costructor will extract a set of NodeInterfaces. I will probably focus in the upcoming days on possible subtle implications of this - for example, whether the LifecycleNode current state could influence the correct working of TransformListener.

Moreover, it seems the only place where we have problems in the tests is the costmap_2d_ros. Reverting modifications only for that node makes all the tests pass. This may be an hint on specific way of using the TransformListener that can cause such issue w.r.t. other use cases, restricting the "search area" for the issue.

Will update you if I discover something more in the upcoming days.

@roncapat
Copy link
Contributor Author

roncapat commented Aug 3, 2025

Ok, I may have undestood the issue.
costmap_2d_ros expect TF to be received during the on_activate call.

Per https://design.ros2.org/articles/node_lifecycle.html, in the inactive mode ...the node will not receive any execution time to read topics, perform processing of data, respond to functional service requests, etc.

Two options:

  • explicitly create a non-lifecycle-node and explicitly pass to the TransformListener -> node name can be customized***
  • defer the canTransform call to the "active" state of costmap_2d_ros

*** https://github.com/ros2/geometry2/blob/2b1742c80a4e91a411e5798eec78573928391a7c/tf2_ros/src/transform_listener.cpp#L46-L56


My personal take (a bit phylosophic, take this with a grain of salt):

I fully understand why canTransform is called there, but I think that it reveals a (minor) flaw in the choice of adopting a LifecycleNode-based architecture - basically by expecting to receive something during the on_activate transition -this currently works because this responsibility is deferred to a "classic" node, hidden in TransformListener.
This also reveals that, when the costmap node is inactive, the listener is still receiving /tf messages - while being 100% strict, in principle, it should be "disabled" (not receiving) too.

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 4, 2025

Mhm, I don't think we can activate until we have all the inputs required to actually be able to process something. Unlike other things like having services available from other nodes that we can make sure are available intrinsically by the ordering of lifecycle transitions, the setting of the robot's initial pose is a user-application defined task (or SLAM if running SLAM) that we cannot know is completed without checking.

defer the canTransform call to the "active" state of costmap_2d_ros

We could move it to the already actived state, but then requests are able to be submitted without actually being processable. At the moment, I think we should leave this as-is but can be reopened designwise. I suppose we could have a timer or possibly in the update map thread check for this transform and have the similar delay after activation. That would complicate the implementation a bit, but nothing terrible. My biggest concern there is that we have a timeout feature for waiting for that transform. If we cannot return a failure on a state transition when that timeout is exceeded, then the server becomes in an unrecoverable state. If we have some ideas around that, I wouldn't object to a redesign of this handling.

This also reveals that, when the costmap node is inactive, the listener is still receiving /tf messages - while being 100% strict, in principle, it should be "disabled" (not receiving) too.

TF is not lifecycle enabled, so that's no surprise. This isn't doing 'work' or given 'execution time' on the application though so I think that's fine. The lifecycle transition quote you gave from the design document I think is talking about the work in the transition function to block the completion of transition. While perhaps TF could technically do some work given a message, the transition isn't dependent on it, so that's fine. How we use TF to block for the available transform however does break that principle. But your point is understood. If we wanted to be aggressively pure on Lifecycle Nodes, there are many ROS libraries that would need to have activate/deactivate functions enabled.

Anyway, but why does change with using the spinning thread and node not work? I'm a little unclear as to that, since there is no lifecycle subscription for the subscription within TF to not be processing. The spin thread should be creating its own executor spun in its own thread as well so that should be all working independently, from first glance.

@roncapat
Copy link
Contributor Author

roncapat commented Aug 5, 2025

Anyway, but why does change with using the spinning thread and node not work? I'm a little unclear as to that, since there is no lifecycle subscription for the subscription within TF to not be processing. The spin thread should be creating its own executor spun in its own thread as well so that should be all working independently, from first glance.

I may have misunderstood the design document (at least the part I quoted), but it seems to me that since we are using the Lifecycle Node interfaces to create the subscription inside TransformListener, also that subscription will not receive any execution time to read topics. I don't understand how, will try to study more the rclcpp_lifecycle code.

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 5, 2025

I think this has more to with the TF code spinning w.r.t. the main node. Maybe some print statements would help clarify. I think we should understand the 'why' before we merge, but once we do I'm happy to merge assuming we don't find its just hiding something buggy (or we find that this change is actually buggy and costmap2D is the only place showing the problem to us immediately)

@ros-navigation ros-navigation deleted a comment from claude bot Aug 5, 2025
@ros-navigation ros-navigation deleted a comment from claude bot Aug 5, 2025
@roncapat
Copy link
Contributor Author

roncapat commented Aug 5, 2025

I agree!
I think I have found the issue. Took this screenshot while running some failing tests:
image
/tf and /tf_static get namespaced!

Will check a simple way to avoid this.


EDIT 1:
I tried to add remappings like

    rclcpp::NodeOptions().arguments({
    "--ros-args", "-r", std::string("__ns:=") + nav2_util::add_namespaces(parent_namespace, local_namespace),
    "--ros-args", "-r", nav2_util::add_namespaces(parent_namespace, local_namespace) + "/tf:=/tf",
    "--ros-args", "-r", nav2_util::add_namespaces(parent_namespace, local_namespace) + "/tf_static:=/tf_static",
    "--ros-args", "-r", "tf:=/tf",
    "--ros-args", "-r", "tf_static:=/tf_static",
    "--ros-args", "-p", "use_sim_time:=" + std::string(use_sim_time ? "true" : "false"),

in costmap_2d_ros.cpp but they won't work.
Apparently the issue lies in the nav2_system_test launchfile test_error_codes_launch.py, where:

    remappings = [('/tf', 'tf'), ('/tf_static', 'tf_static')]

is found, like in many nav2_bringup files.
Emptying that list will do the trick. Of course, it is not the right solution.
It seems that remapping from CLI forcefully override any hardcoded override.

@mergify
Copy link
Contributor

mergify bot commented Aug 5, 2025

@roncapat, 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).

@mergify
Copy link
Contributor

mergify bot commented Aug 6, 2025

@roncapat, 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 Aug 6, 2025

@roncapat, 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).

@roncapat
Copy link
Contributor Author

roncapat commented Aug 6, 2025

(temporarily applied #5381 to solve CircleCI faliures, but seems the cache kicks in, how do I solve?)

@roncapat roncapat marked this pull request as draft August 6, 2025 08:16
@roncapat
Copy link
Contributor Author

roncapat commented Aug 6, 2025

Managed to run all tests locally (it has been hard to set up everything because normally I skip building stuff like slam_toolbox, has troubles with yaml-cpp as its dependency and many more issues...).

I can confirm that the issue lies in the typical remap setup present in many navigation2 and nav2_minimal_turtlebot_simulation launch files.

Currently, we find this snippet:

    # Map fully qualified names to relative ones so the node's namespace can be prepended.
    # In case of the transforms (tf), currently, there doesn't seem to be a better alternative
    # https://github.com/ros/geometry2/issues/32
    # https://github.com/ros/robot_state_publisher/pull/30
    # TODO(orduno) Substitute with `PushNodeRemapping`
    #              https://github.com/ros2/launch_ros/issues/56
    remappings = [('/tf', 'tf'), ('/tf_static', 'tf_static')]

which basically forces /tf and /tf_static to be relative topic names. There is no way to block this from happening inside the code. CLI args takes the precedence. Since we are now piggy-backing TransformListener on existing nodes, this means that the node namespace gets forcefully composed to /tf and /tf_static.

Locally, to pass all tests, I temporarily emptied the remappings list.

Now, IMHO we need to find a proper way to:

  • retain the overall launch file goal of "namespacing a robot" alongside its /tfs.
  • avoid that such rules apply to "nested" nodes

My feeling is that we should change all occurencies of the above with more specific rules that keeps the topics absolute, but namespaced as the user desires:

   namespace = LaunchConfiguration('namespace')
   ...
   remappings = [
     ('/tf', `/` + namespace + '/tf'),
     ('/tf_static', `/` + namespace + '/tf_static')
   ]

NOTE: this won't work / is not valid code (take it as pseudocode), since namespace is a LaunchConfiguration object, hence the string is not already valid. Something like the workings of PathJoinSubstitution should be implemented to join the namespace to the topic name, prepending the "/" if the namespace is non-empty.

@SteveMacenski what do you think?

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 6, 2025

Pull in main and you should be good to go on the TF headers now.

I think maybe we should merge in the non-costmap ones first to not let the enemy of perfection be forward progress. I'm OK with partial solutions that gets us 80%+ of the way there (as long as the 20% isn't disruptive, which this isn't).

Something to consider is that we have joinWithParentNamespace in Costmap 2D for similar reasons used in the layers for interpreting the topic to use for a relative sensor topic. This strips out the node's namespace but applies the global system namespace so that relative topics can be used (its relatively new). That seems to me to be very similar to what you want here, though I'm not sure if you can apply it to the NodeOptions for the costmap node without the CLI taking over. I think (?) the only way to use that would be to:

  • Get the node options from the parent costmap node (which we do in main), find the TF remapping from the CLI (should be there?), and manually modify it using that function
  • Change the TF Listener API to accept a topic name to use for the TF topic as an optional argument.

This is largely only required for costmap 2D due to legacy reasons of having the costmap node in its own node name's namespace. Unfortunately this is just debt we need to incur for users to have a smooth ROS 1 -> ROS 2 transition. In a few years we can strip that out, but by that time I'm hoping that Costmap 2D is depreciated for something else ( 🤞 )

@roncapat roncapat marked this pull request as ready for review August 7, 2025 09:07
@roncapat
Copy link
Contributor Author

roncapat commented Aug 7, 2025

Pull in main and you should be good to go on the TF headers now.

Just pushed! Thanks.

I think maybe we should merge in the non-costmap ones first to not let the enemy of perfection be forward progress. I'm OK with partial solutions that gets us 80%+ of the way there (as long as the 20% isn't disruptive, which this isn't).

Good for me, I kept only non-costmap-related changes.

Something to consider is that we have joinWithParentNamespace in Costmap 2D for similar reasons used in the layers for interpreting the topic to use for a relative sensor topic. This strips out the node's namespace but applies the global system namespace so that relative topics can be used (its relatively new). That seems to me to be very similar to what you want here, though I'm not sure if you can apply it to the NodeOptions for the costmap node without the CLI taking over. I think (?) the only way to use that would be to:

  • Get the node options from the parent costmap node (which we do in main), find the TF remapping from the CLI (should be there?), and manually modify it using that function

CLI remaps are taken from the rclcpp::context -> you can't see them in the NodeOptions unfortunately

  • Change the TF Listener API to accept a topic name to use for the TF topic as an optional argument.

Not sure this is the right approach. External CLI remaps would always kick in + I don't see added values as those names are already re-mappable via NodeOptions. The issue here lies in the CLI remaps, it's not a geometry2 issue per-se.

This is largely only required for costmap 2D due to legacy reasons of having the costmap node in its own node name's namespace. Unfortunately this is just debt we need to incur for users to have a smooth ROS 1 -> ROS 2 transition. In a few years we can strip that out, but by that time I'm hoping that Costmap 2D is depreciated for something else ( 🤞 )

I believe that the costmap sub-namespace is ok to keep, in fact I was not proposing to remove it. Instead, my proposal would have just required to write possibly better (?) remap rules in launch file to let everything work as usual. But we can merge this and maybe track down the proposal / residual TransformListener to address in a separate Issue I will open after merge :)

@roncapat
Copy link
Contributor Author

roncapat commented Aug 7, 2025

CI failure due to (unrelated?) code coverage failure.
As I have just changed a bunch of params towards an external library, I think it is not my fault this time 🥲

@SteveMacenski SteveMacenski merged commit 1468484 into ros-navigation:main Aug 7, 2025
12 of 15 checks passed
@SteveMacenski
Copy link
Member

OK! Merged!

SakshayMahna pushed a commit to SakshayMahna/navigation2 that referenced this pull request Aug 8, 2025
…s-navigation#5406)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
@mini-1235
Copy link
Collaborator

Can we backport this to Jazzy?

@SteveMacenski
Copy link
Member

Sure -- Tags and Mergify, do yo thing!

mergify bot pushed a commit that referenced this pull request Aug 8, 2025
)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp
mergify bot pushed a commit that referenced this pull request Aug 8, 2025
)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)
SteveMacenski pushed a commit that referenced this pull request Aug 8, 2025
) (#5432)

* Construct TF listeners passing nodes, spinning on separate thread



* (tentative) pin down of the impacting change



---------


(cherry picked from commit 1468484)

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
SteveMacenski added a commit that referenced this pull request Aug 8, 2025
…ckport #5406) (#5431)

* Construct TF listeners passing nodes, spinning on separate thread (#5406)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp

* Delete nav2_route/src/route_server.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
RBT22 pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Sep 11, 2025
…ckport 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 <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp

* Delete nav2_route/src/route_server.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
BCKSELFDRIVEWORLD pushed a commit to BCKSELFDRIVEWORLD/navigation2 that referenced this pull request Sep 23, 2025
…s-navigation#5406)

* Construct TF listeners passing nodes, spinning on separate thread

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
RBT22 pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Dec 1, 2025
…ckport 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 <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp

* Delete nav2_route/src/route_server.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
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 <nilsmailiseke@gmail.com>

* change cache version

Signed-off-by: Nils-ChristianIseke <nilsmailiseke@gmail.com>

* check that parameter of type double are  >=0.0

Signed-off-by: Nils-ChristianIseke <nilsmailiseke@gmail.com>

---------

Signed-off-by: Nils-ChristianIseke <nilsmailiseke@gmail.com>

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

* Add force_use_current_pose

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* xml update

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* rename to use_start

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* lint

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* descriptions

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* simplify logic

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

---------

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>

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

* [CostmapTopicCollisionChecker] Alternative constructor with footprint

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* raw pointer

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* suggestions from review

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

---------

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>

* 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 <vignesh.t@kabam.ai>

* Update pre-commit config changes

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Use Eigen approach instead of OpenCV

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Update pre-commit changes

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Update include header include order

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Remove intermediary alpha matrix

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Add comments for the code understanding

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Fix else braces rule issue

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Create and use alpha_matrix when applying mask

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Update pre-commit changes

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Take flip part out of if-else

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

* Update pre-commit changes

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

---------

Signed-off-by: Vignesh T <vignesh.t@kabam.ai>

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

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

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

Signed-off-by: Pradheep <padhupradheep@gmail.com>

* 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 <tony.najjar.1997@gmail.com>

* Update nav2_mppi_controller/src/critics/cost_critic.cpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Tony Najjar <t03578624@gmail.com>

* Update nav2_smac_planner/include/nav2_smac_planner/utils.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Tony Najjar <t03578624@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Tony Najjar <t03578624@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

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

Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>

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

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

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

* Adding declare_or_get_param util to node utils

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* Adding test for declare_or_get_param util

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

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

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* Update nav2_util/test/test_node_utils.cpp

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

* Fixing codecove test

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* Catching possible exception in declare_or_get_by_type

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* Templating return type of declare parameter by value

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

---------

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

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

* added config for laserscan in lb-sim

Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>

* fixing ament_flake8 errors

Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>

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

Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>

* refactor: meaningfull value for scan_angle_increment

Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>

---------

Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>
Co-authored-by: RamanaBotta <ramanab@bosonmotors.com>

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

* Publish planned footprints after smoothing

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* Revert "Publish planned footprints after smoothing"

This reverts commit c9b349a.

* Add smoothed footprints publishing

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fix formatting

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* Fix indentation for publisher creation in SmacPlannerHybrid and SmacPlannerLattice

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* address PR comments

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fixes

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fix build error

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fixing deprecation warning (ros-navigation#5182)

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

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

* Adding missing dep

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

* typo

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

* updating fix

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

---------

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

* 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 <marco.bassa@idealworks.com>

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

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* Using default false declaration instead of declare_or_get in param util

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

---------

Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>

* bumping to 1.3.7 for release

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

---------

Signed-off-by: Nils-ChristianIseke <nilsmailiseke@gmail.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Vignesh T <vignesh.t@kabam.ai>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Pradheep <padhupradheep@gmail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Tony Najjar <t03578624@gmail.com>
Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>
Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>
Co-authored-by: Nils-Christian Iseke <48475933+Nils-ChristianIseke@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Sandeep Dutta <quark01@gmail.com>
Co-authored-by: Vignesh T <vignesh.t@kabam.ai>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Co-authored-by: Marco Bassa <101661130+MarcoMatteoBassa@users.noreply.github.com>
Co-authored-by: Raman <52356167+RamanRobotics@users.noreply.github.com>
Co-authored-by: RamanaBotta <ramanab@bosonmotors.com>

* Fixing Jazzy CI via new ROS 2 keys

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

* 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 <nilsmailiseke@gmail.com>

* Update Cache Version

Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>

---------

Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
(cherry picked from commit 7f561b0)

# Conflicts:
#	.circleci/config.yml

* Update config.yml

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Nils-Christian Iseke <48475933+Nils-ChristianIseke@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

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

Signed-off-by: Tatsuro Sakaguchi <tatsuro.sakaguchi@g.softbank.co.jp>

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

Signed-off-by: Maurice-1235 <mauricepurnawan@gmail.com>

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

(cherry picked from commit 829e683)

Signed-off-by: Adi Vardi <adi.vardi@enway.ai>
Co-authored-by: Adi Vardi <57910756+adivardi@users.noreply.github.com>

* 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 <dwoodwell@vermeer.com>

* Linting

Signed-off-by: dw25628 <dwoodwell@vermeer.com>

* Removed __init__.py that came in with cherry pick

Signed-off-by: dw25628 <dwoodwell@vermeer.com>

---------

Signed-off-by: dw25628 <dwoodwell@vermeer.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* 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 <stevenmacenski@gmail.com>

* Default off

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

* Join conditions

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

* spell check

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

* copilot suggestions

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

* Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp

Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp

Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update keepout_filter.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>

* Revert bringup params changes

Signed-off-by: Maurice <mauricepurnawan@gmail.com>

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>

* 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 <stevenmacenski@gmail.com>
(cherry picked from commit 40a0451)

# Conflicts:
#	nav2_collision_monitor/src/pointcloud.cpp

* Update pointcloud.cpp

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

* Update pointcloud.cpp

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

* Update sources_test.cpp

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

---------

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

* 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 <ronca.pat@gmail.com>

* (tentative) pin down of the impacting change

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>

---------

Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
(cherry picked from commit 1468484)

# Conflicts:
#	nav2_route/src/route_server.cpp

* Delete nav2_route/src/route_server.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

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

Signed-off-by: Jacob Visser <jacob.visser@cboost.nl>

* fix 5456 (ros-navigation#5458)

Signed-off-by: David G <david.randommail1@gmail.com>

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

Signed-off-by: olaghattas <olaghattas@hotmail.com>

* 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 <tony.najjar.1997@gmail.com>

* fix format

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fix test

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

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

* Adding epsilon for voxel_layer precision loss

Signed-off-by: bhx <1273698633@qq.com>

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

* Update nav2_costmap_2d/plugins/voxel_layer.cpp

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

---------

Signed-off-by: bhx <1273698633@qq.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* 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 <stevenmacenski@gmail.com>

* Update test_regulated_pp.cpp

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

---------

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

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

Signed-off-by: Alberto Tudela <ajtudela@gmail.com>

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

* Add min obstacle height in voxel layer

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

* Fix linting

Signed-off-by: Maurice <mauricepurnawan@gmail.com>

---------

Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>

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

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>

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

* [DEX] limit comparison precision

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

* EPSILON 1e-5

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>

---------

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>

* 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 <cihataltiparmak1@gmail.com>

* Apply suggestions

Signed-off-by: CihatAltiparmak <cihataltiparmak1@gmail.com>

* Remove unnecessary diff

Signed-off-by: CihatAltiparmak <cihataltiparmak1@gmail.com>

---------

Signed-off-by: CihatAltiparmak <cihataltiparmak1@gmail.com>

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

Signed-off-by: Sushant Chavan <gitecsvc@gmail.com>

* Fix missing dependency (ros-navigation#5460)

* bump to 1.3.8 for Jazzy release Aug 19, 2025

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

* load balance CI

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

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: bhx <1273698633@qq.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: SteveMacenski <stevenmacenski@gmail.com>
Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: CihatAltiparmak <cihataltiparmak1@gmail.com>
Signed-off-by: Sushant Chavan <gitecsvc@gmail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: hutao <108395177+coderbaibai@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Alberto Tudela <ajtudela@gmail.com>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>
Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Cihat Kurtuluş Altıparmak <cihataltiparmak1@gmail.com>
Co-authored-by: Sushant Chavan <gitecsvc@gmail.com>
Co-authored-by: Tim Clephas <tim.clephas@nobleo.nl>

* 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 <stevenmacenski@gmail.com>
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 <mauricepurnawan@gmail.com>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>

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

* Manual backport of Route Server to Jazzy

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

* linting

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

* Fix backport error

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

* lint

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

* Adding in Nav2 BT + Launch

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

---------

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

* 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 <tony.najjar.1997@gmail.com>

* remove comment

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* Fix duplicate poses with computePlanThroughPoses (ros-navigation#5488)

* fix-duplicate-poses

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* Update nav2_planner/src/planner_server.cpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Fix seg fault (ros-navigation#5501)

* Fix segmentation fault

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* fix linting

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

* Add a service for enabling/disabling the collision monitor (ros-navigation#5493)

* Added std_srvs package to dependencies

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Declared service and callback for enabling/disabling collision monitor

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

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

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added initialization for collision monitor enable/disable service

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Implemented service callback for collision monitor enable/disable service

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Removed std_srvs package dependency

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added Toggle interface

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Replaced Trigger interface with the new Toggle interface

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added default initialization for enabled flag

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Fixed toggle service name

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Updated toggle logic for collision monitor

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added a new line at the end of file

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added enabled check for logging

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Added a unit test for toggle service

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Made the getter const and added a comment

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

* Replaced rclcpp::spin_some

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>

---------

Signed-off-by: Abhishekh Reddy <helloarm@pm.me>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* bump Jazzy to 1.3.9 for release

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

* Change service type for collision monitor

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

* Fix backport error

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

* update

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

---------

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Abhishekh Reddy <helloarm@pm.me>
Signed-off-by: SteveMacenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: Abhishekh Reddy <helloarm@pm.me>

* Update package version from 1.1.0 to 1.3.9

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

* 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 <mauricepurnawan@gmail.com>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>

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

Signed-off-by: ymd-stella <world.applepie@gmail.com>

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

(cherry picked from commit 48e7e06)

Signed-off-by: Jay Herpin <jherpin@metalsharkboats.com>
Co-authored-by: Jay Herpin <159202566+JayHerpin@users.noreply.github.com>

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

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

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

* Revert ros-navigation#4971 in Jazzy

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

* Add

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

---------

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

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

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

* 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 <107634795+greganderson-vermeer@users.noreply.github.com>

* 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 <107634795+greganderson-vermeer@users.noreply.github.com>

---------

Signed-off-by: Greg Anderson <107634795+greganderson-vermeer@users.noreply.github.com>

---------

Signed-off-by: Nils-ChristianIseke <nilsmailiseke@gmail.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Vignesh T <vignesh.t@kabam.ai>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Pradheep <padhupradheep@gmail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Tony Najjar <t03578624@gmail.com>
Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>
Signed-off-by: RamanaBotta <ramanab@bosonmotors.com>
Signed-off-by: Tatsuro Sakaguchi <tatsuro.sakaguchi@g.softbank.co.jp>
Signed-off-by: Maurice-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Adi Vardi <adi.vardi@enway.ai>
Signed-off-by: dw25628 <dwoodwell@vermeer.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
Signed-off-by: Jacob Visser <jacob.visser@cboost.nl>
Signed-off-by: David G <david.randommail1@gmail.com>
Signed-off-by: olaghattas <olaghattas@hotmail.com>
Signed-off-by: bhx <1273698633@qq.com>
Signed-off-by: SteveMacenski <stevenmacenski@gmail.com>
Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
Signed-off-by: CihatAltiparmak <cihataltiparmak1@gmail.com>
Signed-off-by: Sushant Chavan <gitecsvc@gmail.com>
Signed-off-by: Abhishekh Reddy <helloarm@pm.me>
Signed-off-by: ymd-stella <world.applepie@gmail.com>
Signed-off-by: Jay Herpin <jherpin@metalsharkboats.com>
Signed-off-by: Greg Anderson <107634795+greganderson-vermeer@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Nils-Christian Iseke <48475933+Nils-ChristianIseke@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Sandeep Dutta <quark01@gmail.com>
Co-authored-by: Vignesh T <vignesh.t@kabam.ai>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Co-authored-by: Marco Bassa <101661130+MarcoMatteoBassa@users.noreply.github.com>
Co-authored-by: Raman <52356167+RamanRobotics@users.noreply.github.com>
Co-authored-by: RamanaBotta <ramanab@bosonmotors.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tatsuro Sakaguchi <tatsuro.sakaguchi@g.softbank.co.jp>
Co-authored-by: Adi Vardi <57910756+adivardi@users.noreply.github.com>
Co-authored-by: dw25628 <108828484+dw25628@users.noreply.github.com>
Co-authored-by: Patrick Roncagliolo <ronca.pat@gmail.com>
Co-authored-by: cboostjvisser <89262699+cboostjvisser@users.noreply.github.com>
Co-authored-by: DavidG-Develop <147402604+DavidG-Develop@users.noreply.github.com>
Co-authored-by: olaghattas <98136555+olaghattas@users.noreply.github.com>
Co-authored-by: hutao <108395177+coderbaibai@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Alberto Tudela <ajtudela@gmail.com>
Co-authored-by: Cihat Kurtuluş Altıparmak <cihataltiparmak1@gmail.com>
Co-authored-by: Sushant Chavan <gitecsvc@gmail.com>
Co-authored-by: Tim Clephas <tim.clephas@nobleo.nl>
Co-authored-by: Abhishekh Reddy <helloarm@pm.me>
Co-authored-by: ymd-stella <7959916+ymd-stella@users.noreply.github.com>
Co-authored-by: Jay Herpin <159202566+JayHerpin@users.noreply.github.com>
Co-authored-by: Greg Anderson <107634795+greganderson-vermeer@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants