|
|
| LazyQuery () |
|
| LazyQuery (XMLNode &_node) |
|
virtual | ~LazyQuery ()=default |
|
|
virtual void | Print (std::ostream &_os) const override |
|
virtual void | Initialize () override |
|
|
virtual bool | operator() () override |
|
|
std::vector< VID > | GeneratePath (const VID _start, const VIDSet &_end) |
|
void | SetDMLabel (const std::string &_dmLabel) |
|
virtual void | SetPathWeightFunction (SSSPPathWeightFunction< RoadmapType > _f) |
|
void | SetLastConstraintTime (double _last) |
|
void | SetLastGoalConstraintTime (double _time) |
|
void | SetStartTime (double _start) |
|
void | SetEndTime (double _end) |
|
|
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...
|
|
|
- Todo:
- This is an artifact of developing robot groups. It should be replaced by using a proper subgroup where each robot within is active.
|
void | SetActiveRobots (const std::vector< size_t > &_activeRobots) |
| Set the active robots.
|
|
std::vector< size_t > | GetActiveRobots () const |
| Get the active robots.
|
|
|
const std::string & | GetName () const |
| Get the class name for this object.
|
|
const std::string & | GetLabel () const |
| Get the unique label for this object.
|
|
std::string | GetNameAndLabel () const |
| Get the unique string identifier for this object "m_name::m_label".
|
|
void | SetLabel (const std::string &) |
| Set the unique label for this object.
|
|
|
void | SetMPLibrary (MPLibrary *) noexcept |
| Set the owning MPLibrary.
|
|
MPLibrary * | GetMPLibrary () const noexcept |
| Get the owning MPLibrary.
|
|
bool | IsRunning () const noexcept |
| Check the library's running flag.
|
|
DistanceMetricPointer | GetDistanceMetric (const std::string &) const noexcept |
| Get a distance metric by label from the owning MPLibrary.
|
|
ValidityCheckerPointer | GetValidityChecker (const std::string &) const noexcept |
| Get a validity checker by label from the owning MPLibrary.
|
|
NeighborhoodFinderPointer | GetNeighborhoodFinder (const std::string &) const noexcept |
| Get a neighborhood finder by label from the owning MPLibrary.
|
|
SamplerPointer | GetSampler (const std::string &) const noexcept |
| Get a sampler by label from the owning MPLibrary.
|
|
LocalPlannerPointer | GetLocalPlanner (const std::string &) const noexcept |
| Get a local planner by label from the owning MPLibrary.
|
|
ExtenderPointer | GetExtender (const std::string &) const noexcept |
| Get an extender by label from the owning MPLibrary.
|
|
PathModifierPointer | GetPathModifier (const std::string &) const noexcept |
| Get a path modifier by label from the owning MPLibrary.
|
|
ConnectorPointer | GetConnector (const std::string &) const noexcept |
| Get a connector by label from the owning MPLibrary.
|
|
MetricPointer | GetMetric (const std::string &) const noexcept |
| Get a metric by label from the owning MPLibrary.
|
|
MapEvaluatorPointer | GetMapEvaluator (const std::string &) const noexcept |
| Get a map evaluator by label from the owning MPLibrary.
|
|
MPStrategyPointer | GetMPStrategy (const std::string &) const noexcept |
| Get a strategy by label from the owning MPLibrary.
|
|
MPTraits::MPTools * | GetMPTools () const noexcept |
| Get the MPTools container from the owning MPLibrary.
|
|
|
MPProblem * | GetMPProblem () const noexcept |
| Get the library's current MPProblem.
|
|
Environment * | GetEnvironment () const noexcept |
| Get the current environment.
|
|
MPTask * | GetTask () const noexcept |
| Get the current task.
|
|
GroupTask * | GetGroupTask () const noexcept |
| Get the current group task.
|
|
|
MPSolution * | GetMPSolution () const noexcept |
|
RoadmapType * | GetRoadmap (Robot *const _r=nullptr) const noexcept |
| Get the current free-space roadmap.
|
|
GroupRoadmapType * | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept |
| Get the current free-space group roadmap.
|
|
RoadmapType * | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept |
| Get the current obstacle-space roadmap.
|
|
Path * | GetPath (Robot *const _r=nullptr) const noexcept |
| Get the current best path.
|
|
GroupPath * | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept |
| Get the current best group path.
|
|
StatClass * | GetStatClass () const noexcept |
| Get the current StatClass.
|
|
LocalObstacleMap * | GetLocalObstacleMap () const noexcept |
| Get the local obstacle map.
|
|
GoalTracker * | GetGoalTracker () const noexcept |
| Get the goal tracker.
|
|
|
|
typedef MPTraits::CfgType | CfgType |
|
typedef MPTraits::RoadmapType | RoadmapType |
|
typedef RoadmapType::VID | VID |
|
typedef RoadmapType::EdgeID | EdgeID |
|
typedef MPTraits::GoalTracker | GoalTracker |
|
typedef GoalTracker::VIDSet | VIDSet |
|
|
enum | GraphSearchAlg { DIJKSTRAS
, ASTAR
} |
|
|
typedef std::unordered_map< size_t, std::unordered_map< size_t, std::vector< Range< double > > > > | EdgeIntervals |
|
|
typedef MPTraits::GroupRoadmapType | GroupRoadmapType |
|
typedef MPTraits::LocalObstacleMap | LocalObstacleMap |
|
typedef MPTraits::Path | Path |
|
typedef MPTraits::GroupPathType | GroupPath |
|
typedef MPTraits::MPLibrary | MPLibrary |
|
typedef MPTraits::MPSolution | MPSolution |
|
typedef MPLibrary::SamplerPointer | SamplerPointer |
|
typedef MPLibrary::LocalPlannerPointer | LocalPlannerPointer |
|
typedef MPLibrary::ExtenderPointer | ExtenderPointer |
|
typedef MPLibrary::PathModifierPointer | PathModifierPointer |
|
typedef MPLibrary::ConnectorPointer | ConnectorPointer |
|
typedef MPLibrary::MetricPointer | MetricPointer |
|
typedef MPLibrary::MapEvaluatorPointer | MapEvaluatorPointer |
|
typedef MPLibrary::MPStrategyPointer | MPStrategyPointer |
|
typedef MPLibrary::DistanceMetricPointer | DistanceMetricPointer |
|
typedef MPLibrary::ValidityCheckerPointer | ValidityCheckerPointer |
|
typedef MPLibrary::NeighborhoodFinderPointer | NeighborhoodFinderPointer |
|
|
bool | m_debug |
| Print debug info?
|
|
|
std::string | m_vcLabel |
| The lazy validity checker label.
|
|
std::string | m_lpLabel |
| The lazy local planner label.
|
|
std::string | m_enhanceDmLabel |
| The distance metric for enhancement.
|
|
std::vector< std::string > | m_ncLabels |
| The connectors for enhancement.
|
|
|
bool | m_deleteInvalid {true} |
| Remove invalid vertices from the roadmap?
|
|
std::vector< int > | m_resolutions {1} |
| List of resolution multiples to check.
|
|
size_t | m_numEnhance {0} |
| Number of enhancement nodes to generate.
|
|
double | m_d {0} |
| Gaussian distance for enhancement sampling.
|
|
std::vector< std::pair< CfgType, CfgType > > | m_edges |
| Candidate edges for enhancement sampling.
|
|
std::unordered_map< RoadmapType *, VertexSet > | m_invalidVertices |
| Lazy-invalidated vertices.
|
|
std::unordered_map< RoadmapType *, EdgeSet > | m_invalidEdges |
| Lazy-invalidated edges.
|
|
|
RoadmapType * | m_roadmap {nullptr} |
| Last roadmap queried.
|
|
MPTask * | m_task {nullptr} |
| Last task we looked at.
|
|
size_t | m_goalIndex {0} |
| Index of next unreached goal.
|
|
GraphSearchAlg | m_searchAlg {DIJKSTRAS} |
| The sssp algorithm to use.
|
|
std::string | m_safeIntervalLabel |
| The SafeIntervalTool label.
|
|
std::string | m_dmLabel |
| The DistanceMetric label.
|
|
bool | m_twoVariable {false} |
| Temporary flag to use two varibale state search.
|
|
SSSPPathWeightFunction< RoadmapType > | m_weightFunction |
| The function for computing total path weight.
|
|
double | m_lastConstraint {0} |
| The time of the last constraint.
|
|
double | m_lastGoalConstraint {0} |
| The time of the last goal constraint.
|
|
double | m_startTime {0} |
| The start time of the query.
|
|
double | m_endTime {0} |
| The end time of the query.
|
|
|
std::vector< size_t > | m_activeRobots |
|
template<typename
MPTraits>
class LazyQuery< MPTraits >
First assumes all nodes and edges are valid, then checks for validity of the nodes/edges used in the path.
Reference: Robert Bohlin and Lydia E. Kavraki. "Path Planning Using Lazy PRM". ICRA 2000.
- Note
- Node enhancement does not work like in the paper. Here we use a flat gaussian distribution with fixed distance.