tasks::qp::ContactConstr Class Reference

#include <Tasks/QPContactConstr.h>

Inheritance diagram for tasks::qp::ContactConstr:
Collaboration diagram for tasks::qp::ContactConstr:

Classes

struct  ContactData
 
struct  ContactSideData
 

Public Member Functions

 ContactConstr ()
 
void updateDofContacts ()
 
virtual void updateNrVars (const std::vector< rbd::MultiBody > &mbs, const SolverData &data) override
 
virtual std::string descEq (const std::vector< rbd::MultiBody > &mbs, int line) override
 
virtual int nrEq () const override
 
virtual int maxEq () const override
 
virtual const Eigen::MatrixXd & AEq () const override
 
virtual const Eigen::VectorXd & bEq () const override
 
- Public Member Functions inherited from tasks::qp::ConstraintFunction< Equality >
virtual ~ConstraintFunction () override
 
void addToSolver (QPSolver &sol)
 
void addToSolver (const std::vector< rbd::MultiBody > &mbs, QPSolver &sol)
 
void removeFromSolver (QPSolver &sol)
 
- Public Member Functions inherited from tasks::qp::Constraint
virtual ~Constraint ()
 
virtual void update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const SolverData &data)=0
 
- Public Member Functions inherited from tasks::qp::ContactConstrCommon
bool addVirtualContact (const ContactId &contactId)
 
bool removeVirtualContact (const ContactId &contactId)
 Remove a virtual contact. More...
 
void resetVirtualContacts ()
 Remove all virtual contact. More...
 
bool addDofContact (const ContactId &contactId, const Eigen::MatrixXd &dof)
 
bool removeDofContact (const ContactId &contactId)
 
bool hasDoFContact (const ContactId &id) const
 
const Eigen::MatrixXd & dofContact (const ContactId &contactId)
 
void resetDofContacts ()
 

Protected Member Functions

void updateNrEq ()
 
- Protected Member Functions inherited from tasks::qp::ContactConstrCommon
std::set< ContactCommoncontactCommonInContact (const std::vector< rbd::MultiBody > &mbs, const SolverData &data)
 

Protected Attributes

std::vector< ContactDatacont_
 
Eigen::MatrixXd fullJac_
 
Eigen::MatrixXd dofJac_
 
Eigen::MatrixXd A_
 
Eigen::VectorXd b_
 
int nrEq_
 
int totalAlphaD_
 
double timeStep_
 
- Protected Attributes inherited from tasks::qp::ContactConstrCommon
std::set< ContactIdvirtualContacts_
 
std::map< ContactId, Eigen::MatrixXd > dofContacts_
 

Detailed Description

Common contact constraint computation.

Constructor & Destructor Documentation

◆ ContactConstr()

tasks::qp::ContactConstr::ContactConstr ( )

Member Function Documentation

◆ AEq()

virtual const Eigen::MatrixXd& tasks::qp::ContactConstr::AEq ( ) const
overridevirtual

◆ bEq()

virtual const Eigen::VectorXd& tasks::qp::ContactConstr::bEq ( ) const
overridevirtual

◆ descEq()

virtual std::string tasks::qp::ContactConstr::descEq ( const std::vector< rbd::MultiBody > &  mbs,
int  line 
)
overridevirtual

◆ maxEq()

virtual int tasks::qp::ContactConstr::maxEq ( ) const
overridevirtual

◆ nrEq()

virtual int tasks::qp::ContactConstr::nrEq ( ) const
overridevirtual

◆ updateDofContacts()

void tasks::qp::ContactConstr::updateDofContacts ( )

Update \( S \) matrix based on Dof contact. You must call this method after calling ContactConstrCommon::addDofContact, ContactConstrCommon::removeDofContact and ContactConstrCommon::resetDofContacts.

◆ updateNrEq()

void tasks::qp::ContactConstr::updateNrEq ( )
protected

◆ updateNrVars()

virtual void tasks::qp::ContactConstr::updateNrVars ( const std::vector< rbd::MultiBody > &  mbs,
const SolverData data 
)
overridevirtual

Implements tasks::qp::Constraint.

Member Data Documentation

◆ A_

Eigen::MatrixXd tasks::qp::ContactConstr::A_
protected

◆ b_

Eigen::VectorXd tasks::qp::ContactConstr::b_
protected

◆ cont_

std::vector<ContactData> tasks::qp::ContactConstr::cont_
protected

◆ dofJac_

Eigen::MatrixXd tasks::qp::ContactConstr::dofJac_
protected

◆ fullJac_

Eigen::MatrixXd tasks::qp::ContactConstr::fullJac_
protected

◆ nrEq_

int tasks::qp::ContactConstr::nrEq_
protected

◆ timeStep_

double tasks::qp::ContactConstr::timeStep_
protected

◆ totalAlphaD_

int tasks::qp::ContactConstr::totalAlphaD_
protected

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