ProHoster > Blog > Bestjoer > ROS ynstalleare yn in Ubuntu IMG-ôfbylding foar single-board
ROS ynstalleare yn in Ubuntu IMG-ôfbylding foar single-board
Ynlieding
De oare deis, wylst ik oan myn proefskrift wurke, waard ik konfrontearre mei de needsaak om in Ubuntu-ôfbylding te meitsjen foar in platfoarm mei ien boerd mei ROS al ynstalleare (Robot bestjoeringssysteem - robot bestjoeringssysteem). Koartsein, it diploma is wijd oan it behearjen fan in groep robots. De robots binne foarsjoen fan twa tsjillen en trije ôfstânmeters. It hiele ding wurdt regele fan ROS, dat rint op it ODROID-C2 board.
Robot Ladybug. Sorry foar de minne fotokwaliteit
D'r wie gjin tiid noch winsk om ROS op elke robot yndividueel te ynstallearjen, en dêrom wie d'r ferlet fan in systeemôfbylding mei ROS al ynstalleare. Nei it blêdzjen fan it ynternet fûn ik ferskate oanpak foar hoe't dit koe wurde dien.
Yn 't algemien kinne alle fûne oplossingen wurde ferdield yn' e folgjende groepen.
It brûken fan oplossings fan 'e earste groep like de ienfâldichste en meast oantreklike opsje te wêzen, mar ik koe noait in live systeemôfbylding meitsje foar ODROID. De oplossings fan de twadde groep stienen my ek net troch de frij hege yntreedrompel. Hânlieding montage neffens de beskikbere tutorials wie ek net geskikt, om't ... Myn ôfbylding hie gjin komprimearre triemsysteem.
As resultaat kaam ik in fideo oer chroot (chroot - feroarje root, keppeling nei de fideo oan 'e ein fan' e post) en har mooglikheden, waard besletten om it te brûken. Folgjende sil ik myn bysûndere gefal beskriuwe fan it oanpassen fan Ubuntu foar robotika-ûntwikkelders.
Earste gegevens:
It hiele proses fan ôfbyldingsferoaring (útsein it skriuwen nei de SD-kaart mei balenaEtcher) waard útfierd op it Ubuntu 18.04-bestjoeringssysteem.
It bestjoeringssysteem waans gearstalling ik feroare is Ubuntu 18.04.3 mate buroblêd ferzje.
De masine wêrop it gearstalde systeem moat wurkje is ODROID-C2.
Wy sykje in partysje mei in bestânssysteem yn ext2, ext3 of ext4 formaat. Wy hawwe it adres nedich fan it begjin fan 'e seksje (markearre yn read op it skerm):
Opmerking: De lokaasje fan it bestânsysteem kin ek besjoen wurde mei it hulpprogramma skieden.
Montearje de ôfbylding
sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/
De seksje dy't wy nedich binne begjint mei blok 264192 (jo nûmers kinne ferskille), de grutte fan ien blok is 512 bytes, fermannichfâldigje se om de ynspringing yn bytes te krijen.
Gean nei de map mei it monteare systeem en hingje deryn
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt - folslein paad nei de map mei it monteare systeem bin/sh - shell (kin ek wurde ferfongen troch bin/bash)
No kinne jo begjinne mei it ynstallearjen fan de nedige pakketten en applikaasjes.
ROS ynstallearje
Ik ynstallearre de lêste ferzje fan ROS (ROS Melodyske) neffens offisjele tutorial.
It bywurkjen fan de list mei pakketten
sudo apt-get update
Dit is wêr't ik de flater krige:
Err:6 http://deb.odroid.in/c2 bionic InRelease
The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>
Dit komt troch it feit dat de pakketûndertekeningskaai ferrûn is. Om de kaaien te aktualisearjen, typ:
It ynstellen fan tagongsrjochten
Sûnt wy binne oanmeld en yn feite alle aksjes útfiere út namme fan 'e root fan it systeem dat wurdt gearstald, sil ROS allinich wurde lansearre mei superuser-rjochten.
As jo probearje om roscore sûnder sudo út te fieren, bart der in flater:
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'
Om foar te kommen dat de flater foarkomt, litte wy de tagongsrjochten rekursyf feroarje nei de thúsmap fan de ROS-brûker. Om dit te dwaan typen wy:
sudo rosdep fix-permissions
Oanfoljende ynstallaasje fan de rviz- en rqt-pakketten
Alle! No mei help balenaetcher jo kinne it systeemôfbylding op in SD-kaart ferbaarne, ynfoegje yn ODROID-C2, en jo sille Ubuntu hawwe mei ROS ynstalleare!
Ferwizings:
Dizze fideo holp in protte mei hoe't jo cheat yn Linux en wêrom jo it nedich hawwe: