နိဒါန်း
အခြားနေ့တွင်၊ ကျွန်ုပ်၏စာတမ်းပြုစုနေစဉ်တွင် ROS ထည့်သွင်းပြီးသော single-board platform တစ်ခုအတွက် Ubuntu image ကိုဖန်တီးရန် လိုအပ်ခြင်းများနှင့် ရင်ဆိုင်ခဲ့ရသည်။စက်ရုပ်လည်ပတ်မှုစနစ် - စက်ရုပ်လည်ပတ်မှုစနစ်) အတိုချုပ်ပြောရလျှင် ဒီပလိုမာသည် စက်ရုပ်အုပ်စုတစ်စုကို စီမံခန့်ခွဲရန် ရည်ရွယ်သည်။ စက်ရုပ်များတွင် ဘီးနှစ်ဘီးနှင့် အကွာအဝေး ၃ ခု တပ်ဆင်ထားသည်။ အရာအားလုံးကို ODROID-C2 ဘုတ်ပေါ်တွင်လည်ပတ်သည့် ROS မှထိန်းချုပ်ထားသည်။
စက်ရုပ် Ladybug။ ဓာတ်ပုံအရည်အသွေးညံ့သည့်အတွက် တောင်းပန်ပါသည်။
စက်ရုပ်တစ်ခုစီတွင် ROS ထည့်သွင်းရန် အချိန်မရှိသလို၊ ထို့ကြောင့် ROS ထည့်သွင်းပြီးသော စနစ်ပုံတစ်ပုံအတွက် လိုအပ်ပါသည်။ အင်တာနက်ကို ရှာကြည့်ပြီးနောက်၊ ဒါကို ဘယ်လိုလုပ်ဆောင်နိုင်မလဲဆိုတဲ့ ချဉ်းကပ်နည်းများစွာကို ကျွန်တော် တွေ့ရှိခဲ့ပါတယ်။
ယေဘုယျအားဖြင့် တွေ့ရှိရသည့် ဖြေရှင်းချက်အားလုံးကို အောက်ပါအုပ်စုများ ခွဲခြားနိုင်သည်။
- အဆင်သင့်လုပ်ထားပြီး ပြင်ဆင်ထားသော စနစ်မှ ပုံတစ်ခုကို ဖန်တီးသည့် ပရိုဂရမ်များ (
Ubuntu Imager ကိုဖြန့်ဝေပါ ,linux တိုက်ရိုက် အစုံ ,linux respin စနစ်ပြန်၊ စသည်ဖြင့်) - သင့်ကိုယ်ပိုင်ပုံကို ဖန်တီးနိုင်စေမည့် ပရောဂျက်များ (
ယိုတို ,Linux အစကနေ ) - ပုံကို ကိုယ်တိုင် တပ်ဆင်ခြင်း (
တိုက်ရိုက် CD စိတ်ကြိုက်ပြုလုပ်ခြင်း။ иရုရှားနှင့်ညီမျှသည်။ ပေါင်းHabre ၏ဆောင်းပါး )
ပထမအုပ်စုမှ ဖြေရှင်းချက်များကို အသုံးပြုခြင်းသည် အရိုးရှင်းဆုံးနှင့် ဆွဲဆောင်မှုအရှိဆုံး ရွေးချယ်မှုဟု ထင်ရသော်လည်း ODROID အတွက် တိုက်ရိုက်စနစ်ပုံတစ်ပုံကို ကျွန်ုပ် ဘယ်သောအခါမှ မဖန်တီးနိုင်ခဲ့ပါ။ ဒုတိယအုပ်စု၏ အဖြေများသည် အလွန်မြင့်မားသော ဝင်ခွင့်သတ်မှတ်ချက်ကြောင့် ကျွန်ုပ်နှင့် မကိုက်ညီပါ။ ရရှိနိုင်သော သင်ခန်းစာများအတိုင်း လူကိုယ်တိုင် တပ်ဆင်ခြင်းမှာလည်း မသင့်လျော်သောကြောင့် ... ကျွန်ုပ်၏ပုံတွင် ချုံ့ထားသော ဖိုင်စနစ် မရှိပါ။
ရလဒ်အနေနဲ့ chroot နဲ့ ပတ်သက်တဲ့ video တစ်ခုကို တွေ့လိုက်ရပါတယ်။chroot - root ကိုပြောင်းပါ။၊ ပို့စ်၏အဆုံးတွင်ဗီဒီယိုကိုလင့်ခ်) နှင့်၎င်း၏စွမ်းဆောင်ရည်များကိုအသုံးပြုရန်ဆုံးဖြတ်ခဲ့သည်။ နောက်တစ်ခု၊ စက်ရုပ် developer များအတွက် Ubuntu ကို စိတ်ကြိုက်ပြင်ဆင်ခြင်းဆိုင်ရာ သီးခြားကိစ္စရပ်ကို ဖော်ပြပါမည်။
ကန ဦး ဒေတာ:
- ရုပ်ပုံပြုပြင်မွမ်းမံခြင်းလုပ်ငန်းစဉ်တစ်ခုလုံး (balenaEtcher သုံးပြီး SD ကတ်သို့စာရေးခြင်းမှလွဲ၍) Ubuntu 18.04 လည်ပတ်မှုစနစ်တွင် လုပ်ဆောင်ခဲ့သည်။
- ကျွန်ုပ်ပြင်ဆင်ထားသော တပ်ဆင်မှုစနစ်သည် Ubuntu 18.04.3 mate desktop ဗားရှင်းဖြစ်သည်။
- တပ်ဆင်ထားသောစနစ်သည် အလုပ်လုပ်သင့်သည့်စက်မှာ ODROID-C2 ဖြစ်သည်။
ရုပ်ပုံပြင်ဆင်ခြင်း။
-
ODROID အတွက် Ubuntu ပုံအား ဒေါင်းလုဒ်လုပ်ပါ။
တာဝန်ရှိသူတဦးက site ကို -
မှတ်တမ်းကို ထုပ်ပိုးခြင်း
unxz –kv <файл архива с образом>
-
ပုံကို တပ်ဆင်မည့် လမ်းညွှန်တစ်ခု ဖန်တီးပါ။
mkdir mnt
-
ဖိုင်စနစ်တည်ရှိသည့်အပိုင်းကို ဆုံးဖြတ်ပါ။
file <файл образа>
ကျွန်ုပ်တို့သည် ext2၊ ext3 သို့မဟုတ် ext4 ဖော်မတ်ဖြင့် ဖိုင်စနစ်ပါသည့် အပိုင်းတစ်ခုကို ရှာဖွေနေပါသည်။ ကဏ္ဍ၏အစ၏လိပ်စာ လိုအပ်သည် (စခရင်ပေါ်တွင် အနီရောင်ဖြင့် မီးမောင်းထိုးပြထားသည်)
မှတ်ချက်။ utility ကို အသုံးပြု၍ ဖိုင်စနစ်၏တည်နေရာကိုလည်း ကြည့်ရှုနိုင်ပါသည်။ ခွါမကွဲပြား. -
ပုံကို တပ်ဆင်ခြင်း။
sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/
ကျွန်ုပ်တို့လိုအပ်သောအပိုင်းသည် block 264192 ဖြင့်စတင်သည် (သင့်နံပါတ်များ ကွဲပြားနိုင်သည်)၊ တစ်တုံး၏အရွယ်အစားမှာ 512 bytes ဖြစ်ပြီး ၎င်းတို့ကို bytes ဖြင့် indentation ရယူရန် မြှောက်ပါ။
-
တပ်ဆင်ထားသောစနစ်ဖြင့် ဖိုင်တွဲသို့သွားပြီး ၎င်းတွင် ချိတ်လိုက်ပါ။
cd mnt/ sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt - တပ်ဆင်ထားသောစနစ်ဖြင့် လမ်းကြောင်းအပြည့်အစုံ
ဘင်/ရှ် - ဘူးခွံ (ဖြင့်လည်း အစားထိုးနိုင်သည်။ ဘင်/ဘေ့ရှ်)
ယခု သင်သည် လိုအပ်သော ပက်ကေ့ဂျ်များနှင့် အပလီကေးရှင်းများကို စတင်ထည့်သွင်းနိုင်ပါပြီ။
ROS ကို ထည့်သွင်းခြင်း။
ကျွန်တော်သည် ROS (ROS Melodic) ၏နောက်ဆုံးထွက်ဗားရှင်းကိုထည့်သွင်းထားသည်။
-
ပက်ကေ့ဂျ်များစာရင်းကို အပ်ဒိတ်လုပ်ခြင်း။
sudo apt-get update
ဤနေရာတွင် ကျွန်ုပ် error ရပါသည်-
Err:6 http://deb.odroid.in/c2 bionic InRelease The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>
ပက်ကေ့ဂျ်လက်မှတ်ထိုးသော့သည် သက်တမ်းကုန်သွားသောကြောင့်ဖြစ်သည်။ သော့များကို အပ်ဒိတ်လုပ်ရန်၊ ရိုက်ထည့်ပါ
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9
-
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
-
ROS ကို ထည့်သွင်းခြင်း။
ကံမကောင်းစွာဖြင့်၊ ကျွန်ုပ်သည် ROS ၏ desktop ဗားရှင်းကို မတပ်ဆင်နိုင်ခဲ့သောကြောင့် အခြေခံပက်ကေ့ဂျ်များကိုသာ ထည့်သွင်းခဲ့သည်-sudo apt install ros-melodic-ros-base apt search ros-melodic
မှတ်ချက် ၁ ။ တပ်ဆင်မှုလုပ်ငန်းစဉ်အတွင်း တစ်ခါတစ်ရံတွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်-
dpkg: error: failed to write status database record about 'iputils-ping' to '/var/lib/dpkg/status': No space left on device
apt utility ကိုအသုံးပြု၍ cache ကိုရှင်းလင်းခြင်းဖြင့်၎င်းကိုပြုပြင်ခဲ့သည်
sudo apt-get clean; sudo apt-get autoclean
မှတ်ချက် ၁ ။ တပ်ဆင်ပြီးနောက်၊ command ကိုအသုံးပြုပြီးအရင်းအမြစ်။
source /opt/ros/melodic/setup.bash
အလုပ်မဖြစ်ပါ။ ကျွန်ုပ်တို့သည် bash ကိုမလုပ်ဆောင်ထားသောကြောင့် ၎င်းကို terminal တွင်ရိုက်ထည့်ရန်မလိုအပ်ပါ။
-
လိုအပ်သော မှီခိုမှုများကို ထည့်သွင်းခြင်း။
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt install python-rosdep
sudo rosdep init rosdep update
-
ဝင်ရောက်ခွင့်များကို သတ်မှတ်ခြင်း။
ကျွန်ုပ်တို့သည် အကောင့်ဝင်ထားပြီး အမှန်မှာ၊ စုစည်းထားသည့်စနစ်၏ root ကိုယ်စား လုပ်ဆောင်ချက်များအားလုံးကို လုပ်ဆောင်သောကြောင့် ROS သည် စူပါအသုံးပြုသူအခွင့်အရေးဖြင့်သာ စတင်မည်ဖြစ်သည်။
sudo မပါဘဲ roscore ကို run ရန်ကြိုးစားသောအခါ၊ အမှားတစ်ခုဖြစ်ပေါ်သည်-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'
အမှားအယွင်းမဖြစ်ပွားစေရန် ကာကွယ်ရန်၊ ဝင်ရောက်ခွင့်အခွင့်အရေးများကို ROS အသုံးပြုသူ၏ ပင်မလမ်းညွှန်သို့ ထပ်ခါတလဲလဲ ပြောင်းလဲကြပါစို့။ ဒါကိုလုပ်ဖို့၊
sudo rosdep fix-permissions
-
rviz နှင့် rqt ပက်ကေ့ဂျ်များ၏ ထပ်လောင်းထည့်သွင်းမှု
sudo apt-get install ros-melodic-rqt ros-melodic-rviz
နောက်ဆုံးထိ
- chroot ထွက်ရန်-
exit
- ပုံကိုဖြုတ်ပါ။
cd .. sudo umount mnt/
- စနစ်ပုံရိပ်ကို မှတ်တမ်းတစ်ခုအဖြစ် ထုပ်ပိုးကြပါစို့
xz –ckv1 <файл образа>
အားလုံး! အခုအကူအညီနဲ့
လင့်ခ်များ
- ဤဗီဒီယိုသည် Linux တွင် လိမ်လည်လှည့်ဖြားနည်းနှင့် သင်ဘာကြောင့် လိုအပ်သည်ဆိုသည်ကို များစွာအထောက်အကူဖြစ်စေသည်-
source: www.habr.com