Brevet FR3144327A1 — publié le 20240628

Procédé de contrôle d’un actionneur par un système de contrôle et système de contrôle d’un actionneur La présente invention concerne un procédé de contrôle d’un actionneur comprenant : - une phase de génération d’une loi de commande de l’actionneur en vue d’un objectif de performance, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d’ensembles flous correspondant aux signaux collectés, - génération de la règle associée ou création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comportant une opération de modification de la position du centre et de la largeur des ensembles flous, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle applique la loi de commande. Figure pour l'abrégé : figure 6 Procédé de contrôle d’un actionneur par un système de contrôle et système de contrôle d’un actionneur La présente invention concerne un procédé de contrôle d’un actionneur par un système de contrôle. Elle se rapporte également à un système de contrôle d’un actionneur. Dans le domaine des systèmes de contrôle, il est commun de chercher à maitriser un processus, souvent basé sur des grandeurs physiques, avec l’objectif de réguler le comportement d’un système. L’élaboration de modèles d’intelligence artificielle transparents et interprétables est devenue indispensable durant les dernières années puisque l’IA devient un outil incontournable dans de plus en plus de domaines. Ces modèles permettent d’obtenir des performances supérieures à des modèles requérant la connaissance complète d’un système. Les modèles d’intelligence artificielle de confiance sont de plus en plus critiques dans les domaines critiques ou sensibles. Pour inspirer confiance à l’opérateur ou à l’utilisateur du système, deux propriétés sont requises : la capacité de l’utilisateur à anticiper les décisions du système et la facilité de comprendre un résultat ou une décision prise par le système non conforme à ce qui était attendu. Cela implique que le modèle d’intelligence artificielle créé soit interprétable. Pour cela, il est connu de réaliser l’apprentissage automatique d’un modèle interprétable pour les systèmes de contrôle. Il existe plusieurs algorithmes d’apprentissage automatique applicables à ces systèmes parmi lesquels les algorithmes évolutionnaires, les algorithmes d’apprentissage par renforcement. En particulier, il est utilisé des algorithmes hybrides entre des modèles à base de règles et des algorithmes évolutionnaires ou d’apprentissage par renforcement. Toutefois, en pratique, il est observé que des règles similaires obtenues par ces algorithmes ne sont pas cohérentes entre elles. Ainsi, pour les deux règles suivantes : - règle 1 : SI température basse ET humidité élevée ALORS vitesse de l’élément lente, - règle 2 : SI température élevée ET humidité élevée ALORS vitesse de l’élément rapide, il est observé que la définition de l’humidité élevée n’est pas la même entre les deux règles. En outre, du fait du recoupement des règles, il n’est pas possible de déterminer aisément les causes du mauvais fonctionnement du système de contrôle. Il existe donc un besoin pour un procédé de contrôle d’un actionneur par un système de contrôle présentant une meilleure fiabilité. A cet effet, la description décrit un procédé de contrôle d’un actionneur par un système de contrôle, le procédé de contrôle comprenant : - une phase de génération d’une loi de commande de l’actionneur, la loi de commande commandant l’actionneur en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle applique la loi de commande sur l’actionneur. Une valeur de vérité associée à un ensemble flou représente la probabilité que l’ensemble flou soit vrai. Dans une logique binaire, la valeur de vérité vaudrait 0 ou 1 alors que dans une logique floue, comme dans le cas de la présente invention, la valeur de vérité est une valeur réelle comprise entre 0 et 1. Selon des modes de réalisation particuliers, le procédé de contrôle présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - lors de l’opération de modification, à la fois la position du centre et la largeur de chaque ensemble flou est modifié. - lors de l’opération de modification, il est calculé les erreurs de différences temporelles de chacune des différentes associations état-actions et la position modifiée du centre dépend des erreurs de différences temporelles calculées. - la position modifiée du centre est la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles. - lors de l’opération de modification, il est calculé l’espérance des différences temporelles de chacune des différentes associations état-actions et la largeur modifiée est fonction des espérances de différences temporelles. - la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles. - la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé. La description se rapporte également à un système de contrôle adapté pour mettre en œuvre : - une phase de génération d’une loi de commande de l’actionneur, la loi de commande commandant l’actionneur en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur. Dans la présente description, l’expression « propre à » signifie indifféremment « adapté pour », « adapté à » ou « configuré pour ». Des caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - la est une représentation schématique d’un système automatisé, - la est une représentation schématique des différentes positions d’un pendule, - la illustre graphiquement la création d’un nouvel ensemble flou dans le contexte du pendule de la , - la est une représentation schématique d’une opération de modification de la position du centre et de la largeur d’ensembles flous dans la mise en œuvre d’un algorithme DFQL, - la est une représentation schématique d’une opération de modification de la position du centre et de la largeur d’ensembles flous dans la mise en œuvre d’une partie d’un procédé de contrôle d’une partie du système de la , et - , la est une représentation schématique d’un système et d’un produit programme d’ordinateur. Un procédé de contrôle est maintenant décrit. Le procédé de contrôle est un procédé de contrôle d’un actionneur 10 par un système de contrôle 12. L’actionneur 10 est au sens des systèmes automatisés un élément propre à effectuer une action. Par exemple, un actionneur 10 est un vérin, un rotor ou un effecteur. Le système de contrôle 12 est un système propre à contrôler l’actionneur 10, notamment un contrôleur. Le contrôle est obtenu par envoi d’un signal de commande. L’actionneur 10 et le système de contrôle 12 font partie d’un système automatisé 14 tel que représenté schématiquement sur la . Le système automatisé 14 comporte également des capteurs de mesure 16 (une variante à un seul capteur est possible) et une unité de comparaison 18. Les capteurs de mesure 16 sont propres à mesurer des éléments relatifs à l’environnement de l’actionneur 10 ou à son fonctionnement. La sortie des capteurs de mesures 16 est comparée à une consigne C qui est envoyée dans l’unité de comparaison 18. Dans l’exemple proposé, l’unité de comparaison 18 est un soustracteur propre à obtenir la différence entre la consigne C et les sorties des capteurs de mesure 16. Il est supposé ici que la consigne C et les sorties des capteurs de mesure 16 ont été rendues comparables par un traitement assurant que ces éléments soient exprimés dans le même espace. Par exemple, si la consigne C est une consigne en tension et que le capteur de mesure 16 est une température, soit la consigne C est convertie en température soit le signal de température est converti en tension. Quelques exemples spécifiques de contrôle d’un système automatisé 14 sont donnés dans ce qui suit : - dans le cas de l’antiblocage des freins, le contrôle des freins dans les situations dangereuses en fonction de la vitesse et de l’accélération de la voiture et de la vitesse et de l’accélération des roues, - dans le cas de la transmission automatique, le contrôle de l'injection de carburant et l'allumage en fonction du réglage du papillon, de la température de l'eau de refroidissement ou du régime, - dans le cas des véhicules automatiques, le contrôle de la vitesse en fonction de la charge du moteur, du style de conduite et des conditions routières, - dans le cas d’une photocopieuse, le contrôle de la tension du tambour en fonction de la densité de l'image, de l'humidité et de la température, - dans le cas du régulateur de vitesse, le contrôle de l'accélérateur pour régler la vitesse et l'accélération de la voiture, ou - dans le cas d’un lave-vaisselle, le contrôle du cycle de nettoyage, des stratégies de rinçage et de lavage en fonction du nombre de plats et de la quantité de nourriture présente sur la vaisselle. On pourrait aussi dériver des exemples dans d’autres contextes très différents comme les fours à micro-ondes, les ordinateurs, la gravure, les trains ou les robots autonomes pour ne citer que ces exemples. Avant de décrire plus avant le procédé de contrôle, il convient d’introduire des notions sur lesquelles le présent procédé est basé. Il est possible de décrire un système automatisé en fonction de l’état de celui-ci d’un côté et les actions que le système peut réaliser. Dans un tel formalisme, chaque paire action – état est associée à un nombre réel qui est appelé la valeur q (ou parfois la q-valeur). La valeur q mesure la qualité d'une action exécutée dans un état donné du système. Il peut être noté que pour des cas avec un nombre restreint de paires, il est possible d’établir des tables de valeurs q. Ce n’est plus possible lorsque le nombre des états devient trop grand. C’est notamment le cas lorsque les actions et/ou les états sont continus et non discrets. De ce fait, il est utilisé une fonction d’approximation pour limiter l’espace mémoire occupé et le temps de traitement. Cette fonction d’approximation donne alors une valeur q même pour des paires action – état qui ne sont pas observées en pratique. Un système d’inférence floue permet d’opérer dans le cas d’espaces continus pour les actions et/ou les états. Un système d’inférence floue est souvent dénommé selon l’abréviation FIS en référence à la dénomination anglaise correspondante de « Fuzzy Inference System ». Aussi, dans la suite, un tel système sera dénommé système FIS. Plus précisément, la logique floue permet le passage d’une donnée numérique à une donnée sémantique. Cela signifie que la logique floue permet de convertir une valeur numérique en un degré de vérité d'appartenance à une valeur sémantique. Ainsi, une donnée numérique est traduite en valeur de vérité de la variable sémantique . désigne la j-ième variable sémantique de la i-ième règle. Les indices i et j sont ici deux entiers naturels non nuls. Plus précisément, pour ce qui concerne l’indice i, cet indice varie de 1 à n, n étant le nombre de règles. Un système FIS est un ensemble de règles floues, les règles floues étant des conjonctions de variables sémantiques. De manière générique, une règle floue indicée i s’écrit sous la forme suivante : SI prémisse ALORS conclusion Où SI/ALORS désigne l’opération IF/THEN dans la terminologie anglaise. Les prémisses sont la conjonction d’ensembles flous caractérisant une propriété de chaque coordonnée du vecteur d’entrée. La prémisse d’une règle i s’écrit de manière générale comme : s 1 est ET … ET s n est Dans cette expression « ET » désigne l’opération AND dans la terminologie anglaise. Par ailleurs, s correspond au vecteur d’état de l’environnement. Chaque coordonnée du vecteur s est notée s i , de sorte que s 1 est la première coordonnée du vecteur d’état s et s n la n-ième coordonnée du vecteur d’état s. Le vecteur d’état s est reçu en collectant les données des capteurs de mesure 16. La force d’une prémisse est définie comme le degré d’appartenance de s dans l’ensemble flou qui résulte de la conjonction des ensembles flous de la prémisse. Cela s’écrit mathématiquement comme φ i = Les conclusions sont variables en fonction des actions choisies pour chacune de ces prémisses. La conclusion s’écrit de manière générale comme : a est désigne ici la valeur de l’action. Par exemple, si l’action est d’augmenter la température, prend une valeur correspondant à l’augmentation de la température à appliquer à l’environnement. En résumé, la notation utilisée ici reflète le fait que a est la valeur correspondant à la conclusion de la règle i. Il est envisageable que le système FIS utilise un algorithme de renforcement, et plus précisément un algorithme de Q-apprentissage plus connu sous la dénomination anglaise correspondante de « Q-Learning ». Le Q-Learning permet d'apprendre une stratégie, qui indique quelle action effectuer dans chaque état du système. Le Q-Learning fonctionne par l'apprentissage d'une fonction de valeur d’actions-état notée Q qui permet de déterminer le gain potentiel, c'est-à-dire la récompense sur le long terme apportée par le choix d'une certaine action dans un certain état en suivant une politique optimale. Lorsque cette fonction de valeur d'action-état est connue ou apprise par l'agent, la stratégie optimale peut être construite en sélectionnant l'action à valeur maximale pour chaque état, c'est-à-dire en sélectionnant l'action a qui maximise la valeur Q(s,a) quand l'agent se trouve dans l'état s. Du fait que cet algorithme est utilisé pour des ensembles flous, il est d’usage d’indiquer que le système FIS utilise un algorithme FQL. L’abréviation FQL renvoie à la dénomination anglaise « Fuzzy Q-Learning » qui pourrait se traduire littéralement par Q-apprentissage pour ensembles flous. L’algorithme de FQL est ainsi une approche d’apprentissage d’un ensemble de règles floues par renforcement. Dans cette approche, les agents représentent différentes règles qui sont évaluées par différentes valeurs q. De plus, le FQL utilise les FIS de Takagi-Sugeno d’ordre 0. L’ordre fait référence au degré des conclusions qui sont des polynômes en les coefficients du vecteur d’entrée. Ainsi comme les conclusions sont des constantes, on les associe directement à un échantillon d’actions A = { A 1 , · · · ,A l } prises dans l’ensemble des actions possibles de l’environnement. Cet échantillon est indépendant de la règle pour que les q-valeurs de la lookup table soient associées aux prémisses sur les lignes et à chaque action de l’échantillon sur les colonnes. Enfin la fonction d’activation est de la forme : est la force de la prémisse évoquée plus haut. Elle s’exprime en fonction de l’opérateur dédié à la conjonction, par exemple le ×. Dans ce cas, où les sont les coordonnées du vecteur d’entrée. Ces éléments mathématiques correspondent au fait que les actions (les conclusions des règles) sont des constantes. L’algorithme DFQL constitue une amélioration de cet algorithme utilisant un système FIS auto-réglable sur la base de signaux de renforcement. L’abréviation DFQL renvoie à la dénomination anglaise « Dynamic Fuzzy Q-Learning » qui pourrait se traduire littéralement par Q-apprentissage dynamique pour ensembles flous. L’algorithme DFQL est ainsi une extension de l’algorithme FQL permettant de créer l’ensemble de règles du système FIS au cours de l’entraînement. Dans le cadre de l’algorithme DFQL les actions seront associées à des prémisses au regard des valeurs de q-values (ou q). Ces valeurs sont calculées tout au long de la phase d’apprentissage dans une table de correspondance (plus souvent désignée par la dénomination anglaise correspondante de « look-up table ») qui a les actions en colonne et les prémisses en ligne. Ce tableau constitue Q. La fonction d’activation calcule le degré de vérité de la prémisse. Ainsi, à la différence de l’algorithme FQL, l’algorithme DFQL n’implique pas l’intervention d’un expert métier ni au départ ni pendant l’entraînement et crée uniquement les règles qui semblent utiles. Pour cela, au lieu de reposer sur un ensemble S fixé au départ, celui-ci est un ensemble S t variable et adapté en continu lors d’étapes supplémentaires par rapport au Q-Learning. Cet algorithme DFQL comporte six étapes successives. Ces six étapes successives sont les suivantes : - première étape : observation des données, - deuxième étape : génération des règles le cas échéant, - troisième étape : sélection et application d’une action, - quatrième étape : mise à jour des valeurs q, - cinquième étape : raffinement des ensembles flous utilisés par les prémisses, et - sixième étape : suppression des ensembles flous jugés inutiles s’il y en a. Pour bien comprendre cette succession de six étapes, elle va maintenant être détaillée au travers d’un exemple particulier. Cet exemple est celui du contrôle d’un pendule. Le but de cet exemple est d’amener à l’équilibre (en pointillé sur la ) le pendule à partir d’une position aléatoire et de le maintenir en équilibre en appliquant une force sur le pendule. Un tel exemple correspond à un environnement dans lequel à la fois les entrées et les actions sont continues. La première étape vise à observer des données pour connaître l’état de l’environnement. Dans cet exemple, les données d’entrée sont au nombre de trois. La première donnée d’entrée est le cosinus de l’angle entre le pendule et la position d’équilibre. Cette première donnée d’entrée s’écrit ainsi . La deuxième donnée d’entrée est le sinus de l’angle entre le pendule et la position d’équilibre. Cette deuxième donnée d’entrée s’écrit ainsi . La troisième donnée d’entrée est la vitesse angulaire du pendule. Cette troisième donnée d’entrée s’écrit ainsi . Celles-ci sont transmises à l’agent apprenant. L’agent apprenant représente le FIS. L’agent apprenant prend les entrées et décide d’une action et en fonction de la récompense il met à jour la fonction Q. La deuxième étape correspond à une génération des règles le cas échéant. Cette deuxième étape est effectivement mise en œuvre uniquement si les données d’entrée n’activent pas de règles. Plus précisément, la condition de mise en œuvre de la deuxième étape est que les valeurs des données d’entrée ne permettent pas de dépasser un certain seuil de valeur de vérité pour une dimension de l’état. Dans une telle hypothèse, il est créé des ensembles flous correspondant aux données d’entrées. Le nouvel ensemble flou créé est centré sur la valeur d’entrée correspondant à la dimension. Un exemple est montré sur la figure 3 où les deux ensembles flous présents pour la dimension ne permettent pas d’atteindre le seuil minimal de valeur de vérité (graphique de gauche sur la figure 3). Ceci mène à la création d’un nouvel ensemble flou centré sur la valeur reçue en entrée (graphique de droite sur la ). Lors de la troisième étape, un apprentissage par renforcement via la valeur q permet d’obtenir quelle action est à mettre en œuvre tandis que les règles floues indiquent la pondération associée. En l’espèce, la valeur Γ de -2 est pondérée par 0,5, la valeur Γ de 0 est pondérée par 0,1 et la valeur Γ de 2 est pondérée par 0,5. Avec les notations précédentes, les valeurs de -2, 0 ou 2 correspondent à un tandis que les valeurs de 0,1 ou 0,5 correspondent à un . La quatrième étape consiste en une mise en jour. Plus précisément, les valeurs q sont mises à jour pour adapter le choix de l’action fait à la troisième étape en fonction de la récompense reçue. La récompense est, par exemple, définie par les experts du domaine selon l’objectif recherché. La cinquième étape de raffinement consiste à modifier les centres et les largeurs des ensembles flous afin de mieux correspondre à l’environnement à contrôler. En référence à la (partie haute), les centres des mises à jour des ensembles flous sont moyennés pour chaque règle dans laquelle l’ensemble flou intervient. On peut noter la position du centre correspondant à l’ensemble à l’instant t et la position du centre correspondant à l’ensemble au même instant t. Dans le cas d’espèce, à des fins illustratives, il est supposé que . La cinquième étape permet d’obtenir respectivement la position du centre correspondant à l’ensemble à l’instant t+1 et celle du centre correspondant à l’ensemble à ce même instant t+1. Comme visible sur la figure 4 (partie haute), il est appliqué une correction propre à chaque centre, ce qui s’écrit mathématiquement pour la position du centre correspondant à l’ensemble : Dans cette équation, correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble à l’instant t. Avec une notation similaire, il vient également pour la position du centre correspondant à l’ensemble : Du fait que les corrections et ne sont pas les mêmes, à l’instant t+1, la position du centre correspondant à l’ensemble est différente de la position du centre correspondant à l’ensemble . En référence à la (partie basse), de manière identique aux centres, les largeurs sont mises à jour mais avec en plus une contrainte sur la mise à jour pour contrôler la distinguabilité. On peut noter la largeur correspondant à l’ensemble à l’instant t et la largeur correspondant à l’ensemble au même instant t. Dans le cas d’espèce, à des fins illustratives, il est supposé que . La cinquième étape permet d’obtenir respectivement la largeur correspondant à l’ensemble à l’instant t+1 et la largeur correspondant à l’ensemble à ce même instant t+1. Comme visible sur la figure 4 (partie basse), il est appliqué une correction propre à chaque largeur, ce qui s’écrit mathématiquement pour la largeur correspondant à l’ensemble : Dans cette équation, correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble à l’instant t. Avec une notation similaire, il vient également pour la largeur correspondant à l’ensemble : Du fait que les corrections et ne sont pas les mêmes, à l’instant t+1, la largeur correspondant à l’ensemble est différente de la largeur correspondant à l’ensemble . La sixième étape consiste à supprimer les ensembles flous jugés inutiles après la cinquième étape de raffinement. La suppression utilise, par exemple, un critère s’appuyant sur la demi taille de l’ensemble des valeurs possibles de la variable j lorsqu’il s’agit d’un intervalle . Cette demi taille s’écrit : Le critère de suppression est que où est un seuil de suppression. Cela correspond au fait qu’un ensemble flou est modélisé par une gaussienne. Si cette gaussienne est trop large, c’est-à-dire qu’elle est supérieure à un seuil, l’ensemble flou est supprimé car cet ensemble va perturber le système. Ce critère revient à majorer la largeur de l’ensemble flou. Si l’ensemble flou est trop large, il perturbe les ensembles flous voisins et est donc à retirer. Le procédé qui va maintenant être décrit utilise les étapes précédentes en y apportant des raffinements. Le procédé comprend une phase de génération d’une loi de commande de l’actionneur 10 et une phase de contrôle. La phase de génération vise à obtenir une loi de commande commandant l’actionneur 10 en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure 16. La phase de génération comprend une étape de collection, une étape de création, une étape de génération, une étape de mise en œuvre et une étape de conversion. Lors de l’étape de collection, des signaux provenant des capteurs sont collectés. Lors de la première étape de création, des ensembles flous correspondant aux signaux collectés sont créés. Ainsi, lors de la première étape de création, le centre est la valeur reçue du signal collecté (celui issu des capteurs de mesure 16) et la largeur est fixée à une valeur prédéterminée. Cette valeur prédéterminée est, par exemple, choisie en fonction de nombre de variables linguistiques souhaitées pour chaque règle. Similairement à ce qui a été décrit précédemment pour l’algorithme DFQL, lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, il est mis en œuvre une étape de génération de la règle associée et sinon, création de nouveaux ensembles flous. Toujours en référence à l’algorithme DFQL, lors de l’étape de mise en œuvre, il est ensuite mis en œuvre un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’états pour déterminer les actions à effectuer pour obtenir l’objectif en fonction des ensembles flous. Le lecteur est invité à se reporter aux notions initiales pour trouver plus d’informations sur les opérations de cette étape. Toutefois, dans l’exemple décrit, la cinquième étape précédente, c’est-à-dire l’opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous est mise en œuvre de manière différente. A titre d’illustration, il est supposé de manière non limitative dans ce qui suit, qu’à la fois la position du centre et la largeur sont modifiées. Contrairement au cas de l’algorithme DFQL où l’opération de modification est différente suivant les règles, l’opération de modification est commune à toutes les règles utilisant l’ensemble flou. Plus précisément, les centres ρ et les largeurs σ des ensembles flous sont modifiés en fonction de la récompense reçue en appliquant l’action a dans l’état . La première consiste à harmoniser les mises à jour de l’ensemble des modifications apportées sur les et en les moyennant, comme le montre la . Plus précisément, pour le cas du centre (partie du haut de la ), il est calculé les erreurs de différences temporelles de chacune des différentes associations actions-état et la position modifiée du centre dépend des erreurs de différences temporelles calculées. La position modifiée du centre est alors la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles. En utilisant les notations correspondant à celles utilisées pour la description de la figure 4, la position du centre correspondant à l’ensemble à l’instant t+1 s’écrit: Dans cette équation, correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble à l’instant t tandis que correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble à l’instant t. Avec une notation similaire, il vient également pour la position du centre correspondant à l’ensemble : Même si les corrections et ne sont pas les mêmes, à l’instant t+1, la position du centre correspondant à l’ensemble est identique à la position du centre correspondant à l’ensemble . Similairement, pour le cas de la largeur (partie du bas de la ), la largeur est également modifiée est fonction des espérances de différences temporelles. Plus précisément, ici, la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles. En utilisant les notations correspondant à celles utilisées pour la description de la figure 4, la largeur correspondant à l’ensemble à l’instant t+1 s’écrit: Dans cette équation, correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble à l’instant t tandis que correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble à l’instant t. Avec une notation similaire, il vient également pour la largeur correspondant à l’ensemble : Même si les corrections et ne sont pas les mêmes, à l’instant t+1, la largeur correspondant à l’ensemble est identique à la largeur correspondant à l’ensemble . Selon un mode de réalisation alternatif, il est également proposé de prendre en compte la distinguabilité lors de la mise à jour en modulant les effets sur les centres et les largeurs par un coefficient. Par exemple, la formule suivante peut être utilisée : Avec, et Dans ce cas, il est imposé que la distinguabilité des ensembles flous est au minimum de . Il est ainsi obtenu l’ensemble des actions à effectuer pour obtenir l’objectif en fonction des ensembles flous. Lors de l’étape de conversion, ce résultat de l’apprentissage par renforcement est converti en un ensemble de règles de commande formant la loi de commande. Il s’agit ici d’une simple réécriture. La phase de génération qui vient d’être décrite est relativement simple à mettre en œuvre dans la mesure où elle ne requiert pas une modélisation du système physique. Elle n’implique pas non plus d’utiliser des connaissances a priori, et a fortiori pas le savoir d’un expert. Cette phase de génération permet d’obtenir une loi de commande présentant une meilleure fiabilité. Pour bien comprendre cela, il est intéressant de revenir au cas de l’algorithme DFQL. Dans ce cas, les mises à jour sont différentes suivant les règles et participent à la différenciation des définitions d’ensembles flous ayant la même signification sémantique. Le raffinement de l’algorithme DFQL ne prend ainsi pas en compte le partage des ensembles flous en plusieurs règles. Dès la première mise à jour un ensemble flou initialement partagé en donne deux très proches ce qui augmente sensiblement le nombre de règles, ralentit les calculs et surtout appauvrit la performance de l’algorithme qui n’associe plus une coordonnée d’un état à une caractéristique donnée. Autrement formulé, cela signifie que Si et sont partagés entre les prémisses i et j (c’est-à-dire que leur fonction d’appartenance est égale) et que leurs erreurs sont différentes ALORS et ne sont plus partagés à l’itération suivante. Dans le procédé décrit, la moyenne des mises à jour, selon les règles, permet de n’avoir qu’une mise à jour commune à toutes les règles utilisant l’ensemble flou. Le procédé permet de garantir que pour une variable sémantique donnée, un seul ensemble flou est utilisé pour le définir. Cela permet que les règles soient vérifiables et cela contribue augmenter la robustesse de la loi de commande. Le contrôle de l’évolution de la largeur des largeurs permet également de s’assurer de la distinguabilité des ensembles flous et donc des variables sémantiques associées. On définit la distinguabilité au sein de la partition locale à partir de la fonction d’appartenance normalisée de l’ensemble flou : est la fonction d’appartenance normalisée qui représente la proportion à laquelle la conclusion associée à cet ensemble flou, à terme à la prémisse, est prise en compte par rapport aux autres. Si n’est pas distinguable alors on ne peut pas retrouver la cause exacte d’une erreur, donc notre contribution doit contrôler la distinguabilité. Là encore, cela permet que les règles soient vérifiables et cela contribue augmenter la robustesse de la loi de commande. En outre, il y a un gain en mémoire du fait que les règles redondantes sont éliminées. Lors de la phase de contrôle, le système de contrôle 12 applique la loi de commande ainsi obtenue pour bénéficier de sa meilleure robustesse en fonctionnement du système automatisé. Pour améliorer cet effet, la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé. Le procédé qui vient d’être décrit peut-être mis en œuvre par un dispositif 100 tel que représenté sur la . L’interaction entre le dispositif 110 et le produit programme d’ordinateur 112 permet la mise en œuvre de la phase de génération du procédé de contrôle, qui est ainsi une phase mise en œuvre par ordinateur. Le dispositif 110 est un ordinateur de bureau. En variante, le dispositif 110 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone. Dans des modes de réalisation spécifiques, l'ordinateur est adapté pour fonctionner en temps réel et/ou est dans un système embarqué, notamment dans un véhicule tel qu'un avion. Dans le cas de la , le dispositif 110 comprend une unité de calcul 114, une interface utilisateur 116 et un dispositif de communication 118. L’unité de calcul 114 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du dispositif 110 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation. En tant qu’exemples spécifiques, l’unité de calcul 114 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable (comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA)), une machine à états, une porte logique et des composants matériels discrets. L’unité de calcul 114 comprend une unité de traitement de données 120 adaptée pour traiter des données, notamment en effectuant des calculs, des mémoires 122 adaptées à stocker des données et un lecteur 124 adapté à lire un support lisible par ordinateur. L'interface utilisateur 116 comprend un dispositif d'entrée 126 et un dispositif de sortie 128. Le dispositif d’entrée 126 est un dispositif permettant à l'utilisateur du système de saisir sur le dispositif 110 des informations ou des commandes. Sur la , le dispositif d’entrée 126 est un clavier. En variante, le dispositif d’entrée 126 est un périphérique de pointage (tel qu'une souris, un pavé tactile et une tablette graphique), un dispositif de reconnaissance vocale, un oculomètre ou un dispositif haptique (analyse des mouvements). Le dispositif de sortie 128 est une interface utilisateur graphique, c’est-à-dire une unité d’affichage conçue pour fournir des informations à l’utilisateur du dispositif 110. Sur la , le dispositif de sortie 128 est un écran d’affichage permettant une présentation visuelle de la sortie. Dans d'autres modes de réalisation, le dispositif de sortie est une imprimante, une unité d'affichage augmenté et/ou virtuel, un haut-parleur ou un autre dispositif générateur de son pour présenter la sortie sous forme sonore, une unité produisant des vibrations et/ou des odeurs ou une unité adaptée à produire un signal électrique. Dans un mode de réalisation spécifique, le dispositif d'entrée 126 et le dispositif de sortie 128 sont le même composant formant des interfaces homme-machine, tel qu'un écran interactif. Le dispositif de communication 118 permet une communication unidirectionnelle ou bidirectionnelle entre les composants du dispositif 110. Par exemple, le dispositif de communication 118 est un système de communication par bus ou une interface d'entrée / sortie. La présence du dispositif de communication 118 permet que, dans certains modes de réalisation, les composants du dispositif 110 soient distants les uns des autres. Le produit programme informatique 112 comprend un support lisible par ordinateur 132. Le support lisible par ordinateur 132 est un dispositif tangible lisible par le lecteur 124 de l’unité de calcul 114. Notamment, le support lisible par ordinateur 132 n'est pas un signal transitoire en soi, tels que des ondes radio ou d'autres ondes électromagnétiques à propagation libre, telles que des impulsions lumineuses ou des signaux électroniques. Un tel support de stockage lisible par ordinateur 132 est, par exemple, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteur ou toute combinaison de ceux-ci. En tant que liste non exhaustive d'exemples plus spécifiques, le support de stockage lisible par ordinateur 132 est un dispositif codé mécaniquement, tel que des cartes perforées ou des structures en relief dans une gorge, une disquette, un disque dur, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire effaçable programmable en lecture seule (EROM), une mémoire effaçable électriquement et lisible (EEPROM), un disque magnéto-optique, une mémoire vive statique (SRAM), un disque compact (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, un disque souple, une mémoire flash, un disque à semi-conducteur (SSD) ou une carte PC telle qu'une carte mémoire PCMCIA. Un programme d'ordinateur est stocké sur le support de stockage lisible par ordinateur 132. Le programme d'ordinateur comprend une ou plusieurs séquences d'instructions de programme mémorisées. De telles instructions de programme, lorsqu'elles sont exécutées par l'unité de traitement de données 120, entraînent l'exécution d'étapes du procédé. Par exemple, la forme des instructions de programme est une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet. Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages, par exemple un langage de programmation orienté objet (FORTRAN, C++, JAVA, HTML), un langage de programmation procédural (langage C par exemple). Alternativement, les instructions du programme sont téléchargées depuis une source externe via un réseau, comme c'est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme. Dans chaque cas, le produit programme d'ordinateur 112 comprend des instructions qui peuvent être chargées dans l'unité de traitement de données 120 et adaptées pour provoquer l'exécution du procédé lorsqu'elles sont exécutées par l'unité de traitement de données 120. Selon les modes de réalisation, l'exécution est entièrement ou partiellement réalisée soit sur le dispositif 110, c'est-à-dire un ordinateur unique, soit dans un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage). Procédé de contrôle d’un actionneur (10) par un système de contrôle (12), le procédé de contrôle comprenant : - une phase de génération d’une loi de commande de l’actionneur (10), la loi de commande commandant l’actionneur (10) en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure (16), la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure (16), - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur (10). Procédé de contrôle selon la revendication 1, dans lequel, lors de l’opération de modification, à la fois la position du centre et la largeur de chaque ensemble flou est modifié. Procédé de contrôle selon la revendication 1 ou 2, dans lequel, lors de l’opération de modification, il est calculé les erreurs de différences temporelles de chacune des différentes associations état-actions et la position modifiée du centre dépend des erreurs de différences temporelles calculées. Procédé de contrôle selon la revendication 3, dans lequel la position modifiée du centre est la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles. Procédé de contrôle selon l’une quelconque des revendications 1 à 4, dans lequel, lors de l’opération de modification, il est calculé l’espérance des différences temporelles de chacune des différentes associations état-actions et la largeur modifiée est fonction des espérances de différences temporelles. Procédé de contrôle selon la revendication 5, dans lequel la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles. Procédé de contrôle selon l’une quelconque des revendications 1 à 6, dans lequel la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé. Système de contrôle (12) adapté pour mettre en œuvre : - une phase de génération d’une loi de commande de l’actionneur (10), la loi de commande commandant l’actionneur (10) en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure (16), la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure (16), - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur (10).