තනි පුවරුව සඳහා උබුන්ටු IMG රූපයක ROS ස්ථාපනය කිරීම

හැඳින්වීම

පසුගිය දිනක, මගේ නිබන්ධනයේ වැඩ කරමින් සිටියදී, දැනටමත් ස්ථාපනය කර ඇති ROS සහිත තනි පුවරු වේදිකාවක් සඳහා උබුන්ටු රූපයක් නිර්මාණය කිරීමේ අවශ්‍යතාවයට මට මුහුණ දීමට සිදු විය (රොබෝ මෙහෙයුම් පද්ධතිය - රොබෝ මෙහෙයුම් පද්ධතිය) කෙටියෙන් කිවහොත්, ඩිප්ලෝමාව රොබෝවරු කණ්ඩායමක් කළමනාකරණය කිරීමට කැපවී ඇත. රොබෝවරු රෝද දෙකකින් සහ රේන්ජ්ෆයින්ඩර් තුනකින් සමන්විතය. ODROID-C2 පුවරුවේ ක්‍රියාත්මක වන ROS වෙතින් සම්පූර්ණ දෙය පාලනය වේ.

තනි පුවරුව සඳහා උබුන්ටු IMG රූපයක ROS ස්ථාපනය කිරීම
රොබෝ ලේඩි බග්. දුර්වල ඡායාරූපයේ ගුණාත්මක භාවය ගැන කණගාටුයි

එක් එක් රොබෝව මත තනි තනිව ROS ස්ථාපනය කිරීමට කාලය හෝ ආශාවක් නොතිබූ අතර, එබැවින් දැනටමත් ස්ථාපනය කර ඇති ROS සහිත පද්ධති රූපයක් අවශ්‍ය විය. අන්තර්ජාලය පිරික්සීමෙන් පසු, මෙය කළ හැකි ආකාරය පිළිබඳ ප්රවේශයන් කිහිපයක් මම සොයාගත්තා.
පොදුවේ ගත් කල, සොයාගත් සියලුම විසඳුම් පහත දැක්වෙන කණ්ඩායම් වලට බෙදිය හැකිය.

  1. සූදානම් කළ සහ වින්‍යාසගත පද්ධතියකින් රූපයක් නිර්මාණය කරන වැඩසටහන් (ඩිස්ට්‍රොෂෙයාර් උබුන්ටු ඉමේජර්, linux සජීවී කට්ටලය, linux respin, systemback, etc.)
  2. ඔබේම රූපයක් නිර්මාණය කිරීමට ඔබට ඉඩ සලසන ව්යාපෘති (yocto, මුල සිට linux)
  3. රූපය ඔබම එකලස් කිරීම (සජීවී CD අභිරුචිකරණය и රුසියානු සමාන, ප්ලස් Habré පිළිබඳ ලිපිය)

පළමු කණ්ඩායමෙන් විසඳුම් භාවිතා කිරීම සරලම හා වඩාත්ම ආකර්ෂණීය විකල්පය ලෙස පෙනුනද, ODROID සඳහා සජීවී පද්ධති රූපයක් නිර්මාණය කිරීමට මට කිසිදා නොහැකි විය. තරමක් ඉහළ ඇතුල්වීමේ සීමාව නිසා දෙවන කණ්ඩායමේ විසඳුම් ද මට නොගැලපේ. පවතින නිබන්ධනවලට අනුව අතින් එකලස් කිරීම ද සුදුසු නොවීය, මන්ද ... මගේ රූපයේ සම්පීඩිත ගොනු පද්ධතියක් නොතිබුණි.
එහි ප්‍රතිඵලයක් ලෙස මට chroot ගැන වීඩියෝවක් හමු විය (chroot - root වෙනස් කරන්න, පෝස්ට් අවසානයේ වීඩියෝව වෙත සබැඳිය) සහ එහි හැකියාවන්, එය භාවිතා කිරීමට තීරණය විය. ඊළඟට, මම රොබෝ විද්‍යා සංවර්ධකයින් සඳහා උබුන්ටු අභිරුචිකරණය කිරීමේ මගේ විශේෂිත අවස්ථාව විස්තර කරමි.

මූලික දත්ත:

  • සම්පූර්ණ රූප වෙනස් කිරීමේ ක්‍රියාවලිය (balenaEtcher භාවිතයෙන් SD කාඩ්පතට ලිවීම හැර) Ubuntu 18.04 මෙහෙයුම් පද්ධතිය මත සිදු කරන ලදී.
  • මම එකලස් කරන ලද මෙහෙයුම් පද්ධතිය Ubuntu 18.04.3 mate desktop අනුවාදයයි.
  • එකලස් කරන ලද පද්ධතිය වැඩ කළ යුතු යන්ත්රය ODROID-C2 වේ.

රූපය සකස් කිරීම

  1. ODROID සඳහා උබුන්ටු රූපය බාගන්න නිල වෙබ් අඩවිය

  2. සංරක්ෂිතය ඉවත් කිරීම

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

  3. අපි රූපය සවි කරන නාමාවලියක් සාදන්න

    mkdir mnt

  4. ගොනු පද්ධතිය පිහිටා ඇති කොටස තීරණය කරන්න

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

    අපි ext2, ext3 හෝ ext4 ආකෘතියෙන් ගොනු පද්ධතියක් සහිත කොටසක් සොයමින් සිටිමු. අපට කොටසේ ආරම්භයේ ලිපිනය අවශ්‍ය වේ (තිරයේ රතු පැහැයෙන් උද්දීපනය කර ඇත):

    තනි පුවරුව සඳහා උබුන්ටු IMG රූපයක ROS ස්ථාපනය කිරීම

    සටහන: ගොනු පද්ධතියේ පිහිටීම ද උපයෝගීතාව භාවිතයෙන් නැරඹිය හැකිය වෙන් විය.

  5. රූපය සවි කිරීම

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

    අපට අවශ්‍ය කොටස ආරම්භ වන්නේ බ්ලොක් 264192 (ඔබේ සංඛ්‍යා වෙනස් විය හැක), එක් බ්ලොක් එකක ප්‍රමාණය බයිට් 512 කි, බයිට් වලින් ඉන්ඩෙන්ටේෂන් ලබා ගැනීමට ඒවා ගුණ කරන්න.

  6. සවිකර ඇති පද්ධතිය සහිත ෆෝල්ඩරය වෙත ගොස් එය තුළ රැඳී සිටින්න

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

    ~/livecd/mnt - සවිකර ඇති පද්ධතිය සමඟ ඩිරෙක්ටරිය වෙත සම්පූර්ණ මාර්ගය
    බින් / sh - කවචය (ආදේශ කළ හැකිය බින්/බෂ්)
    දැන් ඔබට අවශ්‍ය පැකේජ සහ යෙදුම් ස්ථාපනය කිරීම ආරම්භ කළ හැකිය.

ROS ස්ථාපනය කිරීම

මම අනුව ROS (ROS Melodic) නවතම අනුවාදය ස්ථාපනය කළා නිල නිබන්ධනය.

  1. පැකේජ ලැයිස්තුව යාවත්කාලීන කිරීම

    sudo apt-get update

    මට වැරදුන තැන මෙන්න:

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

    මෙයට හේතුව පැකේජ අත්සන් කිරීමේ යතුර කල් ඉකුත් වී තිබීමයි. යතුරු යාවත්කාලීන කිරීමට, ටයිප් කරන්න:

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

  2. 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. ROS ස්ථාපනය කිරීම
    අවාසනාවකට, මට ROS හි ඩෙස්ක්ටොප් අනුවාදය ස්ථාපනය කිරීමට නොහැකි විය, එබැවින් මම මූලික පැකේජ පමණක් ස්ථාපනය කළෙමි:

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

    සටහන 1. ස්ථාපන ක්රියාවලියේදී සමහර විට දෝෂයක් ඇති විය:

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

    සුදුසු උපයෝගීතාව භාවිතයෙන් හැඹිලිය ඉවත් කිරීමෙන් එය සවි කර ඇත:

    sudo apt-get clean; sudo apt-get autoclean

    සටහන 2. ස්ථාපනය කිරීමෙන් පසු, විධානය භාවිතා කරමින් මූලාශ්රය:

    source /opt/ros/melodic/setup.bash

    එය ක්රියා නොකරනු ඇත, මන්ද අපි bash ධාවනය කළේ නැත, එබැවින් එය ටර්මිනලයේ ටයිප් කිරීමට අවශ්‍ය නොවේ.

  4. අවශ්ය පරායත්තයන් ස්ථාපනය කිරීම

    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. ප්රවේශ අයිතිවාසිකම් සැකසීම
    අප ප්‍රවිෂ්ට වී ඇති බැවින් සහ ඇත්ත වශයෙන්ම, එකලස් කර ඇති පද්ධතියේ මූලය වෙනුවෙන් සියලුම ක්‍රියා සිදු කරන බැවින්, ROS දියත් කරනු ලබන්නේ සුපිරි පරිශීලක අයිතිවාසිකම් සමඟ පමණි.
    sudo නොමැතිව roscore ධාවනය කිරීමට උත්සාහ කරන විට, දෝෂයක් සිදු වේ:

    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'

    දෝෂය ඇතිවීම වැලැක්වීම සඳහා, ROS පරිශීලකයාගේ මුල් නාමාවලිය වෙත ප්‍රවේශ හිමිකම් පුනරාවර්තන ලෙස වෙනස් කරමු. මෙය සිදු කිරීම සඳහා අපි ටයිප් කරන්න:

    sudo rosdep fix-permissions

  6. rviz සහ rqt පැකේජවල අතිරේක ස්ථාපනය

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

අවසාන ස්පර්ශයන්

  1. chroot පිටවීම:
    exit
  2. රූපය ඉවත් කරන්න
    cd ..
    sudo umount mnt/
  3. අපි පද්ධති රූපය සංරක්ෂිතයකට ඇසුරුම් කරමු
    xz –ckv1 <файл образа>

සෑම! දැන් උදව්වෙන් බැලෙනා එචර් ඔබට පද්ධති රූපය SD පතකට පුළුස්සා, එය ODROID-C2 වෙත ඇතුළු කළ හැකිය, එවිට ඔබට ROS සමඟ උබුන්ටු ස්ථාපනය කර ඇත!

ආශ්රිත:

  • මෙම වීඩියෝව Linux හි වංචා කරන්නේ කෙසේද සහ ඔබට එය අවශ්‍ය වන්නේ ඇයිද යන්න පිළිබඳව බොහෝ සෙයින් උපකාරී විය:



මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න