Pîrozbahiyê
Roja din, dema ku ez li ser dîplomaya xwe dixebitim, ez bi hewcedariya afirandina wêneyek re rû bi rû mam Ubuntu ji bo kompîterek yek-panelê ku ROS jixwe sazkirî ye (Pergala Xebatê ya Robotê - Pergala xebitandinê ya robot). Bi kurtasî, diploma ji bo birêvebirina komek robotan tê veqetandin. Robot bi du teker û sê mêzgevanan ve hatine çêkirin. Hemî tişt ji ROS-ê, ku li ser panela ODROID-C2 dimeşe, tê kontrol kirin.

Robot Ladybug. Mixabin ji bo kalîteya wêneya nebaş
Ne dem û ne jî xwestek hebû ku ROS-ê li ser her robotek ferdî were saz kirin, û ji ber vê yekê pêdivî bi wêneyek pergalê ya bi ROS-a jixwe hatî saz kirin hebû. Piştî gera Înternetê, min çend nêzîkatî dît ku meriv çawa dikare vê yekê bike.
Bi gelemperî, hemî çareseriyên têne dîtin dikarin di komên jêrîn de bêne dabeş kirin.
- Bernameyên ku ji pergalek amade û mîheng wêneyek diafirînin (, , , sîstema paşde, hwd.)
- Projeyên ku dihêle hûn wêneyê xwe biafirînin (, )
- Wêne bi xwe berhev bikin ( и , plus )
Bikaranîna çareseriyên ji koma yekem vebijarka herî hêsan û balkêş xuya bû, lê min çu carî nekaribû ji bo ODROID wêneyek pergala zindî biafirînim. Çareseriyên koma duyemîn jî ji ber bendava têketinê ya pir zêde li gorî min nehat. Li gorî dersên berdest berhevkirina destan jî ne guncaw bû, ji ber ku ... Wêneya min pergala pelê ya pêçandî nebû.
Di encamê de, ez rastî vîdyoyek li ser chroot hatim (chroot - root biguherînin(Girêdana vîdyoyê di dawiya nivîsê de ye) û şiyanên wê, min biryar da ku wê bikar bînim. Li jêr ez ê rewşa xwe ya xwerûkirinê ya taybetî rave bikim. Ubuntu ji bo pêşdebirên robotîkê.
Daneyên destpêkê:
- Tevahiya pêvajoya guherandina wêneyê (ji bilî nivîsandina li ser karta SD bi karanîna balenaEtcher) di pergala xebitandinê de hate kirin. Ubuntu 18.04.
- Sîstema xebitandinê ya ku kombûna wê hate guhertin ev bû - Ubuntu 18.04.3 guhertoya sermaseya mate.
- Makîneya ku divê pergala komkirî li ser bixebite ODROID-C2 ye.
Amadekirina wêneyê
Wêne dakêşin Ubuntu ji bo ODROID bi
Vekirina arşîvê
unxz –kv <файл архива с образом>Peldanokek ku em ê tê de wêneyê siwar bikin biafirînin
mkdir mntDabeşkirina ku pergala pelan lê ye diyar bikin
file <файл образа>Em li dabeşek bi pergalek pelê di formata ext2, ext3 an ext4 de digerin. Ji me re navnîşana destpêka beşê hewce ye (li ser ekranê bi sor tê ronî kirin):

Têbînî: Cihê pergala pelê jî bi karanîna karûbar dikare were dîtin parçebûyî.Mountkirina wêneyê
sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/Beşa ku em hewce ne bi bloka 264192 dest pê dike (hejmarên we dibe ku ji hev cuda bin), mezinahiya yek blokekê 512 byte ye, wan zêde bikin da ku xêzkirinê bi bîtan bistînin.
Biçin peldanka bi pergala siwarkirî û tê de bizivirin
cd mnt/ sudo chroot ~/livecd/mnt/ bin/sh~/livecd/mnt - riya tevahî ya pelrêça bi pergala siwarkirî
bin/sh - şêl (dikare pê re jî were guheztin bin/bash)
Naha hûn dikarin dest bi sazkirina pakêt û sepanên pêwîst bikin.
Sazkirina ROS
Min guhertoya herî dawî ya ROS (ROS Melodic) li gorî saz kir .
Nûvekirina navnîşa pakêtan
sudo apt-get updateLi vir min xeletî girt:
Err:6 http://deb.odroid.in/c2 bionic InRelease The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <mauro.ribeiro@hardkernel.com>Ev ji ber wê yekê ye ku mifteya îmzekirina pakêtê qediyaye. Ji bo nûvekirina bişkojkan, binivîsin:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9Amadekirina pergalê ji bo sazkirina ROS
sudo sh -c 'echo "deb http://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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudo apt updateSazkirina ROS
Mixabin, min nekarî guhertoya sermaseya ROS-ê saz bikim, ji ber vê yekê min tenê pakêtên bingehîn saz kir:sudo apt install ros-melodic-ros-base apt search ros-melodicNîşe 1. Di pêvajoya sazkirinê de carinan xeletiyek çêbû:
dpkg: error: failed to write status database record about 'iputils-ping' to '/var/lib/dpkg/status': No space left on deviceEw bi paqijkirina cache bi karanîna karûbar apt ve hatî rast kirin:
sudo apt-get clean; sudo apt-get autocleanNîşe 2. Piştî sazkirinê, çavkanî bi karanîna fermanê:
source /opt/ros/melodic/setup.bashew ê nexebite, ji ber Me bash neavêt, ji ber vê yekê ne hewce ye ku ew di termînalê de were nivîsandin.
Sazkirina girêdanên pêwîst
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essentialsudo apt install python-rosdepsudo rosdep init rosdep updateSazkirina mafên gihîştinê
Ji ber ku em têketinê ne û, bi rastî, li ser navê root pergala ku hatî berhev kirin hemî çalakiyan pêk tînin, ROS dê tenê bi mafên superbikarhêner were destpêkirin.
Dema ku hûn hewl didin ku roscore bêyî sudo bimeşînin, xeletiyek çêdibe: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'Ji bo ku nehêle xeletî çêbibe, werin em mafên gihîştina pelrêça malê ya bikarhênerê ROS-ê bi paşverû biguherînin. Ji bo vê yekê em binivîse:
sudo rosdep fix-permissionsSazkirina pêvek a pakêtên rviz û rqt
sudo apt-get install ros-melodic-rqt ros-melodic-rviz
Têkiliyên dawî
- Derkeve chroot:
exit - Wêne rakin
cd .. sudo umount mnt/ - Werin em wêneya pergalê li arşîvekê pak bikin
xz –ckv1 <файл образа>
Gişt! Niha bi alîkariyê Hûn dikarin wêneya pergalê li ser qerta SD binivîsin, wê têxin nav ODROID-C2, û hûn ê hebin Ubuntu bi ROS-ê sazkirî!
References:
- Vê vîdyoyê gelek alîkarî kir ku meriv çawa di Linux-ê de bixapîne û çima hûn jê re hewce ne:

Source: www.habr.com

