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

Probabilistic Roadmap. More...

#include <Prm.h>

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

Classes

struct  CartesianIterator
 
struct  Compare
 
struct  Distance
 
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
 
::std::size_t getNumEdges () const
 
::std::size_t getNumVertices () const
 
void getPath (VectorList &path)
 Get solution path. More...
 
void reset ()
 Reset planner. More...
 
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...
 
bool kd
 Use kd-tree for nearest neighbor search instead of brute-force. More...
 
::rl::math::Real radius
 Maximum radius for connecting neighbors. More...
 
Samplersampler
 
Verifierverifier
 
- Public Attributes inherited from rl::plan::Planner
::rl::math::Real duration
 Upper bound for search [s]. 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 ::std::pair< const ::rl::math::Vector *, VertexQueryItem
 
typedef ::CGAL::Search_traits< ::rl::math::Real, QueryItem, const ::rl::math::Real *, CartesianIteratorSearchTraits
 
typedef Orthogonal_k_neighbor_search< SearchTraits, DistanceNeighborSearch
 
typedef NeighborSearch::Tree NeighborSearchTree
 
typedef ::boost::shared_ptr< NeighborSearchTreeNeighborSearchTreePtr
 
typedef ::std::vector< NeighborSearchTreePtrNearestNeighbors
 
typedef ::boost::graph_traits< Graph >::edge_descriptor Edge
 
typedef ::boost::graph_traits< Graph >::edge_iterator EdgeIterator
 
typedef ::std::pair< EdgeIterator, EdgeIteratorEdgeIteratorPair
 
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
 
typedef ::std::pair< Vertex, ::rl::math::RealNeighbor
 
typedef ::std::priority_queue< Neighbor, ::std::vector< Neighbor >, CompareNeighborQueue
 

Protected Member Functions

Edge addEdge (const Vertex &u, const Vertex &v, const ::rl::math::Real &weight)
 
void addPoint (NearestNeighbors &nn, const QueryItem &p)
 
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
::rl::util::Timer timer
 

Detailed Description

Probabilistic Roadmap.

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

typedef ::std::pair< EdgeIterator, EdgeIterator > rl::plan::Prm::EdgeIteratorPair
protected

◆ Graph

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

◆ NearestNeighbors

typedef ::std::vector< NeighborSearchTreePtr > rl::plan::Prm::NearestNeighbors
protected

◆ Neighbor

typedef ::std::pair< Vertex, ::rl::math::Real > rl::plan::Prm::Neighbor
protected

◆ NeighborQueue

typedef ::std::priority_queue< Neighbor, ::std::vector< Neighbor >, Compare > rl::plan::Prm::NeighborQueue
protected

◆ NeighborSearch

◆ NeighborSearchTree

typedef NeighborSearch::Tree rl::plan::Prm::NeighborSearchTree
protected

◆ NeighborSearchTreePtr

typedef ::boost::shared_ptr< NeighborSearchTree > rl::plan::Prm::NeighborSearchTreePtr
protected

◆ QueryItem

typedef ::std::pair< const ::rl::math::Vector*, Vertex > rl::plan::Prm::QueryItem
protected

◆ SearchTraits

typedef ::CGAL::Search_traits< ::rl::math::Real, QueryItem, const ::rl::math::Real*, CartesianIterator > rl::plan::Prm::SearchTraits
protected

◆ 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

◆ addPoint()

void rl::plan::Prm::addPoint ( NearestNeighbors nn,
const QueryItem p 
)
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.

◆ getNumEdges()

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

◆ getNumVertices()

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

◆ getPath()

void rl::plan::Prm::getPath ( VectorList path)
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.

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

◆ kd

bool rl::plan::Prm::kd

Use kd-tree for nearest neighbor search instead of brute-force.

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