aligator  0.9.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::DynamicsModelTpl< Scalar > Struct Template Referenceabstract

Dynamics model: describes system dynamics through an implicit relation \(f(x,u,x') = 0\). More...

#include <aligator/core/dynamics.hpp>

Inheritance diagram for aligator::DynamicsModelTpl< Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Data = DynamicsDataTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
const Manifoldspace () const
 State space for the input.
 
const Manifoldspace_next () const
 State space for the output of this dynamics model.
 
virtual bool isExplicit () const
 Check if this dynamics model is implicit or explicit.
 
int nx1 () const
 
int nx2 () const
 
 DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu)
 Constructor for dynamics.
 
 DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu, xyz::polymorphic< Manifold > space_next)
 Constructor for dynamics. This constructor assumes same dimension for the current and next state.
 
virtual void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0
 
virtual void computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0
 
virtual void computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, const ConstVectorRef &lbda, Data &data) const
 
virtual shared_ptr< DatacreateData () const
 
virtual ~DynamicsModelTpl ()=default
 

Public Attributes

xyz::polymorphic< Manifoldspace_
 State space for the input.
 
xyz::polymorphic< Manifoldspace_next_
 State space for the output of this dynamics model.
 
const int ndx1
 State space dimension.
 
const int nu
 Control dimension.
 
const int ndx2
 Next state space dimension.
 

Detailed Description

template<typename Scalar>
struct aligator::DynamicsModelTpl< Scalar >

Dynamics model: describes system dynamics through an implicit relation \(f(x,u,x') = 0\).

A dynamics model is a function \(f(x,u,x')\) that must be set to zero, describing the dynamics mapping \((x, u) \mapsto x'\).

Definition at line 71 of file fwd.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 15 of file dynamics.hpp.

◆ Data

template<typename Scalar >
using aligator::DynamicsModelTpl< Scalar >::Data = DynamicsDataTpl<Scalar>

Definition at line 17 of file dynamics.hpp.

◆ Manifold

template<typename Scalar >
using aligator::DynamicsModelTpl< Scalar >::Manifold = ManifoldAbstractTpl<Scalar>

Definition at line 18 of file dynamics.hpp.

Constructor & Destructor Documentation

◆ DynamicsModelTpl() [1/2]

template<typename Scalar >
aligator::DynamicsModelTpl< Scalar >::DynamicsModelTpl ( xyz::polymorphic< Manifold > space,
const int nu )

Constructor for dynamics.

Parameters
spaceState space.
nuControl dimension
ndx2Next state space dimension.

◆ DynamicsModelTpl() [2/2]

template<typename Scalar >
aligator::DynamicsModelTpl< Scalar >::DynamicsModelTpl ( xyz::polymorphic< Manifold > space,
const int nu,
xyz::polymorphic< Manifold > space_next )

Constructor for dynamics. This constructor assumes same dimension for the current and next state.

Parameters
spaceState space for the current node.
nuControl dimension
space_nextState space for the next node.

◆ ~DynamicsModelTpl()

template<typename Scalar >
virtual aligator::DynamicsModelTpl< Scalar >::~DynamicsModelTpl ( )
virtualdefault

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar >
aligator::DynamicsModelTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ space()

template<typename Scalar >
const Manifold & aligator::DynamicsModelTpl< Scalar >::space ( ) const
inline

State space for the input.

Definition at line 32 of file dynamics.hpp.

◆ space_next()

template<typename Scalar >
const Manifold & aligator::DynamicsModelTpl< Scalar >::space_next ( ) const
inline

State space for the output of this dynamics model.

Definition at line 34 of file dynamics.hpp.

◆ isExplicit()

template<typename Scalar >
virtual bool aligator::DynamicsModelTpl< Scalar >::isExplicit ( ) const
inlinevirtual

Check if this dynamics model is implicit or explicit.

Reimplemented in aligator::ExplicitDynamicsModelTpl< Scalar >, and aligator::ExplicitDynamicsModelTpl< _Scalar >.

Definition at line 36 of file dynamics.hpp.

◆ nx1()

template<typename Scalar >
int aligator::DynamicsModelTpl< Scalar >::nx1 ( ) const
inline

Definition at line 38 of file dynamics.hpp.

◆ nx2()

template<typename Scalar >
int aligator::DynamicsModelTpl< Scalar >::nx2 ( ) const
inline

Definition at line 39 of file dynamics.hpp.

◆ evaluate()

template<typename Scalar >
virtual void aligator::DynamicsModelTpl< Scalar >::evaluate ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & xn,
Data &  ) const
pure virtual

◆ computeJacobians()

template<typename Scalar >
virtual void aligator::DynamicsModelTpl< Scalar >::computeJacobians ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & xn,
Data &  ) const
pure virtual

◆ computeVectorHessianProducts()

template<typename Scalar >
virtual void aligator::DynamicsModelTpl< Scalar >::computeVectorHessianProducts ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & xn,
const ConstVectorRef & lbda,
Data & data ) const
virtual

◆ createData()

Member Data Documentation

◆ space_

template<typename Scalar >
xyz::polymorphic<Manifold> aligator::DynamicsModelTpl< Scalar >::space_

State space for the input.

Definition at line 21 of file dynamics.hpp.

◆ space_next_

template<typename Scalar >
xyz::polymorphic<Manifold> aligator::DynamicsModelTpl< Scalar >::space_next_

State space for the output of this dynamics model.

Definition at line 23 of file dynamics.hpp.

◆ ndx1

template<typename Scalar >
const int aligator::DynamicsModelTpl< Scalar >::ndx1

State space dimension.

Definition at line 25 of file dynamics.hpp.

◆ nu

template<typename Scalar >
const int aligator::DynamicsModelTpl< Scalar >::nu

Control dimension.

Definition at line 27 of file dynamics.hpp.

◆ ndx2

template<typename Scalar >
const int aligator::DynamicsModelTpl< Scalar >::ndx2

Next state space dimension.

Definition at line 29 of file dynamics.hpp.


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