• Aucun résultat trouvé

Problème de synthèse de contrôleur à base des langages

Dans le document The DART-Europe E-theses Portal (Page 21-24)

La théorie de la commande par supervision a été inventée par Ramadge et Wonham [RW89]

pour faire face aux problèmes de supervision. En effet, le procédé est considéré comme évoluant en boucle fermée avec le superviseur (voir Figure 1.4). Ce dernier oriente l’évolution du système afin de restreindre son fonctionnement au comportement souhaité.

A1: A2:

q0 a q1 x0 x1

c

b c

)

(a (b)

Figure 1.4-Schéma de la supervision

Des entrées du procédé sont les sorties du superviseur et vice versa. Le superviseur autorise/interdit l’occurrence des évènements dits contrôlables Σ5. Par contre, il ne peut pas inhiber l’occurrence des évènements dits incontrôlables Σ65 ; c’est ce qu’on appelle le contrôle par retour d’évènements. Le superviseur qui réalise un comportement souhaité et qui laisse au système un maximum de liberté est dit optimal ou maximum permissif.

Dans cette section nous présentons le problème de la supervision ainsi que les conditions nécessaires pour l’existence et la synthèse du superviseur.

1.3.1 Problème de supervision

Considérons un SED 7 = Σ, , !, ", # avecΣ=Σ5 Σ65. Le rôle du superviseur uconsiste à définir pour chaque séquence d’évènement s généré par le système, un ensemble de continuations possibles. Ces continuations représentent une liste d’évènements 8* ⊆ Σ. Si un évènement appartient à 8*, alors il est autorisé par ,suite à la séquence , et il est interdit dans le cas contraire.

Le superviseur doit respecter l’incontrôlabilité des évènements deΣ65, son action de contrôle doit satisfaire l’expression suivante: ∀ ∈ 7 ,Σ65⊆ 8*. Les évènements Σ65 sont toujours permis.

L’ensemble Г des actions de contrôle correspond à l’ensemble de toutes les parties de Σ, i.e.

Г = 2Σ. Formellement, un superviseur u est une fonction : 7 → 2Σ qui associe à chaque séquence d’évènement s l’action de contrôle donnée par l’ensemble u(s).

L’évolution du SED 7 est limitée sous l’influence du superviseur u. En effet, si 7 est dans un état ! ", = , pour que la transition ! , ait lieu, il ne suffit plus qu’elle soit définie dans l’automate, il faut que ∈ . Le comportement contrôlé (en boucle fermée) est défini comme suit :

Définition 1.6 :

Un comportement sous le contrôle d’un superviseur u est décrit par le langage 7, tel que :

- ε ∈ 7, et

- ∈ 7, si et seulement si ∈ 7 , ∈ et ∈ 7 .

De la même manière, les séquences qui conduisent à des états marqués quand 7 est automne ne sont pas toutes réalisables dans le système contrôlé. Celles qui sont encore possibles en présence du superviseur décrivent le langage marqué du système contrôlé :

Procédé G

Superviseur u

Γ ∑

# 7, = # 7 ∩ 7,

Quand les états marqués correspondent à des fins de tâches, ce langage devient important dans le sens où il caractérise des séquences intéressantes qui permettent d’accomplir des tâches tout en respectant la contrainte de supervision. Un superviseur u est non-bloquant pour un automate, si toute séquence du système à contrôler peut toujours être complétée pour atteindre un état marqué .i.e. # 7, = 7, .

De façon générale, le problème de supervision revient à restreindre le comportement d’un système en ajoutant un superviseur qui garantit un comportement en boucle fermée décrit par un langage clos spécifié *=>5 ⊆ 7 . L’objectif, c’est aussi d’avoir un certain langage marqué pour le système contrôlé tout en respectant la propriété du non-blocage.

1.3.2 Contrôlabilité et existence des superviseurs

La contrôlabilité des langages est introduite par Ramadge et Wonham pour démontrer l’existence des superviseurs pour un problème de synthèse de superviseur donné [RW89].

Définition 1.7:

Un langage ? ⊆Σest contrôlable par rapport à 7 si ?@Σ65∩ 7 ⊆ ?@

C'est-à-dire que si ? est contrôlable, alors toute séquence réalisable dans le système composé d’un préfixe quelconque d’une séquence ?, suivi d’un évènement incontrôlable, est aussi un préfixe d’une séquence de ?.

En effet, l’existence d’un superviseur dépend des conditions nécessaires et suffisantes, données par le théorème 1.1 suivant :

Théorème 1.1 ([RW89], [RW87]) :

Soit un SED non-bloquant 7 de langage 7 et de langage marqué # 7 .

1. Pour tout langage non vide ? ⊆ 7 , existe un superviseur u tel que 7, =

? A ?est un préfixe-clos et contrôlable par rapport à 7 .

2. Pour tout langage non vide ? ⊆ # 7 , il existe un superviseur non-bloquant u tel que # 7, = ? A ?@ ∩ # 7 = ? (? est # 7 -clos) et ? est contrôlable par rapport à 7 .

Les conditions décrites dans le théorème 1.1 permettent de conclure quant à l’existence d’un superviseur pour réaliser un langage donné ?.

Théorème 1.2 :

Soit un SED représenté par un automate à états finis 7 7 et # 7 sont réguliers et soit

*=>5 un langage de spécification régulier.

1. Si *=>5 satisfait la condition 1 du théorème 1.1, alors le superviseur correspondant u peut être représenté par un automate à états finis.

2. De même, si *=>5 satisfait la condition 2 du théorème 1.1, alors le superviseur correspondant u peut-être représenté par un automate à états finis. (pas de tiret à peut être)

1.3.3 Synthèse des superviseurs

Le langage des spécifications *=>5d’un procédé est réalisable si ce dernier est considéré comme contrôlable, tout en respectant l’incontrôlabilité des évènements de Σ65. Par contre, pour faire respecter les spécifications, il faut limiter encore le comportement contrôlé à un sous-langage ? de *=>5qui soit contrôlable. Néanmoins, afin de procéder au maximum d’états possibles, il est judicieux de choisir ? comme le plus grand sous-langage contrôlable de *=>5.

Considérons l’ensemble B des sous-langages contrôlables d’un langage . Cet ensemble est automatiquement non vide car le langage vide est contrôlable. Par ailleurs, B est clos par union, .i.e. l’union de deux éléments de B est un élément de B ? . Par conséquent, B ? admet un plus grand élément C B et il est unique [RW87]. Ainsi, si *=>5 n’est pas contrôlable, le langage ? = C BD *=>5E est la bonne approximation qui permet de respecter les spécifications en restreignant le procédé le minimum possible. Le superviseur qui réalise un langage pareil est maximum permissif ou optimal.

Généralement, il n’existe pas d’algorithmes performants pour le calcul du plus grand sous-langage contrôlable d’un sous-langage de spécification. Si on se trouve dans le cas particulier où les langages de spécifications et du procédé sont réguliers et admettent des représentations sous forme d’automates à états finis, toutes les propriétés requises pour l’existence du superviseur sont décidables par une exploration des espaces d’états des automates.

De surcroit, il a été prouvé que le plus grand langage contrôlable est régulier [WR87]. Un algorithme a été développé par Ramadge et Wonham pour le calcul de ce langage. Cet algorithme est polynomial dans la taille des automates de spécification et du procédé [GW00].

Bien que les automates présentent un formalisme approprié à la représentation efficace d’une large classe des SED, la modélisation des systèmes à évènement discrets réels reste généralement difficile à mettre en œuvre à cause de l’explosion combinatoire des états (même pour les petits systèmes).

Dans le document The DART-Europe E-theses Portal (Page 21-24)