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

PRM Class Reference

A probabilistic roadmap planner, proposed by Kavraki, Svestka, Latombe, Overmars, 1994. More...

#include <prm.h>

Inheritance diagram for PRM:

Planner Solver List of all members.

Public Methods

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

virtual ~PRM ()
 Empty destructor.

virtual void Construct ()
 Build a PRM.

virtual bool Plan ()
 Try to solve a planning query using an existing PRM.


Public Attributes

double Radius
 Used for deciding on which neighbors to choose.

int SatisfiedCount
 Number of times the collision checker has been called.

bool QuasiRandom
 If true, then quasirandom sampling is used (make a file named QuasiRandom).

bool QuasiRandomHammersley
 Choose Hammersley, over Halton sequence.


Protected Methods

virtual list<node> NeighboringNodes (const vector &x)
virtual bool Connect (const vector &x1, const vector &x2, vector &u)
virtual vector ChooseState (int i, int maxnum, int dim)
vector QuasiRandomStateHammersley (int i, int maxnum, int dim)
vector QuasiRandomStateHalton (int i, int dim)

Protected Attributes

double StepSize
 Computed from DeltaT using the model.

edge_array<double> EdgeCost
node_array<double> CostToGo
node_array<edge> NextEdge
int MaxNeighbors
int MaxEdgesPerNode

Detailed Description

A probabilistic roadmap planner, proposed by Kavraki, Svestka, Latombe, Overmars, 1994.

The base class for planners based on the Probabilistic Roadmap Planner (PRM) framework of Kavraki, Svestka, Latombe, Overmars, 1994. In the base class, only Holonomic planning problems can be solved (i.e., standard path planning, without differential constraints).


Constructor & Destructor Documentation

PRM::PRM ( Problem * problem )
 

A constructor that initializes data members.

PRM::~PRM ( ) [inline, virtual]
 

Empty destructor.


Member Function Documentation

vector PRM::ChooseState ( int i,
int maxnum,
int dim ) [protected, virtual]
 

bool PRM::Connect ( const vector & x1,
const vector & x2,
vector & u_best ) [protected, virtual]
 

void PRM::Construct ( ) [virtual]
 

Build a PRM.

Reimplemented from Planner.

list< node > PRM::NeighboringNodes ( const vector & x ) [protected, virtual]
 

bool PRM::Plan ( ) [virtual]
 

Try to solve a planning query using an existing PRM.

Reimplemented from Planner.

vector PRM::QuasiRandomStateHalton ( int i,
int dim ) [protected]
 

vector PRM::QuasiRandomStateHammersley ( int i,
int maxnum,
int dim ) [protected]
 


Member Data Documentation

node_array< double > PRM::CostToGo [protected]
 

edge_array< double > PRM::EdgeCost [protected]
 

int PRM::MaxEdgesPerNode [protected]
 

int PRM::MaxNeighbors [protected]
 

node_array< edge > PRM::NextEdge [protected]
 

bool PRM::QuasiRandom
 

If true, then quasirandom sampling is used (make a file named QuasiRandom).

bool PRM::QuasiRandomHammersley
 

Choose Hammersley, over Halton sequence.

double PRM::Radius
 

Used for deciding on which neighbors to choose.

int PRM::SatisfiedCount
 

Number of times the collision checker has been called.

double PRM::StepSize [protected]
 

Computed from DeltaT using the model.


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.