Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Planner Class Reference

The base class for all path planners. More...

#include <planner.h>

Inheritance diagram for Planner::

Solver IncrementalPlanner RoadmapPlanner FDP RRT PRM FDPBestFirst FDPBi FDPStar RandomTree RRTDual RRTGoalBias RRTGoalZoom RRTHull RRTPolar List of all members.

Public Methods

 Planner (Problem *problem)
 A constructor that initializes data members.

 ~Planner ()
void Reset ()
 Reset the planner.

virtual void Construct ()=0
 Generate a planning graph.

virtual bool Plan ()=0
 Attempt to solve an Initial-Goal query.

virtual void WriteGraphs (ofstream &fout)=0
 Write roadmap or trees to a file.

virtual void ReadGraphs (ifstream &fin)=0
 Read roadmap or trees from a file.

bool GapSatisfied (const MSLVector &x1, const MSLVector &x2)
 Determine if the gap error is staisfied.


Public Attributes

double CumulativePlanningTime
 Total amount of time spent on planning.

double CumulativeConstructTime
 Total amount of time spent on construction.

list<MSLVectorPath
 The solution path, as a list of states.

list<MSLVectorPolicy
 The solution policy, as a list of inputs.

MSLVector GapState
 The last state in a path before a jump occurs.

bool Holonomic
 Set to true to ignore inputs and avoid integration (default false). This will make "regular" path planning much faster.

MSLVector GapError
 How much gap error is allowed for each element in bidirectional search.

MSLTreeT
 A search tree (used by incremental planners, but included in Planner base to allow GuiPlanner to handle all planners).

MSLTreeT2
 A second tree (if needed).

MSLGraphRoadmap
 A graph to represent a roadmap (used by roadmap planners, but included in Planner base to allow GuiPlanner to handle all planners).

list<double> TimeList
 The times associated with a solution path.

list<MSLVectorStateList
 The states associated with a solution path.

list<MSLVectorInputList
 The inputs associated with a solution path.

int NumNodes
 Number of nodes to generate in a single execution of Plan or Construct.

double PlannerDeltaT
 Time step to use for incremental planners.


Protected Methods

MSLVector RandomState ()
 Choose a state at random.

MSLVector NormalState (MSLVector mean, double sd)
 Pick a state using a Normal distribution.


Protected Attributes

MSLRandomSource R

Detailed Description

The base class for all path planners.


Constructor & Destructor Documentation

Planner::Planner ( Problem * problem )
 

A constructor that initializes data members.

Planner::~Planner ( )
 


Member Function Documentation

void Planner::Construct ( ) [pure virtual]
 

Generate a planning graph.

Reimplemented in IncrementalPlanner, and PRM.

bool Planner::GapSatisfied ( const MSLVector & x1,
const MSLVector & x2 )
 

Determine if the gap error is staisfied.

MSLVector Planner::NormalState ( MSLVector mean,
double sd ) [protected]
 

Pick a state using a Normal distribution.

bool Planner::Plan ( ) [pure virtual]
 

Attempt to solve an Initial-Goal query.

Reimplemented in FDP, FDPBi, PRM, RRT, RRTCon, RRTDual, RRTExtExt, RRTExtCon, and RRTConCon.

MSLVector Planner::RandomState ( ) [protected]
 

Choose a state at random.

void Planner::ReadGraphs ( ifstream & fin ) [pure virtual]
 

Read roadmap or trees from a file.

Reimplemented in IncrementalPlanner, and RoadmapPlanner.

void Planner::Reset ( )
 

Reset the planner.

Reimplemented in FDP, FDPBi, and RRT.

void Planner::WriteGraphs ( ofstream & fout ) [pure virtual]
 

Write roadmap or trees to a file.

Reimplemented in IncrementalPlanner, and RoadmapPlanner.


Member Data Documentation

double Planner::CumulativeConstructTime
 

Total amount of time spent on construction.

double Planner::CumulativePlanningTime
 

Total amount of time spent on planning.

MSLVector Planner::GapError
 

How much gap error is allowed for each element in bidirectional search.

MSLVector Planner::GapState
 

The last state in a path before a jump occurs.

bool Planner::Holonomic
 

Set to true to ignore inputs and avoid integration (default false). This will make "regular" path planning much faster.

list< MSLVector > Planner::InputList
 

The inputs associated with a solution path.

int Planner::NumNodes
 

Number of nodes to generate in a single execution of Plan or Construct.

list< MSLVector > Planner::Path
 

The solution path, as a list of states.

double Planner::PlannerDeltaT
 

Time step to use for incremental planners.

list< MSLVector > Planner::Policy
 

The solution policy, as a list of inputs.

MSLRandomSource Planner::R [protected]
 

MSLGraph * Planner::Roadmap
 

A graph to represent a roadmap (used by roadmap planners, but included in Planner base to allow GuiPlanner to handle all planners).

list< MSLVector > Planner::StateList
 

The states associated with a solution path.

MSLTree * Planner::T
 

A search tree (used by incremental planners, but included in Planner base to allow GuiPlanner to handle all planners).

MSLTree * Planner::T2
 

A second tree (if needed).

list< double > Planner::TimeList
 

The times associated with a solution path.


The documentation for this class was generated from the following file: Motion Strategy Library


Web page maintained by Steve LaValle
Partial support provided by NSF CAREER Award IRI-970228 (LaValle), Honda Research.
Contributors: Anna Atramentov, Peng Cheng, James Kuffner, Steve LaValle, and Libo Yang.