ROS instalÄÅ”ana Ubuntu IMG attÄlÄ vienai platei
Ievads
Citu dienu, strÄdÄjot pie sava diplomdarba, es saskÄros ar nepiecieÅ”amÄ«bu izveidot Ubuntu attÄlu viena plates platformai ar jau instalÄtu ROS (Robot Operating System - robotu operÄtÄjsistÄma). ÄŖsÄk sakot, diploms ir veltÄ«ts robotu grupas vadÄ«Å”anai. Roboti ir aprÄ«koti ar diviem riteÅiem un trim attÄluma mÄrÄ«tÄjiem. Visa lieta tiek kontrolÄta no ROS, kas darbojas uz ODROID-C2 plates.
Robots MÄrÄ«te. Atvainojos par slikto foto kvalitÄti
Nebija ne laika, ne vÄlÄÅ”anÄs uzstÄdÄ«t ROS katram robotam atseviŔķi, un tÄpÄc radÄs nepiecieÅ”amÄ«ba pÄc sistÄmas attÄla ar jau instalÄtu ROS. PÄc interneta pÄrlÅ«koÅ”anas es atradu vairÄkas pieejas, kÄ to varÄtu izdarÄ«t.
KopumÄ visus atrastos risinÄjumus var iedalÄ«t Å”ÄdÄs grupÄs.
PirmÄs grupas risinÄjumu izmantoÅ”ana Ŕķita vienkÄrÅ”ÄkÄ un pievilcÄ«gÄkÄ iespÄja, taÄu es nekad nevarÄju izveidot tieÅ”o sistÄmas attÄlu priekÅ” ODROID. ArÄ« otrÄs grupas risinÄjumi man nederÄja diezgan augstÄ iestÄÅ”anÄs sliekÅ”Åa dÄļ. ArÄ« manuÄlÄ montÄža pÄc pieejamajÄm pamÄcÄ«bÄm nebija piemÄrota, jo... Manam attÄlam nebija saspiestas failu sistÄmas.
TÄ rezultÄtÄ es uzgÄju video par chroot (chroot - mainÄ«t sakni, saite uz video ieraksta beigÄs) un tÄ iespÄjÄm, tika nolemts to izmantot. TÄlÄk es aprakstÄ«Å”u savu Ä«paÅ”o Ubuntu pielÄgoÅ”anas gadÄ«jumu robotikas izstrÄdÄtÄjiem.
SÄkotnÄjie dati:
Viss attÄla modificÄÅ”anas process (izÅemot ierakstÄ«Å”anu SD kartÄ, izmantojot balenaEtcher) tika veikts operÄtÄjsistÄmÄ Ubuntu 18.04.
OperÄtÄjsistÄma, kuras komplektÄciju es modificÄju, ir Ubuntu 18.04.3 mate darbvirsmas versija.
IekÄrta, kurÄ jÄdarbojas samontÄtajai sistÄmai, ir ODROID-C2.
AttÄla sagatavoÅ”ana
LejupielÄdÄjiet Ubuntu attÄlu ODROID no vietnes oficiÄlÄ vietne
Nosakiet nodalÄ«jumu, kurÄ atrodas failu sistÄma
file <ŃŠ°Š¹Š» Š¾Š±ŃŠ°Š·Š°>
MÄs meklÄjam nodalÄ«jumu ar failu sistÄmu ext2, ext3 vai ext4 formÄtÄ. Mums ir nepiecieÅ”ama sadaļas sÄkuma adrese (ekrÄnÄ iezÄ«mÄta sarkanÄ krÄsÄ):
PiezÄ«me. Failu sistÄmas atraÅ”anÄs vietu var apskatÄ«t arÄ«, izmantojot utilÄ«tu ŔķīrÄs.
AttÄla uzstÄdÄ«Å”ana
sudo mount -o loop,offset=$((264192*512)) <ŃŠ°Š¹Š» Ń Š¾Š±ŃŠ°Š·Š¾Š¼> mnt/
VajadzÄ«gÄ sadaļa sÄkas ar bloku 264192 (jÅ«su skaitļi var atŔķirties), viena bloka izmÄrs ir 512 baiti, reiziniet tos, lai iegÅ«tu atkÄpi baitos.
Dodieties uz mapi, kurÄ ir uzstÄdÄ«ta sistÄma, un pakavÄjieties tajÄ
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt ā pilns ceļŔ uz direktoriju ar uzstÄdÄ«to sistÄmu bin/sh - apvalks (var arÄ« aizstÄt ar bin/bash)
Tagad varat sÄkt instalÄt nepiecieÅ”amÄs pakotnes un lietojumprogrammas.
ROS instalÄÅ”ana
Es instalÄju jaunÄko ROS versiju (ROS Melodic) saskaÅÄ ar oficiÄlÄ apmÄcÄ«ba.
PakeÅ”u saraksta atjauninÄÅ”ana
sudo apt-get update
Å eit es saÅÄmu kļūdu:
Err:6 http://deb.odroid.in/c2 bionic InRelease
The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>
Tas ir saistÄ«ts ar faktu, ka ir beidzies paketes parakstÄ«Å”anas atslÄgas derÄ«guma termiÅÅ”. Lai atjauninÄtu atslÄgas, ierakstiet:
Piekļuves tiesību iestatīŔana
TÄ kÄ mÄs esam pieteikuÅ”ies un faktiski veicam visas darbÄ«bas montÄjamÄs sistÄmas saknes vÄrdÄ, ROS tiks palaists tikai ar superlietotÄja tiesÄ«bÄm.
MÄÄ£inot palaist roscore bez sudo, rodas kļūda:
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'
Lai novÄrstu kļūdas raÅ”anos, rekursÄ«vi mainÄ«sim piekļuves tiesÄ«bas ROS lietotÄja mÄjas direktorijai. Lai to izdarÄ«tu, mÄs ierakstÄm:
Visi! Tagad ar palÄ«dzÄ«bu balÄna spiedÄjs JÅ«s varat ierakstÄ«t sistÄmas attÄlu SD kartÄ, ievietot to ODROID-C2, un jums bÅ«s instalÄts Ubuntu ar ROS!
Saites:
Å is video ļoti palÄ«dzÄja, kÄ krÄpties operÄtÄjsistÄmÄ Linux un kÄpÄc tas jums ir nepiecieÅ”ams: