🙆B.1.1 Lifecycle Node ရှင်းတမ်း

code ရေးတာက ရှည်လျားလို့ git သာ clone လိုက်ပါတော့။

git clone git@github.com:ROM-robotics/rom_lifecycle_demo.git

build လုပ်ပြီး ရင် listener ကို run ကြည့်ပါ။

ros2 run rom_lifecycle_demo lifecycle_listener

ပြီးရင်တော့ talker ကို run ပါ။

ros2 run rom_lifecycle_demo lifecycle_talker

ခုချိန်မှာဆို node နှစ်ခု ရှိပေမယ့် topic နဲ့မချိတ်သေးပါဘူး။ ဘာလို့ဆိုတော့ publisher သည် data ကို publishing မလုပ်လို့ပဲဖြစ်ပါတယ်။ ခုတခါ service client ကို run ပြီး node shutdown ဖြစ်သည်အထိစောင့်ကြည့်ပါ။

ros2 run rom_lifecycle_demo lifecycle_service_client

ဒီတခါတော့ publisher သည် data ကို publish လုပ်လိုက်ပြီမို့လို့ listener က data ရရှိသွားပြီဖြစ်ပါတယ်။ publish လုပ်နေတာကို နှစ်ခါတွေ့ရပြီး ရပ်သွားပါတယ်။ ဘယ်လိုလုပ်လိုက်တာတုန်းဗျ။ implement ကတော့ Code ထဲမှာကြည့်ပေါ့ဗျ။

အရေးကြီးတာကတော့ talker အလုပ်လုပ်သွားပုံက ဒီလိုဗျ။ service client ရဲ့ callee_script ရဲ့ procedure အတိုင်းလုပ်သွားတာဖြစ်ပါတယ်။ activate, deactivate, activate, deactivate အစီအစဥ်အတိုင်းလုပ်သွားတဖြစ်ပြီး activate ဖြစ်ချိန်မှာပဲ talker သည် data ကို publish လုပ်သွားတာဖြစ်ပါတယ်။ အောက်ကပုံကို ကြည့်ပါ။

Last updated