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::

RoadmapPlanner 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<MSLVertex*> NeighboringVertices (const MSLVector &x)
virtual bool Connect (const MSLVector &x1, const MSLVector &x2, MSLVector &u)
virtual MSLVector ChooseState (int i, int maxnum, int dim)
MSLVector QuasiRandomStateHammersley (int i, int maxnum, int dim)
MSLVector QuasiRandomStateHalton (int i, int dim)

Protected Attributes

double StepSize
 Computed from DeltaT using the model.

int MaxNeighbors
int MaxEdgesPerVertex

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

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

virtual bool PRM::Connect ( const MSLVector & x1,
const MSLVector & x2,
MSLVector & u ) [protected, virtual]
 

void PRM::Construct ( ) [virtual]
 

Build a PRM.

Reimplemented from Planner.

virtual list<MSLVertex*> PRM::NeighboringVertices ( const MSLVector & x ) [protected, virtual]
 

bool PRM::Plan ( ) [virtual]
 

Try to solve a planning query using an existing PRM.

Reimplemented from Planner.

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

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


Member Data Documentation

int PRM::MaxEdgesPerVertex [protected]
 

int PRM::MaxNeighbors [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 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.