Notion d ’état interne Démontrer le résultat trouvé pour s(t) : Observons le processus du premier ordre ou Forme de Commande A partir de l ’instant t = 0, on applique l ’entrée e(t) connue, et on calcule la sortie s(t) qui en résulte soit : Solution générale de l ’équation d ’état Discrétisation de la forme de commande Pour t > 0, on voit que s(t) dépend non seulement de e(t) mais encore de la valeur de la sortie à l ’instant t = 0, ou condition initiale s(0) Passage RE donne FT On dira que s(0) est l ’état du processus à l ’instant t = 0. On voit que pour un premier ordre, sortie et état sont confondus. Stabilité Gouvernabilité (définition, critère direct) Démontrer le résultat trouvé pour s(t) : Observabilité (définition et critère direct) avec Découplage des variables d ’état Choix des valeurs propres Asservissement Retour d ’état Etendre le résultat si l ’instant initial est t = t0 non nul : Simulation avec Matlab
Illustration de la notion d ’état interne Simulation gauche ordre1=tf(1,[1 1]) ordre1=ss(ordre1) hold on initial(1,ordre1) initial(2,ordre1) initial(0.5,ordre1) Simulation droite : o2=ss(tf(1,[1 .2 1])) hold on initial([0,1]’,o2,30) initial([1,1]’,o2,30) initial([-1,1]’,o2,30) Les deux simulations ci-dessus illustrent l ’existence d ’un état interne dans le cas du retour à l ’équilibre 0 à entrée de commande nulle. Commenter :
Forme de commande de la représentation d ’état Cette notion est généralisable à tout processus donné par n équations différentielles du premier degré, en regroupant les n sorties dans un vecteur d ’état interne. L ’équation d ’état est une équation différentielle matricielle de degré un Plus généralement, pour un processus d ’ordre n, on se ramène à ce cas en constituant le vecteur d ’état avec la sortie s(t) et les n-1 premières dérivées : On obtient alors la FORME DE COMMANDE de la représentation d ’état Mais il faut noter que tout changement de base dans l ’espace d ’état (ici Rn) conduit à une représentation d ’état différente du même processus Trouver la forme de commande de Cobaye, avec un vecteur d ’état à préciser, Vérifier que la représentation d ’état n ’est pas unique Seconde représentation
Solution générale de l ’équation d ’état Pour résoudre l ’équation d ’état, on peut utiliser la transformée de Laplace comme dans le cas d ’une équation différentielle scalaire sans oublier qu ’elle est matricielle : On retrouve les deux termes 1 2 est une exponentielle de matrice Adapter le résultat si on débute en t = t0 : Calculer l ’exponentielle matricielle associée au processus Cobaye:
Discrétisation de la forme de commande C ’est un cas particulier de la solution générale de l ’équation d ’état, où l ’entrée e(t) est constante par morceaux. Si par exemple entre 0 et T, e(t) = e0 constante, on pose : On résout alors l ’équation d ’état entre 0 et T avec l ’entrée e0 et la condition initiale X0, on prélève le résultat à l ’instant T soit X1=X(T) qui donne s1=s(T) Pour résoudre entre T et 2T, X1 devient la condition initiale, et l ’entrée devient e1, d ’où X2, etc ... On fera donc en général : Discrétiser Cobaye sous la forme de commande si T= 0.01 seconde On aboutit à une représentation d ’état en temps discret avec le vecteur d ’état :
Représentation d ’état et fonction de transfert en z Représentation d ’état et fonction de transfert sont deux représentations équivalentes On calcule la fonction de transfert en transformant l ’équation d ’état à conditions initiales nulles : Cas monovariable (une entrée, une sortie), on aboutit à une fonction de transfert: Cas multivariable, on aboutit à une « matrice de transfert » Calculer la fonction de transfert de COBAYE discrétisé à partir de la représentation d ’état obtenue précédemment
Pôles et valeurs propres d ’un processus Stabilité EBSB Les pôles de la fonction de transfert sont les valeurs propres de la matrice d ’état. Ce sont les racines du polynôme caractéristique : Polynôme caractéristique L ’ordre n du processus, degré du dénominateur de la fonction de transfert et du polynôme caractéristique, donne les dimensions de la matrice d ’état (n,n) En effet, est donc égal au dénominateur de Conséquence: un système en temps discret est stable au sens EBSB si et seulement si ses valeurs propres sont de module strictement inférieur à un, c ’est à dire se trouvent toutes à l ’intérieur du cercle unité strictement. Quel est le polynôme caractéristique de COBAYE discrétisé ? Comparer les valeurs propres et les pôles de COBAYE discrétisé. Ils sont identiques, Cobaye est-il stable au sens EBSB ? Non, puisqu ’on trouve une valeur propre de module unité
Définition de la gouvernabilité (et critère direct) A quelle condition puis-je amener un processus discret de l’état X0 jusqu’à l ’état XN en N périodes d ’échantillonnage en utilisant son entrée ? PROBLEME Mise en équation matrice de gouvernabilité vecteur de commande Si le rang de G est égal à l ’ordre du processus, il existe une solution E à ce problème, le processus est alors « entièrement gouvernable ». RESULTAT Dans le cas particulier où N est l ’ordre du processus, et si G est carrée, inversible égale de rang N, la solution est : Cobaye est il entièrement gouvernable ? Calculer la succession des commandes permettant de rejoindre un état final Xf=[1,0] ’ depuis l’état X0=[0,0] ’ ? est de rang 2, donc Cobaye est entièrement gouvernable Pour rejoindre Xf quelconque en 2T depuis 0, appliquer : Ici et
Observabilité (définition et critère direct) Si on peut en observant seulement la sortie d ’un processus en reconstituer l ’état en un temps fini, le processus sera dit « entièrement observable ». PROBLEME Observabilité et gouvernabilité sont deux propriétés duales: un calcul simplifié où l’entrée de commande est nulle mène au critère direct d’observabilité suivant : Mise en équation Pour qu ’un processus soit entièrement observable, le rang de la matrice d ’observabilité O ci-contre doit être égal à l’ordre du processus. RESULTAT Que devient le critère direct d ’observabilité si O est carrée ? Il faut que O soit inversible dans ce cas Cobaye discrétisé est-il entièrement observable ? est inversible, donc de rang deux, Cobaye est entièrement observable Comment calculer l ’état de Cobaye à partir des sorties si l ’entrée est nulle ? On fera: Par exemple, s0=1, s1=0 donne ?
Découplage de l ’équation d ’état Les informations sur la stabilité, la gouvernabilité et l ’observabilité se déduisent de l ’analyse détaillée des couplages des variables d ’état. Si on opère un changement de base dans l ’espace d ’état qui diagonalise la matrice d ’état, la matrice de changement de base P est constituée de vecteurs propres de F : X ’ étant le nouveau vecteur d ’état, c ’est X = P *X ’et X ’= inv(P) *X. La représentation d’état dans cette base est : Stabilité = composantes de la diagonale L de module inférieur à un. gouvernabilité = matrice de commande sans ligne nulle observabilité = matrice d ’observation sans colonne nulle Pour l ’exemple suivant, discuter stabilité, gouvernabilité et observabilité sur les équations scalaires correspondantes : avec La forme est découplée d ’origine: les deux valeurs propres sont : La matrice de commande n ’a pas de ligne nulle : gouvernabilité La matrice d ’observation pas de colonne nulle: observabilité Instable stable La première équation est divergente, la deuxième converge, e agit sur a et b, a et b interviennent dans s
Calcul des vecteurs propres Il y a donc autant de représentations d ’état d ’un processus que de changements de base dans l ’espace d ’état. Cependant, il y a une seule fonction de transfert. Dans une base de vecteurs propres, les informations de stabilité, de gouvernabilité et d ’observabilité apparaissent en clair dans la représentation d ’état : Dans le cas où les valeurs propres sont simples (uniques), le calcul des vecteurs propres s ’opère avec la matrice adjointe de F : pour se lit dans Puis, on constitue la matrice de changement de base en juxtaposant les vecteurs propres Découpler Cobaye discrétisé et discuter stabilité, observabilité et gouvernabilité : > gouvernabilité, observabilité, et stabilité
Asservissement et représentation d ’état Prenons le cas de la loi de commande suivante pour l ’asservissement de COBAYE : Sous forme matricielle, on pose : On en déduit alors que la loi de commande modifie l’équation d ’état : Appliquer à l ’asservissement de Cobaye discrétisé : Calculer le polynôme caractéristique du système bouclé : Cercle unité Etude du lieu des pôles ou valeurs propres de l ’asservissement :
Retour d ’état Supposons le vecteur d ’état de COBAYE entièrement Note 1 : la réalisation du retour d ’état implique en pratique la connaissance du vecteur d ’état (on devra construire un filtre observateur si l ’état est partiellement inconnu) Supposons le vecteur d ’état de COBAYE entièrement connu et mesuré pour ses deux composantes La loi de commande suivante dite « retour d ’état » permet de fixer à volonté les valeurs propres de la matrice d ’état du système bouclé : L ’équation d ’état est modifiée comme précédemment, mais les paramètres du retour d ’état permettent de fixer sans restriction les valeurs propres du système bouclé. Appliquer ce retour d ’état au cas de Cobaye et placer les valeurs propres en 0. Quel est alors le gain statique du système bouclé ? Note 2 : en régime permanent de l ’équation d ’état, Xn=Xn+1. Sous la forme de commande,toutes les dérivées de s sont nulles en plus, d ’où les équations à écrire: Pour deux valeur propres nulles, il suffit que le polynôme caractéristique soit D ’où le retour d ’état Avec ce retour d ’état le gain statique est unitaire
Choix des valeurs propres ou pôles Pour déterminer les pôles / valeurs propres d ’un système en temps discret, on utilise les propriétés démontrées pour les pôles et valeurs propres continus sachant que : Discret < | > Continu (Excepté pour le cas particulier de la réponse pile ou valeur propre z = 0) Un pôle réel 2 pôles complexes conjugués Calculer les valeurs propres d ’un processus continu assurant l ’amortissement et le temps de réponse à 5% : Avec T= 0.01s, quels sont les valeurs propres qui assurent le même comportement ? Quel est donc le retour d ’état K imposant ces pôles à l ’asservissement de Cobaye ? Poly car:
Exemple de simulation avec Matlab % Observabilité Obs=obsv(marectd) % commande conventionnelle rlocus(marectd) zgrid(sqrt(2)/2,10) zoom on k=rlocfind(marectd) %fonction de transfert ftz=tf(marectd) % calcul d'un retour d'état Ad=get(marectd,'a') Bd=get(marectd,'b') %choix des pôles polc=5*sqrt(2)*[-1-i,-1+i] polz=exp(T*polc) %calcul du retour K=acker(Ad,Bd,polz) %construction du système bouclé retour=ss(Ad-Bd*K,Bd*K(1),C,0,T) step(retour) %comparer avec le bouclage pour k=10 retour10=ss(Ad-Bd*[10,0],10*Bd,C,0,T) step(retour10,'r',retour,'b') clc echo on cobaye=tf(50,[1 10 0]) T=0.01 % en temps continu rect=ss(cobaye) % Matlab choisit une base dans l'EE A=[0 1; 0 -10] B=[0;50] C=[1 0] marect=ss(A,B,C,0) %discrétisation marectd=c2d(marect,T) %stabilité damp(marectd) eig(marectd) %Gouvernabilité Gouv=ctrb(marectd) Gou=[get(marectd,'b') ... get(marectd,'a')*get(marectd,'b')]
Comparaison de la commande proportion-nelle pour k=10 et du retour d ’état