Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform...

54
Solving Fault Diagnosis Problems – a Computational Perspective A. Varga German Aerospace Center (DLR)

Transcript of Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform...

Page 1: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

Solving Fault Diagnosis Problems – a Computational Perspective

A. Varga

German Aerospace Center (DLR)

Page 2: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

2

Model-based fault detection and diagnosis (FDD)

u(t) y(t)

actuatorfaults d(t)w(t)

r(t)

residual signal

Decision makingResidual evaluator

Residual generator

θ(t) i(t)

evaluation signal

decision signal

FDD System

SensorsActuators Plantua (t) ym (t)

sensorfaults

parametricfaults

sensor signals

control signals

plant inputs

plant outputs

Open-loop System

noise inputs

disturbance inputs

Page 3: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

3

Numerical computations in model-based FDD

Development of synthesis models: trimming, linearization, model reduction, conversions, identification, …

Synthesis of linear residual generators (or fault detection filters): observer synthesis (pole assignment, H2/∞

- filtering), μ-synthesis, …

Integrated tuning of the FDD-system: multi-objective optimization based tuning of FDD system parameters to minimize false alarm rate, missed detection rate, detection times, …

Global assessment of the FDD-system: robustness assessment using Monte-Carlo simulations, global optimization based worst-case search, μ-analysis, …

Page 4: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

4

Numerical awareness in fault detection

Surprisingly … there are very few generally applicable methods !

Evidently … all tolerance-based numerical computations can go wrong !

Unfortunately … numerical algorithms can go wrong without notice !

Perfidiously … bad algorithms can sometimes produce good results !

Sadly … most algorithms in fault detection are bad !

How could we improve numerical awareness in fault detection ?

Special Issue Feb. 2004

Special Issue Feb. 2004

Page 5: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

5

Outline of talk

I. Nullspace-based synthesis approaches

II. Basics of numerical algorithms

III. An integrated synthesis algorithm

Page 6: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

6

Outline of talk

I. Nullspace-based synthesis approaches– exact/approximate synthesis problems – nullspace based simplifications– least order synthesis– synthesis procedures

II. Basics of numerical algorithms

III. An integrated synthesis algorithm

Page 7: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

7

Synthesis problems

1. Exact synthesis of fault detection filters (FD): nullspace method, parity space method, unknown input observer methods, geometric synthesis methods, …

2. Exact synthesis of fault detection and isolation filters (FDI): structured residuals (e.g., via a bank of detectors), directional residuals via model-matching, …

3. Approximate synthesis of fault detection filters (AFD): H- /H2/1

- optimal synthesis

4. Approximate synthesis of fault detection and isolation filters (AFDI): H2/1

- optimal model-matching synthesis

For all synthesis problems the nullspace method will play a central role in simplification of the solution process!

Page 8: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

8

Input-output system model with additive faults

Page 9: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

9

Residual generator

Page 10: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

10

Exact synthesis problems: no noise inputs

Page 11: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

11

Approximate synthesis problems: with noise inputs

Page 12: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

12

Interpretation of disturbance inputs

Page 13: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

13

NullspaceNullspace based synthesis based synthesis

Page 14: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

14

Simplified problemSimplified problem

Page 15: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

15

Simplified synthesis problems

Page 16: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

16

DiscussionDiscussion

Page 17: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

17

Polynomial vs. rational basesPolynomial vs. rational bases

Page 18: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

18

FD: Least order synthesisFD: Least order synthesis

Numerically reliable algorithm: V (2003)

Page 19: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

19

FD: Least order synthesis with scalar residuals FD: Least order synthesis with scalar residuals

Numerically reliable algorithms: V (2007)

Page 20: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

20

FDI: Least order synthesis with structured residualsFDI: Least order synthesis with structured residuals

Page 21: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

21

FDI: Least order synthesis with structured residualsFDI: Least order synthesis with structured residuals

Numerically reliable algorithms: V (2007)

Page 22: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

22

FDI: Least order synthesis with directional residualsFDI: Least order synthesis with directional residuals

Numerically reliable algorithms: V (2004)

Page 23: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

23

AFD: Optimal synthesisAFD: Optimal synthesis

Numerically reliable algorithms: V (2009), Glover & V (2011)

Page 24: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

24

AFDI: Optimal synthesisAFDI: Optimal synthesis

Numerically reliable algorithms: V (2005,2011)

Page 25: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

25

The The nullspacenullspace method historymethod history

Page 26: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

26

I. Nullspace-based synthesis approaches

II. Basics of numerical algorithms– computing with finite precision– satisfactory algorithms– conditioning of model representations

III. An integrated synthesis algorithm

Page 27: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

27

Finite precision computation

Page 28: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

28

Effects of roundoff errors

forward error

aa

a+a+δδ

DD

f*(a)

f(a)

f f ((DD))backward error

Algorithm: a ∈ D ⇒ f(a) ∈ f(D)Implementation: a ∈ D ⇒ f∗(a)

ff*

f

Page 29: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

29

Conditioning

Backward and forward errors for a backward stable algorithm f : R → R

Example: Multiple eigenvalues are extremely ill-conditioned!

The conditioning of a problem measures the sensitivity of the solution to perturbations in the problem data and is independent of any computational algorithm.

Page 30: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

30

Example: Caveats of finite precision computationsEigenvalue-based stability check for a matrix A:Re λ(A) < 0 or Re λ(AT) < 0

MATLAB example: (Nick Trefethen)A = -gallery('grcar',150);plot(eig(A),'k.')plot(eig(A'),'ro')

Causes of accuracy loss:- Computation with finite precision- Ill-conditioned eigenvalues

Finite precision computations on sensitive problems often can not be performed accurately!

Page 31: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

31

Numerical stability, conditioning & accuracy

The most we can ask for:Numerically backward stable algorithm applied to a well-conditioned problem produces guaranteed accurate results.

We have to live with:Numerically backward stable algorithm applied to an ill-conditioned problem can produce inaccurate results.

Be aware of:Numerically unstable algorithm applied to a well-conditioned problem can produce inaccurate results.

Less known fact:Unstable methods can be reliable if the instability can be detected!

Page 32: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

32

Recipe to develop a bad algorithm! (not to be followed)

Use intrinsically sensitive model representations (polynomial, rational)

Perform unstable computations (ill-conditioned transformations to canonical forms, raising matrices to powers, forming matrix products, inversions, …)

Use special tricks:

subtract similar size quantities contaminated by errors (catastrophic cancellation)

produce small final results using large intermediate quantities

ignore problem structure

ignore potential under- and overflows

To develop good algorithms, the negation of all above issues is necessary but … not sufficient!

Page 33: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

33

Input-output vs. state-space models

Not suited for numerical computations due to high intrinsic sensitivity of polynomials based system representations!

Better suited for numerical computations and must be preferred for algorithm development!

Page 34: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

34

“The perfidious polynomial” (Wilkinson)

g(s) =1

s25 + 325s24 + . . .+ 25!(Kressner)

% coefficients-based realizationpol = -25:-1;g = tf(1,poly(pol));plot(eig(g),'ro')plot(pol,0*pol,'k.')

Causes of accuracy loss:- Finite precision representation- Ill-conditioned polynomial roots

Model representations relying on polynomials are intrinsically very sensitive, thus not appropriate for reliable numerical computations

g(s) =1

(s+ 1)(s+ 2) · · · (s+ 25)

Page 35: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

35

Steer-by-Wire Control System (Odenthal & Bünte)

Page 36: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

36

Modeling of a steer-by-wire control system using polynomial/rational function manipulation

33.33 s^27 + 8.46e5 s^26 + 1.009e10 s^25 + 7.519e13 s^24 + 3.927e17 s^23 + 1.529e21 s^22 + 4.607e24 s^21 + 1.101e28 s^20 + 2.124e31 s^19 + 3.345e34 s^18 + 4.336e37 s^17 + 4.651e40 s^16 + 4.141e43 s^15 + 3.063e46 s^14 + 1.88e49 s^13 + 9.547e51 s^12 + 3.987e54 s^11 + 1.358e57 s^10 + 3.73e59 s^9 + 8.132e61 s^8 + 1.379e64 s^7 + 1.779e66 s^6 + 1.71e68 s^5 + 1.226e70 s^4 + 6.822e71 s^3 + 2.952e73 s^2 + 8.313e74 s + 2.061e76

------------------------------------------------------------------------------ 1 s^29 + 2.539e4 s^28 + 3.029e8 s^27 + 2.258e12 s^26 + 1.18e016 s^25

+ 4.597e19 s^24 + 1.386e23 s^23 + 3.316e26 s^22 + 6.402e29 s^21 + 1.01e33 s^20 + 1.311e36 s^19 + 1.409e39 s^18 + 1.259e42 s^17 + 9.345e44 s^16 + 5.766e47 s^15 + 2.948e50 s^14 + 1.243e53 s^13 + 4.294e55 s^12 + 1.204e58 s^11 + 2.706e60 s^10 + 4.819e62 s^9 + 6.716e64 s^8 + 7.289e66 s^7 + 6.212e68 s^6 + 4.194e70 s^5 + 2.152e72 s^4 + 7.713e73 s^3 + 2.094e75 s^2 + 1.008e76 s

G11 = -((G1*(S1-G2*G4*S1-C22*G3*G4*S1+C13*S1*S2*S4...-C13*G2*G4*S1*S2*S4-C13*C22*G3*G4*S1*S2*S4...+C12*C23*G3*G4*S1*S2*S4+S3*S4-G2*G4*S3*S4-C22*G3*G4*S3*S4)).../(-S1+G2*G4*S1+C22*G3*G4*S1+C11*G1*S1*S2*S4-C11*G1*G2*G4*S1*S2*S4...+C12*C21*G1*G3*G4*S1*S2*S4-C11*C22*G1*G3*G4*S1*S2*S4-S3*S4...+G2*G4*S3*S4+C22*G3*G4*S3*S4-G1*S1*S3*S4+G1*G2*G4*S1*S3*S4...+C22*G1*G3*G4*S1*S3*S4));

Extremely large range of coefficient values ⇒ severe numerical difficulties to be expected in all subsequent computations

Page 37: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

37

Conditioning of state-space models

Which characteristics define model conditioning?– numerical range of data – conditioning of eigenvalues/eigenvectors of A– controllability/observability balancedness– nearness to non-minimality

How model conditioning can be improved ?– using similarity transformations (scaling, balancing)– model order reduction

Improper scaling can cause the failure of any computation!

Page 38: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

38

What is a satisfactory algorithm ?Generality: Applicability without restrictions

Reliability: Numerical stability

Efficiency: O(n3) floating point operations (flops)

Other adjectives: simple, beautiful, elegant, robust, fast, accurate, polynomial, exponential, embedded, compact, top10, Holly Grail, honest, “comme il faut” … some with negation

A satisfactory numerical algorithm can serve as basis for a general purpose routine which meets the standards of quality numerical linear algebra or control software (e.g., LAPACK or SLICOT).

A satisfactory synthesis algorithm for solving fault detection problems must exclusively rely at each computational step on satisfactory numerical algorithms and structure exploiting computations.

Page 39: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

39

I. Nullspace-based synthesis approaches

II. Basics of numerical algorithms

III. An integrated synthesis algorithm– integrated algorithms – nullspace method in state-space formulation – comparison of methods

Page 40: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

40

Integrated synthesis algorithms

Typical algorithmic approaches in control and fault detection:- composition of modularized computational steps- problem structure between steps not exploited

Integrated approach: computational steps connected at a finer granularity level by exploiting all structural information at the termination of each step

Expected advantages:- more efficient computations (less overhead, minimal storage)- increased reliability (structural aspects fully exploited)

Caveats: more involved algorithmic development; careful analysis of structural features needed; restricted modularization/reusability

Page 41: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

41

Example: Integrated algorithm for FD filter synthesis

Page 42: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

42

Choice of synthesis model

Page 43: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

43

S1. Computation of proper rational S1. Computation of proper rational nullspacenullspace basesbases

Page 44: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

44

S1. Computation of proper rational S1. Computation of proper rational nullspacenullspace basesbases

Page 45: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

45

S1. Computation of proper rational S1. Computation of proper rational nullspacenullspace basesbases

Page 46: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

46

S2. LeastS2. Least--order synthesisorder synthesis

Numerically reliable algorithms: V (2003,2004)

Page 47: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

47

S3. StabilizationS3. Stabilization

Numerically reliable algorithms: V (1995,1998)

Page 48: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

48

Satisfactory synthesis algorithm

Generality: A solution can be computed whenever one exists

Reliability: Relies on numerically stable or numerically reliable algorithms

Efficiency: O(n3) floating point operations

The nullspace method for the synthesis of fault detection filters is a satisfactory synthesis algorithm.

What we can say about other methods?

Page 49: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

49

Parity space method

Page 50: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

50

Parity space method

Page 51: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

51

Observer-based synthesis

Page 52: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

52

Observer-based synthesis

Page 53: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

53

Comparison of methods (V, 2009)

Page 54: Solving Fault Diagnosis Problems – a Computational ... · Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems

54

Concluding remarks

A new generation of numerically satisfactory integrated algorithms based on detector updating techniques has been developed to solve the main classes of FD/FDI synthesis problems.

The nullspace method has a central role in simplifying the synthesis problems and in addressing the least order synthesis aspect.

Robust numerical software to perform all basic computations is available in the MATLAB/SLICOT-based Descriptor Systems Toolbox (V, 2000-2011) (licensed by SYNOPTIO)

All synthesis algorithms are implemented in the Fault Detection Toolbox (V, 2006-2011) (proprietary software of DLR)