Datorită preciziei necesare în diverse domenii, cum ar fi agricultura, arheologia și transportul, laserele sunt adesea folosite în scopuri precum evitarea obstacolelor, construcția de hărți sau chiar autonome navigare.
Să ne uităm la LiDAR, cum funcționează și cum le puteți folosi pentru a crea o hartă 2D a spațiului dvs.
Lucruri de care veți avea nevoie pentru a vă scana camera
Următoarele sunt cerințele preliminare pentru a crea o hartă 2D a camerei dvs.:
- Un laptop sau PC care rulează Ubuntu Server
- Instalare ROS
- Un LiDAR
Ce este LiDAR?
LiDAR, sau Light Detection and Ranging, poate fi găsit și sub un alt nume, LADAR (Laser Detection and Ranging) o tehnologie activă de teledetecție care măsoară distanța folosind lumina sub formă de impulsuri laser. Tehnologia funcționează prin strălucirea unui impuls optic la o țintă și măsurarea caracteristicilor semnalului de întoarcere reflectat.
Sistemul măsoară timpul necesar fasciculului pentru a reveni. În general, este un contor de distanță. Lățimea impulsului optic poate varia de la câteva nanosecunde la câteva microsecunde și poate viza o varietate de materiale.
Conexiune la sistem și achiziție de date laser
În acest caz, va fi utilizat RPLIDAR A1, un senzor LiDAR cu costuri reduse, potrivit pentru aplicații robotizate de interior. Are un câmp de scanare de 360 de grade, o frecvență de rotație de 5,5 Hz/10 Hz și o distanță de ranger de 8 metri. LiDAR are un sistem de scanare de gamă, un sistem motor, precum și o interfață de comunicare (port serial/USB).
Sistemul măsoară datele de distanță la mai mult de 2000 de ori pe secundă și cu ieșire de distanță de înaltă rezoluție. În consecință, necesită utilizarea mai multor instrumente pentru procesarea și vizualizarea datelor. De exemplu, puteți utiliza instrumentul SlamTech RoboStudio sau pachetul furnizat de ROS.
De ce ROS?
ROS (Robot Operating System) este un software utilizat de o comunitate globală open-source de pasionați de robotică dedicată îmbunătățirii și punerii roboților la dispoziția tuturor. A fost dezvoltat inițial de Eric Berger și Keenan Wyrobek de la Universitatea Stanford. ROS vă permite, de asemenea, să vizualizați datele senzorilor, să creați interfețe și să utilizați instrumente precum Rviz și motorul de simulare Gazebo.
Cu ROS, veți putea să vă separați cu ușurință codul în pachete care conțin programe mici, numite noduri. Aceste noduri sunt conectate prin subiecte peste care trimit și primesc mesaje.
În acest proiect, veți folosi rplidar_ros, un pachet ROS care este conceput special pentru colectarea datelor LiDAR. Pachetul hector_slam va fi folosit mai târziu pentru crearea hărții.
Pasul 1: Instalarea ROS
După instalarea Ubuntu Server, deschideți terminalul și rulați următoarea comandă pentru a vă asigura că indexul pachetului Debian este actualizat. Diferența dintre actualizare și upgrade a fost deja acoperit.
sudo apt Actualizați
Următorul pas este instalarea ROS.
sudo apt instalare ros-noetic-desktop-deplin
Puteți testa ROS rulând roscore, care va servi drept dovadă a instalării corecte.
roscore
Pasul 2: obținerea primei scanări
Mai întâi, executați următoarea comandă pentru a instala rplidar_ros pachet:
sudo apt-obține instala ros-noetic-rplidar-ros
The rplidar_ros pachetul include scripturile și fișierele de lansare necesare pentru a obține și vizualiza datele de scanare LiDAR.
După ce ați finalizat software-ul, conectați LiDAR-ul la computer prin portul USB. LiDAR-ul va începe să se rotească, dar nu va emite niciun laser decât dacă rulați următoarea comandă care apelează un fișier de lansare ROS.
roslaunchrplidar_rosrplidar.lansa
Prin rularea acestei comenzi, puteți vedea distanțele reflectate care sunt publicate într-un subiect numit /scan.
rostopic ecou /scan
Ar trebui să vedeți o reprezentare a datelor de scanare laser neprocesate în terminalul dvs.:
Pentru a vizualiza acele date, deschideți un alt terminal, asigurându-vă că nu închideți celălalt terminal care rulează care preia date de la scanerul laser și lansați Rviz, instrumentul de vizualizare.
rosrun rviz rviz
Schimba Cadru fix la Laser, apoi faceți clic pe adăuga butonul din colțul din stânga jos al ferestrei și selectați LaserScan. În cele din urmă, setați subiectul LaserScan la /scan, și veți putea vedea scanarea dvs. LiDAR în timp real.
Dacă întâmpinați probleme la obținerea primei scanări, ar putea fi din cauză că dispozitivul dvs. nu este autorizat să comunice date prin serial. Pentru a remedia acest lucru, executați următoarea comandă și apoi continuați cu pașii anteriori.
sudo chmod 777 /dev/ttyUSB0
Pasul 3: Lansați Mapping
După ce v-ați testat LiDAR și ați confirmat că funcționează corect, următorul pas este să începeți scanarea regiunii dvs. de interes. Pentru aceasta, veți avea nevoie de un pachet suplimentar numit Hector Slam (unde „Slam” înseamnă „Simultaneous localization and mapping”).
Ca și înainte, executați următoarea comandă pentru a instala acel pachet:
sudo apt-obține instala ros-noetic-hector-slam
Înainte de a rula scanarea, modificați câțiva parametri, așa cum se arată mai jos. Căutați tutorial.launch în pachetul hector_slam utilizând roscd comanda.
roscd hector_slam_launch
Comanda nano vă va permite să vă deschideți fișierul și să-l editați.
nanotutorial.lansa
S-ar putea să întâlnești o permisiune de fișier Linux eroare care poate fi rezolvată prin această comandă:
sudochmod 777 tutorial.lansa
Iată un exemplu de execuție:
Următorul pas este să schimbați liniile așa cum se arată mai jos:
Pasul final este executarea acestei linii.
roslaunchhector_slamtutorial.lansa
Începeți să mutați lent LiDAR-ul în camera dvs. pentru cele mai bune rezultate, deoarece crearea hărților este cea mai eficientă atunci când vă mișcați încet. Puteți să vă activați traiectoria și să experimentați cu setările de scanare laser.
Puteți utiliza SLAM interior pentru a scana întreaga casă folosind un laptop și un LiDAR, așa cum se arată în videoclipul de mai jos. Rezultatele pot fi îmbunătățite prin integrarea unor senzori suplimentari și apoi combinând datele din ambele surse.
Pasul 4: Salvarea și editarea hărții
Rulați următoarea comandă după ce ați terminat cu scanarea pentru a salva harta:
rostopic pub syscommand std_msgs/String "savegeotiff"
În acest scenariu, magicmagick poate fi folosit pentru a converti harta într-un fișier imagine PNG, rulați ambele comenzi pentru a finaliza instalarea și conversia.
sudo apt-obține instalați imagemagick
convertitHarta scanată.pgmMyPngMap.png
Folosiți mai mult de la LiDAR
Folosind un LiDAR și un PC, ați putut efectua o scanare 2D. Vă puteți îmbunătăți scanarea adăugând o cameră de adâncime, cum ar fi Kinect, și integrând cele două tipuri de date colectate.
Aceeași tehnologie poate fi găsită în unele modele de iPhone și iPad de vârf, unde LiDAR este integrat în cameră modul pe spatele dispozitivului, permițând dezvoltarea de hărți 3D, măsurarea distanței și realitate augmentată aplicatii.