Введение
Роботизированные манипуляторы (robotic arms) давно стали стандартом на современных производствах — от сборочных линий автомобилей до лабораторий по сборке электроники. Однако управление ими часто требует написания сложного кода на C++, Python или специализированных языках вроде RAPID или KRL. Интеграция с AI-агентом позволяет автоматизировать этот процесс: достаточно описать задачу на естественном языке, и AI сам сгенерирует код, подключится к манипулятору и начнёт управление.
В этой статье мы разберём, как подключить любую роботизированную руку к AI-агенту ASI Biont через MQTT, ROS, COM-порт или HTTP API. Вы узнаете, какие протоколы поддерживаются, как настроить подключение за несколько минут и какие сценарии автоматизации (pick-and-place, сортировка деталей, удалённое управление из чата) можно реализовать без единой строчки ручного кода.
Почему стоит интегрировать robotic arm с AI-агентом?
Современные AI-агенты, такие как ASI Biont, способны не только генерировать код, но и выполнять его в изолированной среде (sandbox), подключаться к внешним устройствам и API. Это открывает возможности:
- Ускорение разработки: AI пишет код интеграции за секунды, а не дни.
- Гибкость: поддерживаются любые протоколы — MQTT, ROS, Modbus, HTTP, WebSocket, OPC-UA.
- Удалённое управление: можно отправлять команды манипулятору из чата, даже находясь в другом городе.
- Автоматизация рутины: AI может анализировать данные с датчиков и автоматически запускать последовательности движений.
Как ASI Biont подключается к robot arm?
ASI Biont не имеет предустановленных драйверов для каждой модели — вместо этого он использует execute_python: AI пишет Python-скрипт, который выполняется в облачном sandbox и подключается к устройству через один из поддерживаемых протоколов. Пользователь просто описывает в чате, к какому устройству подключиться и какие параметры (IP, порт, baud rate, API-ключ), и AI сам генерирует код.
Поддерживаемые способы подключения
| Способ подключения | Протокол | Типичное применение | Библиотеки в sandbox |
|---|---|---|---|
| MQTT | MQTT | ESP32, контроллеры с Wi-Fi | paho-mqtt |
| COM-порт | RS-232/RS-485 | Arduino, старые контроллеры | pyserial (через Hardware Bridge) |
| SSH | TCP/IP | Raspberry Pi, одноплатники | paramiko |
| HTTP API | REST/WebSocket | Современные манипуляторы (Universal Robots, Dobot) | aiohttp, requests |
| Modbus/TCP | Modbus | Промышленные PLC (Siemens, Allen-Bradley) | pymodbus |
| OPC-UA | OPC UA | Заводские серверы | opcua-asyncio |
| ROS | WebSocket/ROS 2 | Манипуляторы с ROS (Kinova, Franka) | rclpy (через подпроцесс) |
Практический сценарий: Сортировка деталей с помощью robotic arm + MQTT
Рассмотрим реальный кейс: на сборочной линии стоит манипулятор (например, Dobot Magician), подключённый к ESP32 через MQTT. Датчик цвета (TCS34725) определяет цвет детали, а манипулятор должен переместить её в соответствующий контейнер.
Шаг 1. Подключение к MQTT-брокеру
Пользователь пишет в чате ASI Biont:
Подключись к MQTT-брокеру по адресу mqtt://192.168.1.100:1883, логин: admin, пароль: pass. Подпишись на топик sensor/color и при получении значения 'red' отправь команду на robotic arm: переместить сервоприводы в позицию [90, 45, 0, 0].
AI генерирует следующий код и выполняет его в sandbox:
import paho.mqtt.client as mqtt
import json
import time
BROKER = "192.168.1.100"
PORT = 1883
USERNAME = "admin"
PASSWORD = "pass"
# Функция отправки команды на манипулятор через MQTT
def send_arm_command(target_pos):
client = mqtt.Client()
client.username_pw_set(USERNAME, PASSWORD)
client.connect(BROKER, PORT, 60)
payload = json.dumps({"cmd": "move_to", "position": target_pos})
client.publish("arm/commands", payload)
client.disconnect()
# Callback при получении данных с датчика
def on_message(client, userdata, msg):
data = json.loads(msg.payload.decode())
color = data.get("color")
if color == "red":
send_arm_command([90, 45, 0, 0]) # Пример позиции для красного контейнера
elif color == "blue":
send_arm_command([0, 45, 90, 0])
else:
send_arm_command([45, 45, 45, 45])
client = mqtt.Client()
client.username_pw_set(USERNAME, PASSWORD)
client.connect(BROKER, PORT, 60)
client.subscribe("sensor/color")
client.on_message = on_message
client.loop_start()
time.sleep(30) # Работаем 30 секунд (таймаут sandbox)
client.loop_stop()
Шаг 2. Результат
AI подключился к MQTT-брокеру, подписался на топик датчика цвета и при получении значения 'red' отправил команду манипулятору на перемещение в заданную позицию. Всё это заняло менее 10 секунд диалога.
Альтернативный сценарий: Управление через ROS
Если манипулятор работает под управлением ROS (Robot Operating System), AI может подключиться через WebSocket или напрямую через библиотеку rclpy (если sandbox имеет доступ к ROS master). Например, для манипулятора Kinova Gen3:
# Пример для ROS 2 (выполняется в sandbox)
import rclpy
from geometry_msgs.msg import Pose
rclpy.init()
node = rclpy.create_node('asi_arm_controller')
publisher = node.create_publisher(Pose, '/arm_controller/command', 10)
pose = Pose()
pose.position.x = 0.3
pose.position.y = 0.0
pose.position.z = 0.2
pose.orientation.w = 1.0
publisher.publish(pose)
rclpy.spin_once(node, timeout_sec=0.1)
node.destroy_node()
rclpy.shutdown()
Важно: sandbox ASI Biont выполняется в облаке, поэтому для подключения к локальной ROS-сети требуется туннель (например, через SSH reverse port forwarding) или использование ROS 2 с DDS, настроенным на внешний IP.
Управление через COM-порт (Arduino / Serial)
Для манипуляторов, подключённых через USB-COM (например, Arduino Mega с шилдом для управления сервоприводами), используется Hardware Bridge — отдельное приложение bridge.py, которое пользователь запускает на своём ПК. Bridge подключается к ASI Biont через HTTP long polling, а AI отправляет команды через инструмент industrial_command.
Пример настройки bridge.py
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200
После запуска bridge AI может отправлять команды:
industrial_command(protocol='serial://', command='write', params={'port': 'COM3', 'data': 'MOVE 90 45 0 0'})
Bridge преобразует команду в последовательный сигнал и отправляет на Arduino, который управляет сервоприводами манипулятора.
Почему это выгодно?
- Экономия времени: AI пишет код интеграции за секунды, а не дни.
- Не требует опыта: достаточно описать задачу на естественном языке.
- Универсальность: подключается к любому устройству через execute_python — не нужно ждать обновлений платформы.
- Удалённый доступ: можно управлять манипулятором из любой точки мира.
Заключение
Интеграция robotic arm с AI-агентом ASI Biont — это не футуристика, а рабочий инструмент, доступный уже сегодня. Благодаря поддержке MQTT, ROS, COM-порта и других протоколов, вы можете автоматизировать pick-and-place, сортировку деталей и удалённое управление буквально за несколько минут диалога с AI.
Хотите попробовать? Переходите на asibiont.com и начните интеграцию своей роботизированной руки прямо сейчас. Просто опишите в чате, к какому устройству подключиться, и AI сделает всё остальное.
Комментарии