Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish optimal trajectory as a Path message #4640

Conversation

alyquantillion
Copy link
Contributor

Basic Info

Info Please fill out this column
Ticket(s) this addresses None
Primary OS tested on Ubuntu
Robotic platform tested on Gazebo simulation of a custom robot
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

  • I publish the optimal trajectory as a nav_msgs::msg::Path message. Needed if we want to calculate the velocity commands ourselves.

Description of documentation updates required from your changes

None


Future work that may be required in bullet points

None

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

@alyquantillion alyquantillion force-pushed the feature/publish_optimal_traj_as_path_msg branch 3 times, most recently from 51f66b4 to 1c56c7a Compare August 22, 2024 10:36
Copy link
Contributor

mergify bot commented Aug 22, 2024

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

nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/controller.cpp Outdated Show resolved Hide resolved
@SteveMacenski
Copy link
Member

This also requires test coverage

@alyquantillion alyquantillion force-pushed the feature/publish_optimal_traj_as_path_msg branch from ec7c72d to 42190da Compare August 23, 2024 12:34
Copy link
Contributor

mergify bot commented Aug 23, 2024

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

@alyquantillion alyquantillion force-pushed the feature/publish_optimal_traj_as_path_msg branch from 42190da to 1cd120f Compare August 23, 2024 12:54
Copy link
Contributor

mergify bot commented Aug 23, 2024

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

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

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

LGTM, though its not compiling (that needs to be fixed, obviously!). One more change for making it consistent with the existing code and then we're good to go

nav2_mppi_controller/src/trajectory_visualizer.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/trajectory_visualizer.cpp Outdated Show resolved Hide resolved
nav2_mppi_controller/src/trajectory_visualizer.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

mergify bot commented Aug 24, 2024

@alyquantillion, 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

@alyquantillion please rebase or pull in main so that CI turns over. There was an API update in an upstream library that needs to be propagated here to build

Copy link
Contributor

mergify bot commented Aug 27, 2024

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

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
@alyquantillion alyquantillion force-pushed the feature/publish_optimal_traj_as_path_msg branch from 075513e to 676a083 Compare August 27, 2024 09:30
Copy link

codecov bot commented Aug 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Files Coverage Δ
...roller/include/nav2_mppi_controller/controller.hpp 100.00% <ø> (ø)
...v2_mppi_controller/tools/trajectory_visualizer.hpp 100.00% <ø> (ø)
nav2_mppi_controller/src/controller.cpp 100.00% <100.00%> (ø)
nav2_mppi_controller/src/trajectory_visualizer.cpp 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

@SteveMacenski SteveMacenski merged commit 836d37c into ros-navigation:main Aug 27, 2024
11 checks passed
@SteveMacenski
Copy link
Member

Thanks for iterating, looks perfect to me!

@alyquantillion alyquantillion deleted the feature/publish_optimal_traj_as_path_msg branch August 27, 2024 19:13
masf7g pushed a commit to quasi-robotics/navigation2 that referenced this pull request Oct 23, 2024
* Publish optimal trajectory as a Path message

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move publish_optimal_path to TrajectoryVisualizer + minor refactoring

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* tests added for optimal path publication

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* populate optimal path message in add()

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move path population in add_marker

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

---------

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
SteveMacenski pushed a commit that referenced this pull request Nov 8, 2024
* Publish optimal trajectory as a Path message

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move publish_optimal_path to TrajectoryVisualizer + minor refactoring

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* tests added for optimal path publication

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* populate optimal path message in add()

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move path population in add_marker

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

---------

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
SteveMacenski added a commit that referenced this pull request Nov 8, 2024
* Adding non-charging dock support to docking server (for conveyers, pallots, etc) (#4627)

* adding non-charging dock support to docking server

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

* docs and linting

* adding unit tests

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

---------

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

* Publish optimal trajectory as a Path message (#4640)

* Publish optimal trajectory as a Path message

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move publish_optimal_path to TrajectoryVisualizer + minor refactoring

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* tests added for optimal path publication

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* populate optimal path message in add()

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move path population in add_marker

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

---------

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* [collision monitor] Select the observation sources used with each polygon (#4227)

* Collision monitor: select specific observation sources for polygon

Signed-off-by: asarazin <anaelle.sarazin@robocc.com>

* optimization

Signed-off-by: asarazin <anaelle.sarazin@robocc.com>

* add tests

Signed-off-by: asarazin <anaelle.sarazin@robocc.com>

---------

Signed-off-by: asarazin <anaelle.sarazin@robocc.com>
Co-authored-by: asarazin <anaelle.sarazin@robocc.com>

* Restore exported BT test utils header files after cmake revamp (#4652) (#4654)

Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>

* fix(bt_nodes): Correct default `server_timeout` behavior by using `getInputPortOrBlackboard()` (#4649)

Signed-off-by: Alan Xue <alan.xuefei@googlemail.com>

* PoseStamped vector specialization (#4607)

* PoseStamped vector specialization

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

* merge master

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

* add path

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

* fix size check

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

* fix test

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

* Revert "fix test"

This reverts commit 51f54eb.

* fix test

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

---------

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

* [DWB] Option to limit velocity commands in trajectory generator (#4663)

* Option to limit vel cmd through traj generator

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* Cleanup

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* fix linting

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* Update linting

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* uncrustify

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* uncrustify

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

---------

Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>

* Adding planner server timeout for costmap waiting (#4673)

* Adding planner server timeout for costmap waiting

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

* Adding controller server's costmap timeout as well

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

---------

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

* fixing path longer on approach (#4622)

* fixing path longer on approach

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

* removing the short circuit

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

* adding additional layer of check

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

---------

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

* fix to bt action server logging before bt execution result being ready (#4677)

Signed-off-by: DreamWest <sirjamestsao@gmail.com>

* Correct paper name for graceful controller

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

* Added missing action clients in robot_navigator(BasicNavigator) to destroy_node (#4698)

* fix: added assisted_teleop_client to robot_navigator(BasicNavigator) destroy_node

Signed-off-by: Tiwa Ojo <tiwa@reindeere.ca>

* fix: added other missing action clients to robot_navigator(BasicNavigator) destroy_node

Signed-off-by: Tiwa Ojo <tiwa@reindeere.ca>

---------

Signed-off-by: Tiwa Ojo <tiwa@reindeere.ca>

* Fixing SGF in MPPI and Smoother (#4669)

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

* fix: handle transition failures in all servers (#4708)

* fix: handle transition failures in planner/controller/smoother servers

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* adding support for rest of servers + review comments

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

* Replacing throws with error and failed lifecycle transitions

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

* fix vel smoother unit tests

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

* fixing docking server unit testing

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

* fixing last bits

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

---------

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* [RotationShimController] fix: rotate on short paths (#4716)

Add header data to goal for short paths.

Commit d8ae3c1 added the possibility to
the rotation shim controller to rotate towards the goal when the goal
was closer that the `forward_sampling_distance`. This feature was not
fully working as the goal was missing proper header data, causing the
rotation shim to give back control to the main controller.

Co-authored-by: agennart <antoine.gennart@quimesis.be>

* Added parameter `rotate_to_heading_once` (#4721)

Signed-off-by: Daniil Khaninaev <khaninaev@yahoo.com>

* [RotationShimController] fix: rotate to goal heading (#4724)

Add frame_id to goal when rotating towards goal heading, otherwise the
transform would fail. This bug was introduced in 30e2cde by not setting
the frame_id.

Signed-off-by: agennart <antoine.gennart@quimesis.be>
Co-authored-by: agennart <antoine.gennart@quimesis.be>

* [loopback_sim] Publish clock, [nav2_costmap_2d] Fix Qos (#4726)

* Publish /clock from loopback sim

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

* [nav2_costmap_2d] Fix obstacle_layer trying to use RELIABLE QoS

Use QoS profile from rclcpp::SensorDataQoS() instead of rmw_qos_profile_t.
This solves an issue where the subscriber uses RELIABLE setting even when initialized from rmw_qos_profile_sensor_data.
In addition the Subscriber(..., rmw_qos_profile_t) constructor is deprecated in favor of Subscriber(..., rclcpp::QoS)

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

* [nav2_smac_planner] fix typos

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

* Use single quotes

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

---------

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

* Fix incorrect doxygen comment (#4741)

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>

* Updating error logging in Smac collision detector object (#4743)

* Updating error logging in Smac configs

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

* linting

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

---------

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

* [map_io] Replace std logs by rclcpp logs (#4720)

* replace std logs by rclcpp logs

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

* RCLCPP_DEBUG to RCLCPP_INFO for visibility

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

---------

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

* manual backport to Jazzy of 6b2e244

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

* bump to 1.3.3 for jazzy sync

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

* fixing backport issue

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

* fixing backport of docking linking changes

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

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: asarazin <anaelle.sarazin@robocc.com>
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
Signed-off-by: Alan Xue <alan.xuefei@googlemail.com>
Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: huiyulhy <lhyleonghuiyu@gmail.com>
Signed-off-by: Pradheep <padhupradheep@gmail.com>
Signed-off-by: DreamWest <sirjamestsao@gmail.com>
Signed-off-by: Tiwa Ojo <tiwa@reindeere.ca>
Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>
Signed-off-by: Daniil Khaninaev <khaninaev@yahoo.com>
Signed-off-by: agennart <antoine.gennart@quimesis.be>
Signed-off-by: Adi Vardi <adi.vardi@enway.ai>
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Co-authored-by: alyquantillion <158563995+alyquantillion@users.noreply.github.com>
Co-authored-by: anaelle-sw <63144493+anaelle-sw@users.noreply.github.com>
Co-authored-by: asarazin <anaelle.sarazin@robocc.com>
Co-authored-by: aosmw <116058035+aosmw@users.noreply.github.com>
Co-authored-by: Alan <alan.xuefei@googlemail.com>
Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Co-authored-by: Huiyu Leong <26198479+huiyulhy@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: DreamWest <sirjamestsao@gmail.com>
Co-authored-by: Tiwa Ojo <55967921+tiwaojo@users.noreply.github.com>
Co-authored-by: Kemal Bektas <kemal.bektas@node-robotics.com>
Co-authored-by: Saitama <gennartan@users.noreply.github.com>
Co-authored-by: agennart <antoine.gennart@quimesis.be>
Co-authored-by: Daniil Khaninaev <khaninaev@yahoo.com>
Co-authored-by: Adi Vardi <57910756+adivardi@users.noreply.github.com>
Co-authored-by: Ryan <25047695+Ryanf55@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com>
Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
josephduchesne pushed a commit to josephduchesne/navigation2 that referenced this pull request Dec 10, 2024
* Publish optimal trajectory as a Path message

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move publish_optimal_path to TrajectoryVisualizer + minor refactoring

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* tests added for optimal path publication

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* populate optimal path message in add()

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

* move path population in add_marker

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>

---------

Signed-off-by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
Signed-off-by: Joseph Duchesne <josephgeek@gmail.com>
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.

2 participants