ROS 2 + AI: подключаем робота к ASI Biont — управление через Telegram без сложного кода

Робототехника на базе ROS / ROS 2 — это мощно, но порог входа высок: нужно писать ноды, разбираться в топиках и настраивать взаимодействие между компонентами. А что если отдавать команды роботу простым языком — «подъедь к стеллажу» или «построй карту комнаты»? Именно такую задачу решает AI-агент ASI Biont. В этом гайде разберём, как подключить ROS 2-робота к ASI Biont через MQTT и WebSocket, покажем рабочие примеры кода и объясним, как автоматизировать навигацию без написания сотен строк кода.

Почему ROS и AI-агент — это логичная пара

ROS (Robot Operating System) — экосистема для разработки робототехнических систем: от простых манипуляторов до автономных дронов. В ROS 2 всё общение между модулями построено на топиках (topics) и сервисах (services), что даёт гибкость, но требует программирования на C++ или Python. Для оператора склада или владельца домашнего робота это не всегда удобно.

ASI Biont — это AI-агент, который умеет подключаться к устройствам через открытые протоколы и сам писать код интеграции. Ему не нужно знать ROS заранее: он генерирует Python-скрипты под конкретную задачу. В результате стандартная рутина — паблишинг команд в топик /cmd_vel, чтение одометрии из /odom, запуск картографирования — превращается в текстовые команды.

Способы подключения ASI Biont к ROS 2

ASI Biont поддерживает несколько протоколов, но для ROS 2 оптимальны два:

Способ Когда использовать Комментарий
MQTT Если ROS 2-робот уже имеет MQTT-мост (например, через ros2_mqtt_bridge) Быстро, надёжно, стандартно для IoT
WebSocket Когда нужен двусторонний поток телеметрии в реальном времени Удобно для браузерных дашбордов и чат-интерфейсов
execute_python Когда нет готового моста и нужно писать код прямо сейчас AI сам напишет скрипт с paho-mqtt или aiohttp

В большинстве случаев используется MQTT, потому что ROS 2 имеет встроенную поддержку этого протокола через пакеты типа mqtt_client. ASI Biont подключается к брокеру и обменивается сообщениями в JSON-формате.

Пример 1: паблишер команд движения

Допустим, робот слушает топик /cmd_vel (линейная и угловая скорость). Нужно отправлять команду «поверни налево» из чата. AI-агент генерирует код паблишера на Python:

import paho.mqtt.client as mqtt
import json

broker = "localhost"
topic = "/cmd_vel"  # топик, который читает нода управления

client = mqtt.Client()
client.connect(broker, 1883)

# Поворот налево с угловой скоростью 0.5 рад/с
msg = {
    "linear": {"x": 0.0, "y": 0.0, "z": 0.0},
    "angular": {"x": 0.0, "y": 0.0, "z": 0.5}
}
client.publish(topic, json.dumps(msg))

Этот скрипт запускается из ASI Biont через execute_python — встроенный песочницу. Важно: execute_python имеет таймаут 30 секунд, поэтому скрипт выполняется один раз и не содержит while True. Для длительной работы используется Hardware Bridge или постоянная нода.

Пример 2: сабскрайбер телеметрии с отправкой в Telegram

Теперь прочитаем данные одометрии из топика /odom и отправим их пользователю. ASI Biont не имеет функции send_telegram(), поэтому для отправки сообщения используем стандартный requests.post к API Telegram.

import paho.mqtt.client as mqtt
import requests

BOT_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"

def on_message(client, userdata, msg):
    if msg.topic == "/odom":
        data = json.loads(msg.payload)
        position = data["pose"]["pose"]["position"]
        text = f"Робот на позиции: x={position['x']:.2f}, y={position['y']:.2f}"
        requests.post(
            f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
            json={"chat_id": CHAT_ID, "text": text}
        )

client = mqtt.Client()
client.on_message = on_message
client.connect("localhost", 1883)
client.subscribe("/odom")
client.loop_forever()

Но loop_forever() может зависнуть, поэтому в ASI Biont лучше использовать однократный loop(timeout=1) и обрабатывать очередь. AI-агент учитывает такие нюансы автоматически.

Как это выглядит на практике

Пользователь пишет в чат ASI Biont:

Подключись к роботу через MQTT на localhost:1883. При подъезде к точке (1,2) отправь в Telegram сообщение «Прибыл».

AI анализирует запрос, генерирует код, который:

  1. Подписывается на /odom
  2. Сравнивает текущие координаты с заданными
  3. Когда расстояние меньше 0.2 м — публикует сообщение в Telegram

Всё это происходит без единой строчки ручного программирования со стороны пользователя.

Сценарии использования

  • Склад: робот-тележка управляется командами «возьми контейнер», «едем к зоне Б». ASI Biont транслирует естественный язык в навигационные цели.
  • Доставка: курьер-робот сообщает статус в чат, пользователь может отправить его в другую точку через Telegram.
  • Домашняя автоматизация: встроенный робот-пылесос на ROS 2 получает команду «убери кухню», AI переводит её в последовательность точек маршрута.

По данным открытых проектов (например, ROS 2 Navigation2), настройка навигации вручную занимает часами, а с AI-агентом базовый сценарий — минуты.

execute_python: подключение к любому устройству

В отличие от застывших интеграций, ASI Biont подключается к любому устройству через универсальный execute_python. Пользователь просто описывает в чате:

Устройство — ROS 2, IP 192.168.0.10, порт 1883, протокол MQTT. Подпишись на топики /odom и /scan.

AI сам пишет код с paho-mqtt, pymodbus, aiohttp или opcua-asyncio — в зависимости от протокола. Не нужно ждать, пока разработчики ASI Biont добавят поддержку конкретного устройства — интеграция создаётся за секунды в диалоге. Никаких панелей управления и кнопок «добавить устройство»: только текст.

Вывод

Связка ROS 2 и ASI Biont превращает сложного робота в управляемого через Telegram-чат ассистента. MQTT и WebSocket дают надёжный канал передачи команд и телеметрии, а execute_python позволяет адаптироваться к любой конфигурации. Если у вас есть ROS-робот, попробуйте подключить его к ASI Biont на asibiont.com — это займёт меньше времени, чем настройка первой ноды.

← Все статьи

Комментарии

Читайте также

Progressive Web Components: эволюция веб-стандартов и новый этап развития интерфейсов

1 августа 2026

Smallest.ai привлекла $13 млн: как сверхбыстрый голосовой ИИ приближает нас к «человеческому» звучанию

1 августа 2026

Метрика, ты что?! Всё верно, но я забыл про реорганизацию: как не потерять данные веб-аналитики при изменениях на сайте

1 августа 2026

Soft Skills и Карьера: как прокачать гибкие навыки с помощью AI-обучения и получить работу мечты

1 августа 2026

Интеграция OPC-UA (SCADA, DCS) с AI-агентом ASI Biont: пошаговый гайд по автоматизации промышленности без кода

1 августа 2026

Case-folding исходного кода на скорости памяти: почему важно не останавливаться раньше времени

1 августа 2026

Умная теплица на 1-Wire: как подключить DS18B20 к ASI Biont и забыть о ручном сборе данных

1 августа 2026

ERPNext + ASI Biont: как AI-агент автоматизирует заказы, остатки и отчетность без единой строчки кода

1 августа 2026

Курс «Kotlin и Android-разработка» на asibiont.com: как освоить профессию с нуля с помощью AI-обучения

1 августа 2026