Go to the documentation of this file.
30 #ifndef EXOTICA_OMPL_SOLVER_OMPL_SOLVER_H_
31 #define EXOTICA_OMPL_SOLVER_OMPL_SOLVER_H_
36 typedef boost::function<ompl::base::PlannerPtr(
const ompl::base::SpaceInformationPtr &si,
const std::string &name)>
ConfiguredPlannerAllocator;
38 #if ROS_VERSION_MINIMUM(1, 12, 0) // if ROS version >= ROS_KINETIC
39 template <
class T,
class T1>
40 std::shared_ptr<T>
ompl_cast(std::shared_ptr<T1> ptr)
42 return std::static_pointer_cast<T>(ptr);
47 template <
class T,
class T1>
48 boost::shared_ptr<T>
ompl_cast(boost::shared_ptr<T1> ptr)
50 return boost::static_pointer_cast<T>(ptr);
58 template <
class ProblemType>
65 void Solve(Eigen::MatrixXd &solution)
override;
79 static ompl::base::PlannerPtr
AllocatePlanner(
const ompl::base::SpaceInformationPtr &si,
const std::string &new_name)
81 ompl::base::PlannerPtr planner(
new T(si));
82 if (!new_name.empty())
83 planner->setName(new_name);
90 void GetPath(Eigen::MatrixXd &traj, ompl::base::PlannerTerminationCondition &ptc);
92 std::shared_ptr<ProblemType>
prob_;
102 #endif // EXOTICA_OMPL_SOLVER_OMPL_SOLVER_H_
void SetGoalState(Eigen::VectorXdRefConst qT, const double eps=0)
bool multi_query_
Definition: ompl_solver.h:97
boost::shared_ptr< T > ompl_ptr
Definition: ompl_solver.h:53
ompl::geometric::SimpleSetupPtr ompl_simple_setup_
Definition: ompl_solver.h:93
void GetPath(Eigen::MatrixXd &traj, ompl::base::PlannerTerminationCondition &ptc)
boost::function< ompl::base::PlannerPtr(const ompl::base::SpaceInformationPtr &si, const std::string &name)> ConfiguredPlannerAllocator
Definition: ompl_solver.h:36
boost::shared_ptr< T > ompl_cast(boost::shared_ptr< T1 > ptr)
Definition: ompl_solver.h:48
int GetRandomSeed() const
static ompl::base::PlannerPtr AllocatePlanner(const ompl::base::SpaceInformationPtr &si, const std::string &new_name)
Definition: ompl_solver.h:79
Definition: cartpole_dynamics_solver.h:38
std::string algorithm_
Definition: ompl_solver.h:96
OMPLSolverInitializer init_
Definition: ompl_solver.h:91
const typedef Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
Convenience wrapper for storing references to sub-matrices/vectors.
Definition: conversions.h:52
std::vector< double > bounds_
Definition: ompl_solver.h:98
boost::function< ompl::base::PlannerPtr(const ompl::base::SpaceInformationPtr &si, const std::string &name)> ConfiguredPlannerAllocator
Definition: time_indexed_rrt_connect.h:104
std::shared_ptr< ProblemType > prob_
Definition: ompl_solver.h:92
Definition: motion_solver.h:42
std::shared_ptr< PlanningProblem > PlanningProblemPtr
Definition: planning_problem.h:116
void SetLongestValidSegmentFraction(double segmentFraction)
Definition: ompl_solver.h:73
void SpecifyProblem(PlanningProblemPtr pointer) override
ompl::base::StateSpacePtr state_space_
Definition: ompl_solver.h:94
ConfiguredPlannerAllocator planner_allocator_
Definition: ompl_solver.h:95
Definition: ompl_solver.h:59
double GetLongestValidSegmentLength() const
Definition: ompl_solver.h:72
void Solve(Eigen::MatrixXd &solution) override
void SetValidSegmentCountFactor(unsigned int factor)
Definition: ompl_solver.h:74
double GetMaximumExtent() const
Definition: ompl_solver.h:71
unsigned int GetValidSegmentCountFactor() const
Definition: ompl_solver.h:75