Sommario:
- Passaggio 1: installazione delle dipendenze Bootstrap e download dei pacchetti
- Passaggio 2: risolvere i problemi
- Passaggio 3: crea e crea l'installazione
- Passaggio 4: installare il pacchetto RPLIDAR ROS
- Passaggio 5: impostare ROS per l'esecuzione su più macchine
- Passaggio 6: fatto
Video: ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Questo articolo tratterà il processo di installazione di ROS Melodic Morenia su Raspberry Pi 4 con l'ultimo Debian Buster e come utilizzare RPLIDAR A1M8 con la nostra installazione.
Dato che Debian Buster è stato rilasciato ufficialmente solo poche settimane fa (al momento della stesura di questo articolo), non ci sono pacchetti ROS precompilati da installare con apt-get, che è un metodo di installazione preferito. Quindi dovremo costruirlo dalla fonte. Credimi, non è così spaventoso come sembra. Il processo è descritto in questo tutorial ufficiale, ma per costruire ROS Melodic su Raspberry Pi dovremo apportare alcune modifiche.
Nel caso tu abbia ancora paura, ecco un'immagine divertente che *potrebbe* aiutarti a rilassarti. Si prega di fornire un feedback se il livello di rilassamento fornito è stato sufficiente. In caso contrario, verrà sostituito con l'immagine di un gatto divertente.
Gennaio 2020 EDIT: Dato che è passato sei mesi da quando ho pubblicato questo articolo, potrebbero esserci state delle modifiche a ROS o Buster. Ho realizzato un'immagine per Raspberry Pi 4 qualche tempo fa, dopo aver scritto questo tutorial. Un collaboratore lo ha caricato su Google Drive
Aprile 2020 EDIT: ho trovato il tempo di recente per rifare l'installazione di ROS Melodic sull'immagine Raspbian più recente dal sito ufficiale di Raspberry Pi. Ho modificato questa istruzione di conseguenza. Ho anche creato e condiviso immagini pulite e compresse:
Raspbian Buster Lite 2020-02-13 Rilascio con ROS Melodic Bare-bones Necessita di una scheda SD da 8 GB
Raspbian Buster con desktop 2020-02-13 Rilascio con ROS Melodic Desktop Necessità di una scheda SD da 16 GB
Potrebbe essere il modo più veloce per far funzionare il tuo sistema. Se desideri compilare ROS da solo, continua a leggere l'articolo.
Passaggio 1: installazione delle dipendenze Bootstrap e download dei pacchetti
Iniziamo impostando i repository e installando le dipendenze necessarie
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Quindi inizializza rosdep e aggiornalo
sudo rosdep init
aggiornamento rosdep
Fatto ciò, creiamo uno spazio di lavoro catkin dedicato per la creazione di ROS e spostiamoci in quella directory.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Ora hai due scelte:
ROS-Comm: (Bare Bones) installazione - installa questo se hai familiarità con ROS e sai cosa stai facendo e di quali pacchetti avrai bisogno. Se hai bisogno di pacchetti non inclusi in ROS-Comm, dovrai anche compilare dal sorgente.
Installazione desktop: include strumenti GUI, come rqt, rviz e librerie generiche per robot. Potrebbe essere una scelta migliore per i principianti di ROS.
Andrò con l'installazione di Desktop Install qui.
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Il comando impiegherà alcuni minuti per scaricare tutti i pacchetti ROS principali nella cartella src.
Se wstool init fallisce o viene interrotto, puoi riprendere il download eseguendo:
wstool update -j4 -t src
Passaggio 2: risolvere i problemi
Aprile 2020 EDIT: salta questo passaggio, sembra che tutti i problemi siano stati risolti ora
Installiamo la versione compatibile di Assimp (Open Asset Import Library) per risolvere il problema di dipendenza collada_urdf.
mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget https://sourceforge.net/projects/assimp/files/assi… -O asimp-3.1.1_no_test_models.zip
decomprimere assim-3.1.1_no_test_models.zip
cd assim-3.1.1
cmq.
fare
sudo make install
Installiamo anche OGRE per rviz
sudo apt-get install libogre-1.9-dev
AGGIORNAMENTO di gennaio 2020: i problemi con libbost sono già stati risolti dagli sviluppatori ROS, puoi saltare questa parte
/// skip /// Infine dovremo risolvere i problemi con libboost. Sto usando la soluzione da questo post su StackOverflow:
Gli errori durante la compilazione sono causati dalla funzione 'boost::posix_time::millisecondis' che nelle versioni boost più recenti accetta solo un argomento intero, ma il pacchetto actionlib in ROS gli dà un float in diversi punti. Puoi elencare tutti i file usando quella funzione (! nella cartella ros_catkin_ws!):
trova -type f -print0 | xargs -0 grep 'boost::posix_time::millisecondis' | cut -d: -f1 | sort -u
Aprili nel tuo editor di testo e cerca la chiamata alla funzione 'boost::posix_time::millisecondi'.
e sostituisci le chiamate in questo modo:
boost::posix_time::millisecondi(loop_duration.toSec() * 1000.0f));
insieme a:
boost::posix_time::millisecondi(int(loop_duration.toSec() * 1000.0f)));
e questi:
boost::posix_time::millisecondi(1000.0f)
insieme a:
boost::posix_time::millisecondi(1000)
Ti consiglio di usare l'editor di testo nano, che è più semplice di VIM;) Ctrl+O sta salvando, Ctrl+X sta uscendo e Ctrl+W sta cercando.
///continua_da_qui///
Passaggio 3: crea e crea l'installazione
Successivamente usiamo lo strumento rosdep per installare tutto il resto delle dipendenze:
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
Una volta completato il download dei pacchetti e la risoluzione delle dipendenze, sei pronto per creare i pacchetti amento. (Esegui questo comando dalla cartella ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
Se il processo di compilazione si blocca (molto probabilmente, se installi la versione desktop), devi aumentare lo spazio di swap disponibile. Per impostazione predefinita è 100 MB, prova ad aumentarlo a 2048 MB.
Buona fortuna! L'intero processo di compilazione richiede circa 1 ora (meno per la versione Bare-bones), quindi vai a preparare un po' di tè.
Ora ROS Melodic dovrebbe essere installato sul tuo Raspberry Pi 4. Daremo origine alla nuova installazione con il seguente comando:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Apri una nuova shell per rendere effettive le modifiche. Prova a lanciare roscore per verificare se tutto è andato a buon fine.
Passaggio 4: installare il pacchetto RPLIDAR ROS
Creiamo uno spazio di lavoro separato per altri pacchetti, che non fanno parte del core ROS.
Dalla tua cartella home fai:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
e invialo a bashrc:
echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Ok, siamo pronti per iniziare a installare il pacchetto RPLIDAR ROS.
cd src
sudo git clone
cd..
catkin_make
Attendi il completamento della compilazione del pacchetto. Prova ad avviare il pacchetto per vedere se la compilazione è andata a buon fine:
roslaunch rplidar_ros rplidar.launch
Se non restituisce alcun errore, esegui un rapido ballo celebrativo (*opzionale).
Ora manca solo l'ultimo pezzo: poiché probabilmente stai eseguendo Raspberry Pi 4 in modalità headless, non possiamo visualizzare i messaggi lidar. Per questo avremo bisogno di impostare ROS per l'esecuzione su più macchine.
Passaggio 5: impostare ROS per l'esecuzione su più macchine
Per questa parte avrai bisogno di un computer Ubuntu 18.04 con ROS Melodic installato. Poiché è Ubuntu ROS, può essere semplicemente installato usando apt-get come descritto in questo tutorial.
Dopo aver eseguito l'installazione di ROS sia su Raspberry Pi che sul tuo computer desktop, controlla gli indirizzi IP di entrambe le macchine. Devono essere sulla stessa rete!
Esegui roscore sul tuo computer desktop ed esporta ROS_MASTER_URI
roscore
export ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311
Avanti su Raspberry PI eseguire
export ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311
export ROS_IP=[your-raspberry-pi-ip]
e avvia il file di avvio di RPILIDAR
roslaunch rplidar_ros rplidar.launch
Se si avvia correttamente, controlla gli argomenti presenti sul tuo computer desktop con l'elenco rostopico
Se riesci a vedere / scansionare i messaggi, tutto funziona come dovrebbe funzionare. Quindi avvia RVIZ sul tuo computer desktop, aggiungi i messaggi di Laser Scan e scegli l'argomento /scan. Dovrai anche cambiare il frame fisso in /laser.
Ecco!
Passaggio 6: fatto
Questa guida può essere un primo passo verso la creazione del tuo robot ROS sul nuovo Raspberry Pi 4. Abbiamo installato ROS Melodic e preparato l'installazione per l'esecuzione senza testa e la connessione alla nostra macchina desktop tramite rete wireless per il controllo remoto.
I passaggi successivi dipendono dal tipo di robot che vuoi costruire. Puoi aggiungere motori ed encoder per l'odometria, telecamera stereo per Visual SLAM e ogni sorta di altre cose interessanti e utili.
L'hardware per questo articolo è stato gentilmente fornito dallo studio Seeed. Dai un'occhiata a Raspberry Pi 4, RPLIDAR A1M8 e altro hardware per i produttori nel negozio Seeed Studio!
Aggiungimi su LinkedIn se hai qualche domanda e iscriviti al mio canale YouTube per ricevere notifiche su progetti più interessanti che coinvolgono l'apprendimento automatico e la robotica.
Consigliato:
Iniziare con RPLIDAR a basso costo utilizzando Jetson Nano: 5 passaggi
Per iniziare con il RPLIDAR a basso costo Utilizzo di Jetson Nano: breve panoramica Il rilevamento e la portata della luce (LiDAR) funzionano allo stesso modo dei telemetri a ultrasuoni con impulso laser invece delle onde sonore. Yandex, Uber, Waymo e così via stanno investendo pesantemente nella tecnologia LiDAR per i loro veicoli a guida autonoma
Come utilizzare lo scanner laser RPLIDAR 360° con Arduino: 3 passaggi (con immagini)
Come utilizzare lo scanner laser RPLIDAR 360° con Arduino: Sono un grande fan della costruzione di robot sumo e sono sempre alla ricerca di nuovi sensori e materiali interessanti da utilizzare per costruire un robot migliore, più veloce e più intelligente. Ho scoperto RPLIDAR A1 che puoi ottenere per $ 99 su DFROBOT.com. Ho detto che ero interessato
Roomblock: una piattaforma per l'apprendimento della navigazione ROS con Roomba, Raspberry Pi e RPLIDAR: 9 passaggi (con immagini)
Roomblock: una piattaforma per l'apprendimento della navigazione ROS con Roomba, Raspberry Pi e RPLIDAR: cos'è questo?"Roomblock" è una piattaforma robotica composta da un Roomba, un Raspberry Pi 2, un sensore laser (RPLIDAR) e una batteria mobile. Il telaio di montaggio può essere realizzato con stampanti 3D. Il sistema di navigazione ROS consente di creare una mappa delle stanze e utilizzare i