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,
, which, for all![Rendered by QuickLaTeX.com \[u=(k\star\Delta_\mathrm{c}(\Delta_\mathrm{s}))y,\ \ \ \ \Delta_\mathrm{c}(\Delta_\mathrm{s})=\left(\!\!\begin{array}{cc}0&\Delta_\mathrm{s}^T\\ \Delta_\mathrm{s}&0\end{array}\!\!\right)\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-fa5e12069ee5a50857141621353d0846_l3.png?media=1702023987)
, 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
Here![Rendered by QuickLaTeX.com \[\Delta_\mathrm{ultv}(\delta)=\sum_{i=1}^N\ldelta_iT_i=\delta_1T_1+\cdots+\delta_NT_N.\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-380ae4c8a32f6cdc4f167c44c7febcc6_l3.png?media=1702023987)
,
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
with![Rendered by QuickLaTeX.com \[\Lambda=\mathrm{co}\{\delta^1,\ldots,\delta^M\}=\left\{\sum_{a=1}^{M}b_a\delta^a: b_a\geq0,\ \sum_{a=1}^{M}b_a=1\right\}\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-32472277f4ce5980535062627a1a2bce_l3.png?media=1702023987)
,
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
:
Here![Rendered by QuickLaTeX.com \[\int_0^{\infty}\left(\begin{array}{c}z_\mathrm{p}(t)\\w_\mathrm{p}(t)\end{array}\right)^T\left(\begin{array}{cc}\frac{1}{\gamma}I&0\\0&-\gamma I\end{array}\right)\left(\begin{array}{c}z_\mathrm{p}(t)\\w_\mathrm{p}(t)\end{array}\right)dt\geq0\ \ \forall t\geq0.\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-0d30465dd65d5ef7c70e1c61d8bcf744_l3.png?media=1702023987)
is the to-be-minimized induced
-gain.
Usage:
If feasible, the algorithms returns:
- The stabilizing controller
with state space realization
where![Rendered by QuickLaTeX.com \[\left(\!\!\!\begin{array}{c}u\\z_\mathrm{c}\end{array}\!\!\!\right)\!=\!\left[\!\!\begin{array}{c|cc}A_\mathrm{c}&B_y&B_w\\ \hline C_u&D_{uy}&D_{uw}\\C_\mathrm{c}&D_{\mathrm{c}y}&D_{\mathrm{c}w}\end{array}\!\!\right]\!\!\!\left(\!\!\begin{array}{c}y\\w_\mathrm{c}\end{array}\!\!\!\right),\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-5eefde0330afaede285c12aa324a0015_l3.png?media=1702023987)
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
where![Rendered by QuickLaTeX.com \[\left(\!\!\!\begin{array}{c}z_\mathrm{s}\\z_\mathrm{p}\\y\end{array}\!\!\!\right)\!=\!\left[\!\!\begin{array}{c|ccc}A&B_\mathrm{s}&B_\mathrm{p}&B_u\\ \hline C_\mathrm{s}&D_\mathrm{ss}&D_\mathrm{sp}&D_{\mathrm{s}u}\\C_\mathrm{p}&D_\mathrm{ps}&D_\mathrm{pp}&D_{\mathrm{p}u}\\C_y&D_{y\mathrm{s}}&D_{y\mathrm{p}}&D_{yu}\end{array}\!\!\right]\!\!\!\left(\!\!\begin{array}{c}w_\mathrm{s}\\w_\mathrm{p}\\u\end{array}\!\!\!\right),\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-f85b0bf525471edc77ffb707e059dc9b_l3.png?media=1702023987)
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. |
