Enstale ROS nan yon imaj Ubuntu IMG pou yon sèl tablo
Entwodiksyon
Lòt jou a, pandan m ap travay sou tèz mwen an, mwen te fè fas ak nesesite pou kreye yon imaj Ubuntu pou yon platfòm yon sèl tablo ak ROS deja enstale (Robot Operating System - sistèm operasyon robo). Nan ti bout tan, diplòm nan konsakre nan jere yon gwoup robo. Robo yo ekipe ak de wou ak twa telemètr. Tout bagay la kontwole soti nan ROS, ki kouri sou tablo a ODROID-C2.
Jwèt Robo koksinèl. Padon pou bon jan kalite foto a pòv
Pa te gen ni tan ni dezi yo enstale ROS sou chak robo endividyèlman, ak Se poutèt sa te gen yon bezwen pou yon imaj sistèm ak ROS deja enstale. Apre navige sou Entènèt la, mwen te jwenn plizyè apwòch nan fason sa a ta ka fè.
An jeneral, tout solisyon yo jwenn yo ka divize an gwoup sa yo.
Sèvi ak solisyon ki soti nan premye gwoup la te sanble opsyon ki pi senp ak pi atiran, men mwen pa t janm kapab kreye yon imaj sistèm ap viv pou ODROID. Solisyon yo nan dezyèm gwoup la tou pa te kostim mwen akòz papòt la antre jistis segondè. Manyèl asanble selon leson patikilye ki disponib yo pa t 'tou apwopriye, paske... Imaj mwen an pa t gen yon sistèm dosye konprese.
Kòm rezilta, mwen te rankontre yon videyo sou chroot (chroot - chanje rasin, lyen nan videyo a nan fen pòs la) ak kapasite li yo, li te deside sèvi ak li. Apre sa, mwen pral dekri ka patikilye mwen an nan pèrsonalizasyon Ubuntu pou devlopè robotik.
Done inisyal:
Tout pwosesis modifikasyon imaj la (eksepte pou ekri sou kat SD la lè l sèvi avèk balenaEtcher) te fèt sou sistèm operasyon Ubuntu 18.04.
Sistèm operasyon ki gen asanble mwen modifye se Ubuntu 18.04.3 mate Desktop vèsyon.
Machin nan ki sistèm reyini ta dwe travay la se ODROID-C2.
Nou ap chèche yon patisyon ak yon sistèm fichye nan fòma ext2, ext3 oswa ext4. Nou bezwen adrès kòmansman seksyon an (akliye an wouj sou ekran an):
Note. Ou ka wè kote sistèm dosye a tou lè l sèvi avèk sèvis piblik la separe.
Monte imaj la
sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/
Seksyon nou bezwen an kòmanse ak blòk 264192 (nimewo ou yo ka diferan), gwosè yon blòk se 512 octets, miltipliye yo pou jwenn indentation an byte.
Ale nan katab la ak sistèm nan monte ak pann soti nan li
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt — chemen konplè nan anyè a ak sistèm nan monte bin/sh - koki (kapab tou ranplase ak bin/bash)
Koulye a, ou ka kòmanse enstale pakè ki nesesè yo ak aplikasyon yo.
Mete kanpe dwa aksè
Depi nou konekte epi, an reyalite, fè tout aksyon sou non rasin nan sistèm ke yo te reyini, ROS yo pral sèlman lanse ak dwa superitilize.
Lè w ap eseye kouri roscore san sudo, yon erè rive:
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'
Pou anpeche erè a rive, ann chanje dwa aksè nan anyè lakay itilizatè ROS la. Pou fè sa nou tape: