30 #ifndef TOWR_TOWR_INCLUDE_TOWR_VARIABLES_PHASE_SPLINE_H_ 31 #define TOWR_TOWR_INCLUDE_TOWR_VARIABLES_PHASE_SPLINE_H_ 49 using Ptr = std::shared_ptr<PhaseSpline>;
std::shared_ptr< PhaseNodes > Ptr
std::shared_ptr< NodeSpline > Ptr
Base class to receive up-to-date values of the ContactSchedule.
A spline built from node values and fixed polynomial durations.
virtual void UpdatePolynomialDurations() override
Called by subject to update polynomial durations when they changed.
PhaseNodes::Ptr phase_nodes_
A variable set composed of the phase durations of an endeffector.
Eigen::SparseMatrix< double, Eigen::RowMajor > Jacobian
PhaseSpline(PhaseNodes::Ptr const node_variables, PhaseDurations *const phase_durations)
Constructs a spline with varying/optimized phase durations.
Eigen::VectorXd GetDerivativeOfPosWrtPhaseDuration(double t) const
How the position at time t changes with current phase duration.
Jacobian GetJacobianOfPosWrtDurations(double t) const override
How the spline position changes when the polynomial durations change.
A spline built from node values and polynomial durations.