batching_pomp  1.0
This is an implementation of an algorithmic framework for anytime motion planning on large dense roadmaps.
Public Member Functions | List of all members
batching_pomp::batching::EdgeBatching< Graph, VStateMap, StateCon, EDistance > Class Template Reference

Derived class of BatchingManager that implements Edge Batching. More...

#include <EdgeBatching.hpp>

Inherits batching_pomp::batching::BatchingManager< Graph, VStateMap, StateCon, EDistance >.

Public Member Functions

 EdgeBatching (const ompl::base::StateSpacePtr _space, VStateMap _stateMap, std::string _roadmapFileName, Graph &_fullRoadmap, Graph &_currentRoadmap, double _radiusInflFactor, std::function< double(unsigned int)> _initRadiusFn, double _maxRadius)
 
void setRadiusInflationFactor (unsigned int _radiusInflFactor)
 Setters and Getters.
 
double getRadiusInflationFactor () const
 
void setInitRadius (double _initRadius)
 
double getInitRadius () const
 
void setMaxRadius (double _maxRadius)
 
double getMaxRadius () const
 
void updateWithNewSolutionCost (double _newSolnCost) override
 Overriden methods.
 
void nextBatch (const std::function< bool(const ompl::base::State *)> &_pruneFunction, ompl::NearestNeighbors< Vertex > &_vertexNN) override
 
- Public Member Functions inherited from batching_pomp::batching::BatchingManager< Graph, VStateMap, StateCon, EDistance >
 BatchingManager (const ompl::base::StateSpacePtr _space, VStateMap _stateMap, std::string _roadmapFileName, Graph &_fullRoadmap, Graph &_currentRoadmap)
 
 BatchingManager (const ompl::base::StateSpacePtr _space, VStateMap _stateMap, EDistance _distanceMap, std::string _roadmapFileName, Graph &_fullRoadmap, Graph &_currentRoadmap)
 
unsigned int getNumBatches () const
 
unsigned int getNumVertices () const
 
bool isExhausted () const
 
double getCurrentRadius () const
 
const ompl::base::State * getVertexState (const Vertex &v) const
 
void pruneVertices (const std::function< bool(const ompl::base::State *)> &_pruneFunction, ompl::NearestNeighbors< Vertex > &_vertexNN)
 

Additional Inherited Members

- Protected Attributes inherited from batching_pomp::batching::BatchingManager< Graph, VStateMap, StateCon, EDistance >
Graph & mFullRoadmap
 The entire roadmap that will be used for planning.
 
Graph & mCurrentRoadmap
 The roadmap currently being searched by the planner.
 
unsigned int mNumBatches
 The number of batches added till now.
 
unsigned int mNumVertices
 The number of vertices in the entire roadmap.
 
bool mExhausted
 The flag that maintains whether the complete roadmap has been fully searched or not.
 
double mCurrRadius
 The radius of connectivity for the current batch.
 

Detailed Description

template<class Graph, class VStateMap, class StateCon, class EDistance>
class batching_pomp::batching::EdgeBatching< Graph, VStateMap, StateCon, EDistance >

Derived class of BatchingManager that implements Edge Batching.

Implements Edge Batching, where all vertices are considered and batches of edges are added based on an increasing radius of connectivity.

Constructor & Destructor Documentation

◆ EdgeBatching()

template<class Graph , class VStateMap , class StateCon , class EDistance >
batching_pomp::batching::EdgeBatching< Graph, VStateMap, StateCon, EDistance >::EdgeBatching ( const ompl::base::StateSpacePtr  _space,
VStateMap  _stateMap,
std::string  _roadmapFileName,
Graph &  _fullRoadmap,
Graph &  _currentRoadmap,
double  _radiusInflFactor,
std::function< double(unsigned int)>  _initRadiusFn,
double  _maxRadius 
)
inline
Parameters
[in]_radiusInflFactorThe value by which to increase the radius for each new batch
[in]_initRadiusFnThe function which generates the initial radius based on the number of vertices
[in]_maxRadiusThe maximum meaningful radius for edge batching. It is a function of the space bounds and the current solution quality.

Member Function Documentation

◆ nextBatch()

template<class Graph , class VStateMap , class StateCon , class EDistance >
void batching_pomp::batching::EdgeBatching< Graph, VStateMap, StateCon, EDistance >::nextBatch ( const std::function< bool(const ompl::base::State *)> &  _pruneFunction,
ompl::NearestNeighbors< Vertex > &  _vertexNN 
)
inlineoverridevirtual

Generate the next batch and update the current roadmap with it

Parameters
[in]_pruneFunctionThe rejection sampling checker for new samples
[in]_vertexNNThe nearest neighbour manager for roadmap vertices that is updated with the latest batch of samples

Implements batching_pomp::batching::BatchingManager< Graph, VStateMap, StateCon, EDistance >.


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