Àwọn kókó ROS 1 lórí VPN: tẹ̀lé ibi ìparí tí a kéde
Ìforúkọsílẹ̀ master ROS 1 kì í gbé dátà kókó. Ka URI nodu tí a kéde, jẹ́ kí àdírẹ́sì yẹn lè ṣe ìtọ́sọ́nà, lẹ́yìn náà gba ibudo olùtẹ̀jáde láàyè.
Ibùdó iṣẹ́ rẹ dé master ROS 1 nípasẹ̀ ọ̀nà abẹ́lẹ̀, síbẹ̀ ó ṣì ń fi àkójọ kókó tí ó ṣófo hàn. Àpẹẹrẹ yìí wọ́pọ̀ nítorí ìforúkọsílẹ̀ master àti gbígbé kókó jẹ́ ìjíròrò méjì ọ̀tọ̀, àti pé ìkọ́kọ́ nìkan ni ó ń gba master kọjá. Àkójọ ìṣàyẹ̀wò tí ó wà nísàlẹ̀ ń gba ìjíròrò kejì kọjá: ibi ìparí tí olùtẹ̀jáde kéde, àdírẹ́sì tí olùforúkọsílẹ̀ gbọ́dọ̀ dé, àti àṣẹ tí ó jẹ́ kí àwọn méjèèjì lè sọ̀rọ̀. Gbogbo ohun tí ó wà níbí kan ROS 1 àtijọ́ nìkan, tí àkókò àtìlẹ́yìn Noetic rẹ̀ parí ní oṣù Kàrún ọdún 2025.
Ìgbésẹ̀ 1: fi hàn pé ìsopọ̀ master kì í ṣe ìsopọ̀ kókó
Bẹ̀rẹ̀ nípa yíya ohun tí ó ń ṣiṣẹ́ kúrò nínú ohun tí kò ṣiṣẹ́. rostopic list tí ó ṣẹ́gun fi hàn pé shell rẹ dé ibudo XMLRPC ti master àti pé master mọ àwọn kókó; kò sọ nípa bóyá olùforúkọsílẹ̀ lè dé ọ̀dọ̀ olùtẹ̀jáde. Àwọn àṣẹ mẹ́ta tí ó wà nísàlẹ̀ ń fi ìyàtọ̀ yìí hàn, gbogbo wọn sì jẹ́ fún kíkà nìkan.
echo "$ROS_MASTER_URI"
rostopic list
rostopic info /chatter
Ìjáde rostopic info dárúkọ URI nodu olùtẹ̀jáde, èyí tí ó jẹ́ àdírẹ́sì XMLRPC lórí agbàlejò olùtẹ̀jáde. Àdírẹ́sì yẹn ni olùforúkọsílẹ̀ rẹ yóò pè nígbà tí ó tẹ̀lé, nítorí náà ó gbọ́dọ̀ dé látí ibikíbi tí olùforúkọsílẹ̀ bá ti ń ṣiṣẹ́. Bí ó bá tọ́ka sí ìfarahàn tí ó wà nínú LAN robot fúnra rẹ̀ nìkan, wíwá master yóò ṣẹ́gun, ṣùgbọ́n dátà kò ní dé rárá.
Ìgbésẹ̀ 2: ka ibi ìparí tí a kéde láti inú nodu fúnra rẹ̀
ROS 1 yan ìdánimọ̀ agbàlejò tí ó kéde láti ROS_IP tàbí ROS_HOSTNAME nígbà tí a bá ṣètò ọ̀kan nínú wọn, bí bẹ́ẹ̀ kọ́ ó padà sí yíyanjú orúkọ agbàlejò fúnra rẹ̀. Yẹ̀ àyíká ìlànà tí a ṣe jáde gan-an wò, nítorí ẹ̀ka systemd, àpótí tàbí tẹ́mínà kejì lè gbé iye tí ó yàtọ̀ sí ti shell tí ìdánwò rẹ ti ṣiṣẹ́.
echo "$ROS_IP" "$ROS_HOSTNAME"
rosnode info /talker
getent hosts robot-host
Ìkéde orúkọ agbàlejò ń ṣiṣẹ́ nìkan bí ẹlẹ́gbẹ́ kọ̀ọ̀kan bá yíyanjú orúkọ yẹn sí àdírẹ́sì tí a lè dé tí a fẹ́. Bí orúkọ yẹn bá ń yíyanjú nínú nẹ́tíwọ́kì robot fúnra rẹ̀ nìkan, ibùdó iṣẹ́ ní ẹ̀gbẹ́ kejì ọ̀nà abẹ́lẹ̀ kò ní ọ̀nà láti lò ó, VPN tí kò sì ti ẹ̀yà DNS kankan ń mú àìbáramu pọ̀ sí i. Nígbà tí ìtòlẹ́sẹẹsẹ ti ṣe ìtọ́sọ́nà, fífi ROS_IP sí àdírẹ́sì ọ̀nà abẹ́lẹ̀ jẹ́ ìyípadà tí ó kéré. Ohunkóhun tí o bá yàn, kọ ọ́ fún ẹ̀gbẹ́ méjèèjì, nítorí olùtẹ̀jáde àti olùforúkọsílẹ̀ tí kò gbà lórí ìdánimọ̀ yóò ṣe ìdúnàádúrà, lẹ́yìn náà wọn kò ní lè sopọ̀.
Dúró níbí bí URI tí a kéde bá ń lo àdírẹ́sì tí ẹlẹ́gbẹ́ kankan kò lè tọ́sọ́nà sí. Kò sí iṣẹ́ odì iná kankan tí yóò tún orúkọ tí ó ń yíyanjú sí ìfarahàn tí kò tọ́ ṣe.
Ìgbésẹ̀ 3: jẹ́ kí àdírẹ́sì tí a kéde lè yíyanjú àti ní ìtọ́sọ́nà
Pẹ̀lú URI ní ọwọ́, dán ìdéwọ̀ wò láti agbàlejò olùforúkọsílẹ̀ dípò láti ọ̀dọ̀ robot. Ibudo TCPROS ni a yan nígbà ìdúnàádúrà, nítorí náà ìdánwò àkọ́kọ́ tí ó wúlò ni ibudo XMLRPC, ìdánwò ìparí tí ó wúlò sì ni socket tí a ti ṣètò. Ọ̀nà tí ó wà ní ẹ̀gbẹ́ kan nìkan jẹ́ àṣìṣe tí ó wọ́pọ̀ lórí VPN tí a tọ́sọ́nà, ọ̀nà ìpadà sì ṣe pàtàkì bí ọ̀nà ìlọ.
ip route get 10.70.0.2
nc -vz 10.70.0.2 33911
ss -tnp dst 10.70.0.2
Ìfarahàn TUN tí a tọ́sọ́nà ń gbé àwọn ìjíròrò IP wọ̀nyí láì fa apá Ethernet robot gbòòrò, èyí tí olùṣakoso ọ̀nà jíjìn fẹ́ ní gbogbo ìgbà. Bí ohun kan nínú àkópọ̀ bá gbára lé ìpolongo tàbí multicast dípò, àwọn ohun tí ó nílò yẹn gbọ́dọ̀ ṣe àgbéyẹ̀wò lọ́tọ̀; yíyí ọ̀nà abẹ́lẹ̀ padà sí TAP láti tẹ́ ẹ̀rọ kan lọ́rùn ń mú nẹ́tíwọ́kì gbòòrò fún gbogbo olùkópa.
Dúró níbí bí ọ̀nà tàbí ọ̀nà ìpadà kò bá sí. Olùtẹ̀jáde tí ó ń dáhùn lórí agbàlejò rẹ̀ ṣùgbọ́n tí a kò lè dé ọ̀dọ̀ rẹ̀ láti ibùdó iṣẹ́ ní ìṣòro ìtọ́sọ́nà, kì í ṣe ìṣòro ROS.
Ìgbésẹ̀ 4: gba ìjíròrò àwọn ẹlẹ́gbẹ́ láàyè kí o sì wo kókó kan
Ṣí àwọn ibudo tí ìjíròrò tí a dúnàádúrà nílò nìkan, kí o sì fi ìlà kọ̀ọ̀kan mọ́ àwọn olùkópa tí a kéde. Olùgbọ́ master kì í ṣe ohun tí ó ń gbé ẹrù kókó kọjá, nítorí náà gbígba òun nìkan láàyè fi ibi ìparí olùtẹ̀jáde sílẹ̀ ní títì. Pa àwọn olùgbọ́ ROS mọ́ ní ààlà VPN aládàáni dípò fífi wọ́n hàn sí íńtánẹ́ẹ̀tì gbogbo ènìyàn.
rostopic hz /chatter
rostopic echo -n1 /chatter
rosnode ping /talker
Wo kókó kan tí kò léwu láti ọ̀dọ̀ olùtẹ̀jáde gidi dé ọ̀dọ̀ olùforúkọsílẹ̀ gidi kí o sì fìdí ibi ìparí tí a kéde àti ọ̀nà ìdáhùn múlẹ̀. Ìfiránṣẹ́ kan fi hàn pé ọ̀nà ń ṣiṣẹ́; ìwọ̀n tí ó dúró ṣinṣin fi hàn pé ó ṣì wà ní ṣíṣí. Pa ìṣàkóso ẹ̀rọ àti àwọn ìṣàyẹ̀wò ààbò kúrò nínú ìdánwò nẹ́tíwọ́kì nìkan yìí, nítorí kókó tí ó ń ṣiṣẹ́ kì í jẹ́rìí robot tí ó ń ṣiṣẹ́. Kọ ẹ̀yà ROS àti orísìí ibi ìparí tí o ṣàkíyèsí, kí ẹni tí ó tẹ̀lé lè yàtọ̀ ìyípadà ìtòlẹ́sẹẹsẹ kúrò nínú ìpadàsẹ́yìn.
Àkójọ ìṣàyẹ̀wò máa ń parí nígbà tí URI tí a kéde bá dé láti ọ̀dọ̀ olùforúkọsílẹ̀, ibudo tí a dúnàádúrà wà ní ṣíṣí fún ẹlẹ́gbẹ́ yẹn nìkan, kókó tí a kéde kan ń ṣàn, àti pé a ti kọ àwọn iye àyíká fún agbàlejò méjèèjì. ROS 1 àtijọ́ kò ní gba àwọn àtúnṣe ní apá yìí, nítorí náà àkọsílẹ̀ ni apá tí ó ń bá a lọ ní ṣíṣẹ́ lẹ́yìn tí àwọn ènìyàn bá yí padà.