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

Add min_distance_to_obstacle parameter to RPP #4543

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

doisyg
Copy link
Contributor

@doisyg doisyg commented Jul 18, 2024


Basic Info

Info Please fill out this column
Ticket(s) this addresses
Primary OS tested on Ubuntu
Robotic platform tested on Dexory's robot
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

This PR adds the parameter min_distance_to_obstacle to stop in front of an obstacle based on distance and not only time to collision

Description of documentation updates required from your changes


Future work that may be required in bullet points

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

Signed-off-by: Guillaume Doisy <[email protected]>
@doisyg doisyg force-pushed the rpp_min_distance_to_obstacle branch from 1714665 to c469e19 Compare July 18, 2024 16:49
while (i * projection_time < params_->max_allowed_time_to_collision_up_to_carrot) {
while (i * projection_time < params_->max_allowed_time_to_collision_up_to_carrot ||
(accumulated_distance < params_->min_distance_to_obstacle &&
projection_time * linear_vel > 0.01))
Copy link
Member

@SteveMacenski SteveMacenski Jul 19, 2024

Choose a reason for hiding this comment

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

Maybe I'm also missing the detail: do you want these both conditions to need to be satisfied to stop, or just one or other other?

If, for instance, you want both, which I think you do, we could instead do something like:

max_allowed_time_to_collision_check = std::max(params_->max_allowed_time_to_collision_up_to_carrot, params_->min_distance_to_obstacle * linear_vel); and use max_allowed_time_to_collision_check in the while loop condition instead of the parameter. I think that would make this intent more clear.

@SteveMacenski
Copy link
Member

@doisyg what's the story here?

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