Robotics Library  0.7.0
Classes | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
rl::plan::Prm Class Reference

Probabilistic Roadmaps. More...

#include <Prm.h>

Inheritance diagram for rl::plan::Prm:
Inheritance graph
[legend]

Classes

struct  EdgeBundle
 
struct  GraphBundle
 
struct  VertexBundle
 

Public Member Functions

 Prm ()
 
virtual ~Prm ()
 
virtual void construct (const ::std::size_t &steps)
 
virtual ::std::string getName () const
 
NearestNeighborsgetNearestNeighbors () const
 
::std::size_t getNumEdges () const
 
::std::size_t getNumVertices () const
 
VectorList getPath ()
 Get solution path. More...
 
void reset ()
 Reset planner. More...
 
void setNearestNeighbors (NearestNeighbors *nearestNeighbors)
 
bool solve ()
 Find collision free path. More...
 
- Public Member Functions inherited from rl::plan::Planner
 Planner ()
 
virtual ~Planner ()
 
bool verify ()
 Vertify that start and goal configuration are within joint limits and collision free. More...
 

Public Attributes

::std::size_t degree
 Maximum degree per vertex. More...
 
::std::size_t k
 Maximum number of tested neighbors. More...
 
::rl::math::Real radius
 Maximum radius for connecting neighbors. More...
 
Samplersampler
 
Verifierverifier
 
- Public Attributes inherited from rl::plan::Planner
::std::chrono::steady_clock::duration duration
 Upper bound for search. More...
 
::rl::math::Vectorgoal
 Goal configuration. More...
 
SimpleModelmodel
 
::rl::math::Vectorstart
 Start configuration. More...
 
Viewerviewer
 

Protected Types

typedef ::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::undirectedS, ::boost::listS >::vertex_descriptor Vertex
 
typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::undirectedS, VertexBundle, EdgeBundle, GraphBundleGraph
 
typedef ::boost::graph_traits< Graph >::edge_descriptor Edge
 
typedef ::boost::graph_traits< Graph >::edge_iterator EdgeIterator
 
typedef ::std::pair< EdgeIterator, EdgeIteratorEdgeIteratorPair
 
typedef NearestNeighbors::Neighbor Neighbor
 
typedef ::boost::graph_traits< Graph >::vertex_iterator VertexIterator
 
typedef ::std::pair< VertexIterator, VertexIteratorVertexIteratorPair
 
typedef ::boost::property_map< Graph, void *VertexBundle::* >::type VertexParentMap
 
typedef ::boost::property_map< Graph, ::std::size_t VertexBundle::* >::type VertexRankMap
 

Protected Member Functions

Edge addEdge (const Vertex &u, const Vertex &v, const ::rl::math::Real &weight)
 
Vertex addVertex (const VectorPtr &q)
 
void insert (const Vertex &vertex)
 

Protected Attributes

Vertex begin
 
::boost::disjoint_sets< VertexRankMap, VertexParentMapds
 
Vertex end
 
Graph graph
 
- Protected Attributes inherited from rl::plan::Planner
::std::chrono::steady_clock::time_point time
 

Detailed Description

Probabilistic Roadmaps.

Lydia Kavraki and Jean-Claude Latombe. Randomized preprocessing of configuration space for path planning: Articulated robots. In Proceedings of the IEEE/RSJ/GI International Conference on Intelligent Robots and Systems, pages 1764-1771, Munich, Germany, September 1994.

http://dx.doi.org/10.1109/IROS.1994.407619

Lydia E. Kavraki, Petr Švestka, Jean-Claude Latombe, and Mark H. Overmars. Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation, 12(4):566-580, August 1996.

http://dx.doi.org/10.1109/70.508439

Member Typedef Documentation

◆ Edge

typedef ::boost::graph_traits<Graph>::edge_descriptor rl::plan::Prm::Edge
protected

◆ EdgeIterator

typedef ::boost::graph_traits<Graph>::edge_iterator rl::plan::Prm::EdgeIterator
protected

◆ EdgeIteratorPair

◆ Graph

typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::undirectedS, VertexBundle, EdgeBundle, GraphBundle > rl::plan::Prm::Graph
protected

◆ Neighbor

◆ Vertex

typedef ::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::undirectedS, ::boost::listS >::vertex_descriptor rl::plan::Prm::Vertex
protected

◆ VertexIterator

typedef ::boost::graph_traits<Graph>::vertex_iterator rl::plan::Prm::VertexIterator
protected

◆ VertexIteratorPair

◆ VertexParentMap

typedef ::boost::property_map<Graph, void* VertexBundle::*>::type rl::plan::Prm::VertexParentMap
protected

◆ VertexRankMap

typedef ::boost::property_map<Graph, ::std::size_t VertexBundle::*>::type rl::plan::Prm::VertexRankMap
protected

Constructor & Destructor Documentation

◆ Prm()

rl::plan::Prm::Prm ( )

◆ ~Prm()

rl::plan::Prm::~Prm ( )
virtual

Member Function Documentation

◆ addEdge()

Prm::Edge rl::plan::Prm::addEdge ( const Vertex u,
const Vertex v,
const ::rl::math::Real weight 
)
protected

◆ addVertex()

Prm::Vertex rl::plan::Prm::addVertex ( const VectorPtr q)
protected

◆ construct()

void rl::plan::Prm::construct ( const ::std::size_t &  steps)
virtual

Reimplemented in rl::plan::PrmUtilityGuided.

◆ getName()

std::string rl::plan::Prm::getName ( ) const
virtual

Implements rl::plan::Planner.

Reimplemented in rl::plan::PrmUtilityGuided.

◆ getNearestNeighbors()

NearestNeighbors * rl::plan::Prm::getNearestNeighbors ( ) const

◆ getNumEdges()

std::size_t rl::plan::Prm::getNumEdges ( ) const

◆ getNumVertices()

std::size_t rl::plan::Prm::getNumVertices ( ) const

◆ getPath()

VectorList rl::plan::Prm::getPath ( )
virtual

Get solution path.

Precondition
solve()

Implements rl::plan::Planner.

◆ insert()

void rl::plan::Prm::insert ( const Vertex vertex)
protected

◆ reset()

void rl::plan::Prm::reset ( )
virtual

Reset planner.

Implements rl::plan::Planner.

◆ setNearestNeighbors()

void rl::plan::Prm::setNearestNeighbors ( NearestNeighbors nearestNeighbors)

◆ solve()

bool rl::plan::Prm::solve ( )
virtual

Find collision free path.

Implements rl::plan::Planner.

Reimplemented in rl::plan::PrmUtilityGuided.

Member Data Documentation

◆ begin

Vertex rl::plan::Prm::begin
protected

◆ degree

::std::size_t rl::plan::Prm::degree

Maximum degree per vertex.

◆ ds

::boost::disjoint_sets<VertexRankMap, VertexParentMap> rl::plan::Prm::ds
protected

◆ end

Vertex rl::plan::Prm::end
protected

◆ graph

Graph rl::plan::Prm::graph
protected

◆ k

::std::size_t rl::plan::Prm::k

Maximum number of tested neighbors.

◆ radius

::rl::math::Real rl::plan::Prm::radius

Maximum radius for connecting neighbors.

◆ sampler

Sampler* rl::plan::Prm::sampler

◆ verifier

Verifier* rl::plan::Prm::verifier

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