Vous êtes sur la page 1sur 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/312297536

COMMANDE DES FLUX DANS LES RÉSEAUX DE PETRI CONTINUS PAR


PROPAGATION DU GRADIENT

Conference Paper · November 2004

CITATIONS READS

7 165

4 authors, including:

E. Leclercq Fabrice Druaux


Université du Havre Université du Havre
87 PUBLICATIONS 592 CITATIONS 65 PUBLICATIONS 558 CITATIONS

SEE PROFILE SEE PROFILE

Philippe Thomas
University of Lorraine
122 PUBLICATIONS 890 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

réduction de modèles View project

pruning View project

All content following this page was uploaded by Philippe Thomas on 13 January 2017.

The user has requested enhancement of the downloaded file.


COMMANDE DES FLUX DANS LES RÉSEAUX DE PETRI
CONTINUS PAR PROPAGATION DU GRADIENT
DIMITRI LEFEBVRE1, EDOUARD LECLERCQ1, FABRICE DRUAUX1, PHILIPPE THOMAS2

1 GREAH - Université Le Havre -76063 - Le Havre – France {dimitri.lefebvre; edouard.leclercq; fabrice.druaux}@univ-lehavre.fr

2 UTBM – SeT, Belfort Technopôle, 90010 Belfort, France {philippe.thomas@utbm.fr}

Résumé— Cet article concerne la commande des systèmes dynamiques L'article est divisé en 4 parties. La partie 2 concerne les PN, les
hybrides modélisés par réseaux de Petri continus. Les réseaux de Petri VCPN et propose une description bilinéaire par morceaux des VCPN.
utilisés sont décrits sous forme de représentations d'état : le vecteur La partie 3 concerne la commande des VCPN. Trois commandes
d'état correspond au vecteur de marquage, le vecteur de sortie est sont proposées : commande avec un pas de calcul, commande avec
défini par des sommes pondérées de sous ensembles de places, et le plusieurs pas de calcul, et commande prédictive. La commande d'une
vecteur d'entrée correspond aux fréquences de franchissement des
ligne manufacturière est étudiée dans la partie 4 pour comparer les
transitions commandables. Différentes commandes basées sur la
minimisation d'une erreur instantanée par descente du gradient sont différents régulateurs.
proposées : commande avec un pas de calcul, commande avec
plusieurs pas de calcul et commandes prédictives. L'objectif est de
II. RESEAUX DE PETRI
calculer la fréquence de franchissement des transitions commandables
de manière à atteindre des valeurs de consignes dans l'espace des Un PN avec n places et p transitions est défini par le quintuplet < P,
sorties. T, Pre, Post, M0 > où P={Pi}i=1,…,n est un ensemble de places,
T={Tj}j=1,…,p est un ensemble de transitions, tels que P ∩ T = ∅ [2],
Mots clés— Réseaux de Petri continus, représentation d'état, [13]. IN est défini comme l'ensemble des entiers naturels. Pre : P × T
commande, descente du gradient.
→ IN est l'application de pre-incidence : Pre (Pi, Tj) est le poids de
l'arc reliant la place Pi à la transition Tj et WPR = ( wPRij ) i=1,…,n, j=1,…,p ∈
IN n × p avec wPRij = Pre (Pi, Tj) est la matrice de pre-incidence. Post :
I. INTRODUCTION
P × T → IN est l'application de post-incidence : Post (Pi, Tj) est le
Les réseaux de Petri (PN) continus sont bien adaptés à l'étude des poids de l'arc reliant la transition Tj à la place Pi et WPO = ( wPOij )
systèmes dynamiques hybrides (SDH) [22] car ils combinent des ×
i=1,…,n, j=1,…,p ∈ IN n p avec wPOij = Post (Pi, Tj) est la matrice de post-
aspects structurels et discrets (graphe orienté sous jacent) [13], [4] incidence. La matrice d'incidence W du PN est définie par W = WPO –
avec des comportements continus (équations différentielles du WPR ∈ IN n × p. Soit M(t) = (mi(t))i=1,…,n ∈ IN n le vecteur de marquage
premier ordre qui déterminent l'évolution temporelle du marquage)
à l'instant t et M0 ∈ IN n le vecteur de marquage initial. °Tj (resp Tj° )
[3]. De nombreux résultats ont été établis avec les réseaux de Petri
correspond à l'ensemble des places d'entrée (resp. l'ensemble des
continus pour la commande des systèmes de production. Parmi ceux-
places de sortie) de Tj. Une séquence de franchissement est définie
ci, la commande des flux repose sur une approximation continue du
comme une suite ordonnée de transitions qui sont successivement
système étudié et sur des régulateurs continus qui calculent les
franchies à partir du marquage M jusqu'au marquage M’. Une telle
fréquences de franchissement des transitions [18]. Cette approche a
séquence est usuellement représentée par son vecteur
été développée avec différents types de régulateurs : régulateurs par
caractéristique X = (xj)j=1,…,p ∈ IN p où xj correspond au nombre de
retour d'état contraints [1], régulateurs flous [6], programmation
franchissements de la transition Tj.
linéaire [9] et commande optimale [5]. De par la portée des résultats
obtenus, cette approche apparaît comme une alternative intéressante M’ = M + W.X. (1)
à la commande discrète des SED [15], [7], [20].
Le vecteur X est calculé en appliquant les règles de franchissement
Ce travail s'inspire de l'approche continue. Les systèmes considérés qui dictent la dynamique du PN. Dans les PN autonomes sans conflit,
sont modélisés par des réseaux de Petri continus avec des vitesses les composantes xj de X sont calculées par l'équation suivante :
variables (VCPN) [3] étudiés dans l'espace d'état. Le vecteur d'état
correspond au vecteur de marquage, chaque composante du vecteur   m (t )  
de sortie est définie comme la somme pondérée d'un sous ensemble x j (t ) = min  fix  i PR   ,
Pi ∈°T j   
de places, et le vecteur d'entrée est défini comme le vecteur des   wij  
fréquences maximales de franchissement des transitions
commandables. où fix(.) correspond à la partie entière de (.).
La contribution principale de notre travail concerne la synthèse de A. Réseaux de Petri continus
régulateurs basés sur la minimisation du carré de l'erreur instantanée
entre les sorties désirées et les sorties mesurées [21], [19]. Ces Un PN continu est une extension de PN, déduite d'un réseau de Petri
régulateurs agissent sur le système en calculant en ligne les discret temporisé sur les transitions (TPN) [16]. Les PN continus ont
fréquences maximales des transitions commandables. Les résultats été développés pour établir des approximations continues du
proposés complètent nos travaux précédents sur la commande des comportement discret des SED [3]. Un PN continu avec n places et p
transitions sources et puits dans les VCPN [11]. transitions est défini par le couple < PN, Xmax > ou PN est un réseau
de Petri et Xmax = (xmax j)j=1,…,p ∈ IR+p est le vecteur des fréquences
maximales de franchissement (IR+ représente l'ensemble des réels Plusieurs phases apparaissent successivement dans la réponse
non négatifs). Le marquage mi(t) ∈ IR+ de chaque place Pi, i = 1,…,n, temporelle du VCPN. Chaque phase ϕ est active pendant la durée
a une valeur réelle non négative et le franchissement de chaque qui sépare deux commutations successives des opérateurs « min »
transition est un processus continu. Soit X(t) = (xj(t))j=1,…,p ∈ IR+p le dans (4) et correspond à une configuration particulière de ces
vecteur des fréquences de franchissement à l'instant t. La dynamique opérateurs caractérisée par les p fonctions de classification fj :
du marquage est donnée par l'équation (2) :
∀ Tj ∈ T : fj : IR+n → {1,…,n}
dM(t) M(t) → fj(M(t)) telle que m f j (t ) = µ j (t ) (6)
= W .X ( t ) . (2)
dt
Chaque fonction fj spécifie la place d'entrée de Tj de marquage
Parmi les extensions de PN continus, les PN continus avec des minimal. Au cours de chaque phase ϕ il existe une relation constante
vitesses variables (VCPN) sont la meilleure approximation continue entre les composantes des vecteurs XC(t) et M(t) ainsi que XNC(t) et
des TPN [3]. Les composantes du vecteur M(t) sont des fonctions M(t) que l’on peut exprimer sous forme scalaire à l’aide des fonctions
continues du temps, et les composantes du vecteur X(t) dépendent fj ou sous forme vectorielle à l’aide de familles de vecteurs lignes
continûment du marquage des places selon (3) et (4) : Aj(ϕ )∈ {0,1} 1 × n et Bj(ϕ )∈ {0,1} 1 × n constants sur chaque phase
mais qui varient d’une phase à la suivante :
x j (t) = xmax j .µ j ( t ) , (3)
xC j (t ) = u j (t ).m f j (t ) = u j (t ). Aj (ϕ ).M (t ), j = 1,...d
avec : (7)
xNC j (t ) = xmax NCj .m f j (t ) = xmax NCj .B j (ϕ ).M (t ) j = 1,... p − d
µ j (t) = min (mi (t)) . (4)
Pi∈DT j L'équation (5) peut être transformée sous forme scalaire :

p−d
Chaque transition Tj est éventuellement bouclée sur elle-même (self- dmi (t ) d
loop) pour limiter le nombre de franchissements simultanés. = ∑ wC ij .u j (t ).m f j (t ) + ∑ wNC ij .xmax NC j .m f j (t )
dt j =1 j =1
(8)
Les VCPN sont, à notre avis, un outil bien adapté à la modélisation n

des SDH, car ils combinent les aspects structurels et discrets avec yk (t ) = ∑ qki .mi (t ) i = 1,...n, k = 1,..., e
i =1
des comportements continus.
ou sous forme vectorielle :
B. Représentation dans l'espace d'état
L'équation (4) présente des commutations dues à l’opérateur "min", et
dM (t )  d p−d

l'équation (3) fait apparaître des produits entre le vecteur d'état et le =  ∑ u j (t ).WCj . Aj (ϕ ) + ∑ xmax NC j .WNCj .B j (ϕ )  .M (t )
vecteur des entrées. Pour ces raisons, les VCPN ne peuvent être dt  j =1 j =1  (9)
décrits à l'aide d'un modèle d'état linéaire. En revanche, une Y (t ) = Q.M (t ), ϕ = 1, 2,...
représentation bilinéaire par morceaux peut en être donnée.
L'ensemble des transitions T est divisé en 2 sous ensembles disjoints en désignant par WCj les colonnes de la matrice WC et par WNCj celles
TC, et TNC tels que T = TC ∪ TNC. TC est l'ensemble des transitions de WNC. Les équations (8) et (9) sont des représentations bilinéaires
commandables et TNC celui des transitions non commandables. par morceaux du VCPN (2) [14]. Chaque phase est caractérisée par
Soient XC(t) = ( xj(t) )Tj∈TC ∈ IR+d et XNC(t) = ( xj(t) )Tj ∈ TNC ∈ IR+p-d . une famille de matrices WCj.Aj(ϕ )∈ INn × n associée aux transitions
commandables et WNCj.Bj(ϕ)∈ INn × n associée aux transitions non
 X (t )  commandables.
D −1 . X (t ) =  C  ,
 X NC (t ) 
III. COMMANDE DES VCPN
avec D ∈ IR p x p une matrice de permutation. Le vecteur des entrées
La commande des flux avec les réseaux de Petri continus a été
de commande U(t) = Xmax C (t) ∈ IR+d correspond aux fréquences étudiée par de nombreux auteurs [1], [6], [9], [5], [18]. Pour être
maximales de franchissement des transitions commandables. (les performantes, ces commandes nécessitent souvent des conditions
fréquences maximales des transitions non commandables Xmax NC restrictives en ce qui concernent les transitions à commander et les
sont supposées constantes). Le vecteur des entrées est contraint 0 ≤ places à observer. De plus, certains résultats sont locaux : ils ne sont
U(t) ≤ Umax pour limiter les fréquences de franchissement à un valides que dans certaines régions de l'espace d'état, pendant
intervalle positif et borné. certaines phases.
Les composantes du vecteur des sorties Y(t) ∈ IR+e sont définies Notre approche, inspirée des algorithmes d'adaptation des réseaux
comme des sommes pondérées de sous ensembles de places qui de neurones est moins restrictive. Elle tire profit de la propagation du
sont supposées mesurables. Soit Q = (qki)k=1,…,e ,i=1,…,n ∈ IR e × n une gradient au travers du graphe orienté sous jacent au VCPN pour
matrice de projection dont les termes sont tous non négatifs. minimiser le carré de l'erreur instantanée entre les sorties désirées et
L'équation (2) peut être réécrite : les sorties mesurées en modifiant les fréquences maximales de
franchissement des transitions commandables.
dM (t )
= WC . X C (t ) + WNC . X NC (t ) Les algorithmes d'adaptation basés sur la propagation du gradient
dt (5)
sont généralement obtenus en minimisant un coût scalaire qui
Y (t ) = Q.M (t ) mesure la distance entre la sortie désirée Yd(t) et la sortie mesurée
Y(t) du système [19]. Ces algorithmes ont été utilisés avec succès
avec WC = ( wC ij ) i=1,…,n, j=1,…,d ∈ IR n × d et WNC = ( wNC ij ) i=1,…,n, j=1,…,p-d
pour l'identification et la commande des systèmes continus [12], [21].
∈ IR n × (p-d) tels que (WC | WNC) = W.D.
Dans ce qui suit, nous développons un algorithme de propagation du VCPN à l'instant t = k.∆t obtenue à partir du marquage M(k-1) et du
gradient pour les VCPN. vecteur des entrées U(k-1,h) :

A. Régulateur à un pas de calcul d


y (k , h) = y (k − 1) + ∆t.(∑ u j (k − 1, h).Q.WCj . Aj (ϕ )
Dans un souci de simplification, nous développons dans un premier j =1
temps le régulateur dans le cas mono sortie. L'erreur instantanée est p−d
définie par ε(k) = yd(k) - y(k), où yd(k) correspond à la sortie désirée à + ∑ xmax NC j .Q.WNCj .B j (ϕ )).M (k − 1) (15)
l'instant t = k.∆t, et y(k) correspond à la sortie mesurée du VCPN au j =1

même instant. Avec une méthode d'intégration numérique du premier h = 1,..., N , k > 0
ordre, on peut écrire :
Un nombre maximal N d'itérations est considéré pour actualiser
d l'entrée de commande et la sortie du VCPN en temps borné : U(k) =
y (k ) = y (k − 1) + ∆t.(∑ u j (k − 1).Q.WCj . Aj (ϕ ) U(k,N), et y(k) = y(k,N). L'équation (12) est réécrite :
j =1
p−d
(10)
+ ∑ xmax NC j .Q.WNCj .B j (ϕ )).M (k − 1) k >0 δ U (k , h) = −( S (k ).S (k )T + λ .I ) −1 .S (k ).ε (k , h),
(16)
j =1 U (k , 0) = U (k − 1), h = 0,..., N − 1, k ≥ 0
Soit le coût scalaire v(k) : avec δU(k,h) = U(k,h+1) - U(k,h).

1 Les équations (15) et (16) se généralisent aux cas multi - sorties avec
v(k ) = ε 2 (k ) ∈ IR. (11) un raisonnement identique à celui du paragraphe précédent.
2
L'actualisation à chaque nouvel échantillon de mesures du vecteur C. Régulateur prédictif
U(k) des entrées est obtenue en écrivant un développement en série Lorsque des places intermédiaires et des transitions non
de Taylor du coût v. Les termes de second ordre sont habituellement commandées existent entre les entrées de commande et les sorties
négligés dans l'évaluation de la matrice Hessienne, mais un petit du VCPN, les marques présentes dans ces places ne sont pas prises
terme positif λ.I est ajouté pour permettre l'inversion de la matrice en compte lors de l'actualisation du vecteur U et le régulateur ne
lorsqu'elle est singulière ou mal conditionnée [8]. L'actualisation de converge pas vers le marquage désiré (les places ont un effet
l'entrée de commande est donnée par (12) [11] : cumulatif). Afin de surmonter cette difficulté, nous proposons d'utiliser
un régulateur prédictif où le VCPN devient un prédicteur qui calcule
δ U (k ) = −( S (k ).S (k )T + λ.I ) −1 .S (k ).ε (k ), l'erreur ε(k, L) = yd(k) - y(k+L), entre la sortie désirée et la sortie du
(12)
k≥0 VCPN y(k+L) à l'instant t = (k+L).∆t obtenue à partir du marquage
M(k+i-1), i=0,…L, et de l'entrée U(k-1) :
avec δU(k) = U(k) - U(k-1).
d
S(k) ∈ IRd est le gradient de la sortie par rapport aux variations des y (k + i ) = y (k + i − 1) + ∆t.(∑ u j (k − 1).Q.WCj . Aj (ϕ )
entrées, calculé à l'instant t = k.∆t. j =1
p−d
L'algorithme de commande précédent peut être étendu au cas multi - + ∑ xmax NC j .Q.WNCj .B j (ϕ )).M (k + i − 1) (17)
sorties en considérant la fonction coût (13) : j =1

i = 1,..., L, k > 0
1 e 2
v(k ) = .∑ ε α (k ) ∈ IR. (13)
2 α =1 Dans le calcul de ε(k, L), le vecteur U(k-1) est considéré constant sur
l'intervalle [k.∆t (k+L).∆t[. Le paramètre L correspond à l'horizon
Le développement en série de Taylor de (13) est utilisé pour prédictif, il permet de prendre en compte le marquage des places
actualiser le vecteur des entrées U(k) à chaque nouvel échantillon de intermédiaires qui n'apparaissent pas dans la définition des sorties
mesures : ainsi que la dynamique des transitions non commandables.
L'équation (12) est remplacée par (18) :
e
δ U (k ) = −(∑ ( Sα (k ).Sα (k )T + λ .I )) −1
α =1 δ U (k ) = −( S (k + L).S (k + L)T + λ.I ) −1
(14)
e
.S (k + L).ε (k , L), (18)
.(∑ Sα (k ).ε α ( k ))
α =1 L ≥ 0, k ≥ 0

où Sα (k) ∈ IR d est le gradient de la sortie yα par rapport aux Le cas multi-sorties est résolu en utilisant un horizon prédictif L avec
variations du vecteur U des entrées, calculé à l'instant t = k.∆t. les équations (13) et (14).
B. Régulateur à plusieurs pas de calcul
D. Calcul du gradient
Pour converger efficacement vers un minimum de la fonction coût, les
Le calcul du gradient revient à calculer la sensibilité de chaque sortie
algorithmes d'adaptation basés sur le calcul du gradient sont
yα par rapport aux variations des entrées de commande U. Nous
généralement appliqués un grand nombre de fois sur l'ensemble des
calculons le gradient en temps échantillonné pour pourvoir appliquer
données d'apprentissage. Utilisés en ligne, ces algorithmes peuvent
le résultat dans les algorithmes précédents. Soit sαγ (k) le gradient de
être itérés plusieurs fois sur chaque nouvel échantillon de mesure.
Nous définissons l'erreur instantanée pour chaque échantillon et la sortie yα par rapport à l'entrée uγ (i.e. la fréquence maximale de
chaque itération ε(k,h) = yd(k) - y(k,h), où y(k,h) est la sortie y du franchissement xmax Cγ). Le gradient sαγ (k) est calculé par une
méthode du premier ordre en utilisant les fonctions de classification fβ M (t ) = (u (t ).WC1 . A1 (ϕ ) + xmax 1 .WNC1 .B1 (ϕ )
définies par l’équation (6) [11]: , ϕ = 1,2,… (22)
+ xmax 2 .WNC 2 .B2 (ϕ )).M (t )

n
 p  avec M(t) = (m’’0(t), m’’1(t), m’’2(t), m1(t), m2(t), m’1(t), m’2(t))T, WC1.=
δ sαγ (k ) = ∑ qα i .  wiγ .µγ (k ) + ∑ wij .xmax j .s fj γ (k )  .∆t (19) (0, 0, 0, 1, 0, -1, 0)T, WNC1.= (0, 0, 0, -1, 1, 1, -1)T, WNC2.= (0, 0, 0, 0, -
i =1
 j =1

 j ≠γ  1, 0, 1)T. Les vecteurs lignes A1(ϕ) , B1(ϕ), et B2(ϕ) dépendent de la
phase en cours. Par exemple pour M = M0, ces vecteurs lignes
avec δsαγ(k) = sαγ(k) - sαγ(k-1) et sαγ(0) = 0. prennent les valeurs A1(ϕ) = (1, 0, 0, 0, 0, 0, 0), B1(ϕ) = (0, 0, 0, 1, 0,
0, 0), et B2(ϕ) = (0, 0, 0, 0, 1, 0, 0), ce qui conduit à l’expression
IV. EXEMPLE suivante :
Le VCPN de vecteur de marquage M(t) = (m’’0(t), m’’1(t), m’’2(t), m1(t), 0 0 0 0 0 0 0
m2(t), m’1(t), m’2(t))T représenté sur la figure 1 modélise une ligne  
manufacturière avec 2 machines M1 et M2 correspondant aux 2 0 0 0 0 0 0 0
transitions T1 et T2. Les machines sont alimentées par des stocks à 0 0 0 0 0 0 0
  
capacité limitée correspondant aux ensembles de places {P1, P’1} et M (t ) = (u (t ).  1 0 0 0 0 0 0
{P2, P’2} [1]. Les capacités maximales C1 et C2 des places P1 et P2 0 0 0 0 0 0 0
correspondent au marquage initiale m1(0) +m’1(0) = C1 et m2(0)  
+m’2(0) = C2. P’1 P’2
 −1 0 0 0 0 0 0
0 0 0 0 0 0 0 

0 0 0 C1-m1 C2-m2
  0 0 0 0 0 0 0
0 0 0  
0 0 0 T0 P1 T1 P2 T2 0 0 0 0 0 0 0
  0 0 0 0 0 0 0
W =  1 −1 0  m1 m2  
 0 1 −1  + xmax 1 .  0 0 0 −1 0 0 0
  xmax 0 xmax 1 xmax 2 0 0 0 1 0 0 0
 −1 1 0   
 0 −1 1  1 0 0 0 1 0 0 0
  1 1 0 0 
P’’0 P’’1 P’’2
 0 0 −1 0 0
Figure 1 : Ligne manufacturière 0 0 0 0 0 0 0
Les pièces entrent dans le système en franchissant T0. Les  
0 0 0 0 0 0 0
fréquences de franchissement sont limitées par le marquage des 0 0 0 0 0 0 0
places P’’0, P’’1, et P’’2. Dans toutes les simulations qui suivent, M0 =  
(1,1,1,0,0,3,3)T, λ = 1 et ∆t = 0.06. En l’absence de commande, le + xmax 2 .  0 0 0 0 0 0 0 ).M (t )
système évolue librement selon (20). Avec, par exemple, un vecteur 0 0 0 0 −1 0 0
  (23)
de fréquences maximales de franchissement Xmax = (5, 4, 3)T, le 0 0 0 0 0 0 0
système atteint un régime stationnaire après 3s et le marquage tend 0
 0 0 0 1 0 0 
vers (m1, m2) = (12/5, 9/4).
m2
m 1 (t ) = xmax 0 .min(m ''0 (t ), m '1 (t ))
m 1   0 xmax1   m1  1
− xmax 1 .min(m ''1 (t ), m1 (t ), m '2 (t ))    = .  + .xmax0
m 1  −xmax0 xmax1   m1  3
   = .  + .xmax0
 m2   0 −xmax1   m2   0 m2   0 −xmax1  m2  0
m 2 (t ) = xmax 1 .min(m ''1 (t ), m1 (t ), m '2 (t ))  −3 0 −3  0
(20) + .xmax1 + .xmax2 + .xmax1 + .xmax2
 3  −1
− xmax 2 .min(m ''2 (t ), m2 (t )) 3 1

m 'i (t ) = Ci − mi (t ) = 3 − mi (t ) i = 1, 2 2
m 1   −xmax1 0   m1  m 1  1  −1
m '' j (t ) = m '' j (0) = 1 j = 1, 2,3    = x  .     =   .xmax0 +   .x max1  m
 1  −xmax0 0  m1  3
 2   max1 0   m2 
m  m2   0  1    = .  + .xmax0
m2   0 0 m2  0
1 0 0
Considérant à présent le système (20) comme un système bilinéaire +  .xmax0 +   .xmax2 +   .x max 2 −1  0
+ .xmax1 + .xmax2
 0  −1  −1
par morceaux avec une commande contrainte 0 ≤ U(t) ≤ 10 qui 1  −1
correspond soit à la fréquence maximale de franchissement de T0,
(ie. U(t)=xmax0(t) ), soit à la fréquence maximale de franchissement de 1
T1, (ie. U(t)=xmax1(t) ), soit à la fréquence maximale de franchissement m 1   −xmax0 0   m1 
m
 1  0 0   m1   m2  =  0 .
m 1   −xmax1 max2   m2 
de T0 et T1 (ie. U(t)=(xmax0(t), xmax1(t))T ). Par exemple si U(t)=xmax0(t), 0   m1 
 m2  =  xmax1  .  m2  = 0 xmax2 .m2  
   −x  
   −xmax2   m2     −
  
le VCPN (20) peut être représenté sous forme scalaire en utilisant les  3  −1
1 1 max0 −1 max1 +  .xmax0 +  .xmax1
fonctions fj : +  .xmax0 +  .x +  .x  0 1
 0 0 1

m 1 (t ) = u (t ).m f 0 (t ) − xmax 1 .m f 1 (t ) 0 1 2 m1
(21) Figure 2 : Partition du sous espace d'état (m1, m2)
m 2 (t ) = xmax 1 .m f 1 (t ) − xmax 2 .m f 2 (t )
Le sous espace d'état (m1, m2) peut être divisé en plusieurs régions
ou sous forme vectorielle en utilisant les familles de matrices (figure 2) qui correspondent à la famille de systèmes bilinaires (22)
WC1.A1(ϕ )∈ IN7 × 7 associée à T0 ainsi que WNC1.B1(ϕ)∈ IN7 × 7 et actifs chacun au cours de l’une des phases d’évolution. L'ensemble
WNC2.B2(ϕ)∈ IN7 × 7 associées à T1 et à T2 : des points d'équilibre est reporté sur la figure 2 selon l'entrée de
commande considérée (pointillés courts pour U(t)=xmax0(t), pointillés atteignent l'objectif (figure 5), car le marquage désiré appartient à
longs pour U(t)=xmax1(t), zone grisée pour U(t)=(xmax0(t), xmax1(t))T). Il l'ensemble des points d'équilibre atteignables par la commande
n’est pas étonnant de constater que la région d’équilibre que l’on peut u(t) = xmax 0(t) (figure 2).
atteindre avec U(t)=(xmax0(t), xmax1(t))T inclut très largement celles M (m a rq u e s)
atteignables avec U(t)=xmax0(t), et U(t)=xmax1(t).
0 .6
Les régulateurs proposés dans la section III sont appliqués et 0 .4
comparés pour différentes configurations d’entrées-sorties. R ég u la teu r à un pa s
0 .2
R ég u la teu r à plu sieur s pa s
Considérons dans un premier temps la ligne manufacturière comme 0
0 1 2 3 4 5 t(s)
un système mono - entrée et mono - sortie : u(t) = xmax 1(t) et y(t) = U (m a rq u e s/s)
m2(t). L'objectif de la commande est d'adapter la fréquence maximale
de franchissement de la transition T1 pour que le marquage de la 4 R ég u la teu r à plu sieur s pa s

place P2 atteigne une valeur désirée yd = 2 marques. Les résultats R ég u la teu r à un pa s

obtenus avec des régulateurs à un pas de calcul et à plusieurs pas 2

de calcul (N = 100) sont comparés (figure 3). Les deux régulateurs 0


0 1 2 3 4 5
atteignent l'objectif mais on peut constater que, conformément à nos t(s)

attentes, le régulateur à plusieurs pas de calcul est beaucoup plus Figure 5 : Système mono -entrée et multi - sorties
rapide. avec Yd dans l'ensemble des points d'équilibre
Si on considère le même système mono - entrée et mono - sortie Considérons à nouveau la ligne comme un système mono - entrée et
mais avec une entrée de commande différente : u(t) = xmax 0(t), les multi - sorties avec le marquage désiré (yd1(t), yd2(t)) = (md1(t), md2(t))
régulateurs à un et plusieurs pas de calcul échouent (figure 4) car le = (1, 2). Dans ce cas tous les régulateurs proposés échouent car il
marquage de la place intermédiaire P1 n'est pas pris en compte de n'existe pas de commande u(t) = xmax 0(t) qui conduise et maintienne
même que la dynamique de la transition T1 qui n'est pas commandée. le système dans un voisinage de la sortie désirée.
Ce problème peut être résolu en modifiant la sortie
y(t) = m1(t) + m2(t), ou en utilisant un régulateur prédictif avec L = 15 Considérons enfin la ligne comme un système multi - entrées et multi
(figure 4). - sorties avec u1(t) = xmax 0(t), u2(t) = xmax 1(t), y1(t) = m1(t), y2(t) = m2(t),
et un marquage désiré (yd1(t), yd2(t)) = (1, 2) qui n'appartient ni à
M (m a rq u e s)
l'ensemble des points d'équilibre atteignables par u1(t), ni à celui des
2 points d'équilibre atteignables par u2(t). Le régulateur à un pas est
1.
5
trop lent mais le régulateur à plusieurs pas atteint l'objectif (figure 6),
1 R ég u la teu r à un pa s car (yd1(t), yd2(t)) appartient à l'ensemble des points d'équilibre
0.
5 R ég u la teu r à plu sieur s pa s atteignables par (u1(t), u2(t)).
0
0 1 2 3 4 5 t(s)
M (m a rq ue s)
U (m a rq u e s/s)
2
8 R ég u la teu r à plu sieur s pa s
1 .5
6 R ég u la teu r à un pa s
1
4 R ég ulateur à un pas
0 .5
2 R ég ulateur à plusieurs pas
0
0 0 2 4 6 8 10 t(s)
0 1 2 3 4 5 t(s)
U (m a rq ue s /s)

Figure 3 : Système mono -entrée mono -sortie 8


R ég ulateur à plusieurs pas
R ég ulateur à un pas

sans place intermédiaire 6

4
M (m a rq u e s) 2

2 0
0 2 4 6 8 10
t(s)
1. R ég u la teu r à plu sieur s pa s
5
1
R ég u la teu r pr éd ictif Figure 6 : Système multi -entrée multi - sorties
0.
R ég u la teu r à un pa s
5
0
0 1 2 3 4 5 t(s)
Les régulateurs proposés ont aussi été comparés avec des
U (m a rq u e s/s)
commandes constantes et proportionnelles contraintes (figure 7).
Signalons en premier lieu que de telles commandes sont difficiles à
8
calculer analytiquement dans les régions de l'espace d'état où le
6
R ég u la teu r à plu sieur s pa s R ég u la teu r à un pa s système n'est pas linéaire. Pour montrer l’intérêt des régulateurs
4

2
inspirés du gradient, le cas mono - entrée et multi - sorties : u(t) =
0
R ég u la teu r pr éd ictif xmax 0(t), y1(t) = m1(t), et y2(t) = m2(t) a été considéré avec yd1 = 1/2 et
0 1 2 3 4 5 t(s)
yd2 = 2/3 marques. Le régulateur à plusieurs pas de calcul (N = 100)
est plus rapide que les autres commandes que nous avons testées
Figure 4 : Système mono -entrée mono -sortie
(figure 7 a et b). Un autre avantage des régulateurs inspirés du
avec une place intermédiaire
gradient est leur robustesse en présence de perturbations sur les
Considérons maintenant la ligne manufacturière comme un système fréquences de franchissement des transitions non commandables
mono - entrée et multi - sorties : u(t) = xmax 0(t), y1(t) = m1(t), et y2(t) = (figure 7 c et d : les fréquences xmax 1 et xmax 2.sont supposées être
m2(t). Le régulateur doit adapter la fréquence maximale de modifiées par une perturbation de +20% de leur valeur nominale).
franchissement de la transition T0 pour que les marquages des places
P1 et P2 tendent respectivement vers les valeurs désirées yd1 = 1/2 et
yd2 = 2/3 marques. Les régulateurs à un et plusieurs pas de calcul
a c
m d1 - m 1 m d1 - m 1 VI. RÉFÉRENCES
0 0
[1] Amrah A., Zerhouni N., El Moudni A., 1996, Constrained state
feedback control of a class of discrete event systems modeled
-0 .5 -0 .5
by continuous Petri nets, ICARCV 96 Proceedings, pp. 979-984,
-1
0 0 .5 1 1 .5 t(s )
-1
0 0 .5 1 1 .5 t(s )
Singapore.
m d2 - m 2 b m d2 - m 2 d
[2] Brams G.W., 1983, Petri nets, Vol I et II, Masson, Paris.
0 .6 0 .6
[3] David R., Alla H, 1992, Petri nets and grafcet – tools for
0 .4 0 .4
modelling discrete event systems, Prentice Hall, London.
0 .2 0 .2 [4] Diaz M., 2001, Les réseaux de Petri : Modèles fondamentaux,
0 0 pp. 119 – 158, Hermes, Paris.
-0 .2
0 0 .5 1 1 .5 t(s )
-0 .2
0 0 .5 1 1 .5 t(s ) [5] Egilmez K., Sharifnia A., 1994, Optimal control of a
manufacturing system based on a novel continuous flow model
Figure 7 : Comparaison de la commande par gradient à plusieurs pas with minimal WIP requirement, Int. Conf. On CIM, pp. 113-118,
(en trait plein) avec une commande constante (en pointillés courts) et Albany, USA.
une commande proportionnelle (en pointillés longs) [6] Ghabri M., 1995, Sur la modélisation et la commande des
De plus le régime stationnaire obtenu avec les commandes systèmes flexibles de production, Thèse de doctorat, INPG,
constantes et proportionnelles dépend du marquage initial. Par Grenoble, France.
exemple, la consigne yd = m2d = 2 ne peut pas être atteinte à partir [7] Giua, A.; DiCesare, F., 1994, Petri nets structural analysis for
d'un marquage initial M0 = (1,1,1,0,0,3,3)T en utilisant une commande supervisory control., IEEE Trans. on Robotics et Automation,
constante sur T0. De la même manière, les commandes Vol. 10, No. 2, pages 185-195.
proportionnelles peuvent conduire à plusieurs points d'équilibre dans [8] Hagan M.T., Demuth H., Beale M ., 1995, Neural network
l'espace d’état en fonction du marquage initial. Les régulateurs design, PWS publishing company, Boston, U.S.A..
inspirés du gradient n’ont pas la même sensibilité au marquage initial [9] Hanzalek Z., 2003, Continuous Petri nets and polytopes, IEEE-
comme le montrent les portraits de phase de la figure 8, obtenus SMC03, pp. 1513-1520, Washington, USA.
dans des conditions de simulation identiques à ce qui précède avec [10] Lefebvre D., 1999, Feedback control designs of manufacturing
des perturbations de +20% sur xmax 1 et xmax 2. systems modeled by continuous Petri nets, International Journal
of Systèmes Science, vol. 30, no. 6, pp. 591-600.
m2 [11] Lefebvre D, Leclercq E., Druaux F., Thomas P., 2003, Source
and sink transitions controllers for continuous Petri nets : a
2 .5 gradient – based approach, IFAC - ADHS03, 16-18 june, Saint
Malo, pp. 229 – 234, France.
2 [12] Ljung L., 1987, System identification: theory for the user,
Prentice Hall, Englewood Cliffs.
1 .5
[13] Murata T., 1989, Petri nets: properties, analysis and
applications, Proceedings IEEE, vol.77, no. 4, pp 541-580.
1 m d 1 = 1 /2 [14] Mohler R.R., Bilinear control process, Academic Press, New
m d 2 = 2 /3 York 1973.
0 .5
[15] Ramadge P.J., Wonham W.M., 1987, Supervisory control of a
0 class of discrete event processes, SIAM J. Cont. Opt., vol. 25,
0 .5 1 1 .5 2 2 .5 m1
pp. 206-230.
Figure 8 : Portraits de phase de la commande par gradient [16] Ramchandani C., 1973, Analysis of asynchronous concurrent
systems by timed Petri nets, Ph. D, MIT, USA.
[17] Sharifnia A., 1994, Stability and performance of distributed
V. CONCLUSIONS production control methods based on continuous flow models, ,
Dans cet article, nous avons proposé des commandes basées sur la IEEE TAC, vol. 34, no. 4, pp. 725 – 737.
propagation du gradient pour les systèmes modélisés par VCPN. Les [18] Silva M., Recalde L., On fluidification of Petri nets : from discrete
entrées de commande sont les fréquences maximales de to hybrid and continuous models, IFAC - ADHS, pp. 9 – 20, 2003
franchissement des transitions commandables, et l'objectif des [19] Thomas P., 1997, Contribution à l’identification de systèmes non
régulateurs proposés est d'atteindre des valeurs de consignes dans linéaires par réseaux de neurones, Thèse de Doctorat,
l'espace des sorties. Université de Nancy.
[20] Uzam, M.; Jones, A.H.; Yucel, I., 1999, A rule-based
Nos travaux à venir sont guidés par les questions suivantes. methodology for supervisory control of discrete event systems
Comment calculer et localiser le nombre minimal de transitions à modeled as automation Petri nets, Int. Jour. of Intelligent Control
commander étant donné le modèle PN et les sorties désirées ? Systèmes, vol. 3, no. 3, pp. 297-325.
Comment modifier les algorithmes proposés pour les utiliser avec des [21] Widrow B., Lehr M.A., 1990, 30 years of adaptative neural
réseaux de Petri discrets temporisés et autonomes ? A notre avis, les networks: Perceptron, Madaline, et backpropagation, IEEE
méthodes mises en œuvre devraient permettre non seulement de Proceedings, vol. 78, no. 9, pp. 1415-1442.
faire du suivi de trajectoires mais aussi d'apprendre des [22] Zaytoon J., (éditeur), 1998, Hybrid dynamical systems, APII -
comportements complexes et de garantir certaines propriétés JESA, vol 32, n° 9-10.
comportementales. Nous allons poursuivre les recherches qui allient
les réseaux de Petri aux algorithmes d'apprentissage pour
développer des PN à apprentissage.

View publication stats

Vous aimerez peut-être aussi