IQClab also provides the option to perform LPV controller synthesis with full-block multipliers. This yields controllers that are gain-scheduled and depend on time varying parameters whose values are available via measurements or estimation algorithms.
Note: It is assumed that the user is acquainted with the LPV controller synthesis literature. The reader is referred to [7] and references therein for further information.
We consider the system interconnection shown in the following figure.

Here:
is the generalized plant (i.e., it is assumed that the disturbance and performance weights are already incorporated in the plant)
is the scheduling block, which depends on a time-varying parameter vector, which is further specified below
is the to-be-designed LPV controller, where
is the LTI part
is the (nonlinear) scheduling function
- the in- and output channels are denoted by
is the performance channel
is the plant scheduling function
is the controller scheduling channel
is the control channel
Some characteristics of the algorithm are:
- The algorithms performs a synthesis with the aim to obtain a gain-scheduled controller,
, stabilizes the plant
and which renders the induced
-gain on the channel
satisfied.
- The block
is a member of the uncertainty class ultv (see details here). This class is defined by LTV parametric uncertainties of the form
,
are some fixed matrices
(having the same dimension as
.
is a piecewise continuous time-varying parameter vector that takes its values from the compact polytope
,
as generator points.
is assumed to be star convex:
.
- With the aim to trade-off computational complexity with performance, the algorithm allows to impose two different relaxation schemes:
- DG-scalings
- Convex Hull relaxation
- The algorithm imposes the following induced
norm constraint on the performance channel
:
is the to-be-minimized induced
-gain.
Usage:
If feasible, the algorithms returns:
- The stabilizing controller
with state space realization
is the control channel and
is the scheduling channel.
- The (guaranteed) induced
-gain on the performance channel
of the closed-loop system
.
The inputs should be provided as follows:
- The LTI plant
is assumed to admit the following state space description
and
are the scheduling and disturbance inputs
and
are the scheduling and performance outputs
is the control input
is the measurement output
is stabilizable and
is detectable
- The scheduling block
is an iqcdelta object, which must be compatible with the uncertainty class ultv (see details here).
- The plant input and output dimension data
and
must be specified as follows:
- The last input, options, is a structure with various options as summarized in the following table.
Options | Description |
options.subopt | If chosen larger than 1, the algorithm computes a suboptimal solution ![]() ![]() ![]() ![]() ![]() The default value is 1.05. |
options.condnr | If chosen larger than 1, the algorithm computes a suboptimal solution ![]() by maximizing ![]() The default value is 1. |
options.Lyapext | With this option you can specify how the Lyapunov function matrix ![]() ![]() The default value is 5. |
options.Multiplext | With this option you can specify how the extended multiplier matrix ![]() ![]() The default value is 3. |
options.constants | options.constants=![]() ![]() ![]() The constants are associated with the following LMI constraints – ![]() ![]() – ![]() ![]() – ![]() ![]() – ![]() ![]() The default value is ![]() |
options.bounds | In case options.subopt>1, the algorithms miminizes the bounds ![]() ![]() ![]() ![]() In case also the option options.bounds= ![]() ![]() ![]() ![]() ![]() ![]() The matrices are empty by default. |
options.gmax | This option specifies the maximum induced ![]() ![]() The default value is 1000. |
options.Parser | The option options.Parser specifies which parser is used: – options.Parser=’LMIlab’ – options.Parser=’Yalmip’ The default options is ‘LMIlab’. |
options.Solver | The option options.Solver specifies which solver is used when considering Yalmip as parser. See https://yalmip.github.io/ for further info. The default solver is ‘mincx’. |
options.FeasbRad | This option allows setting the feasibility radius of the optimization problem (see MATLAB → help → mincx for further details). The default value is 1e9. |
options.Terminate | This option can be used to change the LMI solver options (see MATLAB → help → mincx for further details). The default value is 0. |
options.RelAcc | This option can be used to change the LMI solver options (see MATLAB → help → mincx for further details). The default value is 1e-4. |