This class encapsulates a friction cone. More...
#include <friction-cone.hpp>
Public Types | |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::Matrix3s | Matrix3s |
| typedef MathBase::MatrixX3s | MatrixX3s |
| typedef MathBase::MatrixXs | MatrixXs |
| typedef MathBase::Quaternions | Quaternions |
| typedef MathBase::Vector3s | Vector3s |
| typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
| FrictionConeTpl () | |
| Initialize the friction cone. | |
| FrictionConeTpl (const Matrix3s &R, const Scalar mu, std::size_t nf=4, const bool inner_appr=true, const Scalar min_nforce=Scalar(0.), const Scalar max_nforce=std::numeric_limits< Scalar >::infinity()) | |
| Initialize the wrench cone. | |
| DEPRECATED ("Use constructor based on rotation matrix.", FrictionConeTpl(const Vector3s &normal, const Scalar mu, std::size_t nf=4, const bool inner_appr=true, const Scalar min_nforce=Scalar(0.), const Scalar max_nforce=std::numeric_limits< Scalar >::infinity());) FrictionConeTpl(const FrictionConeTpl< Scalar > &cone) | |
| Initialize the wrench cone. | |
| DEPRECATED ("Use update()", void update(const Vector3s &normal, const Scalar mu, const bool inner_appr=true, const Scalar min_nforce=Scalar(0.), const Scalar max_nforce=std::numeric_limits< Scalar >::infinity())) | |
| const MatrixX3s & | get_A () const |
| Return the matrix of friction cone. | |
| bool | get_inner_appr () const |
| Return the label that describes the type of friction cone approximation (inner/outer) | |
| const VectorXs & | get_lb () const |
| Return the lower bound of the friction cone. | |
| 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 the friction coefficient. | |
| std::size_t | get_nf () const |
| Return the number of facets. | |
| const Matrix3s & | get_R () const |
| Return the surface normal vector. | |
| const VectorXs & | get_ub () const |
| Return the upper bound of the friction cone. | |
| FrictionConeTpl< Scalar > & | operator= (const FrictionConeTpl< Scalar > &other) |
| void | set_inner_appr (const bool inner_appr) |
| Modify the label that describes the type of friction cone approximation (inner/outer) | |
| void | set_max_nforce (const Scalar max_nforce) |
| Modify the maximum normal force. | |
| void | set_min_nforce (const Scalar min_nforce) |
| Modify the maximum normal force. | |
| void | set_mu (const Scalar mu) |
| Modify friction coefficient. | |
| void | set_R (const Matrix3s &R) |
| Modify the rotation matrix that defines the cone orientation w.r.t. the inertial frame. | |
| void | update () |
| Update the matrix and bound of friction cone inequalities in the world frame. | |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Friends | |
| template<class Scalar > | |
| std::ostream & | operator<< (std::ostream &os, const FrictionConeTpl< Scalar > &X) |
This class encapsulates a friction cone.
A friction cone is a 3D cone that characterizes feasible contact wrench. The friction cone defines a linearized version (pyramid) with a predefined number of facets.
/sa WrenchConeTpl
Definition at line 28 of file friction-cone.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 33 of file friction-cone.hpp.
| typedef MathBase::Vector3s Vector3s |
Definition at line 34 of file friction-cone.hpp.
| typedef MathBase::Matrix3s Matrix3s |
Definition at line 35 of file friction-cone.hpp.
| typedef MathBase::VectorXs VectorXs |
Definition at line 36 of file friction-cone.hpp.
| typedef MathBase::MatrixXs MatrixXs |
Definition at line 37 of file friction-cone.hpp.
| typedef MathBase::MatrixX3s MatrixX3s |
Definition at line 38 of file friction-cone.hpp.
| typedef MathBase::Quaternions Quaternions |
Definition at line 39 of file friction-cone.hpp.
| FrictionConeTpl | ( | const Matrix3s & | R, |
| const Scalar | mu, | ||
| std::size_t | nf = 4, |
||
| const bool | inner_appr = true, |
||
| const Scalar | min_nforce = Scalar(0.), |
||
| const Scalar | max_nforce = std::numeric_limits< Scalar >::infinity() |
||
| ) |
Initialize the wrench cone.
| [in] | R | Rotation matrix that defines the cone orientation w.r.t. the inertial frame |
| [in] | mu | Friction coefficient |
| [in] | nf | Number of facets (default 4) |
| [in] | inner_appr | Label that describes the type of friction cone approximation (inner/outer) |
| [in] | min_nforce | Minimum normal force (default 0.) |
| [in] | max_nforce | Maximum normal force (default inf number)) |
| DEPRECATED | ( | "Use constructor based on rotation matrix." | , |
| FrictionConeTpl< _Scalar >(const Vector3s &normal, const Scalar mu, std::size_t nf=4, const bool inner_appr=true, const Scalar min_nforce=Scalar(0.), const Scalar max_nforce=std::numeric_limits< Scalar >::infinity()); | |||
| ) | const & |
Initialize the wrench cone.
| [in] | cone | Friction cone |
| void update | ( | ) |
Update the matrix and bound of friction cone inequalities 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 with axes parallel to those of the world frame.
| void set_R | ( | const Matrix3s & | R | ) |
Modify the rotation matrix that defines the cone orientation w.r.t. the inertial frame.
Note that you need to run update for updating the inequality matrix and bounds.
| void set_mu | ( | const Scalar | mu | ) |
Modify friction coefficient.
Note that you need to run update for updating the inequality matrix and bounds.
| void set_inner_appr | ( | const bool | inner_appr | ) |
Modify the label that describes the type of friction cone approximation (inner/outer)
Note that you need to run update for updating the inequality matrix and bounds.
| void set_min_nforce | ( | const Scalar | min_nforce | ) |
Modify the maximum normal force.
Note that you need to run update for updating the inequality matrix and bounds.
| void set_max_nforce | ( | const Scalar | max_nforce | ) |
Modify the maximum normal force.
Note that you need to run update for updating the inequality matrix and bounds.
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 32 of file friction-cone.hpp.