KrisLibrary
1.0.0
|
A tree-based randomized planner that extends the roadmap by sampling the neighborhood of existing samples. More...
#include <MotionPlanner.h>
Public Member Functions | |
PerturbationTreePlanner (CSpace *s) | |
virtual void | GenerateConfig (Config &x) |
virtual Node * | AddMilestone (const Config &x) |
virtual void | Cleanup () |
virtual Node * | SelectMilestone (const std::vector< Node * > &milestones) |
Public Member Functions inherited from TreeRoadmapPlanner | |
TreeRoadmapPlanner (CSpace *) | |
virtual Node * | TestAndAddMilestone (const Config &x) |
virtual Node * | AddInfeasibleMilestone (const Config &x) |
virtual Node * | Extend () |
virtual void | ConnectToNeighbors (Node *) |
virtual EdgePlannerPtr | TryConnect (Node *, Node *) |
virtual void | DeleteSubtree (Node *n) |
virtual Node * | ClosestMilestone (const Config &x) |
virtual int | ClosestMilestoneIndex (const Config &x) |
virtual Node * | ClosestMilestoneInComponent (int component, const Config &x) |
virtual Node * | ClosestMilestoneInSubtree (Node *node, const Config &x) |
Node * | Extend (Node *n, const Config &x) |
Node * | TryExtend (Node *n, const Config &x) |
void | AttachChild (Node *p, Node *c, const EdgePlannerPtr &e) |
Node * | SplitEdge (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 | |
Real | delta |
Neighborhood distance. | |
std::vector< Real > | weights |
Node selection weights. | |
Public Attributes inherited from TreeRoadmapPlanner | |
CSpace * | space |
std::vector< Node * > | connectedComponents |
Real | connectionThreshold |
std::vector< Vector > | milestoneConfigs |
std::vector< Node * > | milestones |
std::shared_ptr< PointLocationBase > | pointLocator |
Config | x |
Additional Inherited Members | |
Public Types inherited from TreeRoadmapPlanner | |
typedef Graph::TreeNode< Milestone, EdgePlannerPtr > | Node |
A tree-based randomized planner that extends the roadmap by sampling the neighborhood of existing samples.
The existing sample picked is selected with probability proportion to its value in the weight vector. By default, a new node is given weight 1.