hpp-rbprm 4.15.1
Implementation of RB-PRM planner using hpp.
|
Classes | |
struct | Result |
Enumerations | |
enum | Status { UNREACHABLE , UNABLE_TO_COMPUTE , SAME_ROOT_POSITION , TOO_MANY_CONTACTS_VARIATION , NO_CONTACT_VARIATION , CONTACT_BREAK_FAILED , CONTACT_CREATION_FAILED , QUASI_STATIC , REACHABLE } |
Functions | |
std::pair< MatrixX3, MatrixX3 > | loadConstraintsFromObj (const std::string &fileName, double minDistance=0.) |
loadConstraintsFromObj load the obj file and compute a list of normal and vertex position from it More... | |
std::pair< MatrixX3, VectorX > | computeAllKinematicsConstraints (const RbPrmFullBodyPtr_t &fullBody, const pinocchio::ConfigurationPtr_t &configuration) |
std::pair< MatrixX3, VectorX > | computeKinematicsConstraintsForState (const RbPrmFullBodyPtr_t &fullBody, const State &state) |
std::pair< MatrixX3, VectorX > | computeKinematicsConstraintsForLimb (const RbPrmFullBodyPtr_t &fullBody, const State &state, const std::string &limbName) |
std::pair< MatrixX3, VectorX > | getInequalitiesAtTransform (const std::pair< MatrixX3, MatrixX3 > &NV, const hpp::pinocchio::Transform3f &transform) |
bool | verifyKinematicConstraints (const std::pair< MatrixX3, VectorX > &Ab, const fcl::Vec3f &point) |
bool | verifyKinematicConstraints (const std::pair< MatrixX3, MatrixX3 > &NV, const hpp::pinocchio::Transform3f &transform, const fcl::Vec3f &point) |
bool | verifyKinematicConstraints (const RbPrmFullBodyPtr_t &fullbody, const State &state, fcl::Vec3f point) |
std::pair< MatrixXX, VectorX > | stackConstraints (const std::pair< MatrixXX, VectorX > &Ab, const std::pair< MatrixXX, VectorX > &Cd) |
bool | intersectionExist (const std::pair< MatrixXX, VectorX > &Ab, const fcl::Vec3f &c, fcl::Vec3f &c_out) |
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)) |
std::pair< MatrixXX, VectorX > | computeStabilityConstraintsForState (const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success, const fcl::Vec3f &acc) |
std::pair< MatrixXX, VectorX > | computeConstraintsForState (const RbPrmFullBodyPtr_t &fullbody, State &state, bool &success) |
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, with the quasiStatic formulation of 2-PAC (https://hal.archives-ouvertes.fr/hal-01609055) More... | |
Result | isReachableDynamic (const RbPrmFullBodyPtr_t &fullbody, State &previous, State &next, bool tryQuasiStatic=true, std::vector< double > timings=std::vector< double >(), int numPointsPerPhases=0) |
std::pair< MatrixX3, VectorX > hpp::rbprm::reachability::computeAllKinematicsConstraints | ( | const RbPrmFullBodyPtr_t & | fullBody, |
const pinocchio::ConfigurationPtr_t & | configuration | ||
) |
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::computeConstraintsForState | ( | const RbPrmFullBodyPtr_t & | fullbody, |
State & | state, | ||
bool & | success | ||
) |
std::pair< MatrixX3, VectorX > hpp::rbprm::reachability::computeKinematicsConstraintsForLimb | ( | const RbPrmFullBodyPtr_t & | fullBody, |
const State & | state, | ||
const std::string & | limbName | ||
) |
std::pair< MatrixX3, VectorX > hpp::rbprm::reachability::computeKinematicsConstraintsForState | ( | const RbPrmFullBodyPtr_t & | fullBody, |
const State & | state | ||
) |
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< MatrixX3, VectorX > hpp::rbprm::reachability::getInequalitiesAtTransform | ( | const std::pair< MatrixX3, MatrixX3 > & | NV, |
const hpp::pinocchio::Transform3f & | transform | ||
) |
bool hpp::rbprm::reachability::intersectionExist | ( | const std::pair< MatrixXX, VectorX > & | Ab, |
const fcl::Vec3f & | c, | ||
fcl::Vec3f & | c_out | ||
) |
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)
fullbody | |
previous | the first state of the transition |
next | the last state of the transition |
acc | the CoM acceleration |
useIntermediateState | boolean only relevant in the case of a contact repositionning. If true, use an intermediate state such that there is only one contact change between each state. (and thus compute two intersection between 3 set of constrants). If false it only compute one intersection between two set of constraints. |
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 |
||
) |
std::pair< MatrixX3, MatrixX3 > hpp::rbprm::reachability::loadConstraintsFromObj | ( | const std::string & | fileName, |
double | minDistance = 0. |
||
) |
loadConstraintsFromObj load the obj file and compute a list of normal and vertex position from it
fileName | |
minDistance | if > 0 : add an additionnal plane of normal (0,0,1) and origin (0,0,minDistance) |
std::pair< MatrixXX, VectorX > hpp::rbprm::reachability::stackConstraints | ( | const std::pair< MatrixXX, VectorX > & | Ab, |
const std::pair< MatrixXX, VectorX > & | Cd | ||
) |
bool hpp::rbprm::reachability::verifyKinematicConstraints | ( | const RbPrmFullBodyPtr_t & | fullbody, |
const State & | state, | ||
fcl::Vec3f | point | ||
) |
bool hpp::rbprm::reachability::verifyKinematicConstraints | ( | const std::pair< MatrixX3, MatrixX3 > & | NV, |
const hpp::pinocchio::Transform3f & | transform, | ||
const fcl::Vec3f & | point | ||
) |