Vzhledem k přesnosti požadované v různých oblastech, jako je zemědělství, archeologie a doprava, lasery se často používají pro účely, jako je vyhýbání se překážkám, konstrukce map nebo dokonce autonomní navigace.
Pojďme se podívat na LiDARy, jak fungují a jak je můžete použít k vytvoření 2D mapy vašeho prostoru.
Věci, které budete potřebovat k proskenování pokoje
Níže jsou uvedeny předpoklady pro vytvoření 2D mapy vašeho pokoje:
- Notebook nebo PC se serverem Ubuntu
- Instalace ROS
- LiDAR
Co je LiDAR?
LiDAR neboli Light Detection and Ranging, lze jej nalézt také pod jiným názvem, LADAR (Laser Detection and Ranging) aktivní technologie dálkového průzkumu, která měří vzdálenost pomocí světla ve formě pulsu laser. Technologie funguje tak, že svítí optický puls na cíl a měří se charakteristiky odraženého zpětného signálu.
Systém měří čas, za který se paprsek vrátí. Obecně se jedná o měřič vzdálenosti. Šířka optického pulsu se může pohybovat od několika nanosekund do několika mikrosekund a může se zaměřit na různé materiály.
Připojení systému a sběr laserových dat
V tomto případě bude použit RPLIDAR A1, levný senzor LiDAR vhodný pro vnitřní robotické aplikace. Má 360stupňové skenovací pole, rotační frekvenci 5,5 Hz/10 Hz a vzdálenost rangeru je 8 metrů. LiDAR má systém snímání vzdálenosti, motorový systém a komunikační rozhraní (sériový port/USB).
Systém měří údaje o vzdálenosti více než 2000krát za sekundu as vysokým rozlišením výstupu vzdálenosti. V důsledku toho vyžaduje použití několika nástrojů pro zpracování a vizualizaci dat. Můžete například použít nástroj SlamTech RoboStudio nebo dodávaný balíček ROS.
Proč ROS?
ROS (Robot Operating System) je software používaný globální open-source komunitou robotických fandů, kteří se věnují zlepšování a zpřístupňování robotů všem. Původně jej vyvinuli Eric Berger a Keenan Wyrobek na Stanfordské univerzitě. ROS vám také umožňuje vizualizovat data senzorů, vytvářet rozhraní a používat nástroje jako Rviz a simulační engine Gazebo.
S ROS budete moci snadno rozdělit svůj kód do balíčků obsahujících malé programy, nazývané uzly. Tyto uzly jsou propojeny prostřednictvím témat, přes která odesílají a přijímají zprávy.
V tomto projektu použijete rplidar_ros, balíček ROS, který je speciálně navržen pro sběr dat LiDAR. Balíček hector_slam bude později použit pro tvorbu map.
Krok 1: Instalace ROS
Po instalace serveru Ubuntu, otevřete svůj terminál a spusťte následující příkaz, abyste se ujistili, že váš index balíčků Debian je aktuální. Rozdíl mezi aktualizací a upgradem již byla pokryta.
sudo apt Aktualizace
Následujícím krokem je instalace ROS.
sudo apt Nainstalujte ros-noetic-desktop-úplný
ROS můžete otestovat spuštěním roscore, který bude sloužit jako doklad o správné instalaci.
roscore
Krok 2: Získání prvního skenování
Nejprve spusťte následující příkaz k instalaci rplidar_ros balík:
sudo apt-dostat nainstalovat ros-noetic-rplidar-ros
The rplidar_ros balíček obsahuje skripty a spouštěcí soubory potřebné k získání a vizualizaci dat skenování LiDAR.
Po dokončení softwaru připojte svůj LiDAR k počítači pomocí portu USB. LiDAR se začne otáčet, ale nebude emitovat žádný laser, pokud nespustíte následující příkaz, který volá spouštěcí soubor ROS.
roslaunchrplidar_rosrplidar.zahájení
Spuštěním tohoto příkazu můžete vidět odražené vzdálenosti, které jsou publikovány v tématu nazvaném /scan.
rotopic echo /scan
Ve vašem terminálu byste měli vidět znázornění nezpracovaných dat laserového skenování:
Chcete-li tato data vizualizovat, otevřete další terminál a ujistěte se, že nezavřete druhý běžící terminál, který načítá data z laserového skeneru, a spusťte Rviz, vizualizační nástroj.
rosrun rviz rviz
Změň Pevný rám na Lasera poté klepněte na přidat v levém dolním rohu okna a vyberte LaserScan. Nakonec nastavte téma LaserScan na /scana budete moci vidět svůj sken LiDAR v reálném čase.
Pokud máte potíže se získáním prvního skenu, může to být způsobeno tím, že vaše zařízení není autorizováno pro komunikaci dat přes sériovou linku. Chcete-li tento problém vyřešit, spusťte následující příkaz a poté pokračujte předchozími kroky.
sudo chmod 777 /dev/ttyUSB0
Krok 3: Spusťte mapování
Poté, co jste svůj LiDAR otestovali a potvrdili, že funguje správně, je dalším krokem začít skenovat oblast vašeho zájmu. K tomu budete potřebovat další balíček s názvem Hector Slam (kde „Slam“ znamená „Simultánní lokalizace a mapování“).
Jako dříve spusťte následující příkaz, abyste mohli nainstalovat tento balíček:
sudo apt-dostat nainstalovat ros-noetic-hector-slam
Před spuštěním skenování změňte několik parametrů, jak je uvedeno níže. Vyhledejte tutorial.launch v balíčku hector_slam pomocí roscd příkaz.
roscd hector_slam_launch
Příkaz nano vám umožní otevřít soubor a upravit jej.
nanotutorial.zahájení
Můžete se setkat oprávnění k souboru Linux chyba, kterou lze vyřešit tímto příkazem:
sudochmod 777 tutorial.zahájení
Zde je ukázka provedení:
Dalším krokem je změna řádků, jak je uvedeno níže:
Posledním krokem je provedení tohoto řádku.
roslaunchhector_slamtutorial.zahájení
Pro dosažení nejlepších výsledků začněte pomalu pohybovat LiDAR po místnosti, protože vytváření map je nejúčinnější, když se pohybujete pomalu. Můžete zapnout svou trajektorii a experimentovat s nastavením laserového skenování.
Vnitřní SLAM můžete využít ke skenování celého domu pomocí notebooku a LiDAR, jak je znázorněno na videu níže. Výsledky lze zlepšit integrací dalších senzorů a poté kombinací dat z obou zdrojů.
Krok 4: Uložení a úprava mapy
Po dokončení skenování spusťte následující příkaz, abyste mapu uložili:
rostopic pub syscommand std_msgs/String "savegeotiff"
V tomto scénáři imagemagick lze použít k převodu mapy na soubor obrázku PNG, spusťte oba tyto příkazy k dokončení instalace a převodu.
sudo apt-dostat nainstalovat imagemagick
konvertovatnaskenovaná mapa.pgmMyPngMap.png
Získejte více využití od LiDAR
Pomocí LiDAR a PC jste mohli provést 2D skenování. Skenování můžete vylepšit přidáním hloubkové kamery, jako je Kinect, a integrací dvou typů shromážděných dat.
Stejnou technologii lze nalézt u některých špičkových modelů iPhone a iPad, kde je LiDAR integrován do fotoaparátu modul na zadní straně zařízení, umožňující vývoj 3D map, měření vzdálenosti a rozšířenou realitu aplikací.