Article de méthode

SLAM visuel amélioré et planification de trajectoire pour la navigation autonome de robots mobiles à roues

DOI :

10.3791/68794

3 octobre 2025

Dans cet article

Résumé

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Cette étude présente une approche pour améliorer la navigation intérieure autonome WMR en optimisant les algorithmes visuels de SLAM et de planification de trajectoire. Il intègre la fusion multi-capteurs, améliore l’extraction des caractéristiques et applique des techniques d’optimisation de trajectoire pour une meilleure localisation, un meilleur évitement des obstacles et des trajectoires plus fluides, démontrant ainsi des performances supérieures dans des environnements réels et simulés.

Résumé

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Cette recherche se concentre sur les technologies importantes utilisées dans la navigation autonome des robots mobiles sur roues, telles que l’optimisation de la planification des chemins, l’intégration de systèmes et les progrès des techniques de localisation et de cartographie visuelles simultanées (SLAM). Une approche améliorée est suggérée pour surmonter les problèmes de localisation dans l’odométrie visuelle traditionnelle provoqués par des points de caractéristique dupliqués ou inégalement distribués. Cette approche combine l’appariement des caractéristiques EPNP (Efficient Perspective-n-Point), l’optimisation itérative de la pose du point le plus proche (ICP) et la gestion des caractéristiques basée sur quadtree. Selon les résultats expérimentaux, la méthode suggérée augmente considérablement la précision et la stabilité de la localisation. Une technique de reconstruction de nuages de points denses basée sur des données RGB-D est développée pour améliorer l’exhaustivité et le détail de la représentation environnementale tout en atténuant la rareté souvent observée dans les cartes de nuages de points produites par les systèmes SLAM conventionnels. Afin d’améliorer la qualité du chemin et l’efficacité de calcul, une méthode d’arbre aléatoire à exploration rapide (RRT) améliorée est présentée, qui intègre la gestion adaptative de la taille des pas, le biais d’objectif et le lissage de chemin basé sur la B-spline. De plus, l’évitement d’obstacles locaux en temps réel dans des situations dynamiques est rendu possible par l’intégration de l’algorithme TEB (Timed Elastic Band). Des tests complets en conditions réelles ont confirmé l’utilité des solutions suggérées en termes d’efficacité, de robustesse et d’applicabilité pratique après leur mise en œuvre sur une plate-forme expérimentale basée sur le système d’exploitation du robot (ROS).

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le potentiel et les modèles d’application de la robotique connaissent une période de transformation rapide, sous l’impulsion des progrès des technologies d’intelligence artificielle. Ces dernières années, la localisation et la cartographie visuelles simultanées (Visual SLAM) et son extension aux systèmes de navigation visuelle-inertielle (VINS) ont fait des progrès substantiels en termes de robustesse et de précision de localisation1. Pour améliorer la fiabilité de l’initialisation dans des conditions difficiles telles qu’une texture faible et un éclairage médiocre, Campos et al. ont proposé ORB-SLAM3, qui introduit un système multi-cartes et une initialisation améliorée pour les systèmes visuels et visuo-inertiels2. Pour améliorer la correspondance des caractéristiques dans des scénarios difficiles, DeTone et al. ont développé SuperPoint, une méthode de détection et de description des points d’intérêt auto-supervisée3, tandis que Sarlin et al. ont créé SuperGlue, un appariement de caractéristiques basé sur un réseau neuronal graphique qui gère les conditions visuelles difficiles4. Pour une reconstruction 3D dense, Dai et al. ont proposé BundleFusion, un système de reconstruction 3D cohérent en temps réel à l’échelle mondiale qui utilise la réintégration de surface à la volée pour gérer des environnements à grande échelle et des fermetures de boucles5.

Dans le domaine de la planification de trajectoires, les arbres aléatoires à exploration rapide (RRT) et leurs variantes restent largement adoptés pour la planification robotique des mouvements. L’algorithme fondamental de la RRT a été introduit pour la première fois par LaValle en tant que nouvel outil de planification de trajectoire, fournissant une méthode efficace basée sur l’échantillonnage pour résoudre des problèmes complexes de grande dimension6. Cela a été considérablement avancé par Karaman et Frazzoli, qui ont développé l’algorithme RRT* qui fournit des garanties d’optimalité asymptotique dans la planification du mouvement7. En s’appuyant sur ces algorithmes de base, la recherche moderne s’est concentrée sur des approches hybrides qui combinent des méthodes basées sur l’échantillonnage avec d’autres techniques. Par exemple, Rösmann et al. ont développé la méthode TEB (Timed Elastic Band), qui permet de générer localement des trajectoires optimales et a été largement intégrée aux planificateurs mondiaux8. De même, l’approche de la fenêtre dynamique (DWA) introduite par Fox et al. fournit une méthode efficace pour éviter les obstacles locaux dans les environnements dynamiques9.

Au niveau de la planification locale et de la perception sémantique, Chen et al. ont proposé une stratégie de planification de trajectoire informative sensible à la sémantique pour les micro-véhicules aériens (), améliorant à la fois l’efficacité de la recherche et la sécurité lors de l’exploration de la cible10. Kabiri et al. ont intégré les mesures 5G de l’heure d’arrivée (ToA) dans un cadre VINS pour permettre la fusion SLAM mondiale-locale, améliorant ainsi efficacement la précision de la localisation dans les environnements où la couverture GNSS est limitée11. Pour faciliter la cartographie en temps réel à haute fréquence, Xu et al. ont développé FAST-LIO2, une méthode d’odométrie LiDAR-IMU à couplage étroit capable de produire des cartes 3D précises et denses12. Pour la planification des trajectoires dans des environnements complexes, Gammell et al. ont introduit une méthode RRT* éclairée qui intègre la croissance bidirectionnelle des arbres et l’échantillonnage adaptatif, améliorant considérablement la qualité des trajectoires et l’efficacité de la recherche dans les environnements dynamiques13. De plus, pour les scénarios à passage étroit, Coleman et al. ont présenté une méthode de planification du mouvement basée sur l’échantillonnage avec un échantillonnage à probabilité variable, ce qui améliore les taux de réussite de la planification et l’efficacité de calcul14.

La présente étude aborde les défis fondamentaux de la navigation intérieure autonome pour les robots mobiles à roues (WMR) en améliorant à la fois la stratégie de planification de trajectoire et le front-end SLAM. Plus précisément, le système proposé est conçu pour des environnements intérieurs structurés typiques tels que les laboratoires et les couloirs, fonctionnant dans des conditions d’éclairage modéré et d’accès GNSS minimal. Le système de navigation utilise principalement une caméra stéréo RGB-D, une unité de mesure inertielle (IMU) et des encodeurs de roue, tous les capteurs étant configurés pour échantillonner à au moins 20 Hz. Pour garantir des performances fiables du système, la vitesse maximale du robot est limitée à moins de 1,5 m/s. Voici les principales contributions :

Une plate-forme de navigation autonome à fusion multicapteurs pour les robots mobiles à roues (WMR) a été développée en utilisant une caméra de profondeur comme capteur principal. Pour obtenir une localisation précise et un évitement efficace des obstacles dans les environnements intérieurs typiques, le système intègre l’odométrie des roues et une unité de mesure inertielle (IMU). La synergie entre ces composants joue un rôle essentiel dans l’amélioration des performances globales de navigation.

La combinaison des algorithmes EPnP et ICP avec une technique d’extraction de caractéristiques basée sur quadtree a permis au module de suivi d’ORB-SLAM2 de s’améliorer. Une meilleure précision et une meilleure robustesse du suivi découlent de ces développements.

Une nouvelle méthode de planification de trajectoire est proposée qui met l’accent sur l’optimisation de la trajectoire. Il est basé sur une technique RRT améliorée avec une polarisation des objectifs et des tailles de pas réglables et utilise des courbes B-spline pour lisser la trajectoire. L’algorithme TEB est également inclus pour gérer l’évitement d’obstacles dans des environnements dynamiques.

Les performances du système sont confirmées par des tests et des simulations en conditions réelles. Les environnements intérieurs typiques permettent une analyse quantitative et qualitative pour évaluer la précision de la carte, la qualité du chemin et les performances de navigation. En termes de robustesse, de traitement en temps réel et de fluidité de trajectoire, l’approche proposée bat les solutions actuelles.

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Protocole

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Plate-forme matérielle

  1. Préparez la plate-forme mobile de robot à entraînement différentiel à deux roues adaptée à la navigation en intérieur (voir Figure 1). Cette plate-forme utilise deux roues entraînées indépendamment alignées le long du centre du châssis et des roulettes passives à l’avant et à l’arrière pour assurer l’équilibre mécanique et la maniabilité.
  2. Montez les roues motrices différentielles le long de l’axe longitudinal central du châssis. Utilisez un tournevis hexagonal pour aligner et fixer les arbres de roue dans les moyeux du moteur. Assurez-vous que les roues sont fermement fixées mais tournent librement sans oscillation axiale. Vérifiez que les deux roues sont alignées avec précision pour maintenir un mouvement en ligne droite et une odométrie précise.
  3. Installez les roulettes avant et arrière aux deux extrémités du châssis pour fournir un soutien mécanique lors des virages. Un mauvais alignement peut entraîner une instabilité ou une inclinaison lors de changements de direction à grande vitesse.
  4. Montez une caméra de profondeur à lumière structurée sur le panneau avant supérieur du châssis. Utilisez un support réglable ou un support adhésif pour fixer solidement la caméra. Orientez-le de telle sorte que le champ de vision couvre environ 0,3 m à 3,0 m devant le robot.
  5. Connectez les modules du projecteur et du récepteur IR dans le boîtier de la caméra, en vous assurant que tous les centres optiques sont correctement alignés. Ajustez l’angle d’inclinaison de la caméra pour optimiser la perception de la profondeur.
  6. Inclinez la caméra vers le bas de 15° à 30° à l’aide du support réglable. Assurez-vous qu’aucune partie du châssis n’obstrue le motif IR projeté. Cet angle permet de capturer les caractéristiques du terrain en champ proche et d’éviter les angles morts.
  7. Vérifiez la profondeur de sortie en temps réel de la caméra à l’aide d’un logiciel de visualisation tel que RViz (version 1.14.1). Lancez le nœud de la caméra et observez le flux d’images en profondeur. Connectez la caméra de profondeur à l’unité de microcontrôleur (MCU) montée au centre du châssis.
    REMARQUE : Assurez-vous que l’alimentation est coupée pendant toutes les connexions. Gardez les câbles organisés et à l’écart des pièces mobiles pour éviter de les emmêler pendant le mouvement.

2. Optimisation d’ORB-SLAM2 pour la cartographie intérieure

  1. Préparez l’environnement ORB-SLAM2. Calibrez l’appareil photo (RGB-D) à l’aide des outils d’étalonnage ROS standard. Configurez le fichier de lancement pour spécifier les rubriques de l’appareil photo, la résolution (par exemple, 640 x 480) et la fréquence d’images (par exemple, 30 ips). Lancez le système SLAM en utilisant : xtark@tarkbot : $ roslaunch robot_platform slam map.launch slam _methods :=gmapping. Vérifiez le flux de la caméra en direct et les messages d’initialisation SLAM dans le terminal. Les images clés doivent apparaître après le début du mouvement.
  2. Modifiez ORB-SLAM2 pour prendre en charge le mappage dense. Étendez le module de mappage par défaut pour inclure un thread de reconstruction dense qui traite les données de profondeur des images clés.
  3. Pour chaque image-clé sélectionnée : extrayez des images RVB et de profondeur synchronisées, convertissez les pixels de profondeur en points 3D à l’aide des intrinsèques de la caméra et fusionnez les nuages de points accumulés entre les images-clés à l’aide des informations de pose. Subdivisez de manière récursive toute région avec plus d’un point clé en quatre quadrants. Continuez jusqu’à ce que chaque nœud terminal contienne au plus un point clé dominant ou que la taille de la région soit inférieure à 10 x 10 pixels.
  4. Améliorez la distribution des entités à l’aide d’un quadtree (voir Figure 2). Modifiez le module d’extraction de caractéristiques ORB pour inclure une stratégie de partitionnement spatial basée sur quadtree. Divisez l’image en régions de grille hiérarchiques, appliquez la détection d’angle FAST dans chaque région et ne conservez que l’élément le plus saillant par région pour garantir une couverture spatiale uniforme.
  5. Dans chaque région valide, sélectionnez le candidat avec la réponse de saillance la plus élevée en tant que caractéristique représentative.
  6. Améliorez l’estimation de la pose avec EPnP. Remplacez l’estimation de pose par défaut (par exemple, les méthodes itératives) par l’algorithme Efficient Perspective-n-Point (EPnP) à l’aide de solvePnP d’OpenCV. Utilisez les caractéristiques de l’image 2D et leurs points de carte 3D correspondants pour résoudre la pose de la caméra.
  7. Déployez, visualisez et contrôlez le robot. Attribuez une adresse IP statique au système embarqué du robot pour une communication stable (par exemple, ROBOT IP : 172.20.10.13). Sur le PC hôte, ouvrez RViz (v1.14.1) et chargez la configuration pour visualiser la trajectoire du robot, les cartes de nuages de points clairsemés et denses, les images clés et les caractéristiques détectées.
  8. Contrôlez manuellement le robot à l’aide des touches fléchées du clavier pour naviguer dans l’espace de mappage. Assurez-vous que la ligne de trajectoire apparaît dans RViz et que les images de pose de la caméra sont mises à jour en temps réel.
    REMARQUE : la figure 3 illustre la disposition du clavier pour le contrôle manuel du robot pendant le mappage.

3. Traitement des points de caractéristique à l’aide de l’algorithme Quadtree

  1. Effectuez l’extraction des caractéristiques ORB comme décrit ci-dessous.
    1. Chargez l’image d’entrée à partir d’une rubrique d’image ROS ou d’un ensemble de données local à l’aide d’OpenCV (version 4.5.3).
    2. Construisez une pyramide gaussienne à quatre niveaux, divisez l’image en cellules de grille uniformes (8 x 8 cellules par niveau). À l’intérieur de chaque cellule, appliquez le détecteur FAST avec un seuil de 20 pour identifier les points clés locaux.
  2. Construisez un raffinement de fonction basé sur quadtree comme décrit ci-dessous.
    1. Pour chaque ensemble de points clés à un niveau de pyramide donné, construisez une structure quadruple arbre : commencez avec l’image complète comme nœud racine. Subdivisez de manière récursive toute région avec plus d’un point clé en quatre quadrants. Continuez jusqu’à ce que chaque nœud terminal contienne au plus un point clé dominant ou que la taille de la région soit inférieure à 10 x 10 pixels.
  3. Appliquez l’évaluation de la saillance des fonctionnalités comme décrit ci-dessous.
    1. Évaluez la saillance de chaque point clé candidat au sein d’un nœud à l’aide de l’équation :
      figure-protocol-1(1)
      Ip est la valeur d’intensité du pixel central dans un voisinage local, et Ii représente les valeurs d’intensité de ses 16 pixels voisins. La différence absolue |Ip - Ii| Mesure le contraste local entre le pixel central et chaque voisin. La somme des 16 voisins fournit une mesure du contraste local global ou de l’intensité de la texture autour du pixel central.
    2. Classez tous les candidats à l’aide d’une file d’attente prioritaire dynamique triée par le score de saillance. Dans chaque région valide, sélectionnez le candidat avec la réponse de saillance la plus élevée en tant que caractéristique représentative.
  4. Optimiser et valider la sélection des fonctionnalités
    1. Combinez toutes les entités sélectionnées sur tous les niveaux de la pyramide. Assurez une couverture spatiale uniforme sur l’ensemble de l’image. Stockez les points de caractéristiques finaux et leurs descripteurs à l’aide de l’extracteur de descripteurs ORB, version alignée sur OpenCV.
    2. Vérifiez que les entités ne sont pas regroupées dans quelques zones d’image. Les points caractéristiques doivent présenter une distribution spatiale uniforme, ce qui permet un suivi robuste. Évitez d’exécuter le traitement d’image dans un système de robot physique en mouvement. Assurez-vous que le flux de la caméra est stable et que l’espace de travail est dégagé.

4. Estimation de la pose à l’aide de l’EPnP

  1. Etablir des correspondances 2D-3D en sélectionnant au moins quatre paires de points de carte 3D appariés (en coordonnées mondiales) et leurs points clés d’image 2D correspondants. Assurez-vous que ces correspondances sont extraites des correspondances de caractéristiques ORB valides obtenues dans le fil de suivi.
  2. Résolvez la pose initiale avec EPnP. Continuez jusqu’à ce que chaque nœud terminal contienne au plus un point clé dominant ou que la taille de la région soit inférieure à 10 x 10 pixels. Utilisez la fonction solvePnP d’OpenCV avec l’indicateur cv ::SOLVEPNP_EPNP pour estimer la pose de la caméra.

5. Raffinement de la pose fine avec ICP

  1. Effectuez l’échantillonnage du nuage de points comme décrit ci-dessous.
    1. Sous-échantillonnez le nuage de points source pour réduire la charge de calcul et supprimer les données redondantes.
    2. Utilisez un échantillonnage uniforme pour vous assurer que les caractéristiques structurelles sont conservées uniformément dans toutes les directions. Si nécessaire, appliquez un filtrage de grille de voxels ou une sélection aléatoire en fonction de la densité et des caractéristiques de bruit du nuage de points d’entrée. Assurez-vous que le nuage filtré préserve les contours de l’objet tout en réduisant le nombre total de points d’au moins 50 %.
  2. Faites correspondre les points correspondants en construisant un arbre KD à partir du nuage de points de destination pour permettre des recherches efficaces du voisin le plus proche. Pour chaque point du nuage de points source échantillonné vers le bas, trouvez son point le plus proche dans le nuage de destination à l’aide de l’arbre KD. Assurez l’exactitude de l’appariement des points, car cette étape affecte considérablement les performances d’enregistrement.
  3. Estimez la transformation optimale comme décrit ci-dessous.
    1. Utilisez les paires de points appariées pour calculer une matrice de transformation de corps rigides, incluant à la fois la rotation et la translation.
    2. Calculez la transformation rigide optimale entre les paires de points appariées en minimisant l’erreur quadratique moyenne (MSE) par décomposition en valeurs singulières (SVD) de la matrice de covariance croisée, qui donne directement la matrice de rotation, suivie du calcul du vecteur de translation basé sur les centroïdes pivotés.
  4. Appliquez la transformation calculée au nuage de points source et mettez à jour toutes les coordonnées de point. Répétez le processus d’appariement de points et d’estimation de la transformation de manière itérative. Continuez à itérer jusqu’à ce que l’erreur d’enregistrement tombe en dessous d’un seuil prédéfini ou que le nombre maximal d’itérations soit atteint.

6. Construction de la carte de nuage de points dense

  1. Construisez une carte de nuages de points 3D dense pour obtenir une représentation précise et détaillée des environnements intérieurs. Suivez les étapes (voir Figure 4) décrites ci-dessous.
  2. Extrayez les données RVB et de profondeur des images clés. Sélectionnez les images clés en fonction de la richesse visuelle et de la couverture spatiale. À partir de chaque image clé sélectionnée, extrayez à la fois l’image RVB et la carte de profondeur alignée correspondante à partir du capteur RVB-D.
  3. Convertissez les pixels de l’image en coordonnées de caméra 3D. Pour chaque pixel de profondeur valide, projetez le pixel 2D dans l’espace 3D à l’aide des paramètres intrinsèques de la caméra. Ce processus génère des coordonnées 3D dans le système de coordonnées de la caméra.
  4. Transformez les coordonnées de l’appareil photo en coordonnées mondiales. Récupérez la pose de caméra optimisée à partir d’ORB-SLAM2 pour chaque image clé. Utilisez la pose de la caméra pour transformer les coordonnées de la caméra 3D en système de coordonnées du monde, en alignant tous les nuages de points dans une référence globale commune.
  5. Générez des points 3D colorisés. Pour chaque point 3D transformé, attribuez la valeur RVB correspondante à partir de l’image d’origine. Il en résulte un nuage de points colorisé qui capture à la fois la géométrie et l’apparence.
  6. Fusionnez les nuages de points de toutes les images clés. Accumulez tous les nuages de points transformés et colorisés dans une carte mondiale unifiée des nuages de points. Assurez-vous d’un alignement correct à l’aide des poses de caméra associées à chaque image clé.
  7. Enregistrez et affinez la carte finale à l’aide de PCL. Utilisez la bibliothèque de nuages de points (PCL) pour affiner la carte finale. Appliquez un filtrage pour éliminer le bruit et un sous-échantillonnage pour améliorer l’efficacité. Effectuez un recalage global (par exemple, à l’aide de l’ICP) pour affiner l’alignement entre les nuages de points si nécessaire (voir Figure 5).
    REMARQUE : Comme le montre la figure 6, l’alignement initial du nuage de points pendant la phase d’initialisation de la cartographie dense peut présenter un désalignement transitoire en raison de données d’observation limitées, qui convergent rapidement à mesure que des points de vue supplémentaires sont incorporés. En contrôlant le robot pour traverser l’environnement, un modèle tridimensionnel complet peut être obtenu.

7. Générer une carte de grille d’occupation à partir de nuages de points dérivés de VSLAM

  1. Sous-échantillonnez le nuage de points dense global. Appliquez un filtrage de grille de voxel à l’aide d’une résolution de voxel de 0,05 m pour réduire la redondance et définir la résolution spatiale pour la construction de la grille.
  2. Projetez des points 3D dans une grille d’occupation 2D. Projetez tous les points 3D sur le plan horizontal (x-y). Discrétisez l’espace en cellules de grille uniformes, chacune représentant un carré de 0,05 m x 0,05 m dans le monde réel.
  3. Estimez les probabilités d’occupation. Utilisez un modèle de capteur inverse pour calculer la probabilité d’occupation de chaque cellule en fonction de la densité de points et du lancer de rayons simulé.
    1. Définissez le seuil de probabilité d’occupation sur 0,65. Définissez le seuil de probabilité libre sur 0,35. Classer les cellules de grille avec des valeurs intermédiaires comme inconnues.
  4. Appliquez le gonflage d’obstacles. Gonflez les zones occupées en appliquant un noyau circulaire d’un rayon de 0,2 m pour tenir compte du dégagement et des marges de sécurité du robot.
  5. Exportez la carte d’occupation. Enregistrez la carte de la grille d’occupation générée au format Portable GrayMap, accompagnée d’un fichier de métadonnées m.yaml correspondant, afin d’assurer la compatibilité avec les systèmes de navigation basés sur ROS.

8. Amélioration de la stratégie globale de planification du chemin (basée sur l’algorithme RRT)

  1. Initialisez l’arborescence des chemins. Définissez la position de départ du robot comme nœud racine de l’arbre. Échantillonnez de manière aléatoire des points dans l’espace de configuration (état) pour explorer de nouvelles zones.
  2. Identifiez le nœud existant le plus proche. Pour chaque point aléatoire nouvellement échantillonné, calculez la distance euclidienne par rapport à tous les nœuds existants. Sélectionnez le nœud avec la distance minimale comme nœud le plus proche pour servir de base d’extension.
  3. Générez un nouveau nœud vers l’échantillon aléatoire. Créez un vecteur unitaire directionnel à partir du nœud le plus proche vers le point échantillonné. Déplacez un pas fixe (initialement) dans cette direction pour former un nouveau nœud et le connecter à l’arbre.
  4. Remplacez la taille de pas fixe par un mécanisme adaptatif. Au lieu d’utiliser une taille de pas constante, ajustez dynamiquement la longueur du pas en fonction de la densité d’obstacles locale. Utilisez des étapes plus grandes dans des environnements ouverts pour accélérer l’expansion de l’arbre. Dans les régions encombrées ou étroites, réduisez la taille des pas pour améliorer le contrôle et l’évitement des obstacles.
  5. Calculez la taille de pas adaptative en temps réel comme décrit ci-dessous.
    1. Utilisez les données des capteurs (par exemple, LiDAR ou caméra de profondeur) pour estimer la densité des obstacles autour de la région actuelle.
    2. Si le nombre d’obstacles détectés est faible, augmentez légèrement la taille du pas. Si les obstacles sont denses, réduisez la taille du pas proportionnellement pour insérer plus de nœuds intermédiaires pour une traversée en toute sécurité.
  6. Itérez le processus d’expansion. Poursuivez l’échantillonnage, la recherche du nœud le plus proche et la génération de nouveaux nœuds à l’aide de la taille de pas adaptative.
  7. Appliquez des courbes B-spline pour le lissage. Remplacez les segments de polyligne dans la trajectoire RRT par une courbe B-spline continue pour améliorer la douceur. Sélectionnez des points de contrôle le long de la trajectoire RRT d’origine, généralement aux points de virage ou aux points de cheminement clés. Construisez un polygone de contrôle en connectant ces points de contrôle dans l’ordre.
  8. Générez la courbe B-spline. Utilisez la formule standard B-spline15 :
    figure-protocol-2(2)
    Cette formule est utilisée dans les courbes B-spline, où la courbe finale C(u) est une combinaison pondérée des points de contrôle. Les poids sont déterminés par les fonctions de base B-spline Ni,k (u), qui garantissent que la courbe est lisse et suit la forme générale définie par les points de contrôle.
  9. Réglez le degré de la courbe sur 3 (cubique), ce qui assure la continuité (première et seconde dérivées lisses). Utilisez le module de planification de chemin écrit dans PyCharm 2024.3.

9. Optimisation de la trajectoire locale avec TEB modifié

  1. Introduisez la contrainte de distance la plus courte comme décrit ci-dessous.
    1. Pour atténuer ces inconvénients, intégrez une contrainte de distance la plus courte dans le cadre TEB.
    2. Définissons la contrainte comme la distance euclidienne entre la position actuelle du robot St et une pose future Si+n le long de la trajectoire :
      figure-protocol-3(3)
      Cette contrainte pénalise les déviations inefficaces en encourageant le chemin à rester proche du bord du couloir du chemin global, améliorant ainsi la qualité et la sécurité de la planification.
  2. Intégrez la contrainte dans la fonction de coût TEB en modifiant le graphique d’optimisation TEB d’origine pour inclure la contrainte de distance en tant qu’arête supplémentaire. Ajustez la fonction de coût total pour inclure un terme pondéré pour lefos, en équilibrant la douceur, la faisabilité et l’efficacité énergétique.
  3. Intégrer la contrainte dans la fonction de coût TEB. Lors de l’optimisation, calculez des points de trajectoire qui minimisent le coût total, notamment la vitesse, l’accélération, le franchissement d’obstacles et la distance la plus courte ajoutée. Utilisez le solveur sous-jacent de TEB pour optimiser de manière itérative la trajectoire sur N intervalles de temps. Optimisez le chemin en tenant compte de la contrainte (voir Figure 7).

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Résultats

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Évaluation de l’ORB-SLAM2 amélioré
Expérience d’extraction de caractéristiques
Pour évaluer l’efficacité d’une caméra de profondeur RGB-D dans des scénarios pratiques, une expérience d’extraction de points de caractéristiques a été menée. Le test a été conçu à l’aide de deux environnements d’arrière-plan distincts, chacun variant en couleur et en luminosité de l’objet pour simuler la complexité visuelle du monde réel.

La méthode d’extraction améliorée p...

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les deux technologies clés des systèmes de navigation intérieure autonomes pour robots mobiles à roues qui font l’objet de cette étude sont la localisation et la cartographie simultanées visuelles (SLAM)16,17 et la planification detrajectoire18. Le module SLAM propose une méthode de sélection hiérarchique basée sur un quadtree pour corriger la distribution inégale des points de caractéristiques d’ORB-SLAM2...

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Déclarations de divulgation

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les auteurs ne déclarent aucun conflit d’intérêts.

Remerciements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Nous tenons à exprimer notre sincère gratitude au professeur agrégé Kok Hwa Yu de l’Universiti Sains Malaysia pour ses précieux conseils tout au long de cette étude. Nous apprécions également l’aide fournie par notre camarade Jingtao Jia de l’Université des sciences et technologies de Kunming, dont le soutien a grandement contribué au succès de ce travail.

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Matériaux

Liste des matériaux utilisés dans cet article
NomEntrepriseNuméro de catalogueCommentaires
Caméra 3D Astra Pro PlusCRBBECAucunCaméra 3D
TARKBOT-R20-TWDAucunAucunROS Robot

Références

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Qin, T., Li, P., Shen, S. VINS-Mono: a robust and versatile monocular visual-inertial state estimator. IEEE T Robot. 34 (4), 1004-1020 (2018).
  2. Campos, C., Elvira, R., Rodríguez, J. J. G., Montiel, J. M. M., Tardós, J. D. ORB-SLAM3: an accurate open-source library for visual, visual-inertial and multi-map SLAM. IEEE T Robot. 37 (6), 1874-1890 (2021).
  3. SuperPoint: self-supervised interest point detection and description. DeTone, D., Malisiewicz, T., Rabinovich, A. Proc IEEE Conf Comp Vision Pattern Recognit Workshops, , 224-236 (2018).
  4. SuperGlue: learning feature matching with graph neural networks. Sarlin, P. E., DeTone, D., Malisiewicz, T., Rabinovich, A. Proc IEEE/CVF Conf Comp Vision Pattern Recognit, , 4938-4947 (2020).
  5. Dai, A., Nießner, M., Zollhöfer, M., Izadi, S., Theobalt, C. BundleFusion: real-time globally consistent 3D reconstruction using on-the-fly surface reintegration. ACM T Graphic. 36 (4), 1(2017).
  6. LaValle, S. M. Technical Report No. 98-11. Rapidly-exploring random trees: a new tool for path planning. , Iowa State University. (1998).
  7. Karaman, S., Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int J Robot Res. 30 (7), 846-894 (2011).
  8. Rösmann, C., Hoffmann, F., Bertram, T. Integrated online trajectory planning and optimization in distinctive topologies. Robot Auton Syst. 88, 142-153 (2017).
  9. Fox, D., Burgard, W., Thrun, S. The dynamic window approach to collision avoidance. IEEE Robot Autom Mag. 4 (1), 23-33 (1997).
  10. Chen, Y., Zhong, L., Liu, S. Semantic-aware informative path planning for autonomous exploration with micro aerial vehicles. IEEE T Robot. 38 (5), 3122-3138 (2022).
  11. Kabiri, M., Vos, H., Atia, M. M. 5G-enhanced visual-inertial SLAM for robust localization in GNSS-denied environments. IEEE T Intell Transp Syst. 24 (6), 6421-6435 (2023).
  12. Xu, W., Zhang, F. FAST-LIO2: fast direct LiDAR-inertial odometry. IEEE T Robot. 37 (4), 1150-1166 (2021).
  13. Gammell, J. D., Barfoot, T. D. Informed sampling for motion planning in dynamic environments. Int J Robot Res. 41 (5), 517-540 (2022).
  14. Coleman, D., Srinivasa, S. S. Variable probability sampling for motion planning in narrow passages. IEEE Robot Autom Lett. 8 (2), 1024-1031 (2023).
  15. The NURBS Book. Piegl, L., Tiller, W. , 2nd ed, Springer-Verlag. (1997).
  16. Durrant-Whyte, H., Bailey, T. Simultaneous localization and mapping: part I. IEEE Robot Autom Mag. 13 (2), 99-110 (2006).
  17. Bailey, T., Durrant-Whyte, H. Simultaneous localization and mapping: part II. IEEE Robot Autom Mag. 13 (3), 108-117 (2006).
  18. Zhang, L., Wang, X., Yang, J. Hybrid motion planning for mobile robots using enhanced RRT and dynamic window approach. IEEE T Robot. 39 (2), 1123-1137 (2023).
  19. RRT-connect: an efficient approach to single-query path planning. Kuffner, J. J., LaValle, S. M. Proc IEEE Int Conf Robotics Automat, 2, 995-1001 (2000).

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Réimpressions et autorisations

Demander l’autorisation de réutiliser le texte ou les figures de cet article JoVE

Demander une autorisation

Mots-clés

Mise en correspondance de caract ristiquesReconstruction de nuage de pointsArbre al atoire exploration rapideBande lastique temporis eOptimisation de la poseSyst me d exploitation pour robots

Articles connexes