#include <mc_solver/GenInequalityConstraint.h>
Public Member Functions | |
GenInequalityConstraintLambda (const tasks::qp::ContactId &cid) | |
Public Member Functions inherited from mc_solver::utils::GenInequalityConstraint< utils::UpdateLambda > | |
GenInequalityConstraint (unsigned int rIndex) | |
GenInequalityConstraint (const tasks::qp::ContactId &cid) | |
GenInequalityConstraint (const mc_solver::QPSolver &solver, const tasks::qp::ContactId &cid) | |
const Eigen::MatrixXd & | AGenInEq () const override |
std::string | descGenInEq (const std::vector< rbd::MultiBody > &, int i) override |
Additional Inherited Members | |
Public Types inherited from mc_solver::utils::GenInequalityConstraint< utils::UpdateLambda > | |
using | Base = Constraint< tasks::qp::GenInequality, utils::UpdateLambda > |
Protected Member Functions inherited from mc_solver::utils::Constraint< tasks::qp::GenInequality, utils::UpdateLambda > | |
Constraint (unsigned int rIndex) | |
Constraint (const tasks::qp::ContactId &cid) | |
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 |
Protected Member Functions inherited from mc_solver::utils::Update< UpdateNrVarsLambda > | |
Update (unsigned int rIndex) | |
Update (const tasks::qp::ContactId &cid) | |
virtual | ~Update () |
virtual void | compute ()=0 |
virtual const Eigen::MatrixXd & | A () const=0 |
void | updateImpl (const std::vector< rbd::MultiBody > &, const std::vector< rbd::MultiBodyConfig > &, const tasks::qp::SolverData &) |
Protected Member Functions inherited from mc_solver::utils::UpdateNrVarsLambda | |
UpdateNrVarsLambda (const tasks::qp::ContactId &cid) | |
void | updateNrVarsImpl (const std::vector< rbd::MultiBody > &mbs, const tasks::qp::SolverData &data) |
Protected Attributes inherited from mc_solver::utils::Update< UpdateNrVarsLambda > | |
Eigen::MatrixXd | AFull_ |
Protected Attributes inherited from mc_solver::utils::UpdateNrVarsLambda | |
tasks::qp::ContactId | cid_ |
Protected Attributes inherited from mc_solver::utils::UpdateNrVarsData | |
int | nrVars_ |
int | ABegin_ |
Helper class to write a general inequality constraint for Tasks. This constraint applies to the vector of positive multipliers (lambda) associated with a given contact
This implements \(L \le A * \lambda_{cI} \le U\)
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 maxGenInEq() const override;
number of inequality linesstd::string nameGenInEq() const override;
descriptive name of the constraintconst Eigen::VectorXd & LowerGenInEq() const override;
returns the lower bound \(L\)const Eigen::VectorXd & UpperGenInEq() const override;
returns the upper bound \(U\)
|
inlineexplicit |