5 #ifndef _H_MCRBDYN_CONTACT_H_
6 #define _H_MCRBDYN_CONTACT_H_
11 #include <Tasks/QPContacts.h>
13 #include <SpaceVecAlg/SpaceVecAlg>
22 QPContactPtr() : unilateralContact(nullptr), bilateralContact(nullptr) {}
30 std::vector<sva::PTransformd>
points;
44 const sva::PTransformd & X_es_rs);
51 constexpr
static int nrConeGen = 4;
52 constexpr
static double defaultFriction = 0.7;
53 constexpr
static unsigned int nrBilatPoints = 4;
57 const std::string & robotSurface,
58 const std::string & envSurface,
59 double friction = defaultFriction);
61 const std::string & robotSurface,
62 const std::string & envSurface,
63 const sva::PTransformd & X_es_rs,
64 double friction = defaultFriction);
68 const std::string & r1Surface,
69 const std::string & r2Surface,
70 double friction = defaultFriction,
71 int ambiguityId = -1);
75 const std::string & r1Surface,
76 const std::string & r2Surface,
77 const sva::PTransformd & X_r2s_r1s,
78 double friction = defaultFriction,
79 int ambiguityId = -1);
83 const std::string & r1Surface,
84 const std::string & r2Surface,
85 const sva::PTransformd & X_r2s_r1s,
86 const sva::PTransformd & X_b_s,
87 double friction = defaultFriction,
88 int ambiguityId = -1);
92 const std::string & robotSurface,
93 const std::string & envSurface,
94 const sva::PTransformd & X_es_rs,
107 const std::shared_ptr<mc_rbdyn::Surface> &
r1Surface()
const;
109 const std::shared_ptr<mc_rbdyn::Surface> &
r2Surface()
const;
115 const sva::PTransformd &
X_b_s()
const;
127 std::pair<std::string, std::string>
surfaces()
const;
146 const sva::PTransformd * X_es_rs =
nullptr)
const;
153 inline const Eigen::Vector6d &
dof() const noexcept {
return dof_; }
155 inline void dof(
const Eigen::Vector6d & dof) noexcept { dof_ =
dof; }
161 std::unique_ptr<ContactImpl> impl;
162 Eigen::Vector6d dof_ = Eigen::Vector6d::Ones();
164 const sva::PTransformd & X_b1_b2,
165 const std::vector<sva::PTransformd> & points)
const;
#define MC_RBDYN_DLLAPI
Definition: api.h:50
mc_control::Contact Contact
Definition: Controller.h:22
Definition: generic_gripper.h:15
MC_RBDYN_DLLAPI std::vector< sva::PTransformd > computePoints(const mc_rbdyn::Surface &robotSurface, const mc_rbdyn::Surface &envSurface, const sva::PTransformd &X_es_rs)
auto Robot(const std::string &name, GetT get_fn)
Definition: Robot.h:56
Simplify access to values hold within a JSON file.
Definition: Configuration.h:166