tasks::qp::ContactPosConstr Class Reference

#include <Tasks/QPContactConstr.h>

Inheritance diagram for tasks::qp::ContactPosConstr:
Collaboration diagram for tasks::qp::ContactPosConstr:

Public Member Functions

 ContactPosConstr (double timeStep)
 
virtual void update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const SolverData &data) override
 
virtual std::string nameEq () const override
 
- Public Member Functions inherited from tasks::qp::ContactConstr
 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 ()
 
- 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 ()
 

Additional Inherited Members

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

Contact constraint by targeting a constant frame.

\[ v + a \Delta_{dt} = \frac{\epsilon(q)}{\Delta_{dt}} \]

Where \( \epsilon \) is the error between the initial and current contact frame.

This constraint formulation is stable in all case.

Constructor & Destructor Documentation

◆ ContactPosConstr()

tasks::qp::ContactPosConstr::ContactPosConstr ( double  timeStep)
Parameters
timeStepTime step in second.

Member Function Documentation

◆ nameEq()

virtual std::string tasks::qp::ContactPosConstr::nameEq ( ) const
overridevirtual

◆ update()

virtual void tasks::qp::ContactPosConstr::update ( const std::vector< rbd::MultiBody > &  mbs,
const std::vector< rbd::MultiBodyConfig > &  mbcs,
const SolverData data 
)
overridevirtual

Implements tasks::qp::Constraint.


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