Innholdsfortegnelse:
- Trinn 1: Installere Bootstrap -avhengigheter og last ned pakkene
- Trinn 2: Løs problemene
- Trinn 3: Bygg og kild installasjonen
- Trinn 4: Installer RPLIDAR ROS -pakken
- Trinn 5: Sett opp ROS for å kjøre på flere maskiner
- Trinn 6: Ferdig
Video: ROS Melodic på Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Denne artikkelen vil dekke prosessen med å installere ROS Melodic Morenia på Raspberry Pi 4 som kjører den siste Debian Buster og hvordan du bruker RPLIDAR A1M8 med vår installasjon.
Siden Debian Buster ble offisielt utgitt for bare noen få uker siden (for øyeblikket da denne artikkelen ble skrevet), er det ingen forhåndsbygde ROS-pakker å installere med apt-get, som er en foretrukket installasjonsmetode. Derfor må vi bygge det fra kilden. Tro meg, det er ikke så skummelt som det høres ut. Prosessen er beskrevet i denne offisielle opplæringen, men for å bygge ROS Melodic på Raspberry Pi må vi gjøre noen endringer.
Hvis du fortsatt er redd, her er et morsomt bilde som * kan * hjelpe deg med å slappe av. Gi tilbakemelding hvis nivået på avslapning var tilstrekkelig. Hvis ikke, vil det bli erstattet med et bilde av en morsom katt.
EDIT i januar 2020: Siden det har gått et halvt år siden jeg la ut denne artikkelen, kan det ha vært noen endringer i ROS eller Buster. Jeg har laget et bilde for Raspberry Pi 4 for en stund siden, etter å ha skrevet denne opplæringen. En bidragsyter har lastet den opp til Google Disk
April 2020 EDIT: Jeg har nylig funnet tid til å gjøre om ROS Melodic -installasjonen på det nyeste Raspbian -bildet fra det offisielle Raspberry Pi -nettstedet. Jeg har redigert dette instruerbart tilsvarende. Jeg har også laget og delt rene, komprimerte bilder:
Raspbian Buster Lite 2020-02-13 Utgivelse med ROS Melodic Bare-bone Trenger 8 GB SD-kort
Raspbian Buster med skrivebord 2020-02-13 Utgivelse med ROS Melodic Desktop Trenger 16 GB SD-kort
Det kan være den raskeste måten å starte systemet på. Hvis du ønsker å kompilere ROS selv, fortsett å lese artikkelen.
Trinn 1: Installere Bootstrap -avhengigheter og last ned pakkene
La oss starte med å sette opp depotene og installere de nødvendige avhengighetene
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 oppdatering
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Initialiser deretter rosdep og oppdater den
sudo rosdep init
rosdep oppdatering
Når det er gjort, la oss lage et dedikert catkin -arbeidsområde for å bygge ROS og flytte til den katalogen.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Nå har du to valg:
ROS -Comm: (Bare Bones) installasjon - installer denne hvis du er kjent med ROS og vet hva du gjør og hvilke pakker du trenger. Hvis du trenger pakker som ikke er inkludert i ROS-Comm, må du også kompilere fra kilde.
Desktop Install: inkluderer GUI-verktøy, for eksempel rqt, rviz og robotgeneriske biblioteker. Kan være et bedre valg for nybegynnere til ROS.
Jeg vil gå med å installere Desktop Install her.
rosinstall_generator desktop --rosdistro melodisk --deps-bare -wet --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Kommandoen vil ta noen minutter å laste ned alle kjerne -ROS -pakkene til src -mappen.
Hvis wstool init mislykkes eller blir avbrutt, kan du fortsette nedlastingen ved å kjøre:
wstool oppdatering -j4 -t src
Trinn 2: Løs problemene
EDIT i april 2020: Hopp over dette trinnet, det ser ut til at alle problemene er løst nå
La oss installere den kompatible versjonen av Assimp (Open Asset Import Library) for å fikse collada_urdf avhengighetsproblem.
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
pakke ut assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake.
gjøre
sudo gjør install
La oss også installere OGRE for rviz
sudo apt-get install libogre-1.9-dev
OPPDATERING for januar 2020: Problemene med libbost er allerede løst av ROS -utviklere, du kan hoppe over denne delen
/// hopp /// Til slutt må vi fikse problemene med libboost. Jeg bruker løsningen fra dette innlegget på stackoverflow:
Feilene under kompilering er forårsaket av funksjonen 'boost:: posix_time:: millisekunder', som i nyere boost -versjoner bare godtar et heltallargument, men actionlib -pakken i ROS gir den en flyt på flere steder. Du kan liste alle filer bruker den funksjonen (! i mappen ros_catkin_ws!):
finn -type f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | kutt -d: -f1 | sorter -u
Åpne dem i tekstredigereren, og søk etter funksjonskallet 'boost:: posix_time:: milliseconds'.
og erstatt samtaler slik:
boost:: posix_time:: millisekunder (loop_duration.toSec () * 1000.0f));
med:
boost:: posix_time:: millisekunder (int (loop_duration.toSec () * 1000.0f)));
og disse:
boost:: posix_time:: millisekunder (1000.0f)
med:
boost:: posix_time:: millisekunder (1000)
Jeg anbefaler at du bruker nano tekstredigerer, som er enklere enn VIM;) Ctrl+O lagrer, Ctrl+X går ut og Ctrl+W søker.
/// continue_from_here ///
Trinn 3: Bygg og kild installasjonen
Deretter bruker vi rosdep -verktøyet for å installere alle de andre avhengighetene:
rosdep installere-fra-stier src --ignore-src --rosdistro melodisk -y
Når den er ferdig med å laste ned pakkene og løse avhengighetene, er du klar til å bygge catkin -pakkene. (Kjør denne kommandoen fra mappen ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install -space/opt/ros/melodic -j2
Hvis kompileringsprosessen fryser (veldig sannsynlig, hvis du installerer skrivebordsversjonen), må du øke tilgjengelig bytteplass. Som standard er det 100 MB, prøv å øke det til 2048 MB.
Lykke til! Hele samlingsprosessen tar omtrent 1 time (mindre for Bare-bone-versjonen), så ta en te.
Nå skal ROS Melodic installeres på Raspberry Pi 4. Vi kilder den nye installasjonen med følgende kommando:
ekko "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Åpne et nytt skall for at endringene skal tre i kraft. Prøv å starte roscore for å sjekke om alt var vellykket.
Trinn 4: Installer RPLIDAR ROS -pakken
La oss lage et eget arbeidsområde for andre pakker, som ikke er en del av kjerne -ROS.
Gjør fra din hjemmemappe:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
og kild det til bashrc:
ekko "kilde $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Ok, vi er klare til å begynne å installere RPLIDAR ROS -pakken.
cd src
sudo git klon
cd..
catkin_make
Vent til pakkesamlingen er ferdig. Prøv å starte pakken for å se om samlingen var vellykket:
roslaunch rplidar_ros rplidar.lunch
Hvis det ikke gir noen feil, gjør en rask feiringsdans (*valgfritt).
Nå mangler bare det siste stykket - siden du sannsynligvis kjører Raspberry Pi 4 i hodeløs modus, kan vi ikke visualisere lidar -meldinger. For det må vi sette opp ROS for å kjøre på flere maskiner.
Trinn 5: Sett opp ROS for å kjøre på flere maskiner
For denne delen trenger du en Ubuntu 18.04 datamaskin med ROS Melodic installert. Siden det er Ubuntu ROS enkelt kan installeres ved hjelp av apt-get som beskrevet i denne opplæringen.
Etter at du har jobbet med ROS -installasjonen både på Raspberry Pi og den stasjonære maskinen, må du kontrollere IP -adressene til begge maskinene. De må være på samme nettverk!
Kjør roscore på din stasjonære datamaskin og eksporter ROS_MASTER_URI
roscore
eksporter ROS_MASTER_URI = https:// [din-desktop-maskin-ip]: 11311
Utfør deretter på Raspberry PI
eksporter ROS_MASTER_URI = https:// [din-desktop-maskin-ip]: 11311
eksport ROS_IP = [din-bringebær-pi-ip]
og start RPILIDAR -lanseringsfil
roslaunch rplidar_ros rplidar.lunch
Hvis den starter vellykket, sjekk emnene som finnes på din stasjonære maskin med rostopisk liste
Hvis du kan se / skanne meldinger, fungerer alt som det skal fungere. Start deretter RVIZ på din stasjonære maskin, legg til laserskanningsmeldinger og velg /skann emne. Du må også endre fast ramme til /laser.
Voila!
Trinn 6: Ferdig
Denne guiden kan være et første skritt mot å bygge din ROS -robot på toppen av nye Raspberry Pi 4. Vi har installert ROS Melodic og forberedt installasjonen for å kjøre hodeløs og koble til vår stasjonære maskin over trådløst nettverk for fjernkontroll.
Neste trinn er avhengig av hvilken type robot du vil bygge. Du kan legge til motorer og kodere for kilometerteller, stereokamera for Visual SLAM og alle slags andre spennende og nyttige ting.
Maskinvaren for denne artikkelen ble levert av Seeed studio. Ta en titt på Raspberry Pi 4, RPLIDAR A1M8 og annen maskinvare for produsenter i Seeed studio store!
Legg meg til på LinkedIn hvis du har spørsmål, og abonner på YouTube -kanalen min for å bli varslet om flere interessante prosjekter som involverer maskinlæring og robotikk.
Anbefalt:
Komme i gang med rimelige RPLIDAR ved hjelp av Jetson Nano: 5 trinn
Komme i gang med rimelige RPLIDAR Bruke Jetson Nano: Kort oversikt Light Detection and Ranging (LiDAR) fungerer på samme måte som ultralydavstandsmålere med laserpuls brukes i stedet for lydbølger. Yandex, Uber, Waymo og etc. investerer stort i LiDAR -teknologi for sin autonome bilpr
Slik bruker du RPLIDAR 360 ° laserskanner med Arduino: 3 trinn (med bilder)
Slik bruker du RPLIDAR 360 ° laserskanner med Arduino: Jeg er en stor fan av å bygge sumobotter, og jeg er alltid på utkikk etter nye interessante sensorer og materialer å bruke for å bygge en bedre, raskere og smartere robot. Jeg fant ut om RPLIDAR A1 som du kan få for $ 99 på DFROBOT.com. Jeg sa at jeg var helt
Roomblock: en plattform for læring av ROS -navigasjon med Roomba, Raspberry Pi og RPLIDAR: 9 trinn (med bilder)
Roomblock: en plattform for læring av ROS -navigasjon med Roomba, Raspberry Pi og RPLIDAR: Hva er dette? &Quot; Roomblock " er en robotplattform som består av en Roomba, en Raspberry Pi 2, en lasersensor (RPLIDAR) og et mobilbatteri. Monteringsrammen kan lages av 3D -skrivere. ROS navigasjonssystem gjør det mulig å lage et kart over rom og bruke