|
Tasks
1.8.3
|
#include <Tasks/QPContacts.h>

Public Member Functions | |
| 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 |
Public Attributes | |
| ContactId | contactId |
| std::vector< Eigen::Vector3d > | r1Points |
| std::vector< Eigen::Vector3d > | r2Points |
| FrictionCone | r1Cone |
| FrictionCone | r2Cone |
| sva::PTransformd | X_b1_b2 |
| sva::PTransformd | X_b1_cf |
Model of a planar contacts. All friction cone are in the same direction.
|
inline |
| 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() |
||
| ) |
| 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. |
| 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() |
||
| ) |
| 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. |
| 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() |
||
| ) |
| 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. |
| Eigen::Vector3d tasks::qp::UnilateralContact::force | ( | const Eigen::VectorXd & | lambda, |
| const FrictionCone & | c | ||
| ) | const |
| 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.
| 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. |
| Eigen::Vector3d tasks::qp::UnilateralContact::force | ( | const Eigen::VectorXd & | lambda, |
| int | p, | ||
| const FrictionCone & | c | ||
| ) | const |
| int tasks::qp::UnilateralContact::nrLambda | ( | ) | const |
| int tasks::qp::UnilateralContact::nrLambda | ( | int | point | ) | const |
| Eigen::Vector3d tasks::qp::UnilateralContact::sForce | ( | const Eigen::VectorXd & | lambda, |
| const FrictionCone & | c | ||
| ) | const |
Safe version of
| std::domain_error | If lambda don't match the number of generator. |
| 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
| std::domain_error | If lambda don't match the number of generator. |
| Eigen::Vector3d tasks::qp::UnilateralContact::sForce | ( | const Eigen::VectorXd & | lambda, |
| int | point, | ||
| const FrictionCone & | c | ||
| ) | const |
Safe version of
| std::domain_error | If lambda don't match the number of generator or if point is not a valid index. |
| int tasks::qp::UnilateralContact::sNrLambda | ( | int | point | ) | const |
| ContactId tasks::qp::UnilateralContact::contactId |
| FrictionCone tasks::qp::UnilateralContact::r1Cone |
| std::vector<Eigen::Vector3d> tasks::qp::UnilateralContact::r1Points |
| FrictionCone tasks::qp::UnilateralContact::r2Cone |
| std::vector<Eigen::Vector3d> tasks::qp::UnilateralContact::r2Points |
| sva::PTransformd tasks::qp::UnilateralContact::X_b1_b2 |
| sva::PTransformd tasks::qp::UnilateralContact::X_b1_cf |