Masang ROS dina gambar Ubuntu IMG pikeun papan tunggal

perkenalan

Dinten anu sanés, nalika damel skripsi kuring, kuring kedah ngadamel gambar Ubuntu pikeun platform papan tunggal sareng ROS parantos dipasang (Sistem Operasi Robot - sistem operasi robot). Pondokna, diploma dikhususkeun pikeun ngatur grup robot. Robot ieu dilengkepan roda dua sareng tilu rangefinder. Sakabeh hal ieu dikawasa ti naros, nu dijalankeun dina dewan ODROID-C2.

Masang ROS dina gambar Ubuntu IMG pikeun papan tunggal
Robot Kumbang. Hapunten pikeun kualitas poto goréng

Henteu aya waktos atanapi kahayang pikeun masang ROS dina unggal robot masing-masing, sareng ku kituna peryogi pikeun gambar sistem sareng ROS parantos dipasang. Saatos ngotéktak Internét, kuring mendakan sababaraha pendekatan kumaha ieu tiasa dilakukeun.
Sacara umum, sakabéh solusi kapanggih bisa dibagi kana grup handap.

  1. Program anu nyiptakeun gambar tina sistem anu siap-siap sareng dikonpigurasi (Distroshare Ubuntu Imager, kit hirup linux, linux respin, systemback, jsb.)
  2. Proyék anu ngamungkinkeun anjeun nyiptakeun gambar anjeun nyalira (yocto, linux ti mimiti)
  3. Ngumpulkeun gambar sorangan (kustomisasi CD live и sarimbag Rusia, tambah artikel ngeunaan Habré)

Ngagunakeun solusi ti grup munggaran seemed janten pilihan pangbasajanna tur paling pikaresepeun, tapi kuring pernah bisa nyieun gambar sistem hirup keur ODROID. Solusi kelompok kadua ogé henteu cocog sareng kuring kusabab ambang éntri anu cukup luhur. Majelis manual dumasar kana tutorial anu sayogi ogé henteu cocog, sabab ... Gambar kuring henteu ngagaduhan sistem file anu dikomprés.
Hasilna, kuring mendakan pidéo ngeunaan chroot (chroot - ngarobah akar, numbu ka pidéo dina tungtung tulisan) sareng kamampuanana, éta mutuskeun pikeun ngagunakeunana. Salajengna, kuring bakal ngajelaskeun kasus khusus kuring pikeun ngaropéa Ubuntu pikeun pamekar robotika.

Data awal:

  • Sakabéh prosés modifikasi gambar (iwal nulis ka kartu SD maké balenaEtcher) dipigawé dina sistem operasi Ubuntu 18.04.
  • Sistem operasi anu assembly kuring dirobah nyaéta Ubuntu 18.04.3 versi desktop mate.
  • Mesin dimana sistem anu dirakit kedah dianggo nyaéta ODROID-C2.

Nyiapkeun gambar

  1. Unduh gambar Ubuntu pikeun ODROID tina situs resmi

  2. Ngabongkar arsip

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

  3. Jieun diréktori dimana urang bakal masang gambar

    mkdir mnt

  4. Nangtukeun partisi dimana sistem file aya

    file <файл образа>

    Kami milarian partisi sareng sistem file dina format ext2, ext3 atanapi ext4. Urang peryogi alamat awal bagian (disorot beureum dina layar):

    Masang ROS dina gambar Ubuntu IMG pikeun papan tunggal

    Catetan. Lokasi sistem file ogé tiasa ditingali nganggo utilitas parted.

  5. Pamasangan gambar

    sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/

    Bagian anu urang peryogikeun dimimitian ku blok 264192 (angka anjeun tiasa bénten), ukuran hiji blok nyaéta 512 bait, kalikeun aranjeunna pikeun kéngingkeun indentation dina bait.

  6. Pindah ka polder sareng sistem anu dipasang sareng nongkrong di jerona

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

    ~/livecd/mnt - jalur pinuh ka diréktori kalawan sistem dipasang
    bin / sh - cangkang (bisa ogé diganti ku bin / bash)
    Ayeuna anjeun tiasa ngamimitian masang bungkusan sareng aplikasi anu diperyogikeun.

Pasang ROS

Kuring dipasang versi panganyarna tina naros (ros Melodic) nurutkeun tutorial resmi.

  1. Ngamutahirkeun daptar bungkusan

    sudo apt-get update

    Ieu dimana kuring ngagaduhan kasalahan:

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

    Ieu kusabab kanyataan yén konci tandatangan pakét parantos kadaluwarsa. Pikeun ngapdet konci, ketik:

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

  2. Nyiapkeun sistem pikeun masang 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. Pasang ROS
    Hanjakalna, kuring henteu tiasa masang versi desktop ROS, janten kuring ngan ukur masang bungkusan dasar:

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

    Catetan 1 Salila prosés instalasi kadang kasalahan lumangsung:

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

    Éta dibenerkeun ku ngabersihan cache nganggo utilitas apt:

    sudo apt-get clean; sudo apt-get autoclean

    Catetan 2 Saatos instalasi, sumber ngagunakeun paréntah:

    source /opt/ros/melodic/setup.bash

    eta moal jalan, sabab Kami henteu ngajalankeun bash, janten henteu kedah diketik dina terminal.

  4. Masang katergantungan anu diperyogikeun

    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. Nyetél hak aksés
    Kusabab kami asup sareng, kanyataanna, ngalaksanakeun sagala tindakan atas nama akar sistem anu dirakit, ROS ngan bakal diluncurkeun kalayan hak superuser.
    Nalika nyobian ngajalankeun roscore tanpa sudo, aya kasalahan:

    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'

    Pikeun nyegah kasalahan lumangsung, hayu urang recursively ngarobah hak aksés ka diréktori imah pamaké ROS. Jang ngalampahkeun ieu urang ngetik:

    sudo rosdep fix-permissions

  6. Pamasangan tambahan tina bungkusan rviz sareng rqt

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

némpél pamungkas

  1. Kaluar chroot:
    exit
  2. Unmount gambar
    cd ..
    sudo umount mnt/
  3. Hayu urang pak gambar sistem kana arsip
    xz –ckv1 <файл образа>

Sadayana! Ayeuna kalayan pitulung balenaetcher anjeun tiasa ngaduruk gambar sistem ka kartu SD, selapkeun kana ODROID-C2, tur anjeun bakal boga Ubuntu jeung naros dipasang!

Rujukan:

  • Pidéo ieu ngabantosan pisan kumaha cara curang dina Linux sareng kunaon anjeun peryogina:



sumber: www.habr.com

Tambahkeun komentar