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.

Public Types

typedef std::shared_ptr<JointLimits> Ptr

Public Functions

JointLimits(const XBot::ModelInterface &robot, const Eigen::VectorXd &jointBoundMax, const Eigen::VectorXd &jointBoundMin, const double boundScaling = 1.0)

JointLimits constructor.

Note

bounds are intended as min/max motions that can be applied for unit time starting from the robot neutral configuration i.e. if q0 = robot.getNeutralQ(), then qf = robot.sum(q0, v) is within joint limits iff jointBoundMax <= v <= jointBoundMax

Parameters
  • q – the configuration of the robot when creating the joint limits constraint

  • jointBoundMax – upper bounds for joint limits

  • jointBounMin – lower bounds for joint limits

virtual void update()

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

void setBoundScaling(const double boundScaling)