Robotics Library
0.6.2
|
Probabilistic Roadmap using Utility-Guided Sampling. More...
#include <PrmUtilityGuided.h>
Classes | |
struct | CompareSample |
A compare structure for nearest neighbor sorting. More... | |
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 () |
Find collision free path. More... | |
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) |
Get solution path. More... | |
void | reset () |
Reset planner. 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... | |
Private Member Functions | |
void | generateEntropyGuidedSample (::rl::math::Vector &q) |
Samples a point near the middle (+/- variance) of two random nodes from unconnected components of the graph. More... | |
::rl::math::Real | getFreeProbability (const Sample &sample) |
Get an estimated probability that a sample is not colliding with the scene. More... | |
Private Attributes | |
::std::size_t | numNeighbors |
::std::size_t | numSamples |
::boost::variate_generator< ::boost::mt19937, ::boost::uniform_real< ::rl::math::Real > > | rand |
::std::vector< Sample > | samples |
::rl::math::Real | variance |
Additional Inherited Members | |
Public Attributes inherited from rl::plan::Prm | |
::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... | |
Sampler * | sampler |
Verifier * | verifier |
Public Attributes inherited from rl::plan::Planner | |
::rl::math::Real | duration |
Upper bound for search [s]. More... | |
::rl::math::Vector * | goal |
Goal configuration. More... | |
SimpleModel * | model |
::rl::math::Vector * | start |
Start configuration. More... | |
Viewer * | viewer |
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::Real > | Neighbor |
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 |
Probabilistic Roadmap using Utility-Guided Sampling.
rl::plan::PrmUtilityGuided::PrmUtilityGuided | ( | ) |
|
virtual |
|
virtual |
Reimplemented from rl::plan::Prm.
|
private |
Samples a point near the middle (+/- variance) of two random nodes from unconnected components of the graph.
|
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".
|
virtual |
Reimplemented from rl::plan::Prm.
void rl::plan::PrmUtilityGuided::seed | ( | const ::boost::mt19937::result_type & | value | ) |
|
virtual |
Find collision free path.
Reimplemented from rl::plan::Prm.
|
private |
|
private |
|
private |
|
private |
|
private |