Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Survols
24 février 2016

[Technique] Un avion, peut-il apprendre à voler ?

drawing

Parmi les aspirations que les chercheurs du domaine de l’intelligence artificielle ont toujours eues, existe bien entendu la capacité que l’on peut donner à une machine, à apprendre à réaliser une tâche par elle-même, sans intervention humaine et uniquement à travers sa propre expérience.

Apprendre un langage, apprendre à reconnaître des formes sur des images, etc. ; les applications dans ce domaine particulier se multiplient, à l’heure où ce qu’on appelle le « deep learning », ou l’apprentissage, permet de donner des capacités accrues à un système, ce qui en fascine certains, mais ce qui en effraye d’autres.

L’application que je vous propose d’aborder dans cet article concerne l’aéronautique : un avion, peut-il avoir la capacité d’apprendre à voler tout seul ?

 

Dans le cas d’un aéronef, l’avionique chargée de son pilotage, appelée communément autopilote, jongle, grossièrement, avec deux groupes de données : l’état de l’appareil qu’il reçoit des capteurs de navigation (sa position, sa vitesse, son orientation, etc.) et sa commande qu’il doit déterminer (ailerons, profondeur, gouverne de direction, manette des gaz, etc.).

Ce système complexe a donc pour mission de trouver les meilleures commandes possibles, de manière à ce que l’appareil suive au mieux la trajectoire que lui impose le pilote.

Pour ce faire, il existe de nombreux algorithmes qui permettent de déterminer l’inclinaison des gouvernes de l’avion devant être ordonnée ainsi que la poussée du moteur, en fonction des consignes de cap, d’altitude, de vitesse (par exemple) que l’autopilote reçoit.

 

Le modèle mathématique

Or, pour pouvoir calculer ces commandes, l’autopilote a besoin de ce qu’on appelle, le modèle mathématique de l’aéronef : De quoi s’agit-il ?

Le modèle mathématique est un système d’équations mathématiques qui permet justement de relier les deux groupes de données précédemment évoqués : l’état de l’appareil, en fonction de sa commande. C’est un peu comme si l’autopilote disposait d’un petit simulateur de vol embarqué de l’avion qu’il conduit, ce qui lui permet de connaître à l’avance le comportement de son appareil, en fonction des commandes qu’il exécute.

Ainsi, l’autopilote dispose des outils qui lui permettent d’optimiser l’orientation des gouvernes et la manette des gaz, par rapport à l’avion qu’il a en main. Bien entendu, cette approche est généralisable à tout système autonome dynamique.

 

Place du deep-learning dans l’autopilote d’un avion ?

En quoi l’intelligence artificielle pourrait permettre à un avion d’apprendre à voler tout seul ? Tout simplement en déterminant de manière totalement autonome son modèle mathématique. Ainsi l’autopilote pourrait piloter n’importe quel aéronef, quelle que soit sa configuration, en s’adaptant à celui-ci.

L’idée est donc que l’autopilote parte d’une « feuille totalement blanche » (modèle mathématique vierge), et puisse lui-même déterminer ce fameux modèle de l’avion qu’il pilote (modèle qui lui sera nécessaire pour optimiser les commandes) grâce au comportement de celui-ci (ses réactions aux premières commandes exécutées).

Des travaux réalisés par Stéphane Querry sous la direction du Pr. Pierre Collet (UMR CNRS/Unistra Icube) se sont donc penchés sur cette problématique, et l’utilisation de l’intelligence artificielle a été requise pour un tel accomplissement.

Le domaine particulier de l’évolution artificielle, a été approfondi dans cette démarche, étant donné qu’il englobe un algorithme idéal pour cette tâche : La programmation génétique.

 

La programmation génétique

La programmation génétique permet en effet de déterminer des fonctions mathématiques, reliant des données disposant d’une certaine corrélation : Cela tombe bien, c’est le cas entre l’état de l’appareil et sa commande !!

Ainsi, cet algorithme observe les premières commandes envoyées à l’avion, le comportement induit (son état) que l’aéronef a en conséquence, et génère des fonctions mathématiques qui peuvent relier au mieux toutes ces données recueillies (état en fonction de la commande).

Pour ce faire, cet outil est basé sur les algorithmes évolutionnaires : une population de solutions potentielles (fonctions mathématiques) convergeant vers la meilleure solution, grâce à une suite d’opérations (dites génétiques), et une comparaison entre l’état prédit par les fonctions et l’état réel de l’appareil (mesuré grâce aux capteurs de navigation).

 

Résultats ?

Cette approche a été testée sur des données télémétriques d’un F-16 de la NASA (Langley Research Center), et il s’est avéré que les résultats obtenus ont été très encourageants, puisque le modèle mathématique trouvé par cette nouvelle approche a permis de disposer d’un modèle mathématique encore plus précis que celui utilisé par l’avionique, et ce, sur les trois axes du chasseur.

 

Cm
Evolution du tangage du F-16
(bleu : tangage réel ; rouge : prédiction du modèle mathématique)

 

Et le temps réel dans tout ça ?

La question que l’on peut se poser est la suivante : Est-ce suffisamment rapide, pour qu’un avion lâché en l’air, puisse apprendre à voler avant de se crasher ?

C’est une réponse difficile à donner, et je répondrais : « Oui et Non ».

Sur un ordinateur d’ancienne génération (Core2Duo), cette opération (exécutée sur CPU) a pris environ 8 minutes, ce qui devrait largement suffire à une plate-forme volante pour toucher le sol, sans avoir la capacité de revoler, dans les mêmes conditions, voire tout court (définition du crash).

Cependant, il faut bien garder en tête que les contraintes apposées au problème étaient très fortes (afin de disposer d’un modèle mathématique des plus précis), et que dès les premières secondes de calcul, était trouvé un modèle qui aurait été capable de faire voler le F-16, peut-être d’une manière moins « efficace », mais suffisante, le temps que le modèle se précise grandement après ces fameuses 8 minutes. De plus, une implémentation sur processeurs parallèles (GPGPU) réduit grandement cette durée de traitement.

 

Et après ?

Les applications d’une telle approche peuvent s’avérer intéressantes, que cela concerne l'amélioration des modèles déjà existants, l’adaptation à une plate-forme structurellement changeante (dégâts ou autre), ou le pilotage des avions en décrochage/vrille, ce que les autopilotes actuels ne savent pas encore parfaitement faire...

 

(Suivez-nous sur Facebook https://www.facebook.com/blog.survols)
(Suivez-nous sur Twitter https://twitter.com/Blog_Survols)

Publicité
Publicité
Commentaires
Survols
Publicité
Survols
Archives
Publicité