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

Enhance nav2 dwb controller #3371

Commits on Jan 18, 2023

  1. nav2_dwb_controller: add shorten_distance parameter

    Until now, the prune_distance was used as distance threshold to shorten
    the upcoming path when shorten_transformed_plan was enabled. However,
    the prune and shortening mechanisms are de-correlated mechanisms. One
    could wish to use a different shortening distance for upcoming points,
    than the prune distance used for passed points. For this reason, a new
    parameter "shorten_distance" was added.
    DylanDeCoeyer-Quimesis committed Jan 18, 2023
    Configuration menu
    Copy the full SHA
    d437111 View commit details
    Browse the repository at this point in the history
  2. nav2_dwb_controller: enhance path pruning and shortening mechanisms

    The pruning and shortening mechanisms allow to determine a subset of the
    path to be passed to the critics. Those mechanisms ignored every point
    of the path which euclidian distance to the robot was above a defined
    threshold (prune_distance and shorten_distance). As a consequence, those
    mechanisms were rejecting more or less points depending on the robot
    transversal distance from the path. When this distance was
    non-negligible w.r.t. the thresholds, the remaining points might not
    be sufficient for an effective path tracking and the robot could get
    stuck. Even worse, when the robot was further than prune_distance away
    from the path, the latter was progressively erased at a rate of 1 point
    per iteration. This issue prevented from setting the prune distance to
    a small value close to zero to instantaneously remove the passed points.
    
    The proposed mechanism iterates through the path until finding the
    closest point to the robot. From there, it goes through the path
    in both direction and measures the integrated distance until reaching
    prune_distance for passed points and shorten_distance for upcoming
    points.
    DylanDeCoeyer-Quimesis committed Jan 18, 2023
    Configuration menu
    Copy the full SHA
    0fb6fe2 View commit details
    Browse the repository at this point in the history
  3. nav2_dwb_controller: add max_deviation parameter

    Until now, the maximum authorized deviation from the path was
    implicitly set to the local costmap half-width. This new parameter
    allows to define a custom deviation tolerance. When the threshold is
    reached, a nav2_core::PlannerException is thrown.
    DylanDeCoeyer-Quimesis committed Jan 18, 2023
    Configuration menu
    Copy the full SHA
    ee23251 View commit details
    Browse the repository at this point in the history