This class encapsulates a center of pressure support of a 6d contact. More...
#include <cop-support.hpp>
Public Types | |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::Matrix3s | Matrix3s |
typedef MathBase::Matrix46s | Matrix46s |
typedef MathBase::Quaternions | Quaternions |
typedef MathBase::Vector2s | Vector2s |
typedef MathBase::Vector3s | Vector3s |
typedef MathBase::Vector4s | Vector4s |
Public Member Functions | |
CoPSupportTpl () | |
Initialize the center of pressure support. | |
CoPSupportTpl (const CoPSupportTpl< Scalar > &support) | |
Initialize the center of pressure support. More... | |
CoPSupportTpl (const Matrix3s &R, const Vector2s &box) | |
Initialize the center of pressure support. More... | |
CoPSupportTpl (const WrenchConeTpl< Scalar > &support) | |
Initialize the center of pressure support. More... | |
const Matrix46s & | get_A () const |
Return the matrix of center of pressure support. | |
const Vector2s & | get_box () const |
Return dimension of the center of pressure support (length, width) | |
const Vector4s & | get_lb () const |
Return the lower bound of the center of pressure support. | |
const Matrix3s & | get_R () const |
Return the rotation matrix that defines the support orientation w.r.t. the inertial frame. | |
const Vector4s & | get_ub () const |
Return the upper bound of the center of pressure support. | |
CoPSupportTpl< Scalar > & | operator= (const CoPSupportTpl< Scalar > &other) |
void | set_box (const Vector2s &box) |
Modify dimension of the center of pressure support (length, width) More... | |
void | set_R (const Matrix3s &R) |
Modify the rotation matrix that defines the support orientation w.r.t. the inertial frame. More... | |
void | update () |
Update the matrix of center of pressure inequalities 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 CoPSupportTpl< Scalar > &X) |
This class encapsulates a center of pressure support of a 6d contact.
A CoP support defines a rectangular region that characterizes feasible CoP position.
/sa FrictionConeTpl
, WrenchConeTpl
Definition at line 26 of file cop-support.hpp.
CoPSupportTpl | ( | const Matrix3s & | R, |
const Vector2s & | box | ||
) |
Initialize the center of pressure support.
[in] | R | Rotation matrix that defines the support orientation w.r.t. the inertial frame |
[in] | box | Dimension of the foot surface dim = (length, width) |
CoPSupportTpl | ( | const WrenchConeTpl< Scalar > & | support | ) |
Initialize the center of pressure support.
[in] | support | Center of pressure support |
CoPSupportTpl | ( | const CoPSupportTpl< Scalar > & | support | ) |
Initialize the center of pressure support.
[in] | support | Center of pressure support |
void update | ( | ) |
Update the matrix of center of pressure inequalities in the world frame.
This matrix-vector pair describes the center of pressure 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.
void set_R | ( | const Matrix3s & | R | ) |
Modify the rotation matrix that defines the support orientation w.r.t. the inertial frame.
Note that you need to run update
for updating the inequality matrix and bounds.
void set_box | ( | const Vector2s & | box | ) |
Modify dimension of the center of pressure support (length, width)
Note that you need to run update
for updating the inequality matrix and bounds.