Abstract. Model predictive control (MPC) is a popular controller design technique in the process industry. Conventional MPC uses linear or nonlinear discrete-time models. Recently, we have extended MPC to a class of discrete event systems that can be
Jun 30, 2013 - 2.4.1 Second order RungeâKutta methods . . . . . . . . . . . 38 .... calculator or a computer algebra system to solve some problems numerically ...... The method (2.156) is a two-stage, fourth order implicit RungeâKutta method.
Idea Transcript
NUMERICAL METHODS FOR LINEAR CONTROL SYSTEMS Design and Analysis
BISWA NATH DATTA Department of Mathematical Sciences Northern Illinois University DeKalb, IL 60115
Amsterdam • Boston • Heidelberg • London • New York • Oxford Paris • San Diego • San Francisco • Singapore • Sydney • Tokyo
ELSEVIER ACADEMIC PRESS
CONTENTS Preface
xxiii
Acknowledgments
xxix
About the Author
xxxi
List of Algorithms
xxxiii
Notations and Symbols
xxxvii
CHAPTER 1 INTRODUCTION AND OVERVIEW 1.1 Linear and Numerical Linear Algebra (Chapter 2 and Chapters 3 and 4) 1.2 System Responses (Chapter 5) 1.3 Controllability and Observability problems (Chapter 6) 1.4 Stability and Inertia (Chapter 7) 1.5 Lyapunov, Sylvester, and Algebraic Riccati Equations (Chapters 8 and 13) 1.6 Realization and Identification (Chapter 9) 1.7 Feedback Stabilization and Eigenvalue Assignment (Chapters 10 and 11) 1.8 State Estimation (Chapter 12) 1.9 Internal Balancing and Model Reduction (Chapter 14) 1.10 Nearness to Uncontrollability and Instability (Chapters 6 and 7) and Robust Stability and Stability Radius (Chapters 7 and 10) 1.10.1 Nearness to Uncontrollability and Instability 1.10.2 Robust Stability and Stability Radius (Chapters 7 and 10) 1.11 Sensitivity and Condition Numbers of Control Problems 1.12 Яоо-Control (Chapter 10)
1 2 3 4 5 6 8 9 10 11
12 12 13 13 14
vii
viii
CONTENTS
1.13
PART I
15 15
REVIEW OF LINEAR AND NUMERICAL LINEAR ALGEBRA
CHAPTER 2
CHAPTER
Software for Control Problems References
3
ARE VIEWOl F SOME BASIC CONCEPTS AND RESULTS FROM THEORETICAL LINEAR ALGEBRA 2.1 Introduction 2.2 Orthogonality of Vectors and Subspaces 2.3 Matrices The Characteristic Polynomial, the 2.3.1 Eigenvalues, and the Eigenvectors of a Matrix 2.3.2 Range and Nullspaces 2.3.3 Rank of a Matrix 2.3.4 The Inverse of a Matrix 2.3.5 The Generalized Inverse of a Matrix Similar Matrices 2.3.6 2.3.7 Orthogonal Projection 2.4 Some Special Matrices 2.4.1 Diagonal and Triangular Matrices 2.4.2 Unitary (Orthogonal) Matrix 2.4.3 Permutation Matrix 2.4.4 Hessenberg (Almost Triangular) Matrix 2.4.5 Companion Matrix 2.4.6 Nonderogatory Matrix 2.4.7 The Jordan Canonical Form of a Matrix Positive Definite Matrix 2.4.8 2.4.9 Block Matrices Vector and Matrix Norms 2.5 2.5.1 Vector Norms 2.5.2 Matrix Norms 2.6 Norm Invariant Properties Under Unitary Matrix Multiplication 2.7 Kronecker Product, Kronecker Sum, and Vec Operation 2.8 Chapter Notes and Further Reading References
SOME FUNDAMENTAL TOOLS AND CONCEPTS FROM NUMERICAL LINEAR ALGEBRA 3.1 Introduction
Floating Point Numbers and Errors in Computations 3.2.1 Floating Point Numbers 3.2.2 Rounding Errors 3.2.3 Laws of Floating Point Arithmetic 3.2.4 Catastrophic Cancellation Conditioning, Efficiency, Stability, and Accuracy 3.3.1 Algorithms and Pseudocodes 3.3.2 Solving an Upper Triangular System 3.3.3 Solving a Lower Triangular System 3.3.4 Efficiency of an Algorithm 3.3.5 The Concept of Numerical Stability 3.3.6 Conditioning of the Problem and Perturbation Analysis 3.3.7 Conditioning of the Problem, Stability of the Algorithm, and Accuracy of the Solution 3.3.8 Conditioning of the Linear System and Eigenvalue Problems LU Factorization 3.4.1 LU Factorization using Gaussian Elimination 3.4.2 The Cholesky Factorization 3.4.3 LU Factorization of an Upper Hessenberg Matrix Numerical Solution of the Linear System Ax-b 3.5.1 Solving Ax sä b using the Inverse of A 3.5.2 Solving Ax = b using Gaussian Elimination with Partial Pivoting 3.5.3 Solving a Hessenberg Linear System 3.5.4 Solving AX = В 3.5.5 Finding the Inverse of A 3.5.6 Computing the Determinant of Л 3.5.7 Iterative Refinement The QR Factorization 3.6.1 Householder Matrices 3.6.2 The Householder QR Factorization 3.6.3 Givens Matrices 3.6.4 The QR Factorization Using Givens Rotations 3.6.5 The QR Factorization of a Hessenberg Matrix Using Givens Matrices Orthonormal Bases and Orthogonal Projections Using QR Factorization
The Least-Squares Problem 3.8.1 Solving the Least-Squares Problem Using Normal Equations 3.8.2 Solving the Least-Squares Problem Using QR Factorization The Singular Value Decomposition (SVD) 3.9.1 The Singular Value Decomposition and the Structure of a Matrix 3.9.2 Orthonormal Bases and Orthogonal Projections 3.9.3 The Rank and the Rank-Deficiency of a Matrix 3.9.4 Numerical Rank 3.9.5 Solving the Least-Squares Problem Using the Singular Value Decomposition Summary and Review Chapter Notes and Further Reading References
CANONICAL FORMS OBTAINED VIA ORTHOGONAL TRANSFORMATIONS 4.1 Importance and Significance of Using Orthogonal Transformations 4.2 Hessenberg Reduction of a Matrix 4.2.1 Uniqueness in Hessenberg Reduction: The Implicit Q Theorem 4.3 The Real Schur Form of A: The QR Iteration Method 4.3.1 The Basic QR Iteration 4.3.2 The Hessenberg QR Iteration and Shift of Origin 4.3.3 The Double Shift QR Iteration 4.3.4 Obtaining the Real Schur Form A 4.3.5 The Real Schur Form and Invariant Subspaces 4.3.6 Inverse Iteration 4.4 Computing the Singular Value Decomposition (SVD) 4.5 The Generalized Real Schur Form: The QZ algorithm 4.5.1 Reduction to Hessenberg-Triangular Form 4.5.2 Reduction to the Generalized Real Schur Form
64 65 65 67 68 69 70 72 72 75 78 78
79 79 81 82 83 84 85 85 86 88 90 91 94 95 98
CONTENTS
4.6
Computing of the Eigenvectors of the Pencil
4.7 4.8
Summary and Review Chapter Notes and Further Reading References
A-XB
PART II CHAPTER
CHAPTER
CONTROL SYSTEMS ANALYSIS 5 LINEAR STATE-SPACE MODELS AND SOLUTIONS OF THE STATE EQUATIONS 5.1 Introduction 5.2 State-Space Representations of Control Systems 5.2.1 Continuous-Time Systems 5.2.2 Discrete-Time Systems 5.2.3 Descriptor Systems 5.3 Solutions of a Continuous-Time System: System Responses Some Important Properties of the Matrix eAt 5.3.1 Sensitivity of eAt 5.3.2 Computational Methods for eAt 5.3.3 Comparison of Different Methods for 5.3.4 Computing the Exponential Matrix Evaluating an Integral with the Exponential 5.3.5 Matrix State-Space Solution of the Discrete-Time System 5.4 Transfer Function and Frequency Response 5.5 5.5.1 Transfer Function 5.5.2 The Frequency Response Matrix and its Computation Some Selected Software 5.6 5.6.1 Matlab Control System Toolbox 5.6.2 MATCONTROL 5.6.3 SLICOT 5.6.4 MATRIX* Summary and Review 5.7 Chapter Notes and Further Reading 5.8 Exercises References 6 CONTROLLABILITY, OBSERVABILITY, AND DISTANCE TO UNCONTROLLABILITY 6.1 Introduction
Controllability: Definitions and Basic Results 6.2.1 Controllability of a Continuous-Time System 6.2.2 Controllability of a Discrete-Time System Observability: Definitions and Basic Results 6.3.1 Observability of a Continuous-Time System 6.3.2 Observability of a Discrete-Time System Decompositions of Uncontrollable and Unobservable Systems Controller-and Observer-Canonical Forms Numerical Difficulties with theoretical criteria of controllability and observability A Numerically Effective Test of Controllability A Numerically Effective Test of Observability Distance to an Uncontrollable System 6.9.1 Newton's and the Bisection Methods for Computing the Distance to UncontroUability 6.9.2 The Wicks-DeCarlo Method for Distance to UncontroUability 6.9.3 A Global Minimum Search Algorithm Distance to UncontroUability and the Singular values of the Controllability Matrix Some Selected Software 6.11.1 MATLAB Control System Toolbox 6.11.2 MATCONTROL 6.11.3 CSP-ANM 6.11.4 SLICOT 6.11.5 MATRIX* Summary and Review Chapter Notes and Further Reading Exercises References
STABILITY, INERTIA, AND ROBUST STABILITY 7.1 Introduction 7.2 Stability of a Continuous-time System 7.2.1 Eigenvalue Criterion of Continuous-Time Stability 7.2.2 Continuous-Time Lyapunov Stability Theory 7.2.3 Lyapunov Equations and Controllability and Observability Grammians 7.2.4 Lyapunov Equations and the #2-Norm
Stability of a Discrete-time System 7.3.1 Stability of a Homogeneous Discrete-Time System Some Inertia Theorems 7.4.1 The Sylvester Law of Inertia 7.4.2 The Lyapunov Inertia Theorems Determining the Stability and Inertia of a Nonsymmetric Matrix Distance to an Unstable System Robust Stability The Structured Stability Radius Some Selected Software 7.9.1 MATLAB Control System Toolbox 7.9.2 MATCONTROL 7.9.3 SLICOT Summary and Review Chapter Notes and Further Reading Exercises References
NUMERICAL SOLUTIONS AND CONDITIONING OF LYAPUNOV AND SYLVESTER EQUATIONS 8.1 Introduction 8.2 The Existence and Uniqueness of Solutions 8.2.1 The Sylvester Equation: XA + BX = C 8.2.2 The Lyapunov Equation: XA + ATX = С 8.2.3 The Discrete Lyapunov Equation: ATXA X=С 8.3 Perturbation Analysis and the Condition Numbers 8.3.1 Perturbation Analysis for the Sylvester Equation 8.3.2 The Condition Number of the Sylvester Equation 8.3.3 Perturbation Analysis for the Lyapunov Equation 8.3.4 The Condition Number of the Lyapunov Equation 8.3.5 Sensitivity of the Stable Lyapunov Equation 8.3.6 Sensitivity of the Discrete Lyapunov Equation 8.3.7 Sensitivity of the Stable Discrete Lyapunov Equation
Determining Ill-Conditioning from the Eigenvalues 8.3.9 A Condition Number Estimator for the Sylvester Equation: ATX - XB = С Analytical Methods for the Lyapunov Equations: Explicit Expressions for Solutions Numerical Methods for the Lyapunov and Sylvester Equations 8.5.1 Numerical Instability of Diagonalization, Jordan Canonical Form, and Companion Form Techniques 8.5.2 The Schur Method for the Lyapunov Equation: XA + ArX = С 8.5.3 The Hessenberg-Schur Method for the Sylvester Equation 8.5.4 The Schur Method for the Discrete Lyapunov Equation 8.5.5 Residual and Backward Error in the Schur and Hessenberg-Schur Algorithms 8.5.6 A Hessenberg Method for the Sylvester Equation: AX + XB = C 8.5.7 The Hessenberg-Schur Method for the Discrete Sylvester Equation Direct Computations of the Cholesky Factors of Symmetric Positive Definite Solutions of Lyapunov Equations 8.6.1 Computing the Cholesky Factor of the Positive Definite Solution of the Lyapunov Equation 8.6.2 Computing the Cholesky Factor of the Positive Definite Solution of the Discrete Lyapunov Equation Comparisions of Different Methods and Conclusions Some Selected Software MATLAB Control System Toolbox 8.8.1 8.8.2 MATCONTROL CSP-ANM 8.8.3 8.8.4 SLICOT 8.8.5 MATRIX* LAPACK 8.8.6 Summary and Review Chapter Notes and Further Reading
258 260 262 263
264 265 269 274 276 278 283
284
284
289 293 293 293 293 294 294 295 295 296 297
CONTENTS
Exercises References
PART HI
CONTROL SYSTEMS DESIGN
xv
298 301
305
CHAPTER 9 REALIZATION AND SUBSPACE IDENTIFICATION 9.1 Introduction 9.2 State-Space Realizations of a Transfer Function 9.2.1 Controllable and Observable Realizations 9.2.2 Minimal Realization 9.3 Computing Minimal Realizations from Markov Parameters 9.3.1 Some Basic Properties of the Hankel Matrix of Markov Parameters 9.3.2 An SVD Method for Minimal Realization 9.3.3 A Modified SVD Method for Minimal Realization 9.4 Subspace Identification Algorithms 9.4.1 A Subspace Deterministic Model Identification Algorithm 9.4.2 A Stochastic Subspace Model Identification Algorithm 9.4.3 Continuous-Time System Identification 9.4.4 Frequency-Domain Identification 9.5 Some Selected Software 9.5.1 MATLAB Control System Toolbox 9.5.2 MATCONTROL 9.5.3 CSP-ANM 9.5.4 SLICOT 9.5.5 MATRIX* 9.6 Summary and Review 9.7 Chapter Notes and Further Reading Exercises References
CHAPTER 10 FEEDBACK STABILIZATION, EIGENVALUE ASSIGNMENT, AND OPTIMAL CONTROL 10.1 Introduction 10.2 State-Feedback Stabilization 10.2.1 Stabilizability and Controllability 10.2.2 Stabilization via Lyapunov Equations
343 343 345 346 348
314 315 316 319 324 324
CONTENTS
10.3 10.4
Detectability Eigenvalue and Eigenstructure Assignment Problems 10.4.1 Eigenvalue Assignment by State Feedback 10.4.2 Eigenvalue Assignment by Output Feedback 10.4.3 Eigenstructure Assignment 10.5 The Quadratic Optimization Problems 10.5.1 The Continuous-Time Linear Quadratic Regulator (LQR) Problem 10.5.2 The Discrete-Time Linear Quadratic Regulator Problem 10.6 Яоо-Control Problems 10.6.1 Computing the Яоо-Norm 10.6.2 Яоо-Control Problem: A State-Feedback Case 10.6.3 The Яоо-Control Problem: Output Feedback Case 10.7 The Complex Stability Radius and Riccati Equation 10.8 Some Selected Software 10.8.1 MATLAB Control System Toolbox 10.8.2 MATCONTROL 10.8.3 CSP-ANM 10.8.4 SLICOT 10.8.5 MATRIX* 10.9 Summary and Review 10.10 Chapter Notes and Further Reading Exercises References
CHAPTER 11 NUMERICAL METHODS AND CONDITIONING OF THE EIGENVALUE ASSIGNMENT PROBLEMS 11.1 Introduction 11.2 Numerical Methods for the Single-input Eigenvalue Assignment Problem 11.2.1 A Recursive Algorithm for the Single-Input Problem 11.2.2 An Error Analysis of the Recursive Single-Input Method 11.2.3 The QR and RQ Implementations of Algorithm 11.2.1 11.2.4 Explicit and Implicit RQ Algorithms 11.3 Numerical Methods for the Multi-input Eigenvalue Assignment Problem
A Recursive Multi-Input Eigenvalue Assignment Algorithm 11.3.2 The Explicit QR Algorithm for the Multi-Input EVA Problem 11.3.3 The Schur Method for the Multi-Input Eigenvalue Assignment Problem 11.3.4 Partial Eigenvalue Assignment Problem 11.4 Conditioning of the Feedback Problem 11.4.1 The Single-Input Case 11.4.2 The Multi-Input Case 11.4.3 Absolute and Relative Condition Numbers 11.5 Conditioning of the Closed-loop Eigenvalues 11.6 Robust Eigenvalue Assignment 11.6.1 Measures of Sensitivity 11.6.2 Statement and Existence of Solution of the Robust Eigenvalue Assignment Problem 11.6.3 A Solution Technique for the Robust Eigenvalue Assignment Problem 11.7 Comparison of Efficiency and Stability: the Single-input EVA Problem 11.8 Comparison of Efficiency and Stability: the Multi-input EVA Problem 11.9 Comparative Discussion of Various Methods and Recommendation 11.10 Some Selected Software 11.10.1 MATLAB Control System Toolbox 11.10.2 MATCONTROL 11.10.3 CSP-ANM 11.10.4 SLICOT 11.10.5 MATRIX* 11.10.6 POLEPACK 11.11 Summary and Review 11.12 Chapter Notes and Further Reading Exercises References
xvii
11.3.1
CHAPTER 12 STATE ESTIMATION: OBSERVER AND THE KALMAN FILTER 12.1 Introduction 12.2 State Estimation via Eigenvalue Assignment 12.3 State Estimation via Sylvester Equation 12.4 Reduced-order State Estimation
Reduced-Order State Estimation via Eigenvalue Assignment 12.4.2 Reduced-Order State Estimation via Sylvester-Observer Equation Combined State Feedback and Observer Design Characterization of Nonsingular Solutions of the Sylvester Equation Numerical Solutions of the Sylvester-Observer Equation 12.7.1 A Recursive Method for the Hessenberg Sylvester-Observer Equation 12.7.2 A Recursive Block-Triangular Algorithm for the Hessenberg Sylvester-Observer Equation Numerical Solutions of a Constrained Sylvesterobserver Equation Optimal State Estimation: The Kaiman Filter The Linear Quadratic Gaussian Problem Some Selected Software 12.11.1 MATLAB Control System Toolbox 12.11.2 MATCONTROL 12.11.3 CSP-ANM 12.11.4 SLICOT 12.11.5 MATRIX* Summary and Review Chapter Notes and Further Reading Exercises References
13 NUMERICAL SOLUTIONS AND CONDITIONING OF ALGEBRAIC RICCATI EQUATIONS 13.1 Introduction 13.2 The Existence and Uniqueness of the Stabilizing Solution of the CARE 13.3 The Existence and Uniqueness of the Stabilizing Solution of the DARE 13.4 Conditioning of the Riccati Equations 13.4.1 Conditioning of the CARE 13.4.2 Conditioning of the DARE 13.5 Computational Methods for Riccati Equations 13.5.1 The Eigenvector and Schur Vector Methods
The Generalized Eigenvector and Schur Vector Methods 550 13.5.3 The Matrix Sign Function Methods 560 13.5.4 Newton's Methods 566 13.6 The Schur and Inverse-Free Generalized Schur Methods for the Descriptor Riccati Equations 579 13.6.1 The Generalized Schur Method for the DCARE 580 13.6.2 The Inverse-Free Generalized Schur Method for the DCARE 581 13.6.3 The Inverse-Free Generalized Schur Method 581 for the DDARE 13.7 Conclusions and Table of Comparisons 581 13.8 Some Selected Software 583 13.8.1 MATLAB Control System Toolbox 583 13.8.2 MATCONTROL 583 13.8.3 CSP-ANM 584 13.8.4 SLICOT 584 13.8.5 MATRIX* 585 13.9 Summary and Review 585 13.10 Chapter Notes and Further Reading 588 Exercises 591 References 593 CHAPTER
14 INTERNAL BALANCING AND MODEL REDUCTION 14.1 Introduction 14.2 Internal Balancing for Continuous-time Systems 14.2.1 Internal Balancing of a Minimal Realization (MR) 14.2.2 Internal Balancing of a Nonminimal Realization 14.3 Internal Balancing for Discrete-time Systems 14.4 Model Reduction 14.4.1 Model Reduction via Balanced Truncation 14.4.2 The Schur Method for Model Reduction 14.4.3 A Balancing-Free Square-Root Method for Model Reduction 14.5 Hankel-Norm Approximations 14.5.1 A Characterization of All Solutions to the optional Hankel-Norm Approximation 14.6 Model Reduction of an Unstable System
Frequency-Weighted Model Reduction Summary and Comparisons of Model Reduction Procedures 14.9 Some Selected Software 14.9.1 MATLAB Control System Toolbox 14.9.2 MATCONTROL 14.9.3 CSP-ANM 14.9.4 SLICOT 14.9.5 MATRIX* 14.10 Summary and Review 14.11 Chapter Notes and Further Reading Exercises References
14.7 14.8
PART IV
SPECIAL TOPICS
CHAPTER 15 LARGE-SCALE MATRIX COMPUTATIONS IN CONTROL: KRYLOV SUBSPACE METHODS 15.1 Introduction 15.2 The Arnoldi and Block Arnoldi Methods 15.2.1 The Scalar Arnoldi Method 15.2.2 The Block Arnoldi Method 15.2.3 The Lanczos and Block Lanczos Methods 15.3 Scopes of using the Krylov Subspace Methods in Control 15.4 Arnoldi Methods for Lyapunov, Sylvester, and Algebraic Riccati Equations 15.5 Arnoldi Method for Partial Eigenvalue Assignment 15.6 Lanczos and Arnoldi Methods for Model Reduction 15.6.1 Lanczos Methods for Model Reduction 15.6.2 Block Lanczos and Band Lanczos Methods for MIMO Model Reduction 15.6.3 An Arnoldi Method for SISO Model Reduction 15.7 Chapter Notes and Further Reading Research Problems References APPENDIX A SOME EXISTING SOFTWARE FOR CONTROL SYSTEMS DESIGN AND ANALYSIS A.l MATLAB CONTROL SYSTEM TOOLBOX
MATCONTROL Control System Professional- -Advanced Numerical Methods (CSP-ANM) SLICOT MATRIX* System Identification Software A.6.1 MATLAB System Identification Toolbox A.6.2 Xmath Interactive System Identification Module, Part-2 A.6.3 ADAPT* References
В MATCONTROL AND LISTING OF MATCONTROL FILES B.l About Matcontrol Chapterwise Listing of Matcontrol Files B.2 C CASE STUDY: CONTROL OF A 9-STATE AMMONIA REACTOR Introduction C.l C.2 Testing the controllability C.3 Testing the Observability C.4 Testing the Stability Lyapunov Stabilization C.5 C.6 Pole-Placement Design C.7 The LQR and LQG Designs C.8 State-Estimation(observer): Kaiman estimator versus Sylvester Estimator System Identification and Model Reduction C.9 References