aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-autodiff.cpp
Go to the documentation of this file.
2
4
5namespace aligator {
6namespace python {
7
10 using namespace autodiff;
15 using context::Scalar;
18
19 {
20 using FiniteDiffType = FiniteDifferenceHelper<Scalar>;
21 bp::scope _ = bp::class_<FiniteDiffType, bp::bases<StageFunction>>(
22 "FiniteDifferenceHelper",
23 "Make a function into a differentiable function/dynamics using"
24 " finite differences.",
25 bp::init<shared_ptr<Manifold>, shared_ptr<StageFunction>, const Scalar>(
26 bp::args("self", "space", "func", "eps")));
27 bp::class_<FiniteDiffType::Data, bp::bases<StageFunctionData>>("Data",
28 bp::no_init);
29 }
30
31 {
32 using DynFiniteDiffType = DynamicsFiniteDifferenceHelper<Scalar>;
33 bp::scope _ = bp::class_<DynFiniteDiffType, bp::bases<DynamicsModel>>(
34 "DynamicsFiniteDifferenceHelper",
35 bp::init<shared_ptr<Manifold>, shared_ptr<DynamicsModel>, const Scalar>(
36 bp::args("self", "space", "dyn", "eps")));
37 bp::class_<DynFiniteDiffType::Data>("Data", bp::no_init);
38 }
39
40 {
41 using CostFiniteDiffType = CostFiniteDifferenceHelper<Scalar>;
42 bp::scope _ =
43 bp::class_<CostFiniteDiffType, bp::bases<CostAbstract>>(
44 "CostFiniteDifference",
45 "Define a cost function's derivatives using finite differences.",
46 bp::no_init)
47 .def(bp::init<shared_ptr<CostAbstract>, Scalar>(
48 bp::args("self", "cost", "fd_eps")));
49 bp::class_<CostFiniteDiffType::Data, bp::bases<CostData>>("Data",
50 bp::no_init)
51 .def_readonly("c1", &CostFiniteDiffType::Data::c1)
52 .def_readonly("c2", &CostFiniteDiffType::Data::c2);
53 }
54}
55
56} // namespace python
57} // namespace aligator
DynamicsModelTpl< Scalar > DynamicsModel
Definition context.hpp:28
ManifoldAbstractTpl< Scalar > Manifold
Definition context.hpp:14
void exposeAutodiff()
Expose autodiff helpers.
Main package namespace.