Public Member Functions | Protected Member Functions | Protected Attributes

Allows to export a tailored polynomial NARX integrator for fast model predictive control. More...

#include <narx_export.hpp>

Inheritance diagram for NARXExport:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual returnValue getDataDeclarations (ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const
 NARXExport (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
 NARXExport (const NARXExport &arg)
returnValue propagateImplicitSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index)
returnValue propagateInputSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index)
virtual returnValue propagateOutputSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index)
virtual returnValue setDifferentialEquation (const Expression &rhs)
virtual returnValue setLinearOutput (const DMatrix &M3, const DMatrix &A3, const Expression &rhs)
virtual returnValue setLinearOutput (const DMatrix &M3, const DMatrix &A3, const std::string &_rhs3, const std::string &_diffs_rhs3)
returnValue setModel (const std::string &_rhs, const std::string &_diffs_rhs)
returnValue setNARXmodel (const uint _delay, const DMatrix &_parms)
virtual returnValue setup ()
returnValue updateImplicitSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index)
returnValue updateInputSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index)
virtual returnValue updateOutputSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index)
virtual ~NARXExport ()

Protected Member Functions

returnValue formNARXpolynomial (const uint num, const uint order, uint &base, const uint index, IntermediateState &result)
returnValue prepareFullRhs ()

Protected Attributes

uint delay
DMatrix parms

Detailed Description

Allows to export a tailored polynomial NARX integrator for fast model predictive control.

The class NARXExport allows to export a tailored polynomial NARX integrator for fast model predictive control.

Author:
Rien Quirynen

Definition at line 54 of file narx_export.hpp.


Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO NARXExport::NARXExport ( UserInteraction _userInteraction = 0,
const std::string &  _commonHeaderName = "" 
)

Default constructor.

Parameters:
[in]_userInteractionPointer to corresponding user interface.
[in]_commonHeaderNameName of common header file to be included.

Definition at line 44 of file narx_export.cpp.

Copy constructor (deep copy).

Parameters:
[in]argRight-hand side object.

Definition at line 52 of file narx_export.cpp.

NARXExport::~NARXExport ( ) [virtual]

Destructor.

Definition at line 62 of file narx_export.cpp.


Member Function Documentation

returnValue NARXExport::formNARXpolynomial ( const uint  num,
const uint  order,
uint base,
const uint  index,
IntermediateState result 
) [protected]

..

Definition at line 727 of file narx_export.cpp.

returnValue NARXExport::getDataDeclarations ( ExportStatementBlock declarations,
ExportStruct  dataStruct = ACADO_ANY 
) const [virtual]

Adds all data declarations of the auto-generated integrator to given list of declarations.

Parameters:
[in]declarationsList of declarations.
Returns:
SUCCESSFUL_RETURN

Reimplemented from DiscreteTimeExport.

Definition at line 597 of file narx_export.cpp.

Prepares a function that evaluates the complete right-hand side.

Returns:
SUCCESSFUL_RETURN

Definition at line 326 of file narx_export.cpp.

returnValue NARXExport::propagateImplicitSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex index3,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to propagate the sensitivities of the states defined by the nonlinear part.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 458 of file narx_export.cpp.

returnValue NARXExport::propagateInputSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex index3,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to propagate the sensitivities of the states, defined by the linear input system.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 430 of file narx_export.cpp.

returnValue NARXExport::propagateOutputSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex index3,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to propagate the sensitivities of the states, defined by the linear output system.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 513 of file narx_export.cpp.

Assigns Differential Equation to be used by the integrator.

Parameters:
[in]rhsRight-hand side expression.
Returns:
SUCCESSFUL_RETURN

Reimplemented from DiscreteTimeExport.

Definition at line 583 of file narx_export.cpp.

returnValue NARXExport::setLinearOutput ( const DMatrix M3,
const DMatrix A3,
const Expression rhs 
) [virtual]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 649 of file narx_export.cpp.

returnValue NARXExport::setLinearOutput ( const DMatrix M3,
const DMatrix A3,
const std::string &  _rhs3,
const std::string &  _diffs_rhs3 
) [virtual]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 720 of file narx_export.cpp.

returnValue NARXExport::setModel ( const std::string &  _rhs,
const std::string &  _diffs_rhs 
) [virtual]

Assigns the model to be used by the integrator.

Parameters:
[in]_rhsName of the function, evaluating the right-hand side.
[in]_diffs_rhsName of the function, evaluating the derivatives of the right-hand side.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 590 of file narx_export.cpp.

returnValue NARXExport::setNARXmodel ( const uint  _delay,
const DMatrix _parms 
) [virtual]

Sets a polynomial NARX model to be used by the integrator.

Parameters:
[in]delayThe delay for the states in the NARX model.
[in]parmsThe parameters defining the polynomial NARX model.
Returns:
SUCCESSFUL_RETURN

Reimplemented from DiscreteTimeExport.

Definition at line 606 of file narx_export.cpp.

Initializes export of a tailored integrator.

Returns:
SUCCESSFUL_RETURN

Reimplemented from DiscreteTimeExport.

Definition at line 68 of file narx_export.cpp.

returnValue NARXExport::updateImplicitSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to update the sensitivities of the states defined by the nonlinear part.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 385 of file narx_export.cpp.

returnValue NARXExport::updateInputSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to update the sensitivities of the states, defined by the linear input system.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 363 of file narx_export.cpp.

returnValue NARXExport::updateOutputSystem ( ExportStatementBlock block,
const ExportIndex index1,
const ExportIndex index2,
const ExportIndex tmp_index 
) [virtual]

Exports the code needed to update the sensitivities of the states, defined by the linear output system.

Parameters:
[in]blockThe block to which the code will be exported.
Returns:
SUCCESSFUL_RETURN

Reimplemented from IntegratorExport.

Definition at line 408 of file narx_export.cpp.


Member Data Documentation

uint NARXExport::delay [protected]

Definition at line 244 of file narx_export.hpp.

Definition at line 245 of file narx_export.hpp.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:25