Class JointLimitsInvariance
Defined in File JointLimitsInvariace.h
Inheritance Relationships
Base Type
public OpenSoT::Constraint< Eigen::MatrixXd, Eigen::VectorXd >
(Template Class Constraint)
Class Documentation
-
class JointLimitsInvariance : 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<JointLimitsInvariance> Ptr
Public Functions
-
JointLimitsInvariance(const Eigen::VectorXd &jointBoundMax, const Eigen::VectorXd &jointBoundMin, const Eigen::VectorXd &jointAccMax, XBot::ModelInterface &robot, const double dt)
JointLimitsInvariance constructor.
Note
the model needs to be updated with joint positions and velocities!
- Parameters
jointBoundMax – max joint limits
jointBoundMin – min joint limits
jointAccMax – max joint acceleration
robot – model
dt –
-
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<JointLimitsInvariance> Ptr