Përmbajtje:
- Hapi 1: Çfarë funksionoi dhe çfarë jo
- Hapi 2: Instalimi i Shoferëve Freenect dhe Freenect_stack
- Hapi 3: Instalimi i Hartës së Pavarur RTAB
- Hapi 4: Instalimi i Rtabmap_ros
- Hapi 5: Trego kohën
- Hapi 6: Referencat
Video: RGB-D SLAM Me Kinect në Raspberry Pi 4 [Buster] ROS Melodic: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:13
Vitin e kaluar shkrova një artikull në lidhje me ndërtimin dhe instalimin e ROS Melodic në Raspberry Pi të ri (në atë kohë) me OS Debian Buster. Artikulli ka marrë shumë vëmendje si këtu në Instructables ashtu edhe në platforma të tjera. Jam shumë i lumtur që kam ndihmuar kaq shumë njerëz që të instalojnë me sukses ROS në Raspberry Pi. Në videon shoqëruese unë gjithashtu demonstrova shkurtimisht marrjen e imazhit të thellë nga Kinect 360. Më vonë shumë njerëz më kanë kontaktuar në LinkedIn dhe më kanë pyetur se si kam arritur të përdor Kinect me Raspberry Pi. Unë u befasova disi nga pyetja, pasi procesi i përgatitjes së Kinect në atë kohë më mori rreth 3-4 orë dhe nuk dukej jashtëzakonisht i komplikuar. Unë i ndava skedarët e mi.bash_history me të gjithë njerëzit që më pyetën për këtë çështje dhe në prill më në fund gjeta kohën për të shkruar një artikull se si të instaloni drejtuesit e Kinect dhe të kryeni RGB-D SLAM me RTAB-MAP ROS. Java e netëve pa gjumë pasi fillova të shkruaj artikullin tani e kuptoj pse kaq shumë njerëz më bënë këtë pyetje:)
Do të filloj me një shpjegim të shkurtër se cilat qasje funksionuan dhe cilat jo. Pastaj do të shpjegoj se si të instaloni drejtuesit e Kinect për përdorim me ROS Melodic dhe më në fund si të vendosni makinën tuaj për RGB-D SLAM me RTAB-MAP ROS.
Hapi 1: Çfarë funksionoi dhe çfarë jo
Ka disa drejtues në dispozicion për Kinect në Raspberry Pi - prej tyre dy mbështeten nga ROS.
Drejtuesit OpenNI - paketa openni_camera për ROS
drejtuesit libfreenect - paketa freenect_stack për ROS
Nëse shikoni në depot e tyre përkatëse GitHub, mund të gjeni se drejtuesi i OpenNI është përditësuar për herë të fundit vite më parë dhe në praktikë është EOL për një kohë të gjatë. ibfreekinect nga ana tjetër po përditësohet me kohë. E njëjta gjë për paketat e tyre përkatëse ROS, freenect_stack u lëshua për melodikën ROS, ndërsa distroja e tij e fundit openni_camera ka listuar mbështetjen për Fuerte…
Isshtë e mundur të përpiloni dhe instaloni shoferin OpenNI dhe paketën openni_camera në Raspberry Pi për ROS Melodic, megjithëse nuk funksionoi për mua. Për ta bërë këtë ndiqni këtë udhëzues, hapat 1, 2, 3, në hapin 2 dhe 3 hiqni flamurin "-mfloat-abi = softfp" nga skedari Platform/Linux/Build/Common/Platform. ARM (sipas këshillës për këtë Çështja Github). Pastaj klononi paketën openni_camera në hapësirën tuaj të punës catkin dhe përpilojeni me catkin_make. Sidoqoftë, nuk funksionoi për mua, gabimi në krijimin e gjeneratorit të thellësisë dështoi. Arsyeja: Ndërfaqja USB nuk mbështetet!
Përdorimi i libfreenect dhe freenect_stack dha sukses në fund, por kishte mjaft probleme për t'u zgjidhur dhe zgjidhja ishte pak e pacipë, megjithëse punonte shumë e qëndrueshme (1 orë + operacion i vazhdueshëm).
Hapi 2: Instalimi i Shoferëve Freenect dhe Freenect_stack
Unë do të supozoj se ju përdorni imazhin tim ROS Melodic Desktop nga ky artikull. Nëse doni të bëni instalim në mjedise të ndryshme, për shembull imazhin ros_comm ose në Ubuntu për Raspberry Pi, sigurohuni që keni njohuri të mjaftueshme për ROS për të zgjidhur problemet që mund të dalin nga ai ndryshim.
Le të fillojmë duke ndërtuar drejtues libfreenect nga burimi, pasi versioni i para-ndërtuar i depove apt-get është shumë i vjetëruar.
përditësim sudo apt-get
sudo apt-get install libusb-1.0-0-dev
git klon
cd libfreenect
mkdir build && cd build
cmake -L..
bëj
sudo make install
Shpresojmë që procesi i ndërtimit të jetë pa probleme dhe plot mesazhe miqësore të gjelbra. Pasi të keni instaluar drejtuesin libfreenect, gjëja tjetër që duhet bërë është të instaloni paketën freenect_stack për ROS. Ka mjaft pako të tjera nga të cilat varet, do të na duhet t'i klonojmë dhe t'i ndërtojmë me catkin_make të gjitha së bashku. Para se të filloni, sigurohuni që hapësira juaj e punës catkin të jetë e rregulluar dhe buruar siç duhet!
Nga dosja juaj catkin src workspace:
git klon
git klon
git klon
git klon
git klon
git klon
Oh, kjo ishte shumë klonim.
REDITIMI I VON: Siç u vu në dukje nga një prej lexuesve të mi, depoja e vision_opencv duhet të vendoset në degën melodike. Për atë cd në src/vision_opencv dhe ekzekutoni
git checkout melodike
Pastaj kthehuni te dosja juaj e hapësirës së punës catkin. Për të kontrolluar nëse varësitë për të gjitha paketat në vend ekzekutojmë këtë komandë:
rosdep install-nga-paths src --ignore-src
Nëse keni klonuar me sukses të gjitha paketat e nevojshme, do t'ju kërkojë të shkarkoni libfreekinect me apt-get. Përgjigju jo, pasi e kemi instaluar tashmë nga burimi.
sudo apt-get install libbullet-dev libharfbuzz-dev libgtk2.0-dev libgtk-3-dev
bëj catkin -j2
Koha e çajit;) ose cilado qoftë pija juaj e preferuar.
Pasi të ketë përfunduar procesi i përpilimit, mund të provoni të filloni kinect stack dhe të kontrolloni nëse nxjerr thellësinë dhe ngjyrat siç duhet. Unë përdor Raspberry Pi pa kokë, kështu që më duhet të ekzekutoj RVIZ në kompjuterin tim desktop.
Në Raspberry Pi bëni (Ndryshoni adresën IP në adresën IP të Raspberry Pi tuaj!):
eksport ROS_MASTER_URI = https://192.168.0.108: 11311
eksport ROS_IP = 192.168.0.108
roslaunch freenect_launch freenect.rezantimi i thellësisë_regjistrimit: = e vërtetë
Do të shihni daljen si në Pamjen e Ekranit 1. "Ndalimi i rrjedhjes së pajisjes RGB dhe Depth." tregon se Kinect është gati, por asgjë nuk është regjistruar ende në temat e tij.
Në kompjuterin tuaj desktop me ROS Melodic të instaluar bëni:
eksport ROS_MASTER_URI = https://192.168.0.108: 11311
eksporto ROS_IP = [your-desktop-computer-ip] rviz
Tani duhet të jeni në gjendje të shihni rrymat e imazheve RGB dhe Thellësia në RVIZ si në Pamjen e Ekranit 2 më lart … por jo në të njëjtën kohë.
Mirë, këtu fillojnë gjërat e pavërteta. Kam kaluar 3 ditë duke provuar drejtues dhe qasje të ndryshme dhe asgjë nuk ka funksionuar - sapo do të provoja të hyja në dy rryma njëkohësisht, Kinect do të fillonte të skadonte kohën siç mund ta shihni në Pamjen e Ekranit 3. Provova gjithçka: furnizim më të mirë me energji elektrike, angazhime më të vjetra të libfreenect dhe freenect_stack, ndalimi i usb_autosuspend, injektimi i zbardhuesit në portet USB (në rregull, jo i fundit! mos e bëni, është një shaka dhe nuk duhet të përbëjë një këshillë teknike:)). Pastaj në një nga çështjet e Github pashë një tregim të një personi që tha se Kinect i tyre ishte i paqëndrueshëm, derisa ata "ngarkuan autobusin USB" duke lidhur dongle WiFi. E provova dhe funksionoi. Nga njëra anë, jam i kënaqur që funksionoi. Nga ana tjetër, dikush me të vërtetë duhet ta rregullojë atë. Epo, ndërkohë (duke e rregulluar) atë, le të kalojmë në hapin tjetër.
Hapi 3: Instalimi i Hartës së Pavarur RTAB
Së pari ne kemi një mori varësish për t'u instaluar:
Pavarësisht se ekziston një paketë e paracaktuar armhf në dispozicion për PCL, ne do të duhet ta përpilojmë atë nga burimi për shkak të kësaj çështjeje. Konsultohuni me depon PCL GitHub për të parë se si ta përpiloni atë nga burimi.
sudo apt-get install libvtk6-dev libvtk6-qt-dev libvtk6-java libvtk6-jni
sudo apt-get install libopencv-dev cmake libopenni2-dev libsqlite3-dev
Tani le të klonojmë magazinën e paketave të pavarura rtab të git në dosjen tonë në shtëpi dhe ta ndërtojmë atë. Kam përdorur lëshimin e fundit (0.18.0).
git klon
cd rtabmap/build
cmake..
bëj -j2
sudo make install
sudo ldconfig rtabmap
Tani kur kemi përpiluar RTAB MAP të pavarur, mund të kalojmë në hapin e fundit - përpilimin dhe instalimin e mbështjellësit ROS për RTAB MAP, rtabmap_ros.
Hapi 4: Instalimi i Rtabmap_ros
Nëse keni arritur aq larg, me siguri e dini stërvitjen tani:) Klononi depon rtabmap_ros në dosjen tuaj catkin src të hapësirës së punës. (Ekzekutoni komandën tjetër nga dosja juaj catkin src e punës!)
git klon
Ne gjithashtu do të kemi nevojë për këto pako ROS, që rtabmap_ros varet nga:
git klon
git klon
git klon
git klon
git klon
Para se të filloni përpilimin, mund të siguroheni që nuk ju mungojnë varësitë me komandën e mëposhtme:
rosdep install-nga-paths src --ignore-src
Instaloni më shumë varësi nga ap-get (këto nuk do të ndërpresin lidhjen, por do të hedhin një gabim gjatë përpilimit)
sudo apt-get install libsdl-image1.2-dev
Pastaj kaloni në dosjen tuaj të hapësirës së punës catkin dhe filloni të përpiloni:
cd..
bëj catkin -j2
Shpresoj se nuk e keni vendosur pijen tuaj të preferuar të përpilimit askund shumë larg. Pasi të ketë përfunduar përpilimi, ne jemi gati për të bërë hartëzimin!
Hapi 5: Trego kohën
Bëni atë mashtrim hakues duke shtuar diçka si WiFi ose dongle Bluetooth në një port USB - unë po përdorja 2 porte USB 2.0, njëra për Kinect, tjetra për dongle WiFi.
Në Raspberry Pi bëni (Ndryshoni adresën IP në adresën IP të Raspberry Pi!): Terminali i parë:
eksport ROS_MASTER_URI = https://192.168.0.108: 11311
eksport ROS_IP = 192.168.0.108
roslaunch freenect_launch freenect.regimi i thellësisë së nisjes: = të dhënat e vërteta_skip: = 2
Terminali i 2 -të:
roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args: = "-delete_db_on_start --Vis/MaxFeatures 500 --Mem/ImagePreDecimation 2 --Mem/ImagePostDecimation 2 --Kp/DetectorStrategy 6 --Odomrt2Odom/2" ImageSize: = e rreme
Do të shihni daljen si në Pamjen e Ekranit 1. "Ndalimi i rrjedhjes së pajisjes RGB dhe Depth." tregon se Kinect është gati, por asgjë nuk është e regjistruar në temat e tij. Në terminalin e dytë duhet të shihni mesazhe në lidhje me cilësinë e aromës. Nëse lëvizni Kinect shumë shpejt, cilësia e odomit do të shkojë në 0 dhe do t'ju duhet të lëvizni në një vendndodhje të mëparshme ose të filloni nga baza e të dhënave të pastër.
Në kompjuterin tuaj desktop me paketën ROS Melodic dhe rtab_map (ju rekomandoj të përdorni kompjuterin Ubuntu për këtë, pasi paketat e para-ndërtuara janë në dispozicion për arkitekturën amd64) bëni:
eksport ROS_MASTER_URI = https://192.168.0.108: 11311
eksporto ROS_IP = [desktopi-kompjuteri-ip juaj]
rviz
Shtoni ekranet MapGraph dhe MapCloud te rviz dhe zgjidhni temat përkatëse që vijnë nga rtab_map. Epo, kjo është ajo, shija e ëmbël e fitores! Shkoni përpara dhe bëni disa harta:)
Hapi 6: Referencat
Ndërsa shkruaja këtë artikull kishte një numër burimesh që i konsultova, kryesisht forume dhe çështje GitHub. Unë do t'i lë ata këtu.
github.com/OpenKinect/libfreenect/issues/338
www.reddit.com/r/robotics/comments/8d37gy/ros_with_raspberry_pi_and_xbox_360_kinect_question/
github.com/ros-drivers/freenect_stack/issues/48
official-rtab-map-forum.67519.x6.nabble.com/RGB-D-SLAM-example-on-ROS-and-Raspberry-Pi-3-td1250.html
github.com/OpenKinect/libfreenect/issues/524
Më shtoni në LinkedIn nëse keni ndonjë pyetje dhe regjistrohuni në kanalin tim në YouTube për t'u njoftuar për projekte më interesante që përfshijnë mësimin e makinerisë dhe robotikën.
Recommended:
ROS Melodic në Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 hapa
ROS Melodic në Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: Ky artikull do të mbulojë procesin e instalimit të ROS Melodic Morenia në Raspberry Pi 4 që drejton Debian Buster më të fundit dhe si të përdorim RPLIDAR A1M8 me instalimin tonë. Meqenëse Debian Buster u lirua zyrtarisht vetëm disa javë më parë (që nga momenti
Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b: 5 Hapa
Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b: TurtleBot3 Burger vjen me Raspberry Pi 3 B/B+ dhe nuk e mbështet Raspberry Pi 4b të re (që nga 9/2019). Ndiqni hapat e mëposhtëm për ta bërë TurtleBot3 të punojë në Raspberry Pi 4b, duke përfshirë ndërtimin e ROS Kinetic nga burimet në Raspberry Pi 4b Raspbian
Fillimi Me ROS Melodic në Raspberry Pi 4 Model B: 7 hapa
Fillimi Me ROS Melodic në Raspberry Pi 4 Modeli B: Sistemi Operativ i Robotit (ROS) është një grup bibliotekash softuerësh dhe mjetesh të përdorura për të ndërtuar sisteme dhe aplikacione robotike. Versioni aktual afatgjatë i shërbimit të ROS është Melodic Morenia. ROS Melodic është i pajtueshëm vetëm me Ubuntu 18.04 Bionic Beaver
Instalimi i Raspbian Buster në Raspberry Pi 3 - Fillimi me Raspbian Buster Me Raspberry Pi 3b / 3b+: 4 hapa
Instalimi i Raspbian Buster në Raspberry Pi 3 | Fillimi me Raspbian Buster With Raspberry Pi 3b / 3b+: Përshëndetje djema, kohët e fundit organizata Raspberry pi filloi sistemin e ri Raspbian të quajtur Raspbian Buster. Shtë një version i ri i Raspbian për Raspberry pi's. Kështu që sot në këtë udhëzues do të mësojmë se si të instaloni Raspbian Buster OS në Raspberry pi 3 tuaj
Roomblock: një platformë për të mësuar navigimin ROS Me Roomba, Raspberry Pi dhe RPLIDAR: 9 hapa (me fotografi)
Roomblock: një platformë për të mësuar navigimin ROS Me Roomba, Raspberry Pi dhe RPLIDAR: Çfarë është kjo? &Quot; Roomblock " është një platformë roboti e përbërë nga një Roomba, një Raspberry Pi 2, një sensor lazer (RPLIDAR) dhe një bateri celulare. Korniza e montimit mund të bëhet nga printera 3D. Sistemi i navigimit ROS mundëson krijimin e një harte të dhomave dhe përdorimin e