Робот

⬇ Robot1.rar (72 МБ) ⬇ Robot1-Stend-RU.pdf (182 КБ)

Добавление в программу функции Stend

Модуль Stend в ней — это трёхмерный стенд для настройки захвата и укладки DIN-реек без риска для железа: робот на подставке, коробка, станция забора и деталь расставляются мышью, захват на J6 собирается из стойки, балки и рейки прямо на модели, а программа сама считает досягаемость, план укладки на 98–112 гнёзд и показывает весь цикл с имитацией входов и воздуха.
Robot1 — модуль Stend
Окно Stend: слева сцена с роботом, коробкой и уложенными рейками, справа расчёт цикла.
Как теперь работает. Робот, деталь, коробка и начальная точка расставлены — дальше вкладка «Цикл», новая группа «Быстрый расчёт» сверху: «Сколько деталей уложить» (0 — заполнить всю коробку). «Новая деталь появляется через, с: от … до» — промежуток появления следующего изделия, например 3…7. «Рассчитать всё» — программа сама: записывает точку «Захват» по лежащей детали (с воздухом «Вкл»), а начальную — из виртуального робота, если её нет; включает имитацию, причём ожидание новой детали считается и без настроенных входов (раньше без входов шло «по координатам»); строит план укладки и сценарий показа, а в строке под кнопками пишет: «Уложится N из M деталей за MM:SS — в среднем X с на деталь, ожидание новых деталей MM:SS». Если время ещё условное (скорости осей не замерены), об этом там же. «Рассчитать и Play» — то же и сразу запуск показа. Главный принцип — сначала всё настраивается и проверяется на модели, а на настоящего робота переходят поэтапно: сухой прогон, только J1, подтверждение точек на месте, и лишь потом полный цикл.

Мы соединили две вещи, которые обычно живут в разных мирах: систему технического зрения engiAI с собственным конвейером обучения нейросетей и шестиосевой промышленный робот BORUNTE BRTIRUS0707A. Результат — робот, который не выполняет заученную программу, а видит деталь и подстраивается под неё в реальном времени.

Вкладка «Деталь и коробка»
Вкладка «Деталь и коробка»: размеры рейки, коробки и узла на J6 — стойка, балка, присоски и датчики.
🔒 Скачать видео 2026-08-20 14-27-20.mp4 — нет доступа

Тестовое задание, на котором связка доказала себя: коробка лежит на столе в произвольном положении, оператор крутит её как угодно — от 0 до 360 градусов. Камера смотрит сверху, нейросеть определяет угол поворота с точностью до градуса, и рука робота повторяет положение коробки — разворачивает захват ровно под неё. Никаких упоров, ложементов и датчиков положения: только камера, нейросеть и робот.

Из чего состоит система

engiAI — машинное зрение. Полный цикл работы с ИИ: подключение промышленных камер (SICK, Hikrobot, GigE Vision, USB), разметка зон инспекции прямо на живом видео, генерация обучающей выборки из считанных кадров, обучение YOLO-моделей на GPU (CUDA) и живой инференс со скоростью потока камеры. Модуль OUTPUT превращает результат распознавания в действия: TCP-посылки роботу или ПЛК и дискретные выходы камер.

Robot1 — управление роботом. Прямое общение с контроллером HC1 по открытому JSON/TCP-протоколу, без пульта и проприетарного софта: ручное управление каждой осью, сохраняемые позы, 3D-модель робота с базой положений. Главное — TCP-приёмник команд от ИИ: правило на каждую ось с именем команды, скоростью, смещением, инверсией и приведением угла к ближнему пути (±180°).

Связь между программами — обычный TCP/IP. Это принципиально: в цепочку можно поставить любое оборудование, которое умеет открыть сокет — ПЛК, другой робот, SCADA, ERP.

Как это работает: от кадра до движения

  • Кадр. Камера отдаёт изображение зоны инспекции (в нашем стенде — SICK, матрица 2048×2048).
  • Класс. YOLO-модель классифицирует положение детали: каждый градус поворота — отдельный класс (0…359 на полный круг или 0…180 для симметричных деталей).
  • Посылка. Правило OUTPUT формирует команду — например «J6 315» — и отправляет её по TCP. Правило создаётся одно на всю модель: подстановка {class} сама передаёт имя распознанного класса.
  • Правило оси. Robot1 применяет настройки оси — инверсию, смещение, ближний путь — и командует контроллеру целевой угол с заданной скоростью.
  • Движение. Ось поворачивается — захват встаёт ровно по детали.

Задержка реакции от поворота коробки до старта оси — около секунды, и она управляемая: все выдержки вынесены в настройки.

Обучение без датасета и без ML-инженера

Классическая боль машинного обучения на производстве — сбор и разметка тысяч снимков. В engiAI это решено генерацией синтетики: оператор делает один снимок детали в зоне, и программа сама строит обучающую выборку:

  • поворачивает окно зоны над целым кадром с заданным шагом (хоть 0,1°) — в кадр попадает настоящий фон, деталь не режется рамкой: снимок автоматически расширяется до квадрата по диагонали зоны;
  • добавляет вариации яркости и контраста в заданных пределах и зеркальные копии;
  • сама раскладывает кадры по классам-градусам (0…359) и делит выборку на train и val.

Из одного снимка получаются сотни обучающих файлов. Дальше — кнопка «TRAIN AI MODEL», и через время модель готова к работе. Весь цикл «показал деталь → обучил → робот работает» выполняет оператор линии, а не приглашённый ML-инженер.

Поток данных не должен ломать робота

Нейросеть отдаёт распознавания десятки раз в секунду, и «в лоб» транслировать их в движения нельзя — сервоприводы срываются в аварию от потока перенацеливаний. В связке реализована многоступенчатая защита, выверенная на живом роботе:

  • Мёртвая зона — дребезг между соседними классами (315↔312) не двигает ось вовсе;
  • Выдержка стабильности — новый класс должен продержаться заданное время: одиночные ложные кадры нейросети не гоняют ось в дальние рейсы;
  • Плавный перехват — если цель изменилась, пока ось едет, робот не доезжает устаревшую точку: контролируемое торможение, очистка очереди контроллера и сразу движение к последней цели. Промежуточные команды отбрасываются — важна только актуальная;
  • Пауза между движениями — жёсткий ограничитель частоты команд контроллеру;
  • Автовосстановление — при аварии очередь контроллера чистится автоматически, после сброса цель уходит заново; обе программы ведут постоянные файловые журналы.

Чем это лучше классического робота-манипулятора

Классический промышленный робот повторяет жёстко записанную траекторию. Всё, что он «знает» о детали, обеспечивается механикой вокруг него. Отсюда — главные статьи расходов и главные ограничения автоматизации. Зрение с ИИ снимает их по пунктам.

Деньги и сроки

  • Не нужна механическая оснастка базирования — ложементы, упоры, вибробункеры, центрирующие станции. Деталь может лежать как угодно: робот сам под неё подстроится. Оснастка под одну деталь нередко стоит как сам робот — здесь её нет вообще.
  • Переналадка на новое изделие — часы, а не недели. Показали детали камере, обучили модель, задали правило — линия работает. Не нужен выезд интегратора и остановка производства.
  • Мелкие серии становятся рентабельными. Классическая автоматизация окупается только на больших тиражах. Когда переналадка почти бесплатна, автоматизировать выгодно даже партию на день.
  • Один инструмент вместо трёх систем: наведение робота, контроль качества и отбраковка работают в одной программе с одной камерой.

Гибкость и качество

  • Толерантность к реальному миру. Сместился конвейер, деталь легла криво, пришла партия с другим оттенком — классическая ячейка встаёт, ИИ-ячейка продолжает работать: она смотрит на деталь, а не на координаты.
  • Контроль качества бесплатно. Та же модель, что наводит робота, отличает брак: замятую коробку, сорванную этикетку, неправильную сборку — и отправляет её в отбраковку тем же механизмом правил.
  • Любая ось — по ИИ. Правила назначаются на каждую из шести осей независимо: сегодня по модели работает один разворот захвата, завтра — полное позиционирование по нескольким осям одновременно.
  • Постоянная обратная связь. Робот не «слепой исполнитель»: каждое движение — ответ на то, что реально видно в кадре, с журналом всех решений.

Открытость и масштабирование

  • Независимость от бренда робота. Связь — открытый TCP/IP: сегодня это BORUNTE, завтра тем же правилом можно управлять другим манипулятором, поворотным столом или ПЛК.
  • Дообучение на месте. Модель — не «прошивка»: появился новый вид детали или брака — дообучили за вечер, прямо на линии, на реальных кадрах с реальным освещением цеха.
  • Тиражирование ячейки — копирование программ и файла модели, а не повторный проект интеграции.
  • Прозрачность. Постоянные журналы обеих программ и журнал срабатываний в базе данных: видна вся история — от кадра до движения оси. Это база для статистики, метрик качества партий и предиктивного обслуживания.

Где это применимо

  • Упаковка и логистика: ориентация коробок перед укладкой, паллетирование и депаллетирование смешанных палет, конвейерный пикинг произвольно лежащих предметов.
  • Контроль качества с отбраковкой: одна камера и проверяет, и командует исполнительными механизмами.
  • Загрузка станков (ЧПУ, прессы): заготовки навалом или на подложке, без вибробункеров.
  • Сборка: позиционирование деталей, контроль правильности установки на каждом шаге.
  • Пищевое производство и агро: вариативные объекты, где механическое базирование невозможно в принципе.
  • Переработка и сортировка: объекты, которых «нет в каталоге», — область, где классическая автоматизация бессильна.

Что дальше

  • Этапы и внешние триггеры: технологическая программа из шагов (координаты всех осей и скорость на каждом шаге), добавление и удаление этапов из интерфейса, запуск этапов по TCP-сигналам от зрения, ПЛК или оператора;
  • Захват по полной позе: от угла одной оси — к положению и ориентации детали по нескольким осям одновременно;
  • Многокамерные ячейки и синхронизация нескольких роботов;
  • Автодообучение на потоке: система сама собирает сложные кадры и предлагает их в новую обучающую выборку.

Технологический стек

.NET 9 (WinForms) · YOLO-классификация, ONNX, CUDA · камеры SICK / Hikrobot / GigE Vision / DirectShow · робот BORUNTE BRTIRUS0707A (контроллер HC1, открытый JSON/TCP-протокол) · SQLite · TCP/IP-интеграция с любым оборудованием.

Проект показывает главное: порог входа в «зрячую» робототехнику упал. Не нужен штат ML-инженеров и месяцы интеграции — нужен один снимок детали, кнопка обучения и открытый протокол. Робот перестаёт быть самым дорогим и самым негибким станком в цехе — и становится универсальным рабочим, которого переучивают за вечер.

  • Требования
  • Windows 10/11 x64. Анализ CPU и GPU — версии RTX 50+.

    Программа EngiAI

    Руководство пользователя.pdf

    Регистрация

    Сделать заявку на engiAI