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

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

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

Classes

struct  Data
 

Public Types

using Scalar = _Scalar
 
using Base = ExplicitDynamicsModelTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 
using CartesianProduct = aligator::CartesianProductTpl<Scalar>
 
using BaseData = ExplicitDynamicsDataTpl<Scalar>
 
- Public Types inherited from aligator::ExplicitDynamicsModelTpl< _Scalar >
using Scalar = _Scalar
 
using Data = ExplicitDynamicsDataTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 DirectSumExplicitDynamicsTpl (xyz::polymorphic< Base > f, xyz::polymorphic< Base > g)
 
void forward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override
 Evaluate the forward discrete dynamics.
 
void dForward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override
 Compute the Jacobians of the forward dynamics.
 
shared_ptr< BaseDatacreateData () const override
 
- 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< Basef_
 
xyz::polymorphic< Baseg_
 
- 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::DirectSumExplicitDynamicsTpl< _Scalar >

Direct sum of two explicit-dynamics models. This operates on the product space of the two supplied functions. The expression is

\[ (x_{k+1}, z_{k+1}) = (f(x_k, u_k), g(z_k, w_k)) \]

where \(f,g\) are the two components.

Definition at line 16 of file explicit-dynamics-direct-sum.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 17 of file explicit-dynamics-direct-sum.hpp.

◆ Base

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

Definition at line 19 of file explicit-dynamics-direct-sum.hpp.

◆ Manifold

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

Definition at line 20 of file explicit-dynamics-direct-sum.hpp.

◆ CartesianProduct

template<typename _Scalar>
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::CartesianProduct = aligator::CartesianProductTpl<Scalar>

Definition at line 21 of file explicit-dynamics-direct-sum.hpp.

◆ BaseData

template<typename _Scalar>
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::BaseData = ExplicitDynamicsDataTpl<Scalar>

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

Constructor & Destructor Documentation

◆ DirectSumExplicitDynamicsTpl()

template<typename _Scalar>
aligator::DirectSumExplicitDynamicsTpl< _Scalar >::DirectSumExplicitDynamicsTpl ( xyz::polymorphic< Base > f,
xyz::polymorphic< Base > g )

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

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

◆ forward()

template<typename _Scalar>
void aligator::DirectSumExplicitDynamicsTpl< _Scalar >::forward ( const ConstVectorRef & x,
const ConstVectorRef & u,
BaseData & data ) const
overridevirtual

Evaluate the forward discrete dynamics.

Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.

◆ dForward()

template<typename _Scalar>
void aligator::DirectSumExplicitDynamicsTpl< _Scalar >::dForward ( const ConstVectorRef & x,
const ConstVectorRef & u,
BaseData & data ) const
overridevirtual

Compute the Jacobians of the forward dynamics.

Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.

◆ createData()

template<typename _Scalar>
shared_ptr< BaseData > aligator::DirectSumExplicitDynamicsTpl< _Scalar >::createData ( ) const
inlineoverridevirtual

Member Data Documentation

◆ f_

template<typename _Scalar>
xyz::polymorphic<Base> aligator::DirectSumExplicitDynamicsTpl< _Scalar >::f_

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

◆ g_

template<typename _Scalar>
xyz::polymorphic<Base> aligator::DirectSumExplicitDynamicsTpl< _Scalar >::g_

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


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