Data-driven Subspace-based Model
Predictive Control
Noor Azizi Mardi
(Doctor of Philosophy)
2010
RMIT University
Data-driven Subspace-based Model Predictive Control
A thesis submitted in fulfillment of the requirements for the degree of
Doctor of Philosophy
Noor Azizi Mardi
B.A.E.M.
School of Electrical and Computer Engineering
Science, Engineering and Health (SEH) Portfolio
RMIT University
August 2010
Declaration
I certify that except where due acknowledgement has been made, the work is that of
the author alone; the work has not been submitted previously, in whole or in part, to
qualify for any other academic award; the content of the thesis is the result of work which
has been carried out since the official commencement date of the approved research pro-
gram; any editorial work, paid or unpaid, carried out by third party is acknowledged;
and, ethics procedures and guidelines have been followed.
Noor Azizi Mardi
31 August 2010
ii
Acknowledgement
I would like to express my sincere thanks and gratitude to my supervisor, Prof. Liuping Wang
for her guidance, support and inspiration received throughout the candidature. I would like to
also acknowledge and thank my colleagues Dr. Nguyen-Vu Truong, Shan Chai, Hasniza, Ustaz
Razak and Kak Jie who assisted me in many ways. To my family, especially my parents Zaleha
and Mardi, thank you and I will be forever be indebted to all of you for infinitely everything.
And to my beautiful wife Dr. Aeslina, for the faith, love and support in my life.
iii
Contents
Acknowledgement
List of Figures
List of Tables
List of Symbols and Abbreviations
Abstract
1 Introduction
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1
1.2.2
System identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subspace methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Model Predictive Control
. . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4
Subspace-based Model Predictive Control
. . . . . . . . . . . . . . . . .
1.3 Research contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Subspace-based Model Predictive Control
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Subspace-based linear predictors
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
Subspace linear predictor with distinct past and future orders
. . . . .
2.3 Model Predictive Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Subspace-based Model Predictive Control
. . . . . . . . . . . . . . . . . . . . .
2.4.1 Updated cost function . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Predicted output as a function of ∆uNc
2.4.3 Cost function in quadratic form . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
2.4.4 Unconstrained SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 Constrained SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Closed-loop Stability of Subspace-based MPC . . . . . . . . . . . . . . . . . . .
2.5.1 Effects of Experimental Data Length . . . . . . . . . . . . . . . . . . . .
2.5.2 Effects of Frequency Contents of the Experimental Data . . . . . . . . .
iv
iii
vii
xi
xii
1
2
3
4
4
6
9
11
13
16
16
17
33
36
39
39
40
47
48
54
61
63
67
CONTENTS
v
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
3 Subspace linear predictor with data filtering
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Subspace predictors with integrated white noise . . . . . . . . . . . . . . . . . .
3.3 Data filtering for 1st order disturbance model
. . . . . . . . . . . . . . . . . . .
1st order disturbance model . . . . . . . . . . . . . . . . . . . . . . . . .
Subspace linear predictors with 1st order data filtering . . . . . . . . . .
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
3.3.2
4 SMPC with Laguerre Function Parameterization
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Signal representation using Laguerre function . . . . . . . . . . . . . . . . . . .
4.2.1 Laguerre functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Parameterization of ∆uNc with discrete Laguerre functions
. . . . . . .
71
71
72
81
81
83
91
94
94
95
96
98
4.3 SMPC with Laguerre function parameterization (SMPCL) . . . . . . . . . . . .
101
4.3.1 Unconstrained SMPC with Laguerre function parameterization (USMPCL)101
4.3.2 Constrained SMPC with Laguerre function parameterization (CSMPCL) 102
4.3.3
(U/C)SMPCL for multiple-input systems
. . . . . . . . . . . . . . . . .
4.4 Performance analysis of SMPCL . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Unconstrained SMPCL . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Constrained SMPCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.3 Effect of Nc on computation time . . . . . . . . . . . . . . . . . . . . . .
4.4.4 Constrained SMPC with Laguerre parameterization of DC motor: exper-
imental results
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Effects of Laguerre parameters on control
. . . . . . . . . . . . . . . . . . . . .
4.5.1 Effect of scaling factor a . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Effect of order of Laguerre functions NL . . . . . . . . . . . . . . . . . .
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Recursive subspace-based linear predictor
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Givens rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Recursive updating of subspace-based linear predictors . . . . . . . . . . . . . .
5.3.1 Recursive updating of Lw and Lu - conventional method . . . . . . . . .
5.3.2 Efficient recursive updating of subspace linear predictors
. . . . . . . .
5.4
Initial condition for R matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Convergence criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Factors affecting convergence rate
. . . . . . . . . . . . . . . . . . . . .
5.6 Auto-tuning SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
104
106
106
108
111
112
115
116
117
119
121
121
123
131
131
138
143
146
153
155
159
CONTENTS
6 Recursive SMPC for time-varying systems
6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Recursive SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 RSMPC with recursive control law . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Comparison of RSMPC-RCL with conventional MPC . . . . . . . . . .
6.4 RSMPC with variable λ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Conclusions
7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Recommendations for future work . . . . . . . . . . . . . . . . . . . . . . . . .
Appendices
Appendix A Matlab M-files: Chapter 2
A.1 Compute Subspace Predictor Coefficients
. . . . . . . . . . . . . . . . . . . . .
A.2 QR decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Unconstrained SMPC simulation . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4 Unconstrained SMPC Gain Matrices . . . . . . . . . . . . . . . . . . . . . . . .
A.5 Constrained SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.6 Expand constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.7 Get system properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.8 Simulate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Appendix B Matlab M-files: Chapter 3
vi
161
161
163
169
175
180
182
185
185
186
188
189
189
190
191
193
194
197
198
199
200
B.1 Unconstrained SMPC with filtering . . . . . . . . . . . . . . . . . . . . . . . . .
200
Appendix C Matlab M-files: Chapter 4
C.1 Constrained SMPC with Laguerre
. . . . . . . . . . . . . . . . . . . . . . . . .
C.2 Generate Phi matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Appendix D Matlab M-files: Chapter 5
D.1 Efficient recursive updating algorithm . . . . . . . . . . . . . . . . . . . . . . .
D.2 Autotuning SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Appendix E Matlab M-file: Chapter 6
202
202
205
208
208
210
213
E.1 Recursive SMPC for time-varying system . . . . . . . . . . . . . . . . . . . . .
213
Bibliography
218
List of Figures
1.1 Classical and subspace methods in system identification . . . . . . . . . . . . .
2.1
Identification data for DC motor . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Validation of Lw and Lu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Basic concepts in MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Identification data for DC motor with white noise . . . . . . . . . . . . . . . . .
2.5 Unconstrained SMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
Identification data for DC motor with integrated white noise
. . . . . . . . . .
2.7 Unconstrained SMPC using differenced I/O data . . . . . . . . . . . . . . . . .
2.8 Unconstrained SMPC with white noise using different subspace linear predictors
2.9 Unconstrained SMPC with integrated white noise using different subspace linear
predictors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 Constrained SMPC of DC servo . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.11 Permanent Magnet Synchronous (PMS) AC motor. . . . . . . . . . . . . . . . .
2.12 Identification data for PMS motor.
. . . . . . . . . . . . . . . . . . . . . . . . .
2.13 Unconstrained SMPC of PMS motor for various WR . . . . . . . . . . . . . . .
2.14 Unconstrained SMPC of PMS motor for various f
. . . . . . . . . . . . . . . .
2.15 Open-loop response of mechanical system . . . . . . . . . . . . . . . . . . . . .
2.16 Identification data for short (N = 300) and long (N = 3000) data lengths
. . .
2.17 Comparison of actual system step response (solid) to simulated step response
7
33
34
37
50
51
52
53
53
54
58
59
60
61
62
63
64
using subspace predictors with short and long data lengths (dotted)
. . . . . .
65
2.18 Closed loop unconstrained SMPC using short data length; Top plot: setpoint
(dashed) and output (solid); bottom plot: input . . . . . . . . . . . . . . . . . .
66
2.19 Closed loop unconstrained SMPC using long data length; Top plot: setpoint
(dashed) and output (solid); bottom plot: input . . . . . . . . . . . . . . . . . .
2.20 Identification data for non-exciting (a) & (b) and exciting inputs (c) & (d)
. .
2.21 Comparison of actual system step response (solid) to simulated step response
66
67
using subspace predictors with non-exciting and exciting inputs (dotted) . . . .
68
2.22 Closed loop unconstrained SMPC using non-exciting input; Top plot: setpoint
(dashed) and output (solid); bottom plot: input . . . . . . . . . . . . . . . . . .
69
2.23 Closed loop unconstrained SMPC using exciting input; Top plot: setpoint (dashed)
and output (solid); bottom plot: input . . . . . . . . . . . . . . . . . . . . . . .
70
vii