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. | |
CoPSupportTpl (const Matrix3s &R, const Vector2s &box) | |
Initialize the center of pressure support. | |
CoPSupportTpl (const WrenchConeTpl< Scalar > &support) | |
Initialize the center of pressure support. | |
template<typename NewScalar > | |
CoPSupportTpl< NewScalar > | cast () const |
Cast the wrench cone to a different scalar type. | |
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) | |
void | set_R (const Matrix3s &R) |
Modify the rotation matrix that defines the support orientation w.r.t. the inertial frame. | |
void | update () |
Update the matrix of center of pressure 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 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 27 of file cop-support.hpp.
typedef MathBaseTpl<Scalar> MathBase |
Definition at line 32 of file cop-support.hpp.
typedef MathBase::Vector2s Vector2s |
Definition at line 33 of file cop-support.hpp.
typedef MathBase::Vector3s Vector3s |
Definition at line 34 of file cop-support.hpp.
typedef MathBase::Vector4s Vector4s |
Definition at line 35 of file cop-support.hpp.
typedef MathBase::Matrix3s Matrix3s |
Definition at line 36 of file cop-support.hpp.
typedef MathBase::Matrix46s Matrix46s |
Definition at line 37 of file cop-support.hpp.
typedef MathBase::Quaternions Quaternions |
Definition at line 38 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.
Cast the wrench cone to a different scalar type.
It is useful for operations requiring different precision or scalar types.
NewScalar | The new scalar type to cast to. |
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.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 31 of file cop-support.hpp.