Green Hackers
14/12/2024
C/C++
20/11/2020
17/11/2020
အလိုလျောက် မောင်းနှင်မှုမှာ Tesla ရဲ့ ကားတွေနဲ့ အခြား car brands တွေဘယ်လို ကွာခြားကြသလဲ?
AUTONOMOUS CARS
***************************
လူမဲ့ထိန်းချုပ်ယာဥ်တွေမှာ လမ်းကြောင်းပြောင်းခြင်း၊ ယာဥ် အမြန်နှုန်း သင်္ကေတများကို မှတ်သား ထားခြင်း၊ ယာဥ်၏အရှေ့တွင် ရုတ်တရက် ဖြစ်ပေါ်လာသော ကိစ္စများကြောင့် ယာဥ်ကို အရှိန်လျော့ပေး ခြင်းစသော ယာဥ်မောင်းသူကို ကူညီပေးနိုင်သော စနစ်များပါဝင်သည်။ ၎င်း စနစ်များသည် အဆင့်မြင့်ယဥ် မောင်းကူညီစနစ် Advanced Driver Assistance Systems(ADAS) ရှေ့ပြေးမျိုးဆက်တွေဖြစ် ပါတယ်။ အလိုအလျောက်မောင်းနှင်နိုင်သော ယာဥ်၏ရှေ့ပြေးပုံစံနှင့် ၎င်းတို့၏ sensors များအကြောင်း မလေ့လာခင် အလိုလျောက်စနစ်အကြောင်း ကိုလေ့လာသင့်ပါတယ်။
ဘာလို့လဲဆိုတော့ အလိုအလျောက်မောင်း စနစ် တစ်ခုနှင့်တစ်ခုမတူညီသောကြောင့် ဖြစ်သည်။ Society of Autonomous Engineering (SAE) က သတ်မှတ်ထားသော အလိုလျောက်မောင်းနှင်ခြင်း အဆင့်သတ်မှတ်ချက်များကို အောက်တွင် လေ့လာ နိင်ပါသည်။
Level 0 :: ယာဥ်မောင်းကပဲ အားလုံးမောင်းနှင်သည့် ပုံစံ
Level 1 :: ADAS က ယဥ်မောင်းကို steering သို့မဟုတ် brake/accelerate လုပ်ပေးမယ်။ နှစ်ခုလုံး တော့ တပြိုင်တည်း လုပ်မပေးနိုင်။
Level 2 :: သူကတော့ တချို့အခြေအနေတွေမှာ steering ရော brake/accelerate ရောလုပ်ပေး နိုင်တယ်။ human driver က မပြတ်စောင့်ကြည့်ဖို့လိုပါလိမ့်မယ်။
Level 3 :: သူကတော့ human driver က လိုအပ်မှသာ control လုပ်ပေးဖို့လိုပါတယ်။
Level 4 :: သူကတော့ human driver က စောင့်ကြည့်ဖို့မလိုပါဘူး။.
Level 5 :: သူကတော့ passenger only ပဲ။ driver ကို ပါစရာမလိုတော့ပါဘူး။
Level 4 and 5 လိုအခြေနေမျိုးတွက်ဆိုရင်တော့ အသွားလာ အန္တရာယ်ကင်းရှင်းရန် နှင့် လုံခြုံမှုရှိဖို့ ပတ်ဝန်းကျင်မှအချက်လက်များကို အချိန်ပြည့်ရယူနေသော sensors ၏ အချက်လက်များနှင့် ၏ရွေ့လျားမှုကို တိကျသေချာတဲ့ algorithms များအသုံးပြု၍ ပေါင်းစပ်အသုံးပြုသင့်ပါတယ်။ ကျွန်တော်တို့ကတော့ camera, computer vision and lidar sensor ကိုလေ့လာမှာဖြစ်တဲ့တွက် sensors type ၂ မျိုး ကိုဘဲ အဓိကထားမှာဖြစ်ပါတယ်။ အလိုလျောက်မောင်းနှင်သောကားအချို့နှင့်၎င်းတို့တွင်အသုံးပြုထားသော sensors အချို့ကိုလေ့လာဖို့ ဖော်ပြလိုက်ပါတယ်။
The Uber ATG Autonomous Vehicle
****************************************
Uber မှအလိုလျောက်မောင်းနှင်နိုင်သော ကားများတွင် 360 degree Lidar Scanner နှင့် cameras အများအပြားကို အပေါ်တွင်တပ်ဆင်ထား၍ radar sensors ကို ကားဘေးပတ်လည်တွင် တပ်ဆင်ထားပါတယ်။ ၎င်း sensors များကို တစ်ခုချင်းလေ့လာကြည့်ရအောင်
1. Camera: Volvo XC90 SUVs ကိုပြုပြင်ထားသော camera မျိုးကို ကားအမိုးပေါ်တွင်သာမက ဘေးဘက်နှင့်အနောက်ဖက်တွင်တပ်ဆင်ထားသည်။ အမိုးတွင်တပ်ထားသော camera သည် ကား၏ ဘေး ဝန်းကျင် အနီးအဝေး၊ အရှိန်လျော့သွားသောကား၊ ကားရှေ့ဖြတ်သွားသော အရာရှိမရှိ၊ မီးပွိုင့် နှင့် အချက်ပြ သင်္ကေတမျာကို focus ထားပါသည်။ ကင်မရာကရတဲ့ data တွေကို ပုံရိပ်များထုတ်ရန်နှင့် အခြား sensors များကထုတ်ပေးသော data များကို computer စီသို့ပို့ပေးသည်။ camera တွေကလူ့မျက်လုံးကဲ့သို့ပင် အလင်းရောင်ကောင်းစွာမရသောအချိန်နှင့် ညအချိန်တို့တွင် ပတ်ဝန်းကျင်ရှိအရာ များ၏ အကွာဝေး နှင့်နေရာတို့ကိုထောက်လှမ်းရာတွင် ကြန့်ကြာပြီးတိကျမှုနည်းလာသောကြောင့် uber car များတွင် ကျန် sensor နှစ်ခုကို တပ်ဆင်အသုံးပြုထားသည်။
2. Radar: Radar system သည် အရာဝတ္ထုတော်တော်များကိုရိုက်ခတ်၍ ပြန်လာနိုင်သော ရေဒီယိုလှိုင်းများကိုထုတ်လွှတ်သည်။ ၎င်းလှိုင်းများ၏ ပြန်လာသောကြာချိန်နှင့် ပြောင်းလဲလာသောကြိမ်နှုန်း တို့မှတဆင့် အမြန်နှုန်းနှင့် အကွာအဝေးတို့ကိုဆန်းစစ်နိုင်သည်။ radar သည် တစ်ခြား sensors type နှစ်ခု ထက်ထူးခြားချက်တာက အရာဝတ္ထု၏အရှိန် ကိုတိတိကျကျတိုင်းတာနိုင်တာဖြစ်တယ်။ radar တွေကို ၎င်းတို့၏ ကြီးမားသောအရာဝတ္ထုများတွင်လှိုင်းရိုက်ခတ်၍ ထောက်လှမ်းနိုင်မှု တိကျကောင်းမွန်သောကြောင့် အရင်နှစ်များကတည်းက အရှိန်ထိန်းကိရိယာဖြစ်သုံးခဲ့ကြသည်။ ဒါပေမဲ့ ရိုက်ခတ်မှုဧရိယာသေးငယ် ပျော့ပျောင်းတဲ့ လူ,တိရိစ္ဆာန်ကဲ့သို့သော အရာများတွင် ထောက်လှမ်းနိုင်မှုသည် လျော့ကျသွားပါသည်။ camera and radar နှစ်ခုကိုကောင်းစွာအသုံးပြုနိုင်သော်လည်း ၎င်းတို့နှစ်ခုလုံးမလုပ်နိုင်သော အခြေနေမျိုး ရှိတာမို့ uber ကားတွေမှာ laser sensor ကိုထပ်ပေါင်းထည့်ထားတာဖြစ်တယ်။
3. Lidar: Lidar လုပ်ဆောင်မှုက radar ကဲ့သို့ပေမဲ့ ရေဒီယိုလှိုင်းများအစား အနီအောက်ရောင်ခြည်ကိုထုတ်လွှတ်တာဖြစ်ပါတယ်။ခေါင်မိုးတွင်တပ်ဆင်ထားသော sensor သည်အမြင့်ဆုံး အရှိန်နှင့် လည်နေပီးပတ်ဝန်းကျင်၏တိကျသော 3D ပုံရိပ်တွေတည်ဆောက်ပေးသည်။ အခုအခြေနေတွင်သုံးထားသော Velodyne VLS-128 sensor သည် laser beams 128 ခုကို မီတာ ၃၀၀ အတွင်းက အရာတွေကို စုံးစမ်းထောက်လှမ်းဖို့ အသုံးပြုထားပါတယ်။ ၃၆၀ ဒီရီတစ်ပတ်လည်တိုင်းတွင် တစ်စက္ကန့်တွင် 4 million datapoints များထုတ်လုပ်နေတာဖြစ်တယ်။ Lidar က camera ကဲ့သို့အလင်းအခြေခံ sensor မျိုးဖြစ်သော်လည်း cameraလိုပတ်ဝန်းကျင်က အလင်းရောင်မလိုဘဲ ကိုယ်ပိုင်အလင်း ထုတ်လွှတ်နိုင်တာက အားသာချက်တစ်ခုဖြစ်သည်။သို့သော် ၎င်း၏စွမ်းဆောင်ရည်သည်လည်း မိုးသည်းခြင်း နှင်းထူးခြင်းကဲ့သို့သော ပတ်ဝန်းကျင်အခြေနေမျိုးမှာ လျော့ကျနိုင်ပါတယ်။
Mercedes Benz Autonomous Prototype
********************************************
German ကားထုတ်လုပ်သူတွေဖြစ်တဲ့ mercedes benz ကလည်း Uber car များကဲ့သို့ camera, lidar နဲ့ radar sensors များအသုံးပြု၍ အလိုလျောက် မောင်းနှင်နိုင်သော ကားများ ထုတ်လုပ်လျက်ရှိသည်။ ကားပတ်ဝန်းကျင်ကို လေ့လာဖို့တွက် camera မြောက်မြားစွာ သုံးထားပါသည်။ စိတ်ဝင်စားဖို့ကောင်းသောအချက်ကတော့ ပုံရိပ်နှစ်ခုမှတူညီသော အချက်များကိုဆွဲထုတ်၍ အကွာဝေး တိုင်းနိုင်သည့် လုပ်ဆောင်မှုတူညီသော camera နှစ်ခုကို တစ်ပြိုင်နက်အလုပ်လုပ်စေရန်ပြုလုပ်၍ တပ်ဆင်ထားသောအချက်ဖြစ်ပါတယ်။ stereo camera တစ်လုံးတည်းကနေ မောင်းနှင်နေသော kilometer တိုင်းတွက် 100 gigabyte datas များကိုထုတ်လုပ်နိုင်သည်ဟု ဆိုထားပါသည်။
The Tesla Autopilot
**********************
Autopilot system ကိုစတင်အသုံးပြုချိန်က ကမ္ဘာပေါ် တွင်အသုံးပြုနေကျသော စနစ်တစ်ခုဖြစ်သည့် လိုက်လျောညီထွေပြုမူနိုင်သော steering and brake/accelerate စနစ်ကိုသာ ပေါင်းစပ်အသုံးပြုထားတာဖြစ်တယ်။ ၂၀၁၆ အောက်တိုဘာမှာ tesla sensors များကို upgrade မြှင့်ပီး autopilot စနစ်ကို software upgrade ပြုလုပ်ခဲ့သည်။
Tesla တွင်တပ်ဆင်ထားသော sensor type တစ်ခုစီ လေ့လာကြည့်ကြစို့
Cameras: ရှေ့ပိုင်းမြင်ကွင်းအတွက် focal lengths .မတူသော cameras လေးလုံးပါဝင်သည်။ focal length ကျဥ်းသောရှေ့ကင်မရာသည်ရှေ့အောက်ပိုင်းသို့ 250 မီတာအထိရိုက်ကူးနိုင်ပီး အနည်းငယ်ကျယ်သော ကင်မရာသည် ရှေ့ပိုင်းကို 150 မီတာထိရိုက်ကူးသည်။ အရှေ့ပိုင်း 60 မီတာထိရိုက်ကူးနိုင်သော wide-angle ကင်မရာတစ်ခု နှင့် ရှေ့ဘက်နှင့်ဘေးဘက်အောက်ခြေကို 80 မီတာထိ ရိုက်ကူးနိုင်သော ကင်မရာတစ်ခုပါသည်။ wide-angle camera သည် လမ်းသင်္ကေတများ၊ မီးပွိုင့်အချက်ပြများကိုဖတ်၍ သင်္ကေတအတိုင်း ကားကိုပြုမူစေရန်အတွက်သုံးထားခြင်းဖြစ်သည်။
Radar: ရှေ့တွင်တပ်ဆင်ထားသော radar သည် ကားရှေ့ပိုင်း 160 မီတာကို ဖတ်နိုင်သည်။
Sonar: 360 ultrasonic sonar သည် ကား၏ ၈ မီတာပတ်လည်ကိုထောက်လှမ်းနိုင်သည်။
၎င်း sonar sensor သည် မည်သည့် မြန်နှုန်းဖြင့်မဆို အလုပ်လုပ်နိုင်ပီး ကားပတ်ဝန်ကျင်နီး ကပ်လာသောအရာများကို ထောက်လှမ်းနိုင်ရန်အသုံးပြုထားသည်။ ultrasonic sensor က လမ်းကြောင်းပြောင်းရာတွင် ကားကိုကူညီရန်တွက်လည်းအသုံးပြုထားခြင်းဖြစ်သည်။ ဒီ sensor ၏အကွာဝေးသည် တစ်ခြား sensor များနှင့်နှိုင်းယှဥ်ပါကအတိကျကန့်သတ်ထားပီး 8 မီတာ အကွာဝေးတွင်းသာရှိသည်။
Tesla ကားများတွင် uber နှင့် အခြား အလိုလျောက်မောင်းနှင်နိုင်သောကားများကဲ့သို့ lidar sensor ကိုအသုံးပြုထားခြင်းမရှိပါဘူး။ tesla သည် level 4/5 အဆင့် အလိုလျောက်မောင်း နှ င်နိုင်သော ကားများတွင် စွမ်းဆောင်ရည်မြင့်မားသော camera များနှင့် စွမ်းအားမြင့် radar နှစ်ခုပေါင်းစပ် အသုံးပြုခြင်းက လုံလောက်သည်ဟုယုံကြည်ထားသည်။ tesla က radar ၏စျေးနှုန်းနှင့် အားနည်းချက်များ ကြောင့် autopilot စနစ်တွက်မသုံးသင့်ကြောင်းပြောထားသည်။
သို့သော် Uber, Tesla, Waymo နှင့် တစ်ခြားကားထုတ်လုပ်သူတွေက sensors များအသုံးပြုရာတွင် radar sensor နှင့် lidar sensor အသုံးပြုခြင်းကို ငြင်းခုန်မှုရှိကြသော်လည်း camera ကိုတော့အများဆုံး အသုံးပြုကြသည်။ ထို့ကြောင့် camera နှင့် computer vision ကိုလေ့လာခြင်းသည် အလိုလျောက်မောင်းနှင်သောကားများတွက် အကျိုးရှိပါသည်။
06/03/2020
Lambda Expression/function , Anonymous Function , Higher-Order Function in Python
Author : Win Htut (https://www.facebook.com/WinHtutEquation )
Lambda Expressions/function
def myFun(x):
return x*2
ပုံမှန် function တစ်ခုကို ကြေငြာမယ်ဆိုရင် def ဆိုတဲ့ keyword ကိုသုံးရသလို ထို function ရဲ့ function name ကိုလည်း ထည့်ပေးရပါတယ်။ သို့သော် lambda function တွင်မူ def လည်း မသုံးသလို function name ကိုလည်း ရေးပေးစရာမလိုပါဘူး။ ထိုနည်းတူ return ပြန်ရန် အတွက်လည်း return ဆိုသည့် keyword ကိုသုံးပေးစရာမလိုပါဘူး ။ ထိုကဲ့သို့ function name မရှိတဲ့အတွက် anonymous function လို့လည်း ခေါ်ကြပါတယ်။
Declaration of lambda function
lambda y: y*2
lambda function ကို ကြေငြာရန် lambda ဆိုတဲ့ keyword ကို သုံးပါတယ်။ သူ့နောက်မှာ ကြေငြာထားတဲ့ y သည် parameter ဖြစ်ပြီး function header အဆုံးကို colon နဲ့ ပြပါတယ်။ y*2 ထို lambda function ရဲ့ return value ဖြစ်ပါတယ်။ return value သည် function object အနေနဲ့ return value ပြန်ပေးမှာ ဖြစ်တဲ့အတွက် variable ထဲသို့လည်း assign လုပ်နိုင်ပါတယ်။
x=lambda y: y*2
print(x(3))
အထက်ပါ program ကို run ကြည့်လျှင် 6 ကို ပြန်ရပါမည်။ lambda သည် function object ကို ပြန်ပေးပါသည်။ ထို့ကြောင့် x သည် function object ဖြစ်သွားပြီး x ထဲတွင် parameter အနေဖြင့် 3 ကို ထည့်လို့ ရခြင်းဖြစ်သည်။ parameter အနေဖြင့် ထည့်ပေးလိုက်သော 3 သည် y နေရာတွင် ဝင်ရောက်သွားမည်ဖြစ်ပြီး y*2 ဆိုသောကြောင့် output အနေဖြင့် 6 ကို ရရှိခြင်း ဖြစ်သည်။ ထို program ထဲတွင် print(x) ဟု ရေးပြီး run ကြည့်ပါက အောက်ပါ အတိုင်း function lambda ကို ရရှိပါမည်။မိမိ အသုံးပြုသော python version အပေါ်မူတည်ပြီး output မှာလည်း အနည်းငယ်ကွဲပြားနိုင်ပါသည်။
Click here to claim your Sponsored Listing.
Category
Contact the business
Telephone
Website
Address
Pyin Oo Lwin
Yangon
11071