KrisLibrary
1.0.0
|
A multiple-restart motion planner that turns a feasible motion planner into an anytime optimal motion planner by keeping the best path found so far. More...
Public Member Functions | |
RestartMotionPlanner (const MotionPlannerFactory &factory, const MotionPlanningProblem &problem, const HaltingCondition &iterTermCond) | |
virtual bool | IsOptimizing () const |
Returns true if this planner can optimize the path after the first solution. | |
virtual std::string | Plan (MilestonePath &path, const HaltingCondition &cond) |
virtual int | PlanMore () |
Performs a planning unit and returns the added milestone. | |
virtual int | AddMilestone (const Config &q) |
Adds a milestone, if possible. Returns an id of the milestone. | |
virtual bool | IsConnected (int ma, int mb) const |
Returns true if the two milestones are connected with a feasible path. | |
virtual void | GetPath (int ma, int mb, MilestonePath &path) |
Returns a feasible path between two connected milestones. | |
virtual bool | IsSolved () |
For single-query planners, returns true if the start and goal are connected. | |
virtual void | GetSolution (MilestonePath &path) |
For single-query planners, returns the solution path. | |
virtual int | NumIterations () const |
Returns the number of elaped planning units. | |
virtual void | GetStats (PropertyMap &stats) const |
Returns some named statistics about the planner, implementation-dependent. | |
Public Member Functions inherited from PiggybackMotionPlanner | |
PiggybackMotionPlanner (const shared_ptr< MotionPlannerInterface > &mp) | |
virtual void | PlanMore (int numIters) |
Performs numIters planning units. | |
virtual int | NumMilestones () const |
Returns the number of milestones stored by the planner. | |
virtual int | NumComponents () const |
Returns the number of connected components stored by the planner. | |
virtual bool | CanAddMilestone () const |
Returns true if a milestone can currently be added. | |
virtual void | GetMilestone (int i, Config &q) |
For the id of a milestone previously added, returns its configuration. | |
virtual void | ConnectHint (int m) |
Manual indication that the milestone is a good candidate for connecting. | |
virtual bool | ConnectHint (int ma, int mb) |
Manual indication that the milestones are good candidates for connecting. | |
virtual bool | IsPointToPoint () const |
virtual bool | IsLazy () const |
Returns true if this planner has lazy semantics. | |
virtual bool | IsLazyConnected (int ma, int mb) const |
virtual bool | CheckPath (int ma, int mb) |
virtual void | GetRoadmap (Roadmap &roadmap) const |
Returns a full-blown roadmap representation of the roadmap. | |
Public Attributes | |
MotionPlannerFactory | factory |
MotionPlanningProblem | problem |
HaltingCondition | iterTermCond |
MilestonePath | bestPath |
Real | bestPathLength |
int | numRestarts |
int | numIters |
double | elapsedTime |
Public Attributes inherited from PiggybackMotionPlanner | |
shared_ptr< MotionPlannerInterface > | mp |
Additional Inherited Members | |
Public Types inherited from MotionPlannerInterface | |
typedef Graph::UndirectedGraph< Config, std::shared_ptr< EdgePlanner > > | Roadmap |
A multiple-restart motion planner that turns a feasible motion planner into an anytime optimal motion planner by keeping the best path found so far.
|
virtual |
Plans until a given termination condition holds true, returns the reason for termination. The return string will be the attribute of HaltingCondition that caused termination.
Reimplemented from MotionPlannerInterface.
Reimplemented in RestartShortcutMotionPlanner.
References HaltingCondition::costImprovementPeriod, HaltingCondition::costThreshold, HaltingCondition::foundSolution, HaltingCondition::maxIters, and HaltingCondition::timeLimit.