|
aligator
0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Explicit integrators \(x_{k+1} = f(x_k, u_k) \). More...
#include <aligator/modelling/dynamics/integrator-explicit.hpp>
Public Types | |
| using | Scalar = _Scalar |
| using | ODEType = ODEAbstractTpl<Scalar> |
| using | Base = ExplicitDynamicsModelTpl<Scalar> |
| using | DerivedData = ExplicitIntegratorDataTpl<Scalar> |
| using | Manifold = ManifoldAbstractTpl<Scalar> |
| using | Data |
Public Types inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
| using | Scalar = _Scalar |
| using | Data = ExplicitDynamicsDataTpl<Scalar> |
| using | Manifold = ManifoldAbstractTpl<Scalar> |
Public Member Functions | |
| template<typename U> | |
| U * | getDynamics () |
| template<typename U> | |
| const U * | getDynamics () const |
| ExplicitIntegratorAbstractTpl (const xyz::polymorphic< ODEType > &cont_dynamics) | |
| virtual | ~ExplicitIntegratorAbstractTpl ()=default |
| shared_ptr< Data > | createData () const |
| virtual void | dForward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
| Compute the Jacobians of the forward dynamics. | |
| virtual void | forward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
| Evaluate the forward discrete dynamics. | |
| int | ndx1 () const |
| int | ndx2 () const |
Public Member Functions inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
| 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 | ~ExplicitDynamicsModelTpl ()=default |
Public Attributes | |
| xyz::polymorphic< ODEType > | ode_ |
| int | nu |
| polymorphic< Manifold > | space_next_ |
Public Attributes inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
| polymorphic< Manifold > | space_ |
| polymorphic< Manifold > | space_next_ |
| int | nu |
Additional Inherited Members | |
Static Public Attributes inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
| static constexpr bool | is_explicit = true |
Explicit integrators \(x_{k+1} = f(x_k, u_k) \).
This class of integrator mostly applies to integrating ODE models \(\dot{x} = \phi(x,u)\). This class is separate from IntegratorAbstractTpl and not a child class; this ensures there is no diamond inheritance problem.
Definition at line 19 of file integrator-explicit.hpp.
| using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Scalar = _Scalar |
Definition at line 20 of file integrator-explicit.hpp.
| using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::ODEType = ODEAbstractTpl<Scalar> |
Definition at line 21 of file integrator-explicit.hpp.
| using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Base = ExplicitDynamicsModelTpl<Scalar> |
Definition at line 22 of file integrator-explicit.hpp.
| using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::DerivedData = ExplicitIntegratorDataTpl<Scalar> |
Definition at line 24 of file integrator-explicit.hpp.
| using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 32 of file integrator-explicit.hpp.
| using aligator::ExplicitDynamicsModelTpl< Scalar >::Data |
Definition at line 24 of file explicit-dynamics.hpp.
|
inlineexplicit |
Definition at line 41 of file integrator-explicit.hpp.
|
virtualdefault |
|
inline |
Definition at line 36 of file integrator-explicit.hpp.
|
inline |
Definition at line 37 of file integrator-explicit.hpp.
|
inlinevirtual |
Reimplemented from aligator::ExplicitDynamicsModelTpl< _Scalar >.
Reimplemented in aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, and aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >.
Definition at line 48 of file integrator-explicit.hpp.
|
virtual |
Compute the Jacobians of the forward dynamics.
Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.
Reimplemented in aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, and aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >.
|
virtual |
Evaluate the forward discrete dynamics.
Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.
Reimplemented in aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >, and aligator::dynamics::IntegratorSemiImplEulerTpl< Scalar >.
|
inline |
Definition at line 39 of file explicit-dynamics.hpp.
|
inline |
Definition at line 41 of file explicit-dynamics.hpp.
| xyz::polymorphic<ODEType> aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::ode_ |
Definition at line 34 of file integrator-explicit.hpp.
| int aligator::ExplicitDynamicsModelTpl< Scalar >::nu |
Definition at line 59 of file explicit-dynamics.hpp.
| polymorphic<Manifold> aligator::ExplicitDynamicsModelTpl< Scalar >::space_next_ |
Definition at line 58 of file explicit-dynamics.hpp.