ROS instalatzen Ubuntu IMG irudi batean taula bakarrerako
Sarrera
Herenegun, tesia egiten ari nintzela, ROS instalatuta zeukan taula bakarreko plataforma baterako Ubuntu irudi bat sortzeko beharraren aurrean izan nintzen (Robot Operating System - robot sistema eragilea). Laburbilduz, diploma robot talde bat kudeatzeari dagokio. Robotak bi gurpil eta hiru telemetroz hornituta daude. Guztia ODROID-C2 plakan exekutatzen den ROSetik kontrolatzen da.
Ez zegoen robot bakoitzean ROS banaka instalatzeko ez denborarik ez gogorik, eta, beraz, sistemaren irudi baten beharra zegoen jada instalatuta zegoen ROSarekin. Interneten arakatu ondoren, hau nola egin zitekeen jakiteko hainbat planteamendu aurkitu ditut.
Oro har, aurkitutako irtenbide guztiak talde hauetan bana daitezke.
Lehen taldeko soluzioak erabiltzea aukerarik errazena eta erakargarriena iruditu zitzaidan, baina inoiz ezin izan nuen ODROIDerako zuzeneko sistemaren irudirik sortu. Bigarren taldeko irtenbideak ere ez zitzaizkidan egokitu sarrera-atalase altu samarra zela eta. Eskuzko tutorialen arabera muntatzea ere ez zen egokia, izan ere... Nire irudiak ez zuen fitxategi-sistema konprimiturik.
Ondorioz, chroot-i buruzko bideo bat topatu nuen (chroot - erroa aldatu, mezuaren amaierako bideoaren esteka) eta bere gaitasunak erabiltzea erabaki zen. Jarraian, robotika garatzaileentzako Ubuntu pertsonalizatzeko nire kasu partikularra deskribatuko dut.
Hasierako datuak:
Irudia aldatzeko prozesu osoa (balenaEtcher erabiliz SD txartelean idaztea izan ezik) Ubuntu 18.04 sistema eragilean egin zen.
Muntaia aldatu dudan sistema eragilea Ubuntu 18.04.3 mate mahaigaineko bertsioa da.
Muntatutako sistemak lan egin behar duen makina ODROID-C2 da.
Sortu direktorio bat eta bertan irudia muntatuko dugu
mkdir mnt
Fitxategi-sistema zein partizioan dagoen zehaztu
file <ΡΠ°ΠΉΠ» ΠΎΠ±ΡΠ°Π·Π°>
Fitxategi-sistema ext2, ext3 edo ext4 formatuan duen partizioa bilatzen ari gara. Atalaren hasierako helbidea behar dugu (gorriz nabarmenduta pantailan):
Oharra. Fitxategi-sistemaren kokapena erabilgarritasuna erabiliz ere ikus daiteke parted.
Irudia muntatzea
sudo mount -o loop,offset=$((264192*512)) <ΡΠ°ΠΉΠ» Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ> mnt/
Behar dugun atala 264192 blokearekin hasten da (zure zenbakiak desberdinak izan daitezke), bloke baten tamaina 512 byte da, biderkatu koska bytetan lortzeko.
Joan muntatutako sistema duen karpetara eta zintzilikatu bertan
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt β muntatutako sistema duen direktoriorako bide osoa bin/sh - shell (rekin ere ordezkatu daiteke bin/bash)
Orain beharrezko paketeak eta aplikazioak instalatzen has zaitezke.
Sarbide-eskubideak konfiguratzea
Saioa hasi eta, hain zuzen ere, muntatzen ari den sistemaren erroaren izenean ekintza guztiak egiten ditugunez, ROS supererabiltzaile eskubideekin soilik jarriko da martxan.
Roscore sudorik gabe exekutatzen saiatzean, errore bat gertatzen 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'
Errorea gerta ez dadin, alda ditzagun ROS erabiltzailearen hasierako direktoriorako sarbide-eskubideak modu errekurtsiboan. Horretarako idatziko dugu: