ROS 2 lori VPN: ìwádíì kì í ṣe ọ̀nà dátà
Rírí àwọn ẹlẹgbẹ́ nípasẹ̀ ìwádíì kò fi hàn pé àwọn ẹrù ń dé. Ṣàyẹ̀wò RMW, àwọn ibi ìparí tí a kéde àti iṣẹ́ kan ṣáájú kí o tó yí DDS padà tàbí kí o fi olùdarí kun.
Àwọn ìkànnì ROS 2 méjì ní ìparí tí ó yàtọ̀ ti VPN lè ṣe àkójọ àwọn àkòrí ara wọn, ṣùgbọ́n wọn kò lè fi ìfiránṣẹ́ kan jáde. Ìwádíì àti dátà olùmúlò jẹ́ pàṣípààrọ̀ ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn ọ̀nà ọ̀tọ̀ọ̀tọ̀, gbongbò ìwádíì kò sì gbé àwọn ẹrù lọ. Ṣíṣe àyẹ̀wò ọ̀kan kí o sì rò pé èkejì ni ó jẹ́ ìdí tí àwọn ẹgbẹ́ fi ń yí middleware padà nígbà tí tunnel kò gbé dátà lọ rárá. Ìlànà tí ó wà nísàlẹ̀ yà àwọn àbájáde méjì sọ́tọ̀ kí a tó yí ohunkóhun padà.
Ohun tí gbongbò ìwádíì ń gbé ní ti gidi
Nínú Fast DDS, Discovery Server ń pín ìsọfúnni nípa àwọn ibi ìparí: ẹni tí ó ń tẹ̀ jáde, ẹni tí ó ń forúkọ sílẹ̀ àti QoS tí ẹnì kọ̀ọ̀kan ń retí. Nígbà tí àwọn ẹlẹgbẹ́ bá mọ ara wọn, dátà olùmúlò máa ń rìn tààrà láàrín wọn dípò kí ó gba inú server yẹn. Dídé server fi hàn pé alárinà àwọn ìmọ̀ràn dáhùn, kì í ṣe ju bẹ́ẹ̀ lọ. VPN tí a darí ṣì nílò ọ̀nà tí ń ṣiṣẹ́ ní ẹ̀gbẹ́ méjèèjì láàrín àwọn àdírẹ́sì tí àwọn ẹlẹgbẹ́ ń kéde.
Ìyàtọ̀ yẹn tún ṣàlàyé àwọn ìkùnà apá kan, níbi tí àwọn ẹlẹgbẹ́ tí ó wà tẹ́lẹ̀ ń tẹ̀síwájú pàṣípààrọ̀ dátà nígbà tí ìwádíì tuntun ń dá iṣẹ́ dúró. Kà wọ́n bí ìwádìí méjì ọ̀tọ̀ọ̀tọ̀.
Ka RMW tí àwọn ìkànnì ń lò ní ti gidi
ROS 2 lè gbé àwọn middleware oríṣiríṣi, àti pé oníyipada tí a kó jáde nínú shell rẹ kò dé àwọn ìlànà tí a bẹ̀rẹ̀ níbòmíràn. Béèrè lọ́wọ́ ẹ̀rọ tí ń ṣiṣẹ́ dípò ìtàn terminal rẹ.
printenv RMW_IMPLEMENTATION
ros2 doctor --report | head -n 20Oníyipada tí a kò gbé kalẹ̀ máa ń túmọ̀ sí àìlẹ́gbẹ́ tí a fi sínú ẹ̀rọ, èyí tí ó lè yàtọ̀ láàrín àwọn ẹ̀rọ nínú àdánwò kan náà. Ìròyìn tún dárúkọ ìpínkiri àti middleware tí a ń lò, nítorí náà fi wọ́n wé ní ẹ̀gbẹ́ méjèèjì tunnel kí o tó rò pé wọ́n bá ara wọn mu. Daemon ìlà àṣẹ ROS ń tọ́jú ipò nínú cache, nítorí náà tún un bẹ̀rẹ̀ lẹ́yìn yíyí àyíká padà dípò kí o jẹ́ kí daemon àtijọ́ dáhùn fún ìṣètò àtijọ́. Kọ ìpínkiri àti RMW àwọn olùgbàlejò méjèèjì sínú àwọn àkọsílẹ̀ àdánwò nígbà tí àpéjọ ṣì ṣí.
Dán ìwádíì àti dátà wò gẹ́gẹ́ bí àbájáde méjì
Yan àkòrí tí kò léwu kí o sì wọn ìmọ̀ràn lọ́tọ̀ọ̀tọ̀ sí ìfijíṣẹ́. Àṣẹ info ń ṣe àkójọ àwọn ibi ìparí àti QoS, nígbà tí echo ń fi hàn bóyá ìfiránṣẹ́ kan ń kọjá ọ̀nà ìsopọ̀ níti gidi.
ros2 topic info /chatter --verbose
ros2 topic echo /chatter --onceÌfarahàn àwọn ibi ìparí nínú àbájáde info jẹ́ àbájáde ìwádíì. Dídé ìfiránṣẹ́ sí alátìlẹ́yìn jẹ́ àbájáde ìgbékalẹ̀, àti èkejì nìkan ni ó ń dán ọ̀nà tí ohun èlò nílò wò. Nígbà tí ìwádíì ń ṣiṣẹ́ tí echo sì ń parí àkókò, ṣàyẹ̀wò àwọn àdírẹ́sì tí a kéde àti ọ̀nà ìpadà dípò iṣẹ́ ìwádíì. Ṣe àwọn àṣẹ méjèèjì láti olùgbàlejò kọ̀ọ̀kan, nítorí ọ̀nà VPN tí kò dọ́gba máa ń fi ara rẹ̀ hàn láti ẹ̀gbẹ́ kan ṣoṣo.
Yí ìgbẹ́kẹ̀lé kan padà ní ẹ̀ẹ̀kan
Nígbà tí ọ̀nà dátà bá kùnà, yẹra fún yíyí middleware, ipò ìwádíì àti ìwọ̀n ìfiránṣẹ́ padà nínú àpéjọ kan náà, nítorí lẹ́yìn náà kò lè ṣe àfikún àbájáde kankan. Zenoh RMW jẹ́ àṣàyàn tí ó bófin mu, ṣùgbọ́n olùdarí rẹ̀ di ìgbẹ́kẹ̀lé mìíràn tí ó gbọdọ̀ dé nípasẹ̀ tunnel.
export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run rmw_zenoh_cpp rmw_zenohdLábẹ́ RMW yẹn olùdarí ń gbé ìwádíì nínú ìṣètò àìlẹ́gbẹ́ Jazzy, àti pé a ti pa ìwádíì multicast kúrò níbẹ̀, nítorí náà ìgbẹ́kẹ̀lé yìí jẹ́ ti àwọn àkọsílẹ̀ rẹ dípò àbá tí a yá láti inú middleware mìíràn. Jẹ́ kí iṣẹ́ dúró ṣinṣin nígbà tí o ń yí ètò kan padà, lẹ́yìn náà tún àdánwò echo ṣe kí o sì kọ ìtọ́sọ́nà, ìwọ̀n ìfiránṣẹ́ àti àwọn ipò ìsopọ̀. Ṣe àfiwé náà lẹ́ẹ̀mejì láti yà ìlera tòótọ́ sọ́tọ̀ kúrò nínú ìsopọ̀ tuntun tí ó ní oríire. Tí ìyípadà kan bá mú ìwádíì dára sí i nígbà tí ìfijíṣẹ́ wà bí ó ti wà, o ti gbé iṣẹ́ ìmọ̀ràn lọ, kì í ṣe ọ̀nà dátà.