A’ stàladh ROS ann an ìomhaigh Ubuntu IMG airson bòrd singilte

Ro-ràdh

An latha eile, fhad ‘s a bha mi ag obair air an tràchdas agam, bha mi a’ cur aghaidh ris an fheum air ìomhaigh Ubuntu a chruthachadh airson àrd-ùrlar aon-bhòrd le ROS air a chuir a-steach mu thràth (Siostam-obrachaidh robot - siostam-obrachaidh robot). Ann an ùine ghoirid, tha an dioplòma gu sònraichte airson a bhith a’ stiùireadh buidheann de innealan-fuadain. Tha na h-innealan-fuadain air an uidheamachadh le dà chuibhle agus trì lorgan-raoin. Tha an rud gu lèir fo smachd bho ROS, a tha a 'ruith air bòrd ODROID-C2.

A’ stàladh ROS ann an ìomhaigh Ubuntu IMG airson bòrd singilte
Robot Ladybug. Duilich airson droch chàileachd dhealbhan

Cha robh ùine no miann ann ROS a chuir a-steach air gach inneal-fuadain leotha fhèin, agus mar sin bha feum air ìomhaigh siostam le ROS air a chuir a-steach mu thràth. Às deidh dhomh brobhsadh air an eadar-lìn, lorg mi grunn dhòighean air mar a ghabhadh seo a dhèanamh.
San fharsaingeachd, faodar a h-uile fuasgladh a lorgar a roinn anns na buidhnean a leanas.

  1. Prògraman a chruthaicheas ìomhaigh bho shiostam deiseil agus rèitichte (Disstroshare Ubuntu Imager, Linux live kit, ath-thionndadh linux, siostam air ais, msaa)
  2. Pròiseactan a leigeas leat an ìomhaigh agad fhèin a chruthachadh (yocto, Linux bho thùs)
  3. A’ cruinneachadh an dealbh thu fhèin (gnàthachadh CD beò и Russian co-ionannplus artaigil air Habré)

Bha e coltach gur e cleachdadh fuasglaidhean bhon chiad bhuidheann an roghainn as sìmplidh agus as tarraingiche, ach cha robh e comasach dhomh a-riamh ìomhaigh siostam beò a chruthachadh airson ODROID. Cha robh fuasglaidhean an dàrna buidheann freagarrach dhomh cuideachd air sgàth an ìre inntrigidh àrd. Cha robh co-chruinneachadh làimhe a rèir nan clasaichean-oideachaidh a bha rim faighinn freagarrach cuideachd, oir... Cha robh siostam faidhle teann aig an dealbh agam.
Mar thoradh air an sin, thàinig mi tarsainn air bhidio mu chroot (chroot - atharraich freumh, ceangal ris a’ bhidio aig deireadh na dreuchd) agus na comasan aige, chaidh co-dhùnadh a chleachdadh. An uairsin, bheir mi cunntas air a’ chùis shònraichte agam mu bhith a’ gnàthachadh Ubuntu airson luchd-leasachaidh robotics.

Dàta stòr:

  • Chaidh am pròiseas atharrachaidh ìomhaigh gu lèir (ach a-mhàin sgrìobhadh chun chairt SD a’ cleachdadh balenaEtcher) a dhèanamh air siostam-obrachaidh Ubuntu 18.04.
  • Is e an siostam obrachaidh a dh’ atharraich an co-chruinneachadh agam dreach deasg mate Ubuntu 18.04.3.
  • Is e an inneal air am bu chòir an siostam cruinnichte obrachadh ODROID-C2.

Ag ullachadh an ìomhaigh

  1. Luchdaich sìos an dealbh Ubuntu airson odroid bho Ceanglaichean làraich

  2. A' dì-phapadh an tasglann

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

  3. Cruthaich eòlaire anns an cuir sinn suas an ìomhaigh

    mkdir mnt

  4. Obraich a-mach an sgaradh air a bheil an siostam faidhle suidhichte

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

    Tha sinn a’ coimhead airson sgaradh le siostam faidhle ann an cruth ext2, ext3 no ext4. Feumaidh sinn seòladh toiseach na h-earrainn (air a chomharrachadh ann an dearg air an sgrion):

    A’ stàladh ROS ann an ìomhaigh Ubuntu IMG airson bòrd singilte

    Nòta: Faodar suidheachadh an t-siostam faidhle fhaicinn cuideachd a’ cleachdadh a’ ghoireas dhealaich.

  5. A 'stàladh an ìomhaigh

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

    Bidh an earrann a dh’ fheumas sinn a’ tòiseachadh le bloc 264192 (faodaidh na h-àireamhan agad a bhith eadar-dhealaichte), is e meud aon bhloca 512 bytes, iomadachadh iad gus an indentation fhaighinn ann am bytes.

  6. Rach don phasgan leis an t-siostam suidhichte agus croch a-mach ann

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

    ~/livecd/mnt - slighe slàn chun eòlaire leis an t-siostam suidhichte
    bin/sh - slige (faodar a chuir na àite cuideachd biona/bash)
    A-nis faodaidh tu tòiseachadh air na pacaidean agus na h-aplacaidean riatanach a chuir a-steach.

A' stàladh ROS

Chuir mi a-steach an tionndadh as ùire de ROS (ROS Melodic) a rèir tutorial oifigeil.

  1. A luchdachadh a-nuas liosta de na pacaidean

    sudo apt-get update

    Seo far an d’ fhuair mi am mearachd:

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

    Tha seo air sgàth gu bheil an iuchair soidhnidh pacaid air tighinn gu crìch. Gus na h-iuchraichean ùrachadh, dèan seòrsa:

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

  2. Ag ullachadh an t-siostam airson stàladh 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. A' stàladh ROS
    Gu mì-fhortanach, cha b’ urrainn dhomh an tionndadh deasg de ROS a stàladh, agus mar sin cha do chuir mi a-steach ach na pasganan bunaiteach:

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

    Nota 1. Aig àm an stàlaidh uaireannan thachair mearachd:

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

    Chaidh a chàradh le bhith a’ glanadh an tasgadan a’ cleachdadh a’ ghoireas iomchaidh:

    sudo apt-get clean; sudo apt-get autoclean

    Nota 2. Às deidh an stàladh, stòr a’ cleachdadh an àithne:

    source /opt/ros/melodic/setup.bash

    chan obraich e, oir Cha do ruith sinn bash, mar sin CHAN EIL feum a bhith air a thaipeadh san inneal-crìochnachaidh.

  4. Stàladh an eisimeileachd riatanach

    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. A’ stèidheachadh chòraichean-slighe
    Leis gu bheil sinn air logadh a-steach agus, gu dearbh, a’ dèanamh a h-uile gnìomh às leth freumh an t-siostam a thathar a’ cur ri chèile, cha tèid ROS a chuir air bhog ach le còraichean sàr-chleachdaiche.
    Nuair a tha thu a’ feuchainn ri roscore a ruith gun sudo, tha mearachd a’ tachairt:

    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'

    Gus casg a chuir air a’ mhearachd, atharraicheamaid gu ath-chùrsach na còraichean-slighe gu eòlaire dachaigh an neach-cleachdaidh ROS. Gus seo a dhèanamh bidh sinn a’ sgrìobhadh:

    sudo rosdep fix-permissions

  6. Stàladh a bharrachd de na pacaidean rviz agus rqt

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

Suathadh deireannach

  1. Cuir a-mach chroot:
    exit
  2. Dì-stàlaich an dealbh
    cd ..
    sudo umount mnt/
  3. Pacaidh sinn ìomhaigh an t-siostaim ann an tasglann
    xz –ckv1 <файл образа>

Uile! A-nis le cuideachadh balenaetcher faodaidh tu ìomhaigh an t-siostaim a losgadh gu cairt SD, cuir a-steach e ann an ODROID-C2, agus bidh Ubuntu agad le ROS air a chuir a-steach!

Tùsan:

  • Chuidich a’ bhidio seo gu mòr le bhith a’ mealladh ann an Linux agus carson a tha feum agad air:



Source: www.habr.com

Cuir beachd ann