aligator 0.18.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
expose-autodiff.cpp
Go to the documentation of this file.
2
5
6namespace aligator {
7namespace python {
8
11 using namespace autodiff;
17 using context::Scalar;
20
21 {
22 using FiniteDiffType = FiniteDifferenceHelper<Scalar>;
23 bp::scope _ = bp::class_<FiniteDiffType, bp::bases<StageFunction>>(
24 "FiniteDifferenceHelper",
25 "Make a function into a differentiable function/dynamics using"
26 " finite differences.",
27 bp::init<xyz::polymorphic<Manifold>, xyz::polymorphic<StageFunction>,
28 const Scalar>(("self"_a, "space", "func", "eps")));
29 bp::class_<FiniteDiffType::Data, bp::bases<StageFunctionData>>("Data",
30 bp::no_init);
31 }
32
33 {
34 using DynFiniteDiffType = DynamicsFiniteDifferenceHelper<Scalar>;
35 bp::scope _ = bp::class_<DynFiniteDiffType, bp::bases<ExplicitDynamics>>(
36 "DynamicsFiniteDifferenceHelper",
37 bp::init<xyz::polymorphic<Manifold>, xyz::polymorphic<ExplicitDynamics>,
38 const Scalar>(("self"_a, "space", "dyn", "eps")));
39 bp::class_<DynFiniteDiffType::Data, bp::bases<ExplicitDynamicsData>>(
40 "Data", bp::no_init);
41 }
42
43 {
44 using CostFiniteDiffType = CostFiniteDifferenceHelper<Scalar>;
45 bp::scope _ =
46 bp::class_<CostFiniteDiffType, bp::bases<CostAbstract>>(
47 "CostFiniteDifference",
48 "Define a cost function's derivatives using finite differences.",
49 bp::no_init)
50 .def(bp::init<xyz::polymorphic<CostAbstract>, Scalar>(
51 ("self"_a, "cost", "fd_eps")));
52 bp::class_<CostFiniteDiffType::Data, bp::bases<CostData>>("Data",
53 bp::no_init)
54 .def_readonly("c1", &CostFiniteDiffType::Data::c1)
55 .def_readonly("c2", &CostFiniteDiffType::Data::c2);
56 }
57}
58
59} // namespace python
60} // namespace aligator
CostAbstractTpl< Scalar > CostAbstract
Definition context.hpp:25
ManifoldAbstractTpl< Scalar > Manifold
Definition context.hpp:14
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
Definition context.hpp:38
StageFunctionTpl< Scalar > StageFunction
Definition context.hpp:17
ExplicitDynamicsDataTpl< Scalar > ExplicitDynamicsData
Definition context.hpp:39
StageFunctionDataTpl< Scalar > StageFunctionData
Definition context.hpp:19
CostDataAbstractTpl< Scalar > CostData
Definition context.hpp:26
The Python bindings.
Definition blk-matrix.hpp:7
void exposeAutodiff()
Expose autodiff helpers.
Main package namespace.