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-autodiff.cpp
Go to the documentation of this file.
1
#include "
aligator/python/fwd.hpp
"
2
3
#include "
aligator/modelling/autodiff/finite-difference.hpp
"
4
#include "
aligator/modelling/autodiff/cost-finite-difference.hpp
"
5
6
namespace
aligator
{
7
namespace
python
{
8
10
void
exposeAutodiff
() {
11
using namespace
autodiff
;
12
using
context::CostAbstract
;
13
using
context::CostData
;
14
using
context::ExplicitDynamics
;
15
using
context::ExplicitDynamicsData
;
16
using
context::Manifold
;
17
using
context::Scalar
;
18
using
context::StageFunction
;
19
using
context::StageFunctionData
;
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
fwd.hpp
cost-finite-difference.hpp
finite-difference.hpp
aligator::autodiff
Definition
cost-finite-difference.hpp:6
aligator::context::CostAbstract
CostAbstractTpl< Scalar > CostAbstract
Definition
context.hpp:25
aligator::context::Manifold
ManifoldAbstractTpl< Scalar > Manifold
Definition
context.hpp:14
aligator::context::ExplicitDynamics
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
Definition
context.hpp:38
aligator::context::StageFunction
StageFunctionTpl< Scalar > StageFunction
Definition
context.hpp:17
aligator::context::Scalar
double Scalar
Definition
context.hpp:9
aligator::context::ExplicitDynamicsData
ExplicitDynamicsDataTpl< Scalar > ExplicitDynamicsData
Definition
context.hpp:39
aligator::context::StageFunctionData
StageFunctionDataTpl< Scalar > StageFunctionData
Definition
context.hpp:19
aligator::context::CostData
CostDataAbstractTpl< Scalar > CostData
Definition
context.hpp:26
aligator::python
The Python bindings.
Definition
blk-matrix.hpp:7
aligator::python::exposeAutodiff
void exposeAutodiff()
Expose autodiff helpers.
Definition
expose-autodiff.cpp:10
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
bindings
python
src
modelling
expose-autodiff.cpp
Generated by
1.17.0