FR 3046848 A1 20170721 FR 1650303 A 20160114 1 PROCÉDÉ ET SYSTÈME DE DÉTERMINATION DE LA POSITION D'UN ENGIN MOBILE 1. Domaine technique de l'invention L'invention concerne un procédé et un système de détermination de la position relative d'un engin mobile par rapport à un environnement. En particulier, l'invention concerne un procédé et un système de détermination de la position d'un drone (aérien, par exemple de type multi-rotor ou hélicoptère) ou d'un robot d'inspection de surfaces dans un environnement connu comme par exemple un hangar dans lequel se trouve l'objet dont la surface est à inspecter. 2. Arrière-plan technologique Les engins mobiles tels que les drones ou les robots se déplaçant dans l'espace de façon autonome nécessitent de connaitre en permanence leur position dans l'environnement dans lequel ils se déplacent. Dans le cas d'un déplacement dans un environnement ouvert (en extérieur), le positionnement des engins mobiles est généralement effectué par géolocalisation, par exemple via le système GPS (Global Positioning System en anglais), qui permet d'obtenir une bonne précision. Toutefois, le principal défaut des systèmes de géolocalisation est qu'ils ne fonctionnent pas en intérieur. Des solutions ont donc été cherchées pour permettre le positionnement d'engins mobiles en intérieur. Par exemple, une solution proposée a été de partir d'une position connue de l'engin mobile et de déterminer la position de l'engin par mesure des déplacements effectués par l'engin à partir de cette position connue. Cette solution ne permet toutefois pas de détecter les erreurs ou imprécisions de déplacement au cours du temps, qui s'accumulent et entrainent par conséquent un positionnement erroné qui ne peut pas être corrigé. En outre, la solution utilise des centrales inertielles qui, bien qu'ayant une bonne précision permettant de minimiser ces erreurs, ont un coût élevé et un poids important (fréquemment supérieur à 1kg) incompatible avec une utilisation de drone aérien. Alternativement, il a été proposé d'utiliser des systèmes de balises, posés à 3046848 2 l'avance dans l'environnement, tels que des émetteurs-récepteurs radios. En équipant l'engin mobile d'un émetteur-récepteur, il est alors possible d'estimer sa position par des techniques de triangulations vis-à-vis des autres balises. Cette solution est toutefois coûteuse et est longue à mettre en place car elle nécessite de disposer les balises et de 5 déterminer leurs positions précises (via un calibrage). Une solution a été cherchée pour permettre un positionnement en intérieur palliant au moins certains de ces inconvénients. 3. Objectifs de l'invention 10 L'invention vise à pallier au moins certains des inconvénients des procédés et systèmes de positionnement connus. En particulier, l'invention vise à fournir, dans au moins un mode de réalisation de l'invention, un procédé de positionnement permettant le positionnement d'un engin mobile en environnement intérieur. 15 L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement rapide, pouvant être exécuté sur des processeurs de faible puissance. L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement précis. 20 L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement ne nécessitant pas de modifications de l'environnement dans lequel il se déplace. L'invention vise aussi à fournir, dans au moins un mode de réalisation, un système de positionnement pouvant être embarqué. 25 4. Exposé de l'invention Pour ce faire, l'invention concerne un procédé de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, comprenant : 30 une étape de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un 3046848 3 ensemble de points définis dans un repère de l'engin mobile, une étape d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement, une étape de détermination de la position relative de l'engin mobile 5 dans le repère de l'environnement à partir dudit écart. Un procédé selon l'invention permet donc le positionnement d'un engin mobile dans un environnement totalement ou partiellement connu sans nécessiter la pose de balise. L'environnement désigne le volume dans lequel se déplace l'engin mobile, avec les éléments qui le composent : par exemple, un hangar dans lequel se trouve un 10 aéronef dont les surfaces sont à inspecter. Dans le cadre d'inspection de surface d'éléments de grandes dimensions, les éléments inspectés sont connus et peuvent faire l'objet d'une modélisation en 3D, voire sont déjà modélisés pour d'autres applications, par des logiciels de dessin assisté par ordinateur (DAO). Le procédé utilise en permanence les mesures de distances de l'engin avec 15 l'environnement, et permet de déterminer sa position relative par rapport à l'environnement. Par exemple, un drone volant autour d'un aéronef pour son inspection saura sa position en permanence et pourra, s'il repère un défaut sur la surface de l'aéronef, déterminer la position de ce défaut par rapport à sa propre position et donc le situer sur l'aéronef. 20 Le procédé mis en oeuvre est ainsi rapide et peu coûteux en ressources d'exécution : il peut être facilement embarqué sur l'engin mobile, disposant d'un processeur embarqué peu consommateur d'énergie et permettant un traitement temps réel. Une partie du procédé, notamment des étapes ne devant être exécutées qu'une fois et indépendantes de la position de l'engin mobile ou des distances mesurées 25 (par exemple des étapes de prétraitement liées à la modélisation 3D), peuvent être exécutées hors de l'engin mobile, les résultats de ces étapes étant fournis au processeur embarqué pour améliorer la vitesse d'exécution des étapes traitées par celui-ci. La rapidité d'exécution du procédé permet en outre son exécution de manière plus fréquente et assure ainsi un suivi rapide de la position de l'engin mobile : celui-ci 30 peut alors se déplacer plus rapidement. Même si le procédé est particulièrement avantageux en intérieur du fait de 3046848 4 l'absence de géolocalisation, il peut aussi être utilisé en extérieur pour des applications nécessitant une précision accrue dans un environnement connu : par exemple, l'inspection d'un aéronef en extérieur, de la surface d'une éolienne ou encore d'un navire en cale sèche. 5 Avantageusement et selon l'invention, la modélisation 3D est un maillage 3D polygonal et les surfaces géométriques sont des polygones. La modélisation de l'environnement 3D par un maillage 3D polygonal permet une modélisation simple et un traitement plus rapide des différentes étapes du procédé. 10 De plus, toute modélisation 3D avec des surfaces géométriques plus complexes peut être approximée par un maillage 3D polygonal suivant des techniques bien connues de l'homme du métier. Avantageusement et selon l'invention, l'étape de mesure d'une pluralité de 15 distances est effectuée par au moins un télémètre laser à balayage. Avantageusement et selon ce dernier aspect de l'invention, l'étape de mesure d'une pluralité de distances est effectuée par au moins deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants. De préférence, chaque télémètre laser supplémentaire est configuré pour 20 effectuer des balayages dans des plans sécants aux plans de balayage des autres télémètres. Avantageusement et selon l'invention, l'étape d'évaluation d'un écart entre l'ensemble de points et la modélisation 3D de l'environnement comprend : 25 une étape de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position et d'une attitude de l'engin mobile, une étape de calcul, pour chaque point dudit nuage de points, d'une 30 norme entre ledit point et une surface de la modélisation 3D de l'environnement. 3046848 5 L'attitude de l'engin mobile correspond à l'orientation de l'engin dans l'espace, exprimée par des angles 0, cl) et (1) d'Euler, connus de l'homme du métier. Avantageusement, un procédé selon l'invention comprend, préalablement à 5 ladite étape de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement : une étape de décomposition de l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes, 10 une étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle avec le cube, et l'étape de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement comprend : 15 une étape de sélection d'un des cubes, dit cube centré, dans lequel se trouve le point du nuage de points et duquel le point du nuage de points est le plus écarté de chacune de ses faces, une étape de récupération de la liste des surfaces ayant une intersection avec le cube centré, dites surfaces proches, 20 une étape de calcul d'une norme entre le point et chaque surface proche, une étape de détermination de la surface la plus proche du point parmi les surfaces proches, ladite surface la plus proche étant la surface dont la norme entre elle et le point est la plus faible, ladite norme étant 25 considérée comme la norme entre le point et la modélisation 3D de l'environnement. Avantageusement, l'étape de décomposition de l'environnement en cubes superposés, et l'étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle avec le cube, 30 peuvent être préalablement exécutées et le résultat de ces étapes sauvegardé dans une mémoire de l'engin mobile pour permettre un traitement plus rapide. En effet, ces 3046848 6 étapes ne sont pas liées à la position de l'engin ni aux mesures de distances effectuées. Selon cet aspect de l'invention, la décomposition de l'environnement en cubes et le calcul de la norme entre chaque point et les surfaces proches permet un calcul rapide et peu coûteux en ressources de la norme entre chaque point et la modélisation 5 3D de l'environnement, car seul un calcul des normes avec les surfaces proches est effectué, plutôt qu'avec toutes les surfaces. L'écart du nuage de points avec la modélisation 3D est l'ensemble des normes entre chaque point du nuage de points avec la modélisation 3D, en particulier avec la surface de la modélisation 3D la plus proche de ce point. 10 Avantageusement et selon l'invention, les points dont la norme du point est supérieure à un seuil prédéterminé, dits points isolés, sont extraits du nuage de points, et le procédé comprend une étape de détection d'obstacle dans laquelle les points isolés proches sont regroupés pour former des volumes représentant des obstacles, et 15 lesdits volumes sont enregistrés. Selon cet aspect de l'invention, le procédé permet l'isolation des points correspondant à des obstacles qui ne sont pas inclus dans la modélisation 3D de l'environnement, leur traitement et leur prise en compte dans le positionnement de l'engin mobile, afin d'éviter que l'engin mobile entre en contact avec ces obstacles. Les 20 volumes représentant les obstacles sont enregistrés et permettent d'être pris en compte dans la navigation et d'être suivis au fur et à mesure des déplacements de l'engin mobile. Avantageusement, un procédé selon l'invention comprend une étape de 25 suppression, du nuage de point, de points correspondant au sol ou au plafond de l'environnement. Selon cet aspect de l'invention, le procédé permet de limiter le nombre de points à traiter en supprimant du nuage de points les points correspondant au sol ou au plafond de l'environnement qui sont peu utiles lorsque l'altitude de l'engin mobile ou 30 une estimation de cette altitude est disponible : l'engin mobile sait que le sol et le plafond correspondent à des altitudes particulières constantes et ne nécessite pas de 3046848 7 connaitre les points formant le sol ou le plafond. L'altitude est connue soit par mesure directe, soit par estimation. Le procédé est ainsi plus rapide du fait de la réduction du nombre de points à traiter. 5 Avantageusement, un procédé selon l'invention comprend une étape de suppression, du nuage de points, des points ambigus ou redondants. Selon cet aspect de l'invention, le procédé permet de limiter le nombre de points à traiter en supprimant du nuage de points les points correspondant aux mesures 10 de distances ambigües ou redondantes. Les points ambigus sont les points correspondant à une mesure de points sur les bords d'une surface ou une mesure sur une surface présentant un angle d'incidence faible, qui peuvent être erronées. Les points redondants sont les points situés sur une surface dont le nuage de points comprend déjà suffisamment de points pour définir ladite surface. 15 Le procédé est ainsi plus rapide du fait de la réduction du nombre de points à traiter. L'invention concerne également un procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin 20 mobile, caractérisé en ce qu'une position de l'engin mobile est déterminée, pendant l'étape de déplacement, par un procédé de détermination selon l'invention. L'invention concerne également un procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile et des positions de volumes 25 correspondant à des obstacles sont déterminées par un procédé de détermination selon l'invention, et en ce qu'il comprend au moins une étape d'évitement desdits volumes correspondant à des obstacles. L'invention concerne également un système de détermination de la position 30 relative d'un engin mobile par rapport à un environnement modélisé par une modélisation 3D selon un repère de l'environnement, embarqué dans ledit engin mobile 3046848 8 et caractérisé en ce qu'il comprend : des moyens de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, 5 des modules d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement, des modules de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart. Les moyens de mesure sont par exemple des capteurs embarqués par le module 10 tels qu'au moins un télémètre laser à balayage, de préférence deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants, une caméra avec mesure de profondeur (de type RGBD pour Red Green Blue Depth en anglais), un dispositif de stéréovision, un radar millimétrique, etc., ou une combinaison de ces capteurs. 15 Le module d'évaluation de l'écart et le module de détermination de la position relative de l'engin mobile sont embarqués dans l'engin mobile. Toutefois, certains calculs non liés aux distances mesurées ou à la position de l'engin mobile peuvent être effectués dans un ordinateur distinct, et fournis préalablement au système de détermination pour améliorer la vitesse de traitement des différents moyens qu'il 20 comprend. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il 25 comprend des instructions de code de programme pour la mise en oeuvre du procédé de détermination selon l'invention. Un tel produit programme d'ordinateur permet de déterminer la position d'un engin mobile dans lequel il est exécuté rapidement, en nécessitant peu de ressources processeur et ainsi avec une consommation énergétique faible. 30 L'invention concerne également un moyen de stockage lisible par ordinateur, 3046848 9 totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé de détermination selon l'invention. 5 Avantageusement, un système de détermination selon l'invention met en oeuvre un procédé de détermination selon l'invention. Avantageusement, un procédé de détermination selon l'invention est mis en oeuvre par un système selon l'invention. L'invention concerne également un produit programme d'ordinateur 10 téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de détermination selon l'invention. L'invention concerne également un moyen de stockage lisible par ordinateur, 15 totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé de détermination selon l'invention. L'invention concerne également un procédé de détermination, un procédé de 20 navigation, un système, un produit programme d'ordinateur et un moyen de stockage caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus ou ci-après. 5. Liste des figures D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la 25 lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles : la figure 1 est une représentation schématique d'un procédé selon un mode de réalisation de l'invention, la figure 2 est une représentation d'un polygone d'un maillage 3D de 30 l'environnement. 6. Description détaillée d'un mode de réalisation de l'invention 3046848 10 Les réalisations suivantes sont des exemples. Bien que la description se réfère à un ou plusieurs modes de réalisation, ceci ne signifie pas nécessairement que chaque référence concerne le même mode de réalisation, ou que les caractéristiques s'appliquent seulement à un seul mode de réalisation. De simples caractéristiques de 5 différents modes de réalisation peuvent également être combinées pour fournir d'autres réalisations. Sur les figures, les échelles et les proportions ne sont pas strictement respectées et ce, à des fins d'illustration et de clarté. La figure 1 représente schématiquement un procédé de détermination de la 10 position d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, selon un mode de réalisation de l'invention. Tout ou partie de ce procédé de détermination est mis en oeuvre par un système de détermination embarqué dans un engin mobile, selon un mode de réalisation de l'invention. Le 15 procédé est décrit avantageusement pour un engin mobile se déplaçant en trois dimensions, de type engin volant tel qu'un drone, par exemple de type hélicoptère ou multi-rotors. Dans ce mode de réalisation, la modélisation 3D est un maillage 3D polygonal, c'est-à-dire que les surfaces géométriques formant la modélisation 3D sont des 20 polygones. Toutefois, l'invention s'applique aussi à tout type de modélisation 3D, notamment des modélisations 3D avec des surfaces géométriques plus complexes (sphères, cylindres, ellipses & cônes notamment). Le procédé de détermination comprend une première étape 10 de mesure d'une pluralité de distances de l'engin mobile à l'environnement dans au moins une direction, 25 de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, par des moyens de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction. Ces moyens de mesure sont par exemple des capteurs tels qu'au moins un télémètre laser à balayage, de préférence deux télémètres laser à balayage dans des 30 plans sécants, une caméra avec mesure de profondeur (de type RGBD pour Red Green Blue Depth en anglais), un dispositif de stéréovision, un radar millimétrique, etc., ou une 3046848 11 combinaison de ces capteurs. Les mesures de distances prennent la forme de paires (angle solide ; distance mesurée dans cet angle solide) selon un repère de l'engin mobile et par rapport à un point connu sur l'engin mobile, typiquement la position des moyens de mesures, connue 5 par rapport au centre de gravité de l'engin mobile. Un télémètre laser à balayage peut par exemple effectuer des mesures de distances avec un faible pas angulaire (par exemple 0.25°) et sur un large champ angulaire (270° ou plus), permettant d'obtenir un grand nombre de paires (angle solide ; distance). L'utilisation de plusieurs télémètres avec des orientations différentes et/ou 10 des miroirs permet d'obtenir des mesures dans différents plans. Selon d'autres modes de réalisation, des moyens d'acquisition de type caméra RGBD ou stéréovision, radar ou sonar permettent d'obtenir les mesures de distances sur plusieurs dimensions sans nécessiter de balayage. Les paires (angle solide ; distance) forment un ensemble de points dans un 15 repère de l'engin mobile : les paires correspondent aux coordonnées sphériques des points de l'ensemble de points dans un repère de l'engin mobile. Le procédé comprend ensuite une étape 12 facultative de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement, par un 20 module de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement. L'extraction des distances mesurées correspondant au sol ou au plafond parmi l'ensemble des distances mesurées permet de réduire le nombre de distances prises en compte dans la suite du procédé de détermination. 25 Cette extraction nécessite de connaitre l'attitude de l'engin, et dans un moyen de réalisation, son altitude, mesurée par un capteur spécifique, ou une estimation de l'altitude de l'engin mobile, déduite de la position précédente de l'engin mobile en tenant compte du déplacement approximatif depuis cette dernière position. À partir de l'attitude, il est possible de déterminer dans un premier temps la 30 hauteur de chaque point associé au couple (angle solide ; distance) dans le repère engin, c'est-à-dire d'obtenir une coordonnée selon un axe Oz vertical dirigé vers le haut dont 3046848 12 l'origine est l'engin mobile. Ainsi, les points à coordonnées Z positives sont au-dessus de l'engin et les points à coordonnées Z négatives sont en dessous de l'engin. Ensuite, pour chaque surface à supprimer (typiquement le sol et le plafond), on construit un intervalle [ZC-DZ, ZC+DZ] de centre ZC et d'amplitude 2DZ. La valeur DZ 5 peut être une constante, par exemple 10cm, ou être fonction de la vitesse verticale VZ, par exemple DZ = DZmin + K * I VZ I où I VZ I désigne la valeur absolue de VZ et DZmin et K sont des coefficients. Selon une premier mode de réalisation, ZC est calculé en utilisant l'altitude de l'engin : 10 Pour le sol : ZC = - ZE avec ZE l'altitude de l'engin par rapport au sol Pour le plafond : ZC = H - ZE avec H la hauteur du plafond Selon un second mode de réalisation, ZC est calculé directement à partir des coordonnées Z des points : Pour le sol : ZC = (minimum de toutes les coordonnées Z) + DZ 15 Pour le plafond : ZC = (maximum de toutes les coordonnées Z) - DZ Le premier mode de réalisation à l'avantage d'être plus rapide puisque l'intervalle est connu immédiatement sans avoir à calculer de minimum ou maximum sur tous les points et présente l'avantage de fonctionner même avec des « trous » dans 20 le sol ou plafond. Le second mode de réalisation à l'avantage de ne pas utiliser l'altitude de l'engin, et peut notamment fonctionner même si l'estimation de l'altitude ne fonctionne plus. Un troisième mode de réalisation, le mode préféré, est donc d'utiliser le premier 25 mode lorsqu'une bonne estimation de l'altitude est disponible et d'utiliser le second mode sinon. Finalement, on extrait ensuite tous les points dont la coordonnée verticale est comprise dans cet intervalle. On peut aussi utiliser ces points extraits pour effectuer une nouvelle estimation 30 de l'altitude, en appliquant aux coordonnées verticales de ces points un algorithme de type RANSAC dans lequel on calcule la moyenne de toutes les coordonnées verticales, 3046848 13 on retire un pourcentage prédéterminé (par exemple 10%) de points dont les coordonnées verticales sont les plus éloignées de la moyenne, et on recalcule la moyenne à partir des points restants : cette moyenne est l'estimation de la hauteur du sol pour les points correspondants au sol et l'estimation de la hauteur du plafond pour 5 les points correspondants au plafond. Le procédé comprend ensuite une étape 14 facultative de suppression, du nuage de points, des points ambigus ou redondants, par des moyens de suppression, du nuage de points, des points ambigus ou redondants. 10 Cette étape comprend plusieurs objectifs : un premier objectif est d'éviter la duplication de distances mesurées trop semblables, par exemple un ensemble de distances mesurées représentant un même plan. Il n'est pas nécessaire de conserver plusieurs centaines de points pour définir une surface plane. Un deuxième objectif est de réduire le nombre de distances mesurées non 15 fiables, notamment lorsque les moyens de mesures de distances sont des télémètres laser dont les mesures sont faites par balayage. Par exemple, pour des angles solides proches, la distance mesurée peut varier de façon importante lorsque l'environnement comprend des surfaces éloignées : les points intermédiaires entre ces distances éloignées peuvent être erronés. En outre, les mesures sur une surface avec laquelle le 20 laser du télémètre présente un angle d'incidence faible (proche de 0°) peuvent être erronées. Un troisième objectif est de s'assurer de la présence d'un nombre de points minimum dans toutes les directions, afin d'obtenir un résultat cohérent. Pour répondre à ces objectifs, l'étape de suppression des distances comprend : 25 une étape d'attribution d'un score de non ambigüité S1 = f1(distance au bord le plus proche/distance mesurée), f1 étant par exemple une fonction gaussienne renvoyant un nombre entre 0 (très proche du bord) ou 1 (loin de tout bord), une étape d'attribution d'un score de bonne incidence S2 = f2(angle d'incidence), f2 étant par exemple une fonction gaussienne renvoyant un nombre entre 0 30 (angle rasant de 0°) et 1 (angle orthogonal à 90°), une étape de combinaison des scores pour former un score global S = S1xS2, 3046848 14 compris entre 0 et 1, une étape de décomposition des mesures par des secteurs angulaires d'une sphère, par exemple (360/30)2 = 144 secteurs angulaires de 30° par 30°, pour chaque secteur angulaire, et tant que le score global d'une mesure du 5 secteur est supérieur à un seuil prédéterminé (par exemple 0,5), une étape de sélection de la mesure ayant le meilleur score global et de suppression des P points proches les plus proches de ce point (par exemple P=20). De préférence, les points très proches d'une mesure sélectionnée peuvent être utilisés pour consolider ladite mesure sélectionnée avant d'être supprimées. La consolidation 10 est par exemple une moyenne ou une médiane sur 3 points. On obtient ainsi une liste réduite de mesures de distances permettant d'accélérer le traitement des étapes suivantes tout en supprimant des données pouvant être erronées et en conservant un nombre suffisant de points dans chaque secteur angulaire. 15 Le procédé comprend ensuite une étape d'évaluation d'un écart entre ledit ensemble de points et le maillage 3D de l'environnement et une étape 20 de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart. Ces étapes peuvent être exécutées plusieurs fois 20 en boucle pour permettre d'affiner la position de l'engin mobile. L'étape d'évaluation d'un écart entre ledit ensemble de points et le maillage 3D de l'environnement comprend une étape 16 de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position de l'engin mobile et une étape 18 de calcul, pour 25 chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3D de l'environnement. La conversion s'effectue par la détermination de la matrice de passage du repère de l'engin mobile au repère de l'environnement, basée sur une estimation de la position et de l'attitude de l'engin. Le repère de l'environnement est de préférence orthonormé 30 de type Oxyz. La position de l'engin peut être estimée de plusieurs façons différentes selon le 3046848 15 mode de réalisation. L'attitude de l'engin est généralement connue grâce à un système inertiel, tel qu'une centrale inertielle à bas coût. Lorsque le procédé a déjà été mis en oeuvre, on peut utiliser comme estimation 5 de position la dernière position fournie par le procédé. Cette dernière position peut éventuellement être affinée si l'engin mobile connait approximativement la vitesse et la direction de déplacement de l'engin, par exemple via un accéléromètre. Lorsque le procédé n'a pas été mis en oeuvre (typiquement au démarrage de l'engin mobile et au premier lancement du procédé), la méthode suivante sera utilisée 10 pour déterminer la position initiale (x,y,z,psi) : Dans le cas où la position et l'orientation initiales de l'engin mobile sont imposés (l'engin mobile est disposé à une position et orientation précise et connue), cette position et orientation sont fournies comme estimation de la position de l'engin et les étapes suivantes du procédé de détermination sont exécutées un nombre fixe de fois 15 (par exemple 5), puis la cohérence de cette position est vérifiée : une position est dite cohérente si un indicateur de précision, représentative de la moyenne des normes de chaque point avec une surface de l'environnement (décrit ci-dessous) est inférieure à un seuil (par exemple l'écart moyen est de moins de 20cm) et le pourcentage de points dont la norme entre ledit point et l'environnement est inférieure à un écart maximal est 20 supérieur à un seuil (par exemple plus de 75%). Si la position est cohérente, la position est utilisée comme estimation de la position, sinon la méthode ci-dessous, dite méthode de maillage est utilisée. Si la position et l'orientation initiales sont libres, la seule connaissance que l'on ait est la hauteur de l'engin mobile par rapport au sol et donc son altitude, notée h. On 25 sait donc que le drone se trouve dans le plan d'équation z=h. Ce plan (qui est en réalité un rectangle car l'environnement est de taille finie) est maillé avec un certain pas (par exemple 1m) dont chaque point constitue une estimation de la position à utiliser dans les étapes suivantes du procédé. Si une estimation de l'orientation est disponible, par exemple en extérieur avec le champ magnétique, celle-ci est utilisé. Sinon, pour chaque 30 position, l'orientation psi de l'engin mobile est aussi discrétisée avec un pas, par exemple 20°. Chaque couple (position, orientation) est fourni comme initialisation des 3046848 16 étapes suivantes du procédé et ces étapes sont exécutés un nombre fixe de fois (par exemple 5). Dès lors qu'un couple satisfait le critère de cohérence définit précédemment il est utilisé comme estimation de la position initiale. Certains environnements permettent une détermination approximative de la 5 position initiale de l'engin mobile. Par exemple, dans le cas où l'environnement comprend un avion, on peut extraire la distance entre l'engin mobile et un fuselage de l'avion, et/ou la distance entre l'engin mobile et une aile de l'avion, ce qui permet de restreindre considérablement le nombre de positions à tester. Si une précédente estimation de position est disponible, les positions proches 10 seront testées en priorité. De plus, la méthode de maillage permet de retrouver une position valide dans le cas où l'on aurait perdu le positionnement de l'engin mobile pendant son déplacement. Pour cela, la maille de recherche est constituée de points sur une sphère autour de la dernière position connue (par exemple, de rayon 1m). . De même, les points les plus 15 proches de la dernière position connue seront testés en priorité. L'algorithme se poursuit jusqu'à trouver une position validant le critère de cohérence. Si aucune n'est trouvée sur la sphère, le rayon de celle-ci est augmenté (par exemple, par pas de 1m) et l'algorithme recommence. 20 En outre, l'estimation de l'altitude peut provenir des résultats de l'étape facultative d'extraction des distances mesurées correspondant au sol de l'environnement, si elle a été exécutée. Le maillage 3D de l'environnement est par exemple une représentation de l'environnement sous la forme d'un ensemble de polygones associés pour former une 25 approximation des surfaces de l'environnement. Ces polygones sont par exemples des triangles ou des quadrangles. L'objectif de l'étape 18 de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3D de l'environnement est de déterminer, pour chaque point du nuage de points, la norme de ce point avec le 30 polygone le plus proche, et d'en déduire une norme du nuage de points avec le maillage 3D, représentative de l'erreur de la position utilisée dans l'étape de conversion des 3046848 17 distances mesurées vers un nuage de points dans le repère de l'environnement. Pour ce faire, le maillage 3D de l'environnement (représenté par la référence 100) est préalablement divisé par un motif cubique comprenant des cubes superposés recouvrant l'ensemble de l'environnement. Cette étape de décomposition de 5 l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes suit par exemple les étapes suivantes : division de l'environnement en un motif de cubes de tailles égales adjacents et non superposés recouvrant l'ensemble de l'environnement. Par exemple, la 10 longueur des côtés d'un cube est de 1m. duplication du motif de cube et translation de la duplication d'une demi-longueur de cube selon l'axe Ox du repère de l'environnement. On obtient alors deux fois plus de cubes que dans le motif initial. duplication du nouveau motif de cube et translation de la duplication d'une demi- 15 longueur de cube selon l'axe Oy du repère de l'environnement. On obtient alors deux fois plus de cubes qu'à l'étape précédente et quatre fois plus de cubes que dans le motif initial. duplication du nouveau motif de cube et translation de la duplication d'une demi-longueur de cube selon l'axe Oz du repère de l'environnement. On obtient alors 20 deux fois plus de cubes qu'à l'étape précédente et huit fois plus de cubes que dans le motif initial. Grâce à ce motif de cubes, tout point de l'environnement non inclus dans une face d'un cube et non en bordure de l'environnement se trouve dans exactement huit cubes, et parmi ces huit cubes il y a toujours un cube, dit cube centré, duquel le point 25 est le plus écarté de chacune des faces dudit cube, c'est-à-dire qu'il est à plus d'un quart de longueur d'arête de chaque face du cube (soit 25cm pour un cube de d'arête 1m). Une liste des cubes du motif de cubes est avantageusement organisée de sorte qu'à partir d'un point dont les coordonnées sont exprimées dans le repère de l'environnement, une formule mathématique simple permette de trouver facilement le 30 cube centré correspondant à ce point : les cubes ont un index relié à leur position dans l'environnement. 3046848 18 Le procédé comprend ensuite une étape de détermination, pour chaque cube, des polygones du maillage 3D de l'environnement ayant une intersection non nulle avec le cube. Dans cette étape, pour chaque cube, la liste des polygones est parcourue pour récupérer ceux dont l'intersection avec le volume du cube est non nulle, c'est-à-dire les 5 polygones qui sont contenus dans le cube ou qui coupent au moins une face du cube. Les résultats de cette étape sont stockés de façon à être accessibles rapidement par un système embarqué. Ce procédé s'appliquerait de façon analogue à la liste des surfaces pour définir quelles surfaces ont une intersection non nulle avec les cubes. Ces étapes de décomposition de l'environnement en cubes superposés et de 10 détermination, pour chaque cube, des polygones du maillage 3D de l'environnement ayant une intersection non nulle avec le cube, sont des étapes qui ne sont pas liées aux mesures de distances ou à la position de l'engin mobile et qui peuvent être exécutées une fois pour l'environnement. Ils peuvent donc être exécutés par un ordinateur externe, et seuls les résultats comprenant la liste des cubes indexés et les triangles 15 associés à chaque cube indexé ayant une intersection avec ce cube sont stockés par le système embarqué. Le procédé comprend, dans l'étape 18 de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3D de l'environnement, une étape de sélection d'un des cubes, dit cube centré, duquel le point 20 du nuage de points est le plus écarté de chacune de ses faces. Grâce à l'indexation préférentielle des cubes décrite précédemment, le cube centré est déterminé rapidement grâce aux coordonnées du point. Par exemple, le calcul pour déterminer l'index du cube pour un point P de coordonnées (xp, yp, zp) est : Index = K1+ K2*F100r(Xp/L) + K3*F100r(yp/L) + K4*Floor(zp/L) 25 avec K1, K2, K3, K4 des nombres entiers fonction de la position du maillage et de sa taille, L la demi-longueur d'une arête d'un cube et Floor() la fonction mathématique partie entière. Le procédé comprend ensuite une étape de récupération de la liste des polygones ayant une intersection avec le cube centré, dits polygones proches. Ces 30 polygones sont récupérés rapidement à partir du cube centré, grâce au stockage décrit précédemment associant à chaque cube les polygones avec lesquels il présente une 3046848 19 intersection non nulle. Si la liste ne comprend aucun polygone, le point est dit point isolé et est supprimé de la liste des points pour la suite de l'étape d'évaluation d'un écart entre l'ensemble de points et le maillage 3D de l'environnement. Les points isolés sont 5 regroupés dans une liste de points isolés, permettant la détection d'obstacles. Le procédé comprend ensuite une étape de calcul d'une norme entre le point et chaque polygone proche. Par exemple, si les polygones sont des triangles, le calcul de chaque norme s'effectue de la façon suivante : 10 Soit : P le point dont on veut calculer la norme entre lui et le triangle, Un triangle T de sommets A, B et C paramétré par l'équation T(s, t) = A + sB + tC où (s, t) E D = {(s, t), t E [0,1], s + t 1} La distance au carré de P à un point T (s,t) du triangle est Q (s , t) = 1 T (s , t) - P 12 15 Le but de l'algorithme est de trouver la paire (s,t) correspondant au point minimisant Q. L'algorithme de calcul rapide de la norme d'un point à un triangle est défini comme suit : 1. Calcul de la paire (s,t) minimisant le gradient de Q, la paire (s, t) définissant un point dit point candidat. 20 2. Si le point candidat appartient au triangle (donc s et t appartiennent à D), la paire (s,t) minimisante est trouvée, l'algorithme est terminé. 3. Si le point candidat n'est pas dans le triangle, alors le minimum de Q est réalisé sur les bords du triangle. Le point candidat est dans ce cas le projeté orthogonal de P sur le plan défini par 25 le triangle, mais ce point n'appartient pas à la surface fermée du triangle. L'espace du plan défini par le triangle est alors partitionné en plusieurs régions comme représenté en référence à la figure 2, représentant le triangle ABC et sur un repère 2D (A, s, t). Ainsi, le point candidat se trouve dans une des régions 1 à 6, numérotées respectivement R1, R2, R3, R4, R5, R6, la région 0 (numérotée RO) 30 correspondant au cas 2 décrit précédemment. 4. Détermination de la région correspondante selon les valeurs de s et t du point 3046848 20 candidat : De simples considérations géométriques donnent directement la région correspondante au point candidat. Exemple, si s REVENDICATIONS1. Procédé de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, comprenant : une étape (10) de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, une étape d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement, une étape (20) de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart. 2. Procédé de détermination selon la revendication 1, caractérisé en ce que la modélisation 3D est un maillage 3D polygonal et en ce que les surfaces géométriques sont des polygones. 3. Procédé de détermination selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape (10) de mesure d'une pluralité de distances est effectuée par au moins un télémètre laser à balayage. 4. Procédé de détermination selon la revendication 3, caractérisé en ce que l'étape (10) de mesure d'une pluralité de distances est effectuée par au moins deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants. 5. Procédé de détermination selon l'une des revendications 1 à 4, caractérisé en ce que l'étape d'évaluation d'un écart entre l'ensemble de points et la modélisation 3D de l'environnement comprend : une étape (16) de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position et d'une 3046848 25 attitude de l'engin mobile, une étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement. 5 6. Procédé de détermination selon la revendication 5, caractérisé en ce qu'il comprend, préalablement à ladite étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement : 10 - une étape de décomposition de l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes, - une étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle 15 avec le cube, et en ce que l'étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement comprend : - une étape de sélection d'un des cubes, dit cube centré, dans lequel se 20 trouve le point du nuage de point et duquel le point du nuage de point est le plus écarté de chacune de ses faces, - une étape de récupération de la liste des surfaces ayant une intersection avec le cube centré, dites surfaces proches, - une étape de calcul d'une norme entre le point et chaque surface 25 proche, - une étape de détermination de la surface la plus proche du point parmi les surfaces proches, ladite surface la plus proche étant la surface dont la norme entre elle et le point est la plus faible, ladite norme étant considérée comme la norme entre le point et la modélisation 3D de 30 l'environnement. 3046848 26 7. Procédé de détermination selon la revendication 6, caractérisé en ce que les points dont la norme du point est supérieure à un seuil prédéterminé, dits points isolés, sont extraits du nuage de points, et le procédé comprend une étape (22) de détection d'obstacle dans laquelle les points isolés proches sont regroupés pour former des 5 volumes représentant des obstacles, et lesdits volumes sont enregistrés. 8. Procédé de détermination selon l'une des revendications 5 à 7, caractérisé en ce qu'il comprend une étape (12) de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement. 10 9. Procédé de détermination selon l'une des revendications 5 à 8, caractérisé en ce qu'il comprend une étape (14) de suppression, du nuage de points, des points ambigus ou redondants. 15 10. Procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile est déterminée, pendant l'étape de déplacement, par un procédé de détermination selon l'une des revendications 1 à 9. 20 11. Procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile et des positions de volumes correspondant à des obstacles sont déterminées par un procédé de détermination selon la revendication 7, et en ce qu'il comprend au moins une étape d'évitement desdits volumes correspondant à des 25 obstacles. 12. Système de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par une modélisation 3D selon un repère de l'environnement, embarqué dans ledit engin mobile et caractérisé en ce qu'il 30 comprend : - des moyens de mesure d'une pluralité de distances de l'engin à 3046848 27 l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, des modules d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement, 5 des modules de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart. 13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable 10 par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de détermination selon l'une des revendications 1 à 9. 14. Moyen de stockage lisible par ordinateur, totalement ou partiellement 15 amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé de détermination selon l'une des revendications 1 à 9.