70
Universit´ e des Sciences et Technologies de Lille UFR d’I.E.E.A. MASTER ASE. Automatique S7 Module: Repr´ esentation d’ Etat Notes de Cours K G L. Belkoura, Ufr d’IEEA, Bˆat P2

Cours S7 Etat - lagis.cnrs.frlagis.cnrs.fr/IMG/pdf/Cours_S7_Etat.pdf · Pour ˆetre plus pr´ecis dans la repr´esentation d’´etat pr´ec´edente, il convient de s´eparer les

  • Upload
    voque

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Universite des Sciences etTechnologies de Lille

UFR d’I.E.E.A.

MASTER ASE.

Automatique

S7 Module: Representation d’ Etat

Notes de Cours

K

G

L. Belkoura, Ufr d’IEEA, Bat P2

1 Motivations: Systemes SISO et MIMO

1.1 Exemple SISO (Single Input-Single Output):Moteur a courant continu

Cet exemple est celui d’un systeme electromecanique dont le principe defonctionnement est schematise ci apres. L’entree du processus est la tensionu(t) aux bornes du circuit electrique, est la sortie est la position θ(t) del’arbre moteur.

R,L sont respectivement la resistance et l’inductance du circuit electrique,E(t) la force contre-electromotrice, f le coefficient de frottements visqueux,et J l’inertie de l’arbre moteur.

R L

f Ju t( )

�� �t

E t( )

i t( )

L’application des principes fondamentaux conduit aux equations suivantes,ou Γ(t) est le couple moteur et ke, kc, des coefficients constants.

Equations electrique et mecanique Couplage

u(t) = R i(t) + Ldi/dt + E(t) E(t) = ke dθ/dt

Γ(t) = J θ(t) + f θ(t) Γ(t) = kc i(t)

Par application de la transformees de Laplace (avec C.I.=0) de simples ma-nipulations conduisent a la relation:

θ(p) =kc

p[(R + Lp)(Jp + f) + kekc]U(p) que l’on met sous la forme

θ(p) =K

p(1 + a1p + a2p2)U(p) := G(p) U(p)

2

L’equation ci-dessus constitue un modele mathematique du comporte-ment du processus physique qu’est le moteur a courant continu Ce modelesera d’autant plus fiable que les valeurs des frottements, inertie etc...serontconnues avec precision.

Par cette demarche, nous avons obtenu une fonction de transfert G(p)traduisant le comportement la sortie θ(t) du processus en fonction del’entree u(t).

Limites: Cette fonction de transfert ne donne pas d’information sur l’etatinterne du processus. Ainsi par exemple, l’information sur le courant i(t)qui traverse le circuit n’est pas accessible par cette fonction de transfert.

1.2 Exemple MIMO (Multi-Inputs/Multi-Outputs):Centrale thermique

Une centrale thermique produit de l’energie electrique a partir de l’energiecalorifique. Le combustible est brule dans une chaudiere tapissee de tubesdans lesquels circulent de l’eau. Sous l’effet de la chaleur, l’eau se transformeen vapeur a tres haute temperature et entraıne des turbines couplees a unalternateur producteur d’electricite.

Schéma de fonctionnement d’une centrale thermique (source EDF-DE)

3

En termes d’entrees et de sorties, le generateur de vapeur de cette centralepeut etre vu comme un processus MIMO admettant:

• Comme entrees,

– Un debit de fuel

– Un debit d’eau

– Un debit de vapeur (demande du reseau electrique)

• Comme sorties,

– La pression de la vapeur

– La temperature de la vapeur

debit eaudebit fuel

debit vapeur

temperature

pressionGenerateur

de vapeur

On ne peut plus parler ici de fonction de transfert, mais on pourra par lasuite decrire ce process en terme de matrice de transfert. Ici encore cettedescription ne fournit pas d’information sur l’etat interne du processus.

Remarque: Dans ce cas de figure, l’entree qui represente le debit de vapeurdemande, variable en fonction de la demande du reseau electrique, est aseparer des deux autres car elle ne constitue pas une entree sur laquelle nouspourrons agir. Elle sera prise en compte comme une consigne.

4

2 Representation d’etat

2.1 Concept d’etat: Definition

Soit un processus possedant r entrees u = (u1, u2, ..., ur)t et m sorties y =

(y1, y2, ..., ym)t. Si un vecteur x(t) a n composantes (i.e. x = (x1, x2, ..., xn)t

est propose pour representer l’etat du systeme, cette proposition sera perti-nente s’il lui correspond un systeme d’equations de la forme:

x = f(x, u, t) dite equation d′etat

y = h(x, u, t) dite equation de sortie

ou f = (f1, ..., fn)t, et h = (h1, ..., hm)t. Dans cette representation, x(t) ∈ Rn

est appele vecteur d’etat, u(t) ∈ Rr est appele vecteur de commande,

et y(t) ∈ Rm est appele vecteur de sorties.

Dans certaines situations ou l’etat, les commandes ou les sorties sont soumisa des contraintes (par ex: saturation des actionneurs), il convient d’etreplus precis sur les ensembles dans lesquels evoluent ces vecteurs. On notealors

• x(t) ∈ X ⊆ Rn avec (x,X ) = vecteur et espace d’etat

• u(t) ∈ U ⊆ Rr avec (u,U) = vecteur et espace de commande

• y(t) ∈ Y ⊆ Rm avec (y,Y) = vecteur et espace de sortie

2.2 Le cas lineaire

Dans de nombreuses situations, la nature du processus ou encore le domaine(reduit) dans lequel evoluent les variables sont tels que les fonctions f(x, u, t)et h(x, u, t) possedent les proprietes particulieres suivantes:

• Elles sont stationnaires (ou invariantes dans le temps), en ce sens quele temps n’intervient pas explicitement dans les equations. En d’autrestermes, f(x, u, t) := f(x, u) et h(x, u, t) := h(x, u).

5

• Elles sont lineaires par rapport a leurs arguments (x et u) soit encoref(x1 + x2, 0) = f(x1, 0) + f(x2, 0), f(0, u1 + u2) = f(0, u1) + f(0, u2),idem pour h(x, u).

Dans ce cas la representation d’etat precedente pourra toujours se mettresous la forme matricielle:

x(t) = Ax(t) + B u(t)

y(t) = C x(t) + D u(t)

dans laquelle A est une matrice carree de taille n × n, B est de taille n × r,C est de taille m × n, et D est de taille m × n. Pour alleger l’ecriture, onnote parfois

∑(A,B,C,D) un systeme lineaire stationnaire note

∑et decrit

par les matrices (A,B,C,D).

Note: Dans le cas lineaire mais non invariant dans le temps, on obtient larepresentation matricielle precedente avec des matrices qui dependent dutemps, soit A(t), B(t), C(t) et D(t).

2.3 Exemple du moteur a courant continu

Ici (cas Siso), r = m = 1. Proposons pour vecteur d’etat:

x =(

x1 x2 x3

)t

=(

θ ω i)t

ou ω est la vitesse de rotation de l’arbre. En manipulant les equationsprecedentes du moteur, nous pouvons ecrire:

θ = ω

ω =kc i − f ω

J

i =u − R i − keω

L

Ces equations admettent une ecriture matricielle:

x = f(x, u) =

0 1 0

0−f

J

kc

J

0−ke

L

−R

L

x +

0

01

L

u = Ax + B u

6

y = h(x, u) =(

1 0 0)

x + (0) u = C x + D u

Le vecteur x = (θ, ω, i)t est donc bien acceptable en tant que vecteur d’etatNoter que ce vecteur possede 3 composantes, ce qui correspond aussi al’ordre de la fonction de transfert G(p).

2.4 Exemple du generateur de vapeur

Une etude du comportement du generateur a permit de modeliser le com-portement du processus sous forme de fonctions de transfert interconnecteescomme indique sur le schema suivant. On se propose de fournir un represenationd’etat du systeme. Les FT mises en jeu etant du premier ordre, associonsune variable d’etat xi a la sortie de chaque bloc (peu importe l’ordre), etnotons temporairement ri les entrees correspondantes.

b3

p + a3

b4

p + a4

b2

p + a2

b1

p + a1

c1 c2

c3 c4 c5 c6

r3

r1 r2

r4x3

x1 x2

x4u3

debiteau

u2

debitfuel

u1

debitvapeur y1

pression

y2

temperature

Modele d’un generateur de vapeur en centrale thermique

A chaque FT du premier ordre correspond une equation differentielle d’ordre1 de la forme xi = −ai xi + bi ri, i = 1, ..., 4. La lecture du schema defonctionnement fournit alors les equations:

x1 = −a1 x1 + b1 r1 r1 = u2

x2 = −a2 x2 + b2 r2 r2 = x1 + c1u1 + c3u3

x3 = −a3 x3 + b3 r3 r3 = u3

x4 = −a4 x4 + b4 r4 r4 = x3 + c4x1 + c5u1 + c6x2

7

et pour les sorties

y1 = x2 + c2 u1

y2 = x4

soit sous forme matricielle

x = f(x, u) =

−a1 0 0 0

b2 −a2 0 0

0 0 −a3 0

b4c4 b4c6 b4 −a4

x +

0 b1 0

b2c1 0 b2c3

0 0 b3

b4c5 0 0

u

y = h(x, u) =

0 1 0 0

0 0 0 1

x +

c2 0 0

0 0 0

u

C’est encore un systeme admettant la representation matricielle x(t) = Ax(t)+B u(t), et y(t) = C x(t) + D u(t).

REMARQUE:

Dans la representation x = Ax + B u, et y = C x + D u, u(t) representegeneralement le vecteur de commande, c’est a dire que nous pouvons agirsur ses differentes composantes u1, ..., ur.

Or, dans le cas du generateur de vapeur, si nous maitrisons effectivement lesentrees ”debit de fuel” u2 et ”debit d’eau” u3, la composante ”debit vapeur”u1 est une grandeur incontrolable (demande du reseau electrique aleatoire).

Pour etre plus precis dans la representation d’etat precedente, il convient deseparer les commandes u2, u3 de cette grandeur u1 qui represente la consigne.

En notant par exemple u = (u2, u3)t et w = u1, on peut reecrire l’equation

d’etat precedente d’un maniere plus precise en separant les commandes de laconsigne sous la forme:

x = Ax + B1u + B2w

y = Cx + D2w

expression dans lesquelles B1 et B2 sont des matrices formees des colonnes(2,3) et (1) de la matrice B, et D2 est formee de la colonne (1) de D.

8

2.5 Systemes non lineaires, Linearisation

Soit un systeme decrit par les equations d’etat non lineaires

x = f(x, u)

y = h(x, u)

ou f et h sont suffisamment derivables par rapport a leurs arguments. Sup-posons qu’il existe une trajectoire nominale (ou d’equilibre) c’est a dire untriplet xe(t), ye(t), et ue(t) qui verifie:

xe = f(xe, ue)

ye = h(xe, ue)

Si on suppose de plus que x(t), y(t), et u(t) restent voisins de xe(t), ye(t), etue(t), on peut lineariser ces equations, c’est a dire fournir une representationd’etat lineaire, valable pour des petits deplacements au voisinage de la tra-jectoire nominale. On introduit pour cela les ecarts

ζ = x − xe, w = u − ue, z = y − ye

et un developpement en serie de Taylor au premier ordre fournit

ζ � Aζ + Bw

z � Cζ + Dw

expressions dans lesquelles

A =

(∂fi

∂xj

)|e

, B =

(∂fi

∂uj

)|e

C =

(∂hi

∂xj

)|e

, D =

(∂hi

∂uj

)|e

2.5.1 Exemple: pendule

Cet exemple simple est celui d’une masse m mise en mouvement au moyend’un couple u(t) comme indique sur la figure suivante. On neglige en premiereapproximation la masse de la tige ainsi que les frottements de l’articulation.La position de la masse est reperee par l’angle θ que fait la tige avec laverticale.

9

u(t)

θ(t) m

Avec g acceleration de la gravite, l’equation du mouvement s’ecrit:

m θ(t) + mg sin θ(t) = u(t)

Recherchons tout d’abord une representation d’etat de ce systeme. Si onpropose pour vecteur d’etat

x = (x1, x2)t = (θ, θ)t

on obtient

x1 = f1(x, u) = x2

x2 = f2(x, u) = −g sin x1 + u/m

y = h(x, u) = x1

Cette equation est bien verifiee a l’equilibre, i.e. pour la trajectoire xe(t) ≡(0, 0)t, ue(t) ≡ 0. Ainsi, pour de petits deplacements au voisinage de cetequilibre, nous pouvons ecrire (ici ζ = x, w = u, z = y).

x �

∂f1

∂x1

∂f1

∂x2∂f2

∂x1

∂f

∂x2

|e

x +

∂f1

∂u∂f2

∂u

|e

u

y �(

∂h

∂x1

∂h

∂x2

)|e

x

Les valeurs des derivees partielles etant prises a l’equilibre, il vient

x � 0 1

−g 0

x +

0

1/m

u

y �(

1 0)

x

10

2.6 Representation graphique

A l’equation x = (...) correspond un integrateur (vectoriel), ce qui permet derepresenter les systemes lineaires invariants dans le temps, i.e. regis par

x(t) = Ax(t) + B u(t) et y(t) = C x(t) + D u(t)

sous la forme du diagramme fonctionnel suivant ou les grandeurs sont vecto-rielles

A

D

B Cu x x y

De meme, a chaque equation xi = (...) correspond un integrateur (simple),ce qui permet de traduire les equations d’etat sous forme de schema de sim-ulation. Ainsi par exemple, les equations du moteur a courant continu

θ = ω

ω =kc i − f ω

J

i =u − R i − keω

L

se traduisent par le schema

ke/L

R/L f/J

1/L kc/Ju

-

- -

Reciproquement, partant d’un shema de simulation, une representation d’etatest possible en associant une variable d’etat a la sortie de chaque integrateur.

11

3 Changement de base

3.1 Cas general

Partant d’une representation d’etat donnee (avec x(t) ∈ Rn)

x(t) = Ax(t) + Bu(t)

y(t) = C x(t) + D u(t)

,

et pour une matrice constante reguliere T (n × n) quelconque, on peut tou-jours definir un nouveau vecteur d’etat ζ(t) par la relation

ζ(t) = Tx(t) ⇔ x(t) = T−1ζ(t)

On constitue ainsi un changement de base permettant d’obtenir une nouvellerepresentation d’etat, avec ζ(t) comme vecteur d’etat (et evidemment lesentrees et sorties u(t) et y(t)!). Elle se deduit aisement de la precedente pouraboutir a

ζ(t) = A ζ(t) + B u(t)

y(t) = C ζ(t) + D u(t)

avec

A = TAT−1 B = TB

C = CT−1 D = D

Il existe donc une infinite de representation d’etat possibles. Inverse-ment, deux systemes

∑1(A,B,C,D) et

∑2(A, B, C, D) dont les matrices

verifient les egalites precedentes sont dits isomorphes. Un changement debase peut mettre en evidence des proprietes structurelles du systeme.

3.2 Forme de Jordan

3.2.1 Polynome carateristique et valeurs propres

Pour une matrice A (n × n) on appelle polynome caracteristique de lamatrice A le polynome PA(λ) d’ordre n defini par

PA(λ) = det(λIn − A)

12

Ce polynome admet donc n racines λ1, λ2, · · ·λp qui peuvent etre simples oumultiples. Ces racines sont appelees valeurs propres de A. On peut alorsecrire

PA(λ) = (λ − λ1)m1(λ − λ2)

m2 · · · (λ − λp)mp

avec mi la multiplicite (algebrique) de la valeur propre λi, et m1 +m2 + · · ·+mp = n.

3.2.2 Vecteurs propres et vecteurs propres generalises

On appelle ensuite vecteur propre vi associe a la valeur propre λi un vecteurnon nul tel que

(A − λiI) vi = 0

Si λi est une valeur propre simple (mi = 1), alors il lui correspond un uniquevecteur propre (a un facteur pres). Dans le cas ou λi est une valeur propremultiple, le nombre de vecteurs propres associes est donne par la formule

qi = n − rang (λiIn − A)

ou qi est appelee la degenerescence de λi. On appelle enfin vecteur propregeneralise de rang k, associe a la valeur propre λi un vecteur vi,k tel que

(A − λiI)k vi,k = 0

(A − λiI)k−1 vi,k �= 0

et chaıne de Jordan associee a vi,k l’ensemble des vecteurs {vi,1, vi,2, · · · vi,k}definis par la relation

vi,j = (A − λiI)k−j vi,k

Noter que (A − λiI) vi,1 = (A − λiI)k vi,k = 0 et que par suite vi,1 est unevaleur propre de λi. De meme, dans le cas de valeurs propres simple, lachaıne de Jordan est unique et se reduit au seul vecteur propre.

3.2.3 Forme de Jordan d’une matrice

Toute matrice A (n×n) est semblable a sa forme de Jordan, c’est a dire qi’ilexiste une matrice reguliere P telle que

P−1AP = J =

J1

J2

. . .

Jp

avec Ji =

λi 1

. . . 1

λi

13

ou λi est une valeur propre de A. Pour chaque valeur propre λi, le nombrede blocs de Jordan associe est fourni par la degenerescence qi.La matrice Pde changement de base est fournie par les chaınes de Jordan associees auxdifferentes valeurs propres.

3.2.4 Exemple:

Considerons le cas d’un matrice A (5× 5) pour laquelle nous avons obtenu 2valeur propres simples λ1 et λ2 (m1 = m2 = 1), et une valeur propre tripleλ3 (m3 = 3). Pour cette valeur propre multiple, la degenerescence est de 2.En d’autres termes,

PA(λ) = det(λIn − A) = (λ − λ1)(λ − λ2)(λ − λ3)3

et q3 = 5 − rang (λ3I − A) = 2

La matrice de changement de base P sera alors de la forme

P = (

m1=1︷︸︸︷v1︸︷︷︸

vect. p de λ1

,

m2=1︷︸︸︷v2︸︷︷︸

vect. p. de λ2

,

m3=3 vecteurs pour λ3︷ ︸︸ ︷v

(1)3,1︸︷︷︸, v(2)

3,1, v(2)3,2︸ ︷︷ ︸

q3=2 chaınes de Jordan

)

et la forme de Jordan associee sera

J = P−1AP =

λ1

λ2

λ3

λ3 1

λ3

Dans le cas ou toutes les valeurs propres de A sont simples, la forme deJordan se reduit a une matrice diagonale.

3.3 Exemple

Considerons l’exemple suivant dans lequel on choisit comme variable d’etatxi la sortie de chaque bloc (d’ordre 1).

14

−1

p + 1

2

p + 2

2

p

1

p − 1u

x1

x2 x4

x3

y

Il lui correspond la representation d’etat

x =

0 0 0 0

0 −1 0 0

1 1 1 0

2 2 0 −2

x +

2

−1

0

0

u y =(

0 0 1 1)

x

La matrice A admet pour valeurs propres σA = {0,−1, 1,−2} et la matrice Pconduisant a la forme de Jordan est donnee par les vecteurs propres associesP = (v1, v2, v3, v4). On obtient:

P =

0 −1 0 0

0 0 0 1/2

0 1 1 −1/4

−1 −1 0 1

P−1 =

1 2 0 −1

−1 0 0 0

1 1/2 1 0

0 2 0 0

Considerons alors le nouveau vecteur d’etat definit par ζ(t) = Tx(t) avecT = P−1. L’application du changement de base conduit a la nouvellerepresentation d’etat dans laquelle A = TAT−1 = P−1AP est une matricede Jordan

ζ =

−2

0

1

−1

ζ +

0

−2

3/2

−2

u y =(

−1 0 1 3/4)

ζ

et au schema fonctionnel

15

−2

p + 1

3/2

p − 1

2

p

−1

p + 2

3/4

u y

ζ4

ζ3

ζ2

ζ1

++

-

Il apparaıt de ce schema que la composante ζ2(t) n’est pas accessible par lamesure y(t), de meme que la variable d’etat ζ1(t) n’est pas affectee par lacommande u(t). Ces notions seront reprises lors de l’etude de la command-abilite et de l’observabilite des systemes.

16

4 Conversions Etat / Transfert

4.1 Matrices de transfert (ou Description externe)

Partant d’une representation d’etat donnee, l’utilisation de la transformee deLaplace permet d’avoir une description entees/sorties en terme de matricede transfert (generalisant le cas Siso).

x(t) = Ax(t) + Bu(t)

y(t) = C x(t) + D u(t)→

pX(p) − x(0) = AX(p) + B U(p)

Y (p) = C X(p) + D U(p)

Par inversion formelle de la matrice (pIn −A) , un simple calcul conduit a larelation

Y (p) =[C (pI − A)−1B + D

]U(p) +

[C (pI − A)−1

]x(0)

Comme dans le cas Siso, l’hypothese des conditions initiales nulles conduit ala relation entree/sortie suivante

Y (p) = H(p) U(p) avec H(p) = C (pI − A)−1B + D

dans laquelle H(p) represente un matrice (m × r) de fonctions de transfert

4.1.1 Exemple

Soit le systeme lineaire decrit par

x(t) =

0 1 0

0 0 1

−6 −3 −1

x(t) +

0

0

1

u(t), y(t) =

1 2 0

0 3 1

x(t)

La matrice (pIn − A) et son determinant s’ecrivent

(pIn−A) =

p −1 0

0 p −1

6 3 p + 1

det(pIn−A) = PA(p) = p3 +p2 +3p+6.

17

Le polynome PA(p) = det(pIn−A) porte le nom de polynome caracteristiquedu systeme (ou de la matrice A). L’inverse recherchee s’obtient par (pIn −A)−1 = (matrice des cofacteurs)T /PA(p) soit

(pIn − A)−1 =1

p3 + p2 + 3p + 6

p2 + p + 3 p + 1 1

−6 p2 + p p

−6p −3p − 6 p2

Finalement

H(p) =1

p3 + p2 + 3p + 6

1 2 0

0 3 1

p2 + p + 3 p + 1 1

−6 p2 + p p

−6p −3p − 6 p2

0

0

1

H(p) =

2p + 1

p3 + p2 + 3p + 6p2 + 3p

p3 + p2 + 3p + 6

Remarque: Il existe des logiciels permettant d’effectuer ces calculs simple-ment, rapidement et sans erreur.

4.1.2 Invariance par changement de base

La matrice de transfert H(p) ne decrit que le comportement entrees/sorties etne depend donc pas du choix du vecteur d’etat. En effet, avec le changementde base,

ζ(t) = A ζ(t) + B u(t)

y(t) = C ζ(t) + D u(t)

avec

A = TAT−1 B = TB

C = CT−1 D = D

la matrice de transfert H(p) issue de cette representation est la memepuisque l’on peut ecrire, en utilisant le fait que pour des matrices R,S, Tregulieres (RST )−1 = T−1S−1R−1

H(p) = C (pI − A)−1B + D = CT−1(pTT−1 − TAT−1)−1TB + D

= CT−1[T (pI − A)T−1

]−1TB + D = C (pI − A)−1B + D

= H(p)

18

Il en est de meme du polynome caracteristique PA(p) du systeme. Eneffet, en se rappelant que det(RS) = det(R). det(S) pour R et S regulieres,il vient

PA(p) = det(pI − A) = det(pTT−1 − TAT−1)

= det(T ) det(pI − A) det(T−1) = det(pI − A) = PA(p)

Comme on le verra par la suite, d’autres proprietes sont invariantes parchangement de base, notamment la stabilite, la commandabilite et l’observabilite.

4.1.3 Ordre de la matrice de transfert

Dans l’exemple precedent, H(p) est une matrice de fonctions de transfert dontl’ordre le plus eleve est 3, ce qui correspond aussi a l’ordre de la representationd’etat. Ce n’est pas toujours le cas comme on le montre le cas de figuresuivant; Calculons le transfert de l’exemple du paragraphe 3.3 precedent.Celui-ci est plus facile a calculer a partir de la forme diagonale et fournit:

H(p) =3

(p − 1)(p + 1)

On observe ici que la fonction de transfert H(p) est d’ordre 2 alors que larepresentation d’etat est d’ordre 4. Si on cherche a retrouver ce transfert di-rectement a partir du premier schema fonctionnel, on obtient avec les calculsintermediaires qu’il y a eu simplification de poles par des zeros pour aboutira une fonction de transfert H(p) d’ordre2. Comme on le verra par la suite,ce genre de situation a lieu pour des systemes non commandables et/ou nonobservables.

4.2 Representations d’etat d’une fonction de transfert

Ayant vu qu’il existait une infinite de representations d’etat pour un memesysteme, l’objectif ici est de fournir quelques formes de representation ditescanoniques pour une fonction de transfert H(p) d’entre u(t), de sortie y(t),et ecrite sous la forme (on notera la normalisation an = 1)

H(p) =bn pn + bn−1 pn−1 + · · · + b1 p + b0

pn + an−1 pn−1 + · · · + a1 p + a0

=Num(p)

Den(p)=

Y (p)

U(p)

4.2.1 Forme commandable

On introduit une variable intermediaire v(t) correspondant a la sortie dutransfert ”sans” numerateur

V (p)

U(p)=

1

Den(p)⇒ v(n) + an−1 v(n−1) + · · · + a1 v(1) + a0 v = u

19

On definit alors les variables d’etat (x1, x2, · · · , xn) =(v, v(1), · · · , v(n−1)

)d’ou on deduit les relations

x1 = x2, x2 = x3, · · · , xn−1 = xn et

xn = −a0 x1 − a1 x2 − · · · − an−1 xn + u

Pour l’equation de sortie, nous avons la relation Y (p) = Num(p) V (p) qui setraduit

y = b0 v + b1v(1) + · · · + bnv

(n) = b0 v + · · · + bn [−a0x1 − · · · − an−1 xn + u]

= (b0 − a0bn) x1 + (b1 − a1bn) x2 + · · · + (bn−1 − an−1bn) xn + bnu

Sous forme matricielle, il vient ainsi la representation d’etat dite command-able

x =

0 1 0 0

0 0 1 0...

. . ....

0 1

−a0 −a1 · · · · · · −an−1

︸ ︷︷ ︸A

x +

0......

0

1

︸ ︷︷ ︸B

u

y =(

b0 − a0bn, b1 − a1bn, · · · bn−1 − an−1bn

)︸ ︷︷ ︸

C

x +(

bn

)︸ ︷︷ ︸

D

u

4.2.2 Forme observable

Cette forme peut facilement se deduire de la precedente a partir de l’observationsuivante: H(p) etant une fonction scalaire (non matricielle), H(p) = HT (p)et par suite, en utilisant le fait que pour une matrice inversible, (M−1)T =(MT )−1, il vient (D etant aussi scalaire)

H(p) = C (pI − A)−1B + D = BT (pI − AT )−1CT + D

On obtient donc une nouvelle reprtesentation d’etat en considerant les sub-stitutions

A ← AT , B ← CT , C ← BT , D ← D.

20

Plus explicitement, la forme dite observable s’ecrit

x =

0 0 0 −a0

1 0 −a1

0 1 0...

. . ....

0 · · · 1 −an−1

︸ ︷︷ ︸A

x +

b0 − a0bn

b1 − a1bn

...

bn−1 − an−1bn

︸ ︷︷ ︸B

u

y =(

0 · · · 0 1)

︸ ︷︷ ︸C

x +(

bn

)︸ ︷︷ ︸

D

u

Il est important de noter que le polynome caracteristique de la matrice A quirappelons le est invariant par changement de base, se deduit immediatementde ces deux dernieres formes puisque l’on obtient

PA(p) = det(pI − A) = pn + an−1 pn−1 + · · · + a1 p + a0

4.2.3 Forme de Jordan

Lorsque le transfert H(p) n’admet que des poles simples (i.e.poles distincts),une decomposition en elements simples permet de reecrire H(p) sous la formesuivante a laquelle correspond le schema de realisation:

H(p) =n∑

i=1

αi

p − λi

1

p − λ1

α1

1

p − λ2

α2

1

p − λn

αn

u y

...

21

Il suffit alors de prendre pour variable d’etat la sortie de chaque bloc d’ordre1 pour obtenir la representation

x =

λ1

. . .

λn

︸ ︷︷ ︸A

x +

1...

1

︸ ︷︷ ︸B

u y =(

α1 · · · αn

)︸ ︷︷ ︸

C

x

Lorsque H(p) contient un pole multiple (disons γ d’ordre r), la decompositionen elements simples pourra se mettre suivante ou H(p) ne contient pas le poleγ. La realisation de la partie relative au pole γ est alors fournie par le schemaci-apres

H(p) = H(p) +r∑

i=1

βi

(p − γ)i

1

p − γβ1

1

p − γβ2

1

p − γβr

ζ1

ζr−1

ζr

u

y

. . .

En prenant pour variable d’etat la sortie de chaque bloc d’ordre 1, la representationd’etat associee a la partie relative au pole γ est alors donnee par la forme deJordan

ζ =

γ 1

γ. . .

. . . 1

γ

︸ ︷︷ ︸A

ζ +

0

0

0

1

︸ ︷︷ ︸B

u y =(

βr · · · β1

)︸ ︷︷ ︸

C

ζ

Enfin, dans le cas ou la decomposition en element simples conduit a une pairede poles complexes (forcement conjuguee),

H(p) = · · · + α

p − (a + jb)+

α

p − (a − jb)

22

il peut etre souhaitable d’avoir une representation d’etat avec coefficientsuniquement reels. Ceci peut s’obtenir en considerant le changement de baseζ = Tx avec

T =

1 1

j −j

⇒ T−1 = 1/2

1 −j

1 j

On obtient en effet l’equivalence suivante:

x =

a + jb

a − jb

x +

1

1

u

y =(

α α)

x

ζ =

a −b

b a

ζ +

2

0

u

y =(

Re α Im α)

x

23

5 Resolution de l’equation d’etat

5.1 Forme generale

Pour un systeme lineaire (pas forcement invariant dans le temps) decrit par:

x(t) = A (t) x(t) + B(t) u(t)

on montre que la solution generale est de la forme

x(t) = Φ(t, t0) x(t0)︸ ︷︷ ︸reponse libre

+

∫ t

t0

Φ(t, τ) B(τ) u(τ) dτ

︸ ︷︷ ︸reponse forcee

expression dans laquelle t0 et x(t0) representent l’instant et l’etat initial. Lamatrice (n × n) Φ(t, t0) est appelee matrice fondamentale du systeme etpossede les proprietes suivantes:

Φ(t0, t0) = In, Φ(t2, t1) Φ(t1, t0) = Φ(t2, t0)

det Φ(t1, t0) �= 0 ∀ t1, t0 Φ−1(t1, t0) = Φ(t0, t1).

Dans la cas particulier des systemes stationnaires, i.e. decrits par:

x(t) = A x(t) + B u(t)

la matrice fondamentale a pour expression

Φ(t, t0) = Φ(t − t0) = eA(t−t0).

et la solution de l’equation d’etat prend la forme

x(t) = eA(t−t0) x(t0) +

∫ t

t0

eA(t−τ) B u(τ) dτ

Le systeme etant invariant dans le temps (stationnaire), on peut sans pertede generalite prendre t0 = 0. La matrice eAtest definie par son developpementen serie

eAt = I + At +(At)2

2!+ · · · + (At)n

n!+ · · ·

Il existe plusieurs techniques permettant un calcul analytique de cette expo-nentielle.

24

5.2 Calcul de eAt

5.2.1 A partir de la forme de Jordan

D’une maniere generale, si deux matrices A et A sont semblables,

A = T−1AT alors eAt = T−1 eAt T

De plus si A est la forme de Jordan de A,

A =

J1

J2

. . .

Jp

alors eAt =

eJ1t

eJ2t

. . .

eJpt

enfin pour chaque bloc Ji de taille (ni × ni)

Ji =

λi 1

. . . 1

λi

eJi t = eλi t

1 t t2

2· · · tni−1

(ni−1)!

1 t. . .

1. . . t2

2

1 t

1

Noter que dans le cas ou toutes les valeurs propres de A sont simples, A est di-agonale, A = diag(λ1, λ2, · · · , λn) et par suite eAt = diag(eλ1t, eλ2t, · · · , eλnt).

5.2.2 Utilisation du theoreme de Cayley Hamilton

D’apres ce theoreme, toute matrice A (n × n) annule son propre polynomecaracteristique. En d’autres termes, si PA(λ) = λn+an−1λ

n−1+ · · ·+a1λ+a0

est le polynome caracteristique de A, alors

PA(A) = An + an−1An−1 + · · · + a1A + a0In = 0

Cela signifie aussi que toute puissance de A d’ordre superieur ou egal a npeut s’exprimer a partir de puissances d’ordre inferieur. On en deduit queeAt peut s’exprimer a partir d’une somme finie de la forme

eAt =n−1∑j=0

αj(t) Aj

25

La connaissance des αj(t) (j = 0, 1, · · · , n − 1) permet donc de calculer eAt.Ils s’obtiennent en observant que cette relation doit egalement etre verifieepour les valeurs propres de A, soit sous forme matricielle

eλ1t

eλ2t

...

eλpt

=

1 λ1 · · · λn−11

1 λ2 λn−12

...

1 λp · · · λn−1p

α0(t)

α1(t)

αn−1(t)

Si toutes les valeurs propres de A sont simples, on obtient un systeme de nequations a n inconnues permettant le calcul des αj(t) Si une valeur propreλi est multiple d’ordre ni, on utilise en plus des relations precedentes[

dk

dλkeλt

]λ=λi

=n−1∑j=0

αj(t)

[dk

dλk(λj)

]λ=λi

k = 1, ..., ni

pour aboutir a un systeme de n equations a n inconnues.

5.2.3 Par Transformee de Laplace inverse

Pour l’equation homogene x(t) = A x(t), on obtient par transformee deLaplace

pX(p) − x(0) = AX(p) et par suite X(p) = (pI − A)−1x(0)

Sachant que la solution de cette equation s’ecrit x(t) = eAt x(0) on en deduitque par transformee inverse

eAt = L−1[(pI − A)−1

]

5.3 Exemple

Soit la matrice A suivante dont on cherche a determiner eAt.

A =

2 2

−1 5

(1) Par la forme de Jordan on obtient les resultats suivants: Le polynomecaracteristique s’ecrit

PA(λ) = det(λI−A) = det

λ − 2 −2

1 λ − 5

= λ2−7λ+12 = (λ−3)(λ−4)

26

Les valeurs propres etant distinctes, on sait que la forme de Jordan associeeJ = P−1AP sera diagonale. il reste a calculer le changement de base P .Celui ci s’ecrit P = (v1, v2) ou v1, v2 sont les vecteurs propres associes a 3 et4, et s’obtiennent en resolvant:

(3I − A)v1 =

1 −2

1 −2

v1 = 0

par ex⇒ v1 =

2

1

(4I − A)v2 =

2 −2

1 −1

v2 = 0

par ex⇒ v2 =

1

1

⇒ P =

2 1

1 1

Ainsi, eAt = PeJtP−1 soit

eAt =

2 1

1 1

e3t 0

0 e4t

1 −1

−1 2

=

2e3t − e4t −2e3t + 2e4t

e3t − e4t −e3t + 2e4t

(2) Par l’approche de Cayley-Hamilton, A etant d’ordre n = 2, eAt est unesomme de deux termes (de 0 a 1) de la forme

eAt = α0(t)I + α1(t)A

Cette relation est aussi valable pour les valeurs propres, ce qui fournit parinversion e3t

e4t

=

1 3

1 4

α0(t)

α1(t)

α0(t)

α1(t)

=

4 −3

−1 1

e3t

e4t

Ainsi, eAt = (4e3t − 3e4t)I + (−e3t + e4t)A et on retrouve l’expressionprecedente. (3) Par transformee de Laplace, le calcul de l’inverse (pI −A)−1

suivi d’une decomposition en elements simples fournit

(pI − A)−1 =

p − 2 −2

1 p − 5

−1

=1

(p − 3)(p − 4)

p − 5 2

−1 p − 2

=

2

p − 3− 1

p − 4

−2

p − 3+

2

p − 41

p − 3− 1

p − 4

−1

p − 3+

2

p − 4

On retrouve l’expression recherchee par transformee de Laplace inverse ap-pliquee a chacun des termes.

27

6 Stabilite

Intuitivement, on dira qu’un systeme dynamique est stable, relativementa une trajectoire, si de faibles perturbations appliquees au systeme entraınentde faibles ecarts de la trajectoire. Pour des systemes lineaires, cette trajec-toire est souvent est souvent celle de l’equilibre x(t) = 0, t ≥ 0. Lesperturbations envisagees ici peuvent etre de deux natures: perturbationsdes entrees ou perturbations des conditions initiales. Elles conduisent a desdefinitions differentes.

Definition 1 (Stabilite externe (BIBO)) On dira qu’un systeme est sta-ble au sens BIBO si toute entree de faible amplitude conduit a une sortie defaible amplitude.

Dans cette definition on suppose les conditions initiales nulles. Le termeBIBO est a traduire par Bounded inputs/Bounded outputs, ie: entrees bornees/ sorties bornees. Sachant qu’entrees et sorties sont liees par la matrice detransfert

Y (p) = H(p) U(p) H(p) = [hij(p)] ,

le systeme sera stable au sens Bibo si et seulement si H(p) est stable au sensou tous les poles des fonctions de transfert hij(p) sont a partie reelle negative.

La definition suivante concerne la stabilite de la solution libre (ie avec u = 0)de l’equation d’etat

x(t) = Ax(t) + Bu(t)

Definition 2 (Stabilite interne) On dira qu’un systeme est stable (au sensinterne) si pour toute condition initiale x0 �= 0, la reponse libre x(t) dusysteme tend vers 0 pour t → ∞.

En d’autres termes, limt→∞ eAtx0 = 0,∀x0, ce qui revient a exiger quelimt→∞ eAt = 0. En ecrivant A sous sa forme de Jordan notee ici J , celarevient aussi a limt→∞ eJt = 0. Enfin en notant que tous les elements nonnuls de eJt sont de la forme α(t)eλt avec λ valeur propre de A et α(t) polynomeen t, on aboutit a

limt→∞

eAtx0 = 0, ∀x0 ⇔ Re(λi) < 0 ∀λi valeur propre de A

28

6.1 Exemple 1

On reprend ici l’exemple du paragraphe 4 pour lequel nous avions obtenu lamatrice A et le transfert H(p) suivants:

A =

0 1 0

0 0 1

−6 −3 −1

PA(p) = det(pIn − A) = p3 + p2 + 3p + 6.

H(p) =

2p + 1

p3 + p2 + 3p + 6p2 + 3p

p3 + p2 + 3p + 6

En observant que polynome caracteristique de A et denominateurs de H(p)sont identiques, les stabilites BIBO et interne sont, dans cet exemple, equivalentes.

6.2 Exemple 2

Soit le systeme∑

(A,B,C,D) decrit sous forme de Jordan et auquel corre-spond le schema fonctionnel ci apres.

ζ =

−a

−1

ζ +

0

−2

u y =

(1 1

−2

p + 1

1

p + a

+

ζ2

ζ1u y

Le systeme est stable au sens interne si et seulement si a > 0, alors que cememe systeme toujours est stable au sens BIBO puisque H(p) = −2

p+1est

stable.

Ce deuxieme exemple montre que les deux definitions de la stabilite ne sontpas toujours equivalentes. (On peut montrer qu’il y a equivalence si et seule-ment si le systeme est observable et commandable). Cependant, puisqueH(p) = C(pI − A)−1B, on etablit facilement que

Stabilite interne ⇒ Stabilite BIBO

Dans un cas comme dans l’autre, il s’agit de savoir si les racines d’un polynomesont a partie reelle negative, et le critere de Routh constitue un test simple.

29

7 Commandabilite, Observabilite

7.1 Commandabilite

Un des objectifs majeurs de l’automaticien etant la commande des systemes,la premiere question qu’il doit se poser est celle de la faisabilite du probleme.Pour des systemes lineaires et stationnaires decrits par:

x(t) = A x(t) + B u(t)

y(t) = C x(t)

cette question se pose en ces terme: ”est il possible de generer une commandequi permette de faire passer le systeme d’un etat quelconque x(t0) a un autreetat quelconque x(T ).” Sans perte de generalites, on pourra supposer l’etatinitial nul, i.e.x(t0) = 0.

Definition 3 Un systeme est dit a etat entierement commandable si, paraction sur l’entree, il est possible d’atteindre en un temps fini n’importe quelpoint de l’espace d’etat.

L’hypothese de l’etat initial nul est tel que la solution x(t) s’exprime par

x(t) =

∫ t

0

eA(t−τ) B u(τ) dτ (*)

Supposons que l’on arrive a etablir qu’il existe un vecteur v constant tel que

vT x(t) = 0 ∀t ≥ 0.

Cela constitue un obstacle a la commandabilite. En effet, prenons l’exemplea deux dimensions avec x = (x1, x2)

T , et v = (1,−1)T . La definition de lacommandabilite annonce que l’espace atteignable est le plan R

2 tout entieralors que la contrainte vT x(t) = 0 impose a l’etat de se deplacer sur la droited’equation x2 = x1, et ce pour tout t. Le systeme considere n’est donc pascommandable.

Espace d’etatX = R

2

Etats atteignablesx1 = x2

x1

x2

30

7.1.1 Systemes a matrice A diagonalisable

Pour un systeme dont la matrice A possede des valeurs propres distinctes, lamise sous forme de Jordan (ici diagonale) permet de conclure rapidement ala commandabilite ou non. Il suffit en effet qu’une des lignes de B soit nullepour que le systeme ne soit pas commandable.

L’exemple du paragraphe (3.3) montre bien que la variable ζ1 evolue demaniere autonome et ne peut etre modifiee par action sur l’entree u(t). Avecl’hypothese d’une condition initiale nulle, on obtient ζ1(t) = 0, t ≥ 0 etle vecteur non nul vT = (1, 0, 0, 0) realise bien vT ζ(t) = 0 soit de maniereequivalente

(vT T ) x(t) = 0

Cette demarche admet des extensions a des systemes a forme de Jordan nondiagonale. Le critere suivant permet cependant de s’affranchir de cette misesous forme de Jordan.

7.1.2 Critere de commandabilite de Kalman

Un premier resultat plus general sur la commandabilite peut etre obtenuen introduisant la matrice (n × n) symetrique suivante, dite grammien decommandabilite

Wc(T ) =

∫ T

0

eAτBBT eAT τdτ

Lemme 4 Le systeme est entierement commandable si et seulement si lamatrice Wc(T ) est inversible.

Proof. (elements) (1) La condition est suffisante: En effet, si Wc(T )est inversible, alors en utilisant la commutativite du produit de convolutiondans (*), i.e. remplacant la paire (t − τ, τ) par (τ, t − τ), la commande u(τ)suivante

u(τ) = BT eAT (T−τ)W−1c (T )x(T )

utilisee dans (*) realise bien le passage de x(t0) = 0 a x(T ). (2) La conditionest necessaire: Si Wc(T ) n’est pas inversible, on etablit ici que le systemen’est pas commandable. En effet, si Wc(T ) n’est pas inversible, il existe unvecteur v constant tel que vT Wv = 0. Cette egalite s’ecrit aussi

0 =

∫ T

0

vT eAτBBT eAT τv dτ =

∫ T

0

∥∥vT eAτB∥∥2

31

ce qui entraıne que vT eAτB = 0 pour 0 ≤ τ ≤ T , puis pour tout τ paranalycite de la fonction exponentielle. Ainsi, il existe un vecteur v constanttel que

vT x(t) = vT

∫ t

0

eA(t−τ) B u(τ) dτ = 0

et le systeme n’est pas commandable.

Grace a ce lemme on peut ensuite etablir un critere simple de commandabilitedes systemes, connu sous le nom de critere de Kalman. Il basee sur lerang de la matrice C (n × nr) suivante dite matrice de commandabilitedu systeme.

CA,B = (B,AB,A2B, · · · , An−1B)

Theoreme 5 Le systeme est entierement commandable si et seulement si lamatrice CA,B est de rang maximal, c’est a dire rang CA,B = n.

Proof. (elements) On etablit ici la suite d’equivalences suivante en com-mencant par celle etablie precedemment

Wc(T ) n’est pas inversible

⇔ ∃v t.q. vT eAτB = 0 pour 0 ≤ τ ≤ T

⇔ ∃v t.q.dm

dτmvT eAτB|τ=0 = vT AmB = 0 ∀m (Analycite)

⇔ ∃v t.q. vT[B,AB,A2B, · · · , An−1B

]= 0 (Cayley Hamilton)

⇔ rang CA,B < n.

En terme de propositions (disons P et Q), on vient de montrer que (nonP ) ⇔(nonQ) ce qui revient a P ⇔ Q. Le lemme precedent permet alors deconclure.

Noter que la commandabilite du systeme ne depend pas de l’equation de sor-tie (ou de l’observation) y(t) = Cx(t), et qu’elle ne depend que des matricesA et B. On dit parfois plus simplement que la paire (A,B) est commandable.

Noter aussi que dans le cas de systemes a une seule entree, CA,B est unematrice carree et la condition de rang maximal equivaut a l’inversibilite deCA,B.

Enfin, la propriete de commandabilite est une propriete structurelle. Eneffet, avec un changement de base A = TAT−1, B = TB, il vient

CA,B =(B, A B, A2B, · · · ) =

(TB, TAT−1TB, · · · ) = T CA,B

32

La matrice T etant reguliere on en deduit alors que

rang CA,B = rang CA,B

7.1.3 Decomposition selon la commandabilite

De maniere equivalente au resultat precedent, on peut etablir que si unsysteme n’est pas commandable, avec rang CA,B = n1 < n, alors il existeun changement de base

ζ = Tx =

ζ1

ζ2

avec dim(ζ1) = n1

conduisant au systeme isomorphe∑

(A, B, C) avec

A = TAT−1 =

A11 A12

0 A22

, B = TB =

B1

0

et ou la paire (A11, B1) est commandable. La matrice C = (C1, C2) nepossede pas de structure particuliere. La nullite des blocs A21 et B2 setraduit par la decomposition illustree sur le schema suivant.

ζ2 = A22ζ2

ζ1 = A11ζ1 + A12ζ2 + B1u C1

C2

+y

ζ1u

ζ2

Celle ci montre bien que l’entree u(t) n’exerce aucune action sur le soussysteme d’etat ζ2. Celui ci porte le nom de partie non commandable dusysteme.

On observera que dans cette base la matrice de commandabilite prend laforme suivante mettant en evidence l’aspect non commandable du systeme

CA,B =

B1, A11B1, · · · , An−1

11 B1

0

33

La transformation T permettant d’obtenir cette decomposition n’est pasunique. Une solution possible consiste a proceder comme suit: (i) On relevetoutes les colonnes independantes de CA,B (ii) On complete pour obtenir unematrice inversible (iii) On inverse pour obtenir la matrice T .

Lorsque l’on cherche a calculer la matrice de transfert de ce systeme noncommandable, il vient

H(p) = (C1, C2)

pI − A11 A12

0 pI − A22

−1 B1

0

= C1(pI − A11)

−1B1

En d’autre termes le transfert H(p) ne depend que du sous systeme (com-mandable)

∑c(A11, B1, C1). La matrice A11 etant de taille n1 < n, H(p)

sera necessairement d’ordre strictement inferieur a n.

Exemple Considerons le systeme∑

(A,B,C) decrit par

A =

−2 1 0

0 −1 1

0 0 0

, B =

1

1

1

, C =

(1 0 0

)

Avec n = 3, la matrice de commandabilite CA,B s’ecrit

CA,B = (B,AB,A2B) =

1 −1 2

1 0 0

1 0 0

Elle est manifestement de rang 2 < 3 et le systeme n’est donc pas command-able. Pour obtenir une decomposition selon la commandabilite, on peut parexemple completer les deux premiere colonnes independantes de CA,B pourobtenir par exemple

T−1 =

1 −1 0

1 0 −1

1 0 1

⇒ T =

0 1/2 1/2

−1 1/2 1/2

0 1/2 −1/2

Le systeme peut etre alors decrit par le nouveau triplet (A, B, C) dans lequelles blocs A21 et B2 sont nuls,

34

A = TAT−1 =

0 0 −1

1 −2 −2

0 0 −1

, B =

1

0

0

C =

(1 −1 0

)

7.2 Observabilite

Lorsque l’etat x(t) du processus n’est pas accessible, les techniques de com-mande ne sont plus directement applicables, et il faut faire appel a un etatreconstruit x(t). Cette operation n’est possible que si le processus possede lapropriete d’observabilite definie ci dessous.

Definition 6 Un systeme est dit a etat entierement observable si, par ob-servation des entrees et sorties du systeme sur un intervalle de temps fini,on peut determiner l’etat initial du processus.

Pour le systeme Σ(A,B,C), on definit la matrice d’observabilite du processus,de taille (nm × n), par

OA,C =

C

CA...

CAn−1

Theoreme 7 Le systeme Σ(A,B,C) est observable si et seulement si la ma-trice d’observabilite OA,C est de rang plein.

Proof. (elements) il s’agit de demontrer que sur [0, T ], la connaissancede u(t) et de y(t) permet de remonter a x(0). Rappelons tout d’abord que

y(t) = CeAtx(0) +

∫ t

0

eA(t−τ)Bu(τ)dτ

une multiplication a gauche par eAT tCT et une integration sur [0, T ] con-duisent a une relation de la forme

PO(T )x(0) = W (y(θ), u(θ), 0 ≤ θ ≤ t)

35

ou PO(T ) est le grammien d’observabilite n × n defini par

PO(T ) =

∫ T

0

eAT tCT CeAtdt

Si PO(T ) est inversible, alors on peut remonter a un unique x(0). Sinon, ilexiste alors un vecteur v �= 0 tel que PO(T )v = 0 ce qui veut dire aussi quePO(T )x(0) = PO(T )(x(0) + v) et par suite x(0) et x(0) + v sont indistin-guables. Ensuite, comme pour la commandabilite, on etablit l’equivalenceentre l’inversibilite de PO(T ) et la condition de rang sur OA,C

Si rangOA,C = n1 < n, on peut alors appliquer une decomposition (change-ment de base) selon l’observabilite de maniere analogue a celle etablie selonla commandabilite. Il existe donc un changement de base ζ = Tx conduisantau systeme isomorphe

∑(A, B, C) avec

A = TAT−1 =

A11 0

A12 A22

, B = TB =

B1

B2

, C = CT−1 =

(C1 0

)

ζ1 = A11ζ1 + B1u C1

ζ2 = A21ζ1 + A22ζ2 + B2u

u yζ1

De cette decomposition, illustree ici, il est clair que l’etat ζ2 n’est pas observ-able. La propriete d’observabilite ne depend que des matrices A et C. Noterque la matrice d’observabilite transposee OT

A,C est identique a la matrice decommandabilite CAT ,CT associee au systeme fictif suivant d’entree v et sortieη (dit aussi systeme dual).

Σ :

x = Ax + Bu

y = Cx, Σ :

z = AT z + CT v

η = BT z.

36

8 Commande par placement de poles

8.1 Principe

On considere le systeme decrit par

x = Ax + Bu

y = Cx, x ∈ R

n, u ∈ Rr, y ∈ R

m,

et pour lequel on suppose que l’ensemble des composantes du vecteur d’etatest accessible (directement ou par reconstruction). Une commande par retourd’etat est une commande de la forme

u = −kx + fv

ou v ∈ Rr est une nouvelle consigne, k (r × n) et f (r × r) sont des matrices

generalement constantes. Souvent, f sert a corriger le statisme et k realiseles differents types de commande.

∑u y

−k

fv

x

La combinaison des deux relations precedentes conduit a:

x = (A − Bk) x + Bf v

y = Cx

Theoreme 8 Les valeurs propres de A − Bk peuvent etre fixees arbitraire-ment si et seulement si la paire (A,B) est commandable (cad rang CA,B = n)

L’hypothese de commandabilite de la paire (A,B) assure donc que l’on peutfixer arbitrairement le polynome caracteristique de la matrice (A − Bk), etdonc placer arbitrairement les poles de la matrice de transfert du systemecorrige.

37

8.2 Placement de poles pour des systemes monoentree.

8.2.1 Systemes decrits sous forme commandable

Soit un systeme decrit par

x =

0 1 0 0

0 0 1 0...

. . ....

0 1

−a0 −a1 · · · · · · −an−1

︸ ︷︷ ︸A

x +

0......

0

1

︸ ︷︷ ︸B

u

et donc de polynome caracteristique: PA(λ) = a0 +a1λ+ . . .+an−1λn−1 +λn.

En imposant le retour u = −kx + fv il vient la matrice

A∗ = A − Bk =

0 1 0 0

0 0 1 0...

. . ....

0 1

−k1 − a0 −k2 − a1 · · · · · · −kn − an−1

.

Si on se fixe a priori les poles du systeme corrige (coefficients αi), il vient

PA∗(λ) = (a0 + k1) + (a1 + k2)λ + . . . + (an−1 + kn)λn−1 + λn

= α0 + α1λ + . . . + αn−1λn−1 + λn

soit par identification α0 = a0 + k1, ..., αn−1 = a1 + kn, d’ou

k = [k1, · · · , kn] = [(α0 − a0), · · · , (αn−1 − an−1)]

8.2.2 Systemes sous forme quelconque

Il suffit de connaıtre le changement de base P qui conduit a la forme com-mandable de matrice (Ac, Bc, Cc)

x = Ax + Bu

y = Cx→ z = Px →

z = Ac z + Bc u

y = Cc z

38

On effectue le placement de poles sur la forme commandable, u = −kc z+f v,puis on en deduit u = −kc P x + f v, soit donc

k = kcP

exercice 9 On note l’inverse de la matrice de passage P−1 =(P1, ..., Pn) Par identification, montrer que celle-ci s’obtient parPn = B, et pour k = 1, ..., n − 1, Pk = APk+1 + akB. Donneralors la forme commandable du systeme Σ(A,B,C) suivant

A =

−2 1

2 −3

B =

1

−1

, C = ( 1 2 )

8.2.3 Formule d’Ackermann

L’utilisation du theoreme de Cayley Hamiltion permet de determiner directe-ment la matrice k par la formule

k =[

0 · · · 0 1]C−1

A,B P ∗(A)

ou CA,B est la matrice de commandabilite du systeme (ici carree) et P ∗(A)le polynome caracteristique souhaite applique a la matrice A.

8.3 Placement de poles et systemes a plusieurs entrees.

Lorsque r > 1, il existe plusieurs facons de determiner un retour d’etatplacant les poles.

8.3.1 Methode de Young et Willems

Soient p(λ) et d(λ) les polynomes du systeme non corrige et corriges

p(λ) = det(λI − A) = a0 + a1λ + .. + .an−1λn−1 + λn

d(λ) = det(λI − A + Bk) = d0 + d1λ + ... + dn−1λn−1 + λn

Dans cette methode, le gain k (r × n) est de la forme

k = fgT

39

ou f et g sont des vecteurs a r et n composantes. Si il existe un vecteur ftel que la paire (A,Bf) soit commandable, c’est a dire tel quel la matrice decommandabilite carree suivante soit inversible,

Cf = (Bf,ABf, ..., An−1Bf),

alors g s’obtient par

g = (CTf )−1X−1δ

X =

1

an−1 1...

. . . . . .

a1 · · · an−1 1

, δ =

dn−1 − an−1

dn−2 − an−2

...

d0 − a0

exercice 10 Determiner un retour d’etat fixant le spectre du systemesuivant a {−1,−2,−3} . On testera le vecteur f = (1, 1)T .

A =

0 1 0

0 0 1

4 4 −1

, B =

1 0

0 0

0 1

8.3.2 Methode de Brogan

Cette methode est basee sur l’utilisation d’un lemme (de Plotkin) det(I −AB) = det(I − BA). Elle se presente comme suit: On definit:

Φ(λ) = (λI − A)−1 (n × n)

Ψ(λ) = Φ(λ)B = [ϕ1, ϕ2, . . . , ϕr] (n × r)

Ir = Identite = [e1, e2, . . . , er] (r × r)

On souhaite imposer les poles λ1, · · · , λn, supposes ici distincts (pour simpli-fier). Alors on peut toujours trouver n colonnes independantes ϕj1, ϕj2, · · · , ϕjn,et le retour d’etat s’exprime par

k = − [ej1, ej2, . . . , ejn] [ϕj1(λ1), ϕj2(λ2), · · · , ϕjn(λn)]−1

40

8.4 Technique du decouplage

On se place dans le cas de systemes ayant autant d’entrees que de sorties(m = r). L’objectif ici est de determiner un retour d’etat u = −kx + fv quirende chaque sortie dependante d’une seule entree. En d’autres termes, lematrice de transfert du systeme corrige doit etre diagonale.

x = (A − Bk) x + Bf u

y = Cx, H(p) = C (pI − A + Bk)−1Bf,

La demarche peut etre la suivante. On note ci la i eme ligne de C, et ondefinit m entiers d1, · · · , dm par

di = min {j tels que ciA

jB �= 0 pour j = 0, 1, . . . , n − 1}ou

di = n − 1 si ciAjB = 0 ∀j

Le systeme peut alors etre decouple si et seulement si la matrice m × msuivante est inversible

N =

c1Ad1B...

cmAdmB

Dans ce cas, le retour d’etat

f = N−1 et k = N−1

c1Ad1+1

...

cmAdm+1

fournit une matrice de transfert dont tout les poles sont a l’origine.

41

9 Commande par etat reconstruit

9.1 Observateur

Connaissant Σ(A,B,C), l’objectif est de construire un systeme d’entree u(t)et y(t) dont la sortie x(t) donne une estimation du vecteur d’etat du proces-sus.

Observ.

u y

x

On associe pour cela au processus definit le systeme dynamique (observa-teur) regi par l’equation differentielle suivante ou L represente le gain del’observateur,

˙x = A x + B u + L (y − C x),

avec x(0) = x0. En notant ε(t) = x(t) − x(t), il vient aisement

ε(t) = (A − LC) ε(t),

avec ε(0) = x0 − x0. Par suite, lorsque ε(0) �= 0, ε(t) →t→∞

0 si et seulement

si A − LC est stable (i.e. toutes ses valeurs propres sont negatives).

Theoreme 11 Les valeurs propres de A−LC peuvent etre fixees arbitraire-ment si et seulement si la paire (A,C) est observable (cad rang OA,C = n)

Fixer les poles de A − LC revient a fixer ceux de AT − CT LT Ainsi celarevient a determiner k qui fixe les poles de la paire (AT , CT ), car alors

L = kT

Toutes les techniques de placement precedentes s’appliquent immediatement.

42

exercice 12 Determiner le gain L qui fixe les poles de A − LC a{−8,−8} pour le systeme

A =

0 2

0 3

, B =

0

1

, C =

(1 0

)

9.2 Commande par retour d’etat reconstruit

Lorsqu’on applique la commande sur l’etat reconstruit (cad u = −k x +fv), on peut considerer que nous sommes en presence d’un systemes a 2ndimensions, n pour le systeme et n pour l’observateur. Considerons l’etatcomplet de ce processus definit comme suit

z =

x

ε

=

I 0

−I I

x

x

Observ.

u y

x−k

fv

Regulateur

Il vient la representation d’etat

z =

A − Bk −Bk

A − LC

z +

Bf

0

u

qui montre que les poles du systeme et ceux de l’observateur peuvent etrefixes separement. Cette remarque est connue sous le nom de principe deseparation.

43

9.3 Observateurs d’ordre reduits

L’observateur precedemment construit est du meme ordre que le systeme (n).Or dans l’equation d’observation, la matrice C etant generalement du memeordre que le nombre de sorties, m composantes du vecteur d’etat sont (a unchangement de base pres) directement accessibles via l’observation y(t). Eneffet, supposons C sous la forme C = [C1, C2] avec C1(m × m) inversible, etconsiderons le changement de base (par exemple)

ζ =

ζ1

ζ2

=

C1 C2

In−m

x

Ce dernier conduit a la representation suivante ou il apparaıt que la partieζ1(m× 1) du nouveau vecteur d’etat est directement accessible par y et doncseule reste a reconstruire ζ2.

x = Ax + Bu

y = Cx,

ζ = A ζ + B u

y = ζ1

.

Les differentes matrices partitionnees issues de ce changement de base sontdonnees ci apres.∣∣∣∣∣∣∣∣∣

A11 = (C1A11 + C2A21)C−11 A12 = −A11C2 + (C1A12 + C2A22)

A22 = A22 − A21C−11 C2 A21 = A21C

−11

B1 = C1B1 + C2B2 B2 = B2

La realisation d’un observateur sur ζ2 uniquement (et donc de taille (n −m)), puis la reconstruction de l’etat estime x peut alors etre realisee selon leschema suivant;

uy xz = Mz + Nu + Py

x = Fz + Gy

Soit L la matrice (n − m) × m qui place les poles de la paire A22, A12 dansl’equation (A22 − LA12). Les differents coefficients de cet observateur sontalors donnes par:

44

F =

−C−1

1 C2

In−m

G =

C−1

1 (I − C2L)

L

M = A22 − LA12, N = B2 − LB1

P = A21 + A22L − LA11 − LA12L

45

10 Commande monovariable et perturbations

L’objectif de cette section est de montrer comment on peut tenir compte desituations dans lesquelles le systeme est soumis a des perturbations inconnues.On se limite au cas de systemes monovariables ou de plus la perturbation estsupposee constante (et par extension constante par morceaux).

10.1 Approche par Modele d’etat du systeme perturbe

Tout d’abord le choix du point d’impact de la perturbation est a determiner.On se placera ici dans le cas de figure ou la perturbation est supposee agiren amont de la dynamique du processus, comme indiquee ci-apres. Unautre choix du point d’application de la perturbation conduit a des resultatsdifferents (par ex. un integrateur avec une perturbation constante en amontou en aval).

Num(p)1

Den(p)

u

d

y

Σ

Den(p) y = d + Num(p) u,

Num(p) = bn−1pn−1 + ... + b0

Den(p) = pn + ... + a1p + a0

De simples manipulations permettent de reecrire la sortie y sous la formesuivante (limitee ici a n = 3).

y = p−1[(b2u − a2y) + p−1[(b1u − a1y) + p−1(b0u − a0y + d)︸ ︷︷ ︸x1︸ ︷︷ ︸

x2

]

︸ ︷︷ ︸

]

x3

Le choix des variables d’etats comme indique ici permet d’etablir une equa-tion d’etat mettant en jeu la perturbation au travers du terme Dd

Σ

x = Ax + Bu + Dd

y = Cx

46

A =

0 −a0

1...

. . ....

1 −an−1

, B =

b0

b1

bn−1

, D =

1

0...

0

, CT =

0...

0

1

Noter qu’en l’absence de perturbation, on retrouve la forme observable desfonctions de transferts (causales strictes dans ce cas)

10.1.1 Reconstructeur d’etat et de perturbation

L’hypothese d’une perturbation constante (par extension, par morceaux) setraduit par

d = 0

On definit alors un nouveau systeme (fictif) ayant pour etat l’etat augmente

ζ =(

xT d)T

de dimension (n + 1) et pour lequel les equations d’etat

s’ecrivent, compte tenu du paragraphe precedent

Σa

ζ = Φζ + Γu

y = Hζ

Φ =

A D

0 0

, Γ =

B

0

, H =

(C 0

)

L’observabilite de la paire (Φ, H) (a faire en exercice) permet alors la re-construction de l’etat augmente ζ selon la figure et l’equation suivante, danslaquelle dans lequel L est un gain de dimension (n + 1), L = [l1, ...ln+1]

T .

Observ.: ˙ζ = Φ ζ + Γ u + L (y − H ζ),

47

Observ.

u

d

y

ζ =

x

d

10.1.2 Commande avec reconstructeur

La commande avec etat et perturbation reconstruits se fait alors selon l’equationet le schema suivants:

u = −k x − g d + f v

ou k = [k1, . . . , kn] tandis que g et f sont des scalaires. Pour le calcul deces differents gains, on utilise le principe de separation, c’est a dire que l’onsuppose x = x et d = d.

Observ.

u

d

y

x

d

[−k,−g]

fv

Regulateur

La combinaison de la loi de commande avec l’equation d’etat du processusconduit a l’expression de la sortie y:

y = C(pI − A + Bk)−1[Bf v + (−Bg + D)d]

Le placement de poles reside dans le choix d’un gain k tel que A−Bk ait despoles prespecifies. Pour assurer ensuite l’egalite y = v en regime permanent

48

lorsque v et d sont constants, on utilise le theoreme de la valeur finale pourles transformees de Laplace, ce qui conduit aux relations

f =1

C(−A + Bk)−1B

g =C(−A + Bk)−1D

C(−A + Bk)−1B

Noter que par l’application du theoreme de la valeur finale, l’effet de la per-turbation est annule a l’infini, avec decroissance plus ou moins rapide regleepar la commande. On parle alors de rejet asymptotique de la perturbation.

10.1.3 Placement de poles robuste pour la commande et l’observation

Hormis les contraintes de stabilite, le choix des (n) poles pour la commande(coefficients du gain k), et des (n + 1) poles de l’observateur (coefficients dugain L) est a priori libre. Pour assurer un comportement robuste, on peutadopter la strategie suivante:

• Pour la commande, on se donne un horizon de commande Tc et acces-soirement un amortissement fixe. Les poles de la boucle ouverte, c’esta dire les poles de A, sont modifies comme suit:

– un pole instable est remplace par son symetrique (1)

– un pole peu amorti est ramene a l’amortissement specifie (2,3)

– un pole trop lent (a droite de −1/Tc) est ramene sur cette verticale(2,4)

– les autres poles demeurent inchanges (5).

• Pour l’observateur, on adopte la meme strategie avec un horizon defiltrage Tf . Les (n + 1) poles a placer sont ceux de la matrice F duparagraphe 3.2 qui ne sont autres que ceux de A augmentes de {0}.

49

Re

Im

××

×

×

��

��

��

��

−1/Tc

(1)

(2)

(3)

(4)

(5)×poles initiaux��poles finaux

Le choix des 2n + 1 parametres initiaux est donc ramene a celui de deuxcoefficients Tc et Tf . Avec un Tc faible, les reponses du systeme aux consignespeuvent etre rapides, mais cela se fera au detriment des actionneurs qui serontfortement sollicites. De la meme maniere un Tf trop faible augmentera lasensibilite vis a vis des bruits issus des capteurs.

10.1.4 Exemple

On considere le cas d’un premier ordre de fonction de transfert H(p) =γ/1 + τp, et dont la prise en compte de la perturbation conformement auparagraphe precedent conduit au schema ci-apres

b0

1

a0 + p

u

d

y = x

Σ

avec b0 = γ/τ , a0 = 1/τ . La representation d’etat est ici immediate

x = −a0x + b0u + d

y = x

Dans cet exemple, l’etat x est accessible par la mesure y et seul reste areconstruire la perturbation d. Etant donne un horizon d’observation Tf ,on determine alors un observateur d’ordre reduit (1) qui deplace le pole {0}

50

a {−1/Tf}. On obtient alors L = 1/Tf pour le gain, puis les expressionssuivantes pour l’observateur d’ordre reduit:

M = −1/Tf N = −b0/Tf P = −a0/Tf − 1/T 2f

F = (1, 0)T G = (1, 1/Tf )T

Etant donne un horizon de commande Tc, on determine ensuite le placementde poles (de −1/τ a −1/Tc) et le reglage des gains de la commande avecreconstructeur pour obtenir

k = ( τTc

− 1)/γ, f = τ/(γTc), g = τ/γ

La representation sous forme de fonction de transfert conduit alors au schemade realisation suivant avec pour coefficients t0 = γ/τ , t1 = (1 − Tf

τ)/Tf ,

t2 = 1/Tf .

Des simulations sont ensuite realisees avec les caracteristiques suivantes:Pour le processus: γ = 1.5 et τ = 1. Pour la commande, seuls les parametresTf et Tc sont a regler: On adopte ici Tf = τ/4 pour l’observation, et Tc1 = τ/2puis Tc2 = τ/12 pour la commande.

1

1 + Tfp

t0

t1t2

-+

+

-g-k

fv u

d

y

d

Les reponses a des consignes et perturbations constantes par morceaux etobtenues par Simulink/Matlab sont regroupees ci-dessous.

51

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 2 4 6 8 10 12 14 16 18 20-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

Consigne et reponsespour Tc2 < Tc1

−− Tc1

Perturbationsappliquee etreconstruite

0 2 4 6 8 10 12 14 16 18 200

0.5

1

1.5

2

2.5

3

3.5

4

Commandes pourTc2 < Tc1

−− Tc2

avec Tc2 < Tc1 la perturbationest plus rapidement rejetee. D’unautre cote, avec ce meme Tc2 lacommande presente des pics deforte intensite lors des change-ments de consigne

exercice 13 A partir du schema de simulation precedent, montrerque la commande ainsi determinee peut se mettre sous la forme

u = −R(p)

S(p)y +

T (p)

S(p)v

que l’on explicitera. On utilisera les valeurs numeriques correspon-dant aux choix Tc1 = τ/2.

10.2 Commande par approche polynomiale (RST )

Dans l’exemple precedent, il e ete mis en evidence que la commande issued’un placement de poles avec reconstructeur pouvait s’exprimer au moyen defonctions de transferts entre la commande d’une part et les sortie et pertur-bation d’autre part. C’est cet aspect qui est envisage ici et traduit selon leschema de commande suivant.

52

A−1(p)S−1(p)

R(p)

T (p) B(p)

d

yuv

Σ

Le systeme etudie est caracterise par une fonction de transfert de numerateuret denominateur

B(p) = bn−1pn−1 + . . . + b0

A(p) = pn + an−1pn−1 + . . . + a0

Dans cette configuration, le calcul de la sortie en fonction de la consigne etde la perturbation est immediat

y =BT

AS + BRv +

S

AS + BRd = Wv v + Wd d

Ces transferts devant etre stables, pour assurer le rejet de perturbation (con-stante ou constante par morceaux) et le suivi de consigne en regime perma-nent, l’application du theoreme de la valeur finale (pour p → 0) conduit auxrelations

Wd(0) = 0 → S(0) = 0

Wv(0) = 1

∣∣∣∣∣∣ → T (0) = R(0)

D’un autre cote, A(p) et B(p) etant donnes, le probleme du placement depoles consiste a determiner R(p) et S(p) tels que pour un polynome fixe D(p),on ait

D = AS + BR

Pour assurer la faisabilite du probleme, le regulateur doit etre causal deg(S) ≥deg(R), si bien que deg(D) = n + deg(S). En tenant compte de S(0) = 0,

53

ecrivons les polynomes R,S,D sous la forme:

R(p) = rdeg(R)pdeg(R) + . . . + r0, S(p) = sdeg(S)p

deg(S) + . . . + s1p

D(p) = dn+deg(S)pn+deg(S) + . . . + d0

La resolution de l’equation D = AS+BR, dite equation de Bezout, s’effectueen ecrivant l’egalite des puissances successives de p ce qui se traduit par unerelation matricielle de la forme (systeme de Sylvester):

deg(S) colonnes︷ ︸︸ ︷

MA,B

1+deg(R) colonnes︷ ︸︸ ︷

sdeg(S)

...

...

s1

rdeg(R)

...

...

r0

=

dn+deg(S)

...

...

dn

...

...

d0

n + deg(S)

+1 lignes

Ce systeme admettra autant d’equations que d’inconnues si la matrice MA,B

est carree, ce qui se traduit par

deg(S) + deg(R) + 1 = n + deg(S) + 1 ⇒ deg(R) = n

On en deduit alors pour S(p)

deg(S) = deg(R) = n ou deg(S) = deg(R) + 1 = n + 1

selon que le regulateur choisi est causal ou strictement causal. L’existenced’une solution unique (donc des polynomes S(p) et R(p)) est alors assuree siA(p) et B(p) sont premiers entre eux, ce que l’on supposera toujours par lasuite. A titre d’exemple, pour un regulateur causal, la matrice MA,B prend

54

la forme:

MA,B =

1

an−1 1 0...

. . . . . ....

. . . . . .

a0. . . 1

0. . . an−1

. . . . . ....

. . . . . ....

0. . . a0

0

0

0. . . 0

bn−1. . . . . .

.... . . . . . . . .

.... . . . . . 0

b0. . . 0

. . . bn−1

. . ....

0. . .

...

b0

A ce stade, le choix du polynome D(p) est libre (du moment qu’il est stable), dememe que le choix du polynome T (p) est libre (du moment que T/S est causal etT (0) = R(0)). On decrit ci-apres deux approches possibles;

10.2.1 Commande sans compensation de zeros

Si on recrit D(p) sous la forme de produit de 2 polynomes P et C de degre n, alorsle choix suivant pour le polynome T

D(p) = P (p)C(p) � T (p) = (R(0)/C(0))C(p)

conduit ay =

R(0)C(0)

B(p)P (p)

v +S(p)

P (p)C(p)d

et donc a un transfert sortie/consigne Wv(p) d’ordre n et dont les poles sont ceuxfixes par P (p). En d’autres termes et pour conclure, la demarche a suivre pourdeterminer les polynomes R, S, et T peut etre la suivante:

1. Fixer les poles du systeme boucle dans P (p) (placement de poles pourla commande), et ceux d’un filtre dans C(p) (placement de poles pourl’observateur), d’ou D(p) = P (p)C(p).

2. Resoudre l’equation de Sylvester pour obtenir R(p) et S(p).

3. En deduire T (p).

55

Noter que les poles fixes par les polynomes P et C peuvent etre determines a partirde ceux de A (systeme en boucle ouverte) et de la donnee d’horizons d’observationet de commande Tf et Tc comme indique dans le paragraphe precedent.

exercice 14 Determiner les polynomes R, S, T pour le premier ordre del’exercice precedent. On utilisera les parametres Tc = τ/2 et Tf = τ/4.Comparer avec l’exercice precedent.

10.2.2 Commande avec compensation de zeros

Dans la situation precedente, le transfert en poursuite (y/v) a completement fixeles poles en boucle fermee, mais les zeros de la boucle fermee reste ceux de laboucle ouverte (cad B(p)). On peut vouloir modifier cette donnee en procedantcomme suit. On factorise tout d’abord B(p) en

B(p) = Bi(p)Bs(p)

ou Bs et Bi representent respectivement les parties de B a eliminer et a conserver.Sous peine de conduire a la realisation de correcteur instable (non envisageable), lapartie a eliminer par compensation (Bs) doit imperativement etre stable (et bienamortie). Il suffit alors de resoudre l’equation de Bezout suivante

AS1 + BiR = D(= PC)

de laquelle on deduit R, puis:

S(p) = S1(p)Bs(p) T (p) = (R(0)/C(0))C(p)

On abouti ainsi facilement a

y =R(0)C(0)

Bi(p)P (p)

v +S1(p)

P (p)C(p)d

ou pour retrouver le cas precedent (sans compensation de zeros), il suffit de poserBs = 1.

Remarque Selon que l’on tient compte (comme ici) du rejet de perturbation(au travers de S(0) = 0) ou non , le systeme d’equations de depart (de Sylvester)et par suite le correcteur n’est plus le meme. L’ordre des polynomes mis en jeupeut egalement etre different. Noter aussi que le fait notamment que S se factoriseen pS′(p) induit en particulier une action integrale.

56

exercice 15 On considere un systeme instable de fonction de transfert enboucle ouverte

H(p) =5

(p − 1)(p + 2)

Determiner un regulateur causal (degR = degS) RST tel que le transferty/v en boucle fermee s’ecrive

Hm(p) =0, 25

0, 25 + 0, 7p + p2

On notera k = degS et on cherchera d’abord a determiner la valeur de k.Les poles eventuels d’observation seront fixes a -5 et la question du rejetde perturbation ne sera pas consideree dans cet exercice.

57

11 Analyse et commande des systemes dis-

crets

L’utilisation de calculateurs a donne naissance aux systemes commandes echantillonnesdans le sens ou le traitement de l’information par le calculateur n’est effectue qu’ades instants discrets (instants d’echantillonnage). Cette approche est decrite parle schema suivant dans lequel figurent

• des convertisseurs numeriques/ analogiques (CNA) charge de fournir dessignaux continus (par morceaux) a partir de donnees numeriques. Le plussouvent, ils se contentent de fournir un signal en escalier a partir d’une suitediscrete. En d’autres termes, pour la suite {uk}, il delivre en sortie

u(t) = uk pour t ∈ [kTe, (k + 1)Te[

Il existe egalement des convertisseurs realisant une interpolation plus fine dela suite utilisee.

• des convertisseurs analogique/numeriques (CAN) dont le role est de fourniraux instants d’echantillonnage des valeurs numeriques images des grandeursanalogiques en entrees. Plus simplement, a partir du signal y(t) on obtientla suite {yk} d’element generique

yk = y(kTe) pour k = 1, 2, . . .

�( )A,B,C

u t( ) y t( )

uk yk

Calculateurhorloge Te( )

C

N

A

C

A

N{Système discret

Le systeme discret est alors vu comme un systeme dynamique delivrant en sortieun signal discret, en reponse a une entree discrete.

uk ykSyst. discret

58

11.1 Traitement dans l’espace d’etat

11.1.1 Discretisation exacte

Partant d’un systeme lineaire continu et decrit dans l’espace d’etat par les matrices(A, B, C), l’obtention d’un modele discret est simple, sachant que

x(t) = eA(t−t0)x(t0) +∫ t

t0

eA(t−τ)Bu(τ)dτ

En supposant la commande constante entre les instants d’echantillonnage, il suffitalors de prendre en particulier t0 = kTe et t = (k +1)Te pour en deduire le modelediscret:

xk+1 = Ad xk + Bd uk

yk = Cd xk

avec

Ad = eATe Bd =(∫ Te

0eAτdτ

)B Cd = C

L’equation d’etat est donc ici une equation de recurrence alors qu’en continu ils’agissait d’equation differentielle.

exercice 16 Determiner le modele discret Σd(Ad, Bd, Cd) associe auschema suivant

CN

A

CA

N

k/1 + p k/p

u1,k

u2,ky yk

Σd

11.1.2 Matrice de transitions

En reiterant l’equation discrete on obtient directement la solution a un instant kTe

et a une entree quelconques par

xk = Adk x0 +

k−1∑i=0

Adk−i−1 Bd ui

La matrice de transition du systeme est ici donnee par Akd qui se calcule de maniere

analogue a eAt. Plus precisement, on trouve (entre autres) les approches suivantes:(a) Par diagonalisation; Si Ad est diagonalisable, i.e. Ad = PDP−1, alors Ak

d =

59

PDkP−1 (b) En utilisant le theoreme de Cayley Hamilton; La meme demarcheque celle du cas continu s’applique avec les susbstitutions eAt ← Ak

d et eλit ← λik

exercice 17 Determiner la matrice de transition Akd avec

Ad =

1/2 1/8

1/8 1/2

11.1.3 Commandabilite, observabilite

La propriete de commandabilite d’un systeme se definit par l’existence d’une com-mande (Uk) pour tout etat final xk. En supposant x0 = 0, la solution a une entreequelconques s’exprime avec des notations evidentes par

xk = [Bd, AdBd, ..., Ak−1d Bd]

uk−1

...

u0

def

= Ck Uk

La theorie des matrices nous montre alors que le systeme sera commmnadable siet seulement si la matrice de commandabilite CAd,Bd

= Cn est de rang plein.

De meme, la propriete d’observabilite se definit comme la possibilite de determinerun etat initial unique x0 a partir des observations et sorties. En exprimant la sortieyk pour differents instants d’echantillonnage, il vient

y0

y1

...

yk−1

︸ ︷︷ ︸Yk

=

C

CAd

...

CAk−1d

︸ ︷︷ ︸Ok

x0 +

0

CBd 0...

. . . 0

CAk−2d Bd . . . CBd 0

︸ ︷︷ ︸Wk

u0

u1

...

uk−1

︸ ︷︷ ︸Uk

qui se recritOk x0 = Yk − Wk Uk

On obtient alors que le systeme sera observable si et seulement si la matriced’observabilite OAd,C = On est de rang plein.

60

exercice 18 On considere le systeme a etat continu decrit par

x =

α ω

−ω α

x +

1

ε

u, y = (1, ε)x

Montrer que ce systeme est commandable et observable pour tout ω �=0. Ces proprietes sont elles maintenues pour le systeme discret qui endecoule?

En general et pour eviter les cas de figure de l’exemple precedent, on veillera ace que la periode d’echantillonnage soit suffisamment faible (au moins Te < Ti/2ou Ti est la periode propre du mode oscillant) pour preserver les proprietes decommandabilte et observabilite.

11.1.4 Stabilite

Par definition le systeme sera dit stable si pour toute condition initiale x0, lareponse libre converge vers zero. Autrement dit,

xk = Akdx0 →

k→∞0 ∀x0

Le systeme discret est stable si et seulement si les valeurs propres de Ad sont demodule inferieur a 1.

11.1.5 Retour d’etat, observateurs

La propriete de commandabilite etablit que pour tout paire (A, B) command-able, il existe une matrice K qui permet de fixer arbitrairement le polynome car-acteristique de (A − BK). Un retour d’etat discret est de la forme

uk = −K xk + f vk

et conduit a la representation detat discrete du systeme boucle:

xk+1 = (Ad − Bd K)xk + Bd f vk

yk = Cd xk

Les technique de placement de poles par retour d’etat s’appliquent immediatement,le polynome a fixer ayant alors ses racines de module inferieur a 1. Il en evidemmentde meme pour l’aspect observateur et la combinaison commande/observation.

61

exercice 19 Pour le systeme discret decrit par

xk+1 =

−1/2 0

0 −1/4

xk +

1

1

uk,

determiner le retour d’etat uk = −kxk qui fixe les pole du systeme bouclea {−1/4,−1/8}.

62

11.2 Traitement par Transformee en z

11.2.1 Echantillonnage et Transformee en z

Le principe de cette approche consiste a associer a un signal continu y(t), un signaldit echantillonne note y∗(t) et correspondant a une suite d’impulsions (”de Dirac”)ponderees par yk = y(kTe) et regulierement espacees de Te comme schematise cidessous.

Tey(t) y∗(t) =∞∑

k=0

yk δ(t − kTe)

Si on considere la transformee de Laplace du signal echantillonne y∗, on obtienten observant que L[δ(t − kTe)](p) = e−kTep, et en notant z

def= eTep,

Y (z) =∞∑

k=0

yk z−k

Plus generalement, pour toute suite {yk} pour laquelle il existe un reel ρ telque |∑∞

k=0 ykρ−k| < ∞ pour tout ρ > ρm, la formule ci dessus est adoptee

comme definition de la transformee en z de la suite {yk}. On note egalementZ{yk} = Y (z).

Ainsi par exemple, a la fonction f(t) = e−at, pour t ≥ 0, il correspond la suited’element generique fn = e−anT et par suite

F (z) = 1 + e−aT z−1 + e−2aT z−2 + . . .

C’est une progression geometrique de raison e−aT z−1, ainsi

F (z) =1

1 − e−aT z−1=

z

z − e−aT

On notera qu’avec a = 0 on en deduit que l’echelon de position E (de transfert1/p) a pour transformee en z

E(z) =z

z − 1Le tableau en annexe fournit une liste de quelques correspondances entre signauxstandards, avec la convention g(t) = 0 pour t < 0. Par abus de notations, onnotera parfois Z(g(t)), ou encore Z(G(p)), voire G(z) la transformee en z de lasuite {gk} generee par le signal echantillonne g∗.

63

Proprietes

Outre le theoreme de convolution discrete ci-apres, les principales proprietes con-cernent les operations d’avance et de retard, ainsi que la formulation analogue du”theoreme de la valeur finale”.

• Tres utile pour les etudes statiques, ce premier resultat etabit que lorsqu’elle existe, la limite de la suite {xk} est donnee par

x∞ = limz→1

(z − 1)X(z)

• Retard : Si a partir de la suite {xk} = {x0, x1, . . . , xk, . . .}, de transformeenotee Z{xk} = X(z), on forme, avec des notations abusives, la suite retardee{xk−1} = {0, x0, x1, . . . , xk, . . .}, alors il vient immediatement,

Z(xk−1) = z−1X(z)

• Avance: Si a partir de la suite {xk}, on forme la suite ”avancee” {xk+1} ={x1, x2, . . . , xk, . . .}, alors il vient

Z(xk+1) = z[X(z) − x0]

exercice 20 Generaliser les expressions precedentes a l’avance et au re-tard de q echantillons.

exercice 21 On definit l’integration discrete comme l’operation qui a lasuite {xk} associe la suite {yk} d’element generique yk =

∑k−1i=0 xi. Definir

cette operation en terme de transformee en z.

11.2.2 Transmittances en z

Pour les systemes discrets decrits dans l’espace d’etat, lorsque l’on considere lessuites engendrees par les membres de chaque equation, l’application de ce quiprecede se traduit immediatement par

xk+1 = A xk + B uk

yk = C xk

z[X(z) − x0] = A X(z) + B U(z)

Y (z) = C X(z)

qui permet d’aboutir a la sortie Y (z) = C[zI−A]−1[z x0+B U(z)], et au transfert:

T (z) = C[zI − A]−1B

64

A l’inverse, en considerant z (non causal) [resp. z−1 (causal)] comme un operateurd’avance (resp. de retard), a une fonction de transfert

T (z) =bmzm + bm−1z

m−1 + . . . + b0

anzn + an−1zn−1 + . . . + a0=

B(z)A(z)

correspond la relation A(z)Y (z) = B(z)U(z), laquelle se traduit en terme de rela-tion de recurrence

anyk+n + an−1yk+n−1 + . . . + a0yk = bmuk+m + bm−1uk+m−1 + . . . + b0uk

La causalite de la fonction de transfert conduit a la condition m ≥ n.

Theoreme de convolution discrete

Lorsqu’un systeme continu de transfert G(p) est insere entre deux echantillonneurscomme sur la figure ci dessous, on s’interesse a la relation entre les signaux discretsu∗ et y∗, ou de maniere equivalentes entre leurs transformees U(z) et Y (z).

Te

G(p)

Teu(t) u∗ y(t) y∗

Le systeme etant continu et stationnaire, la reponse y(t) est la somme des reponsesimpulsionnelles (ponderees par u) anterieures a t, soit donc y(t) =

∑qi=0 u(iT )g(t−

iT ) avec q tel que qT ≤ t < (q + 1)T . Ainsi, pour un instant discret t = kT , ilvient le produit de convolution discret:

yk =k∑

i=0

ui gk−i

En utilisant le fait que toutes les suites sont a termes nuls pour indices negatifs,on en deduit (a faire) la relation principale

Y (z) = G(z) U(z)

Dans le cas des systemes continus inseres entre des convertisseurs CNA et CAN,le schema de principe precedent est modifie pour faire apparaıtre l’operation dubloqueur comme suit:

B0(p) G(p)u(t) u∗ y(t) y∗

65

Par application de ce qui precede, la relation entree sortie dans ce cas de figure estdonnee par

Y (z) = W (z)U(z) avec W (z) = Z[B0(p)G(p)]

La fonction de transfert d’un bloqueur d’ordre 0 est quant a elle caracterisee parla reponse impulsionnelle et le transfert suivant:

B0(p) =1 − e−Tp

p

Par suite, compte tenu que e−Tp traduit un retard d’une periode d’echantillonnage,on en deduit que

Z[B0(p)G(p)] =z − 1

zZ[G(p)/p]

exercice 22 Donner l’expression des transfert discrets correspondant auxsystemes de fonction de transfert suivantes

G(p) =1

p + a, G(p) =

k

p(1 + τp)

et precedees d’un bloqueur d’ordre 0.

exercice 23 On considere le schema de correction ci-apres

A B0(p)k

p(1 + τp)

1 + λp

x(t) y(t)

Donner l’expression du transfert discret Y (z)/X(z) associe. On veillera amettre en evidence les transmittances discretes mise en jeu.

Gain statique

Le gain statique est donne par la limite (si elle existe) de la suite {yk} lorsque lesysteme est soumis a un echelon de position (discret) unitaire. Ce dernier ayantpour transfert U(z) = z/(z − 1), on deduit de l’application du theoreme de lavaleur finale que:

Pour un transfert discret G(z), le gain statique vaut G(1)

66

11.2.3 Stabilite

La condition necessaire et suffisante pour le transfert G(z) = B(z)/A(z) soit sta-ble est que les racine du denominateur A(z) soient toutes de module strictementinferieur a 1. Voici une approche possible:

Critere de Routh Ce critere a la base permet de savoir si les racines d’unpolynome sont a partie reelle negative. Pour l’appliquer au cas des systemes dis-crets, il suffit de tester la stabilite du processus en applicant le critere de Routhau polynome

P (ω) = (1 − ω)n A(1 + ω

1 − ω)

En effet, la transformation en ω ainsi realisee transforme l’interieur du cercle uniteen le demi plan a partie reelle negative, i.e.

z =1 + ω

1 − ω⇒ |z| < 1 ⇔ Re(ω) < 0

exercice 24 Representer graphiquement le domaine de stabilite associe ala fonction de transfert

G(z) =b1z + b0

z2 + a1z + a0

exercice 25 Un processus d’entree de transfert G(p) = 1/p2 est com-mande au moyen de convertisseurs CNA et CAN (� B0(p)), a la frequencede 1Hz. La commande est generee suivant l’expression

uk = c1εk + c2εk−1

ou ε(t) represente l’ecart x(t)− y(t), x(t) consigne. Etudier la stabilite del’ensemble en fonction des coefficients c1 et c2

11.2.4 Commande RST

La commande par placement de poles et approche polynomiale s’etend sans diffi-culte aux systemes discrets. En conservant le meme schema de principe que pourl’approche continue, le systeme a commander (entree uk, sortie yk, perturbationdk) et le regulateur sont decrits avec des notations abusives par

process : A(z) y = B(z)u + d

correcteur : S(z)u = R(z) y + T (z) v

67

ce qui conduit aux memes expressions (formelles!) des transferts en poursuite etregulation

y =BT

AS + BRv +

S

AS + BRd = Wv v + Wd d

De meme que dans l’approche continue, la prise compte eventuel d’un rejet deperturbation constante se traduira ici par une factorisation de la forme S(z) =(z − 1)S′(z). Le degre des polynomes mis en jeu s’en trouve affecte. (Bref il vautmieux reprendre les raisonnements depuis le debut).

Dans l’exemple suivant, seule la fonction de transfert obtenue en boucle fermee estconsideree. On ne cherche pas non plus a compenser le zero du numerateur quibien que stable est relativement proche du cercle unite.

exercice 26 Pour le systeme de transfert

H(z) = 0.37z + 0.718

(z − 1)(z − 0.37),

determiner un regulateur RST causal avec placement de poles a {0.375 ±j3.25} et sans compensation de zero. L’effet des perturbations ne sera pasconsidere, et les poles eventuels de l’observateur seront mis a 0.

Dans l’exemple suivant, le rejet de perturbation est considere au travers d’unefactorisation de la forme S(z) = (z − 1)S′(z). Cependant, sans envisager laquestion des perturbations explicitement, cette factorisation traduit egalementl’introduction d’une action integrale explicite.

exercice 27 Pour le systeme de transfert

H(z) = 0.34510−3 (z + 3.087)(z + 0.222)z3 − 2.275z2 + 1.791z − 0.472

envisager une commande RST causale avec placement de poles a {0.4, 0.2±j0.4} et rejet de perturbations constantes. le zero instable du transfert enB.O. sera compense et les poles eventuels de l’observateur seront mis a 0.

11.2.5 Commande en temps fini

La commande en temps fini est specifique des systemes discrets. Contrairement aucas continu ou les convergences se font de maniere asymptotique, cette approchepermet d’annuler les regimes transitoires en un temps fini (i.e. un nombre de pasd’echantillonnage fini). Dans un transfert discret d’ordre n, il suffit que tous les

68

poles du transfert soit a l’origine, soit donc

Y (z) =Num(z)Den(z)

X(z) avec Den(z) = zn

pour annuler le regime transitoire en ”n coups”. Noter que cela correspond aussia avoir une reponse impulsionnelle de duree finie.

exercice 28 (suite de l’exercice 24) Determiner A et λ tels que ledenominateur du transfert Y (z)/X(z) se reduise a z2. En deduire que

ε(z) = X(z) − Y (z) = ε0 + ε1z−1

pour une entree en echelon de position et conclure.

Comme illustration de l’exercice precedent, la figure ci-apres represente la reponsea un echelon de position unitaire en consigne, suivi d’un echelon de perturbationd’amplitude -0.2 a t = 0, 2s. Que ce soit en poursuite ou en regulation, le regimepermanent est bien etabli au bout de 2 periodes d’echantillonnage.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

← commande u

perturbation

← reponse y

Reponse du moteur avec lesparametres

τ = 0.1, k = 100, Te = 0.05

et le reglage (avec D = exp(−Te/τ))

A =1

kTe(1 − D), λ = τ − TeD

2

1 − D

Noter que dans cet exemple la perturbation n’est pas rejetee. Cela n’est pas duau placement de poles a l’origine, mais plutot a la structure de la commande(par retour d’etat) qui ne tient pas compte (dans ce cas de figure) du rejet deperturbation.

69

Annexe: Quelques transformees en z

Table de transformees usuelles

g(t) G(p) G(z)

δ(t) 1 1

δ(t − kT ) e−kTp z−k

Echelon1p

z

z − 1

t1p2

Tz

(z − 1)2

e−at 1p + a

z

z − e−aT

e−at sin(ω0t)ω0

(p + a)2 + ω20

ze−aT sin(ω0T )z2 − 2ze−aT cos(ω0T ) + e−2aT

e−at cos(ω0t)p + a

(p + a)2 + ω20

z2 − ze−aT cos(ω0T )z2 − 2ze−aT cos(ω0T ) + e−2aT

70