ompl::control::GridDecomposition Class Reference

A GridDecomposition is a Decomposition implemented using a grid. More...

#include <ompl/control/planners/syclop/GridDecomposition.h>

Inheritance diagram for ompl::control::GridDecomposition:

## Public Member Functions

GridDecomposition (int len, int dim, const base::RealVectorBounds &b)
Constructor. Creates a GridDecomposition as a hypercube with a given dimension, side length, and bounds. The cells of the hypercube are referenced by integer coordinates of the form $$(r_1,\ldots,r_k)$$, where $$0 \leq r_i < \texttt{len}$$.

int getNumRegions () const override
Returns the number of regions in this Decomposition.

double getRegionVolume (int) override
Returns the volume of a given region in this Decomposition.

void getNeighbors (int rid, std::vector< int > &neighbors) const override
Stores a given region's neighbors into a given vector.

int locateRegion (const base::State *s) const override
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.

void sampleFromRegion (int rid, RNG &rng, std::vector< double > &coord) const override
Samples a projected coordinate from a given region.

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.

virtual int getDimension () const
Returns the dimension of this Decomposition.

virtual const base::RealVectorBoundsgetBounds () const
Returns the bounds of this Decomposition.

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.

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.

## Protected Member Functions

virtual const base::RealVectorBoundsgetRegionBounds (int rid) const
Helper method to return the bounds of a given region.

void regionToGridCoord (int rid, std::vector< int > &coord) const
Converts a given region to a coordinate in the grid.

int gridCoordToRegion (const std::vector< int > &coord) const
Converts the given grid coordinate to its corresponding region ID.

int coordToRegion (const std::vector< double > &coord) const
Converts a decomposition space coordinate to the ID of the region that contains iit.

void coordToGridCoord (const std::vector< double > &coord, std::vector< int > &gridCoord) const
Converts a decomposition space coordinate to a grid coordinate.

void computeGridNeighbors (int rid, std::vector< int > &neighbors) const
Computes the neighbors of the given region in a n-dimensional grid.

void computeGridNeighborsSub (const std::vector< int > &coord, std::vector< int > &neighbors, int dim, std::vector< int > &candidate) const

## Protected Attributes

int length_

double cellVolume_

std::unordered_map< int, std::shared_ptr< base::RealVectorBounds > > regToBounds_

Protected Attributes inherited from ompl::control::Decomposition
int dimension_

base::RealVectorBounds bounds_

## Detailed Description

A GridDecomposition is a Decomposition implemented using a grid.

Definition at line 53 of file GridDecomposition.h.