aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
aligator::LinearFunctionTpl< Scalar > Struct Template Reference

Linear function \(f(x,u,y) = Ax + Bu + Cy + d\). More...

#include <aligator/modelling/linear-function.hpp>

Inheritance diagram for aligator::LinearFunctionTpl< Scalar >:
[legend]
Collaboration diagram for aligator::LinearFunctionTpl< Scalar >:
[legend]

Public Types

using Base = StageFunctionTpl<Scalar>
using Data = StageFunctionDataTpl<Scalar>
Public Types inherited from aligator::StageFunctionTpl< Scalar >
using Scalar
using Data

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 LinearFunctionTpl (const int ndx, const int nu, const int nr)
 LinearFunctionTpl (const ConstMatrixRef A, const ConstMatrixRef B, const ConstVectorRef d)
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
 Evaluate the function.
void computeJacobians (const ConstVectorRef &, const ConstVectorRef &, Data &data) const override
 Compute Jacobians of this function.
virtual shared_ptr< DatacreateData () const override
 Instantiate a Data object.
Public Member Functions inherited from aligator::StageFunctionTpl< Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 StageFunctionTpl (const int ndx, const int nu, const int nr)
virtual void computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &lbda, Data &data) const
 Compute the vector-hessian products of this function.
virtual ~StageFunctionTpl ()=default

Public Attributes

MatrixXs A_
MatrixXs B_
VectorXs d_
Public Attributes inherited from aligator::StageFunctionTpl< Scalar >
const int ndx1
 Current state dimension.
const int nu
 Control dimension.
const int nr
 Function codimension.

Detailed Description

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

Linear function \(f(x,u,y) = Ax + Bu + Cy + d\).

Definition at line 9 of file linear-function.hpp.

Member Typedef Documentation

◆ Base

Definition at line 12 of file linear-function.hpp.

◆ Data

Definition at line 13 of file linear-function.hpp.

Constructor & Destructor Documentation

◆ LinearFunctionTpl() [1/2]

template<typename Scalar>
aligator::LinearFunctionTpl< Scalar >::LinearFunctionTpl(const intndx,
const intnu,
const intnr )

Definition at line 53 of file linear-function.hpp.

◆ LinearFunctionTpl() [2/2]

template<typename Scalar>
aligator::LinearFunctionTpl< Scalar >::LinearFunctionTpl(const ConstMatrixRefA,
const ConstMatrixRefB,
const ConstVectorRefd )

Definition at line 65 of file linear-function.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW aligator::LinearFunctionTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)

◆ evaluate()

template<typename Scalar>
void aligator::LinearFunctionTpl< Scalar >::evaluate(const ConstVectorRef &x,
const ConstVectorRef &u,
Data &data ) const
inlineoverridevirtual

Evaluate the function.

Parameters
xCurrent state.
uControls.
dataData holding struct.

Implements aligator::StageFunctionTpl< Scalar >.

Definition at line 24 of file linear-function.hpp.

◆ computeJacobians()

template<typename Scalar>
void aligator::LinearFunctionTpl< Scalar >::computeJacobians(const ConstVectorRef &,
const ConstVectorRef &,
Data &data ) const
inlineoverridevirtual

Compute Jacobians of this function.

This implementation does nothing: the values of the Jacobians are already set in createData().

Implements aligator::StageFunctionTpl< Scalar >.

Definition at line 36 of file linear-function.hpp.

◆ createData()

template<typename Scalar>
virtual shared_ptr< Data > aligator::LinearFunctionTpl< Scalar >::createData()const
inlineoverridevirtual

Instantiate a Data object.

This override sets the appropriate values of the Jacobians.

Reimplemented from aligator::StageFunctionTpl< Scalar >.

Definition at line 44 of file linear-function.hpp.

Member Data Documentation

◆ A_

template<typename Scalar>
MatrixXs aligator::LinearFunctionTpl< Scalar >::A_

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

◆ B_

template<typename Scalar>
MatrixXs aligator::LinearFunctionTpl< Scalar >::B_

Definition at line 16 of file linear-function.hpp.

◆ d_

template<typename Scalar>
VectorXs aligator::LinearFunctionTpl< Scalar >::d_

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


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