Skip to content

Add LaunchConfigAsBool (Fixes #5233)#5301

Merged
SteveMacenski merged 8 commits intoros-navigation:mainfrom
nishalangovender:fix-launch-argument-consistency
Jun 26, 2025
Merged

Add LaunchConfigAsBool (Fixes #5233)#5301
SteveMacenski merged 8 commits intoros-navigation:mainfrom
nishalangovender:fix-launch-argument-consistency

Conversation

@nishalangovender
Copy link
Contributor

Basic Info

Info Please fill out this column
Ticket(s) this addresses #5233
Primary OS tested on Ubuntu Desktop 24.04 LTS
Robotic platform tested on Gazebo Sim
Does this PR contain AI generated software? Yes

Description of contribution in a few bullet points

  • Added LaunchConfigAsBool utility function to nav2_common.launch module for consistent boolean argument handling, specifically when used for compound conditional checks using PythonExpressions
  • Updated nav2_bringup launch files to use the new utility instead of inconsistent boolean conditionals
  • Enhanced robustness by supporting multiple boolean string representations (true/True/1/yes/on)

Description of documentation updates required from your changes

  • No documentation updates required - this is an internal consistency fix

Description of how this change was tested

  • Wrote a unit test that covers various boolean launch types
  • Built and tested nav2_common and nav2_bringup packages successfully
  • Verified launch file loads without errors with various boolean argument combinations
  • Tested multiple boolean string formats: slam:=true, slam:=True, slam:=1, slam:=yes

For Maintainers:

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

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
@codecov
Copy link

codecov bot commented Jun 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

see 1 file with indirect coverage changes

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

@SteveMacenski SteveMacenski linked an issue Jun 24, 2025 that may be closed by this pull request
Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

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

Please make sure to sanity check by exercising the things you set as launch configurations for bools to make sure specifying them on the commandline as true/True/false/False render OK for their logic (since some are used in PythonExpressions that won't be exercised unless set or launch arguments that if not using the default values may also expose issues)

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
@nishalangovender
Copy link
Contributor Author

Yes, that makes sense. I manually tested these using the turtlebot launch files in nav2_bringup as my test file runs a unit test. I'm not sure if I understand this correctly, but would you prefer an integration-level test (i.e. cli tests like ros2 launch nav2_bringup tb3_simulation.launch.py use_rviz:=true headless:=false) over a unit test + manual tests?

@SteveMacenski
Copy link
Member

@nishalangovender the manual testing is OK for this one. Last review comment and then we can merge this :-) Thanks for the follow up!

@SteveMacenski SteveMacenski merged commit bd39129 into ros-navigation:main Jun 26, 2025
15 checks passed
@SteveMacenski
Copy link
Member

Thanks @nishalangovender ! Merged :-)

OmarRebai pushed a commit to OmarRebai/navigation2 that referenced this pull request Jul 2, 2025
* Add LaunchConfigAsBool (Fixes ros-navigation#5233)

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix Linting

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix ament_mypy and pre-commit

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Added Type Annotations

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* mypy ignore

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* launch.Substitution

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* Update All Bools in nav2_bringup

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

---------

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>
SakshayMahna pushed a commit to SakshayMahna/navigation2 that referenced this pull request Jul 6, 2025
* Add LaunchConfigAsBool (Fixes ros-navigation#5233)

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix Linting

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix ament_mypy and pre-commit

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Added Type Annotations

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* mypy ignore

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* launch.Substitution

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* Update All Bools in nav2_bringup

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

---------

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
SteveMacenski added a commit that referenced this pull request Jul 17, 2025
#5300)

* fix: Add PushRosNamespace action to navigation launch file and update comments for parameter namespacing

Signed-off-by: orebai <omar.rebai@habemus.com>

* fix: Reorder import statements in navigation launch file for consistency

Signed-off-by: orebai <omar.rebai@habemus.com>

* fix: Correct formatting of comments in navigation launch file for clarity

Signed-off-by: orebai <omar.rebai@habemus.com>

* fix: Add PushRosNamespace action to multiple launch files for parameter namespacing

Signed-off-by: orebai <omar.rebai@habemus.com>

* fix: Add PushRosNamespace action to slam_launch.py for parameter namespacing

Signed-off-by: orebai <omar.rebai@habemus.com>

* Adding logging for matched events and dropped messages into pub/sub of new nav2_ros_common package. Also adding QoS overrides default ON (#5302)

* Adding logging for matched events and dropped messages

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

* toggle on

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

* apply for smac 2D

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

* Update interface_factories.hpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Add LaunchConfigAsBool (Fixes #5233) (#5301)

* Add LaunchConfigAsBool (Fixes #5233)

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix Linting

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix ament_mypy and pre-commit

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Added Type Annotations

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* mypy ignore

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* launch.Substitution

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* Update All Bools in nav2_bringup

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

---------

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Create claude.yml

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Update claude.yml

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Update claude.yml

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Update claude.yml for authorized users

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Update claude.yml

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Update claude.yml

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

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

* Adding clear costmap around pose impl

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

* Update nav2_msgs/srv/ClearCostmapAroundPose.srv

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

* Adding APIs for simple commander

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

* linting

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

* adding import

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* Add support for enable_lifecycle_services parameter in LifecycleNode (#5307)

Expose the enable_communication_interface parameter from rclcpp_lifecycle::LifecycleNode
through nav2's LifecycleNode wrapper. This allows users to disable lifecycle communication
interfaces when manually managing node lifecycle transitions.

The parameter can be set via NodeOptions parameter overrides:
```cpp
rclcpp::NodeOptions options;
options.parameter_overrides({{"enable_lifecycle_services", false}});
```

Fixes #5305

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Signed-off-by: orebai <omar.rebai@habemus.com>

* fix: Rename PushRosNamespace to PushROSNamespace for consistency across launch files

Signed-off-by: orebai <omar.rebai@habemus.com>

---------

Signed-off-by: orebai <omar.rebai@habemus.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>
Co-authored-by: orebai <omar.rebai@habemus.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Nishalan Govender <137301877+nishalangovender@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Sushant-Chavan added a commit to Sushant-Chavan/navigation2 that referenced this pull request Aug 5, 2025
* 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>

* enable_groot_monitoring_ false (ros-navigation#5246)

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

* Updating readme table for kilted release (ros-navigation#5249)

* updating readme table for kilted release

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

* Updating table lint

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

---------

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

* Add min_distance_to_obstacle parameter to RPP (ros-navigation#4543)

* min_distance_to_obstacle

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

* suggestion to time base and combine

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

* typo

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

* use min_approach_linear_velocity

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

---------

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

* Fixing builds for message filters API change while retaining Jazzy, Kilted, and Rolling support (ros-navigation#5251)

* Update amcl_node.hpp

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

* Update amcl_node.cpp

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

* Working for Kilted, Jazzy

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

* Update amcl_node.cpp

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

* Update amcl_node.cpp

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

* Update amcl_node.cpp

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

---------

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

* Change max_cost default to 254 (ros-navigation#5256)

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

* Route server corner smoothing (ros-navigation#5226)

* added edge length method

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

* Added corner arc class

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

* replaced double vectors with Coordinates, added methods to return start and end coordinates

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

* using Coordinates, fixed direction of tangents

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

* added corner arc in header, added logger in protected variable

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

* first pass of corner smoothing algorithm

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

* reassigning next edge to have a different start, if a corner occurs before it

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

* using unique pointer instead of raw pointers for new edges and nodes

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

* added smoothing parameter

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

* made angle of interpolation a parameter

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

* const for return methods, added flag for smoothing corners

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

* moved getEdgeLength() into the Directional Edge struct

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

* using float instead of double

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

* smoothing radius is float, couple methods moved to protected

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

* removed signed_angle_ as a member variable

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

* removed unnecessary member variables

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

* removed angle of interpolation and inferring it from path density and radius instead

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

* consolidated corner arc into one header function

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

* readded newline

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

* changed corner arc to corner smoothing

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

* replaced the use of edges with coordinates to generate smoothing arc, removed storage of nodes and edges

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

* linting

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

* fixing cpplint

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

* linting for headers

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

* cpplinting

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

* Update nav2_route/src/path_converter.cpp

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

* Update nav2_route/src/path_converter.cpp

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

* Update nav2_route/src/path_converter.cpp

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

* Update nav2_route/src/path_converter.cpp

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

* Update nav2_route/include/nav2_route/corner_smoothing.hpp

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

* fixed divide by zeros and accessing empty route.edges

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

* uncrustify linting

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

* cpp linting

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

* path converter linting

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

* changed all doubles to floats

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

* added check for edges that are colinear to avoid divide by 0, fixed final edge interpolation

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

* linting

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

* Update nav2_route/include/nav2_route/corner_smoothing.hpp

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

* added doxygen for corner arc class

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

* added warning message if corner can't be smoothed

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

* added smooth_corners to the nav2 params file

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

* added smoothing flag and radius parameter to README.md'

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

* typo in README

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

* added testing for corner smoothing

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

* Update nav2_route/include/nav2_route/corner_smoothing.hpp

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

---------

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

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

* Parametrizing obstacle layer tf filter tolerance (ros-navigation#5261)

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

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

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

* Fix/smac planner orientation goals (ros-navigation#5235)

* cherry pick

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* cherry pick 6a74ba6

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* cherrpy pick

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* include x11 forwarding

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* kind of working version

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* cleanup

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* formatting

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* minor format change

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* change naming

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* minor changes

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* working with new changes

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* 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>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* Revert back

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* enable_groot_monitoring_ false (ros-navigation#5246)

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* Updating readme table for kilted release (ros-navigation#5249)

* updating readme table for kilted release

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

* Updating table lint

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* Add min_distance_to_obstacle parameter to RPP (ros-navigation#4543)

* min_distance_to_obstacle

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

* suggestion to time base and combine

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

* typo

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

* use min_approach_linear_velocity

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

---------

Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* Fixing builds for message filters API change while retaining Jazzy, Kilted, and Rolling support (ros-navigation#5251)

* Update amcl_node.hpp

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

* Update amcl_node.cpp

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

* Working for Kilted, Jazzy

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

* Update amcl_node.cpp

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

* Update amcl_node.cpp

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

* Update amcl_node.cpp

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* Change max_cost default to 254 (ros-navigation#5256)

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* linter

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* remove const

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* pass const pointer by value

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* pass const pointer by value

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

* remove unused param

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>

---------

Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.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: Tony Najjar <tony.najjar.1997@gmail.com>

* Fix backport compiler warning (ros-navigation#5277)

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

* Fix ament mypy (ros-navigation#5280)

* Configured nav2_loopback_sim to be compliant with mypy.

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

* Configured nav2_simple_commander to be compliant with mypy.

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

* Configured nav2_system_tests to be compliant with mypy.

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

---------

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

* Publish zero velocitiy in case of goal failure (ros-navigation#5279)

Signed-off-by: haider8645 <haider_lodhi@hotmail.com>

* Update PULL_REQUEST_TEMPLATE.md

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

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

Signed-off-by: Adi Vardi <adi.vardi@enway.ai>

* Add missing include of algorithm in differential_motion_model.cpp (ros-navigation#5293)

Signed-off-by: Silvio Traversaro <silvio@traversaro.it>

* Remove unused unistd.h header from route_tool.cpp (ros-navigation#5292)

Signed-off-by: Silvio Traversaro <silvio@traversaro.it>

* Fix compilation of nav2_smac_planner on Windows (ros-navigation#5291)

Signed-off-by: Silvio <silvio.traversaro@iit.it>

* Large Nav2 Node, Utils, and Interface Refactor (ros-navigation#5288)

* initial unorganized prototype

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

* break out files and add doxygen

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

* Adding refactor for nav2_ros_common and new ROS interface factories

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

* fixing CI - not sure how that got through merge conflicts

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

* Lifecycle publisher a missing test

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

* system tests

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

* default

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

* activating publishers

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

* temp disable allow param qos overrides

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

* API update for new constructor option

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

* Supporting Jazzy and abstracting util

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

* Review round 1

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

* Adding Nav2 Publisher and Subscriber objects to later build upon

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

* Adding additional ::SharedPtr for readability

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

* fix bug

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

* fixing Jazzy support

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

* missed one last spot

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

* Adding migration instructions

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

* more context

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

* Adding migration context

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

* precommit

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

* adding missing dep

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

* Updating system tess

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

* more

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

---------

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

* Adding logging for matched events and dropped messages into pub/sub of new nav2_ros_common package. Also adding QoS overrides default ON (ros-navigation#5302)

* Adding logging for matched events and dropped messages

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

* toggle on

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

* apply for smac 2D

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

* Update interface_factories.hpp

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

---------

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

* Add LaunchConfigAsBool (Fixes ros-navigation#5233) (ros-navigation#5301)

* Add LaunchConfigAsBool (Fixes ros-navigation#5233)

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix Linting

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Fix ament_mypy and pre-commit

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>

* Added Type Annotations

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* mypy ignore

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* launch.Substitution

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* Update All Bools in nav2_bringup

Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

---------

Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@gmail.com>

* Create claude.yml

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

* Update claude.yml

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

* Update claude.yml

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

* Update claude.yml for authorized users

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

* Update claude.yml

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

* Update claude.yml

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

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

* Adding clear costmap around pose impl

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

* Update nav2_msgs/srv/ClearCostmapAroundPose.srv

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

* Adding APIs for simple commander

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

* linting

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

* adding import

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

---------

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

* Fix compiler errors in nav2_map_server

* Fix compiler errors in nav2_costmap_2d

* Add support for enable_lifecycle_services parameter in LifecycleNode (ros-navigation#5307)

Expose the enable_communication_interface parameter from rclcpp_lifecycle::LifecycleNode
through nav2's LifecycleNode wrapper. This allows users to disable lifecycle communication
interfaces when manually managing node lifecycle transitions.

The parameter can be set via NodeOptions parameter overrides:
```cpp
rclcpp::NodeOptions options;
options.parameter_overrides({{"enable_lifecycle_services", false}});
```

Fixes ros-navigation#5305

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

---------

Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Alexander Yuen <alex@polymathrobotics.com>
Signed-off-by: Marco Bassa <marco.bassa@idealworks.com>
Signed-off-by: Maurice-1235 <mauricepurnawan@gmail.com>
Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com>
Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: Adi Vardi <adi.vardi@enway.ai>
Signed-off-by: Silvio Traversaro <silvio@traversaro.it>
Signed-off-by: Silvio <silvio.traversaro@iit.it>
Signed-off-by: nishalangovender <nishalan.govender@gmail.com>
Signed-off-by: Nishalan Govender <nishalan.govender@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: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: alexanderjyuen <103065090+alexanderjyuen@users.noreply.github.com>
Co-authored-by: Marco Bassa <101661130+MarcoMatteoBassa@users.noreply.github.com>
Co-authored-by: mini-1235 <mauricepurnawan@gmail.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
Co-authored-by: Haider <haider_lodhi@hotmail.com>
Co-authored-by: Adi Vardi <57910756+adivardi@users.noreply.github.com>
Co-authored-by: Silvio Traversaro <silvio@traversaro.it>
Co-authored-by: Nishalan Govender <137301877+nishalangovender@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
@andrejpan
Copy link

Would this feature be ported to the Jazzy release, for example? Or is there a document somewhere that describes the behaviour what is added to older releases and what not?

@mini-1235
Copy link
Collaborator

Could you clarify which parts of the feature you would like to backport to Jazzy?

If it's only the LaunchConfigAsBool function under nav2_common, I think that could be backported, but we would need you to create a backport PR, since it can't be backported automatically.

If it involves the modified launch.py under nav2_bringup, then I don't think we can backport that, as it would likely break existing users who rely on the current behavior

@andrejpan
Copy link

andrejpan commented Feb 19, 2026

New Nav2 user here, and I did try to run the keep_out zone on Jazzy with simulation. I found keep out zones in the latest main; however, I was blocked because LaunchConfigAsBool does not exist.

Edit: I started using a pre-built rolling nav2_docker image to have a bit more luck with demos.

@mini-1235
Copy link
Collaborator

So there are three possible options here:

  • If you are on rolling, you should be able to run the demos directly
  • If you are on Jazzy and building from source (main branch), you can compile main locally. Just make sure you are not mixing binaries with a source build. If LaunchConfigAsBool still cannot be found, that likely indicates an issue with your build setup, and I would recommend reviewing the documentation at docs.nav2.org
  • If you are on Jazzy and building the Jazzy branch, or using the released binaries, then the demos are unfortunately not available and cannot be backported. However, the keepout zone feature is available in Jazzy, and it shouldn't be too difficult to integrate yourself by following our tutorial

@andrejpan
Copy link

@mini-1235 tnx for your feedback.

There are quite a number of "if-else" cases when demos/tutorials work and when they do not, at least with the Jazzy release. Will just have to figure it out, one package at a time ;)

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.

Conditional Boolean vs String Argument Declaration

4 participants