Inhoudsopgave:

ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 - Ajarnpa
ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 - Ajarnpa

Video: ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 - Ajarnpa

Video: ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 - Ajarnpa
Video: Installing ROS on a Raspberry Pi 4/400 2024, November
Anonim
Image
Image
ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic op Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

Dit artikel behandelt het proces van het installeren van ROS Melodic Morenia op Raspberry Pi 4 met de nieuwste Debian Buster en het gebruik van RPLIDAR A1M8 met onze installatie.

Aangezien Debian Buster slechts een paar weken geleden officieel werd uitgebracht (op het moment van schrijven van dit artikel), zijn er geen vooraf gebouwde ROS-pakketten om te installeren met apt-get, wat een voorkeursinstallatiemethode is. Daarom zullen we het vanaf de bron moeten bouwen. Geloof me, het is niet zo eng als het klinkt. Het proces wordt beschreven in deze officiële tutorial, maar om ROS Melodic op Raspberry Pi te bouwen, moeten we een paar wijzigingen aanbrengen.

Voor het geval je nog steeds bang bent, hier is een grappige foto die * kan * je helpen ontspannen. Geef alstublieft feedback als het niveau van ontspanning voldoende was. Zo niet, dan wordt deze vervangen door een afbeelding van een grappige kat.

Januari 2020 EDIT: Aangezien het een half jaar geleden is dat ik dit artikel heb gepost, zijn er mogelijk enkele wijzigingen aangebracht in ROS of Buster. Ik heb een tijdje geleden een afbeelding gemaakt voor Raspberry Pi 4, na het schrijven van deze tutorial. Een bijdrager heeft het geüpload naar Google Drive

EDIT april 2020: ik heb onlangs tijd gevonden om ROS Melodic-installatie opnieuw uit te voeren op de nieuwste Raspbian-afbeelding van de officiële Raspberry Pi-site. Ik heb deze instructable dienovereenkomstig bewerkt. Ik heb ook schone, gecomprimeerde afbeeldingen gemaakt en gedeeld:

Raspbian Buster Lite 2020-02-13 Release met ROS Melodic Bare-bones 8 GB SD-kaart nodig

Raspbian Buster met desktop 2020-02-13 Release met ROS Melodic Desktop 16 GB SD-kaart nodig

Het is misschien wel de snelste manier om uw systeem aan de gang te krijgen. Wil je zelf ROS samenstellen, lees dan verder het artikel.

Stap 1: Bootstrap-afhankelijkheden installeren en de pakketten downloaden

Laten we beginnen met het opzetten van de repositories en het installeren van de benodigde afhankelijkheden

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-essentiële cmake

Initialiseer vervolgens rosdep en werk het bij

sudo rosdep init

rosdep-update

Als dat klaar is, laten we dan een speciale catkin-werkruimte maken voor het bouwen van ROS en naar die map gaan.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Nu heb je twee keuzes:

ROS-Comm: (Bare Bones) installatie - installeer deze als je bekend bent met ROS en weet wat je doet en welke pakketten je nodig hebt. Als u pakketten nodig heeft die niet in ROS-Comm zijn opgenomen, moet u ook vanaf de broncode compileren.

Desktop Install: bevat GUI-tools, zoals rqt, rviz en robot-generieke bibliotheken. Misschien een betere keuze voor beginners tot ROS.

Ik ga met het installeren van Desktop Install hier.

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

De opdracht duurt een paar minuten om alle kern-ROS-pakketten naar de src-map te downloaden.

Als wstool init mislukt of wordt onderbroken, kunt u de download hervatten door het volgende uit te voeren:

wstool-update -j4 -t src

Stap 2: Los de problemen op

Los de problemen op
Los de problemen op

EDIT april 2020: sla deze stap over, het lijkt erop dat alle problemen nu zijn opgelost

Laten we de compatibele versie van Assimp (Open Asset Import Library) installeren om het collada_urdf-afhankelijkheidsprobleem op te lossen.

mkdir -p ~/ros_catkin_ws/external_src

cd ~/ros_catkin_ws/external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

unzip assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmak.

maken

sudo make install

Laten we ook OGRE voor rviz. installeren

sudo apt-get install libogre-1.9-dev

UPDATE januari 2020: de problemen met libbost zijn al opgelost door ROS-ontwikkelaars, u kunt dit deel overslaan

/// skip /// Ten slotte moeten we de problemen met libboost oplossen. Ik gebruik de oplossing van dit bericht op stackoverflow:

De fouten tijdens het compileren worden veroorzaakt door de functie 'boost::posix_time::milliseconds' die in nieuwere boost-versies alleen een integer-argument accepteert, maar het actionlib-pakket in ROS geeft het op verschillende plaatsen een float. Je kunt alle bestanden weergeven met behulp van die functie (!in ros_catkin_ws map!):

zoek -type f -print0 | xargs -0 grep 'boost::posix_time::milliseconden' | knippen -d: -f1 | sorteer -u

Open ze in je teksteditor en zoek naar de functieaanroep 'boost::posix_time::milliseconds'.

en vervang oproepen als volgt:

boost::posix_time::milliseconden(loop_duration.toSec() * 1000.0f));

met:

boost::posix_time::milliseconden(int(loop_duration.toSec() * 1000.0f)));

en deze:

boost::posix_time::milliseconden(1000.0f)

met:

boost::posix_time::milliseconden(1000)

Ik raad je aan om nano-teksteditor te gebruiken, wat eenvoudiger is dan VIM;) Ctrl+O slaat op, Ctrl+X sluit af en Ctrl+W zoekt.

///continue_from_here///

Stap 3: Bouw en source de installatie

Vervolgens gebruiken we de rosdep-tool voor het installeren van alle overige afhankelijkheden:

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

Zodra het downloaden van de pakketten is voltooid en de afhankelijkheden zijn opgelost, bent u klaar om de katjespakketten te bouwen. (Voer deze opdracht uit vanuit de map ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

Als het compilatieproces vastloopt (zeer waarschijnlijk als u de desktopversie installeert), moet u de beschikbare swapruimte vergroten. Standaard is het 100 MB, probeer het te verhogen tot 2048 MB.

Veel geluk! Het hele compilatieproces duurt ongeveer 1 uur (minder voor de Bare-bones-versie), dus ga wat thee zetten.

Nu zou ROS Melodic op je Raspberry Pi 4 moeten worden geïnstalleerd. We zullen de nieuwe installatie sourcen met het volgende commando:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

Open een nieuwe shell om wijzigingen door te voeren. Probeer roscore te starten om te controleren of alles is gelukt.

Stap 4: Installeer het RPLIDAR ROS-pakket

RPLIDAR ROS-pakket installeren
RPLIDAR ROS-pakket installeren

Laten we een aparte werkruimte maken voor andere pakketten die geen deel uitmaken van kern-ROS.

Doe vanuit je thuismap:

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

catkin_make

en bron het naar bashrc:

echo "bron $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc

Oké, we zijn klaar om het RPLIDAR ROS-pakket te installeren.

cd src

sudo git clone

cd..

catkin_make

Wacht tot de pakketcompilatie is voltooid. Probeer het pakket te starten om te zien of de compilatie is gelukt:

roslaunch rplidar_ros rplidar.launch

Als er geen fouten worden weergegeven, doe dan een snelle feestdans (* optioneel).

Nu ontbreekt alleen het laatste stukje - aangezien je Raspberry Pi 4 waarschijnlijk in headless-modus gebruikt, kunnen we lidar-berichten niet visualiseren. Daarvoor moeten we ROS instellen om op meerdere machines te draaien.

Stap 5: ROS instellen om op meerdere machines te draaien

ROS instellen om op meerdere machines te draaien
ROS instellen om op meerdere machines te draaien

Voor dit onderdeel heb je een Ubuntu 18.04 computer nodig waarop ROS Melodic is geïnstalleerd. Omdat het Ubuntu is, kan ROS eenvoudig worden geïnstalleerd met apt-get zoals beschreven in deze tutorial.

Nadat je zowel op Raspberry Pi als op je desktopcomputer een werkende ROS-installatie hebt, controleer je de IP-adressen van beide machines. Ze moeten op hetzelfde netwerk zitten!

Voer roscore uit op uw desktopcomputer en exporteer ROS_MASTER_URI

roscore

export ROS_MASTER_URI=https://[uw-desktop-machine-ip]:11311

Volgende op Raspberry PI uitvoeren

export ROS_MASTER_URI=https://[uw-desktop-machine-ip]:11311

export ROS_IP=[uw-framboos-pi-ip]

en start het RPILIDAR-startbestand

roslaunch rplidar_ros rplidar.launch

Als het succesvol wordt gestart, controleer dan de onderwerpen die aanwezig zijn op uw desktopcomputer met de rostopic-lijst

Als je berichten kunt zien/scannen, werkt alles zoals het hoort te werken. Start vervolgens RVIZ op uw desktopcomputer, voeg Laser Scan-berichten toe en kies /scan-onderwerp. U moet ook het vaste frame wijzigen in /laser.

Voila!

Stap 6: Klaar

Gedaan!
Gedaan!
Gedaan!
Gedaan!

Deze gids kan een eerste stap zijn naar het bouwen van uw ROS-robot bovenop de nieuwe Raspberry Pi 4. We hebben ROS Melodic geïnstalleerd en de installatie voorbereid om headless te draaien en verbinding te maken met onze desktopmachine via een draadloos netwerk voor afstandsbediening.

De volgende stappen zijn afhankelijk van het type robot dat u wilt bouwen. Je kunt motoren en encoders toevoegen voor odometrie, stereocamera voor Visual SLAM en allerlei andere spannende en nuttige dingen.

De hardware voor dit artikel is vriendelijk geleverd door Seeed studio. Bekijk Raspberry Pi 4, RPLIDAR A1M8 en andere hardware voor makers bij Seeed studio store!

Voeg me toe op LinkedIn als je een vraag hebt en abonneer je op mijn YouTube-kanaal om op de hoogte te blijven van meer interessante projecten op het gebied van machine learning en robotica.

Aanbevolen: