aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
expose-prox-riccati.cpp
Go to the documentation of this file.
1
5
6namespace aligator::python {
7using namespace gar;
13
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
A Riccati-like solver for the proximal LQ subproblem in ProxDDP.
typename StageFactorType::CostToGo CostToGo
std::pmr::vector< StageFactor< Scalar > > datas
The Python bindings.
Definition blk-matrix.hpp:5
StageFactor< Scalar > stage_factor_t
ProximalRiccatiSolver< Scalar > prox_riccati_t
RiccatiSolverBase< Scalar > riccati_base_t
LqrProblemTpl< context::Scalar > lqr_t
Per-node struct for all computations in the factorization.
BlkMatrix< RowMatrixXs, 3, 1 > fb
BlkMatrix< RowMatrixXs, 3, 1 > fth
BlkMatrix< VectorXs, 3, 1 > ff
BlkMatrix< MatrixXs, 2, 2 > kktMat