Class AbstractPlannerExecution
Defined in File abstract_planner_execution.h
Inheritance Relationships
Base Type
public mbf_abstract_nav::AbstractExecutionBase(Class AbstractExecutionBase)
Class Documentation
The AbstractPlannerExecution class loads and binds the global planner plugin. It contains a thread running the plugin in a cycle to plan and re-plan. An internal state is saved and will be pulled by the server, which controls the global planner execution. Due to a state change it wakes up all threads connected to the condition variable.
Public Types
Internal states.
Values:
Planner initialized.
Planner started.
Executing the plugin.
Found a valid plan.
Exceeded the maximum number of retries without a valid command.
Exceeded the patience time without a valid command.
No plan has been found (MAX_RETRIES and PAT_EXCEEDED are 0).
The planner has been canceled.
The planner has been stopped.
An internal error occurred.
shared pointer type to the planner execution.
Public Functions
Constructor.
- Parameters:
name – Name of this execution
planner_ptr – Pointer to the planner
robot_info – Current robot state
config – Initial configuration for this execution
Destructor.
Returns a new plan, if one is available.
Returns the last time a valid plan was available.
- Returns:
time, the last valid plan was available.
Checks whether the patience was exceeded.
- Returns:
true, if the patience duration was exceeded.
Returns the current internal state.
- Returns:
the current internal state
Gets planning frequency.
Gets computed costs.
- Returns:
The costs of the computed path
Cancel the planner execution. This calls the cancel method of the planner plugin. This could be useful if the computation takes too much time, or if we are aborting the navigation.
- Returns:
true, if the planner plugin tries / tried to cancel the planning step.
Sets a new goal pose for the planner execution.
- Parameters:
goal – the new goal pose
tolerance – tolerance to the goal for the planning
Sets a new start pose for the planner execution.
- Parameters:
start – new start pose
Sets a new star and goal pose for the planner execution.
- Parameters:
start – new start pose
goal – new goal pose
tolerance – tolerance to the new goal for the planning
Starts the planner execution thread with the given parameters.
- Parameters:
start – start pose for the planning
goal – goal pose for the planning
tolerance – tolerance to the goal pose for the planning
- Returns:
true, if the planner thread has been started, false if the thread is already running.
Is called by the server thread to reconfigure the controller execution, if a user uses dynamic reconfigure to reconfigure the current state.
- Parameters:
parameters – Vector parameters that are being reconfigured.
Protected Functions
The main run method, a thread will execute this method. It contains the main planner execution loop.
Helper method for cleaning up the state when the planner thread was interrupted.
Protected Attributes
the local planer to calculate the robot trajectory
the name of the loaded planner plugin