IROS 2021 LE RÉCAPITULATIF DE L'ALGORITHME GAGNANT DU DÉFI SLAM DE HILTI

Récemment, notre équipe a remporté le championnat du concours IROS 2021 The HILTI SLAM. Cet article présente les expériences et réflexions sur l'algorithme utilisé lors de cette compétition. Tous droits réservés : Megvii Technology. Lien vers l'article original : https://zhuanlan.zhihu.com/p/420192586

Récemment, les résultats du concours IROS 2021 The HILTI SLAM ont été annoncés, et l'institut de recherche Megvii a remporté le championnat. C'est la deuxième fois que l'institut de recherche Megvii remporte un concours SLAM de conférence de premier plan, après avoir remporté tous les titres lors du concours SLAM de la CVPR 2020 l'année dernière.

Le concours 2021 HILTI SLAM est une compétition organisée dans le cadre de la conférence internationale de premier plan sur les robots intelligents et les systèmes (IEEE/RSJ International Conference on Intelligent Robots and Systems, ci-après dénommée IROS), co-organisée par l'ETH Zurich et HILTI. Fondée en 1988, l'IROS se tient chaque année et est devenue l'une des conférences de recherche sur la robotique les plus influentes et les plus importantes au monde.

1 Présentation du sujet

La localisation et la cartographie simultanées (Simultaneous Localization and Mapping, SLAM) sont l'une des compétences de base nécessaires à la navigation et à l'exécution des tâches par les robots. Bien que des progrès significatifs aient été réalisés ces dernières années avec des méthodes SLAM basées sur la géométrie et sur l'apprentissage, déployer un algorithme SLAM précis et robuste dans le monde réel reste un défi. Pour ce concours, HILTI a proposé un nouveau jeu de données comprenant 12 séquences. Chaque séquence représente une phase différente d'un chantier de construction, comme un sous-sol, un campus, un chantier, un bureau, un laboratoire, un parking extérieur, etc. Les équipes participantes pouvaient concevoir un algorithme SLAM en utilisant n'importe quel capteur fourni dans le jeu de données. Les organisateurs du concours évaluaient les équipes en fonction de l'intégrité et de la précision de leurs trajectoires, et les classaient en fonction du score total.

2 Révélation de l'algorithme gagnant de Megvii

Cette compétition a attiré 20 équipes d'entreprises et d'universités du monde entier. Finalement, nous avons utilisé un algorithme SLAM basé sur un double laser + IMU comme solution de participation, et après une compétition acharnée, nous avons remporté le championnat.

Certificat de récompense :

Tableau des leaders :

Nous avons analysé les informations des capteurs fournies dans le jeu de données. Le module visuel était un module de caméra à cinq objectifs de SevenSense, capable de fournir des informations riches en textures, mais sensible aux variations de lumière, en particulier en extérieur. En revanche, le capteur laser 3D pouvait fournir des mesures de distance robustes et précises sous différentes conditions d'éclairage, ce qui le rendait plus adapté à ce jeu de données. De plus, fusionner ces cinq caméras nécessitait un travail considérable, et il était difficile d'obtenir un résultat satisfaisant à court terme. Par conséquent, nous avons choisi le lidar 3D comme capteur principal.

Le jeu de données fournissait deux lidars, dont l'Ouster avec un champ de vision de 360 degrés, capable de fournir des mesures denses ; tandis que le Livox MID70 avait un champ de vision de seulement 70 degrés, mais une portée de mesure allant jusqu'à 260 mètres. L'utilisation d'un seul lidar pouvait entraîner des situations de dégradation, et même si l'IMU pouvait garantir une précision à court terme, la précision globale de la localisation en serait affectée. Comme illustré ci-dessous (gauche), l'utilisation du seul lidar Ouster dans un environnement dégagé offrait peu de caractéristiques pour la localisation ; ci-dessous (droite), l'utilisation du seul lidar Livox dans un jeu de données spécifique limitait le champ de vision. Par conséquent, nous avons finalement opté pour une solution double laser + IMU.

Le schéma global est le suivant : il s'agit d'une odométrie laser-inertielle basée sur un filtre, divisée principalement en étapes de synchronisation des données, de compensation de distorsion, de mise à jour prédictive du filtre et de gestion de la carte.

Dans les données réelles, les deux lidars ne sont pas complètement synchronisés, avec un décalage de 10 à 20 ms dans les horodatages. La première étape consiste donc à réorganiser le nuage de points du lidar Livox en fonction de l'horodatage de chaque point (c'est-à-dire découper les données du nuage de points Livox) et à les aligner avec l'horodatage de l'Ouster. Ensuite, pendant le temps de mesure d'une trame laser de l'Ouster, l'IMU est utilisé pour mettre à jour l'état. Les données de mise à jour de l'état peuvent corriger la distorsion de mouvement du nuage de points. Ensuite, le nuage de points corrigé du Livox est converti dans le système de coordonnées de l'Ouster et fusionné avec le nuage de points laser de l'Ouster. L'étape de synchronisation des données est cruciale et simplifie considérablement le processus de traitement du programme.

Lors de la mise à jour du filtre, nous avons utilisé un modèle de mesure basé sur la distance point-surface pour la mise à jour. Chaque point est associé à une surface obtenue par une recherche des K plus proches voisins et un ajustement de plan PCA. Une fois la pose optimisée obtenue, le nuage de points de la trame actuelle est converti dans le système de coordonnées global et inséré dans la carte. Comme les scènes du jeu de données ne sont pas très grandes (la plus grande scène fait 100*100 mètres), et pour des raisons d'efficacité, nous avons utilisé un arbre KD incrémental pour maintenir la carte globale. Pour maintenir la parcimonie de la carte globale, seuls les nuages de points éloignés des points déjà présents dans la carte peuvent être insérés.

3 Résumé des points forts

1 La combinaison des deux lasers a considérablement amélioré la robustesse et la précision du programme ;
2 Le filtre peut estimer en temps réel le biais et la vitesse de l'IMU, ce qui améliore la précision de la compensation de distorsion, et par conséquent, la précision de la localisation et de la cartographie ;
3 Grâce à la carte globale, il n'est pas nécessaire d'utiliser un module de bouclage. Le programme est simplifié.

Enfin, voici une démonstration de la carte construite à l'aide de l'algorithme :

Références

  1. Helmberger, Michael, et al. "The Hilti SLAM Challenge Dataset." arXiv preprint arXiv:2109.11316 (2021).
  2. Xu, Wei, et al. "Fast-lio2: Fast direct lidar-inertial odometry." arXiv preprint arXiv:2107.06829 (2021).
  3. Zhang, Ji, and Sanjiv Singh. "LOAM: Lidar Odometry and Mapping in Real-time." Robotics: Science and Systems. Vol. 2. No. 9. 2014.
  4. Hackel, Timo, Jan D. Wegner, and Konrad Schindler. "Fast semantic segmentation of 3D point clouds with strongly varying density." ISPRS annals of the photogrammetry, remote sensing and spatial information sciences 3 (2016): 177-184.
  5. Cai, Yixi, Wei Xu, and Fu Zhang. "ikd-Tree: An Incremental KD Tree for Robotic Applications." arXiv preprint arXiv:2102.10808 (2021).
  6. Mourikis, Anastasios I., and Stergios I. Roumeliotis. "A multi-state constraint Kalman filter for vision-aided inertial navigation." Proceedings 2007 IEEE International Conference on Robotics and Automation. IEEE, 2007.

Add a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *