ompl::geometric::KStarStrategy< Milestone > Class Template Reference

Make the minimal number of connections required to ensure asymptotic optimality. More...

#include <ompl/geometric/planners/prm/ConnectionStrategy.h>

Inheritance diagram for ompl::geometric::KStarStrategy< Milestone >:

Public Types

using NumNeighborsFn = std::function< unsigned int()>
 

Public Member Functions

 KStarStrategy (const NumNeighborsFn &n, const std::shared_ptr< NearestNeighbors< Milestone >> &nn, const unsigned int d=1)
 Constructor. More...
 
const std::vector< Milestone > & operator() (const Milestone &m)
 
- Public Member Functions inherited from ompl::geometric::KStrategy< Milestone >
 KStrategy (const unsigned int k, std::shared_ptr< NearestNeighbors< Milestone >> nn)
 Constructor takes the maximum number of nearest neighbors to return (k) and the nearest neighbors datastruture to use (nn)
 
void setNearestNeighbors (const std::shared_ptr< NearestNeighbors< Milestone >> &nn)
 Set the nearest neighbors datastructure to use.
 
const std::vector< Milestone > & operator() (const Milestone &m)
 Given a milestone m, find the number of nearest neighbors connection attempts that should be made from it, according to the connection strategy.
 
unsigned int getNumNeighbors () const
 

Protected Attributes

const NumNeighborsFn n_
 Function returning the number of milestones added to the roadmap so far.
 
const double kPRMConstant_
 
- Protected Attributes inherited from ompl::geometric::KStrategy< Milestone >
unsigned int k_
 Maximum number of nearest neighbors to attempt to connect new milestones to.
 
std::shared_ptr< NearestNeighbors< Milestone > > nn_
 Nearest neighbors data structure.
 
std::vector< Milestone > neighbors_
 Scratch space for storing k-nearest neighbors.
 

Detailed Description

template<class Milestone>
class ompl::geometric::KStarStrategy< Milestone >

Make the minimal number of connections required to ensure asymptotic optimality.

This connection strategy attempts to connect a milestone to its k-nearest neighbors where k is a function of the number of milestones that have already been added to the roadmap (n).

k(n) = kPRMConstant * log(n)

where

kPRMConstant > kStarPRMConstant = e(1 + 1/d)

and d is the number of dimensions in the state space. Note that kPRMConstant = 2e is a valid choice for any problem instance and so, if d is not provided, this value is used.

The user must provide a function that returns the value of n.

External documentation
S. Karaman and E. Frazzoli Sampling-based algorithms for optimal motion planning, Int. Journal of Robotics Research Volume 30, Number 7, June 2010

Definition at line 188 of file ConnectionStrategy.h.

Constructor & Destructor Documentation

◆ KStarStrategy()

template<class Milestone >
ompl::geometric::KStarStrategy< Milestone >::KStarStrategy ( const NumNeighborsFn &  n,
const std::shared_ptr< NearestNeighbors< Milestone >> &  nn,
const unsigned int  d = 1 
)
inline

Constructor.

Parameters
na function that returns the number of milestones that have already been added to the roadmap
nnthe nearest neighbors datastruture to use
dthe dimensionality of the state space. The default is 1, which will make kPRMConstant=2e which is valid for all problem instances.

Definition at line 201 of file ConnectionStrategy.h.


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