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


Public Member Functions | |
| GenInequalityConstraintRobot (unsigned int rIndex) | |
Public Member Functions inherited from mc_solver::utils::GenInequalityConstraint< utils::UpdateRobot > | |
| 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::UpdateRobot > | |
| using | Base = Constraint< tasks::qp::GenInequality, utils::UpdateRobot > |
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 a general inequality constraint for Tasks. This constraint applies to alphaD for a given robot.
This implements \(L \le A * \ddot{\mathbf{q}}_{rI} \le U\)
Where \(rI\) is the robot index you provide at construction.
You must implement the following functions:
const Eigen::MatrixXd & A() const override; returns \(A\), must be of size (nrLines, alphaD.size())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 |