د VPN په مخالفو سرونو کې دوه ROS 2 نوډونه کولی شي د یو بل موضوعات لیست کړي او بیا هم یو هم پیغام ونه رسوي۔ کشف او د کاروونکي معلومات جلا تبادلې دي چې جلا لارې لري، او د کشف سرور بارونه نه لیږدوي۔ یو څه کتل او بل فرض کول هغه لاره ده چې ټیمونه میندویر بدلولو ته رسوي کله چې تونل هیڅکله معلومات نه وړل۔ لاندې پروسه د هر څه د بدلولو دمخه دوه پایلې جلا کوي۔

د کشف سرور واقعاً څه وړي

په Fast DDS کې Discovery Server د پای ټکو په اړه معلومات خپروي: څوک خپروي، څوک ګډون کوي او هر یو کوم QoS ته تمه لري۔ کله چې همکاران یو بل وپېژني، د کاروونکي معلومات هغه سرور ته نه، بلکې مستقیم د دوی ترمنځ سفر کوي۔ سرور ته رسیدل ثابوي چې د پیژندنې منځګړی ځواب ورکوي، نور نه۔ روټ شوی VPN لا هم په دواړو لورو کې د همکارانو د اعلان شوو پتو ترمنځ کاري لاره ته اړتیا لري۔

دا توپیر جزوي ناکامۍ هم تشریح کوي، چې پخواني همکاران معلومات تبادلوي خو نوی کشف له کاره لوېږي۔ دوی د دوو جلا څیړنو په توګه وګورئ۔

هغه RMW ولولئ چې نوډونه یې واقعاً کاروي

ROS 2 کولی شي مختلف میندویرونه بار کړي، او هغه متغیر چې ستاسو په شیل کې صادر شوی وي بل ځای پیل شوو پروسو ته نه رسیږي۔ د خپل ټرمینل تاریخ پرځای د چلیدونکي سیسټم څخه وپوښتئ۔

printenv RMW_IMPLEMENTATION
ros2 doctor --report | head -n 20

نه ټاکل شوی متغیر معمولاً د نصب شوي ډیفالټ معنی لري، چې په ورته تجربه کې د ماشینونو ترمنځ توپیر کولی شي۔ راپور د کارول شوي ویش او میندویر نوم هم اخلي، نو د دوی د برابریدو د فرض کولو دمخه دواړو خواو ته پرتله کړئ۔ د ROS د کمانډ لاین ډیمون حالت کیش کوي، نو د چاپیریال له بدلولو وروسته یې بیا پیل کړئ، پرځای دې چې زوړ ډیمون د زوړ ترتیب لپاره ځواب ووایي۔ د غونډې په خلاصیدو سره دواړو هوسټونو ویش او RMW په ازموینې یادښتونو کې ولیکئ۔

کشف او معلومات د دوو پایلو په توګه وازمویئ

یو بې زیانه موضوع غوره کړئ او پیژندنه د سپارلو څخه بېله اندازه کړئ۔ info کمانډ پای ټکي او QoS لیست کوي، پداسې حال کې چې echo ثابوي چې ایا یو پیغام واقعاً لینک تیریږي۔

ros2 topic info /chatter --verbose
ros2 topic echo /chatter --once

په info تولید کې د پای ټکو ښکاریدل د کشف پایله ده۔ پیغام ته د ګډون کوونکي رسیدل د ترانسپورت پایله ده، او یوازې دوهم هغه لاره ازموي چې اپلیکیشن ورته اړتیا لري۔ کله چې کشف کار وکړ او echo وخت تیر شي، د کشف خدمت پرځای اعلان شوي پتې او د بیرته راستنیدو لاره وګورئ۔ دواړه کمانډونه له هر هوسټ څخه چل کړئ، ځکه چې غیر متقابل VPN لاره ډیری وخت یوازې له یوې خوا څخه ښکاري۔

په یو وخت کې یو انحصار بدل کړئ

کله چې د معلوماتو لاره ناکامه شي، په ورته غونډه کې د میندویر، د کشف حالت او د پیغام اندازې بدلولو څخه ډډه وکړئ، ځکه چې وروسته هیڅ پایله نشي نسبت کیدلی۔ Zenoh RMW قانوني بدیل دی، مګر د هغې روټر بله انحصار ګرځي چې باید د تونل له لارې د لاسرسي وړ وي۔

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run rmw_zenoh_cpp rmw_zenohd

د هغه RMW لاندې روټر کشف په Jazzy ډیفالټ ترتیب کې وړي، او هلته multicast کشف بند دی، نو دا انحصار ستاسو یادښتونو ته اړه لري نه د بل میندویر څخه پور شوي فرض ته۔ یو تنظیم بدلولو پر مهال کاري بار ثابت وساتئ، بیا د echo ازموینه تکرار کړئ او لور، د پیغام کچه او د لینک شرایط ولیکئ۔ د اصلي ښه والي او ناڅاپي بیا وصلیدو ترمنځ توپیر لپاره پرتله دوه ځله چل کړئ۔ که یو بدلون کشف ښه کړي خو سپارل ورته پاتې شي، تاسو د پیژندنې خدمت لېږدولی نه د معلوماتو لاره۔

اړوندې مقالې