Ein robot som sluttar å vere nyttig éin rom unna, har eit lenkjeproblem eller eit arbeidsmengdeproblem lenge før det har eit VPN-problem. Kryptering vernar ein veg, men ho utvidar ikkje radiodekninga, og ho gjer ikkje ei fjernutrekning ferdig raskare. Avgjerda framfor deg er kva arbeid som faktisk må krysse nettet, og det svaret fjernar vanlegvis meir trafikk enn folk ventar. Tre vilkår avgjer det, og gjennomstrøyming er ikkje eitt av dei.

Tre oppsett, eitt avhengigheitsspørsmål

Tabellen skil oppsetta etter kva som er avhengig av lenkja, ikkje etter kva programvare som visest i diagrammet.

ArrangementWhat depends on the linkWhat stays onboard
Live remote processingThe exchange and any timely result the workstation returnsOnly what the remote step does not block
Onboard processing, remote observationThe declared telemetry or display streamThe processing loop itself
Local recording, later analysisTransfer of one selected datasetThe entire run, including raw sensors

Ingen rad i tabellen er eit tryggleiksargument. Styrings- og tryggleiksfunksjonar treng framleis eit kvalifisert svar for forseinking, pakketap og eit brote samband, og ingen tunnelindikator gjev eitt. Tabellen fortel kvar avhengigheita bur, og det er den delen eit nettverksdesign faktisk kan endre.

Vilkår éin: må svaret vere tidsriktig?

Viss eit fjernresultat matar ein kontrollar, ligg nettet inne i styringssløyfa, og forseinkinga, jitteren og utfalla vert styringseigenskapar. Viss det same resultatet berre matar ein skjerm, eit dashbord eller ein person som ser på, er den identiske forseinkinga berre kosmetisk.

Lukka sløyfe over ei trådlaus lenkje er mogleg, og det er òg der dei fleste «VPN-et er tregt»-meldingane oppstår, fordi tunnelen er den synlege komponenten medan radioen og rutinga er årsaka. Mål rundturen til den faktiske meldinga og ikkje ping til tunnelen sjølv, og spør så om talet passar i budsjettet til sløyfa. Viss det ikkje gjer det, flytt trinnet om bord i staden for å forhandle om eit strengare servicenivå for ei lenkje ingen i rommet styrer. Skriv ned det målte talet saman med tilhøva det vart teke under, fordi neste rapport vil kome utan dei.

Vilkår to: kva rate, retning og avbrot kan du erklære?

Skriv ned dataa, raten, retninga og det lengste avbrotet applikasjonen toler. Ein kamerastraum oppover og ein kommandokanal nedover feilar på ulike måtar, og eit avbrot ein stasjonær inspeksjon toler vil avslutte ein oppgåve i rørsle.

Hald den fysiske tilkoplinga og tunnelen kvar for seg når du samanliknar alternativ, sidan ein sterkare radio og ein mindre arbeidsmengd er ulike reparasjonar. Ei stor overføring som til slutt fullførast beviser ingenting om eit tidskritisk resultat som kjem jamt, og ein sunn tunnel beviser ingenting om radioen bak han.

Reduser så etterspurnaden i staden for å forsvare han. Nedsample observasjonsstraumen, send samandrag eller delta, og lat rå sensordata bli om bord der lagring er billig og overføring ikkje er det. Ei mindre nyttelast svekkjer argumentet for ei raskare lenkje og fjernar ofte behovet for henne.

Vilkår tre: kven må sjå det, og kva blir lokalt

Observasjon er vanlegvis eit mykje mindre krav enn handsaming. Viss ein person må sjå på kameraet og ein logg må finnast etterpå, er det telemetri pluss lagring; viss ein modell må køyre, spør først om han kan køyre om bord med berre resultatet vidaresendt. Å flytte det tunge trinnet om bord fjernar den synkrone avhengigheita og lèt att ei overføring som kan prøvast på nytt.

At to ROS-deltakarar finst på same robot, rettferdiggjer ikkje ein tunnel i seg sjølv. Nåbarheit for nodar, applikasjonsautorisasjon og ein lokal gjenopprettingsplan er separate problem, og eit VPN svarar berre på det første, og berre for trafikken det blir bedt om å rute.

Å ta opp eit datasett er sitt eige design, med sine eigne kommandoar

For eit versjonsbunde døme, ROS 2 Jazzy-rettleiinga for opptak dekkjer opptak av utvalde emne, inspeksjon av den resulterande bagen og avspeling av han. Ta opp dei godkjende observasjonsemna, gje køyringa eit namn, og oppbevar meldingsdefinisjonane og konfigurasjonen ved sida av.

ros2 bag record -o run42 /scan /camera/image_raw
ros2 bag info run42
ros2 bag play run42

Ikkje ta opp kvart emne fordi verktøyet gjer det enkelt. Lagring fyllest, kamera- og posisjonsdata er sensitive, og ein bag med umerka emne er eit analyseproblem for den som opnar han neste gong. Distribusjonen som er installert avgjer òg kommandoane: verktøy skrivne for ROS 1-bagar overførast ikkje til ROS 2-bagar, så tilpass dokumentasjonen til versjonen som er installert på roboten.

Spel av i eit isolert analyse- eller simuleringsmiljø. Opptak av kommandotema som blir spela av inn i aktuatorane til ein levande robot er ei ulukke, og førebygginga er eit eige ROS-domene eller inga maskinvare i sløyfa i det heile.

Avgjer kvar avhengigheita høyrer heime og skriv det ned: eit VPN vernar ei utveksling som må skje, handsaming om bord fjernar ei utveksling som aldri trong å vere synkron, og eit lagra datasett erstattar ein levande forbrukar med ein seinare. Test så den fråkopla saka med vilje, medan den lokale jobben framleis køyrer, før nokon kallar designet ferdig.

Relaterte artiklar