[RPP] Cap collision check distance (regression from #5598)#5616
[RPP] Cap collision check distance (regression from #5598)#5616EricoMeger wants to merge 6 commits intoros-navigation:mainfrom
Conversation
Signed-off-by: EricoMeger <ericomeger9@gmail.com>
Signed-off-by: EricoMeger <ericomeger9@gmail.com>
Signed-off-by: EricoMeger <ericomeger9@gmail.com>
Signed-off-by: EricoMeger <ericomeger9@gmail.com>
Signed-off-by: EricoMeger <ericomeger9@gmail.com>
|
@SteveMacenski @doisyg @mini-1235 As mentioned in the PR description, I wasn't able to perform a full navigation test yet, but the logic should now be correct. I will be doing a full test tomorrow and will report back. @mini-1235 , would you be able to pull this branch and check if it resolves your issue? |
|
Trying to catch up on all, but this and the recent RPP changes breaks the behavior we are using at Dexory. I guess mainly because of:
We are using a huge But I guess our use-case was not really explicit. So I am fine with the current changes (conceptually). We will just have to find a clean (optional with parameter) way to not enforce |
|
Yes, it solves my issue in #5598 (comment) |
|
@doisyg, thanks for the review. The "creeping" behavior my initial PR was trying to fix was only observed when velocity_scaled_lookahead was true, so that's another detail I overlooked. I will update the PR to make the new logic conditional based on whether use_velocity_scaled_lookahead_dist is being used. About this part:
I'm still trying to fully understand your scenario. In my tests, I have goals at the end of corridors where the robot needs to get within ~40cm of a wall, and it works fine even with min_distance_to_obstacle set to 0.65m. Would you mind explaining your setup a bit more? I want to make sure this PR doesn't introduce any other regressions. I'll wait for your feedback before pushing anything. Thanks. |
|
@EricoMeger thanks for your effort and sorry I am a bit brief, I lack the bandwidth atm.
I am fine with this logic going into a future PR, and finalizing the current one without any extra logic asap so we don't leave @mini-1235 with a broken behavior. |
|
Got it. Thanks for the clarification, @doisyg. @SteveMacenski, a process question for you: Given that my initial PR introduced a regression, and this new fix feels a bit rushed, would it be cleaner to revert #5598 first? Reverting would allow me to develop a more complete PR, now that I have a better understanding of the use cases. My only concern is creating extra work for @mini-1235, since he would need to resync. I don't have much experience with large projects like this, so I'm not sure what the best practice is. I'm happy to proceed either way. Just looking for guidance. |
I am OK with both, this is not blocking my work in #5446, just something I noticed when testing |
| ); | ||
| simulation_distance_limit = std::max(carrot_dist, params_->min_distance_to_obstacle); | ||
| simulation_distance_limit = std::min(std::max(carrot_dist, params_->min_distance_to_obstacle), | ||
| params_->max_lookahead_dist); |
There was a problem hiding this comment.
I think the indentations are wrong here, it should just be 2 spaces more than the simulation_distance_limit = line.
I don't know what's going on with CI / linting tools and why its not picking up on these issues right now :(
There was a problem hiding this comment.
That was from ament_uncrustify --reformat, I'll fix it manually on the new PR then
|
OK we can revert that PR (#5620) to be addressed fully with these comments in mind. Thanks @EricoMeger ! Should this be closed then? |
|
Agreed. Thanks for the guidance. |
|
Thanks for your help in all of this! |
|
Quick update:
With a bigger footprint I was able to reproduce this. My idea is to pass a new argument to isCollisionImminent with the remaining distance of the path, and choose between carrot_dist and min_dist based on this too. min_dist will be capped by the costmap size, but I don't think it should be expected for the robot to stop for something outside of its "vision" area. I saw @doisyg suggested adding a new parameter, I will try to open the new PR throught this week to discuss this better. |
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
I was unable to complete a full navigation test due to some local environment setup issues. However, I did validate that the code compiles successfully and that the new warning message is correctly printed to the console when using a configuration where min_distance_to_obstacle > max_lookahead_dist.
I'm opening this PR now to speed up the review process. I will try to perform a full navigation test on my physical robot tomorrow and report back.
Future work that may be required in bullet points
For Maintainers:
backport-*.