ROS 1 umræðuefni yfir VPN: fylgdu tilkynntum endapunkti
ROS 1 master-skráning flytur ekki umræðuefnisgögn. Lestu tilkynnta node-URI, gerðu þetta vistfang fært til leiðsagnar og heimilaðu síðan port útgáfunnar.
Vinnustöðin þín nær í ROS 1 master í gegnum göngin og sýnir samt tóman lista yfir umræðuefni. Þetta mynstur er algengt því master-skráning og flutningur umræðuefna eru tvö ólík samtal, og aðeins hið fyrra fer í gegnum masterinn. Gátlistinn hér að neðan fer í gegnum síðara samtalið: endapunktinn sem útgefandi tilkynnir, vistfangið sem áskrifandi verður að geta náð í, og heimildina sem leyfir parinu að tala saman. Allt hér varðar aðeins gamlan ROS 1, en stuðningsgluggi Noetic hans lauk í maí 2025.
Skref 1: sannaðu að master-tengingin er ekki umræðuefnistengingin
Byrjaðu á að aðskilja það sem virkar frá því sem virkar ekki. Árangursríkt rostopic list sannar að skelinn þín nái porti XMLRPC masterins og að masterinn þekki umræðuefni; það segir ekkert um hvort áskrifandi nái í útgefandann. Skipanalínurnar þrjár hér að neðan gera þennan mun sýnilegan, og allar eru aðeins til lestrar.
echo "$ROS_MASTER_URI"
rostopic list
rostopic info /chatter
Úttak rostopic info nefnir node-URI útgefandans, sem er XMLRPC-vistfang á hýsil útgefandans. Þetta vistfang er það sem áskrifandinn þinn kallar í næst, svo það verður að vera aðgengilegt hvaðan sem áskrifandinn keyrir. Ef það bendir á viðmót sem er aðeins til á eigin LAN róbotssins tekst master-leitin og gögnin koma aldrei.
Skref 2: lestu tilkynnta endapunktinn úr hnútnum sjálfum
ROS 1 velur tilkynnta hýsilauðkennið sitt úr ROS_IP eða ROS_HOSTNAME þegar annað er sett, og fellur annars aftur á eigin nafnaleysingu hýsilsins. Skoðaðu umhverfi ferlisins sem var í raun ræst, því systemd-eining, gámur eða annar endir getur borið annað gildi en skelin þar sem prófið þitt virkaði.
echo "$ROS_IP" "$ROS_HOSTNAME"
rosnode info /talker
getent hosts robot-host
Tilkynning hýsilnafns virkar aðeins ef hver jafningi leysir það nafn í ætlað aðgengilegt vistfang. Ef það nafn er aðeins leyst innan eigin nets róbotssins hefur vinnustöð hinum megin við göngin enga leið til að nota það, og VPN sem ýtir engri DNS-viðskeyti gerir misræmið verra. Að setja ROS_IP á vistfang ganganna er minni breytingin þegar staðfræðin er leiðsögnuð. Hvað sem þú velur skaltu skrá það fyrir báða enda, því útgefandi og áskrifandi sem eru ósammála um auðkenni munu semja og geta svo ekki tengst.
Stoppaðu hér ef tilkynnta URIið notar vistfang sem enginn jafningi getur beint á. Engin eldveggsvinna bætir nafn sem leysist í rangt viðmót.
Skref 3: gerðu tilkynnta vistfangið leysanlegt og leiðsagnað
Með URIið í hendi skaltu prófa aðgengi frá hýsli áskrifandans frekar en frá róbotnum. Port TCPROS er valið í samningaviðræðunum, svo gagnlegt snemmt próf er port XMLRPC og gagnlegt seinna próf er uppsettur socket. Leið sem er aðeins til í eina átt er algeng bilun á leiðsögnuðum VPN, og bakleiðin skiptir jafn miklu máli og leiðin út.
ip route get 10.70.0.2
nc -vz 10.70.0.2 33911
ss -tnp dst 10.70.0.2
Leiðsagnað TUN-viðmót flytur þessi IP-samtöl án þess að teygja Ethernet-hlut róbotssins, sem fjarskiptastjóri vill yfirleitt. Ef eitthvað í stakknum byggir í staðinn á útvarpi eða multicast verður að meta þá kröfu sérstaklega; að breyta göngunum í TAP til að fullnægja einu tóli víkkar netið fyrir hvern þátttakanda.
Stoppaðu hér ef leiðin eða bakleiðin vantar. Útgefandi sem svarar á eigin hýsil en er ekki aðgengilegur frá vinnustöðinni hefur leiðsagnarvandamál, ekki ROS-vandamál.
Skref 4: heimilaðu samtal jafningja og fylgstu með einu umræðuefni
Opnaðu aðeins þau port sem samningaviðræðurnar þurfa og takmarkaðu hverja reglu við tilkynnta þátttakendur. Hlustandi mastersins er ekki endursending fyrir umræðuefnisbyrði, svo að heimila aðeins hann lætur endapunkt útgefandans lokaðan. Haltu ROS-hlustendum á landamærum einkarekna VPNsins í stað þess að afhjúpa þá fyrir opnu internetinu.
rostopic hz /chatter
rostopic echo -n1 /chatter
rosnode ping /talker
Fylgstu með einu hættulausu umræðuefni frá raunverulegum útgefanda til raunverulegs áskrifanda og staðfestu bæði tilkynnta endapunktinn og svarleiðina. Ein skilaboð sanna að leiðin virki; stöðugur hraði sannar að hún haldist opin. Haltu stýringu hreyfils og öryggisprófum utan þessa netsprófs, því virkt umræðuefni staðfestir ekki virkan róbot. Skráðu ROS-útgáfuna og endapunktaparanna sem þú sást, svo næsta manneskja geti greint staðfræðibreytingu frá afturför.
Gátlistanum er lokið þegar tilkynnta URIið er aðgengilegt frá áskrifandanum, samningsportið er opið aðeins fyrir þann jafningja, eitt tilkynnt umræðuefni streymir og umhverfisgildin eru skráð fyrir báða hýsla. Gamall ROS 1 fær engar lagfæringar á þessu sviði, svo skráningin er sá hluti sem heldur áfram að virka eftir að fólkið skiptist.