18 #ifndef HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH
19 #define HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH
21 #include <hpp/core/steering-method/steering-kinodynamic.hh>
28 using core::ConfigurationIn_t;
36 :
public core::steeringMethod::Kinodynamic {
39 const core::NodePtr_t x) {
41 return impl_compute(q1, x);
42 }
catch (
const core::projection_error& e) {
43 hppDout(info,
"Could not build path: " << e.what());
45 return core::PathPtr_t();
49 core::ConfigurationIn_t q2) {
51 return impl_compute(x, q2);
52 }
catch (
const core::projection_error& e) {
53 hppDout(info,
"Could not build path: " << e.what());
55 return core::PathPtr_t();
59 core::ProblemConstPtr_t problem) {
76 virtual core::SteeringMethodPtr_t
copy()
const {
77 return createCopy(weak_.lock());
81 virtual core::PathPtr_t impl_compute(core::ConfigurationIn_t q1,
82 core::ConfigurationIn_t q2)
const;
84 core::PathPtr_t impl_compute(core::NodePtr_t x, core::ConfigurationIn_t q2);
86 core::PathPtr_t impl_compute(core::ConfigurationIn_t q1, core::NodePtr_t x);
103 void init(SteeringMethodKinodynamicWkPtr_t weak) {
104 core::SteeringMethod::init(weak);
115 core::PathPtr_t computeDirection(
const core::ConfigurationIn_t from,
116 const core::ConfigurationIn_t to,
130 const core::ConfigurationIn_t target,
134 core::DeviceWkPtr_t device_;
136 centroidal_dynamics::Equilibrium* sEq_;
137 bool boundsUpToDate_;
138 SteeringMethodKinodynamicWkPtr_t weak_;
144 #endif // HPP_RBPRM_STEERING_METHOD_KINODYNAMIC_HH