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-abstract.hpp
Go to the documentation of this file.
1
#pragma once
5
6
#include "
aligator/modelling/dynamics/continuous-dynamics-abstract.hpp
"
7
#include "
aligator/core/dynamics.hpp
"
8
9
namespace
aligator
{
10
namespace
dynamics
{
11
23
template
<
typename
_Scalar>
24
struct
IntegratorAbstractTpl
:
DynamicsModelTpl
<_Scalar> {
25
public
:
26
using
Scalar
= _Scalar;
27
using
Base
=
DynamicsModelTpl<Scalar>
;
28
using
BaseData
=
DynamicsDataTpl<Scalar>
;
29
using
ContinuousDynamics
=
ContinuousDynamicsAbstractTpl<Scalar>
;
30
32
xyz::polymorphic<ContinuousDynamics>
continuous_dynamics_
;
33
34
template
<
typename
U> U *
getDynamics
() {
35
return
dynamic_cast<
U *
>
(&*
continuous_dynamics_
);
36
}
37
template
<
typename
U>
const
U *
getDynamics
()
const
{
38
return
dynamic_cast<
const
U *
>
(&*
continuous_dynamics_
);
39
}
40
42
explicit
IntegratorAbstractTpl
(
43
const
xyz::polymorphic<ContinuousDynamics> &cont_dynamics);
44
virtual
~IntegratorAbstractTpl
() =
default
;
45
shared_ptr<BaseData>
createData
()
const
;
46
};
47
49
template
<
typename
_Scalar>
50
struct
IntegratorDataTpl
:
DynamicsDataTpl
<_Scalar> {
51
using
Scalar
= _Scalar;
52
using
Base
=
DynamicsDataTpl<Scalar>
;
53
using
VectorXs
=
typename
math_types<Scalar>::VectorXs
;
54
shared_ptr<ContinuousDynamicsDataTpl<Scalar>>
continuous_data
;
55
56
using
Base::Huu_
;
57
using
Base::Huy_
;
58
using
Base::Hxu_
;
59
using
Base::Hxx_
;
60
using
Base::Hxy_
;
61
using
Base::Hyy_
;
62
using
Base::Ju_
;
63
using
Base::Jx_
;
64
using
Base::Jy_
;
65
using
Base::value_
;
66
68
VectorXs
xdot_
;
69
70
explicit
IntegratorDataTpl
(
const
IntegratorAbstractTpl<Scalar>
&integrator);
71
virtual
~IntegratorDataTpl
() =
default
;
72
};
73
74
}
// namespace dynamics
75
}
// namespace aligator
76
77
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
78
#include "aligator/modelling/dynamics/integrator-abstract.txx"
79
#endif
continuous-dynamics-abstract.hpp
Base definitions for continuous dynamics.
dynamics.hpp
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 >::Hxx_
MatrixXs Hxx_
Definition
dynamics.hpp:101
aligator::DynamicsDataTpl< Scalar >::Huu_
MatrixXs Huu_
Definition
dynamics.hpp:104
aligator::DynamicsDataTpl< Scalar >::Hyy_
MatrixXs Hyy_
Definition
dynamics.hpp:106
aligator::DynamicsDataTpl< Scalar >::Hxy_
MatrixXs Hxy_
Definition
dynamics.hpp:103
aligator::DynamicsDataTpl< Scalar >::Huy_
MatrixXs Huy_
Definition
dynamics.hpp:105
aligator::DynamicsDataTpl< Scalar >::Jy_
MatrixRef Jy_
Definition
dynamics.hpp:97
aligator::DynamicsDataTpl::DynamicsDataTpl
DynamicsDataTpl(const DynamicsModelTpl< Scalar > &model)
aligator::DynamicsDataTpl< Scalar >::value_
VectorXs value_
Definition
dynamics.hpp:88
aligator::DynamicsDataTpl< Scalar >::Jx_
MatrixRef Jx_
Definition
dynamics.hpp:93
aligator::DynamicsDataTpl< Scalar >::Hxu_
MatrixXs Hxu_
Definition
dynamics.hpp:102
aligator::DynamicsDataTpl< Scalar >::Ju_
MatrixRef Ju_
Definition
dynamics.hpp:95
aligator::DynamicsModelTpl::DynamicsModelTpl
DynamicsModelTpl(xyz::polymorphic< Manifold > space, const int nu)
Constructor for dynamics.
aligator::dynamics::ContinuousDynamicsAbstractTpl
Continuous dynamics described by differential-algebraic equations (DAEs) .
Definition
continuous-dynamics-abstract.hpp:19
aligator::dynamics::IntegratorAbstractTpl
Base class for (implicit) numerical integrators.
Definition
integrator-abstract.hpp:24
aligator::dynamics::IntegratorAbstractTpl< Scalar >::ContinuousDynamics
ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamics
Definition
integrator-abstract.hpp:29
aligator::dynamics::IntegratorAbstractTpl< Scalar >::BaseData
DynamicsDataTpl< Scalar > BaseData
Definition
integrator-abstract.hpp:28
aligator::dynamics::IntegratorAbstractTpl< Scalar >::continuous_dynamics_
xyz::polymorphic< ContinuousDynamics > continuous_dynamics_
Definition
integrator-abstract.hpp:32
aligator::dynamics::IntegratorAbstractTpl< Scalar >::Scalar
Scalar Scalar
Definition
integrator-abstract.hpp:26
aligator::dynamics::IntegratorAbstractTpl::getDynamics
const U * getDynamics() const
Definition
integrator-abstract.hpp:37
aligator::dynamics::IntegratorAbstractTpl< Scalar >::Base
DynamicsModelTpl< Scalar > Base
Definition
integrator-abstract.hpp:27
aligator::dynamics::IntegratorAbstractTpl::createData
shared_ptr< BaseData > createData() const
aligator::dynamics::IntegratorAbstractTpl::getDynamics
U * getDynamics()
Definition
integrator-abstract.hpp:34
aligator::dynamics::IntegratorAbstractTpl::~IntegratorAbstractTpl
virtual ~IntegratorAbstractTpl()=default
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< Scalar >::continuous_data
shared_ptr< ContinuousDynamicsDataTpl< Scalar > > continuous_data
Definition
integrator-abstract.hpp:54
aligator::dynamics::IntegratorDataTpl< Scalar >::Scalar
Scalar Scalar
Definition
integrator-abstract.hpp:51
aligator::dynamics::IntegratorDataTpl< Scalar >::xdot_
VectorXs xdot_
Definition
integrator-abstract.hpp:68
aligator::dynamics::IntegratorDataTpl::IntegratorDataTpl
IntegratorDataTpl(const IntegratorAbstractTpl< Scalar > &integrator)
aligator::dynamics::IntegratorDataTpl::~IntegratorDataTpl
virtual ~IntegratorDataTpl()=default
aligator::dynamics::IntegratorDataTpl< Scalar >::Base
DynamicsDataTpl< Scalar > Base
Definition
integrator-abstract.hpp:52
aligator::math_types
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition
math.hpp:123
include
aligator
modelling
dynamics
integrator-abstract.hpp
Generated by
1.17.0