aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
continuous-dynamics-abstract.hpp
Go to the documentation of this file.
1
4
#pragma once
5
6
#include "
aligator/fwd.hpp
"
7
#include "
aligator/modelling/dynamics/fwd.hpp
"
8
#include "
aligator/core/manifold-base.hpp
"
9
#include "
aligator/third-party/polymorphic_cxx14.h
"
10
11
namespace
aligator
{
12
namespace
dynamics
{
13
19
template
<
typename
_Scalar>
struct
ContinuousDynamicsAbstractTpl
{
20
using
Scalar
= _Scalar;
21
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
22
using
Manifold
=
ManifoldAbstractTpl<Scalar>
;
23
using
ManifoldPtr
= xyz::polymorphic<Manifold>;
24
using
Data
=
ContinuousDynamicsDataTpl<Scalar>
;
25
27
ManifoldPtr
space_
;
29
const
int
nu_
;
30
31
inline
int
ndx
()
const
{
return
space_
->ndx(); }
32
inline
int
nu
()
const
{
return
nu_
; }
33
35
inline
const
Manifold
&
space
()
const
{
return
*
space_
; }
36
37
ContinuousDynamicsAbstractTpl
(
ManifoldPtr
space
,
const
int
nu
);
38
39
virtual
~ContinuousDynamicsAbstractTpl
() =
default
;
40
46
virtual
void
evaluate
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
47
const
ConstVectorRef &xdot,
Data
&data)
const
= 0;
48
54
virtual
void
computeJacobians
(
const
ConstVectorRef &x,
55
const
ConstVectorRef &u,
56
const
ConstVectorRef &xdot,
57
Data
&data)
const
= 0;
58
60
virtual
shared_ptr<Data>
createData
()
const
;
61
};
62
64
template
<
typename
_Scalar>
struct
ContinuousDynamicsDataTpl
{
65
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
66
using
Scalar
= _Scalar;
67
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
68
70
VectorXs
value_
;
72
MatrixXs
Jx_
;
74
MatrixXs
Ju_
;
76
MatrixXs
Jxdot_
;
78
VectorXs
xdot_
;
79
80
ConstMatrixRef
Jx
()
const
{
return
Jx_
; }
81
ConstMatrixRef
Ju
()
const
{
return
Ju_
; }
82
MatrixRef
Jx
() {
return
Jx_
; }
83
MatrixRef
Ju
() {
return
Ju_
; }
84
85
ContinuousDynamicsDataTpl
(
const
int
ndx,
const
int
nu);
86
87
// marks this type as polymorphic; required for Boost.Python
88
virtual
~ContinuousDynamicsDataTpl
() =
default
;
89
};
90
91
}
// namespace dynamics
92
}
// namespace aligator
93
94
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
95
#include "aligator/modelling/dynamics/continuous-dynamics-abstract.txx"
96
#endif
fwd.hpp
Forward declarations.
fwd.hpp
manifold-base.hpp
aligator::dynamics
Namespace for modelling system dynamics.
Definition
centroidal-fwd.hpp:10
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
polymorphic_cxx14.h
aligator::ManifoldAbstractTpl
Base class for manifolds, to use in cost funcs, solvers...
Definition
manifold-base.hpp:11
aligator::dynamics::ContinuousDynamicsAbstractTpl::Manifold
ManifoldAbstractTpl< Scalar > Manifold
Definition
continuous-dynamics-abstract.hpp:22
aligator::dynamics::ContinuousDynamicsAbstractTpl::nu
int nu() const
Definition
continuous-dynamics-abstract.hpp:32
aligator::dynamics::ContinuousDynamicsAbstractTpl::~ContinuousDynamicsAbstractTpl
virtual ~ContinuousDynamicsAbstractTpl()=default
aligator::dynamics::ContinuousDynamicsAbstractTpl::ManifoldPtr
xyz::polymorphic< Manifold > ManifoldPtr
Definition
continuous-dynamics-abstract.hpp:23
aligator::dynamics::ContinuousDynamicsAbstractTpl< Scalar >::nu_
const int nu_
Definition
continuous-dynamics-abstract.hpp:29
aligator::dynamics::ContinuousDynamicsAbstractTpl::ContinuousDynamicsAbstractTpl
ContinuousDynamicsAbstractTpl(ManifoldPtr space, const int nu)
aligator::dynamics::ContinuousDynamicsAbstractTpl::createData
virtual shared_ptr< Data > createData() const
Create a data holder instance.
aligator::dynamics::ContinuousDynamicsAbstractTpl::space
const Manifold & space() const
Return a reference to the state space.
Definition
continuous-dynamics-abstract.hpp:35
aligator::dynamics::ContinuousDynamicsAbstractTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::dynamics::ContinuousDynamicsAbstractTpl::Scalar
_Scalar Scalar
Definition
continuous-dynamics-abstract.hpp:20
aligator::dynamics::ContinuousDynamicsAbstractTpl::ndx
int ndx() const
Definition
continuous-dynamics-abstract.hpp:31
aligator::dynamics::ContinuousDynamicsAbstractTpl::Data
ContinuousDynamicsDataTpl< Scalar > Data
Definition
continuous-dynamics-abstract.hpp:24
aligator::dynamics::ContinuousDynamicsAbstractTpl::computeJacobians
virtual void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Differentiate the vector field.
aligator::dynamics::ContinuousDynamicsAbstractTpl< Scalar >::space_
ManifoldPtr space_
Definition
continuous-dynamics-abstract.hpp:27
aligator::dynamics::ContinuousDynamicsAbstractTpl::evaluate
virtual void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Evaluate the vector field at a point .
aligator::dynamics::ContinuousDynamicsDataTpl
Data struct for ContinuousDynamicsAbstractTpl.
Definition
continuous-dynamics-abstract.hpp:64
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::Ju_
MatrixXs Ju_
Definition
continuous-dynamics-abstract.hpp:74
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::Scalar
Scalar Scalar
Definition
continuous-dynamics-abstract.hpp:66
aligator::dynamics::ContinuousDynamicsDataTpl::Ju
MatrixRef Ju()
Definition
continuous-dynamics-abstract.hpp:83
aligator::dynamics::ContinuousDynamicsDataTpl::Jx
MatrixRef Jx()
Definition
continuous-dynamics-abstract.hpp:82
aligator::dynamics::ContinuousDynamicsDataTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::dynamics::ContinuousDynamicsDataTpl::Jx
ConstMatrixRef Jx() const
Definition
continuous-dynamics-abstract.hpp:80
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::value_
VectorXs value_
Definition
continuous-dynamics-abstract.hpp:70
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::Jx_
MatrixXs Jx_
Definition
continuous-dynamics-abstract.hpp:72
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::Jxdot_
MatrixXs Jxdot_
Definition
continuous-dynamics-abstract.hpp:76
aligator::dynamics::ContinuousDynamicsDataTpl< Scalar >::xdot_
VectorXs xdot_
Definition
continuous-dynamics-abstract.hpp:78
aligator::dynamics::ContinuousDynamicsDataTpl::Ju
ConstMatrixRef Ju() const
Definition
continuous-dynamics-abstract.hpp:81
aligator::dynamics::ContinuousDynamicsDataTpl::~ContinuousDynamicsDataTpl
virtual ~ContinuousDynamicsDataTpl()=default
aligator::dynamics::ContinuousDynamicsDataTpl::ContinuousDynamicsDataTpl
ContinuousDynamicsDataTpl(const int ndx, const int nu)
include
aligator
modelling
dynamics
continuous-dynamics-abstract.hpp
Generated by
1.17.0