A causa della precisione richiesta in vari campi, come l'agricoltura, l'archeologia e i trasporti, i laser sono spesso usati per scopi come evitare ostacoli, costruzione di mappe o persino autonomi navigazione.
Diamo un'occhiata ai LiDAR, come funzionano e come puoi usarli per creare una mappa 2D del tuo spazio.
Cose di cui avrai bisogno per scansionare la tua stanza
Di seguito sono riportati i prerequisiti per creare una mappa 2D della vostra camera:
- Un laptop o un PC con Ubuntu Server
- Installazione ROS
- Un LiDAR
Cos'è LiDAR?
LiDAR, o Light Detection and Ranging, può anche essere trovato con un altro nome, LADAR (Laser Detection and Ranging Ranging) una tecnologia di telerilevamento attiva che misura la distanza utilizzando la luce sotto forma di impulsi laser. La tecnologia funziona puntando un impulso ottico su un bersaglio e misurando le caratteristiche del segnale riflesso di ritorno.
Il sistema misura il tempo impiegato dal raggio per tornare. In generale, è un distanziometro. L'ampiezza dell'impulso ottico può variare da pochi nanosecondi a diversi microsecondi e può colpire una varietà di materiali.
Collegamento al sistema e acquisizione dati laser
In questo caso verrà utilizzato RPLIDAR A1, un sensore LiDAR a basso costo adatto per applicazioni di robotica indoor. Ha un campo di scansione a 360 gradi, una frequenza di rotazione di 5,5 Hz/10 Hz e una distanza ranger di 8 metri. Il LiDAR ha un sistema di scansione della portata, un sistema motore e un'interfaccia di comunicazione (porta seriale/USB).
Il sistema misura i dati sulla distanza a più di 2000 volte al secondo e con un'uscita di distanza ad alta risoluzione. Di conseguenza, richiede l'uso di diversi strumenti per elaborare e visualizzare i dati. Ad esempio, puoi utilizzare lo strumento SlamTech RoboStudio o il pacchetto fornito da ROS.
Perché ROS?
ROS (Robot Operating System) è un software utilizzato da una comunità open source globale di appassionati di robotica dedicata al miglioramento e alla messa a disposizione di tutti i robot. Inizialmente è stato sviluppato da Eric Berger e Keenan Wyrobek presso la Stanford University. ROS consente inoltre di visualizzare i dati dei sensori, creare interfacce e utilizzare strumenti come Rviz e il motore di simulazione Gazebo.
Con ROS, sarai in grado di separare facilmente il tuo codice in pacchetti contenenti piccoli programmi, chiamati nodi. Questi nodi sono collegati tramite argomenti sui quali inviano e ricevono messaggi.
In questo progetto, utilizzerai rplidar_ros, un pacchetto ROS progettato specificamente per la raccolta di dati LiDAR. Il pacchetto hector_slam verrà utilizzato in seguito per la creazione della mappa.
Passaggio 1: installazione ROS
Dopo installare Ubuntu Server, apri il tuo terminale ed esegui il seguente comando per assicurarti che l'indice del tuo pacchetto Debian sia aggiornato. La differenza tra aggiornamento e aggiornamento è già stato coperto.
sudo apt aggiornare
Il passaggio successivo consiste nell'installare ROS.
sudo apt installare ros-noetic-desktop-completo
Puoi testare ROS eseguendo il file roscore, che servirà come prova della corretta installazione.
roscore
Passaggio 2: ottenere la prima scansione
Innanzitutto, esegui il comando seguente per installare il file rplidar_ros pacchetto:
sudo apt-ottenere installa ros-noetic-rplidar-ros
Il rplidar_ros il pacchetto include gli script ei file di avvio necessari per ottenere e visualizzare i dati di scansione LiDAR.
Una volta completato il software, collega il tuo LiDAR al PC tramite la porta USB. Il LiDAR inizierà a ruotare, ma non emetterà alcun laser a meno che non si esegua il seguente comando che richiama un file di avvio ROS.
lancio rosarplidar_rosrplidar.lancio
Eseguendo questo comando, puoi vedere le distanze riflesse pubblicate in un argomento chiamato /scan.
rostopico eco /scan
Dovresti vedere una rappresentazione dei dati di scansione laser non elaborati nel tuo terminale:
Per visualizzare quei dati, apri un altro terminale, assicurandoti di non chiudere l'altro terminale in esecuzione che sta recuperando i dati dallo scanner laser, e avvia Rviz, lo strumento di visualizzazione.
rosrun rviz rviz
Cambiare il Telaio fisso a Laser, quindi fare clic su Inserisci pulsante nell'angolo inferiore sinistro della finestra e seleziona Scansione laser. Infine, imposta l'argomento LaserScan su /scane sarai in grado di vedere la tua scansione LiDAR in tempo reale.
Se hai problemi a ottenere la tua prima scansione, potrebbe essere perché il tuo dispositivo non è autorizzato a comunicare i dati tramite seriale. Per risolvere questo problema, esegui il comando seguente e quindi continua con i passaggi precedenti.
sudo chmod 777 /dev/ttyUSB0
Passaggio 3: avvia la mappatura
Dopo aver testato il tuo LiDAR e aver verificato che funziona correttamente, il passaggio successivo consiste nell'iniziare a scansionare la tua regione di interesse. Per questo, avrai bisogno di un pacchetto aggiuntivo chiamato Hector Slam (dove "Slam" sta per "Localizzazione e mappatura simultanee").
Come prima, esegui il seguente comando per installare quel pacchetto:
sudo apt-ottenere installa ros-noetic-hector-slam
Prima di eseguire la scansione, modificare alcuni parametri come mostrato di seguito. Cerca tutorial.launch nel pacchetto hector_slam usando il file rosc comando.
roscd hector_slam_launch
Il comando nano ti permetterà di aprire il tuo file e modificarlo.
nanotutorial.lancio
Potresti incontrare un'autorizzazione per i file Linux errore che può essere risolto con questo comando:
sudochmod 777 tutorial.lancio
Ecco un esempio dell'esecuzione:
Il passaggio successivo consiste nel modificare le linee come mostrato di seguito:
Il passaggio finale è eseguire questa riga.
lancio rosahector_slamtutorial.lancio
Inizia a spostare lentamente il tuo LiDAR nella tua stanza per ottenere i migliori risultati perché la creazione di mappe è più efficace quando ti muovi lentamente. Puoi attivare la tua traiettoria e sperimentare le impostazioni di scansione laser.
Puoi utilizzare SLAM indoor per scansionare l'intera casa usando un laptop e un LiDAR come mostrato nel video qui sotto. I risultati possono essere migliorati integrando sensori aggiuntivi e quindi combinando i dati da entrambe le fonti.
Passaggio 4: salvare e modificare la mappa
Esegui il comando seguente una volta terminata la scansione per salvare la mappa:
rostopic pub syscommand std_msgs/String "savegeotiff"
In questo scenario, immagine magica può essere utilizzato per convertire la mappa in un file immagine PNG, eseguire entrambi questi comandi per completare l'installazione e la conversione.
sudo apt-ottenere installa imagemagick
convertiremappa scansionata.pgmMyPngMap.png
Ottieni più utilizzo da LiDAR
Usando un LiDAR e un PC, sei stato in grado di eseguire una scansione 2D. Puoi migliorare la tua scansione aggiungendo una telecamera di profondità, come Kinect, e integrando i due tipi di dati raccolti.
La stessa tecnologia può essere trovata in alcuni modelli di iPhone e iPad di fascia alta, in cui il LiDAR è integrato nella fotocamera modulo sul retro del dispositivo, consentendo lo sviluppo di mappe 3D, misurazione della distanza e realtà aumentata applicazioni.