Main Page   Namespace List   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. More...

virtual ~PRM ()
 Empty destructor. More...

virtual void Construct ()
 Build a PRM. More...

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


Public Attributes

double Radius
 Used for deciding on which neighbors to choose. More...

DisjointSets< MSLVertex * > ds
 The disjoint sets data structure (for connected components). More...

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

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

bool QuasiRandomSukharev
 If true, then use Sukharev grid sampling. More...

double SukharevDispersion
 l-infinity dispersion used for Sukharev sampling. More...

int SukharevPointsPerAxis
 Points per axis for the Sukharev grid. More...

bool QuasiRandomHammersley
 Choose Hammersley, over Halton sequence. More...


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)
MSLVector QuasiRandomStateSukharev (int i, int maxnum, int dim)

Protected Attributes

double StepSize
 Computed from DeltaT using the model. More...

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.

virtual PRM::~PRM   [inline, virtual]
 

Empty destructor.


Member Function Documentation

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

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

void PRM::Construct   [virtual]
 

Build a PRM.

Implements Planner.

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

bool PRM::Plan   [virtual]
 

Try to solve a planning query using an existing PRM.

Implements Planner.

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

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

MSLVector PRM::QuasiRandomStateSukharev int    i,
int    maxnum,
int    dim
[protected]
 


Member Data Documentation

DisjointSets<MSLVertex*> PRM::ds
 

The disjoint sets data structure (for connected components).

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.

bool PRM::QuasiRandomSukharev
 

If true, then use Sukharev grid sampling.

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.

double PRM::SukharevDispersion
 

l-infinity dispersion used for Sukharev sampling.

int PRM::SukharevPointsPerAxis
 

Points per axis for the Sukharev grid.


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


Web page maintained by Steve LaValle