Algorithmes numériques pour les matrices polynomiales avec applications en commande
Méthodes numériques et logiciels de CACSD
Dans ce chapitre on présente les différentes approches à la commande de systèmes linéaires. Ensuite on présente quelques caractéristiques des logiciels de CACSD (Computer-Aided Control System Design) existant pour l’approche espace d’état et pour l’approche polynomiale. On analyse les problèmes numériques associés aux matrices polynomiales et on introduit les méthodes qui servent à traiter ces problèmes. Il faut rappeler que l’analyse numérique est le fil conducteur de la discussion, mais ce n’est pas le thème central ni l’objectif de la thèse. Les concepts généraux de cette théorie sont rappelés dans les différents exemples présentés dans ce chapitre, mais les lecteurs intéressés par une étude plus systématique, formelle et approfondie devront consulter l’abondante littérature sur le sujet. Le processus de la commande d’un système dynamique commence par sa modélisation en termes d’équations mathématiques. En particulier, dans le cas des systèmes linéaires invariants dans le temps, on a un ensemble de p équations différentielles du type a1d1 y (d1) 1 (t) + · · · + a10y1(t) + a1 + · · · + apdP y (dp) p (t) + · · · + ap0yp(t) + ap = b1f1 u (f1) 1 (t) + · · · + b10u1(t) + b1 + · · · + bmfmu (fm) m (t) + · · · + bm0um(t) + bm (2.1) où α (q) (t) représente la q-ième dérivée du signal scalaire α(t) par rapport au temps. Les paramètres aij et bkl pour i = 1:p, j = 0:di , k = 1:m et l = 0:fk sont constants. Par convention, toutes les variables sur lesquelles on a un contrôle et qui serviront à commander le système sont appelées les entrées ui(t), i = 1:m. D’autre part, toutes les variables sur lesquelles on observe l’effet de la commande sont appelées les sorties yi(t), i = 1:p. Il existe différentes approches pour interagir avec ce modèle mathématique. Avec chaque approche, le modèle est représenté ou reformulé d’une façon particulière où les différentes propriétés du système sont plus ou moins dévoilées. On peut par exemple écrire chaque équation de type (2.1) comme un ensemble d’équations différentielles d’ordre 1 à l’aide de l’inclusion de variables d’état (state variables) [50]. Après des manipulations algébriques, le modèle du système peut être écrit de la manière suivante: x (1)(t) = Ax(t) + Bu(t), y(t) = Cx(t) + Du(t). (2.2) Le vecteur x(t) ∈ R n est le vecteur des variables d’état et sert donc à relier le vecteur d’entrées u(t) ∈ R m et le vecteur de sorties y(t) ∈ R p . Les matrices A ∈ R n×n , B ∈ R n×m, C ∈ R p×n et D ∈ R p×m sont constantes. La représentation (2.2) est utilisée par l’approche espace d’état [50, 90]. Notons qu’en appliquant la transformée de Laplace sur la représentation (2.2) on peut éliminer x(t) et en déduire la fonction de transfert T(s) du système [50] y(s) = [C(sI − A) −1B + D]u(s) = T(s)u(s) dans l’hypothèse de conditions initiales nulles. Une autre manière de réécrire l’ensemble des p équations de type (2.1) qui représentent le système dynamique est la forme matricielle. En regroupant toutes les entrées et sorties dans les vecteurs correspondants u et y on obtient: D(s)y(s) = N(s)u(s). (2.3) Les matrices D(s) et N(s) sont des matrices polynomiales (polynomial matrices) en la variable s, de dimensions p×p et p×m respectivement. Rapellons que dans le cas continu, la variable s est l’opérateur de Laplace. Si le système est à temps discret, alors la variable devient l’opérateur de décalage. Étant donné que la fonction de transfert du système est unique [50], on vérifie que T(s) = D−1 (s)N(s) = C(sI − A) −1B + D. La représentation (2.3) est utilisée par l’approche polynomiale [58] ou encore par l’approche comportementale [83]. Chaque représentation a ses points forts et ses points faibles, et implique une façon différente d’analyser le même système. Par conséquent chaque approche à la commande des systèmes a aussi ses particularités et utilise ses propres méthodes et outils mathématiques. Une discussion des avantages ou désavantages de chaque approche impliquerait beaucoup d’efforts pour n’en tirer aucune conclusion. En fait, le vrai avantage consiste à disposer de plusieurs façons différentes de résoudre un problème. Pour certains problèmes l’approche espace d’état sera plus efficace, pour d’autres problèmes l’approche polynomiale ou l’approche comportementale seront plus adéquates. Actuellement, au niveau théorique, quelle approche utiliser reste simplement une question de préférence personnelle. Cependant, au niveau des logiciels de CACSD, l’approche espace d’état est beaucoup plus développée.
Application des logiciels de CACSD
Par la suite on illustre l’application des algorithmes classiques en commande, en utilisant les outils de l’algèbre linéaire numérique, pour faire face aux problèmes numériques et obtenir des résultats satisfaisants. Les algorithmes qu’on présente ici ne sont pas nouveaux, ils sont décrits à titre illustratif. Les résultats originaux peuvent se trouver, par exemple dans [45, 50, 61, 82, 108] et leurs références. Un deuxième objectif de cette section est de présenter de manière pratique les concepts d’analyse numérique qu’on utilisera dans le reste de cette thèse. Pour un approfondissement sur ces concepts voir par exemple [33, 43, 99, 115, 116]. Pour atteindre les objectifs de cette section, on étudie un des problèmes classiques en commande: le placement de pôles. Etant donné un système sous la forme (2.2), l’objectif est de trouver une commande linéaire statique u = F x telle que le système en boucle fermée ait des pôles donnés, c’est-à-dire, telle que la matrice A + BF ait le polynôme caractéristique désiré det(sI − A − BF) = s n + fn−1s n−1 + · · · + f0 = f(s).Ainsi, algorithmiquement, le problème du placement des pôles est réduit à la solution du système d’équations F T = F¯ où T et F¯ sont donnés et F est à déterminer, c’est la formule d’Ackermann [2]. Donc les problèmes numériques que l’on peut rencontrer sont ceux d’un système d’équations du type My = b, où M dénote à présent la matrice T, et b = F¯. Soit M ∈ R n×n et b ∈ R n . Le problème qui consiste à déterminer y = f(x) = f(M, b) ∈ R n est un problème mal posé (ill-posed) au sens classique de Hadamard [35]. En fait y ne dépend pas de manière continue des données x. Il existe des points de discontinuité ou singularités (singularity). Pour le cas carré, il s’agit de toutes les matrices M de rang plus petit que n telles que le système n’a pas de solution ou que la solution n’est pas unique. Donc, pour que le problème ait un sens, c’est-àdire qu’il soit bien posé (well-posed), on restreint l’espace des données d’entrée aux points réguliers uniquement. La question qu’on se pose alors est comment mesurer la distance à la singularité d’un point x? L’analyse de la sensibilité peut donner une réponse à ces questions. La sensibilité de y par rapport aux perturbations sur x est mesurée par le conditionnement κ(x) (conditioning). Intuitivement on peut conclure que si x est proche d’une singularité alors κ(x) est grand car, dans ce cas, un petit changement dans x peut faire que y n’existe plus. Donc, 1/κ(x) est une mesure de la distance à la singularité. Si κ(x) est grand on dit que le problème pour x donné est mal conditionné (ill-conditioned) ou que le point x est mal conditionné. Par contre, le problème est bien conditionné (well-conditioned) si κ(x) est petit. La connaissance du conditionnement d’un problème est importante car elle peut nous donner un indice sur la qualité de la solution calculée. Une fois qu’un problème y = f(x) et son conditionnement κ(x) sont bien définis, on peut estimer la magnitude de l’erreur en la solution calculée yˆ, appelée erreur en avant (forward error) grâce à l’expression suivante: ky − yˆk ≤ κ(x)kek (2.6) où e, l’erreur en arrière (backward error) est l’erreur introduite par l’algorithme appliqué sur les données d’entrée. Le conditionnement d’un même problème peut être différent pour différents types de perturbations. Alors, en fonction du type de perturbation introduit par l’algorithme, on devra utiliser la définition de conditionnement adéquate pour estimer la qualité de la solution obtenu
Préface |