Template Class CoPSupportTpl
Defined in File cop-support.hpp
Class Documentation
-
template<typename _Scalar>
class CoPSupportTpl 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,WrenchConeTplPublic Types
-
typedef MathBaseTpl<Scalar> MathBase
Public Functions
-
CoPSupportTpl(const Matrix3s &R, const Vector2s &box)
Initialize the center of pressure support.
- Parameters:
R – [in] Rotation matrix that defines the support orientation w.r.t. the inertial frame
box – [in] Dimension of the foot surface dim = (length, width)
-
CoPSupportTpl(const WrenchConeTpl<Scalar> &support)
Initialize the center of pressure support.
- Parameters:
support – [in] Center of pressure support
-
CoPSupportTpl(const CoPSupportTpl<Scalar> &support)
Initialize the center of pressure support.
- Parameters:
support – [in] Center of pressure support
-
explicit CoPSupportTpl()
Initialize the center of pressure support.
-
~CoPSupportTpl()
-
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.
-
template<typename NewScalar>
CoPSupportTpl<NewScalar> cast() const Cast the wrench cone to a different scalar type.
It is useful for operations requiring different precision or scalar types.
- Template Parameters:
NewScalar – The new scalar type to cast to.
- Returns:
CoPSupportTpl<NewScalar> A CoP support region with the new scalar type.
-
const Matrix3s &get_R() const
Return the rotation matrix that defines the support orientation w.r.t. the inertial 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
updatefor 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
updatefor updating the inequality matrix and bounds.
-
CoPSupportTpl<Scalar> &operator=(const CoPSupportTpl<Scalar> &other)
Public Members
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Friends
-
template<class Scalar>
friend std::ostream &operator<<(std::ostream &os, const CoPSupportTpl<Scalar> &X)
-
typedef MathBaseTpl<Scalar> MathBase