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 FDP PRM RRT FDPBestFirst FDPBi FDPStar PlannerHsu RandomTree RRTDual RRTGoalBias RRTGoalPull RRTGoalZoom RRTHull RRTPolar RRTStar List of all members.

Public Methods

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

virtual ~Planner ()
 Empty destructor.

virtual void Reset ()
 Reset the planner.

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

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

void RecordSolution (const list<node> &glist, const list<node> &g2list)
 Convert a path in the graph to Path and Policy.

void RecordSolution (const list<node> &glist)
virtual void WriteGraphs (const string &fname)
 Write G and G2 to a file.

virtual void ReadGraphs (const string &fname)
 Read G and G2 from a file.

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


Public Attributes

list<vector> Path
 The solution path, as a list of states.

list<vector> Policy
 The solution policy, as a list of inputs.

vector 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.

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

GRAPH<vector,vector> G
 A search graph.

GRAPH<vector,vector> G2
 A second search graph (if needed).

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

list<vector> StateList
 The states associated with a solution path.

list<vector> InputList
 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

vector RandomState ()
 Choose a state at random.

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


Protected Attributes

random_source 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 ( ) [inline, virtual]
 

Empty destructor.


Member Function Documentation

void Planner::Construct ( ) [pure virtual]
 

Generate a planning graph.

Reimplemented in FDP, PRM, RRT, RRTGoalPull, and RRTCon.

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

Determine if the gap error is staisfied.

vector Planner::NormalState ( vector mean,
double sd = 0.5 ) [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.

vector Planner::RandomState ( ) [protected]
 

Choose a state at random.

void Planner::ReadGraphs ( const string & fname ) [virtual]
 

Read G and G2 from a file.

void Planner::RecordSolution ( const list< node >& glist )
 

void Planner::RecordSolution ( const list< node >& glist,
const list< node >& g2list )
 

Convert a path in the graph to Path and Policy.

void Planner::Reset ( ) [virtual]
 

Reset the planner.

Reimplemented in FDP, FDPBi, and RRT.

void Planner::WriteGraphs ( const string & fname ) [virtual]
 

Write G and G2 to a file.


Member Data Documentation

GRAPH< vector,vector > Planner::G
 

A search graph.

GRAPH< vector,vector > Planner::G2
 

A second search graph (if needed).

vector Planner::GapError
 

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

vector 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< vector > 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< vector > Planner::Path
 

The solution path, as a list of states.

double Planner::PlannerDeltaT
 

Time step to use for incremental planners.

list< vector > Planner::Policy
 

The solution policy, as a list of inputs.

random_source Planner::R [protected]
 

list< vector > Planner::StateList
 

The states associated with a solution path.

list< double > Planner::TimeList
 

The times associated with a solution path.


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


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