🦖4. Robot ကို စတင်မောင်းနှင်နည်း

Software packages များ

ROM2109 robot ရဲ့ software packages များသည် ros 2 humble အသုံးပြု packages များဖြစ်ပြီး အများအားဖြင့် C++ language ကို အသုံးပြုထားပါသည်။ package name အများစုကို rom2109 နဲ့ စတင်ထားပြီး အောက်ပါ package များပါဝင်ပါသည်။

  • diffdrive_stm32

  • rom2109_description

  • rom2109_controller

  • rom2109_nav2

  • rom2109_autonomy

  • rom2109_emotion_ui

  • rom2109_ai

diffdrive_stm32

ဒီ package သည် stm32 robot controller အတွက် ros2 control ရရှိစေရန်အတွက်ဖြစ်ပါသည်။ robot urdf ဖိုင်ကို run ခြင်းဖြင့် urdf / hw_ros2_control.xacro မှ parameter များကို ရယူပြီး differential drive controller နဲ့ joint state broadcasting တို့ကို controller manager မှတဆင့် လုပ်ဆောင်ပေးမည်ဖြစ်ပါသည်။

robot controller မှ encode ticks များကို micro computer ဆီသို ပို့ပေးမှာဖြစ်ပြီး micro computer မှ robot controller ဆီသို့ motor rpm များကို ပို့ပေးပါသည်။ data ပို့ဆောင်ရာတွင် mcu မှ encoder ticks များသည် တွက်ချက်မှုအရ ၄၂ မိုင် သွားပြီးလျှင် overflow ဖြစ်နိုင်ပါသည်။

rom2109_description

ဒီ package သည် robot design နဲ့ robot model parts များကို စုစည်းထားခြင်းဖြစ်သည်။ robot model ကို solidwork ဖြင့် design ဆွဲပြီး ros2 humble version ဖြင့် အသုံးပြုနိုင်သည်။ urdf ကို xacro ပုံစံပြောင်းထားပြီး rom2109_core.xacro သည် အဓိက ဖိုင်ဖြစ်ပါသည်။

simulation အတွက် camera xacro ဖိုင်နှစ်ခုထဲက နှစ်သက်ရာ အသုံးပြုနိင်သလို robot simulation controller အဖြစ် gazebo_control နှင့် gazebo_ros2_control နှစ်မျိုးရှိပြီး နှစ်သက်ရာအသုံးပြုနိုင်သည်။ gazebo_ros2_control သည် latest technology ဖြစ်တာမို့ သူ့ကိုပဲဦစားပေးအသုံးပြုသင့်သည်။

Hardware robot အတွက် hw_ros2_control.xacro ကို အသုံးပြုရမှာဖြစ်ပြီး လက်ရှိ အသုံးပြုရမည့် ဖိုင်ဖြစ်ပါသည်။

rom2109_controller

ဒီ package ကတော့ differential drive controller ကို launch လုပ်ပေးမည့် package ဖြစ်သည်။ controller တွင် ပြင်ဆင်ရမည့် အချက်အလက်များကို difbot_controllers.yaml မှာ သွားရောက်ပြင်ဆင်နိုင်ပါသည်။ Hardware Robot ကို စတင်ရန်အတွက် ပထမဦးဆုံး run ပေးရမည့် launch ဖိုင်ပါရှိသည့် package ဖြစ်ပါသည်။

rom2109_nav2

သူကတော့ ros2 ရဲ့ အလိုအလျောက်သွားလာနိုင်သည် navigation2 လို့ခေါ်တဲ့ metapackages ထဲက packages များကို အသုံးပြုထားသည်။ အလိုအလျောက်သွားလာဖို့အတွက်အလုပ်လုပ်ပေးတဲ့ package ဖြစ်ပြီး system တစ်ခုလုံးတွင် အရှုပ်ထွေးဆုံး နှင့် နားလည်ရအခက်ဆုံး အစိတ်အပိုင်းများပါဝင်သည်။

rom2109_autonomy

သူကတော့အလိုလျောက်သွားလာနိုင်တဲ့ mobile robot ကို wap points goal များပေး၍ တဆင့်ခြင်းသွားလာနိုင်အောင် behavior tree လို့ခေါ်တဲ့ C++ library ကို အသုံးပြုထားသည့် package ဖြစ်ပါသည်။ groot နှင့် ပူးတွဲ၍လည်း အလုပ်လုပ် နိုင်သော package ဖြစ်ပါသည်။

rom2109_emotion_ui

robot ရဲ့ face UI အတွက်ဖြစ်ပြီး implement မလုပ်ရသေး။

rom2109_ai

Robot အတွက် Object Detection, Recognition နှင့် AI Bot အဖြစ် ဆောင်ရွက်ပေးမည့် package ဖြစ်ပြီး Python, C++ အဓိက အသုံးပြုထားသည်။ CNN, RNN , NLP နည်းပညာ အချို့ပါဝင်သည်။

Last updated