Author Biography |
|
xiii | |
Preface |
|
xv | |
Acknowledgments |
|
xxi | |
|
List of Symbols and Acronyms |
|
|
xxiii | |
About the Companion Website |
|
xxv | |
|
Part I Continuous-time State Feedback Control |
|
|
1 | (126) |
|
1 State Feedback Controller and Observer Design |
|
|
3 | (64) |
|
|
3 | (1) |
|
1.2 Motivation for Going Beyond PID Control |
|
|
4 | (8) |
|
1.3 Basics in State Feedback Control |
|
|
12 | (9) |
|
1.3.1 State Feedback Control |
|
|
12 | (6) |
|
|
18 | (3) |
|
|
21 | (1) |
|
1.4 Pole-assignment Controller |
|
|
21 | (8) |
|
|
21 | (3) |
|
1.4.2 Similarity Transformation for Controller Design |
|
|
24 | (3) |
|
1.4.3 MATLAB Tutorial on Pole-assignment Controller |
|
|
27 | (2) |
|
|
29 | (1) |
|
1.5 Linear Quadratic Regulator (LQR) Design |
|
|
29 | (18) |
|
1.5.1 Motivational Example |
|
|
29 | (3) |
|
1.5.2 Linear Quadratic Regulator Design |
|
|
32 | (2) |
|
1.5.3 Selection of Q and R Matrices |
|
|
34 | (5) |
|
1.5.4 LQR with Prescribed Degree of Stability |
|
|
39 | (7) |
|
|
46 | (1) |
|
|
47 | (11) |
|
1.6.1 Motivational Example for Observer |
|
|
47 | (3) |
|
|
50 | (3) |
|
|
53 | (2) |
|
1.6.4 Duality between Controller and Observer |
|
|
55 | (1) |
|
1.6.5 Observer Implementation |
|
|
56 | (1) |
|
|
57 | (1) |
|
1.7 State Estimate Feedback Control System |
|
|
58 | (3) |
|
1.7.1 State Estimate Feedback Control |
|
|
58 | (1) |
|
1.7.2 Separation Principle |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
61 | (1) |
|
|
62 | (5) |
|
|
63 | (4) |
|
2 Practical Multivariable Controllers in Continuous-time |
|
|
67 | (60) |
|
|
67 | (1) |
|
2.2 Practical Controller I: Integral Action via Controller Design |
|
|
68 | (24) |
|
2.2.1 The Original Control Law |
|
|
68 | (1) |
|
2.2.2 Integrator Windup Scenarios |
|
|
69 | (2) |
|
2.2.3 Proposed Practical Multivariable Controller |
|
|
71 | (3) |
|
2.2.4 Anti-windup Implementation |
|
|
74 | (3) |
|
2.2.5 MATLAB Tutorial on Design and Implementation |
|
|
77 | (8) |
|
2.2.6 Application to Drum Boiler Control |
|
|
85 | (6) |
|
|
91 | (1) |
|
2.3 Practical Controller II: Integral Action via Observer Design |
|
|
92 | (15) |
|
2.3.1 Integral Control via Disturbance Estimation |
|
|
92 | (3) |
|
2.3.2 Anti-windup Mechanism |
|
|
95 | (1) |
|
2.3.3 MATLAB Tutorial on Design and Implementation |
|
|
96 | (6) |
|
2.3.4 Application to Sugar Mill Control |
|
|
102 | (1) |
|
2.3.5 Design for Systems with Known States |
|
|
103 | (3) |
|
|
106 | (1) |
|
2.4 Drive Train Control of a Wind Turbine |
|
|
107 | (14) |
|
2.4.1 Modelling of Wind Turbine's Drive Train |
|
|
107 | (3) |
|
2.4.2 Configuration of The Control System |
|
|
110 | (1) |
|
|
111 | (4) |
|
|
115 | (1) |
|
2.4.5 MATLAB Tutorial on Design Method II |
|
|
116 | (5) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (5) |
|
|
122 | (5) |
|
Part II Discrete-time State Feedback Control |
|
|
127 | (182) |
|
3 Introduction to Discrete-time Systems |
|
|
129 | (32) |
|
|
129 | (1) |
|
3.2 Discretization of Continuous-time Models |
|
|
130 | (12) |
|
3.2.1 Sampling of a Continuous-time Model |
|
|
130 | (3) |
|
3.2.2 Stability of Discrete-time System |
|
|
133 | (1) |
|
3.2.3 Examples of Discrete-time Models from Sampling |
|
|
134 | (7) |
|
|
141 | (1) |
|
3.3 Input and Output Discrete-time Models |
|
|
142 | (7) |
|
3.3.1 Input and Output Models |
|
|
142 | (2) |
|
3.3.2 Finite Impulse Response and Step Response Models |
|
|
144 | (4) |
|
3.3.3 Non-minimal State Space Realization |
|
|
148 | (1) |
|
|
148 | (1) |
|
|
149 | (6) |
|
3.4.1 Z-Transforms for Commonly Used Signals |
|
|
149 | (3) |
|
3.4.2 Z-Transfer Functions |
|
|
152 | (2) |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
156 | (5) |
|
|
156 | (5) |
|
4 Discrete-time State Feedback Control |
|
|
161 | (34) |
|
|
161 | (1) |
|
4.2 Discrete-time State Feedback Control |
|
|
161 | (6) |
|
|
161 | (4) |
|
4.2.2 Controllability in Discrete-time |
|
|
165 | (2) |
|
|
167 | (1) |
|
4.3 Discrete-time Observer Design |
|
|
167 | (6) |
|
4.3.1 Basic Ideas about Discrete-time Observer |
|
|
167 | (4) |
|
4.3.2 Observability in Discrete-time |
|
|
171 | (2) |
|
|
173 | (1) |
|
4.4 Discrete-time Linear Quadratic Regulator (DLQR) |
|
|
173 | (4) |
|
4.4.1 Objective Function for DLQR |
|
|
173 | (1) |
|
|
174 | (2) |
|
4.4.3 Observer Design using DLQR |
|
|
176 | (1) |
|
|
176 | (1) |
|
4.5 Discrete-time LQR with Prescribed Degree of Stability |
|
|
177 | (9) |
|
4.5.1 Basic Ideas about a Prescribed Degree of Stability |
|
|
177 | (3) |
|
|
180 | (6) |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (8) |
|
|
188 | (7) |
|
5 Disturbance Rejection and Reference Tracking via Observer Design |
|
|
195 | (58) |
|
|
195 | (1) |
|
|
195 | (5) |
|
5.2.1 Commonly Encountered Disturbance Signals |
|
|
196 | (3) |
|
5.2.2 State Space Model with Input Disturbance |
|
|
199 | (1) |
|
|
200 | (1) |
|
5.3 Compensation of Input and Output Disturbances in Estimation |
|
|
200 | (14) |
|
5.3.1 Motivational Example |
|
|
200 | (2) |
|
5.3.2 Input Disturbance Observer Design |
|
|
202 | (4) |
|
5.3.3 MATLAB Tutorial for Augmented State Space Model |
|
|
206 | (1) |
|
5.3.4 The Observer Error System |
|
|
207 | (2) |
|
5.3.5 Output Disturbance Observer Design |
|
|
209 | (4) |
|
|
213 | (1) |
|
5.4 Disturbance-Observer-based State Feedback Control |
|
|
214 | (9) |
|
|
214 | (3) |
|
5.4.2 MATLAB Tutorial for Control Implementation |
|
|
217 | (5) |
|
|
222 | (1) |
|
5.5 Analysis of Disturbance-Observer-based Control System |
|
|
223 | (10) |
|
5.5.1 Controller Transfer Function |
|
|
223 | (2) |
|
5.5.2 Disturbance Rejection |
|
|
225 | (2) |
|
|
227 | (1) |
|
|
228 | (4) |
|
|
232 | (1) |
|
5.6 Anti-windup Implementation of the Control Law |
|
|
233 | (9) |
|
5.6.1 Algorithm for Anti-windup Implementation |
|
|
233 | (3) |
|
5.6.2 Heating Furnace Control |
|
|
236 | (3) |
|
5.6.3 Example for Bandlimited Disturbance |
|
|
239 | (2) |
|
|
241 | (1) |
|
|
242 | (1) |
|
|
243 | (10) |
|
|
243 | (10) |
|
6 Disturbance Rejection and Reference Tracking via Control Design |
|
|
253 | (56) |
|
|
253 | (1) |
|
6.2 Embedding Disturbance Model into Controller Design |
|
|
254 | (6) |
|
6.2.1 Formulation of Augmented State Space Model |
|
|
254 | (2) |
|
|
256 | (2) |
|
6.2.3 Controllability and Observability |
|
|
258 | (1) |
|
|
259 | (1) |
|
6.3 Controller and Observer Design |
|
|
260 | (9) |
|
6.3.1 Controller Design and Control Signal Calculation |
|
|
260 | (2) |
|
6.3.2 Adding Reference Signal |
|
|
262 | (1) |
|
6.3.3 Observer Design and Implementation |
|
|
262 | (2) |
|
6.3.4 MATLAB Tutorial for Control Implementation |
|
|
264 | (4) |
|
|
268 | (1) |
|
|
269 | (14) |
|
6.4.1 Reducing Overshoot in Reference Tracking |
|
|
269 | (3) |
|
6.4.2 Anti-windup Implementation |
|
|
272 | (4) |
|
6.4.3 Control System using NMSS Realization |
|
|
276 | (6) |
|
|
282 | (1) |
|
|
283 | (12) |
|
6.5.1 Basic Ideas about Repetitive Control |
|
|
283 | (2) |
|
6.5.2 Determining the Disturbance Model D(z) |
|
|
285 | (5) |
|
6.5.3 Robotic Arm Control |
|
|
290 | (5) |
|
|
295 | (1) |
|
|
295 | (1) |
|
|
296 | (13) |
|
|
296 | (13) |
|
Part III Kalman Filtering |
|
|
309 | (90) |
|
|
311 | (66) |
|
|
311 | (1) |
|
7.2 The Kalman Filter Algorithm |
|
|
312 | (19) |
|
7.2.1 State Space Models in the Kalman Filter |
|
|
312 | (1) |
|
7.2.2 An Intuitive Computational Procedure |
|
|
313 | (2) |
|
7.2.3 Optimization of Kalman Filter Gain |
|
|
315 | (2) |
|
7.2.4 Kalman Filter Examples with MATLAB Tutorials |
|
|
317 | (8) |
|
7.2.5 Compensation of Sensor Bias and Load Disturbance |
|
|
325 | (5) |
|
|
330 | (1) |
|
7.3 The Kalman Filter in Multi-rate Sampling Environment |
|
|
331 | (13) |
|
7.3.1 KF Algorithm for Missing Data Scenarios |
|
|
331 | (2) |
|
7.3.2 Case Studies with MATLAB Tutorial |
|
|
333 | (11) |
|
|
344 | (1) |
|
7.4 The Extended Kalman Filter (EKF) |
|
|
344 | (15) |
|
7.4.1 Linearization in Extended Kalman Filter |
|
|
344 | (4) |
|
7.4.2 The Extended Kalman Filter Algorithm |
|
|
348 | (3) |
|
7.4.3 Case Studies with MATLAB Tutorial |
|
|
351 | (8) |
|
|
359 | (1) |
|
7.5 The Kalman Filter with Fading Memory |
|
|
359 | (5) |
|
7.5.1 The Algorithm for KF with Fading Memory |
|
|
360 | (3) |
|
|
363 | (1) |
|
7.6 Relationship between Kalman Filter and Observer |
|
|
364 | (7) |
|
7.6.1 One-step Kalman Filter Algorithm |
|
|
364 | (1) |
|
7.6.2 Kalman Filter and Observer |
|
|
365 | (5) |
|
|
370 | (1) |
|
|
371 | (1) |
|
|
372 | (5) |
|
|
372 | (5) |
|
8 Addressing Computational Issues in KF |
|
|
377 | (22) |
|
|
377 | (1) |
|
8.2 The Sequential Kalman Filter |
|
|
377 | (11) |
|
8.2.1 Basic Ideas about Sequential Kalman Filter |
|
|
377 | (5) |
|
|
382 | (1) |
|
8.2.3 MATLAB Tutorial for Sequential Kalman Filter |
|
|
383 | (4) |
|
|
387 | (1) |
|
8.3 The Kalman Filter using UDUT Factorization |
|
|
388 | (10) |
|
8.3.1 Gram-Schmidt Orthogonalization Procedure |
|
|
388 | (2) |
|
|
390 | (3) |
|
8.3.3 Sequential Kalman Filter with UDUT Decomposition |
|
|
393 | (2) |
|
|
395 | (3) |
|
|
398 | (1) |
|
|
398 | (1) |
|
|
399 | (1) |
Problems |
|
399 | (4) |
Bibliography |
|
403 | (10) |
Index |
|
413 | |