Enstale ROS nan yon imaj Ubuntu IMG pou yon sèl tablo

Entwodiksyon

Lòt jou a, pandan m ap travay sou tèz mwen an, mwen te fè fas ak nesesite pou kreye yon imaj Ubuntu pou yon platfòm yon sèl tablo ak ROS deja enstale (Robot Operating System - sistèm operasyon robo). Nan ti bout tan, diplòm nan konsakre nan jere yon gwoup robo. Robo yo ekipe ak de wou ak twa telemètr. Tout bagay la kontwole soti nan ROS, ki kouri sou tablo a ODROID-C2.

Enstale ROS nan yon imaj Ubuntu IMG pou yon sèl tablo
Jwèt Robo koksinèl. Padon pou bon jan kalite foto a pòv

Pa te gen ni tan ni dezi yo enstale ROS sou chak robo endividyèlman, ak Se poutèt sa te gen yon bezwen pou yon imaj sistèm ak ROS deja enstale. Apre navige sou Entènèt la, mwen te jwenn plizyè apwòch nan fason sa a ta ka fè.
An jeneral, tout solisyon yo jwenn yo ka divize an gwoup sa yo.

  1. Pwogram ki kreye yon imaj ki soti nan yon sistèm pare ak konfigirasyon (Distroshare Ubuntu Imager, Linux Live kit, linux respin, systemback, elatriye)
  2. Pwojè ki pèmèt ou kreye pwòp imaj ou (yokto, linux soti nan grafouyen)
  3. Rasanble imaj la tèt ou (viv CD personnalisation и ekivalan Ris, yon plis atik sou Habré)

Sèvi ak solisyon ki soti nan premye gwoup la te sanble opsyon ki pi senp ak pi atiran, men mwen pa t janm kapab kreye yon imaj sistèm ap viv pou ODROID. Solisyon yo nan dezyèm gwoup la tou pa te kostim mwen akòz papòt la antre jistis segondè. Manyèl asanble selon leson patikilye ki disponib yo pa t 'tou apwopriye, paske... Imaj mwen an pa t gen yon sistèm dosye konprese.
Kòm rezilta, mwen te rankontre yon videyo sou chroot (chroot - chanje rasin, lyen nan videyo a nan fen pòs la) ak kapasite li yo, li te deside sèvi ak li. Apre sa, mwen pral dekri ka patikilye mwen an nan pèrsonalizasyon Ubuntu pou devlopè robotik.

Done inisyal:

  • Tout pwosesis modifikasyon imaj la (eksepte pou ekri sou kat SD la lè l sèvi avèk balenaEtcher) te fèt sou sistèm operasyon Ubuntu 18.04.
  • Sistèm operasyon ki gen asanble mwen modifye se Ubuntu 18.04.3 mate Desktop vèsyon.
  • Machin nan ki sistèm reyini ta dwe travay la se ODROID-C2.

Prepare imaj la

  1. Telechaje imaj Ubuntu pou ODROID soti sit ofisyèl

  2. Déballage achiv la

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

  3. Kreye yon anyè kote nou pral monte imaj la

    mkdir mnt

  4. Detèmine patisyon an kote sistèm dosye a ye

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

    Nou ap chèche yon patisyon ak yon sistèm fichye nan fòma ext2, ext3 oswa ext4. Nou bezwen adrès kòmansman seksyon an (akliye an wouj sou ekran an):

    Enstale ROS nan yon imaj Ubuntu IMG pou yon sèl tablo

    Note. Ou ka wè kote sistèm dosye a tou lè l sèvi avèk sèvis piblik la separe.

  5. Monte imaj la

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

    Seksyon nou bezwen an kòmanse ak blòk 264192 (nimewo ou yo ka diferan), gwosè yon blòk se 512 octets, miltipliye yo pou jwenn indentation an byte.

  6. Ale nan katab la ak sistèm nan monte ak pann soti nan li

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

    ~/livecd/mnt — chemen konplè nan anyè a ak sistèm nan monte
    bin/sh - koki (kapab tou ranplase ak bin/bash)
    Koulye a, ou ka kòmanse enstale pakè ki nesesè yo ak aplikasyon yo.

Enstale ROS

Mwen enstale vèsyon an dènye nan ROS (ROS Melodic) dapre leson patikilye ofisyèl yo.

  1. Mete ajou lis pakè yo

    sudo apt-get update

    Sa a se kote mwen te resevwa erè a:

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

    Sa a se akòz lefèt ke kle a siyen pake a ekspire. Pou mete ajou kle yo, tape:

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

  2. Prepare sistèm lan pou enstale 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. Enstale ROS
    Malerezman, mwen pa t 'kapab enstale vèsyon an Desktop nan ROS, kidonk mwen enstale sèlman pakè debaz yo:

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

    Remak 1. Pandan pwosesis enstalasyon an pafwa gen yon erè:

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

    Li te fikse pa netwaye kachèt la lè l sèvi avèk sèvis piblik la apt:

    sudo apt-get clean; sudo apt-get autoclean

    Remak 2. Apre enstalasyon, sous itilize kòmandman an:

    source /opt/ros/melodic/setup.bash

    li p ap travay, paske Nou pa t 'kouri bash, kidonk li PA bezwen tape nan tèminal la.

  4. Enstale depandans ki nesesè yo

    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. Mete kanpe dwa aksè
    Depi nou konekte epi, an reyalite, fè tout aksyon sou non rasin nan sistèm ke yo te reyini, ROS yo pral sèlman lanse ak dwa superitilize.
    Lè w ap eseye kouri roscore san sudo, yon erè rive:

    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'

    Pou anpeche erè a rive, ann chanje dwa aksè nan anyè lakay itilizatè ROS la. Pou fè sa nou tape:

    sudo rosdep fix-permissions

  6. Enstalasyon adisyonèl nan pakè rviz ak rqt yo

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

Final manyen

  1. Sòti chroot:
    exit
  2. Demonte imaj la
    cd ..
    sudo umount mnt/
  3. Ann pake imaj sistèm lan nan yon achiv
    xz –ckv1 <файл образа>

Tout! Koulye a, avèk èd la balenaetcher ou ka boule imaj sistèm lan sou yon kat SD, mete l nan ODROID-C2, epi w ap gen Ubuntu ak ROS enstale!

Lyen:

  • Videyo sa a te ede anpil ak ki jan yo tronpe nan Linux ak poukisa ou bezwen li:



Sous: www.habr.com

Add nouvo kòmantè