Innehållsförteckning:
- Steg 1: Installera Bootstrap -beroenden och ladda ner paketen
- Steg 2: Åtgärda problemen
- Steg 3: Bygg och käll installationen
- Steg 4: Installera RPLIDAR ROS -paketet
- Steg 5: Ställ in ROS för att köra på flera maskiner
- Steg 6: Klar
Video: ROS Melodic på Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Denna artikel kommer att behandla processen att installera ROS Melodic Morenia på Raspberry Pi 4 som kör den senaste Debian Buster och hur du använder RPLIDAR A1M8 med vår installation.
Eftersom Debian Buster släpptes officiellt för bara några veckor sedan (från och med att denna artikel skrevs) finns det inga färdiga ROS-paket att installera med apt-get, vilket är en föredragen installationsmetod. Därför kommer vi att behöva bygga det från källan. Lita på mig, det är inte så läskigt som det låter. Processen beskrivs i denna officiella handledning, men för att bygga ROS Melodic på Raspberry Pi måste vi göra några ändringar.
Om du fortfarande är rädd, här är en rolig bild som * kan * hjälpa dig att slappna av. Ge feedback om avslappningsnivån var tillräcklig. Om inte, kommer det att ersättas med bild av en rolig katt.
EDIT i januari 2020: Eftersom det har gått ett halvt år sedan jag lade upp den här artikeln kan det ha skett vissa ändringar av ROS eller Buster. Jag har gjort en bild för Raspberry Pi 4 för ett tag sedan, efter att ha skrivit den här självstudien. En bidragsgivare har laddat upp den till Google Drive
EDIT i april 2020: Jag har nyligen hittat tid att göra om ROS Melodic -installationen på den senaste Raspbian -bilden från den officiella Raspberry Pi -webbplatsen. Jag har redigerat denna instruerbara i enlighet därmed. Jag skapade och delade också rena, komprimerade bilder:
Raspbian Buster Lite 2020-02-13 Release med ROS Melodic Bare-bone Behöver 8 GB SD-kort
Raspbian Buster med skrivbord 2020-02-13 Release med ROS Melodic Desktop Behöver 16 GB SD-kort
Det kan vara det snabbaste sättet att få ditt system igång. Om du vill kompilera ROS själv, fortsätt läsa artikeln.
Steg 1: Installera Bootstrap -beroenden och ladda ner paketen
Låt oss börja med att ställa in lagringsplatserna och installera nödvändiga beroenden
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 uppdatering
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Initiera sedan rosdep och uppdatera det
sudo rosdep init
rosdep uppdatering
När det är klart, låt oss skapa en dedikerad catkin -arbetsyta för att bygga ROS och flytta till den katalogen.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Nu har du två val:
ROS -Comm: (Bare Bones) installation - installera den här om du är bekant med ROS och vet vad du gör och vilka paket du behöver. Om du behöver paket som inte ingår i ROS-Comm måste du också kompilera från källan.
Skrivbordsinstallation: innehåller GUI-verktyg, till exempel rqt, rviz och robotgeneriska bibliotek. Kanske ett bättre val för nybörjare till ROS.
Jag går med att installera Desktop Install här.
rosinstall_generator desktop --rosdistro melodisk --deps-endast -wet --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Kommandot tar några minuter att ladda ner alla kärn -ROS -paketen till src -mappen.
Om wstool init misslyckas eller avbryts kan du återuppta nedladdningen genom att köra:
wstool uppdatering -j4 -t src
Steg 2: Åtgärda problemen
EDIT i april 2020: Hoppa över det här steget, det verkar som om alla problem har åtgärdats nu
Låt oss installera den kompatibla versionen av Assimp (Open Asset Import Library) för att lösa collada_urdf -beroendeproblem.
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
packa upp assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake.
göra
sudo gör installationen
Låt oss också installera OGRE för rviz
sudo apt-get install libogre-1.9-dev
UPPDATERING för januari 2020: Problemen med libbost har redan åtgärdats av ROS -utvecklare, du kan hoppa över den här delen
/// hoppa /// Slutligen måste vi åtgärda problemen med libboost. Jag använder lösningen från det här inlägget på stackoverflow:
Felen vid kompilering orsakas av funktionen 'boost:: posix_time:: millisekunder' som i nyare boost -versioner endast accepterar ett heltalsargument, men actionlib -paketet i ROS ger det ett flyt på flera ställen. Du kan lista alla filer använder den funktionen (! i mappen ros_catkin_ws!):
hitta -typ f -print0 | xargs -0 grep 'boost:: posix_time:: millisekunder' | klipp -d: -f1 | sortera -u
Öppna dem i din textredigerare och sök efter funktionen 'boost:: posix_time:: millisekunder'.
och ersätt samtal så här:
boost:: posix_time:: millisekunder (loop_duration.toSec () * 1000.0f));
med:
boost:: posix_time:: millisekunder (int (loop_duration.toSec () * 1000.0f)));
och dessa:
boost:: posix_time:: millisekunder (1000.0f)
med:
boost:: posix_time:: millisekunder (1000)
Jag rekommenderar att du använder nano textredigerare, vilket är enklare än VIM;) Ctrl+O sparar, Ctrl+X stänger och Ctrl+W söker.
/// continue_from_here ///
Steg 3: Bygg och käll installationen
Därefter använder vi rosdep -verktyget för att installera alla andra beroenden:
rosdep installera-från-sökvägar src --ignore-src --rosdistro melodisk -y
När den har laddat ner paketen och löst beroenden är du redo att bygga catkin -paketen. (Kör det här kommandot från mappen ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install -space/opt/ros/melodic -j2
Om kompileringsprocessen fryser (mycket troligt om du installerar skrivbordsversionen) måste du öka tillgängligt bytesutrymme. Som standard är det 100 MB, försök öka det till 2048 MB.
Lycka till! Hela kompileringsprocessen tar cirka 1 timme (mindre för Bare-bone-versionen), så gör lite te.
Nu bör ROS Melodic installeras på din Raspberry Pi 4. Vi kommer att källa till den nya installationen med följande kommando:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Öppna ett nytt skal för att ändringar ska träda i kraft. Prova att starta roscore för att kontrollera om allt var lyckat.
Steg 4: Installera RPLIDAR ROS -paketet
Låt oss skapa en separat arbetsyta för andra paket som inte ingår i kärn -ROS.
Gör från din hemmapp:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
och käll det till bashrc:
echo "source $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Okej, vi är redo att börja installera RPLIDAR ROS -paketet.
cd src
sudo git -klon
CD..
catkin_make
Vänta tills paketkompilationen är klar. Testa att starta paketet för att se om sammanställningen lyckades:
roslaunch rplidar_ros rplidar.launch
Om det inte ger några fel, gör en snabb festdans (*valfritt).
Nu saknas bara den sista biten - eftersom du förmodligen kör Raspberry Pi 4 i huvudlöst läge kan vi inte visualisera lidar -meddelanden. För det måste vi konfigurera ROS för att köra på flera maskiner.
Steg 5: Ställ in ROS för att köra på flera maskiner
För denna del behöver du en Ubuntu 18.04 -dator med ROS Melodic installerat. Eftersom det är Ubuntu ROS enkelt kan installeras med apt-get enligt beskrivningen i denna handledning.
När du har arbetat ROS -installation både på Raspberry Pi och din stationära dator, kontrollera IP -adresserna för båda maskinerna. De måste vara på samma nätverk!
Kör roscore på din stationära dator och exportera ROS_MASTER_URI
roscore
exportera ROS_MASTER_URI = https:// [din-skrivbords-maskin-ip]: 11311
Kör sedan på Raspberry PI
exportera ROS_MASTER_URI = https:// [din-skrivbords-maskin-ip]: 11311
exportera ROS_IP = [din-hallon-pi-ip]
och starta RPILIDAR -startfil
roslaunch rplidar_ros rplidar.launch
Om det startar framgångsrikt, kontrollera ämnen som finns på din stationära dator med rostopisk lista
Om du kan se / skanna meddelanden fungerar allt som det ska fungera. Starta sedan RVIZ på din stationära dator, lägg till laserskanningsmeddelanden och välj /skanna ämne. Du måste också byta fast ram till /laser.
Voila!
Steg 6: Klar
Den här guiden kan vara ett första steg mot att bygga din ROS -robot ovanpå nya Raspberry Pi 4. Vi har installerat ROS Melodic och förberett installationen för att köra utan huvud och ansluta till vår stationära maskin via trådlöst nätverk för fjärrkontroll.
Nästa steg är beroende av vilken typ av robot du vill bygga. Du kan lägga till motorer och givare för vägmätning, stereokamera för Visual SLAM och alla möjliga andra spännande och användbara saker.
Hårdvaran för den här artikeln tillhandahålls vänligen av Seeed studio. Kolla in Raspberry Pi 4, RPLIDAR A1M8 och annan hårdvara för tillverkare i Seeed studio store!
Lägg till mig på LinkedIn om du har några frågor och prenumerera på min YouTube -kanal för att få besked om mer intressanta projekt som involverar maskininlärning och robotik.
Rekommenderad:
Komma igång med billiga RPLIDAR med Jetson Nano: 5 steg
Komma igång med lågpris RPLIDAR Använda Jetson Nano: Kort översikt Light Detection and Ranging (LiDAR) fungerar på samma sätt som ultraljudsmätare med laserpuls används istället för ljudvågor. Yandex, Uber, Waymo och etc. investerar stort i LiDAR -teknik för sina autonoma bilpr
Hur man använder RPLIDAR 360 ° laserskanner med Arduino: 3 steg (med bilder)
Hur man använder RPLIDAR 360 ° laserskanner med Arduino: Jag är ett stort fan av att bygga sumobotrar och jag letar alltid efter nya intressanta sensorer och material att använda för att bygga en bättre, snabbare och smartare robot. Jag fick reda på RPLIDAR A1 som du kan få för $ 99 på DFROBOT.com. Jag sa att jag var inte
Roomblock: en plattform för inlärning av ROS -navigering med Roomba, Raspberry Pi och RPLIDAR: 9 steg (med bilder)
Roomblock: en plattform för inlärning av ROS -navigering med Roomba, Raspberry Pi och RPLIDAR: Vad är detta? &Quot; Roomblock " är en robotplattform som består av en Roomba, en Raspberry Pi 2, en lasersensor (RPLIDAR) och ett mobilbatteri. Monteringsramen kan tillverkas av 3D -skrivare. ROS -navigationssystem gör det möjligt att göra en karta över rum och använda