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

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

#include <aligator/core/explicit-dynamics.hpp>

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

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 Manifoldspace () const
 
const Manifoldspace_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< DatacreateData () const
 
virtual ~ExplicitDynamicsModelTpl ()=default
 

Public Attributes

polymorphic< Manifoldspace_
 
polymorphic< Manifoldspace_next_
 
int nu
 

Static Public Attributes

static constexpr bool is_explicit = true
 

Detailed Description

template<typename _Scalar>
struct aligator::ExplicitDynamicsModelTpl< _Scalar >

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.

Member Typedef Documentation

◆ Scalar

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

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

◆ Data

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

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

◆ Manifold

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

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

Constructor & Destructor Documentation

◆ ExplicitDynamicsModelTpl()

template<typename _Scalar>
aligator::ExplicitDynamicsModelTpl< _Scalar >::ExplicitDynamicsModelTpl ( const polymorphic< Manifold > & space,
const int nu )
inline

Constructor requires providing the next state's manifold.

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

◆ ~ExplicitDynamicsModelTpl()

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

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename _Scalar>
aligator::ExplicitDynamicsModelTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ space()

template<typename _Scalar>
const Manifold & aligator::ExplicitDynamicsModelTpl< _Scalar >::space ( ) const
inline

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

◆ space_next()

template<typename _Scalar>
const Manifold & aligator::ExplicitDynamicsModelTpl< _Scalar >::space_next ( ) const
inline

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

◆ nx1()

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

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

◆ ndx1()

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

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

◆ nx2()

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

Definition at line 40 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.

◆ forward()

◆ dForward()

◆ createData()

Member Data Documentation

◆ is_explicit

template<typename _Scalar>
bool aligator::ExplicitDynamicsModelTpl< _Scalar >::is_explicit = true
staticconstexpr

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

◆ space_

template<typename _Scalar>
polymorphic<Manifold> aligator::ExplicitDynamicsModelTpl< _Scalar >::space_

Definition at line 57 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.

◆ nu

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

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


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