aligator
0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
|
Proximal penalty cost. More...
#include <aligator/core/proximal-penalty.hpp>
Public Types | |
using | Scalar = _Scalar |
using | ManifoldPtr = shared_ptr<ManifoldAbstractTpl<Scalar>> |
using | Base = CostAbstractTpl<Scalar> |
using | CostData = CostDataAbstractTpl<Scalar> |
using | Data = ProximalDataTpl<Scalar> |
![]() | |
using | Scalar = _Scalar |
using | CostData = CostDataAbstractTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
ProximalPenaltyTpl (const ManifoldPtr &xspace, const ManifoldPtr &uspace, const VectorXs &xt, const VectorXs &ut, const bool no_ctrl_term) | |
void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const |
Evaluate the cost function. | |
void | computeGradients (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const |
Compute the cost gradients \((\ell_x, \ell_u)\). | |
void | computeHessians (const ConstVectorRef &, const ConstVectorRef &, CostData &data) const |
Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\). | |
shared_ptr< CostData > | createData () const |
![]() | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
int | nx () const |
int | ndx () const |
CostAbstractTpl (shared_ptr< Manifold > space, const int nu) | |
virtual | ~CostAbstractTpl ()=default |
Public Attributes | |
const ManifoldPtr | uspace_ |
const VectorXs & | x_ref |
const VectorXs | u_ref |
const bool | no_ctrl_term |
![]() | |
shared_ptr< Manifold > | space |
State dimension. | |
int | nu |
Control dimension. | |
Proximal penalty cost.
This cost holds const Eigen::Ref references to the proximal targets. This will be the proximal solver's previous iterates.
Definition at line 19 of file proximal-penalty.hpp.
using aligator::ProximalPenaltyTpl< _Scalar >::Scalar = _Scalar |
Definition at line 20 of file proximal-penalty.hpp.
using aligator::ProximalPenaltyTpl< _Scalar >::ManifoldPtr = shared_ptr<ManifoldAbstractTpl<Scalar>> |
Definition at line 23 of file proximal-penalty.hpp.
using aligator::ProximalPenaltyTpl< _Scalar >::Base = CostAbstractTpl<Scalar> |
Definition at line 24 of file proximal-penalty.hpp.
using aligator::ProximalPenaltyTpl< _Scalar >::CostData = CostDataAbstractTpl<Scalar> |
Definition at line 25 of file proximal-penalty.hpp.
using aligator::ProximalPenaltyTpl< _Scalar >::Data = ProximalDataTpl<Scalar> |
Definition at line 26 of file proximal-penalty.hpp.
|
inline |
Definition at line 34 of file proximal-penalty.hpp.
aligator::ProximalPenaltyTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
inlinevirtual |
Evaluate the cost function.
Implements aligator::CostAbstractTpl< _Scalar >.
Definition at line 40 of file proximal-penalty.hpp.
|
inlinevirtual |
Compute the cost gradients \((\ell_x, \ell_u)\).
Implements aligator::CostAbstractTpl< _Scalar >.
Definition at line 52 of file proximal-penalty.hpp.
|
inlinevirtual |
Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\).
Implements aligator::CostAbstractTpl< _Scalar >.
Definition at line 63 of file proximal-penalty.hpp.
|
inlinevirtual |
Reimplemented from aligator::CostAbstractTpl< _Scalar >.
Definition at line 72 of file proximal-penalty.hpp.
const ManifoldPtr aligator::ProximalPenaltyTpl< _Scalar >::uspace_ |
Definition at line 28 of file proximal-penalty.hpp.
const VectorXs& aligator::ProximalPenaltyTpl< _Scalar >::x_ref |
Definition at line 29 of file proximal-penalty.hpp.
const VectorXs aligator::ProximalPenaltyTpl< _Scalar >::u_ref |
Definition at line 29 of file proximal-penalty.hpp.
const bool aligator::ProximalPenaltyTpl< _Scalar >::no_ctrl_term |
Whether to exclude the control term of the penalty. Switch to true e.g. for terminal node.
Definition at line 32 of file proximal-penalty.hpp.