hpp-rbprm
4.10.0
Implementation of RB-PRM planner using hpp.
|
Go to the documentation of this file. 1 #ifndef HPP_RBPRM_REACHABILITY_HH
2 #define HPP_RBPRM_REACHABILITY_HH
5 #include <hpp/centroidal-dynamics/centroidal_dynamics.hh>
8 #include <hpp/core/path.hh>
17 namespace reachability{
36 x(fcl::Vec3f::Zero()),
45 x(fcl::Vec3f::Zero()),
65 if (
path_->length() > 0){
83 std::pair<MatrixXX, VectorX>
stackConstraints(
const std::pair<MatrixXX, VectorX> &Ab,
const std::pair<MatrixXX, VectorX> &Cd);
85 bool intersectionExist(
const std::pair<MatrixXX, VectorX>& Ab,
const fcl::Vec3f& c, fcl::Vec3f &c_out);
87 std::pair<MatrixXX, VectorX>
computeStabilityConstraints(
const centroidal_dynamics::Equilibrium& contactPhase,
const fcl::Vec3f& int_point = fcl::Vec3f(0,0,0),
const fcl::Vec3f& acc = fcl::Vec3f(0,0,0));
112 #endif // REACHABILITY_HH
HPP_PREDEF_CLASS(RbPrmFullBody)
VectorX timings_
Definition: reachability.hh:78
@ CONTACT_CREATION_FAILED
Definition: reachability.hh:27
bool pathExist()
Definition: reachability.hh:63
std::pair< MatrixXX, VectorX > computeStabilityConstraints(const centroidal_dynamics::Equilibrium &contactPhase, const fcl::Vec3f &int_point=fcl::Vec3f(0, 0, 0), const fcl::Vec3f &acc=fcl::Vec3f(0, 0, 0))
Result isReachableDynamic(const RbPrmFullBodyPtr_t &fullbody, State &previous, State &next, bool tryQuasiStatic=true, std::vector< double > timings=std::vector< double >(), int numPointsPerPhases=0)
@ NO_CONTACT_VARIATION
Definition: reachability.hh:25
@ TOO_MANY_CONTACTS_VARIATION
Definition: reachability.hh:24
Status
Definition: reachability.hh:20
std::pair< MatrixXX, VectorX > stackConstraints(const std::pair< MatrixXX, VectorX > &Ab, const std::pair< MatrixXX, VectorX > &Cd)
@ CONTACT_BREAK_FAILED
Definition: reachability.hh:26
Eigen::Matrix< pinocchio::value_type, Eigen::Dynamic, 1 > VectorX
Definition: rbprm-limb.hh:49
@ SAME_ROOT_POSITION
Definition: reachability.hh:23
fcl::Vec3f xCreate_
Definition: reachability.hh:75
Result(Status status)
Definition: reachability.hh:43
std::pair< MatrixXX, VectorX > constraints_
Definition: reachability.hh:76
@ UNABLE_TO_COMPUTE
Definition: reachability.hh:22
Result()
Definition: reachability.hh:34
Definition: algorithm.hh:27
Definition: reachability.hh:32
bool intersectionExist(const std::pair< MatrixXX, VectorX > &Ab, const fcl::Vec3f &c, fcl::Vec3f &c_out)
bool success()
Definition: reachability.hh:61
Status status
Definition: reachability.hh:72
fcl::Vec3f x
Definition: reachability.hh:73
@ UNREACHABLE
Definition: reachability.hh:21
Result(Status status, fcl::Vec3f x)
Definition: reachability.hh:52
@ QUASI_STATIC
Definition: reachability.hh:28
Result isReachable(const RbPrmFullBodyPtr_t &fullbody, State &previous, State &next, const fcl::Vec3f &acc=fcl::Vec3f::Zero(), bool useIntermediateState=false)
isReachable Compute the feasibility of the contact transition between the two state,...
std::pair< MatrixXX, VectorX > computeStabilityConstraintsForState(const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success, const fcl::Vec3f &acc)
Definition: rbprm-state.hh:40
boost::shared_ptr< RbPrmFullBody > RbPrmFullBodyPtr_t
Definition: kinematics_constraints.hh:12
fcl::Vec3f xBreak_
Definition: reachability.hh:74
std::vector< core::PathPtr_t > pathPerPhases_
Definition: reachability.hh:79
core::PathPtr_t path_
Definition: reachability.hh:77
std::pair< MatrixXX, VectorX > computeConstraintsForState(const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success)
@ REACHABLE
Definition: reachability.hh:29