|
aligator
0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Base class for (implicit) numerical integrators. More...
#include <aligator/modelling/dynamics/integrator-abstract.hpp>
Public Types | |
| using | Scalar = _Scalar |
| using | Base = DynamicsModelTpl<Scalar> |
| using | BaseData = DynamicsDataTpl<Scalar> |
| using | ContinuousDynamics = ContinuousDynamicsAbstractTpl<Scalar> |
Public Types inherited from aligator::DynamicsModelTpl< _Scalar > | |
| using | Scalar = _Scalar |
| using | Data = DynamicsDataTpl<Scalar> |
| using | Manifold = ManifoldAbstractTpl<Scalar> |
Public Member Functions | |
| template<typename U> | |
| U * | getDynamics () |
| template<typename U> | |
| const U * | getDynamics () const |
| IntegratorAbstractTpl (const xyz::polymorphic< ContinuousDynamics > &cont_dynamics) | |
| Constructor from instances of DynamicsType. | |
| virtual | ~IntegratorAbstractTpl ()=default |
| shared_ptr< BaseData > | createData () const |
Public Member Functions inherited from aligator::DynamicsModelTpl< _Scalar > | |
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
| const Manifold & | space () const |
| State space for the input. | |
| const Manifold & | space_next () const |
| State space for the output of this dynamics model. | |
| virtual bool | isExplicit () const |
| Check if this dynamics model is implicit or explicit. | |
| int | nx1 () const |
| int | nx2 () const |
| DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu) | |
| Constructor for dynamics. | |
| DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu, xyz::polymorphic< Manifold > space_next) | |
| Constructor for dynamics. This constructor assumes same dimension for the current and next state. | |
| virtual void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0 |
| virtual void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0 |
| virtual void | computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, const ConstVectorRef &lbda, Data &data) const |
| virtual | ~DynamicsModelTpl ()=default |
Public Attributes | |
| xyz::polymorphic< ContinuousDynamics > | continuous_dynamics_ |
| The underlying continuous dynamics. | |
Public Attributes inherited from aligator::DynamicsModelTpl< _Scalar > | |
| xyz::polymorphic< Manifold > | space_ |
| State space for the input. | |
| xyz::polymorphic< Manifold > | space_next_ |
| State space for the output of this dynamics model. | |
| const int | ndx1 |
| State space dimension. | |
| const int | nu |
| Control dimension. | |
| const int | ndx2 |
| Next state space dimension. | |
Base class for (implicit) numerical integrators.
Numerical integrators are instances DynamicsModelTpl which call into a ContinuousDynamicsAbstractTpl and construct an integration rule. Their aim is to provide a discretization for DAEs
\[ f(x(t), u(t), \dot{x}(t)) = 0 \]
as
\[ \Phi(x_k, u_k, x_{k+1}) = 0. \]
Definition at line 24 of file integrator-abstract.hpp.
| using aligator::dynamics::IntegratorAbstractTpl< _Scalar >::Scalar = _Scalar |
Definition at line 26 of file integrator-abstract.hpp.
| using aligator::dynamics::IntegratorAbstractTpl< _Scalar >::Base = DynamicsModelTpl<Scalar> |
Definition at line 27 of file integrator-abstract.hpp.
| using aligator::dynamics::IntegratorAbstractTpl< _Scalar >::BaseData = DynamicsDataTpl<Scalar> |
Definition at line 28 of file integrator-abstract.hpp.
| using aligator::dynamics::IntegratorAbstractTpl< _Scalar >::ContinuousDynamics = ContinuousDynamicsAbstractTpl<Scalar> |
Definition at line 29 of file integrator-abstract.hpp.
|
explicit |
Constructor from instances of DynamicsType.
|
virtualdefault |
|
inline |
Definition at line 34 of file integrator-abstract.hpp.
|
inline |
Definition at line 37 of file integrator-abstract.hpp.
|
virtual |
Reimplemented from aligator::DynamicsModelTpl< _Scalar >.
Reimplemented in aligator::dynamics::IntegratorMidpointTpl< _Scalar >.
| xyz::polymorphic<ContinuousDynamics> aligator::dynamics::IntegratorAbstractTpl< _Scalar >::continuous_dynamics_ |
The underlying continuous dynamics.
Definition at line 32 of file integrator-abstract.hpp.