Obdelava v živo ali posneti podatki: kaj resnično potrebuje VPN?
Odločite se, katero robotsko delo mora prestopiti omrežje: pravočasni rezultati, telemetrija opazovanja ali posnet nabor podatkov. Trije pogoji, nato ukazi bag.
Robot, ki preneha biti uporaben že eno sobo stran, ima težavo s povezavo ali z delovno obremenitvijo veliko prej, preden ima težavo z VPN. Šifriranje ščiti pot, a ne razširi radijskega dosega in ne poskrbi, da bi se oddaljeni izračun končal prej. Odločitev pred vami je, katero delo resnično mora prestopiti omrežje, in ta odgovor običajno odstrani več prometa, kot ljudje pričakujejo. To odločijo trije pogoji, prepustnost pa ni eden od njih.
Trije razporedi, eno vprašanje odvisnosti
Tabela ločuje razporede po tem, kaj je odvisno od povezave, ne po tem, katera programska oprema je na diagramu.
| Arrangement | What depends on the link | What stays onboard |
|---|---|---|
| Live remote processing | The exchange and any timely result the workstation returns | Only what the remote step does not block |
| Onboard processing, remote observation | The declared telemetry or display stream | The processing loop itself |
| Local recording, later analysis | Transfer of one selected dataset | The entire run, including raw sensors |
Nobena vrstica v tej tabeli ni varnostni argument. Krmilne in varnostne funkcije še vedno potrebujejo ustrezen odgovor za zakasnitev, izgubo paketov in prekinjeno povezavo, in noben indikator tunela ga ne ponuja. Tabela pokaže, kje živi odvisnost, in prav to je del, ki ga načrt omrežja zares lahko spremeni.
Prvi pogoj: mora biti odgovor pravočasen?
Če oddaljeni rezultat napaja krmilnik, omrežje sedi znotraj krmilne zanke, njegova zakasnitev, jitter in izpadi pa postanejo lastnosti krmiljenja. Če isti rezultat napaja le zaslon, nadzorno ploščo ali človeka, ki gleda, je enaka zakasnitev le videz.
Delo v zaprti zanki po brezžični povezavi je mogoče, in prav od tam prihaja večina poročil "VPN je počasen", ker je tunel vidna komponenta, vzrok pa sta radio in usmerjanje. Merite povratni čas dejanskega sporočila, ne ping samega tunela, in nato vprašajte, ali se število ujema s proračunom zanke. Če se ne, prestavite korak na krov, namesto da bi se pogajali za strožjo raven storitve za povezavo, ki je nihče v sobi ne nadzoruje. Zapišite izmerjeno število skupaj s pogoji, v katerih je bilo pridobljeno, ker bo naslednje poročilo prišlo brez njih.
Drugi pogoj: kakšen tempo, smer in prekinitev lahko izjavite?
Zapišite podatke, tempo, smer in najdaljšo prekinitev, ki jo aplikacija prenese. Tok kamere navzgor in kanal ukazov navzdol odpovedujeta na različne načine, prekinitev, ki jo prenese stacionarni pregled, pa bo končala gibljivo nalogo.
Pri primerjavi možnosti imejte fizično povezavo in tunel ločeno, ker sta močnejši radio in manjša delovna obremenitev različni popravili. Velik prenos, ki se na koncu konča, ne dokaže ničesar o pravočasnem prihodu rezultata, občutljivega na čas, zdrav tunel pa ne dokaže ničesar o radiu za njim.
Nato zmanjšajte povpraševanje, namesto da bi ga branili. Zmanjšajte vzorčenje opazovalnega toka, pošiljajte povzetke ali delte, surove senzorske podatke pa pustite na krovu tam, kjer je shranjevanje poceni in prenos ne. Manjši tovor oslabi argument za hitrejšo povezavo in pogosto odpravi potrebo po njej.
Tretji pogoj: kdo mora to videti in kaj ostane lokalno
Opazovanje je običajno veliko manjša zahteva kot obdelava. Če mora človek gledati kamero in mora pozneje obstajati dnevnik, je to telemetrija plus shranjevanje; če mora teči model, najprej vprašajte, ali lahko teče na krovu in se posreduje le njegov rezultat. Premik težkega koraka na krov odpravi sinhrono odvisnost in pusti prenos, ki ga je mogoče ponoviti.
Dva udeleženca ROS na istem robotu sama po sebi ne opravičujeta tunela. Dosegljivost vozlišč, avtorizacija aplikacije in lokalni načrt obnovitve so ločene težave, in VPN odgovori le na prvo, in to le za promet, ki ga prosijo usmeriti.
Snemanje nabora podatkov je lasten načrt, z lastnimi ukazi
Za primer, vezan na različico, vadnica za snemanje ROS 2 Jazzy pokriva snemanje izbranih tem, pregled nastalega baga in njegovo predvajanje. Posnemite odobrene opazovalne teme, poimenujte zagon in hranite definicije sporočil ter konfiguracijo ob njem.
ros2 bag record -o run42 /scan /camera/image_raw
ros2 bag info run42
ros2 bag play run42
Ne snemajte vsake teme samo zato, ker orodje to olajša. Shramba se napolni, podatki kamere in lokacije so občutljivi, bag z neoznačenimi temami pa je analitična težava za tistega, ki ga bo naslednji odprl. Nameščena distribucija določa tudi ukaze: orodja, napisana za bag ROS 1, se ne prenesejo na bag ROS 2, zato uskladite dokumentacijo z različico, nameščeno na robotu.
Predvajajte v izoliranem analitičnem ali simulacijskem okolju. Predvajanje posnetih ukaznih tem v pogone živega robota je nesreča, preprečitev pa je ločena domena ROS ali nobene strojne opreme v zanki.
Odločite, kam sodi odvisnost, in to zapišite: VPN ščiti izmenjavo, ki se mora zgoditi, obdelava na krovu odstrani izmenjavo, ki nikoli ni morala biti sinhrona, posnet nabor podatkov pa nadomesti živega porabnika s poznejšim. Nato namerno preizkusite odklopljeni primer, medtem ko lokalno delo še teče, preden kdo razglasi načrt za dokončan.