ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Public Member Functions | Protected Member Functions | Protected Attributes

Implements a PID control law to be used within a Controller. More...

#include <pid_controller.hpp>

Inheritance diagram for PIDcontroller:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PIDcontroller ()
 Default constructor.
 PIDcontroller (uint _nInputs, uint _nOutputs, double _samplingTime=DEFAULT_SAMPLING_TIME)
 Constructor which takes the number of inputs and outputs of the PID controller as well as the sampling time.
 PIDcontroller (const PIDcontroller &rhs)
 Copy constructor (deep copy).
virtual ~PIDcontroller ()
 Destructor.
PIDcontrolleroperator= (const PIDcontroller &rhs)
 Assignment operator (deep copy).
virtual ControlLawclone () const
 Clone constructor (deep copy).
returnValue setProportionalWeights (const Vector &_pWeights)
 Assigns new proportional weights to the input components.
returnValue setIntegralWeights (const Vector &_iWeights)
 Assigns new integral weights to the input components.
returnValue setDerivativeWeights (const Vector &_dWeights)
 Assigns new derivative weights to the input components.
virtual returnValue init (double startTime=0.0, const Vector &x0_=emptyConstVector, const Vector &p_=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
 Initializes the control law with given start values and performs a number of consistency checks.
virtual returnValue step (double currentTime, const Vector &_x, const Vector &_p=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
 Performs next step of the control law based on given inputs.
uint getNumInputs () const
 Returns number of input components of the PID controller.
uint getNumOutputs () const
 Returns number of output components of the PID controller.
virtual uint getNX () const
 Returns number of (estimated) differential states.
virtual uint getNXA () const
 Returns number of (estimated) algebraic states.
virtual uint getNU () const
 Returns number of controls.
virtual uint getNP () const
 Returns number of parameters.
virtual uint getNW () const
 Returns number of (estimated) disturbances.
virtual uint getNY () const
 Returns number of process outputs.
virtual BooleanType isDynamic () const
 Returns whether the control law is based on dynamic optimization or a static one.
virtual BooleanType isStatic () const
 Returns whether the control law is a static one or based on dynamic optimization.
virtual returnValue initializeAlgebraicStates (const VariablesGrid &_xa_init)
 Initializes algebraic states of the control law.
virtual returnValue initializeAlgebraicStates (const char *fileName)
 Initializes algebraic states of the control law from data file.
virtual returnValue initializeControls (const VariablesGrid &_u_init)
 Initializes controls of the control law.
virtual returnValue initializeControls (const char *fileName)
 Initializes controls of the control law from data file.
virtual returnValue step (const Vector &_x, const Vector &_p=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
 Performs next step of the control law based on given inputs.
virtual returnValue feedbackStep (double currentTime, const Vector &_x, const Vector &_p=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
 Performs next feedback step of the control law based on given inputs.
virtual returnValue preparationStep (double nextTime=0.0, const VariablesGrid &_yRef=emptyConstVariablesGrid)
 Performs next preparation step of the control law based on given inputs.
virtual returnValue shift (double timeShift=-1.0)
 Shifts the data for preparating the next real-time step.
returnValue getU (Vector &_u) const
 Returns control signal as determined by the control law.
returnValue getP (Vector &_p) const
 Returns parameter signal as determined by the control law.
virtual double getLengthPredictionHorizon () const
 Returns length of the prediction horizon (for the case a predictive control law is used).
virtual double getLengthControlHorizon () const
 Returns length of the control horizon (for the case a predictive control law is used).
virtual BooleanType isInRealTimeMode () const
 Returns whether the control law is working in real-time mode.
BooleanType isDefined () const
 Returns whether the block has been defined (i.e.
BlockName getName () const
 Returns name of the block.
double getSamplingTime () const
 Returns sampling time of the block.
returnValue setName (BlockName _name)
 Assigns new name to the block.
returnValue setSamplingTime (double _samplingTime)
 Assigns new sampling time to the block.
virtual int operator<< (PlotWindow &_window)
 Adds a window to the plot collection.
virtual int operator<< (LogRecord &_record)
 Adds a record to the log collection.
virtual int addPlotWindow (PlotWindow &_window)
 Adds a window to the plot collection.
returnValue addOptionsList ()
 Adds an additional OptionsList to internal array.
returnValue get (OptionsName name, int &value) const
 Returns value of an existing option item of integer type.
returnValue get (OptionsName name, double &value) const
 Returns value of an existing option item of double type.
returnValue get (uint idx, OptionsName name, int &value) const
 Returns value of an existing option item of integer type within the option list of given index.
returnValue get (uint idx, OptionsName name, double &value) const
 Returns value of an existing option item of double type within the option list of given index.
returnValue set (OptionsName name, int value)
 Sets value of an existing option item of integer type to a given value.
returnValue set (OptionsName name, double value)
 Sets value of an existing option item of double type to a given value.
returnValue set (uint idx, OptionsName name, int value)
 Sets value of an existing option item of integer type within the option list of given index to a given value.
returnValue set (uint idx, OptionsName name, double value)
 Sets value of an existing option item of double type within the option list of given index to a given value.
returnValue setOptions (const Options &arg)
 Assigns a given Options object to this object.
returnValue setOptions (uint idx, const Options &arg)
 Assigns the option list with given index of a given Options object to option list with given index of this object.
Options getOptions (uint idx) const
 Returns an Options object containing exactly the option list with given index.
uint getNumOptionsLists () const
 Returns total number of option lists.
returnValue printOptionsList () const
 Prints a list of all available options of all option lists.
returnValue printOptionsList (uint idx) const
 Prints a list of all available options of option list with given index.
int addLogRecord (LogRecord &record)
 Adds a record to the log collection.
returnValue getLogRecord (uint idx, LogRecord &_record) const
 Returns the record with given index from the log collection.
returnValue getLogRecord (LogRecord &_record) const
 Returns the record with certain index from the log collection.
returnValue updateLogRecord (LogRecord &_record) const
 Updates all items with the record given as argument.
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 Gets all numerical values at all time instants of the item with given name.
returnValue getFirst (LogName _name, Matrix &firstValue) const
 Gets numerical value at first time instant of the item with given name.
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 Gets numerical value at first time instant of the item with given name (converts internally used Matrix into VariablesGrid).
returnValue getLast (LogName _name, Matrix &lastValue) const
 Gets numerical value at last time instant of the item with given name.
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 Gets numerical value at last time instant of the item with given name (converts internally used Matrix into VariablesGrid).
uint getNumLogRecords () const
 Returns number of records contained in the log collection.
returnValue printLoggingInfo () const
 Prints information on all records and their items on screen.
returnValue printNumDoubles () const
returnValue getPlotWindow (uint idx, PlotWindow &_window) const
 Returns the window with given index from the plot collection.
returnValue getPlotWindow (PlotWindow &_window) const
 Returns the window with certain index from the plot collection.
virtual returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into a new figure.
virtual returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into the corresponding existing figure, if possible.
uint getNumPlotWindows () const
 Returns number of windows contained in the plot collection.
returnValue setControlLowerLimits (const Vector &_lowerLimit)
 Assigns new lower limits on control signals.
returnValue setControlLowerLimit (uint idx, double _lowerLimit)
 Assigns new lower limit on given component of the control signal.
returnValue setControlUpperLimits (const Vector &_upperLimit)
 Assigns new upper limits on control signals.
returnValue setControlUpperLimit (uint idx, double _upperLimit)
 Assigns new upper limit on given component of the control signal.
returnValue setParameterLowerLimits (const Vector &_lowerLimit)
 Assigns new lower limits on parameter signals.
returnValue setParameterLowerLimit (uint idx, double _lowerLimit)
 Assigns new lower limit on given component of the parameter signal.
returnValue setParameterUpperLimits (const Vector &_upperLimit)
 Assigns new upper limits on parameter signals.
returnValue setParameterUpperLimit (uint idx, double _upperLimit)
 Assigns new upper limit on given component of the parameter signal.

Protected Member Functions

returnValue determineControlAction (const Vector &error, Vector &output)
 Actually calculates the current control action based on the given current error.
virtual returnValue getPlotDataFromMemberLoggings (PlotWindow &_window) const
 Copies all collected logging information required to plot a given window.
BlockStatus getStatus () const
 Gets current status of user interface.
returnValue setStatus (BlockStatus _status)
 Sets status of user interface.
virtual returnValue setupOptions ()
 Prototype member function for setting-up the option list(s) at initialization of derived classes.
returnValue clearOptionsList ()
 Clears all option lists from array.
BooleanType haveOptionsChanged () const
 Determines whether options of at least one option list have been modified.
BooleanType haveOptionsChanged (uint idx) const
 Determines whether options of option list with given index have been modified.
returnValue declareOptionsUnchanged ()
 Declares all options of all option lists to be unchanged.
returnValue declareOptionsUnchanged (uint idx)
 Declares all options of option list with given index to be unchanged.
returnValue addOption (OptionsName name, int value)
 Add an option item with a given integer default value to the all option lists.
returnValue addOption (OptionsName name, double value)
 Add an option item with a given double default value to the all option lists.
returnValue addOption (uint idx, OptionsName name, int value)
 Add an option item with a given integer default value to option list with given index.
returnValue addOption (uint idx, OptionsName name, double value)
 Add an option item with a given double default value to option list with given index.
virtual returnValue setupLogging ()
 Prototype member function for setting-up the logging information at initialization of derived classes.
returnValue clipSignals (VariablesGrid &_u, VariablesGrid &_p=emptyVariablesGrid)
 Actually clips given control and parameter signals.
returnValue clipSignals (Vector &_u, Vector &_p=emptyVector)
 Actually clips given control and parameter signals.
uint getNumControlLimits () const
 Returns number of control signal limits.
uint getNumParameterLimits () const
 Returns number of parameter signal limits.

Protected Attributes

uint nInputs
 Number of inputs.
uint nOutputs
 Number of outputs.
Vector pWeights
 Proportional weights for all input components.
Vector iWeights
 Integral weights for all input components.
Vector dWeights
 Derivative weights for all input components.
Vector iValue
 Integrated value for each input component.
Vector lastError
 Last error input (to be used for calculating the derivative via finite differences).
Vector u
 First piece of time-varying control signals as determined by the control law.
Vector p
 Time-constant parameter signals as determined by the control law.
BlockName name
 Name of the block, see documentation of BlockName for details.
double samplingTime
 Sampling time of the block.
RealClock realClock
 Clock for real time measurements to be optionally used in derived classes.
BlockStatus status
 Current status of the user interface, see documentation of BlockStatus for details.
OptionsList ** optionsList
 Array consisting of OptionsLists.
uint nOptionsList
 Total number of OptionsLists.
LogCollection logCollection
 Log collection containing a singly-linked list of log records.
int logIdx
 Index of a certain log record to be optionally used within derived classes.
PlotCollection plotCollection
 Plot collection containing a singly-linked list of plot windows.
Vector lowerLimitControls
 Lower limits on control signals.
Vector upperLimitControls
 Upper limits on control signals.
Vector lowerLimitParameters
 Lower limits on parameter signals.
Vector upperLimitParameters
 Upper limits on parameter signals.

Detailed Description

The class PIDcontroller implements a PID control law to be used within a Controller.

For each input component, the weight for the proportional, integral and derivative term can be specified. The PID controller can be used in one of two different modes, depending on the number of inputs and outputs:

i) nOutputs = nInputs: Each output component is determined by the sum of the P, I, and D weight on the corresponding input component.

ii) nOutputs = 1: The component is determined by the sum of the P, I, and D weights on all input components.

Author:
Hans Joachim Ferreau, Boris Houska

Constructor & Destructor Documentation

PIDcontroller::PIDcontroller ( uint  _nInputs,
uint  _nOutputs,
double  _samplingTime = DEFAULT_SAMPLING_TIME 
)
Parameters:
[in]_nInputsNumber of inputs.
[in]_nOutputsNumber of outputs.
[in]_samplingTimeSampling time.

References ACADOERROR, BS_READY, dWeights, VectorspaceElement::init(), iValue, iWeights, lastError, nInputs, nOutputs, pWeights, RET_INVALID_PID_OUTPUT_DIMENSION, UserInteraction::setStatus(), and VectorspaceElement::setZero().

Parameters:
[in]rhsRight-hand side object.

References dWeights, iValue, iWeights, lastError, nInputs, nOutputs, and pWeights.


Member Function Documentation

int Logging::addLogRecord ( LogRecord record) [inherited]
Parameters:
[in]recordRecord to be added.
Returns:
>= 0: index of added record,
-RET_LOG_COLLECTION_CORRUPTED

References LogCollection::addLogRecord(), and Logging::logCollection.

Referenced by AlgorithmicBase::addLogRecord(), UserInteraction::addPlotWindow(), Logging::operator<<(), IntegrationAlgorithm::setupLogging(), Controller::setupLogging(), and Process::setupLogging().

returnValue Options::addOption ( OptionsName  name,
int  value 
) [protected, inherited]
returnValue Options::addOption ( OptionsName  name,
double  value 
) [protected, inherited]
Parameters:
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, SUCCESSFUL_RETURN, and uint.

returnValue Options::addOption ( uint  idx,
OptionsName  name,
int  value 
) [protected, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue Options::addOption ( uint  idx,
OptionsName  name,
double  value 
) [protected, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

Returns:
SUCCESSFUL_RETURN

References Options::nOptionsList, Options::optionsList, and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::addOptionsList().

int UserInteraction::addPlotWindow ( PlotWindow _window) [virtual, inherited]

This function is overloaded here in order to add the plotDataRecord required to plot the window to the log collection.

Parameters:
[in]_windowWindow to be added.
Returns:
>= 0: index of added record,
-RET_PLOT_COLLECTION_CORRUPTED

Reimplemented from Plotting.

References Logging::addLogRecord(), PlotWindow::getPlotDataRecord(), and PlotWindow::setPlotDataRecord().

Referenced by UserInteraction::operator<<().

returnValue Options::clearOptionsList ( ) [protected, inherited]
returnValue ClippingFunctionality::clipSignals ( Vector _u,
Vector _p = emptyVector 
) [protected, inherited]
ControlLaw * PIDcontroller::clone ( ) const [virtual]
Returns:
Pointer to deep copy of base class type

Implements ControlLaw.

References PIDcontroller().

returnValue Options::declareOptionsUnchanged ( ) [protected, inherited]
returnValue Options::declareOptionsUnchanged ( uint  idx) [protected, inherited]
Parameters:
[in]idxIndex of option list.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, OptionsList::declareOptionsUnchanged(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue PIDcontroller::determineControlAction ( const Vector error,
Vector output 
) [protected]
Parameters:
[in]errorCurrent error (difference to reference value).
[out]outputCurrent control action.
Returns:
SUCCESSFUL_RETURN

References dWeights, getNumInputs(), getNumOutputs(), SimulationBlock::getSamplingTime(), VectorspaceElement::init(), iValue, iWeights, lastError, pWeights, VectorspaceElement::setZero(), SUCCESSFUL_RETURN, and uint.

Referenced by step().

returnValue ControlLaw::feedbackStep ( double  currentTime,
const Vector _x,
const Vector _p = emptyConstVector,
const VariablesGrid _yRef = emptyConstVariablesGrid 
) [virtual, inherited]
Parameters:
[in]currentTimeCurrent time.
[in]_xMost recent value for differential states.
[in]_pMost recent value for parameters.
[in]_yRefCurrent piece of reference trajectory (if not specified during previous preparationStep).
Returns:
SUCCESSFUL_RETURN,
RET_BLOCK_NOT_READY,
RET_VECTOR_DIMENSION_MISMATCH,
RET_CONTROLLAW_STEP_FAILED

Reimplemented in RealTimeAlgorithm.

References ControlLaw::step().

Referenced by Controller::feedbackStep().

returnValue Options::get ( OptionsName  name,
int &  value 
) const [inherited]
returnValue Options::get ( OptionsName  name,
double &  value 
) const [inherited]
Parameters:
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS

References OptionsList::get(), and Options::optionsList.

returnValue Options::get ( uint  idx,
OptionsName  name,
int &  value 
) const [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::get(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue Options::get ( uint  idx,
OptionsName  name,
double &  value 
) const [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::get(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

BEGIN_NAMESPACE_ACADO returnValue Logging::getAll ( LogName  _name,
MatrixVariablesGrid values 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]valuesAll numerical values at all time instants of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getAll(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getAll(), SimulationEnvironment::getProcessAlgebraicStates(), SimulationEnvironment::getProcessDifferentialStates(), and SimulationEnvironment::getProcessIntermediateStates().

returnValue Logging::getFirst ( LogName  _name,
Matrix firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getFirst(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getFirst().

returnValue Logging::getFirst ( LogName  _name,
VariablesGrid firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getFirst(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

returnValue Logging::getLast ( LogName  _name,
Matrix lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getLast(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getLast().

returnValue Logging::getLast ( LogName  _name,
VariablesGrid lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getLast(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

double ControlLaw::getLengthControlHorizon ( ) const [virtual, inherited]
Returns:
Length of the control horizon

Reimplemented in RealTimeAlgorithm.

References SimulationBlock::samplingTime.

double ControlLaw::getLengthPredictionHorizon ( ) const [virtual, inherited]
Returns:
Length of the prediction horizon

Reimplemented in RealTimeAlgorithm.

References SimulationBlock::samplingTime.

Referenced by Controller::getCurrentReference().

returnValue Logging::getLogRecord ( uint  idx,
LogRecord _record 
) const [inherited]
Parameters:
[in]idxIndex of desired record.
[out]_recordDesired record.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Logging::getNumLogRecords(), Logging::logCollection, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

Referenced by Logging::getLogRecord().

returnValue Logging::getLogRecord ( LogRecord _record) const [inherited]

This index is not provided when calling the function, but rather obtained by using the alias index of the record. If the record is no alias record, the error RET_INDEX_OUT_OF_BOUNDS is thrown.

Parameters:
[out]_recordDesired record.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References LogRecord::getAliasIdx(), and Logging::getLogRecord().

BlockName SimulationBlock::getName ( ) const [inline, inherited]
Returns:
Name of the block

References SimulationBlock::name.

uint PIDcontroller::getNP ( ) const [virtual]
Returns:
Number of parameters

Reimplemented from ControlLaw.

uint PIDcontroller::getNU ( ) const [virtual]

This is the same as the number of outputs.

Returns:
Number of controls

Reimplemented from ControlLaw.

References getNumOutputs().

BEGIN_NAMESPACE_ACADO uint ClippingFunctionality::getNumControlLimits ( ) const [inline, protected, inherited]
Returns:
Number of input components

References nInputs.

Referenced by determineControlAction(), getNX(), init(), setDerivativeWeights(), setIntegralWeights(), setProportionalWeights(), and step().

uint Logging::getNumLogRecords ( ) const [inherited]
Returns:
Number of records

References LogCollection::getNumLogRecords(), and Logging::logCollection.

Referenced by Logging::getLogRecord().

uint PIDcontroller::getNumOutputs ( ) const [inline]
Returns:
Number of output components

References nOutputs.

Referenced by determineControlAction(), getNU(), init(), and step().

uint ClippingFunctionality::getNumParameterLimits ( ) const [inline, protected, inherited]
uint Plotting::getNumPlotWindows ( ) const [inline, inherited]
Returns:
Number of windows

References PlotCollection::getNumPlotWindows(), and Plotting::plotCollection.

Referenced by Plotting::getPlotWindow().

uint PIDcontroller::getNW ( ) const [virtual]
Returns:
Number of (estimated) disturbances

Reimplemented from ControlLaw.

uint PIDcontroller::getNX ( ) const [virtual]

This is the same as the number of inputs.

Returns:
Number of (estimated) differential states

Reimplemented from ControlLaw.

References getNumInputs().

Referenced by getNY().

uint PIDcontroller::getNXA ( ) const [virtual]
Returns:
Number of (estimated) algebraic states

Reimplemented from ControlLaw.

uint PIDcontroller::getNY ( ) const [virtual]
Returns:
Number of process outputs

Reimplemented from ControlLaw.

References getNX().

Options Options::getOptions ( uint  idx) const [inherited]
Parameters:
[in]idxIndex of option list.
Returns:
Options object containing exactly the option list with given index

References ACADOERROR, Options::getNumOptionsLists(), Options::Options(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

Referenced by AlgorithmicBase::getOptions().

returnValue ControlLaw::getP ( Vector _p) const [inline, inherited]
Parameters:
[out]_pParameter signal as determined by the control law.
Returns:
SUCCESSFUL_RETURN

References ControlLaw::p, and SUCCESSFUL_RETURN.

Referenced by Controller::getP().

returnValue UserInteraction::getPlotDataFromMemberLoggings ( PlotWindow _window) const [protected, virtual, inherited]

This function is overloaded within the UserInterface class to syncronize the logging information collected elsewhere within the algorithm with the one stored within the given window for plotting.

Parameters:
[in]_windowWindow to be plotted.
Returns:
SUCCESSFUL_RETURN

Reimplemented from Plotting.

References PlotWindow::getPlotDataRecord(), PlotWindow::setPlotDataRecord(), SUCCESSFUL_RETURN, and Logging::updateLogRecord().

returnValue Plotting::getPlotWindow ( uint  idx,
PlotWindow _window 
) const [inline, inherited]
Parameters:
[in]idxIndex of desired window.
[out]_windowDesired window.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Plotting::getNumPlotWindows(), Plotting::getPlotDataFromMemberLoggings(), Plotting::plotCollection, and RET_INDEX_OUT_OF_BOUNDS.

Referenced by Plotting::getPlotWindow(), Plotting::plot(), and Plotting::replot().

returnValue Plotting::getPlotWindow ( PlotWindow _window) const [inline, inherited]

This index is not provided when calling the function, but rather obtained by using the alias index of the window. If the window is no alias window, the error RET_INDEX_OUT_OF_BOUNDS is thrown.

Parameters:
[out]_windowDesired window.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References PlotWindow::getAliasIdx(), and Plotting::getPlotWindow().

double SimulationBlock::getSamplingTime ( ) const [inline, inherited]
BlockStatus UserInteraction::getStatus ( ) const [protected, inherited]
BEGIN_NAMESPACE_ACADO returnValue ControlLaw::getU ( Vector _u) const [inline, inherited]
Parameters:
[out]_uControl signal as determined by the control law.
Returns:
SUCCESSFUL_RETURN

References SUCCESSFUL_RETURN, and ControlLaw::u.

Referenced by Controller::getU().

BooleanType Options::haveOptionsChanged ( ) const [protected, inherited]
BooleanType Options::haveOptionsChanged ( uint  idx) const [protected, inherited]
Parameters:
[in]idxIndex of option list.
Returns:
BT_TRUE iff options have been modified,
BT_FALSE otherwise

References ACADOERROR, BT_FALSE, Options::getNumOptionsLists(), OptionsList::haveOptionsChanged(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue PIDcontroller::init ( double  startTime = 0.0,
const Vector x0_ = emptyConstVector,
const Vector p_ = emptyConstVector,
const VariablesGrid _yRef = emptyConstVariablesGrid 
) [virtual]
Parameters:
[in]_startTimeStart time.
[in]_xInitial value for differential states.
[in]_pInitial value for parameters.
[in]_yRefInitial value for reference trajectory.
Returns:
SUCCESSFUL_RETURN

Implements ControlLaw.

References ACADOERROR, BS_READY, VectorspaceElement::getDim(), getNumInputs(), getNumOutputs(), Grid::getNumPoints(), MatrixVariablesGrid::getNumValues(), VariablesGrid::getVector(), VectorspaceElement::init(), lastError, ControlLaw::p, RET_VECTOR_DIMENSION_MISMATCH, UserInteraction::setStatus(), VectorspaceElement::setZero(), SUCCESSFUL_RETURN, and ControlLaw::u.

returnValue ControlLaw::initializeAlgebraicStates ( const VariablesGrid _xa_init) [virtual, inherited]
Parameters:
[in]_xa_initInitial value for algebraic states.
Returns:
SUCCESSFUL_RETURN

Reimplemented in RealTimeAlgorithm.

References ACADOERROR, and RET_NOT_IMPLEMENTED_IN_BASE_CLASS.

Referenced by Controller::initializeAlgebraicStates().

returnValue ControlLaw::initializeAlgebraicStates ( const char *  fileName) [virtual, inherited]
Parameters:
[in]fileNameName of file containing initial value for algebraic states.
Returns:
SUCCESSFUL_RETURN,
RET_FILE_CAN_NOT_BE_OPENED

Reimplemented in RealTimeAlgorithm.

References ACADOERROR, and RET_NOT_IMPLEMENTED_IN_BASE_CLASS.

returnValue ControlLaw::initializeControls ( const VariablesGrid _u_init) [virtual, inherited]
Parameters:
[in]_u_initInitial value for controls.
Returns:
SUCCESSFUL_RETURN

Reimplemented in RealTimeAlgorithm.

References ACADOERROR, and RET_NOT_IMPLEMENTED_IN_BASE_CLASS.

returnValue ControlLaw::initializeControls ( const char *  fileName) [virtual, inherited]
Parameters:
[in]fileNameName of file containing initial value for controls.
Returns:
SUCCESSFUL_RETURN,
RET_FILE_CAN_NOT_BE_OPENED

Reimplemented in RealTimeAlgorithm.

References ACADOERROR, and RET_NOT_IMPLEMENTED_IN_BASE_CLASS.

Returns:
BT_TRUE iff control law is based on dynamic optimization,
BT_FALSE otherwise

Implements ControlLaw.

References BT_FALSE.

Referenced by isStatic().

BooleanType ControlLaw::isInRealTimeMode ( ) const [virtual, inherited]
Returns:
BT_TRUE iff control law is working in real-time mode,
BT_FALSE otherwise

Reimplemented in RealTimeAlgorithm.

References BT_FALSE.

BooleanType PIDcontroller::isStatic ( ) const [virtual]
Returns:
BT_TRUE iff control law is a static one,
BT_FALSE otherwise

Implements ControlLaw.

References BT_FALSE, BT_TRUE, and isDynamic().

int UserInteraction::operator<< ( PlotWindow _window) [virtual, inherited]

This function is overloaded here in order to add the plotDataRecord required to plot the window to the log collection.

Parameters:
[in]_windowWindow to be added.
Note:
This function is doing the same as the corresponding addPlotWindow member function and is introduced for syntax reasons only.
Returns:
>= 0: index of added record,
-RET_PLOT_COLLECTION_CORRUPTED

Reimplemented from Plotting.

References UserInteraction::addPlotWindow().

Referenced by UserInteraction::operator<<().

int UserInteraction::operator<< ( LogRecord _record) [virtual, inherited]
Parameters:
[in]recordRecord to be added.
Note:
This function tunnels the corresponding function of the Logging class. It is introduced to avoid syntax ambiguity only.
Returns:
>= 0: index of added record,
-RET_LOG_COLLECTION_CORRUPTED

Reimplemented from Logging.

References UserInteraction::operator<<().

PIDcontroller & PIDcontroller::operator= ( const PIDcontroller rhs)
Parameters:
[in]rhsRight-hand side object.

References dWeights, iValue, iWeights, lastError, nInputs, nOutputs, and pWeights.

returnValue Plotting::plot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [virtual, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, PlotCollection::first, PlotWindow::getNext(), Plotting::getPlotWindow(), PlotWindow::plot(), PLOT_NEVER, Plotting::plotCollection, RET_PLOTTING_FAILED, and SUCCESSFUL_RETURN.

Referenced by IntegrationAlgorithm::evaluate(), and AlgorithmicBase::plot().

returnValue ControlLaw::preparationStep ( double  nextTime = 0.0,
const VariablesGrid _yRef = emptyConstVariablesGrid 
) [virtual, inherited]
Parameters:
[in]nextTimeTime at next step.
[in]_yRefPiece of reference trajectory for next step (required for hotstarting).
Returns:
SUCCESSFUL_RETURN

Reimplemented in RealTimeAlgorithm.

References SUCCESSFUL_RETURN.

Referenced by Controller::preparationStep().

returnValue Logging::printLoggingInfo ( ) const [inherited]
returnValue Logging::printNumDoubles ( ) const [inherited]
returnValue Options::printOptionsList ( ) const [inherited]
returnValue Options::printOptionsList ( uint  idx) const [inherited]
Parameters:
[in]idxIndex of option list.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, OptionsList::printOptionsList(), and RET_INDEX_OUT_OF_BOUNDS.

returnValue Plotting::replot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [virtual, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

Reimplemented in Process.

References ACADOERROR, PlotCollection::first, PlotWindow::getNext(), Plotting::getPlotWindow(), PLOT_NEVER, Plotting::plotCollection, PlotWindow::replot(), RET_PLOTTING_FAILED, and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::replot(), and RealTimeAlgorithm::solve().

returnValue Options::set ( OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::optionsList, and OptionsList::set().

Referenced by AlgorithmicBase::set().

returnValue Options::set ( OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::optionsList, and OptionsList::set().

returnValue Options::set ( uint  idx,
OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and OptionsList::set().

returnValue Options::set ( uint  idx,
OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and OptionsList::set().

returnValue ClippingFunctionality::setControlLowerLimit ( uint  idx,
double  _lowerLimit 
) [inherited]
Parameters:
[in]idxIndex of control signal component.
[in]_lowerLimitNew lower limit.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, ClippingFunctionality::getNumControlLimits(), ClippingFunctionality::lowerLimitControls, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

returnValue ClippingFunctionality::setControlLowerLimits ( const Vector _lowerLimit) [inherited]
Parameters:
[in]_lowerLimitNew lower limits on control signals.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), ClippingFunctionality::getNumControlLimits(), ClippingFunctionality::lowerLimitControls, RET_VECTOR_DIMENSION_MISMATCH, and SUCCESSFUL_RETURN.

returnValue ClippingFunctionality::setControlUpperLimit ( uint  idx,
double  _upperLimit 
) [inherited]
Parameters:
[in]idxIndex of control signal component.
[in]_upperLimitNew upper limit.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, ClippingFunctionality::getNumControlLimits(), RET_INDEX_OUT_OF_BOUNDS, SUCCESSFUL_RETURN, and ClippingFunctionality::upperLimitControls.

returnValue ClippingFunctionality::setControlUpperLimits ( const Vector _upperLimit) [inherited]
Parameters:
[in]_upperLimitNew upper limits on control signals.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), ClippingFunctionality::getNumControlLimits(), RET_VECTOR_DIMENSION_MISMATCH, SUCCESSFUL_RETURN, and ClippingFunctionality::upperLimitControls.

Parameters:
[in]_dWeightsNew derivative weights.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, dWeights, VectorspaceElement::getDim(), getNumInputs(), RET_VECTOR_DIMENSION_MISMATCH, and SUCCESSFUL_RETURN.

Parameters:
[in]_iWeightsNew integral weights.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), getNumInputs(), iWeights, RET_VECTOR_DIMENSION_MISMATCH, and SUCCESSFUL_RETURN.

returnValue SimulationBlock::setName ( BlockName  _name) [inline, inherited]
Parameters:
[in]_nameNew name.
Returns:
SUCCESSFUL_RETURN

References SimulationBlock::name, and SUCCESSFUL_RETURN.

Referenced by SimulationBlock::operator=(), and SimulationBlock::SimulationBlock().

returnValue Options::setOptions ( const Options arg) [inherited]
Parameters:
[in]argNew Options object to be assigned.
Note:
This routine is introduced only for convenience and is equivalent to the assignment operator.
Returns:
SUCCESSFUL_RETURN

References Options::operator=(), and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::setOptions().

returnValue Options::setOptions ( uint  idx,
const Options arg 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]argOptions object containing the option list to be assigned.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

returnValue ClippingFunctionality::setParameterLowerLimit ( uint  idx,
double  _lowerLimit 
) [inherited]
Parameters:
[in]idxIndex of parameter signal component.
[in]_lowerLimitNew lower limit.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, ClippingFunctionality::getNumParameterLimits(), ClippingFunctionality::lowerLimitParameters, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

Parameters:
[in]_lowerLimitNew lower limits on parameter signals.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), ClippingFunctionality::getNumParameterLimits(), ClippingFunctionality::lowerLimitParameters, RET_VECTOR_DIMENSION_MISMATCH, and SUCCESSFUL_RETURN.

returnValue ClippingFunctionality::setParameterUpperLimit ( uint  idx,
double  _upperLimit 
) [inherited]
Parameters:
[in]idxIndex of parameter signal component.
[in]_upperLimitNew upper limit.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, ClippingFunctionality::getNumParameterLimits(), RET_INDEX_OUT_OF_BOUNDS, SUCCESSFUL_RETURN, and ClippingFunctionality::upperLimitParameters.

Parameters:
[in]_upperLimitNew upper limits on parameter signals.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), ClippingFunctionality::getNumParameterLimits(), RET_VECTOR_DIMENSION_MISMATCH, SUCCESSFUL_RETURN, and ClippingFunctionality::upperLimitParameters.

Parameters:
[in]_pWeightsNew proportional weights.
Returns:
SUCCESSFUL_RETURN,
RET_VECTOR_DIMENSION_MISMATCH

References ACADOERROR, VectorspaceElement::getDim(), getNumInputs(), pWeights, RET_VECTOR_DIMENSION_MISMATCH, and SUCCESSFUL_RETURN.

returnValue SimulationBlock::setSamplingTime ( double  _samplingTime) [inline, inherited]
Parameters:
[in]_samplingTimeNew sampling time.
Returns:
SUCCESSFUL_RETURN,
RET_INVALID_ARGUMENTS

References ACADOERROR, acadoIsGreater(), BT_TRUE, RET_INVALID_ARGUMENTS, SimulationBlock::samplingTime, and SUCCESSFUL_RETURN.

Referenced by SimulationBlock::operator=(), and SimulationBlock::SimulationBlock().

returnValue UserInteraction::setStatus ( BlockStatus  _status) [protected, inherited]
Parameters:
[in]_statusNew status of user interface
Returns:
SUCCESSFUL_RETURN

References UserInteraction::status, and SUCCESSFUL_RETURN.

Referenced by Controller::Controller(), DynamicEstimator::DynamicEstimator(), Estimator::Estimator(), FeedforwardLaw::FeedforwardLaw(), KalmanFilter::init(), Estimator::init(), OptimizationAlgorithm::init(), DynamicEstimator::init(), LinearStateFeedback::init(), FeedforwardLaw::init(), RealTimeAlgorithm::init(), TransferDevice::init(), init(), SimulationEnvironment::init(), Controller::init(), Process::init(), Process::initializeStartValues(), IntegrationAlgorithm::IntegrationAlgorithm(), KalmanFilter::KalmanFilter(), LinearStateFeedback::LinearStateFeedback(), OCPexport::OCPexport(), UserInteraction::operator=(), OptimizationAlgorithm::OptimizationAlgorithm(), RealTimeAlgorithm::performFeedbackStep(), RealTimeAlgorithm::performPreparationStep(), PIDcontroller(), Process::Process(), RealTimeAlgorithm::RealTimeAlgorithm(), Process::setActuator(), Controller::setControlLaw(), SimulationEnvironment::setController(), Process::setDynamicSystem(), Controller::setEstimator(), SimulationEnvironment::setProcess(), Process::setProcessDisturbance(), Controller::setReferenceTrajectory(), Process::setSensor(), OCPexport::setup(), SIMexport::setup(), SIMexport::SIMexport(), SimulationEnvironment::SimulationEnvironment(), MultiObjectiveAlgorithm::solve(), MultiObjectiveAlgorithm::solveSingleObjective(), TransferDevice::TransferDevice(), and UserInteraction::UserInteraction().

returnValue Logging::setupLogging ( ) [protected, virtual, inherited]
returnValue Options::setupOptions ( ) [protected, virtual, inherited]
returnValue ControlLaw::shift ( double  timeShift = -1.0) [virtual, inherited]
Returns:
RET_NOT_YET_IMPLEMENTED

Reimplemented in RealTimeAlgorithm.

References ACADOERROR, and RET_NO_REALTIME_MODE_AVAILABLE.

returnValue PIDcontroller::step ( double  currentTime,
const Vector _x,
const Vector _p = emptyConstVector,
const VariablesGrid _yRef = emptyConstVariablesGrid 
) [virtual]
Parameters:
[in]currentTimeCurrent time.
[in]_xMost recent value for differential states.
[in]_pMost recent value for parameters.
[in]_yRefCurrent piece of reference trajectory.
Returns:
SUCCESSFUL_RETURN,
RET_BLOCK_NOT_READY,
RET_VECTOR_DIMENSION_MISMATCH,
RET_CONTROLLAW_STEP_FAILED

Implements ControlLaw.

References ACADOERROR, BS_READY, ClippingFunctionality::clipSignals(), determineControlAction(), VectorspaceElement::getDim(), getNumInputs(), getNumOutputs(), Grid::getNumPoints(), MatrixVariablesGrid::getNumValues(), UserInteraction::getStatus(), VariablesGrid::getVector(), VectorspaceElement::init(), ControlLaw::p, RET_BLOCK_NOT_READY, RET_CONTROLLAW_STEP_FAILED, RET_OUTPUTTRANSFORMATOR_STEP_FAILED, RET_VECTOR_DIMENSION_MISMATCH, VectorspaceElement::setZero(), SUCCESSFUL_RETURN, and ControlLaw::u.

returnValue ControlLaw::step ( const Vector _x,
const Vector _p = emptyConstVector,
const VariablesGrid _yRef = emptyConstVariablesGrid 
) [virtual, inherited]
Parameters:
[in]_xMost recent value for differential states.
[in]_pMost recent value for parameters.
[in]_yRefCurrent piece of reference trajectory or piece of reference trajectory for next step (required for hotstarting).
Returns:
SUCCESSFUL_RETURN,
RET_BLOCK_NOT_READY,
RET_VECTOR_DIMENSION_MISMATCH,
RET_CONTROLLAW_STEP_FAILED

References ControlLaw::step().

returnValue Logging::updateLogRecord ( LogRecord _record) const [inherited]

In doing so, it is checked for each item whether it is contained within one of of the records of the collection; and if so, the numerical values are copied into the argument record.

Parameters:
[in,out]_recordRecord to be updated
Returns:
SUCCESSFUL_RETURN

References Logging::logCollection, and LogCollection::updateLogRecord().

Referenced by UserInteraction::getPlotDataFromMemberLoggings(), and SimulationEnvironment::getSampledProcessOutput().


Member Data Documentation

LogCollection Logging::logCollection [protected, inherited]
int Logging::logIdx [protected, inherited]
BlockName SimulationBlock::name [protected, inherited]
uint Options::nOptionsList [protected, inherited]
OptionsList** Options::optionsList [protected, inherited]
Vector ControlLaw::p [protected, inherited]
PlotCollection Plotting::plotCollection [protected, inherited]
RealClock SimulationBlock::realClock [protected, inherited]
double SimulationBlock::samplingTime [protected, inherited]
BlockStatus UserInteraction::status [protected, inherited]
Vector ControlLaw::u [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines