pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
CoulombFrictionConeTpl< _Scalar > Struct Template Reference

  More...

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

Public Types

typedef DualCoulombFrictionConeTpl< ScalarDualCone
 
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.
 
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.
 
template<typename Vector3Like >
Vector3Like computeRadialProjection (const Eigen::MatrixBase< Vector3Like > &f) const
 Compute the radial projection associted to the Coulomb friction cone.
 
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.
 
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.
 
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.
 

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.

Member Typedef Documentation

◆ DualCone

◆ Scalar

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

◆ Vector3

template<typename _Scalar >
typedef Eigen::Matrix<Scalar, 3, 1> Vector3

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

Constructor & Destructor Documentation

◆ CoulombFrictionConeTpl()

template<typename _Scalar >
CoulombFrictionConeTpl ( const Scalar  mu)
inlineexplicit

Default constructor.

Parameters
[in]muFriction coefficient

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

Member Function Documentation

◆ computeConicComplementarity()

template<typename _Scalar >
Scalar computeConicComplementarity ( const Eigen::MatrixBase< Vector3Like1 > &  v,
const Eigen::MatrixBase< Vector3Like2 > &  f 
) const
inline

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

◆ computeContactComplementarity()

template<typename _Scalar >
Scalar computeContactComplementarity ( const Eigen::MatrixBase< Vector3Like1 > &  v,
const Eigen::MatrixBase< Vector3Like2 > &  f 
) const
inline

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

◆ computeNormalCorrection()

template<typename _Scalar >
template<typename Vector3Like >
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()

template<typename _Scalar >
template<typename Vector3Like >
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.

◆ dim()

template<typename _Scalar >
static int dim ( )
inlinestatic

Returns the dimension of the cone.

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

◆ dual()

template<typename _Scalar >
DualCone dual ( ) const
inline

Returns the dual cone associated to this.

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

◆ isInside()

template<typename _Scalar >
template<typename Vector3Like >
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.

◆ operator!=()

template<typename _Scalar >
bool operator!= ( const CoulombFrictionConeTpl< _Scalar > &  other) const
inline

Difference operator.

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

◆ operator==()

template<typename _Scalar >
bool operator== ( const CoulombFrictionConeTpl< _Scalar > &  other) const
inline

Comparison operator.

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

◆ project()

template<typename _Scalar >
template<typename Vector3Like >
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()

template<typename _Scalar >
template<typename Vector3Like >
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.

Member Data Documentation

◆ mu

template<typename _Scalar >
Scalar mu

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


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