pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
CoulombFrictionConeTpl< _Scalar > Struct Template Reference

  More...

#include <pinocchio/algorithm/constraints/coulomb-friction-cone.hpp>

Public Types

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

Public Member Functions

 CoulombFrictionConeTpl (const CoulombFrictionConeTpl &other)=default
 Copy constructor.
 
 CoulombFrictionConeTpl (const Scalar mu)
 Default constructor. More...
 
template<typename Vector3Like1 , typename Vector3Like2 >
Scalar computeConicComplementarity (const Eigen::MatrixBase< Vector3Like1 > &v, const Eigen::MatrixBase< Vector3Like2 > &f) const
 
template<typename Vector3Like1 , typename Vector3Like2 >
Scalar computeContactComplementarity (const Eigen::MatrixBase< Vector3Like1 > &v, const Eigen::MatrixBase< Vector3Like2 > &f) const
 
template<typename Vector3Like >
Vector3Like computeNormalCorrection (const Eigen::MatrixBase< Vector3Like > &v) const
 Compute the complementary shift associted to the Coulomb friction cone for complementarity satisfaction in complementary problems. More...
 
template<typename Vector3Like >
Vector3Like computeRadialProjection (const Eigen::MatrixBase< Vector3Like > &f) const
 Compute the radial projection associted to the Coulomb friction cone. More...
 
DualCone dual () const
 Returns the dual cone associated to this.
 
template<typename Vector3Like >
bool isInside (const Eigen::MatrixBase< Vector3Like > &f, const Scalar prec=Scalar(0)) const
 Check whether a vector x lies within the cone. More...
 
bool operator!= (const CoulombFrictionConeTpl &other) const
 Difference operator.
 
CoulombFrictionConeTploperator= (const CoulombFrictionConeTpl &other)=default
 Copy operator.
 
bool operator== (const CoulombFrictionConeTpl &other) const
 Comparison operator.
 
template<typename Vector3Like >
Vector3Like project (const Eigen::MatrixBase< Vector3Like > &x) const
 Project a vector x onto the cone. More...
 
template<typename Vector3Like >
Vector3Like weightedProject (const Eigen::MatrixBase< Vector3Like > &x, const Eigen::MatrixBase< Vector3Like > &R) const
 Project a vector x onto the cone with a matric specified by the diagonal matrix R. More...
 

Static Public Member Functions

static int dim ()
 Returns the dimension of the cone.
 

Public Attributes

Scalar mu
 

Detailed Description

template<typename _Scalar>
struct pinocchio::CoulombFrictionConeTpl< _Scalar >

 

3d Coulomb friction cone.

Definition at line 20 of file coulomb-friction-cone.hpp.

Constructor & Destructor Documentation

◆ CoulombFrictionConeTpl()

CoulombFrictionConeTpl ( const Scalar  mu)
inlineexplicit

Default constructor.

Parameters
[in]muFriction coefficient

Definition at line 29 of file coulomb-friction-cone.hpp.

Member Function Documentation

◆ computeNormalCorrection()

Vector3Like computeNormalCorrection ( const Eigen::MatrixBase< Vector3Like > &  v) const
inline

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

Parameters
[in]va dual vector.

Definition at line 130 of file coulomb-friction-cone.hpp.

◆ computeRadialProjection()

Vector3Like computeRadialProjection ( const Eigen::MatrixBase< Vector3Like > &  f) const
inline

Compute the radial projection associted to the Coulomb friction cone.

Parameters
[in]fa force vector.

Definition at line 148 of file coulomb-friction-cone.hpp.

◆ isInside()

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

Check whether a vector x lies within the cone.

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

Definition at line 58 of file coulomb-friction-cone.hpp.

◆ project()

Vector3Like project ( const Eigen::MatrixBase< Vector3Like > &  x) const
inline

Project a vector x onto the cone.

Parameters
[in]xa 3d vector to project.

Definition at line 72 of file coulomb-friction-cone.hpp.

◆ weightedProject()

Vector3Like weightedProject ( const Eigen::MatrixBase< Vector3Like > &  x,
const Eigen::MatrixBase< Vector3Like > &  R 
) const
inline

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

Parameters
[in]xa 3d vector to project.
[in]Ra 3d vector representing the diagonal of the weights matrix. The tangential components (the first two) of R should be equal.

Definition at line 108 of file coulomb-friction-cone.hpp.


The documentation for this struct was generated from the following file: