00001 00008 #ifndef _SMP_PLANNER_RRT_H_ 00009 #define _SMP_PLANNER_RRT_H_ 00010 00011 #include <smp/planners/base_incremental.h> 00012 00013 00014 namespace smp { 00015 00016 00018 00024 template< class typeparams > 00025 class rrt : public planner_incremental<typeparams> { 00026 00027 typedef typename typeparams::state state_t; 00028 typedef typename typeparams::input input_t; 00029 00030 typedef trajectory<typeparams> trajectory_t; 00031 00032 typedef vertex<typeparams> vertex_t; 00033 typedef edge<typeparams> edge_t; 00034 00035 typedef planner_incremental<typeparams> planner_t; 00036 00037 typedef sampler_base<typeparams> sampler_t; 00038 typedef distance_evaluator_base<typeparams> distance_evaluator_t; 00039 typedef extender_base<typeparams> extender_t; 00040 typedef collision_checker_base<typeparams> collision_checker_t; 00041 typedef model_checker_base<typeparams> model_checker_t; 00042 00043 00044 public: 00045 00046 rrt (); 00047 ~rrt (); 00048 00062 rrt (sampler_t &sampler_in, distance_evaluator_t &distance_evaluator_in, extender_t &extender_in, 00063 collision_checker_t &collision_checker_in, model_checker_t &model_checker_in); 00064 00083 int iteration (); 00084 00085 }; 00086 00087 } 00088 00089 #endif