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

Rapidly-Exploring Random Trees. More...

#include <Rrt.h>

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

Classes

struct  TreeBundle
 
struct  VertexBundle
 

Public Member Functions

 Rrt (const ::std::size_t &trees=1)
 
virtual ~Rrt ()
 
virtual ::std::string getName () const
 
NearestNeighborsgetNearestNeighbors (const ::std::size_t &i) const
 
virtual ::std::size_t getNumEdges () const
 
virtual ::std::size_t getNumVertices () const
 
virtual VectorList getPath ()
 Get solution path. More...
 
virtual void reset ()
 Reset planner. More...
 
void setNearestNeighbors (NearestNeighbors *nearestNeighbors, const ::std::size_t &i)
 
virtual bool solve ()
 Find collision free path. More...
 
- 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 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 Types

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
 

Protected Member Functions

virtual Edge addEdge (const Vertex &u, const Vertex &v, Tree &tree)
 
virtual Vertex addVertex (Tree &tree, const VectorPtr &q)
 
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)
 

Protected Attributes

::std::vector< Vertexbegin
 
::std::vector< Vertexend
 
::std::vector< Treetree
 
- Protected Attributes inherited from rl::plan::Planner
::std::chrono::steady_clock::time_point time
 

Detailed Description

Rapidly-Exploring Random Trees.

Steven M. LaValle. Rapidly-exploring random trees: A new tool for path planning. Technical Report TR 98-11, Iowa State University, Ames, IA, USA, October 1998.

http://msl.cs.uiuc.edu/~lavalle/papers/Lav98c.pdf

Member Typedef Documentation

◆ Edge

typedef ::boost::graph_traits<Tree>::edge_descriptor rl::plan::Rrt::Edge
protected

◆ EdgeIterator

typedef ::boost::graph_traits<Tree>::edge_iterator rl::plan::Rrt::EdgeIterator
protected

◆ EdgeIteratorPair

◆ Neighbor

typedef ::std::pair< ::rl::math::Real, Vertex> rl::plan::Rrt::Neighbor
protected

◆ Tree

typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::std::shared_ptr<VertexBundle>, ::boost::no_property, TreeBundle > rl::plan::Rrt::Tree
protected

◆ Vertex

typedef ::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::listS >::vertex_descriptor rl::plan::Rrt::Vertex
protected

◆ VertexIterator

typedef ::boost::graph_traits<Tree>::vertex_iterator rl::plan::Rrt::VertexIterator
protected

◆ VertexIteratorPair

Constructor & Destructor Documentation

◆ Rrt()

rl::plan::Rrt::Rrt ( const ::std::size_t &  trees = 1)

◆ ~Rrt()

rl::plan::Rrt::~Rrt ( )
virtual

Member Function Documentation

◆ addEdge()

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

Reimplemented in rl::plan::Eet.

◆ addVertex()

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

Reimplemented in rl::plan::Eet, and rl::plan::AddRrtConCon.

◆ areEqual()

bool rl::plan::Rrt::areEqual ( const ::rl::math::Vector lhs,
const ::rl::math::Vector rhs 
) const
protected

◆ choose()

rl::math::Vector rl::plan::Rrt::choose ( )
protected

◆ connect()

Rrt::Vertex rl::plan::Rrt::connect ( Tree tree,
const Neighbor nearest,
const ::rl::math::Vector chosen 
)
protectedvirtual

◆ extend()

Rrt::Vertex rl::plan::Rrt::extend ( Tree tree,
const Neighbor nearest,
const ::rl::math::Vector chosen 
)
protectedvirtual

◆ get()

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

◆ getName()

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

◆ getNearestNeighbors()

NearestNeighbors * rl::plan::Rrt::getNearestNeighbors ( const ::std::size_t &  i) const

◆ getNumEdges()

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

◆ getNumVertices()

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

◆ getPath()

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

Get solution path.

Precondition
solve()

Implements rl::plan::Planner.

Reimplemented in rl::plan::RrtDual, and rl::plan::Eet.

◆ nearest()

Rrt::Neighbor rl::plan::Rrt::nearest ( const Tree tree,
const ::rl::math::Vector chosen 
)
protectedvirtual

◆ reset()

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

Reset planner.

Implements rl::plan::Planner.

Reimplemented in rl::plan::Eet.

◆ setNearestNeighbors()

void rl::plan::Rrt::setNearestNeighbors ( NearestNeighbors nearestNeighbors,
const ::std::size_t &  i 
)

◆ solve()

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

Member Data Documentation

◆ begin

::std::vector<Vertex> rl::plan::Rrt::begin
protected

◆ delta

::rl::math::Real rl::plan::Rrt::delta

Configuration step size.

◆ end

::std::vector<Vertex> rl::plan::Rrt::end
protected

◆ epsilon

::rl::math::Real rl::plan::Rrt::epsilon

Epsilon for configuration comparison.

◆ sampler

Sampler* rl::plan::Rrt::sampler

◆ tree

::std::vector<Tree> rl::plan::Rrt::tree
protected

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