18 #ifndef HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH
19 #define HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH
22 #include <hpp/core/steering-method/steering-kinodynamic.hh>
29 using core::ConfigurationIn_t;
40 core::PathPtr_t operator() (core::ConfigurationIn_t q1,
41 const core::NodePtr_t x)
44 return impl_compute (q1, x);
45 }
catch (
const core::projection_error& e) {
46 hppDout (info,
"Could not build path: " << e.what());
48 return core::PathPtr_t ();
51 core::PathPtr_t operator() (
const core::NodePtr_t x,
52 core::ConfigurationIn_t q2)
55 return impl_compute (x, q2);
56 }
catch (
const core::projection_error& e) {
57 hppDout (info,
"Could not build path: " << e.what());
59 return core::PathPtr_t ();
81 virtual core::SteeringMethodPtr_t
copy ()
const
83 return createCopy (weak_.lock ());
87 virtual core::PathPtr_t impl_compute (core::ConfigurationIn_t q1,
88 core::ConfigurationIn_t q2)
const;
90 core::PathPtr_t impl_compute (core::NodePtr_t x,
91 core::ConfigurationIn_t q2);
93 core::PathPtr_t impl_compute (core::ConfigurationIn_t q1,core::NodePtr_t x);
111 void init (SteeringMethodKinodynamicWkPtr_t weak)
113 core::SteeringMethod::init (weak);
123 core::PathPtr_t computeDirection(
const core::ConfigurationIn_t from,
const core::ConfigurationIn_t to,
bool reverse);
133 core::PathPtr_t setSteeringMethodBounds(
const core::RbprmNodePtr_t& near,
const core::ConfigurationIn_t target,
bool reverse);
139 core::DeviceWkPtr_t device_;
141 centroidal_dynamics::Equilibrium* sEq_;
142 bool boundsUpToDate_;
143 SteeringMethodKinodynamicWkPtr_t weak_;
150 #endif // HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH