Bir oda ötede işe yaramaz hale gelen bir robotun VPN sorunu çok daha sonra ortaya çıkar; önce bağlantı ya da iş yükü sorunu vardır. Şifreleme bir yolu korur, ancak radyo kapsamını genişletmez ve uzaktaki bir hesaplamayı daha erken bitirmez. Önünüzdeki karar, hangi işin gerçekten ağı aşması gerektiğidir ve bu yanıt genellikle insanların beklediğinden daha fazla trafiği ortadan kaldırır. Bunu üç koşul belirler ve aktarım hızı bunlardan biri değildir.

Üç düzen, tek bir bağımlılık sorusu

Tablo, düzenleri diyagramda hangi yazılımın göründüğüne göre değil, bağlantıya neyin bağlı olduğuna göre ayırır.

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

O tablodaki hiçbir satır bir güvenlik savı değildir. Denetim ve güvenlik işlevleri gecikme, paket kaybı ve kopan bağlantı için hâlâ nitelikli bir yanıt gerektirir ve hiçbir tünel göstergesi bunu sağlamaz. Tablo bağımlılığın nerede yaşadığını söyler ve bir ağ tasarımının gerçekten değiştirebileceği kısım tam olarak orasıdır.

Birinci koşul: yanıt zamanında olmak zorunda mı?

Uzaktaki bir sonuç bir denetleyiciyi besliyorsa ağ, denetim döngüsünün içinde oturur ve gecikmesi, titreşimi ve kesintileri denetim özellikleri haline gelir. Aynı sonuç yalnızca bir ekranı, bir panoyu ya da izleyen bir kişiyi besliyorsa aynı gecikme yalnızca görüntüdür.

Kablosuz bir bağlantı üzerinden kapalı çevrim iş mümkündür ve "VPN yavaş" bildirimlerinin çoğu tam da buradan doğar, çünkü tünel görünen bileşendir, neden ise radyo ve yönlendirmedir. Tünelin kendi pingini değil gerçek mesajın gidiş dönüş süresini ölçün, sonra bu sayının çevrimin bütçesine sığıp sığmadığını sorun. Sığmıyorsa, odadaki kimsenin denetlemediği bir bağlantı için daha sıkı bir hizmet düzeyi pazarlık etmek yerine adımı cihazın üstüne taşıyın. Ölçülen sayıyı hangi koşullarda alındığıyla birlikte kaydedin, çünkü sonraki rapor bunlar olmadan gelecek.

İkinci koşul: hangi hızı, yönü ve kesintiyi bildirebilirsiniz?

Veriyi, hızı, yönü ve uygulamanın tolere ettiği en uzun kesintiyi yazın. Yukarı yönlü kamera akışı ile aşağı yönlü komut kanalı farklı biçimlerde başarısız olur ve sabit bir denetimin tolere ettiği kesinti hareket eden bir görevi bitirir.

Seçenekleri karşılaştırırken fiziksel bağlantı ile tüneli ayrı tutun, çünkü daha güçlü radyo ile daha küçük iş yükü farklı onarımlardır. Eninde sonunda tamamlanan büyük bir aktarım, zamana duyarlı bir sonucun düzenli geldiğine dair hiçbir şey kanıtlamaz ve sağlıklı bir tünel, arkasındaki radyo hakkında hiçbir şey kanıtlamaz.

Sonra talebi savunmak yerine azaltın. Gözlem akışını seyreltin, özetler veya deltalar gönderin ve ham sensör verisini depolamanın ucuz, iletimin olmadığı yerde cihazın üstünde bırakın. Daha küçük bir yük, daha hızlı bir bağlantı savını zayıflatır ve çoğu zaman ona olan ihtiyacı ortadan kaldırır.

Üçüncü koşul: bunu kim görmeli ve ne yerelde kalmalı

Gözlem genellikle işlemeden çok daha küçük bir gereksinimdir. Bir kişi kamerayı izlemek zorundaysa ve sonrasında bir kayıt olması gerekiyorsa bu telemetri artı depolamadır; bir model çalışmak zorundaysa, önce yalnızca sonucu iletmek üzere cihazın üstünde çalışıp çalışamayacağını sorun. Ağır adımı cihazın üstüne taşımak eşzamanlı bağımlılığı kaldırır ve yeniden denenebilecek bir aktarım bırakır.

Aynı robotta iki ROS katılımcısının bulunması tek başına bir tüneli haklı çıkarmaz. Düğümlere erişilebilirlik, uygulama yetkilendirmesi ve yerel kurtarma planı ayrı sorunlardır ve VPN yalnızca birincisine yanıt verir, o da yalnızca yönlendirmesi istenen trafik için.

Bir veri kümesini kaydetmek kendi komutları olan kendi tasarımıdır

Sürüme bağlı bir örnek için, ROS 2 Jazzy kayıt eğitimi seçilen konuların kaydedilmesini, oluşan bag'in incelenmesini ve yeniden oynatılmasını kapsar. Onaylanan gözlem konularını kaydedin, çalışmaya bir ad verin ve mesaj tanımlarını ve yapılandırmayı onun yanında tutun.

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

Araç kolaylaştırıyor diye her konuyu kaydetmeyin. Depolama dolar, kamera ve konum verisi hassasiyet taşır ve etiketsiz konulardan oluşan bir bag, onu bir sonraki açan için bir analiz sorunudur. Kurulu dağıtım komutları da belirler: ROS 1 bag'leri için yazılmış araçlar ROS 2 bag'lerine geçmez, bu yüzden belgeleri robotta kurulu sürümle eşleştirin.

Yalıtılmış bir analiz veya benzetim ortamında yeniden oynatın. Kaydedilmiş komut konularını çalışan bir robotun eyleyicilerine yeniden oynatmak bir kazadır ve önlemi ayrı bir ROS alanı ya da çevrimde hiç donanım olmamasıdır.

Bağımlılığın nereye ait olduğuna karar verin ve yazın: VPN gerçekleşmesi gereken bir alışverişi korur, cihaz üstü işleme eşzamanlı olması hiç gerekmeyen bir alışverişi kaldırır ve kayıtlı bir veri kümesi canlı tüketiciyi daha sonraki bir tüketiciyle değiştirir. Sonra tasarım bitti denmeden önce, yerel iş hâlâ çalışırken bağlantının kesildiği durumu bilerek test edin.

İlgili makaleler