MCPcopy Create free account
hub / github.com/Simple-Robotics/aligator / exposeSolverCommon

Function exposeSolverCommon

bindings/python/src/expose-solvers-base.cpp:16–53  ·  view source on GitHub ↗

Expose base solver elements

Source from the content-addressed store, hash-verified

14
15/// Expose base solver elements
16void exposeSolverCommon() {
17 using context::Scalar;
18
19 using WorkspaceBase = WorkspaceBaseTpl<Scalar>;
20 bp::class_<WorkspaceBase, boost::noncopyable>(
21 "WorkspaceBase", "Base workspace struct.", bp::no_init)
22 .def_readonly("nsteps", &WorkspaceBase::nsteps)
23 .def_readonly("problem_data", &WorkspaceBase::problem_data)
24 .def_readonly("trial_xs", &WorkspaceBase::trial_xs)
25 .def_readonly("trial_us", &WorkspaceBase::trial_us)
26 .def_readonly("dyn_slacks", &WorkspaceBase::dyn_slacks,
27 "Expose dynamics' slack variables (e.g. feasibility gaps).")
28 .def("cycleLeft", &WorkspaceBase::cycleLeft, "self"_a,
29 "Cycle the workspace to the left: this will rotate all the data "
30 "(states, controls, multipliers) forward by one rank.")
31 .def("cycleAppend", &WorkspaceBase::cycleAppend, ("self"_a, "data"),
32 "Insert a StageData object and cycle the workspace left (using "
33 "`cycleLeft()`) and insert the allocated data (useful for MPC).");
34
35 using ResultsBase = ResultsBaseTpl<Scalar>;
36 bp::class_<ResultsBase>("ResultsBase", "Base results struct.", bp::no_init)
37 .def_readonly("num_iters", &ResultsBase::num_iters,
38 "Number of solver iterations.")
39 .def_readonly("conv", &ResultsBase::conv)
40 .def_readonly("gains", &ResultsBase::gains_)
41 .def_readonly("xs", &ResultsBase::xs)
42 .def_readonly("us", &ResultsBase::us)
43 .def_readonly("primal_infeas", &ResultsBase::prim_infeas)
44 .def_readonly("dual_infeas", &ResultsBase::dual_infeas)
45 .def_readonly("traj_cost", &ResultsBase::traj_cost_, "Trajectory cost.")
46 .def_readonly("merit_value", &ResultsBase::merit_value_,
47 "Merit function value.")
48 .def("controlFeedbacks", &ResultsBase::getCtrlFeedbacks, "self"_a,
49 "Get the control feedback matrices.")
50 .def("controlFeedforwards", &ResultsBase::getCtrlFeedforwards, "self"_a,
51 "Get the control feedforward gains.")
52 .def(PrintableVisitor<ResultsBase>());
53}
54
55void exposeSolvers() {
56 exposeSolverCommon();

Callers 1

exposeSolversFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected