Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina...

252
Fault Tolerant Control of Large Flexible Space Structures under Sensor and Actuator Failures by Samuel Tien-Chieh Huang A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Electrical & Computer Engineering University of Toronto Copyright c 2013 by Samuel Tien-Chieh Huang

Transcript of Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina...

Page 1: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Fault Tolerant Control of Large Flexible SpaceStructures under Sensor and Actuator Failures

by

Samuel Tien-Chieh Huang

A thesis submitted in conformity with the requirementsfor the degree of Doctor of Philosophy

Graduate Department of Electrical & Computer EngineeringUniversity of Toronto

Copyright c© 2013 by Samuel Tien-Chieh Huang

Page 2: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Abstract

Fault Tolerant Control of Large Flexible Space Structures under Sensor and Actuator

Failures

Samuel Tien-Chieh Huang

Doctor of Philosophy

Graduate Department of Electrical & Computer Engineering

University of Toronto

2013

In this thesis, we study fault tolerant control (FTC) for the decentralized robust ser-

vomechanism problem (DRSP) of a colocated large flexible space structure (LFSS) under

sensor and actuator failures (SAF). The control objective is to devise a decentralized con-

troller that maintains the stability of the LFSS, tracks a constant reference for healthy

outputs, regulates against an unknown constant disturbance for healthy outputs, and is ro-

bust against parametric uncertainties, so that “spillover effects” do not occur. Two FTC

frameworks are considered: An active FTC framework that assumes SAF are known, and

a passive FTC framework for which SAF are unknown. The active FTC framework ex-

tends existing work on DRSP of a nominal LFSS, and applies a PID controller that has

fault-dependent adjustments. Necessary and sufficient conditions for a solution to exist

are determined, notably an easy-to-test rank condition. For the passive FTC framework,

a PD controller that stabilizes an LFSS under unknown SAF is found. Although perfect

tracking and regulation are not attained under the PD controller, by applying high gains,

the errors for healthy outputs can be reduced to any desired level. However, outputs with

failed sensors and healthy actuators can reach undesirably high magnitude under high

gains. To improve performance under low gains, insights on steady-state outputs are

applied to develop a feed-forward control that has good performance in tracking, but not

regulation. Further analysis on the PD controller reveals a method to diagnose SAF using

ii

Page 3: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

steady-state outputs. As a result, the PD controller and PID controller are found to have

complementary advantages, leading to an 3-stage integrated FTC procedure. First, the

PD controller can stabilize the LFSS under unknown SAF (passive FTC). Next, fault

diagnosis is performed while the LFSS is stabilized. Finally, a reconfigured PID con-

troller applying diagnosed SAF enables healthy outputs to meet control objectives (active

FTC). Three examples, including a benchmark space platform with 200 states obtained

by finite-element analysis, are used to illustrate the results throughout this thesis.

iii

Page 4: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

To my parents

iv

Page 5: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Acknowledgements

First and foremost, I’d like to express my gratitude to my thesis supervisors: Prof.

Edward Davison and Prof. Raymond Kwong. Your mentorship, encouragement, and

inspiration made this thesis possible. I truly appreciate your gentle and skillful guidance;

you gave me much freedom to explore diverse ideas, and yet got me back on track when

focus is needed most. I look forward to continuing our collaboration in the future.

I’d like to extend my gratitude to the members of my supervision and examination

committee: Prof. Bruce Francis, Prof. Lacra Pavel, and Prof. Manfredi Maggiore, and

to my external examiner: Prof. Jin Jiang. Your suggestions have greatly improved the

quality of this thesis, and your challenges made my final oral examination engaging and

memorable. I also thank Prof. Peter Lehn and Prof. Ron Hofmann for serving as the

committee chair in my departmental examination and final oral examination, respectively.

I’d like to thank Prof. Murray Wonham and Prof. Mireille Broucke in the Systems

Control Group for helping me develop the mathematical skill sets crucial to my research.

I am grateful for the generous financial support from the Edward S. Roger Sr. Depart-

ment of Electrical & Computer Engineering throughout my graduate study, and from the

Ontario Graduate Scholarship Program in my final year.

My experience as a graduate student would have been incomplete without the won-

derful people I’ve met. I’d like to thank my friends from ACM programming competition,

Engineering Science, Google Inc., Hart House Singers, physics colloquiums, the Systems

Control Group, and Varsity Fencing, for shared adventures and fond memories. In partic-

ular, I’d like to acknowledge my friends who are completing, or have completed a Ph.D.

program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy,

Eric Kopp, Karla Kvaternik, Simon Lam, Andriy Mnih, Edoardo Serpelloni, Alexander

Smith, Jimmy Tsai, Zheng Wang, Claire Xu, and RenYuan Zhang. Thank you for your

kind comradery in this journey of discovery.

Special thanks to my long-time friends: Henry Seeto, for the untimely distractions

and timely words of wisdom, and MingYao Ding, for being an exemplary host and great

listener whenever I visit Silicon Valley.

Words can hardly express my gratitude to my parents. Thank you for bring me to

this world, your sacrifices, and your unwavering dedication to my upbringing. Last, but

not least, I’d like to thank my sister Teresa Su-Yang and my brother Curtis Su-Tsun, for

the advices, companionship, and laughter in the years past and the years to come.

v

Page 6: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Table of Contents

List of Tables x

List of Figures xi

List of Symbols xv

List of Acronyms and Abbreviations xix

1 Introduction 1

1.1 Definitions and Problem Statement . . . . . . . . . . . . . . . . . . . . . 2

1.1.1 Large Flexible Space Structure . . . . . . . . . . . . . . . . . . . 2

1.1.2 Decentralized Robust Servomechanism Problem . . . . . . . . . . 4

1.1.3 Fault Tolerant Control . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.4 Sensor and/or Actuator Failures . . . . . . . . . . . . . . . . . . . 7

1.1.5 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Background 18

2.1 Mathematical Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1.1 Colons in Logical Expressions . . . . . . . . . . . . . . . . . . . . 18

2.1.2 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.3 Vectors and Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.4 Special Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2 Large Flexible Space Structures (LFSS) . . . . . . . . . . . . . . . . . . . 22

2.2.1 The Colocated LFSS Model in Standard Form . . . . . . . . . . . 23

vi

Page 7: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

2.2.2 The Linear Mechanical Model . . . . . . . . . . . . . . . . . . . . 27

2.2.3 Transformation to Modal Representation . . . . . . . . . . . . . . 31

2.2.4 Spillover Effects and Sensor-Actuator Colocation . . . . . . . . . 34

2.3 Decentralized Robust Servomechanism Problem of the LFSS (DRSP) . . 38

2.3.1 Decentralized Control of Colocated LFSS . . . . . . . . . . . . . . 38

2.3.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4 Fault Tolerant Control (FTC) of the LFSS . . . . . . . . . . . . . . . . . 42

2.4.1 Sensor and/or Actuator Failures . . . . . . . . . . . . . . . . . . . 43

2.4.2 The LFSS Model with Failure (LFSSF) . . . . . . . . . . . . . . . 47

2.4.3 Fault Diagnosis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Active FTC of LFSS using a PID Controller 51

3.1 The Nominal Closed Loop System . . . . . . . . . . . . . . . . . . . . . . 52

3.1.1 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.1.2 Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.2 Decentralized Robust Servomechanism Problem for LFSS under Failure

(DRSPF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.2.1 The Effect of Failures . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.2.2 Assumptions on Failures . . . . . . . . . . . . . . . . . . . . . . . 56

3.2.3 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.3 Fault Accommodation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.3.1 Controller Adjustments . . . . . . . . . . . . . . . . . . . . . . . . 58

3.3.2 The LFSSF Closed Loop System under DCtrlFA (CLSF) . . . . . . . 60

3.3.3 Reduced LFSS Closed Loop System with Failure . . . . . . . . . . 62

3.3.4 Reduced Colocated LFSS Model . . . . . . . . . . . . . . . . . . . 65

3.3.5 Reducing the DRSPF to the DRSP . . . . . . . . . . . . . . . . . . 67

3.3.6 Existence of Solution to the DRSPF using the DCtrlFA . . . . . . . 69

3.3.7 Relaxing Diagnosis of Actuator Failures by Choosing Diagonal Gains 70

3.4 Steady-State Output for the CLSF . . . . . . . . . . . . . . . . . . . . . . 72

3.4.1 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.4.2 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.4.3 Applications to Tracking Recovery . . . . . . . . . . . . . . . . . 76

3.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

vii

Page 8: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

4 Passive FTC of LFSS using a PD Controller 86

4.1 The Good Approximate Decentralized Robust Servomechanism Problem

for an LFSS under Failure (DRSPFGA) . . . . . . . . . . . . . . . . . . . . 87

4.1.1 Motivation: Integrator under Unknown Failures . . . . . . . . . . 87

4.1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.2 The Decentralized Proportional Derivative Controller (DCtrlPD) . . . . . 89

4.2.1 PD Controller for the LFSSF and the Closed Loop System . . . . 89

4.2.2 Stability of the Closed Loop System . . . . . . . . . . . . . . . . . 91

4.3 Steady-State Output for the CLSFPD . . . . . . . . . . . . . . . . . . . . . 94

4.3.1 Main Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

4.3.2 Auxiliary Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.4 Solving the DRSPFGA with DCtrlPD . . . . . . . . . . . . . . . . . . . . . . 100

4.4.1 Asymptotic Behaviour for Sref and Sw under Large Gains . . . . 100

4.4.2 Main Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.5 DCtrlPD with Feed-Forward Adjustment (DCtrlFFPD) . . . . . . . . . . . . . 108

4.5.1 The Controller for the Nominal LFSS . . . . . . . . . . . . . . . . 108

4.5.2 Special Case of Rigid Body Outputs as References . . . . . . . . . 110

4.5.3 Effect of Sensor and Actuator Failures . . . . . . . . . . . . . . . 111

4.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

5 Integrating the PID and the PD Controllers 120

5.1 Fault Diagnosis using the PD Controller . . . . . . . . . . . . . . . . . . 120

5.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

5.1.2 Extracting [FySref ] from Output Measurements . . . . . . . . . . 123

5.1.3 Main Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

5.1.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.2 Linear Final Value Extrapolation . . . . . . . . . . . . . . . . . . . . . . 131

5.2.1 Problem Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

5.2.2 Signal Processing Basics . . . . . . . . . . . . . . . . . . . . . . . 134

5.2.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

5.2.4 Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

5.2.5 Simulations and Practical Notes . . . . . . . . . . . . . . . . . . . 144

5.3 Integrating the PID and PD Controllers . . . . . . . . . . . . . . . . . . 149

5.3.1 Unifying the PID and PD controllers . . . . . . . . . . . . . . . . 150

viii

Page 9: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

5.3.2 Integrated Fault Diagnosis and Fault Accommodation . . . . . . . 152

5.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

6 Conclusions and Future Work 165

6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

6.2 Summaries of Chapters and Discussion . . . . . . . . . . . . . . . . . . . 168

6.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6.3.1 General Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6.3.2 Specific Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 173

A Mathematical Details 176

A.1 Linear Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

A.1.1 Matrix Inverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

A.1.2 Basic Properties of Positive Definite and Positive Semi-Definite

Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

A.1.3 Matrix Decomposition and Transformation . . . . . . . . . . . . . 180

A.1.4 Additional Properties of Positive Definite Matrices . . . . . . . . 181

A.1.5 Asymptotic Stability of Mass-Damper-Spring Systems . . . . . . . 182

A.2 The Rigid Body Rank Test . . . . . . . . . . . . . . . . . . . . . . . . . . 184

A.3 Steady-State Output for the CLSFPD: Details . . . . . . . . . . . . . . . . 186

A.3.1 Simplifying Steady-State Reference Gain Matrix . . . . . . . . . . 186

A.3.2 Simplifying Steady-State Disturbance Gain Matrix . . . . . . . . 189

A.3.3 Additional Results and Insights . . . . . . . . . . . . . . . . . . . 191

B Specification and Derivation of LFSS Examples 197

B.1 LFSS Benchmark A: 1-D System . . . . . . . . . . . . . . . . . . . . . . 197

B.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

B.1.2 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

B.1.3 Parameters Choices . . . . . . . . . . . . . . . . . . . . . . . . . . 199

B.1.4 The Model (Summary) . . . . . . . . . . . . . . . . . . . . . . . . 200

B.2 LFSS Benchmark B: 4-Component System . . . . . . . . . . . . . . . . . 200

B.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

B.2.2 The Model (Summary) . . . . . . . . . . . . . . . . . . . . . . . . 202

B.3 LFSS Benchmark C: Purdue Space Platform . . . . . . . . . . . . . . . . 203

B.3.1 High Level Description . . . . . . . . . . . . . . . . . . . . . . . . 203

ix

Page 10: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

B.3.2 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

B.3.3 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

B.3.4 Support Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

B.3.5 The Model (Summary) . . . . . . . . . . . . . . . . . . . . . . . . 225

Bibliography 226

x

Page 11: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

List of Tables

1.1 Control challenges encountered in performing FTC of LFSS. . . . . . . . 9

2.1 Basic constant vectors and matrices. . . . . . . . . . . . . . . . . . . . . 20

2.2 Basic matrix operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Definitions of special matrices. . . . . . . . . . . . . . . . . . . . . . . . . 21

2.4 Local signals and their aggregated versions. . . . . . . . . . . . . . . . . . 39

2.5 Specifying various failure-related subsets of y using Fy, Fu and F . . . . 46

2.6 List of signals in LFSSF. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.1 Closed loop eigenvalues in the example using LFSS Benchmark A. . . . . 78

3.2 Various failure scenarios in the example using LFSS Benchmark A. . . . 80

3.3 Various failure scenarios in the example using LFSS Benchmark B. . . . 82

3.4 Various failure scenarios in the example using LFSS Benchmark C. . . . 84

5.1 Diagonal components of [FySref ] for different cases of F . . . . . . . . . . 129

5.2 Transition conditions for DCtrlU operation modes to perform FTC of the

LFSSF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

6.1 Summary of how our FTC schemes satisfy the DRSPF control objectives. 167

xi

Page 12: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

List of Figures

1.1 Modal decomposition and modal truncation of a flexible structure specified

by 1-D Euler-Bernoulli beam [15] (with exaggerated scaling). . . . . . . . 3

2.1 Block diagram of the colocated LFSS model (LFSS). . . . . . . . . . . . . 24

3.1 An LFSS with a generic decentralized controller. . . . . . . . . . . . . . . 53

3.2 An LFSSF with a decentralized controller. . . . . . . . . . . . . . . . . . . 55

3.3 LFSS Benchmark A controlled by a DCtrl, with a failure occurs at t = 50 s

(Dashed lines depict the nominal case). . . . . . . . . . . . . . . . . . . . 56

3.4 The structure of a decentralized colocated controller [32]. . . . . . . . . . 59

3.5 An LFSSF combined with a DCtrlFA results in a CLSF. . . . . . . . . . . . 61

3.6 An LFSSF combined with a colocated controller. . . . . . . . . . . . . . . 64

3.7 Interrelationships among systems defined to solve the DRSPF. . . . . . . 65

3.8 A second perspective of the system in Figure 3.6. . . . . . . . . . . . . . 67

3.9 Step responses of LFSS Benchmark A CLSF with actuator failure in eT1u

at t = 50 s (Dashed lines depict nominal case). . . . . . . . . . . . . . . . 79

3.10 LFSS Benchmark A under control by the DCtrlFA, with a failure at t = 50 s

(Dashed lines depict nominal case). . . . . . . . . . . . . . . . . . . . . . 81

3.11 Step responses of LFSS Benchmark B CLSF with actuator failure in eT1u

at t = 10 s (Dashed lines depict nominal case). . . . . . . . . . . . . . . . 83

3.12 Step responses of LFSS Benchmark C CLSF with actuator failure in eT1u

at t = 1,000 s (Dashed lines depict nominal case). . . . . . . . . . . . . . 85

3.13 Various ways to place 4 additional colocated sensors/actuators in LFSS

Benchmark C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.1 Step responses of LFSS Benchmark A CLSFPD with actuator failure in eT

2u. 115

xii

Page 13: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

4.2 Step responses of LFSS Benchmark A CLSFPD with sensor failure in eT

3 v

(Dashed lines: low gain; Solid lines: high gain). . . . . . . . . . . . . . . 117

4.3 Step responses of LFSS Benchmark C CLSFPD with sensor failure in eT

1 y. . 119

5.1 Using an FIR filter to extrapolate the final value of y[k]. . . . . . . . . . 136

5.2 Signal before and after FIR filter to extrapolate the final value. . . . . . 145

5.3 Effects of adjusting p in final value extrapolation. . . . . . . . . . . . . . 146

5.4 Effects of adjusting p and v in final value extrapolation. . . . . . . . . . . 146

5.5 Sample signal with more poles. . . . . . . . . . . . . . . . . . . . . . . . 147

5.6 The results of applying computed filter to y[k]. . . . . . . . . . . . . . . . 148

5.7 The results of applying computed filter to y[k] with noise. . . . . . . . . 148

5.8 y(t) for nominal system under PID controller, then switching to PD con-

troller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.9 y(t) from t = 0 to after SAF, where the LFSSF remains in PD control

while measuring Fyy0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.10 y(t) during steady-state experiments to measure Fyy1, . . . , Fyy5. . . . . 158

5.11 y(t) after fault-adjusted PD controller is applied. . . . . . . . . . . . . . 159

5.12 y(t) after fault-adjusted PID controller is applied. . . . . . . . . . . . . . 160

5.13 y(t) from t = 0 to after SAF, where the LFSSF remains in PD control

while determining Fyy0 by applying final value extrapolation. . . . . . . 161

5.14 Filtered ym(t) from the experiment to extrapolate Fyy0. . . . . . . . . . 161

5.15 y(t) during steady-state experiments to extrapolate Fyy1, . . . , Fyy5. . . 162

5.16 Filtered ym(t) from the experiment to obtain Fyy1, . . . , Fyy5. . . . . . . 162

5.17 y(t) after fault-adjusted PD controller is applied. . . . . . . . . . . . . . 163

5.18 y(t) after fault-adjusted PID controller is applied. . . . . . . . . . . . . . 163

B.1 LFSS Benchmark A: 1-D System. . . . . . . . . . . . . . . . . . . . . . . 198

B.2 LFSS Benchmark B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

B.3 LFSS Benchmark C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

B.4 Dividing XY into Nx ×Ny rectangular elements. . . . . . . . . . . . . . 207

B.5 Plate ordering of states in w for Nx = Ny = 2. . . . . . . . . . . . . . . . 216

B.6 Plot of frequencies listed in [27] and computed in our simulation. . . . . . 221

B.7 Comparing the first 100 modal frequencies for simulations with different

number of elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

xiii

Page 14: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

B.8 Comparing modal frequencies 3 to 13, using 4× 4 versus 16× 16 element

simulations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

B.9 0-level curves of various flexible mode shapes from our simulation. . . . . 223

xiv

Page 15: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

List of Symbols

Generic Mathematics

Symbol Meaning (page reference)

N Natural numbers (19)

N0 Whole numbers (19)

N Integers (19)

R Real numbers (19)

C Complex numbers (19)

(m,n)Z / (a, b)R Open integer / real interval (19)

[m,n)Z / [a, b)R (Lower) Semi-open integer / real interval (19)

(m,n]Z / (a, b]R (Upper) Semi-open integer / real interval (19)

[m,n]Z / [a, b]R Closed integer / real interval (19)

<(·) Real part of a complex number (19)

=(·) Imaginary part of a complex number (19)

σ(·) Set of eigenvalues of a matrix (21)

(·) Complex conjugate (19)

C− Open left half complex plane (19)

C+Closed right half complex plane (19)

0m Zero vector, length-m (20)

1m Constant one vector, length-m (20)

ek The k-th Euclidean vector (20)

0m,n The m× n zero matrix (20)

Im The m×m identity matrix (20)

δi,j Kronecker delta (20)

GLn The set of invertible matrices in Rn×n (21)

HURn The set of Hurwitz stable matrices in Rn×n (21)

SYMn The set of symmetric matrices in Rn×n (21)

UT RIn The set of upper-triangular matrices in Rn×n (21)

LT RIn The set of lower-triangular matrices in Rn×n (21)

xv

Page 16: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

On The set of orthogonal matrices in Rn×n (21)

PDn The set of positive definite matrices in Rn×n (21)

PSDn The set of positive semi-definite matrices in Rn×n (21)

DIAGn The set of diagonal matrices in Rn×n (21)

DIAGn0,1 The set of binary diagonal matrices (22)

(·)T Matrix transpose (21)

[A1,A2] Horizontal concatenation of matrices (21)

[A1; A2] Vertical concatenation of matrices (21)

Z · Z-transform (134)

R[z−1] Set of all finite real polynomials in z−1 (135)

deg Degree of a polynomial in R[z−1] (135)

Large Flexible Space Structures

Symbol Meaning (page reference)

n Number of displacement states in the given LFSS (23)

m Number of colocated sensors/actuators in the given LFSS (23)

q Number of disturbance sources in the given LFSS (23)

n Number of rigid body modes in the given LFSS (25, 28)

M0 Generalized inertia matrix (27)

D0 Generalized damping matrix (27)

K0 Generalized stiffness matrix (27)

Λ0 Mechanical input matrix (27)

Ef0 Mechanical input disturbance force matrix (27)

A LFSS dynamics matrix (24)

B LFSS input matrix (24)

C LFSS output matrix (24)

E LFSS input disturbance matrix (24)

F Output disturbance matrix (26)

Ω2 Modal frequency matrix (25)

∆ Modal damping matrix (25)

L Colocated modal input/output matrix (25)

Ω2 Flexible body modal frequency matrix (26)

∆ Flexible body modal damping matrix (26)

L Rigid body model input/output matrix (25)

L Flexible body input/output matrix (25)

Ef Input disturbance force matrix (26)

ξ Generalized displacement (27)

xvi

Page 17: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

d Modal displacement (47)

x Modal state (47)

u Actuator input (47)

y Physical output (47)

ym Measured output (47)

yref Tracking reference (47)

w Disturbance (47)

e Tracking error (47)

Controllers

Symbol Meaning (page reference)

N Number of local controllers (38)

S1, . . . ,SN Local controller agents (38)

KPi Proportional gain matrix for local controller (42)

KDi Derivative gain matrix for local controller (42)

KIi Integrao gain matrix for local controller (42)

KP/Di KP

i and/or KDi (90)

KP/D/Ii KP

i , KDi , and/or KI

i (42)

ηi Local integral state (42)

KP Combined proportional gain matrix (42)

KD Combined derivative gain matrix (42)

KI Combined integral gain matrix (42)

KP/D KP and/or KD (90)

KP/D/I KP, KD, and/or KI (42)

η Combined integral state (42)

ε Tuning factor for integral control (42)

ε? Supremum for ε in Theorem 2.2 (42)

Fyi Local sensor failure matrix (43)

Fui Local actuator failure matrix (44)

Fi Local combined failure matrix (45)

Fy Sensor failure matrix (45)

Fu Actuator failure matrix (45)

F Combined failure matrix (45)

Keff Effective modal stiffness matrix (60)

Deff Effective modal damping matrix (60)

A CLS dynamics matrix (53)

Bref CLS reference input matrix (53)

xvii

Page 18: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bw CLS disturbance input matrix (53)

C CLS output matrix (53)

AF CLSF dynamics matrix (61)

BrefF CLSF reference input matrix (61)

BwF CLSF disturbance input matrix (61)

m? Number of healthy outputs (62)

R Fault reduction matrix (62)

L? Reduced modal input/output matrix (62)

F? Reduced output disturbance matrix (62)

KP? Combined proportional gain matrix for reduced system (62)

KD? Combined derivative gain matrix for reduced system (62)

KI? Combined integral gain matrix for reduced system (62)

KP?/D?/I? KP?, KD?, and/or KI? (62)

A?F Red(CLSF) dynamics matrix (63)

Bref?F Red(CLSF) reference input matrix (63)

Bw?F Red(CLSF) disturbance input matrix (63)

C?F Red(CLSF) output matrix (63)

y Steady-state physical output (72)

e Steady-state tracking error (110)

yrin Reference input (dummy variable) (108

T ref PID steady-state output reference gain matrix (73)

T w PID steady-state output disturbance gain matrix (73)

Sref PD steady-state output reference gain matrix (95)

Sw PD steady-state output disturbance gain matrix (95)

Γ PD reference-to-output characteristic matrix (97, 189)

Υ PD disturbance-to-output characteristic matrix (97, 191)

s(t) Integrator enable signal (150)

N (t) Sensor-actuator pair enable signal (150)

xviii

Page 19: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

List of Acronyms and Abbreviations

Acronyms

Abbreviation Meaning (page reference)

p.d. Positive Definite (21)

p.s.d. Positive Semi-Definite (21)

PID Proportional-Integral-Derivative (42)

PD Proportional and Derivative (88)

LFSS colocated Large Flexible Space Structure (2)

SAF Sensor and/or Actuator Failure(s) (43)

FTC Fault Tolerant Control (5)

FIR Finite Impulse Response (136)

IMM Interacting Multiple Model (14)

EA Eigenstructure Assignment (13)

FEM Finite Element Method (29)

Technical Abbreviations (for Systems, Controllers, or Problems)

Abbreviation Meaning (page reference)

LFSS LFSS model in standard form (24)

DRSP Decentralized robust servomechanism problem for the LFSS (40)

DCtrl Decentralized tuning PID Controller (42)

CLS The nominal closed loop system (52)

LFSSF The LFSS model under SAF (47)

DRSPF Decentralized robust servomechanism problem for the LFSSF

(57)

DCtrlFA Fault-accommodating decentralized tuning PID controller (59)

CLSF LFSSF closed loop system under DCtrlFA (61)

xix

Page 20: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

DRSPFGA Good approximate DRSP for an LFSSF (88)

DCtrlPD Decentralized PD controller (89)

DCtrlFFPD Decentralized PD controller with feed-forward adjustment (110)

CLSFPD LFSSF closed loop system with PD controller (90)

LFSS? Reduced colocated LFSS model (66)

DCtrlU Unified decentralized controller (150)

Precise Statements

Abbreviation Meaning (page reference)

〈A1〉–〈A3〉 Control objectives of the DRSP (40)

〈M1〉–〈M6〉 Equivalent conditions for the DRSP to have a solution (40)

〈B1〉–〈B3〉 Control objectives of the DRSPF (57)

〈C1〉–〈C4〉 Controller adjustments to the DCtrl to produce the DCtrlFA (58)

〈D1〉–〈D2〉 Equivalent conditions to establish link for LFSSF with LFSS?

(68)

〈E1〉–〈E5〉 Equivalent conditions for the DRSPF to have a solution under

DCtrlFA (69)

〈F1〉–〈F3〉 Conditions for DRSPFGA (88)

〈R1〉–〈R4〉 Equivalent conditions for rank test rank(LF) = n (185)

xx

Page 21: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1

Introduction

Mankind’s ongoing exploration beyond Earth’s confines drives the increase in size and

complexity of structures deployed in space. Many of these structures and components

thereof can be modelled as unstable colocated large flexible space structures (LFSS),

which typically contain lightly-damped, low-frequency flexible modes, and whose full

model may have a high order [7, 10,39,61].

Some main control objectives for LFSS include orbital station-keeping, attitude con-

trol, and vibration suppression. These goals often involve stabilization about some equi-

librium, tracking of desired set-points, and regulation against unknown disturbances. It is

also imperative for controllers to tolerate parametric uncertainty. Moreover, to promote

scalability and modularity, it is advantageous to use a controller that consists of multiple

cooperative agents. The problem of designing controllers with the above characteristics

is the decentralized robust servomechanism problem (DRSP) [17–19,21,61].

Carrying out repairs in space is extremely costly and difficult. Therefore it is highly

desirable to develop control systems that withstand faults, i.e., structural changes that

can disrupt the normal operation of an LFSS. The design methodology to enable “grace-

ful degradation of performance” of the closed loop system when faults are present is

called fault tolerant control (FTC) [8, 23, 67]. Typical sub-problems in FTC are the

detection, isolation, and accommodation of a specified class of faults.

This thesis is concerned with developing FTC for LFSS. The specific control problem

of interest is the DRSP, and the class of faults considered is a particular form of sensor

and/or actuator failures (SAF).

1

Page 22: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

1.1 Definitions and Problem Statement

In this section, we present key definitions at a high-level, and provide an overview of the

main ideas in LFSS, DRSP, FTC, and SAF. Technical details of the concepts presented

here will be addressed in Chapter 2. After introducing the definitions, we then present

our problem statement.

1.1.1 Large Flexible Space Structure

A large flexible space structures (LFSS) is a mechanical structure deployed in space,

in which structural vibration plays a dominant role in the dynamics of the system. Our

main references on modelling LFSS are [3, 33,39,40].

We will consider a linearized LFSS model, which is a linear time invariant system

that has the form of a general coupled mass-spring-damper system. Under this model,

motion in an LFSS can be decomposed into (i.e., written as a weighted sum of) rigid

body motion and flexible body motion.

Rigid body motion of an LFSS consists of translations and rotations, i.e., dynamics

that do not involve elastic deformation. Key LFSS control problems for rigid body motion

include station-keeping, and attitude (i.e., orientation) control.

Flexible body motion of an LFSS consists of mechanical deformation and vibration.

Due to the micro-gravity environment and the absence of atmospheric drag, damping

effects in space are much weaker than on ground. As a result, mechanical vibration tends

to persist, and active vibration control is essential. Flexible body motion of an LFSS can

be decomposed to a series of simple harmonic motions called vibration modes. Each

vibration mode consists of a mode frequency and a mode shape.

The dynamics of a complex LFSS tends to involve numerous states, and many vi-

bration modes can result. A common technique to reduce the LFSS model is modal

truncation. As illustrated in Figure 1.1, this consists of decomposing the LFSS motion

into rigid body motion and flexible body motion (this is a coordinate transformation of

states), and discarding high-frequency1flexible body motions. The process gives rise to a

reduced-dimension modal-truncated LFSS model. As seen in Figure 1.1, the rigid body

and vibration modes are listed on the third column, sorted by increasing mode frequency.

1Since the number of modes selected is finite, so there is a cut-off frequency beyond which all “high-frequency” modes are truncated. However, in applications, “low-frequency” modes that weakly interactswith sensors and actuators may also be truncated.

2

Page 23: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

Figure 1.1: Modal decomposition and modal truncation of a flexible structure specifiedby 1-D Euler-Bernoulli beam [15] (with exaggerated scaling).

The outputs of an LFSS are generalized displacements (from equilibrium) and gener-

alized velocities. Generalized displacements can represent linear displacements or angular

displacements (also called slopes). The instruments to measure LFSS output are sen-

sors. The control inputs of an LFSS consist of applied force or torques, via thrusters,

motors, piezoelectric elements, reaction wheels, etc. These devices are collectively called

actuators. The specific implementations and internal dynamics of various sensors and

actuators are beyond the scope of this thesis.

A modal-truncated LFSS model is useful for designing and simulation LFSS con-

trollers. But once an LFSS controller is deployed, it would interact with unmodelled

modes of the system. Such an interaction may excite these unmodelled modes, and as

a result cause the closed loop system to become unstable. This phenomenon is called

spillover effects.

The standard technique to prevent spillover effects is sensor-actuator colocation.

In this scheme, the LFSS is designed to specify sensors and actuators in pairs, so that each

sensor-actuator pair has a common position and alignment for force/torque actuation and

displacement/slope measurement. Details on how sensor-actuator colocation prevents

spillover effects can be found in [39].

3

Page 24: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

1.1.2 Decentralized Robust Servomechanism Problem

The main control problem we wish to study for the LFSS is the decentralized robust

servomechanism problem (DRSP). In summary, we seek a decentralized controller

that stabilizes a given LFSS, tracks a given constant reference, and regulates against

an unknown constant disturbance. The controller must also be robust to parametric

uncertainty. Also, spillover effects must be absent. Our main references for the DRSP

are [17,19,61]. Let us describe the above specifications in detail.

Stability (about some equilibrium) is the most important objective in DRSP, as it is

also a prerequisite for the other objectives. In the context of the linearized LFSS under

linear control, this is equivalent to requiring every eigenvalues of the closed loop system

to be found in the open left half complex plane.

The tracking objective requires LFSS outputs to asymptotically reach a specified

class of reference inputs, assuming no disturbance. The regulation objective requires

LFSS outputs to asymptotically reach the tracking reference when a given class of un-

known disturbance inputs are present. For a linear system, these two objectives are

independent. In this thesis, we focus on the class of constant reference signals and con-

stant disturbance inputs.

The stability, tracking, and regulation objectives are collectively known as the ser-

vomechanism problem.

An LFSS model obtained from simulations or experiments contains parametric un-

certainty, and appears as a perturbed version of a more accurate model. To tolerate

these perturbations, we require our controller to be robust, i.e., the stability, tracking,

and regulation objectives should continue to hold when the designed controller is applied

to an LFSS that is a perturbed version of the target LFSS model. We also require the

controller to accommodate unmodelled modes, i.e., prevent spillover effects.

Finally, decentralized control requires a controller to be implemented by multiple lo-

cal controller agents, whose overall actions give rise to the intended control behaviour.

In the context of colocated LFSS, decentralized control forms a partition of colocated

sensor-actuator pairs, so that each subset is assigned to a local controller agent. De-

centralization restricts information flow from sensors to actuators. Under linear output

feedback, decentralization is typically specified by imposing a block-diagonal structure

in feedback gain matrices.

The above objectives combine to form the DRSP of the LFSS. This problem is solved

4

Page 25: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

in [61], which gives necessary and sufficient conditions for solutions to exist. It is also

shown that if a solution exists, then a class of tuning proportional-integral-derivative

(PID) controller can be used to solve the problem.

1.1.3 Fault Tolerant Control

Fault tolerant control (FTC) is a control design methodology that takes into account

of potential malfunctions in system components and features. Given a class of fault

scenarios, the primary goal of FTC is to find controllers that can extract information on

these faults, and/or diminish the negative effects of faults, so that the controlled system

would continue to operate, but possibly undergo a “graceful degradation of performance”.

Our primary references on FTC are [8, 23, 67]. Ref. [67] is a review paper on FTC,

which also provides numerous definitions that are adopted in this thesis. Ref. [23] is an

earlier survey paper on FTC. In [8] (a book), numerous techniques and implementation

of FTC in diverse system are described in detail.

Key FTC terminologies encountered in this thesis are introduced and discussed below.

Faults and Failures

Given a dynamical system, we define failures as significant departures of system be-

haviour from normal operation, and faults as changes in the system that can evolve into

failures. So loosely speaking, we consider faults as causes of failures; and failures as the

negative effects of faults. Therefore FTC can be considered as, “a control methodology

to prevent faults from evolving into failures”.

The main fault model considered in this thesis consists of sensor and/or actuator

failures (Section 1.1.4). Here, “failure” refers to malfunction in sensors and/or actuators,

i.e., from the perspective of components of an LFSS. But from the perspective of the

LFSS, these are faults.

Although it is desirable to meet all LFSS control objectives when faults are present,

often this is infeasible. Instead, one can study different control schemes, and evaluate the

trade-offs that can arise among the various control objectives. We note that the analysis

of these trade-offs greatly contributes to the richness and the challenge in FTC research.

Fault Diagnosis and Fault Accommodation

Two main areas in FTC research are fault diagnosis and fault accommodation.

5

Page 26: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

Fault diagnosis involves developing methods to extract information on faults in a

system. This is an extensive field, and can be characterized in many ways:

• The system model (e.g., linear vs. nonlinear; continuous time vs. discrete time).

• The availability of system model: if the system model is available for diagnosis

procedures, then the FTC approach is model-based; otherwise it is model-free.

• Runtime requirements: online (implemented at runtime) vs. offline (post-processing

of data).

Fault accommodation involves implementing controls to mitigate the harmful ef-

fects of faults, i.e., preventing the faults from evolving into failures, and possibly regaining

controller functionalities to various extents.

This thesis initially focuses on fault accommodation, and then studies a fault diagnosis

approach that arises from our analysis.

Fault Detection and Fault Isolation

Fault diagnosis can be further divided into fault detection and fault isolation. Fault

detection involves determining whether or not a fault has occurred. Given that faults

have occurred, fault isolation involves determining the location (i.e., which component)

of faults. The distinction between fault detection and fault isolation is important in

implementation. For instance, fault detection may involve on-going monitoring of a

system’s outputs, and check them against expected outputs from a nominal system. By

contrast, fault isolation may involve more extensive analysis and probing, which may

cause some disruption to a system’s operation.

Passive FTC and Active FTC

Depending on the availability of data from fault diagnosis, FTC (in particular, fault

accommodation) can be classified as passive FTC or active FTC. In passive FTC,

controllers are designed to accommodate unknown faults of a specific class, without

requiring diagnosis data. In active FTC, controllers undergo control reconfiguration,

which typically utilizes information obtained from fault diagnosis.

Passive FTC tolerates unknown faults, i.e., FTC “kicks in” automatically, without

demanding additional resources to perform fault diagnosis. By contrast, active FTC

6

Page 27: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

offers greater flexibility and performance for fault accommodation, but it requires that

faults are “diagnosable”, and that a fault diagnosis module is available. We refer to [36]

for detailed comparisons between passive FTC and active FTC.

Fault diagnosis and fault accommodation are typically considered to be distinct prob-

lems that are implemented by separate modules. An extension to this scheme is inte-

grated fault diagnosis and fault accommodation [55,56], which studies new possi-

bilities that may arise from their mutual interaction in closed loop. We will explore one

such scheme in Chapter 5.

1.1.4 Sensor and/or Actuator Failures

The specification of an FTC problem requires precise specification of the class of faults

under consideration. In this thesis, we will focus on sensor and/or actuator failures

(SAF). Again, here “failure” describes the sensor or actuator modules, which are consid-

ered as “faults” in the LFSS. However, to adapt to common terminology, we use “fault”

(of the system) and “failure” (of components) interchangeably.

We will focus on total failure of sensors and/or actuators. Therefore a failed sensor

is specified to produce an output of 0; and a failed actuator is specified to generate a

control signal of 0. By contrast, a partial failures model enables faults to assume a

range of values. This model is not considered in this thesis. Note that we do not consider

constant disturbances in the DRSP as faults.

In general, SAF may evolve as a function of time. With respect to persistence, SAF

can be classified to be permanent or intermittent. A permanent fault persists after it

initially occurs; and an intermittent fault may recover (therefore repeated failures may

occur). Another way to classify faults is by their transient behaviour. An abrupt fault

occurs within a short duration, and can be modelled as a step change. An incipient

fault can take long time to unfold, and are typically associated with component wear or

fatigue.

For simplicity, in this thesis we will only consider SAF that are total, abrupt, and

permanent. Therefore the occurrence of an SAF is represented as a one-time switching

transition to 0 in the LFSS. By contrast, intermittent SAF allows infinite number of

switching to occur, and it is well-known that multiple switching, even among stable

systems, can lead to instability [46]. This situation is avoided in this thesis by focus on

permanent SAF only. As a result, the number of switching is finite, and we focus on

7

Page 28: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

the LFSS under some fixed SAF, and analyze asymptotic stability assuming that SAF

remains constant.

Two ways to model SAF are additive fault and multiplicative fault representations.

In an additive fault representation, SAF are represented as extra fault terms added to

input and/or output. In the case of total failure, these signals exactly cancel the failed

signals [55]. As a result, system matrices remained fixed, and the fault diagnosis problem

involves determining the fault terms. By contrast, in a multiplicative fault representa-

tion, system matrices undergo fault-dependent modifications. Although equivalent, the

two representations significantly alter how analysis proceeds. In this thesis, we will adopt

a multiplicative fault representation.

A common terminology we use throughout this thesis is as follows: a sensor-actuator

pair is called a failed output if it contains any (sensor and/or actuator) failure; otherwise

it is called healthy output.

1.1.5 Problem Statement

We are given a colocated LFSS under output feedback, and the objective is to solve the

DRSP [61]. Given the possibility that SAF (specified by total, abrupt, and permanent

failures for each sensor and actuator component) may occur, we wish to devise a FTC

that preserves the stability of the closed loop system, so that the controller is robust

against parametric uncertainties, and that no spillover effects occur. These goals are

essential. Next, we wish to have LFSS outputs track an arbitrary constant reference

and regulate an unknown constant disturbance. It is also desired that the controller

adjustments procedure and the resulting controllers are decentralized. If these remaining

DRSP goals cannot be satisfied under SAF, then we should determine the trade-offs

entailed by various controllers studied.

If SAF are known, then we seek an active FTC strategy, which includes a controller

design, with necessary and sufficient conditions for a solution to exist. Similarly, if SAF

are unknown, then we seek a passive FTC strategy, which includes a controller design,

with necessary and sufficient conditions for a solution to exist. Comparisons of the trade-

offs between the control schemes explored should be made.

In studying passive FTC, an opportunity to diagnose the SAF in the LFSS arises.

We wish to take advantage of this, by developing and analyzing an integrated FTC on

the LFSS, which unifies and the results on active and passive FTC that we obtain.

8

Page 29: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

We note that the LFSS is a relatively easy system to stabilize [47]. However, as shown

in Table 1.1, in this thesis we also need to address a number of control challenges beyond

stabilizing the LFSS model. This poses a major challenge in our effort to develop FTC

for the DRSP of an LFSS under SAF.

Challenge Causes Solutions

Parametric uncertainty Difficulty in estimatingstiffness and damping pa-rameters

Modal truncation; DRSP

Spillover effects Unmodelled mode frommodal truncation

Sensor/actuator coloca-tion

Disturbances (constant) Solar wind; actuator mis-alignment; imperfect in-strument

Regulation with integralcontroller

Sensor and/or actuatorfailures (SAF)

Component wear; hostileenvironment in space

FTC (addressed in thisthesis)

Table 1.1: Control challenges encountered in performing FTC of LFSS.

1.2 Related Work

The main topics connected to this thesis are FTC, DRSP, LFSS, and SAF. These topics

have been covered in the literature in various combinations, under different emphases and

approaches. In this section, we summarize a number of existing works that are related

to the above topics, for comparison with the approaches taken in this thesis.

We begin with our main reference [61], which addresses the DRSP for the LFSS.

A main result in [61] gives necessary and sufficient conditions for the DRSP to have a

solution, one of which is a rank condition involving the rigid body motion of the LFSS.

Assuming that a solution exists, it is shown that a decentralized tuning PID controller

can be used to solve the DRSP. Details of this work are presented in Chapter 2.

This thesis inherits the LFSS model and the DRSP specifications from [61], and then

extends the work by introducing a specific SAF model, and studying the associated FTC

problem. We have relaxed the DRSP goals so that only healthy outputs need to satisfy

tracking and regulation requirements. Our initial effort in active FTC (Chapter 3) is

based on transforming our closed loop system so that the main result in [61] can be

9

Page 30: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

applied.

In [13], the FTC of the DRSP for a generic open loop stable plant under SAF is stud-

ied. The main objective is to achieve “reliable control” without retuning the controller;

thus passive FTC is considered. Moreover, “complete reliability” is required, i.e., all

DRSP objectives must continue to hold under SAF. Two sets of sufficient conditions for

solutions to exist are presented. The first set of condition involves computing/measuring

“steady-state interaction matrices” for all proper subsets of failed actuators. If satisfied,

a proper linear controller is specified to solve the problem. The second set of sufficient

conditions involves computing “block transmission zeros”, and the controller that solves

the problem is a PID controller that may require high-order derivatives.

Since LFSS is not open loop stable, the results in [13] is not directly applicable.

However, this thesis also studies passive FTC, and relies greatly on steady-state analysis

of the closed loop system. The FTC goal in [13] requires full recovery in DRSP objectives

under SAF. By contrast, this thesis is less stringent in that various compromises in

DRSP objectives are allowed. This enables a richer class of behaviours and solution to

be studied, as we also explore active FTC and fault diagnosis.

Active FTC and passive FTC have complementary advantages [36]. In [31], a “hybrid

FTC” that combines the properties of active FTC and passive FTC is applied to a flight

control system. The passive FTC serves to slow down performance deterioration when

actuator failures, to “buy time” for fault diagnosis. After diagnosis is performed, the

active FTC is then engaged to improve system performance.

Chapter 5 of this thesis consider an “integrated FTC” scheme that implements the

“hybrid FTC” idea in [31]. However, in our analysis, we supplied details on carrying out

the diagnosis. Also, common features between our active FTC and passive FTC methods

are utilized to improve integration.

In [42], the decentralized FTC of a colocated LFSS is studied. The LFSS is modelled

as a collection of finite-dimensional subsystems connected by flexible links. Each sub-

system is stabilized by a robust local dynamic displacement feedback controller. Total

actuator failure may occur for entire subsystems, and the FTC goal is to achieve sta-

bility without changing controller, i.e., passive FTC. The main theorem states a failure-

dependent rank condition as a necessary and sufficient condition for the overall closed

loop system to be stable.

As with this thesis, [42] utilizes state-space formalism and the special structures

of LFSS. However, spillover effects are not acknowledged. Instead, they are implicitly

10

Page 31: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

sidestepped, since only finite-dimensional LFSS is considered (no usage of modal anal-

ysis), and that failure is specified for entire subsystems, which automatically preserves

colocation. By contrast, in this thesis consider component-wise SAF that has a “finer

granularity” than subsystems, and need to worry about spillover effects. The DRSP

objectives in this thesis are also more general than the stabilization requirement in [42].

However, [42] employs a controller that is more sophisticated than the PID and PD

controllers used in this thesis.

We now consider other works that study FTC of the LFSS, but where the models

and/or FTC approaches differ significantly from those explored in this thesis.

In [30], robust passive FTC of a flexible spacecraft under actuator failure is considered.

The control objective is attitude stabilization about the origin. The dynamics of the

spacecraft consist of a nonlinear rotation model with disturbances. Moreover, vibration

motion is treated as a bounded uncertainty in the nonlinear dynamics of the system. The

fault model in [30] consists of time-dependent partial failure in torque actuators. System

uncertainty is approximated as a linear combination of nonlinear bias functions. Global

asymptotic stability under specified actuator failure is achieved by applying sliding mode

control. A proof utilizing Lyapunov methods is given.

The nonlinear attitude dynamics and the time-dependent partial actuator failure

mode in [30] are more sophisticated than the linearized LFSS dynamics in this thesis.

However, the modelling of vibration by finite-dimensional nonlinear approximations ig-

nores the challenges posed by spillover effects. The partial actuator failure model used

can encompass a wide range of phenomena, but it is significantly different from the total

SAF model adopted in this thesis.

In [63], a generic reconfigurable learning controller for an LFSS is proposed. The

framework primarily uses neural networks, which are systems that serve as universal

approximators of continuous functions, and are configured via “training” on pre-specified

data set. Neural networks are applied in multiple contexts: as a controller to map from

state to controller signal, as an associative memory to retrieve parameters for control

reconfiguration, and as a pattern classifier for fault diagnosis.

The flexibility of neural networks offers exciting FTC application for the LFSS. How-

ever, extensive computation is needed in the training process of a neural network. This

framework is very distinct from our “model-based” approach, which utilizes the mathe-

matical model of the LFSS extensively.

In [1,2], a FTC design for flexible structures with known structure failures is studied.

11

Page 32: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

Structure failures alter the transfer matrix of the given flexible structure, and are assumed

to be known. The collection of all nominal and failed systems under consideration is used

to construct an interval transfer function that encompasses the transfer matrices of these

systems. The problem is then reformulated as robust control, for which powerful synthesis

and analysis tools exist in the literature. These lead to a controller that is able to stabilize

the failed structures, and is robust against perturbations thereof. Modal truncation and

sensor-actuator colocation are implicitly utilized

A key distinction of [1, 2] from our work is the treatment of robustness and the

utilization of powerful tools of Kharitonov polynomials and µ-synthesis. By comparison,

the notion of robustness explored in this thesis is simplistic, as we merely “inherit” the

robustness results from [61]. Also, the failure models considered in [1, 2] are component

failures, whereas we are concerned with SAF.

In [4], a passivity-based (not to be confused with passive FTC) decentralized FTC

is studied. The work considers a passive linear system controlled by multiple single-

input/single-output (SISO) passive local controllers. The FTC objective is “decentral-

ized unconditional stability”, i.e., maintaining closed loop stability when one or more

local controllers are deactivated or altered by fault. Various optimization objectives are

also stated. The control synthesis procedure requires numerical solutions (semi-definite

programming), and is a form of passive FTC.

The flexible body dynamics of the LFSS is a passive system [39]. Therefore passivity-

based approaches as seen in [4] can effectively be used for LFSS control, and can even

accommodate spillover effects. In this thesis we have followed [61], and adopted a state

model. So to some extent our choice is rather arbitrary. However, this choice gave us

a concrete perspective on controller implementation, and led to insights on representing

and using SAF in our analyses.

As additional background, we now consider some work in FTC for general systems,

i.e., not specific to LFSS or flexible structures. For generic reference on concepts and

terminologies in FTC, we refer to the review papers [23,57–59,67], and the book [8].

In [55, 56], a very general framework to study integrated FTC that combines fault

diagnosis with fault accommodation in a linear framework is proposed. The framework

handles tracking and regulation under SAF (using additive fault representation). Using

12

Page 33: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

transfer function formalism, the framework identifies 6 transfer functions mappings:

disturbance, sensor failure, actuator failure → plant output error, diagnosis error.

By applying H∞ methods, the trade-offs among these objectives are determined. It is

found that the proposed weight selection process does not involve a trade-off between

plant output error reduction (i.e., tracking and regulation) and diagnosis error reduction.

This gives rise to a “separation principle” between fault diagnosis and fault accommoda-

tion in closed loop.

From a high level, the results proposed in [55, 56] are very encouraging, although we

use neither transfer function formalism nor H∞ methods in this thesis. It is to be noted

that our focus is initially fault accommodation, and our fault diagnosis algorithm arises

through steady-state analysis. We proceed to take advantage of this and develop an

integrated FTC framework, which differs from the framework proposed in [55,56].

In [35, 64–66, 69], eigenstructure assignment (EA) is applied to perform active FTC

in linear systems (continuous or discrete time). EA exploits actuator redundancies to

assign eigenvalues and eigenvectors of the closed loop system. If the state is available

and if there are enough outputs, then the nominal closed loop system can be recovered.

Otherwise choices on the best eigenvalues and eigenvectors to recover are made. An

observer or a Kalman filter may also be used.

As with pole placement, EA does not seem to be easily applicable for FTC of the

LFSS. The method requires the full system model to be known, and works best under

state feedback. By contrast, the LFSS model is likely to have undergone modal trun-

cation, and may have limited precision (this also limits the effectiveness of observers).

Therefore DRSP design methodologies seem more applicable.

In [37,70], passive FTC against actuator failures in a continuous linear system is con-

sidered. The importance of redundant actuators is emphasized. In [70], this redundancy

is manifested by requiring the system to be controllable with every scalar input compo-

nent. This condition is generalized in [37]. A multiplicative total actuator failure model

is used in [70], and in [37], an unknown constant offset is added. Steady-state tracking

using a proportional-integral controller is also applied in [37]. Finally, to accommodate

faults, a dynamic pre-compensator is applied to each input to improve uniformity. Robust

control methods are applied to place poles to a “Γ-stability region”

This thesis shares some similarities with [37,70]. Specifically, a common actuator fail-

13

Page 34: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

ure model is used, and unknown actuator offsets can be modelled as input disturbances.

However, LFSS actuators do not have the degree of redundancies required by [37]. Also,

we consider active FTC with input failures, and again, we will need to worry about

robustness and spillover effects.

In [64, 66, 69], discrete-time stochastic linear systems are considered. The proposed

actuator failure model includes partial failures and total failures, which are treated as a

list of “fault parameters” with stochastic dynamics. Fault parameter are multiplied with

actuator inputs, and subsequently subtracted from state transition. A two-stage adaptive

Kalman filter is used to perform state estimation and fault parameter estimation, thus

accomplishing fault diagnosis and state estimation for control. For fault accommodation,

EA and feed-forward controllers are used. Therefore [64,66,69] perform integrated FTC,

and acknowledge the challenges that arise from conducting fault diagnosis in a closed

loop.

The integrated FTC approach in [64, 66, 69] considers a very general fault model,

which includes partial failures and incipient faults. It is also claimed that sensor failures

can be handled in a similar manner. As with [30], the fault model in [64,66,69] does not

consider total failure.

In [65], another integrated FTC setup is proposed, in which the interacting multiple

model (IMM) method is applied for fault diagnosis. A discrete-time stochastic linear

model is used, and a model is defined for every possible failure mode. The task of fault

diagnosis consists of maintaining and updating the probabilities for each model to be

the actual model. To this end, each model is assigned a Kalman filter. The inputs and

outputs of these filters are coordinated, to produce a controller signal for the plant, and

to update the probability map.

The method proposed in [65] is very general and very powerful. However, the number

of possible SAF combinations in our model is high, so the method in [65] may be costly to

implement. The approach taken in this thesis is to exploit the structure of the LFSS and

the SAF. We will see that this leads to FTC schemes that are much easier to implement

than the IMM method.

1.3 Contributions

The underlying problem of this thesis is the DRSP of the LFSS, which was solved in

the 1980’s [61]. Incorporating a SAF model into the LFSS introduces new challenges,

14

Page 35: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

since the control objectives of DRSP are no longer satisfied as a result. In particular,

the closed loop system may become unstable, and spillover effects may arise. The main

contribution of this thesis is in analyzing various FTC schemes for the DRSP of the

LFSS under our SAF model, i.e., active FTC, passive FTC, and fault diagnosis. These

are combined (using heuristics) to form an integrated FTC scheme.

With regard to active FTC, where SAF are known, this thesis constructs a simple-

to-implement control reconfiguration that extends the tuning PID controller in [61] to

accommodate SAF. The resulting decentralized controller maintains closed loop stability,

is robust, and prevents spillover effects. However, tracking and regulation goals are only

maintained for healthy outputs.

With regard to passive FTC, this thesis shows that a simple PD controller can stabilize

the LFSS under unknown failure. Next, it is also shown that steady-state errors (arising

from using a PD controller) of healthy outputs can be arbitrarily diminished by increasing

gains — but under the assumption that actuator failures subsume sensor failures.

With regard to fault diagnosis, this thesis shows that experiments can be conducted

on an LFSS under unknown SAF that is stabilized by a PD controller, so that the

resulting steady-state output measurements can be used to identify failed outputs. An

in-depth analysis also results in threshold values to discern faulty from healthy cases,

thereby improving robustness against measurement noise. The fault diagnosis is not

decentralized.

The integrated FTC scheme first unifies the PID and PD controllers to combine

their advantages (good tracking and regulation from PID, and passive FTC from PD).

Under the presence of suspected SAF (heuristics needed), the controller enters “diagnosis

mode”. Finally, the diagnosis results are used in active FTC. Unfortunately, the method

is inefficient, and does not handle new SAF that may occur during diagnosis. Therefore

we consider the integrated FTC scheme a proof-of-concept.

In addition to the main contributions stated above, a number of analysis results also

form useful contributions of this thesis.

In developing the active FTC (using PID controller) and passive FTC (using PD

controller) results, we must determine the conditions under which the controller satisfies

the respective objectives. It turns out that the necessary and sufficient conditions for

both cases are equal: the rigid body model under only healthy sensor-actuator pairs is

controllable and observable. This condition is succinctly summarized by a rank condition,

which also provides insights on how to place colocated sensor/actuators to improve the

15

Page 36: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

fault-tolerance properties of an LFSS.

For the active FTC, the main challenge is the analysis of the resulting closed loop

system. To this end, algebraic properties of fault matrices are used, so that the resulting

closed loop system is converted to a form where the results in [61] becomes applicable.

To study the behaviour of failed outputs, detailed steady-state output matrices for

both the PID (for active FTC) and PD (for passive FTC) controllers are determined.

The steady-state output matrices for the PID case are shown to be gain-independent.

We can also apply these matrices for a tracking recovery scheme that assumes negligible

disturbances. Under this scheme, reference signals are pre-adjusted in order for “mission-

critical” failed outputs to satisfy its original tracking objectives, and tracking objectives

of some other healthy inputs are sacrificed in the process.

The steady-state output matrices for the PD case are gain-dependent (thereby en-

abling the high-gain results). The derivations of these matrices are straightforward.

However, by applying matrix decomposition methods, we further simplified the formulae

of these matrices. The simplified forms of these matrices are essential for our passive

FTC and fault diagnosis results.

The simplification of PD steady-state output matrices also gives rise to the “PD

output-to-reference characteristic matrix”. The matrix can be directly used as an extra

term that eliminates the tracking reference portion of steady-state output error, in the

nominal case. Moreover, the matrix can be determined from experiment, thereby enabling

a form of system identification.

To address the inefficiency of our fault diagnosis method, we formulate the linear final

value extrapolation problem. Our solution consists of an optimization-based solution that

applies digital signal processing techniques.

1.4 Organization

The organization of this thesis is summarized below:

• Chapter 2 presents background information for the remainder of the thesis.

• Chapter 3 describes the use of PID controllers for active FTC of the LFSS under

known SAF.

• Chapter 4 describes the use of PD controllers for passive FTC of the LFSS under

16

Page 37: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 1. Introduction

unknown SAF. Tracking and regulation performance degradation compared to the

results from Chapter 3 are noted.

• Chapter 5 presents a method to diagnosis SAF, and an integrated FTC scheme

that uses both PD and PID controllers.

• Chapter 6 presents concluding remarks and directions for future work.

• Appendix A presents mathematical details on results used in this thesis.

• Appendix B presents derivations of LFSS examples.

17

Page 38: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2

Background

In this chapter, we introduce the background ideas and foundations of this thesis. Section

2.1 lists mathematical notations and basic definitions. Section 2.2 introduces large flexible

space structures (LFSS) and their modelling. Section 2.3 states the decentralized robust

servomechanism problem (DRSP) for the LFSS, and specifies a family of proportional-

integral-derivative (PID) controller as solutions. Section 2.4 focuses on fault-tolerant

control (FTC), and presents a sensor and/or actuator failure (SAF) model.

2.1 Mathematical Notations

We will apply mathematical conventions common in literature on linear systems. In this

section, we review these conventions, and also introduce additional specialized notations.

Additional mathematical results and proofs are presented in Appendix A.

2.1.1 Colons in Logical Expressions

Logical expressions are hierarchical. Such hierarchy are typically represented by nested

parenthesis, but in long logical expressions, these tend to become difficult to untangle.

To prevent such a problem, we use the colon (:) as a grouping modifier within logical

expressions. When placed between sub-expressions A and B, the colon induces a pair of

parentheses that surround B. Two basic cases are shown below:

A : B is equivalent to A(B),

(A : B)C is equivalent to (A(B))C.

18

Page 39: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Grouping for multiple colons is applied in a right-to-left manner:

A : B : C is equivalent to A(B(C)).

Example 2.1. The following expressions are equivalent:

(∀a ∈ A) : (f(a) < 3) =⇒ (∃b ∈ B)(g(b) > 4),

(∀a ∈ A)((f(a) < 3) =⇒ (∃b ∈ B)(g(b) > 4)).

The above expressions (implicitly, b depends on a) are read, “for every element a in A, if

f(a) < 3 then there exists an element b in B so that g(b) > 4.” If we remove the colon,

(∀a ∈ A)(f(a) < 3) =⇒ (∃b ∈ B)(g(b) > 4),

then the meaning (implicitly, B depends on A) is changed to, “if every element a in A

satisfies f(a) < 3, then there exists an element b in B so that g(b) > 4.” 4

2.1.2 Sets

Following convention, N := 1, 2, 3, . . . denotes natural numbers, N0 := 0, 1, 2, . . .denotes whole numbers, Z := . . . ,−1, 0, 1, . . . denotes integers, R denotes real

numbers, and C denotes complex numbers. For m,n ∈ Z, a ∈ R ∪ −∞, and

b ∈ R ∪ ∞, intervals are specified as

(m,n)Z := i ∈ Z | m < i < n, (a, b)R := x ∈ R | a < x < b,

[m,n)Z := i ∈ Z | m ≤ i < n, [a, b)R := x ∈ R | a ≤ x < b,

(m,n]Z := i ∈ Z | m < i ≤ n, (a, b]R := x ∈ R | a < x ≤ b,

[m,n]Z := i ∈ Z | m ≤ i ≤ n, [a, b]R := x ∈ R | a ≤ x ≤ b.

Given z ∈ C, the real part of z is <(z), the imaginary part of z is =(z), and the

complex conjugate of z = <(z) + i=(z) is z = <(z)− i=(z).

The open left-half complex plane is C− := z ∈ C | <(z) < 0 and the closed

right-half complex plane is C+:= z ∈ C | <(z) ≥ 0.

19

Page 40: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.1.3 Vectors and Matrices

A real (complex) vector with m elements is denoted Rm (Cm). An m× n real (complex)

matrix is denoted Rm×n (Cm×n). All vectors are considered as columns; so length-m

vectors are identified with m×1 matrices, i.e., Rm = Rm×1 (Cm = Cm×1). The dimensions

of a vector and matrix may be 0. For these degenerate cases, the usual rules for handling

empty matrices (e.g., as used by MATLAB) apply.

To describe components of matrices, we write A ∈ Cm×n as A = [ai,j], where ai,j is

the element of A on the i-th row and the j-th column. We also write a column vector

v ∈ Cm as v = [vi], where vi is the i-th element of v.

Using this above notation, we define basic constant vectors and matrices in Table

2.1. Here, δi,j denotes the Kronecker delta: δi,j =

1, if i = j,

0, otherwise.To avoid visual

Vector or Matrix Definition

Zero vector 0m = [0] ∈ Rm

Constant one vector 1m = [1] ∈ Rm

k-th Euclidean vector ek = [δi,k] ∈ Rm

Zero matrix 0m,n = [0] ∈ Rm×n

Identity matrix Im = [δi,j] ∈ Rm×m

Table 2.1: Basic constant vectors and matrices.

clutter, the dimensions of 0m,n or Im will often be omitted (i.e., written as 0 or I). The

dimensions of Euclidean vectors ek are also usually clear from the context. We use

these to extract components of vectors; in general, eTk [ai] = ak, and eT

k [ai,j]el = ak,l.

The index notation enables systematic and compact representation of matrix opera-

tions. For example, matrix multiplication of A ∈ Cm×p and B ∈ Cp×n is

AB = [ai,k][bk,j] =

[ci,j =

p∑k=1

ai,kbk,j

]∈ Cm×n.

Using this notation, we define basic matrix operations in Table 2.2. Horizontal/vertical

matrix concatenation can be combined in a “row-major” notation, as used in MATLAB.

For the special case of 2 block-rows and block-columns, we have

[[A11,A12]; [A21,A22]] = [A11,A12; A21,A22].

20

Page 41: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Operation Notation and Definition

Product Cm×n × Cn×p → Cm×p : A,B 7→ AB = [∑n

k=1 ai,kbk,j]

Transpose Cm×n → Cn×m : A 7→ AT = [aj,i]

Horizontal concatenationCm×n1 × Cm×n2 → Cm×(n1+n2) :

A1,A2 7→ [A1,A2] =[A1 A2

]Vertical concatenation

Cm1×n × Cm2×n → C(m1+m2)×n :A1,A2 7→ [A1; A2] = [AT

1 ,AT2 ]T

Table 2.2: Basic matrix operations.

If A ∈ Rn×n is invertible, then its inverse is A−1. We also write A−T = (AT)−1 =

(A−1)T. Given A ∈ Cn×n, the set of eigenvalues of A is denoted σ(A):

(∀A ∈ Cn×n) : σ(A) := λ ∈ C | det(λI −A) = 0.

2.1.4 Special Matrices

For n ∈ N0, various sets of special square matrices in Rn×n are defined in Table 2.3.

Set Description for A ∈ Rn×n Defining properties of A in set

GLn Invertible (∃B ∈ Rn×n) : AB = BA = I

HURn Hurwitz (stable) (∀λ ∈ σ(A)) : <(λ) < 0

SYMn Symmetric AT = A

UT RIn Upper Triangular (∀i, j ∈ [1, n]Z) : i > j =⇒ eTi Aej = 0

LT RIn Lower Triangular (∀i, j ∈ [1, n]Z) : i < j =⇒ eTi Aej = 0

DIAGn Diagonal (∀i, j ∈ [1, n]Z) : i 6= j =⇒ eTi Aej = 0

On Orthogonal ATA = AAT = I

PDn Positive definite (p.d.) (AT = A) ∧ (∀v ∈ Rn − 0)(vTAv > 0)

PSDn Positive semi-definite (p.s.d.) (AT = A) ∧ (∀v ∈ Rn)(vTAv ≥ 0)

Table 2.3: Definitions of special matrices.

Specifying these sets gives us a unified presentation of special matrices, and produces

leaner notations. For instance, we can specify “Let A ∈ PDn∩DIAGn”, instead of “Let

A ∈ Rn×n, so that A > 0 and A is diagonal”.

Clearly, PDn ⊂ PSDn ⊂ SYMn, DIAGn = SYMn ∩ UT RIn = UT RIn ∩

21

Page 42: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

LT RIn = LT RIn ∩ SYMn, PDn ⊂ GLn, On ⊂ GLn, and HURn ⊂ GLn.

If we wish to define special matrix sets whose entries has a restriction different than

R, we would specify the set of interest as a subscript. In particular, let 0, 1n×n as the

set of n× n, 0-1 matrices, then the set of binary diagonal matrices DIAGn0,1 is

DIAGn0,1 := 0, 1n×n ∩ DIAGn. (2.1)

2.2 Large Flexible Space Structures (LFSS)

The main system studied in this thesis is the colocated large flexible space structure

(LFSS). Many definitions pertaining to the LFSS were introduced in Section 1.1.1. In

this section, we supply additional terminologies and technical details.

To better describe the transition from physical systems to abstract models, we define

the following hierarchy:

• Physical LFSS: the actual physical system.

• Full model: a nonlinear, abstract mathematical description of the physical LFSS.

This may be a finite-dimensional lumped-component system or an infinite-dimensional

distributed-parameter system.

• Linear mechanical model: a linearized, finite-dimensional system to represent

the full model, possibly obtained via finite element methods.

• LFSS model in standard form (LFSS): the main model used in this thesis for

control design, represented in modal coordinates, possibly obtained via modal trun-

cation (illustrated in Figure 1.1)

Typically the modelling process proceeds as

Physical LFSS −→ full model −→ linear mechanical model −→ LFSS model(LFSS).

Most of this thesis is concerned with the LFSS model (LFSS). We introduce the

above hierarchy to provide a framework to describe two key problems in LFSS modelling:

parametric uncertainty and spillover effects.

Ultimately we wish to control the physical LFSS. But for concreteness, we define the

full model as the idealized and abstract proxy of the physical LFSS, capturing all system

22

Page 43: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

dynamics with perfect accuracy. We assume that the full model can be linearized into

a possibly infinite-dimensional model. Clearly, the full model and its linearized version

are unattainable abstract entities. Next, we specify the linear mechanical model as a

finite-dimensional approximation of this model, taking concrete numerical values that

are perturbed versions of the ideal. Finally, the LFSS model is obtained by performing

additional simplifications to the linear mechanical model.

Parametric uncertainty accounts for the numerical perturbations that are introduced

in the modelling process, which can introduce numerical errors. We handle this by

imposing robustness on controllers. Spillover effects are concerned with the interaction

between the controller and unmodelled modes in the linearized total model. This is

handled by imposing sensor-actuator colocation. However, under sensor and/or actuator

failures, colocation may no long hold. This poses a key consideration when we consider

fault-tolerant control on the LFSS.

Section 2.2.1 introduces the nominal LFSS model (2.3) used throughout this thesis,

and states key assumptions. The next two sections focus on the derivation of (2.3).

Section 2.2.2 describes the linearized mechanical model of the LFSS. Section 2.2.3 trans-

forms the mechanical model to a modal representation, and then (optionally) applies

modal truncation to obtain (2.3). Finally, Section 2.2.4 discusses spillover effects of the

LFSS.

Our main references on LFSS dynamics and modelling are [3, 39,40,52].

2.2.1 The Colocated LFSS Model in Standard Form

The Main Model

The nominal colocated LFSS model (LFSS) is a linear system with n displacements, m

inputs and outputs, and q independent sources of disturbance, specified by

d+ ∆d+ Ω2d = Lu+ Efw, (2.2a)

y = LTd+ Fw, (2.2b)

e = y − yref , (2.2c)

where d(t) ∈ Rn is the modal displacement, u(t) ∈ Rm is the actuator input,

y(t) ∈ Rm is the physical output (read by sensors), yref ∈ Rm is the constant tracking

reference, w ∈ Rq is the unknown constant disturbance, and e(t) ∈ Rm is the

23

Page 44: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

tracking error. The dimensions of system matrices (Ω2,∆,L,Ef ,F) are clear from the

context.

Figure 2.1: Block diagram of the colocated LFSS model (LFSS).

The block diagram of LFSS (with e) is shown in Figure 2.1.

By defining the aggregate modal state vector x(t) := [d(t); d(t)] ∈ R2n, we can

rewrite (2.2) and obtain the standard form of the LFSS (LFSS):

x =

[0 I

−Ω2 −∆

]︸ ︷︷ ︸

A

x+

[0

L

]︸︷︷︸

B

u+

[0

Ef

]︸ ︷︷ ︸

E

w, (2.3a)

y =[LT 0

]︸ ︷︷ ︸

C

x+ Fw, (2.3b)

e = y − yref . (2.3c)

At runtime, x(t) is not directly accessible. Sensors are used to read y(t), and u(t) is

computed by a controller to achieve control objectives (typically via output feedback).

For numerical examples of LFSS, we will refer to 3 example models of differing com-

plexities. Detailed derivations of these models are found in Appendix B. Summaries for

these models are found in Section B.1.4 for LFSS Benchmark A (p. 200), Section B.2.2

for LFSS Benchmark B (p. 202), and Section B.3.5 for LFSS Benchmark C (p. 225).

System Matrices: Properties and Assumptions

Let us now describe the system matrices (Ω2,∆,L,Ef ,F) in (2.2) and (2.3). Here we

provide only terminologies, properties and assumptions (explicitly or implicitly found

24

Page 45: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

in [61]); full explanations and derivations will be presented later.

Let Ω2 ∈ PSDn ∩ DIAGn be the modal frequency matrix. Since Ω2 has non-

negative diagonal elements, we write

Ω2 = diag(ω21, ω

22, . . . , ω

2n).

Without loss of generality, let ω21 ≤ ω2

2 ≤ . . . ≤ ω2n. For i ∈ [1, n]Z, ωi = 0 is associated

with a rigid body mode; and ωi > 0 is associated with a flexible mode, which has ωi

as its mode frequency. Let n ∈ N0 be the number of rigid body modes in Ω2, i.e.,

n := n− rank Ω2. (2.4)

Our first assumption pertains to n:

Assumption 2.1. There exists a nontrivial rigid body motion in the LFSS: n ≥ 1.

Therefore 0 = ω1 = . . . = ωn < ωn+1 ≤ . . . ≤ ωn. Also, Ω2 ∈ (PSDn − GLn) ∩ DIAGn.

Let ∆ ∈ PSDn be the modal damping matrix. The following relates Ω2 and ∆:

Assumption 2.2. Ω2 and ∆ have the same column space: Img Ω2 = Img ∆.

Since Ω2 and ∆ are both symmetric, so equivalently Ker Ω2 = Ker ∆.

Let L ∈ Rn×m be the colocated modal input/output matrix. Note that L

appears in B, and LT appears in C. Therefore we associate each sensor component eTi y

with the corresponding actuator component eTi u, for i ∈ [1,m]Z. This imposes a sensor-

actuator colocation on the LFSS. As will be discussed in Section 2.2.4, colocation is

essential for preventing the spillover effect.

Assumption 2.3. Individual inputs act on the LFSS independently, or alternatively,

all outputs are independent: rank L = m.

Assumption 2.1 and Assumption 2.2 induce the following structures on Ω2, ∆ and L:

Ω2 =

[0n 0

0 Ω2

], ∆ =

[0n 0

0 ∆

], L =

[L

L

], (2.5)

25

Page 46: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

where Ω2 ∈ PDn−n ∩DIAGn−n, ∆ ∈ PDn−n. L ∈ Rn×m, and L ∈ R(n−n)×m. Here, L is

called the rigid body model input/output matrix, which is extensively throughout

this thesis. We impose another assumption:

Assumption 2.4. The rigid body model input/output matrix has full row rank:

rank(L) = n.

Note that L ∈ Rn×m, but rank L = m (Assumption 2.3); also L ∈ Rn×m, but rank L =

n (Assumption 2.4). Combined with n ≥ 1 (Assumption 2.1), our assumptions lead to

the following bounds on signal dimensions:

1 ≤ n ≤ m ≤ n. (2.6)

Example 2.2. Consider LFSS Benchmark A, which has

Ω2 =

0

1

1.2

, ∆ =

0

0.1

0.12

, L =

0.2887 0.2887 0.2887

−0.7071 0.0000 0.7071

−0.6455 0.1291 −0.6455

.From rank Ω2 = 2, we obtain n = 3 − 2 = 1 ≥ 1, so Assumption 2.1 holds. Img Ω2 =

spane2, e3 = Img ∆, so Assumption 2.2 holds. The columns of L are linearly indepen-

dent, so L has full rank, and Assumption 2.3 holds. Finally, from n = 1 we obtain

Ω2 =

[1 0

0 1.2

]∈ PD2, ∆ =

[0.1 0

0 0.12

]∈ PD2,

L =[0.2887 0.2887 0.2887

], L =

[−0.7071 0.000 0.7071

−0.6455 0.1291 −0.6455

].

Note that rank L = 1 = n, so Assumption 2.4 holds. 4

Finally, Ef ∈ Rn×q is the input disturbance matrix, and F ∈ Rm×q is the output

disturbance matrix. Our LFSS examples specify numerical values for these matrices.

However, these values are “overridden” in some examples, which would specify some

other Ef and F.

26

Page 47: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.2.2 The Linear Mechanical Model

Having presented the main LFSS, we now provide a detailed derivation. We assume

that the full model exists, and proceed to approximate it by constructing the linear

mechanical model. One way to do this is to represent the linearized full model as in-

terconnected lumped-elements (Section B.1 and Section B.2). A finite-dimension linear

mechanical model can be derived directly. A second method is to represent the full model

as a distributed parameter system whose dynamics are described by partial differential

equations. In this case, finite element method (Section B.3) can be applied to obtain a

finite-dimensional linear mechanical model.

Some definitions and assumptions from Section 2.2.1 will be restated in the context

of the mechanical model. The equivalence of these definitions and assumptions will be

shown in Section 2.2.3.

Neglecting disturbances, the linear mechanical model1 of an LFSS is a second-order

system with n ∈ N displacements and m ∈ N colocated sensor-actuator pairs:

M0ξ + D0ξ + K0ξ = Λ0u+ Ef0w, (2.7a)

y = ΛT0 ξ + Fw, (2.7b)

where ξ(t) ∈ Rn is the vector of mechanical displacements/slopes (i.e., small angles)

relative to equilibrium, u(t) ∈ Rm is the actuator signal that describes the application

of force (e.g., thrusters) or torque (e.g., momentum wheels) to the LFSS, and y(t) ∈ Rm

is the output displacements or slopes of the LFSS, and w ∈ Rq is the unknown constant

disturbance. Moreover, M0 ∈ PDn is the generalized inertia matrix, to represent

masses or moments of inertia, D0 ∈ PSDn is the generalized damping matrix, to

represent mechanical damping, K0 ∈ PSDn is the generalized stiffness matrix, to

represent elastic deformation, Λ0 ∈ Rn×m is the mechanical input matrix, and Ef0 ∈

Rn×q is the mechanical input disturbance force matrix.

The system is colocated, i.e., Λ0 is used to specify actuator input, and ΛT0 is used

to specify sensor output.

1In some cases, linear electrical components of the full model can be incorporated by this model.However, for simplicity we will exclude this interpretation.

27

Page 48: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Rigid Body and Flexible Body Motions

Consider Ker K0 = ξ ∈ Rn | K0ξ = 0. Physically, this is the subspace of mechanical

displacements/slopes that cause no elastic deformations in the LFSS. Typically Ker K0

corresponds to translations and/or (linearized) rotations of the LFSS, and is therefore

called the space of rigid body motions of the LFSS. An orthogonal basis for Ker K0

can be determined, which constitute rigid body modes. The number of independent

rigid body modes needed to span Ker K0 is designated n:

n := dim Ker K0 = n− rank K0. (2.8)

Later we will show that this is equivalent to n defined in (2.4). Meanwhile, from As-

sumption 2.1, we obtain n ≥ 1.

Computing the orthogonal complement of Ker K0 yields (Ker K0)⊥ = Img KT0 =

Img K0, which characterizes the flexible body motion of the LFSS.

We can apply a similar analysis as the above to D0: Ker D0 = ξ ∈ Rn | D0ξ = 0 is

the space of ξ in which there is no energy loss due to damping. Its orthogonal complement

Img D0 characterizes the space of ξ in which energy is lost. Let us now restate Assumption

2.2 in terms of the mechanical model (2.7):

Assumption 2.2 (Restated). Mechanical damping is always present in the flexible

body motion of the LFSS, and is always absent in the rigid body motion. As a result,

we have Img K0 = Img D0 (equivalently, Ker K0 = Ker D0).

We also restate Assumption 2.3:

Assumption 2.3 (Restated). Individual inputs act on the LFSS independently, or

alternatively, all outputs are independent: rank Λ0 = m.

The equivalence of the different forms of Assumption 2.2 and Assumption 2.3 will be

addressed in Section 2.2.3.

28

Page 49: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Example 2.3. For LFSS Benchmark A (Appendix B.1.1), from (B.1) we obtain

M0 =

1

10

1

, D0 =

0.1 −0.1 0

−0.1 0.2 −0.1

0 −0.1 0.1

, K0 =

1 −1 0

−1 2 −1

0 −1 1

.It is easy to show M0 ∈ PD3, K0 ∈ PSD3, and D0 ∈ PSD3. Next,

Ker K0 = span

1

1

1

, Img K0 = span

1

−1

0

, 0

1

−1

.

So n = 1, and the rigid body motion corresponds to horizontal translation of all 3

components. Finally, Ker D0 = span[1; 1; 1] = Ker K0, so Assumption 2.2 holds. 4

Lumped Component Method and Finite Element Method

The LFSS mechanical model (2.7) requires M0 ∈ PDn, D0 ∈ PSDn, and K0 ∈ PSDn

to be determined. We will discuss two ways to specify an LFSS model and determine

these matrices: the lumped component method and the finite element method.

When applying the lumped component method, an LFSS is modelled as discrete

masses that are connected by springs and damping elements (dashpots). The states of

the system consists of displacements and velocities of each mass, with respect to some

equilibrium in which each spring is in neutral position and stores no energy. Small

rotational motion (involving angles, torques, moments of inertia, tortional springs, etc.)

can be incorporated by linearization.

Well-known techniques in classical mechanics can be applied to determine M0, D0,

and K0. The effects of actuator forces/torques on ξ give rise to Λ0 ∈ Rn×m. Colocation

is achieved by making measurements along the direction of force/torque application.

The lumped component method is helpful in obtaining examples for illustrative pur-

poses (LFSS Benchmark A, LFSS Benchmark B). However, to derive complex and real-

istic LFSS models, the finite element method is more suitable (LFSS Benchmark C).

When applying the finite element method (FEM), the LFSS is initially modelled

as a distributed parameter system. Displacements can be represented as a continuous

function relative to an equilibrium surface. System dynamics are specified as partial

differential equations, or abstracted into energy functions using Hamiltonian mechanics

29

Page 50: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

[28]. In general, an LFSS can have complex geometry, under which analytical solutions

do not exist. FEM is used to extract an approximation of the total system, and proceeds

as follows: first, the LFSS is partition2 into numerous elements, each having a simple

geometry. Each element is then parameterized using a finite number of variables, which

are coefficients of various interpolating functions defined on the element. The dynamics

of each element are computed separately, and then reassembled to form M0, D0, and K0.

A detailed example of how FEM is carried out in Section B.3.

Comments on Damping

A full treatment of mechanical damping in LFSS would be beyond our scope. However,

we will emphasize two key points. First, mechanical damping, although always present in

elastic body motion (Assumption 2.2), is usually very weak in an LFSS. This is due to the

microgravity environment and the absence of atmospheric drag. As a result, mechanical

vibration is pronounced in LFSS, and active vibration suppression is essential.

The second issue is that the mechanical vibration in an LFSS is difficult to charac-

terize. Therefore an accurate representation of D0 matrix is often unavailable. However,

since the effects of damping are weak, it is common practise to impose various structural

assumptions on D0 to facilitate analysis.

Comments on Disturbances

Two types of disturbances are considered in (2.7): actuator disturbance Ef0w and output

disturbance Fw. Actuator disturbance is represented by an extra constant forcing term

in the equation (2.7a). This term can represent an external force applied on the LFSS,

such as the solar wind or an unresponsive “stuck-on” thruster. Output disturbance is

represented as an extra constant added to the output equation (2.7b).

It may seem redundant to specify disturbances as Ef0w and Fw; why not just use two

constant vectors? Our main motivation to use this notation is to retain the form of a

general servomechanism problem, in which w may arise from a more general exosystem.

We can interpret Ef0w as actuator noise that adversely affects the system dynamics.

From (2.7b) y = ΛT0 ξ + Fw, one may be inclined to interpret Fw as sensor noise that

distorts the “true output” ΛT0 ξ. However, this is an incorrect interpretation! Instead, y is

always the “true output”, and Fw acts as an unknown external influence that contributes

2“Partition” not in the strict definition, since elements can have shared boundaries.

30

Page 51: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

to the overall physical output, in addition to the contribution ΛT0 ξ from the states.

It is to be noted that the assumption on constant disturbances can be restrictive in

some situations. In particular, the case of periodic disturbances is not incorporated in

this model.

Extra Measurable Outputs

In our main reference [61], the LFSS model includes “extra measurable outputs” along

with matching colocated inputs. The LFSS model in this thesis omits these extra mea-

surable outputs. The main reason is that including these terms would be inconvenient,

since many expressions would be duplicated.

If we wish to include extra outputs/inputs, we may m′ ≤ m as the number of outputs

to be tracked, yrefp ∈ Rm′ as the new tracking references, and

ep = Py − yrefp ,

where P = [Im′ ,0m−m′ ] ∈ Rm′×m is a matrix that extracts the output components we

wish to track, thus leaving the other components as “extra measurable outputs”. The

control goal is to have limt→∞ ep(t) = 0. Note that the setup can also be extended by

making P ∈ Rm′×m general. We will briefly explore a similar setup in Section 3.4.3.

For every (P ,yrefp ), we can solve for yref ∈ Rm so that yref

p = Pyref , which leads

to y − yref → 0 =⇒ Py − yrefp → 0. So for simplicity, we will not consider extra

outputs/inputs in our development.

2.2.3 Transformation to Modal Representation

The LFSS mechanical model (2.7) may have a very high dimension. We now show how

to use modal representation and obtain (2.3), which enables modal truncation.

Derivation of the modal representation is commonly found in work relating to vi-

brational mechanics and space systems [3, 39, 52]. A typical derivation is to solve for

vibration modes, and show that these form a complete basis, which are used to simul-

taneously diagonalize M0 and K0. We shall adopt a different approach: derive the final

result first by matrix transforms, and then interpret the result as vibration modes.

From (2.7) we have obtained M0 ∈ PDn, and K0 ∈ PSDn ⊆ SYMn. Applying

Lemma A.17 to these yields T0 ∈ GLn that simultaneously diagonalizes M0 and K0 by

31

Page 52: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

congruent transformations:

TT0 M0T0 = I, TT

0 K0T0 ∈ DIAGm ∩ PSDm, (2.9)

where TT0 K0T0 ∈ PSDm follows from Lemma A.4. We define this matrix as Ω2, along

with other matrices:

Ω2 := TT0 K0T0 ∈ DIAGn ∩ PSDn, (2.10a)

∆ := TT0 D0T0 ∈ PSDn, (2.10b)

L := TT0 Λ0 ∈ Rn×m, (2.10c)

Ef := TT0 Ef

0 ∈ Rn×q. (2.10d)

Define modal state d ∈ Rn by d := T−10 ξ. Therefore ξ = T0d, which we substitute

into (2.7) to obtain

M0T0d+ D0T0d+ K0T0d = Λ0u+ Ef0w,

y = ΛT0 T0d+ Fw,

Left-multiplying the first equation by TT0 results in

(TT0 M0T0)d+ (TT

0 D0T0)d+ (TT0 K0T0)d = (TT

0 Λ0)u+ (TT0 Ef

0)w.

Finally, applying (2.9) and (2.10) results in the standard LFSS model (2.3):

d+ ∆d+ Ω2d = Lu+ Efw, (2.2a)

y = LTd+ Fw. (2.2b)

Now, since T0 ∈ GLm, so rank Ω2 = rank TT0 K0T0 = rank K0. Therefore the definition

of n in (2.4) and (2.8) are consistent. And since Ω2 ∈ DIAGm, so n diagonal elements

take the value of 0, and the remaining n− n elements are positive.

The transformation matrix T0 ∈ GLn is not unique. In particular, (2.9) is still

satisfied if we replace T0 ← T0P, where P ∈ On can permute columns of T0. The end

result is that diagonal elements of Ω2 become arbitrarily permuted. So without loss of

generality, we can assume that the diagonal elements of Ω2 are sorted by non-decreasing

32

Page 53: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

magnitude, i.e.,

Ω2 = diag(ω21, . . . , ω

2n), 0 = ω1 = . . . = ωn < ωn+1 ≤ . . . ≤ ωn. (2.11)

From the alternative form of Assumption 2.2 (p. 28), we have Img K0 = Img D0. This is

equivalent to Img K0T0 = Img D0T0, and then Img Ω2 = Img TT0 K0T0 = Img TT

0 D0T0 =

Img ∆, i.e., the original form of Assumption 2.2 (p. 25). Of course, this leads to the struc-

tures of Ω2, ∆, and L in (2.5).

We can similarly reconcile the two forms of Assumption 2.3 by noting that L = TT0 Λ0.

Analysis and Insights

Let us now state the well-known modal-analysis interpretation of the LFSS (2.3).

Consider the homogeneous equation of (2.7) without damping, and juxtapose it with

the transformed version with ξ = T0d:

M0ξ + K0ξ = 0, (2.12)

d+ Ω2d = 0. (2.13)

Recall from (2.11), that the diagonal elements of Ω2 are sorted. Let d = [d1; . . . ; dn],

and so (2.13) consists of n decoupled scalar equations di + ω2i di = 0 for i ∈ [1, n]Z. The

solutions of these equations are affine functions di(t) = ai+ bit (for some ai, bi ∈ R) when

ωi = 0 (i.e., i ∈ [1, n]Z), or sinusoids di(t) = ci cos(ωit − θi) (for magnitude ci ∈ R and

phase θi ∈ [0, 2π)R) when ωi > 0 (i.e., i ∈ [n + 1, n]Z). We combine these solutions into

the vector d(t) (2.13), and transform it back to the physical displacement vector ξ(t):

d(t) =n∑i=1

(ai + bit)ei +n∑

i=n+1

(ci cos(ωit− θi)) ei,

ξ(t) =n∑i=1

(ai + bit)T0ei +n∑

i=n+1

(ci cos(ωit− θi)) T0ei. (2.14)

Definitions and insights from this result:

• For i ∈ [1, n]Z, each (ωi = 0,T0ei) pair is called a rigid body mode, and T0ei is

the rigid body mode shape.

• For i ∈ [n + 1, n]Z, each (ωi > 0,T0ei) pair is called a flexible body mode. ωi

33

Page 54: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

is the mode frequency and T0ei is the vibration mode shape. Physically, if

ξ(0) = T0ei and ξ(0) = 0, then ξ(t) = cos(ωit)ξ(0), i.e., the LFSS undergoes

simple harmonic motion.

• The solution (2.14) of the homogeneous LESS (2.12) is a superposition of non-

interacting rigid and vibrating modes. This is why (2.3) is called the modal rep-

resentation of the LFSS.

• Suppose we reintroduce the damping term D0ξ, or ∆d. If ∆ ∈ DIAGn, then

modes are non-interacting once again. Otherwise the modes will affect one another

via damping, but the effect would be weak.

• We can interpret L ∈ Rn×m as how each input component eTj u for j ∈ [1,m]Z

is “coupled” to each modal displacement eTi d for i ∈ [1, n]Z. Let L = [`i,j]

ji . If

`i,j = 0, then the j-th input acts on a node of the i-th vibration mode, and cannot

(intentionally or unintentionally) affect this mode. Moreover, by colocation, `i,j = 0

implies that the dynamics of the i-th mode would not contribute to the j-th output.

2.2.4 Spillover Effects and Sensor-Actuator Colocation

Modal truncation is a method to reduce the dimensionality of the LFSS, thereby facili-

tating LFSS design and simulation. However, the truncated modes may be inadvertently

excited by a poorly designed controller, leading to instability. This phenomenon is called

“spillover effects”. This problem can be solved by imposing sensor-actuator colocation.

We also introduce the rigid body model.

Modal Truncation

The LFSS model obtained from FEM often has a high n, and is therefore impractical

for analysis and simulation. In Section 1.1.1, we introduced modal truncation, which

produces an approximation of the LFSS by discarding vibration modes (usually high-

frequency), and keeping the rigid modes and a finite number of vibration modes (see

Figure 1.1).

34

Page 55: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Let us consider (2.10) and (2.2), and rewrite (d,Ω2,∆,L,Ef) as

d =

dd1

d2

, Ω2 =

0n 0 0

0 Ω21 0

0 0 Ω22

, ∆ =

0n 0 0

0 ∆1 ∆T3

0 ∆3 ∆2

, L =

L

L1

L2

, Ef =

Ef

Ef1

Ef2

.where d(t), d1(t), and d2(t) are modal states corresponding to rigid body modes, modelled

vibration mode, and unmodelled vibration modes, respectively.

Modal truncation removes all dynamics related to d2, thereby changing (2.2) to

d2

dt2

[d

d1

]+

[0n 0

0 ∆1

]d

dt

[d

d1

]+

[0n 0

0 Ω21

][d

d1

]=

[L

L1

]u+

[Ef

Ef1

]w,

ytrunc =[LT LT

1

] [ dd1

]+ Fw.

where ytrunc ∈ Rm, and is a “low-pass” approximation of y. Therefore modal truncation

alters the system parameters by (n,∆,Ω2,L,Ef)old −→ (n,∆,Ω2,L,Ef)new. As long as

n ≥ m for the new modal-truncated parameters, then the assumptions and the properties

of the system matrices are preserved, and the form of the LFSS (2.3) is unchanged.

Our description of modal truncation seems to suggest that unmodelled modes are

obtained and explicitly removed. But in practise, one can directly obtain low-frequency

modes of the LFSS numerically or experimentally.

Spillover Effects

The modes d2 are excluded in a mode-truncated model. However, these modes are

present in the linearized full model. More specifically, d2 contribute to the physical

output y via LT2 , are affected by the input u via L2, and interact with d1 via ∆3. Since

∆ = [∆1, ∆T3 ; ∆3, ∆2] is positive definite, the interaction between d1 and d2 dissipates

energy, and is not a concern. However, the interaction of d2 with controller via y and u,

if not properly managed, can cause instability, as shown in the following example:

Example 2.4. Let us consider LFSS Benchmark A, but discard sensor/actuator pair 3,

35

Page 56: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

and assign Ef = 0 and F = 0 for simplicity. So u,y ∈ R2, and we obtain

Ω2 =

0

1

1.2

, ∆ =

0

0.1

0.12

, L =

0.2887 0.2887

−0.7071 0

−0.6455 0.1291

. (2.15)

Applying modal truncation to remove eT3 d results in

Ω2t =

[0

1

], ∆t =

[0

0.1

], Lt =

[0.2887 0.2887

−0.7071 0

]. (2.16)

Let us apply the following proportional and derivative (PD) output-feedback controller

(i.e. assuming yref = 0):

u = −KPy −KDy. (2.17)

To obtain the closed loop system, we apply this to x = Ax + Bu, y = Cx (2.3), while

noting that CB = 0. This results in

x = Ax+ Bu = Ax−B(KPCx+ KDCx)

= (A−BKPC)x−BKD(CAx+CBu)) = (A−BKPC−BKDCA)x.

If we choose KP = [0, 1;−1, 0] and KD = [0, 1;−1, 0], then applying the PD controller

on the modal-truncated system (2.16) yields closed loop eigenvalues −0.0086 ± j0.9992

and −0.0414 ± j0.2000i, i.e., the system is asymptotically stable (although barely so).

However, applying the PD controller to (2.15) yields eigenvalues 0.0231± j1.1071,

−0.0831± j0.2732, −0.0500± j0.9987, i.e., the full model becomes unstable!

If we choose KP = [1, 0; 0, 1] and KD = [1, 0; 0, 1], then the PD controller stabilizes

the modal-truncated model (eigenvalues −0.3247± j1.1856 and −0.0586± j0.3667) and

the full model (−0.5395± j1.3196, −0.0567± j0.3598, and −0.0638± j1.0528). 4

So from the example, we see that it is possible to design a controller that stabilizes

the truncated system, but becomes unstable when applied to the full model. This is an

example of spillover effects described in Section 2.2.4.

36

Page 57: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Sensor-Actuator Colocation

A well-established method to prevent spillover effects in LFSS is to use colocated sensors

and actuators [7,39]. For a more comprehensive explanation, we refer the reader to these

references. Meanwhile, let us provide a quick illustration (but not full proof) of this fact.

Given an LFSS (2.3) with an arbitrary finite number of modes, suppose that a PD

controller (2.17) using output feedback is applied. In Example 2.4, the resulting closed

loop system matrix was shown to be A − BKPC − BKDCA. Rewriting this using

(∆,Ω2,L) yields

A−BKPC−BKDCA =

[0 I

−Ω2 − LKPLT −∆− LKDLT

].

Next, under colocation, Ω2+LKPLT and ∆+LKDLT are symmetric. From Lemma A.20,

these matrices are p.d., and a well-known fact is that the closed-loop system matrix is

stable as a result3This result holds regardless of the number of vibration modes included

in the model. Therefore a colocated LFSS can be stabilized by an output feedback

controller (we used a PD controller), so that the spillover effect is prevented.

The Rigid Body Model

Remove all flexible modes and ignoring disturbances results in the rigid body model:

¨d = Lu, y = LTd,

which is also written as (for x = [d;˙d])

˙x =

[0 I

0 0

]x+

[0

L

]u,

y =[LT 0

]x,

(2.18)

where y ∈ Rm. The rigid body model (in particular L) is easily determined by simulation

or experiments than the LFSS. Moreover, it plays a key role in the development of our

main results.

3We will restate this result in Corollary 4.5.

37

Page 58: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.3 Decentralized Robust Servomechanism Problem

of the LFSS (DRSP)

The decentralized robust servomechanism problem for the nominal LFSS (DRSP) is a

problem that was formulated and solved in [61]. Our goal in this thesis is to extend

DRSP by applying a fault tolerant control framework (Section 2.4). In this section, we

define decentralized control of the LFSS, state the DRSP in detail, and present the main

results from [61].

2.3.1 Decentralized Control of Colocated LFSS

Let us consider an output-feedback controller for the LFSS. The physical output y ∈ Rm

of the LFSS (2.3) is measured by sensors. This results in measured output ym ∈ Rm.

Next, a controller takes ym and computes actuator input u ∈ Rm. Finally, u is passed

to the LFSS’s actuators. For the nominal LFSS, we can assume that ym = y. This will

change once we consider sensor and/or actuator failures (Section 2.4.1).

A controller that uses ym(t) to generate u(t) without restricting how components of

ym(t) can be used to compute components of u(t) is called a centralized controller.

Such a controller typically reads sensors measurements from all over the LFSS, performs

computation in a single location, and then dispatches control signals to each actuator.

This control scheme typically has a high communication overhead.

By contrast, a decentralized controller [61] is a modular design that uses N ∈N local controllers (designated Sii∈[1,N ]Z) to control the LFSS. In this approach,

sensors and actuators are each partitioned into N (vector) components; so ym and u

are partitioned into (ym1 , . . . ,y

mN) and (u1, . . . ,uN), respectively. For each i ∈ [1, N ]Z,

Si reads ymi and generates ui. Local controllers do not directly communicate with one

another.

We want to maintain colocation in local controllers. This is specified by keeping each

sensor/actuator pair within the same local controller. Therefore Si (for each i ∈ [1, N ]Z)

has mi ≥ 0 colocated inputs and outputs, where m = m1 + m2 + . . . + mN . The new

local signals and their aggregate versions are specified in Table 2.4:

38

Page 59: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Signal Name Local Signals Aggregate Signal

Actuator input ui(t) ∈ Rmi u = [u1;u2; . . . ;uN ]

Physical output yi(t) ∈ Rmi y = [y1;y2; . . . ;yN ]

Measured output ymi (t) ∈ Rmi ym = [ym

1 ;ym2 ; . . . ;ym

N ]

Tracking reference (constant) yrefi ∈ Rmi yref = [yref

1 ;yref2 ; . . . ;yref

N ]

Tracking error ei(t) ∈ Rmi e = [e1; e2; . . . ; eN ]

Table 2.4: Local signals and their aggregated versions.

The decentralized LFSS (also designated LFSS) is defined as

x =

[0 I

−Ω2 −∆

]x+

N∑i=1

[0

Li

]ui +

[0

Ef

]w, (2.19a)

yi =[LTi 0

]x+ Fiw, i ∈ [1, N ]Z, (2.19b)

ei = ymi − yref

i , i ∈ [1, N ]Z. (2.19c)

So for each i ∈ [1, N ]Z, Si reads ymi , takes yref

i , evaluates ei, and generates ui. Also,

Li ∈ Rn×mi , Fi ∈ Rmi×q satisfy

L =[L1 . . . LN

], F =

F1

...

FN

.Note that (2.19) resembles (2.3) superficially. The key difference is that in (2.3), no

constraints were imposed on how ym (= y) is used to produce u by output feedback. By

contrast, (2.19) requires that only ymi is used to generate ui, i.e., decentralized control is

a restriction on information flow on generating controller signals from measurements.

We consider the LFSS models (2.3) and (2.19) to be equivalent, and designate both

of them by LFSS. However, for conciseness we would prefer to use (2.3) in our derivation

and proofs. The decentralization structures of controllers will be specified as constraints,

which will be apparent when we specify these controllers in detail.

39

Page 60: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.3.2 Problem Definition

The decentralized robust servomechanism problem for the LFSS (DRSP) is as

follows. Given an LFSS (2.3), find a decentralized controller (Section 2.3.1) so that:

〈A1〉 Every eigenvalue of the resulting closed loop system is found in the open left half

plane.

〈A2〉 Asymptotic tracking and regulation occurs, i.e., limt→∞ e(t) = 0, for all constant

references yref ∈ Rm, all constant disturbances w ∈ Rq, and all initial conditions

of the system.

〈A3〉 Property 〈A2〉 holds for all perturbations of the LFSS that do not cause the resulting

controlled system to become unstable. This includes the case of any unmodelled

elastic modes in (2.3).

The robustness condition in 〈A3〉 applies the notion of “perturbation” given in

[19]: (C,A,B) are modified so that each matrix element is shifted by an amount whose

magnitude is bounded by some ε > 0. For a sufficiently small ε, all closed loop system

produced from a fixed stabilizing controller would be stable for all perturbed systems.

〈A3〉 requires that these closed loop system also need to satisfy property 〈A2〉.In 〈A3〉, the “unmodelled elastic modes” specification is mainly intended for modal-

truncated LFSS. For these models, property 〈A2〉 must continue to hold even when the

given LFSS is augmented with additional flexible modes (thereby increasing n). The

original colocation property would continue to hold; this is important to ensure that a

stabilizing controller would continue to function (i.e., this prevents spillover effects).

2.3.3 Solution

Necessary and sufficient conditions for the DRSP to have a solution are given by the

following theorem proved in [61]:

Theorem 2.1. Given an LFSS (2.3), the following are equivalent:

〈M1〉 There exists a solution to the DRSP, i.e., a decentralized controller for (2.19)

that satisfies properties 〈A1〉–〈A3〉.

40

Page 61: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

〈M2〉 The LFSS (2.3) has no transmission zeros [22] at 0, i.e.,

0 /∈

λ ∈ C

∣∣∣∣∣ rank

[A− λI B

C 0

]< 2n+m

.

〈M3〉 The LFSS (2.3) has no decentralized fixed modes at 0, i.e., (in the case of linear

control)

0 /∈⋂

K∈Rm×m

σ (A−BKC) .

〈M4〉 The LFSS rigid body model (2.18) has no decentralized fixed modes at 0, i.e.,

(in the case of linear control)

0 /∈⋂

Ki∈Rmi×mi | i∈[1,N ]Z

σ (A−B× block diag(K1, . . . ,KN)×C) .

〈M5〉 The LFSS rigid body model (2.18) is controllable, i.e.,

rank

[0

L

];

[0 I

0 0

][0

L

]; . . . ;

[0 I

0 0

]n−1 [0

L

] = 2n.

〈M6〉 rank(L) = n, where L ∈ Rn×m is defined in (2.5).

The proofs will not be reproduced here. However, for insight, we note that 〈M2〉–〈M5〉 can be reformulated equivalently (noting that a matrix has no 0 eigenvalues ⇔ it

is invertible ⇔ it has full rank) to

〈M2〉 rank

[A B

C 0

]= 2n+m.

〈M3〉 (∃K ∈ Rm×m) : rank(A−BKC) = 2n.

〈M4〉 (∃Ki ∈ Rmi×mi | i ∈ [1, N ]Z) : rank

A−B

K1

. . .

KN

C

= 2n.

〈M5〉 rank

[0 L

L 0

]= 2n.

Therefore 〈M2〉–〈M6〉 can all be expressed as some rank condition. 〈M6〉 is the most

concise among these, and will play an essential role in this thesis.

41

Page 62: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Proportional-integral-derivative (PID) controllers are well-known and are widely

applied. A family of PID controllers that solves the DRSP is stated below [61]:

Theorem 2.2. Assume that the DRSP for an LFSS (2.19) has a solution. Consider

a decentralized controller in which each local controller Si, i ∈ [1, N ]Z applies the fol-

lowing local implementation of the decentralized tuning PID controller (DCtrl):

ui = −KPi ei −KD

i ei − εKIiηi, (2.20a)

ηi = ei = ymi − yref

i , (2.20b)

where4 KP/D/Ii ∈ PDmi, and ηi ∈ Rmi is the local integrator state. Then there

exists ε? > 0 such that properties 〈A1〉–〈A3〉 hold for all ε ∈ (0, ε?)R.

Here, “tuning” refers to the ability to adjust ε > 0 in the designing of the DCtrl (2.23)

for the LFSS. A suitable ε ∈ (0, ε?)R is obtainable by applying a 1-dimensional search,

using methods found in [17, 20, 48]. To choose suitable KP/D/I1 , . . . ,K

P/D/IN , the methods

in [21,61] can be applied.

We can combine KP/D/I1 , . . . ,K

P/D/IN into combined gain matrices KP/D/I ∈ PDm,

and η1, . . . ,ηN into combined integrator state η ∈ Rm:

KP/D/I := block diag(KP/D/I1 , . . . ,K

P/D/IN ), (2.21)

η := [η1; . . . ;ηN ]. (2.22)

The combined actions of the local controllers from (2.20) can be represented as

u = −KPe−KDe− εKIη, (2.23a)

η = e = ym − yref . (2.23b)

Throughout this thesis, we will assume that KP/D/I ∈ PDm is block-diagonal in the form

in (2.21). Note that this automatically holds if KP/D/I ∈ DIAGm.

2.4 Fault Tolerant Control (FTC) of the LFSS

In Section 1.1.3, we introduced basic definitions for fault-tolerant control (FTC), and in

Section 1.2 we reviewed related work. We now provide technical details related to FTC.

42

Page 63: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

Specifically, we will present the sensor and/or actuator failure (SAF) model, define the

LFSS model with failure (LFSSF), and provide additional reviews on fault diagnosis.

2.4.1 Sensor and/or Actuator Failures

The main types of faults considered in this thesis are sensor and/or actuator failures

(SAF). Only total-failures are considered, i.e., failed sensors or actuators become “stuck”

at 0. To develop the SAF model, we begin from a decentralized perspective (i.e., for local

controllers), and then present a unified, centralized framework that is easier to work with.

Let us consider a local controller Si, i ∈ [1, N ]Z, which reads local physical output

yi ∈ Rmi , produces local measured output ymi ∈ Rmi , and then computes local actuator

input ui ∈ Rmi .

Sensor Failure

Sensor failures may occur in each component of local output yi. Recall that eTj yi is the

j-th component of yi, where j ∈ [1,mi]Z. We are focusing on total failures, so a sensor

failure in eTj yi is modelled by assigning eT

j ymi = 0. The physical output quantity eT

j yi(t)

(which is the main focus of the DRSP) still exists, but sensor failure makes it inaccessible

to Si. In summary:

eTj y

mi =

0 , if sensor j of Si has a failure,

eTj yi, if sensor j of Si is healthy.

This is represented by defining the local sensor failure matrix Fyi ∈ DIAG

mi

0,1 by

(∀j ∈ [1,mi]Z) : eTj F

yi ej =

0, if sensor j of Si has a failure,

1, if sensor j of Si is healthy,(2.24)

Therefore sensor failures are modelled as a multiplicative fault:

ymi = Fy

i yi, ∀i ∈ [1, N ]Z.

If Si has no sensor failures, then Fyi = Imi

, i.e., for the nominal case we have ymi = yi.

For example, if mi = 4, and a sensor failure occurs on the 1st and 3rd components of

43

Page 64: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

yi, then we would specify

Fyi = diag(0, 1, 0, 1) =

0

1

0

1

∈ DIAG40,1.

If sensor failures are diagnosed, then our model can represent more general classes

of sensor failures (beyond total failure), for which the controller purposely ignoring the

signal, thus making the sensor signal effectively 0. However, if passive FTC without

diagnosis is considered, then we are limited to a total failure model, which requires a

failed sensor to “die” and produce a readout of 0.

Actuator Failure

Actuator failures may occur in each component of local input ui. Recall that eTj ui is

the j-th component of ui, where j ∈ [1,mi]Z. We are focusing on total failures, so an

actuator failure in eTj ui is modelled by assigning 0 as the corresponding input into the

LFSS. Similar to the sensor failure case, we define the local actuator failure matrix

Fui ∈ DIAGn0,1 by

(∀j ∈ [1,mi]Z) : eTj Fu

i ej =

0, if actuator j of Si has a failure,

1, if actuator j of Si is healthy.(2.25)

We consider ui as “intended” signals for the physical actuators, and is unaffected by the

presence of actuator failures. Instead, under actuator failures we perform the following

substitution:

ui ← Fui ui, ∀i ∈ [1, N ]Z,

in the LFSS dynamics (2.19). Unlike the sensor failure case, we do not define a new signal

for this. If Si has no actuator failures, then Fui = Imi

.

If actuator failures are diagnosed, then our model can represent more general classes of

actuator failures (beyond total failure), for which the controller deactivating the actuator,

thus making the actuator signal effectively 0. However, if passive FTC without diagnosis

is considered, then we are limited to a total failure model, which requires a failed actuator

44

Page 65: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

to “go limp” and apply no force/torque to the LFSS.

Our framework can actually model a more general class actuator failure, and in par-

ticular, the case where a failed actuator is stuck at some non-zero constant. We can

represent such an offset by modelling it as a component of the input disturbance Efw.

Unfortunately, this generalization does not extend to the case of stuck-at-constant sensor

failures; as mentioned in Section 2.2.2, Fw is a contributing part to the physical output

yref , and should not be considered as some offset arising from sensor failure.

Combined Failure

We define local combined failure matrix Fi ∈ DIAGn0,1 by

(∀j ∈ [1,mi]Z) : eTj Fej =

0, if sensor j and/or actuator j of Si has a failure,

1, if sensor j and actuator j of Si are healthy,

(2.26)

∴ Fi := Fyi Fu

i , ∀i ∈ [1, N ]Z.

Also, if Si has no SAF, then Fi = Imi.

To simplify terminology, we say that the physical output component eTj yi for j ∈

[1,mi]Z is a healthy output if its corresponding sensor and actuator are healthy. Also,

eTj yi is called a failed output if its corresponding sensor or actuator has failed.

Centralized Perspective

We introduced SAF in terms of local controllers, but for derivations and proofs, it is

more convenient to consider a centralized perspective to produce single matrices. Let

the sensor failure matrix Fy ∈ DIAGm0,1, the actuator failure matrix Fu ∈DIAGm0,1, and the combined failure matrix F ∈ DIAGm0,1 be defined as follows:

Fy := block diag(Fy1 , . . . ,F

yN), (2.27)

Fu := block diag(Fu1 , . . . ,Fu

N), (2.28)

F := block diag(F1, . . . ,FN) = FyFu. (2.29)

45

Page 66: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

This allows us to write the measured output ym ∈ Rm as

ym = [ym1 ; . . . ;ym

N ] = [Fy1y1; . . . ;Fy

NyN ] = Fyy.

To represent actuator failures, we would substitute u← Fuu.

We can use failure matrices to specify components of the physical output. The pro-

totypical example is “healthy outputs asymptotically approaches zero”, which is written

“limt→∞Fy(t) = 0.” Here, Fy acts as a “filter” that nullifies failed output components

so that they become irrelevant.

We will abuse notation slightly, and express the set of healthy outputs by Fy. For

example, if F = diag(0, 1, 1, 0), then the set of healthy outputs eT2 y, e

T3 y would be

referred to as Fy; and the nullified components eT1 y, e

T4 y by (I −F)y. Table 2.5 lists

some extensions of this notation, by applying Fy and Fu. A similar representation is

Output subsets Notation

Healthy outputs FyFailed outputs (failed sensors or failed actuators) (I −F)y

Outputs with failed sensors (I −Fy)y

Outputs with failed actuators (I −Fu)y

Outputs with healthy actuators and failed sensors Fu(I −Fy)y

Outputs with healthy sensors and failed actuators Fy(I −Fu)y

Outputs with failed sensors and failed actuators (I −Fy)(I −Fu)y

Table 2.5: Specifying various failure-related subsets of y using Fy, Fu and F .

applied to signals other than y. For example, Fe specifies tracking error components

corresponding to healthy sensor/actuator pairs; and (I−F)yref specifies output reference

components corresponding to failed sensors or failed actuators.

In general, Boolean functions on sensor/actuator failures can be constructed with

failure matrices using some integer combination of I,Fy,Fu,F. This uses the fact

that for a, b ∈ 0, 1, NOT a = 1 − a, a AND b = ab, a2 = a, and any logical gates

can be constructed with AND and NOT (e.g., a OR b = a + b − ab). The matrix Fy

represents the predicate “healthy sensors”, and Fu represents the predicate “healthy

actuators”. The above computation readily extends to matrix computation. This leads

to “extractors” to specify and select desired component of y, ym = Fyy, e, yref , or η.

46

Page 67: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.4.2 The LFSS Model with Failure (LFSSF)

Applying the SAF model developed in Section 2.4.1 to the LFSS results in the LFSS

model under SAF (LFSSF):

x =

[0 I

−Ω2 −∆

]︸ ︷︷ ︸

A

x+

[0

L

]︸︷︷︸

B

Fuu+

[0

Ef

]︸ ︷︷ ︸

E

w, (2.30a)

y =[LT 0

]︸ ︷︷ ︸

C

x+ Fw, (2.30b)

ym = Fyy, (2.30c)

e = y − yref . (2.30d)

em = ym − yref . (2.30e)

This is a generalization of the nominal LFSS (2.3), which can be recovered by assigning

Fy = Fu = Im. The names and dimensions of various signal vectors in the LFSS are

summarized in Table 2.6 (note that x = [d; d]). The LFSS is colocated, but LFSSF may

Name Signal

Modal displacement d(t) ∈ Rn

Modal state x(t) ∈ R2n

Actuator input u(t) ∈ Rm

Physical output y(t) ∈ Rm

Measured output ym(t) ∈ Rm

Tracking reference (constant) yref ∈ Rm

Disturbance (constant) w ∈ Rq

Tracking error e(t) ∈ Rm

Measured tracking error em(t) ∈ Rm

Table 2.6: List of signals in LFSSF.

be non-colocated if Fy 6= Fu. This presents new challenge in controlling LFSSF, since

spillover effects need to be taken into consideration once again.

47

Page 68: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

2.4.3 Fault Diagnosis

The main FTC goal in this thesis is to perform fault accommodation on the LFSSF.

However, in our efforts to develop a passive FTC scheme for the LFSSF (Chapter 4),

an opportunity to perform fault diagnosis on SAF arises, and is subsequently developed

(Section 5.1). So as background, let us review some well-known fault diagnosis frame-

works for linear systems. The methods presented here are not implemented in this thesis,

but may be relevant for future development. Our main references are [8, 23,57–59,67].

We shall focus on on-line fault diagnosis of linear systems, in which runtime infor-

mation from a linear system is used to deduce the existence and location of faults. Basic

definitions in FTC and fault diagnosis were presented in Section 1.1.3.

Typically, fault diagnosis in a linear system proceeds as follows: at runtime, u(t) and

(measured) y(t) and are used to generate a residual signal r(t), which has the property

that r(t) = 0 if and only if no faults are present. A decision system then takes r(t) and

produces hypotheses on the existence (i.e., fault detection) and/or location (i.e., fault

isolation) of faults. System structure and properties that enable r(t) to be defined and

computed are known as analytical redundancies.

What follows is a high-level overview of well-known existing fault diagnosis frame-

works. Using the classification in [67], we will focus on model-based (instead of model-

free) and quantitative (instead of qualitative) methods of fault diagnosis. Therefore we

assume that the structure of the plant and the fault model are known.

Parity Space Approaches

A parity space approach checks the consistency of a system’s nominal dynamics from

measured data. As a basic example (simplified from [23]), let y = Cx+ ∆y, where ∆y

is an unknown additive fault. If there exists V so that VC = 0, then Vy = V∆y, i.e.,

x has been “decoupled”, and some information on ∆y can be determined. Given this

goal, one proceeds to find conditions and algorithms to enable the extraction of ∆y.

A more general approach utilizes a system’s temporal behaviour. For example, con-

sider the following discrete-time linear system with additive failures:

x(k + 1) = Ax(k) + Bu(k) + Fxf(k),

y(k) = Cx(k) + Du(k) + Fyf(k),

48

Page 69: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

where f(k) is the additive failure. System dynamics may be used to derive linear rela-

tionships among x,u,y,f at k, k − 1, . . . , k − s, for some s. By cancelling x, linear

relations among u(k), . . . ,u(k − s),y(k), . . . ,y(k − s) (known as parity relations) are

determined. These parity relations can then used to generate the residual r(t), which

should depend solely on f(k), . . . ,f(k − s). Input and output disturbances can also be

incorporated into this framework. This would then require state and disturbances to be

decoupled to obtain parity relations. In general, the existence and the properties (e.g.,

the quantity s) of parity relations are highly dependent on the system considered, which

also determine the extent to which f(k) can be recovered.

For continuous linear time-invariant systems, one can obtain parity relations by con-

sidering high-order derivatives of the state, output, and input. An implementation of this

scheme would require the application of estimation filters (details are provided in [8]).

State Estimation Approaches

The main idea of state estimation approaches is that an observer can be used to estimate

the state x(k), from which residuals can be derived. For example, one can take “the

most reliable output(s)” as the input to the observer, use it to computes a state estimate

x(k), which is then use to produce an estimation y(k) of all other outputs. The residual

is calculated by r(k) = y(k)− y(k).

Different state estimation approaches are obtained by specifying different observer

designs. For example, the feedback loop in an observer can be designed to decouple the

effects of faults or unknown inputs [23]. One can also implement multiple observers to

takes different components of y(k) as inputs, or to have different specializations with

regard to fault sensitivity. This is also called the dedicated observer approach.

For stochastic discrete-time linear systems, a Kalman filter is used instead of an

observer. Fault diagnosis would involve statistical tests. Like the dedicated observer

approach, one can specify multiple Kalman filters. This is also called the multiple-

model approach.

Multiple-model approaches can be used for more generic classes of faults, including

partial failures and/or incipient faults arising from structural changes. A basic scheme

would implement multiple Kalman filters are independent from one another. However,

interacting multiple-model approach (IMM) [65, 68] extends the above by mixing

the state estimates from the multiple models, and using the results to generate control.

49

Page 70: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 2. Background

More specifically, a probability distribution is specified for the multiple models, and

is dynamically updated. This distribution provides diagnosis results, and is used as

weighting factors to produce a feedback controller for the main system.

Parameter Estimation Approaches

A parameter estimation [23] (or parameter identification) approach expresses the math-

ematical models of a given system in terms of physical parameters. Faults occur when

these parameters are altered. So the main goal of fault diagnosis is to determine these

parameters from observed data. These parameters are then compared to known values

for a nominal plant and/or various failure models. This generates the desired residual

vectors, from which fault hypotheses are made.

An advantage of parameter estimation approaches is that by expressing faulty plants

in terms of parameters, it can cover a continuum of failed plant models. This property

can be applied to diagnose incipient faults.

Joint State and Parameter Estimation Approaches

By treating parameters as a special state, one may apply a common framework to perform

joint state and parameter estimation. This approach is applied in [64, 66, 69], in which

actuator failures are represented as a parameter that is multiplied to inputs, and also has

dynamics of its own. To estimate states (for feedback control) and parameters (for FTC),

a two-stage adaptive Kalman filter is used. The resulting system can handle incipient

faults, and is applied to perform integrated fault diagnosis and fault accommodation.

50

Page 71: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3

Active Fault-Tolerant Control of

Large Flexible Space Structures

using a PID Controller

In Chapter 2, the following are introduced: the decentralized colocated LFSS model

LFSS (2.3), the decentralized robust servomechanism problem DRSP of the LFSS, the

decentralized tuning PID controller DCtrl (2.23), and the sensor and/or actuator failure

(SAF) model, which when applied to the LFSS yields the LFSSF. For the DRSP of the

LFSS, necessary and sufficient conditions for a solution to exist [61] are given in Theorem

2.1. Moreover, if a solution exists, then Theorem 2.2 states that the controller DCtrl

(2.23) can be used to solve the DRSP.

In this chapter, we will extend these DRSP results for the LFSSF. Section 3.1 derives

the nominal closed loop system (CLS). Section 3.2 states the main problem (DRSPF),

which is a generalization of the DRSP that takes SAF (assumed to be known) into con-

sideration. Section 3.3 presents the fault-accommodating decentralized tuning PID con-

troller (DCtrlFA), and shows detailed analysis on how it can be used to solve the main

problem DRSPF. Section 3.4 presents the derivation of the steady-state output matrices

for the CLSF. The steady-state output matrices can be used to develop a feed-forward

control, which enables limited recovery of tracking objectives for failed sensors and ac-

tuators. Finally, Section 3.5 lists detailed examples and specific applications of the main

result.

Materials from this chapter up to and including Section 3.4 have been published in a

compressed form in [32].

51

Page 72: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

3.1 The Nominal Closed Loop System

Applying the decentralized tuning PID controller DCtrl (2.23) to the nominal colocated

large flexible space structure LFSS (2.3) yields the nominal closed loop system. This has

been studied in [61], but we present its derivation since we will examine it in detail.

3.1.1 Derivation

We apply the DCtrl (2.23) to the LFSS (2.3) to obtain a closed loop system. We begin

by eliminating y and isolating e and e (noting from (2.3) that CB = 0 and CE = 0):

e = ym − yref = y − yref = Cx+ Fw − yref ,

e = y = Cx = CAx+*

0CBu+

*0

CEw = CAx.

Substitute these into u, then into the expressions for x and η:

u = −KP(Cx+ Fw − yref)−KDCAx− εKIη,

x = Ax−B(KP(Cx+ Fw − yref) + KDCAx+ εKIη

)+ Ew

= (A−BKPC−BKDCA)x− εBKIη + BKPyref + (E−BKPF)w,

η = Cx+ Fw − yref .

Expanding A−BKPC−BKDCA yields the following:

A−BKPC−BKDCA =

[0 I

−Ω2 −∆

]−

[0

L

]KP[LT 0

]−

[0

L

]KP[0 LT

]=

[0 I

−Ω2 − LKPLT −∆− LKDLT

].

We now concatenate the system states x and η into an aggregate state [x;η] = [d; d;η].

The combined dynamics form the nominal LFSS closed loop system (CLS):[x

η

]= A

[x

η

]+ Brefyref + Bww, (3.1a)

y = C

[x

η

]+ Fw, (3.1b)

52

Page 73: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

where A ∈ R(2n+m)×(2n+m), Bref ∈ R(2n+m)×m, Bw ∈ R(2n+m)×q, and C ∈ Rm×(2n+m) are

A =

0 In 0

−Ω2 − LKPLT −∆− LKDLT −εLKI

LT 0 0

, (3.2)

Bref =

0

LKP

−Im

, Bw =

0

Ef − LKPF

F

, (3.3)

C =[

LT 0 0]. (3.4)

Theorem 2.2 (which was taken from [61]) states that if KP/D/I ∈ PDm, then for

sufficiently small ε > 0, the CLS is asymptotically stable, i.e., σ(A) ⊂ C−.

3.1.2 Insights

The high-level block diagram of a closed loop system obtained by applying a generic

decentralized controller to the LFSS is shown in Figure 3.1. A particular form the de-

Figure 3.1: An LFSS with a generic decentralized controller.

centralized controller is the DCtrl (2.23) and so Figure 3.1 also describes the CLS (3.1).

Note that the constant tracking reference yref and the (unknown) constant disturbance

w are considered as inputs to the closed loop system.

For concreteness, in our development we will focus on a class of decentralized PID

controller based on the DCtrl. However, following the development in [61], our main

results are applicable to a more general class of controllers. For illustrative purposes and

to appeal to the generalized perspective, we will present block diagram manipulations

(such as Figure 3.1) alongside detailed algebraic manipulations.

53

Page 74: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

3.2 Decentralized Robust Servomechanism Problem

for LFSS under Failure (DRSPF)

We have seen how the DRSP for the LFSS (2.3) can be solved, and that if a solution

exists, then the DCtrl (2.23) can be used. However, under SAF, the past results are no

longer applicable, and control objectives (in particular, stability, tracking and disturbance

regulation) are no longer satisfied. Therefore we need to design a new controller that

would allow the system to tolerate SAF. To this end, we first state key assumptions on

the nature of and the knowledge on SAF. These enable us to state our main problem:

The decentralized robust servomechanism problem for LFSS under failure (DRSPF).

3.2.1 The Effect of Failures

Recall that under failures (Fy,Fu), the LFSS (2.3) becomes the LFSSF (2.30), which was

found to be

x =

[0 I

−Ω2 −∆

]︸ ︷︷ ︸

A

x+

[0

L

]︸︷︷︸

B

Fuu+

[0

Ef

]︸ ︷︷ ︸

E

w, (2.30a)

y =[LT 0

]︸ ︷︷ ︸

C

x+ Fw, (2.30b)

ym = Fyy, (2.30c)

e = y − yref . (2.30d)

em = ym − yref . (2.30e)

Figure 3.2 depicts the closed loop system formed by applying a generic output-feedback

decentralized controller to an LFSSF. We see that fault matrices form an “interface

layer” between the nominal LFSS and the decentralized controller. The decentralized

controller is now given the measured output ym = Fyy. And instead of u, the signal

Fuu is applied to the LFSS. We have defined y independently (instead of just writing

ym = FyCx + FyFw) to emphasize that the physical output y is still defined, even

though it is inaccessible to the controller.

LFSSF is defined by grouping the LFSS with (Fy,Fu) (the shaded area in Figure 3.2).

The FTC problem involves finding a new controller that would accommodate this trans-

54

Page 75: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Figure 3.2: An LFSSF with a decentralized controller.

formed plant. Alternatively, we can group (Fy,Fu) with the decentralized controller;

thus the FTC problem involves compensating for a “handicapped” controller for a nom-

inal LFSS. We will primarily follow the first perspective, but the other perspective (or

other combinations) can offer interesting insights.

Using the first perspective, under SAF the controller receives ym = Fyy instead of

y. So the DCtrl (2.23) becomes

u = −KPem −KDem − εKIη,

η = em = ym − yref .

Applying the DCtrl on the LFSSF does not yield the CLS (3.1), and so conditions 〈A1〉–〈A3〉 may cease to hold.

Example 3.1. All LFSS examples are described in detail in Appendix B. Consider LFSS

Benchmark A (described in Section B.1), and a DCtrl (2.23) specified by the following:

KP = 2×

1 0.2 0.2

0.2 1 0.2

0.2 0.2 1

, KD = 14×

1 0.2 0.2

0.2 1 0.2

0.2 0.2 1

, KI =

1 0.2 0.2

0.2 1 0.2

0.2 0.2 1

,and ε = 0.2. Note that the controller in this case is centralized (i.e., N = 1). Next, we

choose yref = [1;−1; 2] and assignw = [1; 1; 1]. Simulations plots are shown in Figure 3.3,

which simulates the nominal plant (with 0-initial condition) for 50 s, before introducing

a (a) sensor failure or (b) actuator failure to the second output/input.

For the sensor failure case, we see that eT1 y increases without bound under sensor

failure in eT1 y (note that this problem goes undetected due to actuator failure). Therefore

the system is unstable; so 〈A1〉 ceases to hold.

55

Page 76: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

0

10

20

y1

−1

0

1

2

y2

0 50 100 150

1

1.5

2

y3

Time(sec)

−1

0

1

y1

−1

0

1

2

y2

0 50 100 150

1

1.5

2

y3

Time(sec)

(a) Sensor failure in eT1 y. (b) Actuator failure in eT

1 u.

Figure 3.3: LFSS Benchmark A controlled by a DCtrl, with a failure occurs at t = 50 s(Dashed lines depict the nominal case).

For the actuator failure case, we see that eT1 y remains constant, and thus the plant

remains stable (about some equilibrium). However, the tracking objective for eT1 y 6→

eT1 y

ref = 1, i.e., the tracking objective in 〈A2〉 ceases to hold. In fact, we also see

“collateral damage” in the other two outputs. This phenomenon was also observed for

the sensor failure case. 4

In general, SAF changes the closed loop matrix A (3.2) to the following: 0 In 0

−Ω2 − LFuKPFyLT −∆− LFuKDFyLT −εLFuKI

FyLT 0 0

. (3.6)

Using Figure 3.2 as a guide, we can obtain this by symbolically replacing L← LFu (for

B) and LT ← FyLT (for C) in (3.2).

The closed loop matrix (3.6) may become unstable. And even if stable, since the

LFSSF is in general not colocated, so the spillover effect can cause instability in the

physical LFSS.

3.2.2 Assumptions on Failures

To develop our main problem, we need to state some assumptions on SAF first.

56

Page 77: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Assumption 3.1. Sensor and/or actuator failures are diagnosed, and there is a

bounded delay between fault occurrence (changes to Fy and Fu) and fault diagno-

sis (Fy and Fu are available).

Fault diagnosis and fault accommodation are often considered as separate problems,

and Assumption 3.1 is stated to let us focus on fault accommodation for the LFSSF, and

not worry about details on how Fy and Fu are obtained. As a result of this assumption,

we are primarily concerned with active FTC of the LFSSF. In Chapter 4, we will relax

Assumption 3.1 and consider passive FTC of the LFSSF.

Assumption 3.2. Faults are permanent, i.e., once eTj yi (or eT

j ui) is nullified due

to a fault, it will remain at zero thereafter.

The purpose of Assumption 3.2 is to prevent the pathological situation in which

fault occurrence and fault recovery produce periodic switching of the system, which can

introduce instability in the overall system. Alternatively, we may opt for a less restrictive

condition, and simply require faults to be “quasi-static” by imposing that a finite number

of failure transition (occurrence and recovery) may occur within the foreseeable time

horizon.

3.2.3 Problem Definition

We now state the decentralized robust servomechanism problem for the LFSSF

(DRSPF), which is the main problem that we wish to solve in this chapter.

Given an LFSS (2.3), find a decentralized controller so that: (I) Conditions 〈A1〉–〈A3〉are all satisfied for the nominal LFSS (2.3), and (II) when failures occur and transform

(2.3) to the LFSSF (2.30), the closed loop system under the controller satisfies:

〈B1〉 Every eigenvalue of the resulting reduced-order closed loop system is contained in

the open left half plane.

〈B2〉 Asymptotic tracking and regulation occur for healthy outputs, i.e., limt→∞Fe(t) =

0, for all constant references yref ∈ Rm, all constant disturbances w ∈ Rq, and all

initial conditions of the system.

57

Page 78: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

〈B3〉 Property 〈B2〉 holds for all perturbations of the LFSS that do not cause the resulting

controlled system to become unstable. This includes the case of any unmodelled

elastic modes in (2.3).

The DRSPF is a generalization of the DRSP, since 〈B1〉–〈B3〉 degenerate to 〈A1〉–〈A3〉for the nominal LFSS with F = I.

3.3 Fault Accommodation

Having specified the assumptions on SAF and the main problem DRSPF, we proceed to

develop and analyze a fault accommodation scheme to achieve active FTC.

First we present the fault-accommodating decentralized tuning PID controller (DCtrlFA),

which is obtained by applying failure-dependent controller adjustments to the DCtrl. Ap-

plying the DCtrlFA to the LFSSF yields a new closed loop system CLSF. Although the CLSF

contains eigenvalues at 0, detailed analysis shows that these 0 eigenvalues do not partici-

pate in plant dynamics, and can therefore be eliminated. Finally, we obtain necessary and

sufficient conditions for the DRSPF to have a solution under DCtrlFA. This constitutes the

main results of this chapter (Theorem 3.2). Using ideas from [25], the main results can

be extended and applied to decentralized controllers that are more general than DCtrlFA.

We end this section with a discussion on how choosing diagonal gains enables us to only

require diagnosis of sensor failures, and allow unknown actuator failures to be present.

3.3.1 Controller Adjustments

To solve the DRSPF, we now propose a number of modifications to the DCtrl. Suppose

that a failure is detected in eTj yi or eT

j ui for some i ∈ [1, N ]Z, j ∈ 1, 2, . . . ,mi. We

propose that control agent Si makes the following adjustments:

〈C1〉 If an actuator failure is detected on eTj ui, then the sensor signal eT

j ymi is ignored

(i.e., eTj y

mi is set to 0).

〈C2〉 If a sensor failure is detected on eTj yi, then the actuator signal eT

j ui is deactivated

(i.e., eTj ui is set to 0).

〈C3〉 The tracking set point eTj y

refi is set to 0.

〈C4〉 The tracking error integral signal eTj ηi is set to 0.

58

Page 79: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Adjustments 〈C1〉 and 〈C2〉 ensure that eTj y

mi = 0 if and only if eT

j ui = 0. As a result,

the LFSSF (2.30) appears colocated. Adjustment 〈C3〉 imposes that eTj ηi = eT

j ei = 0

(since η = Fym−Fyref), so eTj ηi will not grow without bound. Adjustment 〈C4〉 assigns

eTj ηi to 0, so eT

j ηi does not add a constant disturbance to the system.

The controller obtained from applying adjustments 〈C1〉–〈C4〉 to the DCtrl (2.23) is

called the fault-accommodating decentralized tuning PID controller (DCtrlFA),

and is given by

ui = −Fi(KPi Fiei + KD

i Fiei + εKIiFiηi), ∀i ∈ [1, N ]Z (3.7a)

ηi = Fiei = Fiymi −Fiyref

i . ∀i ∈ [1, N ]Z (3.7b)

In centralized form, this becomes

u = −F(KPFe+ KDF e+ εKIFη),

= −F(KPF(ym − yref) + KDF ym + εKIFη),(3.8a)

η = Fem = Fym −Fyref . (3.8b)

These adjustments are carried out by substituting ym ← Fym = Fy, u ← Fu, yref ←Fyref (hence em ← Fem = Fe), and η ← Fη. Note that the expressions for u and η

are each written in different forms. The first form is more compact, and the second form

more accurately describes the physical implementation of the controller.

Adjustments 〈C1〉–〈C4〉 are implemented by control agents upon diagnosing a failure.

Since SAF are defined in finite time (Assumption 3.1), and since the LFSSF is a linear

system, so between fault occurrence and fault diagnosis, LFSS states and outputs remain

finite. Since we are interested in the asymptotic behaviour, so we will ignore this transient

period, before 〈C1〉–〈C4〉 are applied.

c© IEEE, reprinted with permission.

Figure 3.4: The structure of a decentralized colocated controller [32].

59

Page 80: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

A key observation is that to implement the DCtrlFA, the diagnoser does not need to

distinguish a sensor failure in eTj yi from an actuator failure in eT

j ui.

We will focus on using the DCtrlFA to solve the DRSPF. This provides us with a

concrete closed loop system from which results can be derived. However, we wish to

consider a more general class of controllers. To this end, we define a decentralized

colocated controller of the LFSSF (2.30) as a stable controller that has the structure

shown in Figure 3.4, which can be considered as a generic decentralized controller with

adjustments 〈C1〉–〈C3〉 applied. More precisely, a decentralized colocated controller that:

• Is independent of (I − F)y, i.e., it ignores all failed outputs. In Figure 3.4, this is

represented by pre-multiplying input ym by F .

• Is independent of (I −F)yref .

• Generates a control signal u that satisfies Fu = u.

The DCtrlFA (3.8) is an instance of such a controller. Note that 〈C4〉 is absent in Figure

3.4. This is because the adjustment 〈C4〉 is specific to the DCtrlFA; its role is to reset

misleading information stored in integral components in DCtrlFA.

3.3.2 The LFSSF Closed Loop System under DCtrlFA (CLSF)

Let us apply the DCtrlFA to the LFSSF (2.30). First, we define the effective modal

stiffness matrix Keff ∈ Rm×m and the effective modal damping matrix Deff ∈Rm×m as

Keff = Ω2 + LFKPFLT, (3.9)

Deff = ∆ + LFKDFLT. (3.10)

60

Page 81: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Figure 3.5: An LFSSF combined with a DCtrlFA results in a CLSF.

Let AF ∈ R(2n+m)×(2n+m), BrefF ∈ R(2n+m)×m, Bw

F ∈ R(2n+m)×q, and C ∈ Rm×(2n+m) be

AF =

0 In 0

−Keff −Deff −εLFKIFFLT 0 0

, (3.11)

BrefF =

0

LFKPF−F

, BwF =

0

Ef − LFKPFF

FF

, (3.12)

C =[

LT 0 0].

Using a similar derivation as in Section 3.1.1, we obtain the LFSSF closed loop system

under DCtrlFA (CLSF), which is a generalization of the CLS (3.1):[x

η

]= AF

[x

η

]+ Bref

F yref + Bw

Fw, (3.13a)

y = C

[x

η

]+ Fw, (3.13b)

ym = Fy. (3.13c)

Recall that y represents “physical” outputs that are defined independently of sensors,

whereas ym = Fyy represents sensor readings. Fym = FFyy = Fy is passed to the

DCtrlFA (3.8).

Recall that the decentralized colocated controller (Figure 3.4) is a generalization of

the DCtrlFA. Applying this controller to the LFSSF would result in the closed loop system

shown in Figure 3.5. The effects of controller adjustments 〈C1〉–〈C3〉 compared to the

baseline (i.e., no 〈C1〉–〈C3〉 blocks in Figure 3.5) are represented by the following algebraic

61

Page 82: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

substitutions: L ← LF , LT ← FLT, KP/D/I ← FKP/D/IF , and yref ← Fyref . Indeed,

applying these to the CLS (3.1) yields the CLSF.

Remark: By Assumption 3.2, the number of step changes that appears in the con-

troller (caused by fault or by adjustments 〈C1〉–〈C4〉) will be finite. Therefore switching

will not affect the asymptotic behaviour of the closed loop system, and in particular will

not cause instability.

3.3.3 Reduced LFSS Closed Loop System with Failure

When a failure occurs, the closed loop system AF will have eigenvalues at 0. However,

these eigenvalues are associated with the controller, and are rendered inert by 〈C3〉 and

〈C4〉. Therefore these 0 eigenvalues do not participate in CLSF dynamics. To facilitate

analysis, we now transform the CLSF into an equivalent reduced system.

Let us define m? ∈ Z as the number of healthy outputs, i.e., 1’s in F , or

m? := rank(F) ≤ m. (3.14)

Also, let the fault reduction matrix R ∈ Rm?×m be

R := F with all 0-rows removed. (3.15)

Without loss of generality, we may assume

F =

[Im? 0

0 0

], R =

[Im? 0

]. (3.16)

From these special forms, we arrive at the following identities:

F =

[R0

]=[RT 0

]= RTR, Im? = RRT, RF = R.

Next, L? ∈ Rn×m?, F? ∈ Rm?×q and KP?/D?/I? ∈ Rm?×m?

are defined as

L? = LRT, (3.17)

F? = RF, (3.18)

KP?/D?/I? = RKP/D/IRT. (3.19)

62

Page 83: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

These enable us to write LFKP/D/IF = LRTRKP/D/I[RT 0

]=[L?KP?/D?/I? 0

].

Using the above, we rewrite AF, BwF , and Bref

F as

AF =

0 In 0 0

−Keff −Deff −εL?KI? 0

L?T 0 0 0

0 0 0 0

,

BrefF =

0 0

L?KP? 0

−Im? 0

0 0

, BwF =

0

Ef − L?KP?F?

F?

0

.

The bottom block-row of AF, BrefF , and Bw

F are all 0, as are the rightmost block-column

of AF and BrefF . Components of η corresponding to these 0 blocks are fixed at 0 by

adjustments 〈C3〉–〈C4〉, and do not influence other variables. To remove these inert

states, we define

y? := RFym = Ry = R(LTd+ Fw),

yref? := Ryref ,

η? := Rη,

construct

A?F =

0 In 0

−Keff −Deff −εL?KI?

L?T 0 0

, (3.20)

Bref?F =

0

L?KP?

−Im?

, Bw?F =

0

Ef − L?KP?F?

F?

, (3.21)

C?F =

[L?T 0 0

], (3.22)

63

Page 84: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

and form the reduced LFSS closed loop system with failure (Red(CLSF)):[x

η?

]= A?

F

[x

η?

]+ Bref?

F yref? + Bw?F w,

y? = C?F

[x

η?

]+ F?w.

(3.23)

Compared to the original matrices in CLSF, these matrices all have reduced heights. A?F

and Bref?F also have reduced widths. The new output and measurement (now equal) is

y? ∈ Rm?. Keff and Deff are same as before, and can be written as

Keff = Ω2 + L?KP?L?T, Deff = ∆ + L?KD?L?T.

The Red(CLSF) (3.23) has the same form as the CLS (3.1); this can be verified by sub-

stituting η ← η?, ym ← y?, yref ← yref?, L← L?, F← F? and KP/D/I ← KP?/D?/I?.

The generalization of the Red(CLSF) is shown in Figure 3.6. This is similar to Figure

Figure 3.6: An LFSSF combined with a colocated controller.

3.5, but with F replaced with R or RT. The controller (grey box on the right) for

the LFSSF has the exact same input/output behaviour as the decentralized colocated

controller in Figure 3.4. However, the “internal” decentralized controller only ignores the

useless 0 components from Fym and Fyref (projected away by R), and generates some

reduced control signal u?, which is then “0-padded” to generate u = RTu?.

In general, F may not take the form of (3.16). However, we can permute the ordering

of outputs/inputs of the LFSSF (2.30), and obtain an equivalent system with F in (3.16).

We can then carry out the reduction in this section, undo the permutation of the η

components in the Red(CLSF) (3.23), and obtain a desired reduced system.1 Note that

1The transformed LFSSF (2.30) would lose the original decentralized structure, but this is compen-

64

Page 85: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

in general, RTR = F , RRT = Im? , and the Red(CLSF) structure in (3.23) all hold.

3.3.4 Reduced Colocated LFSS Model

Figure 3.7: Interrelationships among systems defined to solve the DRSPF.

Figure 3.7 lists the systems that we have defined so far to solve the DRSPF. Starting

from the LFSS (2.3), there are three development paths. The first path (right of LFSS)

shows that applying the DCtrl (2.23) to the LFSS (2.3) results in the CLS (3.1). The

DRSP, Theorem 2.1, and Theorem 2.2 are defined for and applied to this path. The

second path (top) shows that augmenting the LFSS (2.3) with (Fy,Fu) results in the

LFSSF (2.30). We then apply the DCtrlFA (3.8) to produce the CLSF (3.13), which is

reduced to Red(CLSF) (3.23). The DRSPF is defined on the second path, but Theorem

2.1 and Theorem 2.2 cannot be applied, because the LFSSF (2.30) is not colocated.

Now we introduce the third path in Figure 3.7 (bottom). From the LFSS (2.3), we will

construct the LFSS? (3.24), which is an abstract colocated LFSS to assist in our proofs.

Next, we will define the controller DCtrl? (3.26). Applying it to the LFSS? (3.24) will

result in a system called the CLS?. We will show that the CLS? has the same structure as

the Red(CLSF) (3.23). Therefore the third path admits Theorem 2.1 and Theorem 2.2,

which can now be applied to prove our main theorem involving the DRSPF.

Given an LFSS (2.3) and failure matrices Fy and Fu (thus defining F = FyFu, R,

sated by a proper choice of KP/D/I ∈ PDm (which in particular, can be diagonal).

65

Page 86: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

and m? = rank(F)) the reduced colocated LFSS model (LFSS?) is defined as

x =

[0 In

−Ω2 −∆

]︸ ︷︷ ︸

A

x+

[0

L?

]︸ ︷︷ ︸

B?

u? +

[0

Ef

]︸ ︷︷ ︸

E

w,

y? =[L?T 0

]︸ ︷︷ ︸

C?

x+ F?w,

e? = y? − yref?,

(3.24)

where u? ∈ Rm?, y? ∈ Rm?

, yref? := Ryref ∈ Rm?, L? = LRT, and F? = RF.

The LFSS? (3.24) has the structure of a colocated LFSS (2.3), under the substitutions

B ← B?, C ← C?, F ← F?, ym ← y?, and yref ← yref?, (A, n and E are unchanged).

The counterpart of the LFSS rigid body model (2.18) of the LFSS? (3.24) is the LFSS?

rigid body model:

˙x =

[0 In

0 0

]x+

[0

LRT

]u,

y =[RLT 0

]x,

(3.25)

where L is defined in (2.5). We will see this model again in Theorem 3.2.

The decentralized structures of the LFSS? (3.24) are as follows: For each i ∈ [1, N ]Z,

let m?i = rank(Fi) ≤ mi. We define Ri ∈ Rm?

i×mi , L?i ∈ Rn×m?

i and F?i ∈ Rm?

i×q as

Ri := Fi with all 0-rows removed,

L?i := LiRT

i , F?i := RiFi.

Note that m?i = 0 is allowed; we can apply usual calculation rules for empty matrices.

The inputs and outputs of the LFSS? (3.24) are u?i ∈ Rm?i , and y?i ∈ Rm?

i , where:

u? = [u?1;u?2; . . . ;u?N ]; y? = [y?1;y?2; . . . ;y?N ];

m? = m?1 +m?

2 + . . .+m?N , m?

i ≥ 0, i ∈ [1, N ]Z.

yref?i and e?i , i ∈ [1, N ]Z are similarly defined.

To control the LFSS? (3.24), we can apply a DCtrl that takes the form of (2.23). Let

66

Page 87: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

us call this the DCtrl?:

u?i = −KP?i e

?i −KD?

i e?i − εKI?

i η?i ,

η?i = y?i − yref?i .

(3.26)

The associated gains are specified by KP?/D?/I?i ∈ PDmi , i ∈ [1, N ]Z: Applying the DCtrl?

(3.26) to the LFSS? (3.24) results in a closed loop system called CLS?, which is obtained

by substituting L ← L?, F ← F? and KP/D/I ← KP?/D?/I? in the CLS (3.1). A key

observation is that the CLS? is identical to the Red(CLSF) (3.23).

The general case is illustrated in Figure 3.8. Observe that this is an identical closed

Figure 3.8: A second perspective of the system in Figure 3.6.

loop system to Figure 3.6. However, the R and RT “layer” is combined with the LFSSF

(2.30), which results in the colocated LFSS?. The “inner controller” is now just a regular

controller that takes yref? and controls the LFSSF. In summary, the LFSSF (2.30) under

a decentralized colocated controller (Figure 3.4) results in a closed loop system that is

identical to a LFSS? (3.24) under some decentralized controller.

3.3.5 Reducing the DRSPF to the DRSP

Recall that Theorem 2.1 and Theorem 2.2 cannot be directly applied to solve the DRSPF,

because the LFSSF (2.30) may not be colocated. However, the Red(CLSF) (3.23) and the

CLS? have an identical form. This suggests that the DRSPF on the LFSSF (2.30) can be

reduced to the DRSP on the LFSS? (3.24). We formalize this idea in Lemma 3.1:

Lemma 3.1. Let the LFSS (2.3) and failure matrices Fy, Fu (resulting in F , R,

m? = m?1 + m?

2 + . . . + m?N) be given. Let [K

P/D/Ii ∈ Rmi×mi ]i∈[1,N ]Z and [K

P?/D?/I?i ∈

67

Page 88: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Rm?i×m?

i ]i∈[1,N ]Z satisfy KP/D/Ii ∈ PDmi and K

P?/D?/I?i := RiK

P/D/Ii RT

i ∈ PDm?i for all

i ∈ [1, N ]Z. Let ε > 0. Then the following statements are equivalent:

〈D1〉 The DCtrlFA (3.8) constructed from [KP/D/Ii ]i∈[1,N ]Z and ε satisfies conditions

〈B1〉–〈B3〉 for the LFSSF (2.30).

〈D2〉 The DCtrl? (3.26) constructed from [KP?/D?/I?i ]i∈[1,N ]Z and ε satisfies conditions

〈A1〉–〈A3〉 for the LFSS? (3.24).

Proof. The LFSSF (2.30) and LFSS? (3.24) are defined from the LFSS and F . The DCtrlFA

(3.8) and the DCtrl? (3.26) are determined from the given [KP/D/Ii ]i∈[1,N ]Z , [K

P?/D?/I?i ]i∈[1,N ]Z

and ε. Applying the DCtrlFA (3.8) to the LFSSF (2.30) results in a CLSF that reduces to

a Red(CLSF) (3.23). Applying the DCtrl? (3.26) to the LFSS? (3.24) results in a CLS?. In

this proof, 〈B1〉–〈B3〉 are stated for the LFSSF (2.30), and 〈A1〉–〈A3〉 are stated for the

LFSS? (3.24).

(〈B1〉 ⇔ 〈A1〉) Since by definition, KP?/D?/I? := RKP/D/IRT, this implies that the

Red(CLSF) (3.23) and CLS? have identical structures, and thus identical eigenvalues.

(〈B2〉 ⇔ 〈A2〉) 〈B2〉 and 〈A2〉 respectively state:

(∀yref ,w,x(0),η(0)) : limt→∞Fe(t) = 0,

(∀yref?,w,x(0),η?(0)) : limt→∞

e?(t) = 0.

The Red(CLSF) (3.23) and the CLS? are identical, so ifRyref = yref?, Rη(0) = η?(0), then

for common w and x(0), both systems will produce the same x(t) and e(t). Let us write

Fe(t) = RTRe(t), and e?(t) = y?(t) − yref? = R(y(t) − yref) = Re(t). Suppose 〈B2〉holds. For any given yref? (and η?(0)), we can define yref (η(0)) by zero-padding, so that

Ryref = yref? (Rη(0) = η?(0)). Note that RFe(t) = R(RTRe(t)) = (RRT)(Re(t)) =

e?(t), since RRT = I. Thus Fe(t)→ 0 implies e?(t)→ 0, and 〈A2〉 holds. Conversely,

suppose 〈A2〉 holds. For any given yref (and η(0)) we assign yref? := Ryref (η?(0) :=

Rη(0)) and then RTe?(t) = Fe(t), so e?(t)→ 0 implies Fe(t)→ 0, i.e., 〈B2〉.

(〈B3〉 ⇔ 〈A3〉) This follows from the equivalence of Red(CLSF) and CLS?.

The lemma follows from the above equivalences.

68

Page 89: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

3.3.6 Existence of Solution to the DRSPF using the DCtrlFA

Let the LFSS (2.3) and failure matrices Fy, Fu be given, from which we obtain F = FyFu

(2.29) and R (3.15). Our main result for solving the DRSPF is presented below.

Theorem 3.2. The following are equivalent:

〈E1〉 The DRSPF can be solved by using a DCtrlFA (3.8).

〈E2〉 The LFSS? rigid body model (3.25) has no decentralized fixed modes at 0, where

L is defined in (2.5).

〈E3〉 For every p.d. [KP/D/Ii ]i∈[1,N ]Z, there exists ε? > 0 so that for all ε ∈ (0, ε?)R, the

resulting DCtrlFA (3.8) solves the DRSPF.

〈E4〉 (Also 〈R1〉) The rank test rank(LF) = n holds, where n is the number of rigid

body modes in (2.3).

〈E5〉 There exists a decentralized colocated controller (Figure 3.4) that solves the

DRSPF.

Proof. Recall the definitions for the following: The LFSS (2.3), Fy (2.27), Fu (2.28), F(2.29), and R (3.15), respectively.

(〈E1〉 ⇒ 〈E2〉) 〈E1〉 states the existence of [KP/D/Ii ∈ PDmi ]i∈[1,N ]Z and ε > 0 under

which 〈D1〉 holds. Next, define [KP?/D?/I?i ]i∈[1,N ]Z by K

P?/D?/I?i := RiK

P/D/IRTi ∈ PDm

?i ,

then 〈D2〉 holds by Lemma 3.1. The LFSS? (3.24) from 〈D2〉 has the structure of an

LFSS, and the DCtrl? (3.26) satisfies 〈A1〉–〈A3〉, so the DRSP for the LFSS? (3.24) has a

solution (〈M1〉). Applying Theorem 2.1 to the LFSS? (3.24), reveals that 〈M3〉 the LFSS?

rigid body model (3.25) has no decentralized modes, i.e., 〈E2〉 holds.

(〈E2〉 ⇒ 〈E3〉) Take any p.d. [KP/D/Ii ]i∈[1,N ]Z , and construct [K

P?/D?/I?i ]i∈[1,N ]Z by

KP?/D?/I?i = RiK

P/D/Ii RT

i ∈ PDm?i . Applying Theorem 2.1 to the LFSS?, then 〈E2〉

corresponds to 〈M3〉, so by 〈M1〉, the DRSP for the LFSS? has a solution. Applying

Theorem 2.2 and choosing [KP?/D?/I?i ]i∈[1,N ]Z as gains, then there exists ε? > 0 so that

for all ε ∈ (0, ε?)R, the resulting DCtrl? (3.26) satisfies conditions 〈A1〉–〈A3〉 when ap-

plied to the LFSS? (3.24), i.e., 〈D2〉 holds. From Lemma 3.1, 〈D1〉 holds for the original

[KP/D/Ii ]i∈[1,N ]Z and any ε ∈ (0, ε?)R, i.e., 〈E3〉 holds.

69

Page 90: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

(〈E3〉 ⇒ 〈E1〉) This trivially holds.

(〈E2〉 ⇔ 〈E4〉) From Theorem 2.1, 〈E2〉 is equivalent to 〈M6〉 for LFSS?: rank(LRT) =

n. 〈E4〉 is obtained from rank(LF) = rank(LRT).

(〈E1〉 ⇒ 〈E5〉) A DCtrlFA (3.8) is a special case of a decentralized colocated controller.

(〈E5〉 ⇒ 〈E2〉) We prove the contrapositive. Suppose that (3.25) has a decentralized

fixed mode at 0, then from [61] the mode must be uncontrollable, which implies that it is

a quotient decentralized fixed mode [25], and so there exists no decentralized controller

(Linear time-invariant/Nonlinear/Time-Varying) that will stabilize (3.25). Thus, 〈B1〉,and therefore 〈E5〉 will not hold.

In Theorem 3.2, the rank test 〈E4〉

rank(LF) = n

is a simple algebraic test for DRSPF to have a solution, given a fixed F . Using the

equivalence of 〈M5〉 and 〈M6〉 in Theorem 2.1, we can also interpret the rank test as

follows:

The rigid body model that uses only healthy sensor/pairs is controllable and observable.

The successful deployment of an FTC system is closely tied to the presence of sensor/

actuator redundancies in the system. The rank test gives us a precise way to characterize

the nature of such redundancies. One way to apply this insight is to test hypothetical

values of F during the LFSS design process, in order to guide the placement and speci-

fications of redundant sensors/ actuators. We will further explore this topic in Example

3.6 and Example 3.7.

3.3.7 Relaxing Diagnosis of Actuator Failures by Choosing Di-

agonal Gains

The controller gains KP/D/I may be chosen to be diagonal matrices. This choice corre-

sponds to implementing a simplified decentralized controller in the system, where each

actuator uses feedback only from its matching sensor. Under this special case, the LFSS

behaves as if every agent were a single-input/single-output system, i.e., yi,ui ∈ R,

i ∈ [1, N ]Z.

Assume that the existence condition 〈E4〉 of Theorem 3.2 holds. Recall that the

70

Page 91: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

DCtrlFA (3.8) (with ym = Fyy and Fym = Fy substituted) is

u = −F(KPF(y − yref) + KDF y + εKIFη), (3.8a)

η = F(y − yref). (3.8b)

Suppose that we relax Assumption 3.1 by only diagnosing sensor failures (i.e., relaxing

diagnosis of actuator failures). In this case, failed outputs with healthy sensors and failed

actuators (specified by Fy(I−Fu)) would not trigger controller adjustments 〈C1〉–〈C4〉.As a result, we obtain (using u′ and η′ to distinguish from the DCtrlFA)

u′ = −F(KPFy(y − yref) + KDFyym + εKIFyη′),

η′ = Fy(y − yref),

i.e., every instance of F is replaced by Fy, except for the first instance where the un-

known Fu occurs by definition. Since we have chosen KP/D/I ∈ DIAGm, therefore

(KP/D/I,Fu,Fy) mutually commute. From this we obtain FKP/D/I = FFKP/D/I =

FKP/D/IF (and also FFy = F), so the controller is effectively

u′ = −F(KPF(y − yref) + KDF ym + εKIFη′),

η′ = Fy(y − yref),

i.e., almost identical to (3.8), except the expressions for η′. In fact, since Fη′ is used to

specify u′, so with everything else being equal, we have (∀t) : u(t) = u′(t), and so the

LFSS would be stabilized by u′(t).

Thus η′ is the main difference between the results here and the CLSF. Specifically,

suppose that F 6= Fy, so Fy(I − Fu) 6= 0, i.e., there are healthy sensors with failed

actuators. Let us take any j ∈ [1,m]Z, so that eTj Fy(I − Fu)ej 6= 0. So eT

j y − eTj y

ref

can be “stuck” at a non-zero value, and cause eTj η → ±∞. Since controller gains are

diagonal, eTj η would not influence u and destabilize the LFSS. Moreover, eT

j η is in fact

harmless, since it is typically implemented as a computer variable in the controller. It

is to be noted however, that Assumption 3.2 (permanence of fault) is essential for our

scheme.

Finally, let us examine the complementary case, in which only actuator failures are

71

Page 92: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

diagnosed, and sensor failures are unknown. In this case, (3.8) becomes

u′′ = −Fu(KP(Fy −Fuyref) + KDF y + εKIFuη′′),

η′′ = Fu(Fyy − yref),

Expand this under KP/D/I ∈ DIAGm results in Fuyref instead of Fyref . Suppose there

are failed sensors with healthy actuators (corresponding to F 6= Fu, or (I−Fy)Fu 6= 0).

Let us take any j ∈ [1,m]Z, so that eTj (I − Fy)Fu 6= 0. In this case, the corresponding

eTj y

ref (assumed to be non-zero) would not be reset by adjustment 〈C3〉. Since eTj y = 0,

we would have eTj η → ±∞. Finally, this unbounded value would be injected into eT

j u,

and cause instability.

In summary, sensor failure-only diagnosis and actuator failure-only diagnosis produce

asymmetric situations. Perhaps we may summarize our observations by the following

statement: “it is better not to act than to act blindly.”

3.4 Steady-State Output for the CLSF

We have found necessary and sufficient conditions for the DRSPF to have a solution under

the DCtrlFA (and in general, decentralized colocated controllers). Now we shift to the topic

of analyzing steady-state outputs of the CLSF. By noting that the relation from [yref ;w]

to steady-state output is linear, we derive the steady-state output matrices. Interpreting

the results verifies the main theorem, which states that tracking and disturbance rejection

holds for healthy outputs. Since the steady-state output matrices predict the steady-state

values of failed outputs, it is possible to recover steady-state output tracking for failed

outputs, assuming we can measure the disturbances in the system, or for the case of

negligible disturbances.

3.4.1 Derivation

Given an LFSSF (2.30) and a DCtrlFA (3.8), let us assume the resulting CLSF (3.13) is

asymptotically stable. In this case, x would converge to a steady-state value, and y

would converge to a steady-state physical output y ∈ Rm:

y := limt→∞

y(t). (3.27)

72

Page 93: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

The following theorem shows how y can be calculated.

Theorem 3.3. If the DCtrlFA (3.8) is applied to the LFSSF (2.30), and if the condi-

tions of Theorem 3.2 (〈E1〉–〈E5〉) hold, then y(t) converges to a steady-state output

y that is linear in yref and w:

(∀LFSSF)(∀DCtrlFA) : rank(LF) = n =⇒ (∀x(0),yref ,w) : y = T refyref + T ww,

(3.28)

where the PID steady-state output reference gain matrix T ref ∈ Rm×m and

PID steady-state output disturbance gain matrix T w ∈ Rm×q are independent

of gain parameters, and are given by

T ref = LTZLRT(RLTZLRT)−1R, (3.29a)

T w = (I − T ref)(LTZEf + F), (3.29b)

where R is defined in (3.15), and

Z := (Ω2 + L?L?T)−1 = (Ω2 + LRTRLT)−1.

Proof. Let the conditions 〈E1〉–〈E5〉 of Theorem 3.2 hold, and in particular, 〈R1〉 =

〈E4〉. So by Lemma A.20, we have 〈R4〉: Ω2 + L?L?T ∈ PDn. By Lemma A.10, Z =

(Ω2 +L?L?T)−1 ∈ PDn. The LFSSF under the DCtrlFA (3.8) can be modelled as the LFSS?

(3.24) under a DCtrl (2.23). Since 〈E1〉 holds, as t → ∞ we would have x → 0 (〈B1〉)and F(y − yref) → 0 (〈B2〉), which implies y? → yref?. Also, x → x and u? → u?, for

some steady-state constants x and u?. The LFSS? (3.24) becomes[0

I

]yref? =

[A B?

C? 0

]︸ ︷︷ ︸

G

[x

u?

]+

[E

F?

]w.

Let us show that G is invertible. Since rank L = m, its columns are linearly independent.

The matrix L? = LRT consists of m? sub-columns of L, so rank B? = rank L? = m?. We

can apply Theorem 2.1 to the LFSS? (specified with (Ω2,∆,L?)), and conclude that LFSS?

has no transmission zero at 0, i.e., λ = 0 is not a solution to rank[A − λI,B?; C?,0] <

2n+m?. Therefore G is invertible.

73

Page 94: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

We can compute G−1 to solve for x and u?. From y = Cx+ Fw, we have

y =[C 0

] [A B?

C? 0

]−1 [0 −E

I −F?

][yref?

w

]+ Fw, (3.30)

where[C 0

]=[LT 0 0

]and

G =

[A B?

C? 0

]=

0 I 0

−Ω2 −∆ L?

L?T 0 0

, [0 −E

I −F?

]=

0 0

0 −Ef

I −F?

. (3.31)

Applying (3.31) to (3.30) reveals that y only depends on the first of the three block-

rows in G−1. Let us denote this row as [V1,V2,V3]. From G−1G = I we obtain

−V2Ω2 + V3L

?T = I, V1 −V2∆ = 0, and V2L? = 0. So V1 = V2∆, and

[V2 V3

] [−Ω2 L?

L?T 0

]=[I 0

]. (3.32)

To invert the matrix, we apply the following transformation:[I −L?

2

0 I

][−Ω2 L?

L?T 0

][I 0

−L?T

2I

]=

[−(Ω2 + L?L?T) L?

L?T 0

]=

[−Z−1 L?

L?T 0

].

Recall that Z ∈ PDn, and L? = LRT has full (column) rank. Therefore L?TZL? ∈ PDm

(Lemma A.5), and is invertible. Let

W = (L?TZL?)−1 = (RLTZLRT)−1.

By block-matrix inversion, we obtain (verifiable by multiplication)

[−Z−1 L?

L?T 0

]−1

=

[ZL?WL?TZ− Z ZL?W

WL?TZ W

].

Therefore[−Ω2 L?

L?T 0

]−1

=

[I 0

−L?T

2I

][−Z−1 L?

L?T 0

]−1 [I −L?

2

0 I

]=

[ZL?WL?TZ− Z ZL?W

WL?TZ W − I

].

74

Page 95: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

So (3.32) is solved (recall L? = LRT):

V3 = ZL?W = ZLRTW,

V2 = ZL?WL?TZ− Z = V3L?TZ− Z = (V3RLT − I)Z.

Also, applying yref? = Ryref and F? = RF transforms (3.30) to

y = LT[V1 V2 V3

]0 0

0 −Ef

I −F?

[yref?

w

]+ Fw

= LTV3yref? + (F− LT(V2E

f + V3F?))w

= (LTV3R)yref + (F− LTV3RF− LTV2Ef)w.

By comparison with (3.28), we have

T ref = LTV3R = LTZLRTWR = LTZLRT(RLTZLRT)−1R,

T w = F− (LTV3R)F− LTV2Ef

= (I − T ref)F− (LTV3L?TZ− LTZ)Ef

= (I − T ref)F + (LTZ− (LTV3R)LTZ)Ef

= (I − T ref)(LTZEf + F).

3.4.2 Interpretation

The steady-state matrices quantify the effectiveness of tracking and disturbance rejection.

For the nominal case (F = R = I), (3.29) readily reduces to T ref = I and T w = 0,

i.e., asymptotic tracking and disturbance rejection occur. When faults are present, the

following result is directly obtained from the expressions of T ref and T w:

Corollary 3.4. Assuming the conditions of Theorem 3.3 hold, asymptotic tracking

and regulation are achieved for healthy outputs:

FT ref = F ∧ FT w = 0.

This result is unsurprising; it is implied by condition 〈B2〉 limt→∞Fe(t) = 0, which

75

Page 96: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

leads to y = T refyref + T ww = Fyref for all yref ∈ Rm and w ∈ Rq.

Proof. T ref and T w are assumed to be defined. From (3.29) and F = RTR, we obtain

FT ref = RTRLTZLRT(RLTZLRT)−1︸ ︷︷ ︸I

R = RTR = F ,

FT w = F(I − T ref)(LTZEf + F) = (F − FT ref︸ ︷︷ ︸F

)(LTZEf + F) = 0.

For concreteness, let us assume F =

[Im? 0

0 0

]again. L? = LRT implies L =[

L? L]

(for some L ∈ Rn×(m−m?)). Substituting these into (3.29) results in

T ref =

[L?T

LT

]ZL?(L?TZL?)−1

[Im? 0

]=

[Im? 0

? 0

],

T w =

[0 0

? I

](LTZEf + F) =

[0 0

? ?

].

where ? denotes some generic matrix. The structures of these matrices indicate that:

• Tracking and disturbance rejection occur for healthy sensor/actuators.

• yref components for faulty sensor/actuators are unused (they are nullified by ad-

justment 〈C3〉).

• Disturbance rejection fails for faulty sensors/actuators.

• yref components for healthy sensor/actuators determine the y components for faulty

sensors/actuators.

The final point admits an appealing physical interpretation: A failure in eTj ui or

eTj yi (through adjustment 〈C2〉) leads to eT

j ui = 0, i.e., the controller corresponding to

eTj ui is disengaged, and the associated component becomes “limp”. As a result, eT

j yi

is “towed” by healthy actuators through physical connections, and reach a steady-state

value (calculated by Theorem 3.3).

3.4.3 Applications to Tracking Recovery

The aforementioned “towing” phenomenon shows how steady-state outputs under failure

depend on yref . This gives rises to an interesting application, in which yref may be ad-

76

Page 97: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

justed to re-enable tracking for failed outputs that are “mission critical”. The restoration

is performed by sacrificing tracking objective of healthy outputs that are non-critical.

Suppose that conditions 〈E1〉–〈E5〉 of Theorem 3.2 hold. For the special case of

tracking, i.e., assuming that w is negligible (admittedly a strong assumption), the track-

ing requirement becomes F y = Fyref ; or more succinctly, Ry = yref?. We now define

the general tracking problem under SAF. Suppose there are mc ∈ [1,m]Z output

components whose tracking goals are mission critical. The general tracking objective is

specified as

Py = ycrit, (3.33)

where P ∈ Rmc×m is obtained by removing m−mc rows that correspond to non-critical

output components from Im; and ycrit ∈ Rmc specifies set points for critical outputs.

Example 3.2. Let m = 5, mc = 3, then

P =

0 1 0 0 0

0 0 1 0 0

0 0 0 0 1

, ycrit =

1

0

−2

.specify that y2, y3 and y5 are critical, with desired steady-state values set at 1, 0 and

−2, respectively. 4

Without failures, (3.33) is automatically satisfied by choosing yref so that ycrit =

Pyref . Under failures, we would like to find a yref? if possible, so that the resulting

y = T refyref (3.27) satisfies (3.33). PT refyref = ycrit follows from substitution. Next, we

expand T ref (3.29a) and extract yref? = Ryref to obtain (noting that the matrix inverse

exists from the proof of Theorem 3.3)

(PLTZLRT(RLTZLRT)−1

)︸ ︷︷ ︸∈Rmc×m?

yref? = ycrit.

A solution exists if and only if ycrit ∈ ImgPLTZLRT(RLTZLRT)−1. Assuming that

this holds, then we can reassign the set points yref? for healthy sensors/actuators so that

(3.33) is satisfied. If m? ≤ mc (i.e., there are at least as many more healthy colocated

inputs/outputs as critical inputs), then there may be multiple solutions for yref?.

The general tracking problem can be extended by specifying P ∈ Rmc×m and ycrit ∈

77

Page 98: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Rmc as arbitrary affine constraints in y.

Example 3.3. For m = 3, if eT3 y fails, then to impose eT

3 y → eT1 y, and eT

2 y → 1.5 we

can choose

P =

[1 0 −1

0 1 0

], ycrit =

[0

1.5

]. 4

3.5 Examples

To illustrate our results, we present several detailed examples, from which additional

insights are also obtained.

Example 3.4. Consider LFSS Benchmark A. The LFSS rigid body model (2.18) has

L =[0.2887 0.2887 0.2887

].

Clearly n = 1 and L = 1. By Theorem 2.1 and Theorem 2.2, the DRSP has a solution

under a DCtrl (2.23). We choose KP = 2I3, KD = 14I3, KI = I3 and ε = 0.2. The

resulting CLS eigenvalues are all stable, as shown in Table 3.1.

Normal u1 fails

−13.8850 −13.8850

−13.8850 −1.1012

−1.0393 −0.2598

−0.4051 −0.0820± j1.0101

−0.1075± j0.0533 −0.0728± j0.0998

−0.0723± j0.0984 −0.0643

−0.0459 (0)

Table 3.1: Closed loop eigenvalues in the example using LFSS Benchmark A.

Now suppose an actuator failure occurs in u1, so F = Fu = diag(0, 1, 1). Applying

controller adjustments C1–C4 results in a DCtrlFA (3.8). Theorem 3.2 states that the

DRSPF has a solution under the DCtrlFA (3.8), since rank(LF) = 1 (E4). The eigenvalues

of the CLSF (using the same games) are listed in Table 3.1. These eigenvalues are stable,

78

Page 99: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

except for a benign eigenvalue at 0 corresponding to η1 (nullified by adjustment C4),

which is removed in the Red(CLSF) (3.23).

0

0.5

1

1.5

y1

0

0.5

1

y2

0 50 100 150

0

0.1

0.2

y3

Time(sec)

−3

−2

−1

0

y1

0

1

2

y2

0 50 100 150

−0.3

−0.2

−0.1

0

y3

Time(sec)

(a) Tracking resp. (yref = [0; 1; 0]). (b) Disturbance resp. (w = [0; 1; 0]).

Figure 3.9: Step responses of LFSS Benchmark A CLSF with actuator failure in eT1u at

t = 50 s (Dashed lines depict nominal case).

The step responses of the normal and u1-failure cases with yref = [0; 1; 0] (w = 0),

and with w = [0; 1; 0] (yref = 0) are shown in Figure 3.9. The solid lines depict the

scenario in which u1-failure occurs at t = 50 s. y2 and y3 are disrupted in transient,

but asymptotic tracking and disturbance rejection still occur (so condition B2 holds). In

Figure 3.9 (a), we see that y1(t) → y2(t) → yref2 = 1 as t → ∞. This occurs because

M2 “tows” M1 (now uncontrolled) via the spring-damper connection between them. In

Figure 3.9 (b), we see that y1(t) has a constant offset. This is caused by a constant

disturbance force on M1 in E, leading to deflection in the M1-M2 connection.

T ref1 and T w

1 for the u1-failure case evaluated by (3.29) are

T ref1 =

0 1 0

0 1 0

0 0 1

, T w1 =

2 −1.8 0.2

0 0 0

0 0 0

.These agree with simulation results; the second columns in T ref

1 and T w1 are steady-state

values in Figure 3.9 under the failure case. Using (3.27), we can evaluate y from any yref

and w .

79

Page 100: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Now, let us keep the same KP/D/I and adjust ε. For each actuator failure scenario,

we apply a 1-dimensional search to find ε? > 0 so that for all ε ∈ (0, ε?), the resulting

Red(CLSF) (3.23) is stable. By Theorem 3.2, ε? > 0 exists if and only if the DRSPF has a

solution under F . The results are listed in Table 3.2,2 which also includes rank(LF). We

Failed controllers ε? rank(LF)

Normal 4.5755 1

S1; S3 3.2790 1

S2 1.8744 1

S1,2; S2,3 0.8588 1

S1,3 2.2621 1

All 3 failures (no solution) 0

Table 3.2: Various failure scenarios in the example using LFSS Benchmark A.

see that the LFSSF (2.30) can be stabilized by a DCtrlFA (3.8) whenever rank(LF) = 1.

This verifies 〈E4〉 in Theorem 3.2. Previously we have chosen ε = 0.2, which is less than

ε? for all failure cases in Table 3.2. Therefore the DCtrlFA stabilizes the system under each

failure scenario for which the DRSPF has a solution, and the gains require no adjustment.

4

Example 3.5. This example is a continuation of Example 3.1, using the same (non-

diagonal) gains KP/D/I, with the same reference signal yref = [1;−1; 2] and disturbance

signal w = [1; 1; 1]. Instead continuing with the DCtrl after failure in eT1 y or eT

1u at

t = 30 s (as with Example 3.1), we implement the DCtrlFA by applying 〈C1〉–〈C4〉. The

results (for both the sensor failure case and the actuator failure case) are plotted in Figure

3.10. We see that the healthy outputs eT2 y

m and eT3 y

m tracks the reference signal. For

the failed output eT1 y

m, although tracking fails, the value settles to some steady-state

value, and the closed loop system remain stable. 4

Example 3.6. Consider LFSS Benchmark B (described in Section B.2). It can be shown

2The notation “S1,2; S2,3” represents “the case where S1 and S2 fail; and the case where S2 and S3

fail,” etc.

80

Page 101: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

−1

0

1

y1

−1

0

1

2

y2

0 50 100 150

1

1.5

2

y3

Time(sec)

Figure 3.10: LFSS Benchmark A under control by the DCtrlFA, with a failure at t = 50 s(Dashed lines depict nominal case).

that LFSS Benchmark B has n = 5 rigid body modes. Therefore L (2.5) is

L =

. α . . α . . . . . . .

. . . . . . . α . . α .

α . . . . . . . . α . .

. . . α . . α . . . . .

. . β . . β . . β . . β

, (3.34)

where α = 0.1414, β = 0.2500, and the periods denote 0.

The fault model in [42] only allows Fi = 0 or Fi = I, i.e., each control agent is

either healthy or fails entirely. Using a dynamic displacement feedback controller [24],

the closed loop system is shown by [42] to be stable under the normal, S1-failure and

S1,3-failure cases; and unstable under S1,2-failure.

We now consider the DRSPF, and apply the DCtrlFA (3.8) with KP = 120I5, KD =

100I5 and KI = I5. As done in [42], we restrict faults to be either Fi = 0 or Fi = I,

i.e., a control agent is either normal or fails entirely. For each of the 16 failure cases, the

resulting ε? and rank(LF) are listed in Table 3.3. We see that a solution exists if and

only if rank(LF) = n = 5, and in this case our results agree with [42], i.e., the closed

loop system is stable under S1-failure and S1,3-failure, but is unstable under S1,2-failure.

Moreover, the DCtrlFA we applied performs tracking and disturbance rejection, which

81

Page 102: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Failed controller ε? rank(LF)

Normal 480.0 5

Any 1 failure 232.8 5

S1,3; S2,4 232.8 5

S1,2; S3,4 (no solution) 4

S1,4; S2,3 (no solution) 4

Any 3 failures (no solution) 3

All 4 failures (no solution) 0

Table 3.3: Various failure scenarios in the example using LFSS Benchmark B.

were not considered in [42]. 4

Next, we simulate the step responses of the system with undiagnosed actuator failure

in eT1u1 occurring at t = 10 s. Disturbances are specified by E = B and F = 0, and

we choose ε = 40 < 232.8 (from Table 3.3). The step response for eT1 y

ref4 = 1 and

eT10w = 1 (both correspond to ξ4) are shown in Figure 3.11, and only output components

(eT1 y1, e

T2 y1, e

T3 y1, e

T1 y2, e

T1 y3, e

T1 y4) = (ξ1, ζ1, θ1, ξ2, ξ3, ξ4) are shown. For the eT

1u1-

failure case, we see that eT1 y4 = ξ4 tracks eT

1 yref4 , but eT

1 y1 = ξ1 (for failed eT1u1) tracks

eT1 y

ref4 = 1 instead of eT

1 yref1 = 0. This is caused by the horizontal connection between

components 1 and 4.

Finally, analyzing L in (3.34) results in some insights on how the LFSS physical

structure contributes to fault-tolerance. From Theorem 3.2, the DRSPF can be solved by

using a decentralized colocated controller if and only if rank(LF) = 5. The sparseness of

L enables this rank test to be carried out at ease, for all (212 = 4,096) F = Fu scenarios.

From row 1 in L, it is clear that rank(LF) is reduced by 1 if eT2u (for ζ1) and eT

5u (for

ζ2) both fail. This is explained by the vertical spring-damper connections between ζ1 and

ζ2 (Figure B.2). The same interpretation applies for rows 2, 3 and 4 in L. From row 5,

actuators (eT3u, e

T6u, e

T9u, e

T12u) (for (θ1, θ2, θ3, θ4)) must all fail to decrease rank(LF) by

1. Hence the controllers for angles θi are more robust to failures than those for ξi or ζi,

owing to additional linkage and control redundancy.

Example 3.7. Consider LFSS Benchmark C (described in Section B.3). We choose the

82

Page 103: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

0

1

2

ξ1

−1

0

1ζ1

−1

0

1

θ1

−1

0

1

ξ2

−1

0

1

ξ3

0 10 20 30 40 500

1

2

ξ4

Time(sec)

0123

x 10−3

ξ1

−1

0

1

ζ1

−1

0

1

θ1

−1

0

1

ξ2

−1

0

1

ξ3

0 10 20 30 40 500

2

4x 10

−3

ξ4

Time(sec)

(a) Tracking resp. (eT4 y

ref = 1). (b) Disturbance resp. (eT10w = 1).

Figure 3.11: Step responses of LFSS Benchmark B CLSF with actuator failure in eT1u at

t = 10 s (Dashed lines depict nominal case).

following gains:

KP = 1,000 diag(0.1, 0.1, 1, 0.1, 0.1),

KD = 3× 105 diag(0.1, 0.1, 1, 0.1, 0.1),

KI = diag(0.1, 0.1, 1, 0.1, 0.1).

ε? and rank(LF) for the CLSF under various actuator failure scenarios are shown in

Table 3.4. Based on the ε? in Table 3.4, we choose ε = 1.5. The step responses of the

normal and u1-failure (occurring at t = 1,000 s) cases are plotted in Figure 3.12. We

see that under u1 failure, tracking and disturbance rejection continue to hold for healthy

outputs.

As with LFSS Benchmark B, we can extract some insights on the fault-tolerant nature

of LFSS Benchmark C by examining L. Table 3.4 shows that the DRSPF has a solution

using the DCtrlFA (3.8) with 4 or more healthy sensors/actuators, and no solution with 2

or fewer healthy sensors/actuators. With 3 healthy sensors/actuators, a solution exists

83

Page 104: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

Failed controller ε? rank(LF)

Normal 19.1921 3

Any 1 corner 6.0429 3

Centre 3.6312 3

Centre and 1 corner 1.7122 3

S1,5; S2,4 3.9756 3

S1,2; S4,5 3.9834 3

S1,4; S2,5 (no solution) 2

Any 3/4/5 failures (no solution) 2/1/0

Table 3.4: Various failure scenarios in the example using LFSS Benchmark C.

if the locations of the sensors/actuators are not collinear. In fact, it can be shown this

holds in general:

Corollary 3.5. The DRSPF for the space platform system has a solution using a de-

centralized colocated controller (i.e., E5 holds) if and only if healthy sensors/actuators

are not collinear on XY.

Proof. From the FEM, the system’s rigid body mode shapes (as continuous functions)

are v1(x, y) = 1, v2(x, y) = xLx

, v3(x, y) = − yLy

. Given m? healthy actuators located at

[x1; y1], . . . , [xm? ; ym? ] ∈ XY , we have

LRT =

1 . . . 1x1Lx

. . . xm?

Lx

− y1Ly

. . . −ym?

Ly

.If rank(LF) < n = 3, then [a, b, c]LRT = 0 for some a, b, c ∈ R. Equivalently, b

Lxxi −

cLyyi = −a for all i ∈ [1,m?], i.e., the points [x1; y1], . . . , [xm? ; ym? ] are collinear.

Suppose we wish to add 4 extra colocated sensors/actuators to the LFSS, while main-

taining reflection symmetry across the x-axis and y-axis. Figure 3.13 lists a few possible

configurations. By inspection, configuration (a) has the most number of subsets of triplets

of collinear points, and configuration (c) has the least. Using the insights gained, we can

quickly conclude the following: With regard to solving the DRSPF using decentralized

colocated controllers, configuration (c) is the most fault-tolerant among the three pro-

posed designs. 4

84

Page 105: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 3. Active FTC of LFSS using a PID Controller

0

1

2y

1

00.10.20.3

y2

0

0.5

1

y3

−0.4−0.2

00.2

y4

0 1000 2000 3000 4000 5000

00.10.20.3

y5

Time(sec)

024

x 10−4

y1

−1012

x 10−4

y2

0246

x 10−4

y3

−2

0

2x 10

−4

y4

0 1000 2000 3000 4000 5000−1

012

x 10−4

y5

Time(sec)

(a) Tracking resp. (eT3 y

ref = 1). (b) Disturbance resp. (eT3w = 1).

Figure 3.12: Step responses of LFSS Benchmark C CLSF with actuator failure in eT1u at

t = 1,000 s (Dashed lines depict nominal case).

Figure 3.13: Various ways to place 4 additional colocated sensors/actuators in LFSSBenchmark C.

85

Page 106: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4

Passive Fault-Tolerant Control of

Large Flexible Space Structures

using a PD Controller

In Chapter 3, we defined the DRSPF for the LFSSF (2.30), which generalizes the DRSP of

the LFSS (2.3). By applying the DCtrlFA (3.8) to the LFSSF, Theorem 3.2 gives necessary

and sufficient conditions for the existence of a solution, and the most notable condition

is the rank test 〈E4〉 (restated as 〈R1〉 in Section A.2).

In the above active FTC scheme, we assumed that F = FyFu is known a priori . This

assumption is valid if there are dedicated devices to detect and isolate SAF. However, to

extend the applicability of our work, it is desirable to obtain a passive FTC scheme, in

which the controller objectives can still be satisfied under unknown failures F = FyFu.

We would also like to characterize any performance degradation that may occur.

Section 4.1 proposes an alternative to the DRSPF, called the good approximate DRSPF

(DRSPFGA), which is based on [18]. Section 4.2 presents the decentralized proportional-

derivative (PD) controller (DCtrlPD), which is the main controller we will apply. The

resulting closed loop system is derived, and stability conditions determined. Section 4.3

presents the steady-state output gain matrices Sref and Sw for the closed loop system,

along with simplified expressions. Section 4.4 presents the main theorem in this chapter,

which shows that the family of DCtrlPD with scalable gains can be used to solve the

DRSPFGA. Section 4.5 introduces the DCtrlPD with feed-forward adjustment (DCtrlFFPD),

which adjusts reference input to improve tracking performances of nominal DCtrlPD. Sec-

tion 4.6 presents examples to illustrate our results.

86

Page 107: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

4.1 The Good Approximate Decentralized Robust

Servomechanism Problem for an LFSS under Fail-

ure (DRSPFGA)

The role of the integrator in the DCtrl (2.23) is to eliminate steady-state tracking error in

the closed loop system. However, under SAF (Fy,Fu), the integrator can cause the closed

loop system to become unstable. The control strategy in Chapter 3 assumes that the SAF

are known, and proceeds to disable these integrators. But we cannot do this in passive

FTC, since (Fy,Fu) are unknown, and so we would like to avoid having integrators in

our controller. This choice diminishes our ability to perform robust, asymptotic tracking

and disturbance rejection. To compensate for this deficiency, we define a weaker control

problem compared to the DRSPF, called the good approximate DRSP for the LFSSF

(DRSPFGA). This is the main problem we wish to solve in this chapter.

4.1.1 Motivation: Integrator under Unknown Failures

Example 3.1 demonstrates that unknown SAF in an LFSSF (2.30) under the control of

a DCtrl (2.23) can cause the system to become unstable. As motivation, let us analyze

a specific failure scenario in detail. Suppose that we have a failed sensor at eTi y, for

i ∈ [1,m]R. This leads to eTi y(t) = 0, so the corresponding measured error is eT

i em(t) =

eTi y(t) − eT

i yref = −eT

i yref . If the reference signal eT

i yref 6= 0, then the integrator

dynamics has eTi η(t) = −eT

i yref , leading to eT

i η(t)→∞ as t→∞, which then “pollutes”

any component of u that draws from it. Even for the special case of KP/D/I ∈ DIAGm

(Section 3.3.7), in which only eTi u is affected, if the actuator corresponding to eT

i u is

healthy, an ever-increasing force would still be applied to the LFSSF.

In summary, the combination of the following 4 factors:

failed sensor eTi y, non-zero reference eT

i yref , integrator eT

i η, healthy actuator eTi u,

can cause the system to become unstable. Given that eTi y fails, in the DCtrlFA (3.8),

〈C2〉 prevents healthy actuator eTi u from causing problem, 〈C3〉 prevents eT

i η(t) → ∞,

and 〈C4〉 resets eTi η so it will not act as a disturbance to other components u, if KI is

not diagonal. Note that the fundamental assumption for this work is that Fy is known.

We are now interested in passive FTC, in which Fy is unknown. Therefore we cannot

87

Page 108: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

assign eTi y

ref , eTi η, and eT

i u in response to failure in eTi y. However, we can still avoid the

above failure scenario by dispensing with the integrator η altogether. The problem with

this approach is that without the internal model of 1s, a linear feedback controller will

not be able to track the constant reference yref and to reject the constant disturbance

w for the healthy outputs. To remedy this, we weaken the requirements of DRSPF, and

present a new main problem for this chapter.

4.1.2 Problem Statement

We specify an alternative to the DRSPF, called the good approximate decentralized

robust servomechanism problem for an LFSS under failure (DRSPFGA):

Given an LFSSF (2.30) (consisting of known LFSS with unknown failures Fy and Fu),

find a family of linear decentralized controllers C(α) parameterized by α > 0 and

independent of F , so that:

〈F1〉 For every α, every eigenvalue of the closed loop system constructed using C(α) has

a negative real part.

〈F2〉 Tracking occurs for all outputs with healthy sensor and actuator, i.e., for all con-

stant disturbances w, constant set points yref , and initial conditions of the LFSSF,

the family C(α) satisfies

limα→∞

limt→∞Feα(t) = 0,

where eα(t) is the tracking error from the LFSSF controlled by C(α).

〈F3〉 Properties 〈F1〉 and 〈F2〉 hold for all perturbations of the LFSS, including any

unmodelled elastic modes in (2.30), i.e., LFSS with a higher n than modelled.

The idea and the naming of the DRSPFGA are obtained from [18], which defines the

arbitrarily good approximate error regulation (AGAER) for the DRSP of a more general

system. We adapt the AGAER to the special case of LFSS, and also include consider-

ations for unknown SAF. Similar to the AGAER, we will also consider a “high gain”

controller. However, we will specialize to a proportional-derivative (PD) controller.

We will also work within the state space framework, instead of the transfer function and

“error coefficients” framework found in [18].

88

Page 109: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

4.2 The Decentralized Proportional Derivative Con-

troller (DCtrlPD)

The application of proportional derivative (PD) controller for LFSS stabilization has been

well-studied [38–40]. We wish to use a PD controller to solve the DRSPFGA. So in addition

to stabilization, we have to consider tracking, disturbance rejection and robustness, as

well as accommodating unknown SAF. We begin by reviewing the LFSSF, specifying the

decentralized PD controller (DCtrlPD), and applying it to the LFSSF to obtain the closed

loop system (CLSFPD). If gains are chosen to be diagonal, then a necessary and sufficient

condition for the CLSFPD to be asymptotically stable is shown to be the rank condition

seen in 〈E4〉 of Theorem 3.2.

4.2.1 PD Controller for the LFSSF and the Closed Loop System

Recall that the LFSSF (2.30) is specified by

x = Ax+ BFuu+ Ew, (2.30a)

y = Cx+ Fw, (2.30b)

ym = Fyy, (2.30c)

e = y − yref , (2.30d)

em = ym − yref . (2.30e)

We assume that the system matrices A ∈ R2n×2n, B ∈ R2n×m, C ∈ Rm×2n, E ∈ R2n×q,

and F ∈ Rm×q are known. The constant tracking reference yref ∈ Rm is known, and can

be adjusted. However, the constant disturbance input w ∈ Rq and the SAF matrices

Fy,Fu ∈ DIAGm0,1 are unknown. At runtime, a controller has access to ym and em.

Let us define the decentralized PD controller (DCtrlPD) as a collection of local

controllers Sii∈[1,N ]Z that applies the following control law:

ui = −KPi e

mi −KD

i emi , i ∈ [1, N ]Z, (4.1)

89

Page 110: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

where KP/Di ∈ PDmi . The combined effect of the decentralized control is

u = −KPem −KDem,

= −KP(ym − yref)−KDym,(4.2)

where KP/D ∈ PDm satisfies the block-diagonal structure in (2.21).

Applying the DCtrlPD (4.2) to the LFSSF (2.30) results in

em = ym − yref = Fyy − yref = FyCx+ FyFw − yref ,

em = FyCx = FyCAx+ Fy*

0CBFuu+ Fy

*

0CEw = FyCAx,

u = −KP(FyCx+ FyFw − yref)−KDFyCAx,

x = Ax+ BFuu+ Ew

= Ax−BFu[KP(FyCx+ FyFw − yref) + KDFyCAx

]+ Ew

= (A−BFuKPFyC−BFuKDFyCA)x+ (BFuKP)yref + (E−BFuKPFyF)w.

This is the LFSSF closed loop system with PD controller (CLSFPD):

x = AFx+ BrefF y

ref + BwFw, (4.3a)

y = Cx+ Fw, (4.3b)

ym = Fyy, (4.3c)

where AF ∈ R2n×2n, BrefF ∈ R2n×m, Bw

F ∈ R2n×q, and C ∈ Rm×2n can be simplified from

the above to be

AF =

[0 In

−Ω2 − LFuKPFyLT −∆− LFuKDFyLT

], (4.4)

BrefF =

[0

LFuKP

], Bw

F =

[0

Ef − LFuKPFyF

], (4.5)

C =[LT 0

].

Note that Fy and Fu are unknown, and controller adjustments 〈C1〉–〈C3〉 are not applied.

Throughout this chapter we will adopt “implicit definition” i.e., when some systems

or matrices are given, any dependent structures or matrices are automatically defined,

within the appropriate context. This significantly simplifies statements we make. For

90

Page 111: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

reference, here is a list of relations (A −→ B means that A fully determines B):

LFSS←→ (Ω2,∆,L,Ef ,F) −→ (n,m, q)

LFSS←→ (A,B,C,E,F) −→ (n,m, q),

m←− (Fy,Fu) −→ (F ,R,m?),

LFSSF ←→ (LFSS,Fy,Fu),

m←− DCtrlPD ←→ KP/D = (KP ∈ PDm,KD ∈ PDm),

CLSFPD ←→ (LFSSF,DCtrlPD),

CLSFPD −→ (AF, B

refF , Bw

F , C).

In particular, “(∀LFSSF)” represents “(∀LFSS)(∀Fy,Fu ∈ DIAGm0,1)”; and “(∀DCtrlPD)”

represents “(∀KP/D ∈ PDm)”.

4.2.2 Stability of the Closed Loop System

For the nominal case Fy = Fu = Im, it is well known that the CLSFPD is asymptotically

stable, i.e., AF ∈ HUR2n [39, 40]. We now study stability results for the general CLSFPD.

We will establish that under diagonal gains, the rank condition 〈R1〉 rank(LF) = n holds

if and only if the CLSFPD is asymptotically stable, and so no fault-dependent adjustments

are needed (unlike PID controllers). This gives our first result on passive FTC of the

LFSSF, using a PD controller. We are not addressing tracking and regulation yet.

By implicit definition, after we specify an LFSSF (with LFSS, and Fy,Fu ∈ DIAGm0,1)and a DCtrlPD (with KP/D ∈ PDm) AF is automatically defined by

AF =

[0 In

−Ω2 − LFuKPFyLT −∆− LFuKDFyLT

]. (4.4)

Moreover, F = FyFu, the effective stiffness matrix Keff (3.9), and the effective damping

matrices Deff (3.10) are also implicitly defined:

Keff := Ω2 + LFKPFLT, (3.9)

Deff := ∆ + LFKDFLT. (3.10)

These matrices are characterized by the following:

91

Page 112: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Proposition 4.1. Given an LFSSF (2.30) and a DCtrlPD (4.2), the resulting effective

stiffness and damping matrices are p.s.d.:

(∀LFSS)(∀DCtrlPD) : Keff ,Deff ∈ PSDn.

Proof. Since KP ∈ PDm, so ∀F = FyFu ∈ DIAGm0,1. Therefore LFKPFLT =

(FLT)TKPFLT ∈ PSDn (Lemma A.4). Combine this with Ω2 ∈ PSDn leads to

Keff ∈ PSDn (Lemma A.7). The proof for Deff ∈ PSDn is analogous.

Next, we show that choosing diagonal gains help us simplify AF:

Proposition 4.2. An LFSSF under PD controller with diagonal gains has a simplified

expression of AF:

(∀LFSSF)(∀DCtrlPD | KP/D ∈ DIAGm) : AF =

[0 In

−Keff −Deff

]. (4.6)

Proof. Take any Fy,Fu ∈ DIAGm0,1. Recall that F = FyFu and F2 = F . If KP/D ∈DIAGm, then Fy,Fu,KP/D all commute, so: FuKP/DFy = FyFuKP/D = FKP/D =

FFKP/D = FKP/DF . And then LFuKP/DFyLT = LFKP/DFLT. The result follows

from substituting these into the expression for AF.

Here is a general result (does not require diagonal gains) that is used in the proofs of

Theorem 4.6 and Theorem 4.7.

Proposition 4.3. If the CLSFPD is asymptotically stable, then Ω2 + LFuKPFyLT ∈

Rn×n is invertible:

(∀LFSSF)(∀DCtrlPD) : AF ∈ HUR2n =⇒ Ω2 + LFuKPFyLT ∈ GLn.

Proof. Consider the contrapositive and assume that Ω2 + LFuKPFyLT is singular, then

∃v1 ∈ Rn − 0 so that (Ω2 + LFuKPFyLT)v1 = 0. From (4.4), we have AF[v1; 0] = 0

with [v1; 0] 6= 0. Therefore AF is singular, and cannot be Hurwitz.

We now state a well-known result for the stability of a second-order system with p.d.

coefficient matrices:

92

Page 113: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Lemma 4.4. If M, D, and K are p.d., then the system Mξ+ Dξ+ Kξ = 0 has an

asymptotically stable origin.

Proof for this well-known result can be found in [39, 40], but we supply our own in

Section A.1.5, which also restates the above to the following:

Corollary 4.5. If X and Y are p.d., then

[0 I

−Y −X

]is Hurwitz.

Here is the main stability theorem for the CLSFPD for diagonal gains.

Theorem 4.6. Given a CLSF, if gains are diagonal and p.d., then the necessary and

sufficient condition for the CLSFPD to be asymptotically stable is the rank test 〈R1〉:

(∀LFSSF)(∀DCtrlPD | KP/D ∈ DIAGm) : rank(LF) = n ⇐⇒ AF ∈ HUR2n.

Proof. (=⇒): Given the LFSSF and KP/D ∈ PDm ∩DIAGm, Proposition 4.2 states that

AF = [0, I;−Keff ,−Deff ]. Given 〈R1〉 rank(LF) = n, by Lemma A.20 we obtain 〈R2〉Keff ∈ PDn and 〈R3〉 Deff ∈ PDn. Applying Corollary 4.5 with X← Deff and Y ← Keff

results in AF ∈ HUR2n.

(⇐=): Given AF ∈ HUR2n, let us choose any KP ∈ PDm. Proposition 4.3 states that

Ω2 + LFuKPFuLT ∈ GLn, and so Keff ∈ GLn (Proposition 4.2). Proposition 4.1 states

Keff ∈ PSDn, and so Keff ∈ PDn (Lemma A.8). The choice of KP is arbitrary, so 〈R2〉holds. Therefore rank(LF) = n follows from Lemma A.20.

Another way to view Theorem 4.6 is to apply the “reduced LFSS” idea from Chapter

3. Choosing diagonal gains enables us to replace Fy and Fu by F . Therefore effectively

〈C1〉–〈C2〉 were applied, and so the CLSFPD can be considered as a PD controller that

operates on the LFSS? (3.24). This perspective is useful for understanding stability, but

one should note that the situation depicted in Figure 3.6 does not apply here. This is

because F is unavailable, 〈C3〉 is not applied to substitute yref ← Fyref .

The KP/D ∈ DIAGm restriction simplifies the mathematics, thereby enabling the

proof for Theorem 4.6. For completeness, we present an example to show that if we

choose KP/D ∈ PDm −DIAGm, then under unknown SAF the

93

Page 114: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Example 4.1. Consider LFSS Benchmark A, and let us choose

KP = KD =

10 4 4

4 10 4

4 4 10

∈ PD3.

For the nominal case Fy = Fu = I3, we use (4.4) to calculate the closed loop system,

and then compute the eigenvalues:

σ

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

−4.5000 0.0000 6.0374 −4.5000 0.0000 6.0374

0.0000 −7.0000 0.0000 0.0000 −6.1000 0.0000

6.0374 0.0000 −11.7000 6.0374 0.0000 −10.6200

= −13.1822,−4.5674,−1.5326,−1.1334,−0.4022± j0.9605 ⊂ C−.

Clearly the system is stable. Next, if an actuator failure occurs in eT3 y, then Fy = I and

Fu = diag(1, 1, 0), and we obtain the following closed loop eigenvalues:

σ

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

−3.0000 1.2247 3.5777 −3.0000 1.2247 3.5777

3.6742 −4.0000 −6.0249 3.6742 −3.1000 −6.0249

2.6833 −2.7386 −6.2000 2.6833 −2.7386 −5.1200

= −9.0395,−1.2085,−0.5148± i0.8847,0.0288± j1.1213 .

Owing to 0.0288± j1.1213 ∈ C+, the closed loop system under failure is unstable. 4

4.3 Steady-State Output for the CLSFPD

Theorem 3.3 presents a formula to compute the steady-state output y for the CLSF, and

defines steady-state gain matrices T ref and T w, which were found to be independent of

controller gains. For the nominal LFSS, perfect tracking and regulation are achieved, i.e.,

T ref = I and T w = 0.

We wish to perform a similar steady-state analysis for the CLSFPD. This leads to

steady-state gain matrices Sref and Sw. These are the PD controller counterparts to T ref

94

Page 115: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

and T w. Since F is inaccessible, and an integrator is absent, tracking and regulation

performances of a PD controller are inferior to a PID controller’s. In fact, Sref and Sw

are gain-dependent, and for the nominal LFSS, Sref 6= I and Sw 6= 0 may hold.

After applying in-depth analysis, simplified expressions for Sref and Sw are derived.

These expressions lead to definition of the Γ matrix, which will find many uses later, as

we continue to explore applying the PD controller on the LFSSF.

In this section, we present the derivation of the steady-state output for the CLSFPD.

We also summarize a number of auxiliary results that will be used later. The derivations

and additional technical of these results can be found in Section A.3.

4.3.1 Main Derivation

Given an LFSSF (2.30) and a DCtrlPD (4.2), let us assume the resulting CLSFPD (4.3) is

asymptotically stable. The physical output y(t) would then converge to a steady-state

physical output y ∈ Rm:

y := limt→∞

y(t) ∈ Rm.

The following theorem is the CLSFPD counterpart to Theorem 3.3:

Theorem 4.7. If the DCtrlPD (4.2) is applied to the LFSSF (2.30), and if the resulting

CLSFPD is asymptotically stable, then y(t) converges to a steady-state output y that is

linear in yref and w:

(∀LFSSF)(∀DCtrlPD) : AF ∈ HUR2n =⇒ (∀x(0),yref ,w) : y = Srefyref + Sww,

(4.7)

where the PD steady-state output reference gain matrix Sref ∈ Rm×m and the

PD steady-state output disturbance gain matrix Sw ∈ Rm×q are given by

Sref = LT(Ω2 + LFuKPFyLT)−1LFuKP, (4.8)

Sw = (I − SrefFy)F + LT(Ω2 + LFuKPFyLT)−1Ef . (4.9)

It should be noted that Theorem 4.7 only requires AF ∈ HUR2n, i.e., asymptotic

stability of the CLSFPD, and does not require KP/D to be diagonal (unlike Theorem 4.6).

95

Page 116: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Proof. Given AF ∈ HUR2n (i.e., the CLSFPD (4.3) is asymptotically stable), there exists

a unique equilibrium x := limt→∞

x(t) ∈ R2n that is independent of x(0). Steady-state

requires x|x=x = 0. Applying this to (4.3a) results in

0 = AFx+ BrefF y

ref + BwFw.

Expanding AF (4.4), BrefF , and Bw

F (4.5) produces two equations. The first is [0, I]x = 0,

which leads to x = [d; 0] for d ∈ Rn. Applying this to the second equation leads to

(Ω2 + LFuKPFyLT)d = LFuKPyref + (Ef − LFuKPFyF)w.

Since AF ∈ HUR2n, so by Proposition 4.3, Ω2 + LFuKPFyLT is invertible, and we can

solve for d. Noting that y = Cx+ Fw = LTd+ Fw, we obtain

y = [LT(Ω2 + LFuKPFyLT)−1LFuKP]yref

+ [LT(Ω2 + LFuKPFyLT)−1(Ef − LFuKPFyF) + F]w,

from which we extract Sref and Sw. Finally, Sw can be simplified by

Sw = LT(Ω2 + LFuKPFyLT)−1(Ef − LFuKPFyF) + F

= LT(Ω2 + LFuKPFyLT)−1Ef − SrefFyF + F

= (I − SrefFy)F + LT(Ω2 + LFuKPFyLT)−1Ef .

Sref and Sw for the CLSFPD depend on the gain KP (but not KD). By contrast, T ref

and T w for the CLSF (Chapter 3) are independent of gains. Also, the DCtrlPD will not

attain asymptotic tracking of yref and regulation against w, even under the nominal case

Fy = Fu = I. We will consider this issue later.

4.3.2 Auxiliary Results

We now present a number of results relating to Sref , Sw, Γ, and Υ. Additional proofs

and other results are found in Section A.3.1.

The next results are concerned with simplifying the computation of Sref and Sw.

These results give rise to the definition of two new matrices: Γ ∈ SYMm and Υ ∈ Rm×q.

96

Page 117: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Theorem 4.8. Assuming that the CLSFPD is asymptotically stable, an alternative for-

mula for Sref is the following:

Sref = (Γ + FuKPFy)−1FuKP, (4.10)

where Γ ∈ SYMm depends on Ω2 and L only.

We call Γ ∈ SYMm the PD reference-to-output characteristic matrix. The orig-

inal definition of Γ (A.3) is buried within the proof of Theorem 4.8 in Section A.3.1.

Shortly we will present an explicit formula for Γ.

Theorem 4.9. Assuming that the CLSFPD is asymptotically stable, an alternative for-

mula for Sw is the following:

Sw = (I − SrefFy)F + (Γ + FuKPFy)−1Υ,

= (I − (Γ + FuKPFy)−1FuKPFy)F + (Γ + FuKPFy)−1Υ,(4.11)

where Γ ∈ SYMm was defined in Theorem 4.8, and Υ ∈ Rm×q depends on Ω2, L

and Ef only.

We call Υ ∈ Rm×q the PD disturbance-to-output characteristic matrix. The

original definition of Υ (A.6) is buried within the proof of Theorem 4.9 in Section A.3.1.

Shortly we will present an explicit formula for Sref .

Let Srefnom and Sw

nom be Sref (4.8) and Sw (4.9) for the nominal case Fy = Fu = I,

respectively. From Theorem 4.7, Theorem 4.8, and Theorem 4.9, we obtain

Srefnom := Sref

∣∣Fy=Fu=I

= LT(Ω2 + LKPLT)−1LKP (4.12)

= (Γ + KP)−1KP = ((KP)−1Γ + I)−1, (4.13)

Swnom := Sw|Fy=Fu=I = (I − Sref

nom)F + LT(Ω2 + LKPLT)−1Ef (4.14)

= (I − Srefnom)F + (Γ + KP)−1Υ. (4.15)

Γ (A.3) and Υ (A.6) are collectively referred to as output characteristic matrices.

Using the multiple expressions for Srefnom and Sw

nom, explicit formulae for Γ can be obtained

(see Section A.3.3 for details):

97

Page 118: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Lemma 4.10. Γ can be calculated by

Γ = (LT(Ω2 + LLT)−1L)−1 − I, (4.16)

= (ΛT0 (K0 + Λ0Λ

T0 )−1Λ0)−1 − I. (4.17)

Note that Γ is independent of the inertia matrix M0. Similarly, we can arrive at explicit

formulae for Υ (see Section A.3.3 for details):

Lemma 4.11. Υ (A.6) can be calculated by

Υ = (Γ + I)LT(Ω2 + LLT)−1Ef , (4.18)

= [LT(Ω2 + LLT)−1L]−1LT(Ω2 + LLT)−1Ef . (4.19)

Γ will play a central role in our analysis. The following corollary (to Theorem 4.8)

characterizes the matrix.

Corollary 4.12. The Γ matrix is p.s.d., singular, and has rank m− n:

(Γ ∈ PSDm − GLm) ∧ (rank Γ = m− n).

The proof is found in Section A.3.3, along with additional results involving Γ.

Example 4.2. Consider LFSS Benchmark A. Using Lemma 4.10, we evaluate Γ (4.16):

Γ =

1 −1 0

−1 2 −1

0 −1 1

.So Γ ∈ PSD3, and rank Γ = 2. Recall that m = 3 and n = 1. So rank Γ = 2 = 3− 1 =

m− n, as stated in Corollary 4.12. 4

Example 4.3. Consider LFSS Benchmark B. Γ is evaluated to be

98

Page 119: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Γ =

500 0 0 0 0 0 0 0 0 −500 0 0

0 500 0 0 −500 0 0 0 0 0 0 0

0 0 90 0 0 −45 0 0 0 0 0 −45

0 0 0 500 0 0 −500 0 0 0 0 0

0 −500 0 0 500 0 0 0 0 0 0 0

0 0 −45 0 0 90 0 0 −45 0 0 0

0 0 0 −500 0 0 500 0 0 0 0 0

0 0 0 0 0 0 0 500 0 0 −500 0

0 0 0 0 0 −45 0 0 90 0 0 −45

−500 0 0 0 0 0 0 0 0 500 0 0

0 0 0 0 0 0 0 −500 0 0 500 0

0 0 −45 0 0 0 0 0 −45 0 0 90

.

This seems rather complicated. However, if we permute the input vector by

[y1;y10;y4;y7;y2;y5;y8;y11;y3;y6;y9;y12],

then the calculation yields

Γ =

500 −500 0 0 0 0 0 0 0 0 0 0

−500 500 0 0 0 0 0 0 0 0 0 0

0 0 500 −500 0 0 0 0 0 0 0 0

0 0 −500 500 0 0 0 0 0 0 0 0

0 0 0 0 500 −500 0 0 0 0 0 0

0 0 0 0 −500 500 0 0 0 0 0 0

0 0 0 0 0 0 500 −500 0 0 0 0

0 0 0 0 0 0 −500 500 0 0 0 0

0 0 0 0 0 0 0 0 90 −45 0 −45

0 0 0 0 0 0 0 0 −45 90 −45 0

0 0 0 0 0 0 0 0 0 −45 90 −45

0 0 0 0 0 0 0 0 −45 0 −45 90

,

i.e., we obtain a block-diagonal structure, corresponding to the interconnections in the

system. The 5 blocks have respective ranks 1, 1, 1, 1, 3, so the total rank is 7. Recall

that m = 12 and n = 5, so rank Γ = 7 = 12− 5 = m− n, as stated in Corollary 4.12. 4

99

Page 120: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Example 4.4. Consider LFSS Benchmark C. Γ is evaluated to be

Γ =

a b −2(a+ b) a b

b a −2(a+ b) b a

−2(a+ b) −2(a+ b) 8(a+ b) −2(a+ b) −2(a+ b)

a b −2(a+ b) a b

b a −2(a+ b) b a

,

where a = 61.7388, b = −32.4139, −2(a+ b) = −58.6499, and 8(a+ b) = 234.5996. The

last two rows are identical to the first two, and the middle row is the negative sum of

all other rows. Therefore rank Γ = 2. Recall that m = 5 and n = 3, so rank Γ = 2 =

5− 3 = m− n, as stated in Corollary 4.12. 4

4.4 Solving the DRSPFGA with DCtrlPD

This section contains the main result of this chapter, i.e., a solution to the DRSPFGA. The

key enabler of our solution is the stability result in Section 4.2.2. In our solution, we will

apply a family of DCtrlPD with scalable diagonal gains. To satisfy condition 〈F2〉, we study

the asymptotic behaviour of Sref and Sw under large gains. It is shown that tracking

errors for healthy outputs can be arbitrarily reduced by increasing gains. However, high

gains can cause outputs with failed sensors and healthy actuators (corresponding to

(I − Fy)Fu) to reach very large steady-state values. To prove the main theorem, this

problem is addressed by imposing an extra condition F = Fu. However, this is not

a strict requirement in implementation, if we are willing to accept low gains and the

accompanying performance trade-off.

4.4.1 Asymptotic Behaviour for Sref and Sw under Large Gains

Recall from Corollary 3.4 that FT ref = F and FT w = 0 for the CLSF. Unfortunately,

for the CLSFPD with (Sref ,Sw), this does not hold in general. In fact, for the nominal case,

we also do not have Sref 6= I and Sw 6= 0. This is the well-known effect of “steady-state

offset” in using a PD controller instead of a PID controller. However, since Sref and Sw

depend on KP, so it is possible to adjust KP to improve our result. In particular, we

wish to choose “high gains” to bring FSref close to F , and FSw to 0. To this end, we

only have partial success, as we need to impose an extra condition Fu = F .

100

Page 121: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

We start by specifying more precisely what is meant by “high gain”. To follow the

results in Section 4.2.2, let KP/D ∈ PDm ∩ DIAGm. Next, let us write KP/D as

KP = αKP, KD = αKD,

where KP/D ∈ PDm ∩ DIAGm are fixed, and α > 0 is a scalar to adjust gains. Let us

write Sref (4.10) and Sw (4.11) from Theorem 4.8 and Theorem 4.9 as functions of α by

Sref(α) = (Γ + αFuKPFy)−1αFuKP,

Sw(α) = (I − Sref(α)Fy)F + (Γ + αFuKPFy)−1Υ.(4.20)

The following result characterizes Sref(α) and Sw(α), for large α 1:

Theorem 4.13. Given an LFSSF (2.30) and a DCtrlPD (4.2) with diagonal gains

KP/D = αKP/D, suppose that F = [Im? ,0; 0,0], where m? := rank(F), let us write

KP = block diag(KP1 , K

P2 ) where KP

1 ∈ PDm? ∩ DIAGm?

and KP2 ∈ PDm−m

? ∩DIAGm−m?

. Also, let Γ = [Γ1,Γ2; ΓT2 ,Γ3], using the same block partition as F . If

the CLSFPD (4.3) is asymptotically stable, then for large α 1, we have

Sref(α 1) ≈

[I −(KP

1 )−1Γ2Γ−13 KP

2

−Γ−13 ΓT

2 αΓ−13 KP

2 + Γ−13 ΓT

2 (KP1 )−1Γ2Γ

−13 KP

2

]Fu, (4.21)

Sw(α 1) ≈

[0 0

Γ−13 ΓT

2 I

]F +

[0 0

0 Γ−13

]Υ. (4.22)

It is noteworthy that α appears in the bottom-right block of Sref(α 1), i.e., some

portion of Sref may scale with gain.

The notation Sref(α 1) is a short hand for stating “limα→∞”; owing to the presence

of α, using limits would requires us to separately specify sub-blocks of limα→∞ Sref(α)

and limα→∞1αSref(α).

We stress that in application, α would be finite.

Example 4.5. Consider LFSS Benchmark C. Let

Fy = diag(1, 1, 1, 0, 1), Fu = diag(1, 1, 1, 1, 0),

which result in F = diag(1, 1, 1, 0, 0) and m? = 3. Γ for LFSS Benchmark C is found in

101

Page 122: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Example 4.4. Splitting Γ = [Γ1,Γ2; ΓT2 ,Γ3] yields

Γ1 =

61.7388 −32.4139 −58.6499

−32.4139 61.7388 −58.6499

−58.6499 −58.6499 234.5996

, Γ2 =

61.7388 −32.4139

−32.4139 61.7388

−58.6499 −58.6499

,ΓT

2 =

[61.7388 −32.4139 −58.6499

−32.4139 61.7388 −58.6499

], Γ3 =

[61.7388 −32.4139

−32.4139 61.7388

].

Next, we choose

KP = diag(0.1, 0.1, 1, 0.1, 0.1),

so KP1 = diag(0.1, 0.1, 1) and KP

2 = diag(0.1, 0.1). From (4.21), the portion of Sref(α 1)

that is independent of α is

[I −(KP

1 )−1Γ2Γ−13 KP

2

−Γ−13 ΓT

2 Γ−13 ΓT

2 (KP1 )−1Γ2Γ

−13 KP

2

]Fu =

1 0 0 −1 0

0 1 0 0 −1

0 0 1 0.2 0.2

−1 0 2 1.4 0.4

0 −1 2 0.4 1.4

Fu.

The lower-right block of Sref(α 1) depends on α, and has the following coefficient:

Γ−13 KP

2 = 10−3 ×

[2.2361 1.1740

1.1740 2.2361

].

Finally, we evaluate Sref(α) for various values of α:

Sref(1) =

1 0 0 −1 0

0 1 0 0 0

0 0 1 0.2 0

−1 0 2 1.4022 0

0 −1 2 0.4012 0

, Sref(103) =

1 0 0 −1 0

0 1 0 0 0

0 0 1 0.2 0

−1 0 2 3.6361 0

0 −1 2 1.5740 0

,

Sref(106) =

1 0 0 −1 0

0 1 0 0 0

0 0 1 0.2 0

−1 0 2 2, 237.5 0

0 −1 2 1, 174.4 0

, Sref(107) =

1 0 0 −1 0

0 1 0 0 0

0 0 1 0.2 0

−1 0 2 22, 362 0

0 −1 2 11, 740 0

.

102

Page 123: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Note that the rightmost column is nullified by Fu. Also, note that the 4th row is not

accessible, because only FySref can be observed.

In this example, Sref(α) contains fixed elements that are identical to α-independent

portion of Sref(α 1). This does not hold in general. In particular, if F = I, then

Sref(α 1) ≈ I, but Sref(α) 6= I for finite values of α. 4

Proof. Diagonal KP/D commutes with Fy,Fu,F . So (4.20) is rewritten as

Sref(α) = (Γ + αFKP)−1αKPFu,

Sw(α) = (I − Sref(α)F)F + (Γ + αFKP)−1Υ,

where Sref(α)Fy = Sref(α)FuFy = Sref(α)F is applied in the second line. Let P :=

(Γ + αFKP). Since Γ ∈ PSDn (Corollary 4.12) and αFKP ∈ PSDn, so P ∈ PSDn

(Lemma A.7). Moreover, P ∈ GLn (see proof of Theorem 4.8), so P ∈ PDn (Lemma

A.8). Writing Γ = [Γ1,Γ2; ΓT2 ,Γ3], we have

P =

[αKP

1 + Γ1 Γ2

ΓT2 Γ3

]∈ PDn.

We use Lemma A.12 to invert P. Let the result be (P)−1 = [Q1,Q2; QT2 ,Q3], then

Q1 = (αKP1 + Γ1 − Γ2Γ

−13 ΓT

2 )−1,

Q2 = −Q1Γ2Γ−13 ,

Q3 = Γ−13 + Γ−1

3 ΓT2 Q1Γ2Γ

−13 .

Note that

limα→∞

Q1 = limα→∞

(αKP1 + Γ1 − Γ2Γ

−13 ΓT

2 )−1 = limα→∞

1

α(KP

1 + (Γ1 − Γ2Γ−13 ΓT

2 )/α)−1

= limα→∞

1

α(KP

1 )−1,

and so for α 1, we have Q1 ≈ 0. This leads to

(P)−1∣∣α1≈

[0 0

0 Γ−13

].

103

Page 124: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Next, for (P)−1α = [αQ1, αQ2;αQT2 , αQ3] we have

αQ1 = (KP1 + (Γ1 − Γ2Γ

−13 ΓT

2 )/α)−1,

αQ2 = −(αQ1)Γ2Γ−13 ,

αQ3 = αΓ−13 + Γ−1

3 ΓT2 (αQ1)Γ2Γ

−13 .

For α 1, we have αQ1 ≈ (KP1 )−1, and then

(P)−1α∣∣α1≈

[(KP

1 )−1 −(KP1 )−1Γ2Γ

−13

−Γ−13 ΓT

2 (KP1 )−1 αΓ−1

3 + Γ−13 ΓT

2 (KP1 )−1Γ2Γ

−13

].

Substituting these to Sref = (P)−1αKPFu for α 1, we arrive at (4.21). As for (4.22),

the first term is obtained from I − Sref(α 1)F from (4.21), and the second term is

obtained from (P)−1Υ.

There is no loss of generality in assuming F = [Im? ,0; 0,0], since we can permute

sensor/actuator pairs to arrive at this form.

For good tracking and regulation, ideally we would obtain a result analogous to Corol-

lary 3.4 (FT ref = F and FT w = 0). From (4.21), we see that the FSref(α 1) nullifies

the bottom row. However, note that Sref(α 1) is right-multiplied by Fu, and not F ,

so the right column is not nullified. Let us analyze this more.

Suppose that F 6= Fu, or equivalently (I − Fy)Fu 6= 0, i.e., there are failed sensors

with healthy actuators. Physically, this corresponds to an actuator that “acts blindly.”

As a result, we obtain the following block-column from (4.21):[−(KP

1 )−1Γ2Γ−13 KP

2

αΓ−13 KP

2 + Γ−13 ΓT

2 (KP1 )−1Γ2Γ

−13 KP

2

],

which would not be nullified in Sref(α 1) (via right-multiplication by Fu). As a result,

F 6= Fu produces two harmful effects:

• The top block −(KP1 )−1Γ2Γ

−13 KP

2 is a “junk term” that interferes with tracking

performance for healthy steady-state outputs F y.

• The bottom block has a “rogue term” αΓ−13 KP

2 that scales with α, which produces

a large physical output.

The “junk term” presents a finite distortion to healthy outputs, which may be con-

104

Page 125: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

sidered as degradation of performance due to SAF. The “rogue term” scales with α and

affects the physical output of the system (which may or may not be observable). This is

a more serious problem that affects our ability to use high gains.

Meanwhile, to proceed with development, we make the assumption that Fu = F(equivalently (I−Fy)Fu = 0), i.e., there are no outputs with failed sensors and healthy

actuators. We refer to the condition Fu = F as actuator failures subsume sensor

failures. A special case of this is Fy = I, i.e., no sensor failures exist. With this, we

can state a result concerned with F y (i.e., the steady-state values for healthy sensors/

actuators). This result is the PD controller counterpart to Corollary 3.4, and will be

important for solving the DRSPFGA.

Corollary 4.14. If the conditions of Theorem 4.13 hold, then large gains lead to

good regulation. Furthermore, if actuator failures subsume sensor failures, then large

gains lead to good tracking:(limα→∞

FSw(α) = 0)∧(Fu = F =⇒ lim

α→∞FSref(α) = F

).

Proof. For α 1, it is clear from (4.22) that FSw ≈ 0. Next, given Fu = F = [I,0; 0,0]

and α 1, (4.21) becomes Sref ≈ [I,0;−Γ−13 ΓT

2 ,0], and so FSref ≈ F .

4.4.2 Main Result

Our main result for solving the DRSPFGA with the DCtrlPD is as follows:

Theorem 4.15. Given an LFSSF (2.30) whose actuator failures subsume sensor fail-

ures, let KP/D be any two fixed diagonal, positive gains. Define a family of PD

controllers C(α) | α > 0 by

C(α) = DCtrlPD using KP = αKP as the proportional gain,

and KD = αKD as the derivative gain,

i.e., each C(α) applies the following feedback rule:

uα = −αKPem − αKDem.

The family C(α) | α > 0 solves the DRSPFGA if and only if the rank condition 〈R1〉

rank(LF) = n holds.

105

Page 126: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Proof. Fix KP/D ∈ PDm ∩ DIAGm. First we show that 〈R1〉 implies 〈F1〉–〈F3〉.(〈R1〉 ⇒ 〈F1〉): Take any α > 0 and fix C(α), which uses KP/D = αKP/D ∈ PDm ∩

DIAGm. Therefore DCtrlPD (4.2), CLSFPD (4.3), and AF are defined. Given that 〈R1〉

holds, Theorem 4.6 states that AF ∈ HUR2n, i.e., 〈F1〉 holds.

(〈R1〉 ⇒ 〈F2〉): Consider the family of DCtrlPD Cα | α > 0. Given that 〈R1〉 holds,

we have AF ∈ HUR2n. So the corresponding steady-state output yα is defined. Theorem

3.3 then states yα = Sref(α)yref + Sw(α)w, and so

limt→∞Feα(t) = F yα −Fyref

= FSref(α)yref + FSw(α)w −Fyref .

Given Fu = F and that gains are diagonal, Corollary 4.14 states FSref(α) = F and

FSw(α) = 0 as α→∞, so

limα→∞

limt→∞Feα(t) = Fyref + 0w −Fyref = 0.

(〈R1〉 ⇒ 〈F3〉): Let us perturb LFSS to define a new model LFSS that more accurately

describes the physical LFSS. An LFSS can have a large number of modes n′ n, a

different q′, and different system parameters Ω2, L, Ef , E. However, it satisfies the

structural assumptions of the LFSS. Also, the LFSS has m of colocated sensor/actuator

pairs (same as the LFSS). Therefore the same Fy and Fu specified in the given LFSSF

can be used to define LFSSF

from the LFSS. In this case, for the given diagonal KP/D,

Theorem 4.6, Theorem 3.3, and Corollary 4.14 all continue to hold, because they are

generally applicable to any LFSSF that satisfy the structural assumptions. Therefore

properties 〈F1〉 and 〈F2〉 hold, as required by 〈F3〉.To prove the converse, assume that the DRSPF

GA has a solution under C(α) | α > 0.Then in particular, 〈F1〉 holds. Choose (say) α = 1, so the resultant CLSF

PD (4.3) is

asymptotically stable. By Theorem 4.6, 〈R1〉 holds.

Note: in implementation the gain α will not be made arbitrarily large. Instead, one

would choose an acceptable error tolerance, and then find α to make limt→∞Feα(t) ≈ 0.

Comparison with Results from Chapter 3

We applied PID controllers to solve the DRSPF by active FTC, and the main theorem

is Theorem 3.2 (“PID results”). We also applied PD controllers to solve the DRSPFGA by

106

Page 127: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

passive FTC, and the main theorem is Theorem 4.15 (“PD results”). Let us compare

these two approaches.

The main specification difference is that the F was available for the PID results,

and unavailable for the PD results. The PID results allows KP/D/I ∈ PDm to be ar-

bitrary (subject to the block-diagonal constraint for decentralized control), whereas the

PD results assumes KP/D ∈ PDm ∩ DIAGm, i.e., the gains are more restrictive.

For necessary and sufficient conditions for a solution to exist, the PID results and the

PD results both have the rank condition 〈E4〉/〈R1〉: rank(LF) = n in common. More

specifically, the condition is common for closed loop stability and exact/good regulation

against unknown disturbance. However, for tracking PD results requires an additional

condition additional condition Fu = F , actuator failures subsume sensor failures.

In Section 3.3.7, it was shown that by choosing diagonal gains, the PID results gains

the ability to tolerate unknown actuator failures. In fact, it can be shown that if Fu = F ,

then the need to diagnose Fy also vanishes, thereby achieving “passive PID results”.

We emphasize that passive PID results do not subsume the PD results. First, the PD

results do not involve “ever-accumulating but benign” integrators present in the passive

PID results, which critically requires Assumption 3.2 (permanence of SAF). If we relax

this assumption (and consider the possibility of fault recovery), then trouble would arise

for the PID case, but not for the PD case.

More notably, the Fu = F condition is critical for the passive PID scheme, since if

Fu 6= F , then the integrator component of a failed sensor can become unbounded, and

this value would be injected to the LFSSF via a healthy output. As for the PD results,

the Fu = F condition arises because DRSPFGA was specified with the condition α → ∞,

which would cause “rogue term” αΓ−13 KP

2 to become arbitrarily large.

Realistically α is finite and so Fu 6= F is not strictly forbidden for the PD control.

However, in this case one would be constrained to keep gains low, so that the “rogue

term” αΓ−13 KP

2 would be kept in check. As a result, we would not be able to make

tracking and regulation performances arbitrarily good by increasing gains. Note that

this design trade-off is absent in passive PID results. In Section 4.5, we will explore a

way to improve the tracking performance under low gains.

107

Page 128: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

4.5 DCtrlPD with Feed-Forward Adjustment (DCtrlFFPD)

Choosing high gains for the DCtrlPD reduces steady-state tracking error for healthy out-

puts, i.e., F(y − yref) → 0. However, if Fu 6= F then high gains can make (I − Fy)y

unacceptably large (Theorem 4.13). In Theorem 4.15 we avoided this problem by as-

suming Fu = F . But in practise, Fu 6= F may be acceptable if we choose low gains,

although this would impact the performance of steady-state tracking and regulation.

Therefore we may opt to be “conservative” and choose low gains. In this case, if

failures occur so that Fu 6= F , then (I − Fy)y would reach a moderate level. However,

in the nominal case the PD controller would produce poor tracking and regulation per-

formances. In this section, we propose a way to resolve this trade-off, by introducing

a feed-forward term to the DCtrlPD. This would allow DCtrlPD to be specified with low

gains, and good tracking performance would still be maintained for the nominal case.

4.5.1 The Controller for the Nominal LFSS

Consider the nominal LFSS (2.3) under the DCtrlPD (4.2). Let us rewrite the DCtrlPD as

u = −KP(ym − yrin)−KDym, (4.23)

where yrin ∈ Rm is a “reference input” that serves as a “dummy” variable. In this case,

the steady-state output y (4.7) is calculated as

y = Srefnomy

rin + Swnomw. (4.24)

Up to this point, we have assigned yrin ← yref . For the DCtrlPD, we may have Sref 6= I

and Sw 6= 0, which lead to y 6= yref . Now let us assign yrin by

yrin ← (Srefnom)−1(yref − Sw

nomw). (4.25)

Substituting this to (4.24) produces the following:

y = Srefnom[(Sref

nom)−1(yref − Swnomw)] + Sw

nomw = yref ,

i.e., by adjusting yref and assigning the result to yrin, the resulting output (in the nominal

case) now satisfies perfect asymptotic tracking y = yref ! Also, note that since yrin is

108

Page 129: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

constant, so AF (3.11) remains stable.

The modification (4.25) is interpreted as a feed-forward controller that requires Srefnom

and Swnomw to be available. General cases of feed-forward controllers are well-studied [17].

Nevertheless, let us proceed with a detailed analysis of our special case. This exercise

yields the following simplification:

Theorem 4.16. For the nominal LFSS (2.3), the DCtrlPD (4.2) with feed-forward

control (4.25) reduces to the original DCtrlPD control with added constant terms:

(∀LFSS)(∀DCtrlPD) : yrin ← (Srefnom)−1(yref − Sw

nomw)

=⇒ u = [−KP(ym − yref)−KDym]︸ ︷︷ ︸The original DCtrlPD

+ [Γyref − (Γ + KP)Swnomw]︸ ︷︷ ︸

Added constant terms

. (4.26)

Proof. Begin from DCtrlPD in (4.23) with “dummy” reference input yrin:

u = −KP(ym − yrin)−KDym, (4.23)

and substitute yrin ← (Srefnom)−1(yref − Sw

nomw) with (4.13) Srefnom = ((KP)−1Γ + I)−1 to

simplify results:

u = −KP[ym − (Srefnom)−1(yref − Sw

nomw)]−KDym

= −KP[ym − ((KP)−1Γ + I)(yref − Sw

nomw)]−KDym

= −KPym + (Γ + KP)(yref − Swnomw)−KDym

= −KP(ym − yref)−KDym + Γyref − (Γ + KP)Swnomw.

Although the feed-forward control was originally specified with (Srefnom)−1, the controller

obtained requires no matrix inverse, and contributes as an “add-on” term to the original

DCtrlPD (4.2).

The preceding case assumes the ideal situation where Sww is available. Unfortu-

nately, this is often an impractical assumption. Realistically, often we can only compen-

sate for Sref 6= I, i.e., tracking performance. This modification truncates (4.25) to

yrin ← (Srefnom)−1yref . (4.27)

109

Page 130: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Substituting this to (4.24) produces

y = Srefnom[(Sref

nom)−1yref ] + Swnomw = yref + Sw

nomw. (4.28)

Also, following Theorem 4.16, (4.27) can be simplified to the original DCtrlPD with an

added term. We call this controller the decentralized PD controller with feed-

forward compensation (DCtrlFFPD), which is specified by

u = [−KP(ym − yref)−KDym] + Γyref . (4.29)

Since Γ is a fixed matrix that can be determined from system parameters by (4.16), so

the DCtrlFFPD is easy to implement.

4.5.2 Special Case of Rigid Body Outputs as References

For the nominal case, let us define the steady-state tracking error e ∈ Rm as

e := limt→∞

e(t) = y − yref = Srefnomy

ref + Swnomw − yref = (Sref

nom − I)yref + Swnomw. (4.30)

The (Srefnom − I)yref term is the reference component of e; and the Sw

nomw term is

disturbance component of e. From (4.29) and (4.28), we see that including Γyref in

u leads to e = y − yref = Swnomw, i.e., (Sref

nom − I)yref = 0.

We now present a special case where the reference component of e vanishes, without

needing to include the Γyref term:

Corollary 4.17. For the nominal case, the class of all reference signals such that the

reference component of e vanishes coincides with the output space of the rigid body

model (2.18):

yref ∈ Rm | (Srefnom − I)yref = 0 = Img LT.

Proof. Let us rewrite the left side and apply Srefnom = ((KP)−1Γ + I)−1 (4.13):

yref ∈ Rm | (Srefnom − I)yref = 0 = Ker(Sref

nom − I) = Ker(I − (Srefnom)−1)

= Ker((Srefnom)−1 − I) = Ker((KP)−1Γ) = Ker Γ.

110

Page 131: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Theorem A.27 states that Ker Γ = Img LT, and the result follows.

Therefore Img LT is the subspace of tracking signals under which the DCtrlPD behaves

like DCtrlFFPD. Another way to interpret the result is to consider Theorem 4.16. If we use

the DCtrlFFPD (4.29) and choose yref ∈ Img LT = Ker Γ, then Γyref = 0, i.e., using the

DCtrlPD has the same effect as using the DCtrlFFPD.

Typically Srefnom 6= I is considered as an annoying artifact of PD controller; if we

compute the step response of y(t) for a given yref , then typically the steady-state y

obtained would be shifted from yref . This phenomenon often motivates the usage of PID

controllers. However, Corollary 4.17 shows that Srefnom has eigenvalues at 1, and therefore

has a nontrivial subspace of constant reference signals yref | Srefnomy

ref = yref, under

which the PD controller would track perfectly (if no disturbance is present).

Furthermore, the “special subspace” in Corollary 4.17 is Img LT, i.e., the output of

the rigid body model. Tracking signals in this subspace has direct application in orbital

station-keeping and attitude control of an LFSS, which are key problems in LFSS control.

A complementary perspective is that steady-state output errors from applying PD

controller to nominal LFSS are related to the elasticity of the LFSS, which acts “against”

the applied force. We interpret the extra Γyref term in the DCtrlFFPD as the extra “kick”

needed to overcome the elasticity of the LFSS to obtain perfect tracking under PD

controller, assuming negligible disturbance.

4.5.3 Effect of Sensor and Actuator Failures

We introduced the DCtrlFFPD (4.29) to improve tracking performance of the nominal LFSS

(2.3), so that a PD controller with low gains may be used. Under unknown SAF, if the

DCtrlFFPD is applied to the resulting LFSSF (2.30), we may lose the desired good results.

Our goal in this section is to show that replacing the DCtrlPD (4.2) with an im-

perfect DCtrlFFPD (4.29) under unknown SAF would not be “too disruptive” to tracking

and regulation performances of healthy outputs. Here “too disruptive” is quantified by

considering the asymptotic behaviour of the gain matrices as gains increase. Admit-

tedly this approach is not ideal, as we would like to maintain low gains. However, the

approach would show we would have the same performance trade-off as before, i.e., be-

tween reducing the effect of “rogue term” (when Fu 6= F) and maintaining good tracking

performance.

Recall that the DCtrlFFPD was obtained by replacing yrin ← (Srefnom)−1yref in the DCtrlPD

111

Page 132: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

expressed in (4.23), which is then simplified to the following:

u = [−KP(ym − yref)−KDym] + Γyref . (4.29)

Recall that under SAF, we have ym = Fyy.

Next, we consider imperfection in DCtrlFFPD, and in particular, perturbations to Γ.

Here Γ represents the “true value” from the LFSS. Now suppose that in (4.29), instead

of adding Γyref , we add (Γ + ∆Γ)yref , where ∆Γ ∈ Rm×m is an error such that the

condition in Corollary 4.12 are satisfied, so

Γ + ∆Γ ∈ PSDm − GLm ∧ rank(Γ + ∆Γ) = m− n.

As a result, we obtain an imperfect DCtrlFFPD:

u = [−KP(ym − yref)−KDym] + (Γ + ∆Γ)yref . (4.31)

The following properties are desired:

• For the nominal LFSS, the imperfect DCtrlFFPD still “improves” steady-state track-

ing (of course, perfect tracking will not occur, owing to disturbances Sww and

modelling error ∆Γyref).

• Under SAF, for the LFSSF, the distortion caused by the imperfect DCtrlFFPD dimin-

ishes as we make gains high.

The first property holds if the individual components of ∆Γ are small in magnitude,

compared to the corresponding components on Γ. This is a reasonable assumption to

make (the technical details involving norms are omitted).

We shall focus on demonstrating the second property. The intuitive explanation

of how this might hold is as follows: we can interpret the imperfect DCtrlFFPD as the

original DCtrlFFPD with (Γ+∆Γ)yref added, which then appear as B(Γ+∆Γ)yref to x. By

considering this as a disturbance term, we can apply the previous analysis using DCtrlPD,

and obtain the same DRSPFGA results as before.

For completeness, let us carry out the calculations to prove the desired result. Let us

rewrite (4.31) as

u = −KP[ym − ((KP)−1(Γ + ∆Γ) + I)yref ]−KDym.

112

Page 133: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

This is equivalent to substituting yrin ← ((KP)−1(Γ + ∆Γ) + I)yref in the DCtrlPD ex-

pression (4.23). Noting that the same AF as the CLSFPD is produced (and hence the same

stability result), we can obtain the steady-state output y = Srefyrin + Sww (4.7), which

leads to

y = [Sref((KP)−1(Γ + ∆Γ) + I)]yref + Sww.

Therefore Sw is unchanged, but we obtain a new steady-state output gain matrix:

SrefFF = Sref((KP)−1(Γ + ∆Γ) + I)

= Sref + Sref(KP)−1(Γ + ∆Γ)

= Sref + (Γ + FuKPFy)−1Fu(Γ + ∆Γ),

where we applied (4.10). Choosing KP ∈ DIAGm ∩ PDm, and KP = αKP leads to

SrefFF(α) = Sref(α) + (Γ + αFKP)−1Fu(Γ + ∆Γ). (4.32)

Repeating the analysis in Theorem 4.13 for the DCtrlFFPD leads to the following:

Theorem 4.18. Given an LFSSF (2.30) and an imperfect DCtrlFFPD (4.31) with diag-

onal gains KP/D = αKP/D, suppose that F = [Im? ,0; 0,0], where m? := rank(F).

Let KP1 , KP

2 , Γ1, Γ2, Γ3 be defined in the same manner as in Theorem 4.13. If the

CLSFPD (4.3) is asymptotically stable, then for large α 1, we have

SrefFF(α 1) ≈

[I −(KP

1 )−1Γ2Γ−13 KP

2

−Γ−13 ΓT

2 αΓ−13 KP

2 + ?

]Fu +

[0 0

0 Γ−13

]Fu(Γ + ∆Γ),

(4.33)

where ? is some finite value depending on Γ, ∆Γ, and KP.

The expression for ? is unimportant, since it easily dominated by αΓ−13 KP

2 for α 1.

Proof. Referring to the proof of Theorem 4.13, for α 1, the second term of (4.32) can

apply the (P)−1 |α1 result, which leads to

(Γ + αFKP)−1Fu(Γ + ∆Γ) ≈

[0 0

0 Γ−13

]Fu(Γ + ∆Γ).

113

Page 134: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

The first term of (4.32) is simply Sref(α 1), which was determined in (4.22). Summing

the terms leads to our result.

The counterpart to Corollary 4.14 for the DCtrlFFPD is the following:

Corollary 4.19. If the conditions of Theorem 4.18 hold, and if actuator failures

subsume sensor failures, then large gains lead to good tracking:

Fu = F =⇒ limα→∞

FSrefFF(α) = F .

Proof. Given Fu = F = [I,0; 0,0] and α 1, (4.33) becomes Sref ≈ [I,0;−Γ−13 ΓT

2 ,0]

(cancellation by Fu = F), and so FSref ≈ F .

To summarize, DCtrlFFPD was specified to provide an alternative to manage degraded

performance in our passive FTC approach. The DCtrlFFPD improve tracking results for the

nominal LFSS under PD control, by allowing low gains to be chosen to achieve good

tracking performance (but not regulation). Low gains have the advantage that under a

SAF (in which F 6= Fu is possible) under which the CLSFPD is stable, the “rogue term”

problem mentioned in Section 4.4.1 would be reduced. Although the Γyref term serves as

a distortion under failure, since distortion does not scale with α, and is therefore benign,

especially compared to the “rogue term.”

4.6 Examples

We present detailed numerical simulations to illustrate the results from this chapter.

Example 4.6. Consider LFSS Benchmark A. The first set of simulations is plotted in

Figure 4.1, which shows the output components of y(t) from tracking step responses of

yref = [1; 0; 0], and disturbance step responses of w = [1; 0; 0]. Each plot consists of two

simulations: dashed lines plot a “low-gain” simulation using KP/Dlo , and solid lines plot a

“high-gain” simulation using KP/Dhi :

Low-gain: KPlo = 3 I3, KD

lo = 14 I3,

High-gain: KPhi = 90 I3, KD

hi = 420 I3.

In each simulation, the nominal LFSS runs for the first 100 s, and then an actuator failure

114

Page 135: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

0

0.5

1

y1

0

0.5

1

y2

0 100 200 300 400

0

0.05

0.1

0.15

y3

Time(sec)

0

0.5

1

y1

−0.8

−0.6

−0.4

−0.2

0

y2

0 100 200 300 400

0

0.02

0.04

y3

Time(sec)

(a) Tracking resp. (yref = [1; 0; 0]). (b) Disturbance resp. (w = [1; 0; 0]).

Figure 4.1: Step responses of LFSS Benchmark A CLSFPD with actuator failure in eT

2u.

in eT2u takes place, i.e.,

Fy = diag(1, 1, 1), Fu = diag(1, 1, 1)→ diag(1, 0, 1).

The rank condition 〈R1〉 still holds after this failure: rank(LF) = rank[0.2887, 0, 0.2887] =

1 = n. Since gains are diagonal, and Fu = F , so Theorem 4.15 states the DRSPFGA has a

solution. This is verified in Figure 4.1: the system reaches a steady-state, in spite of a

failure. Therefore 〈F1〉 holds. Moreover, the high-gain simulations show superior track-

ing and disturbance rejection properties for the nominal case. With actuator failure, this

continues to hold for health outputs eT1 y and eT

3 y. These agree with 〈F2〉.Tracking and disturbance rejection fails for eT

2 y, corresponding to the failed actuator.

However, the steady-state values are still bounded.

Let us consider the steady-state output matrices Sref and Sw from (4.7). These

characterize steady output more efficiently and accurately than plots. We will apply

Theorem 4.7 (or Theorem 4.8 and Theorem 4.9). For the low-gain, nominal case (i.e.,

for t < 100 s), we obtain

Srefnom(lo) =

0.7917 0.1667 0.0417

0.1667 0.6667 0.1667

0.0417 0.1667 0.7917

, Swnom(lo) =

0.4861 −0.2222 0.0361

−0.0556 0.9111 −0.0556

0.0361 −0.2222 0.4861

.

115

Page 136: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

Note that the first column of Srefnom(lo) matches the low-gain (dashed line) nominal steady-

state value in Figure 4.1 (a), just prior to t = 100 s. We would like to Srefnom to be close to

I, and Swnom close to 0. Therefore the low-gain DCtrlPD shows unsatisfactory performance.

By contrast, the high-gain, nominal case shows superior performance:

Srefnom(hi) =

0.9891 0.0108 0.0001

0.0108 0.9785 0.0108

0.0001 0.0108 0.9891

, Swnom(hi) =

0.0219 −0.0192 0.0021

−0.0084 0.0539 −0.0084

0.0021 −0.0192 0.0219

.(4.34)

Next, we consider the steady-state matrices under actuator failure. For the high-gain

case, these are

Srefhi =

0.9945 0 0.0055

0.5000 0 0.5000

0.0055 0 0.9945

, Swhi =

0.0177 0.0078 −0.0021

−0.3922 2.5078 −0.3922

−0.0021 0.0078 0.0177

. (4.35)

Sensors for healthy actuators correspond to row 1 and row 3. Clearly we still have good

tracking and disturbance rejection.

Let us see what happens if we no longer assume Fu = F , and observe the effect of

the “rogue term” discussed in Section 4.4.1. Suppose that a sensor failure occurs on eT3 y

at t = 100 s, and that the corresponding actuator is healthy:

Fy = diag(1, 1, 1)→ diag(1, 1, 0), Fu = diag(1, 1, 1).

The results are plotted in Figure 4.2. The system is still stable, but the healthy output

eT2 y no longer tracks 0. Moreover, under high gains, the steady-state failed output eT

3 y

reached 90 for the tracking response! The high gain effect is not observed in the distur-

bance response. Detailed information is obtained from the steady-state gain matrices:

Srefhi =

0.9891 0.0109 0.0109

0.0109 0.9891 0.9891

0.0109 0.9891 90.9891

, Swhi =

0.0219 −0.0194 0.0023

−0.0064 0.0350 0.0132

0.1936 −1.7650 2.0132

.Therefore the output with failed sensor with healthy actuator has a high steady-state

output. Although this is undesirable, the system is still stable. 4

116

Page 137: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

0

0.1

0.2

y1

0

0.5

1y

2

0 100 200 300 400

0

50

100

150

y3

Time(sec)

0

0.05

0.1

y1

00.10.20.3

y2

0 100 200 300 400

0

2

4

y3

Time(sec)

(a) Tracking resp. (yref = [0; 0; 1]). (b) Disturbance resp. (w = [0; 0; 1]).

Figure 4.2: Step responses of LFSS Benchmark A CLSFPD with sensor failure in eT

3 v(Dashed lines: low gain; Solid lines: high gain).

Example 4.7. Consider LFSS Benchmark C, choosing E = B (i.e., disturbances act

through actuator) and F = 0. Recall that Γ for LFSS Benchmark C is computed in

Example 4.4.

Previously we chose gains in a somewhat arbitrary way. Let us now do so in a more

systematic manner. From Γ, we see that row 3 is the negative the sum of the other rows.

Since (4.12) Srefnom = ((KP)−1Γ + I)−1, choosing KP = diag(1, 1, 4, 1, 1) would create a

more “balanced” scaling. This leads to

(KP)−1Γ =

61.7388 −32.4139 −58.6499 61.7388 −32.4139

−32.4139 61.7388 −58.6499 −32.4139 61.7388

−14.6625 −14.6625 58.6499 −14.6625 −14.6625

61.7388 −32.4139 −58.6499 61.7388 −32.4139

−32.4139 61.7388 −58.6499 −32.4139 61.7388

.

This also has the advantage that the diagonal entries of (KP)−1Γ are ≈ 60. Next, let us

choose α so that the diagonal entries of Srefnom = ((αKP)−1Γ + I)−1 are ≈ 0.98. Using the

approximation (I + X)−1 ≈ I −X (where entries of X have small magnitude), then

Srefnom = ((αKP)−1Γ + I)−1 ≈ I − (αKP)−1Γ.

117

Page 138: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

The diagonal entries of Srefnom were specified to be ≈ 0.98, so the diagonal entries of

(αKP)−1Γ = α−1(KP)−1Γ are ≈ 0.02. This leads to α−160 = 0.02, and finally α =

60/0.02 = 3,000. For consistency with theory, in which KP and KD share a common α,

we choose KD = 10KP = 10 diag(1, 1, 4, 1, 1). Therefore we choose

KP = 3,000× diag(1, 1, 4, 1, 1),

KD = 3,000× 10 diag(1, 1, 4, 1, 1).

These lead to

Srefnom =

0.981 0.010 0.019 −0.019 0.010

0.010 0.981 0.019 0.010 −0.019

0.005 0.005 0.981 0.005 0.005

−0.019 0.010 0.019 0.981 0.010

0.010 −0.019 0.019 0.010 0.981

.

Also, the elements of Swnom each has a magnitude less than 0.001 (details omitted), al-

though the main contributor to this is the fact that E has small entries.

As with LFSS Benchmark A, we simulate the LFSS to be the nominal system initially.

At t = 4,000 s, a combined sensor and/or actuator failure takes place on eT2 y and eT

2u.

The step responses of tracking/disturbance on eT3 y

ref and eT3w are shown in Figure 4.3.

As expected, we have good tracking and disturbance rejection performance for healthy

outputs. Next, under failure, we have

Sref =

0.986 0.000 0.029 −0.014 0.000

0.517 0.000 0.966 0.517 −1.000

0.007 0.000 0.986 0.007 0.000

−0.014 0.000 0.029 0.986 0.000

0.000 0.000 0.000 0.000 1.000

.

We will revisit this example in Example 5.3. 4

118

Page 139: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 4. Passive FTC of LFSS using a PD Controller

−0.10

0.10.20.3

y1

0

1

2

y2

0

0.5

1

y3

−0.10

0.10.20.3

y4

0 5000 10000

−0.10

0.10.20.3

y5

Time(sec)

−1012

x 10

y1

05

1015

x 10−5

y2

0

5

10

x 10−5

y3

−1012

x 10−5

y4

0 5000 10000

−1012

x 10−5

y5

Time(sec)

(a) Track. resp. (eT2 y

ref = 1). (b) Dist. resp. (eT2w = 1).

Figure 4.3: Step responses of LFSS Benchmark C CLSFPD with sensor failure in eT

1 y.

119

Page 140: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5

Integrating the PID and the PD

Controllers

In Chapter 3, the PID controller DCtrlFA was applied to the LFSSF to solve the DRSPF,

thereby achieving active FTC. In Chapter 4, the PD controllers DCtrlPD and DCtrlFFPD were

applied to solve the DRSPFGA, thereby achieving passive FTC (with some degradation of

performance). In this chapter, we study fault diagnosis on the LFSSF, based on steady-

state analysis of the LFSSF under control by the DCtrlPD. This extension gives rise to an

integrated controller that diagnoses and accommodates faults in the LFSSF, combining

the advantages of PID and PD controllers.

The first two sections of this chapter introduce new concepts that may not appear

immediately relevant to the previous chapters. Section 5.1 provides details on how to

diagnose SAF by studying steady-state output measurements of the LFSSF, when a PD

controller is applied. Section 5.2 considers a general signal processing problem of final

value extrapolation, which will help us improve the efficiency of estimating steady-state

values. These ideas are then applied in Section 5.3, which proposes a methodology

to integrate PID and PD controllers to perform integrated fault diagnosis and fault

accommodation to solve the DRSPF. Finally, Section 5.4 presents integrated examples to

illustrate our ideas and heuristics.

5.1 Fault Diagnosis using the PD Controller

The PD controller DCtrlPD was specified to control the LFSSF under unknown SAF.

Additional analysis will reveal another application of the DCtrlPD: when the resulting

120

Page 141: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

CLSFPD is stable, it is possible to use measured steady-state output to diagnose SAF

(more specifically, F = FyFu). This new possibility shows that a PD controller nicely

complements the PID controllers in the FTC of the LFSSF.

It is to be noted that our fault diagnosis procedure requires coordination among the

various controller agents. Therefore we only have “centralized diagnosis”. However, there

is no explicit communication among controller agents.

5.1.1 Overview

We wish to perform fault diagnosis on the LFSSF at runtime to learn about Fy and Fu.

Heuristically, sensors failure can be isolated by identifying “stuck-at-zero components”

of ym, and actuator failures by the non-response of “probing” actuator signals applied at

individual actuators. However, we seek a more rigorous approach, so that false detection

from transients or chance is avoided. In particular, we will focus on fault diagnosis based

on steady-state outputs from an asymptotically stable CLSFPD.

As seen in (4.8), the steady-state output reference matrix Sref ∈ Rm×m is a function

of (Γ,Fy,Fu,KP). Γ ∈ PSDm − GLm is a fixed parameter of the LFSS; KP ∈ PDm is

a gain that can be chosen; and Fy and Fu are unknown SAF parameters that we wish

to deduce. More concretely, suppose that Sref , Γ, and KP are known, then we wish to

solve Fy and Fu from the relationship:

Sref = (Γ + FuKPFy)−1FuKP, (4.10)

At runtime, ym(t) = Fyy(t) can be measured from the LFSSF. Since we wish to

use steady-state data to perform diagnosis, so the primary data obtained by experiment

consist of Fyy, which from (4.7), is

Fyy = FySrefyref + FySww.

Note that Sref is combined with Fy. Therefore we are can extract only

[FySref ] = Fy(Γ + FuKPFy)−1FuKP, (5.1)

where the notation [FySref ] emphasizes that it is a single measurable unit. Details on

121

Page 142: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

obtaining [FySref ] are presented in Section 5.1.2. Next, let us calculate

[FySref ](KP)−1 = Fy(Γ + FuKPFy)−1Fu. (5.2)

From this, we see that Fy acts to nullify rows of (Γ+FuKPFy)−1, and Fu acts to nullify

columns. Therefore if we can choose KP so that (Γ + FuKPFy)−1 has no 0-entries for

all possible cases of (Fy,Fu) in which AF ∈ HUR2n, then it appears that zeroed rows

map to Fy, and zeroed columns map to Fu! Unfortunately, this method does not work

in general, as shown in the counterexample below:

Example 5.1. Let m = 2, n = 2, and n = 1. From Lemma A.28, we can choose any

Γ ∈ PSDm − GLm satisfying rank Γ = m− n as a potential Γ from some LFSSF. So let

Γ =

[0 0

0 1

], KP =

[a b

b c

]∈ PDm.

Indeed, using (4.16), Γ can be attained using Ω2 = [0, 0; 0, 1] and L = [1, 0; 0, 1]. Now

suppose Fy = diag(1, 0) and Fu = diag(1, 1) (the rank condition 〈R1〉 holds), then

(Γ + FuKPFy)−1 =

[a 0

b 1

]−1

=

[1/a 0

−b/a 1

], Fy(Γ + FuKPFy)−1Fu =

[1/a 0

0 0

].

Using the proposed method of zero row/column counting, we would wrongly conclude

that Fu = diag(1, 0). In fact, if Fy = diag(1, 0) and Fu = diag(1, 0), then

(Γ + FuKPFy)−1 =

[a 0

0 1

]−1

=

[1/a 0

0 1

], Fy(Γ + FuKPFy)−1Fu =

[1/a 0

0 0

],

i.e., an identical result is obtained, for all KP ∈ PDm. 4

Example 5.1 presents an instance of “aliasing”, in which distinct SAF specifications

i.e., (Fy1 ,Fu

1 ) 6= (Fy2 ,Fu

2 ) produce indistinguishable results. As a result, in general we

may not diagnose (Fy,Fu) solely from [FySref ].

Fortunately, our purpose for fault diagnosis is to allow DCtrlFA to be applied by

conducting controller adjustments 〈C1〉–〈C4〉, and this only requires F = FyFu to be

known, i.e., we need not extract (Fy,Fu). We will show that F can be extracted from

[FySref ](KP)−1. From (5.2), this corresponds to examining diagonal entries that are 0.

122

Page 143: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

However, for this approach to work, the diagonal entry of (Γ + FuKPFy)−1 must

not become 0 by chance. Moreover, it would be prudent to establish a threshold for

zero-detection. Both issues are addressed in Section 5.1.3.

5.1.2 Extracting [FySref ] from Output Measurements

To diagnose F we need to determine [FySref ]. We now present a method to determine

[FySref ] for a fixed KP by conducting a series steady-state experiments. The main idea

is to perturb yref to different values, measure the resulting steady-state observation Fyy,

and then solve for [FySref ].

Recall from Section 5.1.1 that

Fyy = [FySref ]yref + FySww.

Two problems can arise when we try to obtain [FySref ] from this. First, Sww is an

unknown constant vector that has to be eliminated somehow. Second, it may be incon-

venient to adjust yref to arbitrary values (for example, if the solar arrays of an LFSS

already have a good orientation, we might not want to change that by too much). For

concreteness, let us specify the following conditions and assumptions:

• The DCtrlPD is applied to the LFSSF, using some fixed gains KP/D ∈ PDm.

• The resulting CLSFPD is asymptotically stable (so Sref is defined).

• The current preferred reference is yref0 ∈ Rm.

• Sww remains constant throughout the experiment.

• Given any yref ∈ Rm, the resulting steady-state measurement Fyy can be acquired.

Let yrefi ∈ Rm (for some index i) be some specified fixed value. We can obtain [FySref ]yref

i

by applying the following:

Algorithm 5.1. Given the above assumptions, [FySref ]yrefi is extracted by the fol-

lowing:

123

Page 144: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

1. Choose ρi > 0 so that ρiyrefi is “reasonably small” compared to yref

0 . Choosing

a large ρi would improve numerical accuracy, but at the expense of introducing

more perturbation to yref0 .

2. Acquire the steady-state output measurement [Fyy0] (using square brackets to

emphasize that Fyy0 is a single measured quantity) for the current set-point

yref0 :

[Fyy0] := Fy(Srefyref0 + Sww). (5.3)

3. Assign/perturb the current reference from yref0 to yref

0 +ρiyrefi . Let the resulting

physical output be y0i.

4. Acquire the new steady-state output measurement:

[Fyy0i] := Fy(Sref(yref0 + ρiy

refi ) + Sww). (5.4)

5. Evaluate the difference between the two steady-state outputs measurements.

Next, divide by ρi:

[Fyy0i]− [Fyy0] = ρi[FySref ]yrefi ,

∴ [FySref ]yrefi =

1

ρi([Fyy0i]− [Fyy0]).

So under the assumptions, we can use Algorithm 5.1 to overcome the two problems

above and obtain [FySref ]yrefi for any yref

i . If we choose a linear independent basis

yref1 , . . . ,yref

m , (with some corresponding ρ1, . . . , ρm), then we can measure the resulting

[Fyy01], . . . , [Fyy0m], and obtain1:

[FySref ]m =[

1ρ1

([Fyy01]− [Fyy0]) . . . 1ρm

([Fyy0m]− [Fyy0])] [yref

1 . . . yrefm

]−1

In particular, if we choose yrefi = ei for i ∈ [1,m]Z, then we need not perform matrix

inversion, and obtain columns of [FySref ] by

[FySref ]m =[

1ρ1

([Fyy01]− [Fyy0]) . . . 1ρm

([Fyy0m]− [Fyy0])]. (5.5)

1The notation [·]m emphasizes the value was obtained from measurement and calculation.

124

Page 145: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

As an interesting aside, once we determine [FySref ], we can rearrange (5.4) to

FySww = (FySref)(yref0 + ρiy

refi )− [Fyy0i],

and obtain the vector [FySww]. Alternatively, if we wish to obtain FySww without

[FySref ], then we can change/perturb yref0 to (1 + ε)yref

0 , then we acquire

[Fyyε] := Fy[Sref(1 + ε)yref0 + Sww].

Subtracting this from (5.3) multiplied by (1 + ε) yields

(1 + ε)[Fyy0]− [Fyyε] = εFySww,

∴ [FySww] = [Fyy0] +1

ε([Fyy0]− [Fyyε]).

5.1.3 Main Algorithm

In Section 5.1.1, we saw that simultaneous extraction of Fy and Fu from [FySref ] may be

infeasible. Fortunately, for the purpose of FTC, we only need to extract F . We claimed

that this involves checking for 0’s on the diagonal entries of [FySref ](KP)−1. Let us now

prove this assertion, under KP/D ∈ DIAGm. Recall that given [FySref ], we can calculate

[FySref ](KP)−1 = Fy(Γ + FuKPFy)−1Fu. (5.2)

Lemma 5.2. Given an asymptotically stable CLSFPD (4.3) obtained from DCtrlPD with

diagonal gains, the i-th diagonal entry of [FySref ](KP)−1 is 0 if and only if the i-th

diagonal entry of F is 0:

(∀LFSSF)(∀DCtrlPD : KP/D ∈ DIAGm) : AF ∈ HUR2n =⇒

(∀i ∈ [1,m]Z) : eTi [FySref ](KP)−1ei = 0 ⇐⇒ eT

i Fei = 0.

Proof. Since AF ∈ HUR2n, so Sref is defined. Following Corollary A.26 and noting

KP/D ∈ DIAGm, define X := Γ + FuKPFy = Γ + FKP ∈ PDm. Thus (5.2) be-

comes [FySref ](KP)−1 = FyX−1Fu. Take any i ∈ [1,m]Z. Our goal is to show that

125

Page 146: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

eTi FyX−1Fuei = 0 ⇔ eT

i Fei = 0. X ∈ PDm ⇒ X−1 ∈ PDm (Lemma A.10), and so

eTi X−1ei > 0 (Lemma A.6). Since Fuei is either ei or 0 (and similarly for Fy), so

eTi FyX−1Fuei = 0 ⇐⇒ (eT

i Fy = 0T ∨ Fuei = 0) ⇐⇒ eTi Fei = eT

i FyFuei = 0.

Therefore F can be extracted by identifying 0’s along the diagonal of [FySref ](KP)−1.

But to implement this method, we cannot simply test for “x = 0”, since there may

be numerical or measurement noise. Practical zero-testing typically involves defining

some threshold τ > 0, and testing for “|x| < τ”. However, how can such a threshold

be chosen? What if it happens that a diagonal entry of [FySref ](KP)−1 is a very small

positive number? These questions are answered by the following results, which help us

find the desired thresholds.

Theorem 5.3. Given an asymptotically stable CLSFPD (4.3) obtained from DCtrlPD

with diagonal gains, (Γ + FuKPFy)−1 (from Sref) subtracted by (Γ + KP)−1 (from

Srefnom) results in a p.s.d. matrix:

(∀LFSSF)(∀DCtrlPD : KP ∈ DIAGm) : AF ∈ HUR2n =⇒

(Γ + FuKPFy)−1 − (Γ + KP)−1 ∈ PSDm.

We first illustrate this theorem with a simple example.

Example 5.2. Consider

Γ =

[4 2

2 1

]∈ PSD2, KP =

[1 0

0 3

]∈ DIAG2 ∩ PD2,

and let Fu = Fy = diag(1, 0) ∈ DIAG20,1. We obtain

Y := Γ + KP =

[5 2

2 4

]∈ PD2, X := Γ + FuKPFy =

[5 2

2 1

]∈ PD2.

126

Page 147: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Note that Y −X =

[0 0

0 3

]∈ PSD2. Next,

X−1 =

[1 −2

−2 5

]∈ PD2, Y−1 =

[0.25 −0.125

−0.125 0.3125

]∈ PD2

And so X−1−Y−1 =

[0.75 −1.875

−1.875 4.6875

]∈ SYM2. The eigenvalues are 0 and 5.4375,

so X−1 −Y−1 ∈ PSD2, as stated by Theorem 5.3. 4

Proof. Following the proof of Lemma 5.2, we obtain X := Γ + FuKPFy = Γ + FKP ∈PDm. We also define Y := Γ + KP ∈ PDm. Next, Y−X = (I−F)KP ∈ DIAGn. The

product introduces diagonal zeros to KP ∈ PDm, so Y − X ∈ PSDm. From Lemma

A.18 (with X,Y ∈ PDm), we obtain X−1 −Y−1 ∈ PSDm.

The following corollary compares diagonal elements of matrices from Theorem 5.3.

Corollary 5.4. Given an asymptotically stable CLSFPD (4.3) obtained from DCtrlPD

with diagonal gains, each diagonal element of [FySref ] corresponding to healthy sen-

sor/actuator pairs is greater or equal to the matching diagonal element of Srefnom:

(∀LFSSF)(∀DCtrlPD : KP/D ∈ DIAGm) : AF ∈ HUR2n =⇒

(∀i ∈ [1,m]Z) : Fei = ei =⇒ eTi [FySref ]ei ≥ eT

i Srefnomei

Proof. We continue from the proof of Theorem 5.3 (which requires KP/D ∈ DIAGm).

Fix i ∈ [1,m]Z. Since (Γ + FuKPFy)−1 − (Γ + KP)−1 ∈ PSDm, by definition of p.s.d.,

eTi (Γ + FuKPFy)−1ei ≥ eT

i (Γ + KP)−1ei. Suppose that Fei = ei, then Fyei = ei

and Fuei = ei, and so eTi Fy(Γ + FuKPFy)−1Fuei ≥ eT

i (Γ + KP)−1ei. Next, KP ∈PDm ∩DIAGm ⇒ KPei = λiei for some λi > 0. Therefore we can insert KP and obtain

eTi Fy(Γ + FuKPFy)−1FuKPei ≥ eT

i (Γ + KP)−1KPei.

Finally, using (5.1) and (4.13), the above is rewritten as eTi [FySref ]ei ≥ eT

i Srefnomei.

When small measurement noise are present, each diagonal element of [FySref ] =

Fy(Γ + FuKPFy)−1KPFu would either cluster about 0 (for failed outputs), or cluster

about some value greater than or equal to the matching diagonal element of Srefnom (for

127

Page 148: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

healthy outputs). Therefore the diagonal elements of 12Sref

nom can be taken as thresholds

to distinguish between the two cases.

Applying the above, we arrived at the following diagnosis algorithm:

Algorithm 5.5. Diagnosing F :

1. (Preparation) For the nominal LFSS under control of DCtrlPD with diagonal

gains KP/D, acquire [Srefnom].

2. (Preparation) For each k ∈ [1,m]Z, choose threshold τk := 12eTk [Sref

nom]ek.

3. Suppose the LFSSF (with failure) under the control of DCtrlPD produces a stable

CLSFPD, and so y is defined (Theorem 4.15). We wish to diagnose F = FyFu.

4. Acquire [FySref ] (Section 5.1.2, applying Algorithm 5.1).

5. For each k ∈ [1,m]Z, if eTk [FySref ]ek < τk, then eT

k y is a failed output (eTkFek =

0); otherwise eTk y is a healthy output (eT

kFek = 1). This determines F .

In comparing [Srefnom] with [FySref ], we assumed that a common KP is shared. However,

this assumption can be relaxed. Suppose that a new KPnew ∈ PDm ∩ DIAGm is used in

Step 4, instead of the original KP, such that [FySref ]new is acquired. Then we do not

need to repeat Step 1 to acquire [Srefnom]new. Instead, from (4.13) Sref

nom = ((KP)−1Γ+ I)−1,

we can obtain Γ from [Srefnom] and KP; we then compute [Sref

nom]new from Γ and KPnew:

Γ = KP([Sref ]−1 − I),

[Srefnom]new = ((KP

new)−1Γ + I)−1 = ((KPnew)−1KP([Sref ]−1 − I) + I)−1.

In fact, since Srefnom ≈ I for high gains, so assigning τ1 = . . . = τm = 0.5 may be a good

approximation. This also raises an interesting point: although our diagnosis algorithm

is model-based, the dependence on modelling details of the LFSS can be adjusted by

adjusting the gain.

It is to be noted that unlike Theorems 4.15 and Corollary 4.14, we do not require

Fu = F to diagnose F . Also, our diagnosis approach is only specified for the DCtrlPD, but

not the DCtrlFFPD; therefore we do not apply the feed-forward term (to improve tracking

and regulation) during diagnosis.

128

Page 149: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Example 5.3. To verify Theorem 5.3 and Corollary 5.4, let use revisit Example 4.6,

which uses LFSS Benchmark A. We focus on the “high-gain” scenario, with KPhi = 90I3

and KDhi = 420I3. The diagonal entries of Sref

nom (4.34) are [0.9891; 0.9785; 0.9891]. There-

fore we choose diagnosis thresholds to be 12[0.9891; 0.9785; 0.9891]. The diagonal entries

of [FySref ] for various scenarios of F that satisfies the rank condition 〈R1〉 rank(LF) = n

(i.e., CLSFPD is stable) are shown in Table 5.1. The results are independent on how Fy

F eT1 [FySref ]e1 eT

2 [FySref ]e2 eT3 [FySref ]e3

diag(1, 1, 1) (nominal) 0.9891 0.9785 0.9891

diag(0, 1, 1) 0 0.9891 0.9891

diag(1, 0, 1) 0.9945 0 0.9945

diag(0, 0, 1) 0 0 1.0000

diag(1, 1, 0) 0.9891 0.9891 0

diag(0, 1, 0) 0 1.0000 0

diag(1, 0, 0) 1.0000 0 0

Table 5.1: Diagonal components of [FySref ] for different cases of F .

and Fu are chosen, as long as F = FyFu. We see that the entries are either 0 (for failed

outputs), or some value that is no less than the nominal case (for healthy outputs). So

under modest noise (up to about ±0.4), the threshold chosen can effectively distinguish

between failed outputs from healthy outputs, for every sensor/actuator pair. 4

Example 5.4. We repeat the verification for LFSS Benchmark C, using the results from

Example 4.7. Recall that the diagonal entries of Srefnom (for the gains chosen) are

0.981, 0.981, 0.981, 0.981, 0.981.

Next, if a combined sensor and actuator failure takes place on eT2 y and eT

2u, then the

diagonal entries of the corresponding Sref is

0.986, 0.000, 0.986, 0.986, 1.000.

Again, this agrees with Theorem 5.3, eTi Srefei ≥ eT

i Srefnomei for i ∈ 1, 2, 4, 5, i.e., the

indexes of diagonal entries that are non-zero.

4

129

Page 150: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

5.1.4 Limitations

Compared to the various diagnosis frameworks seen in Section 2.4.3, our diagnosis ap-

proach Algorithm 5.5 is simple, and has well-established detection thresholds. However,

our approach also suffers from some limitations, the most serious of which are intrusive-

ness and lack of decentralization.

We consider Algorithm 5.5 to be “intrusive” because it needs the controller to enter

a “diagnosis mode”, in which fault diagnosis becomes top priority, and nominal tasks

of the plant are suspended. In particular, we need to inject probing signals into the

system by altering yref . This issue is partially addressed in Algorithm 5.1, by perturbing

yref relative to an arbitrary “current preferred reference” yref0 . Moreover, since we are

using a PD controller without using the feed-forward compensation, there would likely

be steady-state tracking error, and there is no disturbance regulation.

Recall that two aspects of fault diagnosis are fault detection (determining whether

or not a fault has occurred) and fault isolation (extracting information on faults that

have occurred). The intrusiveness problem makes Algorithm 5.5 more suitable for fault

isolation than for fault detection. Here are some heuristics on how to tackle the lack of

fault detection in our framework:

• Implement threshold-based detection rules, i.e., if some component of ym−yref are

“too large” for an “extended duration”, then a full diagnosis is applied. Thresholds

for value/duration testing are needed to qualify above conditions – but we do not

have results on these. Also, even with a good threshold, this heuristics is not

foolproof. For example, if eTi y

ref = 0 for some i ∈ [1,m]Z, then since a sensor

failure in eTi y

m cannot be detected by this method.

• Perform scheduled diagnosis on the LFSS, prioritizing on events when the likelihood

of failure is high, e.g., on initial deployment, or on significant changes to yref .

• We can prioritize on subsets of sensor-actuator pairs when running Algorithm 5.5,

as to reduce the overall intrusiveness of the diagnosis procedure.

Next, we consider the “lack of decentralization” limitation of Algorithm 5.5. Since the

approach utilizes probing signals, so coordination among local controllers is required. In

particular, in Step 5, the colocated sensors/actuators are tested sequentially. Therefore

the diagnosis approach requires a central coordinator, and is not decentralized.

130

Page 151: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

One way to mitigate communication overhead is to choose a threshold of τ1 = . . . =

τk = 0.5, since in this case Step 1 and Step 2 in Algorithm 5.5 can be skipped. Also,

Step 4 and Step 5 can be merged, since we can acquire the k-th column in [FySref ] by

steady-state experiment, and obtain eTk [FySref ](KP)−1ek directly for testing. Therefore

the role of the central supervisor need to dictate the timing to test each colocated sensors/

actuators, but there is no extensive information exchange among control agents.

5.2 Linear Final Value Extrapolation

In order to perform diagnosis using [FySref ], we need to acquire steady-state measure-

ments Fyy = limt→∞

ym(t) from the CLSFPD. One way to obtain the steady-state measure-

ments is to wait for all transients to disappear, leaving an essentially constant value to

be measured. However, this process may be time-consuming, especially if the closed

loop system has lightly-damped modes. To improve efficiency, it is desirable to estimate

steady-state output of the LFSSF from measurements, without having to wait for signals

to become essentially constant. In this section, we develop one such method.

The material in this section is generic, and does not require the LFSS model. Therefore

the notation used here are independent from other sections.

We refer to [50] for topics related to signal processing and linear systems.

5.2.1 Problem Setup

Let y(t) be a real continuous time scalar signal that is specified by the following:

(∀t ∈ R) : y(t) = c0 +m∑i=1

ni−1∑j=0

ci,jtjeλit, (5.6)

where λ1, . . . , λm ⊂ C− are m ∈ N0 distinct stable poles, (∀i ∈ [1,m]Z) : ni ∈ N0,

and (∀i ∈ [1,m]Z)(∀j ∈ [0, ni − 1]Z) : ci,j ∈ C (may be 0). Therefore y(t) is a linear

combination of products of decaying exponential functions, with possible sinusoids and

polynomials. We also define

n := 1 + n1 + . . .+ nm, (5.7)

131

Page 152: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

which also counts c0. Since <(λi) < 0 for i ∈ [1,m]Z, so (∀j ∈ [0, ni−1]Z) : limt→∞ tjeλit =

0. This ensures that a final value exists:

limt→∞

y(t) = c0.

Since y(t) is a real function, so the poles λi and coefficients ci,j obey the appropriate

conjugate symmetry.

The linear final value extrapolation problem is defined as follows: Given the

ability to sample y(t) for a finite (say K) choice of time instants t ∈ t0, t1, . . . , tK | 0 ≤t0 < t1 < . . . < tK−1, develop a practical algorithm to find c0 in finite time. Of course,

the values

c0,m, n1, . . . , nm, n, λ1, . . . , λm, c1,0, . . . , c1,n1−1, . . . , cm,0, . . . , cm,nm−1,

are unknown, although domain-specific knowledge may be used to bound n.

It is desirable to determine c0 efficiently (minimize tK−1 and/or K) and robustly (able

to estimate c0 reasonably well under noise).

The problem of on-line identification of steady-states is studied in [12]. In this work,

a signal is said to “reach steady-state” within some specified window, when it consists of

a constant with some independent zero-mean noise added. The goal is to detect when a

signal reaches steady-state for some present window, and then extract the steady-state

value by applying novel statistical tests.

In [41], an application of steady-state analysis for fault diagnosis of an air conditioner

is considered. As with [12], signals are assumed to reach steady-state. Moving-window

averaging is used to determine when this occurs, and to extract a steady-state. More

specifically, standard deviation of data within windows is calculated, and is called a

“feature”. These features are used to decide when a steady-state is reached, and are

applied for fault diagnosis using threshold-based comparison.

Our problem is different from [12, 41], since we are considering a structured signal

modelled by (5.6). Although we would like some robust against noise, noise is assumed

to be small (justifiable for space systems), and do not warrant dedicated statistical treat-

ment. Finally, we wish to extrapolate the steady-state during signal transients, rather

than waiting for steady-state to be reached.

The harmonic retrieval problem of a noisy signal in [43] considers sums of sinusoids

132

Page 153: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

and noise. Our work considers a larger class of signals, i.e., sum of products of decaying

exponential, polynomial, and sinusoids. And as mentioned before, we are focused on

extrapolation by exploiting the structures of relatively clean signals obtained from a

linear system.

Sampled Signal

We seek a practical algorithm to extrapolate final the value of a signal. This precludes

mathematically correct but impractical methods such as determining y(0), y′(0), y′′(0),

etc., using Taylor series to recover y(t), and finally evaluate c0 = limt→∞ y(t).

By performing sampling, we can reformulate the problem to a discrete-time problem,

and then apply digital signal processing methods. Let T > 0 be a sampling period, and

let y[k] be a sampled sequence from y(t), defined as

(∀k ∈ N0) : y[k] = y(kT ).

Substituting t← kT in (5.6), we obtain ∀k ∈ N0,

y[k] = c0 +m∑i=1

ni−1∑j=0

ci,j(kT )jeλikT = c0 +m∑i=1

ni−1∑j=0

(ci,jTj)kj(eλiT )k

= c0 +m∑i=1

ni−1∑j=0

ci,jkjrki , (5.8)

where ci,j := ci,jTj and ri := eλiT for all i ∈ [1,m]Z and j ∈ [0, ni − 1]Z. Note that

λi ∈ C− implies that

(∀i ∈ [1,m]Z) : 0 < |ri| < 1.

In general, sampling can introduce frequency aliasing, i.e., λi1 6= λi2 , but ri1 = ri2 .

Therefore we may need to reduce m and “merge” the coefficients for ri1 = ri2 , etc. For

convenience, we assume without loss of generality that r1, . . . , rm is a set of distinct

elements.

A more serious problem that may arise from aliasing is the possibility that some non-

constant terms become constant after sampling, thereby “polluting” c0. For example,

sampling cos(t) with period T = 2π yields cos(kT ) = 1. However, since |ri| < 1, this

133

Page 154: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

does not occur. Therefore we can disregard this issue, and focus on the discrete problem.

5.2.2 Signal Processing Basics

Let f [k] be a discrete-time real signal, i.e., f [k] ∈ R, ∀k ∈ N0. For completeness, we

assign f [−1] = f [−2] = . . . = 0. The Z-transform [50] of f [k] is defined by

Z f [k] = F (z) =∞∑k=0

f [k]z−k. (5.9)

For quick reference, some properties of Z-transforms are

Z δ[k] = 1,

Zrk

=1

1− rz−1,

(∀c ∈ N0) : Z f [k − c] = z−cZ f [k] ,

Z (f ∗ g)[k] = Z f [k] × Z g[k] ,

limk→∞

f [k] = limz→1

(1− z−1)F (z). (Final value theorem)

where δ[k] is the discrete delta function, and ∗ is the discrete convolution:

δ[k] =

1, if k = 0,

0, if k 6= 0,(∀k ∈ N0) : (f ∗ g)[k] = (g ∗ f)[k] =

k∑i=0

f [k − i]g[i].

And of course, the final value theorem is applicable only if a final value is defined.

The Z-transform of y[k] (5.8) is

Y (z) =c0

1− z−1+

m∑i=1

ni−1∑j=0

ci,j(1− riz−1)j+1

=B(z)

A(z), where (5.10a)

B(z) = b0 + b1z−1 + . . .+ bn−1z

−(n−1), (5.10b)

A(z) = 1 + a1z−1 + . . .+ anz

−n = (1− z−1)A(z), (5.10c)

A(z) =m∏i=1

(1− riz−1)ni . (5.10d)

The coefficients ai and bi are all in R. Compared to (5.8), note that ∀i ∈ [1,m]Z, we

used ci,0, . . . , ci,nm−1 instead of ci,0, . . . , ci,nm−1, because the polynomial basis we used

134

Page 155: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

isZ−1

1

1−riz−1

, . . . ,Z−1

1

(1−riz−1)nm

instead of 1, k, . . . , knm−1. This produces

a more concise representation. Also, we allow A(z) and B(z) to have common factors

(this happens if c0 = 0 or ci,ni−1 = 0).

Let R[z−1] denote the set of all real polynomials in z−1:

R[z−1] := F (z) | (∃d ∈ N0)(∃f0, . . . , fd ∈ R | fd 6= 0) :

F (z) = f0 + f1z−1 + . . .+ fdz

−d. (5.11)

The degree of F (z) ∈ R[z−1] is denoted deg(F (z)) or degF . If F (z) 6= 0, then degF is

the maximum k so that the coefficient of z−k is non-zero:

(∀F (z) ∈ R[z−1] | F (z) 6= 0) : degF := maxk∈N0

k | fk 6= 0. (5.12)

If F (z) = 0, then formally deg 0 = −∞. The following identities hold in general:

(∀F1(z), F2(z) ∈ R[z−1]) : deg(F1(z)F2(z)) = degF1 + degF2,

(∀F1(z), F2(z) ∈ R[z−1]) : deg(F1(z) + F2(z)) ≤ max(degF1, degF2).

In (5.10), clearly A(z) ∈ R[z−1], B(z) ∈ R[z−1], degA = n, and degB ≤ n− 1.

A well-known interpretation of Y (z) = B(z)A(z)

is that y[k] is the result of applying

an infinite impulse response filter to a finite-duration signal [b0; . . . ; bn−1]. This is

obtained from (5.10). The coefficient of z−k in B(z) = A(z)Y (z) is

y[k] + a1y[k − 1] + . . .+ any[k − n] = b0δ[k] + b1δ[k − 1] + . . .+ bn−1δ[k − (n− 1)],

∴ y[k] = −a1y[k − 1]− . . .− any[k − n] + b0δ[k] + b1δ[k − 1] + . . .+ bn−1δ[k − (n− 1)].

For k ≥ n, the δ[k], . . . , δ[k − (n − 1)] vanish. So if y[0], . . . , y[n − 1] are known, then

the following recurrence can be used to determine y[n], y[n+ 1], . . . :

(∀k ∈ [n,∞)Z) : y[k] =n∑i=1

−aiy[k − i]. (5.13)

135

Page 156: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

5.2.3 Solution

For the final value extrapolation problem, we are given y[k], and we wish to calculate

c0 = y[∞] = limk→∞

y[k],

by only using a finite number of samples of y[k]. Our solution approach is to find a finite

impulse response (FIR) filter G(z) ∈ R[z−1] specified by2

G(z) := g0 + g1z−1 + . . .+ gp−1z

−(p−1),

p := degG+ 1,

so that applying G(z) to Y (z) produces a new signal w[k] with Z w[k] = W (z):

W (z) := G(z)Y (z),

(∀k ∈ N0) : w[k] = (g ∗ y)[k] =k∑i=0

g[i]y[k − i] =

p−1∑i=0

giy[k − i], (5.14)

such that w[k] consists of some transients followed by repeated occurrences of c0:

(∃W (z) ∈ R[z−1]) : W (z) = G(z)Y (z) =c0

1− z−1+ W (z). (5.15)

The desired scheme is illustrated in Figure 5.1. Here, the initial transient region in

Figure 5.1: Using an FIR filter to extrapolate the final value of y[k].

w[k] is specified by W (z). Thereafter, a plateau region consisting of w[k] = c0 for

k ≥ deg W appears.

2We will use g0, g1, . . . , gp−1 and g[0], g[1], . . . , g[p− 1] interchangeably.

136

Page 157: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

G(z) should be calculated from finite samples y[0], . . . , y[s− 1], so we define

s := Number of samples of y[k] used to compute G(z).

Another way to consider the FIR filter G(z) is that it cancels the poles r1, . . . , rm. This

perspective is used in our existence proofs, but will not be stated as a requirement. That

is because we want to be able to accept some imprecision, and enable poles that have

sufficiently decayed to “slip through” without exact cancellation.

The advantage of using an FIR filter G(z) is that measurement noise would create

fluctuation in the plateau region (w[k] for k ≥ deg W ), thereby allowing us to determine

how accurately c0 has been estimated. Also, G(z) may be reused to extract final value

for other signals generated from the same process that produced Y (z).

Examining (5.15) and Figure 5.1 leads to the following sub-problems:

1. How can we choose G(z) so that the final value of W (z) is indeed c0?

2. What should degG = p− 1 be for a solution to exist?

3. Given G(z), what is the length of the transient region (i.e., deg W − 1)?

Problem #1 is solved by the following (note that we are applying implicit evaluation):

Lemma 5.6. Given Y (z) (5.10) and G(z) ∈ R[z−1], then W (z) = G(z)Y (z) has the

same final value as Y (z) (i.e., c0) if and only if G(1) = 1:

(∀Y (z))(∀G(z) ∈ R[z−1]) : limk→∞

w[k] = c0 ⇐⇒ G(1) = 1.

Proof. Implicitly W (z) = G(z)Y (z). Applying the final value theorem twice yields

limk→∞

w[k] = limz→1

(1− z−1)G(z)Y (z) = G(1) limz→1

(1− z−1)Y (z) = G(1) limk→∞

y[k] = G(1)c0.

Therefore limk→∞w[k] = c0 if and only if G(1) = 1.

Another interpretation of Lemma 5.6 is as follows: Let w[k] = (g ∗ y)[k] with g0 + . . . +

gp−1 = 1. Then for k ≥ p − 1, the convolution (5.14) becomes an affine combination

of y[k − p− 1], . . . , y[k]. Thus constant component (final value) of y[k] is preserved,

whereas the exponentially decaying components continue to decay.

To solve Problem #2, we present a sufficient condition for G(z) to exist:

137

Page 158: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Lemma 5.7. For each p ≥ n (5.7), there exists G(z) ∈ R[z−1] with degG = p− 1 so

that (5.15) is satisfied:

(∀Y (z))(∀p ∈ [n,∞)Z)(∃G(z) ∈ R[z−1] | degG = p− 1) :

G(z)Y (z)− c0

1− z−1∈ R[z−1].

Note that p > n may occur because we may only have a bound on n, and so a

“sufficiently large” p is chosen.

Proof. We will apply the pole cancellation idea here. From (5.10),

Y (z) =B(z)

(1− z−1)A(z)=

B(z)

(1− z−1)∏m

i=1(1− riz−1)ni.

Since ri 6= 1 for all i ∈ [1,m]Z, so A(1) 6= 0, and we can define G?(z) by the following:

G?(z) =A(z)

A(1).

Clearly degG? = deg A =∑m

i=1 ni = n− 1, and G?(1) = 1. Let us valuate G?(z)Y (z):

G?(z)Y (z) =A(z)

A(1)× B(z)

(1− z−1)A(z)=

1

1− z−1

B(z)

A(1)=

1

1− z−1

(B(1)

A(1)

)︸ ︷︷ ︸

c

+B(z)

A(1),

for some B(z) ∈ R[z−1]. Here we applied long division to obtain B(z) = B(1) + (1 −z−1)B(z). Clearly, the final value of G?(z)Y (z) is c. And from G?(1) = 1, we obtain

c = c0 by Lemma 5.6. Assigning G(z) := G?(z), then G(z) satisfies p−1 = degG? = n−1,

so for p = n, we have G(z)Y (z)− c01−z−1 ∈ R[z−1].

For any p ∈ [n+ 1,∞)Z, we can take any P (z) ∈ R[z−1] with degP = p− n > 0 and

P (1) = 1. Let P (z) = P (1) + (1− z−1)P (z) and G(z) := P (z)G?(z), then

G(z)Y (z) = P (z)G?(z)Y (z) =

(*

1P (1) + (1− z−1)P (z)

)(c0

1− z−1+B(z)

A(1)

)

=c0

1− z−1+ c0P (z) +

B(z)

A(1)+ (1− z−1)P (z)

B(z)

A(1)︸ ︷︷ ︸∈R[z−1]

,

138

Page 159: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

and so G(z)Y (z)− c01−z−1 ∈ R[z−1].

We consider the proof to be non-constructive, because r1, . . . , rm and n1, . . . , nm are

unknown. We will find other properties of G(z), so that we can construct G(z) without

determining the poles of Y (z). Note that p ≥ n is sufficient, but in general not necessary.

To see this, expand (5.15) to obtain

G(z)Y (z) =G(z)B(z)

(1− z−1)A(z)=

c0

1− z−1+ W (z),

∴ G(z)B(z) = [c0 + (1− z−1)W (z)]︸ ︷︷ ︸∈R[z−1]

×A(z).

So A(z) =∏m

i=1(1 − riz−1)ni needs to divide G(z)B(z). But if B(z) has a common

factor with A(z) (this can occur if there are redundant highest-power terms in (5.10),

i.e., ci,ni−1 = 0 for some i ∈ [1,m]Z), then we can choose G(z) with a lower degree. In

spite of this possibility, we will be conservative, and assume p ≥ n in our analysis.

Problem #3 is solved by the following:

Lemma 5.8. The length of the transient region in w[k] is less than degG = p− 1:

(∀Y (z))(∀G(z)) : W (z) := G(z)Y (z)− c0

1− z−1∈ R[z−1] =⇒ deg W < degG.

For example, if p = 4 and p > n, then degG = p − 1 = 3, i.e., G(z) = g0 +

g1z−1 + g2z

−2 + g3z−3. Lemma 5.8 states that the transient region in W (z) = G(z)Y (z),

spans w[0], w[1], and w[2], i.e., we obtain some W (z) (with degree p − 2 = 2) that

“contaminates” these entries. Beyond the transient region, w[3] = w[4] = . . . = c0.

Proof. It is assumed that G(z) satisfies (5.15). Let W (z) = G(z) B(z)

(1−z−1)A(z)− c0

1−z−1 , so

(1− z−1)A(z)W (z) = G(z)B(z)− c0A(z),

deg((1− z−1)A(z)W (z)) = deg(G(z)B(z)− c0A(z)),

deg(1− z−1) + deg A+ deg W ≤ max(degG+ degB, deg(c0A(z))),

1 + (n− 1) + deg W ≤ max(degG+ (n− 1), n− 1,−∞)

= degG+ (n− 1),

∴ deg W ≤ degG− 1.

139

Page 160: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Here, −∞ accounts for the possibility that c0 = 0. We write the results as deg W <

degG = p− 1 to emphasize that w[p− 1] = w[p] = . . . = c0.

Having determined the existence of G(z), let us study how to construct it. We cannot

directly apply the method used in the proof of Lemma 5.7, since A(z) is unavailable.

Instead, we will express the relationship between Y (z) andG(z) by expressing convolution

as linear equations, using matrices. Let g ∈ Rp, and let yv,0,yv,1, . . . ∈ Rv for any v ≥ 1

be defined as

g =

gp−1

gp−2

...

g0

, (∀v ∈ N)(∀k ∈ N0) : yv,k =

y[k]

y[k + 1]

. . .

y[k + v − 1]

. (5.16)

Next, we form Yv,p ∈ Rv×p by horizontally concatenating yv,0, . . . ,yv,p−1:

(∀p ∈ [n,∞)Z)(∀v ∈ N) : Yv,p =[yv,0 yv,1 . . . yv,p−1

]

=

y[0] y[1] · · · y[p− 1]

y[1] y[2] · · · y[p]...

... . .. ...

y[v − 1] y[v] · · · y[v + p− 2]

.(5.17)

Recall that s was defined as the number of samples of y[k] used to compute G(z). There-

fore v + p− 2 ≤ s− 1, and if we intend on using all data available, we would have

s = v + p− 1. (5.18)

The next result directly relates y[k] (or Y (z)), g (or G(z)), and c0:

Theorem 5.9. If we choose p ≥ n, then the data Y (z), the filter G(z), and the final

value c0 are related by the following:

(∀Y (z))(∀p ∈ [n,∞)Z)(∀v ∈ N)(∃g ∈ Rp) :

[0 1T

1 Yv,p

][−c0

g

]=

[1

0

]. (5.19)

Proof. Given p ≥ n and v ∈ N, Lemma 5.7 asserts the existence of G(z) (this defines g)

with degG = p − 1, so that W (z) := G(z)Y (z) = c01−z−1 + W (z), where W (z) ∈ R[z−1]

140

Page 161: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

(this defines w[k]). The final value of w[k] is c0, so by Lemma 5.6, G(1) = 1, which leads

to 1Tg = g0 + . . .+ gp−1 = G(1) = 1.

From Lemma 5.8, deg W < deg(G) = p − 1, so W (z) only affects w[0], . . . , w[p − 2],

and we have w[p− 1] = w[p] = . . . = c0. Combining this with (5.14) leads to

(∀k ∈ [p− 1,∞)Z) : w[k] =

p−1∑i=0

giy[k − i] =

p−1∑j=0

y[k − (p− 1) + j]gp−1−j = c0,

where j = p− 1− i. Substituting k = κ+ (p− 1), i.e., κ = k − (p− 1) leads to

(∀κ ∈ N0) : w[κ+ p− 1] =

p−1∑j=0

y[κ+ j]gp−1−j = c0,

∴p−1∑j=0

yv,jgp−1−j = 1vc0, using (5.16),

i.e., we have a linear combination of vectors. From (5.17), we obtain Yv,pg = 1c0, which

when combined with 1Tg = 1 yields (5.19).

Theorem 5.9 states that given p ≥ n and g ∈ Rp, then the equations (where g and c0

are unknowns)

1Tg = 1, Yv,pg = 1c0, (5.20)

will always have a solution. One such solution for c0 is the desired c0, but in general,

the solution may not be unique. For instance, if p > 2 and v = 1, then (5.19) would

be under-determined, and many solutions for c0 may exist. The obvious solution is to

increase v. The next result gives us a bound on v to ensure the uniqueness of solution

to (5.20)

Theorem 5.10. Suppose that the conditions of Theorem 5.9 hold, and that v ≥ n,

then the solution for c0 in (5.20) is indeed c0:

(∀Y (z))(∀p, v ∈ [n,∞]Z)(∀g ∈ Rp) : (1Tg = 1) ∧ (Yv,pg = 1c0) =⇒ c0 = c0.

Proof. Assume that Y (z) (which defines c0), p, v, g, and c0 ∈ R are given (leading to

Yv,p ∈ Rv×p), so that p ≥ n, v ≥ n, 1Tg = 1, and Yv,pg = 1c0. For v ≥ n, from

141

Page 162: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Yv,pg = 1c0 we extract the following:

(∀k ∈ [0, n− 1]Z) :

p−1∑i=0

y[k + i]gp−1−i = c0. (5.21)

Let us calculate the same sum for k = n, then applying the recurrence relation (5.13):

p−1∑i=0

y[n+ i]gp−1−i =

p−1∑i=0

(n∑j=1

−ajy[n+ i− j]

)gp−1−i

=n∑j=1

−aj

(p−1∑i=0

y[(n− j) + i]gp−1−i

).

But since n− j ∈ [0, n− 1]Z, so the bracketed is c0 from (5.21), so

p−1∑i=0

y[n+ i]gp−1−i =n∑j=1

−aj c0 = −c0

(−1 + 1 +

n∑j=1

aj

)= −c0(−1 + A(1)) = c0,

where A(1) = 0 holds because (1− z−1) is a factor of A(z) (5.10c). We have shown that

(5.21) holds for k = n, and this result can be extended by induction. So

(∀k ∈ N0) :

p−1∑i=0

y[k + i]gp−1−i = c0 =

p−1∑i=0

y[k + (p− 1)− i]gi,

∴ (∀k ∈ [p− 1,∞)Z) :

p−1∑i=0

y[k − i]gi = c0.

This describes the result of applying an FIR filter G(z) = g0 + g1z−1 + . . .+ gp−1z

−(p−1)

to Y (z), forming W (z) = G(z)Y (z) that satisfies w[p − 1] = w[p] = . . . = c0. Since

G(1) = 1, so from Lemma 5.6, we conclude that c0 = c0.

5.2.4 Computation

Given y[k] and an upper bound on n, in the previous section we have shown that to solve

for g and c0, we should choose p ≥ n and v ≥ n, construct Y = Yv,p ∈ Rv×p (5.17)

142

Page 163: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

(dropping subscripts for conciseness), and solve[0 1T

1 Y

][−c0

g

]=

[1

0

]. (5.22)

By Theorem 5.9 and Theorem 5.10, there exists a unique solution for c0, and potentially

multiple solutions for g = [gp−1; gp−2; . . . ; g0]. Moreover, if we apply the FIR filter G(z) =

g0 + g1z−1 + . . . + gp−1z

−(p−1) to Y (z), then the resulting W (z) = G(z)Y (z) satisfies

w[p− 1] = w[p] = . . . = c0.

We have shown that some solution of g and c0 always exists in the ideal case. In

practise, however, measurement noise would be present. Moreover, if y[k] in (5.8) has a

“weak” term that is a rapidly-decaying exponential term and/or has a tiny coefficient,

then y[k] with n poles can be approximated as a “simpler” signal y′[k] generated from

n′ < n poles. Therefore the difference y[k] − y′[k] can be treated as noise. Next, if the

system of linear equations is over-determined (i.e., v is large), then noise can produce

inconsistencies. Due to these concerns, we will not solve (5.22) directly. Instead, we will

solve the following generalized problem:

Minimizeg∈Rp,c0∈R

∥∥∥∥∥[

0 1T

1 Y

][−c0

g

]−

[1

0

]∥∥∥∥∥2

. (5.23)

Let us rewrite (5.23) with

A =

[0 1T

1 Y

], x =

[−c0

g

], b =

[1

0

].

Therefore we wish to minimize ‖Ax−b‖2 by changing x. This is the well-known minimum

squares problem; the solution is given by applying the Moore-Penrose pseudo-inverse [6]

of A, which yields x = A†b, i.e.,[−c0

g

]=

[0 1T

1 Y

]† [1

0

].

Under perturbation, the obtained solution may not satisfy 1Tg = 1. Since this is critical

for preserving c0 when applying G(z) as a filter (Lemma 5.6), a heuristics is to normalize,

143

Page 164: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

and obtain[−c0

g

]=

[0 1T

1 Y

]† [1

0

], c0 =

c0

1Tg, g =

g

1Tg. (5.24)

Note that in MATLAB, the pseudo-inverse command automatically performs the proper

singular value decomposition and threshold detection. This allows a very easy implemen-

tation.

Quadratic Programming Perspective

An alternative method to solve (5.22) while accounting of possible perturbation is to

reformulate the problem as

Minimizeg∈Rp,c0∈R

∥∥∥∥∥[1 Y] [−c0

g

]∥∥∥∥∥2

subject to 1Tg = 1.

This is equivalent to

Minimizeg∈Rp,c0∈R

[−c0 gT

] [ 1 1TY

YT1 YTY

][−c0

g

]subject to 1Tg = 1,

which is a quadratic programming problem with linear equality constraints. However, for

our purposes, the pseudo-inverse method is adequate and simpler to implement. There-

fore we will not pursue the quadratic programming method further.

5.2.5 Simulations and Practical Notes

We now present some simulations to illustrate the effectiveness and limitations of our

final value extrapolation procedure. Without loss of generality, let us take T = 1 as the

sample rate. This allows us to easily overlay y(t) and y[k] in plots.

Example 5.5. Consider the continuous signal y(t), which is sampled as y[k]:

y(t) = 2− 2e−0.2t cos(t) + 0.4e−0.5t,

y[k] = 2− 2(e−0.2)k cos(k) + 0.4(e−0.5)k.

Therefore c0 = 2, and n = 1 + 2 + 1 = 4, since (e−0.2)k cos(k) produces 2 poles at

144

Page 165: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

e−0.2(cos(1)±j sin(1)) ≈ 0.4424±j0.6889, and (e−0.5)k produces 1 pole at e−0.5 ≈ 0.6065.

Suppose we acquire y[0], . . . , y[17], i.e., s = 18 samples of y[k]. Let us determine

c0 only from these acquired data. The plots for y(t) and y[k] are shown in Figure 5.2

(a). Now, n is unknown, but suppose we were “lucky” and choose p = n = 4. Clearly

0 5 10 150

1

2

3

4

y[k

]

0 5 10 150

1

2

3

4

w[k

]

(a) y(t) and y[k]. (b) c0 and w[k] using p = 4.

Figure 5.2: Signal before and after FIR filter to extrapolate the final value.

p ≥ n, and by Lemma 5.7, there exists a filter G(z) to solve the final value extrapolation

problem. Given that the highest index of acquired y[k] is s − 1 = 17, if we wish to use

all available data to construct Yv,p, from (5.17) we would have v+ p− 2 = s− 1, leading

to v = s− p+ 1 = 15. Clearly v ≥ n, and by Theorem 5.10, we can calculate G(z) that

can be used to recover c0 (ideally).

Applying (5.24) results in g = [3.235117;−4.824383; 3.904567;−1.315300] and (“c0

obtained from experiment”) cexp0 = 2.0000. Thus the filter obtained is

G(z) = g0 + g1z−1 + g2z

−2 + g3z−3

= 3.235117− 4.824383z−1 + 3.904567z−2 − 1.315300z−3.

Applying g[k] (p = 4 elements) to y[k] (s = 18 elements) yields a finite sequence

w[k] = g[k] ∗ y[k], which has 4 + 18 − 1 = 21 elements. However, w[18], . . . , w[20]

requires y[18], . . . , y[20], which are unavailable. So we discard these, and only consider

w[0], . . . , w[17]. These are plotted in Figure 5.2 (b). The “true value” c0 is marked for

comparison. We see transient region w[0], . . . , w[2] (corresponding to W (z)), has length

3 = p− 1, which agrees with Lemma 5.8. The plateau region shows excellent agreement.

The analysis above was based on choosing p = n = 4. In practise, n is usually

unknown, but a bound would be known. Suppose we know that n ≤ 8, and therefore

choose p = 8. In this case, we still have v = s − p + 1 = 11 ≥ n. The resulting w[k]

145

Page 166: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

is shown in Figure 5.3 (a). The transient region y[0], . . . , y[6] now has length p− 1 = 7;

0 5 10 150

1

2

3

4w

[k]

0 5 10 150

1

2

3

4

w[k

]

(a) c0 and w[k] using p = 8. (b) c0 and w[k] using p = 3.

Figure 5.3: Effects of adjusting p in final value extrapolation.

and the plateau region agrees with cexp0 = 2.0000 = c0 (although it has been shortened).

Suppose we choose p = 3. The result is plotted in Figure 5.3 (b). Since p < n, so

a solution for G(z) may not exist. Indeed, the plateau region is not constant, and we

obtain cexp0 = 2.1107. However, the signal fluctuates much less than the original y[k] in

Figure 5.2. This is in part due to Lemma 5.6, i.e., the final value c0 is preserved.

Currently we chose v = s − p + 1, which uses all acquired data for computation.

Suppose we wish to trade off efficiency for accuracy, then we can choose a smaller v.

For example, choosing p = 5 and v = 5 would involve computing the pseudo-inverse of

Yv,p ∈ Rv×p = R5×5. Once we apply the obtained filter G(z) to the entire y[0], . . . , y[17],

we still obtain cexp0 = 2.0000. The resultant w[k] as shown in Figure 5.4 (a), and has a

good plateau region.

0 5 10 150

1

2

3

4

w[k

]

0 5 10 150

1

2

3

4

w[k

]

(a) c0 and w[k] using p = 5, v = 5. (b) c0 and w[k] using p = 5, v = 3.

Figure 5.4: Effects of adjusting p and v in final value extrapolation.

Next, suppose we choose v = 3 < 4, thereby not satisfying the conditions of Theorem

5.10. In this case, there is agreement in w[4] = w[5] = w[6] = cexp0 = 2.1059 6= c0, as

146

Page 167: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

shown in Figure 5.4 (b). However, for the remaining part of the plateau region (w[7],

w[8, etc), the agreement is lost. 4

Example 5.5 verifies different parts of the theory, and suggests that it is advantageous

to choose p to be large. However, the next example suggests the contrary may hold when

noise is present.

Example 5.6. For our next example, we consider a more complicated signal. Let y(t)

be specified by

y(t) = −1− 0.2e−0.09t cos(t+ 0.5)− e−0.08t cos(0.25t+ 4.7)

+ 0.1(t2 − t+ 1)e−0.2t cos(0.5t+ 1.6) + 0.2te−0.15t cos(2t) + 0.3e−0.7t,

i.e., sums of products of decaying exponential functions, sinusoids (with various phases),

and polynomials. Sampling this with T = 1 yields y[k]. We have c0 = −1.

We acquire y[0], . . . , y[39], i.e., s = 40 samples of y[k]. y(t) and the acquired y[k]

are plotted in Figure 5.5 (a). The (discrete) poles of y[k], i.e., 1, r1, . . . , r9 with their

multiplicities are shown in Figure 5.5 (b) (all inside the unit circle). Clearly n = 16.

0 10 20 30 40−3

−2

−1

0

1

y[k

]

−1 0 1

−1

−0.5

0

0.5

1

3

3

2

2

Re(ri)

Im(r

i)

(a) y(t) and y[k]. (b) Poles of y[k] (with multiplicity).

Figure 5.5: Sample signal with more poles.

Choosing p = 20 and applying our final value extrapolation method yields cexp0 =

−1.0000. The resulting w[k] is plotted in Figure 5.6 (a), along with the true c0. The

plateau region shows excellent numerical agreement with c0. Note that the transient

region has large values that dwarf the plateau region in the plot. The huge transients

are caused by large coefficients in G(z), which in turn is caused by the need to cancel

poles close to 1. To illustrate this, suppose that A(z) = (1−r1z−1)(1−r2z

−1)(1−r3z−1),

and so G(z) would ideally have zeroes in r1, r2, and r3. Let us assume the simple case

147

Page 168: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

0 10 20 30 40−100

−50

0

50

100

150

0 10 20 30 40

−20

−10

0

10

20

(a) c0 and w[k] using p = 20. (b) c0 and w[k] using p = 12.

Figure 5.6: The results of applying computed filter to y[k].

G(z) = A(x)

A(1). The normalization factor is to satisfy G(1) = 1 (Lemma 5.6). Therefore

G(z) =

(1− r1z

−1

1− r1

)(1− r2z

−1

1− r2

)(1− r3z

−1

1− r3

).

If any r1, r2 or r3 are close to 1, then we would have large coefficients in G(z).

Let us repeat the simulation using p = 12 < n (but with increased v). The results

are plotted in Figure 5.6 (b). Since p < n, so Lemma 5.7 is not satisfied, and the

plateau region is not constant (small fluctuations are present). However, we obtain cexp0 =

0.994397, which is reasonable. Moreover, the transient region has smaller magnitudes.

Finally, let us consider the effect of noise. We add a uniformly-distributed noise in

(−0.01, 0.01)R to each sample of y[k]. Across multiple runs, we observed that cexp0 ≈ 0.98

is frequently obtained, although there are some outliers from −0.5 to −1.2! A sample run

is plotted in Figure 5.7 (a). We see that the plateau region has good agreement. However,

0 10 20 30 40−3

−2

−1

0

1

0 10 20 30 40−3

−2

−1

0

1

(a) c0 and w[k] using p = 20. (b) c0 and w[k] using p = 12.

Figure 5.7: The results of applying computed filter to y[k] with noise.

for the outlier cases, the last element of the plateau region would deviate strongly. So if

148

Page 169: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

a poor result is obtained, we would be able to tell that the result is poor

Next, let us choose p = 12 and repeat the simulation (with y[k] added with the same

noise). The result is plotted in Figure 5.7. We see that the transient region appears less

satisfactory. But in spite of this, across multiple runs, the cexp0 obtained tends to be closer

to the true value c0 = −1, and has less overhead when compared to the p = 20 case. 4

So when noise is present, choosing a relatively small value of p can lead to a more

robust result. We stress that even if an inaccurate cexp0 is produced, we will be able to

detect this phenomenon by examining the numerical agreement in the plateau region,

and by examining the magnitude of the filter coefficients in G(z). By choosing G(1) = 1,

we do not “destroy” the desired c0 value. Thereafter conventional techniques (such as

windowed averaging in [41]) can be applied on the plateau region to extract c0.

We believe the prime culprits of inaccurate estimates are poles close to 1. Intuitively,

these describe slowly-decaying, non-oscillatory (after sampling) exponential functions,

which are “disguised” as a constant signal, and are caused by having a poorly-chosen

sample rates.

Finally, if the final value extrapolation technique does not obtain a good result, the

following strategies can be applied:

• Acquire more data to obtain more constraints for pseudo-inverse.

• Discard earlier acquired data, which would contain more transients.

• Down-sample the data, which has the effect of moving poles away from 1.

• Adjust p based on a priori knowledge on the poles of the system. There are various

compromises in having a high p versus a low p.

• Adjust v to avoid “over-fitting” available data.

5.3 Integrating the PID and PD Controllers

By combining the strengths of the PID controller DCtrlFA (3.8) and the PD controllers

DCtrlPD (4.2) (or DCtrlFFPD (4.29)), it will be shown that the DRSPF can be solved without

needing to know F a priori .

Recall that the PD controllers can stabilize the LFSSF without needing to know F(Theorem 4.6). Moreover, while the LFSSF is stabilized by the DCtrlFFPD, F can be obtained

149

Page 170: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

by running steady-state experiments (Section 5.1), i.e., fault diagnosis is performed. Once

F is determined, we can apply the PID controller with controller adjustments 〈C1〉–〈C4〉.This yields the DCtrlFA, which solves the DRSPF, i.e., robust tracking and regulation for

healthy outputs, such that spillover effects do not occur.

We will propose a framework to integrate the PID and PD controllers. Detailed

descriptions on how to implement such a framework will be provided, and heuristics

required to implement the scheme will be described.

5.3.1 Unifying the PID and PD controllers

We have encountered the applications of the following decentralized controllers to the

LFSSF (these are expressed in terms of ym for uniformity):

DCtrl : u = −KP(ym − yref)−KDym − εKIη, (2.23a)

η = ym − yref , (2.23b)

DCtrlFA : u = −FKPF(ym − yref)−FKDF ym − εFKIFη, (3.8a)

η = Fym −Fyref , (3.8b)

DCtrlPD : u = −KP(ym − yref)−KDym, (4.2)

DCtrlFFPD : u = −KP(ym − yref)−KDym + Γyref . (4.29)

For the DCtrlPD and the DCtrlFFPD, we also require KP and KD to be diagonal. The

controllers listed above can be parameterized by the following unified decentralized

controller (DCtrlU):

u = −NKPN (ym − yref)−NKDN ym − εNKINη, (5.25a)

η = sN (ym − yref), (5.25b)

where s ∈ 0, 1 is a scalar integrator-enable signal, and N ∈ DIAGm0,1 is a ma-

trix sensor-actuator pair enable signal. The controllers above are represented by

150

Page 171: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

assigning the following:

DCtrl : s = 1, N = I,

DCtrlFA : s = 1, N = F , Fη(0) = 0,

DCtrlPD : s = 0, N = I, η(0) = 0,

DCtrlFFPD : s = 0, N = I, η(0) = −1ε(KI)−1Γyref .

So by specifying s(t) and N (t), we can reconfigure DCtrlU into the different types of

controllers that we have seen. Note that the value of η(t) may need to be reassigned

during transition between controllers. Also, in general, KP/D/I, ε, and η are adjustable

if the need arises.

In DCtrlU, η(t) now plays two roles: For s(t) = 1, η(t) behaves as an integrator used

by the integral control; for s(t) = 0, η(t) is fixed, and behaves as a constant offset, which

is needed by the DCtrlFFPD. In general, η(t) can be assigned to produce any constant offset

in u, since ε > 0, and KI is invertible.

N specifies the subset of sensor/actuator pairs to which controller adjustments 〈C1〉–〈C4〉 are applied (corresponding to 0 entries along the diagonal of N ).

Augmenting the PD Controller

The DCtrlU (5.25) is not constrained to operate in the modes specified above. In fact, we

can use it to augment the PD controllers DCtrlPD (4.2) and DCtrlFFPD (4.2). Suppose that

F is known, and we wish to use the PD controller. We can use it to augment DCtrlPD by

applying adjustments 〈C1〉–〈C3〉, which transforms the DCtrlPD to the following:

u = −FKPF(ym − yref)−FKDF ym. (5.26)

This corresponds to assigning s = 0 and N = F . Note that this has the structure of a

decentralized controller from (3.4)

We can repeat the analysis in Chapter 3: Recall that R (3.15) is defined as F with

all 0-rows removed, and that F = RTR. Now (5.26) is rewritten as

u = RT[−(RKPRT)(Rym −Ryref)− (RKDRT)(Rym)]

= RT[−KP?(ym? − yref?)−KD?y?],

151

Page 172: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

where KP?/D? = RKP/DRT, ym? = Rym, and yref? = Ryref . Now u represents a 0-

padded controller signal from the control signals of a DCtrlPD for the LFSS? (3.24).

Another way to augment the DCtrlPD is to make the constant integrator state η(t)

hold an arbitrary value, aside from 0 for the DCtrlPD (4.2) and −1ε(KI)−1Γyref for the

DCtrlFFPD (4.29). This gives us a

Henceforth we use the term augmented DCtrlPD to refer to the PD controller with

generalizations discussed here.

5.3.2 Integrated Fault Diagnosis and Fault Accommodation

Let us now discuss how the DCtrlU can be used to perform integrated fault diagnosis

and fault accommodation. We will describe the attributes and actions of a “supervisor”

who adjusts DCtrlU, to perform various tasks in FTC. This supervisor may be a human

operator, a computer program, or a discrete event system. Our intention is to provide

a high-level guide on how various components we have presented can be used; we will

to present heuristics on how to these components can be synthesized. A comprehensive

treatment would involve analysis using hybrid systems, and is beyond the scope of this

thesis.

Let Fkn ∈ DIAGm0,1 represent the set of known failures. By contrast, F ∈ DIAGm0,1represents the set of actual faults. The set of known failures is a subset of actual faults,

so Fkn−F ∈ PSDm. Since we disengage sensor-actuator pairs for known failed outputs,

we can consider Fkn as a “baseline” set of failures that no longer our concern; for the

purpose of FTC, we only need to consider new failures in F relative to Fkn.

Operation Modes

In general, we would like to consider DCtrlU to operate in three distinct modes: PID

mode, PD mode, and diagnosis mode. These are explained below.

• PID Mode: The DCtrlU is configured to be the DCtrlFA (s = 1, N = Fkn) if

we have performed diagnosis and have discovered all SAF. In the PID mode, all

healthy outputs satisfy the DRSPF objectives, i.e., robust tracking and regulation

occur, such that no spillover effects occur. Note that if yref and w change to a

different value, the LFSSF will adapt accordingly, with exponential convergence

(for healthy inputs).

152

Page 173: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

If new SAF occur under the PID mode, instability may occur.

• PD Mode: The DCtrlU is configured to be an augmented DCtrlPD (s = 0, N =

Fkn), with η(t) fixed to some offset. Also, we specify KP/D ∈ PDm to be diago-

nal. In the PD mode, all healthy outputs would approximately satisfy the DRSPF

objectives, due to the absence of an integrator. However, η(t) would provide a

feed-forward term that can be used to improve tracking performance.

If new SAF occur under the PD mode, as long as the rank condition 〈R1〉 is satisfied,

the closed loop system will remain stable (Theorem 4.6).

• Diagnosis Mode: This is similar to the PD Mode, but we assign η(t) = 0. By

using the PD controller, assuming that the rank condition 〈R1〉 holds, the LFSSF

is kept stable, while we try to diagnose F . The supervisor runs Algorithm 5.5 to

determine F , i.e., perturbing yref and estimating y in order to examine diagonal

elements of [FySref ](KP)−1, and determine if any new (relative to Fkn) failures have

occurred.

Transitions among Operation Modes

Let us now describe how a high-level supervisor might transit among the operation modes

of the DCtrlU above, in order to perform FTC on the LFSSF. Table 5.2 summarizes

the transition conditions for the operation modes. Here, each row specifies the current

From \ To PID Mode PD Mode Diagnosis Mode

PID Mode Asymptotic trackingand regulation whenFkn = F

Satisfactory steady-state reached, nowwanting to improvefault-tolerance

Fault detection (heuris-tics) or scheduled check

PD Mode yref and w may havechanged, now wantingto get better η(t)

Fault-tolerant trackingand regulation

Fault detection (heuris-tics) or scheduled check

Diagnosis Mode Completed diagnosis,wanting to update η(t)

Completed diagnosis,wanting fault-tolerance

(Diagnosis in progress)

Table 5.2: Transition conditions for DCtrlU operation modes to perform FTC of theLFSSF.

operation mode of the DCtrlU, and each column specifies the new mode that it switches

153

Page 174: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

do, given that the transition condition specified is satisfied. Let us provide detailed

comments on the switching.

• Switching between the PID mode and the PD mode: The DCtrlU “hovers”

between the PID mode and the PD mode, when there are no unknown SAF, i.e.,

when Fkn = F . In the PID mode, asymptotic robust tracking and regulation

occurs, and in the process a η(t) that enables these is “solved”. Once the tracking

steady-state is considered satisfactory (through some arbitrary threshold), then

DCtrlU can transit by s = 1 → s → 0, i.e., stop updating η(t). Now the DCtrlU

behaves as a DCtrlFFPD, but the “feed-forward term” −εKIη(t) now becomes a fixed

offset that would compensate for the inadequacies of finite KP, as well as regulate

unknown w.

The PD mode performs “fault-tolerant tracking and regulation”, since the CLSFPD

remains stable under unknown failure. However, if yref or w are changed, then the

steady-state output for healthy outputs would “drift” away from the elements in

yref . To remedy this, the DCtrlU can switch to the PID mode again, to properly

update η(t).

The PD mode requires KP/D ∈ DIAGm, but the PID mode does not. Although

the PID mode and the PD mode can share common (diagonal) KP/D, this is not

necessary. Note that the DCtrlU can also “redesign” KP/D/I if desired. However, if

this occurs then η(t) may require proper update.

• Switching between PID/PD modes to diagnosis mode: As mentioned in

Section 5.1.4, we only have heuristics for deciding when to perform diagnosis. Ide-

ally the DCtrlU would switch to diagnosis mode upon fault detection. We mentioned

that imposing output thresholds is one heuristics to do this. Another heuristics is

to have the DCtrlU enter diagnosis mode regularly for regular, planned diagnosis.

These two methods can be combined.

The diagnosis mode implements (5.5), and is supposed to produce Fkn := F upon

termination. However, a caveat is that we assign η(t) := 0 so that we can directly

apply the diagnosis threshold results Theorem 5.3 and Corollary 5.4.

Another problem that can occur during the diagnosis mode is that new, unknown

SAF may appear. To remedy this, one heuristics is to perform extra baseline steady-

state output measurements (i.e., [Fyyref0 ]) at the end of diagnosis, and verify that

154

Page 175: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

it is consistent with the original measurement. If the steady-state obtained is same

as the original, then there is a high likelihood that no SAF has occurred during

diagnosis; otherwise we would need to rerun everything.

When the diagnosis is complete, the DCtrlU has an option to switch to the PID

mode or the PD mode. The simplest method is to switch to PID mode so that

Fy(t) → Fyref . However, it may be advantageous to switch to PD mode at first

to obtain a faster response. One can also pre-adjust η(t) to a favourable value,

although we will not explore this possibility.

It remains to discuss what the initial operating mode should be. If it is deemed

that there is a high risk of failure, it would be helpful to initialize the DCtrlU in use the

diagnosis mode or the PD mode. Otherwise the PID mode, i.e., the default for DRSP

would also suffice – this will be done in our examples.

5.4 Examples

We conclude this chapter by presenting detailed examples to illustrate the integrated

fault diagnosis and fault accommodation scheme from Section 5.3.

The main system considered is LFSS Benchmark C. Wherever applicable, the sam-

pling rate we use is T = 60 (all time units are in seconds). The continuous time simulation

is performed using Simulink. To accommodate varying sampling rate by the software,

cubic spline interpolation is applied to obtain the desired sampled signal from the original

data.

To obtain the steady-state observation Fyy, here is our heuristic for deciding whether

not a steady-state is reached. Given ym(t) from simulation, and some “current time”

tcur, we obtain (by sampling) 16 output measurement vectors ym(tcur), ym(tcur−T ), . . . ,

ym(tcur− 15T ). Next, we evaluate the standard-deviation across the 16 samples for each

component of ym. When these standard deviations are all less than 0.01, then we assume

that the signal has reached steady-state, and the mean across samples is taken as the

steady-state value.

We begin from a basic example, in which steady-state is explicitly obtained by ap-

plying the above scheme.

155

Page 176: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

Example 5.7. Let us consider LFSS Benchmark C, with

q = 5, E = B, F = I5.

We specify the tracking signal yref = yref0 and (unknown) disturbance signal w,

yref0 = yref = [1; 2; 0.5;−2;−3] w = [1; 1;−1; 1; 1].

The following controller parameters are used:

KP = 500 diag([1, 1, 4, 1, 1]), KD = 4× 104 diag([1, 1, 4, 1, 1]),

KI = diag([1, 1, 4, 1, 1]), ε = 0.5.

The initial states x(0) and the initial integrator state η(0) are both specified to be 0. In

this example, we simulate a “run-through” of a controller that can perform FTC on the

LFSS, using the scheme presented in this chapter.

Initially the LFSS has no failure. We initialize the DCtrlU in the PID mode (i.e., assign

s(t) := 1), with Fkn = I. The resulting physical output y(t) is plotted in Figure 5.8.

Here, the PID controller (i.e., s(t) := 1) is applied to the nominal LFSS until t = 4,000.

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000−4

−3

−2

−1

0

1

2

3

y1

y2

y3

y4

y5

y(t

)

Figure 5.8: y(t) for nominal system under PID controller, then switching to PD controller.

At this point, we judge (visually) that the tracking performance is acceptable. We then

switch the DCtrlU to the PD mode (i.e., assign s(t) := 0), while keeping the same value of

η(t) (which is now held constant), so −εKIη still contributes to u. The dashed vertical

lines mark transition (i.e., from the PID controller to the PD controller) boundaries. We

see that the change does not affect output. Note that the components of the output are

156

Page 177: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

labelled yi := eTi y, for i ∈ [1,m]Z. Also, the output at t = 0 is dominated by the Fw

term.

Suppose that at t = 5,000 s, a sensor failure occurs in eT1 y, and an actuator failure

occurs in eT5 y. This corresponds to assigning

Fy = diag(0, 1, 1, 1, 1), Fu = diag(1, 1, 1, 1, 0).

The resulting physical output y(t) is plotted in Figure 5.9. The failed outputs are now

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

−5

0

5

10

15

20

25

30

y1

y2y3

y4

y5

y(t

)

Figure 5.9: y(t) from t = 0 to after SAF, where the LFSSF remains in PD control whilemeasuring Fyy0.

labelled with thick lines. Note that the controller can only observe ym = Fyy. Therefore

the controller does not detect the fact that eT1 y has become very large, but measures

eT1 y

m = 0 instead.

We now switch the DCtrlU to the diagnosis mode (assuming that fault detection has

taken place). The goal now is to diagnose F . The diagnoser waits until ym reached

steady-state (using the criteria stated above) at t = 47, 300. At this point, the following

is acquired:

Fyy0(@t = 47,300) = [0; 1.9998; 1.0027;−3.0002; 5.9131].

Next, we apply the method in Section 5.1.2 to diagnose F . We first determine [FySref ]

from the steady-state measurements, after perturbing the reference signal. We choose

the perturbation to be ρ = 0.1, and then specify yref := yref0 + ρei and acquire the

corresponding yi, for each i ∈ [1, 5]Z. The physical outputs y from these steady-state

experiments are shown in Figure 5.10. From the experiment, we acquire

157

Page 178: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

5 6 7 8 9 10 11 12 13 14

x 104

−5

0

5

10

15

20

y(t

)

Figure 5.10: y(t) during steady-state experiments to measure Fyy1, . . . , Fyy5.

Fyy1(@t = 73,400) = [0; 2.0003; 1.0521;−3.0997; 6.5896],

Fyy2(@t = 99,500) = [0; 2.0996; 1.0029;−3.0004; 5.8159],

Fyy3(@t = 118,400) = [0; 2.0002; 1.1023;−2.9998; 6.1040],

Fyy4(@t = 137,300) = [0; 1.9998; 1.0027;−2.9002; 5.9138],

Fyy5(@t = 146,300) = [0; 2.0002; 1.0023;−2.9998; 5.9041].

As shown in Figure 5.10, the healthy outputs are only slightly perturbed during the

diagnosis process. Using these, we obtain (the diagonals are bold for emphasis)

[FySref ]m =

0 0 0 0 0

0.0051 0.9980 0.0037 −0.0002 0.0038

0.4945 0.0023 0.9961 0.0003 −0.0040

−0.9950 −0.0021 0.0036 0.9996 0.0036

6.7646 −0.9723 1.9091 0.0065 −0.0904

By comparison, the calculate [FySref ] (i.e., with Fy and Fu known) is

[FySref ] =

0 0 0 0 0

0.0000 1.0000 0.0000 0.0000 0

0.5000 0.0000 1.0000 0.0000 0

−1.0000 0.0000 0.0000 1.0000 0

6.8699 1.0000 2.0000 0.0000 0

,

so we have reasonable agreement from simulation. In general, we can increase ρ to obtain

more accurate results (the trade-off is that we would perturb the system more as a result).

158

Page 179: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

The computed Srefnom (for the nominal system) is

Srefnom =

0.9079 0.0446 0.0950 −0.0921 0.0446

0.0446 0.9079 0.0950 0.0446 −0.0921

0.0238 0.0238 0.9050 0.0238 0.0238

−0.0921 0.0446 0.0950 0.9079 0.0446

0.0446 −0.0921 0.0950 0.0446 0.9079

So we can take half of the diagonal entries ( ≈ 0.45) as fault detection threshold. Applying

this to [FySref ]m, we correctly diagnose the following:

F = diag(0, 1, 1, 1, 0) = FyFu.

Now that F is known, we can apply controller adjustments 〈C1〉–〈C4〉 to perform active

FTC. This is done by assigning N = F . Let us implement the change, but keep s = 0,

i.e., stay in the PD mode. Note that η := 0, so the previous offset for the PD controller

is gone. The result of fault accommodation is shown in Figure 5.11. Therefore the failed

1.46 1.48 1.5 1.52 1.54 1.56

x 105

−15

−10

−5

0

5

10

15

20

y(t

)

Figure 5.11: y(t) after fault-adjusted PD controller is applied.

outputs become uncontrolled, and we leave natural damping to their s oscillation to a

halt. Finally, suppose we engage the PID controller at t = 156, 300. The results are

shown in Figure 5.12: The presence of the integrator compensates for the effect of the

disturbance and finite KP. Thus the healthy inputs Fy(t) recover their tracking objective

from before the SAF. 4

Example 5.7 presents a complete “flow” of how use the PD controller and the PID

controller to perform FTC on the LFSSF. A main disadvantage, however, is that the

159

Page 180: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

1.56 1.58 1.6 1.62 1.64 1.66 1.68 1.7 1.72

x 105

−2

0

2

4y

1

y2

y3

y4

y5

y(t

)

Figure 5.12: y(t) after fault-adjusted PID controller is applied.

diagnosis process is extremely time-consuming. One way to mitigate this problem is to

implement some heuristics to prioritize diagnosis of various inputs. For example, the

fact that eT1 y

m = 0 even though eT1 y

ref 6= 0 points to a high likelihood of sensor failure.

Therefore it is reasonable to conduct steady-state experiment on this sensor-actuator pair

first, and then obtain the corresponding column in [FySref ]m so that we can accommodate

it earlier, even before attempting diagnosis on the other inputs.

A better method to improve the required time for diagnosis is to apply the final value

extrapolation scheme that was explored in Section 5.2.

Example 5.8. Let us repeat the simulation in Example 5.7, using the same LFSS, yref ,

w, KP/D/I, x(0) and η(0). However, we now use the final value extrapolation method

seen in Section 5.2 to obtain steady-state.

Here is the procedure used to perform final value extrapolation: p = 15 was chosen.

The sampling time was chosen to be T = 60, as before. For each i ∈ [1, 5]Z, an FIR filter

Gi(z) was computed for eTi y

m, whose sampled data is denoted yi[k]. A sampling window

was specified with duration of 3pT = 2,700. This gave rise to s = 3p + 1 = 46 samples,

yi[k0], yi[k0 + 1], . . . , yi[k0 + 45]. From (5.18) then, v = s+ 1− p = 31 was obtained. The

effectiveness of Gi(z) was verified by applying Gi(z) to the 46 samples of yi[k] acquired.

From Lemma 5.8, the length of the plateau region is s−(p−1) = 45−(15−1) = 32. The

standard deviation in the plateau region was computed for each yi[k]. If the maximum

standard deviation (among different output channels) was less than 0.01, then the filters

G1(z), . . . , G5(z) were accepted; otherwise the observation window is shifted by pT , i.e.,

k0 := k0 + p, and the process was repeated.

Note that cubic spline interpolation was applied to the simulated data, when we

160

Page 181: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

obtain samples for yi[k].

Since the same setup as in Example 5.7, so the outputs prior to failures (i.e., sensor

failure in y1 and actuator failure in u5) are same as Figure 5.8. After the occurrence of

the SAF, we attempt to extract the steady-state observation Fyy0 using the procedure

above. The physical output from t = 0 to the end of this process is plotted in Figure

5.13. The failed (physical) output components in y(t) are plotted in bold. We see that

0 1000 2000 3000 4000 5000 6000 7000−10

0

10

20

30

y(t

)

Figure 5.13: y(t) from t = 0 to after SAF, where the LFSSF remains in PD control whiledetermining Fyy0 by applying final value extrapolation.

the final value extrapolation was obtained at t = 7,700, while outputs signals are still

undergoing transients (although the topmost signal eT1 y(t) is unobserved due to sensor

failure). The results of applying the obtained filters Gi(z) to each sampled observations

from t = 5,000 to t = 7,000 (interpolated and then overlaid onto time) are shown in

Figure 5.14. Thus the plateau regions show good regularity. Note that eT1 y

m = 0, which

5000 5500 6000 6500 7000 7500−10

−5

0

5

10

y(t

)

Figure 5.14: Filtered ym(t) from the experiment to extrapolate Fyy0.

161

Page 182: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

is also shown in the plot. The obtained steady-state is

Fyy0(@t = 7,700) = [0; 2.0000; 1.0025;−3.0001; 5.9086].

Next, we extract [FySref ] by perturbing yref and obtaining the resulting steady-state

measurement Fyy, but now applying final value extrapolation. The physical output

from this process is shown in Figure 5.15. Again, Fyy1, . . . , Fyy5 were obtained amid

0.8 1 1.2 1.4 1.6 1.8 2

x 104

−5

0

5

10

15

20

25

y(t

)

Figure 5.15: y(t) during steady-state experiments to extrapolate Fyy1, . . . , Fyy5.

transients. The results of applying each the obtained filters for each yref perturbation,

and each output are shown in Figure 5.16. Again, we see excellent plateau regions. The

0.8 1 1.2 1.4 1.6 1.8 2

x 104

−50

0

50

f[k] *

ym

[k] (inte

rpola

ted)

Figure 5.16: Filtered ym(t) from the experiment to obtain Fyy1, . . . , Fyy5.

steady-state experiments are completed at t = 21,200. Using the data gathered, we

162

Page 183: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

compute

[FySref ]m =

0 0 0 0 0

−0.0000 1.0001 0.0008 −0.0005 −0.0003

0.5000 0.0000 1.0000 0.0000 0.0000

−0.9988 0.0012 0.0014 1.0002 0.0012

6.8736 −0.9954 2.0038 0.0043 0.0037

,

which is close to the actual [FySref ]. We successfully diagnose F = diag(0, 1, 1, 1, 0) =

FyFu, and then apply the fault-adjusted controllers, as shown in Figure 5.17 and Figure

5.18. 4

2 2.2 2.4 2.6 2.8 3

x 104

−15

−10

−5

0

5

10

15

20

y(t

)

Figure 5.17: y(t) after fault-adjusted PD controller is applied.

3 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6

x 104

−2

0

2

4y

1

y2

y3

y4

y5

y(t

)

Figure 5.18: y(t) after fault-adjusted PID controller is applied.

From Example 5.8, we see that by applying final value extrapolation with p = 15,

we are able to complete diagnosis is completed on t = 21,200. This is a significant

163

Page 184: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 5. Integrating the PID and the PD Controllers

improvement over diagnosis completion on t = 146,300) in Example 5.7.

Recall from Lemma 5.7, p ≥ n (here, n is the number of poles in y(t)) is a sufficient

condition to guarantee the existence of the desired FIR filter G(z). However, the LFSSF

can have an infinite number of modes, i.e., n =∞. Yet in (5.2.4), we cited the possibility

of treating weak signal components as noise as a motivation to adopting a least-squares

formulation to obtaining G(z). From this perspective then, ym(t) from the LFSSF would

“shed” signal components as t increases, i.e., effectively n decreases with time, as expo-

nentially decaying components fade into noise, then oblivion. Indeed, as t → ∞, ym(t)

would appear as the constant steady-state that we desire.

Thus a heuristic is as follows: we fix p, and choose the proper sampling time T based

on a priori knowledge. Next, choosing a large v (and hence large s) would extend the

plateau region, which would diminish the possibility of coincident. We recognize that

these problems are non-trivial, and further work is needed to enable a more systematic

design methodology.

164

Page 185: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6

Conclusions and Future Work

This chapter concludes the thesis. Section 6.1 restates the main control objectives, and

evaluates the FTC schemes that we studied. Section 6.2 summarizes each content chapter,

and details the key insights thereof. Section 6.3 presents future directions to extend the

results in this thesis.

6.1 Conclusions

This thesis focuses on the fault tolerant control (FTC) of a specific family of systems,

namely, colocated large flexible space structures (LFSS). The main control problem of

interest is the decentralized robust servomechanism problem (DRSP). The class of faults

modelled consists of sensor and/or actuator failures (SAF), which are assumed to be

abrupt, total, and permanent.

Control Objectives and FTC

The main control objectives of the DRSP of the LFSS are as follows:

• Stabilization of the modelled (i.e., modal-truncated) closed loop system.

• Asymptotic tracking of an arbitrary constant reference, for each physical output

component. This objective requires closed loop stability.

• Asymptotic regulation against unknown constant disturbances, for each physical

output. This objective requires closed loop stability, and is independent from the

tracking goal.

165

Page 186: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

• Robustness (of stability, tracking, and regulation) against LFSS parametric uncer-

tainty.

• In all cases there should be no “spillover effects”, i.e., under closed loop control

with or without failure, stability should continue to hold, when a LFSS model

is replaced with a more accurate model that retains any mixture of low or high

frequency modes.

• Decentralized control: the controller should be implemented using N independent

agents. Each controller agent is given a distinct subset of sensor readouts, and is

responsible for producing the input signals for matching actuator components.

In the presence of failures, ideally an FTC scheme would simultaneously satisfy all the

above objectives. However, it is more realistic, and more interesting to accept “graceful

degradation of performance”. This allowance gives rise to new freedom and new complex-

ity in controller design. The freedom to explore a wider array of designs is accompanied

by the requirement to identify the performance degradation that can arise in each design.

We note that stability, robustness, and avoidance of spillover effects are “core” control

objectives that must be satisfied. However, for tracking and regulation, we relaxed the

DRSP to form the DRSPF, which requires tracking and regulation objectives to hold only

for healthy outputs.

Effectiveness of FTC Schemes

In this thesis, four FTC schemes are considered: active FTC using a PID controller,

passive FTC using a PD controller, fault diagnosis using steady-state experiments, and

integrated FTC combining the above schemes. The extents to which each of these schemes

satisfies the DRSPF control objectives are summarized in Table 6.1.

X signifies that an objective is met by a scheme. This always holds for the “core”

objectives, i.e., asymptotic stability, robustness, and avoiding spillover effects.

It should be noted that the tracking and regulation objectives are stated for healthy

outputs only; so performance degradation takes place in failed outputs. This is the main

difference between the ideal objectives in DRSP and the modified objectives in DRSPF.

X? signifies the caveat in which F 6= Fu is incompatible with high gains; if F 6= Fu,

then choosing arbitrarily high gains would cause some failed outputs to reach arbitrarily

166

Page 187: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

Active FTC Passive FTC Diagnosis Integrated FTC

Stability X X X X

Robustness X X X X

No “spillover effects” X X X X

Tracking (healthy) X X? X? X

Regulation (healthy) X X? X? X

Decentralization X X X†

Table 6.1: Summary of how our FTC schemes satisfy the DRSPF control objectives.

large steady-state values. In the integrated FTC scheme, this problem only exists in

transient, and disappears once active FTC is applied.

As seen in Table 6.1, the active FTC scheme (using PID controller) meets all the

objectives in DRSPF. Note that SAF information is available for this scheme. This

assumption no longer holds for the passive FTC scheme (using PD controller). As a

result, it becomes more difficult to find a suitable controller; the consequence is that we

need to restricting gains to be diagonal. Another caveat of the passive FTC scheme is

that the DRSPF is only partially met (as indicated by X?).

Our SAF diagnosis scheme utilizes “probing signals”, but is advantageous in that

well-defined detection thresholds is obtainable. A main caveat is that the method is not

decentralized. We still need a centralized coordination to cause the controller to enter

“diagnosis mode”, to perturb components of the reference signal sequentially, and to

wait while steady-state outputs are determined. But beyond the need of coordination,

diagnosis within each controller agent can operate independently.

For the integrated FTC scheme, X† indicates that diagnosis requires central coor-

dination, but passive FTC and active FTC (using the unified decentralized controller)

are decentralized. Using a similar idea as [36], passive FTC is applied to stabilize the

LFSSF to “buy time” for the diagnoser to find the SAF. Thereafter active FTC can be

applied. Thus the integrated FTC scheme combines the advantages of both active and

passive FTC schemes; and to a large extent, the main problem of this thesis is solved.

Nevertheless, further improvements are possible, since our diagnosis scheme still employs

many heuristics, and it requires centralized coordination.

More details on the results in this thesis are summarized and discussed in Section 6.2.

167

Page 188: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

6.2 Summaries of Chapters and Discussion

Developments in Chapter 3

A controller that satisfies all DRSP control objectives for a nominal LFSS is given in [61].

Here, a decentralized tuning PID (output feedback) controller (DCtrl) is specified. This

controller serves as a natural starting point for our FTC research. Incorporating SAF

into the LFSS-DCtrl closed loop system reveals that spillover may arise, because faults

effectively destroy the colocated property of the LFSS. To restore colocation, we devise

the following control reconfiguration scheme: for each failed output, we deactivate for

corresponding sensor and actuator, and reset the corresponding integrator.

The proposed scheme is simple to implement, since there is no need to redesign or

store gains for multiple cases of SAF. The main theoretical challenge is to transform the

new closed loop system to a form for which previous results from [61] can be applied. As

a result, we obtain a simple-to-check rank condition for a solution to exist. The condition

is encountered throughout this thesis.

The control reconfiguration studied mostly satisfies most the control objectives of

the DRSP. The main exception (i.e., performance degradation) is that tracking and

regulation goals for failed outputs (i.e., sensor/actuator pairs that have a SAF) cease to

hold. For precision, the DRSPF is defined to incorporate the modified objectives. We note

that the control reconfiguration scheme is decentralized, since it can be independently

implemented by each colocated sensor-actuator pair.

To further analyze physical output under failure, steady-state output matrices are

derived. These matrices are independent of controller gains. Based on the insight that

components corresponding to failed outputs are “towed” by healthy components, we find

a way to apply steady-state output matrices to perform tracking recovery. In this scheme,

a feed-forward control can be used to reference input. As a result, tracking objectives for

“mission-critical” failed outputs can be re-enabled, at the cost of sacrificing the tracking

objectives for other healthy outputs. Note that the scheme requires disturbances to be

negligible, and so the regulation objectives are not satisfied.

The above-mentioned rank condition provides insight on the physical nature of sen-

sor/actuator redundancies in a benchmark LFSS example. This leads to qualitative

recommendations for sensor-actuator placement to improve fault tolerance.

The main approach taken in Chapter 3 belongs in the realm of active FTC, since

SAF information is available and is applied for control reconfiguration. If we adopt

168

Page 189: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

different assumptions (actuator failures subsume sensor failures) and restrictions (gains

are diagonal), then we can obtain a passive FTC scheme. However, this passive FTC

scheme relies on the fact that integrator states are typically computer registers that can

be allowed to grow arbitrarily large, as long as they are unused.

Developments in Chapter 4

Having studied active FTC, next we focus on passive FTC of the LFSS, i.e., trying to

satisfy the DRSP control objectives under unknown SAF. The foundation of our method

is that a PD controller with positive and diagonal gains stabilizes an LFSS under unknown

SAF, given that the same rank condition from Chapter 3 holds. Diagonal gains make

the failed LFSS appear colocated for all SAF cases, thus avoiding the spillover problem.

Although the choice limits the design space of gains, other key advantages of diagonal

gains are that it is robust, fully decentralized, and easy to implement.

With respect to our control objectives, the remaining challenges involve satisfying

tracking and regulation. Unfortunately, owing to the absence of integrators, a PD feed-

back controller would produce steady-state offsets for constant references and constant

disturbances, even in the nominal case. This is clearly a degradation of performance, but

we still wish to achieve practical tracking and regulation in some form. To specify this,

we modify the basic requirements.

Instead of seeking asymptotic tracking and regulation with a single controller, we

now consider a family of controllers, so that tracking and regulation errors can be made

arbitrarily small by some choice of controller within the family. We expect that the family

of PD controllers with adjustable gains would satisfy the modified objective. Indeed, we

verified that tracking and regulation errors for healthy outputs can be arbitrarily reduced

by increasing the gains of PD controllers. This result appears to solve our problem, and

complement the active FTC result from before.

However, analyzing the steady-state output matrices reveals a caveat of using high-

gain PD controllers. First, we find that these matrices are gain-dependent (unlike the

PID controller case). Moreover, if actuator failures do not subsume sensor failures,

then some failed output component can scale with gains. These “rogue-outputs” make

it problematic to have arbitrarily high gains. This realization leads to the following

limitation for passive FTC by PD controllers: either we assume that actuator failures

subsume sensor failures, or we need to choose low gains, giving rise to steady-state

169

Page 190: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

tracking/regulation errors.

For theoretical and computational interest, we find a way to rewrite PD controller

steady-state output matrices in a simpler form. In this form, the system parameters

of the LFSS are isolated into gain and fault independent “characteristic matrices”. A

result obtained is that in the nominal case, the subspace of rigid body mode outputs has

zero tracking error, under any gain. This insight has applications in station-keeping and

attitude control problems for the LFSS.

Using the characteristic matrices, we also devise a feed-forward control that can nul-

lify tracking error in the nominal case. Unfortunately, the regulation requirement remains

unsatisfied. Robustness issues can arise if the characteristic matrices are computed from

the modal-truncated, finite-dimensional LFSS model. However, it is also possible to em-

pirically determine the characteristic matrices, thereby achieving an application-specific

form of system identification for the LFSS.

Developments in Chapter 5

Up until this point, we have focused on fault accommodation. For active FTC, we

assume that SAF information is available by some unknown means; and for passive

FTC, we assume that SAF information is simply unavailable. In Chapter 5, we develop a

method to diagnose SAF, based on performing steady-state experiments and measuring

outputs. This diagnosis result enables an integrated FTC approach, which combines the

advantages of PID and PD controllers from the previous chapters.

Our diagnosis procedure relies on two facts on PD controller (the rank condition for

the existence of solution is assumed to be satisfied):

• The closed loop system is stable under unknown failures, and so we have the op-

portunity to carry out experiments.

• The steady-state output matrices are functions of LFSS parameters, gains, and

SAF.

The following steps are proposed for SAF diagnosis: sequentially perturb reference

signal components, measure the resulting changes in steady-state output, and then cal-

culate portions of the steady-state output matrices. It can be shown that when SAF

are present, diagonal entries of the measured matrix are zeroed. Otherwise these entries

170

Page 191: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

are positive, with a calculable lower bound. This result allows us to define thresholds to

decide whether each output is faulty or healthy.

Our SAF diagnosis method is subject to a number of challenges. First, the need to

perturb reference signal components makes the method intrusive. Next, there is a trade-

off between intrusiveness and the accuracy of result under measurement noise – so some

tuning is required. Another caveat is that the experiment requires output components to

be coordinated, and so the method is centralized, rather than decentralized. Finally, our

diagnosis method uses steady-state output, which may take a long time to determine.

Therefore we consider our diagnosis method as a proof-of-concept, which shows that in

principle, it is possible to stabilize the LFSS under unknown SAF, while simultaneously

performing fault diagnosis.

To address the inefficiency in acquiring steady-state output data, we formulate and

solve the linear final value extrapolation problem. Without loss of generality, we refor-

mulate the problem in a discrete-time setting. Our solution involves designing a finite

impulse response filter from data. When applied to the measured signal, constant com-

ponents are preserved, and strong oscillatory or decaying signals are diminished. This

results in filtered data from which the final value can be read. The filter design problem

reduces to a least-squares optimization, which is well-studied and easy to implement. The

disadvantages of our final value extrapolation method are that some a priori knowledge

on the time constants of the signal is needed (to determine sampling time). Also, the

robustness of the method against noise requires more analysis.

Having obtained results on active FTC using PID controller, passive FTC using PD

controller, and SAF diagnosis, the last part of Chapter 5 combines these results to pro-

duce an integrated FTC for the DRSP of the LFSS under SAF. To this end, we unify

PID controller and the PD controller with a constant feed-forward term into a common

framework: the integrator is considered as a module that can “numerically solve” the

ideal feed-forward term for the DRSP. By switching between the two controllers, we gain

the advantages of both controllers: the PID controller enables good tracking and regula-

tion, and the PD controller (whose feed-forward term is taken from the integrator values)

maintains stability, in the event of unknown SAF. If a SAF takes place, we can apply our

diagnosis algorithm while the system is stabilized by the PD controller. Once the SAF

has been diagnosed, we can apply control reconfiguration.

Our integrated FTC approach involves many heuristics, as well as application-specific

parameter tuning. Therefore we consider our contribution to be largely theoretical. How-

171

Page 192: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

ever, as a proof-of-concept, we performed a simulation of the integrated scheme on our

large benchmark example. The final value extrapolation method was also used to improve

the efficiency of our diagnosis algorithm.

6.3 Future Work

Some possibilities in extending the results in this thesis are discussed here. These exten-

sions are separated into two classes: General extensions and specific extensions.

6.3.1 General Extensions

The extensions proposed here are ambitious, and solving these would constitute signifi-

cant advancements to the results presented in this thesis and in the references.

Non-colocated Systems

Sensor-actuator colocation helps us avoid spillover effects, and simplifies our analysis by

creating ubiquitous positive-semi-definite matrices (e.g., LKP/D/ILT). However, coloca-

tion also places significant constraints on the LFSS design, thereby limiting the classes

of controllers for the nominal LFSS, and for FTC. Extending DRSP to nominal non-

colocated LFSS is already challenging. It would also be a significant contribution that

reveals insights for extension into FTC of LFSS.

Tracking and Disturbance Models

We have focused on constant reference signals and disturbance. However, existing results

in DRSP accommodate signals with other unstable poles, i.e., combinations of sinusoids,

polynomials and growing exponential functions [19]. To extend the DRSP for the LFSS

to perform tracking and regulation against these signals, a natural step would be to

change the integrator to a more general servo-compensator.

Extended Fault Models

In this thesis we consider a total and abrupt SAF model. To extend this, one may

consider a wider family of failure scenarios. Two extensions that are closely related to

our SAF model are partial failures (diagonal elements of Fy and Fu can take fractional

172

Page 193: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

values) and constant-offset failures (a failed sensor or actuator is stuck at an arbitrary

constant, not just 0).

Another extension is to proceed beyond SAF, and consider structural failures, i.e.,

the mechanical model may change due to faults. A reasonable first step would be to

assume a small number of failures, and consider multiple LFSS models under failure.

Intermittent Faults

Throughout this thesis we assume that SAF are permanent. Removing this assumption

leads to the possibility of intermittent/recoverable faults. This means LFSS may switch

between different fault modes. New complexities arise, since it is well-known that such

behaviour may cause instability, even if the individual switching modes are asymptotically

stable linear systems.

For the case of active FTC, one way to address intermittent faults is to impose “arti-

ficial permanent SAF”, i.e., a disabled sensor/actuator remains permanently disabled. A

more interesting approach would be to study how fault recovery may be exploited. This

research may also involve applications of switching controls to DRSP and FTC of the

LFSS.

Transient Analysis and Optimization

We have outlined the main control objectives in this thesis, but we did not address

transient response, which is extremely important in application. For our examples, we

tuned the control parameters in a rather ad hoc manner. To improve the applicability of

our work on the FTC of the LFSS, one may systematically analyze transient behaviour,

and attempt to optimize it. A starting point would be to apply existing work on optimal

control for the nominal case, and then incorporate faults.

6.3.2 Specific Extensions

The extensions proposed here are specific problems that are related to the problems

solved in this thesis. These problems have a narrower scope than the general problems,

but nonetheless can still be interesting and nontrivial.

173

Page 194: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

Parsimonious Fault Diagnosis

The proposed diagnosis procedure in this work involves determining [FySref ] by (ef-

fectively) measuring [FySref ]e1, . . . , [FySref ]em, i.e., performing multiple steady-state

experiments. The parsimonious fault diagnosis problem asks, “is it possible to deter-

mine F by performing far fewer experiments?” For instance, we may choose some yref so

that the results of evaluating [FySref ]yref for (Fy,Fu) would produce many different pos-

sibilities. Using a look-up-table, we can then reject many hypotheses on what (Fy,Fu)

should be. Ideally, we would be able to formalize this procedure by exploiting algebraic

structure of [FySref ] to extract more information from steady-state experiments.

Integration with Other Fault Diagnosis Methods

The fault diagnosis method proposed this thesis arises from structural insights in Sref

for the LFSS. As reviewed in Section 2.4.3, many fault diagnosis techniques exist for

more generic systems. We do not apply these diagnosis methods to perform integrated

FTC on the LFSSF, and this exercise may lead to alternative solutions to our problem.

However, we note that an advantage of our fault diagnosis method is that it operates in

closed loop, but many existing fault diagnosis methods assumes that the system operates

in open loop. Therefore detailed closed loop analysis is needed, to integrate other fault

diagnosis methods with fault accommodation of the LFSSF.

Tuning Integrated Fault Diagnosis and Fault Accommodation

Our integrated fault diagnosis and accommodation applies many heuristics. In particular,

there are many parameters (sample rate, thresholds, assumed number of states) that are

manually tuned. In our experience, it is not difficult to tweak these parameters to obtain a

working simulation – so this is promising, since our setup has some degree of “parametric

robustness.” However, there are still cases where seemingly good parameters fail. It

would therefore be practical and theoretically interesting to systematically study the

effects of these parameters, and then devise a systematic way to obtain good parameters.

Incorporating Redundant Sensors and Actuators

Assumption 2.3 states that rank L = m. Relaxing this requirement would allow m > n,

so that redundant sensors and/or actuators may exist. Exploiting this redundancy may

give rise to new opportunities in performing FTC on the LFSS under SAF.

174

Page 195: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Chapter 6. Conclusions and Future Work

In-Depth Study of Integrator State

Recall from Section 5.3.2 that when transiting from the PID mode to the PD mode, the

integrator states are kept fixed, so they act as constant offsets that help the PD controller

compensate against steady-state tracking error and unknown disturbances. From this

perspective, the integrator states are “special values” that hold valuable information.

One perspective is to consider the integral controller as a numerical search tool that

solves these special values. For the special case of constant yref and w, it may be

possible to replace or enhance the integral controller with a different solver module, so

the desired values are determined more efficiently.

Effects of Actuator Saturation

We have assumed that LFSS is a linear system, which allows components of u to be

arbitrary in R. However, real LFSS actuators have saturation effects (produced by hard-

ware or imposed limits). Modelling this would add a new complexity to the FTC of the

LFSS. In particular, Section 3.3.7 may be extended to allow unknown sensor failures to

be specified. In this case, a failed sensor can cause integrator states to grow indefinitely,

but saturation of the corresponding saturation would cap the constant damaging effect

this has on the LFSS. As a result, the misbehaving actuator behaves as a disturbance,

which is addressed by the regulation problem in the DRSP.

Unfortunately, actuator saturation also limits the ability of controllers to regulate

disturbances. Therefore competing effects exist, and a more in-depth analysis is needed,

which would also depend on detailed actuator specification. In the context of LFSS and

PID controller, to study the effect of actuator saturation, it may be helpful to consult

existing literature on passive systems and anti-windup controller.

A further generalization of studying actuator saturation would enable actuator com-

ponents to have different saturation values depending on the direction (positive or neg-

ative). In particular, this would allow the modelling of actuators that only act in one

direction.

175

Page 196: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A

Mathematical Details

This chapter contains generic mathematical results that are used throughout this thesis.

Notations and definitions from Section 2.1 are applied here.

A.1 Linear Algebra

In this section, we state a number of well-known results related to linear algebra. Our

main reference is [6]. Unless stated explicitly, all symbols are “generic”, i.e., they are

unrelated the systems defined in this thesis (e.g., the LFSS). In particular, we will use

m,n ∈ N0 as generic variables to represent the dimensions of a matrix.

A.1.1 Matrix Inverses

Lemma A.1. A matrix inverse can “absorb” surrounding invertible matrices:

(∀A,B,C ∈ GLn) : AB−1C =(C−1BA−1

)−1.

This basic fact is proved using the identity (AB)−1 = B−1A−1. A special case is the

seemingly perplexing identity:

(∀A,B ∈ GLn) : AB−1A−1 =(ABA−1

)−1.

176

Page 197: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Lemma A.2. Given a square block matrix [A,B; C,D], where A and D are square,

and where D and A−BD−1C (the Schur complement) are invertible, then[A B

C D

]−1

=

[(A−BD−1C)−1 −(A−BD−1C)−1BD−1

−D−1C(A−BD−1C)−1 D−1 + D−1C(A−BD−1C)−1BD−1

].

This result can be derived by Gaussian elimination, or verified by direct evaluation.

A.1.2 Basic Properties of Positive Definite and Positive Semi-

Definite Matrices

A symmetric square matrix A ∈ SYMn is positive definite (p.d.) if the associated

quadratic form vTAv is positive for non-zero v:

(∀v ∈ Rn − 0) : vTAv > 0.

This is commonly denoted A > 0, but in this thesis we write A ∈ PDn to explicitly show

matrix dimensions. Similarly, A ∈ SYMn is positive semi-definite (p.s.d.) if

(∀v ∈ Rn) : vTAv ≥ 0.

This is commonly denoted A ≥ 0, but in this thesis we write A ∈ PSDn. Note that

PDn ⊂ PSDn ⊆ SYMn.

P.d. and p.s.d. matrices are critical for proofs in this thesis. We now state a number

of elementary results pertaining to these matrices.

Lemma A.3. A symmetric matrix is p.d. (p.s.d.) if and only if its eigenvalues are

all positive (non-negative):

(∀A ∈ SYMn) : A ∈ PDn ⇐⇒ (∀λ ∈ σ(A))(λ > 0),

(∀A ∈ SYMn) : A ∈ PSDn ⇐⇒ (∀λ ∈ σ(A))(λ ≥ 0).

177

Page 198: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Lemma A.4. Right-multiplying a p.s.d. matrix A by a rectangular matrix B, fol-

lowed left-multiplying by the transpose of B results in a p.s.d. matrix.

(∀A ∈ PSDn)(∀B ∈ Rn×m) : BTAB ∈ PSDm.

Lemma A.5. Right-multiplying a p.d. matrix A by a “tall” and full-ranked matrix

B, followed left-multiplying by the transpose of B results in a p.d. matrix:

(∀A ∈ PDn)(∀B ∈ Rn×m) : rank B = m =⇒ BTAB ∈ PDm.

An important special case of Lemma A.4 and Lemma A.5 is that the congruent trans-

formation BTAB (for B ∈ GLn) of a p.d. (p.s.d.) matrix A is also p.d. (p.s.d.).

Choosing B = [I; 0] or B = [0; I], Lemma A.4 and Lemma A.5 yield the following:

Lemma A.6. Sub-matrices of p.d. (p.s.d.) matrices are also p.d. (p.s.d.):

(∀m ∈ [0, n]Z)

(∀

[A1 ∈ Rm×m A2

AT2 A3

]∈ PDn

): (A1 ∈ PDm) ∧ (A3 ∈ PDn−m),

(∀m ∈ [0, n]Z)

(∀

[A1 ∈ Rm×m A2

AT2 A3

]∈ PSDn

): (A1 ∈ PSDm) ∧ (A3 ∈ PSDn−m).

Lemma A.7. The positive combination of two p.d. (p.s.d.) matrices is p.d. (p.s.d.),

and the positive combination of a p.d. matrix with a p.s.d. matrix is p.d.:

(∀α, β ∈ (0,+∞)R)(∀A,B ∈ PDn)(∀X,Y ∈ PSDn) :

(αA + βB ∈ PDn) ∧ (αX + βY ∈ PSDn) ∧ (αA + βY ∈ PDn).

Lemma A.8. A matrix is p.s.d. and invertible if and only if it is p.d.:

PSDn ∩ GLn = PDn.

178

Page 199: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Proposition A.9. Given a p.s.d. matrix A, the set of vectors that annihilates the

quadratic form of A coincides with the kernel of A:

(∀A ∈ PSDn)(∀v ∈ Rn) : (vTAv = 0) ⇐⇒ (Av = 0) ⇐⇒ (vTA = 0T).

Lemma A.10. The inverse of a p.d. matrix is also p.d.:

(∀A ∈ PDn) : A−1 ∈ PDn.

Lemma A.11. The Schur complement of a p.d. matrix is invertible:

(∀m ∈ [0, n]Z)

(∀

[A1 ∈ Rm×m A2

AT2 A3

]∈ PDn

): A1 −A2A

−13 AT

2 ∈ PDm.

Proof. Since A3 ∈ PDn−m (Lemma A.6), so it invertible, and A1−A2A−13 AT

2 is defined.

Next, we apply a congruent transform using [I,0;−A−13 AT

2 , I] ∈ GLn to block-diagonalize

[A1,A2; AT2 ,A3] (noting that A−1

3 ∈ PDn−m ⊆ SYMn−m by Lemma A.10):[I −A2A

−13

0 I

][A1 A2

AT2 A3

][I 0

−A−13 AT

2 I

]=

[A1 −A2A

−13 AT

2 0

AT2 A3

][I 0

−A−13 AT

2 I

]

=

[A1 −A2A

−13 AT

2 0

0 A3

]∈ PDn.

This is p.d. since [A1,A2; AT2 ,A3] ∈ PDn (Lemma A.5). Finally, A1−A2A

−13 AT

2 ∈ PDm

follows from Lemma A.6.

Lemma A.12. The block matrix inverse formula for a p.d. matrix is the following:

(∀m ∈ [0, n]Z)

(∀

[A1 ∈ Rm×m A2

AT2 A3

]∈ PDn

):[

A1 A2

AT2 A3

]−1

=

[S−1 −S−1A2A

−13

−A−13 AT

2 S−1 A−13 + A−1

3 AT2 S−1A2A

−13

],

where S = A1 −A2A−13 AT

2 is a Schur complement of the matrix.

179

Page 200: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Proof. A3 ∈ PDn−m (Lemma A.6) and S = A1 − A2A−13 AT

2 ∈ PDm (Lemma A.11).

So A3 and S are invertible. These satisfy the conditions for Lemma A.2, which is then

applied to derive the formula.

A.1.3 Matrix Decomposition and Transformation

Well-known results on matrix decomposition and transformation are presented in this

section. We refer to [6, 51] for proofs and algorithms of these results.

Lemma A.13. Symmetric matrices have real eigenvalues, have a full complement of

orthonormal eigenvectors, and can be diagonalized by orthogonal matrices:

(∀A ∈ SYMn)(∃P ∈ On) : PTAP ∈ DIAGn.

Lemma A.14. (Cholesky decomposition) A p.d. matrix can be written as a product

of an invertible lower-triangular matrix and its transpose:

(∀A ∈ PDn)(∃B ∈ GLn ∩ LT RIn) : A = BBT.

Lemma A.15. (Matrix square root) A p.d. (p.s.d.) matrix has a square root that is

also p.d. (p.s.d.):

(∀A ∈ PDn)(∃A1/2 ∈ PDn) : A = A1/2A1/2,

(∀A ∈ PSDn)(∃A1/2 ∈ PSDn) : A = A1/2A1/2.

For the p.d. case, we write A−1/2 = (A1/2)−1.

Lemma A.16. (QR decomposition) A “tall” matrix can be decomposed into a prod-

uct of an orthogonal matrix and a “tall” upper-triangular matrix:

(∀A ∈ Rn×m : n ≥ m)(∃Q ∈ On)(∃R ∈ UT RIm) : A = Q

[R

0(n−m)×m

].

180

Page 201: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

The QR factorization is usually stated for square matrices, and a constructive proof

involves left-multiplying A by successive orthogonal matrices to nullify the sub-diagonal

portions (e.g., using Householder reflection) [51]. The case of “tall” matrices is obtained

by 0-padding, which yields[A 0

]= Q

[R 0

0 0

], from which Lemma A.16 follows.

A.1.4 Additional Properties of Positive Definite Matrices

Lemma A.17. If A is p.d. and B is symmetric (same dimensions), then A and B

can be simultaneously diagonalized by congruent transformation under an invertible

T:

(∀A ∈ PDn,B ∈ SYMn)(∃T ∈ GLn) : (TTAT = I) ∧ (TTBT ∈ DIAGn).

Note that we applied a congruent transformation TT(·)T, and not a similarity transfor-

mation P−1(·)P. Therefore eigenvalues are not preserved.

Proof. A ∈ PDn ⇒ A−1 ∈ PDn (Lemma A.10). Applying Cholesky decomposition

(Lemma A.14) yields A−1 = PPT for some P ∈ GLn. Thus APPT = I. Applying

similarity transform PT(·)P−T results in PTAP = I. Next, B ∈ SYMn ⇒ PTBP ∈SYMn, which admits an orthogonal diagonalization (Lemma A.13), i.e., ∃Q ∈ GLn so

that QTQ = I and QT(PTBP)Q ∈ DIAGn. Assigning T = PQ ∈ GLn results in

TTAT = QT(PTAP)Q = QTQ = I,

TTBT = QT(PTBP)Q ∈ DIAGn.

Lemma A.17 can be combined with Lemma A.4 and Lemma A.5 to obtain the fol-

lowing specializations:

(∀A ∈ PDn,B ∈ PSDn)(∃T ∈ GLn) : (TTAT = I) ∧ (TTBT ∈ DIAGn ∩ PSDn),

(∀A,B ∈ PDn)(∃T ∈ GLn) : (TTAT = I) ∧ (TTBT ∈ DIAGn ∩ PDn).

181

Page 202: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Lemma A.18. Given p.d. matrices X and Y, Y subtracted by X is p.s.d. if and

only if the inverse of X subtracted by the inverse of Y is p.s.d.:

(∀X,Y ∈ PDn) : Y −X ∈ PSDn ⇐⇒ X−1 −Y−1 ∈ PSDn.

The proof of this result is found in [6], but we have found our own version.

Proof. Since X,Y ∈ PDn, by Lemma A.17, ∃T ∈ GLn so that TTYT = I and D :=

TTXT ∈ PDn ∩DIAGn. From Lemma A.1, T−1Y−1T−T = I and T−1X−1T−T = D−1,

so Y−1 = TTT and X−1 = TD−1TT.

We will apply Lemma A.5 multiple times. First, we have Y−X ∈ PSDn ⇔ TT(Y−X)T ∈ PSDn ⇔ I − D ∈ PSDn. Since D ∈ PDn ∩ DIAGn, so I − D ∈ PSDn

⇔ each diagonal entry of D is in (0, 1]R ⇔ each diagonal entry of D−1 is in [1,∞)R

⇔ D−1 − I ∈ PSDn ⇔ T(D−1 − I)TT ∈ PSDn ⇔ X−1 −Y−1 ∈ PSDn.

Lemma A.19. The sum of two p.s.d. matrices is p.d. if and only if horizontally

concatenating the two matrices produces a full-(row)-rank matrix:

(∀A,B ∈ PSDn) : A + B ∈ PDn ⇐⇒ rank[A B

]= n.

Proof. Since A + B ∈ PSDn (Lemma A.7), and so A + B ∈ PDn ⇔ A + B ∈ GLn

(Lemma A.8). We now focus on proving A + B ∈ GLn ⇔ rank[A,B] = n. Note that

rank[A,B] ≤ n.

(=⇒): A + B ∈ GLn ⇔ rank(A + B) = n ⇔ rank ([A,B][I; I]) = n ⇒ rank[A,B] ≥ n,

since rank is non-increasing with matrix multiplication. Therefore rank[A,B] = n.

(⇐=): Suppose A + B /∈ GLn, then ∃v ∈ Rn − 0 so that vT(A + B) = 0. Therefore

vTAv + vTBv = vT(A + B)v = 0 (Proposition A.9). A,B ∈ PSDn means vTAv ≥ 0

and vTAv ≥ 0, and so vTAv = vTBv = 0. Applying Proposition A.9 again, we have

vTA = vTB = 0T, and so vT[A,B] = 0T, which implies rank[A,B] 6= n, since v 6= 0.

A.1.5 Asymptotic Stability of Mass-Damper-Spring Systems

Recall that Lemma 4.4 is stated as follows:

182

Page 203: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Lemma 4.4. If M, D, and K are p.d., then the system Mξ+ Dξ+ Kξ = 0 has an

asymptotically stable origin.

The following corollary is also stated:

Corollary 4.5. If X and Y are p.d., then

[0 I

−Y −X

]is Hurwitz.

These are well-known results [39]. For comparison, we supply our own proof.

Proof. Take any M,D,K ∈ PDn. M is invertible with inverse M−1 ∈ PDn (Lemma

A.10). By Lemma A.15 we have M−1 = M−1/2M−1/2 with M−1/2 ∈ PDn, and so

M−1/2MM−1/2 = I. Defining d = M−1/2ξ, we can rewrite Mξ + Dξ + Kξ = 0 as

d+ (M−1/2DM−1/2)d+ (M−1/2KM−1/2)d = 0,

which is equivalent to

x =

[0 I

−Y −X

]x,

where x = [d; d], X = M−1/2DM−1/2, and Y = M−1/2KM−1/2.

M−1/2 ∈ SYMn, and so X,Y ∈ PDn (Lemma A.5). We have reduced Lemma 4.4

to Corollary 4.5, which is now our main focus. Therefore we wish to prove that

(∀X,Y ∈ PDn) : A ∈ HUR2n, where A =

[0 I

−Y −X

]∈ R2n×2n.

We will solve the Lyapunov equation for A, i.e., construct P,Q ∈ PD2n so that ATP +

PA = −Q. X ∈ PDn has positive eigenvalues (Lemma A.3). If we choose µ ∈(0,minσ(X))R then min σ(X− µI) > 0 (spectral mapping theorem), so X− µI ∈ PDn.

Next, let

P :=

[µX + Y µI

µI I

]∈ SYM2n,

183

Page 204: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Q := −(ATP + PA)

= −

([0 −Y

I −X

][µX + Y µI

µI I

]+

[µX + Y µI

µI I

][0 I

−Y −X

])

= −

([−µY −Y

Y µI −X

]+

[−µY Y

−Y µI −X

])=

[2µY 0

0 2(X− µI)

]∈ SYM2n.

The Lyapunov equation is satisfied by construction. It remains to show P,Q ∈ PD2n.

For Q: We have µY ∈ PDn (since µ > 0 and Y ∈ PDn) and X − µI ∈ PDn (by

choice of µ). Therefore Q = 2 block diag(µY,X− µI) ∈ PD2n.

For P: X− µI ∈ PDn ⇒ µ(X− µI) + Y ∈ PDn (Lemma A.7). Since In ∈ PDn, so[µ(X− µI) + Y 0

0 In

]∈ PD2n.

Applying Lemma A.5 leads to

P =

[µX + Y µI

µI I

]=

[I µI

0 I

][µ(X− µI) + Y 0

0 In

][I 0

µI I

]∈ PD2n.

A.2 The Rigid Body Rank Test

Suppose that an LFSS (2.3) is specified. So n, m, Ω2, ∆, and L are given, while As-

sumption 2.1, Assumption 2.2, Assumption 2.3, and Assumption 2.4 hold, i.e., the system

matrices Ω2 ∈ PSDn, ∆ ∈ DIAGn∩PSDn, and L ∈ Rn×m have the following structures:

Ω2 =

[0n 0

0 Ω2

], ∆ =

[0n 0

0 ∆

], L =

[L

L

]. (2.5)

with n = n − rank Ω2, Ω2 ∈ DIAGn−n ∩ PDn−n, and ∆ ∈ PDn−n. Moreover, 1 ≤ n ≤m ≤ n, rank L = m, rank L = n.

Given failures matrices Fy,Fu ∈ DIAGm0,1 the rigid body rank test is

rank(LF) = n,

where F := FyFu ∈ DIAGm0,1. The test plays an important role in this thesis, and we

now state important related results.

184

Page 205: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Lemma A.20. Given an LFSS, gains KP/D ∈ PDm, and F ∈ DIAGm0,1, the fol-

lowing are equivalent:

〈R1〉 The rank test holds: rank(LF) = n.

〈R2〉 (∀KP ∈ PDm) : Ω2 + LFKPFLT ∈ PDn.

〈R3〉 (∀KD ∈ PDm) : ∆ + LFKDFLT ∈ PDn.

〈R4〉 Ω2 + L?L?T ∈ PDn, where L? = LRT.

Proof. (〈R1〉 ⇒ 〈R2〉): KP ∈ PDm ⇒ LFKPFLT ∈ PSDn (Lemma A.4). Also,

Ω2 ∈ PSDn. We now consider rank[Ω2 LFKPFLT

], which has an upper bound of n.

n ≥ rank[Ω2 LFKPFLT

]= rank

[0 0 LFKPFLT LFKPFLT

0 Ω2 LFKPFLT LFKPFLT

]

≥ rank

[0 LFKPFLT

Ω2 0

]= rank Ω2 + rank LFKPFLT.

To get the second line, we applied column-operations to clear the bottom row using

(invertible) Ω2, and then removed the 0-column and the last column (hence the “≥”).

Now, rank(LF) = n implies LF has full row rank (since n ≤ m), and so (LF)KP(LF)T ∈PDn (Lemma A.5). Therefore rank LFKPFLT = n. Since rank Ω2 = n − n, and so

rank[Ω2 LFKPFLT

]= n. Ω2 + LFKPFLT ∈ PDn follows from Lemma A.19.

(〈R2〉 ⇒ 〈R1〉): Consider the contrapositive. Suppose rank(LF) < n, then ∃v1 ∈Rn − 0 so that vT

1 LF = 0T. Let v = [v1; 0] 6= 0, then by construction, vTΩ2 = 0T,

and vTL = vT1 L, which leads to vTLFKPFLT = (vT

1 LF)KPFLT = 0T. Therefore

rank[Ω2 LFKPFLT

]< n, and Ω2 + LFKPFLT /∈ PDn follows from Lemma A.19.

(〈R1〉 ⇔ 〈R3〉): Noting the structure of ∆ ∈ PSDm, the proof is similar to that of

〈R1〉 ⇒ 〈R2〉 ⇒ 〈R1〉.

(〈R2〉 ⇒ 〈R4〉): Choosing KP = I leads to Ω2 + LFFLT ∈ PDn. Since FF = F =

RTR, we have Ω2 + L?L?T = Ω2 + LRTRLT = Ω2 + LFFLT ∈ PDn.

(〈R4〉 ⇒ 〈R1〉): We repeat the proof for 〈R2〉 ⇒ 〈R1〉: Assume rank(LF) < n, and

choose KP = I. This leads to Ω2 + LFIFLT = Ω2 + L?L?T /∈ PDn.

185

Page 206: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

A.3 Steady-State Output for the CLSFPD: Details

In this appendix, we present detailed proofs as well as detailed results for the material

presented in Section 4.3.

A.3.1 Simplifying Steady-State Reference Gain Matrix

Sref (4.8) is crucial for the steady-state analysis (for objective 〈F2〉) for the CLSFPD. To

facilitate analysis (and for aesthetic reasons), we wish to find a simpler formula for Sref .

Using implicit definition, we have the following relations:

(Ω2,L,KP,Fy,Fu) −→ Sref .

In this section, we fix Fy,Fu ∈ DIAGm0,1 and KP/D ∈ PDn (not necessarily diagonal),

and assume that AF ∈ HUR2n, so that Sref is defined. To emphasize the dependence of

Sref on the LFSS, we write the Sref (4.7) formula as

Sref(Ω2,L) = LT(Ω2 + LFuKPFyLT)−1LFuKP. (A.1)

The following result characterizes some symmetry in the formula.

Proposition A.21. Sref(Ω2,L) are invariant under the transforms Ω2 ← TΩ2TT

and L← TL for invertible T:

(∀LFSSF)(∀DCtrlPD)(∀T ∈ GLn) : Sref(TΩ2TT,TL) = Sref(Ω2,L).

Proof. Take any T ∈ GLn, so T−1 is defined. We have

Sref(TΩ2TT,TL) = (LTTT)[TΩ2TT + (TL)FuKPFy(LTTT)]−1(TL)FuKP

= LTTT[T(Ω2 + LFuKPFyLT)TT]−1TLFuKP

= LT(TTT−T)(Ω2 + LFuKPFyLT)−1(T−1T)LFuKP

= Sref(Ω2,L),

where Lemma A.1 was applied.

The transformation in Proposition A.21 merely expresses the modal states d ∈ Rn in

a different coordinate, so the result is unsurprising. In particular, we can use the original

186

Page 207: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

displacement coordinates in (2.7) and write Sref(Ω2,L) = Sref(K0,Λ0). This reveals that

Sref depends on K0 and Λ0, but not the inertia matrix M0.

Here is a helper lemma:

Lemma A.22. For any p.d. KP, the matrix Ω2 + LKPLT is p.d.:

(∀KP ∈ PDm) : Ω2 + LKPLT ∈ PDn, (A.2)

and in particular Ω2 + LLT ∈ PDn.

Proof. By definition, rank(L) = n. We interpret this as 〈R1〉 with F = I. Applying

Assumption 2.3, this leads to 〈R2〉, i.e., (A.2).

Now we present a simpler formula for Sref . The key idea is to apply two transforms T1

and T2, so that the rectangular matrix L is divided into “useful” and “useless” portions

that can be truncated, thereby producing a formula consisting of square matrices only.

We rely on Assumption 2.3 rank L = m (full column rank) and m ≤ n, Assumption 2.1,

and Assumption 2.4 rank L = n ≥ 1.

Theorem 4.8. Assuming that the CLSFPD is asymptotically stable, an alternative for-

mula for Sref is the following:

Sref = (Γ + FuKPFy)−1FuKP, (4.10)

where Γ ∈ SYMm depends on Ω2 and L only.

Proof. Since m ≤ n, so L ∈ Rn×m has the following QR decomposition (Lemma A.16):

L = Q

[R

0(n−m)×m

],

where Q ∈ On and R ∈ UT RIm ∩ GLm (R is invertible because rank L = m).

Let the first transform be T1 = QT ∈ On. We assign N := T1Ω2TT

1 ∈ SYMn:

T1Ω2TT

1 = QTΩ2Q =: N =

[N1 N2

NT2 N3

],

T1L = QTQ

[R

0

]=

[R

0

].

187

Page 208: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

So we transformed (Ω2,L)→ (N, [R; 0]), where N is partitioned to match [R; 0]. Note

that N ∈ PSDn (Lemma A.4), and so N1 ∈ PSDm and N3 ∈ PSDn−m (Lemma A.6).

Case 1: m < n. We claim that N3 is p.d. From Lemma A.22 we have Ω2 +LKPLT ∈PDn. Since TT

1 ∈ GLn, so T1

(Ω2 + LKPLT

)TT

1 ∈ PDn (Lemma A.5):

T1

(Ω2 + LKPLT

)TT

1 = N + (T1L)KP(T1L)T =

[N1 + RKPRT N2

NT2 N3

]∈ PDn.

So N3 ∈ PDn−n (Lemma A.6), and is invertible.

Let the second transform be T2 =

[I −N2N

−13

0 I

]. Applying this to (N, [R; 0]) yields

(noting that N−T3 = N−1

3 )

T2NTT2 =

[I −N2N

−13

0 I

][N1 N2

NT2 N3

][I 0

−N−13 NT

2 I

]

=

[N1 −N2N

−13 NT

2 0

NT2 N3

][I 0

−N−13 NT

2 I

]=

[N1 −N2N

−13 NT

2 0

0 N3

],

T2

[R

0

]=

[I −N2N

−13

0 I

][R

0

]=

[R

0

].

So we transformed (N, [R; 0])→ (block diag(N1−N2N−13 NT

2 ,N3), [R; 0]). From Propo-

sition A.21, we obtain

Sref(Ω2,L) = Sref(T2T1Ω2TT

1 TT2 ,T2T1L) = Sref

([N1 −N2N

−13 NT

2 0

0 N3

],

[R

0

]).

Expand the Sref formula (A.1), noting that R−1 is defined:

Sref =[RT 0T

]([N1 −N2N−13 NT

2 0

0 N3

]+

[R

0

]FuKPFy

[RT 0T

])−1 [R

0

]FuKP

=[RT 0T

] [N1 −N2N−13 NT

2 + RFuKPFyRT 0

0 N3

]−1 [R

0

]FuKP

= RT(N1 −N2N−13 NT

2 + RFuKPFyRT)−1RFuKP

=(R−1(N1 −N2N

−13 NT

2 )R−T + FuKPFy)−1FuKP

= (Γ + FuKPFy)−1FuKP,

188

Page 209: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

where we defined the PD reference-to-output characteristic matrix Γ ∈ SYMm

as

Γ := R−1(N1 −N2N−13 NT

2 )R−T. (A.3)

Note that R and Q are derived from L, and N is derived from Ω2 and Q. Therefore Γ

is a function of Ω2 and L only.

Case 2: m = n, then we obtain T2 = I and N1 = N with empty matrices N2 ∈ Rm×0

and N3 ∈ R0×0. Formally, N2N−13 NT

2 = 0m. The derivation and the formula are still

valid.

For later usage, we state the following.

Corollary A.23. Given an asymptotically stable CLSFPD, then Γ + FuKPFy is in-

vertible:

(∀LFSSF)(∀DCtrlPD) : AF ∈ HUR2n =⇒ Γ + FuKPFy ∈ GLn.

Proof. From Proposition 4.3, AF ∈ HUR2n leads to Ω2 + LFuKPFyLT ∈ GLn, which

as seen in the proof of Theorem 4.8, is transformed to Γ + FuKPFy ∈ GLn.

A.3.2 Simplifying Steady-State Disturbance Gain Matrix

Similar to the last section, we would like to derive a simplified expression for Sw. Since

Sw is more complex than Sw, so the results are less “clean”. Using implicit definition,

we have the following relations:

(Ω2,L,Ef ,F,KP,Fy,Fu) −→ Sw.

In additional to fixing Fy,Fu ∈ DIAGm0,1 and KP/D ∈ PDn, and assuming that AF ∈HUR2n (so that Sw is defined), we also fix F. We now express Sw (4.8) explicitly as a

function of Ω2, L and Ef , while isolating the second term:

Sw(Ω2,L,Ef) = (I − Sref(Ω2,L)Fy)F + SwE (Ω2,L,Ef),

189

Page 210: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

where

SwE (Ω2,L,Ef) := LT(Ω2 + LFuKPFyLT)−1Ef ∈ Rn×q. (A.4)

The following is the Sw counterpart to Proposition A.21:

Proposition A.24. Sw(Ω2,L,Ef) are invariant under the transforms Ω2 ←TΩ2TT, L← TL, and Ef ← TEf for invertible T:

(∀T ∈ GLn) : Sw(TΩ2TT,TL,TEf) = Sw(Ω2,L,Ef).

Proof. Take any T ∈ GLn, so T−1 is defined. Proposition A.21 already accounts for the

invariance of the first term (I−Sref(Ω2,L)Fy)F in Sw, so it suffices to consider SwE only.

We have

SwE (TΩ2TT,TL,TEf) = LTTT(TΩ2TT + TLFuKPFyLTTT)−1TEf

= LTTT(T−T)(Ω2 + LFuKPFyLT)−1(T−1)TEf

= LT(Ω2 + LFuKPFyLT)−1Ef

= SwE (Ω2,L,Ef).

Here is the counterpart to Theorem 4.8 to simplify Sw:

Theorem 4.9. Assuming that the CLSFPD is asymptotically stable, an alternative for-

mula for Sw is the following:

Sw = (I − SrefFy)F + (Γ + FuKPFy)−1Υ,

= (I − (Γ + FuKPFy)−1FuKPFy)F + (Γ + FuKPFy)−1Υ,(4.11)

where Γ ∈ SYMm was defined in Theorem 4.8, and Υ ∈ Rm×q depends on Ω2, L

and Ef only.

Proof. Repeating the proof of Theorem 4.8, we can use the same T2T1 to transform SwE

190

Page 211: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

in the manner described in Proposition A.24:

SwE =

[RT 0T

]([N1 −N2N−13 NT

2 0

0 N3

]+

[R

0

]FuKPFy

[RT 0T

])−1

T2T1Ef

=[RT 0T

] [N1 −N2N−13 NT

2 + RFuKPFyRT 0

0 N3

]−1

T2T1Ef

=[RT(N1 −N2N

−13 NT

2 + RFuKPFyRT)−1 0]

T2T1Ef

= RT(N1 −N2N−13 NT

2 + RFuKPFyRT)−1(RR−1)[I 0

]T2T1E

f

=(R−1(N1 −N2N

−13 NT

2 )R−T + FuKPFy)−1[R−1 0

]T2T1E

f

= (Γ + FuKPFy)−1Υ, (A.5)

where we defined the PD disturbance-to-output characteristic matrix Υ ∈ Rm×q

as

Υ :=[R−1 0

]T2T1E

f , (A.6)

which is a function of Ω2, L and Ef only, and is independent of KP.

A.3.3 Additional Results and Insights

Summary of Alternative Formulae for Sref and Sw

The original formulae for Sref and Sw derived in Theorem 4.7 are

Sref = LT(Ω2 + LFuKPFyLT)−1LFuKP, (4.8)

Sw = (I − SrefFy)F + LT(Ω2 + LFuKPFyLT)−1Ef . (4.9)

The simplified formulae for Sref from Theorem 4.8, and for Sw from Theorem 4.9 are

Sref = (Γ + FuKPFy)−1FuKP, (4.10)

Sw = (I − SrefFy)F + (Γ + FuKPFy)−1Υ. (4.11)

The new formulae clearly use fewer operations. Moreover, these formulae replace (Ω2,L)

with Γ. Consequently, we have “factored out” a redundant degree of freedom that we

saw in Proposition A.21, Sref(Ω2,L) = Sref(TΩ2TT,LT). Along with Υ, the dependence

191

Page 212: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

on (Γ,L,Ef) is replaced with the dependence on (Γ,Υ).

Explicit Formulae for Γ and Υ

Lemma 4.10. Γ can be calculated by

Γ = (LT(Ω2 + LLT)−1L)−1 − I, (4.16)

= (ΛT0 (K0 + Λ0Λ

T0 )−1Λ0)−1 − I. (4.17)

Proof. Since (4.12) and (4.13) are equivalent, we can solve for Γ:

LT(Ω2 + LKPLT)−1LKP = (Γ + KP)−1KP,

∴ Γ = (LT(Ω2 + LKPLT)−1L)−1 −KP. (A.7)

On noting that Γ is independent of KP, we choose KP = Im, and (A.7) simplifies to (4.16).

Next, (2.10) states that T−T0 Ω2T−1

0 = K0 and T−T0 L = Λ0. Applying Proposition A.21

to (4.12) results in the following,

ΛT0 (K0 + Λ0K

PΛT0 )−1Λ0K

P = (Γ + KP)−1KP.

from which (4.17) is obtained on substituting KP = I.

Lemma 4.11. Υ (A.6) can be calculated by

Υ = (Γ + I)LT(Ω2 + LLT)−1Ef , (4.18)

= [LT(Ω2 + LLT)−1L]−1LT(Ω2 + LLT)−1Ef . (4.19)

Proof. Since (4.14) and (4.15) are equivalent, we can solve for Υ (first cancelling out the

common term with F):

LT(Ω2 + LKPLT)−1Ef = (Γ + KP)−1Υ,

∴ Υ = (Γ + KP)LT(Ω2 + LKPLT)−1Ef .

192

Page 213: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

On noting that Υ is independent of KP, we choose KP = Im, and the above simplifies to

(4.18). Next, substituting the Γ (4.16) from Lemma 4.10 yields (4.19).

In (4.19), the [LT(Ω2 +LLT)−1L]−1LT(Ω2 +LLT)−1 part is essentially a (Ω2-dependent)

pseudo-inverse of L. For the special case where Img Ef ⊆ Img L, i.e., disturbance forces

can be spanned by applied forces from actuators, we would have Ef = LX for some

X ∈ Rm×q, and then Υ = X. This also means that Υ does not depend on Ω2.

Obtaining Γ from Srefnom

The Γ formulae obtained from Lemma 4.10 uses (Γ,L) or (K0,Λ0). As seen in Section 2.2,

LFSS system matrices are usually obtained from modal-truncating a high-dimensional lin-

ear model. Therefore the calculated Γ will be an approximation. However, the following

result shows that Γ can be obtained from Srefnom.

Lemma A.25. The Γ matrix can be calculated by

Γ = KP((Srefnom)−1 − I). (A.8)

Proof. We invert (4.13) Srefnom = (Γ + KP)−1KP and obtain Γ = KP(Sref

nom)−1 − KP =

KP((Srefnom)−1 − I).

To obtain Γ experimentally, we can first choose KP, measure Srefnom (more on this

later), and then apply (A.8). It is to be noted that in this scheme, we do not need to

obtain LFSS first by simulation or on-ground experiments. So Lemma (A.25) gives us

a way to perform limited system identification of the LFSS, which also takes account of

existing high-frequency modes in the physical LFSS.

Additional Properties of Γ

Here we present a collection of properties of Γ. These results are applied in Chapter 4

and Chapter 5.

Lemma 4.12. The Γ matrix is p.s.d., singular, and has rank m− n:

(Γ ∈ PSDm − GLm) ∧ (rank Γ = m− n).

193

Page 214: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Proof. Continuing from the proof of Theorem 4.8, first we show that Γ ∈ PSDm:

Ω2 ∈ PSDn =⇒ T2T1Ω2TT

1 TT2 =

[N1 −N2N

−13 NT

2 0

0 N3

]∈ PSDn (Lemma A.4)

=⇒ N1 −N2N−13 NT

2 ∈ PSDm (Lemma A.6)

=⇒ Γ := R−1(N1 −N2N−13 NT

2 )R−T ∈ PSDm (Lemma A.4).

From rank Ω2 = n− n and rank N3 = n−m (since N3 ∈ PDn−m) we obtain

rank Γ = rank(N1 −N2N−13 NT

2 )

= rank

([N1 −N2N

−13 NT

2 0

0 N3

])− rank N3

= rank(T2T1Ω2TT

1 TT2 )− (n−m) = (n− n)− (n−m) = m− n.

By Assumption 2.1, n ≥ 1, so rank Γ < m and Γ /∈ GLm.

Corollary A.26. Given an asymptotically stable CLSFPD obtained from DCtrlPD with

diagonal gains, Γ + FuKPFy is p.d:

(∀LFSSF)(∀DCtrlPD | KP/D ∈ DIAGm) : AF ∈ HUR2n =⇒ Γ + FuKPFy ∈ PDn.

Proof. Denote X := Γ + FuKPFy. By Corollary A.23, X ∈ GLm. Since KP ∈ DIAGm,

we obtain X = Γ + FKP ∈ GLm ∩ SYMm. Γ ∈ PSDm (Corollary 4.12) and FKP ∈PSDm imply X ∈ PSDm (Lemma A.7). Combining with X ∈ GLm leads to X ∈ PDm

(Lemma A.8).

Theorem A.27. The kernel of Γ is the space of outputs of the rigid body model

(2.18):

Ker Γ = Img LT.

Proof. First we show Ker Γ ⊇ Img LT, which is equivalent to ΓLT = 0. We note from

194

Page 215: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

(2.5) that LT = [LT, LT], and so (also applying Lemma A.22, Ω2 + LLT ∈ PDn)

LT = LT

[In

0

]= LT(Ω2 + LLT)−1(Ω2 + LLT)

[In

0

]

= LT(Ω2 + LLT)−1

(Ω2

[In

0

])+ LT(Ω2 + LLT)−1L

(LT

[In

0

]).

However, from (2.5) we have Ω2 = [0n,0; 0, Ω2], and so Ω2[In; 0] = 0. Therefore

LT = LT(Ω2 + LLT)−1LLT,

∴ (LT(Ω2 + LLT)−1L− I)︸ ︷︷ ︸Γ

LT = 0,

where the last line applies (4.16) from Lemma 4.10.

Finally, from Corollary 4.12 we have rank Γ = m − n, and so dim(Ker Γ) = n. By

definition, rank LT = rank L = n and LT ∈ Rm×n, so dim(Img LT) = n. Since Ker Γ and

Img LT have the same dimensions, and Ker Γ ⊇ Img LT, so Ker Γ = Img LT.

In general we specify Γ to be in PSDm−GLm. A question naturally arises from this:

are there addition restrictions on Γ? The following lemma shows the contrary.

Lemma A.28. For any Γ′ that is p.s.d. and singular, we can construct an LFSS

whose resulting Γ matches Γ′:

(∀m′ ∈ N)(∀n′ ∈ [1,m′]Z)(∀Γ′ ∈ PSDm − GLm | rank(Γ′) = m′ − n′)

(∃LFSS | m = m′, n = n′) : Γ = Γ′.

Proof. We will construct such an LFSS that satisfies the LFSS assumptions, so that the

resulting Γ matches Γ′. Given m′ ∈ N, n′ ∈ [1,m′]Z, and Γ′ ∈ PSDm − GLm so that

rank(Γ′) = m′− n′, we choose n = m = m′, n = n′. We seek Ω2 ∈ PSDn ∩DIAGn with

rank(Ω2) = n − n and satisfying (2.10a), and L ∈ Rn×m with full rank, so that (4.13)

holds:

Γ′ = Γ := (LT(Ω2 + LLT)−1L)−1 − I.

195

Page 216: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix A. Mathematical Details

Since n = m, we have L ∈ PDn, and so the above reduces to

Γ′ = ((L−1Ω2L−T + I)−1)−1 − I = L−1Ω2L−T.

Since Γ ∈ PSDn, so it has an orthogonal eigen-decomposition Γ′ = PDPT, where

P ∈ On and D ∈ PSDn ∩ DIAGn with rank(D) = rank(Γ′) = n − n. We arrange D

so that all the n 0-eigenvalues appear first. So we choose Ω2 = D and L = P−1 = PT.

Finally, ∆, Ef and F that satisfy the LFSS assumptions can be arbitrarily chosen.

As a consequence of Lemma A.28, we can choose a random Γ that satisfies Corollary

4.12 to test results involving Sref for the CLSFPD.

196

Page 217: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B

Specification and Derivation of LFSS

Examples

To illustrate our results, three decentralized LFSS examples are used throughout this

thesis: LFSS Benchmark A (1-D system), LFSS Benchmark B (4-component system),

and LFSS Benchmark C (Purdue space platform).

In this chapter, we present detailed derivations and specifications of these LFSS (2.3)

examples. Specifically, we will provide n, m, Ω2, ∆, L for each example. The decentral-

ized controller parameters N , m1, . . . , mN are also given. The disturbance parameters,

q, Ef , and F, are stated only for LFSS Benchmark A and LFSS Benchmark C. Moreover,

to suit specific examples, these may be ignored or replaced with other values.

B.1 LFSS Benchmark A: 1-D System

B.1.1 Description

LFSS Benchmark A is a 1-dimensional mechanical system of horizontal motion, as shown

in Figure B.1. The system consists of 3 rigid components (with masses M1,M2,M3)

connected by ideal springs (with stiffnesses K12 and K23) and ideal dampers (represented

as dashpots, with damping coefficients D12 and D23). The main dynamical variables are

displacements ξ = [ξ1; ξ2; ξ3] ∈ R3 for each mass, defined relative to some equilibrium

position in which all springs are relaxed, and M1 at some absolute location.

The system is controlled by N = 3 local colocated single-input/single-output con-

trollers S1, S2, and S3. For each i ∈ 1, 2, 3, Si measures yi = ξi ∈ R from a sensor,

197

Page 218: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Figure B.1: LFSS Benchmark A: 1-D System.

and generates control signal ui ∈ R, is applied horizontal force by a linear actuator. The

bold arrows in Figure B.1 indicate this input/output relationship (these do not denote

direction of force). Clearly, n = 3 and m = 3.

B.1.2 Derivation

Elementary classical mechanics produces the following equations of motion:

M1ξ1 = −K12(ξ1 − ξ2)−D12(ξ2 − ξ1) + u1,

M2ξ2 = −K12(ξ2 − ξ1)−K23(ξ2 − ξ3)−D12(ξ2 − ξ1)−D23(ξ2 − ξ3) + u2,

M3ξ3 = −K23(ξ3 − ξ2)−D23(ξ3 − ξ2) + u3.

Collecting terms leads to specification in terms of inertia, damping, and stiffness matrices:

M1 0 0

0 M2 0

0 0 M3

︸ ︷︷ ︸

M0

ξ +

D12 −D12 0

−D12 D12 +D23 −D23

0 −D23 D23

︸ ︷︷ ︸

D0

ξ

+

K12 −K12 0

−K12 K12 +K23 −K23

0 −K23 K23

︸ ︷︷ ︸

K0

ξ =

1 0 0

0 1 0

0 0 1

︸ ︷︷ ︸

Λ0

u1

u2

u3

.

The displacement is taken as output, so

y1

y2

y3

=

1 0 0

0 1 0

0 0 1

T

︸ ︷︷ ︸ΛT

0

ξ.

198

Page 219: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

B.1.3 Parameters Choices

For numerical computation, the following values are used: [M1,M2,M3] = [1, 10, 1];

[D12, D23] = [0.1, 0.1]; and [K12, K23] = [1, 1]. Therefore

M0 =

1

10

1

, D0 =

0.1 −0.1 0

−0.1 0.2 −0.1

0 −0.1 0.1

, K0 =

1 −1 0

−1 2 −1

0 −1 1

, Λ0 = I.

(B.1)

Next, we derive the stand form LFSS model (2.3). Following the steps shown in the

proof of (A.17), simultaneous diagonalization on M0 and K0 are applied: From M−10 =

diag(1, 0.1, 1) = PPT, we obtain P = diag(1, 0.3162, 1). So PTM0P = I, and

PTK0P =

1 −0.3162 0

−0.3162 0.2 −0.3162

0 −0.3162 1

.Diagonalizing this yields Ω2 = QTPTK0PQ = TT

0 K0T0, where

Ω2 =

0

1

1.2

, Q =

0.2887 −0.7071 −0.6455

0.9129 0 0.4082

0.2887 0.7071 −0.6455

, T0 = PQ.

MATLAB already made diagonal elements of Ω2 non-decreasing. If not, we can permute

columns of T0 to accomplish this, as discussed in Section 2.2.3. Having obtained T0, we

proceed to compute ∆ = TT0 D0T0 and L = TT

0 Λ0:

∆ =

0

0.1

0.12

, L =

0.2887 0.2887 0.2887

−0.7071 0 0.7071

−0.6455 0.1291 −0.6455

.Finally, for disturbance matrices, we choose

q = 3, Ef = L

1 0.2 0.2

0.2 1 0.2

0.2 0.2 1

, F =

1

2

1

.

199

Page 220: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

The purpose of including L in Ef is to provide a correlation between disturbance vector

w and input u. The[

1 0.2 0.20.2 1 0.20.2 0.2 1

]factor is to produce off-diagonal terms for variety.

B.1.4 The Model (Summary)

The system matrices for LFSS Benchmark A are specified below:

Ω2 =

0

1

1.2

, ∆ =

0

0.1

0.12

, L =

0.2887 0.2887 0.2887

−0.7071 0 0.7071

−0.6455 0.1291 −0.6455

,

Ef =

0.4041 0.4041 0.4041

−0.5657 0 0.5657

−0.7488 −0.1291 −0.7488

, F =

1

2

1

.B.2 LFSS Benchmark B: 4-Component System

B.2.1 Description

LFSS Benchmark B (taken from [42]) consists of 4 component connected by spring-

damper links, arranged in a 2-D plane. Its structure is shown in Figure B.2. Each

Figure B.2: LFSS Benchmark B [42].

component is enumerated by i ∈ [1, 4]Z, and is a mechanical structure whose states consist

200

Page 221: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

of horizontal displacement ξi, vertical displacement ζi, and counter-clockwise rotation θi.

The component states and the overall mechanical states are

(∀i ∈ [1, 4]Z) : ξi = [ξi; ζi; θi], ξ = [ξ1; ξ2; ξ3; ξ4] ∈ R12.

Clearly n = 12.

ξ is directly observed. By colocation, linear actuators are applied to ξi and ζi, and a

torque actuator is applied to θi. Therefore yi = ξi ∈ R3, i ∈ [1, 4]Z, and u ∈ R3. The

overall output of the LFSS consists of all mechanical displacements:

y = [ξ1; ζ1; θ1; ξ2; ζ2; θ2; ξ3; ζ3; θ3; ξ4; ζ4; θ4] ∈ R12.

These specify m = 12 colocated sensor-actuator pairs. Also, Λ0 = I12.

The components are chosen to have identical masses Mi = 25, moments of inertia

Ji = 4, Neglecting interconnections, the dynamics of each component i ∈ [1, 4]Z is:

Miξi = ui, where Mi = diag(Mi,Mi, Ji). Combining these leads to

M0 = block diag(M1,M2,M3,M4) ∈ PD12 ∩ DIAG12.

As shown in Figure B.2, there are 4 pairs of spring-damper connectors. These are

located between components 1–2, 2–3, 3–4, and 4–1. The connectors have identical

specifications, with stiffness Kijk = 250, damping Dijk = 75, and connector radii dij =

0.3. If component i is connected to component j, then their horizontal displacements

(ξi, ξj) (for 2–3 and 4–1) or vertical displacements (ζi, ζj) (for 1–2 and 3–4) are coupled

by the spring. Also, the angles (θi, θj) are also coupled by a torque (here is where dij is

used). The corresponding velocities (and angular velocities) are also coupled by dampers.

Details on using these to construct K0 ∈ PSD12 and D0 ∈ PSD12 are found in [42].

Since we are considering a linear approximation, so independence among the hori-

zontal, vertical, and rotational motions always hold. For instance, if components 1 and

component 2 move upward and component 3 and 4 move downward, physically the con-

nections 1–4 and 2–3 will be diagonal, but this effect is ignored.

We omit the details on transforming the mechanical system to standard form. It is

to be noted that the solution to the transformation matrix T0 is not unique. Recall

that I = TT0 M0T0, Ω2 = TT

0 K0T0 ∈ DIAGn ∩ PSDn, ∆ = TT0 D0T0 ∈ PSDn, and

201

Page 222: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

L = TT0 Λ0 ∈ Rn×m. If we substitute T0 ← T0U, so that U ∈ Om satisfies

U =

[U1 0

0 I

]U2,

where U1 ∈ On is a permutation matrix (acts on rigid body modes) and U2 ∈ On ∩DIAGn is a diagonal matrix whose diagonal elements are in −1, 1, then the transformed

T0U would not alter M0, K0, and D0 (as seen in (2.5)) invariant. However, the resulting

L′ = UTTT0 Λ0 = UTL, when compared to L, would have the first n rows arbitrarily

permuted, and each rows arbitrarily negated. When computing Ω2, it is found that

n = 5. We then used the above method to make the first 5 rows of L “look nicer” by

making them positive, and sorted in a more symmetric way.

Finally, each component i is associated with a local controller Si. Therefore N = 4.

Each Si, i ∈ [1, 4]Z reads ymi ∈ R3, and generates ui ∈ R3.

B.2.2 The Model (Summary)

Ω2 = diag(0, 0, 0, 0, 0, 22.5, 22.5, 40, 40, 40, 40, 45),

∆ = diag(0, 0, 0, 0, 0, 6.75, 6.75, 12, 12, 12, 12, 13.5),

L =

. α . . α . . . . . . .

. . . . . . . α . . α .

α . . . . . . . . α . .

. . . α . . α . . . . .

. . β . . β . . β . . β

. . −γ . . δ . . γ . . −δ

. . −δ . . −γ . . δ . . γ

. . . . . . . −α . . α .

. . . α . . −α . . . . .

. −α . . α . . . . . . .

α . . . . . . . . −α . .

. . β . . −β . . β . . −β

,

where α = 0.1414, β = 0.2500, γ = 0.0300, δ = 0.3523, and the periods denote 0. We do

not specify q, Ef , and F for this example.

202

Page 223: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

B.3 LFSS Benchmark C: Purdue Space Platform

The preceding LFSS examples are finite-dimensional. We wish to consider a larger ex-

ample that applies modal truncation. So for LFSS Benchmark C, we selected the Purdue

space platform example, which is a benchmark example from [27–29]. The example is

also used in our main reference [61].

Detailed physical parameters of the Purdue space platform model are specified in

[28, 29], but only high-level descriptions of the finite element method are provided. For-

tunately, 100 modal frequencies and some node shapes are given, against which we may

verify our results. A non-dimensionalized version of the same system is given in [27].

Here, 10 slope/slope velocity sensors with colocated torque actuators are specified. The

numerical entries of a truncated state model (with some state rearrangements) are also

listed in [27]. The simulation in [61] uses a dimensionalized version of [27], but applies 5

displacement/velocity measurements with colocated thrusters. We wish to use this model.

Unfortunately, the original dimensionalized numerical model became unavailable, and so

a re-derivation is necessary.

The derivation of LFSS Benchmark C uses FEM to convert an infinite-dimensional

continuum model to a 200-state linear mechanical model. Modal truncation is then

applied to produce a 24-state LFSS model. This chapter provides annotated MATLAB

code for this derivation. Although FEM is well-known, our goal is to complement [28],

and to provide detailed step-by-step descriptions on how to carry out basic FEM. A

number of interesting optimizations are also found, and explained in detail.

B.3.1 High Level Description

As shown in Figure B.3, LFSS Benchmark C consists of a rectangular platform E with a

rigid mass R rigidly attached to its centre (where x = y = 0). There are 5 displacement/

velocity sensors with colocated point-force actuators. These are found at the centre

and the corners, and measure/act in the z direction. E is approximated as a uniformly

distributed elastic continuum.

The only rigid body motions considered are translation in z, rotation about x (pitch)

and rotation about y (roll). In the linearized model, the surface of E is represented by a

203

Page 224: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Figure B.3: LFSS Benchmark C [27].

time-dependent height map:

w(x, y, t) : XY × R→ R, where XY :=

[−Lx

2,Lx2

]R×[−Ly

2,Ly2

]R.

The total kinetic energy T (t) and strain energy U(t) are given in [28] as

T (t) =1

2

(Mrz

2c + Irxθ

2x + Iryθ

2y + µ

∫XY

w2 dA

),

U(t) =1

2

(D

∫XY

(∆2w)2 − 2(1− ν)∆w dA

),

where1∆2w = Dxxw+Dyyw, ∆w = DxxwDyyw−(Dxyw)2. Also, zc(t), θx(t), and θy(t) are

“rigid dynamics” ofR, interpret respectively as w(0, 0, t), Dyw(0, 0, t), and −Dxw(0, 0, t).

The LFSS model is obtained by FEM [11]. The domain XY is divided into 4×4 = 16

identical rectangular elements. The overlapping vertexes form an evenly distributed 5×5

grid. On each of the 25 vertexes, w, Dxw, Dyw and Dxyw are sampled. Therefore we

have n = 100. Each rectangular element is called the Bogner-Fox-Schmit element, and

is specified by 16 variables.

The sampled values form ξ(t) ∈ R100, which together with ξ(t), constitute the me-

chanical states of the system. For any ξ(t), bicubic Hermite polynomial interpolation is

used to approximate w(x, y, t) for any (x, y) ∈ XY . Under this approximation, evaluating

1Dx = ∂∂x ; Dy = ∂

∂y ; Dxx = DxDx = ∂2

∂2x ; Dyy = DyDy = ∂2

∂2y ; and Dxy = DxDy = ∂2

∂x∂y

204

Page 225: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

T (t) and U(t) produces the following quadratic forms:

T (t) =1

T(t)M0ξ(t), U(t) =

1

2ξT(t)K0ξ(t).

M0 ∈ PD100 and K0 ∈ PSD100 are in fact inertia and stiffness matrices, respectively.

Since there are 3 rigid body modes, so rank K0 = 97. The damping matrix D0 is

approximated as K0 times a damping factor. We chose D0 = 10−4K0 ∈ PSD100.

The colocated sensors/actuators are specified by Λ0 = [l1, l2, l3, l4, l5] ∈ R100×5, where

column li corresponds to actuator i, whose placement in the LFSS is shown in Figure B.3.

For example, y1 and u1 are located at [−Lx

2;−Ly

2]. We are using only point actuators,

and so each li is in fact a Euclidean vector that extracts the appropriate displacement

state from ξ. ΛT0 specifies the colocated sensors of the system.

Having obtained M0, D0, K0, and Λ0, the equation of motion (without disturbances)

is obtained in (2.7), from which modal representation and modal truncation are applied

to obtain the final LFSS model (2.3).

B.3.2 Derivation

Physical Parameters

The physical parameters of the flexible component E are:

Width Lx = 12.5 km

Height Ly = 5 km

Flexural rigidity F = 20× 108 Nm

Mass/area µ = 0.2622 kg/m2

Poisson’s ratio ν = 0.3

For conciseness, let us define the integral over the domain of E (i.e., XY) by

∫XY

(·) dA :=

∫ Lx2

−Lx2

∫ Ly2

−Ly2

(·) dy dx.

The mass Me, moment of inertia Ixe about the x-axis, and moment of inertia Iye about

the y-axis of E are calculated by

Me = µ

∫XY

dA = µLxLy (kg),

205

Page 226: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Ixe = µ

∫XY

y2 dA = µLxL

3y

12(kg ·m2),

Iye = µ

∫XY

x2 dA = µL3xLy12

(kg ·m2).

The physical parameters of the rigid mass R are:

Mass Mr = 0.1Me

Inertia about x-axis Ixr = 0.01Ixe

Inertia about y-axis Iyr = 0.01Iye

In MATLAB, the physical parameters are specified by

Lx = 12.5E3;Ly = 5E3;flex = 20E8; % Flexural rigidity.mu = 0.2622; % Mass/area.nu = 0.3; % Poisson’s ratio.Me = mu*Lx*Ly;Ixe = mu*Lx*Ly^3/12;Iye = mu*Lx^3*Ly/12;Mr = Me*0.1;Ixr = Ixe*0.01;Iyr = Iye*0.01;

Mechanical States and Energy Functions

Only 3 rigid body dynamics are considered: Translation in z, rotation about x-axis, and

rotation about y-axis. We disregard translation in x, translation in y and rotation about

the z-axis. Note that linear approximations are applied to rotations.2

For flexible-body dynamics, E is described by a displacement map w(x, y, t) for

(x, y) ∈ XY . Often we omit t and write w(x, y) for conciseness.

The states of the attached rigid mass R are zc(t), θx(t), and θy(t), which are specified

by (notice the sign convention)

zc(t) = w(0, 0, t), θx(t) =∂w

∂y(0, 0, t), θy(t) = −∂w

∂x(0, 0, t).

Therefore the motions of E and R are all represented in w(x, y, t).

2Rotation is approximated as shears, so “rotation about x” means shear about the y-z plane in thez direction. Another nonlinear effect that is discarded is the fact that z-rotation can be generated byx-rotation and y-rotation.

206

Page 227: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Given w(x, y, t) (which contains zc(t), θx(t), θy(t)), the total kinetic energy T (t) and

the total strain energy U(t) are given by [28] as

T (t) =1

2

(Mrz

2c + Irxθ

2x + Iryθ

2y + µ

∫XY

w2(x, y, t) dA

), (B.2)

U(t) =1

2D

∫XY

(∆2w)2 − 2(1− ν)∆w dA, (B.3)

where

∆2w :=

(∂2

∂x2+

∂2

∂y2

)w = (D2

x +D2y)w,

∆w := det

([∂2

∂x2∂2

∂x∂y∂2

∂x∂y∂2

∂y2

]w

)=∂2w

∂x2

∂2w

∂y2−(∂2w

∂x∂y

)2

= (D2xwD

2yw)− (Dxyw)2.

The derivation of these energy functions are beyond our scope.

Dividing LFSS into Elements

To apply FEM on w(x, y) (omitting t for now), the entire domain XY is approximated

as a collection of Nx × Ny rectangular elements, each approximating a some portion of

w(x, y) with a fixed number of parameters (defined on corners). The layout is shown in

Figure B.4: Dividing XY into Nx ×Ny rectangular elements.

Figure B.4. We will choose Nx = Ny = 4, but in our analysis we consider the general

207

Page 228: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

case. We require Nx and Ny to be even, since we want the origin to be a grid point

(thereby representing w(0, 0) directly).

Also shown in Figure B.4, the elements are designated by E[i, j], for i ∈ [1, Nx]Z and

j ∈ [1, Ny]Z. Each element has dimensions lx × ly, where

lx =LxNx

, ly =LyNy

.

In MATLAB:

Nx = 4; % Must be even.Ny = 4; % Must be even.lx = Lx/Nx;ly = Ly/Ny;

1-D Cubic Polynomial Operations on MATLAB

Consider a cubic polynomial p(x) = p0 + p1x+ p2x2 + p3x

3 = tTxp, where

tTx (x) :=

[1 x x2 x3

], p :=

p0

p1

p2

p3

.

The differentiation operator Dx := ∂∂x

acts on tTx (x) by (this defines Der)

DxtTx =

[0 1 2x 3x2

]= tT

x

0 1 0 0

0 0 2 0

0 0 0 3

0 0 0 0

︸ ︷︷ ︸

Der

.

The product of two cubic polynomials p(x) = tTxp and q(x) = tT

xq is a quadratic form:3

p(x)q(x) = p(x)Tq(x) = pTtxtTxq = pT

1 x x2 x3

x x2 x3 x4

x2 x3 x4 x5

x3 x4 x5 x6

q.

3We are purposefully doing this instead of convolution, since the quadratic form will be useful lateron, when we derive inertia and stiffness matrices.

208

Page 229: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Integrating p(x)q(x) from 0 to lx produces (this defines Int2x)

∫ lx

0

p(x)q(x) dx = pT

(∫ lx

0

txtTx dx

)q = pT

lx l2x/2 l3x/3 l4x/4

l2x/2 l3x/3 l4x/4 l5x/5

l3x/3 l4x/4 l5x/5 l6x/6

l4x/4 l5x/5 l6x/6 l7x/7

︸ ︷︷ ︸

Int2x

q.

The evaluation of p(0) and p(lx) can be represented as (this defines ptx)[p(0)

p(lx)

]=

[1 0 0 0

1 lx l2x l3x

]︸ ︷︷ ︸

ptx

p.

For the y direction (and length ly), we can similarly define tTy , Dy := ∂

∂y, Int2y and pty.

In MATLAB, the matrices discussed in this section are evaluated by

Der = [[0;0;0],diag([1,2,3]);[0,0,0,0]];pwr = hankel(1:4,4:7);Int2x = (lx.^pwr)./pwr; % Bilinear integration tensor.Int2y = (ly.^pwr)./pwr;ptx = [1,0,0,0;lx.^(0:3)];pty = [1,0,0,0;ly.^(0:3)];

2-D Bicubic Polynomial Operations on MATLAB

A bicubic polynomial in x and y contains 16 terms. We organize these terms by defining

tTyx := tT

y ⊗ tTx (⊗ denotes Kronecker product [45]):

tTyx =

[1 y y2 y3

]⊗[1 x x2 x3

]=[1 x x2 x3 y xy x2y x3y y2 xy2 x2y2 x3y2 y3 xy3 x2y3 x3y3

].

Let us write p(x, y) = tTyxp, where p ∈ R16 is a vector of coefficients.

209

Page 230: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Partial derivatives on tTyx act as matrix multiplications (this defines Dx and Dy):

DxtTyx = tT

yx

I4 ⊗

0 1 0 0

0 0 2 0

0 0 0 3

0 0 0 0

︸ ︷︷ ︸Dx

, DytTyx = tT

yx

0 1 0 0

0 0 2 0

0 0 0 3

0 0 0 0

⊗ I4

︸ ︷︷ ︸

Dy

.

In general, DaxD

byt

Tyx = tT

yxDaxD

by for a, b ∈ N0. Note that Dx and Dy commute.

Finally, given p(x, y) = tTyxp and q(x, y) = tT

yxq, the double integral of their product

on [0, lx]× [0, ly] becomes (this defines Int2)

∫ lx

0

∫ ly

0

p(x, y)q(x, y) dy dx = pT

(∫ lx

0

∫ ly

0

tyxtTyx dy dx

)q = pT (Int2y ⊗ Int2x)︸ ︷︷ ︸

Int2

q.

The derived operators discussed above are evaluated in MATLAB by

Dx = kron(eye(4),Der); % d/dxDy = kron(Der,eye(4)); % d/dyDx2 = Dx*Dx;Dy2 = Dy*Dy;Dxy = Dx*Dy;Int2 = kron(Int2y,Int2x);

Cubic Hermite Polynomial Interpolation in 1-D

Consider a function w(x) defined on a 1-D line element [0, lx]R. Suppose we only store

values and slopes of w(x) at endpoints. From this we obtain

wT =[w(0) w(lx) Dxw(0) Dxw(lx)

].

We wish to approximate w(x) with w(x), computed from a given w ∈ R4. The mapping

w 7→ w(x) should satisfy superposition; i.e., if w1 7→ w1(x) and w2 7→ w2(x), then

αw1 + βw2 7→ αw1(x) + βw2(x) for all α, β ∈ R. This can be done by writing w(x) as a

linear combination of 4 “shape functions” fx(x), x ∈ [0, lx]R that are weighted by w:

w(x) = fTx w, fT

x (x) :=[fx1(x) fx2(x) fx3(x) fx4(x)

].

210

Page 231: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

For consistency, we require[w(0) w(lx) Dxw(0) Dxw(lx)

]= wT. This means

fx1(0) = 1, fx2(0) = 0, fx3(0) = 0, fx4(0) = 0,

fx1(lx) = 0, fx2(lx) = 1, fx3(lx) = 0, fx4(lx) = 0,

Dxfx1(0) = 0, Dxfx2(0) = 0, Dxfx3(0) = 1, Dxfx4(0) = 0,

Dxfx1(lx) = 0, Dxfx2(lx) = 0, Dxfx3(lx) = 0, Dxfx4(lx) = 1.

A solution is obtained by choosing fx to be cubic polynomials in x, and so

fTx (x) = tT

xFx,

where Fx ∈ R4×4 is a matrix whose columns specify coefficients for fx1(x), fx2(x), fx3(x),

and fx4(x), respectively. The consistency constraints now become[fTx (0)

fTx (lx)

]= ptx × Fx =

[1 0 0 0

0 1 0 0

],[

DxfTx (0)

DxfTx (lx)

]= ptx ×Der× Fx =

[0 0 1 0

0 0 0 1

].

Thus Fx can be solved by matrix inverse; MATLAB code:

Fx = inv([ptx;ptx*Der]); % Shape function in x direction.

fx(x) obtained from this are called cubic Hermite polynomials. Similarly, we also

define shape functions fy(y) for y ∈ [0, ly]R:

Fy = inv([pty;pty*Der]); % Shape function in y direction.

Bicubic Hermite Polynomial Interpolation in 2-D

Consider a function w(x, y) defined on a 2-D rectangular element [0, lx]R×[0, ly]R. Suppose

we sample w(x, y), Dxw(x, y), Dyw(x, y) and Dxyw(x, y) at vertexes [0; 0], [lx; 0], [0; ly],

[lx; ly]. This results in a vector w ∈ R16, which can then be used to form an interpolated

approximation w(x, y) of w(x, y) by

w(x, y) = fTw,

211

Page 232: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

where f(x, y) is a vector of 16 shape functions. Mirroring the previous development:

fT(x, y) = tTyxF, (B.4)

where F ∈ R16×16 is a matrix of coefficients that define bicubic Hermite polynomials

in x and y. In the literature, this rectangular element is called the Bogner-Fox-Schmit

element. It is in fact easy to compute F. Since partial derivatives in x and y are

independent, we can write [45]:

fT(x, y) = fTy (y)⊗ fT

x (x) =(tTy Fy

)⊗(tTxFx

)=(tTy ⊗ tT

x

)(Fy ⊗ Fx) .

But tTyx = tT

y ⊗ tTx , so by comparison with (B.4):

F = Fy ⊗ Fx.

In MATLAB:

F = kron(Fy,Fx); % 16 shape functions in columns.

Rearranging 2-D Shape Functions

We used Kronecker product to evaluate the bicubic Hermite polynomial coefficient matrix

F ∈ R16×16. This is convenient in MATLAB, but the columns of F induces a variable

ordering in w ∈ R16 that differs from what we prefer (this relates to the “plate ordering”

introduced later on).

First, let us identify a shape function (bicubic Hermite polynomial) by the conditions

under which it evaluates to 1. There are 4 such conditions:

1. Is function evaluated at x = 0 or at x = lx (apply label “1” if at x = lx)?

2. Is Dx applied to the function (apply label “2” if Dx is applied)?

3. Is function evaluated at y = 0 or at y = ly (apply label “3” if at y = ly)?

4. Is Dy applied to the function (apply label “4” if Dy is applied)?

212

Page 233: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

For example, the symbol [14] represents fi(x, y) such that Dyfi(lx, 0) = 1.

The ordering of shape functions in F = Fy ⊗ Fx is

[ ], [1 ], [ 2], [12], [3 ], [13 ], [32], [13

2],

[ 4], [14], [ 24], [12

4], [ 34], [134], [3

24], [13

24].

Our preferred ordering is to group shape functions by derivative types (none, Dx, Dy,

Dxy); and within each group, by evaluation at (0, 0), (lx, 0), (0, ly), (lx, ly). Thus

[ ], [1 ], [3 ], [13 ], [ 2], [12], [32], [13

2],

[ 4], [14], [ 34], [134], [ 2

4], [124], [3

24], [13

24].

The MATLAB code to perform the proper column permutation of F is

F = F(:,1+[0,1,4,5,2,3,6,7,8,9,12,13,10,11,14,15]);

Stiffness and Mass Matrices for a Single Element

Given w(x, y, t) restricted to a rectangular element [0, lx]R× [0, ly]R, the kinetic and strain

energy contributions (simplified from (B.2) and (B.3), with R contributions removed) are

Te(t) =1

∫ lx

0

∫ ly

0

w2(x, y, t) dy dx,

Ue(t) =1

2D

∫ lx

0

∫ ly

0

(∆2w)2 − 2(1− ν)∆w dy dx.

(B.5)

Recall that ∆2w = D2xw + D2

yw, ∆w = (D2xw)(D2

yw) − (Dxyw)2. For the Bogner-Fox-

Schmit element, w(x, y, t) is represented by a vector w(t) ∈ R16, and has the following

dynamical equation (without damping) in the linear model:

Mew + Kew = 0, (B.6)

where Me ∈ PD16 and Ke ∈ PSD16. The kinetic and strain energies are

Te(t) =1

2wTMew, Ue(t) =

1

2wTKew. (B.7)

213

Page 234: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

We wish to derive Me,Ke so that the energy expressions (B.5) and (B.7) agree. This is

accomplished by substituting w(x, y, t) in (B.5) with w(x, y, t):

w(x, y, t) = fT(x, y)w(t) = tTyx(x, y)Fw(t) = tT

yxFw.

For Te(t): ˙w = tTyxFw, so ˙w2 = ˙wT ˙w = wTFTtyxt

TyxFw, and

1

∫ lx

0

∫ ly

0

˙w2 dy dx =1

2wTµFT

(∫ lx

0

∫ ly

0

tyxtTyx dy dx

)Fw

=1

2wT [µFT × Int2× F]︸ ︷︷ ︸

Me

w.

For Ue(t): we treat the two terms in the integral separately. For (∆2w)2:

∆2w = D2xw +D2

yw = tTyxD

2xFw + tT

yxD2yFw = tT

yx(D2x + D2

y)Fw,

and so

(∆2w)2 = wTFT(D2x + D2

y)T(tyxt

Tyx)(D

2x + D2

y)Fw,∫ lx

0

∫ ly

0

(∆2w)2 dy dx = wT[FT(D2x + D2

y)T × Int2× (D2

x + D2y)F]w.

For ∆w: follow similar steps as above, we obtain

(D2xw)(D2

yw) = wTFT(D2x)

T(tyxtTyx)D

2yFw,

(Dxyw)2 = wTFT(DxDy)T(tyxt

Tyx)DxDyFw,

∴ ∆w = (D2xw)(D2

yw)− (Dxyw)2

= wT[FT(D2x)

T(tyxtTyx)D

2yF− FT(DxDy)

T(tyxtTyx)DxDyF]w.

Applying integration yields∫ lx

0

∫ ly

0

∆w dy dx = wT[FT(D2x)

T × Int2×D2yF− FT(DxDy)

T × Int2×DxDyF]w.

Since Ue(t) is a linear combination of integrals of (∆2w)2 and ∆w, and each of these take

214

Page 235: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

the form wT(·)w, so we extract:

K′e = D(FT(D2

x + D2y)

T × Int2× (D2x + D2

y)F

− 2(1− ν)(FT(D2

x)T × Int2×D2

yF− FT(DxDy)T × Int2×DxDyF

)).

K′e is not symmetric. However, since it is used to evaluate a quadratic form wTK′ew, so

can replace it with a symmetrized version without changing the resulting energy:

Ke :=1

2

((K′e)

T + K′e).

We also symmetrize Me to improve numeric results. Here is the (very concise) MATLAB

code to evaluate Me and Ke (note that Ke has an intermediate step):

Me = symmetrize(F’*Int2*F*mu);Ke = (Dx2+Dy2)’*Int2*(Dx2+Dy2)-2*(1-nu)*(Dx2’*Int2*Dy2-Dxy’*Int2*Dxy);Ke = symmetrize(F’*Ke*F*flex);

symmetrize() extracts the symmetrical component of the matrix (shown later).

Vertexes and States of the FEM Model

As seen in Figure B.4, E is divided into Nx ×Ny elements, producing (Nx + 1)(Ny + 1)

vertexes (black dots), which are located at V [a, b] | a ∈ [0, Nx]Z, b ∈ [0, Ny]Z, with

V [a, b] :=

[−1

2Lx + alx

−12Ly + bly

]∈[−Lx

2,Lx2

]R×[−Ly

2,Ly2

]R.

For FEM, w(x, y, t), Dxw(x, y, t), Dyw(x, y, t), and Dxy(x, y, t) are sampled at vertexes

V [a, b] at time t. The values are assembled into w(t) ∈ Rn, where

n := 4(Nx + 1)(Ny + 1).

In [27,28], Nx = Ny = 4 is used, which yields n = 100.

Let w[a, b, c] for a ∈ [0, Nx]Z, b ∈ [0, Ny]Z, and c ∈ 0, 1, 2, 3 denote the value sampled

at vertex V [a, b] = [x; y] = [−Lx

2+ alx;−Ly

2+ bly], with

w[a, b, 0](t) := w(x, y, t), w[a, b, 1](t) := Dxw(x, y, t),

w[a, b, 2](t) := Dyw(x, y, t), w[a, b, 3](t) := Dxyw(x, y, t).

215

Page 236: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

For computation, each w[a, b, c] matches a component of w. This is specified by plate

ordering, which evaluates a 1-based index within w for w[a, b, c], calculated by

plate(a, b, c) = 1 + a+ b(Nx + 1) + c(Nx + 1)(Ny + 1) ∈ [1, n]Z.

This is evaluated by MATLAB script plate idx (shown later). Figure B.5 shows an

example of plate ordering for Nx = Ny = 2 (and so n = 4(2 + 1)(2 + 1) = 36):

Figure B.5: Plate ordering of states in w for Nx = Ny = 2.

Now consider the rectangular element E[i, j] for i ∈ [1, Nx], j ∈ [1, Ny] (see Figure

B.4). The 4 adjacent vertexes are V [i− 1, j − 1], V [i− 1, j], V [i, j − 1], V [i, j], so the

corresponding w[·, ·, c] variables have the following indexes:

1 + (i− 1) + (j − 1)(Nx + 1) + 0, 1, Nx + 1, Nx + 2+ c(Nx + 1)(Ny + 1).

This can be seen in the MATLAB code in the next section.

Overall Inertia and Stiffness Matrices for E

We have determined the inertia matrix Me and stiffness matrix Ke for a single element.

Let us now combine them into the overall inertial matrix M′0 ∈ PDn (excluding the

kinetic energy of R) and the stiffness matrix K0 ∈ PSDn for E . We calculate these by

summing the kinetic/strain energies of elements to form total kinetic/strain energies:

T ′(t) =1

2wTM′

0w =1

2

Nx∑i=1

Ny∑j=1

wTijMewij,

U(t) =1

2wTK0w =

1

2

Nx∑i=1

Ny∑j=1

wTijKewij,

where wij ∈ R16 is a sub-vector of w associated with the element E[i, j].

To construct M′0 and K0, there are two competing approaches

216

Page 237: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

1. “Fetch” approach: iterate over each vertex V [a, b], and find adjacent rectangular

elements. For each w[a, b, c] on V [a, b], sum over the variables that are affected by

each adjacent element, sum the inertia/stiffness contributions from, and assign.

2. “Send” approach: initialize M′0 := 0 and K0 := 0. Iterate over each element E[i, j],

and consider the adjacent vertexes. The contribution of each element via Me (resp.

Ke) is accumulated to the associated entries in M′0 (resp. K0).

The “fetch” approach is more intuitive, since each element in M′0 and K0 is assigned

once and finalized. However, this approach requires us to consider separate special cases,

i.e., for vertexes at corners, edges, and the interior of E .

Instead, we will apply the “send” approach, which does not require the above special

cases to be handled. This is also easy to do in MATLAB by using the “matrix slices”

feature with vector indexes. The MATLAB code to allocate M′0, K0, and D0 (to be

specified later) is

sz = (Nx+1)*(Ny+1);M0 = zeros(sz*4); % Inertia.K0 = zeros(sz*4); % Stiffness.D0 = zeros(sz*4); % Damping.

The MATLAB code to iterate over elements E[i, j] and add the contributions to

the proper sub-matrices of M′0 and K0 is

for ii = 1:Nxfor jj = 1:NyrelIdx = ii+(jj-1)*(Nx+1)+[0,1,Nx+1,Nx+2];idx = [relIdx,relIdx+sz,relIdx+2*sz,relIdx+3*sz];K0(idx,idx) = K0(idx,idx)+Ke;M0(idx,idx) = M0(idx,idx)+Me;

endend

Here we calculated the “relative index” relIdx as

relIdx :=[plate(i− 1, j − 1, 0) plate(i, j − 1, 0) plate(i− 1, j, 0) plate(i, j, 0)

],

which is then adjusted to “absolute index” idx, which consists of 4 copies of relIdx,

adjusted by c = 0, 1, 2, 3.

The resultant matrices satisfy M′0 ∈ PDn and K0 ∈ PSDn. In fact, K0 has a defect

of 3, which corresponds to the 3 rigid body modes. However, in MATLAB, K0 may be

ill-conditioned, and rank(K) may provide the wrong answer. This can be remedied by

calculating rank(inv(M)*K) instead.

217

Page 238: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Attaching Rigid Mass R and Damping

The full kinetic energy function (B.2) contains the terms

1

2Mrz

2c +

1

2Irxθ

2x +

1

2Iryθ

2y, (B.8)

in addition to E ’s total kinetic energy of T ′(t) = 12wTM′

0w (recall zc(t) = w(0, 0, t),

θx(t) = Dyw(0, 0, t), and θy(t) = −Dxw(0, 0, t)). Since we require Nx and Ny to be

even, so w contains w(0, 0, t), Dxw(0, 0, t), and Dyw(0, 0, t). Therefore (B.8) can be

incorporated into the total kinetic energy function by adding extra terms to M′0 to form

M0. This is done by adding Mr, Irx, and Iry to the diagonal entries of M0 corresponding

to w[Nx

2, Ny

2, c]

for c = 0, 1, and 2, respectively. Formally,

M0 = M′0 +Mreae

Ta + Irxebe

Tb + Iryece

Tc ,

where a = plate(Nx

2, Ny

2, 0), b = plate(Nx

2, Ny

2, 1), c = plate(Nx

2, Ny

2, 2), In MATLAB:

centIdx = (1+Nx/2+(Ny/2)*(Nx+1))+[0,1,2]*sz;M0(centIdx,centIdx) = M0(centIdx,centIdx)+diag([Mr,Iyr,Ixr]);

We will assume Rayleigh damping, and so the D0 is just a scaled version of K0. As

a result, ∆ will be diagonal.

D0 = K0*1E-4;

Calculating Frequencies and Mode Shapes

Having obtained M0 and K0, we can perform simultaneous diagonalization using the

procedure in the proof of (A.17), and obtain T0 ∈ GLn so that TT0 M0T0 = I, and

TT0 K0T0 = Ω2 ∈ PSDn ∩ DIAGn. As discussed in Section 2.2.3, diagonal entries of

Ω2 are rigid body modes or mode frequencies (squared), and the columns of T0 are

corresponding mode shapes (sampled at vertexes in FEM).

A problem that arises in MATLAB, when we calculate the rigid body mode 0, which

has multiplicity 3: MATLAB arbitrarily assign 3 orthogonal eigenvectors in this space.

However, we want “nice” rigid body modes that correspond to w1(x, y) = 1, w2(x, y) = x,

w3(x, y) = y. Our solution is to compute these modes directly a priori :

218

Page 239: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

zsz = zeros(sz,1);osz = ones(sz,1);v1 = [osz;zsz;zsz;zsz];v2 = [kron(1-(0:Ny)’/Ny*2,ones(Nx+1,1));zsz;-osz*2/Ly;zsz];v3 = [kron(ones(Ny+1,1),1-(0:Nx)’/Nx*2);-osz*2/Lx;zsz;zsz];

Note that Dxw(x, y), Dyw(x, y) and Dxyw(x, y) are also manually computed, but

these are simple for our rigid body modes. As verification, we evaluated inv(M0)*K0*v1,

inv(M0)*K0*v2 and inv(M0)*K0*v3, were calculated, and are shown to vanish.

Our script to calculate mode shapes is

V = calc modes(M0,K0,[v1,v2,v3]);

Here, calc modes is a stand-alone function to evaluate mode shapes, given known modes

(to replace rigid body modes), which are normalized by the script. Note that the script

assumes that 0-eigenvalues appear first.

% Given M and K, solve for KV = DMV where D is diagonal.% Allows known columns to be injected.% Identities: V’*M*V = I and V’*K*V = diagonal.function V = calc modes(M,K,knownCol)invU = inv(chol(M));t = symmetrize(invU’*K*invU);[Z,dummy] = eig(t); % Better result than eig(K,M,’chol’).V = invU*Z;for ii=1:size(knownCol,2) % Replace with known columns.v = knownCol(:,ii);V(:,ii) = v/sqrt(v’*M*v); % Normalize to ensure V’*M*V = I.

endend

calc modes calculates Ω2 (as dummy) but discards it, since it is diagonal matrix and

annoying to print. Alternatively, we can we obtain frequencies in the main script using

MATLAB eig’s built-in feature that uses Cholesky factorization:

freqs = sqrt(zerofy(eig(K,M,’chol’)));

However, when we tried to use obtain mode shapes from eig with ’chol’ parameter,

the resultant mode shapes are unsatisfactory. Therefore we continue to use calc modes.

Forming LFSS Model

To obtain the LFSS, we still need to specify Λ0. As shown in Figure B.3, we have 5

thrusters in the z-direction, located at the corners and the centre of E . This gives m = 5.

Since the corners and the centre (assuming Nx and Ny even) correspond to vertexes,

therefore forces are simply applied to existing variables in w. The script to construct Λ0

are

219

Page 240: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

Lambda0 = zeros(sz*4,m);Lambda0(plate idx(Nx,Ny,0,0,0),1) = 1;Lambda0(plate idx(Nx,Ny,0,0,Ny),2) = 1;Lambda0(plate idx(Nx,Ny,0,Nx/2,Ny/2),3) = 1;Lambda0(plate idx(Nx,Ny,0,Nx,Ny),4) = 1;Lambda0(plate idx(Nx,Ny,0,Nx,0),5) = 1;

We specified c = 0 in plate idx as the third parameter, because we have linear

actuators. If we were to apply torquers, then would specify c = 1 (about y-axis) or c = 2

(about x-axis).

Originally we have a model with n = 100, but we wish to now apply modal truncation

to obtain a model with n = 12 (3 rigid and 9 elastic). We evaluate A, B, and C in

MATLAB by the following:

n = nuse;m = 5;r = m;L = zerofy(V’*Lambda0,1E-10);Omega2 = zerofy(V’*K0*V,1E-10); % Should be diagonal.Delta = zerofy(V’*D0*V,1E-10); % Should have same image as Omega2.L = L(1:n,:);Omega2 = Omega2(1:n,1:n);Delta = Delta(1:n,1:n);A = [zeros(n),eye(n);-Omega2,-Delta];B = [zeros(n,m);L];C = [L’,zeros(m,n)];

B.3.3 Validation

We now show that our scripts produce results that agree with [28], which lists 100 frequen-

cies along with selected mode shapes. The first and the last 3 flexible mode frequencies

are listed below:

Modes Our script [28]

4 1.132244× 10−2 1.1320× 10−2

5 1.845131× 10−2 1.8447× 10−2

6 3.194185× 10−2 3.1936× 10−2

98 3.961666 3.9609

99 4.204430 4.2036

100 4.250415 4.2495

So the frequencies agree to the 4-th significant digit; this holds for the other frequencies,

too. As a more complete check, the 100 frequencies from [27] and from our simulations

are plotted in Figure B.6. Clearly, the differences in are minute.

220

Page 241: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

4

5[Hab82]

Our Simulation

Figure B.6: Plot of frequencies listed in [27] and computed in our simulation.

Next, we wish to see how well do the frequency obtained compare to reality. We

do not have a closed-form solution for the actual frequencies. However, we can increase

Nx and Ny to obtain better approximations. The first 100 frequencies for 4 × 4, 6 × 6,

8 × 8 and 16 × 16 element cases are simulations are plotted in Figure B.7. We see that

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

4

5

4x4

6x6

8x8

16x16

Figure B.7: Comparing the first 100 modal frequencies for simulations with differentnumber of elements.

the higher modes for the 4 × 4 element simulation are unreliable. For our linear model

we only consider the first 12 modes. So in Figure B.8 juxtaposes the low frequency

flexible modes between the 4× 4 case and the 16× 16 case. We see that the differences

are moderate (the maximum is a +10.4% error for mode 10). Finally, let us examine

the mode shapes. The 0-level curves of lower modes are shown in Figure B.9, and are

identical to the corresponding shapes listed in [28]. Plots for higher modes (not shown)

also agree.

221

Page 242: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

4 5 6 7 8 9 10 11 12 130

0.02

0.04

0.06

0.08

0.1

0.12

4x4

16x16

Figure B.8: Comparing modal frequencies 3 to 13, using 4 × 4 versus 16 × 16 elementsimulations.

These plots are also useful for actuator/actuator placement in the LFSS for vibration

control. If a linear actuator is placed on a node, then it will not excite the mode. And if

all the thrusters are located nodes of a mode, then the mode would become uncontrollable

and unobservable. Note that for mode 10, the colocated sensors/actuators are very clear

to node lines. As a result, this mode becomes difficult to control and detect.

To produce one of these plots, the MATLAB code (for say, mode 10) is simply

contour(chpmode2(101,41,V(:,10),Nx+1,lx,ly)’,[0,0],’k’);

Here, chpmode2 (listed later) is a script that performs bicubic Hermite polynomial

interpolation in 2-D. For this plot we are producing a 101× 41 point interpolation. Note

that 100 × 40 maintains the aspect ratio of the LFSS; 1 is added for end points. The

MATLAB command contour performs the plot, and the [0,0] parameter specifies that

a 0-level curve is desired.

B.3.4 Support Scripts

Support scripts for our FEM code and simulation are listed here.

zerofy.m: Takes a matrix, and converts all value in (−10−7,−107) (or a specified toler-

ance) to 0.

function ret = zerofy(A,tol)if (nargin < 2)tol = 1E-7;

end;ret = A.*(abs(A) > tol);

222

Page 243: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

4 5 6 7

8 9 10 11

12 13 14 15

16 17 18 19

20 21 22 23

Figure B.9: 0-level curves of various flexible mode shapes from our simulation.

symmetrize.m: Takes a matrix, and extracts the symmetrical part.

function ret = symmetrize(A)ret = (A+A’)/2;

plate idx.m: Converts a component in w ∈ Rn specified by (a, b, c) for a ∈ [0, Nx],

b ∈ [0, Ny] and c ∈ 0, 1, 2, 3 to its 1-based index in w, under the plate ordering.

function idx = plate idx(Nx,Ny,c,a,b)idx = 1+a+b*(Nx+1)+c*(Nx+1)*(Ny+1);

chpmode.m: Performs 1-D cubic Hermite polynomial interpolation efficiently, given the

output size M, input column vectors u and the x-separation xsep between evenly-spaced

sample points in the input. Multiple columns in u are processed independently. For

each column with even length 2N , the first N entries are evenly-sampled values, and the

second N entries are the corresponding slopes.

223

Page 244: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

function y = chpmode(M,u,xsep)chp = [1,0,0,0;0,0,1,0;-3,3,-2,-1;2,-2,1,1];[N,Q] = size(u); % Allow matrix u for parallel interpolation.N = N/2-1;idx = 1+(0:(M-2))’*(N/(M-1));lo = floor(idx);xi0 = ones(M-1,1);xi1 = idx-lo;xi2 = xi1.*xi1;xi3 = xi2.*xi1;y = zeros(M,Q);for ii=1:Qcoef = [u(lo,ii),u(lo+1,ii),xsep*u(lo+N+1,ii),xsep*u(lo+N+2,ii)];pows = [xi0,xi1,xi2,xi3]*chp;y(:,ii) = [sum(coef.*pows,2);u(N+1,ii)];

end;

chpmode2.m: Performs 2-D bicubic Hermite polynomial interpolation on a single grid of

sampled 2-D function that has been rearranged into a vector (in an ordering we used for

states in our application of FEM, i.e., w(x, y), Dxw(x, y), Dyw(x, y) and Dxyw(x, y)).

It turns out that the 2-D interpolation can be performed by performing 1-D interpo-

lations (w(x, y), Dxw(x, y)) → w′(x, y) and (Dyw(x, y), Dxyw(x, y)) → Dyw′(y), then

(w′(x, y), Dyw′(x, y))→ w′′(x, y).

function ret = chpmode2(Mx,My,u,Px,xsep,ysep)sz = size(u,1)/4; % Only allows vector u (unlike chpmode).Py = sz/Px;srcRow = reshape(u,[Px,Py,4]);t = chpmode(Mx,[srcRow(:,:,1);srcRow(:,:,2)],xsep);ty = chpmode(Mx,[srcRow(:,:,3);srcRow(:,:,4)],xsep);ret = chpmode(My,[t’;ty’],ysep)’;

224

Page 245: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Appendix B. Specification and Derivation of LFSS Examples

B.3.5 The Model (Summary)

Ω2 = 10−3 diag(0, 0, 0, 0.1282, 0.3405, 1.0203, 1.5466, 3.4202, 4.4507, 5.3301, 5.9289, 8.1838),

∆ = 10−7 diag(0, 0, 0, 0.1282, 0.3405, 1.0203, 1.5466, 3.4202, 4.4507, 5.3301, 5.9289, 8.1838),

L = 10−4

2.3553 2.3553 2.3553 2.3553 2.3553

4.2574 −4.2574 0 −4.2574 4.2574

4.2574 4.2574 0 −4.2574 −4.2574

4.8236 4.8236 −2.4918 4.8236 4.8236

6.3811 −6.3811 0 6.3811 −6.3811

4.4602 4.4602 0 −4.4602 −4.4602

−7.0293 7.0293 0 7.0293 −7.0293

2.5549 2.5549 3.4851 2.5549 2.5549

−7.6541 7.6541 0 −7.6541 7.6541

0.4755 0.4755 0 −0.4755 −0.4755

5.9501 5.9501 −1.1764 5.9501 5.9501

8.4492 8.4492 0 −8.4492 −8.4492

.

By default, disturbances are modelled by q = 5, E = B, and F = 0.

225

Page 246: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[1] S. S. Ahmad, J. S. Lew, and L. H. Keel. Fault tolerant controller design for large

space structures. In Control Applications, 1999. Proceedings of the 1999 IEEE

International Conference on, volume 1, pages 63–68, 1999.

[2] S. S. Ahmad, J. S. Lew, and L. H. Keel. Robust control of flexible structures against

structural damage. Control Systems Technology, IEEE Transactions on, 8(1):170–

182, Jan. 2000.

[3] M. Balas. Trends in large space structure control theory: Fondest hopes, wildest

dreams. Automatic Control, IEEE Transactions on, 27(3):522–535, Jun. 1982.

[4] J. Bao, W. Z. Zhang, and P. L. Lee. Passivity-based decentralized failure-tolerant

control. Industrial & Engineering Chemistry Research, 41(23):5702–5715, 2002.

[5] I. Bar-Kana, R. Fischl, and P. Kalata. Direct position plus velocity feedback con-

trol of large flexible space structures. Automatic Control, IEEE Transactions on,

36(10):1186 –1188, oct 1991.

[6] D. S. Bernstein. Matrix Mathematics: Theory, Facts, and Formulas. Princeton

University Press, 2009.

[7] A. Bhaya and C. Desoer. On the design of large flexible space structures (LFSS).

Automatic Control, IEEE Transactions on, 30(11):1118–1120, Nov. 1985.

[8] M. Blanke, M. Kinnaert, J. Lunze, M. Staroswiecki, and J. Schroder. Diagnosis and

Fault-Tolerant Control. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006.

[9] D. L. Boley, F. T. Luk, and D. Vandevoorde. A general vandermonde factorization

of a hankel matrix. ILAS Symp. on Fast Algorithms for Control, Signals and Image

Processing, Winnipeg, 1997.

226

Page 247: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[10] B. Boulet. Modeling and Robust Control of Large Flexible Space Structures (Ph.D

Thesis). Canadian theses. University of Toronto, 1996, 1996.

[11] D. Braess. Finite Elements: Theory, Fast Solvers, and Applications in Elasticity

Theory. Cambridge University Press, 2007.

[12] S. Cao and R. R. Rhinehart. An efficient method for on-line identification of steady

state. Journal of Process Control, 5(6):363–374, 1995.

[13] T. Chang and Z. Chen. Reliable decentralized servomechanism problem for large-

scale systems. Journal of Dynamic Systems, Measurement, and Control, 128(2):441–

448, 2006.

[14] T. N. Chang and E. J. Davison. Steady-state interaction indices for decentralized un-

known multivariable systems. In Decision and Control, 1986 25th IEEE Conference

on, volume 25, pages 881–887, Dec. 1986.

[15] Y. K. Cheung and A. Y. T. Leung. Finite Element Methods in Dynamics. Solid

mechanics and its applications. Science Press, 1991.

[16] T. H. Cormen, C. Stein, R. L. Rivest, and C. E. Leiserson. Introduction to

Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001.

[17] E. Davison. Multivariable tuning regulators: The feedforward and robust control of

a general servomechanism problem. volume 21, pages 35 – 47, Feb 1976.

[18] E. Davison and B. Scherzinger. Perfect control of the robust servomechanism prob-

lem. Automatic Control, IEEE Transactions on, 32(8):689–702, Aug. 1987.

[19] E. J. Davison. The robust decentralized control of a general servomechanism prob-

lem. Automatic Control, IEEE Transactions on, 21(1):14–24, Feb. 1976.

[20] E. J. Davison. Decentralized robust control of unknown systems using tuning regu-

lators. Automatic Control, IEEE Transactions on, 23(2):276–289, Apr. 1978.

[21] E. J. Davison and I. Ferguson. The design of controllers for the multivariable ro-

bust servomechanism problem using parameter optimization methods. Automatic

Control, IEEE Transactions on, 26(1):93–110, Feb. 1981.

227

Page 248: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[22] E. J. Davison and S. H. Wang. Properties and calculation of transmission zeros of

linear multivariable systems. Automatica, 10(6):643–658, 1974.

[23] P. M. Frank. Fault diagnosis in dynamic systems using analytical and knowledge-

based redundancy: A survey and some new results. Automatica, 26(3):459–474,

1990.

[24] Y. Fujisaki, M. Ikeda, and K. Miki. Robust stabilization of large space structures

via displacement feedback. Automatic Control, IEEE Transactions on, 46(12):1993–

1996, Dec. 2001.

[25] Z. Gong and M. Aldeen. Stabilization of decentralized control systems. Journal of

Mathematical Systems, Estimation, and Control, 7(1):1–16, 1997.

[26] R. Gran and M. Rossi. A survey of the large structures control problem. In Decision

and Control including the Symposium on Adaptive Processes, 1979 18th IEEE

Conference on, volume 18, pages 1002–1007, Dec. 1979.

[27] H. B. Hablani. Generic model of a large flexible space structure for control concept

evaluation. Journal of Guidance and Control, 4:558–561, Sept.–Oct. 1981.

[28] H. B. Hablani. Constrained and unconstrained modes: Some modeling aspects of

flexible spacecraft. Journal of Guidance and Control, 5:164–173, Mar.–Apr. 1982.

[29] H. B. Hablani and R. E. Skelton. Generic model of a large flexible space structure

for control concept evaluation. In AIAA 19th Aerospace Sciences Meeting. American

Institute of Aeronautics and Astronautics, Jan. 1981.

[30] Q. Hu, B. Xiao, and Y. Zhang. Robust fault tolerant attitude stabilization control

for flexible spacecraft under partial loss of actuator effectiveness. In Control and

Fault-Tolerant Systems (SysTol), 2010 Conference on, pages 263–268, Oct. 2010.

[31] X. Hu and J. Jiang. Hybrid fault-tolerant flight control system design against partial

actuator failures. Control Systems Technology, IEEE Transactions on, 20(4):871–

886, Jul. 2012.

[32] S. T. C. Huang, E. J. Davison, and R. H. Kwong. Decentralized robust servomech-

anism problem for large flexible space structures under sensor and actuator failures.

Automatic Control, IEEE Transactions on, 57(12):3219–3224, Dec. 2012.

228

Page 249: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[33] P. C. Hughes and R. E. Skelton. Modal truncation for flexible spacecraft. Journal

of Guidance and Control, 4:291–297, May.–Jun. 1981.

[34] R. Isermann. Model-based fault detection and diagnosis: status and applications. In

In Proceedings of the 16th IFAC Symposium on Automatic Control in Aerospace,

St, pages 71–85, 2004.

[35] J. Jiang. Design of reconfigurable control systems using eigenstructure assignment.

International Journal of Control, 59:395–410, 1994.

[36] J. Jiang and X. Yu. Fault-tolerant control systems: A comparative study between

active and passive approaches. Annual Reviews in Control, 36(1):60–72, 2012.

[37] J. Jiang and Q. Zhao. Design of reliable control systems possessing actuator redun-

dancy. Journal of Guidance, Control and Dynamics, 23(4):709–718, 2000.

[38] S. M. Joshi. Robustness of velocity feedback controllers for flexible spacecraft.

Aerospace and Electronic Systems, IEEE Transactions on, AES-21(1):2–7, Jan. 1985.

[39] S. M. Joshi. Control of Large Flexible Space Structures. Lecture notes in control

and information sciences. Springer-Verlag, 1998.

[40] J. L. Junkins and Y. Kim. Introduction to dynamics and control of flexible

structures. AIAA education series. American Institute of Aeronautics and Astro-

nautics, 1993.

[41] M. Kim, S. H. Yoonb, P. A. Domanskib, and W. V. Payneb. Design of a steady-

state detector for fault detection and diagnosis of a residential air conditioner.

International Journal of Refrigeration, 31:790–799, 2008.

[42] Y. Kobayashi, M. Ikeda, and Y. Fujisaki. Stability of large space structures pre-

served under failures of local controllers. Automatic Control, IEEE Transactions on,

52(2):318–322, Feb. 2007.

[43] S. Y. Kung, K. S. Arun, and D. V. Bhaskar Rao. State-space and singular-value

decomposition-based approximation methods for the harmonic retrieval problem. J.

Opt. Soc. Am., 73(12):1799–1811, Dec. 1983.

229

Page 250: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[44] A. Laub and W. Arnold. Controllability and observability criteria for multivariable

linear second-order models. Automatic Control, IEEE Transactions on, 29(2):163 –

165, Feb. 1984.

[45] A. J. Laub. Matrix Analysis for Scientists and Engineers. Society for Industrial and

Applied Mathematics, 2005.

[46] D. Liberzon and A. S. Morse. Basic problems in stability and design of switched

systems. Control Systems, IEEE, 19(5):59–70, Oct. 1999.

[47] J. L. Lin. On transmission zeros of mass-dashpot-spring systems. Journal of Dynamic

Systems, Measurement, and Control, 121(2):179–183, 1999.

[48] D. E. Miller and E. J. Davison. The self-tuning robust servomechanism problem.

Automatic Control, IEEE Transactions on, 34(5):511–523, May. 1989.

[49] C. Moler and C. V. Loan. Nineteen dubious ways to compute the exponential of a

matrix, twenty-five years later. SIAM Review, 45(1):3–49, 2003.

[50] A. V. Oppenheim, A. S. Willsky, and S. H. Nawab. Signals and Systems. Prentice-

Hall signal processing series. Prentice Hall, 1997.

[51] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical

Recipes: The Art of Scientific Computing. Cambridge University Press, 3rd edition,

2007.

[52] A. Preumont. Vibration Control of Active Structures: An Introduction. Solid

Mechanics and Its Applications. Springer, 2011.

[53] H. C. Razavi, R. K. Mehra, M. Vidyasagar, Inc Scientific Systems, and Langley Re-

search Center. Fault-tolerant Control of Large Space Structures Using the Stable

Factorization Approach. Number v. 3964 in NASA contractor report. National Aero-

nautics and Space Administration, Scientific and Technical Information Branch,

1986.

[54] J. Stoustrup and V. D. Blondel. A simultaneous stabilization approach to (passive)

fault tolerant control. In American Control Conference, 2004. Proceedings of the

2004, volume 2, pages 1817–1822, July 2004.

230

Page 251: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[55] J. Stoustrup and M. J. Grimble. Integrating control and fault diagnosis: A separation

result. In IFAC Sym. on Fault Detection, Supervision and Safety for Technical

Processes, pages 323–328, Hull, United Kingdom, Aug. 1997.

[56] J. Stoustrup, M. J. Grimble, and H. H. Niemann. Design of integrated systems for

control and detection of actuator/sensor faults. Sensor Review, 17:157–168, 1997.

[57] V. Venkatasubramanian, R. Rengaswamy, and S. N. Kavuri. A review of process fault

detection and diagnosis part II: Qualitative models and search strategies. Computers

& Chemical Engineering, 27(3):313–326, 2003.

[58] V. Venkatasubramanian, R. Rengaswamy, S. N. Kavuri, and K. Yin. A review

of process fault detection and diagnosis part III: Process history based methods.

Computers & Chemical Engineering, 27(3):327–346, 2003.

[59] V. Venkatasubramanian, R. Rengaswamy, K. Yin, and S. N. Kavuri. A review of

process fault detection and diagnosis part I: Quantitative model-based methods.

Computers & Chemical Engineering, 27(3):293–311, 2003.

[60] S. H. Wang and E. Davison. On the stabilization of decentralized control systems.

Automatic Control, IEEE Transactions on, 18(5):473–478, Oct. 1973.

[61] G. West-Vukovich, E. J. Davison, and P. Hughes. The decentralized control of large

flexible space structures. IEEE Transactions on Automatic Control, 29(10):866–879,

Oct. 1984.

[62] W. M. Wonham. Linear Multivariable Control: A Geometric Approach. Applications

of mathematics. Springer-Verlag, 1985.

[63] G. G. Yen. Reconfigurable learning control in large space structures. Control Systems

Technology, IEEE Transactions on, 2(4):362–370, Dec. 1994.

[64] Y Zhang and J Jiang. Design of integrated fault detection, diagnosis and reconfig-

urable control systems. Proceedings of the 38th IEEE Conference on Decision and

Control, 4(December):3587–3592, 1999.

[65] Y. Zhang and J. Jiang. Integrated active fault-tolerant control using IMM approach.

Aerospace and Electronic Systems, IEEE Transactions on, 37(4):1221–1235, Oct.

2001.

231

Page 252: Fault Tolerant Control of Large Flexible Space Structures ...€¦ · program: Ernest Ho, Christina Holmes, Usheer Kanjee, Jason Kereluk, Mohamed Khairy, Eric Kopp, Karla Kvaternik,

Bibliography

[66] Y. Zhang and J. Jiang. Fault tolerant control system design with explicit con-

sideration of performance degradation. Aerospace and Electronic Systems, IEEE

Transactions on, 39(3):838–848, Jul. 2003.

[67] Y. Zhang and J. Jiang. Bibliographical review on reconfigurable fault-tolerant con-

trol systems. Annual Reviews in Control, 32(2):229 – 252, 2008.

[68] Y. Zhang and X. R. Li. Detection and diagnosis of sensor and actuator failures

using IMM estimator. Aerospace and Electronic Systems, IEEE Transactions on,

34(4):1293–1313, Oct. 1998.

[69] Y. M. Zhang and J. Jiang. Active fault-tolerant control system against partial

actuator failures. Control Theory and Applications, IEEE Proceedings, 149(1):95–

104, Jan. 2002.

[70] Q. Zhao and J. Jiang. Reliable state feedback control system design against actuator

failures. Automatica, 34(10):1267–1272, 1998.

232