A spline built from node values and polynomial durations. More...
#include <phase_spline.h>
Public Member Functions | |
Jacobian | GetJacobianOfPosWrtDurations (double t) const override |
How the spline position changes when the polynomial durations change. | |
PhaseSpline (NodesVariablesPhaseBased::Ptr const node_variables, PhaseDurations *const phase_durations) | |
Constructs a spline with varying/optimized phase durations. | |
void | UpdatePolynomialDurations () override |
Called by subject to update polynomial durations when they changed. | |
~PhaseSpline () | |
Private Member Functions | |
Eigen::VectorXd | GetDerivativeOfPosWrtPhaseDuration (double t) const |
How the position at time t changes with current phase duration. | |
Private Attributes | |
NodesVariablesPhaseBased::Ptr | phase_nodes_ |
A spline built from node values and polynomial durations.
This class is responsible for combining the optimized node values with the optimized phase durations to construct a sequence of CubicHermitePolynomial. For this it observers whether one of the quantities changed and then updates all the polynomials accordingly.
Definition at line 47 of file phase_spline.h.
towr::PhaseSpline::PhaseSpline | ( | NodesVariablesPhaseBased::Ptr const | node_variables, |
PhaseDurations *const | phase_durations | ||
) |
Constructs a spline with varying/optimized phase durations.
node_variables | The optimized node variables (pos, vel). |
phase_durations | Pointer to the changing phase duration variables. |
Definition at line 35 of file phase_spline.cc.
Eigen::VectorXd towr::PhaseSpline::GetDerivativeOfPosWrtPhaseDuration | ( | double | t | ) | const [private] |
How the position at time t changes with current phase duration.
t | The global time along the spline. |
Definition at line 78 of file phase_spline.cc.
PhaseSpline::Jacobian towr::PhaseSpline::GetJacobianOfPosWrtDurations | ( | double | t | ) | const [override, virtual] |
How the spline position changes when the polynomial durations change.
t | The time along the spline at which the sensitivity is required. |
Reimplemented from towr::NodeSpline.
Definition at line 68 of file phase_spline.cc.
void towr::PhaseSpline::UpdatePolynomialDurations | ( | ) | [override, virtual] |
Called by subject to update polynomial durations when they changed.
Implements towr::PhaseDurationsObserver.
Definition at line 55 of file phase_spline.cc.
NodesVariablesPhaseBased::Ptr towr::PhaseSpline::phase_nodes_ [private] |
Definition at line 83 of file phase_spline.h.