38 KiB
id | title |
---|---|
ASP-overview | Планирование последовательности сборки |
Введение
Сборка - узкое место в жизненном цикле многих продуктов. Предполагаемое время сборки занимает 20-50 % от общего времени производства, в то время как стоимость сборки составляет около 20-30 % от общей стоимости (Xu et al., 2012). Планирование последовательности сборки имеет решающее значение для обеспечения успеха продукта, особенно для сложных продуктов, таких как автомобили, корабли и аэрокосмическая продукция (Hou et al., 2018).
В данной статье рассмотрены актуальные исследования по автоматическому планированию последовательности сборки (Assembly Sequence Planning, ASP).
Основные методы
На базе статьи A review on assembly sequence generation and its automation - Bahubalendruni, Biswal (India) 2016
Множества и подмножества сборочных последовательностей:
- Liaison-based - множества, построенные на графах(матрицах смежности для них) отношений(соединений) деталей. В вершинах графа - детали, в рёбрах - наличие соединения и иногда дополнительная информация о соединении (тип соединения и т.д.)
- Feasible - геометрически доступные множества. Основаны на т.н.
feasible predicate
- условии, при котором выбранная сборка доступна в геометрическом или механическом смысле. Геометрически доступной считается подсборка, все детали которой могут быть соединены без коллизий. К каждой из подсборок liaison-множества применяется некая функция, которая отвечает в формате Да/Нет на вопрос о возможности той или иной сборки. Таким образом из liasion-матрицы формируется interference-матрица, которая отражает наличие или отсутствие коллизий между отдельными деталями. - Stable - множества устойчивых (не разваливающихся) подсборок. Могут разделяться на нестабильные, частично стабильные, полностью стабильные.
- Optimal - оптимальные по отношению к целевой функции (стоимость, энергоёмкость, смены инструмента, операции). Часто инженеру нужно выбрать между несколькими допустимыми и стабильными последовательностями сборки, поэтому применяется алгоритм оптимизации. Сущестует множество типов алгоритмов оптимизации (ACO: Ant Colony Optimization, GA: Genetic Algorithm, PSO: Particle Swarm Optimization, MA: Memetic Algorithm, IA: Immune Algorithm, NN: Neural Networks, GSA: Genetic Simulated Annealing, FF: Firefly Algorithm, FW: Fireworks, MILP: Mixed Integer Linear Programming, MIP: Mixed Integer Programming), которые применяются в сочетании с различными входными данными (геометрические отношения, ограничения приоритета, информация о приспособлениях и подсборках) и целевыми функциями. Полная таблица исследований приведена в таблице 3 из работы (Bahubalendruni, Biswal '2016). Там же приводится статистика самых популярных:
- входных данных -
Liaison
иGeometrical feasibility
матрицы - алгоритмов оптимизации - Генетические алгоритмы в 40% исследований
- целевых функций - минимизация стоимости и количества изменений направлений сборки.
- входных данных -
Отношения вложенности между указанными выше сборочными последовательностями
Современные CAD-системы позволяют получать следующие данные:
- liaison data - связи между деталями
- assembly cutsets - наборы разрезов
- questions to generate precedence relations - вопросы для создания отношений приоритета
- interference free matrix/interference data - данные о помехах
- assembly mating conditions - условия сопряжения сборки
- feasible assembly sequence(s) - геометрически допустимые сборочные последовательности
- optimal/near optimal feasible assembly sequence - оптимальные и близкие к оптимальным последовательности
Большинство методов планирования последовательностей сборки (Assembly Sequence Planning, ASP) основаны на графах. На иллюстрации ниже показаны пример сборки (a) и соответствующие ему blocking-граф
(b), AND/OR-граф
или and-or tree (c), liaison-граф
(d). Граф Liaison часто применяется как входной в ASP-систем.
Обзор актуальных исследований
3D Model-Based Assembly Sequence Optimization using Insertionable Properties of Parts - 2020
Kento Tariki, Takuya Kiyokawa, Gustavo Alfonso Garcia Ricardez, Jun Takamatsu, Tsukasa Ogasawara (Japan)
http://dx.doi.org/10.1109/SII46433.2020.9026210
Исходные данные: 3D-модель в формате STEP
Алгоритм: генетический алгоритм с двумя типами функций оценки (Fitness Functions). Также применяется Insertion Matrix (матрица вставки, IM), где подразделяются детали по признаку папа/мама. Insertion Matrix вычисляется из CAD-модели с помощью функций библиотеки PythonOCC
:
- Функция
BRepAdaptor_Surface
извлекает информацию о поверхности детали и показывает её тип (плоскость, цилиндр, конус) - Деталь классифицируется по признаку мама/папа
- В координате центра отверстия детали типа "мама" создаётся маленький куб и если какая-либо деталь имеет с ней общую точку (это вычисляется с помощью функции
BRepAlgoAPI_Common
), то она помещается в IM - Функция
brepgprop_VolumeProperties
используется, чтобы определить, что общий объём больше нуля. И если она возвращает True, то деталь помещается в IM.
На рисунке ниже показан пример создания IM. Красная деталь типа "мама", зелёный куб находится в координате центра отверстия детали типа "мама", жёлтая деталь типа "папа".
Полевые испытания: использовались робот COBOTTA и ROS/MoveIt. Для примера использовалась в том числе модель из World Robot Summit Assembly Challenge 2018
.
Assembly Sequence Planning for Motion Planning - 2016
Weiwei Wan, Kensuke Harada, Kazuyuki Nagata
https://arxiv.org/pdf/1609.03108.pdf
Исходные данные: mesh-модель манипулятора, mesh-модели деталей, относительные позиции между деталями в сборке, целевая позиция сборки
Алгоритм: формируются все возможные подсборки и для каждой вычисляются:
- стабильность (stability)
- хватабельность (graspability) - число доступных способов захвата данным приспособлением
- собираемость (assemblability).
Алгоритм позволяет найти некоторые оптимальные порядки и направления сборки, которые
- Стабильны после окончания каждого этапа сборки
- Имеют множество доступных захватов и гибки к кинематическим ограничениям роботов
- Устойчивы к ошибкам сборки.
Результат:
- Порядок сборки (Assembly order): Какие детали собирать первыми
- Направление сборки (Assembly direction): Как накладывать или вставлять детали
- Доступные способы захвата (Accessible grasps): Как захватывать объекты в ходе сборки
Полевые испытания: собрали промышленный переключатель (switch).
Optimal assembly sequence based on design for assembly (DFA) rules - 2020
Ine Melckenbeeckb, Sofie Burggraevea, Bart Van Donincka, Jeroen Vancraena, Albert Rosicha (EU)
Исходные данные: STEP-модель
Алгоритм: совместно применяются AND/OR
и liaison
графы в сочетании с практиками Design for Assembly
(DFA).
Для измерения DFA используется метод оценки локального (local motion) и глобального (global or extended motion) движения. Локальное движение рассматривает зону физического контакта детали; глобальное движение оценивает также пересечения с деталями, не находящимися в зоне контакта, поэтому более трудоёмкое для вычислений. В алгоритме предложен метод двух-этапной оценки возможностей сборки - сначала оценивается локальное движение, а затем для направлений, в которых гарантируется локальное движение, оценивается глобальное движение.
- Оценка локальных движений (
S-local
DFA score, %) производится с помощьюфункций геометрического ядра CAD
, исходя из геометрических свойств деталей. - Оценка глобальных движений (
S-global
DFA score, %) производится с помощью рендеринга вигровом движке Unity 3D
. Алгоритм получает на входе перечень возможных направлений, выявленных в ходе оценки локального движения.
Из локальной и глобальной возможности сборки выводится оценка для использования при генерации последовательности сборки.
Результатом проверки локального движения является пространство допустимых направлений
. Объем этого пространства представляет собой количество возможных направлений сборки и, следовательно, является показателем простоты сборки. Чтобы использовать это значение в качестве оценки, нормализованный объем подается в непрерывную функцию оценки так, что невозможные сборки приравниваются к 0%, а неограниченная ничем сборка - 100%. С другой стороны, глобальная возможность сборки равна либо 0, либо 1, в которой 1 является сборкой, а 0 - нет.
Общее значение оценки C-alg
вычисляется как 1/(S-local * S-global)
.
Порядок определения последовательности сборки:
- STEP-файл
- Программно генерируется
liaison
-граф, как пространство вершин разных деталей, расстояние между которыми ниже определённого значения (tolerance value) - Частичный AND/OR граф
- Оценка DFA (возможен возврат к п.3). Для уменьшения количество обращений к DFA, разработаны три специальных ad-hoc правила:
- Локальная оценка возможности сборки на определённом шаге не меняется, если добавляемая к подсборке деталь или другая подсборка не соприкасаются с ней. К примеру, мы собрали две подсборки вместе, определив для них local score. Далее, если мы добавим к одной из подсборок деталь, которая не имеет соприкосновений с другой подсборкой, то на данном local score это не отразится;
- Невыполнимый этап сборки никогда не станет выполнимым путем добавления деталей в любой из узлов сборки
- (инверсия предыдущего правила) Выполнимый этап сборки никогда не станет невыполнимым при удалении деталей из любого узла сборки.
- Последовательность сборки
Пункты 3-4 формируют т.н. алгоритм поиска оптимальной последовательности.
Полевые испытания: не проводились
A System Architecture for Constraint-Based Robotic Assembly with CAD Information - 2018
Mathias Hauan Arbo, Yudha Pane†, Erwin Aertbeliën† and Wilm Decré (EU)
http://dx.doi.org/10.1109/COASE.2018.8560450
Исходные данные: CAD-модель с пользовательскими метаданными, в работе не было задачи автоматизации генерации последовательности сборки
Application Layer
- дляFreeCAD
созданаTask Library
, где имплементированы классыПоложить
,Вставить
,Вкрутить
, которые сопоставляются рёбрамliaison-графа
Process Layer
-Tasks
(задачи) сопоставляются сSkills
(навыками). Навыки делятся наComposed
иAtomic
. В итоге каждой детали сопоставляются тип задачи из Application Layer, навык (например,grasp_and_insert
), набор атомарных навыков (move_cartesian gripper, guarded_cartesian, cylinder_insert) и инструмент (gripper). В контексте работы Task - это задача, а Skill - это возможность производства.Control Layer
- реализован на базе eTaSL - язык спецификации задач для реактивного управления роботами + Orocos - ROS-совместимый набор инструментов для управления роботами.
Полевые испытания: Собран компрессор с помощью 7-DOF KUKA LBR iiwa 14, pneumatic SCHUNK RH940 parallel gripper.
Flexible Assembly through Integrated Assembly Sequence Planning and Grasp Planning - 2015
Ulrike Thomas, Theodoros Stouraitis, Maximo A. Roa (Germany)
Исходные данные: CAD-модель + база данных захватов для каждой детали в сборке
Алгоритм:
Сначала создаются карты для тестирования геометрической осуществимости (maps for the geometric feasibility tests) или disassembly maps
по методу Stereographical Projections of C-Space Obstacles
(стереографических проекций пространственных ограничений) автора U.Thomas, изложенному в статье и уже применённой в исследовании 2010 года. Далее генерируются три типа графов: connectivity(liaison), force, hierarchy, из которых выводится AND/OR-граф. Далее Grasp Planner
использует заранее подготовленную базу данных захватов для каждой отдельной детали и фильтрует те вершины и рёбра AND/OR-графа
, которые отсутствуют в доступных позициях захвата.
Полевые испытания: не проводились. Для симуляций применялся фреймворк OpenRave
и конструкции из профилей.
A novel Geometric feasibility method to perform assembly sequence planning through oblique orientations - 2021
Gulivindala Anil Kumar, M.V.A.Raju Bahubalendruni, V.S.S. Vara Prasad, Dara Ashok, K. Sankaranarayanasamy (India)
Исходные данные: CAD-модель
Алгоритм: акцент делается на методе получения матрицы геометрической доступности после liaison и stability матриц. Алгоритм называется NASPM
:
Полевые испытания: нет данных
ASPW-DRL: assembly sequence planning for workpieces via a deep reinforcement learning approach - 2018
Minghui Zhao, Xian Guo, Xuebo Zhang and Yongchun Fang (China)
По мнению авторов часто используемые классы алгоритмов имеют следующие недостатки:
- Graph search - AND/OR - комбинаторный взрыв по мере увеличения количества деталей, специфичны к задаче и плохо обобщаются
- Knowledge-based - Domain/Problem Ontology - чувствительны к качеству базы знаний, плохо обобщаются
- Heuristic intelligent methods - Simulated annealing, Genetic algorithms, Neural nets - плохо обобщаются
Исходные данные: Подготовленная сцена в Gazebo
Алгоритм:
Полевые испытания: нет данных. Игрушечные модели в Gazebo
Optimizing assembly sequence planning using precedence graph-based assembly subsets prediction method - 2019
Nan Zhang, Zhenyu Liu and Chan Qiu, Weifei Hu, Jianrong Tan (China)
В работе хорошее введение истории решения проблемы со ссылками.
Исходные данные: CAD-модель + precedence graph
(граф приоритета), который как-то составляется инженером и задаёт приоритеты в порядке сборки деталей; подробности о precedence-графах изложены в работе Yong Wang, De Tian "A weighted assembly precedence graph for assembly sequence planning"
Алгоритм: Fireworks
Полевые испытания: нет данных. Замер эффективности алгоритма проводился по модели промышленного образца.
Доступные программные реализации ASP
https://github.com/atulmishrachdi/AutomatedAssemblyPlanner
Assembly Planning and Task Planning — Two Prerequisites for Automated Robot Programming - 2010 Во-первых, данные САПР сегментируются на
Исходные данные: CAD-модел
Алгоритм: Формирование графа на основе примитивов поверхностих. После этого генерируется граф формирования контактов, основанный на топологических контактах между такими поверхностными примитивами. Граф связности. На этом графике узлы представляют объекты, они считаются связанными, если расстояние между двумя объектами меньше заданного порогового значения. После построения этих графов, задача уходит к инженерам проектировщикам, которые в интерфейсе выбирают как объединить детали.
Полевые испытания: Операция по установке, розетки питания на направляющую цилиндра.
A review on assembly sequence generation and its automation - April 2015
Обзор 80 самых значимых статей, по теме планирования сборки. Подвод статистических исследований в этих статьях. Авторы делят проблему всех этих исследований на две глобальные проблемы. Первое огранничиность методов ИИ. Который не справляется с локальным поиском. Имеет большое время вычислений. Не проверяет все доступные последовательности. А значит что полученная ИИ последовательность, является близко оптимальной а не глобально оптимизированной. Второе предикаты снижают количество входных данных. Но сильно влияют на пространство поиска. И иногда приводят к неверным последовательностям.
Assemble Them All: Physics-Based Planning for Generalizable Assembly by Disassembly (2022)
YUNSHENG TIAN, MIT CSAIL, JIE XU, MIT CSAIL, YICHEN LI, MIT CSAIL, JIELIANG LUO, Autodesk Research, SHINJIRO SUEDA, Texas A&M University, HUI LI, Autodesk Research, KARL D.D. WILLIS, Autodesk Research, WOJCIECH MATUSIK, MIT CSAIL
Основанный на физике подход к планированию сборки. Используется метод сборки-разборки, и моделирование на основе физики для эффективного изучения ограниченного прострастранства поиска.
Исходные данные: CAD-модель
Полевые испытания: тысячи сборок из витрины Fusion360.
Алгоритм: Формируется граф, сборки по принципу сборки-разборки. Для каждой новой детали которая участвует в подсборке. Формируются векторы, разборки. Основанные на степенях свободы . Из них получаются вектора разборки. Которые реверсируются, из них получаются вектора сборки.
Доступные программные реализации ASP
https://github.com/yunshengtian/Assemble-Them-All
An integration of neural network and rule-based systems for design and planning of mechanical assemblies (1993)
Авторы предлагают загрузить в нейронную сеть, данные о ранее созданных сборках и их технологических картах. Что бы нейронная сеть обучилась на этих данных и исходя из них. Составляла план сборки. Так же внедрить нейронную сеть в CAD. Что бы она помогала проектировать такие изедлия которые были бы максимально автоматизированы для сборки.
On the generation of robotic assembly sequences based on separability and assembly motion stability (1994)
C.K. Shin and H.S.Cho Метод автоматического создания последовательностей сборки роботов на основе проверки разборчивости разбираемой детали. Чтобы получить возможность разборки детали-кандидата, мы сначала делаем вывод о направлениях сборки без столкновений, извлекая разделяемые направления для детали и вычисляя отделимость, которая дает информацию о том, как легко отделить части из частей.
A three-stage integrated approach for assembly sequence planning using neural networks (2008)
На первом этапе используется график над графиком и правила преобразования для создания корректного графа разнесения модели сборки; два графика можно использовать для представления правильных геометрических зависимостей между деталями сборки. На втором этапе разрабатывается трехуровневая реляционная модель для создания полного графа реляционной модели и матрицы инцидентности. Граф реляционной модели можно дополнительно преобразовать в диаграмму предшествования сборки (APD), которая используется для описания отношений предшествования сборки деталей На третьем этапе используется нейросеть для оптимизации сборки.
Проводится тематическое исследование электроприборов для оценки осуществимости предложенной модели с точки зрения различий основных характеристик сборки и создания почти оптимальной последовательности сборки в соответствии с определенными критериями производительности.
Исходные данные: CAD-модель(несколько моделей электро приборов) Полевые испытания: Несколько вырабатанных моделей для электро приборов.
Using memetic algorithms with controlled local search to solve assembly.(2007)
Hwai-En Tseng, Wen-Pai Wang, Hsun-Yi Shih
Сравнение Меметического алгоритма с ГА. Алгоритм: Мемотический алгоритм, Генерация графа сборки основанная на знаниях о соедениях деталей в изделии.
Полевые испытания: не известно
Исходные данные: идеальнее заранее готовые модели
A Multi-Agent Evolutionary algorIthm for Connector-Based Assembly Sequence Planning(2011)
Сравнивают Многоагентный эволюционный алгоритм, с други алгоритмами оптимизации.
Алгоритм: Многоагентный эволюционный алгоритм, Генерация графа сборки основанная на знаниях о соедениях деталей в изделии.
Исходные данные: идеальнее заранее готовые модели
Полевые испытания: не известно
Planning Assembly Sequence with Graph Transformer(2023)
Первым шагом является определение направления системы координат. Принципиальное направление сборки. Это направление согласуется с направлением, в котором ориентируется большинство выступов кирпичей, поэтому мы определяем его как положительное направление оси Z (по вертикали). Аналогично, второе направление сборки — это направление, в котором ориентируются выступы кирпичей, занимает второе место после основного направления сборки.
Алгоритм: Метод грубой силы, формирование ASP из направлений .
Исходные данные: LEGO Studio
Полевые испытания: собрали 100 моделей животных LEGO, созданных и загруженных отдельными пользователями в LEGO Studio, среди которых самая простая состоит из 3 кубиков, а самая сложная — из 44 кубиков
Доступные программные реализации ASP
https://github.com/AIR-DISCOVER/ICRA_ASP
Assembly sequence planning method based on knowledge and ontostep(2021)
Jiahui Qian,Zhijing Zhang,Chao Shao,Hanqing Gong
OntoSTEP используется для реализации обоснования поиска контактной поверхности, чтобы проверить выполнимость ASP. Как показывает опыт, последовательность сборки обычно снизу вверх, изнутри наружу, от сложного к легкому. Однако при сложной сборке эти методы не могут количественно характеризовать приоритет сборки. Следовательно, необходимо определить приоритет сборки, который может описывать приоритет деталей, подлежащих сборке. Эти факторы включают индикатор данных, индикатор соседства, индикатор сложности, индикатор точности и индикатор симметрии для оценки сборки.
• Индикатор базы: Индикатор базы, которая представляет количество раз , когда сборка является базой для других деталей. Чем выше значение, тем выше приоритет сборки.
• Индикатор соседа:
Индикатор соседства, которая используется для описания количества частей, соединенных с частью объекта. Теоретически, чем больше
целевая часть соединяется с другими, тем раньше она будет собрана. Теперь
предусмотрено, что если к целевой части подключено более 4 частей, индикатор
соседа равен 1.
• Индикатор сложности: Время сборки всегда представляет собой индекс сложности процесса сборки. Примем сложность сборки самой длинной трудоемкой детали равной 1, а показатель сложности остальных деталей оговорим по пропорциональной зависимости времени сборки от самой сложной.
• Индикатор точности: Этот индикатор используется для отображения влияния требований к точности сборки на приоритеты сборки. Как правило, чем выше требуется точность сборки, тем более высокий приоритет имеет деталь. Соотношение между требованием точности и показателем точности следующее, x4 означает конкретное требуемое значение точности (мкм)
• Индикатор симметрии: Представляет собой номер объекта сборки, симметричного относительно трех плоскостей симметрии xoy, yoz и xoz. Например, стальной шар всегда легко собрать, потому что он симметричен относительно всех трех плоскостей (x5=3). Наоборот, трудно собрать детали с низкой симметрией, а это значит, что их нужно собирать в первую очередь.
Алгоритм: Генерация графа сборки основанная на индфикаторах о геометрии деталей в изделии.
Полевые испытания: Расчет для сборки компонентов военного взрывателя.
Исходные данные: .STEP модель
Generating complete disassembly sequences by utilising two-dimensional views(2015)
Kantha.M Предлагается новый метод создания полных последовательностей разборки механических изделий с использованием матрицы интерференции деталей, которая содержит направления удаления деталей и график соединения деталей, указывающий на контакт между ними деталями в сборке.
Алгоритм: Генерация графа сборки основанная на индфикаторах о геометрии деталей в изделии.
Полевые испытания: Расчет для сборки компонентов военного взрывателя
Исходные данные: 3D модель клапана обратной подачи