Данная статья представляет собой расширенную версию доклада, представленного на конференции GraphiCon 2025.
Настоящая
работа представляет собой продолжение и развитие ранее проведенных нами
исследований [1–7], направленных на создание и совершенствование программного
обеспечения, предназначенного для автоматизации технологических процессов на отечественном
высокотехнологичном лазерном оборудовании с числовым программным управлением. В
современных условиях научно-технического прогресса особое значение приобретает
применение в машиностроении деталей со сложной пространственной геометрией, в
частности — с криволинейными и пространственно-развитыми поверхностями.
Подобные элементы являются неотъемлемыми компонентами высоконагруженных и
высокоэффективных систем различного назначения. В качестве примеров можно
привести такие детали, как лопатки газовых и паровых турбин, камеры сгорания
реактивных двигателей, крыльчатки центробежных насосов, импеллеры компрессоров,
а также иные элементы, используемые в энергетическом, авиационном, транспортном
и морском машиностроении. Применение компонентов с геометрически сложными
формами позволяет существенно расширить функциональные возможности машин,
повысить их технико-эксплуатационные характеристики, а также обеспечить более
высокий уровень адаптивности технологических процессов. В связи с этим
возрастают требования к точности обработки и позиционирования таких деталей,
что делает задачу автоматизированного управления особенно актуальной.
Проблемы
позиционирования объектов в пространстве с применением машинного зрения активно
исследуются в ряде работ. Так, в [8] рассматриваются вопросы интеграции
машинного зрения в процесс позиционирования модульного оборудования. В работе
[9] предложена методика автоматизированного позиционирования инструмента
модульного оборудования на базе визуального анализа. В [10] описано применение
компьютерного зрения для корректировки управляющих программ на основании
анализа границ объекта. Анализ подобных исследований показывает, что
существующие решения, как правило, ориентированы на плоские или эталонные
объекты, используют шаблонное сопоставление.
Новизна
предложенного нами подхода заключается в использовании естественных перепадов
высоты на поверхности заготовки, визуализируемых в виде контрастных границ на
изображении, для автоматического определения нулевой точки чертежа. В отличие от
методов, основанных на шаблонах или маркерах, наша система использует алгоритм
модифицированного поиска в ширину (BFS) для выделения границ объекта и
определения координаты края или центра отверстия. Полученная информация
используется для расчета коэффициента пересчёта пикселей изображения в реальные
координаты станка. Такой подход позволяет обеспечить высокую точность привязки
управляющей программы к фактическому положению заготовки при минимальных
затратах времени и без необходимости в сложной предварительной подготовки.
Процесс
производства изделий, имеющих криволинейные поверхности, как правило, включает
в себя несколько последовательных этапов, выполняемых на различном
технологическом оборудовании. В результате, при каждом переходе от одного этапа
обработки к другому возникает необходимость позиционирования заготовки, для
корректной привязки УП (управляющей программы), содержащей траектории
обработки, к фактическому положению объекта в рабочем пространстве станка.
Нарушение точности привязки может привести к браку или снижению качества
готового изделия.
Традиционные
методы решения задачи пространственного позиционирования как правило
заключаются в использовании контактных датчиков, осуществляющих пошаговое
ощупывание поверхности изделия, либо в применении высокоточной оснастки,
позволяющей фиксировать заготовку в строго определённом положении. Однако,
данные подходы не всегда применимы на практике, особенно при работе с
объектами, имеющими геометрические отклонение, полученные на предыдущем этапе
производства. В ряде случаев традиционные методы требуют значительного времени
на предварительную подготовку.
Таким
образом основной задачей исследования стало сокращения времени позиционирования
при лазерной обработки в многокоординатной системе управления, а также
упрощение подготовительного этапа. Для этого была разработана методика поиска
координаты границы или центра отверстия (пример тестового образца представлен
на рис. 1) на поверхности объекта по оптическому видеоканалу, включающая распознавание
перепада высот и дальнейшего вычисления его положения, через расчет
коэффициента преобразования пикселей в миллиметры.
Рис. 1. Тестовый образец - цилиндр с отверстием
Для
решения задачи нахождения нулевой точки чертежа, на базе уже существующего
программного модуля FlexMV интегрированного в систему
управления, разработан функционал по распознаванию примитивов, которые можно
интерпретировать как отправную точку для многокоординатной обработки.
Программный код написан на языке C++17 с применением
программной платформы Qt 5.15. Чтобы упростить
реализацию алгоритмов распознавания, а также обработку видеопотока с
промышленной камеры использована библиотека OpenCV.
Визуализация распознанных объектов, а также отображение видеопотока,
выполняются с использованием встроенных средств
Qt, предоставляющих интерфейс для работы с графической сценой на основе
OpenGL. Благодаря применению кроссплатформенных технологий,
система может быть эффективно использована как в операционной системе
Windows, так и в Linux.
Как уже было сказано ранее программный блок FlexMV имеет высокую степень интеграции с основной системой управления FlexCNC за счет взаимодействия посредством протокола TCP/IP. Межпрограммное взаимодействие необходимо для инициации со стороны FlexMV конкретных действий кинематической системы, без учета специфики управления движением и его синхронизации. Такой подход позволил абстрагироваться от взаимодействия с низкоуровневыми устройствами и сконцентрироваться на реализации алгоритмов управления.
Разнообразие
условий эксплуатации лазерной установки, а также широкий спектр обрабатываемых
материалов диктуют необходимость предоставления оператору возможности тонкой
настройки не только параметров детектирующих алгоритмов, но и выбора типов
фильтров и порядка их применения при обработке входного кадра. Для реализации
данного функционала в программный модуль FlexMV была
интегрирована система конвейерной обработки, разработанная на основе методики,
впервые представленной в работе [4] и получившая развитие в [5-7]. Конвейерная
система (рис. 2) оперирует двумя типами примитивов:
· Детекторы — алгоритмы для распознавания образов на входном изображении.
· Фильтры — алгоритмы выполняющие предварительную обработку кадров с целью
улучшения условий для последующего анализа.
Рис. 2. Конвейер обработки видеопотока.
Для понимания дальнейшего повествования необходимо описать упрощенную структуру задания в нашей системе управления. Управляющая программа помимо общепринятых G-code команд и команд управления инструментами, может содержать расширенные команды для исполнения законченного набора действий с детерминированным результатом. Такие расширенные команды могут содержать в себе подготовленные заранее наборы команд управления инструментами, G-code или могут временно передавать управления любым другим программам, для реализации действий с их стороны.
Таким образом, функционал поиска нулевой точки чертежа для оператора выглядит как вызов одной такой расширенной команды с набором параметров. Когда FlexCNC встречает в УП команду на поиск нулевой точки он передает управление FlexMV, результатом работы которого будет перемещение положения инструмента в положение начала исполнения основной управляющей программы. Такой подход дополнительно способствует разделению ответственности между работниками предприятия, так как под партию изделий технологу необходимо один раз написать и отладить управляющую программу, которую затем на серии исполнит оператор, не задумываясь о технологических аспектах работы станка и тонкостях позиционирования изделий.
Когда FlexMV получает задание на поиск нулевой точки образованной перепадом высот, программа активирует конечный автомат FindEdgeSequence, упрощенная схема которого представлена на рис. 3.
В начале необходимо осуществить первичное распознавание края.
Для этого загружаются параметры детекторов и фильтров (stSearchConnect)
в конвейер обработки видеопотока (Video stream pipeline), и когда
детектор сообщит о начале работы запуститься движение (stSearchMovement)
в направлении предполагаемого края заготовки. Для определения направления
движения и коррекции расчетов позиций в параметрах расширенной команды указывается
ось движения (X, Y, Z, A, B) и направление движения
изображения кадра (вертикальное, горизонтальное). Ось движения необходима,
чтобы правильно формировать траекторию движения при поиске. Параметр
направления движения кадра возникает, потому что в задачах многокоординатной
обработки, нельзя однозначно привязать направление движения оси к направлению
движения распознанного объекта на 2D изображении с камеры. Автоматически
определить параметр направления движения возможно, если проанализировать
движение изображения при переезде по оси в
положительном и отрицательном направлении, однако этот процесс отнимает лишнее
время и требует движения по оси в обоих направлениях с начальной позиции, что
может быть недопустимо, ввиду геометрии изделия. В процессе движения асинхронно
работает детектор, который реализует распознавание, за счет модифицированного
алгоритма поиска в ширину BFS, речь о котором пойдет в следующей главе. Когда
алгоритм детектирует границу он инициирует переход конечного автомата
в состояний stStopMovement, посредством отправки сигнала objects detected.
В состоянии stStopMovement FlexMV останавливает движение и по обратной связи от
FlexCNC о прекращении движения (movement stopped), переходит в состояние
stCheckBorder, где осуществляется проверка того, что граница, всё ещё находится в области
видимости, это необходимо, так как невозможно остановить кинематику мгновенно и
возможна ситуация когда из-за слишком высокой
начальной скорости остановка произойдет вне области видимости искомой границы.
Если после остановки объект всё ещё уверенно распознается детектором,
FindEdgeSequence переходит к расчету координаты на изображении. Для этого в состоянии
stSetFirstPos сохраняется текущая координата оси движения firstPosMm
и позиция распознанной границы firstPosPx. Затем в stSetROI
на видеопотоке устанавливается
зона интереса на противоположном конце области видимости, куда необходимо
переместить распознанную границу. Перемещение осуществляется в состоянии
stSearchMovement в том же направлении, что при грубом
поиске, но со сниженной скоростью. При распознавании объекта в новой области
интереса, происходит остановка движения в stStopMovement и взятие позиций
secondPosMm и secondPosPx в stSetSecondPos. Затем в состоянии
stCalcBorderPosition по формуле:
осуществляется расчет коэффициента преобразования пикселей изображения в миллиметры движения осей,
благодаря которому в финальном состоянии stMoveToEdgeCoordinate
осуществляется переезд инструмента в координату распознаваемого края,
пересчитанную в миллиметры с помощью
.
Далее FlexMV возвращает управление FlexCNC,
который затем назначает текущее положение, как ноль системы координат и
запускает оставшуюся управляющую программу.
Рис. 3. Конечный автомат поиска позиции нулевой точки чертежа
Как
уже было сказано ранее детектирование границы основано на определении перепада высот
на поверхности заготовки, что в случае плоского изображения выглядит как
цветовая граница, тёмная часть которой физически расположена на большем
удалении от фокальной плоскости объектива цифровой камеры, чем светлая. Для
определения границы используется модифицированный алгоритм поиска в ширину
(BFS). Далее поэтапно описан ход алгоритма, представленного на рис. 4.
Рис. 4. Алгоритм поиска границы
На первом этапе (1) алгоритма распознавания входное изображение
бинаризируется по обратному порогу, в результате чего получается четкое разделение на зоны по глубине. Более
светлые пиксели изображения трактуются как 1, более тёмные как 0. На втором
этапе (2) из матрицы инициализированной значениями -1,
с размером равным исходной вычитается матрица полученная на предыдущем этапе, в
результате чего получается матрица со значениями -1 и -2. На третьем этапе (3)
строиться матрица, где каждому пикселю присваивается значение, соответствующее
его удалённости от начальной точки, при этом пиксели со значением -2
исключаются. На четвертом этапе (4) выполняется обратный проход по карте
расстояний: Алгоритм последовательно переходит к соседним пикселям с меньшим
значением глубины поиска, при этом оценивая сколько невалидных
значений -2, располагается в окрестности, формируя траекторию до исходной
точки. Координаты всех промежуточных точек сохраняются в массив, который в
дальнейшем используется для визуализации и расчета положения границы. На пятом
заключительном этапе рассчитывается координата границы в пикселях, как среднее
арифметическое координат всех узлов границы.
Для
повышения устойчивости алгоритма граничные пиксели изображения проверяются в
первую очередь, что позволяет быстро обнаруживать контуры объектов,
пересекающие рамку кадра. Предварительное исключение светлых пикселей сокращает
область поиска и уменьшает влияние шумов.
После
обхода изображения данным алгоритмом на выходе мы получаем массив точек границы
в пикселях, благодаря которому можно визуализировать ее на входном изображении
(рис. 5).
Рис. 5. Распознавание границы на тестовом образце.
Разработанная
методика поиска нулевой точки чертежа на основе оптического видеоканала и
программного блока FlexMV позволила решить задачу
позиционирования заготовок с криволинейными поверхностями на многокоординатных
лазерных станках с ЧПУ. В отличие от традиционных контактных методов и
дорогостоящей оснастки, предложенный подход выявляет перепад высот на детали,
интерпретируя его цветовую границу на изображении, и тем самым обеспечивает
точную привязку управляющей программы к реальному положению заготовки.
Практическое
применение функционала потребовало настройки параметров фильтров, детекторов, и
подсветки на этапе первоначальной интеграции. Однако данные настройки задаются
не под конкретную деталь, а под характеристики оборудования и используемого
материала, что упрощает переход между разными серийными партиями и минимизирует
время на переналадку.
В
результате внедрения нового функционала в систему управления удалось
сократилось время позиционирования заготовки, а также снизить влияние
человеческого фактора и повысить повторяемость и надежность процесса при
серийном производстве.
Авторы выражают благодарность руководству группы компаний «Лазеры и Аппаратура ТМ» за
помощь в материально-техническом обеспечении проведения экспериментальных
исследований и моделирования рассматриваемого процесса.
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. Молотков А.А., Третьякова О.Н. Применение машинного зрения в лазерных технологиях / Электронный журнал Труды МАИ. №127. 2022.
3. 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.
4. Молотков А.А., Третьякова О.Н. Применение методов машинного зрения и математического моделирования для разработки технологий создания электронных приборов // Приборы. 2022. № 4. С.55-58.
5. Молотков А. А., Сапрыкин Д.Л., Третьякова О. Н., Тужилин Д.Н. Разработка комплекса программ для создания промышленного лазерного технологического оборудования // Приборы. 2022. № 5. С.15-22.
6. Молотков А.А., Третьякова О.Н. Отработка технологических режимов при создании SLM технологии. // Приборы. 2023. № 8. С. 44-47.
7. O.N. Tretyakova, D.N. Tuzhilin, A.A. Shamordin Research and Application of Machine Vision Algorithms for Defect Detection in Additive Technologies // Scientific Visualization, 2025. Vol 17. №1. P.P. 114 -121.
8. Афанасьев М. Я., Федосов Ю. В., Крылова А. А., Шорохов С. А. Применение машинного зрения в задачах автоматического позиционирования инструмента модульного оборудования // Изв. вузов. Приборостроение. 2020. Т. 63. № 9. С. 830—839.
9. Пешкова А.М., Куц М.С., Петрухин В.Ю. Использование компьютерного зрения при базировании заготовок на станках с ЧПУ // Молодой ученый. 2020. № 52. С. 174–177.
10. Можаев Р.К. и др. Применение технологии машинного зрения для повышения точности сфокусированного лазерного воздействия на микроэлектронные структуры в процессах исследований и микрообработки // Безопасность информационных технологий. 2023. Т.30. №4. С.150–161.
Development and Application of Machine Vision Algorithms for Workpiece Positioning in Multi-Axis Laser Processing
Authors: A.A. Molotkov1,A, O.N. Tretyakova2,A, D.N. Tuzhilin3,B, A.A. Shamordin4,B
A Moscow Aviation Institute (National Research University), Moscow
B LLC “Laboratory of Industrial Research,” Lasers and Equipment TM Group, Moscow
1 ORCID: 0000-0002-9335-5219, karacerr@gmail.com
2 ORCID: 0000-0003-0256-4558, tretiyakova_olga@mail.ru
3 ORCID: 0000-0002-8570-1732, tuzhilin@laserapr.ru
4 ORCID: 0009-0001-5092-3351, amordin@laser-app.ru
Abstract
This paper addresses the problem of positioning workpieces with curved surfaces for subsequent multi-axis laser processing. The solution is based on recognizing the position of the drawing’s zero point, physically formed by surface height variations of the workpiece. The paper presents an approach to visualizing and detecting the drawing’s zero point using machine vision algorithms applied to a video stream from an industrial digital camera. An algorithm for object boundary detection is described, employing a modified breadth-first search (BFS) with subsequent path reconstruction to the boundary. The developed software module is capable of detecting either the coordinate of a hole center or a workpiece boundary, relative to which multi-axis processing is carried out. In addition, the features of calculating the pixel-to-millimeter conversion coefficient for axis motion are considered, enabling precise movement according to the video channel image. This approach significantly reduces the time required for manual positioning and improves both accuracy and repeatability of the process.
Keywords: multi-axis positioning, video-based positioning, image processing, filtering pipeline, machine vision.
1. Molotkov A.A., Tretiyakova O.N. On possible approaches
to visualizing the process of selective laser melting // Scientific
Visualization. 2019. Vol. 11. No. 4. Pp. 1–12.
2. Molotkov A.A., Tretiyakova O.N. Application of
machine vision in laser technologies // Electronic Journal “Proceedings of MAI.”
No. 127. 2022.
3. 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. No. 5. Pp.
108–118.
4. Molotkov A.A., Tretiyakova O.N. Application of
machine vision methods and mathematical modeling for developing technologies of
electronic device fabrication // Instruments. 2022. No. 4. Pp. 55–58.
5. [Molotkov A.A., Saprykin D.L., Tretiyakova O.N.,
Tuzhilin D.N. Development of a software suite for creating industrial laser
technological equipment // Instruments. 2022. No. 5. Pp. 15–22.
6. [Molotkov A.A., Tretiyakova O.N. Testing
technological regimes in the development of SLM technology // Instruments. 2023.
No. 8. Pp. 44–47.
7. Tretyakova O.N., Tuzhilin D.N., Shamordin A.A.
Research and Application of Machine Vision Algorithms for Defect Detection in
Additive Technologies // Scientific Visualization. 2025. Vol. 17. No. 1. Pp.
114–121.
8. Afanasyev M.Ya., Fedosov Yu.V., Krylova A.A.,
Shorokhov S.A. Application of machine vision in problems of automatic tool
positioning in modular equipment // Izvestiya Vysshikh Uchebnykh Zavedeniy. Instrument
Engineering. 2020. Vol. 63. No. 9. Pp. 830–839.
9. Peshkova A.M., Kuts M.S., Petrukhin V.Yu.
Application of computer vision in workpiece positioning on CNC machines //
Young Scientist. 2020. No. 52. Pp. 174–177.
10. Mozhaev
R.K. et al. Application of machine vision technology to improve accuracy of
focused laser action on microelectronic structures in research and
micromachining processes // Information Technology Security. 2023. Vol.
30. No. 4. Pp. 150–161.