Een robot die één kamer verder al niet meer bruikbaar is, heeft veel eerder een verbindings- of werkdrukprobleem dan een VPN-probleem. Versleuteling beschermt een pad, maar verlengt het radiobereik niet en laat een berekening op afstand niet sneller klaar zijn. De beslissing voor u is welk werk werkelijk het netwerk moet oversteken, en dat antwoord verwijdert meestal meer verkeer dan mensen verwachten. Drie voorwaarden beslissen het, en doorvoer is er daar geen van.

Drie opstellingen, één afhankelijkheidsvraag

De tabel scheidt de opstellingen naar wat van de verbinding afhangt, niet naar welke software in het diagram staat.

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

Geen enkele rij in die tabel is een veiligheidsargument. Besturings- en veiligheidsfuncties hebben nog steeds een onderbouwd antwoord nodig voor vertraging, pakketverlies en een weggevallen verbinding, en geen enkele tunnelindicator levert dat. De tabel laat zien waar de afhankelijkheid zit, en dat is het deel dat een netwerkontwerp werkelijk kan veranderen.

Voorwaarde één: moet het antwoord tijdig zijn?

Als een resultaat op afstand een regelaar voedt, zit het netwerk in de regellus, en worden de vertraging, jitter en uitval eigenschappen van de regeling. Als hetzelfde resultaat alleen een scherm, een dashboard of een kijkend persoon voedt, is dezelfde vertraging enkel uiterlijk.

Regelkringwerk over een draadloze verbinding is mogelijk, en daar komen de meeste meldingen "de VPN is traag" vandaan, omdat de tunnel het zichtbare onderdeel is terwijl de radio en de routering de oorzaak zijn. Meet de rondetijd van het werkelijke bericht in plaats van de ping van de tunnel zelf, en vraag dan of het getal in het budget van de lus past. Past het niet, zet de stap dan aan boord in plaats van een strenger serviceniveau te bedingen voor een verbinding die niemand in de ruimte bestuurt. Leg het gemeten getal vast met de omstandigheden waarin het is genomen, want het volgende rapport komt zonder die omstandigheden.

Voorwaarde twee: welke snelheid, richting en onderbreking kunt u aangeven?

Schrijf de data, de snelheid, de richting en de langste onderbreking op die de toepassing verdraagt. Een camerastroom omhoog en een opdrachtkanaal omlaag falen op verschillende manieren, en een onderbreking die een stilstaande inspectie verdraagt, beëindigt een rijdende taak.

Houd de fysieke aansluiting en de tunnel apart bij het vergelijken van opties, want een sterkere radio en een kleinere werkdruk zijn verschillende reparaties. Een grote overdracht die uiteindelijk voltooit, bewijst niets over een tijdkritisch resultaat dat gelijkmatig aankomt, en een gezonde tunnel bewijst niets over de radio erachter.

Verminder daarna de vraag in plaats van die te verdedigen. Downsample de observatiestroom, stuur samenvattingen of delta's, en laat ruwe sensordata aan boord waar opslag goedkoop is en verzending niet. Een kleinere payload verzwakt het argument voor een snellere verbinding en haalt de behoefte er vaak helemaal uit.

Voorwaarde drie: wie moet het zien, en wat blijft lokaal

Observatie is meestal een veel kleinere eis dan verwerking. Als iemand de camera moet bekijken en er achteraf een log moet zijn, is dat telemetrie plus opslag; als een model moet draaien, vraag dan eerst of het aan boord kan draaien met alleen het resultaat doorgestuurd. De zware stap naar boord verplaatsen haalt de synchrone afhankelijkheid weg en laat een overdracht over die opnieuw kan worden geprobeerd.

Dat er twee ROS-deelnemers op dezelfde robot bestaan, rechtvaardigt op zichzelf geen tunnel. Bereikbaarheid van nodes, autorisatie van toepassingen en een lokaal herstelplan zijn aparte problemen, en een VPN beantwoordt alleen het eerste, en alleen voor het verkeer dat erom wordt gevraagd het te routeren.

Een dataset opnemen is een eigen ontwerp, met eigen opdrachten

Voor een voorbeeld dat aan een versie gebonden is, de ROS 2 Jazzy-opnametutorial behandelt het opnemen van geselecteerde topics, het inspecteren van de resulterende bag en het opnieuw afspelen ervan. Neem de goedgekeurde observatietopics op, geef de run een naam, en houd de berichtdefinities en configuratie ernaast.

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

Neem niet elk topic op omdat de tool het makkelijk maakt. Opslag loopt vol, camera- en locatiegegevens zijn gevoelig, en een bag met ongelabelde topics is een analyseprobleem voor wie hem de volgende keer opent. De geïnstalleerde distributie bepaalt ook de opdrachten: gereedschap geschreven voor ROS 1-bags gaat niet over naar ROS 2-bags, dus stem de documentatie af op de versie die op de robot staat.

Speel af in een geïsoleerde analyse- of simulatieomgeving. Opgenomen opdrachtopics opnieuw afspelen naar de actuatoren van een levende robot is een ongeluk, en de preventie is een apart ROS-domein of helemaal geen hardware in de lus.

Bepaal waar de afhankelijkheid hoort en schrijf het op: een VPN beschermt een uitwisseling die moet plaatsvinden, verwerking aan boord haalt een uitwisseling weg die nooit synchroon hoefde te zijn, en een opgenomen dataset vervangt een live verbruiker door een latere. Test daarna het losgekoppelde geval met opzet, terwijl de lokale taak nog loopt, voordat iemand het ontwerp klaar noemt.

Gerelateerde artikelen