Multivariable Centralized Control and MPC
In class activities
Activities
Explain the advantages and limitations of Model Predictive Control compared to the conventional decentralized PID control system.
Consider the process given by
\[ G(s)=\left[\begin{array}{cc} \frac{2 \exp (-7 s)}{10 s+1} & \frac{0.5 \exp (-4 s)}{19 s+1} \\ \frac{\exp (-2 s)}{20 s+1} & \frac{1.5 \exp (-3 s)}{15 s+1} \end{array}\right] \tag{1}\]
Design the decouplers \(D_{12}\) and \(D_{21}\) and comment whether the systems are physically realizable or not.
Decoupler \(D_{12}\) design
\[ D_{12} = - \frac{g_{12}}{g_{11}} \]
\[ D_{12} = - \frac{\frac{0.5 e^{-4s}}{19s + 1}}{\frac{2 e^{-7s}}{10s + 1}} \]
\[ D_{12} = - \frac{0.5 e^{-4s}}{19s + 1} \times \frac{10s + 1}{2 e^{-7s}} \]
\[ D_{12} = - \frac{0.5(10s + 1)}{2(19s + 1)} \times e^{3s} \]
\[ D_{12} = - \frac{0.25(10s + 1) e^{3s}}{19s + 1} \]
The presence of \(e^{+3s}\) indicates that the decoupler has a predictive capability – it can predict the future input change that affects the current output, i.e., the output change first before the input change (this can’t happen in our physical world). Therefore, the decoupler is considered a non-causal system, thus cannot be realized physically.
Decoupler \(D_{21}\) design
\[ D_{21} = - \frac{g_{21}}{g_{22}} \]
\[ D_{21} = - \frac{\frac{e^{(-2s)}}{20s + 1}}{\frac{1.5 e^{(-3s)}}{15s + 1}} \]
\[ D_{21} = - \frac{0.67(15s + 1) e^{-s}}{20s + 1} \]
The decoupler is physically realizable, i.e., order of numerator is not higher than the order of denominator, and also there is no predictive term, only a delay term in the decoupler.
- Wood Berry Column controller design
The control objective in the WB distillation column is to maintain the desired compositions in both the overhead (distillate) and bottom products by manipulating the reflux flow rate and steam flow rate. However, since both inputs affect both outputs, decoupling and interaction management are often required to ensure efficient and stable control of the system.
This model is widely used in process control to study interactions in distillation columns, and it simplifies the control of more complex chemical processes.
\[ G=\left[\begin{array}{cc} \frac{12.8 \exp (-s)}{16.7 s+1} & \frac{-18.9 \exp (-3 s)}{21 s+1} \\ \frac{6.6 \exp (-7 s)}{10.9 s+1} & \frac{-19.4 \exp (-3 s)}{14.4 s+1} \end{array}\right] \tag{2}\]
The code for calculating RGA and controller pairing is given in Matlab file/ mlx file.
A simulink implementation using lti system block is in wood_barry.slx.
- Consider the process given by
\[ G(s)=\left[\begin{array}{ll} \frac{2 \exp (-7 s)}{10 s+1} & \frac{0.5 \exp (-4 s)}{19 s+1} \\ \frac{\exp (-3 s)}{20 s+1} & \frac{1.5 \exp (-2 s)}{15 s+1} \end{array}\right] \tag{3}\]
Design the decouplers \(D_{12}\) and \(D_{21}\) and comment whether the systems are physically realizable or not.
The code for calculating decoupler transfer function is given in Matlab file/ mlx file.
- The discrete-time step response model of a process is given in Table 1.
| t | i | \(\Delta u\) | y(t) | ai |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0.3 | 0.3 |
| 2 | 2 | 0 | 0.6 | 0.6 |
| 3 | 3 | 0 | 0.7 | 0.7 |
| 4 | 4 | 0 | 0.8 | 0.8 |
| 5 | 5 | 0 | 0.86 | 0.86 |
| 6 | 6 | 0 | 0.88 | 0.88 |
| 7 | 7 | 0 | 0.89 | 0.89 |
Suppose that the process is subjected to a consecutive step changes in the input: \(\Delta u=1\) at t=0, \(\Delta u=1\) at t=2 and \(\Delta u=-1\) at t=4, determine the values of y5 and y9.
The code for calculating decoupler transfer function is given in Matlab file/ mlx file. The data in Table 1 can be downloaded from discrete_time_response.csv.
- Develop a DTSRM for the following transfer function
\[ G_p(s) = \frac{ 2 e^{-2s} } { 5s + 1 } \tag{4}\]
For the given transfer cunction, - \(K\) = 2 - \(\tau\) = 5 - \(\theta\) = 2 seconds
Apply a Unit Step Input
To develop the step response model, apply a unit step change in the input \(u(t)\): \[ \Delta u(t) = 1, \text{ for } t \geq 0 \]
Let’s use \(T_s\) = 1 second.
Calculate the Step Response Coefficients \(a_i\)
The step response coefficients \(a_i\) represent the fraction of the process response that occurs in each discrete time interval. The response of the system is delayed by \(\theta\) seconds, so no change is observed in the output until after \(\theta\).
The response \(y(t)\) to the step input for a FOPDT system is: \[ y(t) = K \left(1 - e^{-\frac{t - \theta}{\tau}}\right), \quad t \geq \theta \]
The discrete response coefficients \(a_i\) are then calculated as:
\[ a_i = y(i) - y(0) \]
first few coefficients:
| \(i\) | Time (s) | \(y(i T_s)\) | \(a_i\) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 |
| 2 | 2 | 0 | 0 |
| 3 | 3 | \(2 \left(1 - e^{-\frac{1}{5}}\right)\) | 0.3625 |
| 4 | 4 | \(2 \left(1 - e^{-\frac{2}{5}}\right)\) | 0.6594 |
| 5 | 5 | \(2 \left(1 - e^{-\frac{3}{5}}\right)\) | 0.9024 |
| 6 | 6 | \(2 \left(1 - e^{-\frac{4}{5}}\right)\) | 1.1013 |
Construct the DTSRM
The DTSRM uses the coefficients \(a_i\) to predict future outputs based on past input changes:
\[ y_n = y_0 + \sum_{i=1}^{n} a_i \Delta u(t_{n-i}) \]
For example, \[ y(3) = y_0 + a_3 \Delta u(0) + a_2 \Delta u(1) + a_1 \Delta u(3) \]
The code for calculating \(a_i\) is given in Matlab file/ mlx file.
- Second-Order Plus Dead-Time (SOPDT) Model to DTSRM
For the following transfer function
\[ G_p(s) = \frac{K}{\tau_1 s + 1} \cdot \frac{1}{\tau_2 s + 1} e^{-\theta s} \]
develop DTSRM.
The code for calculating \(a_i\) is given in Matlab file/ mlx file.
Citation
@online{utikar2023,
author = {Utikar, Ranjeet},
title = {Multivariable {Centralized} {Control} and {MPC}},
date = {2023-10-02},
url = {https://amc.smilelab.dev/content/notes/09-Multivariable_Centralized_Control_and_MPC/in-class-activities.html},
langid = {en}
}