VPN baten kontrako muturretan dauden bi ROS 2 nodok elkarren gaiak zerrenda ditzakete eta, hala ere, ez dute mezu bakarra ere entregatuko. Aurkikuntza eta erabiltzaile-datuak bide ezberdineko truke bereiziak dira, eta aurkikuntza-zerbitzari batek ez ditu karga erabilgarriak birbidaltzen. Bat egiaztatzea eta bestea suposatzea da taldeek middlewarea ordezkatzera iristen diren modua, tunelak inoiz datuak eraman ez dituenean. Beheko prozedurak bi emaitzak bereizten ditu ezer aldatu aurretik.

Zer daraman aurkikuntza-zerbitzariak benetan

Fast DDSn Discovery Server batek muturren inguruko informazioa banatzen du: nork argitaratzen duen, nork harpidetzen duen eta zein QoS espero duen bakoitzak. Parekideek elkar ezagututakoan, erabiltzaile-datuak zuzenean bidaiatzen dute haien artean, zerbitzari horren bidez izan beharrean. Zerbitzarira iristeak aurkezpenen bitartekariak erantzuten duela frogatzen du, eta ez gehiago. Bideratutako VPN batek oraindik bide funtzionala behar du bi noranzkoetan parekideek iragartzen dituzten helbideen artean.

Bereizketa horrek huts partzialak ere azaltzen ditu: lehendik dauden parekideek datuak trukatzen jarraitzen dute, aurkikuntza berria funtzionatzeari uzten dion bitartean. Hartu horiek bi ikerketa gisa.

Irakurri nodoek benetan erabiltzen duten RMWa

ROS 2k middleware ezberdina karga dezake, eta zure shell-ean esportatutako aldagaia ez da beste nonbait hasitako prozesuetara iristen. Galdegin sistema exekutatzen ari denari, zure terminalaren historiari beharrean.

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

Ezarri gabeko aldagaiak instalatutako lehenetsia esan nahi du normalean, eta hori esperimentu bereko makinen artean desberdina izan daiteke. Txostenak erabilitako banaketa eta middlewarea ere aipatzen ditu, beraz, alderatu biak tuneleko bi aldeetan, bat datozela suposatu aurretik. ROS komando-lerroko daemonak egoera cachean gordetzen du, beraz, berrabiarazi ingurunea aldatu ondoren, daemon zaharkitu batek konfigurazio zahararen ordez erantzun ez dezan. Idatzi bi ostalarien banaketa eta RMWa probaren oharretan, saioa irekita dagoen bitartean.

Probatu aurkikuntza eta datuak bi emaitza gisa

Aukeratu gai errugabe bat eta neurtu aurkeztea entregatzetik aparte. info komandoak muturrak eta QoSa zerrendatzen ditu, eta echo-k frogatzen du mezu batek benetan esteka zeharkatzen duen.

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

Muturrak info irteeran agertzea aurkikuntzaren emaitza da. Mezua harpidedunera iristea garraioaren emaitza da, eta soilik bigarrenak egiten dio proba aplikazioak behar duen bideari. Aurkikuntzak funtzionatzen duenean eta echo-k denbora agortzen duenean, aztertu iragarritako helbideak eta itzulera-bidea, aurkikuntza-zerbitzua beharrean. Exekutatu bi komandoak ostalari bakoitzetik, VPN bide asimetrikoak askotan alde batetik bakarrik erakusten baitu bere burua.

Aldatu menpekotasun bat aldiko

Datu-bideak huts egiten duenean, saihestu middlewarea, aurkikuntza-modua eta mezuaren tamaina saio berean aldatzea, gero ez baita emaitzarik egotziko. Zenoh RMWa alternatiba zilegia da, baina bere bideratzailea tuneletik irisgarri izan behar duen beste menpekotasun bat bihurtzen da.

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run rmw_zenoh_cpp rmw_zenohd

RMW horren pean bideratzaileak aurkikuntza darama Jazzyren lehenetsitako antolamenduan, eta multicast aurkikuntza desgaituta dago han, beraz, menpekotasuna zure oharretan dago, ez beste middleware batetik mailegatutako suposizioan. Egon karga-lana finko ezarpen bat aldatzen duzun bitartean, gero errepikatu echo proba eta erregistratu norabidea, mezu-tasa eta estekaren baldintzak. Errepikatu alderaketa bi aldiz, hobekuntza erreala zortezko berrikonexio batetik bereizteko. Aldaketa batek aurkikuntza hobetzen badu entregatzea berdin jarraitzen duen bitartean, aurkezpen-zerbitzua mugitu duzu, ez datu-bidea.

Erlazionatutako artikuluak