aligator
0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Explicit forward dynamics model \( x_{k+1} = f(x_k, u_k) \). More...
#include <aligator/core/explicit-dynamics.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Data = ExplicitDynamicsDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
ExplicitDynamicsModelTpl (const polymorphic< Manifold > &space, const int nu) | |
Constructor requires providing the next state's manifold. | |
const Manifold & | space () const |
const Manifold & | space_next () const |
int | nx1 () const |
int | ndx1 () const |
int | nx2 () const |
int | ndx2 () const |
virtual void | forward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
Evaluate the forward discrete dynamics. | |
virtual void | dForward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
Compute the Jacobians of the forward dynamics. | |
virtual shared_ptr< Data > | createData () const |
virtual | ~ExplicitDynamicsModelTpl ()=default |
Public Attributes | |
polymorphic< Manifold > | space_ |
polymorphic< Manifold > | space_next_ |
int | nu |
Static Public Attributes | |
static constexpr bool | is_explicit = true |
Explicit forward dynamics model \( x_{k+1} = f(x_k, u_k) \).
Forward dynamics \( x_{k+1} = f(x_k, u_k) \). The corresponding residuals for NLP-like formulations
Definition at line 21 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< _Scalar >::Scalar = _Scalar |
Definition at line 22 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< _Scalar >::Data = ExplicitDynamicsDataTpl<Scalar> |
Definition at line 24 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 25 of file explicit-dynamics.hpp.
|
inline |
Constructor requires providing the next state's manifold.
Definition at line 30 of file explicit-dynamics.hpp.
|
virtualdefault |
aligator::ExplicitDynamicsModelTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
inline |
Definition at line 35 of file explicit-dynamics.hpp.
|
inline |
Definition at line 36 of file explicit-dynamics.hpp.
|
inline |
Definition at line 38 of file explicit-dynamics.hpp.
|
inline |
Definition at line 39 of file explicit-dynamics.hpp.
|
inline |
Definition at line 40 of file explicit-dynamics.hpp.
|
inline |
Definition at line 41 of file explicit-dynamics.hpp.
|
pure virtual |
Evaluate the forward discrete dynamics.
Implemented in aligator::compat::croc::NoOpDynamics< Scalar >, aligator::DirectSumExplicitDynamicsTpl< _Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >, and aligator::python::PyExplicitDynamics< Base >.
|
pure virtual |
Compute the Jacobians of the forward dynamics.
Implemented in aligator::compat::croc::NoOpDynamics< Scalar >, aligator::DirectSumExplicitDynamicsTpl< _Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >, and aligator::python::PyExplicitDynamics< Base >.
|
inlinevirtual |
Reimplemented in aligator::DirectSumExplicitDynamicsTpl< _Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >, aligator::DirectSumExplicitDynamicsTpl< Scalar >::Data, aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< Scalar >, aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >, and aligator::python::PyExplicitDynamics< Base >.
Definition at line 51 of file explicit-dynamics.hpp.
|
staticconstexpr |
Definition at line 27 of file explicit-dynamics.hpp.
polymorphic<Manifold> aligator::ExplicitDynamicsModelTpl< _Scalar >::space_ |
Definition at line 57 of file explicit-dynamics.hpp.
polymorphic<Manifold> aligator::ExplicitDynamicsModelTpl< _Scalar >::space_next_ |
Definition at line 58 of file explicit-dynamics.hpp.
int aligator::ExplicitDynamicsModelTpl< _Scalar >::nu |
Definition at line 59 of file explicit-dynamics.hpp.