BundleSpaceGraph.h
161 {
167 cost = eis.cost;
173 }
196 using Graph = boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, Configuration *,
244 void getPlannerDataGraph(ompl::base::PlannerData &data, const Graph &graph, const Vertex vStart) const;
351 virtual void interpolate(const Configuration *a, const Configuration *b, Configuration *dest) const;
434 };
double getImportance() const override
Importance of Bundle-space depending on number of vertices in Bundle-graph.
Definition: BundleSpaceGraph.cpp:294
A shared pointer wrapper for ompl::base::Path.
A shared pointer wrapper for ompl::base::SpaceInformation.
BundleSpace(const ompl::base::SpaceInformationPtr &si, BundleSpace *baseSpace_=nullptr)
Bundle Space contains three primary characters, the bundle space, the base space and the projection.
Definition: BundleSpace.cpp:60
void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() wil...
Definition: BundleSpaceGraph.cpp:187
A configuration in Bundle-space.
Definition: BundleSpaceGraph.h:128
ompl::base::PathPtr getPath(const Vertex &start, const Vertex &goal)
Shortest path on Bundle-graph.
Definition: BundleSpaceGraph.cpp:680
normalized_index_type representativeIndex
Access to the representatives (Sparse Vertex) of the Dense vertices For Sparse Graph: Store index of ...
Definition: BundleSpaceGraph.h:178
void getPlannerData(ompl::base::PlannerData &data) const override
Return plannerdata structure, whereby each vertex is marked depending to which component it belongs (...
Definition: BundleSpaceGraph.cpp:844
bool connect(const Configuration *from, const Configuration *to)
Try to connect configuration a to configuration b using the current metric.
Definition: BundleSpaceGraph.cpp:475
A shared pointer wrapper for ompl::geometric::PathSimplifier.
std::vector< Configuration * > goalConfigurations_
List of configurations that satisfy the goal condition.
Definition: BundleSpaceGraph.h:466
std::unordered_map< normalized_index_type, std::set< normalized_index_type > > interfaceIndexList
Access to the interface-supporting vertice hashes of the sparse nodes.
Definition: BundleSpaceGraph.h:187
An edge in Bundle-space.
Definition: BundleSpaceGraph.h:193
Configuration * steerTowards_Range(const Configuration *from, Configuration *to)
Steer system at Configuration *from to Configuration *to, stopping if maxdistance is reached.
Definition: BundleSpaceGraph.cpp:437
virtual void setStartIndex(Vertex)
Set vertex representing the start.
Definition: BundleSpaceGraph.cpp:608
virtual Graph & getGraphNonConst()
Get underlying boost graph representation (non const)
Definition: BundleSpaceGraph.cpp:382
Configuration * extendGraphTowards_Range(const Configuration *from, Configuration *to)
Steer system at Configuration *from to Configuration *to while system is valid, stopping if maxDistan...
Definition: BundleSpaceGraph.cpp:453
Definition of a cost value. Can represent the cost of a motion or the cost of a state.
Definition: Cost.h:111
bool findSection() override
Call algorithm to solve the find section problem.
Definition: BundleSpaceGraph.cpp:168
virtual Configuration * addBundleConfiguration(base::State *)
Add ompl::base::State to graph. Return its configuration.
Definition: BundleSpaceGraph.cpp:342
virtual void printConfiguration(const Configuration *) const
Print configuration to std::cout.
Definition: BundleSpaceGraph.cpp:783
std::vector< Configuration * > startConfigurations_
List of configurations that satisfy the start condition.
Definition: BundleSpaceGraph.h:463
std::vector< Configuration * > children
The set of motions descending from the current motion {qrrt*}.
Definition: BundleSpaceGraph.h:167
virtual Vertex getGoalIndex() const
Get vertex representing the goal.
Definition: BundleSpaceGraph.cpp:590
Object containing planner generated vertex and edge data. It is assumed that all vertices are unique,...
Definition: PlannerData.h:238
std::set< normalized_index_type > nonInterfaceIndexList
Access to all non-interface supporting vertices of the sparse nodes.
Definition: BundleSpaceGraph.h:182
base::Cost lineCost
same as rrt*, connection cost with parent {qrrt*}
Definition: BundleSpaceGraph.h:164
virtual void interpolate(const Configuration *a, const Configuration *b, Configuration *dest) const
Interpolate from configuration a to configuration b and store results in dest.
Definition: BundleSpaceGraph.cpp:420
PathRestrictionPtr pathRestriction_
Pointer to current path restriction (the set of points which project onto the best cost path on the b...
Definition: BundleSpaceGraph.h:451
boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, Configuration *, EdgeInternalState, GraphMetaData > Graph
A Bundle-graph structure using boost::adjacency_list bundles.
Definition: BundleSpaceGraph.h:230
void writeToGraphviz(std::string filename) const
Write class to graphviz.
Definition: BundleSpaceGraph.cpp:760
void * pdf_element
Element of Probability Density Function (needed to update probability)
Definition: BundleSpaceGraph.h:144
virtual void init()
Initialization methods for the first iteration (adding start configuration and doing sanity checks)
Definition: BundleSpaceGraph.cpp:299
bool getSolution(ompl::base::PathPtr &solution) override
Return best solution.
Definition: BundleSpaceGraph.cpp:618
virtual Vertex addConfiguration(Configuration *q)
Add configuration to graph. Return its vertex in boost graph.
Definition: BundleSpaceGraph.cpp:354
double graphLength_
Length of graph (useful for determing importance of Bundle-space.
Definition: BundleSpaceGraph.h:428
void addGoalConfiguration(Configuration *x)
Add configuration to graph as goal vertex.
Definition: BundleSpaceGraph.cpp:581
BundleSpaceImportancePtr importanceCalculator_
Pointer to strategy to compute importance of this bundle space (which is used to decide which bundle ...
Definition: BundleSpaceGraph.h:442
RoadmapNeighborsPtr nearestDatastructure_
Nearest neighbor structure for Bundle space configurations.
Definition: BundleSpaceGraph.h:419
virtual void addBundleEdge(const Configuration *a, const Configuration *b)
Add edge between configuration a and configuration b to graph.
Definition: BundleSpaceGraph.cpp:349
virtual bool checkMotion(const Configuration *a, const Configuration *b) const
Check if we can move from configuration a to configuration b using the current metric.
Definition: BundleSpaceGraph.cpp:415
normalized_index_type index
Index of configuration in boost::graph. Usually in the interval [0,num_vertices(graph)],...
Definition: BundleSpaceGraph.h:173
Configuration * steerTowards(const Configuration *from, const Configuration *to)
Steer system at Configuration *from to Configuration *to.
Definition: BundleSpaceGraph.cpp:425
BundleSpaceGraphSamplerPtr graphSampler_
Pointer to strategy to sample from graph.
Definition: BundleSpaceGraph.h:445
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
Definition: BundleSpaceGraph.cpp:116
void print(std::ostream &out) const override
Print class to ostream.
Definition: BundleSpaceGraph.cpp:775
virtual Vertex getStartIndex() const
Get vertex representing the start.
Definition: BundleSpaceGraph.cpp:576
virtual double distance(const Configuration *a, const Configuration *b) const
Distance between two configurations using the current metric.
Definition: BundleSpaceGraph.cpp:410
virtual const Graph & getGraph() const
Get underlying boost graph representation.
Definition: BundleSpaceGraph.cpp:377
Main namespace. Contains everything in this library.
Definition: MultiLevelPlanarManipulatorDemo.cpp:65
virtual const std::pair< Edge, bool > addEdge(const Vertex a, const Vertex b)
Add edge between Vertex a and Vertex b to graph.
Definition: BundleSpaceGraph.cpp:567