Overview and guidance for use |
|
xix | |
Book organisation |
|
xxi | |
Acknowledgements |
|
xxiii | |
|
1 Introduction and the industrial need for predictive control |
|
|
1 | (34) |
|
1.1 Guidance for the lecturer/reader |
|
|
2 | (1) |
|
1.2 Motivation and introduction |
|
|
2 | (1) |
|
1.3 Classical control assumptions |
|
|
3 | (2) |
|
|
3 | (1) |
|
1.3.2 Lead and Lag compensation |
|
|
4 | (1) |
|
1.3.3 Using PID and lead/lag for SISO control |
|
|
4 | (1) |
|
1.3.4 Classical control analysis |
|
|
4 | (1) |
|
1.4 Examples of systems hard to control effectively with classical methods |
|
|
5 | (12) |
|
1.4.1 Controlling systems with non-minimum phase zeros |
|
|
5 | (2) |
|
1.4.2 Controlling systems with significant delays |
|
|
7 | (1) |
|
1.4.3 Illustration: Impact of delay on margins and closed-loop behaviour |
|
|
8 | (2) |
|
1.4.4 Controlling systems with constraints |
|
|
10 | (2) |
|
1.4.5 Controlling multivariable systems |
|
|
12 | (4) |
|
1.4.6 Controlling open-loop unstable systems |
|
|
16 | (1) |
|
1.5 The potential value of prediction |
|
|
17 | (2) |
|
1.5.1 Why is predictive control logical? |
|
|
18 | (1) |
|
1.5.2 Potential advantages of prediction |
|
|
19 | (1) |
|
1.6 The main components of MPC |
|
|
19 | (12) |
|
1.6.1 Prediction and prediction horizon |
|
|
20 | (1) |
|
1.6.2 Why is prediction important? |
|
|
20 | (2) |
|
|
22 | (1) |
|
1.6.4 Predictions are based on a model |
|
|
23 | (2) |
|
1.6.5 Performance indices |
|
|
25 | (2) |
|
1.6.6 Degrees of freedom in the predictions or prediction class |
|
|
27 | (1) |
|
|
28 | (1) |
|
1.6.8 Constraint handling |
|
|
28 | (2) |
|
1.6.9 Multivariable and interactive systems |
|
|
30 | (1) |
|
1.6.10 Systematic use of future demands |
|
|
31 | (1) |
|
1.7 MPC philosophy in summary |
|
|
31 | (2) |
|
1.8 MATLAB files from this chapter |
|
|
33 | (1) |
|
1.9 Reminder of book organisation |
|
|
33 | (2) |
|
2 Prediction in model predictive control |
|
|
35 | (48) |
|
|
36 | (1) |
|
2.2 Guidance for the lecturer/reader |
|
|
36 | (1) |
|
2.2.1 Typical learning outcomes for an examination assessment |
|
|
37 | (1) |
|
2.2.2 Typical learning outcomes for an assignment/coursework |
|
|
37 | (1) |
|
2.3 General format of prediction modelling |
|
|
37 | (2) |
|
2.3.1 Notation for vectors of past and future values |
|
|
38 | (1) |
|
2.3.2 Format of general prediction equation |
|
|
38 | (1) |
|
2.3.3 Double subscript notation for predictions |
|
|
38 | (1) |
|
2.4 Prediction with state space models |
|
|
39 | (10) |
|
2.4.1 Prediction by iterating the system model |
|
|
39 | (1) |
|
2.4.2 Predictions in matrix notation |
|
|
40 | (3) |
|
2.4.3 Unbiased prediction with state space models |
|
|
43 | (2) |
|
2.4.4 The importance of unbiased prediction and deviation variables |
|
|
45 | (1) |
|
2.4.5 State space predictions with deviation variables |
|
|
46 | (2) |
|
2.4.6 Predictions with state space models and input increments |
|
|
48 | (1) |
|
2.5 Prediction with transfer function models -- matrix methods |
|
|
49 | (11) |
|
2.5.1 Ensuring unbiased prediction with transfer function models |
|
|
50 | (2) |
|
2.5.2 Prediction for a CARIMA model with T(z) = 1: the SISO case |
|
|
52 | (3) |
|
2.5.3 Prediction with a CARIMA model and T = 1: the MIMO case |
|
|
55 | (2) |
|
2.5.4 Prediction equations with T(z) ≠ 1: the SISO case |
|
|
57 | (1) |
|
2.5.4.1 Summary of the key steps in computing prediction equations with a T-filter |
|
|
57 | (1) |
|
2.5.4.2 Forming the prediction equations with a T-filter beginning from predictions (2.59) |
|
|
58 | (2) |
|
2.6 Using recursion to find prediction matrices for CARIMA models |
|
|
60 | (3) |
|
2.7 Prediction with independent models |
|
|
63 | (5) |
|
2.7.1 Structure of an independent model and predictions |
|
|
64 | (1) |
|
2.7.2 Removing prediction bias with an independent model |
|
|
65 | (1) |
|
2.7.3 Independent model prediction via partial fractions for SISO systems |
|
|
66 | (1) |
|
2.7.3.1 Prediction for SISO systems with one pole |
|
|
66 | (1) |
|
2.7.3.2 PFC for higher-order models having real roots |
|
|
67 | (1) |
|
2.8 Prediction with FIR models |
|
|
68 | (5) |
|
2.8.1 Impulse response models and predictions |
|
|
69 | (2) |
|
2.8.2 Prediction with step response models |
|
|
71 | (2) |
|
2.9 Closed-loop prediction |
|
|
73 | (8) |
|
2.9.1 The need for numerically robust prediction with open-loop unstable plant |
|
|
73 | (1) |
|
2.9.2 Pseudo-closed-loop prediction |
|
|
74 | (2) |
|
2.9.3 Illustration of prediction structures with the OLP and CLP |
|
|
76 | (1) |
|
2.9.4 Basic CLP predictions for state space models |
|
|
77 | (1) |
|
2.9.5 Unbiased closed-loop prediction with autonomous models |
|
|
78 | (1) |
|
2.9.6 CLP predictions with transfer function models |
|
|
79 | (2) |
|
|
81 | (1) |
|
2.11 Summary of MATLAB code supporting prediction |
|
|
82 | (1) |
|
3 Predictive functional control |
|
|
83 | (34) |
|
|
84 | (1) |
|
3.2 Guidance for the lecturer/reader |
|
|
85 | (1) |
|
3.3 Basic concepts in PFC |
|
|
86 | (9) |
|
|
86 | (1) |
|
|
87 | (1) |
|
3.3.3 Combining predicted behaviour with desired behaviour: the coincidence point |
|
|
88 | (1) |
|
3.3.4 Basic mathematical definition of a simple PFC law |
|
|
89 | (1) |
|
3.3.5 Alternative PFC formulation using independent models |
|
|
89 | (2) |
|
3.3.6 Integral action within PFC |
|
|
91 | (1) |
|
3.3.7 Coping with large dead-times in PFC |
|
|
91 | (2) |
|
3.3.8 Coping with constraints in PFC |
|
|
93 | (1) |
|
3.3.9 Open-loop unstable systems |
|
|
94 | (1) |
|
3.4 PFC with first-order models |
|
|
95 | (5) |
|
3.4.1 Analysis of PFC for a first-order system |
|
|
95 | (2) |
|
3.4.2 Numerical examples of PFC on first-order systems |
|
|
97 | (1) |
|
3.4.2.1 Dependence on choice of desired closed-loop pole A with ny = 1 |
|
|
97 | (1) |
|
3.4.2.2 Dependence on choice of coincidence horizon ny with fixed δ |
|
|
97 | (1) |
|
3.4.2.3 Effectiveness at handling plants with delays |
|
|
98 | (1) |
|
3.4.2.4 Effectiveness at handling plants with uncertainty and delays |
|
|
98 | (1) |
|
3.4.2.5 Effectiveness at handling plants with uncertainty, constraints and delays |
|
|
99 | (1) |
|
3.5 PFC with higher-order models |
|
|
100 | (11) |
|
3.5.1 Is a coincidence horizon of 1 a good choice in general? |
|
|
101 | (1) |
|
3.5.1.1 Nominal performance analysis with ny = 1 |
|
|
102 | (1) |
|
3.5.1.2 Stability analysis with ny = 1 |
|
|
102 | (1) |
|
3.5.2 The efficacy of A as a tuning parameter |
|
|
103 | (1) |
|
3.5.2.1 Closed-loop poles/behaviour for G1 with various choices of ny |
|
|
104 | (1) |
|
3.5.2.2 Closed-loop poles/behaviour for G3 with various choices of ny |
|
|
104 | (1) |
|
3.5.2.3 Closed-loop poles/behaviour for G2 with various choices of ny |
|
|
105 | (1) |
|
3.5.2.4 Closed-loop poles/behaviour for G4 with various choices of ny |
|
|
105 | (1) |
|
3.5.3 Practical tuning guidance |
|
|
106 | (1) |
|
3.5.3.1 Closed-loop poles/behaviour for G5 with various choices of ny |
|
|
106 | (1) |
|
3.5.3.2 Mean-level approach to tuning |
|
|
106 | (1) |
|
3.5.3.3 Intuitive choices of coincidence horizon to ensure good behaviour |
|
|
107 | (1) |
|
3.5.3.4 Coincidence horizon of ny = 1 will not work in general |
|
|
108 | (1) |
|
3.5.3.5 Small coincidence horizons often imply over-actuation |
|
|
109 | (1) |
|
3.5.3.6 Example 1 of intuitive choice of coincidence horizon |
|
|
109 | (1) |
|
3.5.3.7 Example 6 of intuitive choice of coincidence horizon |
|
|
110 | (1) |
|
3.6 Stability results for PFC |
|
|
111 | (1) |
|
3.7 PFC with ramp targets |
|
|
112 | (3) |
|
|
115 | (1) |
|
3.9 MATLAB code available for readers |
|
|
115 | (2) |
|
4 Predictive control -- the basic algorithm |
|
|
117 | (50) |
|
|
118 | (1) |
|
4.2 Guidance for the lecturer/reader |
|
|
119 | (1) |
|
4.3 Summary of main results |
|
|
119 | (1) |
|
4.3.1 GPC control structure |
|
|
120 | (1) |
|
4.3.2 Main components of an MPC law |
|
|
120 | (1) |
|
4.4 The GPC performance Index |
|
|
120 | (10) |
|
4.4.1 Concepts of good and bad performance |
|
|
121 | (1) |
|
4.4.2 Properties of a convenient performance Index |
|
|
121 | (1) |
|
4.4.3 Possible components to include in a performance Index |
|
|
122 | (3) |
|
4.4.4 Concepts of biased and unbiased performance indices |
|
|
125 | (2) |
|
4.4.5 The dangers of making the performance Index too simple |
|
|
127 | (1) |
|
4.4.6 Integral action in predictive control |
|
|
128 | (1) |
|
4.4.7 Compact representation of the performance Index and choice of weights |
|
|
129 | (1) |
|
4.5 GPC algorithm formulation for transfer function models |
|
|
130 | (16) |
|
4.5.1 Selecting the degrees of freedom for GPC |
|
|
130 | (1) |
|
4.5.2 Performance Index for a GPC control law |
|
|
131 | (1) |
|
4.5.3 Optimising the GPC performance Index |
|
|
132 | (1) |
|
4.5.4 Transfer function representation of the control law |
|
|
133 | (1) |
|
4.5.5 Numerical examples for GPC with transfer function models and MATLAB code |
|
|
134 | (2) |
|
4.5.6 Closed4oop transfer functions |
|
|
136 | (1) |
|
4.5.7 GPC based on MFD models with a T-filter (GPCT) |
|
|
137 | (1) |
|
4.5.7.1 Why use a T-filter and conceptual thinking? |
|
|
137 | (1) |
|
4.5.7.2 Algebraic procedures with a T-filter |
|
|
138 | (3) |
|
|
141 | (1) |
|
4.5.8.1 Complementary sensitivity |
|
|
142 | (1) |
|
4.5.8.2 Sensitivity to multiplicative uncertainty |
|
|
142 | (1) |
|
4.5.8.3 Disturbance and noise rejection |
|
|
143 | (1) |
|
4.5.8.4 Impact of a T-filter on sensitivity |
|
|
144 | (1) |
|
4.5.9 Analogies between PFC and GPC |
|
|
145 | (1) |
|
4.6 GPC formulation for finite impulse response models and Dynamic Matrix Control |
|
|
146 | (2) |
|
4.7 Formulation of GPC with an independent prediction model |
|
|
148 | (5) |
|
4.7.1 GPC algorithm with independent transfer function model |
|
|
148 | (3) |
|
4.7.2 Closed-loop poles in the IM case with an MFD model |
|
|
151 | (2) |
|
4.8 GPC with a state space model |
|
|
153 | (8) |
|
4.8.1 Simple state augmentation |
|
|
153 | (1) |
|
4.8.1.1 Computing the predictive control law with an augmented state space model |
|
|
154 | (2) |
|
4.8.1.2 Closed-loop equations and integral action |
|
|
156 | (1) |
|
4.8.2 GPC using state space models with deviation variables |
|
|
156 | (1) |
|
4.8.2.1 GPC algorithm based on deviation variables |
|
|
157 | (3) |
|
4.8.2.2 Using an observer to estimate steady-state values for the state and input |
|
|
160 | (1) |
|
4.8.3 Independent model GPC using a state space model |
|
|
161 | (1) |
|
4.9 Chapter Summary and general comments on stability and tuning of GPC |
|
|
161 | (2) |
|
4.10 Summary of MATLAB code supporting GPC simulation |
|
|
163 | (4) |
|
4.10.1 MATLAB code to support GPC with a state space model and a performance Index based on deviation variables |
|
|
163 | (1) |
|
4.10.2 MATLAB code to support GPC with an MFD or CARIMA model |
|
|
164 | (1) |
|
4.10.3 MATLAB code to support GPC using an independent model in MFD format |
|
|
165 | (1) |
|
4.10.4 MATLAB code to support GPC with an augmented state space model |
|
|
165 | (2) |
|
5 Tuning GPC: good and bad choices of the horizons |
|
|
167 | (40) |
|
|
168 | (1) |
|
5.2 Guidance for the lecturer/reader |
|
|
168 | (1) |
|
5.3 Poor choices lead to poor behaviour |
|
|
169 | (2) |
|
5.4 Concepts of well-posed and ill-posed optimisations |
|
|
171 | (8) |
|
|
172 | (2) |
|
5.4.2 What is an ill-posed objective/optimisation? |
|
|
174 | (1) |
|
5.4.2.1 Parameterisation of degrees of freedom |
|
|
174 | (1) |
|
5.4.2.2 Choices of performance Index |
|
|
175 | (1) |
|
5.4.2.3 Consistency between predictions and eventual behaviour |
|
|
176 | (2) |
|
5.4.2.4 Summary of how to avoid ill-posed optimisations |
|
|
178 | (1) |
|
5.5 Illustrative simulations to show impact of different parameter choices on GPC behaviour |
|
|
179 | (16) |
|
5.5.1 Numerical examples for studies on GPC tuning |
|
|
179 | (1) |
|
5.5.2 The impact of low output horizons on GPC performance |
|
|
179 | (3) |
|
5.5.3 The impact of high output horizons on GPC performance |
|
|
182 | (1) |
|
5.5.3.1 GPC illustrations with ny large and nu = 1 |
|
|
182 | (3) |
|
5.5.3.2 When would a designer use large ny and nu = 1? |
|
|
185 | (2) |
|
5.5.3.3 Remarks on the efficacy of DMC |
|
|
187 | (1) |
|
5.5.4 Effect on GPC performance of changing nu and prediction consistency |
|
|
187 | (4) |
|
5.5.5 The impact of the input weight δ on the ideal horizons and prediction consistency |
|
|
191 | (2) |
|
5.5.6 Summary insights on choices of horizons and weights for GPC |
|
|
193 | (2) |
|
5.6 Systematic guidance for "tuning" GPC |
|
|
195 | (4) |
|
5.6.1 Proposed offline tuning method |
|
|
196 | (1) |
|
5.6.2 Illustrations of efficacy of tuning guidance |
|
|
196 | (3) |
|
|
199 | (2) |
|
5.8 Dealing with open-loop unstable systems |
|
|
201 | (4) |
|
5.8.1 Illustration of the effects of increasing the output horizon with open-loop unstable systems |
|
|
202 | (1) |
|
5.8.2 Further comments on open-loop unstable systems |
|
|
203 | (1) |
|
5.8.3 Recommendations for open-loop unstable processes |
|
|
204 | (1) |
|
5.9 Chapter Summary: guidelines for tuning GPC |
|
|
205 | (1) |
|
|
206 | (1) |
|
6 Dual-mode MPC (OMPC and SOMPC) and stability guarantees |
|
|
207 | (46) |
|
|
208 | (1) |
|
6.2 Guidance for the lecturer |
|
|
209 | (1) |
|
6.3 Foundation of a well-posed MPC algorithm |
|
|
209 | (7) |
|
6.3.1 Definition of the tail and recursive consistency |
|
|
210 | (2) |
|
6.3.2 Infinite horizons and the tail imply closed-loop stability |
|
|
212 | (1) |
|
6.3.3 Only the output horizon needs to be infinite |
|
|
213 | (1) |
|
6.3.4 Stability proofs with constraints |
|
|
214 | (1) |
|
6.3.5 Are infinite horizons impractical? |
|
|
215 | (1) |
|
6.4 Dual-mode MPC - an overview |
|
|
216 | (6) |
|
6.4.1 What is dual-mode control in the context of MPC? |
|
|
216 | (1) |
|
6.4.2 The structure/parameterisation of dual-mode predictions |
|
|
217 | (1) |
|
6.4.3 Overview of MPC dual-mode algorithms: Suboptimal MPC (SOMPC) |
|
|
218 | (1) |
|
6.4.4 Is SOMPC guaranteed stabilising? |
|
|
219 | (1) |
|
6.4.5 Why is SOMPC suboptimal? |
|
|
220 | (1) |
|
6.4.6 Improving optimality of SOMPC, the OMPC algorithm |
|
|
221 | (1) |
|
6.5 Algebraic derivations for dual-mode MPC |
|
|
222 | (6) |
|
6.5.1 The cost function for linear predictions over infinite horizons |
|
|
223 | (1) |
|
6.5.2 Forming the cost function for dual-mode predictions |
|
|
224 | (1) |
|
6.5.3 Computing the SOMPC control law |
|
|
225 | (1) |
|
6.5.4 Definition of terminal mode control law via optimal control |
|
|
225 | (1) |
|
6.5.5 SOMPC reduces to optimal control in the unconstrained case |
|
|
226 | (1) |
|
6.5.6 Remarks on stability and performance of SOMPC/OMPC |
|
|
227 | (1) |
|
6.6 Closed-loop paradigm implementations of OMPC |
|
|
228 | (10) |
|
6.6.1 Overview of the CLP concept |
|
|
229 | (2) |
|
6.6.2 The SOMPC/OMPC law with the closed-loop paradigm |
|
|
231 | (2) |
|
6.6.3 Properties of OMPC/SOMPC solved using the CLP |
|
|
233 | (1) |
|
6.6.3.1 Open-loop unstable systems |
|
|
233 | (1) |
|
6.6.3.2 Conditioning and structure of performance Index J |
|
|
233 | (1) |
|
6.6.4 Using autonomous models in OMPC |
|
|
234 | (1) |
|
6.6.4.1 Forming the predicted cost with an autonomous model |
|
|
235 | (1) |
|
6.6.4.2 Using autonomous models to support the definition of constraint matrices |
|
|
236 | (1) |
|
6.6.4.3 Forming the predicted cost with an expanded autonomous model |
|
|
236 | (1) |
|
6.6.5 Advantages and disadvantages of the CLP over the open-loop predictions |
|
|
237 | (1) |
|
6.7 Numerical illustrations of OMPC and SOMPC |
|
|
238 | (8) |
|
6.7.1 Illustrations of the impact of Q, R on OMPC |
|
|
238 | (1) |
|
6.7.2 Structure of cost function matrices for OMPC |
|
|
239 | (1) |
|
6.7.3 Structure of cost function matrices for SOMPC |
|
|
240 | (1) |
|
6.7.4 Demonstration that the parameters of KSOMPC vary with nc |
|
|
241 | (1) |
|
6.7.5 Demonstration that Jk is a Lyapunov function with OMPC and SOMPC |
|
|
241 | (2) |
|
6.7.6 Demonstration that with SOMPC the optimum decision changes each sample |
|
|
243 | (1) |
|
6.7.7 List of available illustrations |
|
|
244 | (2) |
|
6.8 Motivation for SOMPC: Different choices for mode 2 of dual-mode control |
|
|
246 | (5) |
|
6.8.1 Dead-beat terminal conditions |
|
|
247 | (1) |
|
6.8.2 A zero terminal control law |
|
|
248 | (1) |
|
6.8.3 Input parameterisations to eliminate unstable modes in the prediction |
|
|
249 | (1) |
|
6.8.4 Reflections and comparison of GPC and OMPC |
|
|
249 | (1) |
|
6.8.4.1 DMC/GPC is practically effective |
|
|
250 | (1) |
|
6.8.4.2 The potential role of dual-mode algorithms |
|
|
250 | (1) |
|
|
251 | (1) |
|
6.10 MATLAB files in support of this chapter |
|
|
251 | (2) |
|
6.10.1 Files in support of OMPC/SOMPC simulations |
|
|
251 | (1) |
|
6.10.2 MATLAB files producing numerical illustrations from Section 6.7 |
|
|
252 | (1) |
|
7 Constraint handling in GPC/finite horizon predictive control |
|
|
253 | (30) |
|
|
254 | (1) |
|
7.2 Guidance for the lecturer |
|
|
254 | (1) |
|
|
255 | (4) |
|
7.3.1 Definition of a saturation policy and limitations |
|
|
255 | (1) |
|
7.3.2 Limitations of a saturation policy |
|
|
255 | (3) |
|
7.3.3 Summary of constraint handling needs |
|
|
258 | (1) |
|
7.4 Description of typical constraints and linking to GPC |
|
|
259 | (8) |
|
7.4.1 Input rate constraints with a finite horizon (GPC predictions) |
|
|
260 | (1) |
|
7.4.2 Input constraints with a finite horizon (GPC predictions) |
|
|
261 | (1) |
|
7.4.3 Output constraints with a finite horizon (GPC predictions) |
|
|
262 | (1) |
|
|
263 | (1) |
|
7.4.5 Using MATLAB to build constraint inequalities |
|
|
264 | (3) |
|
|
267 | (6) |
|
7.5.1 Quadratic programming in GPC |
|
|
267 | (1) |
|
7.5.2 Implementing constrained GPC in practice |
|
|
268 | (1) |
|
7.5.3 Stability of constrained GPC |
|
|
268 | (1) |
|
7.5.4 Illustrations of constrained GPC with MATLAB |
|
|
269 | (1) |
|
7.5.4.1 Illustration: Constrained GPC with only input constraints |
|
|
269 | (1) |
|
7.5.4.2 Illustration: Constrained GPC with output constraints |
|
|
270 | (2) |
|
7.5.4.3 Illustration: Constrained GPC with a T-filter |
|
|
272 | (1) |
|
7.5.4.4 Illustration: Constrained GPC with an independent model |
|
|
272 | (1) |
|
7.6 Understanding a quadratic programming optimisation |
|
|
273 | (6) |
|
7.6.1 Generic quadratic function optimisation |
|
|
273 | (1) |
|
7.6.2 Impact of linear constraints on minimum of a quadratic function |
|
|
274 | (1) |
|
7.6.2.1 Illustration: Contour curves, constraints and minima for a quadratic function (7.32) |
|
|
274 | (2) |
|
7.6.2.2 Illustration: Impact of change of linear term in quadratic function (7.34) on constrained mini-mum |
|
|
276 | (1) |
|
7.6.3 Illustrations of MATLAB for solving QP optimisations |
|
|
277 | (1) |
|
7.6.4 Constrained optimals may be counter-intuitive: saturation control can be poor |
|
|
278 | (1) |
|
|
279 | (1) |
|
7.8 MATLAB code supporting constrained MPC simulation |
|
|
280 | (3) |
|
7.8.1 Miscellaneous MATLAB files used in illustrations |
|
|
280 | (1) |
|
7.8.2 MATLAB code for supporting GPC based on an MFD model |
|
|
281 | (1) |
|
7.8.3 MATLAB code for supporting GPC based on an independent model |
|
|
282 | (1) |
|
8 Constraint handling in dual-mode predictive control |
|
|
283 | (46) |
|
|
285 | (1) |
|
8.2 Guidance for the lecturer/reader and introduction |
|
|
285 | (1) |
|
8.3 Background and assumptions |
|
|
285 | (2) |
|
8.4 Description of simple or finite horizon constraint handling approach for dual-mode algorithms |
|
|
287 | (6) |
|
8.4.1 Simple illustration of using finite horizon inequalities or constraint handling with dual-mode predictions |
|
|
287 | (1) |
|
8.4.2 Using finite horizon inequalities or constraint handling with unbiased dual-mode predictions |
|
|
288 | (2) |
|
8.4.3 MATLAB code for constraint inequalities with dual-mode predictions and SOMPC/OMPC simulation examples |
|
|
290 | (1) |
|
8.4.3.1 Illustration: Constraint handling in SISO OMPC |
|
|
290 | (1) |
|
8.4.3.2 Illustration: Constraint handling in MIMO OMPC |
|
|
291 | (1) |
|
8.4.4 Remarks on using finite horizon inequalities in dual-mode MPC |
|
|
292 | (1) |
|
8.4.5 Block diagram representation of constraint handling in dual-mode predictive control |
|
|
292 | (1) |
|
8.5 Concepts of redundancy, recursive feasibility, admissible sets and autonomous models |
|
|
293 | (18) |
|
8.5.1 Identifying redundant constraints in a set of inequalities |
|
|
294 | (1) |
|
8.5.2 The need for recursive feasibility |
|
|
294 | (2) |
|
8.5.3 Links between recursive feasibility and closed-loop stability |
|
|
296 | (1) |
|
8.5.4 Terminal regions and impacts |
|
|
297 | (1) |
|
8.5.5 Autonomous model formulations for dual-mode predictions |
|
|
297 | (1) |
|
8.5.5.1 Unbiased prediction and constraints with autonomous models |
|
|
298 | (1) |
|
8.5.5.2 Constraint inequalities and autonomous models with deviation variables |
|
|
299 | (1) |
|
8.5.5.3 Core insights with dual-mode predictions and constraint handling |
|
|
300 | (1) |
|
8.5.6 Constraint handling with maximal admissible sets and invariance |
|
|
300 | (1) |
|
8.5.6.1 Maximal admissible set |
|
|
301 | (5) |
|
8.5.6.2 Concepts of invariance and links to the MAS |
|
|
306 | (1) |
|
8.5.6.3 Efficient definition of terminal sets using a MAS |
|
|
307 | (1) |
|
8.5.6.4 Maximal controlled admissible set |
|
|
308 | (2) |
|
8.5.6.5 Properties of invariant sets |
|
|
310 | (1) |
|
8.6 The OMPC/SOMPC algorithm using an MCAS to represent constraint handling |
|
|
311 | (3) |
|
8.6.1 Constraint inequalities for OMPC using an MCAS |
|
|
311 | (2) |
|
8.6.2 The proposed OMPC/SOMPC algorithm |
|
|
313 | (1) |
|
8.6.3 Illustrations of the dual-mode prediction structure in OMPC/SOMPC |
|
|
313 | (1) |
|
8.7 Numerical examples of the SOMPC/OMPMC approach with constraint handling |
|
|
314 | (8) |
|
8.7.1 Constructing invariant constraint sets/MCAS using MATLAB |
|
|
314 | (1) |
|
8.7.2 Closed-loop simulations of constrained OMPC/SOMPC using ompc_simulate_constraints.m: the regulation case |
|
|
315 | (1) |
|
8.7.2.1 Illustration: ompc_constraints_example1.m |
|
|
315 | (1) |
|
8.7.2.2 Illustration: ompc_constraints_example2.m |
|
|
316 | (1) |
|
8.7.2.3 Illustration: ompc_constraints_example3.m |
|
|
316 | (1) |
|
8.7.2.4 Illustration: For OMPC, the optimal choice of input perturbation ck does not change |
|
|
317 | (1) |
|
8.7.3 Closed-loop simulations of constrained OMPC/SOMPC using ompc_simulate_constraintsb.m: the tracking case |
|
|
318 | (1) |
|
8.7.3.1 Illustration: ompc_constraints_example4.m |
|
|
318 | (1) |
|
8.7.3.2 Illustration: ompc_constraints_example5.m |
|
|
319 | (1) |
|
8.7.4 More efficient code for the tracking case and disturbance uncertainty |
|
|
319 | (3) |
|
8.8 Discussion on the impact of cost function and algorithm selection on feasibility |
|
|
322 | (1) |
|
|
323 | (1) |
|
8.10 Summary of MATLAB code supporting constrained OMPC simulation |
|
|
324 | (5) |
|
8.10.1 Code for supporting SOMPC/OMPC with constraint handling over a pre-specified finite horizon |
|
|
325 | (1) |
|
8.10.2 Code for supporting SOMPC/OMPC with constraint handling using maximal admissible sets |
|
|
326 | (3) |
|
|
329 | (6) |
|
|
329 | (1) |
|
|
330 | (4) |
|
9.2.1 Scenario and funding |
|
|
330 | (1) |
|
|
330 | (1) |
|
9.2.3 Constraint handling and feasibility |
|
|
331 | (1) |
|
|
332 | (1) |
|
9.2.5 Sensitivity to uncertainty |
|
|
333 | (1) |
|
|
334 | (1) |
|
A Tutorial and exam questions and case studies |
|
|
335 | (14) |
|
A.1 Typical exam and tutorial questions with minimal computation |
|
|
336 | (6) |
|
|
342 | (1) |
|
A.3 Case study based questions for use with assignments |
|
|
343 | (6) |
|
A.3.1 SISO example case studies |
|
|
344 | (2) |
|
A.3.2 MIMO example case studies |
|
|
346 | (3) |
|
|
349 | (22) |
|
|
349 | (1) |
|
B.2 Guidance for the lecturer/reader |
|
|
350 | (1) |
|
B.3 Simple variations on the basic algorithm |
|
|
350 | (2) |
|
B.3.1 Alternatives to the 2-norm in the performance Index |
|
|
350 | (1) |
|
B.3.2 Alternative parameterisations of the degrees of freedom |
|
|
351 | (1) |
|
B.4 Parametric approaches to solving quadratic programming |
|
|
352 | (3) |
|
B.4.1 Strengths and weaknesses of parametric solutions in brief |
|
|
352 | (1) |
|
B.4.2 Outline of a typical parametric solution |
|
|
353 | (2) |
|
B.5 Prediction mismatch and the link to feedforward design in MPC |
|
|
355 | (3) |
|
B.5.1 Feedforward definition in MPC |
|
|
356 | (1) |
|
B.5.2 Mismatch between predictions and actual behaviour |
|
|
356 | (2) |
|
B.6 Robust MPC: ensuring feasibility in the presence of uncertainty |
|
|
358 | (5) |
|
B.6.1 Constraint softening: hard and soft constraints |
|
|
360 | (1) |
|
B.6.2 Back off and borders |
|
|
361 | (2) |
|
B.7 Invariant sets and predictive control |
|
|
363 | (7) |
|
B.7.1 Link between invariance and stability |
|
|
363 | (1) |
|
B.7.2 Ellipsoidal invariant sets |
|
|
364 | (1) |
|
B.7.3 Maximal volume ellipsoidal sets for constraint satisfaction |
|
|
365 | (1) |
|
B.7.4 Invariance in the presence of uncertainty |
|
|
366 | (1) |
|
B.7.4.1 Disturbance uncertainty and tube MPC |
|
|
367 | (1) |
|
B.7.4.2 Parameter uncertainty and ellipsoidal methods |
|
|
368 | (2) |
|
|
370 | (1) |
|
C Notation, models and useful background |
|
|
371 | (12) |
|
C.1 Guidance for the lecturer/reader |
|
|
371 | (1) |
|
C.2 Notation for linear models |
|
|
372 | (6) |
|
|
372 | (1) |
|
C.2.2 Transfer function models single-input-single-output and multi-input-multi-output |
|
|
373 | (1) |
|
C.2.3 Author's MATLAB notation for SISO transfer function and MFD models |
|
|
374 | (2) |
|
C.2.4 Equivalence between difference equation format and vector format |
|
|
376 | (1) |
|
C.2.5 Step response models |
|
|
376 | (1) |
|
|
376 | (1) |
|
|
377 | (1) |
|
C.3 Minimisation of functions of many variables |
|
|
378 | (2) |
|
C.3.1 Gradient operation and quadratic functions |
|
|
378 | (1) |
|
C.3.2 Finding the minimum of quadratic functions of many variables |
|
|
379 | (1) |
|
|
380 | (3) |
References |
|
383 | (14) |
Index |
|
397 | |