3 #ifndef SE2EZ_PLAN_HELPER_ 4 #define SE2EZ_PLAN_HELPER_ 6 #include <ompl/base/Constraint.h> 7 #include <ompl/base/ConstrainedSpaceInformation.h> 9 #include <ompl/geometric/SimpleSetup.h> 36 template <
typename T,
typename... Args>
39 auto p = std::make_shared<T>(info, std::forward<Args>(args)...);
44 template <
typename T,
typename... Args>
47 auto planner = makePlanner<T>(std::forward<Args>(args)...);
48 setup->setPlanner(planner);
52 virtual void initialize();
53 virtual void updateValidityChecker();
55 void createPlanners();
63 bool setStart(
const Eigen::VectorXd &vec);
64 bool setGoal(
const Eigen::VectorXd &vec);
65 bool setStartGoal(
const Eigen::VectorXd &start,
const Eigen::VectorXd &goal);
67 bool setStart(
const StatePtr &state);
71 virtual bool postSetState(
const ompl::base::State *state);
79 void postprocess(
bool simplify,
bool interpolate);
86 virtual StatePtr getState(ompl::base::State *state)
const;
87 virtual const StatePtr getStateConst(
const ompl::base::State *state)
const;
91 ompl::base::StateSpacePtr
space;
92 ompl::base::SpaceInformationPtr
info;
93 ompl::geometric::SimpleSetupPtr
setup;
119 void initialize()
override;
120 void updateValidityChecker()
override;
121 bool postSetState(
const ompl::base::State *state)
override;
126 StatePtr getState(ompl::base::State *state)
const override;
127 const StatePtr getStateConst(
const ompl::base::State *state)
const override;
130 void anchor(
const ompl::base::State *state);
131 bool checkConstraint(
const ompl::base::State *state)
const;
ompl::geometric::SimpleSetupPtr setup
ompl::base::SpaceInformationPtr info
A shared pointer wrapper for se2ez::State.
const ConstraintType method
std::shared_ptr< T > makePlanner(Args &&... args)
std::shared_ptr< T > setPlanner(Args &&... args)
ompl::base::ConstraintPtr constraint
A shared pointer wrapper for se2ez::Robot.
ompl::base::StateSpacePtr space
std::map< std::string, ompl::base::PlannerPtr > planners_
#define SE2EZ_CLASS_FORWARD(C)