Sazkirina ROS-ê di wêneyek Ubuntu IMG de ji bo panelek yekane

Pîrozbahiyê

Roja din, dema ku li ser teza xwe dixebitî, ez bi hewcedariya çêkirina wêneyek Ubuntu re ji bo platformek yek-board bi ROS-a ku jixwe hatî saz kirin re rû bi rû bûm (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.

Sazkirina ROS-ê di wêneyek Ubuntu IMG de ji bo panelek yekane
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.

  1. Bernameyên ku ji pergalek amade û mîheng wêneyek diafirînin (Belavkirina Wêneyê Ubuntu, kit live linux, linux respin, sîstema paşde, hwd.)
  2. Projeyên ku dihêle hûn wêneyê xwe biafirînin (yocto, linux ji sifirê)
  3. Wêne bi xwe berhev bikin (xwerûkirina CD ya zindî и Wekheviya rûsî, plus gotara li ser Habré)

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ê ya li dawiya postê) û kapasîteyên wê, biryar hate girtin ku wê bikar bînin. Dûv re, ez ê doza xweya taybetî ya xweşkirina Ubuntu ji bo pêşdebirên robotîkê vebêjim.

Daneyên destpêkê:

  • Tevahiya pêvajoya guheztina wêneyê (ji bilî nivîsandina li ser qerta SD bi karanîna balenaEtcher) li ser pergala xebitandina Ubuntu 18.04 hate kirin.
  • Pergala xebitandinê ya ku min kombûna wê guherand guhertoya sermaseya Ubuntu 18.04.3 mate ye.
  • Makîneya ku divê pergala komkirî li ser bixebite ODROID-C2 ye.

Amadekirina wêneyê

  1. Ji bo ODROID wêneya Ubuntu dakêşin malpera fermî

  2. Vekirina arşîvê

    unxz –kv <файл архива с образом>

  3. Peldanokek ku em ê tê de wêneyê siwar bikin biafirînin

    mkdir mnt

  4. Dabeş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):

    Sazkirina ROS-ê di wêneyek Ubuntu IMG de ji bo panelek yekane

    Têbînî: Cihê pergala pelê jî bi karanîna karûbar dikare were dîtin parçebûyî.

  5. 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.

  6. 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 tutorial fermî.

  1. Nûvekirina navnîşa pakêtan

    sudo apt-get update

    Li vir min xeletî girt:

    Err:6 http://deb.odroid.in/c2 bionic InRelease
    The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>

    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 AB19BAC9

  2. Amadekirina 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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

    sudo apt update

  3. Sazkirina 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-melodic

    Nîş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 device

    Ew bi paqijkirina cache bi karanîna karûbar apt ve hatî rast kirin:

    sudo apt-get clean; sudo apt-get autoclean

    Nîşe 2. Piştî sazkirinê, çavkanî bi karanîna fermanê:

    source /opt/ros/melodic/setup.bash

    ew ê nexebite, ji ber Me bash neavêt, ji ber vê yekê ne hewce ye ku ew di termînalê de were nivîsandin.

  4. Sazkirina girêdanên pêwîst

    sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

    sudo apt install python-rosdep

    sudo rosdep init
    rosdep update

  5. Sazkirina 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-permissions

  6. Sazkirina pêvek a pakêtên rviz û rqt

    sudo apt-get install ros-melodic-rqt ros-melodic-rviz

Têkiliyên dawî

  1. Derkeve chroot:
    exit
  2. Wêne rakin
    cd ..
    sudo umount mnt/
  3. Werin em wêneya pergalê li arşîvekê pak bikin
    xz –ckv1 <файл образа>

Gişt! Niha bi alîkariyê balenaetcher hûn dikarin wêneya pergalê li qerta SD-ê bişewitînin, wê têxin nav ODROID-C2, û hûn ê Ubuntu bi ROS-ê saz bikin!

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

Add a comment