Planner Server
Source code on Github.
The Planner Server implements the server for handling the planner requests for the stack and host a map of plugin implementations. It will take in a goal and a planner plugin name to use and call the appropriate plugin to compute a path to the goal. It also hosts the global costmap.
Parameters
- planner_plugins
Type
Default
vector<string>
[‘GridBased’]
- Description
List of Mapped plugin names for parameters and processing requests.
- Note
Each plugin namespace defined in this list needs to have a
plugin
parameter defining the type of plugin to be loaded in the namespace.Example:
planner_server: ros__parameters: planner_plugins: ["GridBased"] GridBased: plugin: "nav2_navfn_planner::NavfnPlanner" # In Iron and older versions, "/" was used instead of "::"
- expected_planner_frequency
Type
Default
double
20.0
- Description
Expected planner frequency. If the current frequency is less than the expected frequency, display the warning message.
- bond_heartbeat_period
Type
Default
double
0.1
- Description
The lifecycle node bond mechanism publishing period (on the /bond topic). Disabled if inferior or equal to 0.0.
- costmap_update_timeout
Type
Default
double
1.0
- Description
The timeout value (seconds) for the costmap to be fully updated before a planning request.
- service_introspection_mode
Type
Default
string
“disabled”
- Description
The introspection mode for services. Options are “disabled”, “metadata”, “contents”.
Default Plugins
When the planner_plugins
parameter is not overridden, the following default plugins are loaded:
Namespace
Plugin
“GridBased”
“nav2_navfn_planner::NavfnPlanner”
Example
planner_server:
ros__parameters:
expected_planner_frequency: 20.0
costmap_update_timeout: 1.0
service_introspection_mode: "disabled"
planner_plugins: ['GridBased']
GridBased:
plugin: 'nav2_navfn_planner::NavfnPlanner' # In Iron and older versions, "/" was used instead of "::"