ROS-ni bitta taxtali uchun Ubuntu IMG tasviriga o'rnatish
kirish
Boshqa kuni, mening dissertatsiyam ustida ishlayotganimda, ROS allaqachon o'rnatilgan bitta taxtali platforma uchun Ubuntu tasvirini yaratish zarurati bilan duch keldim (Robot Operating System - robot operatsion tizimi). Qisqasi, diplom robotlar guruhini boshqarishga bag'ishlangan. Robotlar ikkita g'ildirak va uchta masofa o'lchagich bilan jihozlangan. Hamma narsa ODROID-C2 platasida ishlaydigan ROS-dan boshqariladi.
Robot Ladybug. Surat sifati pastligi uchun uzr
Har bir robotga ROS-ni alohida o'rnatish uchun vaqt ham, xohish ham yo'q edi, shuning uchun ROS allaqachon o'rnatilgan tizim tasviriga ehtiyoj bor edi. Internetni ko'rib chiqqandan so'ng, men buni qanday qilish mumkinligi haqida bir nechta yondashuvlarni topdim.
Umuman olganda, barcha topilgan yechimlarni quyidagi guruhlarga bo'lish mumkin.
Birinchi guruhning echimlaridan foydalanish eng oddiy va eng jozibali variant bo'lib tuyuldi, lekin men hech qachon ODROID uchun jonli tizim tasvirini yarata olmadim. Ikkinchi guruhning echimlari ham kirish chegarasi juda yuqori bo'lganligi sababli menga mos kelmadi. Mavjud darsliklar bo'yicha qo'lda yig'ish ham mos emas edi, chunki... Mening rasmimda siqilgan fayl tizimi yo'q edi.
Natijada men chroot haqidagi videoga duch keldim (chroot - ildizni o'zgartirish, postning oxiridagi videoga havola) va uning imkoniyatlari, undan foydalanishga qaror qilindi. Keyinchalik, men Ubuntu-ni robototexnika ishlab chiquvchilari uchun sozlash bo'yicha o'z ishimni tasvirlab beraman.
Dastlabki ma'lumotlar:
Tasvirni o'zgartirishning barcha jarayoni (balenaEtcher yordamida SD-kartaga yozishdan tashqari) Ubuntu 18.04 operatsion tizimida amalga oshirildi.
Men yig'ilishini o'zgartirgan operatsion tizim Ubuntu 18.04.3 mate ish stoli versiyasidir.
Yig'ilgan tizim ishlashi kerak bo'lgan mashina ODROID-C2.
Tasvirni tayyorlash
ODROID uchun Ubuntu tasvirini yuklab oling rasmiy sayt
Biz ext2, ext3 yoki ext4 formatidagi fayl tizimiga ega bo'limni qidirmoqdamiz. Bizga bo'lim boshining manzili kerak (ekranda qizil rang bilan belgilangan):
Eslatma. Fayl tizimining joylashuvini yordamchi dastur yordamida ham ko'rish mumkin xayrlashdi.
Tasvirni o'rnatish
sudo mount -o loop,offset=$((264192*512)) <ΡΠ°ΠΉΠ» Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ> mnt/
Bizga kerak bo'lgan bo'lim 264192 blokdan boshlanadi (sizning raqamlaringiz farq qilishi mumkin), bitta blokning o'lchami 512 baytni tashkil qiladi, ularni baytlarda chekinish uchun ko'paytiring.
O'rnatilgan tizim bilan jildga o'ting va unda osib qo'ying
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt β o'rnatilgan tizim bilan katalogga to'liq yo'l bin/sh - qobiq (shuningdek, bilan almashtirilishi mumkin bin/bash)
Endi siz kerakli paketlar va ilovalarni o'rnatishni boshlashingiz mumkin.
ROS o'rnatilmoqda
Shunga ko'ra ROS (ROS Melodic) ning so'nggi versiyasini o'rnatdim rasmiy darslik.
Paketlar ro'yxatini yangilang
sudo apt-get update
Bu erda men xatoga yo'l qo'ydim:
Err:6 http://deb.odroid.in/c2 bionic InRelease
The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>
Buning sababi paketni imzolash kalitining amal qilish muddati tugagan. Kalitlarni yangilash uchun quyidagilarni kiriting:
Kirish huquqlarini sozlash
Biz tizimga kirganimiz va aslida yig'ilayotgan tizimning ildizi nomidan barcha amallarni bajarganimiz uchun ROS faqat superuser huquqlari bilan ishga tushiriladi.
Roscore-ni sudosiz ishga tushirishga urinayotganda xatolik yuz beradi:
Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 230, in main write_pid_file(options.pid_fn, options.core, options.port) File "/opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 106, in write_pid_file with open(pid_fn, "w") as f: IOError: [Errno 13] Permission denied: '/home/user/.ros/roscore-11311.pid'
Xatoning oldini olish uchun ROS foydalanuvchisining uy katalogiga kirish huquqlarini rekursiv ravishda o'zgartiraylik. Buning uchun biz yozamiz:
Hammasi! Endi yordam bilan balenaetcher tizim tasvirini SD-kartaga yozishingiz, ODROID-C2-ga joylashtirishingiz mumkin va sizda ROS bilan Ubuntu o'rnatilgan bo'ladi!
Manbalar:
Ushbu video Linuxda qanday qilib aldash va nima uchun kerakligi haqida ko'p yordam berdi: