Parasol Planning Library (PPL)
|
#include <GroupQuery.h>
Public Types | |
Motion Planning Types | |
typedef MPBaseObject::GroupCfgType | GroupCfgType |
typedef MPBaseObject::GroupRoadmapType | GroupRoadmapType |
typedef MPBaseObject::GroupWeightType | WeightType |
typedef GroupRoadmapType::VID | VID |
typedef std::unordered_set< VID > | VIDSet |
Public Types inherited from MapEvaluatorMethod | |
typedef std::unordered_map< size_t, std::unordered_map< size_t, std::vector< Range< double > > > > | EdgeIntervals |
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 | |
GroupQuery () | |
GroupQuery (XMLNode &_node) | |
virtual | ~GroupQuery ()=default |
MPBaseObject Overrides | |
virtual void | Initialize () override |
MapEvaluator Overrides | |
virtual bool | operator() () override |
Query Interface | |
std::vector< VID > | GeneratePath (const VID _start, const VIDSet &_end) |
virtual void | SetPathWeightFunction (SSSPPathWeightFunction< GroupRoadmapType > _f) |
Public Member Functions inherited from MapEvaluatorMethod | |
virtual void | SetEdgeIntervals (EdgeIntervals _edgeIntervals) |
Set the edge intervals of a roadmap. More... | |
virtual void | SetMinEndtime (double _minEndtime) |
Set the minimum end time of a path. More... | |
void | SetActiveRobots (const std::vector< size_t > &_activeRobots) |
Set the active robots. More... | |
std::vector< size_t > | GetActiveRobots () const |
Get the active robots. More... | |
MapEvaluatorMethod ()=default | |
MapEvaluatorMethod (XMLNode &_node) | |
virtual | ~MapEvaluatorMethod ()=default |
Public Member Functions inherited from MPBaseObject | |
MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) | |
MPBaseObject (XMLNode &_node) | |
virtual | ~MPBaseObject () |
virtual void | Print (std::ostream &_os) const |
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 | |
void | Reset (GroupRoadmapType *const _r) |
bool | PerformSubQuery (const VID _start, const VIDSet &_goal) |
double | StaticPathWeight (typename GroupRoadmapType::adj_edge_iterator &_ei, const double _sourceDistance, const double _targetDistance) const |
double | DynamicPathWeight (typename GroupRoadmapType::adj_edge_iterator &_ei, const double _sourceDistance, const double _targetDistance) const |
Protected Member Functions inherited from MPBaseObject | |
void | SetName (const std::string &_s) |
const std::string & | GetBaseFilename () const |
Protected Attributes | |
Internal State | |
GroupRoadmapType * | m_roadmap {nullptr} |
size_t | m_goalIndex {0} |
Index of next unreached goal. More... | |
SSSPPathWeightFunction< GroupRoadmapType > | m_weightFunction |
std::string | m_vcLabel |
Protected Attributes inherited from MapEvaluatorMethod | |
std::vector< size_t > | m_activeRobots |
Protected Attributes inherited from MPBaseObject | |
bool | m_debug |
Print debug info? More... | |
Evaluates the current group roadmap to determine whether a (group) path exists which satisfies the current group task.
typedef GroupRoadmapType::VID GroupQuery::VID |
typedef std::unordered_set<VID> GroupQuery::VIDSet |
GroupQuery::GroupQuery | ( | ) |
GroupQuery::GroupQuery | ( | XMLNode & | _node | ) |
|
virtualdefault |
|
protected |
std::vector< typename GroupQuery::VID > GroupQuery::GeneratePath | ( | const VID | _start, |
const VIDSet & | _end | ||
) |
|
overridevirtual |
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.
|
overridevirtual |
Evaluate a roadmap.
Implements MapEvaluatorMethod.
|
protected |
|
virtual |
|
protected |
|
protected |
Index of next unreached goal.
|
protected |
|
protected |
|
protected |