35 std::string node_variable_name)
36 :ConstraintSet(kSpecifyLater,
"SplineAcc-Constraint-" + node_variable_name)
41 n_dim_ = spline->GetPoint(0.0).p().rows();
43 T_ = spline->GetPolyDurations();
60 g.segment(j*
n_dim_, n_dim_) = acc_prev - acc_next;
72 Jacobian acc_prev =
spline_->GetJacobianWrtNodes(p_prev,
T_.at(p_prev),
kAcc);
75 Jacobian acc_next =
spline_->GetJacobianWrtNodes(p_next, 0.0,
kAcc);
77 jac.middleRows(j*
n_dim_, n_dim_) = acc_prev - acc_next;
82 SplineAccConstraint::VecBound
85 return VecBound(GetRows(), ifopt::BoundZero);
NodeSpline::Ptr spline_
a spline comprised of polynomials
int n_dim_
dimensions that this polynomial represents (e.g. x,y).
std::string node_variables_id_
std::shared_ptr< NodeSpline > Ptr
int n_junctions_
polynomial parameterized node values
VectorXd GetValues() const override
std::vector< double > T_
Duration of each polynomial in spline.
VecBound GetBounds() const override
void FillJacobianBlock(std::string var_set, Jacobian &) const override
SplineAccConstraint(const NodeSpline::Ptr &spline, std::string name)