Robotics Library
0.7.0
|
Probabilistic Roadmaps with 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 ::std::mt19937::result_type &value) |
bool | solve () |
Find collision free path. More... | |
Public Member Functions inherited from rl::plan::Prm | |
Prm () | |
virtual | ~Prm () |
NearestNeighbors * | getNearestNeighbors () 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) |
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... | |
::std::uniform_real_distribution< ::rl::math::Real >::result_type | rand () |
Private Attributes | |
::std::size_t | numNeighbors |
::std::size_t | numSamples |
::std::uniform_real_distribution< ::rl::math::Real > | randDistribution |
::std::mt19937 | randEngine |
::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... | |
::rl::math::Real | radius |
Maximum radius for connecting neighbors. More... | |
Sampler * | sampler |
Verifier * | verifier |
Public Attributes inherited from rl::plan::Planner | |
::std::chrono::steady_clock::duration | duration |
Upper bound for search. 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 ::boost::graph_traits< Graph >::edge_descriptor | Edge |
typedef ::boost::graph_traits< Graph >::edge_iterator | EdgeIterator |
typedef ::std::pair< EdgeIterator, EdgeIterator > | EdgeIteratorPair |
typedef NearestNeighbors::Neighbor | Neighbor |
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 |
Protected Member Functions inherited from rl::plan::Prm | |
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 inherited from rl::plan::Prm | |
Vertex | begin |
::boost::disjoint_sets< VertexRankMap, VertexParentMap > | ds |
Vertex | end |
Graph | graph |
Protected Attributes inherited from rl::plan::Planner | |
::std::chrono::steady_clock::time_point | time |
Probabilistic Roadmaps with Utility-Guided Sampling.
Brendan Burns and Oliver Brock. Toward optimal configuration space sampling. In Proceedings of the Robotics Science and Systems Conference, Cambridge, MA, USA, June 2005.
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.
|
private |
void rl::plan::PrmUtilityGuided::seed | ( | const ::std::mt19937::result_type & | value | ) |
|
virtual |
Find collision free path.
Reimplemented from rl::plan::Prm.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |