Skip to content

Improve type annotations for ament_mypy#5575

Merged
SteveMacenski merged 7 commits intoros-navigation:mainfrom
leander-dsouza:ament-mypy-fixes
Oct 6, 2025
Merged

Improve type annotations for ament_mypy#5575
SteveMacenski merged 7 commits intoros-navigation:mainfrom
leander-dsouza:ament-mypy-fixes

Conversation

@leander-dsouza
Copy link
Copy Markdown
Contributor

@leander-dsouza leander-dsouza commented Oct 2, 2025


Basic Info

Info Please fill out this column
Ticket(s) this relates #5565
Primary OS tested on Ubuntu
Robotic platform tested on N/A
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

  • Fix incorrect methods and static definitions.
  • Drop transform3d and graphviz from mypy ignored packages from warnings generated in the logs.

Description of documentation updates required from your changes

  • N/A

Description of how this change was tested

  • Performed linting validation using pre-commit run --all

Future work that may be required in bullet points

  • I do not think we should remove the --strict flag or the ament_mypy linting yet. As it catches genuine wrong static definitions that were inserted earlier.

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

@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
see 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.

@leander-dsouza leander-dsouza marked this pull request as ready for review October 2, 2025 13:10
Twist,
'cmd_vel', self.cmdVelCallback, 10)
else:
self.cmd_vel_sub = self.create_subscription(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Renamed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is because the same variable is used as a redefinition. Therefore, mypy expects a Twist definition instead of TwistStamped

$ ament_mypy --config tools/pyproject.toml nav2_loopback_sim

nav2_loopback_sim/nav2_loopback_sim/loopback_simulator.py:131:17: error: Argument 1 to "create_subscription" of "Node" has incompatible type "type[TwistStamped]"; expected "type[Twist]"  [arg-type]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This supports both - can we make the type a union?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have renamed the variable as a Union - self.cmd_vel_sub: Union[Subscription[Twist], Subscription[TwistStamped]].



def transformStampedToMatrix(transform: Transform) -> np.ndarray[np.float64, np.dtype[np.float64]]:
translation = transform.transform.translation
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, you are correct.
The linter was flagging it because the functional parameter was incorrectly defined as Transform instead of TransformStamped.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Rename the function then so it is accurate to type?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The function is already named as transformStampedToMatrix.
I have renamed the function parameter from transform: Transform to transform: TransformStamped.

The GitHub UI in this comment does not seem to show this change.
This change can be seen in the Files Tab section.

y1 = 0.0

x0, y0 = self.worldToMapValidated(footprint.points[0].x, footprint.points[0].y)
footprint_points = cast(list[Point32], footprint.points)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we handle this better in the actual worldToMapValidated method?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have dropped all the cast-related fixes in this PR, as this does not seem necessary.

The CI seems to now pass without any changes to the ament_mypy configuration.
There is a significant disconnect when I use the devcontainer image when running the ament_mypy linting fixes vs testing in CI using ros-tooling/action-ros-lint.

if not self.goal_handle or not self.goal_handle.accepted:
self.error('Get path was rejected!')
self.status = GoalStatus.UNKNOWN
self.status = GoalStatus.STATUS_UNKNOWN
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

? I think it is unknown

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have compared the message definition to the following documentation page, and it suggests using STATUS_UNKNOWN.

] = ActionClient(self, NavigateThroughPoses, 'navigate_through_poses')

self.controller_param_cli: Client[SetParameters.Request, SetParameters.Response] = \
self.controller_param_cli: Client[SetParameters_Request, SetParameters_Response] = \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why change to this _ format from . format in so many places?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have dropped this service change as well.

This is again due to the disconnect between running ament_mypy locally vs running it in CI.

@SteveMacenski
Copy link
Copy Markdown
Member

Overall I'm surprised by the number of functional changes that have been made in this PR. Are these verifiable errors? Do those demos simply not work?

@leander-dsouza leander-dsouza marked this pull request as draft October 3, 2025 09:52
@leander-dsouza leander-dsouza changed the title Fix the ament_mypy workflow Improve type annotations for ament_mypy Oct 3, 2025
@leander-dsouza leander-dsouza marked this pull request as ready for review October 3, 2025 10:30
@leander-dsouza
Copy link
Copy Markdown
Contributor Author

Overall I'm surprised by the number of functional changes that have been made in this PR. Are these verifiable errors? Do those demos simply not work?

There seems to be something weird going on with ament_mypy CI, as it momentarily failed yesterday without any changes to main, and it fixed itself hours later.

I am not sure if my environment is broken, but there is a significant mismatch in what the CI reports versus the local pre-commit testing with the ament linters.

In this PR, I have mainly focused on porting over significant inaccuracies from the errors I see in my local environment.
You can verify the mismatch by simply running pre-commit run --all in your workspace.

pose = PoseStamped()
pose.pose.position.x = pt.x
pose.pose.position.y = pt.y
pose.pose.position.x = pt.position.x
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Pose has a field position

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The functional parameter was incorrectly declared and is now renamed as pt: Point.



def transformStampedToMatrix(transform: Transform) -> np.ndarray[np.float64, np.dtype[np.float64]]:
translation = transform.transform.translation
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Rename the function then so it is accurate to type?

Twist,
'cmd_vel', self.cmdVelCallback, 10)
else:
self.cmd_vel_sub = self.create_subscription(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This supports both - can we make the type a union?

@leander-dsouza
Copy link
Copy Markdown
Contributor Author

I have added a new commit to the PR, fixing some incorrect paths from nav2_msgs.
This is motivated by some of the fixes done in #5565.

I would like to request @ajtudela for a short review in hopes that it may fix the ament_mypy CI issues in his PR.

@ajtudela
Copy link
Copy Markdown
Contributor

ajtudela commented Oct 6, 2025

I have added a new commit to the PR, fixing some incorrect paths from nav2_msgs. This is motivated by some of the fixes done in #5565.

I would like to request @ajtudela for a short review in hopes that it may fix the ament_mypy CI issues in his PR.

LGTM. I have similar changes in the Following PR.

For example, this doesnt pass the mypy pre-commit:

client: Client[GetState.Request, GetState.Response] = \
self.node.create_client(GetState, f'{node_name}/get_state')

I have to add this comment:

client: Client[GetState.Request, GetState.Response] = (  # type: ignore[name-defined]
self.node.create_client(GetState, f'{node_name}/get_state')  # type: ignore[arg-type]

But with the comments, it didn't pass the mypy in the CI.

@leander-dsouza leander-dsouza force-pushed the ament-mypy-fixes branch 2 times, most recently from 043f242 to b4d41fd Compare October 6, 2025 11:31
@leander-dsouza
Copy link
Copy Markdown
Contributor Author

LGTM. I have similar changes in the Following PR.

Thank you for the initial review :)

For example, this doesnt pass the mypy pre-commit:
But with the comments, it didn't pass the mypy in the CI.

There seems to be a disconnect in running ament_mypy locally, and separately in the CI, hence the CI does not need these ignored comments.

That is why the CircleCI builds show the unused-ignore error messages.

Signed-off-by: Leander Stephen D'Souza <[email protected]>
@SteveMacenski SteveMacenski merged commit 269d480 into ros-navigation:main Oct 6, 2025
16 checks passed
@ajtudela
Copy link
Copy Markdown
Contributor

ajtudela commented Oct 6, 2025

LGTM. I have similar changes in the Following PR.

Thank you for the initial review :)

For example, this doesnt pass the mypy pre-commit:
But with the comments, it didn't pass the mypy in the CI.

There seems to be a disconnect in running ament_mypy locally, and separately in the CI, hence the CI does not need these ignored comments.

That is why the CircleCI builds show the unused-ignore error messages.

I'm unable to pass the precommit stage if those comments aren't included.

silanus23 pushed a commit to silanus23/navigation2 that referenced this pull request Oct 11, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
Jad-ELHAJJ pushed a commit to Jad-ELHAJJ/navigation2 that referenced this pull request Oct 16, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
greganderson-vermeer pushed a commit to greganderson-vermeer/navigation2-vermeer-features that referenced this pull request Oct 21, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Greg Anderson <[email protected]>
greganderson-vermeer added a commit to greganderson-vermeer/navigation2-vermeer-features that referenced this pull request Oct 21, 2025
Squashed commit of the following:

commit bf2e64c
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 21 14:41:42 2025 -0500

    Add declaration for use_global_height parameter into add sources
    function.

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

commit 8453632
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 21 08:28:19 2025 -0500

    Adjusted asserts in third test case for consistent results.

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

commit 725f054
Author: Greg Anderson <[email protected]>
Date:   Mon Oct 20 21:04:51 2025 -0500

    Add additional case for testing pointcloud with no height field.

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

commit 2bb49aa
Merge: b02713a cdccfe1
Author: Greg Anderson <[email protected]>
Date:   Mon Oct 20 18:01:24 2025 -0500

    Merge branch 'main' into feat/CustomCollisionPointFields

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

commit b02713a
Author: Greg Anderson <[email protected]>
Date:   Mon Oct 20 17:53:36 2025 -0500

    Cleaned up some un-needed parameter changes.

commit 21eef62
Author: Greg Anderson <[email protected]>
Date:   Mon Oct 20 17:49:16 2025 -0500

    Added test case for using global height parameter.

commit cdccfe1
Author: Sushant Chavan <[email protected]>
Date:   Mon Oct 20 23:49:25 2025 +0200

    Publish `is_active` status from LifecycleManager (ros-navigation#5627)

    * Publish `is_active` status from LifecycleManager

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

    * Update nav2_lifecycle_manager/src/lifecycle_manager.cpp

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

    ---------

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

commit b35a4b5
Author: Leander Stephen D'Souza <[email protected]>
Date:   Mon Oct 20 22:04:17 2025 +0100

    Use the new declare_or_get_parameter API for nav2_controller. (ros-navigation#5624)

    * Migrate majority of parameter declarations to use the new parameter API.

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

    * Migrate controller_server.cpp to use declare_or_get_parameter API.

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

    ---------

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

commit 62ebc54
Author: Steve Macenski <[email protected]>
Date:   Thu Oct 16 07:59:10 2025 -0700

    Revert "[RPP] Prevent collision check premature termination (ros-navigation#5598)" (ros-navigation#5620)

    This reverts commit 6bc74e5.

commit 01580bd
Author: mini-1235 <[email protected]>
Date:   Thu Oct 16 02:02:29 2025 +0700

    Redesign graceful controller dynamic parameters patterns (ros-navigation#5600)

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

commit b91eda5
Author: Abhishekh Reddy <[email protected]>
Date:   Tue Oct 14 14:47:14 2025 -0400

    Check if the tolerance circle is feasible when validating goals for path planning. (ros-navigation#5593)

    * Implemented goal tolerance validity check

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

    * Fixed description for getCoords function

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

    * Added a test with lower tolerance for zone validity checking

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

    * Updated tolerance check function implementation

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

    * Updated isZoneValid function

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

    * Updated isZoneValid function

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

    ---------

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

commit 48e7e06
Author: Jay Herpin <[email protected]>
Date:   Tue Oct 14 12:45:59 2025 -0500

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

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

commit 7d37466
Author: Leander Stephen D'Souza <[email protected]>
Date:   Tue Oct 14 15:50:30 2025 +0100

    Use the new parameter API in nav2_constrained_smoother. (ros-navigation#5608)

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

commit 3935038
Author: Steve Macenski <[email protected]>
Date:   Tue Oct 14 07:48:32 2025 -0700

    Fixing CI Cache Misalignment causing builds to fail (ros-navigation#5607)

    * Aligning caches

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

    * Trigger linting (hopefully)

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

    * Fix action-ros-lint version format in lint.yml

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

    ---------

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

commit 568174c
Author: Leander Stephen D'Souza <[email protected]>
Date:   Tue Oct 14 01:41:25 2025 +0100

    Update new_declare_or_get_parameter API for collision_monitor and map_server (ros-navigation#5588)

    * Use the new_declare_or_get_parameter API for nav2_collision_monitor.

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

    * Removed redundant set_parameter calls when preceeded by declare_parameter.

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

    * Use declare_or_get_parameter without a default value.

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

    * Simplified definitions that required to determine parameter type from template.

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

    * Removed self-definition of node_utils.hpp.

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

    * Address PR feedback: Remove unnecessary linebreaks and improve param docstring.

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

    ---------

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

commit 6bc74e5
Author: Érico Meger <[email protected]>
Date:   Mon Oct 13 19:17:23 2025 -0300

    [RPP] Prevent collision check premature termination (ros-navigation#5598)

    * prevent collision check premature termination

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

    * improve comment wording

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

    * fix linting error

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

    ---------

    Signed-off-by: EricoMeger <[email protected]>
    Signed-off-by: Érico Meger <[email protected]>
    Co-authored-by: Steve Macenski <[email protected]>

commit 4d28c13
Author: silanus <[email protected]>
Date:   Fri Oct 10 20:42:45 2025 +0300

    Path distance feature (ros-navigation#5387)

    * geometry utils

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

    * fixed geometry utils adding 2d

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

    * created path_utils

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

    * added tests

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

    * minor changes in tests

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

    * lint issue

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

    * fixed reviews

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

    * doxygen fix

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

    * Last fixes.

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

    * Last fixes cpp.

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

    * Update nav2_util/include/nav2_util/path_utils.hpp

    Co-authored-by: Copilot <[email protected]>
    Signed-off-by: silanus <[email protected]>
    Signed-off-by: silanus23 <[email protected]>

    * Update nav2_util/include/nav2_util/path_utils.hpp

    Co-authored-by: Copilot <[email protected]>
    Signed-off-by: silanus <[email protected]>
    Signed-off-by: silanus23 <[email protected]>

    * Update nav2_util/test/test_path_utils.cpp

    Co-authored-by: Copilot <[email protected]>
    Signed-off-by: silanus <[email protected]>
    Signed-off-by: silanus23 <[email protected]>

    * Frame check fix

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

    * msg

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

    * controller server publisher

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

    * controller server publisher fix

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

    * cross_product

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

    * handled last_fixes

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

    * tracking error added to follow path
    side from side added to tracking error

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

    * arranged msgs

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

    * linting of msgs

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

    * last cpplint

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

    * frame check for distance_to_goal

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

    * fixes for follow_path

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

    * controller linting

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

    * changing tracking_error to tracking_error_feedback

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

    * adding remaining_path_length in tracking_error_feedback

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

    * Last fix

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

    * start_index_

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

    * Name changes and optimizations in controller_server and nav2_util

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

    * Changing name to tracking_feedback

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

    * Documentation changes

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

    * Last lint

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

    * Update nav2_util/include/nav2_util/path_utils.hpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Last updates

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

    * update example_follow_path.py

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

    * update example_follow_path.py lint

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_controller/src/controller_server.cpp

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

    * Update nav2_util/src/path_utils.cpp

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

    * ordering problem

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

    * added deactivate to tracking_feedback_pub_

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

    * typo

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

    * end_pose transform

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

    * creating the member variable end_pose_global_ and deleting nav_2d_msgs

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

    * deleting unnecessary transform

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

    * typo in controller

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

    * readding remaining path

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

    * placement of transformation

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

    * unnecessary comments

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

    * tests added

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

    * Increased test coverage

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

    * Every part of the result is covered

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

    * Increasing out of bounds index

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

    * lint

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

    * add missing line to cmake

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

    * unnecessary test

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

    * unexptected styling and last functional change

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

    * simplifying the tranformation of end_pose

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

    * doxygen fix

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

    * doxygen fix

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

    * doxygen fix

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

    * doxygen fix

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

    * Update nav2_controller/src/controller_server.cpp

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

    ---------

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

commit 04a3e22
Author: Steve Macenski <[email protected]>
Date:   Fri Oct 10 10:09:08 2025 -0700

    Improve error message for missing robot footprint (ros-navigation#5597)

    Updated error message for footprint collision checking.

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

commit ce6b439
Author: Alberto Tudela <[email protected]>
Date:   Fri Oct 10 00:12:57 2025 +0200

    Following (ros-navigation#5565)

    * Following server

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

    * feat: migrate to nav2_msgs for FollowObject action and remove opennav_following_msgs

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

    * Fix mypy test

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

    * Move FollowObject and FollowObjectCancel action nodes from bt package

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

    * Update package and circle

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

    * feat: add FollowObject action support in robot navigator and fix mypy

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

    * Fix mypy issues

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

    * feat: add follow_object action to bt_navigator parameters

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

    * Update key and package

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

    * Fix precommit

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

    * Fix mypy?

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

    * Fix mypy, round two

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

    ---------

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

commit ed0d59f
Author: Sakshay Mahna <[email protected]>
Date:   Thu Oct 9 03:39:30 2025 +0530

    [Graceful Controller] Fix Incorrect Motion Target Heading output by controller (ros-navigation#5530)

    * Fix graceful controller lookahead bug

    Signed-off-by: Sakshay Mahna <[email protected]>

    * Shorten logic with goal_pose

    Signed-off-by: Sakshay Mahna <[email protected]>

    * Add Linear Interpolation Fix

    Signed-off-by: Sakshay Mahna <[email protected]>

    * Update const double and comments

    Signed-off-by: Sakshay Mahna <[email protected]>

    ---------

    Signed-off-by: Sakshay Mahna <[email protected]>

commit 14660b4
Author: Vince Reda <[email protected]>
Date:   Wed Oct 8 17:14:57 2025 +0000

    Fail PersistentSequence if input port is not set (ros-navigation#5589)

    * Fail if getInput fails

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

    * Add test with no input

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

    * Update error string

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

    * Fix quotation marks

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

    ---------

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

commit aa2cdc5
Author: Greg Anderson <[email protected]>
Date:   Wed Oct 8 10:43:14 2025 -0500

    Apply suggestions from code review

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

commit 5636fc1
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 15:37:13 2025 -0500

    Implementing Steve's suggestion for performance and
    code simplicity.

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

commit b2fbb06
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 12:59:46 2025 -0500

    Implemented additional changes for iterator feedback
    in PR.

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

commit 1cdbc05
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 12:12:31 2025 -0500

    Add return false for error state.

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

commit 869b5a9
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 12:10:03 2025 -0500

    Address PR formatting feedback.
    Remove run time error and replaced with log error.

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

commit 11f04c7
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 10:55:18 2025 -0500

    Added some pointcloud field checking based on run time
    error found when running tests.

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

commit ca49b05
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 08:22:05 2025 -0500

    Ran ament lint/style tools, cleaned up.

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

commit 7e6ccc9
Author: Greg Anderson <[email protected]>
Date:   Tue Oct 7 08:08:01 2025 -0500

    Add use_global_height_ parameter to allow configuration
    of height checking by end users.

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

commit 0c20df2
Author: DylanDeCoeyer-Quimesis <[email protected]>
Date:   Mon Oct 6 22:29:17 2025 +0200

    nav2_smac_planner: make A* return closest path found in case of timeout (ros-navigation#5578)

    Until now, a path computation timeout would systematically lead to a
    nav2_core::PlannerTimedOut error, even though a path was found within
    the tolerance.

    This commit makes the A* return the best path found if it's within the
    tolerance.

    Signed-off-by: Dylan De Coeyer <[email protected]>

commit f78bac5
Author: Leander Stephen D'Souza <[email protected]>
Date:   Mon Oct 6 20:16:30 2025 +0100

    Use the new declare_or_get_parameter API for nav2_behaviors. (ros-navigation#5583)

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

commit 269d480
Author: Leander Stephen D'Souza <[email protected]>
Date:   Mon Oct 6 20:13:52 2025 +0100

    Improve type annotations for ament_mypy (ros-navigation#5575)

    * Enable tools directory to be mypy compliant.

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

    * Enable nav2_system_tests to be mypy compliant.

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

    * Enable nav2_docking to be mypy compliant.

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

    * Enable nav2_simple_commander to be mypy compliant.

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

    * Enable nav2_loopback_sim to be mypy compliant.

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

    * Removed unused ignores for packages for mypy compliance.

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

    * Added nav2_msgs path fixes to mypy compliance.

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

    ---------

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

commit 5860a27
Author: Greg Anderson <[email protected]>
Date:   Mon Oct 6 12:41:04 2025 -0500

    Create iterator for custom height field in pointcloud.

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

Signed-off-by: Greg Anderson <[email protected]>
greganderson-vermeer pushed a commit to greganderson-vermeer/navigation2-vermeer-features that referenced this pull request Oct 22, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Greg Anderson <[email protected]>
decwest pushed a commit to decwest/navigation2 that referenced this pull request Dec 10, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
decwest pushed a commit to decwest/navigation2 that referenced this pull request Dec 11, 2025
* Enable tools directory to be mypy compliant.

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

* Enable nav2_system_tests to be mypy compliant.

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

* Enable nav2_docking to be mypy compliant.

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

* Enable nav2_simple_commander to be mypy compliant.

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

* Enable nav2_loopback_sim to be mypy compliant.

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

* Removed unused ignores for packages for mypy compliance.

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

* Added nav2_msgs path fixes to mypy compliance.

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

---------

Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Decwest <[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.

3 participants