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 ();
62 static SteeringMethodKinodynamicPtr_t
create (
const core::Problem& problem)
65 SteeringMethodKinodynamicPtr_t shPtr (ptr);
71 static SteeringMethodKinodynamicPtr_t createCopy
72 (
const SteeringMethodKinodynamicPtr_t& other)
75 SteeringMethodKinodynamicPtr_t shPtr (ptr);
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 Eigen::Matrix< pinocchio::value_type, 3, 1 > Vector3
Definition: rbprm-limb.hh:50
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
Definition: algorithm.hh:27
double totalTimeComputed_
Definition: rbprm-steering-kinodynamic.hh:95
virtual core::SteeringMethodPtr_t copy() const
Copy instance and return shared pointer.
Definition: rbprm-steering-kinodynamic.hh:81
Definition: rbprm-node.hh:23
Definition: rbprm-steering-kinodynamic.hh:35
static SteeringMethodKinodynamicPtr_t create(const core::Problem &problem)
Create an instance.
Definition: rbprm-steering-kinodynamic.hh:62
int dirValid_
Definition: rbprm-steering-kinodynamic.hh:97
HPP_PREDEF_CLASS(RbPrmFullBody)
int dirTotal_
Definition: rbprm-steering-kinodynamic.hh:98
double totalTimeValidated_
Definition: rbprm-steering-kinodynamic.hh:96
int rejectedPath_
Definition: rbprm-steering-kinodynamic.hh:99
boost::shared_ptr< SteeringMethodKinodynamic > SteeringMethodKinodynamicPtr_t
Definition: rbprm-steering-kinodynamic.hh:33
const double maxLength_
Definition: rbprm-steering-kinodynamic.hh:100
void init(SteeringMethodKinodynamicWkPtr_t weak)
Store weak pointer to itself.
Definition: rbprm-steering-kinodynamic.hh:111