22 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
Полевые испытания: нет данных. Замер эффективности алгоритма проводился по модели промышленного образца.