hpp-rbprm  4.15.1
Implementation of RB-PRM planner using hpp.
reachability.hh File Reference
#include <hpp/centroidal-dynamics/centroidal_dynamics.hh>
#include <hpp/core/path.hh>
#include <hpp/rbprm/contact_generation/kinematics_constraints.hh>
#include <hpp/rbprm/rbprm-limb.hh>
#include <hpp/rbprm/rbprm-state.hh>
Include dependency graph for reachability.hh:

Go to the source code of this file.

Classes

struct  hpp::rbprm::reachability::Result
 

Namespaces

 hpp
 
 hpp::rbprm
 
 hpp::rbprm::reachability
 

Enumerations

enum  hpp::rbprm::reachability::Status {
  hpp::rbprm::reachability::UNREACHABLE, hpp::rbprm::reachability::UNABLE_TO_COMPUTE, hpp::rbprm::reachability::SAME_ROOT_POSITION, hpp::rbprm::reachability::TOO_MANY_CONTACTS_VARIATION,
  hpp::rbprm::reachability::NO_CONTACT_VARIATION, hpp::rbprm::reachability::CONTACT_BREAK_FAILED, hpp::rbprm::reachability::CONTACT_CREATION_FAILED, hpp::rbprm::reachability::QUASI_STATIC,
  hpp::rbprm::reachability::REACHABLE
}
 

Functions

 hpp::rbprm::HPP_PREDEF_CLASS (RbPrmFullBody)
 
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::stackConstraints (const std::pair< MatrixXX, VectorX > &Ab, const std::pair< MatrixXX, VectorX > &Cd)
 
bool hpp::rbprm::reachability::intersectionExist (const std::pair< MatrixXX, VectorX > &Ab, const fcl::Vec3f &c, fcl::Vec3f &c_out)
 
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::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))
 
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::computeStabilityConstraintsForState (const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success, const fcl::Vec3f &acc)
 
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::computeConstraintsForState (const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success)
 
Result hpp::rbprm::reachability::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, with the quasiStatic formulation of 2-PAC (https://hal.archives-ouvertes.fr/hal-01609055) More...
 
Result hpp::rbprm::reachability::isReachableDynamic (const RbPrmFullBodyPtr_t &fullbody, State &previous, State &next, bool tryQuasiStatic=true, std::vector< double > timings=std::vector< double >(), int numPointsPerPhases=0)