KrisLibrary  1.0.0
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
TreeRoadmapPlanner Class Reference

A base class to be used for tree-based roadmap planners. More...

#include <MotionPlanner.h>

Inheritance diagram for TreeRoadmapPlanner:
PerturbationTreePlanner RRTPlanner BidirectionalRRTPlanner

Classes

struct  Milestone
 

Public Types

typedef Graph::TreeNode< Milestone, EdgePlannerPtr > Node
 

Public Member Functions

 TreeRoadmapPlanner (CSpace *)
 
virtual void GenerateConfig (Config &x)
 
virtual NodeAddMilestone (const Config &x)
 
virtual NodeTestAndAddMilestone (const Config &x)
 
virtual NodeAddInfeasibleMilestone (const Config &x)
 
virtual NodeExtend ()
 
virtual void Cleanup ()
 
virtual void ConnectToNeighbors (Node *)
 
virtual EdgePlannerPtr TryConnect (Node *, Node *)
 
virtual void DeleteSubtree (Node *n)
 
virtual NodeClosestMilestone (const Config &x)
 
virtual int ClosestMilestoneIndex (const Config &x)
 
virtual NodeClosestMilestoneInComponent (int component, const Config &x)
 
virtual NodeClosestMilestoneInSubtree (Node *node, const Config &x)
 
NodeExtend (Node *n, const Config &x)
 
NodeTryExtend (Node *n, const Config &x)
 
void AttachChild (Node *p, Node *c, const EdgePlannerPtr &e)
 
NodeSplitEdge (Node *p, Node *n, Real u)
 
void CreatePath (Node *a, Node *b, MilestonePath &path)
 Creates the unique path from a to b. These MUST be in the same connected component.
 
virtual Real OptimizePath (Node *a, const std::vector< Node * > &goals, ObjectiveFunctionalBase *cost, MilestonePath &path)
 

Public Attributes

CSpacespace
 
std::vector< Node * > connectedComponents
 
Real connectionThreshold
 
std::vector< VectormilestoneConfigs
 
std::vector< Node * > milestones
 
std::shared_ptr< PointLocationBasepointLocator
 
Config x
 

Detailed Description

A base class to be used for tree-based roadmap planners.

connectionThreshold is the minimum distance two nodes must be before a connection may be made between them. This is infinity by default. If it is infinity, connections are attempted to the closest node in a different component.

Member Function Documentation

Real TreeRoadmapPlanner::OptimizePath ( Node a,
const std::vector< Node * > &  goals,
ObjectiveFunctionalBase cost,
MilestonePath path 
)
virtual

Creates a minimum-cost path from a to one of the given goal nodes. Returns the best cost, or Inf if no path exists.

Note: not terribly efficient if there are many goals.

References ObjectiveFunctionalBase::IncrementalCost(), Math::Rand(), and ObjectiveFunctionalBase::TerminalCost().

Referenced by PRMStarInterface::GetOptimalPath().


The documentation for this class was generated from the following files: