Zaradi natančnosti, ki se zahteva na različnih področjih, kot so kmetijstvo, arheologija in transport, laserji se pogosto uporabljajo za namene, kot so izogibanje oviram, izdelava zemljevidov ali celo avtonomni navigacijo.
Oglejmo si LiDAR-je, kako delujejo in kako jih lahko uporabite za ustvarjanje 2D zemljevida vašega prostora.
Stvari, ki jih boste potrebovali za skeniranje vaše sobe
Sledijo predpogoji za ustvarjanje 2D zemljevida vaše sobe:
- Prenosnik ali osebni računalnik z Ubuntu Serverjem
- namestitev ROS
- LiDAR
Kaj je LiDAR?
LiDAR ali zaznavanje in določanje razdalje svetlobe. Lahko ga najdete tudi pod drugim imenom, LADAR (lasersko zaznavanje in Ranging) tehnologija aktivnega daljinskega zaznavanja, ki meri razdaljo z uporabo svetlobe v obliki impulza laser. Tehnologija deluje tako, da na tarčo usmeri optični impulz in izmeri značilnosti odbitega povratnega signala.
Sistem meri čas, ki ga žarek potrebuje, da se vrne. Na splošno je merilnik razdalje. Širina optičnega impulza je lahko od nekaj nanosekund do nekaj mikrosekund in lahko cilja na različne materiale.
Sistemska povezava in lasersko pridobivanje podatkov
V tem primeru bo uporabljen nizkocenovni senzor LiDAR RPLIDAR A1, primeren za robotske aplikacije v zaprtih prostorih. Ima 360-stopinjsko polje skeniranja, vrtljivo frekvenco 5,5 Hz/10 Hz in razdaljo rangerja 8 metrov. LiDAR ima sistem skenerja dosega, motorni sistem in komunikacijski vmesnik (serijska vrata/USB).
Sistem meri podatke o razdalji več kot 2000-krat na sekundo in z izhodno razdaljo visoke ločljivosti. Posledično zahteva uporabo več orodij za obdelavo in vizualizacijo podatkov. Uporabite lahko na primer orodje SlamTech RoboStudio ali paket ROS.
Zakaj ROS?
ROS (Robot Operating System) je programska oprema, ki jo uporablja globalna odprtokodna skupnost ljubiteljev robotike, ki je namenjena izboljšanju in zagotavljanju dostopnosti robotov vsem. Sprva sta ga razvila Eric Berger in Keenan Wyrobek na univerzi Stanford. ROS vam omogoča tudi vizualizacijo senzorskih podatkov, ustvarjanje vmesnikov in uporabo orodij, kot sta Rviz in simulacijski motor Gazebo.
Z ROS boste lahko svojo kodo enostavno ločili v pakete, ki vsebujejo majhne programe, imenovane vozlišča. Ta vozlišča so povezana prek tem, prek katerih pošiljajo in prejemajo sporočila.
V tem projektu boste uporabili rplidar_ros, paket ROS, ki je zasnovan posebej za zbiranje podatkov LiDAR. Paket hector_slam bo kasneje uporabljen za izdelavo zemljevida.
1. korak: Namestitev ROS
Po namestitev strežnika Ubuntu, odprite terminal in zaženite naslednji ukaz, da zagotovite, da je vaš indeks paketa Debian posodobljen. Razlika med posodobitvijo in nadgradnjo je že pokrito.
sudo apt nadgradnja
Naslednji korak je namestitev ROS-a.
sudo apt namestite ros-noetic-desktop-poln
ROS lahko preizkusite tako, da zaženete roscore, ki bo služil kot dokaz pravilne namestitve.
roscore
2. korak: pridobitev prvega skeniranja
Najprej zaženite naslednji ukaz, da namestite rplidar_ros paket:
sudo apt-dobiti namestite ros-noetic-rplidar-ros
The rplidar_ros paket vključuje skripte in zagonske datoteke, potrebne za pridobitev in vizualizacijo podatkov skeniranja LiDAR.
Ko dokončate programsko opremo, povežite svoj LiDAR z računalnikom prek vrat USB. LiDAR se bo začel vrteti, vendar ne bo oddajal nobenega laserja, razen če zaženete naslednji ukaz, ki pokliče zagonsko datoteko ROS.
roslaunchrplidar_rosrplidar.kosilo
Če zaženete ta ukaz, si lahko ogledate odbite razdalje, ki so objavljene v temi z imenom /scan.
rostopic odmev /scan
V terminalu bi morali videti predstavitev neobdelanih podatkov laserskega skeniranja:
Če želite vizualizirati te podatke, odprite drug terminal, pazite, da ne zaprete drugega delujočega terminala, ki pridobiva podatke iz laserskega skenerja, in zaženite Rviz, orodje za vizualizacijo.
rosrun rviz rviz
Spremenite Fiksni okvir do Laser, nato kliknite dodati v spodnjem levem kotu okna in izberite LaserScan. Nazadnje nastavite temo LaserScan na /scan, in videli boste lahko svoje skeniranje LiDAR v realnem času.
Če imate težave pri prvem skeniranju, je to morda zato, ker vaša naprava ni pooblaščena za sporočanje podatkov prek serijskega vmesnika. Če želite to popraviti, zaženite naslednji ukaz in nato nadaljujte s prejšnjimi koraki.
sudo chmod 777 /dev/ttyUSB0
3. korak: Zaženite preslikavo
Ko preizkusite svoj LiDAR in potrdite, da deluje pravilno, je naslednji korak, da začnete skenirati območje, ki vas zanima. Za to boste potrebovali dodaten paket, imenovan Hector Slam (kjer "Slam" pomeni "Simultaneous localization and mapping").
Kot prej izvedite naslednji ukaz, da namestite ta paket:
sudo apt-dobiti namestite ros-noetic-hector-slam
Preden zaženete skeniranje, spremenite nekaj parametrov, kot je prikazano spodaj. Poiščite tutorial.launch v paketu hector_slam z uporabo roscd ukaz.
roscd hector_slam_launch
Ukaz nano vam omogoča, da odprete datoteko in jo uredite.
nanovadnica.kosilo
Morda boste naleteli dovoljenje za datoteko Linux napaka, ki jo je mogoče rešiti s tem ukazom:
sudochmod 777 vadnica.kosilo
Tukaj je vzorec izvedbe:
Naslednji korak je sprememba vrstic, kot je prikazano spodaj:
Zadnji korak je izvedba te vrstice.
roslaunchhector_slamvadnica.kosilo
Začnite počasi premikati LiDAR po svoji sobi za najboljše rezultate, saj je ustvarjanje zemljevidov najučinkovitejše, ko se premikate počasi. Lahko vklopite svojo pot in eksperimentirate z nastavitvami laserskega skeniranja.
Notranji SLAM lahko uporabite za skeniranje celotne hiše z uporabo prenosnika in LiDAR-ja, kot je prikazano v spodnjem videu. Rezultate je mogoče izboljšati z integracijo dodatnih senzorjev in nato združevanjem podatkov iz obeh virov.
4. korak: Shranite in uredite svoj zemljevid
Ko končate s skeniranjem, zaženite naslednji ukaz, da shranite zemljevid:
sistemski ukaz rostopic pub std_msgs/String "savegeotiff"
V tem scenariju imagemagick lahko uporabite za pretvorbo zemljevida v slikovno datoteko PNG, zaženite oba ukaza, da dokončate namestitev in pretvorbo.
sudo apt-dobiti namestite imagemagick
PretvorbascannedMap.pgmMyPngMap.png
Bolje izkoristite LiDAR
Z uporabo LiDAR in osebnega računalnika ste lahko izvedli 2D skeniranje. Skeniranje lahko izboljšate tako, da dodate globinsko kamero, kot je Kinect, in združite dve vrsti zbranih podatkov.
Enako tehnologijo lahko najdemo v nekaterih vrhunskih modelih iPhone in iPad, kjer je LiDAR integriran v fotoaparat modul na zadnji strani naprave, ki omogoča razvoj 3D zemljevidov, merjenje razdalje in obogateno resničnost aplikacije.