På grund av den precision som krävs inom olika områden, såsom jordbruk, arkeologi och transport, lasrar används ofta för ändamål som att undvika hinder, kartkonstruktion eller till och med autonoma navigering.
Låt oss titta på LiDAR, hur de fungerar och hur du kan använda dem för att skapa en 2D-karta över ditt utrymme.
Saker du behöver för att skanna ditt rum
Följande är förutsättningarna för att skapa en 2D-karta över ditt rum:
- En bärbar dator eller PC som kör Ubuntu Server
- ROS installation
- En LiDAR
Vad är LiDAR?
LiDAR, eller Light Detection and Ranging, kan också hittas under ett annat namn, LADAR (Laser Detection och Ranging) en aktiv fjärranalysteknik som mäter avstånd med hjälp av ljus i form av en pulsad laser. Tekniken fungerar genom att lysa en optisk puls mot ett mål och mäta egenskaperna hos den reflekterade retursignalen.
Systemet mäter den tid det tar för strålen att återvända. I allmänhet är det en avståndsmätare. Den optiska pulsens bredd kan variera från några nanosekunder till flera mikrosekunder, och den kan rikta in sig på en mängd olika material.
Systemanslutning och laserdatainsamling
RPLIDAR A1, en billig LiDAR-sensor lämplig för inomhusrobotapplikationer, kommer att användas i detta fall. Den har ett 360-graders skanningsfält, en roterande frekvens på 5,5 Hz/10 Hz och ett rangeravstånd på 8 meter. LiDAR har ett räckviddsskannersystem, ett motorsystem samt ett kommunikationsgränssnitt (seriell port/USB).
Systemet mäter avståndsdata med mer än 2000 gånger per sekund och med högupplöst avståndsutgång. Följaktligen kräver det användning av flera verktyg för att bearbeta och visualisera data. Du kan till exempel använda SlamTech RoboStudio-verktyget eller det medföljande ROS-paketet.
Varför ROS?
ROS (Robot Operating System) är programvara som används av en global öppen källkodsgemenskap av robotamatörer som är dedikerade till att förbättra och göra robotar tillgängliga för alla. Det utvecklades ursprungligen av Eric Berger och Keenan Wyrobek vid Stanford University. ROS låter dig också visualisera sensordata, skapa gränssnitt och använda verktyg som Rviz och simuleringsmotorn Gazebo.
Med ROS kommer du enkelt att kunna separera din kod i paket som innehåller små program, så kallade noder. Dessa noder är anslutna via ämnen som de skickar och tar emot meddelanden över.
I det här projektet kommer du att använda rplidar_ros, ett ROS-paket som är speciellt designat för LiDAR-datainsamling. Paketet hector_slam kommer att användas senare för att skapa kartor.
Steg 1: ROS-installation
Efter installera Ubuntu Server, öppna din terminal och kör följande kommando för att säkerställa att ditt Debianpaketindex är uppdaterat. Skillnaden mellan uppdatering och uppgradering har redan täckts.
sudo apt uppdatering
Följande steg är att installera ROS.
sudo apt Installera ros-noetic-desktop-full
Du kan testa ROS genom att köra roscore, vilket kommer att fungera som bevis på korrekt installation.
roscore
Steg 2: Få din första skanning
Kör först följande kommando för att installera rplidar_ros paket:
sudo apt-skaffa sig installera ros-noetic-rplidar-ros
De rplidar_ros Paketet innehåller de skript och startfiler som krävs för att erhålla och visualisera LiDAR-skanningsdata.
När du har slutfört din programvara, anslut din LiDAR till din PC via USB-porten. LiDAR kommer att börja rotera, men den kommer inte att avge någon laser om du inte kör följande kommando som anropar en ROS-startfil.
roslaunchrplidar_rosrplidar.lansera
Genom att köra det här kommandot kan du se de reflekterade avstånden som publiceras i ett ämne som heter /scan.
rostopic eko /scan
Du bör se en representation av obearbetade laserskanningsdata i din terminal:
För att visualisera dessa data, öppna en annan terminal, se till att inte stänga den andra pågående terminalen som hämtar data från laserskannern och starta Rviz, visualiseringsverktyget.
rosrun rviz rviz
Ändra Fast ram till Laser, klicka sedan på Lägg till knappen i det nedre vänstra hörnet av fönstret och välj LaserScan. Ställ slutligen in LaserScan-ämnet till /scan, och du kommer att kunna se din LiDAR-skanning i realtid.
Om du har problem med att få din första skanning kan det bero på att din enhet inte är behörig att kommunicera data via seriell. För att fixa detta, kör följande kommando och fortsätt sedan med föregående steg.
sudo chmod 777 /dev/ttyUSB0
Steg 3: Starta Mapping
När du har testat din LiDAR och bekräftat att den fungerar korrekt är nästa steg att börja skanna din region av intresse. För detta behöver du ett extra paket som heter Hector Slam (där "Slam" står för "Simultaneous localization and mapping").
Som tidigare, kör följande kommando för att installera det paketet:
sudo apt-skaffa sig installera ros-noetic-hector-slam
Innan du kör skanningen, ändra några parametrar enligt nedan. Sök efter tutorial.launch i hector_slam-paketet genom att använda roscd kommando.
roscd hector_slam_launch
Kommandot nano låter dig öppna din fil och redigera den.
nanohandledning.lansera
Du kan stöta på en Linux-filbehörighet fel som kan lösas med detta kommando:
sudochmod 777 handledning.lansera
Här är ett exempel på utförandet:
Nästa steg är att ändra linjerna enligt nedan:
Det sista steget är att utföra denna rad.
roslaunchhector_slamhandledning.lansera
Börja flytta din LiDAR långsamt runt ditt rum för bästa resultat eftersom att skapa kartor är mest effektivt när du rör dig långsamt. Du kan aktivera din bana och experimentera med laserskanningsinställningarna.
Du kan använda SLAM inomhus för att skanna hela huset med en bärbar dator och en LiDAR som visas i videon nedan. Resultaten kan förbättras genom att integrera ytterligare sensorer och sedan kombinera data från båda källorna.
Steg 4: Spara och redigera din karta
Kör följande kommando när du är klar med din skanning för att spara kartan:
rostopic pub syscommand std_msgs/String "savegeotiff"
I detta scenario, imagemagick kan användas för att konvertera kartan till en PNG-bildfil, kör båda dessa kommandon för att slutföra installationen och konverteringen.
sudo apt-skaffa sig installera imagemagick
konverteraskannade karta.pgmMyPngMap.png
Få mer användning av LiDAR
Med hjälp av en LiDAR och en PC kunde du utföra en 2D-skanning. Du kan förbättra din skanning genom att lägga till en djupkamera, som Kinect, och integrera de två typerna av data som samlas in.
Samma teknik kan finnas i vissa avancerade iPhone- och iPad-modeller, där LiDAR är integrerad i kameran modul på enhetens baksida, vilket möjliggör utveckling av 3D-kartor, avståndsmätning och förstärkt verklighet applikationer.