Skip to main content

Фреймворк Auto-Assembly

Оригинал: Auto-Assembly'2023

Генерация артефактов (Artifacts generation)

Состоит из следующих этапов

  • Анализ конструкции (design analysis). Из CAD экспортируется два дизайн-файла:
    • Детали целевой сборки и их соединения (joints). Крепёжные детали помечаются специальными ярлыками.
    • Та же сборка уже с позициями захватных устройств, приспособлений, кондукторов. В работе используется Fusion API (при этом говорится о CAD-agnostic; наверное, подразумевается, что все другие CAD'ы это API поддерживают). Из этой сборки экспортируется информация о позициях захватных устройств, кондукторов и отвёрток (с их типами) относительно деталей, которые они удерживают и помещается в Tooling Database.
  • Генерация последовательности сборки (assembly sequence generation) (В работе используется подход из работы 2012 года - Assembly planning with automated retrieval of assembly sequences from CAD model information)
    • Генерация матрицы смежности
    • Генерация последовательности на базе матрицы
    • Вычисление геометрической осуществимости по модели сборки
  • Генерация спецификации процесса сборки (bill-of-process, BOP). Сначала описание роботизированной ячейки передаётся одновременно как в симулятор, так и в рантайм. Потом происходит сверка заданий на сборку и имеющимся в сцене инструментарием. Если нет подходящих инструментов, то задание не выполняется. Каждая последовательность сборки проходит проверку на согласованность с моделью роботизированной ячейкой, в результате чего формируется валидный bill-of-process, BOP
  • Преобразование BOP в управляющий программный код - PL-script, который исполняется сначала в симуляторе, а потом и в runtime.

Развёртывание (Deploy)

Реализует исполнение кода для сборки даталей в физической среде. Ключевым компонентом в этой части является высокоуровневый язык описания процессов (Process language, PL), где описаны функции для взаимодействия с различными сервисами в runtime:

  • Motion Planner - осуществляет планирование траекторий движения
  • Robot Controller - управление роботом на низком уровне (уровень звеньев и углов поворота)
  • Jig Controller - возвращает позицию детали относительно позиции кондуктора или приспособления для захвата
  • Assembly Service - предоставляет информацию о крепеже и итоговые позиции деталей относительно начала координат робоячейки
  • Transform Service - сервис, возвращающий позицию любого объекта в внутри робоячейки относительно любых других объектов в ней.
  • 3D Simulator - загружает объекты в из описания робоячейки и визуализирует её состояние
  • Database and Message Bus - шина данных для публикации JSON сообщений и хранилище публикация и их хранилище. Взаимодействие осуществляется в соответствии со входящей в фреймворк схемой данных Factory Control Model (FCM).