This class encapsulates a wrench cone. More...
#include <crocoddyl/multibody/wrench-cone.hpp>
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. | |
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.
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.
[in] | R | Rotation matrix that defines the cone orientation |
[in] | mu | Friction coefficient |
[in] | box | Dimension of the foot surface dim = (length, width) |
[in] | nf | Number of facets (default 16) |
[in] | min_nforce | Minimum normal force (default 0.) |
[in] | max_nforce | Maximum normal force (default default sys.float_info.max)) |
WrenchConeTpl | ( | const WrenchConeTpl< Scalar > & | cone | ) |
Initialize the wrench cone.
[in] | cone | Wrench cone |
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.
[in] | R | Rotation matrix that defines the cone orientation |
[in] | mu | Friction coefficient |
[in] | box | Dimension of the foot surface dim = (length, width) |
[in] | min_nforce | Minimum normal force (default 0.) |
[in] | max_nforce | Maximum normal force (default default sys.float_info.max)) |