| 
    mc_rtc
    2.14.0
    
   | 
 
#include <mc_solver/InequalityConstraint.h>


Public Member Functions | |
| InequalityConstraintLambda (const tasks::qp::ContactId &cid) | |
  Public Member Functions inherited from mc_solver::utils::InequalityConstraint< utils::UpdateLambda > | |
| InequalityConstraint (unsigned int rIndex) | |
| InequalityConstraint (const tasks::qp::ContactId &cid) | |
| InequalityConstraint (const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid) | |
| const Eigen::MatrixXd & | AInEq () const override | 
| std::string | descInEq (const std::vector< rbd::MultiBody > &, int i) override | 
Additional Inherited Members | |
  Public Types inherited from mc_solver::utils::InequalityConstraint< utils::UpdateLambda > | |
| using | Base = Constraint< tasks::qp::Inequality, utils::UpdateLambda > | 
  Protected Member Functions inherited from mc_solver::utils::Constraint< ConstraintT, UpdateT > | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateRobot>::value>::type> | |
| Constraint (unsigned int rIndex) | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateLambda>::value>::type> | |
| Constraint (const tasks::qp::ContactId &cid) | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateForce>::value>::type> | |
| Constraint (const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid) | |
| virtual | ~Constraint () | 
| void | updateNrVars (const std::vector< rbd::MultiBody > &mbs, const tasks::qp::SolverData &data) override | 
| void | update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const tasks::qp::SolverData &data) override | 
Helper class to write an inequality constraint for Tasks. This constraint applies to the vector of positive multipliers (lambda) associated with a given contact
This implements \( A * \lambda_{cI} \le b \)
Where \(cI\) is the contact id you provide at construction.
You must implement the following functions:
const Eigen::MatrixXd & A() const override; returns \(A\), must be of size (nrLines, nrLambda)void compute() override; update constraint matrix and boundsint maxInEq() const override; number of inequality linesstd::string nameInEq() const override; descriptive name of the constraintconst Eigen::VectorXd & bInEq() const override; returns \(b\) 
      
  | 
  inlineexplicit |