aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
expose-prox-riccati.cpp
Go to the documentation of this file.
1
2
#include "
aligator/python/fwd.hpp
"
3
#include "
aligator/gar/lqr-problem.hpp
"
4
#include "
aligator/gar/proximal-riccati.hpp
"
5
6
namespace
aligator::python
{
7
using namespace
gar;
8
using
context::Scalar
;
9
using
prox_riccati_t
=
ProximalRiccatiSolver<Scalar>
;
10
using
stage_factor_t
=
StageFactor<Scalar>
;
11
using
riccati_base_t
=
RiccatiSolverBase<Scalar>
;
12
using
lqr_t
=
LqrProblemTpl<context::Scalar>
;
13
14
void
exposeProxRiccati
() {
15
16
using
value_t =
prox_riccati_t::CostToGo
;
17
bp::class_<value_t>(
"value_data"
, bp::no_init)
18
.def_readonly(
"Vxx"
, &value_t::Vxx)
19
.def_readonly(
"vx"
, &value_t::vx)
20
.def_readonly(
"Vxt"
, &value_t::Vxt)
21
.def_readonly(
"Vtt"
, &value_t::Vtt)
22
.def_readonly(
"vt"
, &value_t::vt);
23
24
bp::class_<stage_factor_t>(
25
"StageFactor"
,
"Stagewise factor for the generalized Riccati algorithm."
,
26
bp::no_init)
27
.def_readonly(
"ff"
, &
stage_factor_t::ff
)
28
.def_readonly(
"fb"
, &
stage_factor_t::fb
)
29
.def_readonly(
"fth"
, &
stage_factor_t::fth
)
30
.def_readonly(
"kktMat"
, &
stage_factor_t::kktMat
)
31
.def_readonly(
"kktChol"
, &
stage_factor_t::kktChol
)
32
.def_readonly(
"vm"
, &
stage_factor_t::vm
);
33
34
using
StageFactorVec = std::vector<stage_factor_t>;
35
StdVectorPythonVisitor<StageFactorVec, true>::expose(
"StdVec_StageFactor"
);
36
37
{
38
bp::scope _ =
39
bp::class_<prox_riccati_t, bp::bases<riccati_base_t>,
40
boost::noncopyable>(
"ProximalRiccatiSolver"
,
41
"Proximal Riccati solver."
, bp::no_init)
42
.def(bp::init<const lqr_t &>((
"self"
_a,
"problem"
)))
43
.def_readonly(
"thGrad"
, &
prox_riccati_t::thGrad
,
"Value gradient"
)
44
.def_readonly(
"thHess"
, &
prox_riccati_t::thHess
,
"Value Hessian"
)
45
.def_readonly(
"datas"
, &
prox_riccati_t::datas
)
46
.def_readonly(
"kkt0"
, &
prox_riccati_t::kkt0
,
47
"Initial stage KKT system"
);
48
bp::class_<prox_riccati_t::kkt0_t>(
"kkt0_t"
, bp::no_init)
49
.def_readonly(
"ff"
, &prox_riccati_t::kkt0_t::ff)
50
.def_readonly(
"fth"
, &prox_riccati_t::kkt0_t::fth)
51
.def_readonly(
"mat"
, &prox_riccati_t::kkt0_t::mat)
52
.def_readonly(
"chol"
, &prox_riccati_t::kkt0_t::chol);
53
}
54
}
55
}
// namespace aligator::python
fwd.hpp
aligator::gar::ProximalRiccatiSolver
A Riccati-like solver for the proximal LQ subproblem in ProxDDP.
Definition
proximal-riccati.hpp:12
aligator::gar::ProximalRiccatiSolver< Scalar >::thGrad
ArenaMatrix< VectorXs > thGrad
Definition
proximal-riccati.hpp:42
aligator::gar::ProximalRiccatiSolver< Scalar >::CostToGo
typename StageFactorType::CostToGo CostToGo
Definition
proximal-riccati.hpp:21
aligator::gar::ProximalRiccatiSolver< Scalar >::thHess
ArenaMatrix< MatrixXs > thHess
Definition
proximal-riccati.hpp:43
aligator::gar::ProximalRiccatiSolver< Scalar >::kkt0
kkt0_t kkt0
Definition
proximal-riccati.hpp:41
aligator::gar::ProximalRiccatiSolver< Scalar >::datas
std::pmr::vector< StageFactor< Scalar > > datas
Definition
proximal-riccati.hpp:40
aligator::gar::RiccatiSolverBase
Definition
riccati-base.hpp:13
lqr-problem.hpp
aligator::context::Scalar
double Scalar
Definition
context.hpp:9
aligator::python
The Python bindings.
Definition
blk-matrix.hpp:7
aligator::python::stage_factor_t
StageFactor< Scalar > stage_factor_t
Definition
expose-prox-riccati.cpp:10
aligator::python::prox_riccati_t
ProximalRiccatiSolver< Scalar > prox_riccati_t
Definition
expose-prox-riccati.cpp:9
aligator::python::riccati_base_t
RiccatiSolverBase< Scalar > riccati_base_t
Definition
expose-dense.cpp:10
aligator::python::lqr_t
LqrProblemTpl< context::Scalar > lqr_t
Definition
expose-dense.cpp:11
aligator::python::exposeProxRiccati
void exposeProxRiccati()
Definition
expose-prox-riccati.cpp:14
proximal-riccati.hpp
aligator::gar::LqrProblemTpl
Definition
lqr-problem.hpp:105
aligator::gar::StageFactor
Per-node struct for all computations in the factorization.
Definition
riccati-kernel.hpp:30
aligator::gar::StageFactor< Scalar >::fb
BlkMatrix< RowMatrixXs, 3, 1 > fb
Definition
riccati-kernel.hpp:97
aligator::gar::StageFactor< Scalar >::fth
BlkMatrix< RowMatrixXs, 3, 1 > fth
Definition
riccati-kernel.hpp:98
aligator::gar::StageFactor< Scalar >::ff
BlkMatrix< VectorXs, 3, 1 > ff
Definition
riccati-kernel.hpp:96
aligator::gar::StageFactor< Scalar >::vm
CostToGo vm
Definition
riccati-kernel.hpp:101
aligator::gar::StageFactor< Scalar >::kktMat
BlkMatrix< MatrixXs, 2, 2 > kktMat
Definition
riccati-kernel.hpp:99
aligator::gar::StageFactor< Scalar >::kktChol
BunchKaufman< MatrixXs > kktChol
Definition
riccati-kernel.hpp:100
bindings
python
src
gar
expose-prox-riccati.cpp
Generated by
1.17.0