Safran Aero Boosters assure notamment la maintenance de bancs de test pour moteur d’avion: un moteur est placé sur une nacelle et soumis à différentes charges. L’analyse des valeurs de nombreux capteurs placés sur le moteur et sur le banc permet de déterminer si le moteur est apte à voler. Malheureusement, le banc lui-même est sujet à une usure et un dérèglement progressif, de sorte qu’une maintenance intensive et coûteuse de celui-ci est nécessaire.
Dans le cadre du projet ARTEMTEC, le CETIC a été amené à concevoir et implémenter une solution d’analyse des paramètres de fonctionnement du banc, avec pour objectif de répondre à une série de questions que peut se poser son utilisateur concernant la nécessité d’effectuer une maintenance anticipée de l’installation. La solution prend la forme d’une application Web qui permet l’exploration interactive des valeurs issues des capteurs du banc.
L’application est basée sur Plotly et Dash, ce qui présente dans notre situation plusieurs avantages:
- S’agissant d’une application Web, l’outil est facilement accessible depuis un poste de travail, sans installation préalable autre que celle d’un navigateur. Sa manipulation se fait au moyen d’éléments visuels (boutons, ascenseurs, etc.) bien connus de l’utilisateur.
- Plotly et Dash étant basés sur Python, il est facile d’exploiter les bibliothèques de fonctionnalités disponibles dans ce langage. En particulier, le recours aux bibliothèques de traitement de données et de machine learning Numpy, Pandas et Scikit-Learn, déjà maîtrisées par le CETIC, a permis un bon rythme de développement.
- Plotly permet la mise en place rapide de nombreuses visualisations interactives: les modules de visualisation sont décrits en Python dans l’application, et sont convertis en scripts JavaScript pouvant être exécutés sur le navigateur de l’utilisateur.
- En développant une application spécifique, il est possible de préparer un ensemble de visualisations répondant directement aux besoins déclarés de l’utilisateur, ce qui le dispense de l’apprentissage et de la manipulation d’un outil d’exploration de données générique.
L’application propose les fonctionnalités suivantes:
- Chargement de données au format Parquet préparées et déposées sur le serveur par un système indépendant.
- Affichage de l’évolution des données de capteurs sélectionnés, et affichage des relations existant entre ces données sous la forme d’un nuage de points ou d’un dendrogramme. Cela permet la mise en évidence d’ensemble de capteurs dont les valeurs évoluent de manière coordonnée, et donc de mettre en évidence une cessation ponctuelle de cette coévolution, qui peut être révélatrice d’une anomalie de fonctionnement.
- Analyse de l’évolution de la corrélation entre des paires de capteurs, grâce à des tests de corrélation.
- Détection d’oscillations dans le signal, révélatrices d’un problème de stabilisation du procédé.
- Détection de pics dans le signal, qui indiquent un manque de contrôle ponctuel du procédé.
- Calcul de la transformée de Fourier discrète d’un signal, qui met en évidence des tendances cycliques dans ce signal.
- Affichage des valeurs de plusieurs capteurs dans le plan, en appliquant une réduction de la dimensionnalité grâce à une analyse en composantes principales, à l’algorithme t-SNE, ou encore une régression des moindres carrés partiels, selon les besoins. Ces approches tendent à tirer profit des relations existant entre plusieurs capteurs pour proposer une visualisation aussi "efficace" que possible dans le plan. Une telle visualisation facilite le repérage par l’utilisateur de mesures pour lesquelles les relations entre les valeurs des capteurs sont anormales.
- Visualisation d’une carte de contrôle qui permet de confirmer la stabilité d’un procédé et d’identifier une modification de son comportement.
- Affichage de la stabilité de paramètres du système en phase stabilisée. Le test d’un moteur consiste essentiellement en l’enchaînement d’une séquence de "phases". Durant chaque phase, le moteur est soumis à un régime particulier caractérisé par le contrôle strict de certains de ses paramètres (tels que son débit de carburant). L’utilisateur peut marquer les phases d’un test, et vérifier la stabilité d’autres paramètres (tels que la température d’un composant du banc) lors de chacune des phases.
L’application est préparée sous la forme d’un conteneur Docker afin de faciliter son déploiement.
- Représentation bidimensionnelle des relations entre les mesures de quatre capteurs.
La couleur indique le degré d’anormalité des mesures, calculée comme le résidu de l’encodage puis du décodage du signal par PCA.