Sommario:

ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passaggi
ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passaggi

Video: ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passaggi

Video: ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passaggi
Video: Lesson 35 Installing ROS In JetBot 2024, Dicembre
Anonim
Image
Image
ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic su Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

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

Risolvi i problemi
Risolvi 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

Installa il pacchetto RPLIDAR ROS
Installa 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

Imposta ROS per l'esecuzione su più macchine
Imposta 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

Fatto!
Fatto!
Fatto!
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: