Робототехника на базе ROS (Robot Operating System) и ROS2 стала стандартом для промышленных и сервисных роботов. Однако управление роботом, навигация, обработка сенсорных данных и принятие решений в реальном времени требуют сложной интеграции. AI-агент ASI Biont решает эту задачу: он подключается к ROS/ROS2 через execute_python, используя библиотеки rclpy (для ROS2) или rospy (для ROS) и стандартные протоколы — MQTT, Modbus, HTTP API, WebSocket, SSH. Всё управление происходит через диалог в чате: пользователь описывает задачу, AI пишет код, запускает его в sandbox-окружении и взаимодействует с роботом.
Как ASI Biont подключается к ROS/ROS2?
ASI Biont не имеет готового драйвера для ROS — он подключается к ЛЮБОМУ устройству через универсальный инструмент execute_python. AI-агент пишет Python-скрипт, который использует библиотеки из sandbox (rclpy, rospy, paho-mqtt, pymodbus, paramiko, aiohttp) и выполняет его в облаке. Скрипт подключается к ROS-мастеру (через XMLRPC), к MQTT-брокеру, к HTTP API робота или напрямую по SSH к одноплатнику, на котором запущен ROS. Пользователь просто описывает в чате: «Подключись к моему роботу на ROS2, IP 192.168.1.100, топик /cmd_vel, публикуй линейную скорость 0.5 м/с». AI генерирует код, выполняет его — и робот едет.
Почему execute_python, а не Hardware Bridge?
Для ROS/ROS2 не требуется локальный bridge, так как робот уже имеет сетевое подключение. ASI Biont использует execute_python — sandbox-окружение на сервере, где AI выполняет Python-код с доступом к библиотекам для работы с ROS. Если робот работает на Raspberry Pi, AI может подключиться по SSH (через paramiko) и запустить скрипт прямо на устройстве.
Пример: управление роботом TurtleBot3 через ROS2
Сценарий: Пользователь хочет, чтобы робот TurtleBot3 объехал препятствие и вернулся в исходную точку.
Шаг 1. Пользователь пишет в чате ASI Biont:
«Подключись к TurtleBot3 по ROS2. IP робота 192.168.1.101. Подпишись на топик /odom для получения одометрии, опубликуй команду на /cmd_vel, чтобы объехать препятствие слева и вернуться назад. Выполни скрипт на роботе через SSH, логин pi, пароль raspberry».
Шаг 2. AI генерирует Python-скрипт с использованием rclpy и paramiko:
import rclpy
from geometry_msgs.msg import Twist, Pose
from nav_msgs.msg import Odometry
import math
import time
rclpy.init()
node = rclpy.create_node('asi_biont_controller')
publisher = node.create_publisher(Twist, '/cmd_vel', 10)
def move_forward(speed, duration):
msg = Twist()
msg.linear.x = speed
msg.angular.z = 0.0
publisher.publish(msg)
time.sleep(duration)
msg.linear.x = 0.0
publisher.publish(msg)
def turn_left():
msg = Twist()
msg.linear.x = 0.0
msg.angular.z = 0.5
publisher.publish(msg)
time.sleep(2.0)
msg.angular.z = 0.0
publisher.publish(msg)
# Объезд препятствия слева
move_forward(0.2, 3.0)
turn_left()
move_forward(0.2, 2.0)
rclpy.shutdown()
Шаг 3. AI выполняет скрипт в sandbox, подключается к ROS2-мастеру робота, публикует сообщения — робот выполняет манёвр.
Альтернативный сценарий: мониторинг и AI-анализ данных с ROS
Пользователь может попросить AI собирать данные с лазерного сканера (LiDAR) через топик /scan, анализировать их с помощью numpy и scikit-learn, и при обнаружении препятствия отправлять уведомление в Telegram. AI пишет скрипт, который подписывается на /scan, преобразует данные в массив расстояний, детектирует объекты, и через requests.post отправляет сообщение.
Сравнение способов интеграции ROS с ASI Biont
| Способ | Когда использовать | Пример |
|---|---|---|
| execute_python (rclpy) | ROS2 с прямым доступом по сети | Публикация команд, подписка на топики |
| SSH + paramiko | ROS на одноплатнике (Raspberry Pi) | Запуск launch-файлов, сбор логов |
| MQTT bridge | ROS с MQTT-шлюзом | Управление через облачный MQTT-брокер |
| HTTP API | Роботы с REST API (например, ROSbridge) | rosbridge_server: отправка JSON-команд |
| Modbus/TCP | Промышленные роботы с Modbus-интерфейсом | Чтение/запись регистров контроллера |
Выгоды интеграции с ASI Biont
- Нулевой порог входа: не нужно знать ROS API — просто опишите задачу словами.
- AI пишет код за секунды: ручная интеграция заняла бы часы или дни.
- Гибкость: подключайтесь к любому устройству — от TurtleBot3 до промышленного KUKA.
- Автоматизация: AI может запускать скрипты по расписанию, анализировать данные и принимать решения.
Заключение
Интеграция ROS/ROS2 с AI-агентом ASI Biont превращает робота в автономного исполнителя. Вам не нужно писать ROS-ноды вручную — просто опишите задачу в чате, и AI сам подключится к роботу, прочитает данные сенсоров, примет решение и выполнит действие. Попробуйте интеграцию на asibiont.com — подключите своего робота к AI уже сегодня.
Комментарии