-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[RPP] Prevent collision check premature termination #5598
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
[RPP] Prevent collision check premature termination #5598
Conversation
Signed-off-by: EricoMeger <[email protected]>
nav2_regulated_pure_pursuit_controller/src/collision_checker.cpp
Outdated
Show resolved
Hide resolved
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.
Just a nit for wording, LGTM. Check out the CI issues, it looksl ike you have linting violations that need to be resolved before merge
@doisyg please approve as well
Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: Érico Meger <[email protected]>
Signed-off-by: EricoMeger <[email protected]>
Just updated the title to add the [RPP] prefix, to make the PR more self-explanatory |
@EricoMeger, your PR has failed to build. Please check CI outputs and resolve issues. |
When testing #5446, I noticed that I am unable to navigate with RPP after merging this PR. From the log, it says that
My parameters (mostly copied from docs.nav2.org):
If I change the |
Hmmm, ok. Thanks for the report @mini-1235 I think I know what's happening: I would assume this is because now RPP will always check up to 1.5m (your min_distance_to_obstacle), while before this PR, it would only check up to 0.9m (your max_lookahead_dist) Annnd, I have to admit, max_lookahead_dist was something I didn't consider in the implementation. I focused so much on the min_lookahead_dist that I forgot entirely about it. Should a condition be made that min_distance_to_obstacle must be < max_lookahead_dist? or should we just consider the greater of min_lookahead and min_distance, but cap it at max_lookahead? What do you guys think? @mini-1235 @SteveMacenski |
That seems sane to me but I want to hear from @doisyg as the author of that in case he needed that to be further away. @EricoMeger can you open that PR ASAP to unbreak main? Maybe also log a warning if that condition is violated in the parameter handler so folks know its an error case? |
Sorry for the delay.
This seems fine and what originally expected :
I skimmed through the comments, but if you tag me in the PR to fix main I can check fully and test quickly. |
Opened #5616 |
) * 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]>
This reverts commit 6bc74e5.
Basic Info
Description of contribution in a few bullet points
Description of documentation updates required from your changes
None
Description of how this change was tested
Tested for a week on a physical differential-drive robot using a 270-degree LiDAR in a real-world environment. The tests included various routes with both static and dynamic obstacles placed in the robot's path. No negative side effects or degradation in general navigation behavior were observed.
Future work that may be required in bullet points
I don't like to create a entire new variable just that it receives carrot_dist if min_distance_to_obstacle is unused, but I can't think of a better way to do that. I'm open to suggestions.
For Maintainers:
backport-*
.