💙E.5 Controller Plugin Selection
Controller Plugin Selection
ဟုတ်ပြီ။ ဒီတခါတော့ အရင်တုန်းက ကျတော်တို့သိခဲ့တဲ့ local planner ပေါ့။ ခုတော့ သူ့ကို Controller လို့ခေါ်တယ်။ သူ့မှာပါတဲ့ controller ၄ ခုနဲ့ တွဲပြီးသုံးလို့ရမည့် robot type ကို အောက်မှာဖေါ်ပြထားပါတယ်။

ဒီ controller တွေအကုန်လုံးက circular shape robot ရော တခြားပုံစံတွေအတွက်ရော သုံးလို့တော့ ရပါသတဲ့။
RPP ( Regulated Pure Pursuit ) ကတော့ အတိအကျသွားနိုင်တဲ့ စွမ်းဆောင်ရယ်ရှိပြီး kinetic ဖြေရှင်းနိုင်တဲ့ Lattice, Hybird-A* တို့လို planner တွေနဲ့ တွဲပြီးအသုံးပြုထားပါတယ်။ သူ့ကို differential drive robot တွေနဲ့လည်း တွဲပြီးသုံးနိုင်တယ်။ obstacle avoidance မသုံးဘဲ လမ်းကြောင်းအတိုင်းတိတိကျကျ သွားခိုင်းချင်ရင်လည်း ဒီ Planner ကို သုံးပါတယ်။ ကွေ့ရှောင်တဲ့ အနေအထားမျိုးတွေ အတားအဆီးရှိတဲ့ အနေအထားမျိုးတွေမှာတော့ အနည်းငယ် နှေးပါလိမ့်မယ်။
DWB နဲ့ TEB Planner တွေက အတူတူပါပဲ။ အတားအဆီးကို တွေ့တဲ့အနေအထားမျိုးရောက်လာရင်တော့ ဆောင်ရွက်ပုံကွာခြားပါတယ်။ DWB ကတော့ robot သွားဖို့ရာအတွက် ဖြစ်နိုင်တဲ့ trajectories လမ်းကြောင်းတွေကို score သတ်မှတ်ထားတယ်။ အဲ့ score တွေထဲကမှ error အနဲဆုံး cost အနည်းဆုံးကို ရွေးချယ်ပါတယ်။ လိုချင်တဲ့ application နဲ့ behavior အတွက် နဲနဲပါးပါးတော့ Tune ပေးဖို့လိုပါတယ်။
TEB ကတော့ graphic ပုံစံနဲ့ solving လုပ်တာဖြစ်ပြီး dynamic အခြေအနေအတွက် သင့်တော့်ပါတယ်။ ဒါပေမဲ့သူက computing cost လိုတယ်ဗျ။ ( အနဲဆုံး i3 နဲ့ 20hz လောက်လိုမယ်။ ) သူ့ကို tune ဖို့ကတော့ Optimization engine parameters တွေထိ tune ဖို့လိုတယ်။ သူက parameters အရေအတွက် သိပ်အများကြီးလည်း ရှိပုံမရဘူး။ ဒါပေမဲ့ default parameters တွေနဲ့တင် အတိုင်းအတာတခုထိ အသုံးပြုလို့ရပါတယ်။
Rotation Shim Plugin ကတော့ TEB တို့ DWB တို့ကို ကူညီပေးတဲ့ကောင်ပါ။ robot ရဲ့ heading direction အသစ် မရနိုင်သေးခင် လက်ရှိနေရာမှာဘဲ robot ကို rotate ဖြစ်ပြီး recovery လုပ်ပါတယ်။ direction ကွားခြားမှုနှင်အတူ position အရမ်းကြီးကွာမသွားအောင် recovery လုပ်ပေးတယ်ပေါ့ဗျာ။ ဒီနေရာမှာ တချို့ controller တွေကို အသုံးပြုတဲ့အခါ အရမ်းအတိအကျကြီး heading direction ကို ဦးတည်စေတဲ့အခါ controller က အဲ့ဒီ direction နဲ့ အတိအကျတူအောင် သွားဖို့ မတတ်နိုင် ဖြစ်တတ်ပါတယ်။ တချို့ controller တွေကျတော့ ‘spiral out’ ဆိုတဲ့ ခရုပတ်ပုံစံ ပြုမူတတ်ကြတယ်။ ဘာလို့လဲဆိုတော့ translational velocity လိုအပ်တာမို့ လက်ရှိနေရာမှာပဲ rotate ဖြစ်မနေအောင် လုပ်ထားတာမျိုးလည်းရှိတယ်။ rotate ဖြစ်မနေတော့ ကောင်းတာပေါ့ဗျာ။ ဖြစ်နေရင်တော့ တိုင်ပါတ်လို့ပဲ။ Controller plugin ရေးချင်တယ်ဆိုရင်လည်း ရေးလို့ရပါကြောင်း
Last updated