Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Predstavlyaem livekit portal dlya ros 2
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · Все права защищены.

Представляем LiveKit Portal для ROS 2

Источник: LiveKit•10 ноября 2026 г. в 04:16

Представляем LiveKit Portal для ROS 2

Подключайте графы ROS 2, браузерные интерфейсы, облачные сервисы и других роботов через LiveKit без необходимости транслировать DDS через сети.

ROS 2 создана для распределенных систем, но ее модель сетевого взаимодействия по умолчанию лучше всего работает в локальной сети. Подключение робота к удаленному оператору, облачному сервису или другому роботу в другой сети часто вынуждает команды создавать и поддерживать собственный транспортный слой вокруг графа ROS.

Сегодня мы выпускаем LiveKit Portal for ROS 2. Это автономный узел ROS 2, который связывает граф ROS с комнатой LiveKit. Он предоставляет участникам (как использующим ROS, так и без нее) общий способ обмена топиками, вызовами сервисов и видео по протоколу WebRTC с использованием реалтайм-сети LiveKit.

LiveKit Portal для ROS 2 позволяет создавать удаленные робототехнические системы без трансляции DDS через сети, изменения уже запущенных на вашем роботе узлов, а также без создания и поддержки собственного транспортного слоя.

Подключайте свои графы ROS к любому участнику LiveKitLink to this section

Узел ROS Portal обнаруживает настроенные топики в локальном графе ROS и публикует их в виде треков LiveKit. После публикации другой узел ROS Portal может подписаться на эти треки и ретранслировать их в собственный граф. А в тех случаях, когда робототехнические системы взаимодействуют с клиентами без ROS, веб-приложения, облачные сервисы и другие клиенты LiveKit могут использовать те же данные без запуска ROS.

ROS Portal поддерживает четыре основных пути передачи данных:

  • Топики ROS. Пересылка топиков в любом направлении через LiveKit DataTracks. ROS Portal определяет типы сообщений во время выполнения и анонсирует схему с каждым треком.
  • Сервисы ROS. Маршрутизация настроенных вызовов сервисов конкретному участнику LiveKit через LiveKit RPC.
  • Изображения ROS. Публикация топиков sensor_msgs/msg/Image или sensor_msgs/msg/CompressedImage в качестве LiveKit VideoTracks с настраиваемыми опциями кодека и битрейта.
  • Видеоисточники. Обход ROS и прямая публикация видео в виде LiveKit VideoTracks.

ROS Portal сохраняет схему сообщений каждого топика вместе с его собственным DataTrack, поэтому каждый подписчик знает, как читать данные:

  • Для соединений между ROS и ROS сообщения остаются в родном формате CDR от ROS, без конвертации для каждого сообщения. Перед пересылкой топика ROS Portal проверяет, что оба графа используют одинаковое определение сообщения.
  • Для соединений между ROS и системами без ROS, ROS Portal может кодировать топик в формат JSON и публиковать JSON Schema, сгенерированную на основе типа сообщения ROS, чтобы браузерное приложение или облачный сервис могли прочитать его без инструментов ROS.

Что можно создать с помощью ROS PortalLink to this section

С помощью Portal DDS остается внутри локальной сети ROS каждого робота. LiveKit обрабатывает широкомасштабное соединение между участниками, включая шифрование, контроль перегрузки и выборочные подписки. Каждый удаленный участник

Эта модель поддерживает несколько распространенных вариантов использования:

  • Телеоперация. Потоковая передача видео и данных датчиков в интерфейс оператора, а затем отправка топиков управления обратно роботу.
  • Удаленный инференс. Запуск ресурсоемких компонентов ROS или нативных клиентов LiveKit на удаленных машинах.
  • Координация парка. Обмен выбранными топиками и вызовами сервисов между роботами без объединения их сетей DDS.
  • Мониторинг. Отправка диагностики и состояния на дашборды в браузере или в облачные сервисы в виде JSON с описанной схемой.

Управляйте тем, что пересекает сетьLink to this section

ROS Portal использует файл конфигурации YAML для определения того, какие топики и сервисы могут пересекать соединение LiveKit. Правила топиков поддерживают регулярные выражения, элементы управления направлением, ограничения скорости, кодирование схем, доставку с фиксацией (latched) и параметры видео.

Следующая конфигурация публикует тестовые топики в обоих направлениях, ограничивает поток IMU, принимает команды удаленной скорости и публикует стереокамеру непосредственно на LiveKit VideoTrack:

Пересылайте только те топики и направления, которые необходимы вашему приложению. Это позволяет избежать лишнего трафика на ограниченных каналах связи робота и ограничить удаленную поверхность атаки графа ROS.

Демонстрация: перенос SLAM на удаленный GPULink to this section

Эта демонстрация объединяет три варианта использования: телеоперацию, удаленный инференс и мониторинг. Ровер транслирует свою стереокамеру через LiveKit, а оператор, не использующий ROS, управляет им в сцене. Участник ROS с десктопным графическим процессором выполняет SLAM и плотную реконструкцию сцены. Наконец, поза робота и растущая 3D-карта отправляются в комнату LiveKit и визуализируются другим участником ROS.

Ровер представляет собой Waveshare Cobra Flex с Jetson Orin Nano и относительно дешевой USB-стереокамерой. Jetson запускает стек управления, но у него недостаточно ресурсов GPU для оценки глубины с помощью методов обучения. Вместо этого эту работу выполняет настольный ПК с NVIDIA RTX 5090. Устройство на базе граничных вычислений также не обеспечивает встроенную возможность удаленного просмотра или управления. Машины не разделяют локальную сеть или домен DDS.

Демонстрация включает четырех участников LiveKit:

  • Робот. Стек cobra_flex_ros Docker Compose запущен для драйверов ровера и ROS Portal. ROS Portal публикует стереокамеру как LiveKit VideoTrack и ретранслирует входящие команды скорости в топики ROS cmd_vel.
  • Оператор. Браузерное приложение, созданное с использованием LiveKit JS SDK, teleop, отображает видеопоток и отправляет команды джойстика и клавиатуры. Оно не запускает ROS.
  • Хост SLAM. Стек remote_ros_slam Docker Compose на настольном компьютере запускает ROS Portal, RTAB-Map стерео SLAM и ScaRF-SLAM реконструкцию сцены.
  • Визуализатор. На Mac запущены ROS Portal и Foxglove Bridge. ROS Portal ретранслирует топики позы и карты в локальный граф ROS на Mac, а Foxglove отображает их.

Как хост SLAM строит 3D-картуLink to this section

Каждый кадр камеры содержит левое и правое изображения бок о бок, поэтому оба глаза разделяют одну временную метку. ROS Portal на хосте SLAM получает VideoTrack и ретранслирует его как топик изображения ROS. Узлы SLAM читают этот топик как любую локальную камеру.

У ровера нет IMU, поэтому RTAB-Map вычисляет позы на основе стереоодометрии и замыкания петли. ScaRF-SLAM берет ключевые кадры RTAB-Map, оценивает плотную глубину на GPU и дополняет карту пакетами по мере движения ровера. Карта отстает от ровера на несколько секунд.

Конфигурация ROS Portal на хосте SLAM принимает камеру на вход и отправляет наружу только результаты:

Хост SLAM не публикует видео. Участники, которым нужен вид с камеры, подписываются на трек stereo_camera робота напрямую через LiveKit, что освобождает исходящий канал хоста SLAM для данных карты.

Полная карта ScaRF-SLAM вырастает до нескольких мегабайт на сообщение, поэтому она остается в локальном графе хоста SLAM. Вместо этого хост отправляет вокселизированные, сжатые фрагменты размером не более 32 КБ, каждый в своем собственном топике. Правило /scarf_slam/submaps/.* пересылает новые топики фрагментов по мере их появления. Foxglove сохраняет последнее сообщение в каждом топике, поэтому фрагменты в совокупности визуализируют всю карту.

Демонстрация в трех ракурсах. Вверху слева: вид телеоператора в браузере от участника, не использующего ROS. Внизу слева: вид реалтайм-видео в Foxglove у участника ROS. Справа: вид реконструкции сцены в Foxglove.

Ни один из узлов SLAM ничего не знает о LiveKit. Они читают и пишут обычные топики ROS, а конфигурация ROS Portal решает, что именно пересекает сеть. Вы можете использовать тот же паттерн для других тяжелых компонентов, таких как модели восприятия, планировщики или инференс политик.

Попробуйте ROS Portal локально с помощью DockerLink to this section

ROS Portal доступен в виде образов Docker и пакетов Debian для поддерживаемых дистрибутивов и архитектур ROS 2. Вы можете подключить его к LiveKit Cloud или к самостоятельно развернутому серверу LiveKit.

Для локальной настройки запустите сервер LiveKit с включенными большими объектами данных участников (participant data blobs):

Затем создайте токен для участника ROS Portal:

Создайте файл /tmp/all_topics.yaml для быстрой локальной проверки:

Запустите контейнер для вашего дистрибутива ROS:

Текущий релиз поддерживает ROS 2 Humble, Jazzy, Kilted и Lyrical.

Дальнейшие шаги Ссылка на этот раздел

Репозиторий содержит руководства по установке, полное справочное руководство по конфигурации, инструкции по Docker и учебное пособие по Turtlesim для соединения двух графов ROS.

← Все статьи

О чём эта статья

Ещё в разделе «Телеком и сети»

Все →
Влияние Nokia в эпоху ИИ
Infinera

Влияние Nokia в эпоху ИИ

За рамками пропускной способности: сеть — это новые вычислительные мощности
Infinera

За рамками пропускной способности: сеть — это новые вычислительные мощности

Г гонка ИИ на самом деле является гонкой контекста
Twilio

Г гонка ИИ на самом деле является гонкой контекста

Быстрая связь с человеком — это не сбой ИИ: возможно, это его лучшая функция
Twilio

Быстрая связь с человеком — это не сбой ИИ: возможно, это его лучшая функция

Массовые текстовые рассылки: что это такое и как их использовать
Twilio

Массовые текстовые рассылки: что это такое и как их использовать

21 тип электронной почты: объяснение, советы и примеры
Twilio

21 тип электронной почты: объяснение, советы и примеры

Ещё от LiveKit

Корпоративная голосовая связь в масштабном исполнении: как Clerk AI обслуживает миллионы разговоров с помощью LiveKit
LiveKit

Корпоративная голосовая связь в масштабном исполнении: как Clerk AI обслуживает миллионы разговоров с помощью LiveKit

Как Acuity Health преобразует доступ пациентов к медицинской помощи с помощью голосовых агентов LiveKit
LiveKit

Как Acuity Health преобразует доступ пациентов к медицинской помощи с помощью голосовых агентов LiveKit

Как создать готовый к продакшену голосовой ИИ-агент
LiveKit

Как создать готовый к продакшену голосовой ИИ-агент

Как Serve AI создала лучший голосовой агент с помощью Agent Simulations
LiveKit

Как Serve AI создала лучший голосовой агент с помощью Agent Simulations

Тестирование голосовых агентов с помощью Agent Simulations
LiveKit

Тестирование голосовых агентов с помощью Agent Simulations

Retell против Vapi против LiveKit для голосовых ИИ-агентов: сравнение для разработчиков
LiveKit

Retell против Vapi против LiveKit для голосовых ИИ-агентов: сравнение для разработчиков