Un robot que deixa de ser útil a una habitació de distància té un problema d’enllaç o de càrrega de treball molt abans de tenir un problema de VPN. El xifrat protegeix un camí; no amplia la cobertura de ràdio ni fa que un càlcul remot s’acabi abans. La decisió que teniu al davant és quina feina ha de travessar realment la xarxa, i aquesta resposta normalment elimina més trànsit del que la gent espera. Tres condicions ho resolen, i el rendiment no és una d’elles.

Tres disposicions, una sola pregunta de dependència

La taula separa les disposicions segons què depèn de l’enllaç, no segons quin programari apareix al diagrama.

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

Cap fila d’aquesta taula no és un argument de seguretat. Les funcions de control i seguretat encara necessiten una resposta qualificada per al retard, la pèrdua de paquets i una connexió caiguda, i cap indicador de túnel no la proporciona. La taula us diu on viu la dependència, que és la part que un disseny de xarxa pot canviar de veritat.

Condició primera: cal que la resposta sigui puntual?

Si un resultat remot alimenta un controlador, la xarxa se situa dins del bucle de control, i el seu retard, jitter i interrupcions esdevenen propietats del control. Si el mateix resultat només alimenta una pantalla, un tauler o una persona que mira, el mateix retard és cosmètic.

El treball en bucle tancat per un enllaç sense fils és possible, i és també d’on surten la majoria d’informes de «la VPN va lenta», perquè el túnel és el component visible mentre la ràdio i l’encaminament són la causa. Mesureu l’anada i tornada del missatge real en lloc del ping del túnel, i pregunteu després si el número encaixa en el pressupost del bucle. Quan no hi encaixa, moveu el pas a bord en lloc de negociar un nivell de servei més estricte per a un enllaç que ningú a la sala controla. Anoteu el número mesurat amb les condicions en què es va prendre, perquè el proper informe arribarà sense elles.

Condició segona: quina taxa, direcció i interrupció podeu declarar?

Anoteu les dades, la taxa, la direcció i la interrupció més llarga que l’aplicació tolera. Un flux de càmera ascendent i un canal de comandaments descendent fallen de maneres diferents, i una interrupció que tolera una inspecció estacionària acabarà una tasca en moviment.

Manteniu l’acoblament físic i el túnel per separat quan compareu opcions, ja que una ràdio més potent i una càrrega més petita són reparacions diferents. Una transferència gran que finalment es completa no demostra res sobre l’arribada consistent d’un resultat sensible al temps, i un túnel sa no demostra res sobre la ràdio que hi ha darrere.

Aleshores reduïu la demanda en lloc de defensar-la. Mostregeu menys el flux d’observació, envieu resums o deltes i deixeu les dades crues dels sensors a bord, on l’emmagatzematge és barat i la transmissió no ho és. Una càrrega més petita debilita l’argument a favor d’un enllaç més ràpid i sovint elimina la necessitat de tenir-ne un.

Condició tercera: qui ho ha de veure, i què es queda local

L’observació sol ser un requisit molt més petit que el processament. Si una persona ha de mirar la càmera i després hi ha d’haver un registre, això és telemetria més emmagatzematge; si un model ha de funcionar, pregunteu primer si pot funcionar a bord amb només el resultat reenviat. Moure el pas feixuc a bord elimina la dependència síncrona i deixa una transferència que es pot reintentar.

Dos participants de ROS al mateix robot no justifiquen un túnel per si sols. L’abast dels nodes, l’autorització de l’aplicació i un pla de recuperació local són problemes separats, i una VPN només respon al primer, i només pel trànsit que se li demana d’encaminar.

Enregistrar un conjunt de dades és un disseny propi, amb ordres pròpies

Per a un exemple vinculat a una versió, el tutorial d’enregistrament de ROS 2 Jazzy cobreix l’enregistrament de temes seleccionats, la inspecció del bag resultant i la seva reproducció. Enregistreu els temes d’observació aprovats, poseu nom a l’execució i manteniu les definicions de missatges i la configuració al costat.

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

No enregistreu tots els temes només perquè l’eina ho fa fàcil. L’emmagatzematge s’omple, les dades de càmera i ubicació porten sensibilitat, i un bag de temes sense etiquetar és un problema d’anàlisi per a qui l’obri la propera vegada. La distribució desplegada també decideix les ordres: les eines escrites per a bags de ROS 1 no es traslladen als bags de ROS 2, així que feu coincidir la documentació amb la versió instal·lada al robot.

Reproduïu en un entorn d’anàlisi o simulació aïllat. Els temes de comandament enregistrats reproduïts als actuadors d’un robot viu són un accident, i la prevenció és un domini ROS separat o cap maquinari dins del bucle.

Decidiu on pertany la dependència i anoteu-ho: una VPN protegeix un intercanvi que ha de passar, el processament a bord elimina un intercanvi que mai no havia de ser síncron, i un conjunt de dades enregistrat substitueix un consumidor viu per un de posterior. Després proveu deliberadament el cas desconnectat, amb la feina local encara en marxa, abans que algú declari el disseny acabat.

Articles relacionats