Diszkrét és hibrid diagnosztikai és irányítórendszerek Diszkrét Eseményű Rendszerek Diagnosztikája és Irányítása Hangos Katalin Közlekedésautomatika Tanszék Rendszer- és Irányításelméleti Kutató Laboratórium MTA Számítástechnikai és Automatizálási Kutató Intézete e-mail: hangos@scl.sztaki.hu DesHyb-05 p. 1/32
Modellezés diagnosztikai és irányítási célra DesHyb-05 p. 2/32
Automaták szinkron kompozíciója Adott: két automata (állapot-leírása) A 1 = (Q 1,Σ 1,δ 1 ;q I1 ), A 2 = (Q 2,Σ 2,δ 2 ;q I2 ) Az A = A 1 A 2 automata A = (Q,Σ,δ;q I ) formális leírása: Q = Q 1 Q 2 Σ = Σ 1 Σ 2 q I = [q I1,q I2 ] állapot-átmeneti függvény δ(σ,[q 1,q 2 ]) = [δ 1 (σ,q 1 ),δ 2 (σ,q 2 )] if σ e 1 (q 1 ) e 2 (q 2 ) [δ 1 (σ,q 1 ),q 2 ] if σ e 1 (q 1 ) \ Σ 2 [q 1,δ 2 (σ,q 2 )] if σ e 2 (q 2 ) \ Σ 1 undefined otherwise DesHyb-05 p. 3/32
Automata modellek kimenettel Moore automata: a ϕ : Q Σ O kimeneti függvénnyel megadva A Moore = (Q,Σ,δ;q I ;Σ O,ϕ) Mealy automata: a Σ ABC módosításával megadva, Σ Mealy = Σ {Σ O ε}, ahol ε az üres esemény Konverzió A Mealy = (Q,Σ Mealy,δ;q I ) 01 a 02 1 b b 2 a 1 a / 02 b / 01 2 c b / 02 a / 03 3 c / 01 03 3 DesHyb-05 p. 4/32
Példa: Egyszerű szelep Moore automata leírás NO_FLOW Valve_closed emergency shut_off open one_turn close one_turn PARTIAL_FLOW Valve_partially open close one_turn Valve_open open one_turn MAXIMUM_FLOW DesHyb-05 p. 5/32
Petri hálók kimenettel Rendszerelméleti leírás: állapot: jelölés (egy adott időpillanatban) bemenet: nulla be-fokú hely (forrás hely) nulla be-fokú átmenet (forrás átmenet) kimenet: (megfigyelhető) események, azaz tüzelő átmenetek Egy Petri háló működési sorozat nyoma: egy átmenetekből (mint szimbólumokból) álló string. DesHyb-05 p. 6/32
Nem-determinisztikus automaták Formális leírás: A nd = (Q,Σ ε,δ nd ;Q I,Q F ) üres esemény nem egyértelmű hatású esemény δ nd (q i,σ j ) Q Átmeneti (függvény) reláció string inputra: s string, σ szimbólum δ nd (q,sσ) = {q : q = δ nd (y,σ), y δ nd (q,s) Q} Értéke állapotok halmaza Argumentuma is lehet állapotok halmaza DesHyb-05 p. 7/32
Egyszerű példa Nem determinisztikus automata a a 0 1 b Állapot átmeneti függvény δ nd (0,a) = {0,1} δ nd (0,ab) = {0} δ nd (0,aa) = {0,1} δ nd (0,aab) = {0} DesHyb-05 p. 8/32
Egyszerű szelep hibaállapotokkal Moore automata leírás 01 b 1h 2ah a a ε 1 a a ε 2 b ε 2fh 01 b b a b a c 3 ε 3h b 03 03 DesHyb-05 p. 9/32
Állapotbecslés DesHyb-05 p. 10/32
LTI rendszerek megfigyelhetősége Problémafelvetés Adott: állapottér modell (A, B, C) (vagy (Φ, Γ, C)) paraméterekkel u és y jelek véges időintervallumon mért értékei Kiszámítandó: az állapotváltozó vektor (x) értékei a véges időintervallumon Elegendő kiszámítani: x(t 0 ) = x 0 DesHyb-05 p. 11/32
Állapot megfigyelő automata Adott: (nem-determinisztikus) automata kezdőállapot megfigyelt eseménysorozatok (stringek), természetes projekció P(ε) := ; P(σ) := σ ha σ ε P(sσ) := P(s)P(σ) ha σ Σ, s Σ Meghatározandó: egy olyan automata, A obs, amely minden lehetséges s = P(s) megfigyelésre meghatározza az azzal összeegyeztethető állapotokat. Algoritmus: 1. q obs 0 = {q 0 } 2. q obs i = δ nd ( q obs i 1,εε...s i ε...ε) Q DesHyb-05 p. 12/32
Hibás szelep állapot megfigyelő automata Az automata állapot átmeneti gráfjának része 13/32 p. DesHyb-05
Jelölés megfigyelés Petri hálókra Feladatkitűzés Adott: egy PN = (P,T,I,O) Petri háló szerkezete, n = P makro-jelölés, azaz V(V,b) = {µ N n V T µ = b} a V hely-súlyokkal megfigyelt tüzelési sorozat (string): w = t i1 t i2...t ik Meghatározandó: egy olyan µ jelölés, amelyet a valódi µ(k) jelölés lefed (µ l (k) µ l(k), l = 1,...,n) és összeegyeztethető a megfigyelt stringgel. Algoritmus: 1. µ (0) = 0, j = 1, B 0 = b 2. t ij tüzel 3. javítjuk a becslést: µ p(j) = max{µ p(j 1),I(p,t ij )}, majd µ (j) = µ (j) + µ O(tij ) µ I(tij ) 4. javítjuk a korlátot: B j = B j 1 V T (µ (j) µ (j 1)) DesHyb-05 p. 14/32
Jelölés megfigyelés Petri hálókra 2 Egyszerű példa: makro-jelölés V T = [1 1 1] és b = 3 (3 jelölő pontunk van) 0. lépés: µ (1) = [0 0 0], B 0 = 3 1. lépés: w 1 = t 1, µ (1) = [0 0 1] T, µ (1) = [1 0 0], B 1 = 2 DesHyb-05 p. 15/32
Jelölés megfigyelés Petri hálókra 3 Megfigyelő lefedhetőségi gráf (OCG) korlátos Petri hálókra Csúcsok: (µ /u) pároknak feleltethetők meg, ahol µ jelölés (a kezdeti valódi µ(0) jelölés nem ismert) u a becslési hiba (kezdetben u(0) = µ (0)) Élek: az engedélyezett átmenetek tüzelésének feleltethetők meg, élsúly az átmenet azonosítója Az OCG az állapot megfigyelő automata állapot átmeneti gráfjának felel meg egy adott (kísérleti) µ (0) kezdeti becslés mellett. DesHyb-05 p. 16/32
! "! "! " DesHyb-05 p. 17/32! # # "!! Jelölés megfigyelés Petri hálókra 4 Egyszerű példa OCG gráfja!!" " # "!" "!"
Diagnosztika DesHyb-05 p. 18/32
Diagnosztika állapot megfigyeléssel 1 Automata modellel: az állapot megfigyelő automata módosításával Adott: (nem-determinisztikus) automata (=rendszer modell) Mealy leírása kezdőállapot nem-megfigyelhető események halmaza (Σ uo Σ, ε Σ uo ) megfigyelt eseménysorozatok (stringek): Σ \ Σ uo -beli karakterekkel diagnosztizálandó nem-megfigyelhető esemény e d Meghatározandó: egy olyan automata, A diag, amely minden lehetséges megfigyelésre meghatározza, hogy biztosan megtörtént-e, illetve megtörténhetett-e e d. DesHyb-05 p. 19/32
Diagnosztika állapot megfigyeléssel 2 Módosított természetes projekció P(e) := ha e Σ uo ; P(e) := e ha e (Σ \ Σ uo ) P(se) := P(s)P(e) ha e Σ, s Σ Példa: szelep automata c nem megfigyelhető diagnosztizálandó eseménnyel Σ uo = {ε,c} a 1 b 2 b a c 3 egy megfigyelés: y = P(aacaacaa) = aaaaaa DesHyb-05 p. 20/32
Diagnosztika állapot megfigyeléssel 3 A A diag diagnosztizáló automata: az állapot megfigyelő automata olyan módosítása, ahol címkékkel látjuk el az állapotokat (e d nem megfigyelhető diagnosztizálandó esemény) "N" címkét kapnak azok az állapotok, amelyeket a Q I kezdőállapotból a (Σ uo \ e d )-beli nem-megfigyelhető karaktereket is tartalmazó stringekkel lehet elérni "Y" címkét kapnak azok, amelyekhez vezető stringekben az e d legalább egyszer szerepel ha egy állapot mind "N" mind "Y" féleképpen elérhető, akkor mindkét címkéjű változatot szerepeltetjük. A diag -nak (sokkal) több állapota lehet, mint A obs -nek DesHyb-05 p. 21/32
Diagnosztika állapot megfigyeléssel 4 Diagnosztikai eredmény a k-adik lépésben: ha a A diag kurrens állapotabeli valamennyi állapot "N" címkéjű, akkor e d biztos nem következett be (eddig) "Y" címkéjű, akkor e d legalább egyszer bekövetkezett valamikor a múltban DesHyb-05 p. 22/32
./, - 6 345, DesHyb-05 p. 23/32 ( & $ 2 & % 0 1 ( $ 2 & % 2 1 ( $ 2 a b 3 ) ) * + ) * ) ) ) * + 1 a b c & ' $ & 0 ' $ 2 & ' $ Egyszerű szelep példa ) & % $ * ) & 0 % $ * ) 2 & % $ * Σuo = {ε,c}, ed = c
Diagnosztika következtetéssel 1 Rendszermodell: 1. lokális ok-okozati összefüggések leírása szabályokkal 2. Petri háló reprezentáció helyek: predikátumok átmenetek: szabályok, előfeltétel és következmény rész leírása az előfeltételi és következmény függvénnyel DesHyb-05 p. 24/32
Diagnosztika következtetéssel 2 Egyszerű példa: autó indítási probléma (nem indul) Szabályok: Gyújtáskapcsoló rossz Nincs gyújtás (t 3 ) Biztosíték kiégett Nem ég a lámpa (t 1 ) Akku üres Nem ég a lámpa (t 2 ) Akku üres Nincs gyújtás (t 2 ) Benzin hiány Nem indul a motor (t 4 ) Nincs gyújtás Nem indul a motor (t 5 ) Helyek: gyökér okok: Gyújtáskapcsoló rossz, Biztosíték kiégett, Akku üres, Benzin hiány. szimptómák: Nincs gyújtás, Nem ég a lámpa, Nem indul a motor. DesHyb-05 p. 25/32
Diagnosztika következtetéssel 3 DesHyb-05 p. 26/32 Egyszerű példa: autó indítási probléma Petri háló reprezentáció CBD @E B @ >?@A I T N NP OD U B @ G S?T 9 < 9 = O NPNJA KD LMJN H IDJ F EG HID J @MJREG SB 9 ; QK GGP?J 9 : I KB?R? K BI? I NJ >B A OD TLD S?T?RD 7 8
Felügyelő irányítás DesHyb-05 p. 27/32
Irányítás: az általános probléma Adott rendszermodell irányítási cél Kiszámítandó bemeneti jelsorozat, amellyel teljesül az irányítási cél Néhány irányítási cél: stabilizálás zavarelhárítás optimális irányítás DesHyb-05 p. 28/32
Automata irányítási probléma Rendszer leírás: automata modellel Irányítási cél: irányítás nélküli (open-loop) viselkedés: L(A) megadásával kívánt (closed-loop) viselkedés: L a specifikáció megadásával, ahol L r L a L(A) Felügyelő szabályozó: S rendszer kimenetek: megfigyelhető események rendszer bemenetek: Σ ABC feletti stringek (esemény sorozatok) beavatkozások: irányítható események szabályozó működése dinamikus: S minden lépésben kijelöli, hogy a lehetséges események közül melyik engedélyezett (csak tiltani tud a lehetőségek közül) DesHyb-05 p. 29/32
Irányítás Petri háló modellel 1 Irányítási cél: specifikáció előírt feltételek a megengedett/megkívánt jelölésekre (pl. elérhetőségi feladat optimális irányítás) nem kívánt jelölések tiltása Szabályozó: kiegészítés a szabályozás nélküli Petri hálóhoz (állapot visszacsatolásos szabályozó) rendszer állapotok: jelölések beavatkozások: "irányítható" átmenetek tüzelési feltételeinek módosítása belső (slack) változók, dinamikus visszacsatolás DesHyb-05 p. 30/32
Irányítás Petri háló modellel 2 Specifikáció: a p 2 és p 3 helyeken ne legyen több két jelzőpontnál (µ(p 2 ) + µ(p 3 ) 2) X ] X Z X Y X Z X Y V Y V Z V W V Y V Z V W X \ V [ V \ X [ X \ V [ V \ X [ DesHyb-05 p. 31/32
Köszönöm a figyelmet! DesHyb-05 p. 32/32