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