Агуулгын хүснэгт:
- Алхам 1: Юу ажиллаж, юу нь болохгүй байна
- Алхам 2: Freenect Drivers болон Freenect_stack -ийг суулгах
- Алхам 3: Бие даасан RTAB MAP суулгах
- Алхам 4: Rtabmap_ros суулгах
- Алхам 5: Цагийг харуулах
- Алхам 6: Ашигласан материал
Видео: RGB-D SLAM нь Kinect дээр Raspberry Pi 4 [Buster] ROS уянгалаг: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Өнгөрсөн жил би ROS Melodic -ийг Debian Buster OS -тэй шинэ (тэр үед) Raspberry Pi дээр суурилуулж, суулгах тухай нийтлэл бичсэн. Энэ нийтлэлд Instructables болон бусад платформ дээр маш их анхаарал хандуулсан. Raspberry Pi дээр ROS -ийг амжилттай суулгахад маш олон хүнд тусалсандаа маш их баяртай байна. Дагалдах видеон дээр би мөн Kinect 360 -аас гүнзгийрүүлсэн зураг авахыг товч харуулав. Хожим нь олон хүмүүс надтай LinkedIn -ээр холбогдож, Kinect -ийг Raspberry Pi -тай хэрхэн ашиглаж чадсан тухай асуусан. Тухайн үед Kinect-ийг бэлдэх үйл явц надад 3-4 цаг зарцуулсан бөгөөд тийм ч төвөгтэй санагдаагүй тул би энэ асуултанд гайхсан юм. Би энэ асуудлын талаар асуусан бүх хүмүүстэй.bash_history файлуудаа хуваалцсан бөгөөд эцэст нь 4-р сард Kinect драйверуудыг хэрхэн суулгах, RTAB-MAP ROS ашиглан RGB-D SLAM-ийг хэрхэн хийх талаар нийтлэл бичих цагийг олсон. Нийтлэл бичиж эхэлснээс хойш нойргүй хоносон долоо хоногууд яагаад олон хүмүүс надаас ийм асуулт асуусныг би одоо ойлгож байна:)
Би ямар аргууд үр дүнтэй, аль нь үр дүнгээ өгөхгүй байгаа талаар товч тайлбараар эхэлье. Дараа нь би ROS Melodic-т ашиглах Kinect драйверуудыг хэрхэн суулгах, эцэст нь RTAB-MAP ROS ашиглан RGB-D SLAM-д зориулж машинаа хэрхэн тохируулах талаар тайлбарлах болно.
Алхам 1: Юу ажиллаж, юу нь болохгүй байна
Raspberry Pi дээр Kinect -ийн цөөн хэдэн драйвер байдаг бөгөөд тэдгээрийн хоёрыг нь ROS дэмждэг.
OpenNI драйверууд - ROS -д зориулсан openni_camera багц
libfreenect драйверууд - ROS -д зориулсан freenect_stack багц
Хэрэв та тэдгээрийн GitHub репозиторуудыг харвал OpenNI драйверыг хамгийн сүүлд хэдэн жилийн өмнө шинэчилсэн бөгөөд практик дээр удаан хугацааны турш EOL болохыг олж мэдэх боломжтой. Нөгөө талаар ibfreekinect -ийг цаг тухайд нь шинэчилж байна. Тэдний холбогдох ROS багцуудын нэгэн адил freenect_stack нь ROS уянгалаг байдлаар гарсан бөгөөд openni_camera -ийн хамгийн сүүлд өгсөн дэмжлэг бол Fuerte юм.
ROS Melodic -д зориулсан Raspberry Pi дээр OpenNI драйвер болон openni_camera багцыг хөрвүүлж суулгах боломжтой боловч энэ нь надад тохирохгүй байсан. Үүнийг хийхийн тулд энэхүү гарын авлагыг дагаж мөрдөхийн тулд 2, 3-р алхамуудын 1, 2, 3-р алхамуудыг "-mfloat-abi = softfp" тугийг Platform/Linux/Build/Common/Platform. ARM файлаас хасна уу (энэ талаархи зөвлөмжийн дагуу). Github -ийн асуудал). Дараа нь openni_camera багцыг catkin -ийн ажлын талбарт клон хийж, catkin_make ашиглан хөрвүүлээрэй. Энэ нь надад тус болоогүй боловч гүн үүсгэгчийг үүсгэхэд алдаа гарсан. Шалтгаан: USB интерфэйсийг дэмждэггүй!
Libfreenect болон freenect_stack -ийг ашигласнаар эцэст нь амжилтанд хүрсэн боловч шийдвэрлэх шаардлагатай цөөн хэдэн асуудал байсан бөгөөд маш тогтвортой ажиллаж байсан ч гэсэн шийдэл нь жаахан эвгүй байсан (1 цаг + үйл ажиллагаа үргэлжилсэн).
Алхам 2: Freenect Drivers болон Freenect_stack -ийг суулгах
Та энэ нийтлэлээс миний ROS уянгалаг ширээний зургийг ашиглаж байна гэж бодож байна. Хэрэв та өөр орчинд суулгахыг хүсч байвал, жишээ нь ros_comm зураг эсвэл Raspberry Pi -ийн Ubuntu дээр энэ ялгаанаас үүдэлтэй асуудлыг шийдэхийн тулд ROS -ийн талаар хангалттай мэдлэгтэй байгаа эсэхийг шалгаарай.
Apt-get репозиторийн урьдчилан бүтээсэн хувилбар хэт хуучирсан тул эх сурвалжаас libfreenect драйверуудыг үүсгэж эхэлье.
sudo apt-get update
sudo apt-get libusb-1.0-0-dev суулгах
git clone
cd libfreenect
mkdir build && cd build
смэйк -Л..
хийх
sudo make install
Бүтээн байгуулалтын үйл явц жигд бус, ногоон ээлтэй мессежээр дүүрэн байх болно гэж найдаж байна. Libfreenect драйверыг суулгасны дараа хийх ёстой зүйл бол ROS -д зориулсан freenect_stack багцыг суулгах явдал юм. Үүнээс хамаарах өөр хэд хэдэн багц байгаа тул бид тэдгээрийг клон хийж, catkin_make ашиглан бүтээх хэрэгтэй болно. Эхлэхээсээ өмнө catkin -ийн ажлын талбарыг зөв тохируулж, эх үүсвэртэй эсэхийг шалгаарай!
Таны catkin ажлын талбар src фолдероос:
git clone
git clone
git clone
git clone
git clone
git clone
Өө, энэ бол маш их хуулбарлах явдал байв.
Сүүлд засварлах: Миний уншигчдын нэгний онцолж хэлснээр, vision_opencv репозиторыг уянгалаг салбар болгон тохируулах шаардлагатай байна. Үүний тулд src/vision_opencv -ийг ажиллуулна уу
git checkout уянгалаг
Дараа нь catkin ажлын талбар руу буцна уу. Бид байгаа бүх багцын хамаарал байгаа эсэхийг шалгахын тулд энэ тушаалыг гүйцэтгэнэ.
rosdep суулгах --from-paths src --ignore-src
Хэрэв та шаардлагатай бүх багцыг амжилттай хуулбарласан бол libfreekinect-ийг apt-get ашиглан татаж авахыг хүсэх болно. Үгүй гэж хариулна уу, учир нь бид үүнийг аль хэдийн эх сурвалжаас суулгасан болно.
sudo apt-get libbullet-dev libharfbuzz-dev libgtk2.0-dev libgtk-3-dev суулгах
catkin_make -j2
Цайны цаг;) эсвэл таны дуртай ундаа юу ч байсан болно.
Эмхэтгэх ажил дууссаны дараа та kinect стекийг ажиллуулж, гүн, өнгөт зургийг зөв гаргаж байгаа эсэхийг шалгаж болно. Би Raspberry Pi -ийг толгойгүй хэрэглэдэг тул RVIZ -ийг ширээний компьютер дээрээ ажиллуулах хэрэгтэй.
Raspberry Pi дээр (IP хаягийг Raspberry Pi -ийн IP хаягаар солино уу!):
экспортлох ROS_MASTER_URI = https://192.168.0.108: 11311
экспортлох ROS_IP = 192.168.0.108
roslaunch freenect_launch freenect.unch гүнзгийрэх бүртгэл: = үнэн
Та дэлгэцийн зураг 1 дээрх шиг гаралтыг харах болно. "Төхөөрөмжийн RGB ба Гүн урсгалын урсгалыг зогсоох". нь Kinect бэлэн байгааг харуулж байгаа боловч түүний сэдвийг хараахан захиалаагүй байна.
ROS Melodic суулгасан ширээний компьютер дээрээ дараах зүйлийг хий.
экспортлох ROS_MASTER_URI = https://192.168.0.108: 11311
ROS_IP = [your-desktop-computer-ip] rviz экспортлох
Одоо та RVIZ дээрх RGB ба Гүнзгий зургийн урсгалыг дээрх Дэлгэцийн зураг 2 дээрх шиг харах боломжтой байх ёстой … гэхдээ нэгэн зэрэг биш.
За, энд хакердах зүйлс эхэлдэг. Би өөр өөр драйвер, арга барилыг туршиж үзсэн боловч юу ч болсонгүй - хоёр урсгал руу нэгэн зэрэг нэвтрэхийг оролдсон даруйдаа Kinect нь дэлгэцийн зураг 3 -аас харж болно. Би бүх зүйлийг туршиж үзсэн. freenect_stack, usb_autosuspend -ийг зогсоох, USB порт руу цайруулагч оруулах (зүгээр, сүүлчийнх биш! Үүнийг бүү хий, энэ бол хошигнол бөгөөд техникийн зөвлөгөө өгөх ёсгүй:)). Дараа нь Github -ийн нэг дугаарт WiFi донглёрыг холбож "USB автобусыг ачаалах" хүртэл Kinect -ээ тогтворгүй гэж хэлсэн хүний бүртгэлийг олж харлаа. Би үүнийг туршиж үзсэн бөгөөд энэ нь ажилласан. Энэ нь нэг талаар ажилласандаа баяртай байна. Нөгөө талаар хэн нэгэн үүнийг засах ёстой. Энэ хооронд үүнийг засч залруулсны дараа дараагийн алхам руугаа орцгооё.
Алхам 3: Бие даасан RTAB MAP суулгах
Нэгдүгээрт, бидэнд хэд хэдэн хамаарал суулгах шаардлагатай байна:
PCL -д зориулж урьдчилан бэлтгэсэн armhf багц байгаа хэдий ч энэ асуудлын улмаас бид үүнийг эх сурвалжаас хөрвүүлэх шаардлагатай болно. Үүнийг эх сурвалжаас хэрхэн хөрвүүлэх талаар PCL GitHub репозитороос лавлана уу.
sudo apt-get суулгах libvtk6-dev libvtk6-qt-dev libvtk6-java libvtk6-jni
sudo apt-get суулгах libopencv-dev cmake libopenni2-dev libsqlite3-dev
Одоо rtab map -ийн бие даасан багц git -ийн репозиторийг гэрийнхээ хавтас руу клон хийж, бүтээцгээе. Би хамгийн сүүлийн хувилбарыг (0.18.0) ашигласан.
git clone
cd rtabmap/build
смэйк..
хийх -j2
sudo make install
sudo ldconfig rtabmap
Одоо бид бие даасан RTAB MAP хөрвүүлсний дараа бид хамгийн сүүлийн алхам руу шилжиж болно - RTAB MAP, rtabmap_ros -д зориулсан ROS боодолыг эмхэтгэх, суулгах.
Алхам 4: Rtabmap_ros суулгах
Хэрэв та ийм хол явсан бол одоохондоо дасгал сургуулилтыг мэдэж байгаа байх.:) rtabmap_ros репозиторийг catkin ажлын талбайн src хавтсанд хуулна уу. (Catkin workspace src хавтаснаас дараагийн тушаалыг ажиллуулна уу!)
git clone
Бидэнд эдгээр ROS багцууд хэрэгтэй болно, rtabmap_ros нь дараахь зүйлээс хамаарна.
git clone
git clone
git clone
git clone
git clone
Эмхэтгэх ажлыг эхлүүлэхийн өмнө та дараах командын тусламжтайгаар ямар ч хамаарал байхгүй байгаа эсэхийг шалгаарай.
rosdep суулгах --from-paths src --ignore-src
Ap-get-ээс илүү их хамаарал суулгах (эдгээр нь холболтыг тасалдуулахгүй, харин эмхэтгэх явцад алдаа гаргах болно)
sudo apt-get суулгах libsdl-image1.2-dev
Дараа нь catkin ажлын талбар руу шилжиж, эмхэтгэж эхлээрэй.
cd..
catkin_make -j2
Та дуртай эмхэтгэсэн ундаагаа хэтрүүлээгүй гэж найдаж байна. Эмхэтгэж дууссаны дараа бид зураглал хийхэд бэлэн байна!
Алхам 5: Цагийг харуулах
USB порт руу WiFi эсвэл Bluetooth dongle гэх мэт зүйлийг нэмж оруулаад ийм заль мэх хий - Би 2 USB 2.0 портыг ашиглаж байсан, нэг нь Kinect, нөгөө нь WiFi донгл.
Raspberry Pi дээр (IP хаягийг Raspberry Pi -ийн IP хаягаар солино уу!): 1 -р терминал:
экспортлох ROS_MASTER_URI = https://192.168.0.108: 11311
экспортлох ROS_IP = 192.168.0.108
roslaunch freenect_launch freenect.unch гүнзгийрэх бүртгэл: = үнэн өгөгдөл_авах: = 2
2 -р терминал:
roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args: = -delete_db_on_start --Vis/MaxFeatures 500 --Mem/ImagePreDecimation 2 --Mem/ImagePostDecimation 2 --Kp/DetectorStrategy 6 --OdomF2M/MaxDizayn--: = худал
Та дэлгэцийн зураг 1 дээрх шиг гаралтыг харах болно. "Төхөөрөмжийн RGB ба Гүн урсгалын урсгалыг зогсоох". Энэ нь Kinect бэлэн болсон гэсэн үг боловч түүний сэдвийг хараахан захиалаагүй байгаа бөгөөд хоёрдахь терминалд та үнэрийн чанарын талаар мессеж харах ёстой. Хэрэв та Kinect -ийг хэт хурдан хөдөлгөвөл odom -ийн чанар 0 болж, өмнөх байршил руу шилжих эсвэл цэвэр мэдээллийн сангаас эхлэх шаардлагатай болно.
ROS Melodic болон rtab_map багц суулгасан өөрийн ширээний компьютер дээр (amd64 архитектурын хувьд урьдчилан суулгасан багцууд байдаг тул Ubuntu компьютер ашиглахыг танд зөвлөж байна).
экспортлох ROS_MASTER_URI = https://192.168.0.108: 11311
экспортлох ROS_IP = [таны ширээний-компьютер-ip]
рвиз
MapGraph болон MapCloud дэлгэцүүдийг rviz -д нэмж, rtab_map -аас холбогдох сэдвүүдийг сонгоно уу. За, энэ бол ялалтын сайхан амт! Үргэлжлүүлээд зураглал хийцгээе:)
Алхам 6: Ашигласан материал
Энэ нийтлэлийг бичих явцад миний зөвлөлдсөн олон эх сурвалжууд байсан бөгөөд ихэнхдээ форум, GitHub -ийн асуудлууд байдаг. Би тэднийг энд үлдээнэ.
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
Хэрэв танд асуулт байгаа бол намайг LinkedIn дээр нэмж, миний YouTube сувагт бүртгүүлээрэй.
Зөвлөмж болгож буй:
Rasp Melodic Raspberry Pi 4 дээр [Debian Buster] + RPLIDAR A1M8: 6 алхам
Rasp Melodic Raspberry Pi 4 дээр [Debian Buster] + RPLIDAR A1M8: Энэхүү нийтлэлд Rasp Me Piic 4 дээр ROS Melodic Morenia -ийг хамгийн сүүлийн үеийн Debian Buster дээр суулгах процесс болон RPLIDAR A1M8 -ийг манай суулгацтай хэрхэн ашиглах талаар авч үзэх болно. Дебиан Бустер хэдхэн долоо хоногийн өмнө албан ёсоор гарснаас хойш (яг одоогийн байдлаар
ROS Kinetic, TurtleBot3, Raspicam -ийг Raspberry Pi дээр суулгах 4b: 5 алхам
ROS Kinetic, TurtleBot3, Raspicam -ийг Raspberry Pi 4b дээр суулгаарай: TurtleBot3 Burger нь Raspberry Pi 3 B/B+ дагалддаг бөгөөд шинэ (9/2019 оны байдлаар) Raspberry Pi 4b -ийг дэмждэггүй. TurtleBot3 -ийг Raspberry Pi 4b дээр ажиллуулахын тулд дараах алхмуудыг дагана уу, үүнд Raspberry Pi 4b Raspbian дээрх эх сурвалжаас ROS Kinetic бий болгох
Raspberry Pi 4 Model B дээр ROS Melodic програмыг эхлүүлэх нь: 7 алхам
Rasp Me Pi 4 загвар B дээр ROS Melodic програмыг эхлүүлэх нь: Робот үйлдлийн систем (ROS) нь робот систем, програм бүтээхэд ашигладаг програм хангамжийн номын сан, хэрэгслүүдийн багц юм. ROS -ийн урт хугацааны үйлчилгээний хувилбар нь Melodic Morenia юм. ROS Melodic нь зөвхөн Ubuntu 18.04 Bionic Beaver -тэй нийцдэг
Уянгалаг хоолой: 4 алхам
Уянгалаг хоолой: La conception de cet instrument est assez particuli è re et peu comme mais tr & egrave's s simple à угаалгын нунтаг. Et pour ce faire, a bien fait recours au circuit int é gr é. Тэр өө! C'est le coeur m ê me de Melodic Voice qu
Raspberry Pi 3 дээр Raspbian Buster суулгах - Raspberry Buster -ийг Raspberry Pi 3b / 3b+ашиглан эхлүүлэх: 4 алхам
Raspberry Pi 3 дээр Raspbian Buster суулгах | Raspberry Pi 3b / 3b+бүхий Raspbian Buster -ийг эхлүүлэх нь: Сайн байна уу залуусаа, саяхан Raspberry pi байгууллага Raspbian Buster нэртэй шинэ Raspbian OS -ийг нээв. Энэ бол Raspberry pi -ийн Raspbian -ийн шинэ хувилбар юм. Тиймээс өнөөдөр энэ зааварчилгаанд Raspbian Buster OS -ийг Raspberry pi 3 дээрээ хэрхэн суулгах талаар сурах болно