Robotics Library  0.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
rl::plan::Rrt Class Reference

#include <Rrt.h>

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

Classes

struct  CartesianIterator
struct  Distance
struct  TreeBundle
struct  VertexBundle

Public Member Functions

 Rrt (const ::std::size_t &trees=1)
virtual ~Rrt ()
virtual ::std::string getName () const
virtual ::std::size_t getNumEdges () const
virtual ::std::size_t getNumVertices () const
virtual void getPath (VectorList &path)
virtual void reset ()
virtual bool solve ()
- Public Member Functions inherited from rl::plan::Planner
 Planner ()
virtual ~Planner ()
bool verify ()

Public Attributes

::rl::math::Real delta
::rl::math::Real epsilon
bool kd
Samplersampler
- Public Attributes inherited from rl::plan::Planner
::rl::math::Real duration
::rl::math::Vectorgoal
SimpleModelmodel
::rl::math::Vectorstart
Viewerviewer

Protected Types

typedef
::boost::adjacency_list
< ::boost::listS,::boost::listS,::boost::bidirectionalS,
VertexBundle,::boost::no_property,
TreeBundle
Tree
typedef
::boost::adjacency_list_traits
< ::boost::listS,::boost::listS,::boost::bidirectionalS,::boost::listS >
::vertex_descriptor 
Vertex
typedef ::std::pair< const
::rl::math::Vector *, Vertex
QueryItem
typedef ::CGAL::Search_traits
< ::rl::math::Real, QueryItem,
const ::rl::math::Real
*, CartesianIterator
SearchTraits
typedef
Orthogonal_k_neighbor_search
< SearchTraits, Distance
NeighborSearch
typedef NeighborSearch::Tree NeighborSearchTree
typedef ::boost::shared_ptr
< NeighborSearchTree
NeighborSearchTreePtr
typedef ::std::vector
< NeighborSearchTreePtr
NearestNeighbors
typedef ::boost::graph_traits
< Tree >::edge_descriptor 
Edge
typedef ::boost::graph_traits
< Tree >::edge_iterator 
EdgeIterator
typedef ::std::pair
< EdgeIterator, EdgeIterator
EdgeIteratorPair
typedef ::boost::graph_traits
< Tree >::vertex_iterator 
VertexIterator
typedef ::std::pair
< VertexIterator,
VertexIterator
VertexIteratorPair
typedef ::std::pair< Vertex,::rl::math::RealNeighbor

Protected Member Functions

virtual Edge addEdge (const Vertex &u, const Vertex &v, Tree &tree)
void addPoint (NearestNeighbors &nn, const QueryItem &p)
Vertex addVertex (Tree &tree, const VectorPtr &q)
bool areEqual (const ::rl::math::Vector &lhs, const ::rl::math::Vector &rhs) const
virtual void choose (::rl::math::Vector &chosen)
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)

Protected Attributes

::std::vector< Vertexbegin
::std::vector< Vertexend
::std::vector< Treetree
- Protected Attributes inherited from rl::plan::Planner
::rl::util::Timer timer

Detailed Description

Rapidly-Exploring Random Trees.

Member Typedef Documentation

typedef ::boost::graph_traits< Tree >::edge_descriptor rl::plan::Rrt::Edge
protected
typedef ::boost::graph_traits< Tree >::edge_iterator rl::plan::Rrt::EdgeIterator
protected
typedef ::std::pair< EdgeIterator, EdgeIterator > rl::plan::Rrt::EdgeIteratorPair
protected
typedef ::std::vector< NeighborSearchTreePtr > rl::plan::Rrt::NearestNeighbors
protected
typedef ::std::pair< Vertex, ::rl::math::Real > rl::plan::Rrt::Neighbor
protected
typedef NeighborSearch::Tree rl::plan::Rrt::NeighborSearchTree
protected
typedef ::boost::shared_ptr< NeighborSearchTree > rl::plan::Rrt::NeighborSearchTreePtr
protected
typedef ::std::pair< const ::rl::math::Vector*, Vertex > rl::plan::Rrt::QueryItem
protected
typedef ::CGAL::Search_traits< ::rl::math::Real, QueryItem, const ::rl::math::Real*, CartesianIterator > rl::plan::Rrt::SearchTraits
protected
typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, VertexBundle, ::boost::no_property, TreeBundle > rl::plan::Rrt::Tree
protected
typedef ::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::listS >::vertex_descriptor rl::plan::Rrt::Vertex
protected
typedef ::boost::graph_traits< Tree >::vertex_iterator rl::plan::Rrt::VertexIterator
protected

Constructor & Destructor Documentation

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

Member Function Documentation

Rrt::Edge rl::plan::Rrt::addEdge ( const Vertex u,
const Vertex v,
Tree tree 
)
protectedvirtual
void rl::plan::Rrt::addPoint ( NearestNeighbors nn,
const QueryItem p 
)
protected
Rrt::Vertex rl::plan::Rrt::addVertex ( Tree tree,
const VectorPtr q 
)
protected
bool rl::plan::Rrt::areEqual ( const ::rl::math::Vector lhs,
const ::rl::math::Vector rhs 
) const
protected
void rl::plan::Rrt::choose ( ::rl::math::Vector chosen)
protectedvirtual

Reimplemented in rl::plan::RrtGoalBias.

Rrt::Vertex rl::plan::Rrt::connect ( Tree tree,
const Neighbor nearest,
const ::rl::math::Vector chosen 
)
protectedvirtual
Rrt::Vertex rl::plan::Rrt::extend ( Tree tree,
const Neighbor nearest,
const ::rl::math::Vector chosen 
)
protectedvirtual
std::string rl::plan::Rrt::getName ( ) const
virtual
std::size_t rl::plan::Rrt::getNumEdges ( ) const
std::size_t rl::plan::Rrt::getNumVertices ( ) const
void rl::plan::Rrt::getPath ( VectorList path)
virtual

Get solution path.

Precondition
solve()

Implements rl::plan::Planner.

Reimplemented in rl::plan::RrtDual.

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

Reset planner.

Implements rl::plan::Planner.

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

Member Data Documentation

::std::vector< Vertex > rl::plan::Rrt::begin
protected
::rl::math::Real rl::plan::Rrt::delta

Configuration step size.

::std::vector< Vertex > rl::plan::Rrt::end
protected
::rl::math::Real rl::plan::Rrt::epsilon

Epsilon for configuration comparison.

bool rl::plan::Rrt::kd

Use kd-tree for nearest neighbor search instead of brute-force.

Sampler* rl::plan::Rrt::sampler
::std::vector< Tree > rl::plan::Rrt::tree
protected

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