|
Robotics Library
0.6.2
|
Go to the documentation of this file.
27 #ifndef _RL_PLAN_RRT_H_
28 #define _RL_PLAN_RRT_H_
30 #include <boost/graph/adjacency_list.hpp>
31 #include <CGAL/Search_traits.h>
53 Rrt(const ::std::size_t& trees = 1);
57 virtual ::std::string
getName()
const;
94 typedef ::boost::adjacency_list<
97 ::boost::bidirectionalS,
103 typedef ::boost::adjacency_list_traits<
106 ::boost::bidirectionalS,
110 typedef ::std::pair< const ::rl::math::Vector*, Vertex >
QueryItem;
144 typedef ::CGAL::Search_traits< ::rl::math::Real, QueryItem, const ::rl::math::Real*, CartesianIterator >
SearchTraits;
159 typedef ::boost::graph_traits< Tree >::edge_descriptor
Edge;
169 typedef ::std::pair< Vertex, ::rl::math::Real >
Neighbor;
189 ::std::vector< Vertex >
end;
199 #endif // _RL_PLAN_RRT_H_
Model * model
Definition: Rrt.h:141
bool kd
Use kd-tree for nearest neighbor search instead of brute-force.
Definition: Rrt.h:76
Distance()
Definition: Rrt.cpp:396
::boost::shared_ptr< ::rl::math::Vector > VectorPtr
Definition: VectorPtr.h:37
Vertex addVertex(Tree &tree, const VectorPtr &q)
Definition: Rrt.cpp:109
const ::rl::math::Real * operator()(const QueryItem &p) const
Definition: Rrt.cpp:385
::CGAL::Search_traits< ::rl::math::Real, QueryItem, const ::rl::math::Real *, CartesianIterator > SearchTraits
Definition: Rrt.h:144
::rl::math::Real max_distance_to_rectangle(const Query_item &q, const ::CGAL::Kd_tree_rectangle< SearchTraits > &r) const
Definition: Orthogonal_k_neighbor_search.h:37
::std::size_t index
Definition: Rrt.h:83
::boost::shared_ptr< NeighborSearchTree > NeighborSearchTreePtr
Definition: Rrt.h:150
virtual ::std::string getName() const
Definition: Rrt.cpp:245
::rl::math::Real radius
Definition: Rrt.h:87
virtual Vertex connect(Tree &tree, const Neighbor &nearest, const ::rl::math::Vector &chosen)
Definition: Rrt.cpp:149
NeighborSearch::Tree NeighborSearchTree
Definition: Rrt.h:148
Rapidly-Exploring Random Trees.
Definition: Rrt.h:51
virtual void reset()
Reset planner.
Definition: Rrt.cpp:340
virtual void choose(::rl::math::Vector &chosen)
Definition: Rrt.cpp:143
::std::pair< EdgeIterator, EdgeIterator > EdgeIteratorPair
Definition: Rrt.h:163
::rl::math::Real new_distance(const ::rl::math::Real &dist, const ::rl::math::Real &old_off, const ::rl::math::Real &new_off, const int &cutting_dimension) const
Definition: Rrt.cpp:453
::std::vector< Tree > tree
Definition: Rrt.h:191
void addPoint(NearestNeighbors &nn, const QueryItem &p)
Definition: Rrt.cpp:73
virtual void getPath(VectorList &path)
Get solution path.
Definition: Rrt.cpp:277
::boost::graph_traits< Tree >::edge_iterator EdgeIterator
Definition: Rrt.h:161
::rl::math::Real delta
Configuration step size.
Definition: Rrt.h:70
::boost::shared_ptr< ::rl::math::Transform > TransformPtr
Definition: TransformPtr.h:37
::std::pair< const ::rl::math::Vector *, Vertex > QueryItem
Definition: Rrt.h:110
::std::pair< Vertex, ::rl::math::Real > Neighbor
Definition: Rrt.h:169
::rl::math::Real min_distance_to_rectangle(const Query_item &q, const ::CGAL::Kd_tree_rectangle< SearchTraits > &r) const
::boost::adjacency_list_traits< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::listS >::vertex_descriptor Vertex
Definition: Rrt.h:108
QueryItem Query_item
Definition: Rrt.h:123
::boost::graph_traits< Tree >::edge_descriptor Edge
Definition: Rrt.h:159
virtual Neighbor nearest(const Tree &tree, const ::rl::math::Vector &chosen)
Definition: Rrt.cpp:291
bool areEqual(const ::rl::math::Vector &lhs, const ::rl::math::Vector &rhs) const
Definition: Rrt.cpp:130
::rl::math::Real epsilon
Epsilon for configuration comparison.
Definition: Rrt.h:73
Sampler * sampler
Definition: Rrt.h:78
::std::pair< VertexIterator, VertexIterator > VertexIteratorPair
Definition: Rrt.h:167
virtual ::std::size_t getNumVertices() const
Definition: Rrt.cpp:264
::std::list< ::rl::math::Vector > VectorList
Definition: VectorList.h:37
::std::vector< Vertex > end
Definition: Rrt.h:189
virtual ::std::size_t getNumEdges() const
Definition: Rrt.cpp:251
NearestNeighbors nn
Definition: Rrt.h:156
virtual Vertex extend(Tree &tree, const Neighbor &nearest, const ::rl::math::Vector &chosen)
Definition: Rrt.cpp:222
::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, VertexBundle, ::boost::no_property, TreeBundle > Tree
Definition: Rrt.h:92
::rl::math::Real transformed_distance(const ::rl::math::Real &d) const
Definition: Rrt.cpp:459
VectorPtr q
Definition: Rrt.h:85
Orthogonal_k_neighbor_search< SearchTraits, Distance > NeighborSearch
Definition: Rrt.h:146
::Eigen::Matrix< Real, ::Eigen::Dynamic, 1 > Vector
Definition: Vector.h:41
typedefconst ::rl::math::Real * result_type
Definition: Rrt.h:114
::std::vector< Vertex > begin
Definition: Rrt.h:187
Rrt(const ::std::size_t &trees=1)
Definition: Rrt.cpp:43
double Real
Definition: Real.h:34
::boost::graph_traits< Tree >::vertex_iterator VertexIterator
Definition: Rrt.h:165
::std::vector< NeighborSearchTreePtr > NearestNeighbors
Definition: Rrt.h:152
TransformPtr t
Definition: Rrt.h:89
virtual Edge addEdge(const Vertex &u, const Vertex &v, Tree &tree)
Definition: Rrt.cpp:60
virtual ~Rrt()
Definition: Rrt.cpp:55
virtual bool solve()
Find collision free path.
Definition: Rrt.cpp:352