#include <Tasks/QPContacts.h>
|
| UnilateralContact () |
|
| UnilateralContact (int r1Index, int r2Index, const std::string &r1BodyName, const std::string &r2BodyName, std::vector< Eigen::Vector3d > r1Points, const Eigen::Matrix3d &r1Frame, const sva::PTransformd &X_b1_b2, int nrGen, double mu, const sva::PTransformd &X_b1_cf=sva::PTransformd::Identity()) |
|
| UnilateralContact (int r1Index, int r2Index, const std::string &r1BodyName, const std::string &r2BodyName, int ambId, std::vector< Eigen::Vector3d > r1Points, const Eigen::Matrix3d &r1Frame, const sva::PTransformd &X_b1_b2, int nrGen, double mu, const sva::PTransformd &X_b1_cf=sva::PTransformd::Identity()) |
|
| UnilateralContact (const ContactId &cId, std::vector< Eigen::Vector3d > r1Points, const Eigen::Matrix3d &r1Frame, const sva::PTransformd &X_b1_b2, int nrGen, double mu, const sva::PTransformd &X_b1_cf=sva::PTransformd::Identity()) |
|
Eigen::Vector3d | force (const Eigen::VectorXd &lambda, int p, const FrictionCone &c) const |
|
Eigen::Vector3d | force (const Eigen::VectorXd &lambda, const FrictionCone &c) const |
|
sva::ForceVecd | force (const Eigen::VectorXd &lambda, const std::vector< Eigen::Vector3d > &r_b_pi, const FrictionCone &c_pi_b) const |
|
int | nrLambda (int point) const |
|
int | nrLambda () const |
|
Eigen::Vector3d | sForce (const Eigen::VectorXd &lambda, int point, const FrictionCone &c) const |
|
Eigen::Vector3d | sForce (const Eigen::VectorXd &lambda, const FrictionCone &c) const |
|
sva::ForceVecd | sForce (const Eigen::VectorXd &lambda, const std::vector< Eigen::Vector3d > &r_b_pi, const FrictionCone &c_pi_b) const |
|
int | sNrLambda (int point) const |
|
Model of a planar contacts. All friction cone are in the same direction.
◆ UnilateralContact() [1/4]
tasks::qp::UnilateralContact::UnilateralContact |
( |
| ) |
|
|
inline |
◆ UnilateralContact() [2/4]
tasks::qp::UnilateralContact::UnilateralContact |
( |
int |
r1Index, |
|
|
int |
r2Index, |
|
|
const std::string & |
r1BodyName, |
|
|
const std::string & |
r2BodyName, |
|
|
std::vector< Eigen::Vector3d > |
r1Points, |
|
|
const Eigen::Matrix3d & |
r1Frame, |
|
|
const sva::PTransformd & |
X_b1_b2, |
|
|
int |
nrGen, |
|
|
double |
mu, |
|
|
const sva::PTransformd & |
X_b1_cf = sva::PTransformd::Identity() |
|
) |
| |
- Parameters
-
r1Index | First robot imply in the contact. |
r2Index | Second robot imply in the contact. |
r1BodyName | Body name of robot r1Index imply in the contact. |
r2BodyName | Body name of robot r2Index imply in the contact. |
r1Points | Contact points in r1BodyId frame. |
r1Frame | Friction cone frame in rbBodyId frame. |
X_b1_b2 | Transformation between r1BodyId and r2BodyId frame. |
nrGen | Number of generatrix. |
mu | Coefficient of friction. |
X_b1_cf | Define the \( cf \) frame (common frame) used in the contact constraints. |
- See also
- ContactConstrCommon::addDofContact
◆ UnilateralContact() [3/4]
tasks::qp::UnilateralContact::UnilateralContact |
( |
int |
r1Index, |
|
|
int |
r2Index, |
|
|
const std::string & |
r1BodyName, |
|
|
const std::string & |
r2BodyName, |
|
|
int |
ambId, |
|
|
std::vector< Eigen::Vector3d > |
r1Points, |
|
|
const Eigen::Matrix3d & |
r1Frame, |
|
|
const sva::PTransformd & |
X_b1_b2, |
|
|
int |
nrGen, |
|
|
double |
mu, |
|
|
const sva::PTransformd & |
X_b1_cf = sva::PTransformd::Identity() |
|
) |
| |
- Parameters
-
r1Index | First robot imply in the contact. |
r2Index | Second robot imply in the contact. |
r1BodyName | Body name of robot r1Index imply in the contact. |
r2BodyName | Body name of robot r2Index imply in the contact. |
ambId | ambiguityId. |
r1Points | Contact points in r1BodyId frame. |
r1Frame | Friction cone frame in rbBodyId frame. |
X_b1_b2 | Transformation between r1BodyId and r2BodyId frame. |
nrGen | Number of generatrix. |
mu | Coefficient of friction. |
X_b1_cf | Define the \( cf \) frame (common frame) used in the contact constraints. |
- See also
- ContactConstrCommon::addDofContact
-
ContactId::ContactId
◆ UnilateralContact() [4/4]
tasks::qp::UnilateralContact::UnilateralContact |
( |
const ContactId & |
cId, |
|
|
std::vector< Eigen::Vector3d > |
r1Points, |
|
|
const Eigen::Matrix3d & |
r1Frame, |
|
|
const sva::PTransformd & |
X_b1_b2, |
|
|
int |
nrGen, |
|
|
double |
mu, |
|
|
const sva::PTransformd & |
X_b1_cf = sva::PTransformd::Identity() |
|
) |
| |
- Parameters
-
cId | Contact id. |
r1Points | Contact points in r1BodyId frame. |
r1Frame | Friction cone frame in rbBodyId frame. |
X_b1_b2 | Transformation between r1BodyId and r2BodyId frame. |
nrGen | Number of generatrix. |
mu | Coefficient of friction. |
X_b1_cf | Define the \( cf \) frame (common frame) used in the contact constraints. |
- See also
- ContactConstrCommon::addDofContact
◆ force() [1/3]
Eigen::Vector3d tasks::qp::UnilateralContact::force |
( |
const Eigen::VectorXd & |
lambda, |
|
|
const FrictionCone & |
c |
|
) |
| const |
- Returns
- Cone c, force vector in body coordinate.
◆ force() [2/3]
sva::ForceVecd tasks::qp::UnilateralContact::force |
( |
const Eigen::VectorXd & |
lambda, |
|
|
const std::vector< Eigen::Vector3d > & |
r_b_pi, |
|
|
const FrictionCone & |
c_pi_b |
|
) |
| const |
Compute force applied on the body origin in the body frame.
- Parameters
-
lambda | Linearized contact forces. |
r_b_pi | List of transformation r_b_pi (body origin to point i). |
c_pi_b | Friction cone associated with each point in body frame. |
- Returns
- F_b, the 6D force applied on the body origin at the body frame.
◆ force() [3/3]
Eigen::Vector3d tasks::qp::UnilateralContact::force |
( |
const Eigen::VectorXd & |
lambda, |
|
|
int |
p, |
|
|
const FrictionCone & |
c |
|
) |
| const |
- Returns
- Cone c, point p force vector in body coordinate.
◆ nrLambda() [1/2]
int tasks::qp::UnilateralContact::nrLambda |
( |
| ) |
const |
- Returns
- Number of lambda needed to compute the force vector.
◆ nrLambda() [2/2]
int tasks::qp::UnilateralContact::nrLambda |
( |
int |
point | ) |
const |
- Returns
- Number of lambda needed to compute the force vector of the contact point.
◆ sForce() [1/3]
Eigen::Vector3d tasks::qp::UnilateralContact::sForce |
( |
const Eigen::VectorXd & |
lambda, |
|
|
const FrictionCone & |
c |
|
) |
| const |
Safe version of
- See also
- force.
- Exceptions
-
std::domain_error | If lambda don't match the number of generator. |
◆ sForce() [2/3]
sva::ForceVecd tasks::qp::UnilateralContact::sForce |
( |
const Eigen::VectorXd & |
lambda, |
|
|
const std::vector< Eigen::Vector3d > & |
r_b_pi, |
|
|
const FrictionCone & |
c_pi_b |
|
) |
| const |
Safe version of
- See also
- force.
- Exceptions
-
std::domain_error | If lambda don't match the number of generator. |
◆ sForce() [3/3]
Eigen::Vector3d tasks::qp::UnilateralContact::sForce |
( |
const Eigen::VectorXd & |
lambda, |
|
|
int |
point, |
|
|
const FrictionCone & |
c |
|
) |
| const |
Safe version of
- See also
- force.
- Exceptions
-
std::domain_error | If lambda don't match the number of generator or if point is not a valid index. |
◆ sNrLambda()
int tasks::qp::UnilateralContact::sNrLambda |
( |
int |
point | ) |
const |
Safe version of
- See also
- nrLambda.
- Exceptions
-
std::domain_error | If point is not a valid index. |
◆ contactId
ContactId tasks::qp::UnilateralContact::contactId |
◆ r1Cone
◆ r1Points
std::vector<Eigen::Vector3d> tasks::qp::UnilateralContact::r1Points |
◆ r2Cone
◆ r2Points
std::vector<Eigen::Vector3d> tasks::qp::UnilateralContact::r2Points |
◆ X_b1_b2
sva::PTransformd tasks::qp::UnilateralContact::X_b1_b2 |
◆ X_b1_cf
sva::PTransformd tasks::qp::UnilateralContact::X_b1_cf |
The documentation for this struct was generated from the following file: