aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar > Struct Template Referenceabstract

Continuous dynamics described by differential-algebraic equations (DAEs) \(F(\dot{x}, x, u) = 0\). More...

#include <aligator/modelling/dynamics/continuous-dynamics-abstract.hpp>

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

Public Types

using Scalar = _Scalar
 
using Manifold = ManifoldAbstractTpl<Scalar>
 
using ManifoldPtr = shared_ptr<Manifold>
 
using Data = ContinuousDynamicsDataTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
int ndx () const
 
int nu () const
 
const Manifoldspace () const
 Return a reference to the state space.
 
 ContinuousDynamicsAbstractTpl (ManifoldPtr space, const int nu)
 
virtual ~ContinuousDynamicsAbstractTpl ()=default
 
virtual void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
 Evaluate the vector field at a point \((x, u)\).
 
virtual void computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
 Differentiate the vector field.
 
virtual shared_ptr< DatacreateData () const
 Create a data holder instance.
 

Public Attributes

ManifoldPtr space_
 State space.
 
const int nu_
 Control space dimension.
 

Detailed Description

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

Continuous dynamics described by differential-algebraic equations (DAEs) \(F(\dot{x}, x, u) = 0\).

Continuous dynamics described as \( f(x, u, \dot{x}) = 0 \). The codimension of this function is the same as that of \(x\).

Definition at line 18 of file continuous-dynamics-abstract.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 19 of file continuous-dynamics-abstract.hpp.

◆ Manifold

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

Definition at line 21 of file continuous-dynamics-abstract.hpp.

◆ ManifoldPtr

template<typename _Scalar >
using aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::ManifoldPtr = shared_ptr<Manifold>

Definition at line 22 of file continuous-dynamics-abstract.hpp.

◆ Data

template<typename _Scalar >
using aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::Data = ContinuousDynamicsDataTpl<Scalar>

Definition at line 23 of file continuous-dynamics-abstract.hpp.

Constructor & Destructor Documentation

◆ ContinuousDynamicsAbstractTpl()

template<typename _Scalar >
aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::ContinuousDynamicsAbstractTpl ( ManifoldPtr space,
const int nu )

◆ ~ContinuousDynamicsAbstractTpl()

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

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename _Scalar >
aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ ndx()

template<typename _Scalar >
int aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::ndx ( ) const
inline

Definition at line 30 of file continuous-dynamics-abstract.hpp.

◆ nu()

template<typename _Scalar >
int aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::nu ( ) const
inline

Definition at line 31 of file continuous-dynamics-abstract.hpp.

◆ space()

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

Return a reference to the state space.

Definition at line 34 of file continuous-dynamics-abstract.hpp.

◆ evaluate()

template<typename _Scalar >
virtual void aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::evaluate ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & xdot,
Data & data ) const
pure virtual

Evaluate the vector field at a point \((x, u)\).

Parameters
xThe input state variable.
uThe input control variable.
xdotDerivative of the state.
[out]dataThe output data object.

◆ computeJacobians()

template<typename _Scalar >
virtual void aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::computeJacobians ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & xdot,
Data & data ) const
pure virtual

Differentiate the vector field.

Parameters
xThe input state variable.
uThe input control variable.
xdotDerivative of the state.
[out]dataThe output data object.

◆ createData()

Member Data Documentation

◆ space_

template<typename _Scalar >
ManifoldPtr aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::space_

State space.

Definition at line 26 of file continuous-dynamics-abstract.hpp.

◆ nu_

template<typename _Scalar >
const int aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >::nu_

Control space dimension.

Definition at line 28 of file continuous-dynamics-abstract.hpp.


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