• Aucun résultat trouvé

Simulations en boucle ouverte et en boucle fermée

1.5 Cas d’étude

1.5.5 Simulations en boucle ouverte et en boucle fermée

On va utiliser les notations qui suivent

– x est l’état du système, i.e. les grandeurs satisfaisant des équations différentielles. Ici x = θ.

– y = h(x) est la partie de l’état qui est mesurée (sortie), ici y = x, on mesure tout l’état.

– u représente les contrôles (commandes), i.e., les variables d’entrée qu’on peut choisir comme on le souhaite.

– w désigne les perturbations, i.e., les variables d’entrée qu’on ne peut pas choisir car elles sont imposées par l’environnement ; ici w = θext(t). – p est un ensemble de paramètres constants apparaissant dans le modèle (ce sont des entrées particulières qui sont des constantes) : ici p = (Λ, Λrad, Λext, M Cp).

Ces notations nous permettent d’écrire le modèle sous la forme d’état d

dtx = f (x, u, w, p), y = h(x) où f et h sont des fonctions issues de la modélisation ; ici

f (x, u, w, p) = uΛΛrad

(M Cp)(uΛ + Λrad)ch− θ) + Λext

M Cpext− θ), h(x) = x La simulation d’un tel système consiste à résoudre numériquement l’équa-tion différentielle dtdx = f (x, u, w, p) à partir d’une condition initiale x(0) = x0, d’un scénario de perturbations t 7→ w(t) donné à l’avance et de certaines valeurs des paramètres p. Les valeurs du contrôle sont également requises.

Lorsque le contrôle est une loi horaire donnée à l’avance t 7→ u(t), on parle de simulation en boucle ouverte. Lorsque le contrôle u est au contraire calculé en fonction de x ou de y (i.e. par bouclage d’état ou de sortie), on parle de simulation en boucle fermée.

Le contrôle u donné par (1.18) fait apparaître une équation différentielle avec un état I, c’est un bouclage dynamique. Pour calculer l’évolution de la température, il faut aussi fixer la condition initiale I0 sur l’état supplé-mentaire I. Enfin, pour simuler, il faut aussi se donner le scénario pour la consigne de température t 7→ ¯θ(t) et connaître les paramètres Kp, Ki et Ks de réglage du régulateur.

Considérons une simulation en boucle fermée. Le modèle correspondant est    d dtθ(t) = u(t)ΛΛrad

(M Cp)(u(t)Λ+Λrad)ch− θ(t)) + Λext

M Cpext− θ(t)) d

dtI(t) = Ki(¯θ − θ(t)) + Ks(u(t) − Kp(¯θ − θ(t)) − I(t)) avec u(t) = Sat(Kp(¯θ − ¯θ(t) + I(t))

(1.20)

avec w = (θext, θch) constant. Si on choisit des gains Kp > 0, Ki > 0 et Ks > 0 tels que KsKp > Ki, on constate que les trajectoires t 7→ (θ(t), I(t)) convergent toutes vers le même point, indépendamment de leur condition initiale. Ce point est donc globalement asymptotiquement stable. Le contrôle u(t) converge vers une valeur ¯u dans [0, 1]. De plus, si 0 < ¯u < 1 alors nécessairement la limite de θ(t) est la consigne ¯θ.

Avec ces réglages, on n’a pas besoin de connaître précisément les valeurs des coefficients d’échanges thermiques ni celles de l’inertie thermique du bâ-timent ni la valeur de la température extérieure. Par ces simulations, on se rend donc compte qu’avec un algorithme de contrôle élémentaire de type PI, il est possible de contrôler la température d’une très large gamme de bâtiments dont les transitoires thermiques peuvent être décrits de façon ap-proximative par une équation bilan du type de celle construite ci-dessus. En fait, nous allons voir que cette constatation expérimentale correspond à un résultat général.

Considérons un système avec un état de dimension 1. Il suffit que dtdx = f (x, u, w, p) soit une fonction décroissante de x = θ et croissante de u pour qu’un tel régulateur fonctionne.

1.5.6 Un résultat général : régulateur PI sur un système

non linéaire du premier ordre

Résultat

On considère le système (mono-dimensionnel) du premier ordre d

dtx = f (x, u) (1.21)

d’état x(t) ∈ R avec le contrôle scalaire u(t) ∈ R soumis aux contraintes u ∈ [umin, umax] (umin < umax

). On suppose que R × [umin, umax] 3 (x, u) 7→ f (x, u) ∈ R est une fonction continue et dérivable par morceaux. Les seules informations que nous avons sur notre modèle, i.e. sur f , sont de nature qualitative : pour tout (x, u) ∈ R × [umin, umax],

∂f

∂x(x, u) ≤ 0 et ∂f

∂u(x, u) > 0

On suppose en outre qu’il existe un régime stationnaire respectant stricte-ment les contraintes sur le contrôle : il existe (¯x, ¯u) ∈ R×]umin

, umax

[ tel que f (¯x, ¯u) = 0.

Nous allons montrer que le régulateur PI avec anti-emballement u = Sat

[Kp(¯x − x) + I] , d

dtI = Kix−x)+Ks(u − Kpx − x) − I) (1.22) où la fonction saturation Sat est définie par

R 3 u 7→ Sat(u) =    umin , si u ≤ umin ; u, si umin ≤ u ≤ umax; umax, si umax ≤ u. (1.23)

rend le point d’équilibre (¯x, ¯u) globalement asymptotiquement stable pour le système d’état étendu (x, I) dès que ses gains, Kp le gain proportionnel, Ki le gain intégral et Ks le gain d’anti-emballement , vérifient

Kp > 0, Ki > 0, Ks > 0, et KsKp ≥ Ki Dynamique à étudier

Nous cherchons à montrer la stabilité asymptotique globale du point d’équilibre (¯x, ¯u). Nous cherchons donc à établir que, pour toute condition initiale (x0, I0), la solution t 7→ (x(t), I(t)) du système bouclé

d dtx = f (x, S at [Kp(¯x − x) + I]) d dtI = Kix − x) + Ks(S at [Kp(¯x − x) + I] − Kp(¯x − x) − I) (1.24)

Figure 1.21 – Le rectangle Rλ est positivement invariant car le champs de vecteurs X 7→ F (X) pointe vers l’intérieur lorsque X = (x, I) parcourt le bord de Rλ.

existe pour tout temps t ≥ 0 et que sa limite quand t tend vers +∞ est (¯x, ¯u). Dans tout ce qui suit, nous considérons l’état étendu X = (x, I) et ré-écrivons (1.24) sous la forme dtdX = F (X). La fonction F : R2 → R2 est une fonction continue et dérivable par morceaux de X. On note aussi ¯X = (¯x, ¯u) le point d’équilibre de F : F ( ¯X) = 0.

Les trajectoires sont bornées

Nous allons montrer que les trajectoires du système (1.24) restent bornées pour t > 0. Elles seront donc automatiquement définies pour tout temps t > 0. Pour cela nous allons considérer le plan de phases X = (x, I) et construire une famille de rectangles emboîtés les uns dans les autres. Chacun de ces rectangles est positivement invariant par la dynamique (voir Définition22) : si la condition initiale appartient à l’intérieur d’un de ces rectangles alors il est impossible à la trajectoire d’en sortir. Pour établir ce point, il suffit de regarder la direction du vecteur vitesse F (X) quand X parcourt le bord du rectangle : si F (X) pointe constamment vers l’intérieur, alors il est impossible de sortir du rectangle en intégrant selon les temps positifs. L’existence de ces ensembles repose sur les hypothèses déjà évoquées Kp > 0, Ki > 0, Ks > 0, KsKp ≥ Ki, f croissante par rapport à u et décroissante par rapport à x.

La fonction Sat

qui intervient dans (1.23) conduit à un découpage en trois zones du plan de phases (x, I) (voir Figure1.21) selon la position de Kp(¯x −

x)+I par rapport à umin

et umax

: les deux zones saturées Kp(¯x−x)+I ≥ umax

et Kp(¯x−x)+I ≤ uminet la zone sans saturation umin ≤ Kp(¯x−x)+I ≤ umax. Posons L = max(umax − ¯u, ¯u − umin) > 0. Comme représenté sur la Fi-gure1.21, considérons, pour λ ≥ L, le rectangle Rλ de centre (¯x, ¯u), de cotés parallèles aux axes et coupant l’axe des x en ¯x ± λ/Kp et l’axe des I en ¯u ± λ. Étudions maintenant, en détaillant ses composantes Fx et FI, la direction, pour (x, I) sur le bord de Rλ, du vecteur tangent à la trajectoire

F (x, I) =

 Fx(x, I) = f (x, Sat[Kp(¯x − x) + I])

FI(x, I) = Ki(¯x − x) + Ks(Sat[Kp(¯x − x) + I] − Kp(¯x − x) − I) 

– (coté horizontal supérieur) pour I = ¯u + λ et x ∈ [¯x − λ/Kp, ¯x + λ/Kp], on voit que FI(x, ¯u + λ) ≤ 0 ; en effet si x ∈ [¯x − λ/Kp, ¯x] on a

FI = ≤0 z }| { (Ki− KsKp) ≥0 z }| { (¯x − x) +Ks ≤0 z }| { (umax− ¯u − λ)≤ 0; si x ∈ [¯x, ¯x + (¯u + λ − umax)/Kp] on a FI = Ki ≤0 z }| { (¯x − x) +Ks ≤0 z }| { (umax− ¯u − λ − Kp(¯x − x))≤ 0; si x ∈ [¯x + (¯u + λ − umax)/Kp, ¯x + λ/Kp] on a FI = Ki ≤0 z }| { (¯x − x)≤ 0 Ainsi, le vecteur F = Fx FI 

pointe vers le bas le long du coté hori-zontal supérieur.

– (coté vertical droit) pour x = ¯x + λ/Kp et I ∈ [¯u − λ, ¯u + λ] on voit que Fx(¯x + λ/Kp, I) ≤ 0;

en effet si I ∈ [¯u − λ, umin+ λ] on a Fx = f (¯x + λ/Kp, umin

) ≤ f (¯x, umin

) ≤ f (¯x, ¯u) = 0 car ∂f∂x ≤ 0 et ∂f∂u > 0 ; si I ∈ [umin+ λ, ¯u + λ] on a de même

Fx = f (¯x + λ/Kp, I − λ) ≤ f (¯x, I − λ) ≤ f (¯x, ¯u) = 0

On démontre, de la même façon, que F pointe vers le haut le long du coté horizontal inférieur et pointe vers la droite le long du coté vertical gauche. En conclusion, pour tout λ ≥ L, le vecteur tangent à la trajectoire F (X) pointe vers l’intérieur du rectangle Rλ. Cet ensemble est donc positivement invariant.

Prenons maintenant une condition initiale X0 = (x0, I0) arbitraire. Il existe toujours au moins un λ0 (il suffit de le prendre assez grand en fait) pour que X0 soit à l’intérieur de Rλ0. Ainsi, la solution de dtdX = F (X) avec X(0) = X0 reste dans Rλ0 pour tout temps positif : elle est donc définie pour tout temps t > 0 et reste bornée.

Stabilité asymptotique

Nous cherchons maintenant à étudier la convergence des trajectoires. On suppose que l’équilibre (¯x, ¯I) réside strictement à l’intérieur des contraintes, c.-à-d.

umin

< ¯I = ¯u < umax

Pour (x, I) autour de (¯x, ¯I), le système s’écrit      d dtx = f (x, Kpx − x) + I) d dtI = Kix − x) (1.25)

Le calcul du linéaire tangent fait apparaître la matrice Jacobienne suivante ∂f ∂x (¯x,¯u)− Kp ∂f ∂u (¯x,¯u) ∂f ∂u (¯x,¯u) −Ki 0 ! (1.26)

La trace de cette matrice 2 × 2 est strictement négative car Kp > 0, Ki > 0, ∂f

∂x ≤ 0 et ∂f∂u > 0 par hypothèse. Son déterminant est strictement positif pour les mêmes raisons. Donc ses deux valeurs propres sont à partie réelle strictement négative. Ainsi, quels que soient les choix de Kp > 0 et Ki > 0, le linéaire tangent est toujours localement asymptotiquement stable (voir par exemple la Section 1.2.3).

C’est bien un système continu et stationnaire dans le plan. On peut donc utiliser le Théorème12de Poincaré. Nous avons vu que les trajectoires restent bornées. Donc, les trajectoires convergent soit vers un équilibre, soit vers une courbe fermée du plan qui délimite un domaine borné.

Or, il n’existe pas d’autre équilibre que l’équilibre (¯x, ¯I = ¯u) dont on a supposé l’existence à l’intérieur strict des contraintes. En effet, (¯x, ¯I) est

l’unique solution de ( f (x, Sat [Kp(¯x − x) + I]) = 0 Ki(¯x − x) + Ks(Sat [Kp(¯x − x) + I] − Kp(¯x − x) − I) = 0 L’unicité résulte du raisonnement suivant

– Si umin ≤ Kp(¯x − x) + I ≤ umax, on a x = ¯x par la seconde équation, et alors la première équation donne I comme solution de f (¯x, I) = 0. Or, f est strictement croissante par rapport à son second argument, donc I = ¯I.

– Si Kp(¯x − x) + I > umax, la première équation f (x, umax) = 0 implique que x > ¯x, car f (¯x, umax

) > 0 et f est décroissante par rapport à x. La seconde équation donne alors Ki(x−¯x) = Ks(umax−(Kp(¯x−x)+I)) < 0, car Ks > 0 par hypothèse. Ceci contredit le fait que x est plus grand que ¯x.

– Si Kp(¯x − x) + I < umin, la première équation f (x, umin) = 0 implique que x < ¯x et la seconde le contraire.

Pour montrer la convergence globale vers l’unique équilibre (¯x, ¯I) de (1.24), il suffit de montrer qu’il n’existe pas de courbe fermée du plan, formée à par-tir de trajectoires du système. Il ne restera que la convergence vers l’unique équilibre comme régime asymptotique possible.

Pour montrer qu’il n’existe pas de telles courbes fermées, nous procédons par contradiction. Admettons qu’à partir des trajectoires de (1.24), on puisse former par raccordement une courbe fermée du plan. On note Ω l’intérieur de cette courbe fermée. Calculons l’intégrale de la divergence du champ F sur le domaine borné Ω. Cette intégrale est égale à l’intégrale sur le bord ∂Ω de son flux sortant16. Avec < ., . > le produit scalaire usuel, il vient

Z Z divF = I ∂Ω < F, n > ds

où n est la normale extérieure. Par construction, le champs de vecteur associé à (1.24) F =  f (x, Sat[Kp(¯x − x) + I]) Ki(¯x − x) + Ks(Sat[Kp(¯x − x) + I] − Kp(¯x − x) − I) 

est tangent au bord ∂Ω de Ω : son flux sortant est donc nul. Pourtant, on remarque que sa divergence (trace de la matrice Jacobienne) est toujours strictement négative ∂f ∂x − Kp∂f ∂u(S at )0 + Ks((Sat )0− 1) < 0 16. Il s’agit du théorème de Gauss souvent utilisé en électrostatique.

car (Sat)0vaut soit 0 soit 1. On obtient la contradiction recherchée. En conclu-sion, il n’existe pas de telle courbe fermée, et le point d’équilibre (¯x, ¯I) est globalement asymptotiquement stable.

En fait nous avons montré le point no 1 du résultat suivant :

Théorème 17 (PI avec anti-emballement sur un premier ordre non-linéaire et stable). Soit le système du premier ordre non-linéaire dtdx = f (x, u) avec, x ∈ R, u ∈ [umin, umax], f continue, dérivable par morceau vérifiant ∂f∂x(x, u) ≤ 0, ∂f∂u(x, u) > 0 pour tout avec (x, u) ∈ R × [umin, umax].

Soit le régulateur PI avec anti-emballement de consigne ¯x ∈ R : u = Sat [Kp(¯x − x) + I] , d dtI = Kix − x) + Ks(u − Kpx − x) − I) avec Kp, Ki > 0, KsKp > Ki et Sat (υ) ≡ max(umin , min(umax , υ)). Alors on a les deux cas suivants :

1. soit il existe ¯u ∈]umin, umax[ tel que f (¯x, ¯u) = 0 et alors l’équilibre (x, I) = (¯x, ¯u) du système bouclé est unique et globalement asympto-tiquement stable au sens de Lyapounov

2. sinon :

– soit ∀υ ∈ [umin, umax], f (¯x, υ) < 0 (resp. > 0) alors limt7→+∞u(t) = umax

(resp. umin

) et limt7→+∞x(t) existe, est éventuellement infinie dans [−∞, ¯x[ (resp. ]¯x, +∞])

– soit f (¯x, umax) = 0 (resp. f (¯x, umin) = 0) alors limt7→+∞u(t) = umax

(resp. umin

) et limt7→+∞x(t) existe, est finie dans ] − ∞, ¯x[ (resp. ]¯x, +∞[).

Le point no 2 signifie simplement que, compte tenu des contraintes, le régulateur PI fait au mieux, i.e., tente de rapprocher au maximum x de sa consigne ¯x. La preuve de ce point est laissée en exercice.

1.5.7 Dynamiques négligées : rôle du contrôle dans