Vanwege de vereiste precisie op verschillende gebieden, zoals landbouw, archeologie en transport, lasers worden vaak gebruikt voor doeleinden zoals het vermijden van obstakels, het maken van kaarten of zelfs autonoom navigatie.

Laten we eens kijken naar LiDAR's, hoe ze werken en hoe u ze kunt gebruiken om een ​​2D-kaart van uw ruimte te maken.

Dingen die je nodig hebt om je kamer te scannen

Hieronder volgen de vereisten om een ​​2D-kaart van uw kamer te maken:

  • Een laptop of pc met Ubuntu Server
  • ROS-installatie
  • Een LiDAR

Wat is LiDAR?

LiDAR, of Light Detection and Ranging, het kan ook worden gevonden onder een andere naam, LADAR (Laser Detection and Variërend) een actieve teledetectietechnologie die afstand meet met behulp van licht in de vorm van een gepulseerd laser. De technologie werkt door een optische puls op een doel te laten schijnen en de kenmerken van het gereflecteerde retoursignaal te meten.

Het systeem meet de tijd die de straal nodig heeft om terug te keren. Over het algemeen is het een afstandsmeter. De breedte van de optische puls kan variëren van enkele nanoseconden tot enkele microseconden en kan gericht zijn op een verscheidenheid aan materialen.

Systeemverbinding en lasergegevensverzameling

In dit geval zal RPLIDAR A1, een goedkope LiDAR-sensor die geschikt is voor robottoepassingen binnenshuis, worden gebruikt. Het heeft een scanveld van 360 graden, een roterende frequentie van 5,5 hz/10 hz en een ranger-afstand van 8 meter. De LiDAR heeft een bereikscannersysteem, een motorsysteem en een communicatie-interface (seriële poort/USB).

Het systeem meet afstandsgegevens met meer dan 2000 keer per seconde en met een hoge resolutie afstandsuitvoer. Daarom vereist het het gebruik van verschillende tools om de gegevens te verwerken en te visualiseren. U kunt bijvoorbeeld de SlamTech RoboStudio-tool of het door ROS geleverde pakket gebruiken.

Waarom ROOS?

ROS (Robot Operating System) is software die wordt gebruikt door een wereldwijde open-sourcegemeenschap van robothobbyisten die zich toeleggen op het verbeteren en beschikbaar maken van robots voor iedereen. Het werd oorspronkelijk ontwikkeld door Eric Berger en Keenan Wyrobek aan de Stanford University. Met ROS kunt u ook sensorgegevens visualiseren, interfaces maken en tools gebruiken zoals Rviz en de Gazebo-simulatie-engine.

Met ROS kun je je code gemakkelijk scheiden in pakketten die kleine programma's bevatten, nodes genaamd. Die knooppunten zijn verbonden via onderwerpen waarover ze berichten verzenden en ontvangen.

In dit project gebruik je rplidar_ros, een ROS-pakket dat speciaal is ontworpen voor het verzamelen van LiDAR-gegevens. Het pakket hector_slam zal later worden gebruikt voor het maken van kaarten.

Stap 1: ROS-installatie

Na Ubuntu-server installeren, open uw terminal en voer de volgende opdracht uit om ervoor te zorgen dat uw Debian-pakketindex up-to-date is. Het verschil tussen update en upgrade is al gedekt.

sudo apt update

De volgende stap is het installeren van ROS.

sudo apt installeren ros-noetic-desktop-vol

U kunt ROS testen door de roscore, die zal dienen als bewijs van een juiste installatie.

roscore 

Stap 2: Uw eerste scan verkrijgen

Voer eerst de volgende opdracht uit om de. te installeren rplidar_ros pakket:

sudo apt-krijgen installeer ros-noetic-rplidar-ros 

De rplidar_ros pakket bevat de scripts en startbestanden die nodig zijn om LiDAR-scangegevens te verkrijgen en te visualiseren.

Nadat u uw software hebt voltooid, sluit u uw LiDAR via de USB-poort op uw pc aan. De LiDAR begint te draaien, maar zendt geen laser uit tenzij u de volgende opdracht uitvoert die een ROS-startbestand oproept.

roslaunchrplidar_rosrplidar.launch

Door deze opdracht uit te voeren, kunt u de gereflecteerde afstanden zien die zijn gepubliceerd in een onderwerp met de naam /scan.

rostopic echo /scan 

U zou een weergave van de onverwerkte laserscangegevens in uw terminal moeten zien:

Om die gegevens te visualiseren, opent u een andere terminal, waarbij u ervoor zorgt dat u niet de andere actieve terminal sluit die gegevens van de laserscanner ophaalt, en start Rviz, de visualisatietool.

rosrun rviz rviz

Verander de Vast frame tot Laseren klik vervolgens op de toevoegen knop in de linkerbenedenhoek van het venster en selecteer LaserScan. Stel ten slotte het onderwerp LaserScan in op /scan, en u kunt uw realtime LiDAR-scan zien.

Als u problemen ondervindt bij het verkrijgen van uw eerste scan, kan het zijn dat uw apparaat niet gemachtigd is om gegevens via serieel te communiceren. Om dit op te lossen, voert u de volgende opdracht uit en gaat u verder met de vorige stappen.

sudo chmod 777 /dev/ttyUSB0

Stap 3: Start Mapping

Nadat u uw LiDAR hebt getest en hebt bevestigd dat deze goed werkt, is de volgende stap om te beginnen met het scannen van uw interessegebied. Hiervoor heeft u een extra pakket nodig genaamd Hector Slam (waarbij "Slam" staat voor "Gelijktijdige lokalisatie en mapping").

Voer zoals eerder de volgende opdracht uit om dat pakket te installeren:

sudo apt-krijgen installeer ros-noetic-hector-slam 

Voordat u de scan uitvoert, wijzigt u enkele parameters zoals hieronder weergegeven. Zoek naar tutorial.launch in het hector_slam-pakket met behulp van de roscd opdracht.

roscd hector_slam_launch

Het bevel nano laat u uw bestand openen en bewerken.

nanozelfstudie.launch

Je zou kunnen tegenkomen een Linux-bestandsmachtiging fout die kan worden opgelost met dit commando:

sudochmod 777 zelfstudie.launch

Hier is een voorbeeld van de uitvoering:

De volgende stap is om de regels te wijzigen zoals hieronder weergegeven:

De laatste stap is om deze regel uit te voeren.

roslaunchhector_slamzelfstudie.launch

Beweeg uw LiDAR langzaam door uw kamer voor de beste resultaten, omdat het maken van kaarten het meest effectief is als u langzaam beweegt. U kunt uw traject aanzetten en experimenteren met de laserscan-instellingen.

U kunt indoor SLAM gebruiken om het hele huis te scannen met behulp van een laptop en een LiDAR, zoals weergegeven in de onderstaande video. Resultaten kunnen worden verbeterd door extra sensoren te integreren en vervolgens de gegevens uit beide bronnen te combineren.

Stap 4: Uw kaart opslaan en bewerken

Voer de volgende opdracht uit zodra u klaar bent met uw scan om de kaart op te slaan:

rostopic pub syscommand std_msgs/String "savegeotiff"

In dit scenario, beeldmagie kan worden gebruikt om de kaart naar een PNG-afbeeldingsbestand te converteren, voer beide opdrachten uit om de installatie en de conversie te voltooien.

sudo apt-krijgen installeer imagemagick
overzettengescande kaart.pgmMijnPngKaart.png

Haal meer uit LiDAR

Met behulp van een LiDAR en een pc kon je een 2D-scan uitvoeren. U kunt uw scan verbeteren door een dieptecamera toe te voegen, zoals de Kinect, en de twee soorten verzamelde gegevens te integreren.

Dezelfde technologie is te vinden in sommige high-end iPhone- en iPad-modellen, waarbij de LiDAR in de camera is geïntegreerd module op de achterkant van het apparaat, waardoor 3D-kaarten, afstandsmeting en augmented reality kunnen worden ontwikkeld toepassingen.