Class JointLimitsViability

Inheritance Relationships

Base Type

Class Documentation

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

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

It is based on the paper: “Joint position and velocity bounds in discrete-time acceleration/torque control of robot manipulators”, by: Andrea Del Prete

Public Types

typedef std::shared_ptr<JointLimitsViability> Ptr

Public Functions

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

JointLimitsViability.

Parameters
  • robot

  • qddot

  • jointBoundMax – max joint limits

  • jointBoundMin – min joint limits

  • jointVelMax – max joint velocity limits

  • jointAccMax – max joint acceleration limits

  • dt – discretization time

virtual void update()

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

void setJointAccMax(const Eigen::VectorXd &jointAccMax)

setJointAccMax update maximum accelerations

Parameters

jointAccMax

void setJointVelMax(const Eigen::VectorXd &jointVelMax)

setJointVelMax update maximum velocities

Parameters

jointVelMax

bool setPStepAheadPredictor(const double p)

setPStepAheadPredictor

Parameters

p – step predictor coefficient >= 1

Returns

false if p <1