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

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]
Collaboration diagram for aligator::DynamicsModelTpl< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Base = StageFunctionTpl<Scalar>
 
using Data = DynamicsDataTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 
using ManifoldPtr = shared_ptr<Manifold>
 
- Public Types inherited from aligator::StageFunctionTpl< _Scalar >
using Scalar = _Scalar
 
using Data = StageFunctionDataTpl<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 is_explicit () const
 Check if this dynamics model is implicit or explicit.
 
int nx1 () const
 
int nx2 () const
 
 DynamicsModelTpl (ManifoldPtr space, const int nu)
 Constructor for dynamics.
 
 DynamicsModelTpl (ManifoldPtr space, const int nu, ManifoldPtr space2)
 Constructor for dynamics. This constructor assumes same dimension for the current and next state.
 
- Public Member Functions inherited from aligator::StageFunctionTpl< _Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 StageFunctionTpl (const int ndx1, const int nu, const int ndx2, const int nr)
 
 StageFunctionTpl (const int ndx, const int nu, const int nr)
 Constructor where ndx2 = ndx1.
 
virtual void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const =0
 Evaluate the function.
 
virtual void computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const =0
 Compute Jacobians of this function.
 
virtual void computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, const ConstVectorRef &lbda, Data &data) const
 Compute the vector-hessian products of this function.
 
virtual ~StageFunctionTpl ()=default
 
virtual shared_ptr< DatacreateData () const
 Instantiate a Data object.
 

Public Attributes

ManifoldPtr space_
 State space for the input.
 
ManifoldPtr space_next_
 State space for the output of this dynamics model.
 
- Public Attributes inherited from aligator::StageFunctionTpl< _Scalar >
const int ndx1
 Current state dimension.
 
const int nu
 Control dimension.
 
const int ndx2
 Next state dimension.
 
const int nr
 Function codimension.
 

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'\). DynamicsModelTpl::nr is assumed to be equal to DynamicsModelTpl::ndx2.

Definition at line 18 of file dynamics.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 19 of file dynamics.hpp.

◆ Base

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

Definition at line 21 of file dynamics.hpp.

◆ Data

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

Definition at line 22 of file dynamics.hpp.

◆ Manifold

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

Definition at line 23 of file dynamics.hpp.

◆ ManifoldPtr

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

Definition at line 24 of file dynamics.hpp.

Constructor & Destructor Documentation

◆ DynamicsModelTpl() [1/2]

template<typename _Scalar >
aligator::DynamicsModelTpl< _Scalar >::DynamicsModelTpl ( ManifoldPtr 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 ( ManifoldPtr space,
const int nu,
ManifoldPtr space2 )

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

Parameters
spaceState space for the current, and next node.
nuControl dimension

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.

◆ is_explicit()

template<typename _Scalar >
virtual bool aligator::DynamicsModelTpl< _Scalar >::is_explicit ( ) const
inlinevirtual

Check if this dynamics model is implicit or explicit.

Reimplemented in 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.

Member Data Documentation

◆ space_

template<typename _Scalar >
ManifoldPtr aligator::DynamicsModelTpl< _Scalar >::space_

State space for the input.

Definition at line 27 of file dynamics.hpp.

◆ space_next_

template<typename _Scalar >
ManifoldPtr aligator::DynamicsModelTpl< _Scalar >::space_next_

State space for the output of this dynamics model.

Definition at line 29 of file dynamics.hpp.


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