Class JointLimits
Defined in File JointLimits.h
Inheritance Relationships
Base Type
public OpenSoT::Constraint< Eigen::MatrixXd, Eigen::VectorXd >
(Template Class Constraint)
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
-
typedef std::shared_ptr<JointLimits> Ptr