Lärare i kursen TSFS06 Diagnos och övervakning, 6hp Föreläsning 1 - Kursformalia och introduktion Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se Kursansvarig/lektion: Erik Frisk frisk@isy.liu.se Lektion/laboration: Daniel Eriksson daner@isy.liu.se Laboration: Neda Nickmehr neda.nickmehr@liu.se http://www.fs.isy.liu.se/edu/courses/tsfs06/ 2014-03-25 1 2 Denna föreläsning - disposition 1 Kursformalia 2 Industriell motivering 3 Vad är diagnos? Krama ut så mycket information om felaktigt beteende som möjligt ur observationerna via signalbehandling, matematiska modeller, samt logiskt beslutsfattande. 4 Skissa på hur man gör/tänker 5 Arkitekturen för diagnossystem 6 Hur ser designprocessen ut för ett diagnossystem? Kursformalia vilken typ av kurs är det här: teori, forskningsfront, praktik/industriell relevans flera ämnen: statistik, sannolikhetslära, signalbehandling, reglerteknik, logik 3 4
Mål med kursen veta varför diagnos används inom olika industriella applikationer. veta hur man kan analysera vilka fel i en komplex process som behöver övervakas för att uppnå de övergripande målen. från en fallbeskrivning kunna strukturera problemet och ta fram princip och arkitektur för en komplett implementering av ett diagnossystem. givet en formell modellbeskrivning kunna välja lämplig matematisk metod för att lösa problemet. veta för- och nackdelar med de metoder som ingår i kursen. kunna tillämpa matematiska verktyg och metoder från ett brett spektrum av tidigare kurser för att lösa diagnosproblem. kunna värdera och verifiera funktionalitet och prestanda hos ett diagnossystem. ha en fördjupad och bred teoretisk insikt i ämnet, tillräcklig för att kunna tillgodogöra sig nya forskningsresultat i fältet. Föreläsningsplan Fö1: Kursformalia, introduktion till diagnos Fö2: Felisolering Fö3: Linjär residualgenerering Fö4: Detekterbarhet Fö5: Design av teststorheter Fö6: Tröskling och analys av teststorheter Fö7: Olinjär residualgenerering och observatörer Fö8: Change Detection, säkerhetsarbete med FMEA/FTA Fö9: Multipelfelisolering, AI Fö10: Sannolikhetsbaserad diagnos Fö11: Gästföreläsning + vetenskaplig presentation 5 6 Gästföreläsare 2014 Volvo Cars 2013 Volvo Cars 2012 Saab Aerosystems 2011 Scania 2010 Saab Automobile Powertrain AB 2009 Saab Aerosystems 2008 Siemens Industrial Turbomachinery 2007 ABB Corporate Research 2006 Sörman Information and Media 2005 ABB Corporate Research 2004 Saab Aerosystems 2003 Scania 2002 Scania Kursformalia Kursmaterial: Kompendium, räknehäfte samt utdrag ur två böcker. Finns även en del hjälpdokument inför laborationer att ladda ned från kurshemsidan. Föreläsningar. Lektioner/räkneövningar: 1 lektionsgrupp (2 för datorövningar). Laborationer: 3 laborationer (2 rapporter/1 examineras på plats). 1 Lab 1 - Linjär residualgenerering 2 Lab 2 - Diagnos av ett bränslesystem 3 Lab 3 - Olinjär residualgenerering Lab-PM läggs upp på kurshemsidan i god tid innan laboration. Examination: Tenta (U,3,4,5) 4,5hp Labkurs (U,G) 1,5hp (två personer/grupp) 7 8
Lite industriella motiveringar för diagnos Industriell motivering till diagnos 9 10 Kostnadskalkyler 11 12
Varför diagnos i fordon? Huvudsakliga drivande kraften är emissionsrelaterade lagkrav OBD - On-board diagnostics OBD/OBD-II Carb (California Air Resource Board) http://www.arb.ca.gov/msprog/obdprog/obdregs.htm EOBD för Europa Motsvarande för tunga fordon kom 13 14 Konsekvenser av (kraftig) misständning (misfire) 1/2 Konsekvenser av (kraftig) misständning (misfire) 2/2 bild från http://www.pawlikautomotive.com/ 15 bild från http://www.pawlikautomotive.com/ 16
Copyright Sörman Information AB. All rights reserved. e Information Problem Varför diagnos i fordon? Modellbaserad diagnos - bakgrund 17 18 Akademiskt mycket aktivt fält Lite olika perspektiv på diagnos och övervakning Scopus-fråga: fault AND (diagnosis OR detection) Modellbaserad diagnos nformation Diagnos off-line Diagnos on-line Flera olika perspektiv/tillämpningar möjliga Verkstad Delvis överlappande Only Relevant, Correct and Applicable Information Easily Accessable Funktionsövervakning Expertsystem Vibrationsanalys Prognostik Feltolerant reglering Man kan tänka sig fler/andra ringar och närbesläktade ord Här: Främst modellbaserat med kontinuerliga modeller 19 20
Varför diagnos? Ett svårt problem Säkerhet Flyg, kärnkraftverk,... Miljöskydd Avgasreningssystem i bilar (lagkrav), kemisk industri,... Maskinskydd Hitta fel så tidigt som möjligt innan större skada utvecklats Tillgänglighet och flexibelt underhåll Undvik oförutsedda avbrott. Industrirobotar, lastbilar, elkraftverk Varför nu? Lagkrav Snabba utvecklingen av datortekniken, processorkraft över till diagnos. Konstruktion av system vs. komponenter Integrerade system Något som ofta görs efteråt, i mån av tid, vill man nu göra parallellt med övrig konstruktion. Konstruktion för diagnos (ex.vis sensorplacering, val av sensorer etc.) En ansenlig del av styrsystemskoden kan vara diagnoskod. I till exempel bilsammanhang så är en siffra som ibland nämns 50% av koden i styrenheten diagnosrelaterad. Vid utveckling av en produkt så har man normalt mycket kunskap om processen som skulle kunna användas för övervakning. Men hur? Metodik krävs för att kunna göra detta effektivt. 21 22 Begrepp att kunna Diagnosproblemet Diagnosproblemet Observation Mod/fel Diagnos Diagnossystem 23 24
Diagnos Diagnosproblemet - Lite mer formellt. control inputs I systemtekniska sammanhang betyder verbet diagnos att automatiskt, och helst under normal drift, detektera fel, dvs upptäcka att något hänt. (ibland)isolera fel, dvs peka ut vilken komponent som är trasig. disturbances faults Plant observations Diagnosis System diagnosis statement Systemet kan vara i olika moder, dvs vara felfri eller ha olika möjliga fel. För att avgöra hur systemet mår används kända styrsignaler och mätsignaler en så kallad observation. 25 Diagnos En förklaring, dvs de moder/fel, som stämmer med de observerade signalerna kallas för en diagnos. Ex: Vi observerar att personen är snuvig, då är förkyld en diagnos och allergisk en annan diagnos. Det finns ofta flera möjliga diagnoser. 26 Diagnosproblemet - Lite mer formellt. Exemplifiering av diagnosproblemet control inputs disturbances Plant observations Diagnosis System diagnosis statement S L faults B Diagnosproblemet Givet en observation: Hitta alla diagnoser alla diagnoser = f (observation) Kontrollerat beslutsfattande: gissningar kan vara alltför riskfyllt. Varianter: hitta de mest sannolika/enklaste diagnoserna. Ett system som realiserar funktionen f är ett diagnossystem. Genom att inkludera tillräckligt mycket kunskap om systemet i f kan detektion och isolation uppnås. 27 Möjliga fel: Strömbrytaren fastnar i öppet läge, fastnar i stängt läge, och trasig lampa. Insignal: Önskat läge hos strömbrytaren {öppen, stängd} Observationer: önskat läge hos strömbrytaren, lyser lampan eller inte 28
Exemplifiering av diagnosproblemet, forts önskad position lamp- diagnoser hos observation strömbrytare öppen ej tänd OK, S fastnat öppen, L trasig, S fastnat öppen och L trasig, S fastnat sluten och L trasig öppen tänd S fastnat sluten stängd ej tänd S fastnat öppen, L trasig, S fastnat öppen och L trasig, S fastnat sluten och L trasig stängd tänd OK, S fastnat sluten Exemplifiering av diagnosproblemet, forts Vad blir svaret av: <öppen, ej tänd> samt <stängd, ej tänd>? Hur gör vi i mer komplicerade fall? Obs Bara för att ett system uppför sig normalt så kan vi normalt inte dra slutsatsen: felfritt. Vanligt att det krävs vissa arbetspunkter/yttre omständigheter för att man ska kunna unikt peka ut vilken komponent som felat. Kom ihåg, kontrollerat beslutsfattande. Ovanstående tabell representerar ett enkelt diagnossystem. diagnoser = f (observationer) 29 30 När kan man utföra diagnos? För att kunna detektera felaktigt beteende krävs extra, ofta kallad redundant (egentligen ej ett bra ord), kunskap. Ingenjören jämför sina observationer med sin expertkunskap Redundans För att kunna automatisera diagnos i en dator måste expertkunskapen formaliseras. Redundans kan tillhandahållas av till exempel: Extra hårdvara, exempelvis flera sensorer som mäter samma storhet Modeller i form av analytiska/logiska ekvationer, tillståndsautomater, etc. Modeller i form av expertkunskap och erfarenhet För att inte bara kunna detektera utan också isolera fel så krävs tillräckligt med redundans och också rätt sorts redundans. 31 32
Traditionell diagnos och modellbaserad diagnos hårdvaruredundans tröskling av mätsignaler (limit-checking) hastighetsbegränsning av fysikaliska storheter (rate-limit) ofta olika begränsningar i olika arbetsområden Traditionell diagnos är på sätt och vis modellbaserad diagnos. Bara med väldigt enkla modeller. för samma diagnosprestanda, modellbaserad diagnos behöver inte nödvändigtvis vara beräkningsmässigt mer krävande eller mer komplext än traditionella ansatser. Men det kan också vara det, allt beroende på situation. Men, att använda mer avancerade modeller så kan man öka diagnosprestandan: snabbare detektion, mer exakt felisolering, färre falsklarm. Traditionell diagnos: hårdvaruredundans Montera två sensorer att mäta samma storhet Sensor A X Sensor B Detektera fel genom att jämföra sensorvärdena r = Sensor A Sensor B Pålitligt Dyrt Inte alltid möjligt Vilken av sensorerna är det fel på? 33 34 Redundans via matematiska modeller: princip Antag att vi inte har råd med den där extra sensorn Analytisk redundans/modellbaserad diagnos Sensor A Sensor B Sensor C X Y Enkelt uttryckt: analytisk redundans existerar om vi kan bestämma en storhet på mer än ett sätt. Kopplar till överbestämdhet i modellen Antag två sensorer mäter en variabel x enligt y 1 = x y 2 = x istället har vi en sensor C som mäter en annan storhet Y en matematisk modell mellan storheterna X och Y Fel kan upptäckas hos båda givarna genom att testa om relationen y 1 y 2 2 = 0 vilket ger möjligheten X = Modell(Y ) gäller. r = Sensor A Modell(Sensor C) 35 36
Olinjära dynamiska system och observatörer Exempel: Diagnos på en produktionsmotor En vanlig typ av reglerteknisk modell är tillståndsformen boost leak Intercooler Whfm ẋ = g(x, u) y = h(x) Denna modell har redundans, varför? Observatörer är ett vanligt sätt att avgöra om y och u är konsistenta med modellen. Detta görs genom att skatta tillståndet x och jämföra y med h(ˆx), dvs. pb T Wth q manifold leak Wcyl pm Turbo ˆx = g(ˆx, u) + K(y h(ˆx)) r = y h(ˆx) n Bra för detektion, men räcker inte rakt av för isolering. Lite olika typer av fel, kräver olika typer av modeller och därmed olika typer av signalbehandling. 37 38 Analytisk redundans throttle air mass-flow manifold pressure Signalbehandling och tröskling engine speed Fysikaliska samband mellan fysikaliska storheter ger analytisk redundans. ṗ = k(w in (α, p) W ut (p, n)) Antag vi mäter de ingående variablerna, y p = p, y α = α och y n = n. r = ẏ p k(w in (y α, y p ) W ut (y p, y n )) 39 40
Var byter mätsignalen nivå? Var byter mätsignalen intensitet/varians? 4 4 2 2 0 0 2 2 4 0 50 100 150 200 250 300 350 400 450 500 4 0 50 100 150 200 250 300 350 400 450 500 20 15 10 5 0 0 50 100 150 200 250 300 350 400 450 500 12 10 8 6 4 2 0 0 50 100 150 200 250 300 350 400 450 500 41 42 Mätsignal för att detektera misständning(misfire) Hall-effekt, sensor Exempel på misständningar 4800 4750 Varm motor Speed 1310 rpm Load 0.4 g/rev Svänghjul µs 4700 4650 4600 Misfire 4550 Stansade hål 4500 4450 0 50 100 150 200 250 Sample Kall motor och låg last 3260 3240 3220 µs 3200 3180 3160 Misfire 43 3140 3120 3100 3080 3060 0 50 100 150 200 250 Sample Speed 1580 rpm Load 1.1 g/rev 44
Tröskling av residualer, adaptiva trösklar För att avgöra när en residual är skild från 0 behövs en tröskel. Perfekt modell J = ɛ > 0, brus och modellfel ger högre tröskel. Konstant/adaptiv tröskel? Tröskelnivå ger avvägning falsklarm/detekteringsförmåga. Om man tex. vet att man har bättre modell för statiska förlopp än i dynamiska passager adaptiv tröskel Uppmätta data från en ventil i luftsystemet i Gripen: Felisolering 3 Solid: residual; Dashed: thresholds 2 1 R 3 0 1 2 3 30 35 40 45 50 55 Time [s] 45 46 Felisolering Hittills har vi bara betraktat detektion Hur kan vi isolera felande komponent, dvs. peka ut var i systemet vi misstänker fel Finns många metoder, men vi kommer i den här kursen fokusera på en metod från konsistensbaserad diagnos. Felisolering, trippelredundans Tre givare mäter samma storhet (trippelredundans): y 1 =x y 2 =x y 3 =x Tre residualer kan bildas genom parvis jämförelse av givarsignaler: r 1 = y 1 y 2 r 2 = y 1 y 3 r 3 = y 2 y 3 Alla är 0 då ekvationerna är uppfyllda, dvs. processen uppför sig som förväntat. De tre residualerna reagerar olika på fel i givarna. Isolationsmöjligheter 47 48
Isolationsexempel Isolationsexempel, forts. Låt F i beteckna fel i givare y i. Residualerna r 1 = y 1 y 2 r 2 = y 1 y 3 NF F 1 F 2 F 3 r 1 0 X X 0 r 2 0 X 0 X r 3 0 0 X X reagerar på felen enligt: r 3 = y 2 y 3 NF F 1 F 2 F 3 r 1 0 X X 0 r 2 0 X 0 X r 3 0 0 X X i larmar typiskt då absolutbeloppet av residual r i är större än en given tröskel: r i > J i Antag att test 1 och 2 larmar. Antag enkelfel. r 1 > J 1 F 1 eller F 2 r 2 > J 2 F 1 eller F 3 Slutsatsen i det här fallet blir att den enda möjliga moden är F 1, dvs F 1 är den enda diagnosen. 49 50 Isolering med strukturerade hypotestester Isoleringsstrategin kan illustreras med en tabell där X på plats i, j betyder att fel j kan påverka residual i. NF F 1 F 2 F 3 r 1 0 X X 0 r 2 0 X 0 X r 3 0 0 X X Felmodellering Vi drar ingen slutsats av att test inte larmar. Det kan vara OK men det kan också vara små fel som inte syns i residualerna. Om t ex test 1 larmar är det fel i givare 1 eller 2, dvs F 1 F 2. 51 52
Exempel på felmodellering Modellera fel med signaler För att kunna isolera fel så är det lämpligt att modellera hur en felaktig process fungerar. Många olika typer av modeller kan tänkas: Signaler Förändringar i konstanta parametrar Abrupta förändringar Intermittenta fel ẋ = Ax + Bu y 1 = C 1 x y 2 = C 2 x Additivt fel på sensor 1 f 1 och på styrsignalen u betecknas med f 2 blir ẋ = Ax + B(u + f 2 ) y 1 = C 1 x + f 1 y 2 = C 2 x Här är det viktigt att skilja på sensorsignalen och den variabel som man vill mäta. 53 54 Förändringar i konstanta parametrar Felaktig massflödesensor i Mercedes E-klass Typiska fel som modelleras på detta sätt: förändringar i fysikaliska konstanter, förstärkningsfel, offsets (tex bias i sensorer), ändringar i varianser, Exempel: förstärkare 35 30 25 y(t) = gu(t) + v(t) v(t) N(0, σ 2 ) { { g = 1 felfritt 1 felfritt, σ = c 1 fel c >> 1 fel deviation [%] 20 15 Roterande massa: (µ friktionskoefficient) 10 J ω = µω + M { 1 felfritt µ = c >> 1 fel 55 5 0 5 10 1 10 2 10 3 air mass flow [kg/h] 56
Arkitektur för diagnossystem Diagnosis Statement Arkitekturen för diagnossystem Fault Isolation 57 Observations 58 En procedur för design av diagnossystem Procedur för design av diagnossystem 1 Ta fram krav på vilka fel som måste diagnostiseras. Kan baseras på lagkrav, säkerhetskrav,... (FMEA) 2 Bygg en modell av processen för det felfria fallet 3 Bygg felmodeller, dvs. utöka modellen för det felfria systemet med modeller för hur de olika felen påverkar systemet. 4 Med hjälp av modellen, konstruera residualer/teststorheter som gör att felen kan detekteras och isoleras. Detta är ett svårt steg och ämnet för den här kursen. 5 a systemet i simuleringsmiljö och, om möjligt, i verkligheten. 6 Implementera Denna kurs behandlar steg 4 (och i viss mån steg 1 och 3). Notera att de andra stegen kan vara minst lika svåra! 59 60
Design av diagnossystem Design av diagnossystem - exempel Givet: modell för det felfria fallet 1 Definiera beteendemoder 2 Definiera felmodeller 3 Analysera modellredundans 4 Skapa residualer/teststorheter 5 Bestäm trösklar 6 Avgör testens felkänslighet och skapa beslutsstrukturen. Givet: modell för det felfria fallet x = u y 1 = 2x y 2 = 4x + 1 där u är en känd styrsignal, y i två kända givaresignaler och x är en okänd variabel. Det kan bli fel på ställdonet och de två givarna. Uppgift: Designa ett diagnossystem för enkelfel. 61 62 Design av diagnossystem - definiera beteendemoder Felfri modell: x = u y 1 = 2x y 2 = 4x + 1 Det kan bli fel på ställdonet och de två givarna. Inför beteckningar för felfri mod samt för enkelfel NF: (No-Fault) varken givare eller ställdon är fel F 1 : fel på bara y 1 F 2 : fel på bara y 2 F 3 : fel på bara u Design av diagnossystem - definiera felmodeller Felfri modell: Notera: x = u y 1 = 2x y 2 = 4x + 1 u den styrsignal som vi applicerar. Modell med införda additiva felsignaler: x = u + f 3 y 1 = 2x + f 1 y 2 = 4x + 1 + f 2 u + f 3 indikerar den faktiska påverkan på systemet. Beteendemoder: NF: No-fault f i = 0 F 1 : fel på bara y 1 f 1 0, f 2 = f 3 = 0 F 2 : fel på bara y 2 f 2 0, f 1 = f 3 = 0 F 3 : fel på bara u f 3 0, f 1 = f 2 = 0 63 64
Design av diagnossystem - analysera modellredundans Sök redundans i modellen för felfritt beteende, dvs då f i = 0. Det finns redundans, ty x kan beräknas på fler än ett sätt. Felfri modell: x = u (1) y 1 = 2x (2) y 2 = 4x + 1 (3) Design av diagnossystem - residualer/teststorheter Konsistensrelationerna ger residualerna: r 1 = y 1 2u r 2 = y 2 4u 1 Residualernas felkänslighet kan beräknas genom att använda modellen x = u + f 3 y 1 = 2x + f 1 y 2 = 4x + 1 + f 2 Eliminering av x ger t ex konsistensrelationerna: (1), (2) 0 = y 1 2u (1), (3) 0 = y 2 4u 1 Detta visar att den modellen för felfritt beteende har statisk redundans. 65 för att eliminera de kända variablerna i residualen som följer: r 1 = y 1 2u = (2x + f 1 ) 2(x f 3 ) = f 1 + 2f 3 r 2 = y 2 4u 1 = (4x + 1 + f 2 ) 4(x f 3 ) 1 = f 2 + 4f 3 Detta kallas för den interna formen. 66 Design av diagnossystem - beslutsstruktur Design av diagnossystem - beslutsstruktur Antag att modellosäkerheter och brus gör att vi larmar om endast om beloppet av residualerna är större än tröskeln J = 1, dvs larm i = r i > J NF F 1 F 2 F 3 r 1 0 X 0 X r 2 0 0 X X Beslutsstrukturen blir för residualerna r 1 = f 1 + 2f 3 r 2 = f 2 + 4f 3 Om r 1 inte larmar, kan det vara frestande att dra slutsatsen det inte är F 1 eller F 3, dvs det måste vara NF eller F 2. Men detta är ofta ingen bra slutsats Ex: Om r 1 inte larmar så är vad som helst vara möjligt, t ex fel F 1 : blir NF F 1 F 2 F 3 r 1 0 X 0 X r 2 0 0 X X F 1 : f 1 = 0.5, f 2 = f 3 = 0 r 1 = 0.5 < 1 inget larm 67 68
Beräkna diagnoser givet observationer Givet en observation: 1 Beräkna residualerna r i 2 Beräkna testresultaten genom att tröskla residualerna, larm i = r i > J i 3 Använd isoleringslogiken för att beräkna diagnoserna Hur reagerar vårt diagnossystem på ett injicerat fel? Antag att vi styr systemet med insignalen u = 0 och att vi injicerar ett fel i aktuatorn (F 3 ) så att f 3 = 1. Diagnosis Statement Fault Isolation Givarna visar: x = u + f 3 = 0 + 1 = 1 y 1 = 2x = 2 y 2 = 4x + 1 = 5 Insignalerna till diagnossystemet blir observationerna: u = 0, y 1 = 2, y 2 = 5 Observations 69 70 Hur reagerar vårt diagnossystem på ett injicerat fel? Antag att vi styr systemet med insignalen u = 0 och att vi injicerar ett fel i aktuatorn (F 3 ) så att f 3 = 1. Insignalerna till diagnossystemet blir observationerna: u = 0, y 1 = 2, y 2 = 5 Det ger residualerna och larmen: r 1 = y 1 2u = 2 > 1 larm r 2 = y 2 4u 1 = 4 > 1 larm Enligt beslutsstrukturen blir diagnosen: NF F 1 F 2 F 3 r 1 0 X 0 X r 2 0 0 X X + utfall r 1 1 r 2 1 F 3 är enda diagnosen Att ta med sig från denna första föreläsning Modellbaserad diagnos är att med hjälp av observationer och en matematisk modell av en process dra slutsatser om eventuella fel som kan finnas i systemet. Lite grovt kan man säga; Diagnossystem: alla diagnoser = f (data) Ett av målen med den här kursen: krama ut så mycket information som möjligt ur modellen och kondensera in i funktionen f ( ) ovan. Enkelt uttryckt: ett diagnossystem består av ett antal detektorer med specifika egenskaper följt av felisoleringslogik Diagnossystemet både detekterar och isolerar felet korrekt. 71 72
TSFS06 Diagnos och övervakning, 6hp Föreläsning 1 - Kursformalia och introduktion Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 2014-03-25 73