ROS instalatzen Ubuntu IMG irudi batean taula bakarrerako

Sarrera

Herenegun, tesia egiten ari nintzela, ROS instalatuta zeukan taula bakarreko plataforma baterako Ubuntu irudi bat sortzeko beharraren aurrean izan nintzen (Robot Operating System - robot sistema eragilea). Laburbilduz, diploma robot talde bat kudeatzeari dagokio. Robotak bi gurpil eta hiru telemetroz hornituta daude. Guztia ODROID-C2 plakan exekutatzen den ROSetik kontrolatzen da.

ROS instalatzen Ubuntu IMG irudi batean taula bakarrerako
Marigorringoa robota. Barkatu argazkiaren kalitate txarragatik

Ez zegoen robot bakoitzean ROS banaka instalatzeko ez denborarik ez gogorik, eta, beraz, sistemaren irudi baten beharra zegoen jada instalatuta zegoen ROSarekin. Interneten arakatu ondoren, hau nola egin zitekeen jakiteko hainbat planteamendu aurkitu ditut.
Oro har, aurkitutako irtenbide guztiak talde hauetan bana daitezke.

  1. Prest egindako eta konfiguratutako sistema batetik irudi bat sortzen duten programak (Deskonpartitu Ubuntu Imager, Linux zuzeneko kit, linux respin, systemback, etab.)
  2. Zure irudia sortzeko aukera ematen duten proiektuak (yocto, linux hutsetik)
  3. Irudia zuk zeuk muntatzen (zuzeneko CD pertsonalizazioa ΠΈ Errusiako baliokidea, plus bat HabrΓ©ri buruzko artikulua)

Lehen taldeko soluzioak erabiltzea aukerarik errazena eta erakargarriena iruditu zitzaidan, baina inoiz ezin izan nuen ODROIDerako zuzeneko sistemaren irudirik sortu. Bigarren taldeko irtenbideak ere ez zitzaizkidan egokitu sarrera-atalase altu samarra zela eta. Eskuzko tutorialen arabera muntatzea ere ez zen egokia, izan ere... Nire irudiak ez zuen fitxategi-sistema konprimiturik.
Ondorioz, chroot-i buruzko bideo bat topatu nuen (chroot - erroa aldatu, mezuaren amaierako bideoaren esteka) eta bere gaitasunak erabiltzea erabaki zen. Jarraian, robotika garatzaileentzako Ubuntu pertsonalizatzeko nire kasu partikularra deskribatuko dut.

Hasierako datuak:

  • Irudia aldatzeko prozesu osoa (balenaEtcher erabiliz SD txartelean idaztea izan ezik) Ubuntu 18.04 sistema eragilean egin zen.
  • Muntaia aldatu dudan sistema eragilea Ubuntu 18.04.3 mate mahaigaineko bertsioa da.
  • Muntatutako sistemak lan egin behar duen makina ODROID-C2 da.

Irudia prestatzen

  1. Deskargatu Ubuntu irudia ODROID-erako gune ofiziala

  2. Artxiboa desegitea

    unxz –kv <Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π° с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ>

  3. Sortu direktorio bat eta bertan irudia muntatuko dugu

    mkdir mnt

  4. Fitxategi-sistema zein partizioan dagoen zehaztu

    file <Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π°>

    Fitxategi-sistema ext2, ext3 edo ext4 formatuan duen partizioa bilatzen ari gara. Atalaren hasierako helbidea behar dugu (gorriz nabarmenduta pantailan):

    ROS instalatzen Ubuntu IMG irudi batean taula bakarrerako

    Oharra. Fitxategi-sistemaren kokapena erabilgarritasuna erabiliz ere ikus daiteke parted.

  5. Irudia muntatzea

    sudo mount -o loop,offset=$((264192*512)) <Ρ„Π°ΠΉΠ» с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ> mnt/

    Behar dugun atala 264192 blokearekin hasten da (zure zenbakiak desberdinak izan daitezke), bloke baten tamaina 512 byte da, biderkatu koska bytetan lortzeko.

  6. Joan muntatutako sistema duen karpetara eta zintzilikatu bertan

    cd mnt/
    sudo chroot ~/livecd/mnt/ bin/sh

    ~/livecd/mnt β€” muntatutako sistema duen direktoriorako bide osoa
    bin/sh - shell (rekin ere ordezkatu daiteke bin/bash)
    Orain beharrezko paketeak eta aplikazioak instalatzen has zaitezke.

ROS instalatzen

ROS-ren (ROS Melodic) azken bertsioa instalatu nuen tutoretza ofiziala.

  1. Paketeen zerrenda eguneratzen

    sudo apt-get update

    Hau da akatsa nondik atera nuen:

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

    Hau da paketea sinatzeko gakoa iraungi delako. Teklak eguneratzeko, idatzi:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9

  2. ROS instalatzeko sistema prestatzea

    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. ROS instalatzen
    Zoritxarrez, ezin izan nuen ROS mahaigaineko bertsioa instalatu, beraz, oinarrizko paketeak bakarrik instalatu nituen:

    sudo apt install ros-melodic-ros-base
    apt search ros-melodic

    1. oharra Instalazio prozesuan batzuetan errore bat gertatu da:

    dpkg: error: failed to write status database record about 'iputils-ping' to '/var/lib/dpkg/status': No space left on device

    Cachea garbituz konpondu zen apt utilitatea erabiliz:

    sudo apt-get clean; sudo apt-get autoclean

    2. oharra Instalatu ondoren, iturburua komandoa erabiliz:

    source /opt/ros/melodic/setup.bash

    ez du funtzionatuko, zeren Ez dugu bash exekutatu, beraz EZ da terminalean idatzi beharrik.

  4. Beharrezko mendekotasunak instalatzea

    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. Sarbide-eskubideak konfiguratzea
    Saioa hasi eta, hain zuzen ere, muntatzen ari den sistemaren erroaren izenean ekintza guztiak egiten ditugunez, ROS supererabiltzaile eskubideekin soilik jarriko da martxan.
    Roscore sudorik gabe exekutatzen saiatzean, errore bat gertatzen da:

    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'

    Errorea gerta ez dadin, alda ditzagun ROS erabiltzailearen hasierako direktoriorako sarbide-eskubideak modu errekurtsiboan. Horretarako idatziko dugu:

    sudo rosdep fix-permissions

  6. rviz eta rqt paketeen instalazio gehigarria

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

Azken ukituak

  1. Irten chroot:
    exit
  2. Desmuntatu irudia
    cd ..
    sudo umount mnt/
  3. Jar dezagun sistemaren irudia artxibo batean
    xz –ckv1 <Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π°>

Denak! Orain laguntzarekin balenaetcher sistemaren irudia SD txartel batean graba dezakezu, sartu ODROID-C2-n eta Ubuntu izango duzu ROS instalatuta!

erreferentziak:

  • Bideo honek asko lagundu zuen Linux-en iruzurra nola egin eta zergatik behar duzun jakiteko:



Iturria: www.habr.com

Gehitu iruzkin berria