#include <Tasks/QPContactConstr.h>
Classes | |
struct | ContactCommon |
Public Member Functions | |
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 | |
std::set< ContactCommon > | contactCommonInContact (const std::vector< rbd::MultiBody > &mbs, const SolverData &data) |
Protected Attributes | |
std::set< ContactId > | virtualContacts_ |
std::map< ContactId, Eigen::MatrixXd > | dofContacts_ |
Manage modifier on contact constraint.
bool tasks::qp::ContactConstrCommon::addDofContact | ( | const ContactId & | contactId, |
const Eigen::MatrixXd & | dof | ||
) |
Free some degree of freedom of a contact like in the BoundedSpeedConstr.
\[ \bar{v} = S v \]
with \( v \) the velocity in the UnilateralContact and BilateralContact \( cf \) frame.
dof | \( S \in \mathbb{R}^{n \times 6} \) |
bool tasks::qp::ContactConstrCommon::addVirtualContact | ( | const ContactId & | contactId | ) |
Add a virtual contact. A virtual contact don't have any motion constraint apply on it (move freely). It can be seen like a Dof contact with \( S \in \mathbb{R}^{0 \times 6} \)
|
protected |
const Eigen::MatrixXd& tasks::qp::ContactConstrCommon::dofContact | ( | const ContactId & | contactId | ) |
Get the DoF of a contact
bool tasks::qp::ContactConstrCommon::hasDoFContact | ( | const ContactId & | id | ) | const |
Check if a DoF has specific DoF
bool tasks::qp::ContactConstrCommon::removeDofContact | ( | const ContactId & | contactId | ) |
Remove a Dof contact.
bool tasks::qp::ContactConstrCommon::removeVirtualContact | ( | const ContactId & | contactId | ) |
Remove a virtual contact.
void tasks::qp::ContactConstrCommon::resetDofContacts | ( | ) |
Remove all Dof contact.
void tasks::qp::ContactConstrCommon::resetVirtualContacts | ( | ) |
Remove all virtual contact.
|
protected |
|
protected |