Diagnostic à base de modèles à événéments discrets Module Outils et Techniques de Diagnostic Cours basé sur le polycopié de M. Combacau Euriell Le Corronc et Pauline Ribot M2 IDIM Université Toulouse 3 - Paul Sabatier 2020-2021 E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 1 / 37 1 Brève introduction sur les SED 2 Rappels sur les langages et les automates 3 Introduction au diagnostic E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 2 / 37 Systèmes à événements discrets Pourquoi étudier les SED ? Les systèmes sont de plus en plus complexes Apparition d’ordinateurs et du traitement informatique (numérique) Utiles lorsqu’on peut discrétiser un système quelconque (modélisation qualitative) Exemple Réseaux de transport Réseaux informatiques Ordinateurs, calculateurs Protocoles manufacturiers, . . . E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 3 / 37 Systèmes à événements discrets Caractéristiques SED 2. Systèmesdes à événements discrets Etat discret : abstraction d’états en classe discrète d’états événementielle : l’occurrence d’un événement peut Dynamique Caractéristiques des SED provoquer un changement d’état (asynchrone/synchrone) Etat discret, dynamique événementielle (asynchrone) Etat discret x3 x4 x2 x5 x1 Temps e1 E. Le Corronc, P. Ribot e2 e3 e4 e5 e6 Diagnostic à base de modèles à événéments discrets 4 / 37 Systèmes à événements discrets Concept d’événement Instantané, contrôlable (action) ou spontané (panne) Exogène ou endogène Observables ou non-observables Evénements observables : alarmes, messages sur des bus, actions observables, . . . Evénements non-observables : événements internes, événements de fautes, . . . Exemples Une personne presse un bouton Une machine se réinitialise suite à un court-circuit Le niveau maximal de liquide est atteint dans un réservoir E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 5 / 37 Systèmes à événements discrets Concept d’événement – Exemple du système conditionné [Sampath,1995] Exemple : Système d’air d’air conditionné [Sampath et al. 1995] VANNE POMPE REGULATEUR • Événements spontanés de pannes – Vanne bloquée ouverte Evénements spontanés de panne – Vanne bloquée fermée Vanne bloquée ouverte • Evénements observables Vanne bloquée fermée – Actions : ouvrir vanne, fermer vanne, démarrer pompe, stopper pomp Evénements observables – Observations d’un capteur de débit : présence d’un débit, absence, d’ débit, coupure spontanée débitdémarrer pompe, stopper pompe Actions : ouvrir vanne, fermer du vanne, Observations d’un capteur de débit : présence débit, absence d’un débit, coupure spontanée du débit M2 PEnTE - P. Ribot, E. Le Corronc E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 6 / 37 Systèmes discrets Systèmesàà événements événements discrets Classification des systèmes Classification des systèmes Systèmes Statiques Dynamiques Temps variant Temps invariant Linéaires Non linéaires Etats continus Dynamique temporelle Déterministes Systèmes à événements discrets (SED) Etats discrets Dynamique événementielle Stochastiques M2 PEnTE - P. Ribot, E. Le Corronc E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 11 7 / 37 1. Introduction aux SED Systèmes à événements discrets Système Système discret par nature discret par nature – Exemple : Entrepôt Arrivée : u1(t) x(t) Départ : u2(t) - x(t) : nombre de caisses dans l’entrepôt à l’instant t - u1(t)=1 si une caisse arrive au temps t, u1(t)=0 sinon - u2(t)=1 si une caisse part au temps t, u2(t)=0 sinon Si u1(t)=1 alors x(t)=x(t-1)+1 Si u2(t)=1 alors x(t)=x(t-1)-1 E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 8 / 37 Systèmes à événements discrets Système Système discret par nature discret par nature – Exemple : Entrepôt Arrivée : u1(t) E. Le Corronc, P. Ribot x(t) Départ : u2(t) Diagnostic à base de modèles à événéments discrets 9 / 37 Systèmes à événements discrets 1. Introduction aux SED Système discrétisable Système discrétisable – Exemple : Réservoir (système continu mais modèle discret - qualitatif) R1:{ouvert,fermé} R2:{ouvert,fermé} C1:{niv-atteint,niv-non-atteint} C2:{niv-atteint,niv-non-atteint} • Espace d’états discrets : R1 x R2 x C1 x C2 • Evénements discrets : Ouverture-R1, Fermeture-R2, Niv-dessous-C2, … Détection d’une fuite : R1=fermé, R2=fermé, C2=niv-atteint Evénement : Niv-dessous-C2 M2 PEnTE - P. Ribot, E. Le Corronc E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 14 10 / 37 Systèmes à événements discrets Choix du formalisme de modélisation Quelle est la nature de mon système ? Monolithique, distribué, continu, discret Quelle est le degré de connaissance de mon système ? Connaissance de surface, comportement nominal, comportement de panne, . . . Nombreux formalismes possibles Langages Automates Réseaux de Petri Algèbre (Max,+) ... E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 11 / 37 Systèmes à événements discrets 2. Formalismes de modélisation pour les SED Réseau de Petri ou Automate ? Réseau de Petri ou Automate ? Automate Réseau de Petri 1. Plus intuitif (notion explicite de composants) 2. Pas pratique pour exprimer la concurrence entre composants 3. Explosion combinatoire liée aux produits des modèles des composants pour obtenir le modèle du système global 1. Expression de la concurrence 2. Sémantique de synchronisation exprimée dans le réseau (bien connue et maitrisée) 3. Moins représentatif pour les composants du système M2 PEnTE - P. Ribot, E. Le Corronc E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 33 12 / 37 Théorie des langages Langage Un alphabet Σ est constitué d’un ensemble d’événements Un mot m construit sur l’alphabet Σ est une séquence d’événements appartenant à Σ Remarque : représente le mot vide Un langage L est un ensemble fini ou infini de mots construits sur Σ Exemple Σ = {a, b, c} L1 = {a, aa, ab} L2 = {, a, c, ab, acc} L3 = {mots de longueur finie démarrant par a} E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 13 / 37 Théorie des langages Opérations sur les langages Concaténation : L1 .L2 = {m = m1 m2 | m1 ∈ L1 et m2 ∈ L2 } Union : L1 ∪ L2 = {m | m1 ∈ L1 ou m2 ∈ L2 } Intersection : L1 ∩ L2 = {m | m1 ∈ L1 et m2 ∈ L2 } Exercice Σ = {a, b, c} L1 = {a, c, aa, ba, ab, abc} L2 = {a, b, ac, ba, abb, cca} Calculer l’union L1 ∪ L2 , l’intersection L1 ∩ L2 et la concaténation L1 · L2 des deux langages E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 14 / 37 Théorie des langages Opérations sur les langages Clôture de Kleene : S ∗ = ∪∞ i=0 Si s ∈ Si est un mot formé par la concaténation de i lettres de S (si S est un alphabet) : Σ = {a, b} ⇒ Σ∗ = {, a, b, aa, ab, ba, bb, aaa, aab, . . .} i mots de S (si S est un langage) : L = {aa} ⇒ L∗ = {, aa, aaaa, . . .} Ensemble des préfixes : L = {m1 ∈ Σ∗ | ∃m2 ∈ Σ∗ , m1 m2 ∈ L} Langage clos par préfixe si et seulement si L = L Exemple Soit un langage L = {abc} écrit sur l’alphabet Σ = {a, b, c}, L = {, a, ab, abc} donc L n’est pas préfixe-clos car L ⊂ L. E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 15 / 37 Théorie des langages Opérations sur les langages Exercice Σ = {a, b, c} L1 = {a, c, aa, ba, ab, abc} L2 = {, a, b, ac, ba, acb} L3 = {, a, b, ac, abc, acc, accb} Ces langages sont-ils préfixe-clos ? E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 16 / 37 Théorie des langages Opérations sur les langages Projection d’un langage L sur un alphabet Σ0 : PΣ0 () = u ∈ Σ0 ∧ s ∈ L(Σ) ⇒ PΣ0 (us) = uPΣ0 (s) u∈ / Σ0 ∧ s ∈ L(Σ) ⇒ PΣ0 (us) = PΣ0 (s) ∗ Projection inverse : PΣ−1 0 (t) = {s ∈ Σ | PΣ0 (s) = t} Exercice Soient deux langages L1 = {a, c, ab, bc, acc, abc} et L2 = {a, b, bb, ac, cbc} construits sur l’alphabet Σ1 = {a, b, c} : Déterminer les projections PΣ2 (L1 ) et PΣ2 (L2 ) des langages L1 et L2 sur un nouvel alphabet Σ2 = {a, b, d}. E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 17 / 37 Théorie des langages Expressions régulières et langages réguliers Un langage est régulier s’il peut être dénoté par des expressions régulières Représentation compacte pour des langages complexes avec un nombre infini de mots pouvant contenir un ensemble vide, le mot vide , un singleton, ab, a + b, a? , b ? . . . sont des expressions régulières si a, b sont des expressions régulières (définition récursive) Exemple L1 dénoté par ER1 = (1.(0 + ))? : langage régulier contenant les mots {, 1, 10, 11, 101, 111, 110, . . .} L2 dénoté par ER2 = (a + b)? a : langage régulier sur l’alphabet {a, b} contenant les mots se terminant par a E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 18 / 37 Théorie des langages Expressions régulières et langages réguliers Exercice Soient les mots , a, aa, ab, ba, aba, abbb, aaba, abab, ababa Sont-ils générés par l’expression régulière ER1 = (ab)? aba? ? Sont-ils générés par l’expression régulière ER2 = ab ? (aba)? ? Exercice Considérant l’alphabet Σ = {a, b}, donner les expressions régulières correspondant aux propriétés suivantes : Mots ne contenant pas ba Mots contenant au moins un a Mots de longueur paire E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 19 / 37 Théorie des automates Définition d’un automate Définition Un automate fini est défini par un 5-uplet G = (X , Σ, δ, x0 , Xf ), où X : ensemble fini d’états discrets Σ : ensemble des événements (alphabet) δ : fonction de transition δ : X × Σ → 2X x0 : état initial Xf : états finals ou états marqués E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 20 / 37 Théorie des automates Langages reconnus par des automates Théorème : les langages reconnus par un automate fini sont exactement ceux décrits par les expressions régulières. Pour tout automate, il existe une expression régulière reconnaissant le même langage. Langage reconnu par un automate A : L(A) = {m ∈ Σ∗ | δ ∗ (x0 , m) 6= ∅}, avec δ ∗ la fonction de transition étendue Un mot appartient à L(A) s’il existe une séquence de transitions étiquetée par m et commençant par x0 Langage marqué : LM (A) = {m ∈ Σ∗ | δ ∗ (x0 , m) ∈ Xf } Etude restreinte aux mots pouvant conduire aux états marqués, on ne considère que les états accessibles et co-accessibles et on supprime les arcs sortant des états marqués. Remarque : LM (A) ⊆ L(A). E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 21 / 37 Théorie des automates Propriétés des automates Accessibilité : Ac(A) = {x ∈ X | ∃m ∈ Σ∗ avec δ ∗ (x0 , m) = x}. Un état x est accessible s’il existe un chemin entre x0 et x. Un automate A est accessible si tous ces états sont accessibles : Ac(A) = X . Coaccessibilité : Co(A) = {x ∈ X | ∃m ∈ Σ∗ , avec δ ∗ (x, m) ∈ Xf }. Un état x est co-accessible s’il existe un chemin reliant x à un état marqué. Un automate A est coaccessible si tous ces états sont coaccessibles : Co(A) = X . Automate non bloquant : Ac(A) ⊆ Co(A). Un automate est bloquant s’il existe un état x accessible ne permettant pas d’atteindre un état marqué de Xf . E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 22 / 37 Théorie des automates Propriétés des automates 6 a 1 a c 2 c 4 b 5 a b 3 a b c 7 Exercice On considère l’automate A ci-dessous : Les mots aa, abc, acbc, aab et abcab sont-ils reconnus par A ? L’automate A est-il accessible ? Est-il coaccessible ? Décrire le langage marqué LM (A). E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 23 / 37 Théorie des automates Produit synchrone d’automates Soient deux automates G 1 = (X1 , Σ1 , δ1 , x01 , Xf 1 ) et G 2 = (X2 , Σ2 , δ2 , x02 , Xf 2 ) (ayant une intersection non vide de leurs alphabets Σ = Σ1 ∩ Σ2 6= ∅), le produit synchrone G1 × G2 ne représente que les transitions communes aux deux automates. Définition L’automate G résultant du produit synchrone G1 × G2 est défini par G = (X , Σ, δ, x0 , Xf ) avec X = Ac(X1 × X2 ) (ensemble des états accessibles) Σ = Σ1 ∩ Σ2 δ((x1 , x2 ), e) = (δ1 (x1 , e), δ2 (x2 , e)) si δ1 (x1 , e) et δ1 (x1 , e) définis et e∈Σ x0 = (x01 , x02 ) Xf = Xf 1 × Xf 2 E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 24 / 37 Théorie des automates Produit synchrone d’automates Exercice Calculer le produit synchrone des deux automates ci-dessous : E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 25 / 37 Théorie des automates Produit parallèle d’automates Soient deux automates G 1 = (X1 , Σ1 , δ1 , x01 , Xf 1 ) et G 2 = (X2 , Σ2 , δ2 , x02 , Xf 1 ) avec les événements communs Σcommuns = Σ1 ∩ Σ2 , le produit parallèle G1 k G2 met en évidence les évolutions communes aux automates sur les événements de Σcommuns mais représente également les évolutions individuelles des automates sur les événements n’appartenant pas à Σcommuns . E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 26 / 37 Théorie des automates Produit parallèle d’automates Définition L’automate G résultant du produit parallèle G1 k G2 est défini par G = (X , Σ, δ, x0 ) avec X = Ac(X1 × X2 ) (ensemble des états accessibles) Σ = Σ1 ∪ Σ2 δ((x1 , x2 ), e) = (δ1 (x1 , e), δ2 (x2 , e)) si δ1 (x1 , e) et δ2 (x2 , e) définis (δ1 (x1 , e), x2 )) si δ1 (x1 , e) défini et e ∈ / Σ2 (x1 , δ2 (x2 , e)) si δ2 (x2 , e) défini et e ∈ / Σ1 (1) x0 = (x01 , x02 ) Xf = Xf 1 × Xf 2 E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 27 / 37 Théorie des automates Produit parallèle d’automates Exercice Calculer le produit parallèle des deux automates ci-dessous : E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 28 / 37 Théorie des automates Produit parallèle d’automates Exercice Calculer le produit synchrone et le produit parallèle des deux automates ci-dessous : b a 0 1 b E. Le Corronc, P. Ribot a a b 0 b a 1 2 b Diagnostic à base de modèles à événéments discrets 29 / 37 Objectif du module : Diagnostic de SED Σ𝑐 Procédé Commande supervisée Système supervisé Σ𝑜 Σ𝑜 Diagnostic 𝑁, 𝐹, 𝐴 Comportement de défauts Spécifications Commande supervisée : interdire / autoriser l’occurrence d’événements contrôlables afin que le comportement du système respecte un ensemble de spécifications Diagnostic : déterminer l’occurrence d’un événement de défaut à partir d’une séquence d’événements observés. E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 30 / 37 Objectif du module : Diagnostic de SED Partitions de l’ensemble des événements Evénements contrôlables (actionneurs) Σc ⊂ Σ : sous-ensemble des événements contrôlables de Σ Σnc ⊂ Σ : sous-ensemble des événements non contrôlables de Σ Remarque : Σ = Σc ∪ Σnc avec Σc ∩ Σnc = ∅ Evénements observables (informations issues des capteurs/actionneurs, poussoirs, intervention d’un opérateur . . . ) Σo ⊂ Σ : sous-ensemble des événements observables de Σ Σno ⊂ Σ : sous-ensemble des événements non observables de Σ Remarque : Σ = Σo ∪ Σno avec Σo ∩ Σno = ∅ E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 31 / 37 Objectif du module : Détection et Diagnostic - partie SED UE EIPAI3C2 : outils et techniques de diagnostic - partie SED Planningpour la partie SED : Euriell Le Corronc (ELC) et Pauline Ribot (PR) ntervenants 10-sept 16-sept 22-sept 30-sept 06-oct 06-oct 17-nov 24-nov 26-nov 03-déc E. Le Corronc, P. Ribot 13h30 10h05 10h05 7h45 7h45 10h05 13h30 10h05 10h05 8h PR PR ELC PR PR PR PR PR PR PR Cours Cours TD Cours Cours TD TD TD TD TP Diagnostic à base de modèles à événéments discrets 32 / 37 3. Introduction au diagnostic Introduction au diagnostic Concept de diagnostic Système capteurs actionneurs VOIR COMPRENDRE Surveillance Détection / Diagnostic Détecter DECIDER Maintenance ou Reconfiguration Identifier Modifier Acquérir les Détection : observer les depanne défaillance / détecter la unsymptômes problème la le système observations présence d’un défaut (sans identifier ce qu’il est) Informations nécessaire Informations nécessaires Localisation : identifier défaut s’est produit (la unele bonne décision à un bon diagnosticle composantà où cause de la défaillance à l’aide d’un raisonnement logique fondé sur des observations) 30 M2 PEnTE - P. Ribot, E. Le Corronc Identification : identifier la nature et le type de la panne E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 33 / 37 Introduction au diagnostic Terminologie Défaut, faute : déviation non acceptable d’au moins une propriété caractéristique ou d’un paramètre du système Un paramètre n’a pas sa valeur nominale et cette différence est suffisante pour provoquer un dysfonctionnement Défaillance : inaptitude d’un système à accomplir sa ou ses fonctions requises avec les performances définies dans les spécifications techniques La manifestation fonctionnelle d’un défaut fait que le système ne peut plus exécuter tout ce qu’il fait en l’absence de défaut Observations : toutes les informations disponibles (accessibles, mesurables) dont on dispose pour caractériser la nature du système Les observables contiennent les éventuels symptômes (effet ou conséquence visible d’une défaillance dans le système surveillé) E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 34 / 37 Introduction au diagnostic Mise en place d’une méthode de diagnostic Pas de méthodes universelles de diagnostic Mise en œuvre de méthodes spécifiques en fonction de la nature des systèmes Systèmes mécaniques dynamiques : moteurs, pompes, turbines, . . . Systèmes mécaniques statiques : tuyauterie, . . . Systèmes électriques ou électroniques : capteurs, régulateurs et automates programmables, . . . Sélectionner la méthode la plus appropriée après un recensement des besoins et des connaissances disponibles Nature des causes de défaillance à localiser Connaissance des symptômes associés aux défaillances Connaissance des mécanismes physiques entre les causes et les effets Maîtrise des moyens de mesure des symptômes, . . . E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 35 / 37 Introduction au diagnostic Mise en place d’une méthode de diagnostic Méthodes de diagnostic Méthodes basées sur la connaissance Méthodes basées sur le traitement de données - Systèmes à base de règles (systèmes experts, …) - AMDEC - Arbres de défaillance - Reconnaissance des formes - Réseaux de neurones - Techniques floues Méthodes à base de modèle Modèles quantitatifs - Espace de parité - Estimation d’état (observateurs, filtre de Kalmann, … ) - Estimation paramétrique Modèles qualitatifs - Expressions logiques - Réseaux de Petri, automates, … (abstraction de la dynamique continue) E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 36 / 37 Introduction au diagnostic Principe du diagnostic à base de modèle à événements discrets : Principe du diagnostiqueur [Sampath95] Système physique Séquence d’observations Modèle SED du système (Comportement nominal + présence de fautes) Trajectoires observables compilées Identification des fautes candidates Si le système est diagnosticable Restriction à 1 seule faute DIAGNOSTIC E. Le Corronc, P. Ribot Diagnostic à base de modèles à événéments discrets 37 / 37