AutomationLabsModelPredictiveControl.ModelPredictiveControlControllerType
ModelPredictiveControlController

Model predictive control main struct parameters. The controller as all the necessary before optimization.

** Fields **

  • system: mathematical system type of the dynamical system (f and constraints).
  • tuning: model predictive control implementation according to reference.
  • initialization: initialization of the model predictive control before computation.
  • inputs_command: model predictive control input after computation, which are sent to dynamical system.
AutomationLabsModelPredictiveControl.ModelPredictiveControlTuningType
ModelPredictiveControlTuning

Model predictive control tuning implementation according to parameters and references.

** Fields **

  • modeler: model predictive control implementation acocrding to JuMP.
  • reference: model predictive control references.
  • horizon: model predictive control horizon.
  • weights: model predictive control weighting coefficients.
  • terminal_ingredient: model predictive control terminal ingredients.
  • sample_time: model predictive control sample time.
  • max_time: model predictive control maximum time computation.
AutomationLabsModelPredictiveControl._create_terminal_ingredientMethod
_create_terminal_ingredient

Function that create the terminal ingredient for model predictive control. The terminal ingredients are the terminal weight and terminal constraints. The terminal constraints could be optional.

** Required fields **

  • model_mpc: the JuMP from the modeler design.
  • terminal_ingredient: a string to set the terminal constraints.
  • system: the dynamical system mathemacal systems.
  • references: the states and inputs references.
  • weights: the weighting coefficients.
  • kws optional parameters.
AutomationLabsModelPredictiveControl._design_reference_mpcMethod
_design_reference_mpc

A function for references for model predictive control and linearization point for economic model predictive control.

The following variables are mendatories:

  • state_reference: the state reference.
  • input_reference: the input reference.
  • horizon: the horizon for the mpc or empc.
AutomationLabsModelPredictiveControl._model_predictive_control_designMethod
_model_predictive_control_design

Function that tunes a model predictive control.

** Required fields **

  • system: mathematical system type.
  • horizon: horizon length of the model predictive control.
  • method: implementation method (linear, non linear, mixed integer linear, fuzzy rules)
  • sample_time: time sample of the model predictive control.
  • kws optional fields
AutomationLabsModelPredictiveControl._model_predictive_control_designMethod
_model_predictive_control_design

Function that tunes a model predictive control.

** Required fields **

  • system: mathematical system type.
  • horizon: horizon length of the model predictive control.
  • method: implementation method (linear, non linear, mixed integer linear, fuzzy rules)
  • sample_time: time sample of the model predictive control.
  • kws optional fields
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • model_mlj: model of the dynamical system from AutomationLabsIdentification package.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl._model_predictive_control_modeler_implementationMethod
_model_predictive_control_modeler_implementation

Modeler implementation of a Model Predictive Control.

** Required fields **

  • method: method which is multipled dispatched type. Type are LinearProgramming, TakagiSugeno, NonLinearProgramming and MixedIntegerLinearProgramming.
  • system: system from MethematicalSystems.
  • horizon : model predictive control horizon parameter.
  • references : model predictive control references.
  • solver: model predictive control solver selection.
AutomationLabsModelPredictiveControl.calculate!Method
calculate!(C::ModelPredictiveControlController)

Model predictive control computation function. The controller is computed and optimization results values are written on mutable struct controller.

** Required fields **

  • C: the model predictive control controller.
AutomationLabsModelPredictiveControl.proceed_controllerMethod
proceed_controller

A function for model predictive control and economic model predictive control.

The following variables are mendatories:

  • system: a mathematical systems from AutomationLabsSystems.
  • mpc_controller_type: a string for model predictive control or economic model predictive control.
  • mpc_horizon: a horizon for the predictive controller.
  • mpc_sample_time: a sample time for the predictive controller.
  • mpc_state_reference: state reference for mpc or linearization point for empc.
  • mpc_input_reference: input reference for mpc or linearization point for empc.
  • kws optional argument.
AutomationLabsModelPredictiveControl.update_initialization!Method
update_initialization!(C::ModelPredictiveControlController, initialization::Vector)

Update initialization (also known as state measure) of Model predictive control controller.

** Required fields **

  • C: the design model predictive control controller.
  • initialization: initialization of the model predictive control befre computation (also now as the state measures).