aligator
0.15.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
A Riccati-like solver for the proximal LQ subproblem in ProxDDP. More...
#include <aligator/gar/proximal-riccati.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Base = RiccatiSolverBase<Scalar> |
using | allocator_type = ::aligator::polymorphic_allocator |
using | Kernel = ProximalRiccatiKernel<Scalar> |
using | StageFactorType = typename Kernel::StageFactorType |
using | CostToGo = typename StageFactorType::CostToGo |
using | kkt0_t = typename Kernel::kkt0_t |
using | KnotType = LqrKnotTpl<Scalar> |
![]() | |
using | Scalar = _Scalar |
using | LqrKnot = LqrKnotTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES (Scalar) | |
ProximalRiccatiSolver (const LqrProblemTpl< Scalar > &problem) | |
bool | backward (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) |
Cycle the solver data, given the specs from a given new knot. | |
VectorRef | getFeedforward (size_t i) |
RowMatrixRef | getFeedback (size_t i) |
allocator_type | get_allocator () const |
![]() | |
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES (Scalar) | |
virtual void | collapseFeedback () |
virtual | ~RiccatiSolverBase ()=default |
Public Attributes | |
std::pmr::vector< StageFactor< Scalar > > | datas |
kkt0_t | kkt0 |
ArenaMatrix< VectorXs > | thGrad |
ArenaMatrix< MatrixXs > | thHess |
Protected Attributes | |
const LqrProblemTpl< Scalar > * | problem_ |
A Riccati-like solver for the proximal LQ subproblem in ProxDDP.
Definition at line 12 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Scalar = _Scalar |
Definition at line 14 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Base = RiccatiSolverBase<Scalar> |
Definition at line 16 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::allocator_type = ::aligator::polymorphic_allocator |
Definition at line 17 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::Kernel = ProximalRiccatiKernel<Scalar> |
Definition at line 19 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::StageFactorType = typename Kernel::StageFactorType |
Definition at line 20 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::CostToGo = typename StageFactorType::CostToGo |
Definition at line 21 of file proximal-riccati.hpp.
using aligator::gar::ProximalRiccatiSolver< _Scalar >::kkt0_t = typename Kernel::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 >.
|
virtual |
Cycle the solver data, given the specs from a given new knot.
Implements aligator::gar::RiccatiSolverBase< _Scalar >.
|
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.
|
inline |
Definition at line 38 of file proximal-riccati.hpp.
std::pmr::vector<StageFactor<Scalar> > aligator::gar::ProximalRiccatiSolver< _Scalar >::datas |
Definition at line 40 of file proximal-riccati.hpp.
kkt0_t aligator::gar::ProximalRiccatiSolver< _Scalar >::kkt0 |
Definition at line 41 of file proximal-riccati.hpp.
ArenaMatrix<VectorXs> aligator::gar::ProximalRiccatiSolver< _Scalar >::thGrad |
Definition at line 42 of file proximal-riccati.hpp.
ArenaMatrix<MatrixXs> aligator::gar::ProximalRiccatiSolver< _Scalar >::thHess |
Definition at line 43 of file proximal-riccati.hpp.
|
protected |
Definition at line 46 of file proximal-riccati.hpp.