Parasol Planning Library (PPL)
|
#include <MPStrategyMethod.h>
Public Types | |
Motion Planning Types | |
typedef size_t | VID |
Public Types inherited from MPBaseObject | |
typedef DefaultWeight< Cfg > | WeightType |
typedef GenericStateGraph< Cfg, WeightType > | RoadmapType |
typedef GroupCfg< RoadmapType > | GroupCfgType |
typedef GroupLocalPlan< RoadmapType > | GroupWeightType |
typedef GroupRoadmap< GroupCfgType, GroupWeightType > | GroupRoadmapType |
Public Member Functions | |
Construction | |
MPStrategyMethod ()=default | |
MPStrategyMethod (XMLNode &_node) | |
virtual | ~MPStrategyMethod () |
MPBaseObject Overrides | |
virtual void | Print (std::ostream &_os) const override |
Interface | |
void | operator() () |
Execute the strategy by calling Initialize, Run, and Finalize. More... | |
void | EnableOutputFiles (const bool _enable=true) |
virtual void | Initialize () |
Public Member Functions inherited from MPBaseObject | |
MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) | |
MPBaseObject (XMLNode &_node) | |
virtual | ~MPBaseObject () |
const std::string & | GetName () const |
Get the class name for this object. More... | |
const std::string & | GetLabel () const |
Get the unique label for this object. More... | |
std::string | GetNameAndLabel () const |
Get the unique string identifier for this object "m_name::m_label". More... | |
void | SetLabel (const std::string &) |
Set the unique label for this object. More... | |
void | SetMPLibrary (MPLibrary *) noexcept |
Set the owning MPLibrary. More... | |
MPLibrary * | GetMPLibrary () const noexcept |
Get the owning MPLibrary. More... | |
bool | IsRunning () const noexcept |
Check the library's running flag. More... | |
MPProblem * | GetMPProblem () const noexcept |
Get the library's current MPProblem. More... | |
Environment * | GetEnvironment () const noexcept |
Get the current environment. More... | |
MPTask * | GetTask () const noexcept |
Get the current task. More... | |
GroupTask * | GetGroupTask () const noexcept |
Get the current group task. More... | |
MPSolutionType * | GetMPSolution () const noexcept |
RoadmapType * | GetRoadmap (Robot *const _r=nullptr) const noexcept |
Get the current free-space roadmap. More... | |
GroupRoadmapType * | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept |
Get the current free-space group roadmap. More... | |
RoadmapType * | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept |
Get the current obstacle-space roadmap. More... | |
Path * | GetPath (Robot *const _r=nullptr) const noexcept |
GroupPath * | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept |
Get the current best group path. More... | |
StatClass * | GetStatClass () const noexcept |
Get the current StatClass. More... | |
LocalObstacleMap * | GetLocalObstacleMap () const noexcept |
Get the local obstacle map. More... | |
Protected Member Functions | |
Helpers | |
virtual void | Run () |
Call Iterate until EvaluateMap is true. More... | |
virtual bool | EvaluateMap () |
Check if we satisfied all map evaluators. More... | |
virtual void | Iterate () |
Execute one iteration of the strategy. More... | |
virtual void | Finalize () |
Clean-up and output results. More... | |
virtual void | ClearRoadmap () |
Pre-clear the roadmap(s) if requested. More... | |
Start/Goal Generation | |
virtual size_t | GenerateStart (const std::string &_samplerLabel="") |
virtual std::vector< size_t > | GenerateGoals (const std::string &_samplerLabel="") |
Protected Member Functions inherited from MPBaseObject | |
void | SetName (const std::string &_s) |
const std::string & | GetBaseFilename () const |
Protected Attributes | |
Internal State | |
std::string | m_querySampler |
Sampler for generating start/goal. More... | |
std::vector< std::string > | m_meLabels |
The list of map evaluators to use. More... | |
size_t | m_iterations {0} |
The number of executed iterations. More... | |
bool | m_writeOutput {true} |
Write output at the end? More... | |
bool | m_clearMap {false} |
Clear the roadmap(s) before run? More... | |
Protected Attributes inherited from MPBaseObject | |
bool | m_debug |
Print debug info? More... | |
Friends | |
template<typename > | |
class | AOAnalyzer |
Needs access to Iterate for other methods. More... | |
Base algorithm abstraction for MotionPlanningStrategies.
MPStrategyMethod has one main function, operator()
, which performs preprocessing, processing, and postprocessing functionalities of the motion planning algorithm.
@usage
typedef size_t MPStrategyMethod::VID |
|
default |
MPStrategyMethod::MPStrategyMethod | ( | XMLNode & | _node | ) |
|
virtual |
|
protectedvirtual |
Pre-clear the roadmap(s) if requested.
void MPStrategyMethod::EnableOutputFiles | ( | const bool | _enable = true | ) |
Set output file writing to on or off (on by default). This is used to suppress generation of roadmap, path, and stat files.
_enable | True to enable, false to disable. |
|
protectedvirtual |
Check if we satisfied all map evaluators.
|
protectedvirtual |
Clean-up and output results.
Reimplemented in ValidationStrategy< MPTraits >, PathStrategy, GroupStrategyMethod, GroupDecoupledStrategy, and ModifyPath.
|
protectedvirtual |
Generate 'goal' node(s) for the task and add it(them) to the roadmap.
_samplerLabel | The label for the sampler to use if no query sampler was provided, or empty to require a query sampler. |
Reimplemented in GroupStrategyMethod.
|
protectedvirtual |
Generate a 'start' node for the task and add it to the roadmap.
_samplerLabel | The label for the sampler to use if no query sampler was provided, or empty to require a query sampler. |
Reimplemented in GroupStrategyMethod.
|
inlinevirtual |
Initialize this object for the current MPProblem. This should reset any internal state of the algorithms so that they are ready for execution. It is also the place to initialize any state that depends on the current problem.
Reimplemented from MPBaseObject.
|
inlineprotectedvirtual |
Execute one iteration of the strategy.
Reimplemented in WrenchAccessibilityStrategy, TogglePRMStrategy, GroupPRM, GroupDecoupledStrategy, EET, DynamicRegionsPRM, BasicRRTStrategy, BasicPRM, and ModifyPath.
void MPStrategyMethod::operator() | ( | ) |
Execute the strategy by calling Initialize, Run, and Finalize.
|
overridevirtual |
Print internal state of this object.
_os | The std::ostream to print to. |
Reimplemented from MPBaseObject.
Reimplemented in TogglePRMStrategy, GroupPRM, GroupDecoupledStrategy, DynamicRegionsPRM, DynamicRegionRRT, DynamicDomainRRT, BasicPRM, ModifyPath, BasicRRTStrategy, AdaptiveRRT, and PathStrategy.
|
protectedvirtual |
Call Iterate until EvaluateMap is true.
Reimplemented in ValidationStrategy< MPTraits >, and PathStrategy.
|
friend |
Needs access to Iterate for other methods.
|
protected |
Clear the roadmap(s) before run?
|
protected |
The number of executed iterations.
|
protected |
The list of map evaluators to use.
|
protected |
Sampler for generating start/goal.
|
protected |
Write output at the end?