30 #ifndef TOWR_CONSTRAINTS_DYNAMIC_CONSTRAINT_H_ 31 #define TOWR_CONSTRAINTS_DYNAMIC_CONSTRAINT_H_ Ensure that the optimized motion complies with the system dynamics.
Eigen::Matrix< double, 6, 1 > Vector6d
Constraints evaluated at discretized times along a trajectory.
DynamicConstraint(const DynamicModel::Ptr &model, double T, double dt, const SplineHolder &spline_holder)
Construct a Dynamic constraint.
std::shared_ptr< NodeSpline > Ptr
void UpdateConstraintAtInstance(double t, int k, VectorXd &g) const override
Sets the constraint value a specific time t, corresponding to node k.
EulerConverter base_angular_
angular base state
NodeSpline::Ptr base_linear_
lin. base pos/vel/acc in world frame
void UpdateJacobianAtInstance(double t, int k, std::string, Jacobian &) const override
Sets Jacobian rows at a specific time t, corresponding to node k.
Builds splines from node values (pos/vel) and durations.
Converts Euler angles and derivatives to angular quantities.
std::shared_ptr< DynamicModel > Ptr
Eigen::SparseMatrix< double, Eigen::RowMajor > Jacobian
std::vector< NodeSpline::Ptr > ee_forces_
endeffector forces in world frame.
void UpdateBoundsAtInstance(double t, int k, VecBound &bounds) const override
Sets upper/lower bound a specific time t, corresponding to node k.
std::vector< NodeSpline::Ptr > ee_motion_
endeffector position in world frame.
int GetRow(int k, Dim6D dimension) const
The row in the overall constraint for this evaluation time.
DynamicModel::Ptr model_
the dynamic model (e.g. Centroidal)
void UpdateModel(double t) const
Updates the model with the current state and forces.
virtual ~DynamicConstraint()=default
std::vector< Bounds > VecBound