pinocchio  3.9.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< 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.
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

template<typename _Scalar>
typedef DualCoulombFrictionConeTpl<Scalar> DualCone

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

◆ Scalar

template<typename _Scalar>
typedef _Scalar 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 Scalarmu)
inlineexplicit

Default constructor.

Parameters
[in]muFriction coefficient

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

Member Function Documentation

◆ computeConicComplementarity()

template<typename _Scalar>
template<typename Vector3Like1, typename Vector3Like2>
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>
template<typename Vector3Like1, typename Vector3Like2>
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>
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 Scalarprec = 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: