Methodenartikel

Verbeterde visuele SLAM en padplanning voor autonome navigatie van mobiele robots op wielen

DOI:

10.3791/68794

3 oktober 2025

In dit artikel

Samenvatting

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

Deze studie presenteert een aanpak om de autonome binnennavigatie van WMR te verbeteren door visuele SLAM- en padplanningsalgoritmen te optimaliseren. Het integreert multi-sensor fusie, verbetert de extractie van functies en past trajectoptimalisatietechnieken toe voor betere lokalisatie, het vermijden van obstakels en soepelere paden, en demonstreert superieure prestaties in real-world en gesimuleerde omgevingen.

Samenvatting

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

Dit onderzoek richt zich op belangrijke technologieën die worden gebruikt in autonome navigatie van mobiele robots op wielen, zoals optimalisatie van padplanning, systeemintegratie en vooruitgang in visuele gelijktijdige lokalisatie en mapping (SLAM) technieken. Er wordt een verbeterde aanpak voorgesteld om lokalisatieproblemen in traditionele visuele odometrie op te lossen die worden veroorzaakt door dubbele of ongelijk verdeelde functiepunten. Deze aanpak combineert Efficient Perspective-n-Point (EPNP) feature matching, iterative closest point (ICP) pose-optimalisatie en quadtree-gebaseerd functiebeheer. Volgens experimentele bevindingen verhoogt de voorgestelde methode de nauwkeurigheid en stabiliteit van de lokalisatie aanzienlijk. Een techniek voor de reconstructie van dichte puntenwolken op basis van RGB-D-gegevens is ontwikkeld om de volledigheid en gedetailleerdheid van de omgevingsrepresentatie te verbeteren en tegelijkertijd de schaarste te verminderen die vaak wordt gezien in puntenwolkkaarten die door conventionele SLAM-systemen worden geproduceerd. Om de padkwaliteit en rekenefficiëntie te verbeteren, wordt een verbeterde, snel verkennende willekeurige boom (RRT)-methode gepresenteerd, die adaptief stapgroottebeheer, doelbiasing en op B-spline gebaseerde padafvlakking omvat. Bovendien wordt het in realtime lokale obstakelvermijding in dynamische situaties mogelijk gemaakt door de integratie van het Timed Elastic Band (TEB)-algoritme. Uitgebreide praktijktests hebben het nut van de voorgestelde oplossingen in termen van efficiëntie, robuustheid en praktische toepasbaarheid bevestigd nadat ze waren geïmplementeerd op een experimenteel platform op basis van het Robot Operating System (ROS).

Inleiding

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

Het potentieel en de toepassingspatronen van robotica ondergaan een periode van snelle transformatie, gedreven door de vooruitgang in kunstmatige-intelligentietechnologieën. In de afgelopen jaren hebben Visual Simultaneous Localization and Mapping (Visual SLAM) en de uitbreiding ervan naar Visual-Inertial Navigation Systems (VINS) aanzienlijke vooruitgang geboekt op het gebied van robuustheid en lokalisatienauwkeurigheid1. Om de betrouwbaarheid van de initialisatie te verbeteren onder uitdagende omstandigheden zoals een lage textuur en slechte verlichting, stelden Campos et al. ORB-SLAM3 voor, die een multi-map-systeem introduceert en verbeterde initialisatie voor visuele en visueel-traagheidssystemen2. Voor een betere afstemming van functies in uitdagende scenario's ontwikkelden DeTone et al. SuperPoint, een zelfgecontroleerde methode voor het detecteren en beschrijven van interessepunten3, terwijl Sarlin et al. creëerden SuperGlue, een op grafieken neurale netwerken gebaseerde functiematcher die moeilijke visuele omstandigheden aankan4. Voor dichte 3D-reconstructie stelden Dai et al. BundleFusion voor, een real-time wereldwijd consistent 3D-reconstructiesysteem dat on-the-fly oppervlaktere-integratie gebruikt om grootschalige omgevingen en lussluitingen aan te pakken5.

Op het gebied van padplanning worden Rapid-exploring Random Trees (RRT) en hun varianten nog steeds op grote schaal gebruikt voor robotbewegingsplanning. Het fundamentele RRT-algoritme werd voor het eerst geïntroduceerd door LaValle als een nieuw hulpmiddel voor padplanning, dat een efficiënte, op steekproeven gebaseerde methode biedt voor het oplossen van complexe hoogdimensionale problemen6. Dit werd aanzienlijk bevorderd door Karaman en Frazzoli, die het RRT*-algoritme ontwikkelden dat asymptotische optimaliteitsgaranties biedt bij bewegingsplanning7. Voortbouwend op deze kernalgoritmen heeft modern onderzoek zich gericht op hybride benaderingen die op steekproeven gebaseerde methoden combineren met andere technieken. Rösmann et al. ontwikkelden bijvoorbeeld de Timed Elastic Band (TEB)-methode, die lokaal optimale trajectgeneratie mogelijk maakt en die op grote schaal is geïntegreerd met wereldwijde planners8. Evenzo biedt de Dynamic Window Approach (DWA), geïntroduceerd door Fox et al. een effectieve methode voor het vermijden van lokale obstakels in dynamische omgevingen9.

Op het niveau van lokale planning en semantische perceptie stelden Chen et al. een semantisch-bewuste informatieve padplanningsstrategie voor micro-luchtvaartuigen (MAV's) voor, die zowel de zoekefficiëntie als de veiligheid tijdens de verkenning van doelen verbeteren10. Kabiri et al. integreerden 5G Time-of-Arrival (ToA)-metingen in een VINS-raamwerk om wereldwijd-lokale SLAM-fusie mogelijk te maken, waardoor de lokalisatienauwkeurigheid in omgevingen met beperkte GNSS-dekking effectief wordt verbeterd11. Om hoogfrequente real-time mapping mogelijk te maken, ontwikkelden Xu et al. FAST-LIO2, een nauw gekoppelde LiDAR-IMU-odometriemethode die in staat is om nauwkeurige en dichte 3D-kaarten te produceren12. Voor padplanning in complexe omgevingen introduceerden Gammell et al. een geïnformeerde RRT*-methode die bidirectionele boomgroei en adaptieve steekproeven omvat, waardoor de padkwaliteit en zoekefficiëntie in dynamische omgevingen aanzienlijk worden verbeterd13. Bovendien presenteerden Coleman et al. voor scenario's met smalle doorgangen een op steekproeven gebaseerde bewegingsplanningsmethode met variabele waarschijnlijkheidssteekproeven, die de slagingspercentages van de planning en de rekenefficiëntie verbetert14.

De huidige studie richt zich op fundamentele uitdagingen in autonome binnennavigatie voor mobiele robots op wielen (WMR's) door zowel de padplanningsstrategie als de SLAM-front-end te verbeteren. Het voorgestelde systeem is met name ontworpen voor typische gestructureerde binnenomgevingen zoals laboratoria en gangen, die werken onder omstandigheden met matige verlichting en minimale GNSS-toegang. Het navigatiesysteem maakt voornamelijk gebruik van een stereo RGB-D-camera, een traagheidsmeeteenheid (IMU) en wiel-encoders, waarbij alle sensoren zijn geconfigureerd om te samplen bij niet minder dan 20 Hz. Om betrouwbare systeemprestaties te garanderen, is de maximale snelheid van de robot beperkt tot minder dan 1,5 m/s. Dit zijn de belangrijkste bijdragen:

Er is een multi-sensor fusion autonoom navigatieplatform voor mobiele robots op wielen (WMR's) ontwikkeld met behulp van een dieptecamera als primaire sensor. Om een nauwkeurige lokalisatie en efficiënte vermijding van obstakels in typische binnenomgevingen te bereiken, integreert het systeem wielodometrie en een traagheidsmeeteenheid (IMU). De synergie tussen deze componenten speelt een cruciale rol bij het verbeteren van de algehele navigatieprestaties.

Het combineren van EPnP- en ICP-algoritmen met een op quadtree gebaseerde functie-extractietechniek heeft de volgmodule in ORB-SLAM2 helpen verbeteren. Uit deze ontwikkelingen volgt een betere volgnauwkeurigheid en robuustheid.

Er wordt een nieuwe padplanningsmethode voorgesteld die de nadruk legt op trajectoptimalisatie. Het is gebaseerd op een verbeterde RRT-techniek met doelbias en instelbare stapgroottes en maakt gebruik van B-spline-curven voor trajectafvlakking. Het TEB-algoritme is ook opgenomen om het vermijden van obstakels in dynamische omgevingen te beheren.

De prestaties van het systeem worden bevestigd door testen en simulatie in de praktijk. Typische binnenomgevingen maken kwantitatieve en kwalitatieve analyse mogelijk om de nauwkeurigheid van de kaart, de kwaliteit van het pad en de navigatieprestaties te evalueren. In termen van robuustheid, real-time verwerking en trajecten verslaat de voorgestelde aanpak de huidige oplossingen.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

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

1. Hardware platform

  1. Bereid het tweewielige mobiele robotplatform met differentieelaandrijving voor dat geschikt is voor binnennavigatie (zie afbeelding 1). Dit platform maakt gebruik van twee onafhankelijk aangedreven wielen die langs het midden van het chassis zijn uitgelijnd en passieve zwenkwielen aan de voor- en achterkant om mechanische balans en wendbaarheid te garanderen.
  2. Monteer de differentieelaandrijfwielen langs de centrale lengteas van het chassis. Gebruik een zeskantige schroevendraaier om de wielassen uit te lijnen en in de motornaven te bevestigen. Zorg ervoor dat de wielen stevig zijn bevestigd, maar vrij kunnen draaien zonder axiaal wiebelen. Controleer of beide wielen precies zijn uitgelijnd om een rechte lijn en nauwkeurige odometrie te behouden.
  3. Installeer de voorste en achterste zwenkwielen aan beide uiteinden van het chassis om mechanische ondersteuning te bieden tijdens bochten. Een slechte uitlijning kan leiden tot instabiliteit of kantelen tijdens richtingsveranderingen met hoge snelheid.
  4. Monteer een dieptecamera met gestructureerd licht op het bovenste voorpaneel van het chassis. Gebruik een verstelbare beugel of zelfklevende houder om de camera stevig te bevestigen. Richt het zo dat het gezichtsveld ongeveer 0,3 m tot 3,0 m voor de robot beslaat.
  5. Sluit de IR-projector en ontvangermodules aan op de camerabehuizing en zorg ervoor dat alle optische centra goed zijn uitgelijnd. Pas de hellingshoek van de camera aan om de dieptewaarneming te optimaliseren.
  6. Kantel de camera 15°-30° naar beneden met behulp van de verstelbare houder. Zorg ervoor dat geen enkel deel van het chassis het geprojecteerde IR-patroon belemmert. Deze hoek helpt bij het vastleggen van terreinkenmerken in de buurt van het veld en het vermijden van dode hoeken.
  7. Controleer de real-time diepte-uitvoer van de camera met behulp van visualisatiesoftware zoals RViz (versie 1.14.1). Start het cameraknooppunt en observeer de stroom van het dieptebeeld. Sluit de dieptecamera aan op de Microcontroller Unit (MCU) die in het midden van het chassis is gemonteerd.
    NOTITIE: Zorg ervoor dat de stroom is uitgeschakeld tijdens alle aansluitingen. Houd kabels georganiseerd en uit de buurt van bewegende delen om verstrikking tijdens beweging te voorkomen.

2. Optimalisatie van ORB-SLAM2 voor indoor mapping

  1. Bereid de ORB-SLAM2-omgeving voor. Kalibreer de camera (RGB-D) met behulp van standaard ROS-kalibratietools. Configureer het startbestand om cameraonderwerpen, resolutie (bijv. 640 x 480) en framesnelheid (bijv. 30 fps) op te geven. Start het SLAM-systeem met behulp van: xtark@tarkbot: $ roslaunch robot_platform slam map.launch slam _methods:=gmapping. Controleer de live camerafeed en SLAM-initialisatieberichten in de terminal. Keyframes moeten verschijnen nadat de beweging is begonnen.
  2. Wijzig ORB-SLAM2 om dense mapping te ondersteunen. Breid de standaardtoewijzingsmodule uit met een dichte reconstructiethread die dieptegegevens van keyframes verwerkt.
  3. Voor elk geselecteerd keyframe: Extraheer gesynchroniseerde RGB- en dieptebeelden, converteer dieptepixels naar 3D-punten met behulp van camera-intrinsiek en voeg geaccumuleerde puntenwolken samen in keyframes met behulp van pose-informatie. Recursief onderverdelen we elk gebied met meer dan één belangrijk punt in vier kwadranten. Ga door totdat elk bladknooppunt ten hoogste één dominant sleutelpunt bevat of de gebiedsgrootte kleiner is dan 10 x 10 pixels.
  4. Verbeter de functieverdeling met behulp van een quadtree (zie afbeelding 2). Wijzig de extractiemodule van de ORB-functie om een op quadtree gebaseerde ruimtelijke partitioneringsstrategie op te nemen. Verdeel de afbeelding in hiërarchische rastergebieden, pas SNELLE hoekdetectie toe in elke regio en behoud alleen het meest opvallende kenmerk per regio om een uniforme ruimtelijke dekking te garanderen.
  5. Selecteer uit elke geldige regio de kandidaat met de hoogste saliency-respons als het representatieve kenmerk.
  6. Verbeter de inschatting van de houding met EPnP. Vervang de standaard pose-schatting (bijv. iteratieve methoden) door het Efficient Perspective-n-Point (EPnP)-algoritme met behulp van OpenCV's solvePnP. Gebruik 2D-beeldfuncties en de bijbehorende 3D-kaartpunten om de camerapose op te lossen.
  7. Implementeer, visualiseer en bestuur de robot. Wijs een statisch IP-adres toe aan het boordsysteem van de robot voor stabiele communicatie (bijv. ROBOT IP: 172.20.10.13). Open RViz (v1.14.1) op de host-pc en laad de configuratie om het traject, de schaarse en dichte puntenwolkkaarten, keyframes en gedetecteerde functies van de robot te visualiseren.
  8. Bedien de robot handmatig met behulp van de pijltjestoetsen op het toetsenbord om door de ruimte te navigeren om in kaart te brengen. Zorg ervoor dat de baanlijn in RViz verschijnt en dat de poseframes van de camera in realtime worden bijgewerkt.
    OPMERKING: Afbeelding 3 illustreert de toetsenbordindeling voor handmatige robotbesturing tijdens het in kaart brengen.

3. Feature point-verwerking met behulp van het Quadtree-algoritme

  1. Voer de extractie van de ORB-functie uit zoals hieronder beschreven.
    1. Laad de invoerafbeelding van een ROS-afbeeldingsonderwerp of een lokale gegevensset met behulp van OpenCV (versie 4.5.3).
    2. Bouw een Gaussiaanse piramide met vier niveaus, verdeel de afbeelding in uniforme rastercellen (8 x 8 cellen per niveau). Pas binnen elke cel de FAST-detector toe met een drempel van 20 om lokale sleutelpunten te identificeren.
  2. Construeer een op quadtree gebaseerde functieverfijning zoals hieronder beschreven.
    1. Construeer voor elke set sleutelpunten op een bepaald piramideniveau een quadtree-structuur: Begin met de volledige afbeelding als het hoofdknooppunt. Recursief onderverdelen we elke regio met meer dan één keypoint in vier kwadranten. Ga door totdat elk bladknooppunt ten hoogste één dominant keypoint bevat, of de gebiedsgrootte kleiner is dan 10 x 10 pixels.
  3. Pas de beoordeling van de opvallendheid van kenmerken toe zoals hieronder beschreven.
    1. Evalueer de opvallendheid van elk kandidaat-keypoint binnen een knooppunt met behulp van vergelijking:
      figure-protocol-1(1)
      waarbij Ip de intensiteitswaarde van de middelste pixel in een lokale buurt is, en Ii de intensiteitswaarden van de 16 aangrenzende pixels vertegenwoordigt. Het absolute verschil |Ip - Ii| Meet het lokale contrast tussen de middelste pixel en elke buurman. De som van alle 16 buren geeft een maat voor het algehele lokale contrast of de textuursterkte rond de middelste pixel.
    2. Rangschik alle kandidaten met behulp van een dynamische prioriteitswachtrij gesorteerd op de saliency-score. Selecteer uit elke geldige regio de kandidaat met de hoogste saliency-respons als het representatieve kenmerk.
  4. Optimaliseer en valideer functieselectie
    1. Combineer alle geselecteerde functies op piramideniveaus. Zorg voor een uniforme ruimtelijke dekking over het hele beeld. Sla de uiteindelijke functiepunten en hun descriptoren op met behulp van de ORB-descriptorextractor, versie die is afgestemd op OpenCV.
    2. Controleer of functies niet zijn gegroepeerd in een paar afbeeldingsgebieden. Functiepunten moeten een uniforme ruimtelijke verdeling vertonen en een robuuste tracking ondersteunen. Vermijd het uitvoeren van beeldverwerking in een fysiek robotsysteem terwijl het in beweging is. Zorg ervoor dat de camerastream stabiel is en dat de werkruimte is vrijgemaakt.

4. Pose-schatting met behulp van EPnP

  1. Breng 2D-3D-correspondenties tot stand door ten minste vier overeenkomende paren 3D-kaartpunten (in wereldcoördinaten) en de bijbehorende 2D-beeldsleutelpunten te selecteren. Zorg ervoor dat deze correspondenties worden geëxtraheerd uit geldige ORB-functieovereenkomsten die zijn verkregen in de volgthread.
  2. Los de eerste pose op met EPnP. Ga door totdat elk bladknooppunt ten hoogste één dominant keypoint bevat, of de gebiedsgrootte kleiner is dan 10 x 10 pixels. Gebruik de solvePnP-functie van OpenCV met de cv::SOLVEPNP_EPNP vlag om de camerapose in te schatten.

5. Verfijning van de fijne pose met ICP

  1. Voer een steekproef uit van een puntenwolk zoals hieronder beschreven.
    1. Downsample van de bronpuntenwolk om de rekenbelasting te verminderen en overbodige gegevens te verwijderen.
    2. Gebruik uniforme bemonstering om ervoor te zorgen dat structurele kenmerken gelijkmatig in alle richtingen behouden blijven. Pas indien nodig voxelrasterfiltering of willekeurige selectie toe op basis van de dichtheid en ruiskenmerken van de invoerpuntenwolk. Zorg ervoor dat de gefilterde wolk de objectcontouren behoudt en het totale aantal punten met ten minste 50% vermindert.
  2. Match overeenkomstige punten door een KD-Tree te bouwen van de bestemmingspuntenwolk om efficiënt zoeken naar dichtstbijzijnde buren mogelijk te maken. Zoek voor elk punt in de bronpuntenwolk met downsampling het dichtstbijzijnde punt in de doelwolk met behulp van de KD-Tree. Zorg voor nauwkeurigheid bij het matchen van punten, aangezien deze stap van cruciaal belang is voor de registratieprestaties.
  3. Schat de optimale transformatie in zoals hieronder beschreven.
    1. Gebruik de overeenkomende puntparen om een transformatiematrix voor stijve lichamen te berekenen, inclusief zowel rotatie als translatie.
    2. Bereken de optimale stijve transformatie tussen de gematchte puntparen door de gemiddelde kwadratische fout (MSE) te minimaliseren door middel van enkelvoudige waardedecompositie (SVD) van de cross-covariantiematrix, die de rotatiematrix direct oplevert, gevolgd door berekening van de translatievector op basis van de geroteerde zwaartepunten.
  4. Pas de berekende transformatie toe op de bronpuntenwolk en werk alle puntcoördinaten bij. Herhaal het proces voor het matchen en schatten van de transformatie iteratief. Ga door met itereren totdat de registratiefout onder een vooraf gedefinieerde drempel valt of het maximale aantal iteraties is bereikt.

6. Dichte constructie van puntenwolkenkaarten

  1. Construeer een dichte 3D-puntenwolkkaart om een nauwkeurige en gedetailleerde weergave van binnenomgevingen te krijgen. Volg de stappen (zie afbeelding 4) die hieronder worden beschreven.
  2. Extraheer RGB- en dieptegegevens uit keyframes. Selecteer hoofdframes op basis van visuele rijkdom en ruimtelijke dekking. Extraheer uit elk geselecteerd keyframe zowel de RGB-afbeelding als de bijbehorende uitgelijnde dieptekaart van de RGB-D-sensor.
  3. Converteer afbeeldingspixels naar 3D-cameracoördinaten. Projecteer voor elke geldige dieptepixel de 2D-pixel in de 3D-ruimte met behulp van de intrinsieke cameraparameters. Dit proces genereert 3D-coördinaten in het coördinatensysteem van de camera.
  4. Zet cameracoördinaten om in wereldcoördinaten. Haal de geoptimaliseerde camerapose op uit ORB-SLAM2 voor elk keyframe. Gebruik de camerapose om de 3D-cameracoördinaten om te zetten in het wereldcoördinatensysteem, waarbij alle puntenwolken worden uitgelijnd in een gemeenschappelijke globale referentie.
  5. Genereer ingekleurde 3D-punten. Wijs voor elk getransformeerd 3D-punt de bijbehorende RGB-waarde van de originele afbeelding toe. Dit resulteert in een gekleurde puntenwolk die zowel de geometrie als het uiterlijk vastlegt.
  6. Voeg puntenwolken van alle hoofdframes samen. Verzamel alle getransformeerde en gekleurde puntenwolken tot een uniforme wereldwijde puntenwolkkaart. Zorg voor de juiste uitlijning met behulp van de camerahoudingen die aan elk keyframe zijn gekoppeld.
  7. Registreer en verfijn de uiteindelijke kaart met behulp van PCL. Gebruik de Point Cloud Library (PCL) om de uiteindelijke kaart te verfijnen. Pas filters toe om ruis te verwijderen en downsampling om de efficiëntie te verbeteren. Voer globale registratie uit (bijvoorbeeld met behulp van ICP) om de uitlijning tussen puntenwolken indien nodig te verfijnen (zie afbeelding 5).
    OPMERKING: Zoals weergegeven in figuur 6, kan de initiële uitlijning van de puntenwolk tijdens de initialisatiefase van de dichte mapping een voorbijgaande verkeerde uitlijning vertonen als gevolg van beperkte waarnemingsgegevens, die snel convergeren naarmate er meer gezichtspunten worden opgenomen. Door de robot te besturen om de omgeving te doorkruisen, kan een compleet driedimensionaal model worden verkregen.

7. Genereer een bezettingsrasterkaart op basis van van VSLAM afgeleide puntenwolken

  1. Proef naar beneden de wereldwijde dichte puntenwolk. Pas voxelrasterfiltering toe met een voxelresolutie van 0,05 m om redundantie te verminderen en de ruimtelijke resolutie voor rasterconstructie te definiëren.
  2. Project 3D wijst in een 2D-bezettingsraster. Projecteer alle 3D-punten op het horizontale (x-y) vlak. Discretiseer de ruimte in uniforme rastercellen, die elk een vierkant van 0,05 m x 0,05 m in de echte wereld vertegenwoordigen.
  3. Schat de bezettingskans. Gebruik een omgekeerd sensormodel om de bezettingswaarschijnlijkheid van elke cel te berekenen op basis van puntdichtheid en gesimuleerde raytracing.
    1. Stel de bezette waarschijnlijkheidsdrempel in op 0,65. Stel de vrije kansdrempel in op 0,35. Classificeer rastercellen met tussenliggende waarden als onbekend.
  4. Pas obstakelinflatie toe. Blaas de bezette gebieden op door een cirkelvormige kern met een straal van 0,2 m aan te brengen om rekening te houden met de robotspeling en veiligheidsmarges.
  5. Exporteer de bezettingskaart. Sla de gegenereerde bezettingsrasterkaart op in het Portable GrayMap-formaat, vergezeld van een bijbehorend m.yaml-metagegevensbestand, om compatibiliteit met ROS-gebaseerde navigatiesystemen te garanderen.

8. Verbeterde strategie voor wereldwijde padplanning (gebaseerd op RRT-algoritme)

  1. Initialiseer de padboom. Stel de startpositie van de robot in als de wortelknoop van de boom. Neem willekeurig monsters van punten in de configuratieruimte (status) om nieuwe gebieden te verkennen.
  2. Identificeer het dichtstbijzijnde bestaande knooppunt. Bereken voor elk nieuw bemonsterd willekeurig punt de Euclidische afstand tot alle bestaande knooppunten. Selecteer het knooppunt met de minimale afstand als het dichtstbijzijnde knooppunt om als uitbreidingsbasis te dienen.
  3. Genereer een nieuw knooppunt in de richting van de willekeurige steekproef. Maak een directionele eenheidsvector van het dichtstbijzijnde knooppunt in de richting van het steekproefpunt. Beweeg (aanvankelijk) een vaste stap in deze richting om een nieuw knooppunt te vormen en verbind dit met de boom.
  4. Vervang de vaste stapgrootte door een adaptief mechanisme. In plaats van een constante stapgrootte te gebruiken, past u de staplengte dynamisch aan op basis van de lokale obstakeldichtheid. Gebruik grotere stappen in open omgevingen om de uitbreiding van de boom te versnellen. Verklein in rommelige of smalle gebieden de stapgrootte om de controle en het vermijden van obstakels te verbeteren.
  5. Bereken de adaptieve stapgrootte in realtime, zoals hieronder beschreven.
    1. Gebruik sensorgegevens (bijv. LiDAR of dieptecamera) om de dichtheid van obstakels in de huidige regio te schatten.
    2. Als het aantal gedetecteerde obstakels laag is, vergroot u de stapgrootte iets. Als obstakels dicht zijn, verkleint u de stapgrootte proportioneel om meer tussenliggende knooppunten in te voegen voor een veilige verplaatsing.
  6. Itereer het uitbreidingsproces. Ga door met het nemen van steekproeven, het zoeken naar dichtstbijzijnde knooppunten en het genereren van nieuwe knooppunten met behulp van de adaptieve stapgrootte.
  7. Breng B-spline-curven aan om glad te strijken. Vervang de polylijnsegmenten in het RRT-pad door een continue B-spline-curve om de vloeiendheid te verbeteren. Selecteer controlepunten langs het oorspronkelijke RRT-pad, meestal op keerpunten of belangrijke waypoints. Construeer een controlepolygoon door deze controlepunten in volgorde met elkaar te verbinden.
  8. Genereer de B-spline-curve. Gebruik de standaard B-spline formule15:
    figure-protocol-2(2)
    Deze formule wordt gebruikt in B-spline-curves, waarbij de uiteindelijke curve C(u) een gewogen combinatie is van de controlepunten. De gewichten worden bepaald door de B-spline-basisfuncties Ni,k (u), die ervoor zorgen dat de curve vloeiend is en de algemene vorm volgt die door de controlepunten wordt gedefinieerd.
  9. Stel de curvegraad in op 3 (kubisch), wat zorgt voor continuïteit (vloeiende eerste en tweede afgeleiden). Gebruik de padplanningsmodule die is geschreven in PyCharm 2024.3.

9. Lokale trajectoptimalisatie met aangepaste TEB

  1. Introduceer de beperking voor de kortste afstand, zoals hieronder beschreven.
    1. Om deze nadelen te beperken, integreert u een beperking voor de kortste afstand in het TEB-framework.
    2. Definieer de beperking als de Euclidische afstand tussen de huidige positie St van de robot en een toekomstige pose Si+n langs het traject:
      figure-protocol-3(3)
      Deze beperking bestraft inefficiënte afwijkingen door het pad aan te moedigen dicht bij de rand van de wereldwijde padcorridor te blijven, waardoor de planningskwaliteit en veiligheid worden verbeterd.
  2. Integreer beperking in de TEB-kostenfunctie door de oorspronkelijke TEB-optimalisatiegrafiek te wijzigen om de afstandsbeperking als een extra voordeel op te nemen. Pas de functie voor totale kosten aan om een gewogen term voor fos op te nemen, waarbij soepelheid, haalbaarheid en energie-efficiëntie in evenwicht worden gebracht.
  3. Integreer beperking in de TEB-kostenfunctie. Los tijdens de optimalisatie trajectpunten op die de totale kosten minimaliseren, inclusief snelheid, acceleratie, obstakelvrijheid en de toegevoegde kortste afstandstermijn. Gebruik de onderliggende oplosser van TEB om het traject iteratief te optimaliseren over N tijdsintervallen. Optimaliseer het pad rekening houdend met de beperking (zie afbeelding 7).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

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

Evaluatie van verbeterde ORB-SLAM2
Experiment met functie-extractie
Om de effectiviteit van een RGB-D-dieptecamera in praktijkscenario's te evalueren, werd een experiment met functiepuntextractie uitgevoerd. De test is ontworpen met behulp van twee verschillende achtergrondomgevingen, elk variërend in objectkleur en helderheid om visuele complexiteit in de echte wereld te simuleren.

Zowel de voorgestelde verbeterde extr...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

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

De twee belangrijkste technologieën in autonome interieurnavigatiesystemen voor mobiele robots op wielen die de focus van deze studie zijn, zijn visuele gelijktijdige lokalisatie en kartering (SLAM)16,17 en padplanning18. De SLAM-module stelt een op quadtree gebaseerde hiërarchische selectiemethode voor om de ongelijke puntverdeling van ORB-SLAM2 te corrigeren. Om de precisie van de gegenereerde kaart te v...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

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

De auteurs verklaren geen belangenconflicten.

Dankbetuigingen

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

We willen onze oprechte dank betuigen aan universitair hoofddocent Kok Hwa Yu van de Universiti Sains Malaysia voor zijn onschatbare begeleiding tijdens dit onderzoek. We waarderen ook de hulp van onze medestudent Jingtao Jia van de Kunming University of Science and Technology, wiens steun in hoge mate heeft bijgedragen aan het succes van dit werk.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
Astra Pro Plus 3D CameraCRBBECNone3D Camera
TARKBOT-R20-TWDNoneNoneROS Robot

Referenties

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).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Herprints en machtigingen

Toestemming aanvragen om de tekst of afbeeldingen van dit JoVE-artikel te hergebruiken

Toestemming aanvragen

Trefwoorden

KenmerkmatchingPuntenwolkreconstructieRapidly Exploring Random TreeTimed Elastic BandPose optimalisatieRobot Operating System

Gerelateerde artikelen