crocoddyl  1.6.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
WrenchConeTpl< _Scalar > Class Template Reference

This class encapsulates a wrench cone. More...

#include <crocoddyl/multibody/wrench-cone.hpp>

Collaboration diagram for WrenchConeTpl< _Scalar >:

Public Types

typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::Matrix3s Matrix3s
 
typedef MathBase::Matrix6s Matrix6s
 
typedef MathBase::MatrixX3s MatrixX3s
 
typedef MathBase::MatrixX6s MatrixX6s
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::Quaternions Quaternions
 
typedef MathBase::Vector2s Vector2s
 
typedef MathBase::Vector3s Vector3s
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 WrenchConeTpl ()
 Initialize the wrench cone.
 
 WrenchConeTpl (const Matrix3s &R, const Scalar &mu, const Vector2s &box_size, std::size_t nf=16, const Scalar &min_nforce=Scalar(0.), const Scalar &max_nforce=std::numeric_limits< Scalar >::max())
 Initialize the wrench cone. More...
 
 WrenchConeTpl (const WrenchConeTpl< Scalar > &cone)
 Initialize the wrench cone. More...
 
const MatrixX6s & get_A () const
 Return the matrix of wrench cone.
 
const Vector2s & get_box () const
 Return dimension of the foot surface dim = (length, width)
 
const VectorXs & get_lb () const
 Return the lower bound of inequalities.
 
const Scalar & get_max_nforce () const
 Return the maximum normal force.
 
const Scalar & get_min_nforce () const
 Return the minimum normal force.
 
const Scalar & get_mu () const
 Return friction coefficient.
 
const std::size_t & get_nf () const
 Return the number of facets.
 
const Matrix3s & get_R () const
 Return the rotation matrix that defines the cone orientation.
 
const VectorXs & get_ub () const
 Return the upper bound of inequalities.
 
void set_box (Vector2s box)
 Modify dimension of the foot surface dim = (length, width)
 
void set_max_nforce (Scalar max_nforce)
 Modify the maximum normal force.
 
void set_min_nforce (Scalar min_nforce)
 Modify the minium normal force.
 
void set_mu (Scalar mu)
 Modify friction coefficient.
 
void set_R (Matrix3s R)
 Modify the rotation matrix that defines the cone orientation.
 
void update (const Matrix3s &R, const Scalar &mu, const Vector2s &box_size, const Scalar &min_nforce=Scalar(0.), const Scalar &max_nforce=std::numeric_limits< Scalar >::max())
 Update the matrix of wrench cone inequaliteis in the world frame. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Friends

template<class Scalar >
std::ostream & operator<< (std::ostream &os, const WrenchConeTpl< Scalar > &X)
 Modify the maximum normal force.
 

Detailed Description

template<typename _Scalar>
class crocoddyl::WrenchConeTpl< _Scalar >

This class encapsulates a wrench cone.

A wrench cone is a 6D polyhedral convex cone that chracterizes feasible contact wrench. The wrench cone is derived in the case of rectangular support areas, which is of practical importance since most humanoid robot feet can be adequately approximated by rectangles.

Definition at line 197 of file fwd.hpp.

Constructor & Destructor Documentation

◆ WrenchConeTpl() [1/2]

WrenchConeTpl ( const Matrix3s &  R,
const Scalar &  mu,
const Vector2s &  box_size,
std::size_t  nf = 16,
const Scalar &  min_nforce = Scalar(0.),
const Scalar &  max_nforce = std::numeric_limits< Scalar >::max() 
)

Initialize the wrench cone.

Parameters
[in]RRotation matrix that defines the cone orientation
[in]muFriction coefficient
[in]boxDimension of the foot surface dim = (length, width)
[in]nfNumber of facets (default 16)
[in]min_nforceMinimum normal force (default 0.)
[in]max_nforceMaximum normal force (default default sys.float_info.max))

◆ WrenchConeTpl() [2/2]

WrenchConeTpl ( const WrenchConeTpl< Scalar > &  cone)

Initialize the wrench cone.

Parameters
[in]coneWrench cone

Member Function Documentation

◆ update()

void update ( const Matrix3s &  R,
const Scalar &  mu,
const Vector2s &  box_size,
const Scalar &  min_nforce = Scalar(0.),
const Scalar &  max_nforce = std::numeric_limits< Scalar >::max() 
)

Update the matrix of wrench cone inequaliteis in the world frame.

This matrix-vector pair describes the linearized Coulomb friction model as follow:

\( -ub \leq A \times w \leq -lb \),

where wrench, \( w \), is expressed in the inertial frame located at the center of the rectangular foot contact area (length, width) with axes parallel to those of the world frame.

Parameters
[in]RRotation matrix that defines the cone orientation
[in]muFriction coefficient
[in]boxDimension of the foot surface dim = (length, width)
[in]min_nforceMinimum normal force (default 0.)
[in]max_nforceMaximum normal force (default default sys.float_info.max))

The documentation for this class was generated from the following files: