ஒற்றை பலகைக்கான உபுண்டு IMG படத்தில் ROS ஐ நிறுவுதல்

அறிமுகம்

மறுநாள், எனது ஆய்வறிக்கையில் பணிபுரியும் போது, ​​ஏற்கனவே நிறுவப்பட்ட ROS உடன் ஒரு ஒற்றை-பலகை இயங்குதளத்திற்கான உபுண்டு படத்தை உருவாக்க வேண்டிய அவசியத்தை நான் எதிர்கொண்டேன் (ரோபோ இயக்க முறைமை - ரோபோ இயக்க முறைமை) சுருக்கமாக, டிப்ளமோ ரோபோக்களின் குழுவை நிர்வகிப்பதற்கு அர்ப்பணிக்கப்பட்டுள்ளது. ரோபோக்களில் இரண்டு சக்கரங்கள் மற்றும் மூன்று ரேஞ்ச்ஃபைண்டர்கள் பொருத்தப்பட்டுள்ளன. முழு விஷயமும் ODROID-C2 போர்டில் இயங்கும் ROS இலிருந்து கட்டுப்படுத்தப்படுகிறது.

ஒற்றை பலகைக்கான உபுண்டு IMG படத்தில் ROS ஐ நிறுவுதல்
ரோபோ லேடிபக். மோசமான புகைப்படத் தரத்திற்கு மன்னிக்கவும்

ஒவ்வொரு ரோபோவிலும் தனித்தனியாக ROS ஐ நிறுவ நேரமோ விருப்பமோ இல்லை, எனவே ஏற்கனவே நிறுவப்பட்ட ROS உடன் ஒரு கணினி படம் தேவைப்பட்டது. இணையத்தில் உலாவும் பிறகு, இதை எப்படிச் செய்யலாம் என்பதற்கான பல அணுகுமுறைகளைக் கண்டேன்.
பொதுவாக, காணப்படும் அனைத்து தீர்வுகளையும் பின்வரும் குழுக்களாக பிரிக்கலாம்.

  1. ஆயத்த மற்றும் உள்ளமைக்கப்பட்ட அமைப்பிலிருந்து ஒரு படத்தை உருவாக்கும் நிரல்கள் (டிஸ்ட்ரோஷேர் உபுண்டு இமேஜர், லினக்ஸ் லைவ் கிட், லினக்ஸ் ரெஸ்பின், சிஸ்டம்பேக், முதலியன)
  2. உங்கள் சொந்த படத்தை உருவாக்க உங்களை அனுமதிக்கும் திட்டங்கள் (யோக்டோ, புதிதாக லினக்ஸ்)
  3. படத்தை நீங்களே அசெம்பிள் செய்தல் (நேரடி CD தனிப்பயனாக்கம் и ரஷ்ய சமமான, ஒரு கூட்டல் ஹப்ரே பற்றிய கட்டுரை)

முதல் குழுவின் தீர்வுகளைப் பயன்படுத்துவது எளிமையான மற்றும் மிகவும் கவர்ச்சிகரமான விருப்பமாகத் தோன்றியது, ஆனால் ODROID க்காக ஒரு நேரடி கணினி படத்தை என்னால் உருவாக்க முடியவில்லை. இரண்டாவது குழுவின் தீர்வுகளும் மிகவும் உயர்ந்த நுழைவு வாசல் காரணமாக எனக்குப் பொருந்தவில்லை. கிடைக்கக்கூடிய பயிற்சிகளின்படி கைமுறையாக அசெம்பிளி செய்வதும் பொருந்தாது, ஏனென்றால்... எனது படத்தில் சுருக்கப்பட்ட கோப்பு முறைமை இல்லை.
இதன் விளைவாக, chroot பற்றிய ஒரு வீடியோவைப் பார்த்தேன் (chroot - ரூட் மாற்று, இடுகையின் முடிவில் வீடியோவிற்கான இணைப்பு) மற்றும் அதன் திறன்கள், அதைப் பயன்படுத்த முடிவு செய்யப்பட்டது. அடுத்து, ரோபாட்டிக்ஸ் டெவலப்பர்களுக்காக உபுண்டுவைத் தனிப்பயனாக்குவதற்கான எனது குறிப்பிட்ட வழக்கை விவரிக்கிறேன்.

பின்னணி:

  • உபுண்டு 18.04 ஆப்பரேட்டிங் சிஸ்டத்தில் முழு பட மாற்ற செயல்முறையும் (SD கார்டில் எழுதுவதைத் தவிர balenaEtcher ஐப் பயன்படுத்தி) செய்யப்பட்டது.
  • உபுண்டு 18.04.3 மேட் டெஸ்க்டாப் பதிப்பு நான் மாற்றியமைத்த இயக்க முறைமை.
  • கூடியிருந்த அமைப்பு வேலை செய்ய வேண்டிய இயந்திரம் 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 - ஏற்றப்பட்ட அமைப்புடன் கோப்பகத்திற்கான முழு பாதை
    bin/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

    அது வேலை செய்யாது, ஏனெனில் நாங்கள் பாஷை இயக்கவில்லை, எனவே அதை டெர்மினலில் தட்டச்சு செய்ய வேண்டியதில்லை.

  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 தொடங்கப்படும்.
    சூடோ இல்லாமல் ரோஸ்கோரை இயக்க முயற்சிக்கும்போது, ​​ஒரு பிழை ஏற்படுகிறது:

    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 உடன் உபுண்டு நிறுவப்பட்டிருக்கும்!

மேற்கோள்கள்:

  • லினக்ஸில் எப்படி ஏமாற்றுவது மற்றும் உங்களுக்கு இது ஏன் தேவை என்பதை அறிய இந்த வீடியோ பெரிதும் உதவியது:



ஆதாரம்: www.habr.com

கருத்தைச் சேர்