aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
constant-cost.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace aligator {
6
8template <typename _Scalar> struct ConstantCostTpl : CostAbstractTpl<_Scalar> {
9 using Scalar = _Scalar;
11 using Base = CostAbstractTpl<Scalar>;
12 using CostData = CostDataAbstractTpl<Scalar>;
13 using Manifold = ManifoldAbstractTpl<Scalar>;
14
16 ConstantCostTpl(shared_ptr<Manifold> space, const int nu, const Scalar value)
17 : Base(space, nu), value_(value) {}
18 void evaluate(const ConstVectorRef &, const ConstVectorRef &,
19 CostData &data) const override {
20 data.value_ = value_;
21 }
22
23 void computeGradients(const ConstVectorRef &, const ConstVectorRef &,
24 CostData &) const override {}
25
26 void computeHessians(const ConstVectorRef &, const ConstVectorRef &,
27 CostData &) const override {}
28
29 shared_ptr<CostData> createData() const override {
30 auto d = Base::createData();
31 d->value_ = value_;
32 return d;
33 }
34};
35
36} // namespace aligator
Main package namespace.
shared_ptr< CostData > createData() const override
void computeGradients(const ConstVectorRef &, const ConstVectorRef &, CostData &) const override
Compute the cost gradients .
ManifoldAbstractTpl< Scalar > Manifold
ConstantCostTpl(shared_ptr< Manifold > space, const int nu, const Scalar value)
void evaluate(const ConstVectorRef &, const ConstVectorRef &, CostData &data) const override
Evaluate the cost function.
void computeHessians(const ConstVectorRef &, const ConstVectorRef &, CostData &) const override
Compute the cost Hessians .
Stage costs for control problems.
virtual shared_ptr< CostData > createData() const
int nu
Control dimension.
shared_ptr< Manifold > space
State dimension.