ROS Coding.1.1.myrobot1.urdf ရွင္းလင္းခ်က္မ်ား

အရင္ topic မွာ simulation လုပ္ဖို႕ ရန္အတြက္ robot model တစ္ခုကို တည္ေဆာက္ခဲ့ပါတယ္။ robot model ကို တည္ေဆာက္ရန္အတြက္ urdf ကို အသံုးျပဳျပီး တည္ေဆာက္ခဲ့ပါတယ္။ urdf ရဲ႕ အဓိပၸါယ္ကိုေတာ့ ေျပာခဲ့ျပီးသားျဖစ္ပါတယ္။ ဒီ tutorial မွာေတာ့ urdf ထဲတြင္ အသံုးျပဳထားတဲ့ tag ေတြ အေၾကာင္းကို ရွင္းျပသြားမွာ ျဖစ္ပါတယ္။ robot model တစ္ခုမွာ base_link နဲ႕ child_link ဆုိျပီး အပိုင္း ၂ ပိုင္း ပါဝင္ဖြဲ႕စည္းထားပါတယ္။ Base_link ကေတာ့ robot ရဲ႕ အဓိက အက်ဆံုးအပိုင္းျဖစ္ျပီး child_link ေတြကေတာ့ base_link ကို လာျပီးတြဲဆက္ထားတဲ့ အပိုင္းေတြျဖစ္ပါတယ္။ myrobot1.urdf မွာ ပါဝင္တဲ့ tag ေတြကို တစ္ခုခ်င္း လိုက္ၾကည့္ၾကည့္ရေအာင္။

<link name="base_link">
     <visual>
          <geometry>
               <box size="0.2 .3 .1" />
          </geometry>
          <origin rpy="0 0 0" xyz="0 0 0.05" />
          <material name="white">
               <color rgba="1 1 1 1" />
          </material>
     </visual>
</link>

ကၽြန္ေတာ္တို႕ရဲ႕ model မွာ main platform နဲ႕ ဘီးေလးဘီး ပါဝင္ပါတယ္။ ဒါဆိုရင္ ကၽြန္ေတာ္တို႕ robot မွာ အပိုင္း ၅ ပိုင္း ပါဝင္ေနတယ္လို႕ ေျပာလို႕ရပါတယ္။ ပထမဆံုး base_link အတြက္ ေရးထားတဲ့ tag ကို ၾကည့္ၾကည့္ရေအာင္။ ဒီမွာ link name ကို ကၽြန္ေတာ္တို႕ base_link လို႕ ေပးထားပါတယ္။ အဆင္ေျပသလိုေပးလို႕ရပါတယ္။

<link name="base_link">

</link>

ဆက္ျပီးေတာ့ link tag ေအာက္က visual ဆိုတဲ့ tag ထဲမွာ ပါဝင္တဲ့ အေၾကာင္းအရာေတြကို ဆက္ၾကည့္ၾကည့္ရေအာင္။ ဆိုတဲ့ tag ကေတာ့ link ရဲ႕ geometry ပံုစံကို ကိုယ္စားျပဳပါတယ္။ base_link အတြက္ ဆိုျပီး box တစ္ခုကို တည္ေဆာက္ထားပါတယ္။ 0.2 ကေတာ့ x axis မွာ ရွိတဲ့ length ကို ကိုယ္စားျပဳတာျဖစ္ျပီး။ 0.3 ကေတာ့ y axis မွာ ရွိတဲ့ length နဲ႕ 0.1 ကေတာ့ z axis အတိုင္း length ျဖစ္ပါတယ္။ ျပီးရင္ေတာ့ box ကို coordinate frame ထဲမွာ ေနရာခ်ဖို႕လိုပါတယ္။ ဒီ tag ကေတာ့ robot platform ရဲ႕ orientation နဲ႕ တည္ေနရာကို ေဖာ္ျပေပးတဲ့ tag ျဖစ္္ပါတယ္။ rpy ကေတာ့ roll, pitch နဲ႕ yaw ျဖစ္ျပီး xyz ကေတာ့ robot ရဲ႕ တည္ေနရာျဖစ္ပါတယ္။ coordinate frame ကေတာ့ Cartesian coordinate frame ေပၚမွာ တည္ေဆာက္ထားတာျဖစ္ပါတယ္။ ဒါကေတာ့ link ရဲ႕ အေရာင္ကို ကိုယ္စားျပဳထားတာျဖစ္ပါတယ္။ အထက္မွာ ေဖာ္ျပခဲ့တဲ့ tag ေတြ အတိုင္းပဲ wheel1, wheel2, wheel3, wheel4 ဆိုျပီး ဆက္လက္တည္ေဆာက္သြားပါမယ္။ ဒါကိုေတာ့ အေသးစိတ္ထပ္မရွင္းျပေတာ့ပါဘူး။ link ေတြ တစ္ခုခ်င္း တည္ေဆာက္ျပီးတာနဲ႕ ၄င္း link ေတြကုိ တစ္ခုနဲ႕ တစ္ခုလိုက္တြဲစပ္ေပးဖို႕လိုအပ္ပါေသးတယ္။ ေအာက္မွာေတာ့ wheel1 နဲ႕ base ဘယ္လိုတြဲစပ္ထားတယ္ဆိုတာကို ဆက္ရွင္းျပေပးပါမယ္။

<joint name="base_to_wheel1" type="fixed">
     <parent link="base_link" />
     <child link="wheel_1" />
     <origin xyz="0 0 0" />
</joint>

joint name ကိုေတာ့ base_to_wheel1 ဆိုျပီး ေပးထားပါတယ္။ type ကေတာ့ fixed type လုိ႕ေပးထားပါတယ္။ ဒီမွာ parent link ကေတာ့ main link ျဖစ္ျပီး child link ကေတာ့ main link ကို တြဲထားတဲ့ ေကာင္ျဖစ္ပါတယ္။ ကေတာ့ child link ရဲ႕ position ကို main link အေပၚမူတည္ျပီး ေဖာ္ျပထားျဖစ္ပါတယ္ခင္ဗ်ာ။။ ေနာက္သင္ခန္းစာမွာေတာ့ ကၽြန္ေတာ္တို႕ရဲ႕ model ကိုု keyboard ကေန တဆင့္ ဘယ္လို ခိုင္းရမယ္ဆိုတာကို ေနာက္ topic မွာ ဆက္ေရးပါမယ္။

results matching ""

    No results matching ""