aligator
0.15.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Semi-implicit Euler integrator \( x_{k+1} = x_k \oplus h f(x_k, u_k)\). More...
#include <aligator/modelling/dynamics/integrator-semi-euler.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Base = ExplicitIntegratorAbstractTpl<Scalar> |
using | BaseData = ExplicitDynamicsDataTpl<Scalar> |
using | Data = IntegratorSemiImplDataTpl<Scalar> |
using | ODEType = ODEAbstractTpl<Scalar> |
using | ODEData = ContinuousDynamicsDataTpl<Scalar> |
![]() | |
using | Scalar = _Scalar |
using | ODEType = ODEAbstractTpl<Scalar> |
using | Base = ExplicitDynamicsModelTpl<Scalar> |
using | DerivedData = ExplicitIntegratorDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | Data |
![]() | |
using | Scalar = _Scalar |
using | Data = ExplicitDynamicsDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
IntegratorSemiImplEulerTpl (const xyz::polymorphic< ODEType > &cont_dynamics, const Scalar timestep) | |
void | forward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const |
Evaluate the forward discrete dynamics. | |
void | dForward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const |
Compute the Jacobians of the forward dynamics. | |
shared_ptr< BaseData > | createData () const |
![]() | |
template<typename U> | |
U * | getDynamics () |
template<typename U> | |
const U * | getDynamics () const |
ExplicitIntegratorAbstractTpl (const xyz::polymorphic< ODEType > &cont_dynamics) | |
virtual | ~ExplicitIntegratorAbstractTpl ()=default |
int | ndx1 () const |
int | ndx2 () const |
![]() | |
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 | |
Scalar | timestep_ |
Integration time step \(h\). | |
polymorphic< Manifold > | space_next_ |
![]() | |
xyz::polymorphic< ODEType > | ode_ |
int | nu |
polymorphic< Manifold > | space_next_ |
![]() | |
polymorphic< Manifold > | space_ |
polymorphic< Manifold > | space_next_ |
int | nu |
Additional Inherited Members | |
![]() | |
static constexpr bool | is_explicit = true |
Semi-implicit Euler integrator \( x_{k+1} = x_k \oplus h f(x_k, u_k)\).
Definition at line 17 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::Scalar = _Scalar |
Definition at line 18 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::Base = ExplicitIntegratorAbstractTpl<Scalar> |
Definition at line 20 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::BaseData = ExplicitDynamicsDataTpl<Scalar> |
Definition at line 21 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::Data = IntegratorSemiImplDataTpl<Scalar> |
Definition at line 22 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::ODEType = ODEAbstractTpl<Scalar> |
Definition at line 23 of file integrator-semi-euler.hpp.
using aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::ODEData = ContinuousDynamicsDataTpl<Scalar> |
Definition at line 24 of file integrator-semi-euler.hpp.
aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::IntegratorSemiImplEulerTpl | ( | const xyz::polymorphic< ODEType > & | cont_dynamics, |
const Scalar | timestep ) |
aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
virtual |
Evaluate the forward discrete dynamics.
Reimplemented from aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >.
|
virtual |
Compute the Jacobians of the forward dynamics.
Reimplemented from aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >.
|
inlinevirtual |
Reimplemented from aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >.
Definition at line 39 of file integrator-semi-euler.hpp.
Scalar aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >::timestep_ |
Integration time step \(h\).
Definition at line 28 of file integrator-semi-euler.hpp.