سنگل بورڈ کے لیے Ubuntu IMG امیج میں ROS انسٹال کرنا

تعارف

دوسرے دن، اپنے تھیسس پر کام کرتے ہوئے، مجھے پہلے سے نصب ROS کے ساتھ سنگل بورڈ پلیٹ فارم کے لیے Ubuntu امیج بنانے کی ضرورت کا سامنا کرنا پڑا (روبوٹ آپریٹنگ سسٹم - روبوٹ آپریٹنگ سسٹم)۔ مختصر میں، ڈپلومہ روبوٹ کے ایک گروپ کو منظم کرنے کے لیے وقف ہے۔ روبوٹ دو پہیوں اور تین رینج فائنڈرز سے لیس ہیں۔ پوری چیز کو ROS سے کنٹرول کیا جاتا ہے، جو ODROID-C2 بورڈ پر چلتا ہے۔

سنگل بورڈ کے لیے Ubuntu IMG امیج میں ROS انسٹال کرنا
روبوٹ لیڈی بگ۔ ناقص تصویر کے معیار کے لیے معذرت

ہر روبوٹ پر انفرادی طور پر ROS انسٹال کرنے کا نہ تو وقت تھا اور نہ ہی خواہش، اور اس لیے پہلے سے نصب ROS کے ساتھ سسٹم امیج کی ضرورت تھی۔ انٹرنیٹ براؤز کرنے کے بعد، میں نے کئی طریقے تلاش کیے کہ یہ کیسے کیا جا سکتا ہے۔
عام طور پر، پائے جانے والے تمام حل کو درج ذیل گروپوں میں تقسیم کیا جا سکتا ہے۔

  1. ایسے پروگرام جو تیار شدہ اور ترتیب شدہ نظام سے تصویر بناتے ہیں (اوبرٹو امیجر کو تقسیم کریں, لینکس لائیو کٹ, لینکس ریسپن، سسٹم بیک، وغیرہ)
  2. پروجیکٹ جو آپ کو اپنی تصویر بنانے کی اجازت دیتے ہیں (یوکٹو, شروع سے لینکس)
  3. تصویر کو خود جمع کرنا (لائیو سی ڈی حسب ضرورت и روسی مساوی، ایک جمع Habré پر مضمون)

پہلے گروپ کے حل کا استعمال سب سے آسان اور پرکشش آپشن لگتا تھا، لیکن میں کبھی بھی ODROID کے لیے لائیو سسٹم امیج بنانے کے قابل نہیں تھا۔ دوسرے گروپ کے حل بھی کافی زیادہ داخلے کی حد کی وجہ سے میرے مطابق نہیں تھے۔ دستیاب ٹیوٹوریلز کے مطابق دستی اسمبلی بھی مناسب نہیں تھی، کیونکہ... میری تصویر میں کمپریسڈ فائل سسٹم نہیں تھا۔
نتیجے کے طور پر، میں نے chroot (chroot - جڑ کو تبدیل کریں۔، پوسٹ کے آخر میں ویڈیو کا لنک) اور اس کی صلاحیتوں کو استعمال کرنے کا فیصلہ کیا گیا۔ اگلا، میں روبوٹکس ڈویلپرز کے لیے Ubuntu کو حسب ضرورت بنانے کے اپنے خاص معاملے کی وضاحت کروں گا۔

ماخذ ڈیٹا:

  • تصویر میں ترمیم کا پورا عمل (سوائے balenaEtcher کا استعمال کرتے ہوئے SD کارڈ پر لکھنے کے) Ubuntu 18.04 آپریٹنگ سسٹم پر انجام دیا گیا تھا۔
  • آپریٹنگ سسٹم جس کی اسمبلی میں میں نے ترمیم کی ہے وہ اوبنٹو 18.04.3 میٹ ڈیسک ٹاپ ورژن ہے۔
  • وہ مشین جس پر اسمبل سسٹم کو کام کرنا چاہیے وہ ہے ODROID-C2۔

تصویر کی تیاری

  1. سے ODROID کے لیے Ubuntu امیج ڈاؤن لوڈ کریں۔ سرکاری ویب سائٹ

  2. آرکائیو کو پیک کھولنا

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

  3. ایک ڈائریکٹری بنائیں جس میں ہم امیج کو ماؤنٹ کریں گے۔

    mkdir mnt

  4. اس پارٹیشن کا تعین کریں جس پر فائل سسٹم واقع ہے۔

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

    ہم ext2، ext3 یا ext4 فارمیٹ میں فائل سسٹم کے ساتھ پارٹیشن تلاش کر رہے ہیں۔ ہمیں سیکشن کے آغاز کا پتہ درکار ہے (اسکرین پر سرخ رنگ میں نمایاں کیا گیا):

    سنگل بورڈ کے لیے Ubuntu IMG امیج میں ROS انسٹال کرنا

    نوٹ. یوٹیلیٹی کا استعمال کرتے ہوئے فائل سسٹم کی لوکیشن بھی دیکھی جا سکتی ہے۔ منقسم.

  5. تصویر لگانا

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

    ہمیں جس سیکشن کی ضرورت ہے وہ بلاک 264192 سے شروع ہوتا ہے (آپ کے نمبر مختلف ہو سکتے ہیں)، ایک بلاک کا سائز 512 بائٹس ہے، بائٹس میں انڈینٹیشن حاصل کرنے کے لیے ان کو ضرب دیں۔

  6. نصب شدہ سسٹم والے فولڈر میں جائیں اور اس میں ہینگ آؤٹ کریں۔

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

    ~/livecd/mnt - نصب نظام کے ساتھ ڈائریکٹری کا مکمل راستہ
    بن/ش - شیل (کے ساتھ بھی تبدیل کیا جا سکتا ہے bin/bash)
    اب آپ ضروری پیکجز اور ایپلیکیشنز کو انسٹال کرنا شروع کر سکتے ہیں۔

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 <файл образа>

سب! اب مدد کے ساتھ balenaetcher آپ سسٹم کی تصویر کو SD کارڈ میں جلا سکتے ہیں، اسے ODROID-C2 میں داخل کر سکتے ہیں، اور آپ کے پاس ROS کے ساتھ Ubuntu انسٹال ہوگا!

حوالہ جات:

  • اس ویڈیو نے لینکس میں دھوکہ دینے کا طریقہ اور آپ کو اس کی ضرورت کیوں ہے اس میں بہت مدد کی:



ماخذ: www.habr.com

نیا تبصرہ شامل کریں