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

Discrete explicit linear dynamics. More...

#include <aligator/modelling/linear-discrete-dynamics.hpp>

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

Public Types

using Scalar = _Scalar
 
using Base = ExplicitDynamicsModelTpl<Scalar>
 
using DynData = DynamicsDataTpl<Scalar>
 
using Data = ExplicitDynamicsDataTpl<Scalar>
 
using VectorSpaceType
 
- Public Types inherited from aligator::ExplicitDynamicsModelTpl< _Scalar >
using Scalar
 
using Base
 
using BaseData
 
using Data
 
using Manifold
 
using ManifoldPtr
 
- Public Types inherited from aligator::DynamicsModelTpl< _Scalar >
using Scalar
 
using Data
 
using Manifold
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 LinearDiscreteDynamicsTpl (const MatrixXs &A, const MatrixXs &B, const VectorXs &c)
 Constructor with state manifold and matrices.
 
void forward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const
 
void dForward (const ConstVectorRef &, const ConstVectorRef &, Data &) const
 
shared_ptr< DynDatacreateData () const
 
- Public Member Functions inherited from aligator::ExplicitDynamicsModelTpl< _Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (_Scalar)
 
bool isExplicit () const
 Check if this dynamics model is implicit or explicit.
 
 ExplicitDynamicsModelTpl (const ManifoldPtr &space, const int nu)
 Constructor requires providing the next state's manifold.
 
virtual ~ExplicitDynamicsModelTpl ()=default
 
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.
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
 
void computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
 
- Public Member Functions inherited from aligator::DynamicsModelTpl< _Scalar >
 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.
 
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 computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, const ConstVectorRef &lbda, Data &data) const
 
virtual ~DynamicsModelTpl ()=default
 

Public Attributes

const MatrixXs A_
 
const MatrixXs B_
 
const VectorXs c_
 
- Public Attributes inherited from aligator::DynamicsModelTpl< _Scalar >
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::dynamics::LinearDiscreteDynamicsTpl< _Scalar >

Discrete explicit linear dynamics.

Definition at line 12 of file linear-discrete-dynamics.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 13 of file linear-discrete-dynamics.hpp.

◆ Base

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

Definition at line 19 of file linear-discrete-dynamics.hpp.

◆ DynData

template<typename _Scalar >
using aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::DynData = DynamicsDataTpl<Scalar>

Definition at line 20 of file linear-discrete-dynamics.hpp.

◆ Data

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

Definition at line 21 of file linear-discrete-dynamics.hpp.

◆ VectorSpaceType

template<typename _Scalar >
using aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::VectorSpaceType
Initial value:
proxsuite::nlp::VectorSpaceTpl<Scalar, Eigen::Dynamic>

Definition at line 22 of file linear-discrete-dynamics.hpp.

Constructor & Destructor Documentation

◆ LinearDiscreteDynamicsTpl()

template<typename _Scalar >
aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::LinearDiscreteDynamicsTpl ( const MatrixXs & A,
const MatrixXs & B,
const VectorXs & c )
inline

Constructor with state manifold and matrices.

Definition at line 26 of file linear-discrete-dynamics.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

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

◆ forward()

template<typename _Scalar >
void aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::forward ( const ConstVectorRef & x,
const ConstVectorRef & u,
Data & data ) const
inline

Definition at line 31 of file linear-discrete-dynamics.hpp.

◆ dForward()

template<typename _Scalar >
void aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::dForward ( const ConstVectorRef & ,
const ConstVectorRef & ,
Data &  ) const
inline

Definition at line 36 of file linear-discrete-dynamics.hpp.

◆ createData()

template<typename _Scalar >
shared_ptr< DynData > aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::createData ( ) const
inlinevirtual

Reimplemented from aligator::ExplicitDynamicsModelTpl< _Scalar >.

Definition at line 38 of file linear-discrete-dynamics.hpp.

Member Data Documentation

◆ A_

template<typename _Scalar >
const MatrixXs aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::A_

Definition at line 15 of file linear-discrete-dynamics.hpp.

◆ B_

template<typename _Scalar >
const MatrixXs aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::B_

Definition at line 16 of file linear-discrete-dynamics.hpp.

◆ c_

template<typename _Scalar >
const VectorXs aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >::c_

Definition at line 17 of file linear-discrete-dynamics.hpp.


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