aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
integrator-midpoint.hpp
Go to the documentation of this file.
1
2
#pragma once
3
4
#include "
aligator/modelling/dynamics/integrator-abstract.hpp
"
5
6
namespace
aligator
{
7
namespace
dynamics
{
8
template
<
typename
Scalar>
struct
IntegratorMidpointDataTpl
;
9
27
template
<
typename
_Scalar>
28
struct
IntegratorMidpointTpl
:
IntegratorAbstractTpl
<_Scalar> {
29
using
Scalar
= _Scalar;
30
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
31
using
Base
=
IntegratorAbstractTpl<Scalar>
;
32
using
ContinuousDynamics
=
ContinuousDynamicsAbstractTpl<Scalar>
;
33
using
Manifold
=
ManifoldAbstractTpl<Scalar>
;
34
using
Data
=
IntegratorMidpointDataTpl<Scalar>
;
35
using
BaseData
=
DynamicsDataTpl<Scalar>
;
36
37
Scalar
timestep_
;
38
39
IntegratorMidpointTpl
(
40
const
xyz::polymorphic<ContinuousDynamics> &cont_dynamics,
41
const
Scalar
timestep);
42
43
void
evaluate
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
44
const
ConstVectorRef &y,
BaseData
&data)
const
;
45
46
void
computeJacobians
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
47
const
ConstVectorRef &y,
BaseData
&data)
const
;
48
49
shared_ptr<BaseData>
createData
()
const
;
50
};
51
52
template
<
typename
_Scalar>
53
struct
IntegratorMidpointDataTpl
:
IntegratorDataTpl
<_Scalar> {
54
using
Scalar
= _Scalar;
55
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
56
using
Base
=
IntegratorDataTpl<Scalar>
;
57
58
VectorXs
x1_
;
59
VectorXs
dx1_
;
60
MatrixXs
J_v_0
;
61
MatrixXs
J_v_1
;
62
MatrixXs
Jtm0
;
63
MatrixXs
Jtm1
;
64
65
explicit
IntegratorMidpointDataTpl
(
66
const
IntegratorMidpointTpl<Scalar>
&integrator)
67
:
Base
(integrator)
68
,
x1_
(integrator.space().neutral())
69
,
dx1_
(this->
ndx1
)
70
,
J_v_0
(this->
ndx1
, this->
ndx1
)
71
,
J_v_1
(this->
ndx1
, this->
ndx1
)
72
,
Jtm0
(this->
ndx1
, this->
ndx1
)
73
,
Jtm1
(this->
ndx1
, this->
ndx1
) {
74
x1_
.setZero();
75
dx1_
.setZero();
76
J_v_0
.setZero();
77
J_v_1
.setZero();
78
Jtm0
.setZero();
79
Jtm1
.setZero();
80
}
81
};
82
83
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
84
extern
template
struct
IntegratorMidpointTpl<context::Scalar>;
85
extern
template
struct
IntegratorMidpointDataTpl<context::Scalar>;
86
#endif
87
88
}
// namespace dynamics
89
}
// namespace aligator
integrator-abstract.hpp
Base definitions for numerical integrators.
aligator::dynamics
Namespace for modelling system dynamics.
Definition
centroidal-fwd.hpp:10
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::DynamicsDataTpl
Definition
dynamics.hpp:77
aligator::DynamicsDataTpl< Scalar >::ndx1
const int ndx1
Definition
dynamics.hpp:81
aligator::ManifoldAbstractTpl
Base class for manifolds, to use in cost funcs, solvers...
Definition
manifold-base.hpp:11
aligator::dynamics::ContinuousDynamicsAbstractTpl
Continuous dynamics described by differential-algebraic equations (DAEs) .
Definition
continuous-dynamics-abstract.hpp:19
aligator::dynamics::IntegratorAbstractTpl::IntegratorAbstractTpl
IntegratorAbstractTpl(const xyz::polymorphic< ContinuousDynamics > &cont_dynamics)
Constructor from instances of DynamicsType.
aligator::dynamics::IntegratorDataTpl< Scalar >::VectorXs
typename math_types< Scalar >::VectorXs VectorXs
Definition
integrator-abstract.hpp:53
aligator::dynamics::IntegratorDataTpl::IntegratorDataTpl
IntegratorDataTpl(const IntegratorAbstractTpl< Scalar > &integrator)
aligator::dynamics::IntegratorMidpointDataTpl
Definition
integrator-midpoint.hpp:53
aligator::dynamics::IntegratorMidpointDataTpl::IntegratorMidpointDataTpl
IntegratorMidpointDataTpl(const IntegratorMidpointTpl< Scalar > &integrator)
Definition
integrator-midpoint.hpp:65
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::x1_
VectorXs x1_
Definition
integrator-midpoint.hpp:58
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::Jtm1
MatrixXs Jtm1
Definition
integrator-midpoint.hpp:63
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::dx1_
VectorXs dx1_
Definition
integrator-midpoint.hpp:59
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::Jtm0
MatrixXs Jtm0
Definition
integrator-midpoint.hpp:62
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::Base
IntegratorDataTpl< Scalar > Base
Definition
integrator-midpoint.hpp:56
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::J_v_0
MatrixXs J_v_0
Definition
integrator-midpoint.hpp:60
aligator::dynamics::IntegratorMidpointDataTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::J_v_1
MatrixXs J_v_1
Definition
integrator-midpoint.hpp:61
aligator::dynamics::IntegratorMidpointDataTpl< Scalar >::Scalar
Scalar Scalar
Definition
integrator-midpoint.hpp:54
aligator::dynamics::IntegratorMidpointTpl
Midpoint integration rule.
Definition
integrator-midpoint.hpp:28
aligator::dynamics::IntegratorMidpointTpl::Manifold
ManifoldAbstractTpl< Scalar > Manifold
Definition
integrator-midpoint.hpp:33
aligator::dynamics::IntegratorMidpointTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
aligator::dynamics::IntegratorMidpointTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::dynamics::IntegratorMidpointTpl::IntegratorMidpointTpl
IntegratorMidpointTpl(const xyz::polymorphic< ContinuousDynamics > &cont_dynamics, const Scalar timestep)
aligator::dynamics::IntegratorMidpointTpl::createData
shared_ptr< BaseData > createData() const
aligator::dynamics::IntegratorMidpointTpl::timestep_
Scalar timestep_
Definition
integrator-midpoint.hpp:37
aligator::dynamics::IntegratorMidpointTpl::Base
IntegratorAbstractTpl< Scalar > Base
Definition
integrator-midpoint.hpp:31
aligator::dynamics::IntegratorMidpointTpl::Scalar
_Scalar Scalar
Definition
integrator-midpoint.hpp:29
aligator::dynamics::IntegratorMidpointTpl::Data
IntegratorMidpointDataTpl< Scalar > Data
Definition
integrator-midpoint.hpp:34
aligator::dynamics::IntegratorMidpointTpl::ContinuousDynamics
ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamics
Definition
integrator-midpoint.hpp:32
aligator::dynamics::IntegratorMidpointTpl::evaluate
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
aligator::dynamics::IntegratorMidpointTpl::BaseData
DynamicsDataTpl< Scalar > BaseData
Definition
integrator-midpoint.hpp:35
include
aligator
modelling
dynamics
integrator-midpoint.hpp
Generated by
1.17.0