Interface for generating roadmaps over OMPL state spaces into Boost Graph objects. More...
#include <Roadmap.h>
Public Member Functions | |
Roadmap (RoadmapArgs &args, std::string name, size_t max_batches) | |
template<class T > | |
T * | as () |
template<class T > | |
const T * | as () const |
template<typename T , typename RoadmapType , typename SetterType , typename GetterType > | |
void | declareParam (const std::string &name, const RoadmapType &roadmap, const SetterType &setter, const GetterType &getter, const std::string &rangeSuggestion="") |
template<typename T , typename RoadmapType , typename SetterType > | |
void | declareParam (const std::string &name, const RoadmapType &roadmap, const SetterType &setter, const std::string &rangeSuggestion="") |
virtual void | initialize ()=0 |
Initialize roadmap; must be called once after setting parameters. | |
virtual double | root_radius (std::size_t i_batch)=0 |
Calcuate the root radius to be used for connecting to potential root vertices. More... | |
virtual void | deserialize (const std::string &ser_data)=0 |
Re-constitute the internal generator state from serialized data. | |
virtual void | generate ()=0 |
Generates one additional batch. More... | |
virtual void | serialize (std::string &ser_data)=0 |
Serialize the internal generator state into the passed string. | |
Public Attributes | |
const std::string | name |
const ompl::base::StateSpacePtr | space |
const size_t | max_batches |
bool | initialized |
size_t | num_batches_generated |
RoadmapArgs::Graph & | g |
RoadmapArgs::VState | state_map |
RoadmapArgs::EDistance | distance_map |
RoadmapArgs::VBatch | vertex_batch_map |
RoadmapArgs::EBatch | edge_batch_map |
RoadmapArgs::VShadow | is_shadow_map |
RoadmapArgs::EVector | edge_vector_map |
RoadmapArgs::NN * | nn |
ompl::base::ParamSet | params |
Interface for generating roadmaps over OMPL state spaces into Boost Graph objects.
Derived classes should specify a unique name to the constructor. A Roadmap can generate a (possibly infinite) roadmap in batches; the maximum number of batches is given in the max_batches argument.
This class is templated on the RoadmapArgs type, which specifies the types of property maps used by Boost Graph to store the requisite vertex and edge properties (e.g. the state, vertex/edge batch indices, etc).
An instance of this class goes through the following lifecycle:
At any time after step 3, serialize() can be called to save the roadmap generator's state so it can be reconstituted into a different instance.
|
pure virtual |
Generates one additional batch.
This alters internal state.
Implemented in ompl_lemur::RoadmapHaltonOffDens< RoadmapArgs >, ompl_lemur::RoadmapRGGDens< RoadmapArgs >, ompl_lemur::RoadmapRGGDensConst< RoadmapArgs >, ompl_lemur::RoadmapRGG< RoadmapArgs >, ompl_lemur::RoadmapHalton< RoadmapArgs >, ompl_lemur::RoadmapHaltonDens< RoadmapArgs >, ompl_lemur::RoadmapFromFile< RoadmapArgs >, and ompl_lemur::RoadmapAAGrid< RoadmapArgs >.
|
pure virtual |
Calcuate the root radius to be used for connecting to potential root vertices.
This should be stateless (but will be called after initialize)
Implemented in ompl_lemur::RoadmapHaltonOffDens< RoadmapArgs >, ompl_lemur::RoadmapRGGDens< RoadmapArgs >, ompl_lemur::RoadmapRGGDensConst< RoadmapArgs >, ompl_lemur::RoadmapRGG< RoadmapArgs >, ompl_lemur::RoadmapHalton< RoadmapArgs >, ompl_lemur::RoadmapHaltonDens< RoadmapArgs >, ompl_lemur::RoadmapFromFile< RoadmapArgs >, and ompl_lemur::RoadmapAAGrid< RoadmapArgs >.