robossembler.org/docs/papers/auto-assembly.md

33 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: auto-assembly
title: 'Фреймворк Auto-Assembly'
---
*Оригинал: [Auto-Assembly'2023](https://arxiv.org/pdf/2301.02643.pdf)*
![](img/autoassembly_arch.png)
## Генерация артефактов (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](https://www.researchgate.net/publication/235296802_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).