30 #ifndef TOWR_CONSTRAINTS_TIME_DISCRETIZATION_CONSTRAINT_H_ 31 #define TOWR_CONSTRAINTS_TIME_DISCRETIZATION_CONSTRAINT_H_ virtual void UpdateBoundsAtInstance(double t, int k, VecBound &b) const =0
Sets upper/lower bound a specific time t, corresponding to node k.
void FillJacobianBlock(std::string var_set, Jacobian &) const override
Constraints evaluated at discretized times along a trajectory.
TimeDiscretizationConstraint(double T, double dt, std::string constraint_name)
Constructs a constraint for ifopt.
Eigen::VectorXd GetValues() const override
virtual void UpdateJacobianAtInstance(double t, int k, std::string var_set, Jacobian &jac) const =0
Sets Jacobian rows at a specific time t, corresponding to node k.
int GetNumberOfNodes() const
Eigen::SparseMatrix< double, Eigen::RowMajor > Jacobian
virtual ~TimeDiscretizationConstraint()=default
VecBound GetBounds() const override
VecTimes dts_
times at which the constraint is evaluated.
std::vector< double > VecTimes
std::vector< Bounds > VecBound
virtual void UpdateConstraintAtInstance(double t, int k, VectorXd &g) const =0
Sets the constraint value a specific time t, corresponding to node k.