Parasol Planning Library (PPL)
|
#include <MPLibrary.h>
Data Structures | |
struct | Solver |
Public Member Functions | |
Construction | |
MPLibrary () | |
MPLibrary (const std::string &_filename) | |
MPLibrary (XMLNode &planningLibraryNode) | |
virtual | ~MPLibrary () |
Configuration | |
void | ReadXMLFile (const std::string &_filename) |
void | ProcessXML (XMLNode &node) |
Distance Metric Accessors | |
DistanceMetricPointer | GetDistanceMetric (const std::string &_l) |
void | AddDistanceMetric (DistanceMetricPointer _dm, const std::string &_l) |
Validity Checker Accessors | |
ValidityCheckerPointer | GetValidityChecker (const std::string &_l) |
void | AddValidityChecker (ValidityCheckerPointer _vc, const std::string &_l) |
void | ToggleValidity () |
Neighborhood Finder Accessors | |
NeighborhoodFinderPointer | GetNeighborhoodFinder (const std::string &_l) |
void | AddNeighborhoodFinder (NeighborhoodFinderPointer _nf, const std::string &_l) |
Sampler Accessors | |
const SamplerSet *const | GetSamplers () const |
SamplerPointer | GetSampler (const std::string &_l) |
void | AddSampler (SamplerPointer _s, const std::string &_l) |
Local Planner Accessors | |
LocalPlannerPointer | GetLocalPlanner (const std::string &_l) |
void | AddLocalPlanner (LocalPlannerPointer _lp, const std::string &_l) |
Extender Accessors | |
ExtenderPointer | GetExtender (const std::string &_l) |
void | AddExtender (ExtenderPointer _mps, const std::string &_l) |
Path Modifier Accessors | |
PathModifierPointer | GetPathModifier (const std::string &_l) |
void | AddPathModifier (PathModifierPointer _ps, const std::string &_l) |
Edge Validity Checker Accessors | |
EdgeValidityCheckerPointer | GetEdgeValidityChecker (const std::string &_l) |
void | AddEdgeValidityChecker (EdgeValidityCheckerPointer _ps, const std::string &_l) |
Connector Accessors | |
ConnectorPointer | GetConnector (const std::string &_l) |
void | AddConnector (ConnectorPointer _c, const std::string &_l) |
Metric Accessors | |
MetricPointer | GetMetric (const std::string &_l) |
void | AddMetric (MetricPointer _m, const std::string &_l) |
Map Evaluator Accessors | |
MapEvaluatorPointer | GetMapEvaluator (const std::string &_l) |
void | AddMapEvaluator (MapEvaluatorPointer _me, const std::string &_l) |
MPStrategy Accessors | |
const MPStrategySet *const | GetMPStrategies () const |
MPStrategyPointer | GetMPStrategy (const std::string &_l) |
void | AddMPStrategy (MPStrategyPointer _mps, const std::string &_l) |
MPTools Accessors | |
MPTools * | GetMPTools () |
Input Accessors | |
MPProblem * | GetMPProblem () const noexcept |
void | SetMPProblem (MPProblem *const _problem) noexcept |
MPTask * | GetTask () const noexcept |
void | SetTask (MPTask *const _task) noexcept |
GroupTask * | GetGroupTask () const noexcept |
void | SetGroupTask (GroupTask *const _task) noexcept |
const std::string & | GetBaseFilename () const noexcept |
void | SetBaseFilename (const std::string &_s) noexcept |
Solution Accessors | |
MPSolution * | GetMPSolution () const noexcept |
void | SetMPSolution (MPSolution *_sol) noexcept |
RoadmapType * | GetRoadmap (Robot *const _r=nullptr) const noexcept |
GroupRoadmapType * | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept |
RoadmapType * | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept |
Path * | GetPath (Robot *const _r=nullptr) const noexcept |
GroupPath * | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept |
LocalObstacleMap * | GetLocalObstacleMap (Robot *const _r=nullptr) const noexcept |
GoalTracker * | GetGoalTracker () const noexcept |
StatClass * | GetStatClass () const noexcept |
Edge Reconstruction | |
std::vector< typename RoadmapType::VP > | ReconstructEdge (RoadmapType *const _roadmap, const VID _source, const VID _target, const double _posRes, const double _oriRes) |
std::vector< typename GroupRoadmapType::VP > | ReconstructEdge (GroupRoadmapType *const _roadmap, const VID _source, const VID _target, const double _posRes, const double _oriRes) |
template<typename AbstractRoadmapType > | |
std::vector< typename AbstractRoadmapType::VP > | ReconstructEdge (AbstractRoadmapType *const _roadmap, const VID _source, const VID _target) |
Execution Interface | |
void | Halt () |
bool | IsRunning () const noexcept |
Check to see if the strategy should continue. More... | |
void | SetSeed () const noexcept |
Set the current seed to match the first solver node. More... | |
void | SetSeed (const long _seed) const noexcept |
void | AddSolver (const std::string &_label, long _seed, const std::string &_baseFileName, bool _vizmoDebug=false) |
std::vector< std::string > | GetSolverLabels () |
void | Solve (MPProblem *_problem, MPTask *_task, MPSolution *_solution) |
void | Solve (MPProblem *_problem, MPTask *_task) |
void | Solve (MPProblem *_problem, GroupTask *_task) |
Group overload: More... | |
void | Solve (MPProblem *_problem, GroupTask *_task, MPSolution *_solution) |
void | Solve (MPProblem *_problem, MPTask *_task, MPSolution *_solution, const std::string &_label, const long _seed, const std::string &_baseFilename) |
Debugging | |
void | Print (std::ostream &_os) const |
Print each method set. More... | |
Protected Attributes | |
Method Sets | |
Method sets hold and offer access to the motion planning objects of the corresponding type. | |
DistanceMetricSet * | m_distanceMetrics {nullptr} |
ValidityCheckerSet * | m_validityCheckers {nullptr} |
NeighborhoodFinderSet * | m_neighborhoodFinders {nullptr} |
SamplerSet * | m_samplers {nullptr} |
LocalPlannerSet * | m_localPlanners {nullptr} |
ExtenderSet * | m_extenders {nullptr} |
PathModifierSet * | m_pathModifiers {nullptr} |
EdgeValidityCheckerSet * | m_edgeValidityCheckers {nullptr} |
ConnectorSet * | m_connectors {nullptr} |
MetricSet * | m_metrics {nullptr} |
MapEvaluatorSet * | m_mapEvaluators {nullptr} |
MPStrategySet * | m_mpStrategies {nullptr} |
typedef GroupRoadmap<GroupCfg<RoadmapType>, GroupLocalPlan<RoadmapType> > MPLibrary::GroupRoadmapType |
typedef MethodSet<MetricMethod> MPLibrary::MetricSet |
typedef MPSolutionType MPLibrary::MPSolution |
typedef MPToolsType MPLibrary::MPTools |
typedef GenericStateGraph<Cfg, DefaultWeight<Cfg> > MPLibrary::RoadmapType |
typedef MethodSet<SamplerMethod> MPLibrary::SamplerSet |
typedef size_t MPLibrary::VID |
MPLibrary::MPLibrary | ( | ) |
MPLibrary::MPLibrary | ( | const std::string & | _filename | ) |
MPLibrary::MPLibrary | ( | XMLNode & | planningLibraryNode | ) |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Add an input set to this MPLibrary.
_label | The MPStrategy label to use. |
_seed | The random seed to use. |
_baseFileName | The base name of the XML file to use. |
_vizmoDebug | Enable/disable vizmo debug. |
|
inline |
|
noexcept |
|
noexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inline |
|
inline |
|
inline |
|
noexcept |
|
noexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
noexcept |
|
inline |
|
inline |
|
inline |
|
noexcept |
|
noexcept |
|
inline |
void MPLibrary::Halt | ( | ) |
Halt the current strategy and move on to finalization. Useful for controlling the library from an external client object.
|
noexcept |
Check to see if the strategy should continue.
void MPLibrary::Print | ( | std::ostream & | _os | ) | const |
Print each method set.
void MPLibrary::ProcessXML | ( | XMLNode & | node | ) |
void MPLibrary::ReadXMLFile | ( | const std::string & | _filename | ) |
Read an XML file to set the algorithms and parameters in this instance.
_filename | The XML file name. |
std::vector< typename AbstractRoadmapType::VP > MPLibrary::ReconstructEdge | ( | AbstractRoadmapType *const | _roadmap, |
const VID | _source, | ||
const VID | _target | ||
) |
std::vector< typename MPLibrary::GroupRoadmapType::VP > MPLibrary::ReconstructEdge | ( | GroupRoadmapType *const | _roadmap, |
const VID | _source, | ||
const VID | _target, | ||
const double | _posRes, | ||
const double | _oriRes | ||
) |
std::vector< typename MPLibrary::RoadmapType::VP > MPLibrary::ReconstructEdge | ( | RoadmapType *const | _roadmap, |
const VID | _source, | ||
const VID | _target, | ||
const double | _posRes, | ||
const double | _oriRes | ||
) |
Recompute a roadmap edge path at full resolution (source and target cfgs are not included).
_roadmap | The roadmap pointer. |
_source | The source VID. |
_target | The target VID. |
_posRes | The position resolution to use. |
_oriRes | The orientation resolution to use. |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Set the current seed to match the first solver node.
|
noexcept |
Set the current seed.
_seed | The seed value. |
|
noexcept |
void MPLibrary::Solve | ( | MPProblem * | _problem, |
GroupTask * | _task, | ||
MPSolution * | _solution | ||
) |
Run each input (solver) in sequence.
_problem | The problem representation. |
_task | The task representation. |
void MPLibrary::Solve | ( | MPProblem * | _problem, |
MPTask * | _task, | ||
MPSolution * | _solution | ||
) |
Run a single input (solver) and get back its solution.
_problem | The problem representation. |
_task | The task representation. |
_solution | The solution container, which may or may not already be populated. Existing solutions should be extended, not overwritten. |
void MPLibrary::Solve | ( | MPProblem * | _problem, |
MPTask * | _task, | ||
MPSolution * | _solution, | ||
const std::string & | _label, | ||
const long | _seed, | ||
const std::string & | _baseFilename | ||
) |
Run a specific MPStrategy from the XML file with a designated seed and base output file name. This is intended for use with the simulator where agents may need to call various strategies within a single execution.
_problem | The problem representation. |
_task | The task representation. |
_solution | The solution container, which may or may not already be populated. Existing solutions should be extended, not overwritten. |
_label | The label of the MPStrategy to call. |
_seed | The seed to use. |
_baseFilename | The base name for output files. |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |