blockMPCstatespace

Modelica predictive control library (by the Institute of Automatic Control, RWTH Aachen University)

Extends from Basic.linMPCpartial (Modelica predictive control library (by the Institute of Automatic Control, RWTH Aachen University)).

Parameters

TypeNameDefaultDescription
General › controller settings
Integerp (from linMPCpartial)1number of controlled variables
Integerm (from linMPCpartial)1number of manipulated variables
IntegerNl (from linMPCpartial)1lower prediction horizon
IntegerNp (from linMPCpartial)1upper prediction horizon
IntegerNu (from linMPCpartial)1control horizon
RealTs (from linMPCpartial)1sample time (/s)
General › cost function
RealQ (from linMPCpartial)identity(p)weighting matrix
RealR (from linMPCpartial)identity(m)weighting matrix
Model parameters › model parameters
ModelTypemodelType (from linMPCpartial)
Integern1number of state variables
RealAzeros(n, n)discrete time control system matrix A
RealBzeros(n, m)discrete time control system matrix B
RealCzeros(p, n)discrete time control system matrix C
RealDzeros(p, m)discrete time control system matrix D
RealAdszeros(n, q)impact of measurable disturbances on state variables
Model parameters › disturbance handling
DisturbanceHandlingTypebiasCompensation (from linMPCpartial)1compensate prediction bias
Integerq (from linMPCpartial)0number of measurable disturbance variables
DisturbanceInputtypeDisturbanceInput (from linMPCpartial)0form of disturbance input
Constraints
ConstraintsHandlingTypeconstraints (from linMPCpartial)1constraints handling
Constraints › changes in manipulated variables
IntegerboundedDeltaUmin (from linMPCpartial)zeros(0)vector of indices of lower bounded variables
RealdeltaUmin (from linMPCpartial)-1*ones(0)vector of lower bounds
IntegerboundedDeltaUmax (from linMPCpartial)zeros(0)vector of indices of upper bounded variables
RealdeltaUmax (from linMPCpartial)1*ones(0)vector of upper bounds
Constraints › manipulated variables
IntegerboundedUmin (from linMPCpartial)zeros(0)vector of indices of lower bounded variables
RealUmin (from linMPCpartial)-1*ones(0)vector of lower bounds
IntegerboundedUmax (from linMPCpartial)zeros(0)vector of indices of upper bounded variables
RealUmax (from linMPCpartial)1*ones(0)vector of upper bounds
Constraints › controlled variables
IntegerboundedYmin (from linMPCpartial)zeros(0)vector of indices of lower bounded variables
RealYmin (from linMPCpartial)-1*ones(0)vector of lower bounds
IntegerboundedYmax (from linMPCpartial)zeros(0)vector of indices of upper bounded variables
RealYmax (from linMPCpartial)1*ones(0)vector of upper bounds
Constraints › changes in controlled variables
IntegerboundedDeltaYmin (from linMPCpartial)zeros(0)vector of indices of lower bounded variables
RealdeltaYmin (from linMPCpartial)-1*ones(0)vector of lower bounds
IntegerboundedDeltaYmax (from linMPCpartial)zeros(0)vector of indices of upper bounded variables
RealdeltaYmax (from linMPCpartial)1*ones(0)vector of upper bounds
Advanced › QP Solver settings
Realrho (from linMPCpartial)100penelization of quadratic constraints violation
Realcvio_start (from linMPCpartial)10start value of allowed constraints violation
Realeps (from linMPCpartial)1E-5precision of the optimization
Realmue (from linMPCpartial)5gain for increasing outer iteration variable
Realbeta (from linMPCpartial)0.2gain factor for step size adaption
General › initialization
Realu_start (from linMPCpartial)zeros(m)start values for manipulated variables
Constraints › state variables
IntegerboundedXminzeros(0)vector of indices of lower bounded variables
RealXmin-1*ones(0)vector of lower bounds
IntegerboundedXmaxzeros(0)vector of indices of upper bounded variables
RealXmax1*ones(0)vector of upper bounds
Constraints › changes in state variables
IntegerboundedDeltaXminzeros(0)vector of indices of lower bounded variables
RealdeltaXmin-1*ones(0)vector of lower bounds
IntegerboundedDeltaXmaxzeros(0)vector of indices of upper bounded variables
RealdeltaXmax1*ones(0)vector of upper bounds

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInput[(Np - Nl + 1)*p]r (from linMPCpartial)reference trajectory
Modelica.Blocks.Interfaces.RealInput[(1 + DisturbanceInput*(Np - Nl))*q]d (from linMPCpartial)changes in measureable disturbances
Modelica.Blocks.Interfaces.RealOutput[m]u (from linMPCpartial)actuating variables
Modelica.Blocks.Interfaces.RealInput[n]x
Modelica.Blocks.Interfaces.RealInput[p]y

Components

TypeNameDefaultDescription
Real[m]deltaUk (from linMPCpartial)controller output
Real[p]bprediction bias
Real[p]y_est
Real[p]deltaY