9 #ifndef CROCODDYL_MULTIBODY_COP_SUPPORT_HPP_
10 #define CROCODDYL_MULTIBODY_COP_SUPPORT_HPP_
12 #include "crocoddyl/core/mathbase.hpp"
13 #include "crocoddyl/multibody/fwd.hpp"
25 template <
typename _Scalar>
28 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
30 typedef _Scalar Scalar;
32 typedef typename MathBase::Vector2s Vector2s;
33 typedef typename MathBase::Vector3s Vector3s;
34 typedef typename MathBase::Vector4s Vector4s;
35 typedef typename MathBase::Matrix3s Matrix3s;
36 typedef typename MathBase::Matrix46s Matrix46s;
37 typedef typename MathBase::Quaternions Quaternions;
125 template <
class Scalar>
126 friend std::ostream& operator<<(std::ostream& os,
139 #include "crocoddyl/multibody/cop-support.hxx"
This class encapsulates a center of pressure support of a 6d contact.
const Vector4s & get_ub() const
Return the upper bound of the center of pressure support.
void set_box(const Vector2s &box)
Modify dimension of the center of pressure support (length, width)
CoPSupportTpl(const CoPSupportTpl< Scalar > &support)
Initialize the center of pressure support.
CoPSupportTpl(const Matrix3s &R, const Vector2s &box)
Initialize the center of pressure support.
const Vector4s & get_lb() const
Return the lower bound of the center of pressure support.
void set_R(const Matrix3s &R)
Modify the rotation matrix that defines the support orientation w.r.t. the inertial frame.
CoPSupportTpl()
Initialize the center of pressure support.
CoPSupportTpl(const WrenchConeTpl< Scalar > &support)
Initialize the center of pressure support.
const Vector2s & get_box() const
Return dimension of the center of pressure support (length, width)
const Matrix46s & get_A() const
Return the matrix of center of pressure support.
const Matrix3s & get_R() const
Return 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.