FR 3117236 A1 20220610 FR 2012758 A 20201207 Procédé, et système électronique, d’élaboration d’un module de navigation d’un drone autonome à base de règles de navigation, module de navigation d’un drone autonome Procédé d’élaboration d’un module (22) de navigation d’un drone autonome (1) comprenant : sélection d’une action (A t ) parmi une action déterminée par un apprentissage automatique par renforcement et une action de navigation (A t, 2 ) déterminée par un module à base de règles en fonction d’une première valeur d’état de l’environnement courant reçu ; actualisation de l’apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle ; et/ou pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , remplacement de ladite règle donnée par une règle modifiée. Figure pour l'abrégé : Figure 1 Procédé, et système électronique, d’élaboration d’un module de navigation d’un drone autonome à base de règles de navigation, module de navigation d’un drone autonome Le pilotage de drone peut être classé selon trois catégories : les drones pilotés à distance, les drones semi-autonomes et les drones complètement autonomes. La présente invention concerne plus spécifiquement la navigation autonome de drone, via l’élaboration de modèle de navigation complètement autonome. Les drones autonomes sont particulièrement utiles dans nombres de types de missions : surveillance, prise d’information, inspection, sauvetage, etc. Une définition précise de ce qui est entendu par drone autonome pourra être trouvée ici, par exemple : https://en.m.wikipedia.org/wiki/Unmanned_aerial_vehicle. Les premières technologies mises au point pour la navigation de drone reposent sur des algorithmes de parcours de graphes. Ces méthodes nécessitent une connaissance complète de l’environnement via une carte qui est pré construite, mise en mémoire. Plusieurs technologies d’intelligence artificielle ont permis de limiter le besoin de connaissance au seul environnement proche du drone : Les systèmes experts : ces systèmes contiennent les règles de navigation préalablement définies par les experts du domaine et sont implémentées sous forme de code dans l’unité de calcul du drone. Ces règles définissent les actions de navigation à effectuer par le drone en fonction des états des capteurs ou de toute donnée exploitable par le drone. Souvent basé sur des équations physiques/mathématiques ou des modèles de contrôle type PD, PI et PID. Les modèles d’apprentissage automatique : ces systèmes passent par une phase d’apprentissage pour apprendre les actions de navigation que le drone doit effectuer en fonction des états des capteurs ou de toute donnée exploitable par le drone. Dans le cas des systèmes experts, les jeux de règles mis au point par les experts peuvent souffrir de certaines faiblesses. Il se peut que les règles ne soient pas complètes ou que certaines règles soient fausses. Dans le cadre des modèles créés par apprentissage automatique, ce sont des systèmes boite noire qui souffrent d’un manque d’interprétabilité et d’explicabilité. Or ces propriétés sont essentielles dans les systèmes critiques pour comprendre les décisions prises par le système, notamment en cas de problèmes Il existe donc un besoin de disposer d’une solution de navigation de drone autonome qui soit performante, explicable et interprétable, et ainsi plus aisément certifiable. A cet effet, suivant un premier aspect, l’invention propose un procédé d’élaboration d’un module de navigation d’un drone autonome à base de règles de navigation caractérisé en ce qu’il est mis en œuvre par un système électronique comprenant : - un module d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, et en ce que les étapes suivantes sont mises en œuvre de façon itérative : i. réception d’une première valeur de l’état courant de l’environnement du drone ; ii. détermination, par le module d’apprentissage automatique par renforcement, d’une ou plusieurs premières actions de navigation en fonction de ladite première valeur d’état courant reçu et détermination par le module à base de règles d’une ou plusieurs deuxièmes actions de navigation en fonction de ladite première valeur d’état courant reçu ; iii. sélection, par ledit système, d’une action parmi lesdites premières et deuxièmes actions ; iv. actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. mise à jour des règles du module à base de règles, ladite mise à jour comprenant au moins l’une des étapes suivantes : v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , on remplace, dans la base de règles, ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. L’invention repose sur une architecture qui hybride l’apprentissage par renforcement et les systèmes à base de règles pour extraire un modèle de navigation sous forme de jeu de règles. L’invention permet la mise au point d’un système de navigation qui soit à la fois autonome, interprétable, explicable et donc, par extension, plus facile à certifier. Les règles générées lors de la phase d’apprentissage reposent sur la définition des états de l’environnement et des actions possibles du drone. Elles sont donc plus facilement interprétables et explicables que des systèmes boîtes noires qui sont actuellement la majorité des modèles de navigation créés à partir de techniques d’intelligence artificielle. Le jeu de règles est ensuite utilisé par le drone pour gérer sa navigation et sa mission de manière générale. Dans des modes de réalisation, un procédé suivant l’invention comporte en outre une ou plusieurs des caractéristiques suivantes : - la détermination par le module d’apprentissage par renforcement de ladite, ou desdites, premières actions de navigation en fonction de ladite première valeur d’état courant reçue est fonction des valeurs courantes de paramètres d’évaluation associés aux couples respectifs (première valeur d’état courant, action) et qui évaluent la pertinence d’effectuer ladite action dans ledit état ; - l’actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement comprend une actualisation de la valeur du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) en fonction de la deuxième valeur d’état courant de l’environnement obtenue ; et - la pertinence de la règle, respectivement de la règle modifiée, est évaluée en fonction des paramètres d’évaluation associés aux couples respectifs (état, action) tel que l’état vérifie la condition de la règle, respectivement la condition de la règle modifiée, et l’action est l’action de ladite règle qui est aussi celle de la règle modifiée ; à l’étape v.i, ladite nouvelle règle n’est créée que si elle vérifie un critère d’utilité déterminé en fonction d’au moins ladite valeur actualisée du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) ; ladite étape de sélection de l’action comprend les étapes suivantes : pour chacune desdites actions parmi lesdites premières et deuxièmes actions, calcul d’une note associée à ladite action et égale à une somme pondérée de la valeur courante du paramètre d’évaluation associé au couple (première valeur d’état courant, ladite action) et de k, où k prend la valeur 1 si ladite action fait partie des premières actions et prend la valeur 0 si ladite action ne fait pas partie des premières actions, les poids respectifs étant des valeurs prédéfinies. Suivant un deuxième aspect, la présente invention propose un module de navigation d’un drone autonome à base de règles de navigation, ledit module de navigation étant caractérisé en ce qu’il est généré par un système électronique d’élaboration d’un module de règles de navigation d’un drone autonome comprenant : - un module d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, tel que de manière itérative : i. ledit système reçoit une première valeur de l’état courant de l’environnement du drone ; ii. le module d’apprentissage automatique par renforcement détermine une ou plusieurs premières actions de navigation en fonction de ladite première valeur d’état courant reçu et le module à base de règles détermine une ou plusieurs deuxièmes actions de navigation en fonction de ladite première valeur d’état courant reçu ; iii. ledit système sélectionne une action parmi lesdites premières et deuxièmes actions ; iv. le module d’apprentissage par renforcement actualise son apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. ledit système met à jour les règles du module à base de règles, de la manière suivante v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; et/ou v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée, remplacement, dans la base de règles, de ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. Suivant un troisième aspect, la présente invention propose un système électronique d’élaboration d’un module de règles de navigation d’un drone autonome comprenant : - un module d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, i. ledit système est adapté pour itérativement recevoir une première valeur de l’état courant de l’environnement du drone ; ii. le module d’apprentissage automatique par renforcement est adapté pour itérativement déterminer une ou plusieurs premières actions de navigation en fonction de ladite première valeur d’état courant reçu et le module à base de règles est adapté pour itérativement déterminer une ou plusieurs deuxièmes actions de navigation en fonction de ladite première valeur d’état courant reçu ; iii. ledit système est adapté pour itérativement sélectionner une action parmi lesdites premières et deuxièmes actions ; iv. le module d’apprentissage par renforcement est adapté pour itérativement actualiser son apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. ledit système est adapté pour itérativement mettre à jour les règles du module à base de règles, de la manière suivante v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; et/ou v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , remplacement, dans la base de règles, de ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. Dans des modes de réalisation, le système électronique d’élaboration d’un module de règles de navigation d’un drone autonome selon l’invention comporte en outre l’une au moins des caractéristiques suivantes : - la détermination par le module d’apprentissage par renforcement de ladite, ou desdites, premières actions de navigation en fonction de ladite première valeur d’état courant reçue est fonction des valeurs courantes de paramètres d’évaluation associés aux couples respectifs (première valeur d’état courant, action) et qui évaluent la pertinence d’effectuer ladite action dans ledit état ; - l’actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement comprend une actualisation de la valeur du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) en fonction de la deuxième valeur d’état courant de l’environnement obtenue ; et - la pertinence de la règle, respectivement de la règle modifiée, est évaluée en fonction des paramètres d’évaluation associés aux couples respectifs (état, action) tel que l’état vérifie la condition de la règle, respectivement la condition de la règle modifiée, et l’action est l’action de ladite règle qui est aussi celle de la règle modifiée ; - dans la mise à jour par ledit système des règles du module à base de règles, s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors il y a création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée, le système n’étant adapté pour créer ladite nouvelle règle que si elle vérifie un critère d’utilité déterminé en fonction d’au moins ladite valeur actualisée du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) ; - lors de la sélection de l’action, le système est adapté pour calculer pour chacune desdites actions parmi lesdites premières et deuxièmes actions, une note associée à ladite action et égale à une somme pondérée de la valeur courante du paramètre d’évaluation associé au couple (première valeur d’état courant, ladite action) et de k, où k prend la valeur 1 si ladite action fait partie des premières actions et prend la valeur 0 si ladite action ne fait pas partie des premières actions, les poids respectifs étant des valeurs prédéfinies. Ces caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple, et faite en référence aux dessins annexés, sur lesquels : la représente une vue schématique d’un système de navigation autonome d’un drone dans un mode de réalisation de l’invention ; la représente un système d’élaboration d’un module de règles pour le système de navigation autonome d’un drone de la ; la est un organigramme d’étapes mises en œuvre dans un mode de réalisation de l’invention ; la illustre un environnement d’un drone autonome considéré dans un mode de réalisation de l’invention ; la illustre les actions du drone autonome considéré en . La représente une vue schématique d’un système de navigation 20 autonome d’un drone 1 dans un mode de réalisation de l’invention. Ce système de navigation, embarqué à bord du drone au cours de la mission opérationnelle de celui-ci, comporte un ensemble 21 de capteurs, un module de navigation MOD NAV 22 et un ensemble d’effecteurs 23. L’ensemble 21 de capteurs comprennent des capteurs de grandeurs physiques représentatives de l’environnement du drone 1 ou de dérivées temporelles de ces grandeurs physiques, par exemple, de distance, de rotation (angles roulis, lacet, cap), de température, d’humidité, de pression etc. L’ensemble d’effecteurs 23 comprend par exemple un ensemble de moteur(s), entraînant un ensemble d’hélice(s), des gouvernes, etc. L’ensemble de capteurs 21 est adapté pour déterminer l’état de l’environnement du drone 1 et le fournir au module de navigation MOD NAV 22. L’état de l’environnement est représenté sous la forme d’un vecteur à N dimensions dans un espace discret. L’état de l’environnement est donc un vecteur de grandeurs physiques représentatives de l’environnement du drone 1 ou de dérivés temporelles de ces grandeurs physiques, par exemple, de distance, de rotation (angles roulis, lacet, cap), de température, d’humidité, de pression etc. (il comporte l’ensemble des dimensions nécessaires au bloc d’apprentissage hybride 42 pour se représenter le monde et déterminer les actions de navigation nécessaires). Le vecteur est par exemple de dimension N, N par exemple est strictement supérieur à 1 ; les différentes dimensions du vecteur sont par exemple dim1, …, dimN. Le module de navigation MOD NAV 22 est un module à base de règles comprenant une base de règles de navigation exprimées chacune sous la forme : si CONDITION alors action n°i ; indiquant que si et seulement si la condition est vérifiée, le résultat de l’application de la règle est l’action n°i ; où la condition est par exemple a 1 ^a 2 ^…^a p où les a j sont chacune associées à une dimension distincte de l’état et ont une valeur particulière fixée parmi les valeurs discrètes possibles dans cette dimension pour j=1 à p et où p est strictement inférieur ou, dans des cas égal, à N, par exemple p = 1 (p pouvant prendre des valeurs distinctes suivantes les règles) l’action n°i est une action spécifique dans un espace d’actions discret prédéterminé, chaque action correspondant à des commandes spécifiques d’effecteurs de l’ensemble d’effecteurs 23. Le module de navigation MOD NAV 22 est adapté, pour en fonction de l’état courant reçu, déterminer la ou les règles de la base de règles dont les conditions sont remplies et commander aux effecteurs les actions de navigation correspondantes indiquées par cette, ou ces règles. Le module de navigation MOD NAV 22 à base de règles a été obtenu par la mise en œuvre d’un procédé 102 d’apprentissage hybride selon l’invention tel que décrit en et mis en œuvre sur le système 40 d’élaboration de module de navigation représenté en . Ainsi le système 40 d’élaboration de module de navigation comprend un simulateur électronique 41 et un bloc électronique d’apprentissage hybride 42. Le bloc électronique d’apprentissage hybride 42 comprend un module d’apprentissage automatique par renforcement 43, un module à base de règles 22_a et un module de sélection 45. Des étapes itératives sont mises en œuvre par le système 40 d’élaboration de module de navigation, au cours desquelles évoluent le module d’apprentissage par renforcement 43 et le module à base de règles 22_a, jusqu’à ce que ce dernier devienne un module de navigation MOD NAV 22 abouti, prêt à être inséré dans un drone 1 (ce drone devenant ainsi autonome). Le simulateur électronique 41 : il est adapté pour représenter le plus fidèlement possible le contexte opérationnel et la mission dont le drone fait l’objet. En particulier, il est adapté pour déterminer l’état de l’environnement S t+1 à l’instant t+1 en fonction d’actions A t qui lui sont « commandées » à l’instant t, dans l’état S t . A ce titre le simulateur électronique 41 est adapté pour calculer toutes les transitions possibles S t (A t ) S t+1. Dans le cadre d’une mission de drone, cela se traduira souvent par l’implémentation de fonction de calcul physique de type application d’une force sur un objet. Sont ajoutées également les règles de la mission comme par exemple le calcul de la sortie d’une zone spécifique. Ainsi le module d’apprentissage est adapté pour s’en servir pour apprendre les transitions. Le module d’apprentissage automatique par renforcement 43 est adapté pour mettre en œuvre une méthode d’apprentissage automatique de type apprentissage par renforcement à partir d’états de l’environnement pour déterminer les actions de navigation en fonction desdits états et de valeurs de récompense évaluant les actions déterminées antérieurement. De façon connue, l'apprentissage par renforcement consiste à apprendre les actions à prendre, en fonction de l’état courant de l’environnement à partir des interactions avec le simulateur, de façon à optimiser la récompense quantitative au cours du temps qui peut être positive ou négative. Un module d’apprentissage automatique par renforcement cherche, au travers d'expériences itérées, un comportement décisionnel (appelé stratégie ou politique , et qui est une fonction associant à l'état courant l'action à exécuter) optimal, en ce sens qu'il maximise l’espérance de gain (par exemple, la somme des récompenses au cours du temps): Le module à base de règles 22_a : il comporte une base de règles, la forme de ces règles étant similaires à celle exposée ci-dessus pour le module à base de règles 22. L’invention pourra par exemple se baser sur clarion® (www.clarioncognitivearchitecture.com/downloads), qui est un modèle d’architecture cognitive qui, s’il vient d’un autre champ de la recherche que celui de l’intelligence artificielle, propose néanmoins une base intéressante pour hybrider intelligence artificielle connexionniste et l’intelligence artificielle symbolique dans la présente solution d’obtention de règles de navigation qui s’appuient sur la représentation des états de l’environnement. Le postulat de base est le suivant : le savoir bas niveau correspondant à l’apprentissage par renforcement du module d’apprentissage par renforcement 43 correspond chez l’homme à un savoir procédural ou un « savoir-faire », alors que le savoir de haut niveau correspondant à celui du module à base de règles 22 correspond à un savoir déclaratif, c’est-à-dire à des règles que l’on peut énoncer dans un langage clair. La représentation du savoir de bas niveau correspond à une représentation numérique (i.e. la liaison entre les actions et les états), dans l’apprentissage par renforcement, basée sur la Q-value. Le savoir haut niveau est représenté par le jeu de règles logiques. La logique d’apprentissage hybride selon l’invention, du bas vers le haut, correspond au fait que l’on apprend d’abord le savoir de bas niveau et que l’on extrait, ensuite, de ce savoir, les règles qui constituent le savoir haut niveau. Les deux niveaux de connaissance participent ensuite à la prise de décision pour la poursuite de l’apprentissage, comme détaillé plus loin. La représente un procédé 100 selon l’invention, qui comprend une phase d’initialisation 101, une phase d’apprentissage hybride 102 et une phase opérationnelle 103. La phase d’initialisation 101 comprend les étapes préalables 1011, 1012, 1013 et 1014. L’étape 1011 est une étape de mise au point du simulateur 41 tel que défini plus haut. L’étape 1012 est une étape de définition de la fonction de récompense. Comme son nom l’indique, l’apprentissage par renforcement se base sur un « renforcement », ou plus communément nommé « récompense », pour apprendre. Il faut donc définir une fonction de récompense qui permette au bloc d’apprentissage hybride 42 d’apprendre les bonnes associations « état-action » (aussi appelé politique). Concrètement, les états non souhaités doivent être pénalisants et les états souhaités récompensés. Suivant les modes de réalisation, la récompense est calculée par le simulateur 41 ou le bloc d’apprentissage hybride 42. L’étape 1013 est une étape de définition de la discrétisation des actions et des états. Le bloc d’apprentissage hybride 42 implémente un algorithme d’apprentissage par renforcement qui nécessite d’avoir des états et des actions discrètes. Or, le pilotage automatique d’un drone dans un contexte opérationnel réel repose sur des variables continues (vitesse, angle, etc.). L’étape 1014 est une étape de définition de paramètres du système 40, notamment : le discount factor est utilisé dans le module d’apprentissage par renforcement. Lors de l’apprentissage, le discount factor sert à déterminer l’importance des récompenses futures. le taux d’apprentissage ∈ [0,1], détermine comment la nouvelle information acquise surpasse l’ancienne. A 0, aucun apprentissage n’a lieu, la nouvelle information n’étant jamais prise en compte. A 1, l’agent ne considère pas le passé et ne prend en compte que la nouvelle information. le seuil de succès d’une association état-action : ce seuil détermine à partir de quand une association Etat -> Action présente au bas niveau, dans le module d’apprentissage par renforcement, doit être créée comme une règle au sein du module de règle. le critère d’arrêt ou de convergence de la phase d’apprentissage, indiquant le nombre d’itérations dans l’étape 102 ou une valeur globale de récompense sur N épisodes. La phase d’apprentissage hybride 102 est maintenant décrite, comprenant la réitération, à chaque pas temporel t, des étapes ci-dessous. Au pas temporel t, le simulateur 41 détermine l’état courant de l’environnement S t en fonction de l’action A t-1 précédemment transmise par le bloc d’apprentissage hybride 42. Le simulateur 41 détermine en outre la valeur actualisée R t de la récompense en fonction de l’état S t . Le simulateur 41 délivre cet état courant S t et la récompense actualisée R t au bloc d’apprentissage hybride 42. Au début de l’apprentissage hybride, la base de règles ne comporte pas de règles et pour le module d’apprentissage par renforcement, toutes les Q-values sont initialisées à 0.43 par exemple. Au pas temporel t, dans une étape 1021, le bloc d’apprentissage hybride 42 reçoit l’état courant S t (et la récompense actualisée R t -1 ) en provenance du simulateur 41. Dans une étape 1022, une ou des actions(s) de navigation sont déterminées en parallèle par le module d’apprentissage par renforcement 43 et le module à base de règles 22_a, en fonction de l’état courant S t : - le module d’apprentissage par renforcement 43 détermine l’action A t,1 ou l’ensemble des actions {A t,1 } envisageables, au stade courant de son apprentissage et calcule Q(S t , A ,1 ) pour chacune de ces actions A t,1 envisageables ; Q() est Q-value de l’association « effectuer l’action A t,1 dans l’état actuel St» définie par l’équation de Bellman comme l’espérance de gain de choisir l’action A dans l’état S. avec Gt le gain la somme des récompenses espérées dans le futur pondérées par le discount factor. L’équation de mise à jour de la Q-value diffère selon l’algorithme d’apprentissage par renforcement choisi; - le module à base de règles 22_a détermine l’action A t,2 ou l’ensemble des actions {A t,2 } telles que chacune de ces actions est l’action résultat d’une règle dont la condition est vérifiée par l’état courant S t ; Dans une étape 1023, le module de sélection 45 sélectionne une action, nommée A t parmi les actions A t,1 et A t,2 en appliquant une méthode de choix permettant de sélectionner « la meilleure » action, par exemple par un vote entre les deux niveaux de savoir (niveau haut pour les actions déterminées par le module à base de règles 22_0 et niveau bas pour les actions déterminées par le module d’apprentissage par renforcement), c’est-à-dire que par exemple : - pour chaque action A dans l’ensemble des actions {A t,1 } ou {A t, 2 } , une somme pondérée w1.q + w2.k est calculée pour représenter la valeur (l’utilité) de cette action, q correspondant à la Q-value de l’association « effectuer l’action A dans l’état actuel St» calculée, k ∈ {0, 1} puisque les règles sont binaires (k = 0 quand A n’est pas élément de l’ensemble {A t,1 } et est égal à 1 sinon) et w1 et w2 sont des poids associés à chaque valeur (Les poids sont des hyperparamètres, ils sont déterminés avant la phase d’apprentissage même s’il reste possible de les faire évoluer au cours de l’apprentissage; une sélection probabiliste est ensuite effectuée en utilisant une fonction softmax sur ces sommes pondérées représentant "une utilité" d’appliquer l’action A dans l’état S t ; Dans une étape 1024, l’action A t sélectionnée est indiquée par le bloc électronique d’apprentissage hybride 42 et le simulateur 41 détermine l’état suivant S t +1 en fonction de l’action A t et détermine en outre la valeur récompense actualisée R t en fonction de l’état S t +1 (en fonction de comment la fonction de récompense est définie) que le stimulateur 41 délivre au bloc d’apprentissage hybride 42. Dans une étape 1025, l’apprentissage est actualisé : dans une sous-étape 1025_1 : la poursuite de l’apprentissage par le module d’apprentissage par renforcement 43 comprend la mise à jour de la Q-value de A t en fonction de la récompense Rt ; dans une sous-étape 1025_2 : la mise à jour de la base de règles dans le module à base de règles 22_a est effectuée de la manière détaillée ci-dessous et consistant en un algorithme d’extraction et de raffinage des règles : elle permet de créer du savoir déclaratif depuis du savoir procédural selon le principe suivant : si une action décidée par le bas niveau (i.e. le module d’apprentissage par renforcement) est un succès, c’est-à-dire si elle satisfait un certain critère, alors le bloc électronique d’apprentissage hybride 42 construit une nouvelle règle pour le module à base de règles 22_a à partir de l’état actuel conduisant à l’action choisie. Par la suite, au cours des itérations, la règle dans le module à base de règles 22_a est raffinée par le bloc électronique d’apprentissage hybride 42 : si elle semble pertinente, il va tenter de la généraliser, sinon il va essayer de la spécialiser. Ainsi, dans un mode de réalisation, la mise à jour de la base de règles dans une sous-étape 1025_2 dans le module à base de règles 22_a comprend les étapes suivantes : dans une sous-étape 1025_21 : si aucune règle de la base de règles n’a sa condition satisfaite par l’état St, création dans la base de règles, sous certaines conditions détaillées ci-après, d’une nouvelle règle dont : la condition est que l’état doit être égal à l’état tel que défini par S t , en en considérant toutes les dimensions (i.e. N) ; et l’action résultant de la règle (i.e. seulement quand la condition est remplie) est A t ; sinon dans une sous-étape 1025_22 : pour toute règle de la base de règles dont la condition est satisfaite par l’état S t , il est évalué si ladite règle une fois spécifiée (en retirant une dimension à la condition de la règle) ou une fois généralisée (en ajoutant une dimension à la condition de la règle) est plus satisfaisante que ladite règle. Pour cela, on compare le gain apporté par ladite règle aux gains respectifs de toutes les règles dont l’action résultante est la même et dont la condition est la condition de ladite règle augmentée d’une dimension (non encore partie de la condition), et ce pour chaque dimension supplémentaire et pour chaque valeur que peut prendre la dimension supplémentaire considérée ; et en fonction d’au moins ladite comparaison, on remplace la règle par une desdites règles augmentées ; et on compare le gain apporté par ladite règle aux gains respectifs de toutes les règles dont l’action résultante est la même et dont la condition est la condition de la règle diminuée d’une dimension. Dans un mode de réalisation, cette sous-étape 1025_2 de mise à jour de la base de règles dans le module à base de règles 22_a qui seront détaillées plus bas dans un exemple, s’appuient sur un ensemble de métriques, qui sont par exemple définies ainsi : - pour une condition C, on calcule la valeur courante de deux indicateurs, définis ainsi : - PM A (C) : Nombre de fois - depuis le début de l’apprentissage - où la valeur courante de l’état de l’environnement ayant vérifié la condition C , l’action « A » a été sélectionnée et le résultat a été positif ; - NM A (C) : Nombre de fois - depuis le début de l’apprentissage - où la valeur courante de l’état de l’environnement ayant vérifié la condition C , l’action « A » a été sélectionnée et le résultat a été négatif ; avec le critère de résultat positif/négatif : “positif” quand γ .max A’ (Q(s t+1 ,A’))−Q(s t ,A) +r t+1 > τ succès “négatif” quand γ .max A’ (Q(s t+1 ,A’))−Q(s t ,A) +r t+1 ≤τ échec où : max A’ est la fonction renvoyant la valeur maximum en considérant toute action A’ dans l’espace discret des actions tel que défini ; r t+1 est la récompense ; γ est le discount factor ; τ succès et τ échec sont des valeurs seuils prédéfinies. on définit en outre un Indice de Gain, dit IG, qui permet de comparer entre elles deux règles de conditions respectives C, C’ avec pour résultat le même action A : IG (C, C’)>0 signifie que la règle [si C, alors action A] est meilleure que la règle [si C’, alors action A] : Les opérations dans la sous-étape 1025_2 sont alors schématisées ainsi: Mettre à jour les métriques de règle SI aucune règle ne matche l’état actuel ALORS Création d’une nouvelle règle (dimension N) SINON Pour chaque règle dont la condition est satisfaite par l’état actuel, selon les critères de modifications : Spécification de la règle Généralisation de la règle Ceci donne plus en détail dans un mode de réalisation : dans la sous-étape 1025_21 de création de règles, si et seulement si γ max A’ (Q(s t+1 ,A’))−Q(s t ,A) + r t+1 > τ succès alors ajouter la règle [si C alors A ] est créée dans la base de règles du module à base de règles 22_a (où C est le vecteur de dimension N égal à l’état d’environnement courant actuel s t ) ; dans la sous-étape 1025_22 de spécialisation ou généralisation pour toute règle de la base de règles dont la condition C est satisfaite par l’état S t et ayant pour résultat l’action At : pour chacune de ces règles, on s’intéresse à sa condition C, ainsi qu’à toutes les conditions qui sont voisines de sa condition : le voisinage d’une condition est défini comme un littéral de plus ou de moins par rapport à ladite condition (par exemple la condition « a∧b » a pour voisinage a, b, a∧b∧c, dans le cas où a, b et c sont des valeurs prises par trois dimensions respectives parmi les N dimensions de l’état de l’environnement). Pour savoir si l’on doit généraliser, ou spécialiser une règle C présente dans le module à base de règle 22_a, la règle actuelle C est comparée avec les nouvelles versions possibles, de la manière suivante : soit C la condition d’une règle satisfaite par l’état actuel et all est la condition qui est tout le temps satisfaite (c’est à dire la tautologie) : Généralisation : Si IG( C ,all) > τ gen et max c′ IG( C′ , C ) > 0 alors, dans la base de règle du module 22_a : - ajouter la règle [si argmax c′ (IG( C′ , C )) , alors A t ] et - retirer l’ancienne règle [si C , alors A t ], (ici C′ désigne C enrichie d’un littéral supplémentaire) Spécialisation : Si IG( C ,all) spec et max c′ IG( C′ , C ) > 0 alors, dans la base de règle du module 22_a : - ajouter la règle [si argmax c′ (IG( C′ , C )) alors A t ] et - retirer l’ancienne règle [si C , alors A t ], (ici C′ désigne C moins un littéral) τ gen et τ spec sont des valeurs prédéfinies. Dans une étape 1026, le pas de temps est incrémenté et la phase 102 d’étapes est réitérée. La phase opérationnelle 103 comprend l’implémentation dans le drone du module 22 à base de règles généré, et ensuite, la navigation autonome du drone piloté par ce module 22 à base de règles une fois celui-ci implémenté dans le drone. Les règles créées selon l’invention sont fonction de la discrétisation des états réalisée lors de l’étape 1013. Cette discrétisation doit donc se retrouver dans la phase opérationnelle 103. Comme décrit plus haut, relativement à la , l’environnement du drone 1 est lu via l’ensemble des capteurs 21, et cette lecture de l’état courant active ou non les conditions des règles qui ensuite déclenchent les actions, si la condition de la règle est vérifiée. Ces actions sont ensuite traduites par les effecteurs du drone pour agir dans l’environnement. Le passage de l’état de l’environnement aux tests des conditions des règles doit donc suivre la discrétisation de l’environnement effectué pendant la phase d’apprentissage. Il est donc nécessaire, en plus du jeu de règles transféré dans la mémoire du drone à l’étape 103, d’ajouter un programme effectuant la discrétisation de l’état. La phase opérationnelle 103 comporte dans des modes de réalisation une étape de certification et d’interprétation : -Validation par un expert métier du jeu de règle -Vérification de la cohérence et de la complétude du jeu de règle -Effectuer des tests unitaires sur le jeu de règles. Les modèles de pilotages automatiques de l’art antérieur basés sur l’apprentissage automatique récupèrent ici non pas un système de règles comme nous le proposons dans cette invention, mais un système boîte noire, la plupart du temps un réseau de neurones (un vecteur de poids) qui ne possède pas les propriétés explicables et interprétables nécessaire à la certification des systèmes critiques. Ici, le jeu de règles permet aux experts de comprendre le comportement du drone et donc de le vérifier de l’approuver et de le certifier avant de le transférer dans un drone pour une application dans un contexte opérationnel. Afin d’illustrer la création d’un jeu de règles pour un drone 1 telle que décrite de manière générale en référence aux figures 2 et 3, il est considéré maintenant, en référence à la , l’exemple simple d’un drone 1 qui doit aller d’un point A à un point B en restant confiné au sein d’un corridor 50. Pour pouvoir réaliser la simulation nécessaire à l’apprentissage, il est nécessaire de mettre au point un simulateur du contexte opérationnel. Des moteurs de simulation physique sont disponibles sur le marché. De manière générale, des logiciels comme Unity 3D ou Unreal engine permettent de faciliter le développement de ce genre de simulateur en implémentant de base les réactions physiques. Ils permettent de mettre au point ce genre d’environnement de simulateur sans avoir à le ré-implémenter, ou dans un autre mode de réalisation alors une implémentation complète est mise en œuvre. Puis l’état de l’environnement et les actions possibles commandables sont discrétisées. Pour ce qui est de l’état de l’environnement, dans un mode de réalisation, il est représenté par les dimensions suivantes (cf. ): D 1 : La distance du drone 1 au point B D 2 : L’angle entre l’axe drone-point B et l’axe directionnel du drone D 3 : La distance entre le nez du drone 1 et le haut du corridor 50 à la verticale D 4 : La distance entre le nez du drone 1 et le bas du corridor 50 à la verticale D 5 : La distance entre le nez du drone 1 et le corridor 50 selon l’axe du drone D 6 : La distance entre le bout de l’aile droite du drone 1 et le corridor 50 (situé à droite du drone) D 7 : La distance entre le bout de l’aile gauche du drone 1 et le corridor 50 (situé à gauche du drone). La discrétisation de l’espace de ces dimensions est la suivante : Seules valeurs que D 1 peut prendre : D 1,1 = [0,1], D 1,2 =]1,10], D 1,3 = ]10,100], D 1,4 = ]100,+infini] (en mètre) Seules valeurs que D 2 peut prendre : D 2,1 = [-90,-45], D 2,2 =]-45,0], D 2,3 = ]0,45], D 2,4 = ]45,90] (en degré) Seules valeurs que D 3 peut prendre : D 3,1 = [0,1], D 3,2 =]1,10], D 3,3 = ]10,+infini] (en mètre) Seules valeurs que D 4 peut prendre : D 4,1 = [0,1], D 4,2 =]1,10], D 4,3 = ]10,+infini] (en mètre) Seules valeurs que D 5 peut prendre : D 5,1 = [0,1], D 5,2 =]1,10], D 5,3 = ]10,+infini] (en mètre) Seules valeurs que D 6 peut prendre : D 6,1 = [0,1], D 6,2 =]1,10], D 6,3 = ]10,+infini] (en mètre) Seules valeurs que D 7 peut prendre : D 7,1 = [0,1], D 7,2 =]1,10], D 7,3 = ]10,+infini] (en mètre) Pour ce qui est des actions, une action est une combinaison d’une accélération dans les trois dimensions représentées en . (A1, A2 et A3 déterminent le positionnement dans l’espace et l’accélération détermine comment on va se déplacer en fonction de ce positionnement. A 1 : L’angle de lacet (en anglais, Yaw) A 2 : L’angle de roulis (en anglais, Roll) A 3 : L’angle de tangage (en anglais, Pitch) A 4 : L’accélération La discrétisation des dimensions de l’action est la suivante : Seules valeurs que A 1 peut prendre : A 1,1 = -1 (action de lacet dans le sens présenté par la flèche correspondante en figure 5), A 1,2 = 0 (action de lacet nulle), A 1,3 = 1 (action de lacet dans le sens présenté par la flèche correspondante en figure 5), Seules valeurs que A 2 peut prendre : A 2,1 = -1 (action de roulis dans le sens présenté par la flèche correspondante en figure 5), A 2,2 = 0 (action de roulis nulle), A 2,3 = 1 (action de roulis dans le sens présenté par la flèche correspondante en figure 5), Seules valeurs que A 3 peut prendre : A 3,1 = -1 (action de tangage dans le sens présenté par la flèche correspondante en figure 5), A 3,2 = 0 (action de tangage nulle), A 3,3 = 1 (action de tangage dans le sens présenté par la flèche correspondante en figure 5), Seules valeurs que A 3 peut prendre : A 4,1 = -1 (décélération), A 4,2 = 0 (maintien de la vitesse), A 4,3 = 1 (accélération). Pour que l’apprentissage permette au drone d’apprendre le bon comportement à adopter dans son environnement, il est nécessaire de définir une fonction de récompense, qui favorise ce bon comportement. Le bon comportement choisi dans le cadre de l’exemple ici considéré est que le drone se déplace du point A au point B le plus vite possible, en restant au sein du corridor. La fonction de récompense est donc la suivante, par exemple : Récompense = -1000 si le drone sort du corridor Récompense = -1 à chaque prise de décision (afin que l’agent apprenant privilégie les actions qui lui font atteindre le plus rapidement le point B et évite que le drone fasse des boucles inutiles au sein du corridor) Récompense = 1000 si le drone atteint le point B Enfin, avant de lancer la phase d’apprentissage de l’apprentissage par renforcement, par exemple avec l’architecture CLARION, les valeurs suivantes sont choisies par exemple : Le discount factor : 0.99 (ordre de grandeur couramment utilisé) Le taux d’apprentissage : 10 -4 (ordre de grandeur couramment utilisé) Le seuil de succès d’une association état-action : 0,08 Le critère d’arrêt ou de convergence de la phase d’apprentissage : 10 7 étapes Une fois la simulation terminée, comme décrite à l’étape 102, un jeu de règles sera récupéré. Les règles sont de la forme : SI (CONDITION) est vérifiée, ALORS définition de L’ACTION à mettre en œuvre, par exemple SI Di = Di,j ALORS An = An,m les D i , j étant les valeurs discrètes des dimensions listées plus haut et A n,m étant les valeurs discrètes des actions listées plus haut. Par exemple une telle règle est : SI D5 = D5,1 ALORS A3,1 Cette règle traduit que si le drone se dirige vers le bas du corridor et qu’il en est très proche, il doit changer de cap et se diriger vers le haut (cf. ). Un ensemble de règles de ce type (et aussi comportant des règles plus complexes, par exemple une règle avec plusieurs conditions concomitantes, ou toute autre combinaison de dimensions définies) permettent d’avoir un pilotage automatique basé sur des règles compréhensibles par un expert qui sera plus facilement en capacité de les interpréter et de les valider. Le fait est que l’expert peut donner une valeur sémantique aux discrétisations, par exemple pour D1, un expert pourrait dire D1,1 = « proche », D1,3 = « loin » (on suppose qu’il saura définir quand est-ce que c’est proche et quand est-ce que c’est loin dans la discrétisation) en faisant ce remplacement par des variables sémantiques qui appartiennent au vocabulaire d’expertise on en facilite la compréhension par l’expert. On notera que par exemple la règle SI D 5,1 ALORS A 3,1 est une règle avec une seule dimension en condition. Ceci n’aurait pas été possible avec de l’apprentissage par renforcement pur. Dans une politique d’apprentissage par renforcement, l’état est représenté par toutes ses dimensions (même si elles ne sont pas utiles dans la prise de décision). L’invention offre un compromis, avec les systèmes basés sur l’intelligence artificielle, entre la précision du modèle (ou généralisation), qui permet d’avoir un comportement optimal dans le contexte opérationnel dédié, et l’interprétablilité et l’explicabilité du modèle qui permet d’interpréter le comportement, de le comprendre et de le certifier. Le modèle obtenu en sortie est un jeu de règles, donc avec des propriétés d’interprétablité et d’explicabilité permettant d’aller plus facilement vers la certification. De plus, la phase d’apprentissage par renforcement permet d’avoir des modèles de sortie plus performant et permettant d’adresser une plus forte complexité (nombre de dimensions dans les états et les actions). L’avantage de cette invention est donc de permettre l’obtention d’un modèle de pilotage autonome de drone interprétable et performant en tirant partie des avantages de l’hybridation de l’intelligence artificielle connexionniste et de l’intelligence artificielle symbolique. La simulation du contexte opérationnel telle que proposée ci-dessus permet : de ne pas avoir de perte de matériel dans le cas où il serait risqué de l’utiliser pour mettre au point le modèle de pilotage autonome ; de ne pas avoir besoin de masse de données comme c’est le cas de l’apprentissage profond, ce qui peut être long et coûteux. Le fait de simuler l’environnement permet à la phase d’apprentissage d’avoir appris d’un grand nombre de situations. Cela permet d’avoir un jeu de règles plus précis et robuste qu’un jeu de règles déterminé par les experts du contexte opérationnel, mais, dans d’autres modes de réalisation, il n’est pas utilisé de simulation et l’apprentissage est effectué avec des données opérationnelles. A ce jour, la version la plus récente de CLARION ( http://www.clarioncognitivearchitecture.com/downloads) est fournie en langage C#. Le moteur de simulation physique d’Unity 3D (https://unity.com/fr) utilise lui aussi le C# pour son développement et possède des environnements, des outils et des objets qui peuvent permettre de faciliter la mise au point de la simulation. L’interfaçage d’Unity et de CLARION se réduit à la simple intégration de la bibliothèque CLARION au sein du projet Unity. Sinon, il est tout à fait possible d’interfacer CLARION avec des simulateurs « non-C# », par exemple en utilisant un message broker type RabbitMQ ( https://www.rabbitmq.com/). La solution selon l’invention est basée sur la logique standard (i.e. une variable est soit vraie soit fausse) et non sur la logique floue (i.e. les variables ont un degré de probabilité qui peut prendre des valeurs, y compris des valeurs autres que 0 et 1, dans l’intervalle [0 ;1]. Elle est évolutive puisque les règles sont construites et adaptées au contexte pendant la phase d’apprentissage et enfin elle se base sur l’apprentissage par renforcement. Les drones autonomes sont particulièrement utiles dans nombres de types de missions : surveillance, prise d’information, inspection, sauvetage, etc. Parmi celles-ci, l’invention permet de fournir un système de navigation autonome pour :(dans chaque cas, une simulation de la mission sera nécessaire à la phase d’apprentissage) : Mission de surveillance de lignes électrique Mission d’aide à l’inspection du réseau ferroviaire Inspection des voies Inspection des caténaires Présence de personnes sur les voies ferrées Mission de livraison de colis Mission de repérage/reconnaissance (espionnage) militaire Mission de prise d’information (type météorologique) Mission d’élimination de cible (militaire) Mission d’arme volante Mission de drone journalism (https://en.wikipedia.org/wiki/Drone_journalism) Mission propre à l’agriculture Reconnaissance de l’hétérogénéité des sols Variation de la densité des semis pour créer une parcelle Etablir les besoins des cultures en analysant la densité végétale Reconnaissance rapide des dommages, et de leurs causes, sur une parcelle Mission de diffusion d’un accès au WIFI Mission de modélisation des sols et de bâtiments en 3D Mission de sauvetage de vie Transport de gilet de sauvetage et défibrillateur Toute autre assistance possible Mission de soutien aux forces de l’ordre Reconnaissance et surveillance de zones difficile d’accès Observation Surveillance des réseaux routiers Mission spatiale L’invention permet de créer un modèle de règles, technologie appartenant à l’intelligence artificielle dite « Symbolique » en se reposant sur un apprentissage automatique, technologie appartenant à l’intelligence artificielle dite « connexionniste » afin de permettre à un drone de remplir une mission spécifique de manière totalement autonome. L’IA symbolique et l’IA connexionniste possèdent des avantages qui peuvent être combinés et ainsi faire en sorte de combler la faiblesse de l’autre. L’IA symbolique possède l’avantage de travailler avec des symboles ce qui permet de mieux être appréhendé par l’humain. Les systèmes experts, qui en sont une déclinaison, permettent de capter la connaissance déjà acquise et de s’en servir pour automatiser le raisonnement. Il en découle des modèles qui sont plus facilement interprétables et explicables et donc que l’on peut plus facilement certifier et valider. Malheureusement, ils ont le désavantage de ne pas être flexibles et de ne pas pouvoir gérer des données non-structurées. De plus, les capacités du système sont souvent limitées à celles de l’expert. L’IA connexionniste a la capacité de créer des modèles complexes basés sur des corrélations calculées sur des masses importantes de données. Sous couvert d’une puissance de calcul assez conséquente, il est possible de créer des modèles de prédiction et de classification très performants, la plupart du temps bien meilleurs que les systèmes experts. Le problème principal de cette technologie est que les modèles créés sont ce qu’on appelle couramment des « boîtes noires », c’est-à-dire que l’on ne sait pas expliquer la décision prise par ce genre de modèle. Le gros avantage de l’hybridation IA symbolique-IA connexionniste proposé permet de se baser sur un apprentissage automatique, ici l’apprentissage par renforcement via l’interaction avec un simulateur et d’en extraire des règles de comportement du drone qui possèdent une meilleure interopérabilité et explicabilité permettant d’aller vers une certification et une validation de ces modèles de pilotage autonome de drone. Enfin, une caractéristique essentielle à mettre en avant est la propriété d’autonomie du drone. L’invention permet au drone de s’adapter à toutes les nouvelles situations (dans le cadre de la mission simulée), c’est-à-dire qu’il n’est pas nécessaire de relancer une phase de calcul à chaque nouvelle mission. Le modèle de règles appris lors de la phase d’apprentissage sait remplir une mission, quelques soient les paramètres de la mission (forme du corridor, présence d’obstacles, etc.). Procédé d’élaboration d’un module (22) de navigation d’un drone autonome (1) à base de règles de navigation, ledit procédé étant caractérisé en ce qu’il est mis en œuvre par un système électronique (42) comprenant : - un module (43) d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module (22_a) à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, et en ce que les étapes suivantes sont mises en œuvre de façon itérative : i. réception d’une première valeur de l’état courant de l’environnement du drone ; ii. détermination, par le module (43) d’apprentissage automatique par renforcement, d’une ou plusieurs premières actions de navigation (A t,1 ) en fonction de ladite première valeur d’état courant reçu et détermination par le module à base de règles d’une ou plusieurs deuxièmes actions de navigation (A t, 2 ) en fonction de ladite première valeur d’état courant reçu ; iii. sélection, par ledit système (42), d’une action (A t ) parmi lesdites premières et deuxièmes actions ; iv. actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. mise à jour des règles du module (22_a) à base de règles, ladite mise à jour comprenant au moins l’une des étapes suivantes : v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , on remplace, dans la base de règles, ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. Procédé d’élaboration d’un module (22) de navigation d’un drone autonome à base de règles de navigation selon la revendication 1, selon lequel - la détermination par le module (43) d’apprentissage par renforcement de ladite, ou desdites, premières actions de navigation en fonction de ladite première valeur d’état courant reçue est fonction des valeurs courantes de paramètres d’évaluation associés aux couples respectifs (première valeur d’état courant, action) et qui évaluent la pertinence d’effectuer ladite action dans ledit état ; - l’actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement comprend une actualisation de la valeur du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) en fonction de la deuxième valeur d’état courant de l’environnement obtenue ; et - la pertinence de la règle, respectivement de la règle modifiée, est évaluée en fonction des paramètres d’évaluation associés aux couples respectifs (état, action) tel que l’état vérifie la condition de la règle, respectivement la condition de la règle modifiée, et l’action est l’action de ladite règle qui est aussi celle de la règle modifiée. Procédé d’élaboration d’un module (22) de navigation d’un drone autonome à base de règles de navigation selon la revendication 2, selon lequel, à l’étape v.i, ladite nouvelle règle n’est créée que si elle vérifie un critère d’utilité déterminé en fonction d’au moins ladite valeur actualisée du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée). Procédé d’élaboration d’un module (22) de navigation d’un drone autonome à base de règles de navigation selon l’une des revendications 2 ou 3, selon lequel ladite étape de sélection de l’action comprend les étapes suivantes : pour chacune desdites actions parmi lesdites premières et deuxièmes actions, calcul d’une note associée à ladite action et égale à une somme pondérée de la valeur courante du paramètre d’évaluation associé au couple (première valeur d’état courant, ladite action) et de k, où k prend la valeur 1 si ladite action fait partie des premières actions et prend la valeur 0 si ladite action ne fait pas partie des premières actions, les poids respectifs étant des valeurs prédéfinies. Module de navigation (22) d’un drone autonome à base de règles de navigation, ledit module de navigation étant caractérisé en ce qu’il est généré par un système électronique (40) d’élaboration d’un module de règles de navigation d’un drone autonome comprenant : - un module (43) d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module (22_a) à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, tel que de manière itérative : i. ledit système reçoit une première valeur de l’état courant de l’environnement du drone ; ii. le module (43) d’apprentissage automatique par renforcement détermine une ou plusieurs premières actions de navigation (A t,1 ) en fonction de ladite première valeur d’état courant reçu et le module à base de règles détermine une ou plusieurs deuxièmes actions de navigation (A t, 2 ) en fonction de ladite première valeur d’état courant reçu ; iii. ledit système (42) sélectionne une action (A t ) parmi lesdites premières et deuxièmes actions ; iv. le module d’apprentissage par renforcement actualise son apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. ledit système met à jour les règles du module (22_a) à base de règles, de la manière suivante v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; et/ou v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , remplacement, dans la base de règles, de ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. Système électronique (40) d’élaboration d’un module de règles de navigation d’un drone autonome comprenant : - un module (43) d’apprentissage automatique par renforcement adapté pour déterminer au moins une action de navigation de drone en fonction d’un état courant de l’environnement du drone ; et - un module (22_a) à base de règles, comprenant une base de règles de navigation où une règle est définie par une condition et par une action qui est le résultat de ladite règle si et seulement si ladite condition est respectée, l’état de l’environnement du drone étant un vecteur de dimension N, ledit état de l’environnement et les actions de navigation du drone ayant été chacun discrétisés en un nombre fini de valeurs, i. ledit système est adapté pour itérativement recevoir une première valeur de l’état courant de l’environnement du drone ; ii. le module (43) d’apprentissage automatique par renforcement est adapté pour itérativement déterminer une ou plusieurs premières actions de navigation (A t,1 ) en fonction de ladite première valeur d’état courant reçu et le module à base de règles est adapté pour itérativement déterminer une ou plusieurs deuxièmes actions de navigation (A t, 2 ) en fonction de ladite première valeur d’état courant reçu ; iii. ledit système (42) est adapté pour itérativement sélectionner une action (A t ) parmi lesdites premières et deuxièmes actions ; iv. le module d’apprentissage par renforcement est adapté pour itérativement actualiser son apprentissage par renforcement en fonction de la deuxième valeur d’état courant de l’environnement obtenue suite à la mise en œuvre de l’action de navigation sélectionnée ; et en parallèle v. ledit système est adapté pour itérativement mettre à jour les règles du module (22_a) à base de règles, de la manière suivante v.i. s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée ; et/ou v.ii. pour une règle donnée de la base de règles dont la première valeur d’’état courant vérifie la condition et dont le résultat est ladite action sélectionnée , remplacement, dans la base de règles, de ladite règle donnée par une règle modifiée dont le résultat est ladite action sélectionnée et dont la condition comporte ladite condition de la règle donnée et une dimension supplémentaire parmi les N dimensions non prises en compte dans la condition et/ou par une règle modifiée dont la condition comporte ladite condition de la règle donnée dont une dimension a été supprimée, en fonction de la comparaison de la pertinence de la règle à la pertinence de la règle modifiée. Système électronique (40) d’élaboration d’un module de règles de navigation d’un drone autonome selon la revendication 6, dans lequel - la détermination par le module (43) d’apprentissage par renforcement de ladite, ou desdites, premières actions de navigation en fonction de ladite première valeur d’état courant reçue est fonction des valeurs courantes de paramètres d’évaluation associés aux couples respectifs (première valeur d’état courant, action) et qui évaluent la pertinence d’effectuer ladite action dans ledit état ; - l’actualisation de l’apprentissage par renforcement du module d’apprentissage par renforcement comprend une actualisation de la valeur du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée) en fonction de la deuxième valeur d’état courant de l’environnement obtenue ; et - la pertinence de la règle, respectivement de la règle modifiée, est évaluée en fonction des paramètres d’évaluation associés aux couples respectifs (état, action) tel que l’état vérifie la condition de la règle, respectivement la condition de la règle modifiée, et l’action est l’action de ladite règle qui est aussi celle de la règle modifiée. Système électronique (40) d’élaboration d’un module de règles de navigation d’un drone autonome selon la revendication 7, dans lequel, dans la mise à jour par ledit système des règles du module (22_a) à base de règles, s’il n’existe pas de règle dans la base de règles dont ladite première valeur d’état courant vérifie la condition, alors il y a création d’une nouvelle règle dans la base de règles, dont la condition est que la valeur de l’état courant soit égale à ladite première valeur d’état courant, et dont la conclusion est ladite action sélectionnée, ladite nouvelle règle n’est créée par ledit système que si elle vérifie un critère d’utilité déterminé en fonction d’au moins ladite valeur actualisée du paramètre d’évaluation associée au couple (première valeur d’état courant, action sélectionnée). Système électronique (40) d’élaboration d’un module de règles de navigation d’un drone autonome selon l’une des revendications 7 ou 8, adapté, lors de la sélection de l’action, pour calculer pour chacune desdites actions parmi lesdites premières et deuxièmes actions, une note associée à ladite action et égale à une somme pondérée de la valeur courante du paramètre d’évaluation associé au couple (première valeur d’état courant, ladite action) et de k, où k prend la valeur 1 si ladite action fait partie des premières actions et prend la valeur 0 si ladite action ne fait pas partie des premières actions, les poids respectifs étant des valeurs prédéfinies.