Robotics Library  0.7.0
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes | List of all members
rl::plan::Eet Class Reference

Exploring/Exploiting Trees. More...

#include <Eet.h>

Inheritance diagram for rl::plan::Eet:
Inheritance graph
[legend]

Classes

struct  ExplorerSetup
 
struct  VertexBundle
 

Public Member Functions

 Eet ()
 
virtual ~Eet ()
 
::std::chrono::steady_clock::duration getExplorationDuration () const
 
virtual ::std::string getName () const
 
virtual ::std::size_t getNumEdges () const
 
virtual ::std::size_t getNumVertices () const
 
VectorList getPath ()
 Get solution path. More...
 
void seed (const ::std::mt19937::result_type &value)
 
void reset ()
 Reset planner. More...
 
bool solve ()
 Find collision free path. More...
 
- Public Member Functions inherited from rl::plan::RrtCon
 RrtCon ()
 
virtual ~RrtCon ()
 
virtual ::std::string getName () const
 
bool solve ()
 Find collision free path. More...
 
- Public Member Functions inherited from rl::plan::RrtGoalBias
 RrtGoalBias ()
 
virtual ~RrtGoalBias ()
 
virtual ::std::string getName () const
 
- Public Member Functions inherited from rl::plan::Rrt
 Rrt (const ::std::size_t &trees=1)
 
virtual ~Rrt ()
 
NearestNeighborsgetNearestNeighbors (const ::std::size_t &i) const
 
virtual ::std::size_t getNumEdges () const
 
virtual ::std::size_t getNumVertices () const
 
void setNearestNeighbors (NearestNeighbors *nearestNeighbors, const ::std::size_t &i)
 
- Public Member Functions inherited from rl::plan::Planner
 Planner ()
 
virtual ~Planner ()
 
bool verify ()
 Vertify that start and goal configuration are within joint limits and collision free. More...
 

Public Attributes

::rl::math::Real alpha
 Control increase/decrease of exploitation. More...
 
bool alternativeDistanceComputation
 Better performance in certain scenarios. More...
 
::rl::math::Real beta
 Threshold for switching to uniform orientation sampling. More...
 
::rl::math::Real distanceWeight
 Weight factor translation vs. orientation. More...
 
::std::vector< WorkspaceSphereExplorer * > explorers
 
::std::vector< ExplorerSetupexplorersSetup
 
::rl::math::Real gamma
 Initialization value for exploration/exploitation balance. More...
 
::rl::math::Real goalEpsilon
 Epsilon for goal state. More...
 
bool goalEpsilonUseOrientation
 Include frame orientation in goal epsilon calculation. More...
 
::rl::math::Vector3 max
 Upper workspace limit for workspace frame sampling. More...
 
::rl::math::Vector3 min
 Lower workspace limit for workspace frame sampling. More...
 
- Public Attributes inherited from rl::plan::RrtGoalBias
::rl::math::Real probability
 Probability of choosing goal configuration. More...
 
- Public Attributes inherited from rl::plan::Rrt
::rl::math::Real delta
 Configuration step size. More...
 
::rl::math::Real epsilon
 Epsilon for configuration comparison. More...
 
Samplersampler
 
- Public Attributes inherited from rl::plan::Planner
::std::chrono::steady_clock::duration duration
 Upper bound for search. More...
 
::rl::math::Vectorgoal
 Goal configuration. More...
 
SimpleModelmodel
 
::rl::math::Vectorstart
 Start configuration. More...
 
Viewerviewer
 

Protected Member Functions

Edge addEdge (const Vertex &u, const Vertex &v, Tree &tree)
 
Vertex addVertex (Tree &tree, const VectorPtr &q)
 
Vertex connect (Tree &tree, const Neighbor &nearest, const ::rl::math::Transform &chosen)
 
::rl::math::Real distance (const ::rl::math::Transform &t1, const ::rl::math::Transform &t2) const
 
int expand (const VertexBundle *nearest, const ::rl::math::Transform &nearest2, const ::rl::math::Transform &chosen, const ::rl::math::Real &distance, VertexBundle &expanded)
 
Vertex extend (Tree &tree, const Neighbor &nearest, const ::rl::math::Transform &chosen)
 
::std::normal_distribution< ::rl::math::Real >::result_type gauss ()
 
Neighbor nearest (const Tree &tree, const ::rl::math::Transform &chosen)
 
::std::uniform_real_distribution< ::rl::math::Real >::result_type rand ()
 
- Protected Member Functions inherited from rl::plan::RrtGoalBias
virtual ::rl::math::Vector choose ()
 
::std::uniform_real_distribution< ::rl::math::Real >::result_type rand ()
 
- Protected Member Functions inherited from rl::plan::Rrt
bool areEqual (const ::rl::math::Vector &lhs, const ::rl::math::Vector &rhs) const
 
virtual ::rl::math::Vector choose ()
 
virtual Vertex connect (Tree &tree, const Neighbor &nearest, const ::rl::math::Vector &chosen)
 
virtual Vertex extend (Tree &tree, const Neighbor &nearest, const ::rl::math::Vector &chosen)
 
virtual Neighbor nearest (const Tree &tree, const ::rl::math::Vector &chosen)
 

Static Protected Member Functions

static VertexBundleget (const Tree &tree, const Vertex &v)
 
- Static Protected Member Functions inherited from rl::plan::Rrt
static VertexBundleget (const Tree &tree, const Vertex &v)
 

Protected Attributes

::std::normal_distribution< ::rl::math::RealgaussDistribution
 
::std::mt19937 gaussEngine
 
::std::uniform_real_distribution< ::rl::math::RealrandDistribution
 
::std::mt19937 randEngine
 
- Protected Attributes inherited from rl::plan::RrtGoalBias
::std::uniform_real_distribution< ::rl::math::RealrandDistribution
 
::std::mt19937 randEngine
 
- Protected Attributes inherited from rl::plan::Rrt
::std::vector< Vertexbegin
 
::std::vector< Vertexend
 
::std::vector< Treetree
 
- Protected Attributes inherited from rl::plan::Planner
::std::chrono::steady_clock::time_point time
 

Private Attributes

::std::chrono::steady_clock::time_point explorationTimeStart
 
::std::chrono::steady_clock::time_point explorationTimeStop
 
::rl::math::GnatNearestNeighbors< WorkspaceMetricnn
 

Additional Inherited Members

- Protected Types inherited from rl::plan::Rrt
typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::std::shared_ptr< VertexBundle >, ::boost::no_property, TreeBundleTree
 
typedef ::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::listS >::vertex_descriptor Vertex
 
typedef ::boost::graph_traits< Tree >::edge_descriptor Edge
 
typedef ::boost::graph_traits< Tree >::edge_iterator EdgeIterator
 
typedef ::std::pair< EdgeIterator, EdgeIteratorEdgeIteratorPair
 
typedef ::std::pair< ::rl::math::Real, VertexNeighbor
 
typedef ::boost::graph_traits< Tree >::vertex_iterator VertexIterator
 
typedef ::std::pair< VertexIterator, VertexIteratorVertexIteratorPair
 

Detailed Description

Exploring/Exploiting Trees.

Markus Rickert, Arne Sieverling, and Oliver Brock. Balancing exploration and exploitation in sampling-based motion planning. IEEE Transactions on Robotics, 30(6):1305-1317, December 2014.

http://dx.doi.org/10.1109/TRO.2014.2340191

Constructor & Destructor Documentation

◆ Eet()

rl::plan::Eet::Eet ( )

◆ ~Eet()

rl::plan::Eet::~Eet ( )
virtual

Member Function Documentation

◆ addEdge()

Rrt::Edge rl::plan::Eet::addEdge ( const Vertex u,
const Vertex v,
Tree tree 
)
protectedvirtual

Reimplemented from rl::plan::Rrt.

◆ addVertex()

Eet::Vertex rl::plan::Eet::addVertex ( Tree tree,
const VectorPtr q 
)
protectedvirtual

Reimplemented from rl::plan::Rrt.

◆ connect()

Rrt::Vertex rl::plan::Eet::connect ( Tree tree,
const Neighbor nearest,
const ::rl::math::Transform chosen 
)
protected

◆ distance()

rl::math::Real rl::plan::Eet::distance ( const ::rl::math::Transform t1,
const ::rl::math::Transform t2 
) const
protected

◆ expand()

int rl::plan::Eet::expand ( const VertexBundle nearest,
const ::rl::math::Transform nearest2,
const ::rl::math::Transform chosen,
const ::rl::math::Real distance,
VertexBundle expanded 
)
protected

◆ extend()

Rrt::Vertex rl::plan::Eet::extend ( Tree tree,
const Neighbor nearest,
const ::rl::math::Transform chosen 
)
protected

◆ gauss()

std::normal_distribution<::rl::math::Real >::result_type rl::plan::Eet::gauss ( )
protected

◆ get()

Eet::VertexBundle * rl::plan::Eet::get ( const Tree tree,
const Vertex v 
)
staticprotected

◆ getExplorationDuration()

std::chrono::steady_clock::duration rl::plan::Eet::getExplorationDuration ( ) const

◆ getName()

std::string rl::plan::Eet::getName ( ) const
virtual

Implements rl::plan::Planner.

◆ getNumEdges()

std::size_t rl::plan::Eet::getNumEdges ( ) const

◆ getNumVertices()

std::size_t rl::plan::Eet::getNumVertices ( ) const

◆ getPath()

VectorList rl::plan::Eet::getPath ( )
virtual

Get solution path.

Precondition
solve()

Reimplemented from rl::plan::Rrt.

◆ nearest()

Rrt::Neighbor rl::plan::Eet::nearest ( const Tree tree,
const ::rl::math::Transform chosen 
)
protected

◆ rand()

std::uniform_real_distribution<::rl::math::Real >::result_type rl::plan::Eet::rand ( )
protected

◆ reset()

void rl::plan::Eet::reset ( )
virtual

Reset planner.

Reimplemented from rl::plan::Rrt.

◆ seed()

void rl::plan::Eet::seed ( const ::std::mt19937::result_type &  value)
virtual

Reimplemented from rl::plan::RrtGoalBias.

◆ solve()

bool rl::plan::Eet::solve ( )
virtual

Find collision free path.

Reimplemented from rl::plan::Rrt.

Member Data Documentation

◆ alpha

::rl::math::Real rl::plan::Eet::alpha

Control increase/decrease of exploitation.

◆ alternativeDistanceComputation

bool rl::plan::Eet::alternativeDistanceComputation

Better performance in certain scenarios.

◆ beta

::rl::math::Real rl::plan::Eet::beta

Threshold for switching to uniform orientation sampling.

◆ distanceWeight

::rl::math::Real rl::plan::Eet::distanceWeight

Weight factor translation vs. orientation.

◆ explorationTimeStart

::std::chrono::steady_clock::time_point rl::plan::Eet::explorationTimeStart
private

◆ explorationTimeStop

::std::chrono::steady_clock::time_point rl::plan::Eet::explorationTimeStop
private

◆ explorers

::std::vector<WorkspaceSphereExplorer*> rl::plan::Eet::explorers

◆ explorersSetup

::std::vector<ExplorerSetup> rl::plan::Eet::explorersSetup

◆ gamma

::rl::math::Real rl::plan::Eet::gamma

Initialization value for exploration/exploitation balance.

◆ gaussDistribution

::std::normal_distribution< ::rl::math::Real> rl::plan::Eet::gaussDistribution
protected

◆ gaussEngine

::std::mt19937 rl::plan::Eet::gaussEngine
protected

◆ goalEpsilon

::rl::math::Real rl::plan::Eet::goalEpsilon

Epsilon for goal state.

◆ goalEpsilonUseOrientation

bool rl::plan::Eet::goalEpsilonUseOrientation

Include frame orientation in goal epsilon calculation.

◆ max

::rl::math::Vector3 rl::plan::Eet::max

Upper workspace limit for workspace frame sampling.

◆ min

::rl::math::Vector3 rl::plan::Eet::min

Lower workspace limit for workspace frame sampling.

◆ nn

::rl::math::GnatNearestNeighbors<WorkspaceMetric> rl::plan::Eet::nn
private

◆ randDistribution

::std::uniform_real_distribution< ::rl::math::Real> rl::plan::Eet::randDistribution
protected

◆ randEngine

::std::mt19937 rl::plan::Eet::randEngine
protected

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