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}{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{1}\]
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{2}\]
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}
}