mc_solver::InequalityConstraintRobot Class Reference

#include <mc_solver/InequalityConstraint.h>

Inheritance diagram for mc_solver::InequalityConstraintRobot:
Collaboration diagram for mc_solver::InequalityConstraintRobot:

Public Member Functions

 InequalityConstraintRobot (unsigned int rIndex)
 
- Public Member Functions inherited from mc_solver::utils::InequalityConstraint< utils::UpdateRobot >
 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::UpdateRobot >
using Base = Constraint< tasks::qp::Inequality, utils::UpdateRobot >
 
- Protected Member Functions inherited from mc_solver::utils::Constraint< tasks::qp::Inequality, utils::UpdateRobot >
 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< UpdateNrVars >
template<typename U = UpdateNrVars, typename = typename std::enable_if<std::is_same<U, UpdateNrVarsRobot>::value>::type>
 Update (unsigned int rIndex)
 
template<typename U = UpdateNrVars, typename = typename std::enable_if<std::is_same<U, UpdateNrVarsLambda>::value>::type>
 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 Attributes inherited from mc_solver::utils::Update< UpdateNrVars >
Eigen::MatrixXd AFull_
 

Detailed Description

Helper class to write an inequality constraint for Tasks. This constraint applies to alphaD for a given robot.

This implements \( A * \ddot{\mathbf{q}}_{rI} \le b \)

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 bounds
  • int maxInEq() const override; number of inequality lines
  • std::string nameInEq() const override; descriptive name of the constraint
  • const Eigen::VectorXd & bInEq() const override; returns \(b\)

Constructor & Destructor Documentation

◆ InequalityConstraintRobot()

mc_solver::InequalityConstraintRobot::InequalityConstraintRobot ( unsigned int  rIndex)
inlineexplicit

The documentation for this class was generated from the following file: