Loading...
Searching...
No Matches
ompl::control::PropositionalDecomposition Class Referenceabstract

A propositional decomposition wraps a given Decomposition with a region-to-proposition assignment operator. Each region in the decomposition has a corresponding World. More...

#include <ompl/control/planners/ltl/PropositionalDecomposition.h>

Inheritance diagram for ompl::control::PropositionalDecomposition:

Public Member Functions

 PropositionalDecomposition (const DecompositionPtr &decomp)
 Creates a propositional decomposition wrapped around a given decomposition with a given number of propositions. More...
 
 ~PropositionalDecomposition () override
 Clears all memory belonging to this propositional decomposition.
 
virtual World worldAtRegion (int rid)=0
 Returns the World corresponding to a given region. More...
 
int getNumRegions () const override
 Returns the number of regions in this propositional decomposition's underlying decomposition. More...
 
virtual int getNumProps () const =0
 Returns the number of propositions in this propositional decomposition. More...
 
double getRegionVolume (int rid) override
 Returns the volume of a given region. More...
 
int locateRegion (const base::State *s) const override
 Returns the region of the underlying decomposition that contains a given State. More...
 
void project (const base::State *s, std::vector< double > &coord) const override
 Project a given State to a set of coordinates in R^k, where k is the dimension of this Decomposition. More...
 
void getNeighbors (int rid, std::vector< int > &neighbors) const override
 Stores a given region's neighbors into a given vector. More...
 
void sampleFromRegion (int rid, RNG &rng, std::vector< double > &coord) const override
 Samples a projected coordinate from a given region. More...
 
void sampleFullState (const base::StateSamplerPtr &sampler, const std::vector< double > &coord, base::State *s) const override
 Samples a State using a projected coordinate and a StateSampler. More...
 
- Public Member Functions inherited from ompl::control::Decomposition
 Decomposition (int dim, const base::RealVectorBounds &b)
 Constructor. Creates a Decomposition with a given dimension and a given set of bounds. Accepts as an optional argument a given number of regions. More...
 
virtual int getNumRegions () const =0
 Returns the number of regions in this Decomposition. More...
 
virtual int getDimension () const
 Returns the dimension of this Decomposition. More...
 
virtual const base::RealVectorBoundsgetBounds () const
 Returns the bounds of this Decomposition. More...
 
virtual double getRegionVolume (int rid)=0
 Returns the volume of a given region in this Decomposition. More...
 
virtual int locateRegion (const base::State *s) const =0
 Returns the index of the region containing a given State. Most often, this is obtained by first calling project(). Returns -1 if no region contains the State. More...
 
virtual void project (const base::State *s, std::vector< double > &coord) const =0
 Project a given State to a set of coordinates in R^k, where k is the dimension of this Decomposition. More...
 
virtual void getNeighbors (int rid, std::vector< int > &neighbors) const =0
 Stores a given region's neighbors into a given vector. More...
 
virtual void sampleFromRegion (int rid, RNG &rng, std::vector< double > &coord) const =0
 Samples a projected coordinate from a given region. More...
 
virtual void sampleFullState (const base::StateSamplerPtr &sampler, const std::vector< double > &coord, base::State *s) const =0
 Samples a State using a projected coordinate and a StateSampler. More...
 

Protected Attributes

DecompositionPtr decomp_
 
- Protected Attributes inherited from ompl::control::Decomposition
int dimension_
 
base::RealVectorBounds bounds_
 

Detailed Description

A propositional decomposition wraps a given Decomposition with a region-to-proposition assignment operator. Each region in the decomposition has a corresponding World.

Definition at line 63 of file PropositionalDecomposition.h.

Constructor & Destructor Documentation

◆ PropositionalDecomposition()

ompl::control::PropositionalDecomposition::PropositionalDecomposition ( const DecompositionPtr decomp)

Creates a propositional decomposition wrapped around a given decomposition with a given number of propositions.

Definition at line 46 of file PropositionalDecomposition.cpp.

Member Function Documentation

◆ getNeighbors()

void ompl::control::PropositionalDecomposition::getNeighbors ( int  rid,
std::vector< int > &  neighbors 
) const
overridevirtual

Stores a given region's neighbors into a given vector.

Implements ompl::control::Decomposition.

Definition at line 73 of file PropositionalDecomposition.cpp.

◆ getNumProps()

virtual int ompl::control::PropositionalDecomposition::getNumProps ( ) const
pure virtual

Returns the number of propositions in this propositional decomposition.

Implemented in ompl::control::PropositionalTriangularDecomposition.

◆ getNumRegions()

int ompl::control::PropositionalDecomposition::getNumRegions ( ) const
overridevirtual

Returns the number of regions in this propositional decomposition's underlying decomposition.

Implements ompl::control::Decomposition.

Definition at line 53 of file PropositionalDecomposition.cpp.

◆ getRegionVolume()

double ompl::control::PropositionalDecomposition::getRegionVolume ( int  rid)
overridevirtual

Returns the volume of a given region.

Implements ompl::control::Decomposition.

Definition at line 58 of file PropositionalDecomposition.cpp.

◆ locateRegion()

int ompl::control::PropositionalDecomposition::locateRegion ( const base::State s) const
overridevirtual

Returns the region of the underlying decomposition that contains a given State.

Implements ompl::control::Decomposition.

Definition at line 63 of file PropositionalDecomposition.cpp.

◆ project()

void ompl::control::PropositionalDecomposition::project ( const base::State s,
std::vector< double > &  coord 
) const
overridevirtual

Project a given State to a set of coordinates in R^k, where k is the dimension of this Decomposition.

Implements ompl::control::Decomposition.

Definition at line 68 of file PropositionalDecomposition.cpp.

◆ sampleFromRegion()

void ompl::control::PropositionalDecomposition::sampleFromRegion ( int  rid,
RNG rng,
std::vector< double > &  coord 
) const
overridevirtual

Samples a projected coordinate from a given region.

Implements ompl::control::Decomposition.

Definition at line 78 of file PropositionalDecomposition.cpp.

◆ sampleFullState()

void ompl::control::PropositionalDecomposition::sampleFullState ( const base::StateSamplerPtr &  sampler,
const std::vector< double > &  coord,
base::State s 
) const
overridevirtual

Samples a State using a projected coordinate and a StateSampler.

Implements ompl::control::Decomposition.

Definition at line 83 of file PropositionalDecomposition.cpp.

◆ worldAtRegion()

virtual World ompl::control::PropositionalDecomposition::worldAtRegion ( int  rid)
pure virtual

Returns the World corresponding to a given region.

Implemented in ompl::control::PropositionalTriangularDecomposition.

Member Data Documentation

◆ decomp_

DecompositionPtr ompl::control::PropositionalDecomposition::decomp_
protected

Definition at line 103 of file PropositionalDecomposition.h.


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