Введение
Современные автономные системы — от роботов-курьеров до агродронов — требуют объединения данных с разных датчиков: LIDAR даёт облако точек, IMU — ориентацию, камера — визуальное восприятие. Классический подход — писать код слияния сенсоров и инференса нейросетей вручную, настраивать конвейеры и отлаживать. Платформа ASI Biont меняет правило: вы описываете задачу текстом, а AI-агент самостоятельно пишет код интеграции, подключается к устройству и запускает обработку. В этой статье — практический гайд по подключению Edge-устройства с сенсорным фьюжном (Raspberry Pi + LIDAR + IMU + камера) к ASI Biont через SSH, с примерами кода и реальным сценарием для робототехники.
Какое устройство и зачем его подключать к AI?
В качестве аппаратной базы используем одноплатный компьютер Raspberry Pi 5 (или 4) с:
- LIDAR-сенсором (например, RPLIDAR A1) для картографии и детекции препятствий;
- 9-осевым IMU (BNO055) для отслеживания углов и ускорений;
- камерой (Raspi Cam v3) для детекции объектов через YOLOv8.
Типичная задача — робот-уборщик, который строит карту помещения и обходит препятствия. Без AI-агента инженеру пришлось бы писать скрипт слияния данных на Python, интегрировать MQTT или WebSocket для удалённого управления, отлаживать синхронизацию сенсоров. С ASI Biont достаточно описать задачу в чате, и AI сам генерирует код, подключается по SSH и запускает pipeline.
Способ подключения: SSH через paramiko
ASI Biont подключается к Linux-одноплатникам (Raspberry Pi, Orange Pi) по протоколу SSH. Для этого AI использует industrial_command(protocol='ssh', ...) или пишет Python-скрипт с библиотекой paramiko в execute_python. В sandbox ASI Biont доступны все необходимые библиотеки, включая numpy, opencv-python, torch, rplidar (через pip в скрипте).
Почему SSH, а не MQTT или COM-порт? LIDAR и камера требуют прямого доступа к GPIO и USB, которые не доступны через облачные протоколы. SSH даёт полный контроль над устройством: можно устанавливать пакеты, запускать long-running процессы (без while True — используем планировщик или разовые вызовы).
Сценарий: автономный робот с фьюжном сенсоров и AI-детекцией
Пользователь пишет в чат: «Подключись к моей Raspberry Pi по SSH (IP 192.168.1.100, user pi, pass mypass). Запусти скрипт, который читает LIDAR и камеру, выполняет слияние данных и детектирует объекты через YOLOv8. Результаты (координаты объектов) отправляй в топик MQTT 'robot/objects' на брокер 192.168.1.50:1883».
AI-агент генерирует следующий Python-скрипт для Raspberry Pi:
import cv2
import numpy as np
from rplidar import RPLidar
import paho.mqtt.client as mqtt
import torch
def main():
# Подключение к LIDAR
lidar = RPLidar('/dev/ttyUSB0')
lidar.start()
# Загрузка YOLOv8 (ONNX)
model = torch.hub.load('ultralytics/yolov8', 'custom', path='yolov8n.pt', trust_repo=True)
# MQTT клиент
client = mqtt.Client()
client.connect('192.168.1.50', 1883, 60)
# Захват кадра с камеры
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
if not ret:
lidar.stop()
return
# Инференс
results = model(frame)
detections = results.xyxy[0].cpu().numpy()
# Чтение LIDAR (один скан)
scan = lidar.iter_scans(max_buf_meas=500)
for i, scan_data in enumerate(scan):
if i > 0:
break
lidar_data = [(m[0], m[1], m[2]) for m in scan_data]
# Слияние: для каждой детекции берём ближайшую точку LIDAR
objects = []
for det in detections:
x1, y1, x2, y2, conf, cls = det
cx, cy = (x1+x2)//2, (y1+y2)//2
# Поиск ближайшего LIDAR-измерения (упрощённо)
min_dist = 9999
for angle, dist, quality in lidar_data:
if dist < min_dist:
min_dist = dist
objects.append({'class': int(cls), 'confidence': float(conf), 'distance_m': min_dist/1000.0})
# Публикация
client.publish('robot/objects', json.dumps(objects))
lidar.stop()
cap.release()
client.disconnect()
if __name__ == '__main__':
import json
main()
AI также генерирует и выполняет команду для передачи скрипта и запуска:
industrial_command(
protocol='ssh',
command={
'host': '192.168.1.100',
'username': 'pi',
'password': 'mypass',
'command': 'python3 /home/pi/fusion_script.py'
}
)
Весь процесс занимает ~30 секунд — AI сам создаёт скрипт, копирует его на Raspberry Pi (через SFTP) и запускает.
Альтернативные способы и их сравнение
| Способ | Когда использовать | Преимущества | Ограничения |
|---|---|---|---|
| SSH (paramiko) | Есть одноплатник с Linux, нужен полный доступ | Низкая задержка, можно устанавливать ПО | Требуется сеть и credentials |
| MQTT | Для готовых датчиков ESP32 / IoT | Простота, облачный брокер | Нет прямого доступа к GPIO |
| COM-порт (Hardware Bridge) | Arduino, STM, промышленные датчики | Работает без сети | Только последовательный порт |
| execute_python | Для анализа данных, которые уже собраны на сервере | Не требует установки bridge | Нет доступа к локальным портам |
Для sensor fusion на Raspberry Pi SSH — единственный вариант, дающий полный контроль над периферией.
Как это выглядит для пользователя в чате?
Никаких панелей управления или кнопок «добавить устройство». Диалог:
Пользователь: «Подключись по SSH к Raspberry Pi на 192.168.1.100, user pi, пароль — 12345. Запусти скрипт, который каждые 10 секунд делает снимок с камеры, считывает IMU и LIDAR, выполняет SLAM (например, через OpenVINS) и публикует позу робота в топик MQTT 'robot/pose'».
AI: (формирует скрипт с использованием IMU-библиотеки, rplidar и MQTT, копирует на устройство, запускает через nohup python3 &).
AI-агент сам обрабатывает ошибки: если не найден порт LIDAR, попросит уточнить или автоматически просканирует /dev/tty*. Результат — интеграция за минуты вместо дней.
Почему это выгодно?
- Без кода: вы описываете логику словами, AI генерирует рабочий Python-скрипт.
- Быстро: типовой pipeline fusion + inference занимает 2–3 дня ручного написания; AI делает за 30 секунд.
- Гибко: можно менять сценарий без переписывания — просто измените описание.
- Любое устройство: если нет подходящего протокола в списке, AI использует
execute_pythonи сам пишет код через pyserial, pymodbus, aiohttp и т.д.
Заключение
Sensor fusion и on-device AI — ключевые технологии для робототехники и промышленности. ASI Biont делает их доступными: подключаете LIDAR, IMU, камеру через SSH, описываете цель — и получаете работающий pipeline без строчки кода. Попробуйте интеграцию уже сегодня на asibiont.com — создайте API-ключ, скачайте bridge (если нужно для COM-портов) и начните диалог с AI-агентом.
Комментарии