Данная работа является
продолжением и развитием наших исследований [1-5] по разработке программного
обеспечения и лазерного технологического оборудования для практической
реализации на отечественных предприятиях технологии послойного лазерного
сплавления или SLM (Selective Laser Melting) технологии. В основу SLM
технологии положен процесс производства изделий путем послойного плавления
металлического порошка с использованием лазерного излучения. На первом этапе на
рабочую поверхность равномерно наносится заданный по размеру слой
металлического порошка, на втором этапе лазерный луч локально нагревает и
плавит материал согласно предопределенным данным из слоя 3D модели.
Разработанный ранее
программный комплекс [1-5], включающий в себя созданную
для визуализации
SLM
процесса программную
платформу LAMachineVision
[2], позволил решить
многопараметрическую задачу подбора параметров работы оборудования для
осуществления селективного лазерного сплавления металлических порошков [5].
При практической
промышленной реализации
SLM
технологии мы
столкнулись с проблемой длительности операции по подбору технологических
параметров работы установки.
На каждом из этапов в результате
некорректного подбора технологических параметров возможно возникновение
дефектов. После нанесения порошка на этапе разравнивания могут возникать
продольные полосы ортогональные одной из осей рабочей поверхности (в
зависимости от направления разравнивания), в результате повреждения
разравнивателя.
Для сокращения
длительности подбора технологических параметров с учетом указанных факторов был
разработан программный блок
распознавания дефектов
FlexADD
(Additive Defect Detector),
реализующий визуализацию,
обнаружение дефектов разравнивания, а также послойную фотофиксацию процесса.
Программный код написан на языке
C++
17 с применением программной платформы
QT
5.15, для работы с промышленной камерой
Hikrobot
использована библиотека
MvCameraSDK,
для упрощения реализации алгоритмов распознавания и работы с кадром применяется
библиотека
OpenCV.
Для визуализации
видеопотока с камеры и дефектов разравнивания используются встроенные механизмы
QT,
предоставляющие удобный интерфейс
для работы с визуальной сценой OpenGL.
В программном блоке
распознавания
дефектов
FlexADD
реализована поддержка одновременной работы
с несколькими видеокамерами. Также присутствует управление физическими модулями
подсветки, расположенными в рабочей камере. Управление подсветкой осуществятся
посредством общения со специально разработанным под эту задачу контроллером,
через стандарт
HID.
Ввиду
кроссплатформенной архитектуры использованных технологий программа может
работать, как на ОС Windows, так и на ОС
Linux.
В созданном программном
блоке распознавания дефектов
FlexADD
используется архитектурная концепция
StateMachine (рис. 1), которая позволяет разделять состояниями и переходы между
ними. Такой подход позволяет управлять сложными процессами или алгоритмами. С помощью
StateMachine происходит отслеживание текущего состояние программы
FlexADD,
а также определяются возможные следующие состояния и переходы между ними. Такой
подход делает код более понятным, модульным и удобным для поддержки и
дальнейшего развития, так как каждое состояние и его поведение описывается
отдельно от других. Кроме того, использование StateMachine позволяет избежать
ошибок в программе, связанных с неправильным порядком выполнения операций или
некорректными переходами между состояниями. Также стоит отметить, что в
промышленной разработке важную роль играет текстовое логирование действий
программы, чему способствует сама суть концепции StateMachine.
Рис.
1. Визуализация концепции StateMachine на примере реализованной
последовательности процесса SLM.
Для
стабильного распознавания дефектов не всегда достаточно только программных и
математических средств иногда необходимо влиять на интенсивность, цветность и
направленность освещённости в области рабочей поверхности. Для решения данной
проблемы в конфигурации, для которой велась разработка, имеется несколько
модулей подсветки, которыми можно управлять из программы
распознавания
дефектов
FlexADD.
Помимо
управления состоянием конкретного модуля, доступна регулировка яркости
(рис. 2).
При этом конфигурация подсветки
привязана к текущей выбранной камере, поэтому
при
переключении камеры происходит и изменение параметров подсветки.
В
рабочей камере кроме модулей дополнительной подсветки присутствует также
общая
белая фоновая подсветка зоны построения. Экспериментальным путём было установлено,
что общая подсветка оказывает негативное влияние на качество распознавания,
засвечивая рабочую область. Чтобы нивелировать негативные эффекты основного света
и усилить контрастность указанных дефектов, было добавлено программное
управление его состоянием.
Рис.
2. Интерфейс управления подсветкой.
Такое решение предоставляет возможность
физически влиять на контрастность дефектов на видеопотоке, за счёт изменение
угла падения света на рабочую поверхность, благодаря чему возрастает и
эффективность программных методов автоматизации.
Устройство лазерной
установки, для которой велась разработка, не позволяет разместить камеру
непосредственно над рабочей поверхностью, однако такое расположение является
необходимым для точного определения координат обнаруженных дефектов. Чтобы
скомпенсировать несоосность камеры с рабочей поверхностью в программе
присутствует механизм компенсации перспективы, который позволяет наблюдать
поверхность с нужного ракурса (рис. 3).
Для сопоставления
координат на изображении (в пикселях) с координатами рабочей области (в
миллиметрах) на этапе калибровки программного обеспечения оператор должен
задать высоту и ширину области, отмеченной на рис. 3 в мм. Имея размеры области
в пикселях и введённые пользователем значения размеров области, мы определяем
коэффициент пересчёта, который в дальнейшем используется для преобразования
координат. При таком подходе обрезаются необязательные для обработки области,
благодаря чему дополнительно уменьшается размер анализируемого изображения, что
позволяет увеличить скорость работы алгоритмов.
Рис. 3.
Программное
исправление перспективы.
Распознавание дефектов
происходит в строго определённый момент процесса, а именно после разравнивания,
когда порошок должен ровным слоем закрывать рабочую поверхность.
Последовательность распознавания (рис. 4) базируется на концепции
StateMachine.
Изначально система находится в состояние ожидания запроса на поиск дефектов (
(stWait),
чтобы определить момент, когда необходимо включать анализ, была налажена связь
по протоколу
TCP
с
управляющей программой установки 3D-печати,
предоставляющей информацию о текущем печатаемом слое
[1-5].
При поступлении команды на поиск дефектов программа
распознавания дефектов
FlexADD
последовательно
запоминает
N
изображений
с
N
камер
(stGetCameraFrames),
последовательная обработка в
данном случае обусловлена необходимостью переключать конфигурации подсветки.
Команда обнаружения дефектов, также содержит массив строк с названиями
детекторов, результат работы которых нужно предоставить в качестве ответа. После
завершения получения изображений к ним применяются указанные в команде из
протокола
(stAnalyzeFrames)
фильтры и алгоритмы распознавания, по окончанию работы которых происходит
отправка найденных дефектов в управляющую программу
(stSendResult).
Рис. 4. Визуализация
последовательности состояний
state
machine
распознавания.
Таким образом, для
успешного обнаружения дефектов разработана методика, при которой оператору
необходимо программно исправить перспективу, настроить конфигурацию подсветки,
а также определить конвейер обработки видеопотока.
Для упрощения анализа
причин возникновения дефектов в программный блок
распознавания
дефектов
FlexADD
был внедрён механизм
послойной фотофиксации. При поступлении команды на поиск дефектов включается
этот механизм. Так на этапе stGetCameraFrames
(рис.
4) помимо получения изображений для дальнейшего обнаружения дефектов
осуществляется сохранение этих изображений в память. Всего с каждой из
N
камер будет сохранено по два или три
изображения, следующих типов:
•
Исходный
кадр, полученный с камеры.
•
Кадр
с исправленной перспективой.
•
Кадр
с исправленной перспективой и визуализированными на нём дефектами. (Эта опция
не используется, если дефекты в кадре отсутствуют).
Создание детали по
SLM
технологии может содержать большое количество слоёв, и соответственно большое
количество их сохраняемых изображений. Для систематизации фотографий создана
файловая система.
Так при запуске
SLM
процесса в программу
FlexADD
поступает специальная команда на создание директории, содержащая название
проекта из программы управления процессом 3D
печати.
Дополнительно к названию проекта дописывается дата и время запуска процесса,
чтобы разделить сделанные при производстве одного проекта в разное время изображения.
Когда наступает момент сохранения первых изображения в созданной ранее
директории создаётся
N
папок
(по числу камер используемых в системе), им присваивается названия
соответствующие имени камеры в системе, задаваемое пользователем на этапе
первичной персонализации программы. В эти папки далее происходит сохранение
изображений. Название сохраняемых изображений, также содержит в себе время его
получения (так как оно может отличаться от фактического времени сохранения),
тип сохраняемого изображения, а также получаемый вместе с командой на
распознавание дефектов номер слоя.
После применения
структурного подхода к послойной фотофиксации, значительно упрастился процесс
анализа причин возникновения дефектов. Особенно сильно прогресс заметен в
сравнении с используемой ранее видеофиксацией, когда технологу приходилось
искать момент образования дефекта на многочасовом видео. При этом даже после
обнаружения необходимого кадра он не имел информации о том на каком именно слое
3D-модели возник дефект.
Разнообразие возможных
материалов порошка, используемых в технологии селективного лазерного
сплавления, диктует необходимость давать оператору возможность настраивать не
только параметры самого детектора, но и типы, и порядок фильтров, используемых
при обработке входного изображения. Чтобы предоставить пользователю такую
возможность был внедрён механизм настраиваемой конвейерной обработки
видеопотока (рис. 5), по методике, предложенной в статье [6].
Рис. 5.
Конвейер
обработки видеопотока.
Данный механизм оперирует
двумя типами примитивов. Первый тип, детекторы, реализующие поиск дефектов на
поступающем кадре алгоритмы. Второй тип, фильтры, осуществляющие
предварительную обработку кадра перед его отправкой в детектор.
В программе распознавания
дефектов
FlexADD
реализована гибкая,
настройка фильтров и детекторов, за счёт интерактивной визуализации влияния
изменения параметров на состояние кадра (рис.6). Важную роль в настройке играет
порядок расположения фильтров в конвейере, так как на каждый фильтр поступает
изображение, обработанное предыдущим фильтром (см. рис. 5).
Рис. 6.
Пример
настройки порогового фильтра.
За счёт такой обработки входного кадра
достигается возможность нивелировать разницу в физических свойствах порошка,
влияющих на его отображение на камере.
Как уже было сказано
ранее, полосы могут возникнуть в результате прохода повреждённого
разравнивателя по рабочей поверхности. Для детектирования линий, оставляемых
разравнивателем, был применён популярный метод на основе преобразований Хафа [6–8],
остановимся на принципах его работы с примитивами типа «прямая» несколько
подробнее.
Прямую в пространстве
изображения можно выразить двумя переменными. Например, в декартовой системе координат
параметры:
(m, b),
или
(r, θ).
Для
преобразований
Хафа линейное уравнение прямой в
полярной системе координат можно записать:
Для
каждой точки (x0,
y0)
мы можем определить семейство
линий, проходящих через эту точку, следующим образом:
Это означает,
что каждая пара
(r
θ, θ)
представляет каждую линию, проходящую через (x0,
y0). Если для заданного (x0,
y0) мы построим семейство линий, которые проходят через него, мы
получим синусоиду. Если проделать ту же операцию для всех точек изображения и
окажется, что кривые двух разных точек пересекаются в плоскости (θ,r)
(рис. 7), это означает, что обе точки принадлежат одной прямой.
Рис. 7.
Три
точки, принадлежащие одной линии.
После обхода изображения данным алгоритмом на выходе мы получаем
уравнение прямой в полярных координатах, благодаря которому реализована
визуализация дефекта на кадре с камеры (рис. 8).
Рис. 8.
Обнаруженные
дефекты.
Аддитивная
SLM
технология применяется в первую очередь для создания изделий со сложной
геометрией, выполнить которую классическими методами механообработки либо
кратно сложнее, либо вовсе невозможно. Для достижения требуемых механических
параметров выходного образца необходимо отладить процесс 3D
печати,
путём подбора параметров технологического процесса [5], который требует
существенных затрат времени.
В результате внедрения
разработанного нами программного блока распознавания дефектов
FlexADD
в существующую
структуру программного комплекса для
реализации
SLM
технологии,
удалось
существенно сократить время на подбор параметров работы оборудования в процессе
3D
печати. Достичь этого удалось за
счёт определения дефектов, на любой стадии
3D
печати, что позволило сразу завершать длительный технологический процесс
создания заведомо бракованного изделия. Раннее определение дефектов и
последующая остановка процесса, позволила экономить металлический порошок, что
в свою очередь снизило себестоимость производства деталей.
Результатом применение
программного блока распознавания дефектов
FlexADD
на практике, оказалось усложнение этапа подготовки оборудования к 3D
печати, так как наладчику лазерной технологической установки необходимо
настроить ряд параметров: фильтры, детекторы, а также конфигурация подсветки и
перспектива. Однако, стоит отметить, что настройка нашего программного блока
осуществляется не под конкретные изделия, а под используемый при печати
металлический порошок, что удобно при серийном производстве.
В результате внедрения
программного блока распознавания дефектов
FlexADD,
удалось добиться сокращения общего времени, затрачиваемого на подбор
технологических параметров
SLM
технологии, а также сокращения себестоимости данного процесса за счёт экономии
металлического порошка, посредством остановки процесса при возникновении
дефектов. Удалось упростить процесс анализа причин возникновения дефектов, за
счёт внедрения в программный комплекс послойной фотофиксации, с указанием
времени и номера слоя у сохраняемого изображения.
Авторы выражают благодарность руководству
группы компаний «Лазеры и Аппаратура ТМ» за помощь в материально-техническом обеспечении
проведения экспериментальных исследований и моделирования рассматриваемого
процесса.
1. Molotkov A.A., Tretiyakova O.N. On possible approaches to visualizing the process of selective laser melting // Scientific Visualization. 2019. Vol 11. № 4. PP. 1-12.
2. Molotkov A.A., Tretiyakova O.N., Tuzhilin D. N. About development and application of a software platform for machine vision for various laser technologies // Scientific Visualization 2022. №5. Р.P.108-118.
3. Молотков А.А., Третьякова О.Н. Применение методов машинного зрения и математического моделирования для разработки технологий создания электронных приборов // Приборы. 2022. № 4. С.55-58.
4. Молотков А. А., Сапрыкин Д.Л., Третьякова О. Н., Тужилин Д.Н. Разработка комплекса программ для создания промышленного лазерного технологического оборудования // Приборы. 2022. № 5. С.15-22.
5. Молотков А.А., Третьякова О.Н. Отработка технологических режимов при создании SLM технологии. // Приборы. 2023. № 8. С. 44-47.
6. Кудрина М.А. Использование преобразования Хафа для обнаружения прямых линий и окружностей на изображении // Известия Самарского научного центра Российской академии наук, т. 16, №4(2), 2014.
7. Кудрина М.А., Кирьяков С.А., Кудрин К.А., Дегтярева О.А. Векторизация растровых изображений с использованием преобразования Хафа // «Надежность и качество». 2013. №1. С. 337-340.
8. И. А. Матвеев, В. И. Цурков, Н. Н. Чинаев, “Поиск окружности зрачка преобразованием Хафа для границ компонент связности”, Автомат. и телемех., 2015, № 11, 104–117; Autom. Remote Control, 76:11 (2015), 1988–1999.
Research and Application of Machine Vision Algorithms for Defect Detection in Additive Technologies
Authors: O.N. Tretyakova1,A, D.N. Tuzhilin2,B, A.A. Shamordin3,B
A Moscow Aviation Institute (National Research University) MAI, Moscow
B 2LLC “PROMIS LAB” of the group of companies “Lasers and Equipment TM”, Moscow
1 ORCID: 0000-0003-0256-4558, tretiyakova_olga@mail.ru
2 ORCID: 0000-0002-8570-1732, tuzhilin@laserapr.ru
3 ORCID: 0009-0001-5092-3351, ashamordin@laser-app.ru
Abstract
This paper discusses solving the problem of visualizing and recognizing defects that arise during selective laser melting using machine vision algorithms. The main goal of defect recognition is to reduce the time spent on selecting the technological parameters of the additive manufacturing equipment using automation methods of analysis of results. The paper presents an approach to visualizing and detecting defects that occur during the leveling stage of the metal powder layer. A methodology for software and hardware defect detection is considered and implemented. A general approach to image processing and analysis using a conveyor method is developed. The paper also discusses issues related to layer-by-layer photo documentation of the leveling process to simplify the analysis of the causes of defects. The developed software module can detect defects at the initial stages of production, allowing the process of printing knowingly defective products to be stopped, thereby enabling faster adjustment of the technological parameters of the equipment. This approach significantly reduces the time interval spent on selecting the technological parameters of the equipment and it reduces the cost of selective laser melting by saving metal powder on printing defective products. The advantages and disadvantages of the work done and the results obtained are presented.
Keywords: SLM, machine vision, defect recognition.
1. Molotkov A.A., Tretiyakova O.N. On possible approaches to visualizing the process of selective laser melting // Scientific Visualization. 2019. Vol 11. № 4. PP. 1-12.
2. Molotkov A.A., Tretiyakova O.N., Tuzhilin D. N. About development and application of a software platform for machine vision for various laser technologies // Scientific Visualization 2022. №5. Р.P.108-118.
3. Molotkov A.A., Tretiyakova O.N. Application of machine vision and mathematical modeling methods for the development of electronic device creation technologies // Instruments. 2022. № 4. P.55-58.
4. Molotkov A. A., Saprykin D.L., Tretiyakova O. N., Tuzhilin D. N. Development of a complex of programs for the creation of industrial laser technological equipment // Instruments. 2022. № 5. P.15-22.
5. Molotkov A.A., Tretiyakova O.N. Work out of technological modes in the creation of SLM technology. // Instruments. 2023. № 8. P. 44-47.
6. Kudrina M.A. The use of Hough transformation for detecting straight lines and circles in an image // Proceedings of the Samara Scientific Center of the Russian Academy of Sciences, 2014.
7. Kudrina M.A., Kiryakov S.A., Kudrin K.A., Degtyareva O.A. Vectorization of raster images using Hough transformation // "Reliability and Quality". 2013. №1. P. 337-340.
8. I. A. Matveev, V. I. Tsurkov, N. N. Chinaev, “Forming the pupil circle using the Hough transformation for the boundaries of connected components”, Autom. Remote Control. 2015, № 11, 104–117; Autom. Remote Control, 76:11 (2015), 1988–1999.