Indholdsfortegnelse:
- Trin 1: Installation af Bootstrap -afhængigheder og download af pakkerne
- Trin 2: Løs problemerne
- Trin 3: Byg og hent installationen
- Trin 4: Installer RPLIDAR ROS -pakken
- Trin 5: Konfigurer ROS til at køre på flere maskiner
- Trin 6: Udført
Video: ROS Melodic på Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Denne artikel vil dække processen med at installere ROS Melodic Morenia på Raspberry Pi 4, der kører den nyeste Debian Buster, og hvordan du bruger RPLIDAR A1M8 med vores installation.
Siden Debian Buster officielt blev frigivet for bare et par uger siden (i skrivende stund med at skrive denne artikel), er der ingen forudbyggede ROS-pakker at installere med apt-get, som er en foretrukken installationsmetode. Derfor bliver vi nødt til at bygge det fra kilden. Tro mig, det er ikke så skræmmende, som det lyder. Processen er beskrevet i denne officielle tutorial, men for at bygge ROS Melodic på Raspberry Pi skal vi foretage et par ændringer.
Hvis du stadig er bange, er her et sjovt billede, der * måske * kan hjælpe dig med at slappe af. Giv venligst feedback, hvis niveauet for afslapning var tilstrækkeligt. Hvis ikke, vil det blive erstattet med billede af en sjov kat.
EDIT fra januar 2020: Da det er et halvt år siden, at jeg postede denne artikel, kan der have været nogle ændringer i ROS eller Buster. Jeg har lavet et billede til Raspberry Pi 4 for et stykke tid siden efter at have skrevet denne vejledning. En bidragyder har uploadet den til Google Drev
April 2020 EDIT: Jeg har for nylig fundet tid til at gentage ROS Melodic -installationen på det nyeste Raspbian -billede fra det officielle Raspberry Pi -websted. Jeg har redigeret dette instruerbart i overensstemmelse hermed. Jeg har også oprettet og delt rene, komprimerede billeder:
Raspbian Buster Lite 2020-02-13 Frigivelse med ROS Melodiske Bare-ben Har brug for 8 GB SD-kort
Raspbian Buster med desktop 2020-02-13 Udgivelse med ROS Melodic Desktop Har brug for 16 GB SD-kort
Det kan være den hurtigste måde at få dit system i gang. Hvis du selv vil kompilere ROS, skal du fortsætte med at læse artiklen.
Trin 1: Installation af Bootstrap -afhængigheder og download af pakkerne
Lad os starte med at oprette lagrene og installere de nødvendige afhængigheder
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 opdatering
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Initialiser derefter rosdep og opdater det
sudo rosdep init
rosdep opdatering
Når det er gjort, lad os oprette et dedikeret catkin -arbejdsområde til at bygge ROS og flytte til det bibliotek.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Nu har du to valg:
ROS -Comm: (Bare Bones) installation - installer denne, hvis du kender ROS og ved, hvad du laver, og hvilke pakker du skal bruge. Hvis du har brug for pakker, der ikke er inkluderet i ROS-Comm, skal du også kompilere fra kilde.
Desktopinstallation: indeholder GUI-værktøjer, såsom rqt, rviz og robotgeneriske biblioteker. Kan være et bedre valg for begyndere til ROS.
Jeg går med installation af Desktop Install her.
rosinstall_generator desktop --rosdistro melodisk --deps-kun våd --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Kommandoen tager et par minutter at downloade alle de centrale ROS -pakker til src -mappen.
Hvis wstool init mislykkes eller afbrydes, kan du genoptage overførslen ved at køre:
wstool opdatering -j4 -t src
Trin 2: Løs problemerne
EDIT fra april 2020: Spring dette trin over, det ser ud til, at alle problemerne er løst nu
Lad os installere den kompatible version af Assimp (Open Asset Import Library) for at løse collada_urdf afhængighedsproblem.
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
cmake.
lave
sudo foretag installation
Lad os også installere OGRE til rviz
sudo apt-get install libogre-1.9-dev
OPDATERING I Januar 2020: Problemer med libbost er allerede blevet rettet af ROS -udviklere, du kan springe denne del over
/// spring /// Endelig skal vi løse problemerne med libboost. Jeg bruger løsningen fra dette indlæg på stackoverflow:
Fejlene under kompilering er forårsaget af funktionen 'boost:: posix_time:: millisekunder', som i nyere boost -versioner kun accepterer et heltalsargument, men actionlib -pakken i ROS giver den et flyde på flere steder. Du kan liste alle filer ved hjælp af denne funktion (! i mappen ros_catkin_ws!):
find -type f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | cut -d: -f1 | sorter -u
Åbn dem i din teksteditor, og søg efter funktionskaldet 'boost:: posix_time:: milliseconds'.
og udskift opkald sådan:
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 bruger nano -teksteditor, som er enklere end VIM;) Ctrl+O gemmer, Ctrl+X forlader, og Ctrl+W søger.
/// continue_from_here ///
Trin 3: Byg og hent installationen
Dernæst bruger vi rosdep -værktøjet til at installere alle de andre afhængigheder:
rosdep installer-fra-stier src --ignore-src --rosdistro melodisk -y
Når den er færdig med at downloade pakkerne og løse afhængighederne, er du klar til at bygge catkin -pakkerne. (Kør denne kommando fra mappen ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install -space/opt/ros/melodic -j2
Hvis kompileringsprocessen fryser (meget sandsynligt, hvis du installerer desktopversionen), skal du øge den tilgængelige swapplads. Som standard er det 100 MB, prøv at øge det til 2048 MB.
Held og lykke! Hele kompileringsprocessen tager cirka 1 time (mindre for Bare-bones-versionen), så tag noget te.
Nu skulle ROS Melodic installeres på din Raspberry Pi 4. Vi kilder den nye installation med følgende kommando:
ekko "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Åbn en ny skal, så ændringer kan træde i kraft. Prøv at starte roscore for at kontrollere, om alt var vellykket.
Trin 4: Installer RPLIDAR ROS -pakken
Lad os oprette et separat arbejdsområde for andre pakker, der ikke er en del af core ROS.
Gør fra din hjemmemappe:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
og kilde det til bashrc:
ekko "kilde $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Okay, vi er klar til at begynde at installere RPLIDAR ROS -pakken.
cd src
sudo git -klon
cd..
catkin_make
Vent på, at pakkekompilationen er færdig. Prøv at starte pakken for at se, om kompilationen var vellykket:
roslaunch rplidar_ros rplidar.lancering
Hvis det ikke udsender nogen fejl, skal du lave en hurtig festdans (*valgfri).
Nu mangler kun det sidste stykke - da du sandsynligvis kører Raspberry Pi 4 i hovedløs tilstand, kan vi ikke visualisere lidar -meddelelser. Til det skal vi konfigurere ROS til at køre på flere maskiner.
Trin 5: Konfigurer ROS til at køre på flere maskiner
Til denne del skal du bruge en Ubuntu 18.04 -computer med ROS Melodic installeret. Da det er Ubuntu ROS kan simpelthen installeres ved hjælp af apt-get som beskrevet i denne vejledning.
Når du har arbejdet ROS -installation både på Raspberry Pi og din stationære maskine, skal du kontrollere begge maskiners IP -adresser. De skal være på det samme netværk!
Kør roscore på din stationære computer og eksporter ROS_MASTER_URI
roscore
eksport ROS_MASTER_URI = https:// [din-desktop-maskine-ip]: 11311
Næste på Raspberry PI udføres
eksport ROS_MASTER_URI = https:// [din-desktop-maskine-ip]: 11311
eksport ROS_IP = [din-hindbær-pi-ip]
og start RPILIDAR -startfil
roslaunch rplidar_ros rplidar.lancering
Hvis det starter med succes, skal du kontrollere emnerne på din stationære maskine med rostopisk liste
Hvis du kan se / scanne meddelelser, fungerer alt, som det skal fungere. Start derefter RVIZ på din stationære maskine, tilføj laserscanningsmeddelelser og vælg /scan emne. Du skal også ændre den faste ramme til /laser.
Voila!
Trin 6: Udført
Denne vejledning kan være et første skridt i retning af at bygge din ROS -robot oven på nye Raspberry Pi 4. Vi har installeret ROS Melodic og forberedt installationen til at køre uden hoved og forbinde til vores stationære maskine over trådløst netværk til fjernbetjening.
Næste trin afhænger af, hvilken type robot du vil bygge. Du kan tilføje motorer og encodere til kilometertæller, stereokamera til Visual SLAM og alle mulige andre spændende og nyttige ting.
Hardwaren til denne artikel blev venligst leveret af Seeed studio. Tjek Raspberry Pi 4, RPLIDAR A1M8 og anden hardware til producenter i Seeed studio butik!
Tilføj mig på LinkedIn, hvis du har spørgsmål, og tilmeld dig min YouTube -kanal for at få besked om flere interessante projekter, der involverer maskinlæring og robotik.
Anbefalede:
Kom godt i gang med billige RPLIDAR Brug af Jetson Nano: 5 trin
Kom godt i gang med billige RPLIDAR Brug af Jetson Nano: Kort oversigt Light Detection and Ranging (LiDAR) fungerer på samme måde som ultralydsafstandsmålere med laserpuls bruges i stedet for lydbølger. Yandex, Uber, Waymo og etc. investerer stort i LiDAR -teknologi til deres autonome bilpr
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: 3 trin (med billeder)
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: Jeg er en stor fan af at bygge sumobotter, og jeg er altid på udkig efter nye interessante sensorer og materialer, der skal bruges til at bygge en bedre, hurtigere og smartere robot. Jeg fandt ud af om RPLIDAR A1, som du kan få for $ 99 på DFROBOT.com. Jeg sagde, at jeg ikke var
Roomblock: en platform til læring af ROS -navigation med Roomba, Raspberry Pi og RPLIDAR: 9 trin (med billeder)
Roomblock: en platform til læring af ROS -navigation med Roomba, Raspberry Pi og RPLIDAR: Hvad er dette? &Quot; Roomblock " er en robotplatform, der består af en Roomba, en Raspberry Pi 2, en lasersensor (RPLIDAR) og et mobilbatteri. Monteringsrammen kan laves af 3D -printere. ROS -navigationssystem gør det muligt at lave et kort over værelser og bruge