-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Move nav_2d_utils to nav2_util #5414
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
Move nav_2d_utils to nav2_util #5414
Conversation
|
Not sure why codecov is failing, maybe I should update the key? |
|
I had a quick look at the changes, and it looks good |
|
@mini-1235 try pushing again when you make the changes I mention above. Sometimes the codecov stage fails for fluke reasons (i.e. codecov's APIs aren't that stable, the internet connection isn't great on the CircleCI builder, etc). I wouldn't read too much into it unless it happens again. |
|
@mini-1235, your PR has failed to build. Please check CI outputs and resolve issues. |
1 similar comment
|
@mini-1235, your PR has failed to build. Please check CI outputs and resolve issues. |
SteveMacenski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise LGTM!
| declare_parameter("publish_zero_velocity", rclcpp::ParameterValue(true)); | ||
| declare_parameter("costmap_update_timeout", 0.30); // 300ms | ||
|
|
||
| declare_parameter("odom_topic", rclcpp::ParameterValue("odom")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these 2x aren't in the configuration guide for the controller server, we need to add them
| declare_parameter("dock_backwards", rclcpp::PARAMETER_BOOL); | ||
| declare_parameter("dock_prestaging_tolerance", 0.5); | ||
| declare_parameter("odom_topic", "odom"); | ||
| declare_parameter("odom_duration", 0.3); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto
|
There's a build failure here: |
#5381 handles it, but we are still unable to merge that |
|
That kind of puts us in an unideal spot blocking this PR as well. What do you suggest? |
What about temporarily building geometry2 and related packages with sources first in Kilted & Jazzy? We can remove once the binaries are out |
|
I don't think that's the intent of these jobs - they're to show that you can work with Nav2 on the binaries provided in those distributions. If we break binary support, we break users of Nav2 using that compatibility as well. Asking people to rebuild geometry2 for rolling on occasion is fine, but on a released distro seems more problematic and breaks the trust that that compatibility is prioritized. I think we need to wait for these to pass from binary syncs and/or add preprocessor conditions in some abstracted include files for use in the servers to get around this in the interim. Did you check that a new Kilted/Jazzy release was cut of TF2 for these backported changes so that the next sync should include them? Kilted had a sync recently, was this not included in it? https://discourse.openrobotics.org/t/preparing-for-kilted-sync-and-patch-release-2025-07-25/49245 Jazzy hasn't had one in about 4-5 weeks, so one should be coming soon |
Yes, I believe the PRs in rosdistro have also been merged 1/2 weeks ago
Unfortunately the announcement is made before the backport is done, the released version is 0.41.1, while 0.41.2 is what we want. https://discourse.openrobotics.org/t/new-packages-and-patch-release-for-kilted-kaiju-2025-07-28/49312 If you prefer to work with preprocessor conditions, I can probably do it tomorrow |
|
If these aren't blocking anything else, we could also just wait it out. I don't want you to spend time on things that aren't value generating - you do good work! |
|
Upon further thought and a night's speed I realized that my argument is totally missing the most important point that the I merged in your TF2 updates - please pull in / rebase the others! Thanks :-) |
Ok! |
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
d550a2a to
5a3e368
Compare
This reverts commit 9cd0f9f.
* Move nav_2d_util to nav2_util Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Rename frame Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Replace OdomSubscriber with OdomSmoother Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Use transformPoseInTargetFrame in all controllers Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> --------- Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
|
@mini-1235 this has caused a regression but mostly by uncovering a previous bug that made this work.
When the frame is stable like odom or map, this is probably fine behavior since the stamp is not important (which to be fair is how this is almost always used). I looked over this PR and I see this new method used in the Controller Server, Path Handlers for RPP, Graceful, MPPI, and DWB.
Can you review these as well and make sure you concur? So that leads to possible solutions: (1) We remove the timestamps so it always uses the most current transformation. This is in effect how it works now once the TF buffer duration expires (seems like an OK answer). (2) We set the timestamps so it always aligned with the current pose from the input (3) We introduce that fallback to I audited other uses of What do you think? |
Sorry for overlooking that detail, I will go through those cases and double check it edit: Yes, I also think the second solution is the best, I will raise a PR once I go over them |
* Move nav_2d_util to nav2_util Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Rename frame Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Replace OdomSubscriber with OdomSmoother Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Use transformPoseInTargetFrame in all controllers Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> --------- Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
Basic Info
Description of contribution in a few bullet points
This PR moves common functions/classes from nav_2d_util to nav2_utils, the
nav_2d_msgsandnav_2d_utilspackage currently are only used in dwb related packagescc @adivardi
Description of documentation updates required from your changes
Description of how this change was tested
Future work that may be required in bullet points
Should we update all nav_2d_msgs/twist2d to geometry_msgs/twist at this point? If yes, I think nav_2d_utils can be safely removed
There are also a couple of packages still implementing its owntransformPoselikenavigation2/nav2_regulated_pure_pursuit_controller/src/path_handler.cpp
Lines 131 to 148 in c5531cb
I think this can be updated usingnav2_utils::TransformPoseInTargetFrame, I can update in this PR or in a separate PRedit: done in the latest commit
For Maintainers:
backport-*.