48 cost.noalias() = xd.transpose() *
_Qf_diag * xd;
50 cost.noalias() = xd.transpose() *
_Qf * xd;
61 cost[0] = xd.transpose() * _S_diag * xd - _gamma;
63 cost[0] = xd.transpose() * _S * xd - _gamma;
void computeNonIntegralStateTerm(int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, Eigen::Ref< Eigen::VectorXd > cost) const override
virtual const OutputVector & getReferenceCached(int k) const=0
int getNonIntegralStateTermDimension(int k) const override
const ReferenceTrajectoryInterface * _x_ref
void computeNonIntegralStateTerm(int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, Eigen::Ref< Eigen::VectorXd > cost) const override
double normalize_theta(double theta)
normalize angle to interval [-pi, pi)
Eigen::DiagonalMatrix< double, -1 > _Qf_diag
Eigen::DiagonalMatrix< double, -1 > _Qf_diag_sqrt