Diagnosis and FTC by Prof. Blanke [pdf] - NTNU
Diagnosis and FTC by Prof. Blanke [pdf] - NTNU Diagnosis and FTC by Prof. Blanke [pdf] - NTNU
1 2 Fault-tolerant Control Lecturer Mogens Blanke Professor II at CeSOS – NTNU Professor of Automatic Control at Ørsted rsted-DTU DTU Research interests: •Autonomous Control Systems •Fault-tolerant and Dependable Control •Satellite Attitude Control •Marine Control Systems •System Modelling and Identification •Diesel Engine Control Reference for todays lecture: M.Blanke, M. Kinnaert, J. Lunze and M. Staroswiecki Diagnosis and Fault-Tolerant Control Springer, June 2003 • Chr. Rovsing/European Space Agency 1974-75: Systems Analyst • DTU 76-84: Ass + Assoc Prof. • Søren T. Lyngsø 85-90, Head of Marine Division • Aalborg University 1990-2000 Professor of Automatic Control • DTU 2000 Professor of Automatic Control • NTNU 2005 Professor II Mogens Blanke – Spring 2006 Mogens Blanke – Spring 2006 1
- Page 2 and 3: 3 4 Scope of lecture - Fault-tolera
- Page 4 and 5: 7 8 A Hybrid System Dynamic relatio
- Page 6 and 7: 11 12 Fault-accommodation or reconf
- Page 8 and 9: 15 16 Handling of sensor faults by
- Page 10 and 11: 19 20 The real thing By courtesy fr
- Page 12 and 13: 23 24 Fault-tolerant steering by wi
- Page 14 and 15: 27 28 A fault-tolerant architecture
- Page 16 and 17: 31 32 System behaviour: normal •
- Page 18 and 19: 35 36 Models of dynamical systems
- Page 20 and 21: 39 40 Model of normal behavior of s
- Page 22 and 23: 43 44 Aim and scope This is fun Des
- Page 24 and 25: 47 48 Structure Graph Structural an
- Page 26 and 27: 51 52 Single tank system example 5.
- Page 28 and 29: 55 56 Matching Definition 5.1: ( Ma
- Page 30 and 31: 59 60 Purpose and scope of part 2
- Page 32 and 33: 63 64 Design of Parity Equations (5
- Page 34 and 35: 67 68 Investigate the effect of a s
- Page 36 and 37: 71 72 Case: ship station-keeping co
- Page 38 and 39: 75 76 Constraints - measurements Va
- Page 40 and 41: 79 80 Matching of a structure graph
- Page 42 and 43: 83 84 Properties of nominal system
- Page 44 and 45: 87 88 Properties of the faulty syst
- Page 46: 91 92 Manual Control Summary Mogens
1<br />
2<br />
Fault-tolerant Control<br />
Lecturer<br />
Mogens <strong>Blanke</strong><br />
<strong>Prof</strong>essor II at CeSOS –<br />
<strong>NTNU</strong><br />
<strong>Prof</strong>essor of Automatic<br />
Control at Ørsted rsted-DTU DTU<br />
Research interests:<br />
•Autonomous Control Systems<br />
•Fault-tolerant <strong>and</strong> Dependable Control<br />
•Satellite Attitude Control<br />
•Marine Control Systems<br />
•System Modelling <strong>and</strong> Identification<br />
•Diesel Engine Control<br />
Reference for todays lecture:<br />
M.<strong>Blanke</strong>, M. Kinnaert, J. Lunze <strong>and</strong> M.<br />
Staroswiecki<br />
<strong>Diagnosis</strong> <strong>and</strong> Fault-Tolerant Control<br />
Springer, June 2003<br />
• Chr. Rovsing/European Space<br />
Agency 1974-75: Systems<br />
Analyst<br />
• DTU 76-84: Ass + Assoc <strong>Prof</strong>.<br />
• Søren T. Lyngsø 85-90,<br />
Head of Marine Division<br />
• Aalborg University<br />
1990-2000 <strong>Prof</strong>essor of<br />
Automatic Control<br />
• DTU 2000 <strong>Prof</strong>essor of<br />
Automatic Control<br />
• <strong>NTNU</strong> 2005 <strong>Prof</strong>essor II<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
1
3<br />
4<br />
Scope of lecture – Fault-tolerant Control<br />
• Fault-tolerant Control in Context<br />
• Analysis based on System Structure<br />
• Fault <strong>Diagnosis</strong> – detection <strong>and</strong> isolation<br />
• Fault-tolerant control:<br />
– Sensor fault, Actuator fault<br />
• An application<br />
Fault-tolerant design<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Fault-tolerant systems (<strong>and</strong> control)<br />
Created <strong>by</strong> the need for safety, reliability <strong>and</strong> availability.<br />
Touches on fundamental properties of controlled systems <strong>and</strong><br />
the control architectures.<br />
Draws on results from many areas in automatic control<br />
<strong>Diagnosis</strong><br />
The essential means to determine whether faults have<br />
occurred<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
2
5<br />
6<br />
Structure of Plant + Controller<br />
The st<strong>and</strong>ard<br />
control problem<br />
A system with control is a hybrid entity. The system can be<br />
changed <strong>by</strong> events, some of which are faults. We may change<br />
the controller <strong>and</strong>/or the system <strong>by</strong> action of a supervisor.<br />
A Hybrid System<br />
A bathtub is a hybrid system.<br />
Dynamic relation between<br />
input flow q, height h <strong>and</strong> area A( h)<br />
are<br />
1<br />
ht ()<br />
= qt ()<br />
Ah ( )<br />
Holds only until<br />
the edge is reached:<br />
ht (<br />
) = 0 for h= hedge<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
q(t)<br />
h(t)<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
3
7<br />
8<br />
A Hybrid System<br />
Dynamic relation between<br />
input flow q, height h <strong>and</strong> area A( h)<br />
are<br />
1<br />
ht (<br />
) = qt ( ) for 0 ≤ h< hedge<br />
Ah ( )<br />
ht (<br />
) = 0 for h≥ h<br />
edge<br />
Relation to Robust <strong>and</strong><br />
Adaptive Control<br />
q(t)<br />
h(t)<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
4
9<br />
10<br />
Fault-tolerant Control<br />
Fault-tolerance:<br />
Ability to maintain control<br />
objectives, despite the<br />
occurrence of a fault.<br />
A degradation of control<br />
performance may be<br />
accepted.<br />
Obtained through fault<br />
accommodation or system<br />
reconfiguration.<br />
St<strong>and</strong>ard control problem - example<br />
Objective:<br />
Obtain b<strong>and</strong>width > 0.2 rad/s, loop damping > 0.7<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
1<br />
kkb p t 2<br />
ψ () s = s ψ ref () s<br />
kb t + h kkb<br />
1 p t<br />
1+<br />
+ 2<br />
s s<br />
ψ () s =<br />
kkb<br />
ψ () s<br />
p t<br />
2<br />
s + ( kb t + h1) s+ kpkb t<br />
Compare with st<strong>and</strong>ard form<br />
ψ () s =<br />
s<br />
ω<br />
s<br />
ψ ref () s<br />
2<br />
b<br />
2 2<br />
+ 2ςωb<br />
+ ωb<br />
ref<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
5
11<br />
12<br />
Fault-accommodation or reconfiguration<br />
Change in controller<br />
parameters or<br />
structure to avoid the<br />
consequences of a<br />
fault.<br />
Accommodation:<br />
Input-output between<br />
controller <strong>and</strong> plant is<br />
unchanged.<br />
Reconfiguration:<br />
Input-output between<br />
controller <strong>and</strong> plant is<br />
changed.<br />
H<strong>and</strong>ling of sensor fault -accommodation<br />
• Fault h<strong>and</strong>ling: a sensor fault (gain is 0.1) accommodated <strong>by</strong><br />
differentiating term in position feedback.<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
6
13<br />
14<br />
H<strong>and</strong>ling of fault - reconfiguration<br />
• Fault reconfiguration: a sensor failure in inner loop.<br />
• Switch to differentiating control when fault is diagnosed<br />
H<strong>and</strong>ling of sensor fault <strong>by</strong> output<br />
estimation<br />
icom<br />
power<br />
drive<br />
+<br />
Speed control<br />
im<br />
kt<br />
kqη<br />
+<br />
Ql<br />
1<br />
Itot<br />
Fault:<br />
[0.0 1.0]<br />
kobs<br />
∫<br />
-<br />
ˆn<br />
n<br />
1<br />
N ∫<br />
+<br />
+<br />
nm<br />
-<br />
Position control<br />
θm X<br />
+<br />
1<br />
N ∫<br />
gear<br />
kp<br />
ˆ<br />
θ<br />
-<br />
θ<br />
+<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
θref<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
7
15<br />
16<br />
H<strong>and</strong>ling of sensor faults <strong>by</strong> reconfiguration<br />
Reconfiguration: Failed sensor<br />
measurement is replaced <strong>by</strong> an<br />
estimate, which is used in the<br />
feedback loop<br />
y = − + ˆ<br />
k (1 S( fk)) yk S( fk) y( fk)<br />
S is a diagonal matrix S ij=0(<br />
i ≠ j)<br />
Skk<br />
= 1 f ,0 otherwise<br />
k<br />
Condition for observer k to exist<br />
( A,[ c1,.., ck− 1, ck+ 1,..,<br />
cm]<br />
) is observable<br />
where c i is a column of C<br />
If not fully observable, the unobservable<br />
subsystem must at least be stable<br />
Model-matching state-feedback<br />
O H A B<br />
O H A B<br />
<br />
K<br />
+ J H A H 2 = J<br />
E = ? I A @ F I O I J A <br />
<br />
4 A @ A I EC A @<br />
+ J H A H<br />
E = ? I A @ F I O I J A <br />
<br />
K<br />
. = K J O<br />
2 = J<br />
O<br />
O<br />
u<br />
u<br />
u<br />
u<br />
Plant<br />
estimator 1<br />
est(y) | y , y , ...<br />
2 3<br />
estimator 2<br />
est(y) | y 1 , y 3 , ...<br />
estimator 3<br />
est(y) | y 1 , y 2 , ...<br />
y m =[y 1 ,y 2 ,y 3 ]<br />
y est<br />
y est<br />
y est<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
The nominal (no fault) system<br />
in closed state feedback loop:<br />
xt ()<br />
= ( A- BK) xt ()<br />
yt () = Cxt ()<br />
after the fault occurs,<br />
xt ()<br />
= Axt f ()- But f ()<br />
yt () = Cfxt ()<br />
with new state feeedback controller:<br />
xt ()<br />
= ( Af - BK f f ) xt ()<br />
yt () = C x(<br />
t)<br />
f<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
8
17<br />
18<br />
Model-matching state-feedback (2)<br />
Ideal if we could obtain A- BK = A f - B fK f<br />
This is only rarely possible (requires redundant actuators).<br />
Consider the relaxed condition:<br />
∃K f ⊂{ Kstab} :min( A- BK) − ( A f - B fK f ) ?<br />
If the pseudo-inverse of B exists<br />
f<br />
T<br />
−1<br />
T<br />
BK f f = A f −( A - BK) ⇒ K f = ( B fBf ) B f ( A f − A + BK)<br />
Example on h<strong>and</strong>ling of faults<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• Simple means needed to h<strong>and</strong>le simple control loop<br />
faults<br />
• Applied common sense thus far, applied systematic<br />
common sense, however.<br />
•More challenge to come, though<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
9
19<br />
20<br />
The real thing<br />
By courtesy from C. Thybo<br />
A stop using the emergency brake subjects the<br />
structure to large stresses. An x-ray<br />
certification is required after each emergency<br />
stop. Graceful degradation pays off - a potential<br />
application for fault-tolerant control.<br />
H<strong>and</strong>ling of faults – Induction Motor<br />
• Accommodation: high<br />
performance controller that<br />
needs several sensor inputs<br />
is replaced (at run time) with<br />
one that can run with<br />
remaining sensors but with<br />
reduced performance<br />
Stator<br />
current<br />
i s<br />
θ<br />
i sa<br />
i sb<br />
ε<br />
i sq<br />
i sd<br />
ρ<br />
Rotor<br />
flux<br />
ω mr<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Rotor<br />
angle<br />
em = z ω ω p m<br />
Stator axis<br />
• Flux vector control - high<br />
performance, measurement needed<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
10
21<br />
22<br />
H<strong>and</strong>ling of faults - 2<br />
• Accommodation: high<br />
performance controller that<br />
needs several sensor inputs<br />
is replaced (at run time) with<br />
one that can run with<br />
remaining sensors but with<br />
reduced performance<br />
ω set<br />
+<br />
Load<br />
-<br />
K<br />
ωactual<br />
• Scalar control - low<br />
performance, no sensors<br />
Induction Motor Fault-tolerant Control<br />
• Implementation of fault-tolerant control - time to<br />
reconfigure is crucial.<br />
• Alternative motor control algorithms are not globally<br />
stable - large field angle deviations are not allowed.<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• The likelihood of successful reconfiguration is crucial -<br />
the concept of coverage - reliability issues<br />
• Coverage = Prob.(System recovers|Fault occurs)<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
11
23<br />
24<br />
Fault-tolerant steering <strong>by</strong> wire<br />
Steering<br />
input<br />
system<br />
Power<br />
supply<br />
Computer<br />
Sensor<br />
system<br />
Drive<br />
system<br />
Induction<br />
motor<br />
• Requirements to electrical<br />
steering system:<br />
• Must be able to steer until<br />
vehical is stopped despite<br />
any single fault<br />
Wheel<br />
Fault-tolerant steering <strong>by</strong> wire<br />
Steering<br />
input<br />
system<br />
Power<br />
supply<br />
Computer<br />
Sensor<br />
system<br />
Drive<br />
system<br />
Induction<br />
motor<br />
Wheel<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• Function blocks <strong>and</strong><br />
electrical details:<br />
• AC motor is driven <strong>by</strong><br />
inverter (3-phase switching)<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
12
25<br />
26<br />
Properties of possible architectures<br />
A behaviour is the relation between variables<br />
(input <strong>and</strong> output) of a function block:<br />
c 1: g1( u, y)<br />
= 0<br />
3<br />
example 1: y( t) − 2 u( t) u( t)<br />
= 0<br />
⎧dx()<br />
t<br />
⎪ =− 2 xt ( ) + 4 ut ( ); x(0) = xo<br />
example 2: ⎨ dt<br />
⎩<br />
⎪ yt () = xt () −0.01()<br />
ut<br />
The<br />
service offered<br />
<strong>by</strong> a function block is to<br />
provide a behaviour<br />
between input <strong>and</strong> output.<br />
S : g( u , y ) = 0<br />
1 1 1 1<br />
Properties of possible architectures<br />
The behaviour of a system with an<br />
architecture A is SA<br />
With the two examples:<br />
( upper )<br />
S = S ∩S ∩S<br />
A<br />
1 2 3<br />
All components must provide the service<br />
to give the required service from u to y<br />
( )<br />
1 3<br />
( lower ) ( ft )<br />
( d )<br />
SA= S1 ∩ S2 ∪S2 ∩S3<br />
We obtain fault-tolerant behaviour if<br />
( d )<br />
S3<br />
is fail-operational (can work despite any<br />
( ft )<br />
single fault) <strong>and</strong> S1<br />
is fault-tolerant: we obtain<br />
*<br />
g(u,y) 1 1 ≈ g(u1,y 1)<br />
but perhabs degraded<br />
(lower performance)<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
13
27<br />
28<br />
A fault-tolerant architecture (patented)<br />
• Redundant hardware is<br />
necessary but here is a<br />
cheap version: split<br />
power stage in two,<br />
wind AC motor with<br />
dual winding.<br />
The FDI - <strong>FTC</strong> chain<br />
• What FDI provides<br />
• Fault detection<br />
• Fault isolation<br />
• Evaluation to get confirmed<br />
hypothesis<br />
• Fault estimation<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• What <strong>FTC</strong> shall do<br />
• Assess estimated structure<br />
• Is diagnosis unambiguous,<br />
– determine faultaccommodation<br />
action<br />
• If not,<br />
– react according to highest<br />
severity<br />
– accommodate both/all<br />
possible scenarios<br />
• Reconfigure in time<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
14
29<br />
30<br />
<strong>Diagnosis</strong> <strong>and</strong> Fault-tolerant Control<br />
Chapter 1, pp 1-23<br />
• Faults <strong>and</strong> fault-tolerance:<br />
• A fault is a deviation of the system structure or system<br />
parameters from the nominal situation (actuator blocks, loss of<br />
sensor, disconnection of system component)<br />
• A failure is an event that prevents a system to perform a<br />
required function.<br />
• Parameters are alowed to vary within their specified range<br />
System behaviour<br />
• System behaviour is a subset of all possible combinations of<br />
input <strong>and</strong> output signals.<br />
Let a static system be<br />
yt () = kut s ()<br />
The behaviour is the set of all I/O pairs is given <strong>by</strong><br />
B<br />
= { ( uy , )| y= ku s }<br />
If the system is dynamic, B⊂ U× Y<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
15
31<br />
32<br />
System behaviour: normal<br />
• System behaviour is in<br />
the green area.<br />
• Point A represents an<br />
observation that may<br />
occur for the given<br />
system.<br />
• Point C represents a pair<br />
that is not consistent<br />
with system dynamics.<br />
System behaviour: norman or with a fault<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• A specific fault change<br />
the behaviour from the<br />
green to the yellow<br />
area.<br />
• If a common input is<br />
applied to the system,<br />
the normal <strong>and</strong> faulty<br />
cases would respond<br />
differently:<br />
e.g. points A <strong>and</strong> C.<br />
The normal <strong>and</strong> the faulty system can be distinguished unless the<br />
observation is in the intersection (point B) between the behaviours.<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
16
33<br />
34<br />
Safety versus fault-tolerance<br />
Safety versus fault-tolerance<br />
Green region:<br />
required<br />
performance<br />
Yellow region:<br />
degraded<br />
performance<br />
Orange region:<br />
unacceptable<br />
performance<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Green region:<br />
required<br />
performance<br />
Yellow region:<br />
degraded<br />
performance<br />
Orange region:<br />
unacceptable<br />
performance<br />
Red region:<br />
danger<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
17
35<br />
36<br />
Models of dynamical systems<br />
• Notation for nonlinear system with faults<br />
The general, nonlinear case reads:<br />
dx() t<br />
= gx ( ( t), u( t), d( t), f( t)),<br />
x(0) = x0<br />
dt<br />
y() t = h( x(), t u(), t d(),()) t f t<br />
where x is state vector, u is input vector,<br />
d is disturbance vector <strong>and</strong> f(t)<br />
a fault vector.<br />
Models of dynamical systems<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
We obtain a linar model in a point of operation<br />
xudf , , , <strong>by</strong> Taylor expansion around x = x- x<br />
dx dx dx ∂g∂ ∂ ∂<br />
= + = + <br />
g<br />
+ <br />
g<br />
+ g<br />
gxudf ( , , , ) x u d+ f,<br />
dt dt dt ∂x∂u∂d∂f x(0) = x0...<br />
∂h ∂h ∂h ∂<br />
= + = ( , , , ) + + + h<br />
y y y h x u d f x u d + f<br />
∂x ∂u ∂d ∂f<br />
or<br />
x = Ax + Bu + E + <br />
xd Fxf y = Cx + Du + E + <br />
yd Fyf In the sequel, we ommit the x notation <strong>and</strong> just write x<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
18
37<br />
38<br />
Models of dynamical systems<br />
Linearized system without faults<br />
The general, linear case reads, for A, BCD , , ... time invariant:<br />
dx() t<br />
= Ax() t + Bu() t + Exd(), t x(0) = x0<br />
dt<br />
y() t = Cx() t + Du() t + E d()<br />
t<br />
Linearized system with additive faults<br />
y<br />
dx() t<br />
= Ax() t + Bu() t + Fxf() t + Exd(), t x(0) = x<br />
dt<br />
y() t = Cx() t + Du() t + F f() t + E d()<br />
t<br />
y y<br />
Ship - running example<br />
δ<br />
rudder<br />
angle<br />
b<br />
+<br />
+<br />
∫<br />
ω3<br />
δ<br />
steering<br />
characteristic<br />
wave<br />
disturbance<br />
ω3<br />
f ω<br />
ωw<br />
ω3m<br />
rate<br />
measurement<br />
∫<br />
f ψ<br />
0<br />
ψ<br />
ψm<br />
heading<br />
measurement<br />
Ship steering. Input is rudder angle. Output is ship’s<br />
heading. Measured variables are turn rate <strong>and</strong><br />
heading angle.<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
19
39<br />
40<br />
Model of normal behavior of ship<br />
3 ( )<br />
c1: ω3 = b h1ω3+ h3ω3 + bδ<br />
c2:<br />
ψ= ω3+ ω3w<br />
c3<br />
: ψm= ψ<br />
c4:<br />
ω3m ω3+ ω3w<br />
c5<br />
:<br />
d1<br />
:<br />
δm= ψ<br />
=<br />
δ<br />
dψ<br />
dt<br />
δ<br />
d2<br />
ω3<br />
=<br />
dω3<br />
dt<br />
rudder<br />
angle<br />
b<br />
+<br />
+<br />
∫<br />
ω3<br />
δ<br />
steering<br />
characteristic<br />
wave<br />
disturbance<br />
Linearized model with sensor faults<br />
δ<br />
rudder<br />
angle<br />
ω3 = b( δ + h1ω3)<br />
ψ= ω3+ ω3w<br />
ψm= ψ + fψ<br />
linearized at ω3=0<br />
ω3m = ω3+ ω3w<br />
+ fω<br />
δ = δ<br />
m<br />
b<br />
+<br />
+<br />
∫<br />
ω3<br />
δ<br />
steering<br />
characteristic<br />
ω3<br />
ω3<br />
wave<br />
disturbance<br />
+<br />
+<br />
f ω<br />
ωw<br />
+<br />
ωw<br />
+<br />
+<br />
+<br />
ω3m<br />
rate<br />
measurement<br />
∫<br />
f ψ<br />
ψ<br />
ψm<br />
heading<br />
measurement<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
∫<br />
+<br />
fω +<br />
ω3m<br />
fψ rate<br />
measurement<br />
+<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
+<br />
ψ<br />
+<br />
ψm<br />
heading<br />
measurement<br />
+<br />
20
41<br />
42<br />
Example on requirements to diagnosis<br />
• Requirements for motion control<br />
• f rate (t) t det < 1deg<br />
• f angle (t) t det < 5 deg*s<br />
• Obtained in theory <strong>and</strong> practice<br />
• Accommodation of sensor faults on the fly is possible<br />
Analysis based on structure<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
21
43<br />
44<br />
Aim <strong>and</strong> scope<br />
This is fun<br />
Design<br />
Sequence<br />
Overview<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• We need a tool to cope with complexity of systems<br />
• Desire: Determine principal properties from the<br />
structure of a system - without detailed control theory<br />
calculations<br />
• Principal questions we have:<br />
• Can we diagnose a fault ?<br />
• Can a system recover from a fault?<br />
• Can we monitor the system?<br />
• Method: graph based analysis of system structure<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
22
45<br />
46<br />
Digraph for linear system<br />
Example 5. 2<br />
d<br />
c1: x1 = x1<br />
dt<br />
c2 : x1 = ax2<br />
d<br />
c3 : x2 = x2<br />
dt<br />
c : x = bx + cx + du<br />
4 2 1 2<br />
Bipartite graph<br />
Graph represented as<br />
incidence matrix:<br />
u x1 x2 x1 x2<br />
c1<br />
0 1 0 1 0<br />
c2<br />
0 0 1 1 0<br />
c3<br />
0 0 1 0 1<br />
c 1 1 1 0 1<br />
4<br />
Graph represented as the<br />
incidence matrix:<br />
u x1 x2 x1 x2<br />
c1<br />
0 1 0 1 0<br />
c2<br />
0 0 1 1 0<br />
c3<br />
0 0 1 0 1<br />
c 1 1 1 0 1<br />
4<br />
Or drawn as a bipartite graph:<br />
N N N<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
N K<br />
? ? ? ! ? "<br />
"A simple graph is one with no parallel edges <strong>and</strong> loops.<br />
A bipartite graph is a simple graph in which the set of<br />
vertices can be partitioned into two sets such that every<br />
edge is between a vertex in C <strong>and</strong> a vertex in Z: G= ( C, Z, E)<br />
."<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
23
47<br />
48<br />
Structure Graph<br />
Structural analysis<br />
A graph-based technique where<br />
principal relations between variables<br />
express the system’s properties.<br />
Measured <strong>and</strong> controlled quantities<br />
in the system are related to variables<br />
through functional relations, which<br />
need not be explicitly stated. The<br />
user specifies a list of these relations<br />
that together describe the<br />
functionality of the system<br />
considered. A list of such variables<br />
<strong>and</strong> functional relations constitute the<br />
system’s structure graph.<br />
Control input<br />
Unknown<br />
Constraints<br />
Measured<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Paradigm: A Fault is violation of a Constraint<br />
Faults<br />
Normal operation means all<br />
functional relations are intact for<br />
the system. Should faults occur,<br />
one or more functional relations<br />
cease to be valid. In the structure<br />
graph, one or more nodes of the<br />
graph will disappear when a fault<br />
occurs.<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
24
49<br />
50<br />
Example 5.3: tank system<br />
F = H= A JA H H<br />
D<br />
K J<br />
+ JH <br />
= C HEJD <br />
O J<br />
A L A I A I H<br />
D<br />
6 = <br />
G E J<br />
Single tank system example 5.3<br />
Tank c 1: h(t) = q i(<br />
t) − qo( t)<br />
Input valve c 2 : q() i t = αu()<br />
t<br />
Output pipe c 3 : q o(<br />
t) = k h( t)<br />
Level sensor c 4 : yt ( ) = ht ( )<br />
Control algorithm c 5 : ut ( ) =<br />
⎧1<br />
if y( t) < h0<br />
⎨<br />
⎩0<br />
otherwise<br />
dh() t<br />
differential constraint: c6: h( t)<br />
=<br />
dt<br />
F = H= A JA H H<br />
D<br />
K J<br />
+ JH <br />
= C HEJD <br />
O J<br />
A L A I A I H<br />
G J<br />
D<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
6 = <br />
G E J<br />
G J<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
25
51<br />
52<br />
Single tank system example 5.3<br />
c 1 : ht ()<br />
= qi() t −qo()<br />
t<br />
c 2 : qi( t) = αu(<br />
t)<br />
c 3 : qo() t = k h() t<br />
c 4 : yt () = ht ()<br />
c 5 :<br />
⎧1<br />
if y( t) < h0<br />
ut ( ) = ⎨<br />
⎩0<br />
otherwise<br />
c6: dh() t<br />
h( t)<br />
=<br />
dt<br />
c<br />
c<br />
c<br />
c<br />
c<br />
c<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
u y h h qi q<br />
0 0 0 1 1 1<br />
1 0 0 0 1 0<br />
0 0 1 0 0 1<br />
0 1 1 0 0 0<br />
0 0 1 1 0 0<br />
Ex. 5.3: structure graph of tank system<br />
c<br />
c<br />
c<br />
c<br />
c<br />
c<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
u y h h qi q<br />
0 0 0 1 1 1<br />
1 0 0 0 1 0<br />
0 0 1 0 0 1<br />
0 1 1 0 0 0<br />
0 0 1 1 0 0<br />
0<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Every column in the incidence matrix corresponds to a circle vertex.<br />
Every row corresponds to a bar vertex in the bipartite graph.<br />
0<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
26
53<br />
54<br />
Example 5.3: controlled tank<br />
?<br />
?<br />
K<br />
G E<br />
D<br />
? $<br />
G<br />
D<br />
O<br />
Structure graph with controller added: c5<br />
Example 5.3: reduction of graph<br />
? !<br />
? "<br />
<br />
D<br />
H<br />
? #<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Seperate variables Z into known (K)<br />
<strong>and</strong> unknown (X) variables<br />
Z = K ∪ X.<br />
Separate C into C = Ck ∪Cx.<br />
Delete rows with constraints between known variables<br />
Delete columns with known variables ⇒<br />
Decompose graph (C, Z,E) into<br />
(C ,Q(C )) <strong>and</strong> (C ,Z)<br />
k k x<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
27
55<br />
56<br />
Matching<br />
Definition 5.1: ( Matching)<br />
∀e1, e2∈M : e1 ≠e2 ⇒ pC( e1) ≠ pC( e2) ∧ pZ( e1) ≠ pZ( e2)<br />
Any two edges in M have no common node - neither in Z nor in C.<br />
Matching on the single tank<br />
c4→h c6→h c3 → q0<br />
c2→qi c → zero<br />
1<br />
c4→h c6→h c3 → q0<br />
c1→qi c → zero<br />
2<br />
c<br />
c<br />
c<br />
c<br />
c<br />
c<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
u y h h qi q<br />
0 0 0 1 1 1<br />
1 0 0 0 1 0<br />
0 0 1 0 0 1<br />
0 1 1 0 0 0<br />
0 0 1 1 0 0<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
0<br />
28
57<br />
58<br />
Non invertible constraints<br />
=<br />
N N<br />
?<br />
N<br />
N N<br />
?<br />
> ?<br />
N ? N<br />
N N<br />
Matching – the ranking algorithm<br />
Given: incidence matrix or structure<br />
graph<br />
1. Mark all known variables, i = 0.<br />
2. Find all constraints with exactly one unmarked variable.<br />
Associate rank i with these constraints.<br />
Mark these constraints<br />
<strong>and</strong> the associated variable.<br />
3. If there are unmarked constraints whose variables are<br />
all marked, mark them <strong>and</strong> connect them with the pseudovariable<br />
zero.<br />
4. set i = i+1<br />
5. if there are unmarked variables or constraints, continue<br />
with step 2.<br />
Result: Ranking of the constraints.<br />
?<br />
N<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
29
59<br />
60<br />
Purpose <strong>and</strong> scope of part 2<br />
• Matching – a graph method to find the nonlinear<br />
parity relations that can later be used in diagnosis.<br />
• Define maximal <strong>and</strong> complete matching<br />
• Investigate matching on an oriented graph<br />
• Discuss causality<br />
• Dealing with algebraic constraints<br />
• Dealing with loops in graphs<br />
Complete matching<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
A matching M is a subset of edges such that<br />
no edge have common node (neither in C nor in X).<br />
Let M be number of edges<br />
in M, then M ≤<br />
min<br />
C X<br />
A matching is complete in<br />
X if M = X.<br />
It is complete in C if M = C .<br />
Figure: One incomplete <strong>and</strong><br />
two complete matchings in X<br />
for the tank example.<br />
( , )<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
30
61<br />
62<br />
Differential <strong>and</strong> integral constraints<br />
(repeat)<br />
Differential constraint<br />
dh<br />
c6: h=<br />
dt<br />
Integral constraint<br />
c : h( t) = h( τ) dτ + h(0)<br />
6<br />
t<br />
∫<br />
0<br />
Obvious assumptions<br />
(5.2) All constraints in C are compatible<br />
The constraints provide a solution to the<br />
behaviour of a physical system.<br />
(5.3) All constraints in C are independent<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
31
63<br />
64<br />
Design of Parity Equations (5.6.3)<br />
Analytic redundancy relation (or parity equations) are<br />
subgraphs of the structure graph.<br />
They are formed from unmatched constraints using the<br />
complete matchings of the unknown variables we make<br />
on the reduced structure graph of a system.<br />
SaTool - constraint editor<br />
input<br />
Measured<br />
Unknown<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Create<br />
constraints<br />
Constraints<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
32
65<br />
66<br />
SaTool – A tool for Structural Analysis<br />
Features<br />
• Matlab ® based (version 7.0 or later)<br />
• Graphical representation of structure as a graph<br />
• Easy point <strong>and</strong> click manipulation of system structure<br />
• Matching <strong>by</strong> ranking<br />
• Backtracing<br />
– Recursive algorithm<br />
Matlab ® is a trademark of the Math Works Inc. USA.<br />
Results<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• Detectability<br />
– Which faults can be detected with the found parity relations<br />
• Isolability<br />
– Which faults can be isolated with the found parity relations<br />
• Parity relations<br />
– Which relations exists<br />
• Controllability<br />
– Can I reach the unknown variables from the input variables<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
33
67<br />
68<br />
Investigate the effect of a structural fault<br />
• Faults can be modeled <strong>by</strong> disabling nodes<br />
– Right click on a node to disable it<br />
– Perform a new analysis<br />
– Or analyze consequences of all possible violation of<br />
constraints<br />
• The result shows if the<br />
– system can be reconfigured in case of faults<br />
– Shows which further faults can be diagnosed for the faulty<br />
system<br />
– Showh witch secondary faults can be isolated for the faulty<br />
system<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• Salient<br />
feature:<br />
• Run<br />
analysis<br />
on system<br />
with fault<br />
• Investigate<br />
the new<br />
result<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
34
69<br />
70<br />
SaTool – A tool for Structural Analysis<br />
Features<br />
• Matlab ® based (version 6.5 or later)<br />
• Graphical representation of structure as a graph<br />
• Easy point <strong>and</strong> click manipulation of system structure<br />
• Matching <strong>by</strong> ranking<br />
• Backtracing<br />
– Recursive algorithm<br />
Matlab ® is a trademark of the Math Works Inc. USA.<br />
SaTool<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• SaTool – a rapid prototyping tool now being tested <strong>by</strong><br />
colleagues <strong>and</strong> industry.<br />
• A beta version is available (GNU open source), please<br />
contact mb@oersted.dtu.dk<br />
• Uploaded to participants<br />
• Work is in progress in the area of autonomous robotics<br />
• Also a good subject for your MSc thesis !<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
35
71<br />
72<br />
Case: ship station-keeping control<br />
• Position control is required within a specified circle to<br />
enable investigation of an unknown object<br />
• Ship has two shafts <strong>and</strong> a<br />
bow thruster for control<br />
Constraints – forces from actuators<br />
( )<br />
( )<br />
( )<br />
a1: θ1<br />
= gpu1 pitch <strong>and</strong> shaft speed on starboard shaft<br />
a2 : θ2<br />
= gpu2 pitch <strong>and</strong> shaft speed on port shaft<br />
a3 : n3 = gbu3 angular velocity on bow thruster<br />
b1:<br />
y1 = θ1<br />
measurement of SB pitch <strong>and</strong> rpm<br />
b2<br />
: y2 = θ2<br />
measurement of port pitch <strong>and</strong> rpm<br />
b : y = n<br />
measurement of BT rpm<br />
3 3 3<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
36
73<br />
74<br />
Constraints – forces from actuators<br />
c<br />
N =− l c ( θ ) + l c ( θ ) + l c ( n ) torque from actuators<br />
<strong>and</strong> wind<br />
c : T c ( n ) g ( ) total sway force<br />
c : T c ( ) c ( ) g ( ) total surge force<br />
1 :<br />
z y T 1 y T<br />
N<br />
+ gw<br />
( vw)<br />
2 x b 3<br />
2 y = b 3 +<br />
Y<br />
w vw<br />
3 x = T θ1 + T θ2 +<br />
X<br />
w vw<br />
Constraints – dynamics <strong>and</strong> kinematics<br />
c4: −1⎡Tx⎤ −1<br />
v= M ⎢ ⎥−A<br />
( ψ ) vc<br />
⎣Ty⎦ linear acc. of body<br />
c5<br />
: p= A( ψ ) v+ vc<br />
geographical position<br />
c6: −1<br />
ψ = I N angular acc. of body<br />
d1<br />
:<br />
d<br />
v= v<br />
dt<br />
differential<br />
d2<br />
:<br />
d<br />
p= p<br />
dt<br />
differential<br />
d3<br />
:<br />
d d<br />
ψ = ( ψ)<br />
dt dt<br />
double differention<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
37
75<br />
76<br />
Constraints - measurements<br />
Variables<br />
m1<br />
: vm= v velocity - inertial system<br />
m2 : h1<br />
= ψ heading - gyro 1<br />
m3 : h2<br />
= ψ heading - gyro 2<br />
m4<br />
: p1 = p position - GPS 1<br />
m5<br />
: p2 = p position - GPS 2<br />
m6<br />
: cm = vc<br />
sea current - log&imu<br />
m : w = v wind - anomometer<br />
7<br />
m w<br />
Seperate variables into known K<strong>and</strong> unknown X.<br />
Seperate known vars. further into input <strong>and</strong> measured:<br />
K = Ki ∪ Km<br />
Unknown : X =<br />
⎧θ1, θ2,<br />
n3,<br />
⎫<br />
⎨ ⎬<br />
⎩Nz, Ty, Tx,<br />
ψ , vpv , , c, vw⎭<br />
Input : Ki = { u1, u2, u3}<br />
Measured : Km<br />
=<br />
⎧y1, y2,<br />
y3,<br />
⎫<br />
⎨ ⎬<br />
⎩h1, h2,<br />
vm, p1, p2, cm, wm⎭<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
38
77<br />
78<br />
The Constraint Editor in SaTool<br />
input<br />
Measured<br />
Unknown<br />
Structure Graph<br />
A graph constists of an<br />
ordered set of nodes <strong>and</strong><br />
vertices<br />
Let variables <strong>and</strong><br />
constraints be nodes<br />
Let vertices show which<br />
variables are used <strong>by</strong><br />
constraints<br />
The structure graph is bipartioned:<br />
a variable is<br />
always connected to<br />
constraint(s), a constraint<br />
always to variable(s)<br />
Create<br />
constraints<br />
Constraints<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
39
79<br />
80<br />
Matching of a structure graph<br />
Matching of a structure graph means to relate<br />
unknown variables to known ones through<br />
constraints (solve for the unknown variables)<br />
A matching is complete if all unknown variables are<br />
matched<br />
Constraints that are not used <strong>by</strong> a complete matching<br />
(unmatched constraints) areusedto test the<br />
correctness of the solution<br />
These are parity relations of the problem <strong>and</strong> are<br />
used for diagnosis<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Unmatched constraints are parity relations<br />
• Unmatched<br />
constraints<br />
constitute parity<br />
relations<br />
• Select one (shown<br />
<strong>by</strong> white color)<br />
• Trace the matching<br />
backwards (yellow)<br />
to get an analytic<br />
expression for the<br />
parity relation<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
40
81<br />
82<br />
Parity relations (normal operation)<br />
Autogenerated<br />
parity<br />
relations<br />
r1<br />
= a1( u1, b1( y1))<br />
r2<br />
= a2( u2, b2( y2))<br />
r3 = a3( u3, b3( y3))<br />
r4<br />
=<br />
c4( c2( b3( y3), m7( wm<br />
)), c3( b1( y1), b2( y2),...<br />
m7( wm)), d1( m1( vm)), m3( h2), m6(<br />
cm))<br />
r5 = c5( m3( h2), m6( cm), d2( m5( p2)), m1( vm))<br />
r6<br />
=<br />
c6( c1( b1( y1), b2( y2), b3( y3), m7(<br />
wm<br />
)) ,...<br />
d3( m3( h2)))<br />
r7 = m2( h1, m3( h2))<br />
r = m ( p , m ( p ))<br />
8 4 1 5 2<br />
Auto-generated parity relations<br />
Autogenerated<br />
parity<br />
relations in<br />
”clear”<br />
equation<br />
language<br />
8 2 1<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
r1 = gp( u1)<br />
− y1<br />
r2 = gp( u2)<br />
−y2<br />
r3 = gp( u3) − y3<br />
r4 =<br />
X<br />
−1⎡c ( 1) ( 2)<br />
( ) ⎤<br />
T y + cT y + gw wm<br />
−1<br />
M ⎢ ⎥−A<br />
( h2)<br />
c Y<br />
⎣ cb( y3) + gw(<br />
wm)<br />
⎦<br />
d<br />
− v<br />
dt<br />
r5 =<br />
d<br />
A( h2)<br />
vm + cm − p2<br />
dt<br />
r6= ⎛− lc( 2<br />
1 1) + ( 2)...<br />
⎞<br />
− y Ty lc y Ty<br />
dh2<br />
I ⎜ ⎟−<br />
⎜ N<br />
2<br />
+ ( 3)<br />
+ ( ) ⎟<br />
⎝ lc x <strong>by</strong> gwwm<br />
⎠ dt<br />
r7 = h2 −h1<br />
r = p −p<br />
m m<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
41
83<br />
84<br />
Properties of nominal system<br />
a1<br />
i<br />
a2<br />
i<br />
a3<br />
i<br />
b1<br />
i<br />
b2<br />
i<br />
b3<br />
i<br />
c1<br />
i<br />
c2<br />
d<br />
f1<br />
c3<br />
d<br />
In nominal mode, which faults are detectable, which are isolable ?<br />
When is it safe to continue operation ?<br />
Given: One or more faults/failures are present<br />
Determine:<br />
Is it safe to continue operation with this/these fault(s)<br />
present ?<br />
Are there any critical faults that can not be detected ?<br />
m<br />
1<br />
d<br />
m<br />
2<br />
i<br />
m<br />
3<br />
Could further faults be accommodated ?<br />
Solution: analysis of the structure graph<br />
i<br />
m<br />
4<br />
i<br />
m<br />
5<br />
i<br />
m<br />
6<br />
d<br />
m<br />
7<br />
i<br />
8<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
42
85<br />
86<br />
Fault means violation of a constraint<br />
• A fault/failure is a violation of a<br />
constraint<br />
m1<br />
: vm= v velocity - inertial system<br />
m2 : h1<br />
= ψ heading - gyro 1<br />
m3 : h2<br />
= ψ heading - gyro 2<br />
m4<br />
: p1 = p position - GPS 1<br />
m5<br />
: p2 = p position - GPS 2<br />
m6<br />
: cm = vc<br />
sea current<br />
- log&imu<br />
m : w ≠ v wind - anomometer fault<br />
7<br />
m w<br />
Analysis of multiple faults<br />
• SaTool offers the possibility to disable constraints<br />
(assume a failure in the constraint) <strong>and</strong> analyze the<br />
structure graph of the remaining system<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
43
87<br />
88<br />
Properties of the faulty system<br />
A salient feature of SaToo is the ability to analyze the faulty<br />
system with several simultaneous faults present.<br />
When f1 <strong>and</strong> f2 have happened, what if f3 is a fault in a1, a2, a3, ..<br />
f1<br />
a3<br />
f2<br />
m5<br />
m6<br />
m7<br />
a<br />
1<br />
i<br />
i<br />
i<br />
a<br />
2<br />
i<br />
i<br />
i<br />
a<br />
3<br />
-<br />
-<br />
-<br />
b<br />
1<br />
i<br />
0<br />
i<br />
b<br />
2<br />
i<br />
0<br />
i<br />
b<br />
3<br />
d<br />
d<br />
d<br />
Essentials from the structure graph<br />
c<br />
1<br />
d<br />
i<br />
d<br />
Auto-generated parity relations for diagnosis !<br />
Controlability (structural): are unknown variables<br />
reachable from input variables ?<br />
Monitorability: are constraints reachable from<br />
measured variables ?<br />
c<br />
2<br />
d<br />
d<br />
d<br />
f3<br />
c<br />
3<br />
d<br />
d<br />
d<br />
m<br />
1<br />
d<br />
0<br />
d<br />
m<br />
2<br />
i<br />
i<br />
i<br />
m<br />
3<br />
i<br />
0<br />
i<br />
m<br />
4<br />
i<br />
i<br />
i<br />
m<br />
5<br />
-<br />
0<br />
0<br />
m<br />
6<br />
d<br />
-<br />
d<br />
m<br />
7<br />
0<br />
d<br />
-<br />
#<br />
6<br />
6<br />
6<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Detectability: does the constraint enter into any of the<br />
parity relations ?<br />
Isolability: is there a unique signature in the set of<br />
parity relations <strong>by</strong> a particular fault (violation of<br />
particular constraint) ?<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
44
89<br />
90<br />
Maritime uses - Naval <strong>and</strong> Offshore<br />
Examples from the Danish SF300 class<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
Hovering with different shaft configurations<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
45
91<br />
92<br />
Manual Control<br />
Summary<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
• Fault-tolerant control: detect <strong>and</strong> isolate a fault <strong>and</strong><br />
h<strong>and</strong>le it <strong>by</strong> reconfiguring the controller (or the plant)<br />
• Parity relations are as residual generators used for<br />
fault detection <strong>and</strong> isolation<br />
• Parity relations can be generated through an analysis<br />
of system structure (structural analysis)<br />
• Other methods exist to get residual generators<br />
• Controller redesign is done on-line or off-line<br />
Mogens <strong>Blanke</strong> – Spring 2006<br />
46