FR3130956A1 - Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés - Google Patents

Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés Download PDF

Info

Publication number
FR3130956A1
FR3130956A1 FR2113848A FR2113848A FR3130956A1 FR 3130956 A1 FR3130956 A1 FR 3130956A1 FR 2113848 A FR2113848 A FR 2113848A FR 2113848 A FR2113848 A FR 2113848A FR 3130956 A1 FR3130956 A1 FR 3130956A1
Authority
FR
France
Prior art keywords
aircraft
piloting
reception
group
commands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2113848A
Other languages
English (en)
Inventor
Jaime DIAZ PINEDA
Thomas DE LARD
Baptiste IDIART
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR2113848A priority Critical patent/FR3130956A1/fr
Priority to EP22835436.1A priority patent/EP4449391A2/fr
Priority to PCT/EP2022/086202 priority patent/WO2023111205A2/fr
Publication of FR3130956A1 publication Critical patent/FR3130956A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0017Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information
    • G08G5/0021Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information located in the aircraft
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0052Navigation or guidance aids for a single aircraft for cruising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés La présente invention concerne un procédé d’aide au pilotage d’un aéronef. Le procédé comprend une acquisition (110) d’un modèle de pilotage de l’aéronef et d’une fonction de récompense comportant une contrainte de pilotage, et une application (130), au modèle de pilotage, d’un algorithme d’apprentissage par renforcement pour obtenir des variables d’état, et des commandes de pilotage. Le procédé comprend en outre une formation de groupe(s) (140) de données à partir des variables d’état et des commandes. Pour le ou chaque groupe, le procédé comprend une affectation (150) d’au moins un état de l’aéronef aux variables d’état et d’au moins une action de pilotage aux commandes, pour générer une règle de pilotage comportant les état(s) et action(s) de pilotage. Le procédé comprend également une transmission (170) d’au moins une règle de pilotage à un dispositif d’affichage en vue de son affichage à destination d’un pilote de l’aéronef. Figure pour l'abrégé : [Figure 4]

Description

Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés
La présente invention concerne un procédé d’aide au pilotage d’un aéronef.
La présente invention concerne également un dispositif électronique d’aide au pilotage de l’aéronef et un système d’assistance au pilotage de l’aéronef comprenant un tel dispositif électronique d’aide au pilotage.
L’invention concerne le domaine de l’assistance à un pilote d’un aéronef.
Pour le pilotage d’un véhicule automobile, il est connu d’avoir recours à des pilotes automatiques configurés pour déterminer des commandes de pilotage à partir de variables d’état mesurées par des capteurs du véhicule. Les commandes sont ensuite implémentées dans le véhicule pour son pilotage.
A cet effet, il est connu d’utiliser un modèle de pilotage comprenant un réseau de neurones, auquel est appliqué un algorithme d’apprentissage par renforcement (de l’anglaisreinforcement learning). Un tel algorithme d’apprentissage par renforcement permet au modèle d’apprendre par lui-même à déterminer les commandes de pilotage à partir des variables d’état et d’une fonction de récompense quantifiant l’effet des commandes déterminées sur le pilotage du véhicule.
Toutefois, dans le contexte aéronautique, il est généralement recommandé, voir nécessaire, d’obtenir une certification pour le système de pilotage. La certification permet alors de garantir que le système de pilotage ne déterminera pas de commande de pilotage incohérente risquant de mettre en péril l’intégrité de l’aéronef et de ses potentiels passagers. Or, les systèmes de pilotage comprenant un modèle du type précité ne sont pas certifiables en l’état.
L’invention a donc pour but de proposer un procédé d’aide au pilotage d’un aéronef, un dispositif électronique d’aide au pilotage et un système d’assistance au pilotage associés, propres à fournir des règles de pilotage certifiables.
A cet effet, l’invention a pour objet un procédé d’aide au pilotage d’un aéronef, le procédé étant mis en œuvre par un dispositif électronique d’aide au pilotage et comprenant les étapes suivantes :
- acquisition d’un modèle de pilotage de l’aéronef et d’une fonction de récompense comportant une contrainte de pilotage,
- application, au modèle de pilotage, d’un algorithme d’apprentissage par renforcement à partir de la fonction de récompense, l’étape d’application comportant les sous-étapes suivantes :
+ une réception de variable(s) d’état de l’aéronef à des instants de réception,
+ pour chaque instant de réception, une modification du modèle à partir d’une évaluation de la fonction de récompense à partir de la ou des variables d’état reçues audit instant de réception, et
+ pour chaque instant de réception, une détermination de commandes de pilotage à partir du modèle de pilotage modifié et des variables d’état reçues audit instant,
- formation de groupe(s) de données à partir des variables d’état reçues et des commandes déterminées, chaque groupe de données comprenant les variables d’état et les commandes correspondant à une pluralité d’instants de réception successifs,
- pour le ou chaque groupe de données, affectation d’au moins un état de l’aéronef aux variables d’état et d’au moins une action de pilotage aux commandes, pour générer une règle de pilotage comportant l’au moins un état et l’au moins une action de pilotage,
- transmission d’au moins une règle de pilotage à un dispositif d’affichage en vue de son affichage à destination d’un pilote de l’aéronef.
Chaque règle de pilotage générée par le procédé est certifiable puisqu’elle respecte un formalisme permettant la certification, à savoir d’associer à au moins un état de l’aéronef, une action de pilotage à mettre en œuvre.
Suivant d’autres aspects avantageux de l’invention, le procédé d’aide au pilotage comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- lors de l’étape d’application, pour chaque instant de réception, une valeur de la contrainte de pilotage est calculée au cours de l’évaluation de la fonction de récompense,
lors de l’étape de formation de groupe(s), chaque groupe de données comprend en outre les valeurs de la contrainte de pilotage associées aux variables d’état et aux commandes,
lors de l’étape d’affectation, pour le ou chaque groupe, au moins un effet sur la contrainte est affecté aux valeurs de la contrainte de pilotage du groupe, chaque règle comprenant en outre l’au moins un effet sur la contrainte ;
- lors de l’étape d’affectation une pluralité de règles est formée, le procédé comprenant en outre entre l’étape d’affectation et l’étape de fourniture, une étape d’identification de règle(s) principale(s) parmi la pluralité de règles de pilotage générées par application d’un algorithme d’analyse de fréquences de variables,
lors de l’étape de transmission, seule(s) la ou les règles principales étant transmises ;
- l’étape d’identification comprend en outre la comparaison du ou des effets sur la contrainte de chaque règle principale à un seuil prédéterminé pour obtenir au moins une règle filtrée, chaque règle filtrée étant une règle principale respective comprenant au moins un effet sur la contrainte supérieur ou égal au seuil,
lors de l’étape de transmission, seule(s) la ou les règles filtrées étant de préférence fournies en vue de leur affichage à destination du pilote de l’aéronef ;
- l’étape d’affectation comprend pour chaque groupe de données :
- un calcul d’une première différence entre la valeur de la contrainte de pilotage au dernier instant de réception parmi les instants de réception des variables d’état du groupe de données, et la valeur de contrainte de pilotage au premier instant de réception parmi les instants de réception des variables d’état du groupe de données,
- un calcul d’une deuxième différence entre la valeur de la contrainte de pilotage à un instant de réception postérieur au dernier instant de réception parmi les instants de réception des variables d’état du groupe de données, et la valeur de contrainte de pilotage au premier instant de réception parmi les instants de réception des variables d’état du groupe de données,
- une affectation, aux valeurs de la contrainte de pilotage, d’un effet à court terme sur la contrainte de pilotage, à partir de la première différence et d’un tableau de correspondance de contraintes de pilotage, et
- une affectation, aux valeurs de la contrainte de pilotage, d’un effet à long terme sur la contrainte de pilotage, à partir de la deuxième différence et du tableau de correspondance de contraintes de pilotage ;
- l’étape de formation comprend :
- classification des commandes de pilotage déterminées parmi une pluralité de classes prédéfinies et via un tableau de correspondance de commandes,
- pour chaque classe, regroupement des commandes de pilotage appartenant à ladite classe et déterminées pour les instants de réception formant une suite d’instants de réception consécutifs la plus longue possible, pour former au moins un ensemble de commandes regroupées, et
- pour chaque ensemble de commandes regroupées, formation d’un groupe respectif comprenant les commandes dudit ensemble et les variables d’état reçues aux instants de réception pour lesquels lesdites commandes ont été déterminées ;
- lors de l’étape d’acquisition, une fonction de récompense préliminaire est acquise,
le procédé comprenant en outre, entre l’étape d’acquisition et l’étape d’application, une étape d’entrainement du modèle par application d’un algorithme préliminaire d’apprentissage par renforcement sur le modèle de pilotage à partir de la fonction de récompense préliminaire,
l’étape d’entrainement comportant une modification du modèle à partir d’une évaluation de la fonction de récompense préliminaire ;
- les variables d’état sont choisies parmi le groupe consistant en : un angle de roulis de l’aéronef, un angle de tangage de l’aéronef, un angle de lacet de l’aéronef, une vitesse de l’aéronef, une accélération de l’aéronef, une vitesse du vent au contact de l’aéronef, une orientation du vent par rapport à l’aéronef, et une position de l’aéronef.
L’invention a également pour objet un produit programme d’ordinateur comprenant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par un ordinateur, mettent en œuvre un procédé selon l’une quelconque des revendications précédentes.
L’invention a également pour objet un dispositif électronique d’aide au pilotage d’un aéronef, comprenant :
- un module d’acquisition configuré pour acquérir un modèle de pilotage de l’aéronef et une fonction de récompense comprenant une contrainte de pilotage,
- un module d’application configuré pour appliquer au modèle de pilotage, un algorithme d’apprentissage par renforcement à partir de la fonction de récompense, le module d’application comportant :
+ une unité de réception configurée pour recevoir au moins une variable d’état de l’aéronef à des instants de réception,
+ une unité de modification configurée pour modifier, pour chaque instant de réception, le modèle à partir d’une évaluation de la fonction de récompense à partir de la ou des variables d’état, et
+ une unité de détermination configurée pour déterminer, pour chaque instant de réception, des commandes de pilotage à partir du modèle de pilotage modifié et des variables d’état reçues audit instant de réception,
- un module de formation configuré pour former au moins un groupe de données à partir des variables d’état reçues et des commandes déterminées, chaque groupe de données comprenant les variables d’état et les commandes déterminée correspondant à une pluralité d’instants de réceptions successifs,
- un module d’affectation configuré pour affecter, pour le ou chaque groupe de données, au moins un état de l’aéronef aux variables d’état reçues et au moins une action de pilotage aux commandes déterminées, et pour générer une règle de pilotage comportant l’au moins un état et l’au moins une action de pilotage, et
- un module de transmission configuré pour transmettre, à un dispositif d’affichage, au moins une règle de pilotage en vue de son affichage à destination d’un pilote de l’aéronef.
En outre, l’invention a pour objet un système d’assistance au pilotage d’un aéronef comprenant un tel dispositif électronique d’aide au pilotage et un dispositif d’affichage configuré pour recevoir au moins une règle de pilotage depuis le dispositif d’aide au pilotage et pour afficher ladite règle à destination du pilote de l’aéronef.
Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à 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 vue schématique d’un système d’assistance au pilotage d’un aéronef selon l’invention, comprenant un dispositif électronique d’aide au pilotage selon l’invention ;
la est une représentation d’une classification de commandes de pilotage déterminées par le dispositif électronique d’aide au pilotage de la ;
la est une vue d’une trajectoire de l’aéronef calculée par le système d’assistance au pilotage de la ; et
la est un organigramme d’un procédé d’aide au pilotage selon l’invention, mis en œuvre par le dispositif d’aide au pilotage du système d’assistance au pilotage de la .
En référence à la , on décrit un système 10 d’assistance au pilotage d’un aéronef. Le système d’assistance 10 est configuré pour fournir, à un pilote 15 de l’aéronef, des règles de pilotage. Le système d’assistance 10 est connecté à un dispositif 20 de génération de variables d’état VEide l’aéronef qui sera décrit ci-après.
Dans la suite de cette description, on entend par« aéronef »un engin volant propre à être piloté par le pilote 15, tel qu’un avion, un hélicoptère, ou un drone. En particulier, le pilote 15 de l’aéronef est soit embarqué au sein de l’aéronef, notamment dans le cas d’un avion ou d’un hélicoptère, soit déporté dudit aéronef, notamment dans le cas d’un drone.
Le système d’assistance 10 comprend un dispositif électronique d’aide au pilotage 25 et un dispositif d’affichage 30.
Le dispositif 20 de génération de variables d’état est par exemple un environnement de simulation de l’aéronef. Le dispositif de génération 20 est configuré pour simuler le comportement de l’aéronef le long d’une trajectoire comportant des points de passage (de l’anglaiswaypoint). Plus spécifiquement, le dispositif de génération 20 est configuré pour simuler le comportement de l’aéronef entre une position initiale et une position finale. La position finale correspond de préférence au dernier point de passage de la trajectoire. Si l’aéronef a atteint la position finale ou suite à l’expiration d’un délai maximal prédéfini, le dispositif de génération 20 recommence la simulation en repositionnant l’aéronef à la position initiale.
Le dispositif de génération 20 est alors configuré pour recevoir, depuis le dispositif électronique d’aide au pilotage 25, des commandes de pilotage Cide l’aéronef. Le dispositif de génération 20 est configuré pour ensuite simuler, pendant une durée prédéfinie, le comportement de l’aéronef suite à la mise en œuvre des commandes de pilotage Cireçues. Le dispositif de génération 20 est configuré pour fournir au dispositif d’aide au pilotage 25, les variables d’état VEide l’aéronef suite à la simulation du comportement de l’aéronef pendant la durée prédéfinie. La durée prédéfinie est par exemple égale à 200 ms.
Les commandes de pilotage Cisont des instructions, ou commandes, destinées à être reçues par des actionneurs de l’aéronef et permettant le pilotage de l’aéronef.
Dans le mode de réalisation dans lequel l’aéronef est un avion, les commandes de pilotage Cisont par exemple choisies parmi le groupe consistant en :
- une position de la gouverne de lacet de l’avion,
- une position de la gouverne de tangage de l’avion,
- une position des volets de l’avion,
- une position des ailerons de l’avion, et
- un débit de carburant dans des réacteurs de l’avion.
Dans le mode de réalisation dans lequel l’aéronef est un drone, les commandes de pilotage Cisont par exemple les vitesses de rotation de chaque rotor du drone.
Les variables d’état VEide l’aéronef sont les variables permettant de définir l’état de l’aéronef dans son environnement. Les variables d’état VEisont par exemple choisies parmi le groupe consistant en :
- un angle de roulis de l’aéronef,
- un angle de tangage de l’aéronef,
- un angle de lacet de l’aéronef,
- une accélération de l’aéronef,
- une vitesse de l’aéronef,
- une position de l’aéronef, telle qu’une position relative de l’aéronef par rapport au prochain point de passage ou aux deux prochains points de passage, et optionnellement
- une vitesse du vent au contact de l’aéronef, et
- une orientation du vent par rapport à l’aéronef.
On comprend alors que la mise en œuvre de commandes de pilotage Ci, par le dispositif de génération 20, et la simulation du comportement de l’aéronef pendant la durée prédéfinie conduisent à une variation des variables d’état VEi.
Selon une variante de réalisation, le dispositif de génération 20 est inclus dans l’aéronef et comprend un ensemble de capteurs et d’actionneurs de l’aéronef. Ainsi, le dispositif de génération 20 comprend les actionneurs propres à mettre en œuvre les commandes de pilotage reçues Ciet les capteurs propres à mesurer les variables d’état VEide l’aéronef après la durée prédéfinie.
Le dispositif 25 électronique d’aide au pilotage est connecté au dispositif de génération 20 et au dispositif d’affichage 30. Le dispositif d’aide 25 est configuré pour générer, à partir du dispositif de génération 20, des règles de pilotage et pour les fournir au dispositif d’affichage 30, comme cela sera détaillé ci-après.
Le dispositif d’aide 25 comprend un module d’acquisition 45, un module d’application 50, un module de formation 55, un module d’affectation 60, un module de transmission 65 et optionnellement un module d’entrainement 70 et un module d’identification 75.
Dans l’exemple de réalisation de la , le module d’acquisition 45, le module d’application 50, le module de formation 55, le module d’affectation 60, le module de fourniture 65, et optionnellement le module d’entraînement 70 et le module d’identification 75, sont réalisés chacun sous forme d’un logiciel, ou d’une brique logicielle, exécutables par un processeur 77. Une mémoire 76 du dispositif d’aide 25 est alors apte à stocker un logiciel d’acquisition, un logiciel d’application, un logiciel de formation, un logiciel de fourniture, et optionnellement un logiciel d’entrainement, et un logiciel d’identification.
En variante non-représentée, le module d’acquisition 45, le module d’application 50, le module de formation 55, le module d’affectation 60, le module de fourniture 65, et optionnellement le module d’entraînement 70 et le module d’identification 75, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglaisField Programmable Gate Array), ou encore d’un circuit intégré, tel qu’un ASIC (de l’anglaisApplication Specific Integrated Circuit).
Lorsque le dispositif d’aide 25 est réalisé sous forme d’un ou plusieurs logiciel(s), c’est-à-dire sous forme d’un programme d’ordinateur, il est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. Sur le support lisible est alors mémorisé un programme d’ordinateur comprenant des instructions logicielles.
Le module d’acquisition 45 est configuré pour acquérir un modèle de pilotage de l’aéronef, une fonction de récompense FR comprenant une contrainte de pilotage, et optionnellement un tableau de correspondance de commandes, un tableau de correspondance d’états, et une fonction de récompense préliminaire FRP ne comprenant pas la contrainte de pilotage et un tableau de correspondance d’effets sur la contrainte de pilotage.
Le modèle de pilotage est propre à recevoir en entrée les variables d’état VEide l’aéronef et à fournir en sortie, les commandes Cide pilotage de l’aéronef. Le modèle de pilotage est par exemple un réseau de neurones artificiels comprenant une couche d’entrée (de l’anglaisinput layer) comportant un nombre de neurones égal au nombre de variables d’état VEi. Le modèle comprend en outre une ou plusieurs couches cachées (de l’anglaishidden layer(s)) comportant respectivement une pluralité de neurones, et une couche de sortie (de l’anglaisoutput layer) comportant un nombre de neurones égal au nombre de commandes de pilotage Ci. Le modèle comprend en outre des connexions entre les neurones des différentes couches successives, chaque connexion ayant un poids réglable, également appelé poids synaptique.
La fonction de récompense est une fonction prenant en entrée les variables d’état VEi, et fournissant en sortie une valeur numérique. La fonction de récompense comprend la contrainte de pilotage représentative d’une intention de pilotage imposant le respect de contrainte(s).
Selon un premier exemple, l’intention de pilotage est un vol responsable de l’environnement. Dans cet exemple, la contrainte de pilotage est une contrainte environnementale.
Selon une deuxième exemple, l’intention de pilotage est un vol au plus court, la contrainte associée étant alors une contrainte de temps de vol.
La fonction de récompense FR s’incrémente, à chacune d’une pluralité d’itérations, d’une grandeur suivante :
où RT est une récompense de trajectoire, par exemple égale à 0 si la position de l’aéronef n’est pas sur un point de passage, 10 si la position de l’aéronef est sur un point de passage, et –2 si l’aéronef a raté le point de passage, c’est-à-dire si la position de l’aéronef est dans un environnement d’un point de passage sans être sur le point de passage, et
ROA est la récompense d’orientation d’accélération, par exemple égale à , où ABS() désigne la fonction valeur absolue et désigne la norme de l’accélération de l’aéronef en prenant en compte la gravité, et
CP est la contrainte de pilotage.
Par exemple, la grandeur désigne la norme de l’accélération selon l’axe reliant le bout de deux ailes de l’aéronef. ROA est donc une contrainte permettant d’éviter des passagers de l’aéronef ne soient pas projetés sur le côté de l’aéronef lors d’un virage. ROA permet donc que l’aéronef ait un comportement plus ou moins réaliste.
Selon le premier exemple, la contrainte de pilotage est par exemple égale à :
est le produit scalaire entre la vitesse de l’avion et la vitesse du vent.
Cette contrainte de pilotage permet donc d’accroitre la valeur de la fonction de récompense lorsque l’aéronef est porté par le vent et que sa consommation de carburant est réduite.
Selon le deuxième exemple, la contrainte de pilotage est par exemple égale à :
est une constante positive.
Selon le deuxième exemple, à chaque itération, la fonction de récompense FR est incrémentée de la valeur . Ainsi, le parcours qui minimise la fonction de récompense est celui qui minimise le nombre d’itérations, i.e. celui qui conduit au vol le plus court.
Le tableau de correspondance de commandes comprend des intervalles de valeurs pour les commandes de pilotage Ci, et associe à chaque intervalle une action de pilotage.
De manière analogue, le tableau de correspondance d’états comprend des intervalles de valeurs pour les variables d’état VEiet associe à chacun desdits intervalles, un état de l’aéronef.
De manière analogue également, le tableau de correspondance d’effets sur la contrainte de pilotage comprend des intervalles de valeurs, pour les valeurs de la contrainte de pilotage CPiet associe à chacun desdits intervalles, un effet à court terme sur la contrainte de pilotage et un effet à long terme sur la contrainte de pilotage.
La fonction de récompense préliminaire FRP est une fonction prenant en entrée les variables d’état VEiet fournissant en sortie une valeur numérique. A titre d’exemple, la fonction de récompense préliminaire FRP s’incrémente elle à chaque itération de la grandeur suivante :
où RT est la récompense de trajectoire définie ci-dessus,
ROA est la récompense d’orientation d’accélération définie ci-dessus, et
RA est une récompense d’alignement, par exemple égale à , où est le produit scalaire entre la vitesse de l’aéronef et la direction entre l’aéronef et le prochain point de passage.
Le module d’application 50 est configuré pour appliquer au modèle de pilotage, un algorithme d’apprentissage par renforcement à partir de la fonction de récompense. En particulier, le module d’application 50 est configuré pour recevoir les variables d’état VEide l’aéronef et déterminer les commandes de pilotage Cià une pluralité d’instants de réception successifs Ti.
A cet effet, le module d’application 50 comprend une première unité de réception 81, une première unité de modification 82, et une première unité de détermination 83.
La première unité de réception 81 est configurée pour recevoir, depuis le dispositif de génération 20, les variables d’état VEide l’aéronef à des instants de réception successifs Ti.
La première unité de modification 82 est configurée pour modifier, pour chaque instant de réception Ti, le modèle à partir d’une évaluation de la fonction de récompense à partir des variables d’état VEi. Pour évaluer la fonction de récompense, la première unité de modification 82 est configurée pour calculer la valeur de contrainte de pilotage à partir des variables d’état VEi, par exemple selon l’une des équations (2) ou (3).
La première unité de modification 82 est en outre configurée pour modifier les poids des connexions du modèle à partir de l’évaluation de la fonction de récompense. Une telle modification est connue de l’homme du métier comme étant une technique classique d’application de l’algorithme d’apprentissage par renforcement.
La première unité de détermination 83 est configurée pour déterminer, pour chaque instant de réception Ti, les commandes de pilotage Cià partir du modèle de pilotage modifié et des variables d’état VEireçues audit instant de réception Ti. Pour cela, la première unité de détermination 83 est configurée pour appliquer le modèle modifié, aux variables d’état reçues VEiet à chaque instant de réception Ti, et pour déterminer les commandes de pilotage Cidudit instant de réception Ticomme étant égales aux valeurs en sortie du modèle modifié.
Optionnellement, le module d’application 50 est configuré pour effectuer un nombre prédéterminé d’itérations, chaque itération comprenant la réception des variables d’état VEide l’aéronef par la première unité de réception 81, la modification du modèle par la première unité de modification 82, et la détermination des commandes de pilotage Cipar la première unité de détermination 83.
Avantageusement, le module d’application 50 est configuré pour ne pas appliquer l’apprentissage par renforcement du modèle de pilotage pour un nombre prédéfini d’itérations. Ainsi, à l’issu du nombre prédéfini d’itérations, les poids de convergence n’ont généralement pas atteint une convergence. Le module d’application 50 est préférentiellement configuré pour effectuer une exploration des trajectoires possibles de l’aéronef en prenant en compte des modifications du modèle à partir de la fonction de récompense, et notamment de la contrainte de pilotage comprise dans la fonction de récompense.
Le module d’application 50 est en outre configuré pour stocker, dans une base de données et pour chaque instant de réception Ti, les variables d’état reçues VEi, les commandes de pilotage déterminées Ci, et préférentiellement les valeurs de la contrainte de pilotage CPicalculées au cours de l’évaluation de la fonction de récompense.
Le module de formation 55 est configuré pour former au moins un groupe de données à partir des variables d’état reçues VEi, des commandes déterminées Ciet optionnellement des valeurs de la contrainte de pilotage calculées CPi. Chaque groupe de données comprend les variables d’état VEi, les commandes de pilotage Ci, et optionnellement les valeurs de la contrainte de pilotage CPicorrespondant à des instants de réception successifs Ti.
Le module de formation 55 est par exemple configuré pour former une pluralité de groupes de données. A titre d’exemple, le module d’application est configuré pour appliquer aux commandes de pilotage déterminées Cipar le module d’application 50, un algorithme de classification, afin de classer, dans des classes prédéfinies CLi, lesdites commandes de pilotage déterminées Cipour chaque instant de réception Ti. Les classes prédéfinies CLisont par exemple comprises dans le tableau de correspondance de commandes.
A cet effet, le module de formation 55 est par exemple configuré pour comparer, pour chaque instant de réception Ti, les commandes de pilotage Ciaux intervalles de valeurs du tableau de correspondance de commandes, afin de déterminer à quelle classe CLicorrespondent les commandes de pilotage Cidudit instant Ti.
Le module de formation 55 est par exemple configuré pour regrouper les commandes de pilotage Ciappartenant à une même classe respective CLiet dont les instants de réception Tiforment une suite d’instants de réception Ticonsécutifs la plus longue possible.
En référence à la , plusieurs commandes de pilotages C1, C2, C3, C4, C5, C22, C23, C2 4, C45, C46, C47appartiennent à une première classe CL1. Ces commandes C1, C2, C3, C4, C5, C22, C23, C2 4, C45, C46, C47correspondent respectivement aux instants de réception Tisuivants : T1, T2, T3, T4, T5, T22, T23, T2 4, T45, T46, T47.Le module de formation 55 est configuré pour alors regrouper entre elles, premièrement les commandes de pilotages suivantes: C1, C2, C3, C4, C5, deuxièmement les commandes de pilotage suivantes : C22, C23, C2 4, et troisièmement les commandes de pilotage suivantes : C45, C46, C47.
Le module de formation 55 est en outre configuré pour former chaque groupe de données comme comprenant une pluralité de commandes Ciregroupées respectives, les variables d’état VEicorrespondantes et optionnellement les valeurs de la contrainte de pilotage correspondantes CPi. On entend par « variables d’état VEicorrespondantes », les variables d’état VEireçues aux instants de réception Ticorrespondant aux commandes Ciregroupées. De manière analogue, on entend par « valeurs de la contrainte de pilotage correspondantes CPi» les valeurs de la contrainte de pilotage CPicalculées pour les instants de réception Ticorrespondant aux commandes Ciregroupées.
Ainsi, dans l’exemple précédent de la , un premier groupe de données comprend les commandes suivantes : C1, C2, C3, C4, C5, les variables d’état VEicorrespondantes : VE1, VE2, VE3, VE4, VE5, et optionnellement les valeurs de la contrainte de pilotage correspondantes : CP1, CP2, CP3, CP4, CP5.
De manière analogue, un deuxième groupe de données comprend les commandes suivantes : C22, C23, C24, les variables d’état VEicorrespondantes : VE22, VE23, VE24, et optionnellement les valeurs de la contrainte de pilotage correspondantes : CP22, CP23, CP24. Un troisième groupe comprend les commandes suivantes : C45, C46, C47, les variables d’état VEicorrespondantes : VE45, VE46, VE47, et optionnellement les valeurs de la contrainte de pilotage correspondantes : CP45, CP46, CP47.
Le module d’affectation 60 est configuré pour affecter, pour le ou chaque groupe de données : au moins un état de l’aéronef aux variables d’état VEi, au moins une action de pilotage aux commandes de pilotage Ciet optionnellement au moins un effet sur la contrainte de pilotage aux valeurs de la contrainte de pilotage CPi.
Le module d’affectation 60 est par exemple configuré pour affecter aux commandes Cide chaque groupe, l’au moins une action à partir du tableau de correspondance de commandes. Le tableau de correspondance de commandes comprend par exemple pour chaque classe prédéfinie CLiau moins une action. Le module d’affectation 60 est préférentiellement configuré pour affecter aux commandes Cide chaque groupe, la ou les actions correspondant à la classe CLide ces commandes Cidans le tableau de correspondance de commandes.
Chaque action est par exemple un libellé textuel décrivant l’action de pilotage effectuée par des commandes de pilotage respectives Ci. A titre d’exemple, les actions sont choisies parmi le groupe consistant en :
- un virage vers la droite de l’aéronef,
- un virage vers la gauche de l’aéronef,
- une trajectoire rectiligne de l’aéronef,
- une ascension de l’aéronef,
- une descente de l’aéronef,
- une accélération de l’aéronef,
- une décélération de l’aéronef, et
- un maintien de la vitesse de l’aéronef.
Il est clair que le module d’affectation 60 est par exemple configuré pour affecter plusieurs actions aux commandes Cid’un groupe de données.
Sur la est représenté un parcours de l’aéronef selon une trajectoire comprenant un premier PP1, un deuxième PP2, un troisième PP3, et un quatrième PP4points de passage. Dans l’exemple de la , une portion 85 en trait pointillé du parcours correspond à un groupe de données.
Dans l’exemple de la , le module d’affectation 60 est par exemple configuré pour affecter aux commandes Cidu groupe correspondant à la portion 85, les actions suivantes: un virage vers la gauche de l’aéronef, une descente de l’aéronef, et une décélération de l’aéronef.
Le module d’affectation 60 est par exemple configuré pour affecter aux variables d’état VEi, l’au moins un état à partir du tableau de correspondance d’états. Chaque état est par exemple un libellé textuel décrivant l’état de l’aéronef en fonction des variables d’état VEidudit aéronef. A titre d’exemple, les états sont choisis parmi le groupe consistant en :
- l’aéronef est très proche du prochain point de passage,
- l’aéronef est proche du prochain point de passage,
- l’aéronef est loin du prochain point de passage,
- l’aéronef est très loin du prochain point de passage,
- l’aéronef est très à gauche du prochain point de passage,
- l’aéronef est légèrement à gauche du prochain point de passage,
- l’aéronef est légèrement à droite du prochain point de passage,
- l’aéronef est très à droite du prochain point de passage,
- l’aéronef est très haut-dessus du prochain point de passage,
- l’aéronef est légèrement au-dessus du prochain point de passage,
- l’aéronef est légèrement en dessous du prochain point de passage,
- l’aéronef est très en dessous du prochain point de passage,
- l’aéronef est très proche du point de passage suivant le prochain point de passage,
- l’aéronef est proche du point de passage suivant le prochain point de passage,
- l’aéronef est loin du point de passage suivant le prochain point de passage,
- l’aéronef est très loin du point de passage suivant le prochain point de passage,
- l’aéronef est très à gauche du point de passage suivant le prochain point de passage,
- l’aéronef est légèrement à gauche du point de passage suivant le prochain point de passage,
- l’aéronef est légèrement à droite du point de passage suivant le prochain point de passage,
- l’aéronef est très à droite du point de passage suivant le prochain point de passage,
- l’aéronef est très haut-dessus du point de passage suivant le prochain point de passage,
- l’aéronef est légèrement au-dessus du point de passage suivant le prochain point de passage,
- l’aéronef est légèrement en dessous du point de passage suivant le prochain point de passage,
- l’aéronef est très en dessous du point de passage suivant le prochain point de passage,
- l’aéronef est très proche du précédent point de passage,
- l’aéronef est proche du précédent point de passage,
- l’aéronef est loin du précédent point de passage,
- l’aéronef est très loin du précédent point de passage,
- l’aéronef est très à gauche du précédent point de passage,
- l’aéronef est légèrement à gauche du précédent point de passage,
- l’aéronef est légèrement à droite du précédent point de passage,
- l’aéronef est très à droite du précédent point de passage,
- l’aéronef est très au-dessus du précédent point de passage,
- l’aéronef est légèrement au-dessus du précédent point de passage,
- l’aéronef est légèrement en dessous du précédent point de passage,
- l’aéronef est très en dessous du précédent point de passage,
- l’angle de roulis est fortement négatif,
- l’angle de roulis est faiblement négatif,
- l’angle de roulis est faiblement positif,
- l’angle de roulis est fortement positif,
- l’angle de tangage est fortement négatif,
- l’angle de tangage est faiblement négatif,
- l’angle de tangage est faiblement positif,
- l’angle de tangage est fortement positif,
- le vent au contact de l’aéronef est très fort,
- le vent au contact de l’aéronef est fort,
- le vent au contact de l’aéronef est faible,
- le vent au contact de l’aéronef est très faible,
- l’aéronef a le vent de face,
- l’aéronef a le vent de derrière,
- l’aéronef a le vent de côté par la droite, et
- l’aéronef a le vent de côté par la gauche.
Le module d’affectation 60 est par exemple configuré en outre pour calculer, pour chaque groupe, une moyenne temporelle de la valeur de chaque variable d’état VEidu groupe. On entend par « moyenne temporelle », la moyenne calculée entre tous les instants de réception Tides variables d’état VEidu groupe.
Le module d’affectation 60 est configuré pour ensuite affecter aux variables d’état VEide chaque groupe, l’au moins un état par comparaison des valeurs moyennes des variables d’état VEiaux intervalles correspondant à chaque état dans le tableau de correspondance d’états.
Il est clair que le module d’affectation 60 est par exemple configuré pour affecter plusieurs états aux variables d’état VEid’un groupe de données.
Dans l’exemple de la , le module d’affectation 60 est par exemple configuré pour affecter aux variables d’état VEidu groupe correspondant à la portion 85, les états suivants: l’aéronef est proche du prochain point de passage, l’aéronef est légèrement au-dessus du prochain point de passage, l’aéronef est légèrement à droite du prochain point de passage, l’aéronef est loin du précédent point de passage, l’aéronef est très au-dessus du précédent point de passage, l’aéronef est très à droite du précédent point de passage, le sinus de l’angle de roulis est fortement négatif, le vent au contact de l’aéronef est faible, et l’aéronef a le vent de face.
Le module d’affectation 60 est en outre configuré pour générer, pour chaque groupe, une règle de pilotage comportant l’au moins un état et l’au moins une action de pilotage, affectés au groupe.
Dans l’exemple de la , la règle de pilotage générée pour la portion 85, est par exemple :
-lorsquel’aéronef est proche du prochain point de passage, l’aéronef est légèrement au-dessus du prochain point de passage, l’aéronef est légèrement à droite du prochain point de passage, l’aéronef est loin du précédent point de passage, l’aéronef est très au-dessus du précédent point de passage, l’aéronef est très à droite du précédent point de passage, le sinus de l’angle de roulis est fortement négatif, le vent au contact de l’aéronef est faible, et l’aéronef a le vent de face,
-effectuer: un virage vers la gauche de l’aéronef, une descente de l’aéronef, et une décélération de l’aéronef.
En complément facultatif, le module d’affectation 60 est en outre configuré pour calculer, pour chaque groupe, une première différence entre la valeur de la contrainte de pilotage CPdau dernier instant de réception Tdparmi les instants de réception Tides variables d’état VEidu groupe de données et la valeur de la contrainte de pilotage CPpau premier instant de réception Tpparmi les instants de réception Tides variables d’état VEidu groupe de données.
Le premier instant de réception Tpest le premier, i.e. le plus ancien des instants de réception Tides variables d’état VEidu groupe. De manière analogue, le denier instant de réception Tdest le dernier, i.e. le plus récent des instants de réception Tides variables d’état VEidu groupe.
Le module d’affectation 60 est configuré pour alors affecter aux valeurs de la contrainte de pilotage CPi, un effet à court terme sur la contrainte de pilotage, à partir de la première différence et du tableau de correspondance de contraintes de pilotage. Chaque effet à court terme est par exemple un libellé textuel décrivant si la ou les actions mises en œuvre, lorsque l’aéronef est dans le ou les états, est positif ou non sur la contrainte de pilotage dans un délai bref. A titre d’exemple, les effets à court terme sont choisis parmi un groupe consistant en :
- un effet à court terme très négatif sur la contrainte de pilotage,
- un effet à court terme négatif sur la contrainte de pilotage,
- un effet à court terme positif sur la contrainte de pilotage, et
- un effet à court terme très positif sur la contrainte de pilotage.
Selon ce même complément facultatif, le module d’affectation 60 est en outre configuré pour calculer, pour chaque groupe, une deuxième différence entre la valeur de la contrainte de pilotage CPfinalà un instant de réception Tfinalpostérieur au dernier instant de réception Tdparmi les instants de réception Tides variables d’état VEidu groupe de données et la valeur de la contrainte de pilotage CPpau premier instant de réception Tpparmi les instants de réception Tides variables d’état VEidu groupe de données. L’instant de réception postérieur Tfinalaudit dernier instant de réception Tdest par exemple le dernier instant de réception Tide la simulation de trajectoire. Autrement dit, ledit instant Tfinalest le dernier instant de réception Tiavant que l’aéronef ne soit repositionné au point initial par le module de génération 20. Sur la , cet instant Tiest celui pour lequel l’aéronef a atteint le quatrième point de passage PP4, ou position finale de la trajectoire.
Le module d’affectation 60 est configuré alors pour affecter, aux valeurs de la contrainte de pilotage CPi, un effet à long terme sur la contrainte de pilotage, à partir de la deuxième différence et du tableau de correspondance de contraintes de pilotage. De manière analogue aux effets à court terme, chaque effet à long terme est par exemple un libellé textuel décrivant si la ou les actions mises en œuvre, lorsque l’aéronef est dans le ou les états, est positif ou non sur la contrainte de pilotage, dans un délai long. A titre d’exemple, les effets à long terme sont choisis parmi le groupe consistant en :
- un effet à long terme très négatif sur la contrainte de pilotage,
- un effet à long terme négatif sur la contrainte de pilotage,
- un effet à long terme positif sur la contrainte de pilotage, et
- un effet à long terme très positif sur la contrainte de pilotage.
Selon ce complément facultatif, le module d’affectation 60 est configuré pour générer, lors de la génération de la règle de pilotage, la règle comprenant en outre l’effet à court terme sur la contrainte de pilotage et l’effet à long terme sur la contrainte de pilotage. Ainsi, dans l’exemple de la , la règle générée pour la portion 85 est par exemple :
-lorsquel’aéronef est proche du prochain point de passage, l’aéronef est légèrement au-dessus du prochain point de passage, l’aéronef est légèrement à droite du prochain point de passage, l’aéronef est loin du précédent point de passage, l’aéronef est très au-dessus du précédent point de passage, l’aéronef est très à droite du précédent point de passage, le sinus de l’angle de roulis est fortement négatif, le vent au contact de l’aéronef est faible, et l’aéronef a le vent de face,
-effectuer: un virage vers la gauche de l’aéronef, une descente de l’aéronef, et une décélération de l’aéronef,
-a un effet sur la contrainte pilotage: très positif à court terme, et négatif à long terme.
Le module de transmission 65 est configuré pour transmettre, au dispositif d’affichage 30, les règles de pilotage en vue de leur affichage à destination du pilote 15 de l’aéronef.
Le module d’entraînement 70 est configuré pour entraîner le modèle de pilotage au suivi de la trajectoire par application d’un algorithme préliminaire d’apprentissage par renforcement au modèle, à partir de la fonction préliminaire de récompense. Le module d’entraînement 70 comprend une deuxième unité de réception 91, une deuxième unité de modification 92, et une deuxième unité de détermination 93.
La deuxième unité de réception 91 est analogue à la première unité de réception 81. Les variables d’état reçues par la deuxième unité de réception 91 sont appelées variables d’état préliminaires dans la présente description. La deuxième unité de réception 91 est alors configurée pour recevoir les variables d’état préliminaires à des instants de réception préliminaires.
La deuxième unité de modification 92 est sensiblement analogue à la première unité de modification 82 à l’exception que la deuxième unité de modification 92 est configurée pour modifier le modèle à partir d’une évaluation de la fonction de récompense préliminaire à la place de la fonction de récompense.
La deuxième unité de détermination 93 est analogue à la première unité de détermination 83. Les commandes de pilotage déterminées par la deuxième unité de détermination 93 est configurée pour déterminer sont appelées commandes préliminaires dans la présente description. La deuxième unité de détermination 93 est alors configurée pour déterminer lesdites commandes préliminaires.
Contrairement au module d’application 50, le module d’entrainement 70 est configuré pour recevoir les variables d’état préliminaires, modifier le modèle et déterminer les commandes préliminaires à plusieurs instants préliminaires successifs jusqu’à ce que l’algorithme préliminaire d’apprentissage par renforcement converge, c’est-à-dire jusqu’à ce que les poids du modèle ne soient plus sensiblement modifiés par la deuxième unité de modification 92. Le modèle est alors dit entrainé.
Le module d’entrainement 70 est en outre configuré pour transmettre, au module d’application 50, le modèle entrainé. Le module d’application 50 est alors configuré pour appliquer l’algorithme d’apprentissage par renforcement au modèle entrainé plutôt qu’au modèle acquis par le module d’acquisition 45.
Le module d’identification 75 est optionnellement configuré pour, si les règles comprennent l’au moins un effet sur la contrainte, identifier au moins une règle principale parmi la pluralité de règles générées. A cet effet, le module d’identification 75 est avantageusement configuré pour appliquer un algorithme d’analyse de fréquence de variables, connu en soi, à partir d’un seuil de support prédéfini et d’un seuil de confiance prédéfini.
Le support quantifie la fréquence d’apparition d’un triplet « état(s), action(s), effet(s) sur la contrainte » parmi l’ensemble des règles. Le support est compris en 0 et 1. Par exemple, si le seuil de support est égal à 0,5, alors chaque triplet « état(s), action(s), effet(s) sur la contrainte » de la ou des règles principales apparait au moins dans 50% des règles de pilotage.
La confiance quantifie la fréquence d’apparition d’un triplet « état(s), action(s), effet(s) sur la contrainte » parmi les règles comprenant le ou lesdits états et la ou lesdites actions. La confiance est comprise entre 0 et 1. Par exemple, si le seuil de confiance est égal à 0,9, alors pour chaque règle principale « état(s), action(s), effet(s) sur la contrainte », la ou les effets sur la contrainte apparaissent dans au moins 90% des règles de pilotage comprenant le ou lesdits états et la ou lesdites actions.
Ainsi, le module d’identification 75 est configuré pour identifier, parmi les règles de pilotage, la ou les règles principales dont le support et la confiance sont supérieurs aux seuils respectifs.
Optionnellement, le module d’identification 75 est en outre configuré pour, si les règles comprennent l’au moins effet sur la contrainte, comparer les effets sur la contrainte de chaque règle principale à un seuil prédéterminé respectif, pour obtenir au moins une règle filtrée. Le seuil prédéterminé est par exemple égal à : effet très positif, effet positif ou effet négatif. Plus spécifiquement, le module d’identification 75 est optionnellement configuré pour sélectionner uniquement les règles principales dont au moins un des effets sur la contrainte de pilotage est supérieur ou égal au seuil prédéterminé. Il est considéré dans la présente description que « très positif est supérieur ou égal à : très positif, positif, négatif, et très négatif », « positif est supérieur ou égal à : positif, négatif, et très négatif » et « négatif est supérieur ou égal à : négatif, et très négatif ».
Si le dispositif d’aide 25 comprend le module d’identification 75, le module de transmission 65 est configuré pour transmettre, au dispositif d’affichage 30, uniquement chaque règle principale ou chaque règle filtrée.
Le dispositif d’affichage 30 est par exemple embarqué dans l’aéronef si l’aéronef est un avion, ou déporté de l’aéronef si l’aéronef est un drone.
Le dispositif d’affichage 30 comprend par exemple un écran d’affichage 95 et optionnellement une unité de traitement 97 connectée à l’écran d’affichage 95.
L’écran d’affichage 95 est par exemple propre à afficher un contenu transmis par l’unité de traitement 97.
L’unité de traitement 97 est configurée pour recevoir, depuis le dispositif d’aide 25, au moins une règle de pilotage. L’unité de traitement 97 est par exemple configurée pour mettre en œuvre un dialogueur (de l’anglaischatbot) propre à interagir avec le pilote 15. L’unité de traitement 97 est configurée pour afficher, sur l’écran d’affichage 95, la ou les règles de pilotage reçues, par exemple suite à une interaction avec le pilote 15.
Le fonctionnement du système d’assistance 10, et plus particulièrement du dispositif d’aide 25, va maintenant être décrit en référence à la représentant un organigramme d’un procédé d’aide au pilotage selon l’invention.
Lors d’une étape d’acquisition 110, le module d’acquisition 45 acquiert le modèle de pilotage de l’aéronef, la fonction de récompense ; ainsi qu’optionnellement le tableau de correspondance de commandes, le tableau de correspondance d’états, la fonction de récompense préliminaire et le tableau de correspondance d’effets sur la contrainte de pilotage.
Optionnellement, lors d’une étape 120 d’entrainement du modèle, le module d’entrainement 70 applique au modèle l’algorithme préliminaire d’apprentissage par renforcement, afin de l’entrainer au suivi de la trajectoire.
Pour cela, lors d’une première sous-étape de réception 122, la deuxième unité de réception 91 reçoit, depuis le dispositif de génération 20 et aux instants de réception préliminaires, les variables d’état préliminaires de l’aéronef.
Pour chaque instant de réception préliminaire, lors d’une première sous-étape de modification 124, la deuxième unité de modification 92 évalue la fonction de récompense préliminaire à partir des variables d’état préliminaires reçues, par exemple à l’aide de l’équation (4) précédente. La deuxième unité de modification 92 modifie ensuite les poids du modèle, en fonction de la valeur de la fonction de récompense préliminaire, selon une technique connue en soi.
Pour chaque instant de réception préliminaire, lors d’une première sous-étape de détermination 126, la deuxième unité de détermination 93 détermine les commandes préliminaires, par exemple en appliquant le modèle modifié aux variables d’état préliminaires reçues.
Pour chaque instant de réception préliminaire, le module d’entrainement 70 transmet au dispositif de génération 20, les commandes préliminaires déterminées. Le module d’entrainement 70 attend ensuite de recevoir, depuis le dispositif de génération 20, les variables d’état préliminaires de l’aéronef à l’instant de réception préliminaire suivant. Puis, le module d’entrainement 70 réitère les premières sous-étapes de réception 122, de modification 124 et de détermination 126.
Lors de l’étape d’entrainement 120, les sous-étapes de réception 122, de modification 124 et de détermination 126 sont réitérées jusqu’à atteindre la convergence du modèle.
A l’issue de l’étape d’entrainement 120, le modèle est entrainé pour le suivi de la trajectoire.
Puis, lors d’une étape d’application 130, le module d’application 50 applique au modèle entrainé l’algorithme d’apprentissage par renforcement.
Pour cela, lors d’une deuxième sous-étape de réception 132, la première unité de réception 81 reçoit, depuis le dispositif de génération 20 et aux instants Tide réception successifs, les variables d’état VEide l’aéronef.
Puis, pour chaque instant de réception Ti, lors d’une deuxième sous-étape de modification 134, la première unité de modification 82 évalue la fonction de récompense à partir des variables d’états VEireçues, par exemple selon l’équation (1). A cet effet, la première unité de modification 82 calcule la valeur de la contrainte de pilotage CPi, par exemple selon l’une des équations (2) ou (3). Ensuite, de manière analogue à la première sous-étape de modification 124, la première unité de modification 82 modifie les poids du modèle entrainé selon une technique connue en soi.
Pour chaque instant de réception Ti, lors d’une deuxième sous-étape de détermination 136, la première unité de détermination 83 détermine les commandes de pilotage Cien appliquant le modèle modifié aux variables d’état VEi, par exemple de manière analogue à ce qui est effectué lors de la première sous-étape de détermination 126.
Lors de l’étape d’application 130, pour chaque instant de réception Ti, le module d’application 50 transmet au dispositif de génération 20, les commandes de pilotage Cidéterminées. Le module d’application 50 attend ensuite de recevoir, depuis le dispositif de génération 20, les variables d’état VEide l’aéronef à l’instant de réception Tisuivant. Puis, le module d’application 50 réitère les deuxièmes sous-étapes de réception 132, de modification 134 et de détermination 136.
Pour chaque instant de réception Ti, les variables d’état VEireçues, les commandes de pilotages Cidéterminées, et avantageusement la valeur de la contrainte de pilotage CPicalculée, sont stockées dans la base de données.
Lors de l’étape d’application 130, les deuxièmes sous-étapes de réception 132, de modification 134 et de détermination 136 sont réitérées jusqu’à atteindre le nombre prédéfini d’itérations.
Alternativement, si le procédé ne comprend pas l’étape facultative d’entrainement 120, le module d’application 50 applique, lors de l’étape d’application 130, l’algorithme d’apprentissage par renforcement au modèle acquis lors de l’étape d’acquisition 110.
Lors d’une étape de formation 140, le module de formation 55 forme au moins un groupe comprenant, pour des instants de réception Ticonsécutifs, les variables d’état VEireçues, les commandes de pilotage Cidéterminées ; et optionnellement les valeurs calculées de la contrainte de pilotage CPi.
A cet effet, le module de formation 55 compare par exemple, les commandes de pilotage Cidéterminées pour chaque instant de réception Ti, aux intervalles de valeurs du tableau de correspondance de commandes, afin de déterminer à quelle classe CLicorrespondent les commandes de pilotage Cidéterminées audit instant Ti.
Puis, le module de formation 55 regroupe les commandes de pilotage Ciappartenant à une même classe respective CLiet déterminées pour les instants de réception Tiformant la suite la plus longue possible d’instants de réception Ticonsécutifs.
Puis, le module de formation 55 forme chaque groupe en incluant les commandes de pilotages Ciregroupées, les variables d’état VEicorrespondantes ; et optionnellement les valeurs de contrainte de pilotage CPicorrespondantes.
Lors d’une étape d’affectation 150, le module d’affectation 60 affecte, pour chaque groupe, au moins une action aux commandes de pilotage Cidu groupe, par exemple en comparant les commandes de pilotage Ciaux intervalles de valeurs du tableau de correspondance d’actions.
Le module d’affectation 60 affecte également, pour chaque groupe, au moins un état aux variables d’état VEidu groupe. Pour cela, le module d’affectation calcule par exemple la moyenne temporelle de la valeur de chaque variable d’état VEidu groupe et compare chaque moyenne temporelle aux intervalles de valeurs du tableau de correspondance d’états.
Si chaque groupe comprend en outre les valeurs de la contrainte de pilotage CPi, le module d’affectation 60 calcule, pour chaque groupe, la première et la deuxième différence comme décrit précédemment. Le module d’affectation 60 affecte ensuite aux valeurs de la contrainte de pilotage CPi, l’effet à court terme sur la contrainte et l’effet à long terme sur la contrainte, en comparant les première et deuxième différences aux intervalles de valeurs du tableau de correspondance d’effets sur la contrainte.
Le module d’affectation 60 génère alors, pour chaque groupe, une règle en y incluant le ou les états du groupe, la ou les actions du groupe ; et optionnellement l’effet à court terme sur la contrainte et l’effet à long terme sur la contrainte du groupe.
En complément facultatif, si les règles comprennent au moins un effet respectif sur la contrainte de pilotage, le module d’identification 75 identifie, lors d’une étape d’identification 160, l’au moins une règle principale parmi les règles générées. Par exemple, le module d’identification 75 applique aux règles générées l’algorithme d’analyse de fréquence de variables, défini ci-dessus.
Lors de l’étape d’identification 160, le module d’identification 75 compare facultativement les effets sur la contrainte de pilotage compris dans chaque règle principale au seuil prédéterminé, pour obtenir au moins une règle filtrée. Ainsi, seules les règles principales ayant un effet sur la contrainte très positif, au moins positif ou au moins négatif font par exemple partie des règles filtrées.
Lors d’une étape de transmission 170, le module de transmission 65 transmet au dispositif d’affichage 30 les règles générées ; ou le cas échéant l’au moins une règle principale ou l’au moins une règle filtrée.
Puis, le dispositif d’affichage 30 affiche, à destination du pilote 15, les règles qui lui ont été transmises par le module de transmission 65.
Par exemple, au cours du vol de l’aéronef, le pilote 15 interagit avec le dialogueur mis en œuvre par l’unité de traitement 97, pour connaitre le ou les effets sur la contrainte de pilotage de la mise en œuvre d’une ou plusieurs actions de pilotage respectives dans le ou les états dans lesquels se trouve l’aéronef. L’unité de traitement 97 commande alors l’affichage sur l’écran d’affichage 95, de tout ou partie de la règle de pilotage comprenant la ou lesdites actions et le ou lesdits états.
Avec le procédé d’aide selon l’invention, les règles de pilotage générées sont alors certifiables.
En outre, grâce à l’algorithme d’apprentissage par renforcement, le procédé est capable de générer un grand nombre de règles de pilotage sans qu’une intervention humaine ne soit nécessaire. Ainsi, le risque que le pilote 15 soit confronté à un état de l’aéronef absent des règles de pilotage Ciest limité.
De plus, la détermination des commandes de pilotage Ciselon l’algorithme d’apprentissage par renforcement permet de déterminer des commandes de pilotage qui n’auraient pas été prises en considération par un opérateur humain, conduisant à la génération de règles supplémentaires qu’un opérateur humain n’aurait pas envisagées.
L’étape de formation 140 permet de former des groupes de données suffisamment petits, i.e. réduits, pour qu’à chaque groupe puisse correspondre une action ou plusieurs actions réalisées simultanément. En outre, l’étape de formation 140 permet de former des groupes de données suffisamment grands, i.e. importants, pour que la ou les actions affectées aux commandes Cidudit groupe aient un effet quantifiable sur la contrainte de pilotage.
En outre, l’étape facultative d’entrainement 120 permet de fournir en entrée de l’étape d’application 130, le modèle de pilotage entrainé au suivi de la trajectoire. Or, le suivi de la trajectoire est la mission principale de l’aéronef. Ainsi, lors de l’étape d’application 130, le modèle continuera à suivre sensiblement la trajectoire, tout en introduisant de légères variations de direction ayant un effet sensiblement positif sur la contrainte de pilotage.
L’étape facultative d’identification 160 permet d’extraire depuis les règles générées, uniquement les actions et états les plus représentatifs, c’est-à-dire, ceux qui ont été le plus souvent rencontrés, i.e. les plus fréquents, et dans lesquels le pilote 15 peut avoir confiance. De plus, cette étape 160 permet de limiter le nombre de règles à transmettre au dispositif d’affichage 30, tout en conservant les éléments principaux des règles générées.

Claims (11)

  1. Procédé d’aide au pilotage d’un aéronef, le procédé étant mis en œuvre par un dispositif électronique d’aide au pilotage et comprenant les étapes suivantes :
    - acquisition (110) d’un modèle de pilotage de l’aéronef et d’une fonction de récompense (FR) comportant une contrainte de pilotage (CP),
    - application (130), au modèle de pilotage, d’un algorithme d’apprentissage par renforcement à partir de la fonction de récompense (FR), l’étape d’application (130) comportant les sous-étapes suivantes :
    + une réception (122) de variable(s) d’état (VEi) de l’aéronef à des instants de réception (Ti),
    + pour chaque instant de réception (Ti), une modification (124) du modèle à partir d’une évaluation de la fonction de récompense (FR) à partir de la ou des variables d’état (VEi) reçues audit instant de réception (Ti), et
    + pour chaque instant de réception (Ti), une détermination (126) de commandes de pilotage (Ci) à partir du modèle de pilotage modifié et des variables d’état (VEi) reçues audit instant (Ti),
    - formation (140) de groupe(s) de données à partir des variables d’état reçues (VEi) et des commandes déterminées (Ci), chaque groupe de données comprenant les variables d’état (VEi) et les commandes (Ci) correspondant à une pluralité d’instants de réception successifs (Ti),
    - pour le ou chaque groupe de données, affectation (150) d’au moins un état de l’aéronef aux variables d’état (VEi) et d’au moins une action de pilotage aux commandes (Ci), pour générer une règle de pilotage comportant l’au moins un état et l’au moins une action de pilotage,
    - transmission (170) d’au moins une règle de pilotage à un dispositif d’affichage en vue de son affichage à destination d’un pilote (15) de l’aéronef.
  2. Procédé selon la revendication 1, dans lequel,
    lors de l’étape d’application (130), pour chaque instant de réception (Ti), une valeur de la contrainte de pilotage (CPi) est calculée au cours de l’évaluation de la fonction de récompense,
    lors de l’étape de formation de groupe(s), chaque groupe de données comprend en outre les valeurs de la contrainte de pilotage (CPi) associées aux variables d’état (VEi) et aux commandes (Ci),
    lors de l’étape d’affectation, pour le ou chaque groupe, au moins un effet sur la contrainte est affecté aux valeurs de la contrainte de pilotage (CPi) du groupe, chaque règle comprenant en outre l’au moins un effet sur la contrainte.
  3. Procédé selon la revendication précédente, dans lequel lors de l’étape d’affectation (150) une pluralité de règles est formée, le procédé comprenant en outre entre l’étape d’affectation (150) et l’étape de fourniture, une étape d’identification (160) de règle(s) principale(s) parmi la pluralité de règles de pilotage générées par application d’un algorithme d’analyse de fréquences de variables,
    lors de l’étape de transmission (170), seule(s) la ou les règles principales étant transmises.
  4. Procédé selon les revendication 2 et 3, dans lequel l’étape d’identification (160) comprend en outre la comparaison du ou des effets sur la contrainte de chaque règle principale à un seuil prédéterminé pour obtenir au moins une règle filtrée, chaque règle filtrée étant une règle principale respective comprenant au moins un effet sur la contrainte supérieur ou égal au seuil,
    lors de l’étape de transmission (170), seule(s) la ou les règles filtrées étant de préférence fournies en vue de leur affichage à destination du pilote (15) de l’aéronef.
  5. Procédé selon l’une quelconque des revendications 2 à 4, dans lequel l’étape d’affectation (150) comprend pour chaque groupe de données :
    - un calcul d’une première différence entre la valeur de la contrainte de pilotage (CPd) au dernier instant de réception (Td) parmi les instants de réception (Ti) des variables d’état (VEi) du groupe de données, et la valeur de contrainte de pilotage (CPp) au premier instant de réception (Tp) parmi les instants de réception (Ti) des variables d’état (VEi) du groupe de données,
    - un calcul d’une deuxième différence entre la valeur de la contrainte de pilotage (CPfinal) à un instant de réception (Tfinal) postérieur au dernier instant de réception (Td) parmi les instants de réception (Ti) des variables d’état (VEi) du groupe de données, et la valeur de contrainte de pilotage (CPp) au premier instant de réception (Tp) parmi les instants de réception (Ti) des variables d’état (VEi) du groupe de données,
    - une affectation, aux valeurs de la contrainte de pilotage (CPi), d’un effet à court terme sur la contrainte de pilotage, à partir de la première différence et d’un tableau de correspondance de contraintes de pilotage, et
    - une affectation, aux valeurs de la contrainte de pilotage (CPi), d’un effet à long terme sur la contrainte de pilotage, à partir de la deuxième différence et du tableau de correspondance de contraintes de pilotage.
  6. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’étape de formation (140) comprend :
    - classification des commandes de pilotage déterminées (Ci) parmi une pluralité de classes (CLi) prédéfinies et via un tableau de correspondance de commandes,
    - pour chaque classe (CLi), regroupement des commandes de pilotage (Ci) appartenant à ladite classe (CLi) et déterminées pour les instants de réception (Ti) formant une suite d’instants de réception (Ti) consécutifs la plus longue possible, pour former au moins un ensemble de commandes (Ci) regroupées, et
    - pour chaque ensemble de commandes (Ci) regroupées, formation d’un groupe respectif comprenant les commandes (Ci) dudit ensemble et les variables d’état (VEi) reçues aux instants de réception (Ti) pour lesquels lesdites commandes (Ci) ont été déterminées.
  7. Procédé selon l’une quelconque des revendications précédentes, dans lequel lors de l’étape d’acquisition (110), une fonction de récompense préliminaire (FRP) est acquise,
    le procédé comprenant en outre, entre l’étape d’acquisition (110) et l’étape d’application (130), une étape d’entrainement (120) du modèle par application d’un algorithme préliminaire d’apprentissage par renforcement sur le modèle de pilotage à partir de la fonction de récompense préliminaire (FRP),
    l’étape d’entrainement (130) comportant une modification (134) du modèle à partir d’une évaluation de la fonction de récompense préliminaire (FRP).
  8. Procédé selon l’une quelconque des revendications précédentes, dans lequel les variables d’état (VEi) sont choisies parmi le groupe consistant en : un angle de roulis de l’aéronef, un angle de tangage de l’aéronef, un angle de lacet de l’aéronef, une vitesse de l’aéronef, une accélération de l’aéronef, une vitesse du vent au contact de l’aéronef, une orientation du vent par rapport à l’aéronef, et une position de l’aéronef.
  9. Produit programme d’ordinateur comprenant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par un ordinateur, mettent en œuvre un procédé selon l’une quelconque des revendications précédentes.
  10. Dispositif électronique (25) d’aide au pilotage d’un aéronef, comprenant :
    - un module d’acquisition (45) configuré pour acquérir un modèle de pilotage de l’aéronef et une fonction de récompense comprenant une contrainte de pilotage,
    - un module d’application (50) configuré pour appliquer au modèle de pilotage, un algorithme d’apprentissage par renforcement à partir de la fonction de récompense, le module d’application comportant :
    + une unité de réception (81) configurée pour recevoir au moins une variable d’état (VEi) de l’aéronef à des instants de réception (Ti),
    + une unité de modification (82) configurée pour modifier, pour chaque instant de réception (Ti), le modèle à partir d’une évaluation de la fonction de récompense à partir de la ou des variables d’état (VEi), et
    + une unité de détermination (83) configurée pour déterminer, pour chaque instant de réception (Ti), des commandes de pilotage (Ci) à partir du modèle de pilotage modifié et des variables d’état (VEi) reçues audit instant de réception (Ti),
    - un module de formation (55) configuré pour former au moins un groupe de données à partir des variables d’état reçues (VEi) et des commandes déterminées (Ci), chaque groupe de données comprenant les variables d’état (Vi) et les commandes déterminée (Ci) correspondant à une pluralité d’instants de réceptions successifs (Ti),
    - un module d’affectation (60) configuré pour affecter, pour le ou chaque groupe de données, au moins un état de l’aéronef aux variables d’état reçues (VEi) et au moins une action de pilotage aux commandes déterminées (Ci), et pour générer une règle de pilotage comportant l’au moins un état et l’au moins une action de pilotage, et
    - un module de transmission (65) configuré pour transmettre, à un dispositif d’affichage (30), au moins une règle de pilotage en vue de son affichage à destination d’un pilote (15) de l’aéronef.
  11. Système (10) d’assistance au pilotage d’un aéronef comprenant un dispositif électronique d’aide au pilotage (25) selon la revendication précédente et un dispositif d’affichage (30) configuré pour recevoir au moins une règle de pilotage depuis le dispositif d’aide au pilotage (25) et pour afficher ladite règle à destination du pilote (15) de l’aéronef.
FR2113848A 2021-12-17 2021-12-17 Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés Pending FR3130956A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2113848A FR3130956A1 (fr) 2021-12-17 2021-12-17 Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés
EP22835436.1A EP4449391A2 (fr) 2021-12-17 2022-12-15 Procédé d'aide au pilotage d'un aéronef, dispositif électronique d'aide au pilotage et système d'assistance associés
PCT/EP2022/086202 WO2023111205A2 (fr) 2021-12-17 2022-12-15 Procédé d'aide au pilotage d'un aéronef, dispositif électronique d'aide au pilotage et système d'assistance associés

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2113848A FR3130956A1 (fr) 2021-12-17 2021-12-17 Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés
FR2113848 2021-12-17

Publications (1)

Publication Number Publication Date
FR3130956A1 true FR3130956A1 (fr) 2023-06-23

Family

ID=81345944

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2113848A Pending FR3130956A1 (fr) 2021-12-17 2021-12-17 Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés

Country Status (3)

Country Link
EP (1) EP4449391A2 (fr)
FR (1) FR3130956A1 (fr)
WO (1) WO2023111205A2 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190005828A1 (en) * 2017-06-29 2019-01-03 The Boeing Company Method and system for autonomously operating an aircraft
WO2020079702A1 (fr) * 2018-10-18 2020-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Vol en formation de véhicules aériens sans pilote
US20200312163A1 (en) * 2019-03-26 2020-10-01 Sony Corporation Concept for designing and using an uav controller model for controlling an uav
US20210124352A1 (en) * 2019-10-29 2021-04-29 Loon Llc Systems and Methods for Navigating Aerial Vehicles Using Deep Reinforcement Learning
FR3103615A1 (fr) * 2019-11-25 2021-05-28 Thales Dispositif et procede d'aide a la decision pour la gestion de conflits aeriens

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190005828A1 (en) * 2017-06-29 2019-01-03 The Boeing Company Method and system for autonomously operating an aircraft
WO2020079702A1 (fr) * 2018-10-18 2020-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Vol en formation de véhicules aériens sans pilote
US20200312163A1 (en) * 2019-03-26 2020-10-01 Sony Corporation Concept for designing and using an uav controller model for controlling an uav
US20210124352A1 (en) * 2019-10-29 2021-04-29 Loon Llc Systems and Methods for Navigating Aerial Vehicles Using Deep Reinforcement Learning
FR3103615A1 (fr) * 2019-11-25 2021-05-28 Thales Dispositif et procede d'aide a la decision pour la gestion de conflits aeriens

Also Published As

Publication number Publication date
WO2023111205A3 (fr) 2023-08-10
WO2023111205A2 (fr) 2023-06-22
EP4449391A2 (fr) 2024-10-23

Similar Documents

Publication Publication Date Title
US7931231B2 (en) Engine anticipation for rotary-wing aircraft
EP3517442B1 (fr) Méthode de détection de conditions givrantes pour un aéronef par apprentissage automatique supervisé
US8521341B2 (en) Methods and systems for fault determination for aircraft
FR3043456A1 (fr) Procede et dispositif pour generer une trajectoire verticale optimale destinee a etre suivie par un aeronef.
FR2935521A1 (fr) Procede de verification de la coherence des parametres de decollage d'un aeronef avec une longueur de piste disponible
FR2891051A1 (fr) Procede et dispositif pour realiser au moins un essai en vol sur un aeronef et applications
CN110879602B (zh) 基于深度学习的无人机控制律参数调节方法及系统
FR3018364A1 (fr) Procede de determination d'une loi de guidage d'evitement d'obstacle par un aeronef, produit programme d'ordinateur, systeme electronique et aeronef associes
EP3588387B1 (fr) Procédé de test d'un système électronique de contrôle du trafic aérien, dispositif électronique et plate-forme associés
FR3069947A1 (fr) Procede et dispositif de surveillance de la position d'un aeronef suiveur par rapport a un aeronef meneur lors d'un vol en formation.
FR3130956A1 (fr) Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés
CA3121061C (fr) Procede et systeme de controle d'un niveau d'endommagement d'au moins une piece d'aeronef, aeronef associe
US20230259826A1 (en) Methods and apparatuses for estimating an environmental condition
EP3722830B1 (fr) Dispositif d'identification d'un type d'aéronef, procédé d'identification et programme d'ordinateur associés
EP3853087B1 (fr) Procede de fabrication d'un système de freinage d'un vehicule ayant recours a de la logique floue
FR2754364A1 (fr) Procede et dispositif de guidage vertical d'un aeronef
EP0282372B1 (fr) Système autonome de mesure cinématique pour hélicoptère
EP1527998B1 (fr) Procédé et dispositif d'optimisation de la quantité de carburant transféré sur un aéronef, lors d'au moins un transfert de carburant en vol
CA2643974A1 (fr) Procede et dispositif de pilotage d'un aeronef autour d'un axe de pilotage
WO2022117875A1 (fr) Système et procédé de contrôle de véhicule à base d'apprentissage machine
EP3730401B1 (fr) Systeme de freinage automatique d'un aeronef
EP2038613B1 (fr) Convertisseur de commande de facteur de charge en consigne d'ecart d'assiette longitudinale
EP4147106A1 (fr) Procédé de contrôle d'un robot-aéronef et système de contrôle correspondant
CN114026574A (zh) 在监控是否离开训练的应用范围的情况下运行可训练模块
WO2024218118A1 (fr) Procédé et dispositif électronique d'aide au pilotage d'un aéronef via la surveillance d'au moins un critère opérationnel, programme d'ordinateur et aéronef associés

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230623

PLFP Fee payment

Year of fee payment: 3