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

List of all members.

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
- Public Attributes inherited from rl::plan::Planner
::rl::math::Real duration
::rl::math::Vectorgoal
SimpleModelmodel
::rl::math::Vectorstart
Viewerviewer
- 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
- Protected Attributes inherited from rl::plan::Planner
::rl::util::Timer timer

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: