Il-workstation tiegħek tilħaq il-master ta’ ROS 1 mill-mina u xorta turi lista vojta ta’ suġġetti. Dan il-mudell huwa komuni għax ir-reġistrazzjoni mal-master u t-trasport tas-suġġetti huma żewġ konversazzjonijiet differenti, u biss l-ewwel waħda tgħaddi mill-master. Il-lista ta’ kontroll hawn taħt tgħaddi mit-tieni konversazzjoni: l-endpoint li jħabbar pubblikatur, l-indirizz li abbonat irid ikun jista’ jilħaq, u l-permess li jħalli lill-par jitkellem. Kollox hawn japplika biss għal ROS 1 antik, li t-tieqa ta’ appoġġ tiegħu għal Noetic ntemmet f’Mejju 2025.

Pass 1: ipprova li l-konnessjoni mal-master mhix il-konnessjoni mas-suġġett

Ibda billi tifred dak li jaħdem minn dak li ma jaħdimx. rostopic list b’suċċess jipprova li l-shell tiegħek tilħaq il-port XMLRPC tal-master u li l-master jaf bis-suġġetti; ma jgħid xejn dwar jekk abbonat jistax jilħaq il-pubblikatur. It-tliet kmandi hawn taħt jagħmlu din id-differenza viżibbli, u kollha huma biss għall-qari.

echo "$ROS_MASTER_URI"
rostopic list
rostopic info /chatter

L-output ta’ rostopic info isemmi l-URI tan-nodu tal-pubblikatur, li huwa indirizz XMLRPC fuq il-host tal-pubblikatur. Dan l-indirizz huwa dak li l-abbonat tiegħek se jsejjaħ wara, għalhekk irid ikun aċċessibbli minn kull fejn jaħdem l-abbonat. Jekk dan jindika lejn interface li teżisti biss fuq il-LAN tar-robot stess, it-tfittxija fil-master tirnexxi u d-dejta qatt ma tasal.

Pass 2: aqra l-endpoint imħabbar min-nodu stess

ROS 1 jagħżel l-identità tal-host imħabbra tiegħu minn ROS_IP jew ROS_HOSTNAME meta wieħed minnhom ikun issettjat, u xort’oħra jaqa’ lura fuq ir-riżoluzzjoni tal-ismijiet tal-host stess. Spezzjona l-ambjent tal-proċess li effettivament tnieda, għax unità systemd, container jew terminal ieħor jistgħu jġorru valur differenti minn dak tal-shell fejn ħadem it-test tiegħek.

echo "$ROS_IP" "$ROS_HOSTNAME"
rosnode info /talker
getent hosts robot-host

Tħabbira tal-isem tal-host taħdem biss jekk kull peer jirriżolvi dak l-isem għall-indirizz aċċessibbli maħsub. Jekk dak l-isem jiġi riżolt biss ġewwa n-netwerk tar-robot stess, workstation fuq in-naħa l-oħra tal-mina m’għandha l-ebda mod kif tużah, u VPN li ma jimbotta l-ebda suffiss DNS jagħmel id-diskrepanza agħar. L-issettjar ta’ ROS_IP għall-indirizz tal-mina huwa l-bidla iżgħar meta t-topoloġija tkun routjata. It-tagħżiela li tagħmel, ikkonfermaha għaż-żewġt itruf, għax pubblikatur u abbonat li ma jaqblux dwar l-identità se jinnegozjaw u mbagħad ma jkunux jistgħu jikkonnettjaw.

Ieqaf hawn jekk l-URI imħabbar juża indirizz li l-ebda peer ma jista’ jirroutja lejh. L-ebda xogħol fuq il-firewall ma se jsewwi isem li jiġi riżolt għall-interface żbaljata.

Pass 3: agħmel l-indirizz imħabbar riżolvibbli u routjat

Bil-URI f’idejk, ittestja l-aċċessibbiltà mill-host tal-abbonat u mhux mir-robot. Il-port TCPROS jintgħażel matul in-negozjati, għalhekk it-test bikri utli huwa l-port XMLRPC u t-test tard utli huwa s-socket stabbilit. Rotta li teżisti biss f’direzzjoni waħda hija falliment komuni fuq VPN routjati, u l-passaġġ lura jgħodd daqs il-passaġġ ’il quddiem.

ip route get 10.70.0.2
nc -vz 10.70.0.2 33911
ss -tnp dst 10.70.0.2

Interface TUN routjat iġorr dawn il-konversazzjonijiet IP mingħajr ma jestendi s-segment Ethernet tar-robot, li normalment huwa dak li jrid operatur mill-bogħod. Jekk xi ħaġa fl-istack tiddependi minflok fuq broadcast jew multicast, dak ir-rekwiżit irid jiġi evalwat b’mod separat; it-tibdil tal-mina għal TAP biex tissodisfa għodda waħda jwessa’ n-netwerk għal kull parteċipant.

Ieqaf hawn jekk ir-rotta jew il-passaġġ lura huma neqsin. Pubblikatur li jwieġeb fuq il-host tiegħu stess imma ma jistax jintlaħaq mill-workstation għandu problema ta’ routjar, mhux problema ta’ ROS.

Pass 4: ippermetti l-konversazzjoni bejn il-peers u osserva suġġett wieħed

Iftaħ biss il-ports li l-konversazzjoni nnegozjata teħtieġ, u illimita kull regola għall-parteċipanti ddikjarati. Is-semmiegħ tal-master mhuwiex relay għall-payload tas-suġġetti, għalhekk li tippermetti biss lilu jħalli l-endpoint tal-pubblikatur magħluq. Żomm is-semmiegħa ROS fuq il-fruntiera tal-VPN privat minflok ma tesponihom għall-internet pubbliku.

rostopic hz /chatter
rostopic echo -n1 /chatter
rosnode ping /talker

Osserva suġġett wieħed bla ħsara mill-pubblikatur reali għall-abbonat reali u kkonferma kemm l-endpoint imħabbar kif ukoll il-passaġġ tar-risposta. Messaġġ wieħed jipprova li l-passaġġ jaħdem; rata stabbli tipprova li jibqa’ miftuħ. Żomm il-kontroll tal-attwaturi u l-verifiki tas-sigurtà barra minn dan it-test tan-netwerk biss, għax suġġett li jaħdem ma jiċċertifikax robot li jaħdem. Irreġistra l-verżjoni ta’ ROS u l-par ta’ endpoints li osservajt, biex il-persuna li jmiss tkun tista’ tagħraf bidla fit-topoloġija minn rigressjoni.

Il-lista ta’ kontroll tintemm meta l-URI imħabbar ikun aċċessibbli mill-abbonat, il-port nnegozjat ikun miftuħ biss għal dak il-peer, suġġett imħabbar wieħed ikun qed jiċċirkola, u l-valuri tal-ambjent ikunu miktuba għaż-żewġ hosts. ROS 1 antik mhux se jirċievi tiswijiet f’dan il-qasam, għalhekk ir-rekord huwa l-parti li tkompli taħdem wara li n-nies jinbidlu.

Artikli relatati