Public Member Functions | Protected Member Functions | Protected Attributes | List of all members

A class for export of an OCP solver using sparse QP solver qpDUNES. More...

#include <export_gauss_newton_qpdunes.hpp>

Inheritance diagram for ExportGaussNewtonQpDunes:
Inheritance graph
[legend]

Public Member Functions

 ExportGaussNewtonQpDunes (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
 
virtual returnValue getCode (ExportStatementBlock &code)
 
virtual returnValue getDataDeclarations (ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const
 
virtual returnValue getFunctionDeclarations (ExportStatementBlock &declarations) const
 
unsigned getNumQPvars () const
 
virtual returnValue setup ()
 
virtual ~ExportGaussNewtonQpDunes ()
 
- Public Member Functions inherited from ExportNLPSolver
 ExportNLPSolver (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
 
unsigned getNumComplexConstraints (void)
 
unsigned getNumPathConstraints (void)
 
bool initialStateFixed () const
 
bool performsSingleShooting () const
 
returnValue setConstraints (const OCP &_ocp)
 
returnValue setGeneralObjective (const Objective &_objective)
 
returnValue setIntegratorExport (IntegratorExportPtr const _integrator)
 
returnValue setLevenbergMarquardt (double _levenbergMarquardt)
 
returnValue setLSQObjective (const Objective &_objective)
 
returnValue setObjective (const Objective &_objective)
 
bool usingLinearTerms () const
 
unsigned weightingMatricesType (void) const
 
virtual ~ExportNLPSolver ()
 
- Public Member Functions inherited from ExportAlgorithm
 ExportAlgorithm (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName=std::string())
 
uint getN () const
 
uint getNDX () const
 
uint getNOD () const
 
uint getNP () const
 
uint getNU () const
 
uint getNX () const
 
uint getNXA () const
 
uint getNY () const
 
uint getNYN () const
 
returnValue setDimensions (uint _NX=0, uint _NU=0, uint _NP=0, uint _NI=0, uint _NOD=0)
 
returnValue setDimensions (uint _NX, uint _NDX, uint _NXA, uint _NU, uint _NP, uint _NI, uint _NOD)
 
void setNY (uint NY_)
 
void setNYN (uint NYN_)
 
virtual ~ExportAlgorithm ()
 
- Public Member Functions inherited from AlgorithmicBase
int addLogRecord (LogRecord &_record)
 
returnValue addOption (OptionsName name, int value)
 
returnValue addOption (OptionsName name, double value)
 
returnValue addOption (uint idx, OptionsName name, int value)
 
returnValue addOption (uint idx, OptionsName name, double value)
 
returnValue addOptionsList ()
 
 AlgorithmicBase ()
 
 AlgorithmicBase (UserInteraction *_userInteraction)
 
 AlgorithmicBase (const AlgorithmicBase &rhs)
 
returnValue get (OptionsName name, int &value) const
 
returnValue get (OptionsName name, double &value) const
 
returnValue get (OptionsName name, std::string &value) const
 
returnValue get (uint idx, OptionsName name, int &value) const
 
returnValue get (uint idx, OptionsName name, double &value) const
 
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 
returnValue getFirst (LogName _name, DMatrix &firstValue) const
 
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 
returnValue getLast (LogName _name, DMatrix &lastValue) const
 
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 
Options getOptions (uint idx) const
 
BooleanType haveOptionsChanged () const
 
BooleanType haveOptionsChanged (uint idx) const
 
AlgorithmicBaseoperator= (const AlgorithmicBase &rhs)
 
returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue printLogRecord (std::ostream &_stream, int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const
 
returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue set (OptionsName name, int value)
 
returnValue set (OptionsName name, double value)
 
returnValue set (OptionsName name, const std::string &value)
 
returnValue set (uint idx, OptionsName name, int value)
 
returnValue set (uint idx, OptionsName name, double value)
 
returnValue setAll (LogName _name, const MatrixVariablesGrid &values)
 
returnValue setLast (LogName _name, int lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, double lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DVector &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DMatrix &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY)
 
returnValue setOptions (const Options &arg)
 
returnValue setOptions (uint idx, const Options &arg)
 
virtual ~AlgorithmicBase ()
 

Protected Member Functions

virtual returnValue setupConstraintsEvaluation (void)
 
virtual returnValue setupEvaluation ()
 
virtual returnValue setupMultiplicationRoutines ()
 
virtual returnValue setupObjectiveEvaluation (void)
 
virtual returnValue setupQPInterface ()
 
virtual returnValue setupVariables ()
 
- Protected Member Functions inherited from ExportNLPSolver
returnValue setupArrivalCostCalculation ()
 
returnValue setupAuxiliaryFunctions ()
 
virtual returnValue setupGetGeneralObjective ()
 
virtual returnValue setupGetLSQObjective ()
 
virtual returnValue setupGetObjective ()
 
virtual returnValue setupInitialization ()
 
virtual returnValue setupSimulation (void)
 

Protected Attributes

std::shared_ptr< ExportQpDunesInterfaceqpInterface
 
ExportVariable x0
 
QP interface variables
ExportVariable qpH
 
ExportVariable qpg
 
ExportVariable qpgN
 
ExportVariable qpC
 
ExportVariable qpc
 
ExportVariable qpLb0
 
ExportVariable qpUb0
 
ExportVariable qpLb
 
ExportVariable qpUb
 
ExportVariable lbValues
 
ExportVariable ubValues
 
ExportVariable qpA
 
ExportVariable qpLbA
 
ExportVariable qpUbA
 
ExportVariable qpPrimal
 
ExportVariable qpLambda
 
ExportVariable qpMu
 
Objective evaluation.
ExportFunction evaluateObjective
 
ExportFunction setStageH
 
ExportFunction setStagef
 
ExportFunction setObjQ1Q2
 
ExportFunction setObjR1R2
 
ExportFunction setObjQN1QN2
 
bool diagH
 
bool diagHN
 
Constraint evaluation
ExportFunction evaluateConstraints
 
ExportFunction setStagePac
 
std::vector< unsigned > qpConDim
 
RTI related
ExportFunction preparation
 
ExportFunction feedback
 
qpDUNES interface functions
ExportFunction cleanup
 
ExportFunction shiftQpData
 
Auxiliary functions
ExportFunction getKKT
 
Helper functions
ExportFunction acc
 
- Protected Attributes inherited from ExportNLPSolver
IntegratorExportPtr integrator
 
ExportFunction modelSimulation
 
ExportVariable state
 
ExportVariable x
 
ExportVariable z
 
ExportVariable u
 
ExportVariable od
 
ExportVariable d
 
ExportVariable evGx
 
ExportVariable evGu
 
double levenbergMarquardt
 
ExportVariable y
 
ExportVariable yN
 
ExportVariable Dy
 
ExportVariable DyN
 
ExportVariable mu
 
ExportVariable objg
 
ExportVariable objS
 
ExportVariable objSEndTerm
 
ExportVariable objEvFx
 
ExportVariable objEvFu
 
ExportVariable objEvFxEnd
 
ExportVariable objEvFxx
 
ExportVariable objEvFxu
 
ExportVariable objEvFuu
 
ExportVariable objEvFxxEnd
 
ExportVariable objAuxVar
 
ExportVariable objValueIn
 
ExportVariable objValueOut
 
ExportAcadoFunction evaluateStageCost
 
ExportAcadoFunction evaluateTerminalCost
 
ExportVariable Q1
 
ExportVariable Q2
 
ExportVariable R1
 
ExportVariable R2
 
ExportVariable S1
 
ExportVariable QN1
 
ExportVariable QN2
 
ExportVariable objSlx
 
ExportVariable objSlu
 
bool diagonalH
 
bool diagonalHN
 
VariablesGrid uBounds
 
VariablesGrid xBounds
 
unsigned dimPacH
 
ExportAcadoFunction evaluatePathConstraints
 
ExportVariable conAuxVar
 
ExportVariable conValueIn
 
ExportVariable conValueOut
 
DVector lbPathConValues
 
DVector ubPathConValues
 
ExportVariable pacEvH
 
ExportVariable pacEvHx
 
ExportVariable pacEvHu
 
ExportVariable pacEvHxd
 
ExportVariable pacEvDDH
 
unsigned dimPocH
 
std::vector< std::shared_ptr< ExportAcadoFunction > > evaluatePointConstraints
 
DVector lbPointConValues
 
DVector ubPointConValues
 
std::vector< DVectorpocLbStack
 
std::vector< DVectorpocUbStack
 
ExportVariable pocEvH
 
ExportVariable pocEvHx
 
ExportVariable pocEvHu
 
ExportVariable pocEvHxd
 
ExportFunction initialize
 
ExportFunction shiftStates
 
ExportFunction shiftControls
 
ExportFunction getObjective
 
ExportFunction initializeNodes
 
ExportFunction updateArrivalCost
 
ExportCholeskyDecomposition cholObjS
 
ExportCholeskyDecomposition cholSAC
 
ExportHouseholderQR acSolver
 
ExportVariable acA
 
ExportVariable acb
 
ExportVariable acP
 
ExportVariable acTmp
 
ExportVariable acWL
 
ExportVariable acVL
 
ExportVariable acHx
 
ExportVariable acHu
 
ExportVariable acXx
 
ExportVariable acXu
 
ExportVariable acXTilde
 
ExportVariable acHTilde
 
ExportVariable SAC
 
ExportVariable xAC
 
ExportVariable DxAC
 
ExportFunction regularizeHessian
 
ExportFunction regularization
 
- Protected Attributes inherited from ExportAlgorithm
std::string commonHeaderName
 
uint N
 
uint NDX
 
uint NOD
 
uint NP
 
uint NU
 
uint NX
 
uint NXA
 
uint NY
 
uint NYN
 
- Protected Attributes inherited from AlgorithmicBase
int outputLoggingIdx
 
BooleanType useModuleStandalone
 
UserInteractionuserInteraction
 

Detailed Description

A class for export of an OCP solver using sparse QP solver qpDUNES.

The class ExportGaussNewtonQpDunes allows export of and OCP solver using the generalized Gauss-Newton method. The underlying QP is solved using the structured sparse QP solver qpDUNES.

Author
Milan Vukov

Definition at line 52 of file export_gauss_newton_qpdunes.hpp.

Constructor & Destructor Documentation

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

Default constructor.

@param[in] _userInteraction         Pointer to corresponding user interface.
@param[in] _commonHeaderName        Name of common header file to be included.

Definition at line 39 of file export_gauss_newton_qpdunes.cpp.

virtual ExportGaussNewtonQpDunes::~ExportGaussNewtonQpDunes ( )
inlinevirtual

Destructor.

Definition at line 67 of file export_gauss_newton_qpdunes.hpp.

Member Function Documentation

returnValue ExportGaussNewtonQpDunes::getCode ( ExportStatementBlock code)
virtual

Exports source code of the auto-generated condensing algorithm into the given directory.

@param[in] code                             Code block containing the auto-generated condensing algorithm.

\return SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Reimplemented in ExportExactHessianQpDunes.

Definition at line 149 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::getDataDeclarations ( ExportStatementBlock declarations,
ExportStruct  dataStruct = ACADO_ANY 
) const
virtual

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

Parameters
[in]declarationsList of declarations.
Returns
SUCCESSFUL_RETURN

Reimplemented from ExportNLPSolver.

Definition at line 90 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::getFunctionDeclarations ( ExportStatementBlock declarations) const
virtual

Adds all function (forward) declarations of the auto-generated condensing algorithm to given list of declarations.

Parameters
[in]declarationsList of declarations.
Returns
SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Reimplemented in ExportExactHessianQpDunes.

Definition at line 127 of file export_gauss_newton_qpdunes.cpp.

unsigned ExportGaussNewtonQpDunes::getNumQPvars ( ) const
virtual

Returns number of variables in underlying QP.

Returns
Number of variables in underlying QP

Implements ExportNLPSolver.

Definition at line 213 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setup ( )
virtual

Initializes export of an algorithm.

\return SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Reimplemented in ExportExactHessianQpDunes.

Definition at line 44 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupConstraintsEvaluation ( void  )
protectedvirtual

Set-up evaluation of constraints

  • box constraints on states and controls
Returns
SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Definition at line 501 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupEvaluation ( )
protectedvirtual

Exports source code containing the evaluation routines of the algorithm.

Implements ExportNLPSolver.

Definition at line 996 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupMultiplicationRoutines ( )
protectedvirtual

Exports source code containing the multiplication routines of the algorithm.

\return SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Definition at line 991 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupObjectiveEvaluation ( void  )
protectedvirtual

Setting up of an objective evaluation:

  • functions and derivatives evaulation
  • creating Hessians and gradients
Returns
SUCCESSFUL_RETURN

Reimplemented in ExportExactHessianQpDunes.

Definition at line 222 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupQPInterface ( )
protectedvirtual

Setup of the glue code for the QP solver interaction.

Definition at line 1188 of file export_gauss_newton_qpdunes.cpp.

returnValue ExportGaussNewtonQpDunes::setupVariables ( )
protectedvirtual

Initialization of all member variables.

\return SUCCESSFUL_RETURN

Implements ExportNLPSolver.

Definition at line 980 of file export_gauss_newton_qpdunes.cpp.

Member Data Documentation

ExportFunction ExportGaussNewtonQpDunes::acc
protected

Definition at line 213 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::cleanup
protected

Definition at line 202 of file export_gauss_newton_qpdunes.hpp.

bool ExportGaussNewtonQpDunes::diagH
protected

Definition at line 184 of file export_gauss_newton_qpdunes.hpp.

bool ExportGaussNewtonQpDunes::diagHN
protected

Definition at line 184 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::evaluateConstraints
protected

Definition at line 189 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::evaluateObjective
protected

Definition at line 175 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::feedback
protected

Definition at line 197 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::getKKT
protected

Definition at line 208 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::lbValues
protected

Definition at line 165 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::preparation
protected

Definition at line 196 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpA
protected

Definition at line 167 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpC
protected

Definition at line 160 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpc
protected

Definition at line 161 of file export_gauss_newton_qpdunes.hpp.

std::vector< unsigned > ExportGaussNewtonQpDunes::qpConDim
protected

Definition at line 191 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpg
protected

Definition at line 157 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpgN
protected

Definition at line 158 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpH
protected

Definition at line 156 of file export_gauss_newton_qpdunes.hpp.

std::shared_ptr< ExportQpDunesInterface > ExportGaussNewtonQpDunes::qpInterface
protected

qpDUNES interface object.

Definition at line 217 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpLambda
protected

Definition at line 170 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpLb
protected

Definition at line 163 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpLb0
protected

Definition at line 162 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpLbA
protected

Definition at line 168 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpMu
protected

Definition at line 170 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpPrimal
protected

Definition at line 170 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpUb
protected

Definition at line 163 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpUb0
protected

Definition at line 162 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::qpUbA
protected

Definition at line 168 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setObjQ1Q2
protected

Definition at line 180 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setObjQN1QN2
protected

Definition at line 182 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setObjR1R2
protected

Definition at line 181 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setStagef
protected

Definition at line 178 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setStageH
protected

Definition at line 177 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::setStagePac
protected

Definition at line 190 of file export_gauss_newton_qpdunes.hpp.

ExportFunction ExportGaussNewtonQpDunes::shiftQpData
protected

Definition at line 203 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::ubValues
protected

Definition at line 165 of file export_gauss_newton_qpdunes.hpp.

ExportVariable ExportGaussNewtonQpDunes::x0
protected

Current state feedback.

Definition at line 152 of file export_gauss_newton_qpdunes.hpp.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:23