Обработка в реальном времени или записанные данные: зачем на самом деле нужен VPN?
Решите, какая работа робота должна идти через сеть: своевременные результаты, телеметрия наблюдения или записанный набор данных. Три условия, затем команды bag.
Робот, который перестаёт быть полезным уже через комнату, имеет проблему связи или рабочей нагрузки гораздо раньше, чем проблему с VPN. Шифрование защищает путь, но не расширяет радиопокрытие и не ускоряет завершение удалённого вычисления. Решение перед вами — какая работа действительно должна идти через сеть, и такой ответ обычно убирает больше трафика, чем ожидают. Это решают три условия, и пропускная способность не входит в их число.
Три схемы, один вопрос о зависимости
Таблица разделяет схемы по тому, что зависит от канала, а не по тому, какое программное обеспечение изображено на диаграмме.
| Arrangement | What depends on the link | What stays onboard |
|---|---|---|
| Live remote processing | The exchange and any timely result the workstation returns | Only what the remote step does not block |
| Onboard processing, remote observation | The declared telemetry or display stream | The processing loop itself |
| Local recording, later analysis | Transfer of one selected dataset | The entire run, including raw sensors |
Ни одна строка этой таблицы не является аргументом безопасности. Функции управления и безопасности по-прежнему требуют обоснованного ответа на задержку, потерю пакетов и обрыв соединения, и ни один индикатор туннеля его не даёт. Таблица показывает, где живёт зависимость, и именно эту часть проект сети действительно может изменить.
Первое условие: должен ли ответ быть своевременным?
Если удалённый результат питает контроллер, сеть находится внутри контура управления, и её задержка, джиттер и сбои становятся свойствами управления. Если тот же результат питает только экран, панель или наблюдающего человека, такая же задержка — лишь косметика.
Работа в замкнутом контуре по беспроводному каналу возможна, и именно оттуда берётся большинство жалоб «VPN медленный», потому что туннель — видимый компонент, а причина в радио и маршрутизации. Измеряйте время кругового обмена реального сообщения, а не ping самого туннеля, затем спросите, укладывается ли число в бюджет контура. Если не укладывается, перенесите шаг на борт, вместо того чтобы согласовывать более строгий уровень обслуживания для канала, которым в комнате никто не управляет. Запишите измеренное число вместе с условиями, в которых оно получено, потому что следующий отчёт придёт без них.
Второе условие: какую скорость, направление и перерыв вы можете заявить?
Запишите данные, скорость, направление и самый долгий перерыв, который допускает приложение. Поток с камеры вверх и канал команд вниз отказывают по-разному, а перерыв, который терпит неподвижная инспекция, остановит движущуюся задачу.
Сравнивая варианты, держите физическое подключение и туннель отдельно, потому что более мощное радио и меньшая рабочая нагрузка — разные ремонты. Большая передача, которая в конце концов завершается, ничего не доказывает о своевременном поступлении чувствительного ко времени результата, а здоровый туннель ничего не доказывает о радио за ним.
Затем уменьшайте спрос, а не защищайте его. Прореживайте поток наблюдения, отправляйте сводки или дельты, а сырые данные датчиков оставляйте на борту, где хранение дешёвое, а передача нет. Меньший объём данных ослабляет доводы в пользу более быстрого канала и часто снимает нужду в нём.
Третье условие: кто должен это видеть и что остаётся локально
Наблюдение обычно является куда меньшим требованием, чем обработка. Если человеку нужно смотреть камеру и потом должен существовать журнал, это телеметрия плюс хранение; если должна работать модель, сначала спросите, может ли она работать на борту с передачей только своего результата. Перенос тяжёлого шага на борт убирает синхронную зависимость и оставляет передачу, которую можно повторить.
Наличие двух участников ROS на одном роботе само по себе не оправдывает туннель. Доступность узлов, авторизация приложения и локальный план восстановления — отдельные проблемы, а VPN отвечает только на первую и только для того трафика, который просят маршрутизировать.
Запись набора данных — это собственный проект со своими командами
Для примера, привязанного к версии, учебник по записи ROS 2 Jazzy описывает запись выбранных топиков, проверку полученного bag и его воспроизведение. Записывайте одобренные топики наблюдения, давайте запуску имя и держите определения сообщений и конфигурацию рядом.
ros2 bag record -o run42 /scan /camera/image_raw
ros2 bag info run42
ros2 bag play run42
Не записывайте каждый топик только потому, что инструмент это упрощает. Место заканчивается, данные камеры и местоположения чувствительны, а bag из неразмеченных топиков — проблема анализа для того, кто откроет его следующим. Установленный дистрибутив определяет и команды: инструменты, написанные для bag ROS 1, не переносятся на bag ROS 2, поэтому согласуйте документацию с версией, установленной на роботе.
Воспроизводите в изолированной среде анализа или симуляции. Воспроизведение записанных командных топиков в приводы живого робота — это авария, а профилактика — отдельный домен ROS или полное отсутствие оборудования в контуре.
Решите, где должна находиться зависимость, и запишите это: VPN защищает обмен, который должен состояться, обработка на борту убирает обмен, которому не нужно было быть синхронным, а записанный набор данных заменяет живого потребителя более поздним. Затем намеренно проверьте отключённый случай, пока локальная работа ещё идёт, прежде чем кто-либо назовёт проект законченным.