Template Struct CoulombFrictionConeTpl

Struct Documentation

template<typename _Scalar>
struct CoulombFrictionConeTpl

3d Coulomb friction cone.

Public Types

typedef _Scalar Scalar
typedef DualCoulombFrictionConeTpl<Scalar> DualCone
typedef Eigen::Matrix<Scalar, 3, 1> Vector3

Public Functions

inline explicit CoulombFrictionConeTpl(const Scalar mu)

Default constructor.

Parameters:

mu[in] Friction coefficient

CoulombFrictionConeTpl(const CoulombFrictionConeTpl &other) = default

Copy constructor.

CoulombFrictionConeTpl &operator=(const CoulombFrictionConeTpl &other) = default

Copy operator.

inline bool operator==(const CoulombFrictionConeTpl &other) const

Comparison operator.

inline bool operator!=(const CoulombFrictionConeTpl &other) const

Difference operator.

template<typename Vector3Like>
inline bool isInside(const Eigen::MatrixBase<Vector3Like> &f, const Scalar prec = Scalar(0)) const

Check whether a vector x lies within the cone.

Parameters:

f[in] vector to check (assimilated to a force vector).

template<typename Vector3Like> inline  PINOCCHIO_EIGEN_PLAIN_TYPE (Vector3Like) project(const Eigen

Project a vector x onto the cone.

Project a vector x onto the cone with a matric specified by the diagonal matrix R.

Compute the complementary shift associted to the Coulomb friction cone for complementarity satisfaction in complementary problems.

Compute the radial projection associted to the Coulomb friction cone.

Parameters:
  • x[in] a 3d vector to project.

  • x[in] a 3d vector to project.

  • R[in] a 3d vector representing the diagonal of the weights matrix. The tangential components (the first two) of R should be equal.

  • v[in] a dual vector.

  • f[in] a force vector.

Public Members

Scalar mu