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

Linear ordinary differential equation \(\dot{x} = Ax + Bu\). More...

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

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

Public Types

using Scalar = _Scalar
 
using Base = ODEAbstractTpl<Scalar>
 
using ODEData = ContinuousDynamicsDataTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 
using ManifoldPtr = xyz::polymorphic<Manifold>
 
- Public Types inherited from aligator::dynamics::ODEAbstractTpl< _Scalar >
using Scalar = _Scalar
 
using Base = ContinuousDynamicsAbstractTpl<Scalar>
 
using Data = ContinuousDynamicsDataTpl<Scalar>
 
- Public Types inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >
using Scalar
 
using Manifold
 
using ManifoldPtr
 
using Data
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 LinearODETpl (const ManifoldPtr &space, const MatrixXs &A, const MatrixXs &B, const VectorXs &c)
 Standard constructor with state space, matrices \(A,B\) and constant term \(c\).
 
 LinearODETpl (const MatrixXs &A, const MatrixXs &B, const VectorXs &c)
 
void forward (const ConstVectorRef &x, const ConstVectorRef &u, ODEData &data) const
 Evaluate the ODE vector field: this returns the value of \(\dot{x}\).
 
void dForward (const ConstVectorRef &x, const ConstVectorRef &u, ODEData &data) const
 Evaluate the vector field Jacobians.
 
virtual shared_ptr< ContinuousDynamicsDataTpl< Scalar > > createData () const
 Create a data holder instance.
 
- Public Member Functions inherited from aligator::dynamics::ODEAbstractTpl< _Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
virtual ~ODEAbstractTpl ()=default
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
 
void computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
 
- Public Member Functions inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >
 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.
 

Public Attributes

MatrixXs A_
 
MatrixXs B_
 
VectorXs c_
 
- Public Attributes inherited from aligator::dynamics::ODEAbstractTpl< _Scalar >
const int nu_
 Control space dimension.
 
ManifoldPtr space_
 State space.
 
- Public Attributes inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >
ManifoldPtr space_
 State space.
 
const int nu_
 Control space dimension.
 

Detailed Description

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

Linear ordinary differential equation \(\dot{x} = Ax + Bu\).

This equation may be defined over a manifold's tangent space.

Definition at line 14 of file linear-ode.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 15 of file linear-ode.hpp.

◆ Base

template<typename _Scalar >
using aligator::dynamics::LinearODETpl< _Scalar >::Base = ODEAbstractTpl<Scalar>

Definition at line 17 of file linear-ode.hpp.

◆ ODEData

template<typename _Scalar >
using aligator::dynamics::LinearODETpl< _Scalar >::ODEData = ContinuousDynamicsDataTpl<Scalar>

Definition at line 18 of file linear-ode.hpp.

◆ Manifold

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

Definition at line 19 of file linear-ode.hpp.

◆ ManifoldPtr

template<typename _Scalar >
using aligator::dynamics::LinearODETpl< _Scalar >::ManifoldPtr = xyz::polymorphic<Manifold>

Definition at line 20 of file linear-ode.hpp.

Constructor & Destructor Documentation

◆ LinearODETpl() [1/2]

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

Standard constructor with state space, matrices \(A,B\) and constant term \(c\).

Definition at line 27 of file linear-ode.hpp.

◆ LinearODETpl() [2/2]

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

Constructor matrices \(A,B\) and constant term \(c\). The state space is inferred to be a vector space.

Definition at line 46 of file linear-ode.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

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

◆ forward()

template<typename _Scalar >
void aligator::dynamics::LinearODETpl< _Scalar >::forward ( const ConstVectorRef & x,
const ConstVectorRef & u,
ODEData & data ) const
virtual

Evaluate the ODE vector field: this returns the value of \(\dot{x}\).

Implements aligator::dynamics::ODEAbstractTpl< _Scalar >.

◆ dForward()

template<typename _Scalar >
void aligator::dynamics::LinearODETpl< _Scalar >::dForward ( const ConstVectorRef & x,
const ConstVectorRef & u,
ODEData & data ) const
virtual

Evaluate the vector field Jacobians.

Implements aligator::dynamics::ODEAbstractTpl< _Scalar >.

◆ createData()

template<typename _Scalar >
virtual shared_ptr< ContinuousDynamicsDataTpl< Scalar > > aligator::dynamics::LinearODETpl< _Scalar >::createData ( ) const
inlinevirtual

Create a data holder instance.

Reimplemented from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >.

Definition at line 55 of file linear-ode.hpp.

Member Data Documentation

◆ A_

template<typename _Scalar >
MatrixXs aligator::dynamics::LinearODETpl< _Scalar >::A_

Definition at line 22 of file linear-ode.hpp.

◆ B_

template<typename _Scalar >
MatrixXs aligator::dynamics::LinearODETpl< _Scalar >::B_

Definition at line 22 of file linear-ode.hpp.

◆ c_

template<typename _Scalar >
VectorXs aligator::dynamics::LinearODETpl< _Scalar >::c_

Definition at line 23 of file linear-ode.hpp.


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