|Tags||No category tags.|
|License||Apache License 2.0|
- Steve Macenski
- Carlos Orduno
The NavfnPlanner is a planning module that implements the
A planning module implementing the
nav2_tasks::ComputePathToPose interface is responsible for generating a feasible path given start and end robot poses. It provides the equivalent functionality to a GlobalPlanner in ROS1 MoveBase.
In Dijkstra mode (
use_astar = false) Dijkstra's search algorithm is guaranteed to find the shortest path under any condition.
In A* mode (
use_astar = true) A*'s search algorithm is not guaranteed to find the shortest path, however it uses a heuristic to expand the potential field towards the goal.
The Navfn planner assumes a circular robot and operates on a costmap.
The Navigation System is composed of three tasks: NavigateToPose, ComputePathToPose and FollowPathToPose.
The DijkstraPlanner implements the Task Server interface for ComputePathToPose, specifically derives from
nav2_tasks::ComputePathToPoseTaskServer. The client to DijkstraPlanner is 'NavigateToPoseTask', which periodically sends requests to the path planner.
- Refactor Navfn. Currently difficult to modify/extend. Issue #244
- Implement additional planners based on optimal control, potential field or other graph search algorithms that require transformation of the world model to other representations (topological, tree map, etc.) to confirm sufficient generalization. Issue #225
- Implement planners for non-holonomic robots. Issue #225