Brevet FR3028054A1 — publié le 20160506

DOMAINE TECHNIQUE GENERAL La présente invention concerne le domaine des estimateurs d'état d'un système, et trouve une application particulière pour le contrôleur d'état d'un système, d'un engin spatial ou dans le domaine de l'aéronautique. ETAT DE L'ART Lors du fonctionnement d'un système, l'état de différents organes tels 10 que des vannes est contrôlé en continu, ces organes ayant communément un rôle majeur dans le fonctionnement du système. Afin de détecter une panne, certaines stratégies utilisent deux mesures indépendantes sont réalisées et comparées. Si ces mesures diffèrent au- 15 delà d'un seuil prédéfini, alors une anomalie du système de contrôle est détectée. Il est alors nécessaire de déterminer laquelle de ces deux mesures est juste et laquelle est défectueuse. Or, dans de nombreuses applications, 20 et en particulier dans les applications spatiales et aéronautiques, l'arrêt du système et sa mise en maintenance n'est pas envisageable. Un modèle est ainsi utilisé pour former une valeur de référence, qui permettra ainsi de différencier deux mesures distinctes et d'identifier la 25 mesure correcte et la mesure erronée. Les solutions utilisées de manière conventionnelles consistent à estimer un modèle linéaire par une intégration numérique à pas constant en temps réel d'un modèle d'état. Cependant, obtenir une précision élevée nécessite un nombre très important de calculs. 30 A titre d'exemple, en considérant le contrôle d'état d'une vanne dont la vitesse moyenne est de 1000/s, l'obtention d'une précision de 0,10 nécessite un pas d'intégration de 1 ms. Dès lors, l'obtention d'une telle précision impose alors un cadencernent de lms, ou impose un calcul avec un bouclage d'intégration de lms. Le nombre de calculs est donc trop important compte tenu des ressources numériques limitées. PRESENTATION DE L'INVENTION Afin de répondre au moins partiellement à ces diverses problématiques, la présente invention propose un contrôleur d'état d'un système, comprenant un calculateur et une mémoire, le système étant piloté par une commande définissant plusieurs modes de fonctionnement du système, chaque mode de fonctionnement correspondant à l'application d'une valeur de commande, la mémoire comprenant un ensemble de matrices d'état enregistrées, traduisant pour chaque mode de fonctionnement du système linéaire la 15 valeur de son état dans le temps sous condition de commande constante sur l'espace de temps donné, le calculateur étant configuré pour, lors du fonctionnement du système, déterminer des valeurs estimées d'état du système à un instant donné au moyen des matrices d'état en mémoire et de son état à un instant 20 antérieur. Chaque mode de fonctionnement correspond typiquement à l'application d'une valeur de commande constante au système et permet de réduire significativement le coût de calculs. 25 Pour chaque mode de fonctionnement du système, on détermine avantageusement un nombre N de durées unitaires Ti, telles que pour le système considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = *Ti, avec 30 ki entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système sur une durée unitaire Ti donnée. Accessoirement un pas plus fin Tj permet d'estimer la valeur à la résolution Tj, le temps étant décomposé tel que T=n*Ti + nn*Tj avec n et m entiers naturels. En variante, pour chaque mode de fonctionnement du système, on détermine des nombres N et M de durées unitaires Ti et Tj, telles que pour le système considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf=e_oki x Ti +e_okj xTj , avec ki et kj entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système sur une durée unitaire Ti ou Tj donnée. Lesdites fonctions d'état sont typiquement déterminées au moyen d'une méthode d'ordre zéro. Le calculateur est typiquement configuré pour modifier un paramètre traduisant la commande constante appliquée au système afin de modéliser les évolutions du système lors de son fonctionnement. L'invention concerne également un procédé de contrôle d'état d'un 20 système piloté par une commande, dans lequel - on définit un nombre maximum de modes de fonctionnement du système, de manière à ce que pour chaque mode de fonctionnement, le système soit soumis à une commande de valeur constante, - on détermine un ensemble de fonctions d'état enregistrées, traduisant 25 pour chaque mode de fonctionnement du système son état pour diverses valeurs de temps correspondant aux durées de commande appliquées. - on stocke les fonctions d'état dans une mémoire, de manière à, lors du fonctionnement du système, déterminer des valeurs estimées d'état du 30 système à un instant donné au moyen des fonctions d'état et de son état à un instant antérieur. Chaque mode de fonctionnement correspond par exemple à l'application d'une valeur de commande constante au système. Pour chaque mode de fonctionnement du système, on détermine avantageusement un nombre N de durées unitaires Ti, accessoirement un nombre M de durée unitaire Tj d'un pas inférieur à Ti, telles que pour le système considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = eoki*Ti + Er_okj* Tj, avec ki, kj entiers naturels, chaque fonction d'état traduisant une valeur de l'état du système linéaire sur une durée N*Ti ou M*Tj donnée. M et N sont de valeurs limités, la somme N*Ti+M*Tj permettant de couvrir la durée des commande constantes appliquées au système. En variante, pour chaque mode de fonctionnement du système, on détermine des nombres N et M de durées unitaires Ti et Tj, telles que pour le système considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf=eoki x Ti +Ely_okj x Tj , avec ki et kj entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système sur une durée unitaire Ti ou Tj donnée. Lesdites fonctions d'état sont par exemple déterminées au moyen d'une méthode d'ordre zéro. Le calculateur est typiquement configuré pour modifier un paramètre traduisant la commande constante appliquée au système afin de modéliser les évolutions du système lors de son fonctionnement. PRESENTATION DES FIGURES D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des figures annexées, sur lesquelles : - la figure 1 représente schématiquement un contrôleur d'état selon un aspect de l'invention, - la figure 2 représente schématiquement un processus de préparation des matrices pour un contrôleur ou un procédé selon 1 0 un aspect de l'invention, et - la figure 3 illustre schématiquement un exemple d'application d'un contrôleur d'état selon un aspect de l'invention. DESCRIPTION DETAILLEE On décrit ci-après un système et un procédé selon un aspect de l'invention, en référence aux figures 1 et 2 qui illustrent schématiquement un tel contrôleur, et un processus de préparation des matrices pour un tel contrôleur ou pour le procédé mis en oeuvre. Le contrôleur d'état tel que présenté comprend un système 1 piloté par un organe de pilotage 2 appliquant une commande, un ou plusieurs capteurs 3 adaptés pour mesurer un état du système 1, et un calculateur 4 comprenant une mémoire 5. Le système 1 considéré peut être de tout type, il peut par exemple d'agir d'un rotor de moteur, d'un actionneur ou un système quelconque dès lors que celui-ci fonctionne en régime linéaire, comprenant par exemple un ou plusieurs organes. L'organe de pilotage 2 pilote le système 1 par l'application d'une commande, typiquement une commande de type créneau, c'est-à-dire une commande constante sur un intervalle de temps donné. 15 20 25 30 Dans le cas de l'application relatif à une validation de mesure, le capteur 3 acquiert une ou plusieurs mesures d'un état du système 1, et transmet ensuite ces mesures au calculateur 4 de manière à ce qu'il les traite. La réalisation de plusieurs mesures pour la détermination d'un même état permet de réduire les imprécisions, par exemple en réalisant une moyenne entre les différentes mesures. Le calculateur 4 détermine de plus une valeur d'état estimée, qui est comparée aux valeurs d'état mesurées par le capteur 3, afin de détecter de potentielles erreurs de mesures ou incohérences, auquel cas les valeurs mesurées litigieuses sont écartées, et la valeur d'état estimée est utilisée à la place des valeurs d'état mesurées. La détermination de cette valeur d'état estimée est réalisée au moyen de fonctions d'état, par exemple déterminées sous la forme de matrices d'état, stockées dans la mémoire 5. Ces fonctions d'état sont déterminées préalablement au fonctionnement du système 1, et sont constantes lors de son fonctionnement. Les fonctions d'état sont déterminées de manière à, pour chaque mode de fonctionnement du système1, traduire la valeur de la projection dans le temps de l'état du système1. Par mode de fonctionnement du système 1, on entend l'application d'une commande générée par le calculateur 4 et appliquée par l'organe de pilotage 2, un changement de mode de fonctionnement du système1 correspondant typiquement à une rupture de la commande appliquée. Les modes de fonctionnement du systèmel peuvent également correspondre aux contraintes externes appliquées au système 1. On définit ainsi comme paramètres d'entrée du contrôleur le mode de fonctionnement, associé à l'amplitude de commande et aux contraintes externes appliquées au système 1. A titre d'exemple, si l'on considère un système 1 piloté par une commande de type tout ou rien, on peut considérer trois modes de fonctionnement pour le système 1 ; - un premier mode de fonctionnement dans lequel la commande appliquée est nulle, - un second mode de fonctionnement dans lequel la commande appliquée est égale à une valeur constante unitaire 1, et - un troisième mode de fonctionnement dans lequel la commande appliquée est égale à une valeur constante unitaire -1. Le nombre de modes de fonctionnement dépend bien entendu de l'organe de pilotage 2 et de la commande appliquée. Une fois le nombre de modes de fonctionnement du système 1 déterminé, on détermine pour chaque mode de fonctionnement du système 1, un ensemble de fonctions d'état, par exemple sous la forme de matrices d'état, qui traduisent la valeur de la projection dans le temps de l'état du système1 pour un mode de fonctionnement donnée. On peut par exemple pour chaque mode de fonctionnement du 20 système1, déterminer un nombre N de durées unitaires Ti, telles que chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = ki * Ti, avec ki entiers naturels, chaque fonction d'état traduisant la valeur de la projection de l'état du système 1 sur une durée unitaire Ti donnée. 25 Pour améliorer la précision, on peut augmenter la résolution en introduisant des durées unitaires Tj sous-multiple de Ti. Par exemple, en introduisant Ti=10ms et Tj=1nns la durée, pour un créneau de 83ms, il suffit de calculer la valeur de l'état pour 80ms puis pour 3nns. 30 Les fonctions d'état sont avantageusement déterminées au moyen d'une méthode d'ordre zéro, ce qui permet d'obtenir une précision sensiblement égale ou à tout le moins très proche des méthodes d'intégrations continues, en particulier pour des systèmes 1 linéaires pilotés au moyen d'une commande de type créneau. Lors du fonctionnement du système 1, le calculateur 4 utilise alors les fonctions d'état correspondant au mode de fonctionnement du système1 pour déterminer une estimation de l'état du système1, les fonctions d'état étant stockées dans la mémoire 5 au préalable, et non pas calculées lors du fonctionnement du système 1. Le processus de préparation des matrices s'établit alors en trois étape telles qu'illustrées sur la figure 2 : - une première étape de définition des modes de fonctionnement du système 1, - une deuxième étape de détermination de fonctions d'état pour les 1 5 différents modes de fonctionnement du système 1, et - une troisième étape de stockage des fonctions d'état dans une mémoire, en l'occurrence la mémoire 5 telle que représentée sur la figure 1. 20 Ainsi, le calculateur 4 peut prendre en compte les variations de fonctionnement du système 1 sans nécessiter de recalculer tout ou partie des fonctions d'état stockées dans la mémoire 5. A chaque cycle de calcul, le calculateur détermine la valeur d'état estimée du système 1 à partir de la valeur d'état antérieure, de la commande appliquée, et des 25 fonctions d'état correspondant au mode de fonctionnement du système, ces fonctions d'état étant stockées dans la mémoire 5 et demeurant constantes lors du fonctionnement du système 1. La figure 3 représente un exemple d'estimation d'état d'un système. 30 On représente sur cette figure une commande appliquée à un système au cours du temps, ici une commande de type créneau, pouvant prendre deux valeurs : 0 et 1. On représente également sur cette figure l'état X estimé à l'instant T2 du système et en fonction du temps son déplacement réel. A l'état initial, la commande appliquée est nulle, et le système est à un état nul ; il demeure dans son état initial, le système est alors dans un premier mode de fonctionnement, correspondant à l'application d'une commande nulle. A un instant TO, on applique une commande égale à 1. le système est 1 0 alors dans un second mode de fonctionnement. Le calculateur 4 applique alors les fonctions d'état correspondant à ce second mode de fonctionnement du système, et l'état calculé du système évolue donc au cours du temps selon sa dynamique linéaire. 1 5 Le calcul de l'état du système est réalisé par pas successifs, et non pas de manière continue, le nombre de pas dépendant de la résolution souhaitée et de la base retenue. Par exemple, en considérant des ordres d'une durée maximale de 20 100ms, on définit : - une base de temps Ti = 10ms, et on stocke en mémoire les matrices d'estimation pour 10, 20, 30, 40, 50, 60, 70, 80, 90 et 100ms ; - une base de temps Tj = lms, et on stocke en en mémoire les 25 matrices d'estimation pour 1, 2, 3, 4, 5, 6, 7, 8 et 9ms. Une commande d'une durée de 78ms est ainsi calculée en deux calculs à l'aide de la matrice 70ms (i=7) et celle de 8ms (j=8). A un instant Ti > TO, la commande redevient nulle. Le système est alors 30 dans un troisième mode de fonctionnement, correspondant à une commande nulle à l'issue d'un mouvement. L'état du système évolue donc, par exemple sous l'effet de l'inertie du système, jusqu'à une valeur X à un instant T2 > T1, auquel l'inertie n'a plus d'effet, et où le système repasse alors dans le premier mode de fonctionnement. Les fonctions d'état déterminées au préalable du fonctionnement du système 1 et stockées dans la mémoire 5 peuvent par exemple être utilisées par un filtre de Kalman afin de calculer l'évolution de l'état du système 1 ou pour toute autre fonction faisant appel à une estimation d'état sous condition de commande par tronçon constant appliqué à un système supposé linéaire. La présente invention permet ainsi de diminuer considérablement la puissance de calcul nécessaire pour la détermination d'un état d'un système considéré linéaire dans son domaine de fonctionnement, tout en conservant une précision proche voire identique à un système utilisant une intégration numérique continue. REVENDICATIONS1. Ensemble comprenant un système (1) et un contrôleur d'état dudit système (1), ledit contrôleur d'état comprenant un calculateur (4) et 5 une mémoire (5), le système (1) comprenant une commande configurée pour appliquer une valeur de commande constante choisie parmi une pluralité de valeurs, chaque valeur définissant un mode de fonctionnement du système (1), 10 la mémoire (5) comprenant un ensemble de matrices d'état enregistrées, traduisant pour chaque mode de fonctionnement du système (1), la valeur de la projection de son état dans le temps, le calculateur (4) étant configuré pour, lors du fonctionnement du système, déterminer des valeurs estimées d'état du système (1) à un 15 instant donné au moyen des fonctions d'état et de son état à un instant antérieur. 2. Ensemble selon la revendication 1, dans lequel chaque mode de fonctionnement correspond à l'application d'une valeur de commande 20 constante au système (1). 3. Ensemble selon l'une des revendications 1 ou 2, dans lequel pour chaque mode de fonctionnement du système (1), on détermine un nombre N de durées unitaires Ti, telles que pour le système (1) 25 considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf=r_oki* Ti, avec ki entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système (1) sur une durée unitaire Ti donnée. 30 4. Ensemble selon l'une des revendications 1 ou 2, dans lequel pour chaque mode de fonctionnement du système (1), on détermine des nombres N et M de durées unitaires Ti et Tj, telles que pour le système(1) considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = eoki x Ti+e_okj xTj, avec ki et kj entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système (1) sur une durée unitaire Ti ou Tj donnée. 5. Ensemble selon l'une des revendications 1 à 4, dans lequel laquelle lesdites fonctions d'état sont déterminées au moyen d'une méthode d'ordre zéro. 6. Procédé de contrôle d'état d'un système (1) piloté par une commande, dans lequel - on définit un nombre maximum de modes de fonctionnement du système (1), de manière à ce que pour chaque mode de 15 fonctionnement, le système (1) soit soumis à une commande constante, - on détermine un ensemble de fonctions d'état enregistrées, traduisant pour chaque mode de fonctionnement du système (1) une valeur de la projection de son état dans le temps, - on stocke les fonctions d'état dans une mémoire (5), de manière à, 20 lors du fonctionnement du système (1), déterminer au moyen d'un calculateur (4) des valeurs estimées d'état du système (1) à un instant donné au moyen des fonctions d'état et de son état à un instant antérieur. 25 7. Procédé selon la revendication 6, dans lequel chaque mode de fonctionnement correspond à l'application d'une valeur de commande constante au système (1). 8. Procédé selon l'une des revendications 6 ou 7, dans lequel pour 30 chaque mode de fonctionnement du système (1), on détermine un nombre N de durées unitaires Ti, telles que pour le système (1) considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = Efe_oki*Ti, avec kientiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système (1) sur une durée unitaire Ti donnée. 9. Procédé selon l'une des revendications 6 ou 7, dans lequel pour chaque mode de fonctionnement du système (1), on détermine des nombres N et M de durées unitaires Ti et Tj, telles que pour le système (1) considéré, chaque durée de fonctionnement Tf dans un mode de fonctionnement donné peut être décomposée en Tf = Zoki x Ti + E7_0 kj x Tj, avec ki et kj entiers naturels, chaque fonction d'état traduisant une évolution linéaire de l'état du système (1) 10 sur une durée unitaire Ti ou Tj donnée. 10. Procédé selon l'une des revendications 6 à 9, dans laquelle lesdites fonctions d'état sont déterminées au moyen d'une méthode d'ordre zéro. 15