Brevet FR3039642A1 — publié le 20170203

PROCEDE DE LOCALISATION D'UN ENGIN MOBILE ET DISPOSITIF DE LOCALISATION ASSOCIE DOMAINE TECHNIQUE AUQUEL SE RAPPORTE L'INVENTION La présente invention concerne la localisation d'un engin mobile, tel qu'un robot ou un véhicule. Elle concerne plus particulièrement un procédé de localisation d'un engin mobile et un dispositif de localisation associé. L'invention s'applique particulièrement avantageusement dans le cas où 10 une carte électronique contient des informations de largeur des routes répertoriées dans cette carte. ARRIERE-PLAN TECHNOLOGIQUE On connaît des dispositifs de localisation et de cartographie conçus pour équiper un engin mobile (par exemple un robot) afin à la fois de localiser l'engin 15 mobile dans son environnement et de produire une cartographie de cet environnement. De tels dispositifs sont couramment dénommés SLAM, en référence à l'acronyme anglo-saxon pour "Simultaneous Localization And Mapping". La cartographie étant construite au fur et à mesure du parcours effectué 20 par l'engin mobile, ces dispositifs sont particulièrement adaptés lorsque l'engin mobile évolue dans un environnement qui lui est initialement inconnu. À l'inverse, on utilise fréquemment de nos jours, par exemple dans les véhicules automobiles, des systèmes de navigation qui déterminent la position du véhicule au moyen d'un système de positionnement par satellite et peuvent alors 25 afficher certains éléments de l'environnement du véhicule tels qu'ils sont mémorisés dans une carte électronique préétablie. OBJET DE L'INVENTION Dans ce contexte, la présente invention propose un procédé de localisation d'un engin mobile relativement à une carte électronique mémorisée 30 sous forme d'une base de données cartographique, caractérisé en ce qu'il comprend les étapes suivantes : - construction, au moyen d'un capteur équipant l'engin mobile, d'une première représentation surfacique descriptive de zones occupées ou libres dans l'environnement de l'engin mobile ; 3039642 2 - construction, à partir de la base de données cartographique, d'une seconde représentation surfacique descriptive de zones occupées ou libres de la carte électronique ; - détermination de la position de l'engin mobile par mise en 5 correspondance de la première représentation surfacique et de la seconde représentation surfacique. On obtient ainsi un positionnement particulièrement précis de l'engin mobile en combinant les informations surfaciques obtenues au moyen du capteur et celles dérivées de la carte électronique. D'autres caractéristiques optionnelles et donc non limitatives sont les suivantes : - la première représentation et la seconde représentation sont des grilles d'occupation ; - le capteur est conçu pour détecter des obstacles de l'environnement ; - le capteur est un lidar ; - la carte électronique est une carte sémantique ; - la base de données cartographique contient, pour une route répertoriée dans la carte électronique, des informations de localisation de la route et des informations de largeur de la route ; - une zone correspondant à une route répertoriée dans la carte électronique est définie comme libre au cours de l'étape de construction de la seconde représentation surfacique ; - une zone correspondant à un bâtiment répertorié dans la carte électronique est définie comme occupée au cours de l'étape de construction de la seconde représentation surfacique ; - l'étape de construction de la seconde représentation surfacique comprend une étape d'extraction de données de la base de données cartographique en fonction d'une position estimée générée par un système de positionnement ; - l'étape de détermination de la position comprend une étape de sélection de la position qui maximise un opérateur de correspondance appliqué à la première représentation surfacique et à la seconde représentation surfacique pour plusieurs positions possibles de l'engin mobile ; - l'étape de détermination de la position met en oeuvre un algorithme de 3039642 3 localisation de Monte-Carlo. L'invention propose également un dispositif de localisation destiné à équiper un engin mobile dans un environnement comprenant une pluralité de zones, caractérisé en ce qu'il comprend un module de réception de données 5 générées par un capteur, un module de construction, en fonctions desdites données, d'une première représentation surfacique descriptive de zones occupées ou libres de l'environnement, un module de construction, à partir d'une base de données cartographique représentant une carte électronique, d'une seconde représentation surfacique descriptive de zones occupées ou libres de la carte 10 électronique et un module de détermination de la position de l'engin mobile relativement à la carte électronique par mise en correspondance de la première représentation surfacique et de la seconde représentation surfacique. Un tel dispositif peut éventuellement présenter une ou plusieurs des caractéristiques correspondant à celles proposées ci-dessus pour le procédé de 15 localisation. DESCRIPTION DETAILLEE D'UN EXEMPLE DE REALISATION La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. 20 Sur les dessins annexés : - la figure 1 représente un système comprenant notamment un exemple de dispositif de localisation conforme à l'invention ; - la figure 2 représente sous forme fonctionnelle les traitements effectués par le dispositif de localisation de la figure 1. 25 La figure 1 représente schématiquement les éléments principaux d'un système incluant un dispositif de localisation 10. Un tel système équipe un engin mobile dans un environnement, par exemple un véhicule automobile ou un robot. Le dispositif de localisation 10 peut également intégrer une fonctionnalité de construction et/ou d'enrichissement d'une 30 cartographie de l'environnement. Un système équipé d'un tel dispositif de localisation et de cartographie, parfois dénommé SLAM (acronyme anglo-saxon signifiant "Simultaneous Localisation And Mapping"), permet dans ce cas à la fois la localisation du système (et donc de l'engin mobile) dans l'environnement et la découverte de la cartographie de l'environnement. 3039642 4 Le système de la figure 1 comprend un capteur 2 qui génère des données indicatives de positions (relativement au système) d'obstacles présents dans l'environnement. Le capteur 2 est par exemple de type lidar ; dans ce cas, les données indicatives de positions sont représentatives, pour une pluralité 5 d'orientations a par rapport à une direction de référence du système, de la distance d(a) (par rapport au système) du premier obstacle rencontré dans la direction associé à cette orientation a. On pourrait en variante utiliser un capteur d'un autre type, par exemple un radar. 10 Le système de la figure 1 comprend également un système de positionnement 8, ici un système de positionnement par satellite (ou GNSS pour "Global Navigation Satellite System") conçu pour fournir des données Xest indicatives de la position estimée du système (et donc de l'engin mobile) dans un référentiel donné, ici le référentiel terrestre. 15 Le système de la figure 1 comprend en outre une base de données cartographique 12 qui contient des informations descriptives d'une carte électronique, ici sous forme sémantique (c'est-à-dire en utilisant une description schématisée des caractéristiques principales des différents objets et infrastructures présents dans la carte électronique, description qui inclut 20 notamment la position de l'objet concerné dans le référentiel susmentionné, ici le référentiel terrestre). La base de données cartographique 12 contient notamment des informations descriptives des routes répertoriées dans la carte électronique (on utilise ici le terme "route" au sens général, qui couvre les rues, avenues, etc.) ; en 25 particulier, pour chaque route répertoriée, la base de données cartographique 12 comprend des informations de localisation de la route concernée (ici dans le référentiel utilisé par le système de positionnement 8) et des informations de largeur de la route concernée (par exemple le nombre de voies de circulation de la route et/ou la largeur de la route). 30 Le système de la figure 1 comprend enfin le dispositif de localisation 10, qui reçoit en entrée les données indicatives de position d'obstacle générées par le capteur 2 et les données indicatives de la position du système générées par le système de positionnement 8, et qui génère en sortie (grâce aux traitements expliqués plus bas) des informations de localisation X du système (et donc de 3039642 5 l'engin mobile équipé du système) en ayant recours notamment à la base de données cartographique 12. Afin de mettre en oeuvre les traitements décrits ci-dessous, le dispositif de localisation 10 comprend ici un processeur 4 (par exemple un 5 microprocesseur) et un moyen de mémorisation 6 (par exemple un disque dur). Le processeur 4 est conçu pour mettre en oeuvre les traitements décrits ci-dessous, notamment en référence à la figure 2, par exemple du fait de l'exécution d'instructions de programme d'ordinateur mémorisées dans les moyens de mémorisation 6. En variante, ces traitements pourraient être effectués 10 par un circuit intégré à application spécifique (ou ASIC de l'anglais "Application Specific Integrated Circuit') implanté dans le dispositif de localisation 10. Les moyens de mémorisation 6 permettent par ailleurs la mémorisation des données utilisées lors du traitement décrit ci-après, notamment les grilles d'occupation G1, G2. 15 La figure 2 représente sous forme fonctionnelle les traitements effectués par le dispositif de localisation 10 afin de déterminer les informations de localisation X à partir des données indicatives de positions d(a) générées par le capteur 2 et des données Xest indicatives de la position estimée du système générées par le système de positionnement 8. 20 Ainsi, les différents traitements réalisés par le dispositif de localisation 10 sont représentés sur la figure 2 mis en oeuvre par différents modules 14, 15, 16, 17, 18 bien que ceux-ci puissent être mis en oeuvre en pratique du fait de l'exécution d'instructions par le même processeur 4. Le dispositif de localisation 10 comprend un premier module de réception 25 14 connecté au capteur 2 et qui reçoit ainsi les données indicatives de position d'obstacle d(a) générées par le capteur 2 et les transmet à un module de construction 16 conçu pour construire une première grille d'occupation G1 en fonction des données de positionnement d(a). Une telle grille d'occupation G1 (en anglais "occupancy grill") décrit, sous 30 forme de grille, les lieux de l'environnement dans lesquels un obstacle a été détecté par le capteur 2. Précisément, pour chaque zone z (ou surface élémentaire) de l'environnement représentée dans la première grille d'occupation G1, la première grille d'occupation G1 fournit un indicateur, noté G 1 (z) dans la suite, de la 3039642 6 présence ou de l'absence d'un obstacle détecté par le capteur 2 dans la zone z, c'est-à-dire un indicateur d'occupation ou de non-occupation de la zone z. Le module de construction 16 est par exemple du type décrit dans l'article "Credibilist Simultaneous Localization and Mapping with a LIDAR", de G. 5 Trehard et al., I ROS - International Conference on Intelligent Robots and Systems, Chicago, septembre 2014. Selon un mode de réalisation envisageable, certaines données produites au cours du traitement effectué par le module de construction 16 peuvent être utilisées pour enrichir la base de données cartographique 12, comme indiqué par 10 une flèche pointillée en figure 2. Le dispositif de localisation 10 comprend également un second module de réception 15 connecté au système de positionnement 8. Ce second module de réception 15 reçoit les données de position estimée Xest et transmet ces données Xest à un module d'extraction 17 conçu pour générer une seconde grille 15 d'occupation G2 en fonction des données de position estimée Xest et de données de la base de données cartographique 12. Précisément, le module d'extraction 17 extrait de la base de données cartographique 12 les informations relatives aux routes environnant (c'est-à-dire, en pratique, situées à une distance inférieure à un seuil prédéterminé de) la 20 position estimée représentée par les données Xest ; le module d'extraction 17 construit alors la seconde grille d'occupation G2 en fonction des informations de positions des routes extraites et des informations de largeur des routes extraites. Autrement dit, le module d'extraction 17 est conçu pour extrapoler les informations sémantiques (informations de la carte sémantique) afin d'obtenir des informations 25 surfaciques correspondantes. Ainsi, pour chaque zone z (ou surface élémentaire) de l'environnement représentée dans la seconde grille d'occupation G2, la seconde grille d'occupation G2 fournit par exemple un indicateur, noté G2(z) dans la suite, représentatif d'occupation lorsque la zone z concernée est située en dehors d'une route et 30 contient un bâtiment, et représentatif de non-occupation lorsque la zone z concernée est située sur une route, ce d'après les informations extraites de la base de données cartographique 12. On peut prévoir dans ce cas que l'indicateur G2(z) soit fixé à une valeur représentative d'un statut de non-connaissance (statut "inconnu") lorsque la zone 3039642 7 z est située en dehors d'une route mais qu'aucune indication n'est donnée dans la base de données cartographique 12 quant à la présence d'un bâtiment (ou autre objet). On prévoit (par exemple en utilisant une valeur appropriée pour le seuil 5 prédéterminé susmentionné) que la première grille d'occupation G1 et la seconde grille d'occupation G2 couvrent une étendue comparable afin de pouvoir les utiliser au mieux comme expliqué à présent. La première grille d'occupation G1 (construite en fonction des données issues du capteur 2) et la seconde grille d'occupation G2 (construite en fonction 10 des informations extraites de la base de données cartographique 12) sont transmises à un module de mise en correspondance 18 conçu pour déterminer les informations de localisation X du système (et donc de l'engin mobile) pour lesquelles la première grille d'occupation G1 (placée relativement au système, d'après ces mêmes informations de localisation X) correspond le mieux à la 15 seconde grille d'occupation G2 (disposée quant à elle d'après les informations de position extraites de la base de données cartographique 12, ici dans le référentiel terrestre). En effet, si la localisation du système (indiquée par les informations de localisation X) est correcte, la première grille d'occupation G1, construite en 20 fonction des observations du capteur 2, devrait correspondre à la seconde grille d'occupation G2, construite d'après la carte électronique. Pour obtenir les informations de localisation X, le module de mise en correspondance 18 utilise par exemple en pratique plusieurs informations de localisation possibles (ou candidats) xi et choisit, parmi ces candidats xi, les 25 informations de localisation X qui maximisent un opérateur de correspondance entre grilles d'occupation : X = arg maxxi 0(Fxi(G ),G2), où O est l'opérateur de correspondance choisi et Fxi(Gi) représente la première grille d'occupation G1 placée (dans le référentiel utilisé pour la seconde 30 grille d'occupation G2) comme indiqué par les informations de localisation candidates xi. Les informations de localisation X (et par conséquent également les informations candidates xi) peuvent inclure non seulement des coordonnées x, y dans le référentiel utilisé (et ici dans le plan de la carte numérique), mais 3039642 8 également une information d'orientation du système (dans le plan de la carte numérique) telle que le cap de l'engin mobile. On propose par exemple d'utiliser un opérateur O qui favorise les correspondances entre zones non-occupées (la valeur de l'opérateur O 5 augmentant pour chaque correspondance entre une zone non-occupée d'une grille et une zone non-occupée de l'autre grille) et qui pénalise une absence de correspondance (la valeur de l'opérateur O diminuant lorsque pour une zone donnée, l'indicateur d'une grille ne correspond pas à l'indicateur de l'autre grille). Par exemple, si pour une grille d'occupation G on note G(z) = 0 pour une 10 zone z libre (non-occupée) et G(z) = 1 pour une zone z occupée, on peut utiliser l'opérateur suivant : O(G,G') = Eza - G (z). G' (z) - 2. IG (z) - G' (z) I]. Selon une autre possibilité de réalisation, le module de mise en correspondance 18 peut utiliser un algorithme de localisation de Monte-Carlo tel 15 que décrit par exemple dans l'article "Monte Carlo localization for mobile robots", F. Dellaert et al., IEEE Interational Conference on Robotics and Automation, 1999. L'état considéré en utilisant cette approche est la position du véhicule (y compris éventuellement sa vitesse), que l'algorithme de localisation de Monte-Carlo cherche à évaluer en considérant un ensemble d'échantillons aléatoires sk, 20 aussi dénommés particules ("particles" dans l'article précité). Ces échantillons sk sont utilisés comme des informations candidates : pour chaque échantillon, on applique un opérateur tel que décrit ci-dessus, ce qui permet d'obtenir une note (ou "score" selon la dénomination anglo-saxonne). Avec la notation utilisée plus haut, cette note s'écrit : 0(Fsk(G1),G2). 25 La note ainsi obtenue permet de faire évoluer le poids de l'échantillon sk concerné dans l'ensemble d'échantillons. La position X choisie (émise en sortie du module de mise en correspondance 18) est finalement obtenue en calculant la moyenne pondérée des différents échantillons sk (chaque échantillon sk étant pondéré par son poids 30 tel que déterminé comme indiqué ci-dessus). REVENDICATIONS1. Procédé de localisation d'un engin mobile relativement à une carte électronique mémorisée sous forme d'une base de données cartographique (12), caractérisé en ce qu'il comprend les étapes suivantes : - construction, au moyen d'un capteur (2) équipant l'engin mobile, d'une première représentation surfacique (G1) descriptive de zones occupées ou libres dans l'environnement de l'engin mobile ; - construction, à partir de la base de données cartographique (12), d'une seconde représentation surfacique (G2) descriptive de zones occupées ou libres de la carte électronique ; - détermination de la position (X) de l'engin mobile par mise en correspondance de la première représentation surfacique (G1) et de la seconde représentation surfacique (G2). 2. Procédé de localisation selon la revendication 1, dans lequel la première représentation (G1) et la seconde représentation (G2) sont des grilles d'occupation. 3. Procédé de localisation selon la revendication 1 ou 2, dans lequel le capteur (2) est conçu pour détecter des obstacles de l'environnement. 4. Procédé de localisation selon la revendication 3, dans lequel le capteur (2) est un lidar. 5. Procédé de localisation selon l'une des revendications 1 à 4, dans lequel la carte électronique est une carte sémantique. 6. Procédé de localisation selon l'une des revendications 1 à 5, dans 30 lequel la base de données cartographique (12) contient, pour une route répertoriée dans la carte électronique, des informations de localisation de la route et des informations de largeur de la route. 7. Procédé de localisation selon l'une des revendications 1 à 6, dans 3039642 10 lequel une zone correspondant à une route répertoriée dans la carte électronique est définie comme libre au cours de l'étape de construction de la seconde représentation surfacique (G2). 5 8. Procédé de localisation selon l'une des revendications 1 à 7, dans lequel une zone correspondant à un bâtiment répertorié dans la carte électronique est définie comme occupée au cours de l'étape de construction de la seconde représentation surfacique (G2). 10 9. Procédé de localisation selon l'une des revendications 1 à 8, dans lequel l'étape de construction de la seconde représentation surfacique (G2) comprend une étape d'extraction de données de la base de données cartographique (12) en fonction d'une position estimée (Xest) générée par un système de positionnement (8). 15 10. Procédé de localisation selon l'une des revendications 1 à 9, dans lequel l'étape de détermination de la position (X) comprend une étape de sélection de la position (X) qui maximise un opérateur de correspondance appliqué à la première représentation surfacique (G1) et à la seconde représentation surfacique 20 (G2) pour plusieurs positions possibles de l'engin mobile. 11. Procédé de localisation selon l'une des revendications 1 à 9, dans lequel l'étape de détermination de la position (X) met en oeuvre un algorithme de localisation de Monte-Carlo. 25 12. Dispositif de localisation destiné à équiper un engin mobile dans un environnement comprenant une pluralité de zones, caractérisé en ce qu'il comprend : - un module de réception (14) de données (d(a)) générées par un capteur (2) ; - un module de construction (16), en fonctions desdites données (d(a)), d'une première représentation surfacique (G1) descriptive de zones occupées ou libres de l'environnement ; - un module de construction (17), à partir d'une base de données 3039642 11 cartographique (12) représentant une carte électronique, d'une seconde représentation surfacique (G2) descriptive de zones occupées ou libres de la carte électronique ; - un module de détermination (18) de la position (X) de l'engin mobile 5 relativement à la carte électronique par mise en correspondance de la première représentation surfacique (G1) et de la seconde représentation surfacique (G2).