aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar > Struct Template Reference

Explicit integrators \(x_{k+1} = f(x_k, u_k) \). More...

#include <aligator/modelling/dynamics/integrator-explicit.hpp>

Inheritance diagram for aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >:
[legend]
Collaboration diagram for aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >:
[legend]

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< DatacreateData () 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 Manifoldspace () const
 
const Manifoldspace_next () const
 
int nx1 () const
 
int ndx1 () const
 
int nx2 () const
 
int ndx2 () const
 
virtual ~ExplicitDynamicsModelTpl ()=default
 

Public Attributes

xyz::polymorphic< ODETypeode_
 
int nu
 
polymorphic< Manifoldspace_next_
 
- Public Attributes inherited from aligator::ExplicitDynamicsModelTpl< _Scalar >
polymorphic< Manifoldspace_
 
polymorphic< Manifoldspace_next_
 
int nu
 

Additional Inherited Members

- Static Public Attributes inherited from aligator::ExplicitDynamicsModelTpl< _Scalar >
static constexpr bool is_explicit = true
 

Detailed Description

template<typename _Scalar>
struct aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >

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.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar>
using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Scalar = _Scalar

Definition at line 20 of file integrator-explicit.hpp.

◆ ODEType

template<typename _Scalar>
using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::ODEType = ODEAbstractTpl<Scalar>

Definition at line 21 of file integrator-explicit.hpp.

◆ Base

template<typename _Scalar>
using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Base = ExplicitDynamicsModelTpl<Scalar>

Definition at line 22 of file integrator-explicit.hpp.

◆ DerivedData

template<typename _Scalar>
using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::DerivedData = ExplicitIntegratorDataTpl<Scalar>

Definition at line 24 of file integrator-explicit.hpp.

◆ Manifold

template<typename _Scalar>
using aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar>

Definition at line 32 of file integrator-explicit.hpp.

◆ Data

template<typename _Scalar>
using aligator::ExplicitDynamicsModelTpl< Scalar >::Data

Definition at line 24 of file explicit-dynamics.hpp.

Constructor & Destructor Documentation

◆ ExplicitIntegratorAbstractTpl()

template<typename _Scalar>
aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::ExplicitIntegratorAbstractTpl ( const xyz::polymorphic< ODEType > & cont_dynamics)
inlineexplicit

Definition at line 41 of file integrator-explicit.hpp.

◆ ~ExplicitIntegratorAbstractTpl()

template<typename _Scalar>
virtual aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::~ExplicitIntegratorAbstractTpl ( )
virtualdefault

Member Function Documentation

◆ getDynamics() [1/2]

template<typename _Scalar>
template<typename U>
U * aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::getDynamics ( )
inline

Definition at line 36 of file integrator-explicit.hpp.

◆ getDynamics() [2/2]

template<typename _Scalar>
template<typename U>
const U * aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::getDynamics ( ) const
inline

Definition at line 37 of file integrator-explicit.hpp.

◆ createData()

◆ dForward()

template<typename _Scalar>
virtual void aligator::ExplicitDynamicsModelTpl< Scalar >::dForward ( const ConstVectorRef & x,
const ConstVectorRef & u,
Data & data ) const
virtual

◆ forward()

template<typename _Scalar>
virtual void aligator::ExplicitDynamicsModelTpl< Scalar >::forward ( const ConstVectorRef & x,
const ConstVectorRef & u,
Data & data ) const
virtual

◆ ndx1()

template<typename _Scalar>
int aligator::ExplicitDynamicsModelTpl< Scalar >::ndx1 ( ) const
inline

Definition at line 39 of file explicit-dynamics.hpp.

◆ ndx2()

template<typename _Scalar>
int aligator::ExplicitDynamicsModelTpl< Scalar >::ndx2 ( ) const
inline

Definition at line 41 of file explicit-dynamics.hpp.

Member Data Documentation

◆ ode_

template<typename _Scalar>
xyz::polymorphic<ODEType> aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >::ode_

Definition at line 34 of file integrator-explicit.hpp.

◆ nu

template<typename _Scalar>
int aligator::ExplicitDynamicsModelTpl< Scalar >::nu

Definition at line 59 of file explicit-dynamics.hpp.

◆ space_next_

template<typename _Scalar>
polymorphic<Manifold> aligator::ExplicitDynamicsModelTpl< Scalar >::space_next_

Definition at line 58 of file explicit-dynamics.hpp.


The documentation for this struct was generated from the following files: