29 #ifndef HPP_CONSTRAINTS_QP_STATIC_STABILITY_HH
30 #define HPP_CONSTRAINTS_QP_STATIC_STABILITY_HH
36 #include <qpOASES.hpp>
39 namespace constraints {
56 static const Eigen::Matrix<value_type, 6, 1>
Gravity;
75 const std::vector<ForceData>& contacts,
85 const std::vector<ForceData>& contacts,
100 if (name() != castother.
name())
return false;
101 if (robot_ != castother.robot_)
return false;
102 if (nbContacts_ != castother.nbContacts_)
return false;
103 if (com_ != castother.com_)
return false;
104 if (Zeros != castother.Zeros)
return false;
105 if (nWSR != castother.nWSR)
return false;
111 static const Eigen::Matrix<value_type, 6, 1> MinusGravity;
113 qpOASES::real_t* Zeros;
114 const qpOASES::int_t nWSR;
121 qpOASES::returnValue solveQP(
vectorOut_t result)
const;
123 bool checkQPSol()
const;
124 bool checkStrictComplementarity()
const;
127 std::size_t nbContacts_;
131 typedef Eigen::Matrix<qpOASES::real_t, Eigen::Dynamic, Eigen::Dynamic,
134 typedef Eigen::Map<RowMajorMatrix_t> InvertStorageOrderMap_t;
135 typedef Eigen::Map<Eigen::Matrix<qpOASES::real_t, Eigen::Dynamic, 1> >
137 typedef Eigen::Map<const vector_t> ConstVectorMap_t;
139 mutable RowMajorMatrix_t H_;
141 mutable qpOASES::QProblemB qp_;
Definition: differentiable-function.hh:63
virtual bool isEqual(const DifferentiableFunction &other) const
Definition: differentiable-function.hh:206
const std::string & name() const
Get function name.
Definition: differentiable-function.hh:122
Matrix having Expression elements.
Definition: symbolic-calculus.hh:871
Definition: qp-static-stability.hh:54
static QPStaticStabilityPtr_t create(const std::string &name, const DevicePtr_t &robot, const Contacts_t &contacts, const CenterOfMassComputationPtr_t &com)
StaticStability::Contacts_t Contacts_t
Definition: qp-static-stability.hh:59
ConvexShapeContact::ForceData ForceData
Definition: qp-static-stability.hh:60
MatrixOfExpressions & phi()
Definition: qp-static-stability.hh:92
static const Eigen::Matrix< value_type, 6, 1 > Gravity
Definition: qp-static-stability.hh:56
static QPStaticStabilityPtr_t create(const DevicePtr_t &robot, const Contacts_t &contacts, const CenterOfMassComputationPtr_t &com)
StaticStability::Contact_t Contact_t
Definition: qp-static-stability.hh:58
static QPStaticStabilityPtr_t create(const std::string &name, const DevicePtr_t &robot, const std::vector< ForceData > &contacts, const CenterOfMassComputationPtr_t &com)
QPStaticStability(const std::string &name, const DevicePtr_t &robot, const std::vector< ForceData > &contacts, const CenterOfMassComputationPtr_t &com)
bool isEqual(const DifferentiableFunction &other) const
Definition: qp-static-stability.hh:95
QPStaticStability(const std::string &name, const DevicePtr_t &robot, const Contacts_t &contacts, const CenterOfMassComputationPtr_t &com)
std::vector< Contact_t > Contacts_t
Definition: static-stability.hh:60
#define HPP_CONSTRAINTS_DLLAPI
Definition: config.hh:88
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:109
shared_ptr< QPStaticStability > QPStaticStabilityPtr_t
Definition: fwd.hh:132
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:106
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:58
pinocchio::CenterOfMassComputationPtr_t CenterOfMassComputationPtr_t
Definition: fwd.hh:112
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:61
pinocchio::vector_t vector_t
Definition: fwd.hh:59
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:66
Definition: active-set-differentiable-function.hh:36