#include <Tasks/QPContactConstr.h>
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 |
![]() | |
virtual | ~ConstraintFunction () override |
void | addToSolver (QPSolver &sol) |
void | addToSolver (const std::vector< rbd::MultiBody > &mbs, QPSolver &sol) |
void | removeFromSolver (QPSolver &sol) |
![]() | |
virtual | ~Constraint () |
virtual void | update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const SolverData &data)=0 |
![]() | |
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 () |
![]() | |
std::set< ContactCommon > | contactCommonInContact (const std::vector< rbd::MultiBody > &mbs, const SolverData &data) |
Protected Attributes | |
std::vector< ContactData > | cont_ |
Eigen::MatrixXd | fullJac_ |
Eigen::MatrixXd | dofJac_ |
Eigen::MatrixXd | A_ |
Eigen::VectorXd | b_ |
int | nrEq_ |
int | totalAlphaD_ |
double | timeStep_ |
![]() | |
std::set< ContactId > | virtualContacts_ |
std::map< ContactId, Eigen::MatrixXd > | dofContacts_ |
Common contact constraint computation.
tasks::qp::ContactConstr::ContactConstr | ( | ) |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
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.
|
protected |
|
overridevirtual |
Implements tasks::qp::Constraint.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |