Txhim kho ROS hauv Ubuntu IMG duab rau ib lub rooj tsavxwm

Taw qhia

Lwm hnub, thaum ua haujlwm ntawm kuv qhov thesis, kuv tau ntsib nrog qhov xav tau los tsim Ubuntu duab rau ib lub rooj tsavxwm nrog ROS twb tau teeb tsa (Robot Operating System - neeg hlau ua haujlwm). Nyob rau hauv luv luv, daim ntawv pov thawj yog mob siab rau tswj ib pab pawg neeg ntawm robots. Cov neeg hlau tau nruab nrog ob lub log thiab peb qhov ntsuas qhov ntsuas. Txhua yam yog tswj los ntawm ROS, uas khiav ntawm ODROID-C2 board.

Txhim kho ROS hauv Ubuntu IMG duab rau ib lub rooj tsavxwm
Neeg hlau Ladybug. Thov txim rau cov duab tsis zoo

Tsis muaj sij hawm los yog xav rau nruab ROS ntawm txhua tus neeg hlau ib tus zuj zus, thiab yog li ntawd yuav tsum muaj qhov xav tau rau lub kaw lus duab nrog ROS twb tau teeb tsa. Tom qab tshawb hauv Is Taws Nem, Kuv pom ob peb txoj hauv kev yuav ua li cas qhov no tuaj yeem ua tiav.
Feem ntau, tag nrho cov kev daws teeb meem pom tau muab faib ua pawg hauv qab no.

  1. Cov kev pab cuam uas tsim ib daim duab los ntawm ib tug npaj txhij-ua thiab configured system (Distroshare Ubuntu Imager, linux live kit, linux respin, systemback, thiab lwm yam)
  2. Tej yaam num uas tso cai rau koj los tsim koj tus kheej duab (yocto ua, linux los ntawm kos)
  3. Sib sau cov duab koj tus kheej (nyob CD customization ΠΈ Russia sib npaug, ib ntxiv tsab xov xwm ntawm Habre)

Siv cov kev daws teeb meem los ntawm thawj pab pawg zoo li yog qhov kev xaiv yooj yim tshaj plaws thiab ntxim nyiam tshaj plaws, tab sis kuv yeej tsis muaj peev xwm tsim cov duab nyob rau ODROID. Cov kev daws teeb meem ntawm pab pawg thib ob kuj tsis haum rau kuv vim qhov kev nkag siab ncaj ncees. Los ntawm txhais tes los ua ke raws li muaj tutorials kuj tsis haum, vim ... Kuv cov duab tsis muaj cov ntaub ntawv compressed.
Raws li qhov tshwm sim, kuv tuaj hla ib qho video txog chroot (chroot - hloov hauv paus, txuas mus rau cov yeeb yaj kiab tom kawg ntawm kev tshaj tawm) thiab nws lub peev xwm, nws tau txiav txim siab siv nws. Tom ntej no, kuv yuav piav qhia txog kuv qhov xwm txheej tshwj xeeb ntawm kev kho Ubuntu rau cov neeg tsim khoom robotics.

Cov ntaub ntawv pib:

  • Tag nrho cov txheej txheem hloov kho duab (tshwj tsis yog sau rau SD daim npav siv balenaEtcher) tau ua tiav ntawm Ubuntu 18.04 operating system.
  • Lub operating system uas nws sib dhos kuv hloov kho yog Ubuntu 18.04.3 mate desktop version.
  • Lub tshuab uas lub tshuab sib dhos yuav tsum ua haujlwm yog ODROID-C2.

Npaj daim duab

  1. Rub tawm Ubuntu duab rau ODROID los ntawm official site

  2. Unpacking lub archive

    unxz –kv <Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π° с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ>

  3. Tsim ib tug directory nyob rau hauv uas peb yuav mount tus duab

    mkdir mnt

  4. Txiav txim siab qhov muab faib uas cov ntaub ntawv kaw lus nyob

    file <Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π°>

    Peb tab tom nrhiav kev muab faib nrog cov ntaub ntawv hauv ext2, ext3 lossis ext4 hom. Peb xav tau qhov chaw nyob ntawm qhov pib ntawm ntu (highlighted hauv liab ntawm qhov screen):

    Txhim kho ROS hauv Ubuntu IMG duab rau ib lub rooj tsavxwm

    Nco ntsoov. Qhov chaw ntawm cov ntaub ntawv kaw lus kuj tuaj yeem pom siv cov khoom siv hluav taws xob parted.

  5. Mounting daim duab

    sudo mount -o loop,offset=$((264192*512)) <Ρ„Π°ΠΉΠ» с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ> mnt/

    Tshooj peb xav tau pib nrog thaiv 264192 (koj cov lej yuav txawv), qhov loj ntawm ib qho thaiv yog 512 bytes, muab faib rau lawv kom tau txais qhov indentation hauv bytes.

  6. Mus rau lub nplaub tshev nrog lub mounted system thiab dai rau hauv nws

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

    ~/livecd/mnt - tag nrho txoj kev mus rau cov npe nrog lub mounted system
    ib/sh - plhaub (tuaj yeem hloov nrog ib/bash)
    Tam sim no koj tuaj yeem pib txhim kho cov pob khoom tsim nyog thiab daim ntawv thov.

Txhim kho ROS

Kuv ntsia qhov tseeb version ntawm ROS (ROS Melodic) raws li official qhia.

  1. Hloov kho cov npe ntawm cov pob

    sudo apt-get update

    Nov yog qhov uas kuv tau txais qhov yuam kev:

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

    Qhov no yog vim qhov tseeb tias pob kos npe yuam sij tau tas sij hawm. Txhawm rau hloov kho cov yuam sij, ntaus:

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

  2. Npaj lub kaw lus rau kev txhim kho 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. Txhim kho ROS
    Hmoov tsis zoo, Kuv tsis tuaj yeem nruab lub desktop version ntawm ROS, yog li kuv tau nruab tsuas yog cov pob ntawv yooj yim:

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

    Nco ntsoov 1. Thaum lub sij hawm installation txheej txheem tej zaum ib qho yuam kev tshwm sim:

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

    Nws tau kho los ntawm kev tshem tawm cov cache siv cov khoom siv apt:

    sudo apt-get clean; sudo apt-get autoclean

    Nco ntsoov 2. Tom qab installation, qhov chaw siv cov lus txib:

    source /opt/ros/melodic/setup.bash

    nws yuav tsis ua haujlwm, vim Peb tsis tau khiav bash, yog li nws tsis tas yuav tsum tau ntaus hauv lub davhlau ya nyob twg.

  4. Txhim kho qhov tsim nyog dependencies

    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. Teeb tsa cov cai nkag
    Txij li thaum peb tau nkag mus rau hauv thiab, qhov tseeb, ua txhua yam kev ua sawv cev ntawm lub hauv paus ntawm lub kaw lus tau sib sau ua ke, ROS tsuas yog pib nrog cov cai superuser.
    Thaum sim khiav roscore yam tsis muaj sudo, qhov yuam kev tshwm sim:

    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'

    Txhawm rau tiv thaiv qhov ua yuam kev los ntawm qhov tshwm sim, cia peb rov qab hloov txoj cai nkag mus rau ROS tus neeg siv lub tsev teev npe. Txhawm rau ua qhov no peb ntaus:

    sudo rosdep fix-permissions

  6. Kev teeb tsa ntxiv ntawm rviz thiab rqt pob

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

Thaum kawg kov

  1. Tawm ntawm chroot:
    exit
  2. Unmount daim duab
    cd ..
    sudo umount mnt/
  3. Cia peb ntim cov duab system rau hauv ib qho archive
    xz –ckv1 <Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π°>

Txhua tus! Tam sim no nrog kev pab balenaEtcher ua koj tuaj yeem hlawv cov duab kab ke rau SD daim npav, ntxig rau hauv ODROID-C2, thiab koj yuav muaj Ubuntu nrog ROS ntsia!

Links:

  • Cov vis dis aus no tau pab ntau yam kev dag hauv Linux thiab vim li cas koj xav tau:



Tau qhov twg los: www.hab.com

Ntxiv ib saib