Go to the documentation of this file.
26 using namespace trajectories;
27 using namespace tasks;
32 const double frictionCoefficient,
33 const double minNormalForce,
34 const double maxNormalForce)
37 m_forceInequality(
name, 5, 3),
38 m_forceRegTask(
name, 3, 3),
40 m_mu(frictionCoefficient),
41 m_fMin(minNormalForce),
42 m_fMax(maxNormalForce) {
53 motion_mask << 1., 1., 1., 0., 0., 0.;
63 const int n_in = 4 * 1 + 1;
64 const int n_var = 3 * 1;
65 Matrix B = Matrix::Zero(n_in, n_var);
66 Vector lb = -1e10 * Vector::Ones(n_in);
91 "Size of f is wrong - needs to be " + std::to_string(
n_force()));
105 Eigen::Matrix3d
A = Eigen::Matrix3d::Zero();
128 "Size of Kp vector needs to equal 3");
136 "Size of Kd vector needs to equal 3");
145 "Size of contact normal vector needs to equal 3");
154 "Friction coefficient needs to be positive");
155 if (frictionCoefficient <= 0.0)
return false;
156 m_mu = frictionCoefficient;
163 minNormalForce > 0.0 && minNormalForce <=
m_fMax,
164 "The minimal normal force needs to be greater than 0 and less than or "
165 "equal to the maximum force.");
166 if (minNormalForce <= 0.0 || minNormalForce >
m_fMax)
return false;
175 "The maximal normal force needs to be greater "
176 "than or equal to the minimal force");
177 if (maxNormalForce <
m_fMin)
return false;
186 f_ref.size() == 3,
"The size of the force reference needs to equal 3");
#define PINOCCHIO_CHECK_INPUT_ARGUMENT(...)
virtual void setMask(math::ConstRefVector mask) override
Abstract class representing a linear equality/inequality constraint. Equality constraints are represe...
const Vector & lowerBound() const override
const ConstraintBase & compute(const double t, ConstRefVector q, ConstRefVector v, Data &data) override
const ConstraintBase & getConstraint() const override
bool setVector(ConstRefVector b) override
bool setUpperBound(ConstRefVector ub) override
bool setLowerBound(ConstRefVector lb) override
const Vector & Kp() const
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
void setReference(TrajectorySample &ref)
Wrapper for a robot based on pinocchio.
int dim() const override
Return the dimension of the task. \info should be overloaded in the child class.
const Vector & Kd() const
const Vector & upperBound() const override
void useLocalFrame(bool local_frame)
Specifies if the jacobian and desired acceloration should be expressed in the local frame or the loca...
virtual bool setMatrix(ConstRefMatrix A)
tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sat May 3 2025 02:48:16