Nginstal ROS ing gambar Ubuntu IMG kanggo papan siji

Pambuka

Ing dina liyane, nalika nggarap tesis, aku kudu nggawe gambar Ubuntu kanggo platform papan siji kanthi ROS sing wis diinstal (Sistem Operasi Robot - sistem operasi robot). Singkatnya, diploma kasebut dikhususake kanggo ngatur klompok robot. Robot kasebut dilengkapi roda loro lan telu rangefinder. Kabèh dikontrol saka ROS, sing mlaku ing papan ODROID-C2.

Nginstal ROS ing gambar Ubuntu IMG kanggo papan siji
Robot Kumbang. Nyuwun pangapunten kanggo kualitas foto sing kurang apik

Ora ana wektu utawa kepinginan kanggo nginstal ROS ing saben robot individu, lan mulane ana perlu kanggo gambar sistem karo ROS wis diinstal. Sawise browsing Internet, aku nemokake sawetara pendekatan babagan carane iki bisa ditindakake.
UmumΓ©, kabeh solusi sing ditemokake bisa dipΓ©rang dadi klompok ing ngisor iki.

  1. Program sing nggawe gambar saka sistem sing wis siap lan dikonfigurasi (Distroshare Ubuntu Imager, linux live kit, linux respin, systemback, lsp)
  2. Proyek sing ngidini sampeyan nggawe gambar dhewe (yocto, linux saka ngeruk)
  3. Ngrakit gambar dhewe (kustomisasi CD urip ΠΈ padha karo Rusianditambahake artikel ing HabrΓ©)

Nggunakake solusi saka klompok pisanan ketoke pilihan sing paling gampang lan paling atraktif, nanging aku ora tau bisa nggawe gambar sistem urip kanggo ODROID. Solusi saka klompok kapindho uga ora cocog karo aku amarga ambang entri sing cukup dhuwur. DΓ©wan manual miturut tutorial sing kasedhiya uga ora cocog, amarga ... Gambarku ora duwe sistem file sing dikompres.
AkibatΓ©, aku nemoni video babagan chroot (chroot - ngganti root, pranala menyang video ing mburi kirim) lan kapabilitas, diputusake kanggo nggunakake. Sabanjure, aku bakal nerangake kasus khusus babagan kustomisasi Ubuntu kanggo pangembang robotika.

Data sumber:

  • Proses modifikasi gambar kabeh (kajaba nulis menyang kertu SD nggunakake balenaEtcher) ditindakake ing sistem operasi Ubuntu 18.04.
  • Sistem operasi sing perakitan aku diowahi yaiku versi desktop mate Ubuntu 18.04.3.
  • Mesin sing kudu digunakake kanggo sistem sing dipasang yaiku ODROID-C2.

Nyiyapake gambar

  1. Ngundhuh gambar Ubuntu kanggo ODROID saka situs resmi

  2. Mbukak arsip

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

  3. Nggawe direktori ing ngendi kita bakal masang gambar kasebut

    mkdir mnt

  4. Nemtokake partisi ing ngendi sistem file dumunung

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

    We are looking for partisi karo sistem file ing ext2, ext3 utawa ext4 format. Kita butuh alamat wiwitan bagean (disorot abang ing layar):

    Nginstal ROS ing gambar Ubuntu IMG kanggo papan siji

    Wigati. Lokasi sistem file uga bisa dideleng nggunakake sarana pisah.

  5. Pasang gambar

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

    Bagean sing kita butuhake diwiwiti kanthi blok 264192 (nomer sampeyan bisa uga beda-beda), ukuran siji blok yaiku 512 bait, tikelake kanggo entuk indentasi ing bita.

  6. Pindhah menyang folder kanthi sistem sing dipasang lan nyumerepi ing kono

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

    ~/livecd/mnt - path lengkap menyang direktori karo sistem dipasang
    bin / sh - cangkang (uga bisa diganti karo bin / bash)
    Saiki sampeyan bisa miwiti nginstal paket lan aplikasi sing dibutuhake.

Nginstal ROS

Aku diinstal versi paling anyar saka ROS (ROS Melodic) miturut tutorial resmi.

  1. Nganyari dhaptar paket

    sudo apt-get update

    Iki ngendi aku entuk kesalahan:

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

    Iki amarga kasunyatan manawa kunci tandha paket wis kadaluwarsa. Kanggo nganyari tombol, ketik:

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

  2. Nyiyapake sistem kanggo nginstal 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. Nginstal ROS
    Sayange, aku ora bisa nginstal versi desktop ROS, mula aku mung nginstal paket dhasar:

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

    Cathetan 1. Sajrone proses instalasi kadhangkala ana kesalahan:

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

    Iki didandani kanthi ngresiki cache nggunakake utilitas apt:

    sudo apt-get clean; sudo apt-get autoclean

    Cathetan 2. Sawise instalasi, sumber nggunakake printah:

    source /opt/ros/melodic/setup.bash

    ora bakal bisa, amarga Kita ora mbukak bash, dadi ora perlu diketik ing terminal.

  4. Nginstal dependensi sing dibutuhake

    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. Nyetel hak akses
    Amarga kita wis mlebu lan, nyatane, nindakake kabeh tumindak atas jenenge oyot sistem sing dirakit, ROS mung bakal diluncurake kanthi hak superuser.
    Nalika nyoba mbukak roscore tanpa sudo, ana kesalahan:

    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'

    Kanggo nyegah kesalahan, ayo ngganti hak akses menyang direktori ngarep pangguna ROS kanthi rekursif. Kanggo nindakake iki, kita ngetik:

    sudo rosdep fix-permissions

  6. Instalasi tambahan saka rviz lan rqt paket

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

Tutul pungkasan

  1. metu saka chroot:
    exit
  2. Copot gambar kasebut
    cd ..
    sudo umount mnt/
  3. Ayo ngemas gambar sistem menyang arsip
    xz –ckv1 <Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π°>

Kabeh! Saiki kanthi bantuan balenaetcher sampeyan bisa ngobong gambar sistem menyang kertu SD, masang menyang ODROID-C2, lan sampeyan bakal duwe Ubuntu karo ROS diinstal!

Cathetan:

  • Video iki mbantu akeh babagan carane ngapusi ing Linux lan kenapa sampeyan butuh:



Source: www.habr.com

Add a comment