Robot, mis lakkab olemast kasulik ühe toa kaugusel, on side- või töökoormuse probleemiga silmitsi ammu enne VPN-i probleemi. Krüpteerimine kaitseb teed; see ei laienda raadiokatet ega pane kaugarvutust varem lõppema. Teie ees olev otsus on, milline töö peab tõesti võrku ületama, ja see vastus eemaldab tavaliselt rohkem liiklust, kui inimesed ootavad. Selle otsustavad kolm tingimust ja läbilaskevõime ei ole üks neist.

Kolm korraldust, üks sõltuvusküsimus

Tabel eraldab korraldused selle järgi, mis sõltub sidest, mitte selle järgi, milline tarkvara diagrammil esineb.

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

Ükski rida selles tabelis ei ole turvaargument. Juhtimis- ja turvafunktsioonid vajavad endiselt kvalifitseeritud vastust hilinemisele, paketikaole ja katkenud ühendusele ning ükski tunnelinäidik seda ei anna. Tabel ütleb, kus sõltuvus elab, ja see on osa, mida võrgukavand saab tegelikult muuta.

Esimene tingimus: kas vastus peab olema õigeaegne?

Kui kaugtulemus toidab kontrollerit, asub võrk juhtimisahela sees ning selle hilinemine, jitter ja katkestused muutuvad juhtimise omadusteks. Kui sama tulemus toidab ainult ekraani, armatuurlaua või vaatavat inimest, on sama hilinemine kosmeetiline.

Suletud ahelaga töö üle juhtmevaba side on võimalik ja just sealt pärineb enamik aruandeid „VPN on aeglane“, sest tunnel on nähtav komponent, samas kui raadio ja marsruutimine on põhjus. Mõõtke tegeliku sõnumi edasi-tagasi aega, mitte tunneli enda pingi ja küsige siis, kas number mahub ahela eelarvesse. Kui ei mahu, viige samm pardale, selle asemel et pidada läbirääkimisi rangema teenustaseme üle side jaoks, mida keegi ruumis ei kontrolli. Kirjutage mõõdetud number üles koos tingimustega, mille all see võeti, sest järgmine aruanne saabub ilma nendeta.

Teine tingimus: millist kiirust, suunda ja katkestust saate deklareerida?

Kirjutage üles andmed, kiirus, suund ja pikim katkestus, mida rakendus talub. Ülesvoolav kaameravoog ja allavoolav käsukanal ebaõnnestuvad erinevalt ning katkestus, mida paigalseisev kontroll talub, lõpetab liikuva ülesande.

Hoidke füüsiline ühendus ja tunnel valikute võrdlemisel lahus, sest tugevam raadio ja väiksem koormus on erinevad parandused. Suur ülekanne, mis lõpuks lõpule jõuab, ei tõesta midagi ajatundliku tulemuse järjepideva saabumise kohta ning terve tunnel ei tõesta midagi selle taga oleva raadio kohta.

Seejärel vähendage nõudlust, selle asemel et seda kaitsta. Vähendage vaatlusvoo diskreetimist, saatke kokkuvõtteid või deltasid ja jätke toorandurid pardale, kus salvestamine on odav ja ülekanne mitte. Väiksem koorem nõrgendab argumenti kiirema side kasuks ja kõrvaldab sageli vajaduse selle järele.

Kolmas tingimus: kes peab seda nägema ja mis jääb kohalikuks

Vaatlus on tavaliselt palju väiksem nõue kui töötlemine. Kui inimene peab kaamerat vaatama ja hiljem peab logi olemas olema, on see telemeetria pluss salvestus; kui mudel peab töötama, küsige esmalt, kas see saab töötada pardal, edastades ainult oma tulemuse. Raske sammu pardale viimine eemaldab sünkroonse sõltuvuse ja jätab ülekande, mida saab uuesti proovida.

Kaks ROS-i osalejat samal robotil ei õigusta tunneli iseenesest. Sõlmede kättesaadavus, rakenduse autoriseerimine ja kohalik taastamiskava on eraldi probleemid ning VPN vastab ainult esimesele ja seda ainult liiklusele, mida palutakse marsruutida.

Andmestiku salvestamine on omaette kavand omaette käskudega

Versiooniga seotud näite jaoks katab ROS 2 Jazzy salvestusõpetus valitud teemade salvestamise, tekkinud bagi kontrollimise ja selle taasesitamise. Salvestage kinnitatud vaatlusteemad, andke jooksule nimi ning hoidke sõnumide definitsioonid ja konfiguratsioon selle kõrval.

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

Ärge salvestage iga teemat ainult sellepärast, et tööriist teeb selle lihtsaks. Salvestusruum täitub, kaamera- ja asukohaandmed on tundlikud ning siltideta teemadega bag on analüüsiprobleem kõigile, kes selle järgmisena avab. Juurutatud distributsioon määrab ka käsud: ROS 1 bagi jaoks kirjutatud tööriistad ei kandu üle ROS 2 bagile, seega viige dokumentatsioon vastavusse robotile paigaldatud versiooniga.

Taasesitage isoleeritud analüüsi- või simulatsioonikeskkonnas. Salvestatud käskude teemade taasesitamine elusa roboti täituritele on õnnetus ja ennetus on eraldi ROS-i domeen või üldse riistvara puudumine ahelas.

Otsustage, kuhu sõltuvus kuulub, ja kirjutage see üles: VPN kaitseb vahetust, mis peab toimuma, pardal töötlemine eemaldab vahetuse, mis ei pidanud kunagi sünkroonne olema, ja salvestatud andmestik asendab elusa tarbija hilisemaga. Seejärel testige sihilikult lahtiühendatud juhtumit, kui kohalik töö veel käib, enne kui keegi kuulutab kavandi valmis.

Seotud artiklid