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


Public Types | |
| using | Base = Constraint< tasks::qp::Inequality, UpdateT > |
Public Member Functions | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateRobot>::value>::type> | |
| InequalityConstraint (unsigned int rIndex) | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateLambda>::value>::type> | |
| InequalityConstraint (const tasks::qp::ContactId &cid) | |
| template<typename U = UpdateT, typename = typename std::enable_if<std::is_same<U, utils::UpdateForce>::value>::type> | |
| 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 |
Public Member Functions inherited from tasks::qp::ConstraintFunction< tasks::qp::Inequality > | |
| virtual | ~ConstraintFunction () override |
| void | addToSolver (QPSolver &sol) |
| void | addToSolver (const std::vector< rbd::MultiBody > &mbs, QPSolver &sol) |
| void | removeFromSolver (QPSolver &sol) |
Additional Inherited Members | |
Protected Member Functions inherited from mc_solver::utils::Constraint< tasks::qp::Inequality, UpdateT > | |
| 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 |
Helper class to write an inequality constraint for Tasks.
This implements \( A * x \le b \)
You must implement the following functions:
Depending on what the constraint apply to you have to make sure A has the following size:
| using mc_solver::utils::InequalityConstraint< UpdateT >::Base = Constraint<tasks::qp::Inequality, UpdateT> |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inlineoverride |
|
inlineoverride |