Skip to content

Nav2 equivalent to move_base controller_patience #2262

@doisyg

Description

@doisyg

Feature request

Feature description

More than a feature request this is an interogation. In ROS1, move_base has a parameter called controller_patience described as:

How long the controller will wait in seconds without receiving a valid control before space-clearing operations are performed

(i.e. before giving up)

This was further extended in MBF with planner_max_retries:

How many times we will recall the planner in an attempt to find a valid plan before giving up

Is there an equivalent in nav2 ? And if not would a PR be of interest (I need a similar functionality so I will implement it regardless) ?

Implementation considerations

I see different way of implementing it

  1. (personally preferred) Exposing this parameter in nav2_controller and try/catching the call to computeVelocityCommands https://github.com/ros-planning/navigation2/blob/3bf1f7a93d740c54b4c7ef7fc6dd914175bf46be/nav2_controller/src/nav2_controller.cpp#L388-L392
    And publishing 0 velocities in case of an exception as long we are under controller_patience
  2. Exposing it at the controller plugin level

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions