Class FrictionCone

Inheritance Relationships

Base Type

Class Documentation

class FrictionCone : public OpenSoT::Constraint<Eigen::MatrixXd, Eigen::VectorXd>

Public Types

typedef std::shared_ptr<FrictionCone> Ptr
typedef std::pair<Eigen::Matrix3d, double> friction_cone

friction_cone is defined by a Rotation matrix (the rotation from world frame to contatc surface) and friction coefficient

Public Functions

FrictionCone(const std::string &contact_name, const AffineHelper &wrench, XBot::ModelInterface &robot, const friction_cone &mu)
virtual void update()

Updates the A, b, Aeq, beq, Aineq, b*Bound matrices.

void setFrictionCone(const friction_cone &frc)
void setMu(const double mu)
void setContactRotationMatrix(const Eigen::Matrix3d &wRl)

setContactRotationMatrix set the contact roation matrix for the ith-contact

Parameters

wRl

Returns

true if everything went fine

Public Members

friction_cone _mu

_mu is a map between contacts and friction cone: The rotation is the one from world frame to contact frame NOTE that the rotation has the z-axiz parallel to the normal of the surface

XBot::ModelInterface &_robot
Eigen::Matrix<double, 5, 3> _Ci
Eigen::MatrixXd _A
Eigen::VectorXd _b
AffineHelper _friction_cone
AffineHelper _wrench
Eigen::Matrix3d _wRl