aligator
0.9.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
|
A Riccati-like solver for the proximal LQ subproblem in ProxDDP. More...
#include </home/runner/work/aligator/aligator/gar/include/aligator/gar/proximal-riccati.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Base = RiccatiSolverBase<Scalar> |
using | StageFactorVec = std::vector<StageFactor<Scalar>> |
using | Impl = ProximalRiccatiKernel<Scalar> |
using | StageFactorType = StageFactor<Scalar> |
using | value_t = typename StageFactorType::value_t |
using | kkt0_t = typename Impl::kkt0_t |
using | KnotType = LQRKnotTpl<Scalar> |
Public Types inherited from aligator::gar::RiccatiSolverBase< _Scalar > | |
using | Scalar = _Scalar |
using | LQRKnot = LQRKnotTpl<double> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES (Scalar) | |
ProximalRiccatiSolver (const LQRProblemTpl< Scalar > &problem) | |
bool | backward (const Scalar mudyn, const Scalar mueq) |
Backward sweep. | |
bool | forward (std::vector< VectorXs > &xs, std::vector< VectorXs > &us, std::vector< VectorXs > &vs, std::vector< VectorXs > &lbdas, const std::optional< ConstVectorRef > &theta=std::nullopt) const |
void | cycleAppend (const KnotType &knot) |
VectorRef | getFeedforward (size_t i) |
RowMatrixRef | getFeedback (size_t i) |
Public Member Functions inherited from aligator::gar::RiccatiSolverBase< _Scalar > | |
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES (Scalar) | |
virtual void | cycleAppend (const LQRKnot &knot)=0 |
virtual void | collapseFeedback () |
virtual | ~RiccatiSolverBase ()=default |
Public Attributes | |
StageFactorVec | datas |
kkt0_t | kkt0 |
VectorXs | thGrad |
MatrixXs | thHess |
Protected Attributes | |
const LQRProblemTpl< Scalar > * | problem_ |
A Riccati-like solver for the proximal LQ subproblem in ProxDDP.
Definition at line 11 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Scalar = _Scalar |
Definition at line 13 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Base = RiccatiSolverBase<Scalar> |
Definition at line 15 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::StageFactorVec = std::vector<StageFactor<Scalar>> |
Definition at line 16 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Impl = ProximalRiccatiKernel<Scalar> |
Definition at line 19 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::StageFactorType = StageFactor<Scalar> |
Definition at line 20 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::value_t = typename StageFactorType::value_t |
Definition at line 21 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::kkt0_t = typename Impl::kkt0_t |
Definition at line 22 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::KnotType = LQRKnotTpl<Scalar> |
Definition at line 23 of file proximal-riccati.hpp.
|
explicit |
aligator::gar::ProximalRiccatiSolver< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES | ( | Scalar | ) |
|
virtual |
Backward sweep.
Implements aligator::gar::RiccatiSolverBase< _Scalar >.
|
virtual |
Implements aligator::gar::RiccatiSolverBase< _Scalar >.
void aligator::gar::ProximalRiccatiSolver< _Scalar >::cycleAppend | ( | const KnotType & | knot | ) |
|
inlinevirtual |
Implements aligator::gar::RiccatiSolverBase< _Scalar >.
Definition at line 35 of file proximal-riccati.hpp.
|
inlinevirtual |
Implements aligator::gar::RiccatiSolverBase< _Scalar >.
Definition at line 36 of file proximal-riccati.hpp.
StageFactorVec aligator::gar::ProximalRiccatiSolver< _Scalar >::datas |
Definition at line 17 of file proximal-riccati.hpp.
kkt0_t aligator::gar::ProximalRiccatiSolver< _Scalar >::kkt0 |
Definition at line 38 of file proximal-riccati.hpp.
VectorXs aligator::gar::ProximalRiccatiSolver< _Scalar >::thGrad |
Definition at line 39 of file proximal-riccati.hpp.
MatrixXs aligator::gar::ProximalRiccatiSolver< _Scalar >::thHess |
Definition at line 40 of file proximal-riccati.hpp.
|
protected |
Definition at line 43 of file proximal-riccati.hpp.