ื”ืชืงื ืช ROS ื‘ืชืžื•ื ืช ืื•ื‘ื•ื ื˜ื• IMG ืขื‘ื•ืจ ืœื•ื— ื™ื—ื™ื“

ืžื‘ื•ื

ืœืคื ื™ ื›ืžื” ื™ืžื™ื, ื‘ื–ืžืŸ ืฉืขื‘ื“ืชื™ ืขืœ ื”ืชื–ื” ืฉืœื™, ืขืžื“ืชื™ ื‘ืคื ื™ ื”ืฆื•ืจืš ืœื™ืฆื•ืจ ืชืžื•ื ืช ืื•ื‘ื•ื ื˜ื• ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื•ื— ื™ื—ื™ื“ ืขื ROS ื›ื‘ืจ ืžื•ืชืงืŸ (ืจื•ื‘ื•ื˜ ื”ืคืขืœื” - ืžืขืจื›ืช ื”ืคืขืœื” ืจื•ื‘ื•ื˜). ื‘ืงื™ืฆื•ืจ, ื”ืชืขื•ื“ื” ืžื•ืงื“ืฉืช ืœื ื™ื”ื•ืœ ืงื‘ื•ืฆืช ืจื•ื‘ื•ื˜ื™ื. ื”ืจื•ื‘ื•ื˜ื™ื ืžืฆื•ื™ื“ื™ื ื‘ืฉื ื™ ื’ืœื’ืœื™ื ื•ืฉืœื•ืฉื” ืžื“ื“ื™ ื˜ื•ื•ื—. ื›ืœ ื”ืขื ื™ื™ืŸ ื ืฉืœื˜ ืž-ROS, ืฉืคื•ืขืœ ืขืœ ืœื•ื— ื”-ODROID-C2.

ื”ืชืงื ืช ROS ื‘ืชืžื•ื ืช ืื•ื‘ื•ื ื˜ื• IMG ืขื‘ื•ืจ ืœื•ื— ื™ื—ื™ื“
ืจื•ื‘ื•ื˜ ืคืจืช ืžืฉื” ืจื‘ื ื•. ืกืœื™ื—ื” ืขืœ ืื™ื›ื•ืช ื”ืฆื™ืœื•ื ื”ื™ืจื•ื“ื”

ืœื ื”ื™ื” ื–ืžืŸ ื•ืœื ืจืฆื•ืŸ ืœื”ืชืงื™ืŸ ROS ืขืœ ื›ืœ ืจื•ื‘ื•ื˜ ื‘ื ืคืจื“, ื•ืœื›ืŸ ื”ื™ื” ืฆื•ืจืš ื‘ืชืžื•ื ืช ืžืขืจื›ืช ืขื ROS ื›ื‘ืจ ืžื•ืชืงืŸ. ืœืื—ืจ ื’ืœื™ืฉื” ื‘ืื™ื ื˜ืจื ื˜, ืžืฆืืชื™ ืžืกืคืจ ื’ื™ืฉื•ืช ื›ื™ืฆื“ ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช.
ื‘ืื•ืคืŸ ื›ืœืœื™, ื ื™ืชืŸ ืœื—ืœืง ืืช ื›ืœ ื”ืคืชืจื•ื ื•ืช ืฉื ืžืฆืื• ืœืงื‘ื•ืฆื•ืช ื”ื‘ืื•ืช.

  1. ืชื•ื›ื ื™ื•ืช ื”ื™ื•ืฆืจื•ืช ืชืžื•ื ื” ืžืžืขืจื›ืช ืžื•ื›ื ื” ื•ืžื•ื’ื“ืจืช (Distroshare ืื•ื‘ื•ื ื˜ื• Imager, ืขืจื›ืช ืœื™ื ื•ืงืก ื—ื™ื”, linux respin, systemback ื•ื›ื•')
  2. ืคืจื•ื™ืงื˜ื™ื ื”ืžืืคืฉืจื™ื ืœืš ืœื™ืฆื•ืจ ืชืžื•ื ื” ืžืฉืœืš (ื™ื•ืงื˜ื•, ืœื™ื ื•ืงืก ืžืืคืก)
  3. ื”ืจื›ื‘ืช ื”ืชืžื•ื ื” ื‘ืขืฆืžืš (ื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ืชืงืœื™ื˜ื•ืจ ื—ื™ ะธ ืžืงื‘ื™ืœื” ืจื•ืกื™ืช, ื™ืชืจื•ืŸ ืžืืžืจ ืขืœ Habrรฉ)

ื”ืฉื™ืžื•ืฉ ื‘ืคืชืจื•ื ื•ืช ืžื”ืงื‘ื•ืฆื” ื”ืจืืฉื•ื ื” ื ืจืื” ื”ื™ื” ื”ืืคืฉืจื•ืช ื”ืคืฉื•ื˜ื” ื•ื”ืื˜ืจืงื˜ื™ื‘ื™ืช ื‘ื™ื•ืชืจ, ืืš ืžืขื•ืœื ืœื ื”ืฆืœื—ืชื™ ืœื™ืฆื•ืจ ืชืžื•ื ืช ืžืขืจื›ืช ื—ื™ื” ืขื‘ื•ืจ ODROID. ื’ื ื”ืคืชืจื•ื ื•ืช ืฉืœ ื”ืงื‘ื•ืฆื” ื”ืฉื ื™ื™ื” ืœื ื”ืชืื™ืžื• ืœื™ ื‘ื’ืœืœ ืกืฃ ื”ื›ื ื™ืกื” ื”ื’ื‘ื•ื” ืœืžื“ื™. ื’ื ื”ืจื›ื‘ื” ื™ื“ื ื™ืช ืœืคื™ ื”ื”ื“ืจื›ื•ืช ื”ื–ืžื™ื ื•ืช ืœื ื”ืชืื™ืžื”, ื›ื™... ืœืชืžื•ื ื” ืฉืœื™ ืœื ื”ื™ื™ืชื” ืžืขืจื›ืช ืงื‘ืฆื™ื ื“ื—ื•ืกื”.
ื›ืชื•ืฆืื” ืžื›ืš, ื ืชืงืœืชื™ ื‘ืกืจื˜ื•ืŸ ืขืœ chroot (chroot - ืœืฉื ื•ืช ืฉื•ืจืฉ, ืงื™ืฉื•ืจ ืœืกืจื˜ื•ืŸ ื‘ืกื•ืฃ ื”ืคื•ืกื˜) ื•ื”ื™ื›ื•ืœื•ืช ืฉืœื•, ื”ื•ื—ืœื˜ ืœื”ืฉืชืžืฉ ื‘ื•. ืœืื—ืจ ืžื›ืŸ, ืืชืืจ ืืช ื”ืžืงืจื” ื”ืกืคืฆื™ืคื™ ืฉืœื™ ืฉืœ ื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ืื•ื‘ื•ื ื˜ื• ืœืžืคืชื—ื™ ืจื•ื‘ื•ื˜ื™ืงื”.

ื ืชื•ื ื™ื ืจืืฉื•ื ื™ื™ื:

  • ื›ืœ ืชื”ืœื™ืš ืฉื™ื ื•ื™ ื”ืชืžื•ื ื” (ืœืžืขื˜ ื›ืชื™ื‘ื” ืœื›ืจื˜ื™ืก SD ื‘ืืžืฆืขื•ืช balenaEtcher) ื‘ื•ืฆืข ืขืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” Ubuntu 18.04.
  • ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉืืช ื”ืžื›ืœื•ืœ ืฉืœื” ืฉื™ื ื™ืชื™ ื”ื™ื ื’ืจืกืช ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื” ืฉืœ ืื•ื‘ื•ื ื˜ื• 18.04.3 mate.
  • ื”ืžื›ื•ื ื” ืฉืขืœื™ื” ืืžื•ืจื” ืœืขื‘ื•ื“ ื”ืžืขืจื›ืช ื”ืžื•ืจื›ื‘ืช ื”ื™ื ODROID-C2.

ื”ื›ื ืช ื”ืชืžื•ื ื”

  1. ื”ื•ืจื“ ืืช ืชืžื•ื ืช ืื•ื‘ื•ื ื˜ื• ืขื‘ื•ืจ ODROID ืž ืืชืจ ืจืฉืžื™

  2. ืžืคืจืงื™ื ืืช ื”ืืจื›ื™ื•ืŸ

    unxz โ€“kv <ั„ะฐะนะป ะฐั€ั…ะธะฒะฐ ั ะพะฑั€ะฐะทะพะผ>

  3. ืฆื•ืจ ืกืคืจื™ื™ื” ื‘ื” ื ืขืœื” ืืช ื”ืชืžื•ื ื”

    mkdir mnt

  4. ืงื‘ืข ืืช ื”ืžื—ื™ืฆื” ืฉื‘ื” ืžืžื•ืงืžืช ืžืขืจื›ืช ื”ืงื‘ืฆื™ื

    file <ั„ะฐะนะป ะพะฑั€ะฐะทะฐ>

    ืื ื• ืžื—ืคืฉื™ื ืžื—ื™ืฆื” ืขื ืžืขืจื›ืช ืงื‘ืฆื™ื ื‘ืคื•ืจืžื˜ ext2, ext3 ืื• ext4. ืื ื—ื ื• ืฆืจื™ื›ื™ื ืืช ื”ื›ืชื•ื‘ืช ืฉืœ ืชื—ื™ืœืช ื”ืงื˜ืข (ืžื•ื“ื’ืฉืช ื‘ืื“ื•ื ืขืœ ื”ืžืกืš):

    ื”ืชืงื ืช ROS ื‘ืชืžื•ื ืช ืื•ื‘ื•ื ื˜ื• IMG ืขื‘ื•ืจ ืœื•ื— ื™ื—ื™ื“

    ื”ืขืจื”. ื ื™ืชืŸ ืœืจืื•ืช ืืช ื”ืžื™ืงื•ื ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื ื’ื ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช ื ืคืจื“.

  5. ื”ืจื›ื‘ืช ื”ืชืžื•ื ื”

    sudo mount -o loop,offset=$((264192*512)) <ั„ะฐะนะป ั ะพะฑั€ะฐะทะพะผ> mnt/

    ื”ืงื˜ืข ืฉืื ื• ืฆืจื™ื›ื™ื ืžืชื—ื™ืœ ื‘ื‘ืœื•ืง 264192 (ื”ืžืกืคืจื™ื ืฉืœืš ืขืฉื•ื™ื™ื ืœื”ื™ื•ืช ืฉื•ื ื™ื), ื”ื’ื•ื“ืœ ืฉืœ ื‘ืœื•ืง ืื—ื“ ื”ื•ื 512 ื‘ืชื™ื, ื”ื›ืคืœ ืื•ืชื ื›ื“ื™ ืœืงื‘ืœ ืืช ื”ื”ื–ื—ื” ื‘ื‘ืชื™ื.

  6. ืขื‘ื•ืจ ืืœ ื”ืชื™ืงื™ื” ืขื ื”ืžืขืจื›ืช ื”ืžื•ืชืงื ืช ื•ื”ืกืชื•ื‘ื‘ ื‘ื”

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

    ~/livecd/mnt - ื ืชื™ื‘ ืžืœื ืœืกืคืจื™ื™ื” ืขื ื”ืžืขืจื›ืช ื”ืžื•ืชืงื ืช
    bin/sh - ืžืขื˜ืคืช (ื ื™ืชืŸ ื’ื ืœื”ื—ืœื™ืฃ ื‘ 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

    ื–ื” ืชื•ืงืŸ ืขืœ ื™ื“ื™ ื ื™ืงื•ื™ ื”ืžื˜ืžื•ืŸ ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช apt:

    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 ื™ื•ืคืขืœ ืจืง ืขื ื–ื›ื•ื™ื•ืช ืžืฉืชืžืฉ-ืขืœ.
    ื›ืืฉืจ ืžื ืกื™ื ืœื”ืคืขื™ืœ roscore ืœืœื sudo, ืžืชืจื—ืฉืช ืฉื’ื™ืื”:

    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 ืžื•ืชืงืŸ!

ืงื™ืฉื•ืจื™ื:

  • ื”ืกืจื˜ื•ืŸ ื”ื–ื” ืขื–ืจ ืจื‘ื•ืช ื›ื™ืฆื“ ืœืจืžื•ืช ื‘ืœื™ื ื•ืงืก ื•ืœืžื” ืืชื” ืฆืจื™ืš ืืช ื–ื”:



ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”