Robotics Library  0.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
rl::plan::PrmUtilityGuided Class Reference

#include <PrmUtilityGuided.h>

Inheritance diagram for rl::plan::PrmUtilityGuided:
Inheritance graph
[legend]
Collaboration diagram for rl::plan::PrmUtilityGuided:
Collaboration graph
[legend]

Classes

struct  CompareSample
 
class  Sample
 

Public Member Functions

 PrmUtilityGuided ()
 
virtual ~PrmUtilityGuided ()
 
void construct (const ::std::size_t &steps)
 
::std::string getName () const
 
void seed (const ::boost::mt19937::result_type &value)
 
bool solve ()
 
- Public Member Functions inherited from rl::plan::Prm
 Prm ()
 
virtual ~Prm ()
 
::std::size_t getNumEdges () const
 
::std::size_t getNumVertices () const
 
void getPath (VectorList &path)
 
void reset ()
 
- Public Member Functions inherited from rl::plan::Planner
 Planner ()
 
virtual ~Planner ()
 
bool verify ()
 

Private Member Functions

void generateEntropyGuidedSample (::rl::math::Vector &q)
 
::rl::math::Real getFreeProbability (const Sample &sample)
 

Private Attributes

::std::size_t numNeighbors
 
::std::size_t numSamples
 
::boost::variate_generator
< ::boost::mt19937,::boost::uniform_real
< ::rl::math::Real > > 
rand
 
::std::vector< Samplesamples
 
::rl::math::Real variance
 

Additional Inherited Members

- Public Attributes inherited from rl::plan::Prm
::std::size_t degree
 
::std::size_t k
 
bool kd
 
::rl::math::Real radius
 
Samplersampler
 
Verifierverifier
 
- Protected Types inherited from rl::plan::Prm
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,
GraphBundle
Graph
 
typedef ::std::pair< const
::rl::math::Vector *, Vertex
QueryItem
 
typedef ::CGAL::Search_traits
< ::rl::math::Real, QueryItem,
const ::rl::math::Real
*, CartesianIterator
SearchTraits
 
typedef
Orthogonal_k_neighbor_search
< SearchTraits, Distance
NeighborSearch
 
typedef NeighborSearch::Tree NeighborSearchTree
 
typedef ::boost::shared_ptr
< NeighborSearchTree
NeighborSearchTreePtr
 
typedef ::std::vector
< NeighborSearchTreePtr
NearestNeighbors
 
typedef ::boost::graph_traits
< Graph >::edge_descriptor 
Edge
 
typedef ::boost::graph_traits
< Graph >::edge_iterator 
EdgeIterator
 
typedef ::std::pair
< EdgeIterator, EdgeIterator
EdgeIteratorPair
 
typedef ::boost::graph_traits
< Graph >::vertex_iterator 
VertexIterator
 
typedef ::std::pair
< VertexIterator,
VertexIterator
VertexIteratorPair
 
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 >, Compare
NeighborQueue
 
- Protected Member Functions inherited from rl::plan::Prm
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 inherited from rl::plan::Prm
Vertex begin
 
::boost::disjoint_sets
< VertexRankMap,
VertexParentMap
ds
 
Vertex end
 
Graph graph
 

Detailed Description

Probabilistic Roadmap using Utility-Guided Sampling.

Constructor & Destructor Documentation

rl::plan::PrmUtilityGuided::PrmUtilityGuided ( )
rl::plan::PrmUtilityGuided::~PrmUtilityGuided ( )
virtual

Member Function Documentation

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

Reimplemented from rl::plan::Prm.

void rl::plan::PrmUtilityGuided::generateEntropyGuidedSample ( ::rl::math::Vector q)
private

Samples a point near the middle (+/- variance) of two random nodes from unconnected components of the graph.

rl::math::Real rl::plan::PrmUtilityGuided::getFreeProbability ( const Sample sample)
private

Get an estimated probability that a sample is not colliding with the scene. Here we look how many of the numNeigbors nearest neighbors of the sample are colliding and return "#ofFreeNeighbors"/"#Neighbors".

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

Reimplemented from rl::plan::Prm.

void rl::plan::PrmUtilityGuided::seed ( const ::boost::mt19937::result_type &  value)
bool rl::plan::PrmUtilityGuided::solve ( )
virtual

Find collision free path.

Reimplemented from rl::plan::Prm.

Member Data Documentation

::std::size_t rl::plan::PrmUtilityGuided::numNeighbors
private
::std::size_t rl::plan::PrmUtilityGuided::numSamples
private
::boost::variate_generator< ::boost::mt19937, ::boost::uniform_real< ::rl::math::Real > > rl::plan::PrmUtilityGuided::rand
private
::std::vector< Sample > rl::plan::PrmUtilityGuided::samples
private
::rl::math::Real rl::plan::PrmUtilityGuided::variance
private

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