Class JointLimits

Inheritance Relationships

Base Type

Class Documentation

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

The JointLimits class implements bounds on joints positions using internally the GenericConstraint and affine variables.

It is a variation of the joint limits presented in the paper: “Invariance control design for nonlinear control affine systems under hard state constraints”, by: J. Wolff and M.Buss

Public Types

typedef std::shared_ptr<JointLimits> Ptr

Public Functions

JointLimits(XBot::ModelInterface &robot, const AffineHelper &qddot, const Eigen::VectorXd &jointBoundMax, const Eigen::VectorXd &jointBoundMin, const Eigen::VectorXd &jointAccMax, const double dt)

JointLimits constructor.

Parameters
  • robot

  • qddot

  • jointBoundMax – max joint limits

  • jointBoundMin – min joint limits

  • jointAccMax – max joint acceleration

  • dt – discretization time

virtual void update()

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

void setJointAccMax(const Eigen::VectorXd &jointAccMax)

setJointAccMax updates joint acceleration limits

Parameters

jointAccMax

bool setPStepAheadPredictor(const double p)

setPStepAheadPredictor

Parameters

p – step predictor coefficient >= 1

Returns

false if p <1