Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 1,279

METHOD OF LOCALIZING LANDING CELLS FOR MOBILE ROBOTIC MANIPULATORS

Kushnir A.P. 1 Makarov M.A. 1 Khomenko S.N. 1
1 Federal State Budgetary Educational Institution of Higher Education “MIREA – Russian Technological University”
2067 KB
The article proposes a three-dimensional machine vision technique for robotic sections of multi-product small-batch production. The aim of the study is to increase the adaptability, flexibility, and mobility of production based on the development of a machine vision method that allows the robot manipulator to quickly receive the exact coordinates of workpieces and tools when changing the range of products manufactured. The scientific novelty of the approach lies in the initial detection not of the objects themselves, but of their mounting cells, marked with stable fixing restraints with high-contrast AprilTag marks. These metric landmarks form a reference grid relative to which all further measurements are performed, which eliminates dependence on the shape and optical properties of parts, reduces the number of false positives, and significantly simplifies retooling. The method uses adaptive background subtraction based on a Gaussian mixture model with local contour or neural network object detection and stereo vision with dynamic eye-in-hand calibration implemented by the Robot Operating System. Experimental tests confirmed the stability of the algorithm under insufficient lighting conditions and frequent changes in the product range, as well as high localization accuracy and data processing performance. The results demonstrate the practical effectiveness of the proposed methodology and its applicability for flexible automation of handling tasks in multi-product small-batch production.
computer vision
stereo camera
AprilTag
landing cell
hand-eye
calibration
robot manipulator

Введение

Современное мелкосерийное производство, характеризующееся частой сменой номенклатуры изделий, требует от роботизированных технологических комплексов (РТК) высокой степени адаптивности, гибкости и мобильности. Ключевой задачей становится обеспечение точной локализации координат заготовок и технологической оснастки на рабочих столах с последующей привязкой к системе координат робота-манипулятора. Особенную важность данная задача приобретает для мобильных комплексов, положение которых не является фиксированным в пространстве и носит случайный характер. Под «мобильным комплексом» далее понимается конструкция из мобильной платформы с установленным на ней роботом-манипулятором. В этом случае необходимо постоянно осуществлять и корректировать привязку систем координат мобильного робота-манипулятора не только с координатами заготовок, но и с расположением самих рабочих столов с манипулируемыми технологическими объектами. Применение предложенной методики автоматической калибровки и детекции позволяет минимизировать ручное вмешательство, существенно снизить время переналадки, повысить гибкость и мобильность технологического процесса.

Анализ существующих результатов исследований показывает, что значительное внимание авторы уделяют методам повышения точности позиционирования и калибровки роботизированных систем. В работе V. Burde и соавт. [1] предлагается, например, использовать автоматическую калибровку рабочего пространства на основе гомографического матричного преобразования. Недостатком данного метода является отсутствие поддержки обнаружения в условиях недостаточного освещения. H.-N. Nguyen и его коллеги представили гибридный метод калибровки, объединяющий идентификацию модели робота и компенсацию ошибок на основе использования нейронных сетей [2], но без учета изменчивости производственных условий. Схожие задачи рассмотрены в работах D. Allegro и Z. Jiang, в которых предлагается метод многокамерной калибровки с камерой, установленной на манипуляторе («eye-in-hand») [3, 4]. Следует отметить, что данный метод не предусматривает быстрой переналадки при смене номенклатуры выпускаемых изделий, поскольку жестко зависит от конкретной конфигурации камер на манипуляторе и не устраняет необходимость присутствия человека в ходе данной операции. Также стоит упомянуть подробный научный обзор методов калибровки для роботизированных систем I. Enebuse и коллектива, включающий классические, оптимизационные и современные методы вариации [5]. Однако стоит отметить, что данный обзор, несмотря на обширный охват различных методов калибровки, основан преимущественно на детерминированном подходе. При этом в обзоре недостаточно подробно рассмотрена проблема асинхронности передачи данных при онлайн-калибровке, а также влияние помех и шумов, что снижает применимость результатов для критичных к точности систем.

Важным направлением исследований является разработка алгоритмов машинного обучения и компьютерного зрения. J. Wang и его команда рассмотрели особенности визуального восприятия и оценки глубины при роботизированной сварке [6], однако метод чувствителен к изменению освещенности и поэтому не может быть использован для мобильных роботов-манипуляторов, которым приходится работать в переменных условиях. M. Li с коллегами представили систему управления роботизированной сваркой с улучшенным алгоритмом YOLOv5 и датчиками глубины [7]. Существенным ограничением данного метода являются стационарные условия работы установки, так как в предложенном решении не учтены вопросы переналадки системы при изменении производственной задачи. В исследовании G. Velickaite также отмечено, что замена детекторов меток на глубокие модели семейства YOLO повышает устойчивость распознавания меток при засвете и частичных окклюзиях, что облегчает идентификацию по классам [8]. Недостатком данного решения является зависимость от размеченных данных и условий съемки, а также необходимость переобучения при изменении сцены и набора меток.

Различные варианты калибровки подробно рассмотрены в работе коллектива Y. Zhou [9], где для задач захвата и перемещения изделий реализован способ внешней калибровки без использования меток, основанный на серии демонстрационных захватов с одновременным восстановлением внешних параметров камеры и роботизированной системы. Способ обеспечивает высокую точность применительно к стационарным ячейкам при фиксированной конфигурации камер и оснастки, но предполагает разовую настройку под конкретную производственную задачу и требует повторения процедуры при существенном изменении сцены. В отличие от такого подхода, перспективным представляется комбинированный вариант, в котором система AprilTag-меток используется как устойчивый «якорь» для ускоренной переналадки системы машинного зрения в роботизированном технологическом комплексе. Рабочие позиции, представленные посадочными ячейками, кодируются кластерами меток, а уточняющая детекция объектов внутри ячеек выполняется методами без использования меток, включая контурную и нейросетевую детекции. За счет этого калибровка «камера-манипулятор» и положение стола в базовой системе координат робота остаются неизменными, а смена номенклатуры выпускаемых изделий сводится к механической перестановке ячеек с метками без повторной калибровки сцены.

В работе М.В. Егорцева описывается практичная и доступная система машинного зрения с применением одной камеры и использованием алгоритма SURF (Speeded-Up Robust Features) [10]. Недостатком предложенной системы является зависимость от одиночной камеры без глубины, чувствительной к окклюзиям. Кроме того, распознавание объектов с применением алгоритма SURF затруднительно по отношению к слаботекстурным и блестящим объектам. Проблематика отражающих, слаботекстурных поверхностей и устойчивости к дефектам освещения также подробно систематизирована в научном обзоре A. Ibrahim в рамках промышленного визуального контроля [11].

Различные методы локализации и захвата объектов исследовались К. Kimble и коллегами, которые предложили стандарты для оценки роботизированных систем сборки мелких деталей [12], однако вопросы оперативной переналадки в данной работе остались без внимания. В исследовании C.-H. Tsai с соавт. предложен метаметод позиционирования, основанный на машинном обучении [13]. Недостаток метода состоит в том, что результат обучения может быть применим только для рассмотренного класса заготовок и не учитывает необходимость оперативной адаптации к новым типам объектов. При каждом изменении номенклатуры обрабатываемых деталей необходимо проводить повторные исследования, что снижает производительность технологического процесса.

В прикладных задачах комплектования коллективы G. Boschetti и M. Ojer представили фреймворки и приемы для взаимодействия человека и робота, демонстрирующие прирост производительности. Вместе с тем в работах [14, 15] не отражены вопросы надежной локализации и быстрой переналадки производства.

Z. Wang и A. Westman использовали технологию SLAM (simultaneous localization and mapping) – одновременную локализацию и построение карты на основе меток, устойчивую к шумам и искажениям [16, 17], но не затронули задачу переналадки.

В работе A. Chen и его группы описан адаптивный метод оптимизации захвата объектов с использованием датчиков глубины [18], однако предложенное решение не предусматривает автоматическое переобучение при смене заготовок. N. Guo с коллегами разработали метод оценки позы объекта и адаптации захвата на основе анализа геометрии и облака точек, но оставили без внимания автоматическую переналадку технологической системы [19].

Таким образом, проведенный анализ показал, что большинство существующих подходов направлено на решение узкоспециализированных задач обнаружения, калибровки и захвата объектов определенной формы без учета комплексной проблемы оперативной переналадки системы машинного зрения при смене номенклатуры изделий, переменных координат самого робота-манипулятора и недостаточных условиях освещенности рабочей зоны. Это затрудняет интеграцию таких решений в мелкосерийное многономенклатурное производство и приводит к снижению производительности всей системы в целом. На этом фоне актуальны решения, объединяющие устойчивую локализацию с использованием меток, глубинную оценку позы и трансформацию координат в базовую систему робота с целью повышения надежности в реальных индустриальных условиях и уменьшения зависимости от фиксированных конфигураций.

Таким образом, традиционная методика обнаружения и идентификации объектов на основе меток включает в себя несколько уровней. На первом уровне кластеры AprilTag-меток задают устойчивую метрическую сетку рабочих позиций, на втором уровне внутри каждой ячейки выполняется детекция занятости и уточняющее определение позы заготовки с помощью контурного или нейросетевого детекторов, а передача координат в систему управления осуществляется через калибровку «камера на манипуляторе» и дерево трансформаций TF2 в режиме реального времени. При этом подход на основе меток связан с эксплуатационными издержками. Во-первых, метки полностью разделяют задачу координатной привязки и геометрические или оптические свойства заготовок, поэтому независимо от формы деталей система всегда распознает одни и те же опорные кластеры. Во-вторых, переналадка сводится к механическому изменению конфигурации ячеек и оснастки с заранее раскодированными метками, без повторной демонстрации траекторий, переобучения нейросетевых моделей или сложной переоценки внешних параметров камер. В-третьих, стоимость и трудоемкость наклейки и обслуживания AprilTag-меток практически не зависят от числа типов обрабатываемых изделий, тогда как для методов без использования меток расходы на сбор и разметку данных возрастают с ростом номенклатуры.

Для преодоления указанных недостатков и обеспечения оперативной переналадки машинного зрения для мобильных РТК в условиях многономенклатурного мелкосерийного производства авторами предлагается метод, реализующий автоматизированную локализацию объектов и технологической оснастки на основе системы AprilTag-меток с последующим точным обнаружением и пространственной привязкой объектов, минимизирующий объем переналадки при изменении производственной задачи.

С учетом рассмотренных работ научный вклад данной статьи можно сформулировать как метод ускоренной переналадки системы машинного зрения для мобильных РТК на основе иерархической детекции с использованием AprilTag-меток и динамической калибровки через TF2.

Цель исследования – повышение адаптивности, гибкости и мобильности производства на основе разработки метода машинного зрения, позволяющего оперативно передавать роботу-манипулятору точные координаты заготовок и инструмента при смене номенклатуры выпускаемых изделий.

Для достижения поставленной цели были решены следующие задачи:

1. Разработана подсистема обнаружения посадочных ячеек на основе высококонтрастных AprilTag-меток, позволяющих исключить зависимость от геометрии и оптических свойств перемещаемых объектов.

2. Обеспечено стабильное распознавание занятости посадочных ячеек, независимо от условий освещения, светоотражающих свойств поверхности, геометрии и фактуры перемещаемых объектов.

3. Реализован адаптивный подход для уточняющей локальной детекции деталей с использованием классических алгоритмов обработки изображений и нейросетевого подхода на основе архитектуры YOLOv8.

4. Разработана подсистема преобразования координат из системы технического зрения в систему координат робота-манипулятора, не требующей дополнительной калибровки при смене номенклатуры выпускаемых изделий.

5. Повышена надежность обнаружения и идентификации объектов путем реализации механизма подавления повторных детекций целей для предотвращения повторной обработки объектов.

Материалы и методы исследования

Предлагаемый метод компьютерного зрения предназначен для роботизированных рабочих мест мелкосерийного производства, где номенклатура изделий часто меняется. Основное допущение заключается в том, что каждая посадочная позиция изделия обозначена группой высококонтрастных AprilTag-меток, установленных на фиксированных ограничителях рабочих столов. Такая схема позволяет перенести фокус детекции с непредсказуемой геометрии самих заготовок на стабильные метрически калиброванные «якоря» сцены и тем самым снизить ложные срабатывания при смене продукции. Метод реализован как ROS2-узел с пятью взаимосвязанными подсистемами (рис. 1).

Первой срабатывает подсистема ROI-маскирования. На этапе инициализации из YAML-конфигурации загружается бинарная маска областей интереса (ROI), фиксирующая границы рабочей поверхности. Для мобильного робота маска формируется в «канонической» системе стола и при каждом кадре переносится в изображение по текущей гомографии Hcam←table, чтобы положение ROI оставалось корректным при сдвиге мобильной платформы. Маска применяется покадрово к RGB-потоку, благодаря чему компоненты механизма, находящиеся вне зоны захвата, не влияют на последующую обработку изображения [20].

После маскирования к кадру применяется подсистема фонового вычитания MOG2, поддерживающая сцену с медленно изменяющимся освещением и формирующая двухклассовую карту «задний план / передний план». Использовалась адаптивная смесь гауссовых распределений по методу Zivkovic [21], автоматически подбирающая число компонент для каждого пикселя. Конфигурация уровня воспроизводимости включала в себя следующие параметры:

history = 500, определяет количество предыдущих кадров, используемых для обновления фоновой модели;

varThreshold = 25, задает порог чувствительности к изменениям интенсивности пикселей;

detectShadows = true, обеспечивает идентификацию теней с последующим их исключением из области переднего плана.

Значения параметров были выбраны по предварительному набору на «пустой сцене».

Далее включается подсистема обнаружения AprilTag-кластеров. Поток бинаризованных данных накладывается на синхронную глубинную карту стереокамеры. В каждом кадре система ищет априорно известные ID-комбинации AprilTag, образующих геометрически устойчивые кластеры. Для повышения устойчивости к частичным окклюзиям гомография плоскости стола Hcam←table оценивается методом RANSAC по вершинам детектированных меток [22]. Совокупность обнаруженных меток задает координаты посадочной ячейки .

После получения координат посадочной ячейки запускается подсистема проверки заполненности ячейки. Для каждой ячейки Ci используется локальный прямоугольный ROI, параметризированный центром, размерами и ориентацией. Ячейка помечается «занятой», если медианная глубина точек внутри ROI превышает адаптивный порог zth, либо площадь пикселей переднего плана в ROI превосходит порог ath.

Рис. 1. Блок-схема алгоритма метода компьютерного зрения Примечание: составлен авторами по результатам данного исследования

Пороговые значения подбираются адаптивно из «эталона пустой ячейки»: zth – по экспоненциально-взвешенной статистике глубины с запасом, ath – по верхнему перцентилю площади переднего плана. Блики и аномалии подавляются морфологией и временным гистерезисом по N кадрам. Пусть zt – медианная глубина внутри ROI на t-м кадре для заведомо пустой ячейки. Тогда экспоненциально-взвешенное среднее μz(t) и дисперсия по глубине вычисляются по рекуррентным соотношениям:

,

где 0 < α < 1 – коэффициент сглаживания (в работе α = 0,05).

Порог по высоте задается как

.

При значении k = 2 (в предположении нормальной формы распределения) ожидаемая доля ложных срабатываний не выше 1–2 % на пустой ячейке. Аналогично порог по площади ath задается как эмпирический p-перцентиль распределения площади переднего плана для пустых ячеек, вычисляемый по скользящему окну длиной M кадров. Переоценка порогов выполняется в фоновом режиме раз в N кадров при условии, что ячейка в течение окна наблюдений не содержит детектированных объектов.

Последней в алгоритме является подсистема уточняющей детекции и проекции координат. Если ROI ячейки признана «занятой», внутри нее локально срабатывает либо контурный детектор, включающий в себя адаптивную пороговую обработку, поиск контуров и аппроксимацию минимальным вписанным прямоугольником, либо нейросетевой детектор на основе YOLOv8-OBB. Центры рамок (u, v, Zcom) при этом переводятся в систему координат камеры:

,

затем – в базовую систему координат робота:

.

Инициализация, включающая в себя внутреннюю калибровку камеры на манипуляторе [13], выполняется один раз, далее актуальное преобразование Tbase←cam публикуется TF2 в режиме реального времени. В подсистеме блока подавления повторных детекций полученный вектор Pt сравнивается с последними n опубликованными центрами, и, если расстояние ||Pt – Pt–1|| меньше эмпирического порога, цель считается уже обслуженной и повторно не публикуется.

Результаты исследования и их обсуждение

Предлагаемый метод реализован в виде модуля программного обеспечения, интегрированного в среду Robot Operating System версии ROS2 Humble.

Для обеспечения требуемой точности пространственной локализации заготовок и технологической оснастки необходимо исключить из анализа кадра области, не относящиеся к рабочей зоне РТК. Эта задача решается с помощью подсистемы маскирования областей интереса. На этапе запуска программного модуля проводится загрузка заранее подготовленной бинарной маски из конфигурационного файла формата YAML. Полученную маску применяют к каждому новому кадру, получаемому от камеры, посредством покомпонентного умножения исходного изображения на бинарную маску. Это обеспечивает «зануление» всех пикселей, относящихся к областям, исключенным из анализа. Подобный подход значительно снижает влияние на алгоритмы обработки изображений таких посторонних объектов, как элементы манипулятора или другое технологическое оборудование, находящееся в пределах рабочей зоны, и позволяет существенно сократить число ложных детекций, не прибегая к дополнительной фильтрации.

Следующим этапом обработки кадра является подсистема фонового вычитания, основанная на методе адаптивного моделирования заднего плана сцены с использованием смеси гауссовых распределений. Для этого используется алгоритм MOG2 в реализации OpenCV, способный корректно обрабатывать сцены, освещенность которых изменяется медленно во времени [21]. Для каждого пикселя кадра MOG2 поддерживает взвешенную сумму нескольких гауссовских распределений, параметры которых обновляются с приходом каждого нового кадра. Пиксель принадлежит классу фона, если его текущее значение Xt находится в пределах 2.5σk от среднего значения μk одного из фоновых распределений:

,

где σk – стандартное отклонение от k-й гауссовой компоненты, характеризующее разброс значений около ее среднего μk. Пороговое значение на основе дисперсии в 2,5σk было подобрано эмпирически и примерно соответствует покрытию 98–99 % данных нормального распределения, что обеспечивает баланс между чувствительностью и устойчивостью к шуму.

Если текущее значение пикселя не соответствует ни одному из известных фоновых распределений, алгоритм классифицирует его как часть переднего плана. Результатом работы алгоритма становится двухклассовая бинарная маска, отражающая текущее состояние кадра (рис. 2). Благодаря этому обеспечивается надежное выделение динамически появляющихся объектов на рабочей поверхности РТК при минимальной зависимости от колебаний освещенности и теневых эффектов.

Рис. 2. Результат применения бинарной маски ROI и алгоритма MOG2 на кадре рабочей поверхности Примечание: составлен авторами по результатам данного исследования

В дополнение к фоновому вычитанию применяется предобработка кадра, включающая конвертацию изображения в градации серого, улучшение локального контраста методом адаптивной гистограммы с ограничением контраста CLAHE (Contrast Limited Adaptive Histogram Equalization) и сглаживание гауссовым фильтром. В типовой настройке использовались cliplimit = 2,0, tileGridSize = 8ⅹ8, ядро сглаживания 5ⅹ5. Процедура CLAHE вычисляет новую яркость пикселей по формуле

где I(x, y) – исходная яркость пикселя в точке (x, y);

I ʹCLAHE (x, y) – преобразованная яркость пикселя после применения CLAHE;

Ω(x, y) – локальная область вокруг пикселя (x, y), используемая для построения гистограммы и адаптивной коррекции яркости.

После получения бинарной маски переднего плана следующим шагом является подсистема обнаружения AprilTag-кластеров, отвечающих за идентификацию посадочных позиций изделий. На предварительно подготовленную бинаризованную карту накладывают синхронное глубинное изображение, полученное стереокамерой. Для каждого кадра выполняется поиск заранее известных комбинаций идентификаторов AprilTag-меток, которые формируют стабильные геометрические кластеры. По результатам кластеризации каждая посадочная позиция описывается в виде прямоугольного ROI:

,

где Xi, Yi, Zi – координаты центра ячейки; wi, hi, – размеры в плоскости стола, θi – ориентация.

Определение посадочных позиций деталей и инструментов становится независимым от их фактической геометрии и визуальных характеристик, что значительно упрощает переналадку и обеспечивает повторяемость результатов при изменении номенклатуры выпускаемой продукции.

Следующей в пайплайне является подсистема проверки заполненности каждой идентифицированной ячейки. Для Ci берется локальная область, заданная wi, hi, θi. Ячейка помечается как «занятая», если выполняется одно из двух условий:

,

где Δzi – медианная высота над плоскостью дна внутри ROI, мм;

Ai – площадь переднего плана внутри ROI;

zth – порог по высоте, мм;

ath – порог по площади, рх2.

Если хотя бы одна ячейка признана «занятой», в ее ROI запускается контурный детектор для уточнения контура детали. Вместо поиска произвольных контуров по всему кадру алгоритм работает с небольшим четко закрепленным набором «посадочных» точек, что существенно уменьшает ложные срабатывания и упрощает ввод новых типов деталей.

На рис. 3 представлена иллюстрация работы подсистемы обнаружения AprilTag-кластеров и проверки заполненности посадочных ячеек.

Рис. 3. Иллюстрация работы подсистемы обнаружения AprilTag-кластеров и проверки заполненности посадочных ячеек Примечание: составлен авторами по результатам данного исследования

В предлагаемой методике рассматривается два варианта детектора – нейросетевой и контурный. В контурном режиме детекция происходит с использованием алгоритмов бинаризации и поиска контуров, формирующих ограничивающие рамки объектов. Контурный детектор работает в несколько последовательных этапов, обеспечивая эффективность и низкую вычислительную нагрузку при обработке изображений с простыми геометрическими формами. Первоначально изображение подвергается адаптивной пороговой обработке, благодаря чему достигается устойчивость к изменениям освещения и текстуры объекта. Затем на полученной бинарной маске выполняется поиск контуров методом поиска замкнутых границ, после чего осуществляется аппроксимация формы минимальным вписанным прямоугольником, который задает окончательные границы обнаруженного объекта. На рис. 4 представлена схема работы контурного детектора.

Рис. 4. Схема работы контурного детектора Примечание: составлен авторами по результатам данного исследования

Если активирован нейросетевой режим, используется нейронная сеть YOLOv8-OBB. Стандартные параметры включали в себя разрешение 640x640, порог уверенности в пределах 0,25–0,35 и порог NMS по IoU 0,45. Нейросетевой детектор применяется для идентификации объектов со сложной геометрией в условиях нестабильного освещения. Нейросеть предварительно обучена на специально подготовленном наборе изображений посадочных ячеек и типовых заготовок, что обеспечивает точность и надежность распознавания объектов различных форм и размеров.

Для обучения YOLOv8-OBB использовался собственный датасет из 960 изображений ячеек, разделенный в пропорции 70 %/15 %/15 % на обучающую, валидационную и тестовую выборки. Разметка выполнялась в формате ориентированных ограничивающих рамок для одного класса «заготовка», с привязкой к координатам ячейки. Для повышения обобщающей способности применялись аугментации, включавшие в себя: случайные повороты ± 15°, изменения яркости и контраста ± 20 %, небольшие перспективные искажения (до 2 %) и добавление шума. В качестве базовой архитектуры использовалась модель YOLOv8n-obb, обучение проводилось в течение 150 эпох с размером батча 16, оптимизатором Adam и начальной скоростью обучения 1∙10–4. По результатам обучения достигнут mAP@.5 = 0,952 на валидационной выборке, а кривые потерь обучения и валидации не показывали признаков переобучения.

Оба варианта возвращают список ориентированных ограничивающих рамок u,v, w,h,θ,Z, где u,v – центр рамки в пикселях, w,h – ее размеры, Z – медианная глубина внутри рамки, θ – ориентация. Для каждой рамки вычисляется 3D-центр в системе координат камеры, а затем в базовой системе координат робота по уже описанной схеме преобразований.

После детекции объектов возникает необходимость исключить повторную передачу координат объектов роботу-манипулятору, так как это может привести к нежелательным повторным действиям. Для предотвращения такой ситуации используется механизм подавления повторных детекций обнаруженных целей. На каждом шаге координаты вновь найденных объектов сопоставляются с массивом объектов, которые были опубликованы на предыдущих кадрах. Сравнение производится путем вычисления евклидова расстояния между текущими Pt и ранее переданными координатами предыдущего объекта Pt-1 по следующей формуле:

.

Если вычисленное расстояние меньше установленного эмпирического порога ddup (в мм), объект считается уже обработанным и его координаты повторно не отправляются роботу. В противном случае объект считается новым, его координаты передаются в последующие подсистемы метода. Буфер хранит последние N = 5 кадров, а для гашения дрожания введено «время удержания» Thold = 1 с, в течение которого обслуженная цель остается заблокированной для повторной публикации. Значение ddup в работе варьировалось от 10 до 30 мм в зависимости от размеров ячеек.

Следующий этап работы системы заключается в переводе пиксельных координат, полученных на этапе обнаружения объектов, в локальные метрические координаты рабочей зоны робота-манипулятора. Этот этап является ключевым, так как от точности определения координат объектов зависит корректность последующих действий робота при манипуляциях с деталями и инструментами.

В предлагаемом методе используется hand-eye калибровка в конфигурации «камера на манипуляторе» с интеграцией библиотеки ROS2 и подсистемы преобразований координат TF2 [23]. TF2 представляет собой стандартный механизм ROS, который в реальном времени отслеживает и публикует преобразования между различными системами координат компонентов роботизированной системы. TF2 служит для публикации и композиции уже известных калибровочных преобразований в реальном времени, обеспечивая корректное применение трансформаций. Благодаря этому обеспечивается динамическое и точное преобразование координат даже в условиях непрерывного движения и вибраций робота-манипулятора.

Первичная калибровка выполняется один раз и проходит в три этапа. Сначала настраиваются внутренние параметры и дисторсия камеры, после чего изображения ректифицируются с использованием стандартных алгоритмов библиотеки OpenCV. Далее выполняется hand-eye калибровка [5, 22] по классической схеме AX = XB при наборе 20 поз манипулятора, равномерно покрывающих рабочий объем над столом. В качестве алгоритма использовался вариант Tsai-Lenz, реализованный в среде ROS2. Качество калибровки оценивалось по среднеквадратической репроекционной ошибке и 3D-смещению метки. Среднее значение составило 0,45 пикселя по изображению, что соответствует примерно 0,6 мм на рабочей дистанции 0,7 м. В результате определялось однородное преобразование от камеры к фланцу инструмента робота Ttool←cam.

На третьем этапе задается положение рабочей поверхности в базовой системе координат робота Tbase←table по кластеру AprilTag и оцененной гомографии плоскости стола. На этом этапе система TF2 повторную калибровку не проводит, а в реальном времени композирует актуальные преобразования по текущей кинематике робота и публикует:

Tbase←cam = Tbase←tool ∙ Ttool←cam,

где Tbase←tool берется из текущих углов звеньев. Повторная hand-eye калибровка в ходе описанных экспериментов требуется только при замене камеры или изменениях ее механического крепления. Положение стола относительно базовой системы робота контролируется по контрольным кадрам с AprilTag один раз в начале каждой серии измерений.

После завершения этапа уточняющей детекции каждый объект описывается центром в изображении (u,v) и глубиной Zcam. Эти пиксельные координаты необходимо выразить в базовой системе координат робота. Для этого используют два последовательно применяемых преобразования [24–26].

Сначала происходит преобразование пикселя к камерным 3D-координатам с учетом внутренних параметров камеры и предварительной компенсации дисторсии. Координаты точки в камерной системе вычисляются по однородной модели проекции:

На втором шаге осуществляется преобразование из системы координат камеры в базовую систему координат робота. Для этого в ROS2 используется подсистема TF2, которая непрерывно публикует актуальную однородную матрицу перехода:

,

, ,

где R – текущая ориентация камеры, t – ее смещение относительно системы координат робота.

Итоговые координаты центра, ориентированного ROI, вычисляются как

.

Пиксельные координаты со встроенной глубиной переводятся в рабочую систему робота, а ошибки, связанные с наклоном камеры, перспективой и колебаниями мобильного комплекса, компенсируются механизмом TF2. Эти 3D-координаты вместе с углом ориентации θ передаются в управляющий ROS-топик, на чем геометрический цикл обработки завершается.

Пример листинга реализации описанного преобразования координат с использованием TF2 в ROS2 представлен ниже (листинг 1).

В рабочей реализации данный фрагмент включен в состав узла ROS2 на языке Python, который инициализирует клиентскую библиотеку, создает объект узла и обрабатывает возможные исключения TF2. Эти элементы несущественны для понимания математической сути преобразования и опущены ввиду объемных листингов.

Для оценки эффективности разработанного метода были проведены испытания системы компьютерного зрения, направленные на сравнение контурного и нейросетевого детекторов. Ключевым элементом испытаний стала проверка точности и стабильности определения координат посадочных ячеек по группам AprilTag-меток, поскольку они являются фундаментом всей системы позиционирования.

from geometry_msgs.msg import PointStamped

from tf2_ros import Buffer, TransformListener

from tf2_geometry_msgs.tf2_geometry_msgs import do_transform_point

# Буфер TF2 и Listener создаются один раз в узле ROS2

tf_buffer = Buffer() # буфер для хранения трансформаций между системами координат

tf_listener = TransformListener(tf_buffer, node) # listener пополняет буфер

def cam_to_base(x_cam: float, y_cam: float, z_cam: float) -> PointStamped:

«»»Преобразует точку из СК камеры cam в базовую СК робота base.»»»

p_cam = PointStamped() #создаём сообщение с точкой в системе координат камеры

p_cam.header.stamp = node.get_clock().now().to_msg() # штамп времени кадра

p_cam.header.frame_id = ‘cam’ # точка задана в системе координат камеры ‘cam’

p_cam.point.x = x_cam # координата X точки в системе камеры

p_cam.point.y = y_cam # координата Y точки в системе камеры

p_cam.point.z = z_cam # координата Z точки в системе камеры

# Берём актуальное преобразование base <- cam

t = tf_buffer.lookup_transform(

target_frame=’base’, # Целевая система координат - базовая система робота ‘base’

source_frame=’cam’, # исходная система координат - камера ‘cam’

time=rclpy.time.Time() # Используем последнее доступное преобразование

)

p_base = do_transform_point(p_cam, t) # трансформация к точке и получение координат в СК ‘base’

return p_base # точка выраженная в базовой системе координат робота

Листинг 1. Фрагмент кода преобразования точки из системы координат камеры cam в базовую систему робота base с использованием TF2 на языке Python Примечание: составлен авторами по результатам данного исследования

В испытаниях были задействованы робот-манипулятор Universal Robots UR5, стереокамера Intel RealSense D455 со стереобазой 95 мм, 1280×720@30 к/с. Использованы метки AprilTag tag36h11, посадочные ячейки представлены в виде физических лотков размера 100ⅹ120 мм, высота борта 20 мм. Семейство AprilTag tag36h11 выбрано как компромисс между помехоустойчивостью и габаритами маркировки. Код tag36h11 обладает большим алфавитом идентификаторов и высоким расстоянием Хэмминга между кодовыми словами, что снижает вероятность ложных срабатываний и ошибок декодирования при засветах и частичных окклюзиях. По сравнению с типовыми ArUco-семействами это дает более надежную детекцию на блестящих и слаботекстурных поверхностях, а по сравнению с ChArUco-таблицами не требует установки крупных шахматных мишеней, что важно в условиях ограниченных размеров ячеек.

Экспериментальная серия была организована в виде трех сценариев, отражающих типичные условия роботизированного рабочего места:

1. Простая геометрия (втулки, цилиндры) и стабильное освещение (600–700 лк), блики < 5 %, окклюзия меток 0 % – детали стандартной формы с равномерным освещением и минимальными вариациями в позиционировании посадочных мест.

2. Сложная геометрия (ступенчатые валы) и стабильное освещение (600–700 лк), блики 5–10 %, окклюзия меток < 25 % – детали сложной формы с большим количеством мелких элементов и изменяющимися расположениями посадочных ячеек.

3. Сложная геометрия и нестабильное освещение (120–350 лк), блики 10–20 %, окклюзия меток < 40 % – детали сложной формы с изменяющимися условиями освещения и различным взаимным расположением посадочных ячеек.

Оценка производилась по следующим показателям:

1. Ошибка AprilTag – средняя евклидова ошибка центра кластера, мм.

2. Ошибка объекта – средняя евклидова ошибка 3D-центра заготовки, мм.

3. Точность и полнота детекции (precision и recall) объектов.

4. Среднее время обработки одного кадра от момента захвата изображения до публикации координат в ROS2 (мс).

Эталонные координаты центров рабочих позиций и заготовок задавались в базовой системе робота путем обучения контрольных точек на UR5 с помощью штатного пульта ручного управления. Для центра каждой ячейки и для центра каждой тестовой заготовки выбиралось касательное положение захвата, после чего регистрировались координаты TCP в системе base. Согласно паспорту UR5 и многократным повторным подходам, разброс этих измерений не превышал 0,2–0,3 мм, что задает верхнюю оценку погрешности эталонной разметки.

Освещенность в зоне ячеек контролировалась цифровым люксметром, замеры выполнялись в центре рабочей области на высоте 150 мм над плоскостью столов. Для сценариев с нестабильным освещением уровень освещенности изменялся за счет регулировки мощности и направления светильников, при этом интервалы фиксировались по показаниям люксметра. Процент окклюзии меток задавался как отношение суммарной площади закрытых частей AprilTag к полной площади всех меток в кластере. Окклюзия моделировалась непрозрачными масками, наклеенными на кромку ячейки. Блики формировались направленным светодиодным прожектором, а их доля оценивалась по бинаризованной маске пересвеченных пикселей как процент от площади ROI.

Каждый сценарий испытаний проводился по 50 раз, после чего результаты усреднялись. В качестве базового метода сравнения использовалась ручная экспертная разметка координат посадочных мест и заготовок. Результаты вычислительных экспериментов, проведенных на базе лаборатории «Умные производственные системы» РТУ МИРЭА, приведены в таблице.

При профилировании стендовой реализации было установлено, что основное время обработки кадра распределялось между тремя подсистемами: фоновым вычитанием MOG2, детекцией AprilTag и уточняющей детекцией внутри ячеек. Для контурного детектора суммарное время одного цикла составляло в среднем 36 мс (сценарий 1), из которых порядка 8–10 мс приходилось на обновление фоновой модели и морфологическую фильтрацию, 6–8 мс – на детекцию и декодирование AprilTag и 10–12 мс – на локальную бинаризацию и обработку контуров в пределах ячеек, остальное – расходы ROS2/TF2. При использовании нейросетевого детектора YOLOv8-OBB общее время увеличивалось до 60–65 мс за счет вычислительно затратного прохода модели по ограниченным областям интереса, при этом вклад фонового вычитания и AprilTag оставался на том же уровне. Масштабируемость по числу ячеек определялась в первую очередь этапом детекции меток. Вычислительная сложность возрастала пропорционально числу меток в поле зрения. При типичной конфигурации (2 метки на ячейку) увеличение числа ячеек с 4 до 8 приводило к росту времени AprilTag-детекции примерно в 1,4–1,5 раза, но не изменяло затрат MOG2 и CLAHE, которые зависят только от размера кадра. Нагрузка от уточняющей детекции возрастала с числом «занятых» ячеек. В контурном режиме обработка дополнительных ROI показала почти линейный рост времени, а в нейросетевом режиме количество активных ячеек непосредственно определяло число проходов YOLOv8-OBB.

Для оценки статистической значимости различий между детекторами дополнительно проводилась проверка распределений ошибок на нормальность по критерию Шапиро – Уилка и парное сравнение средних значений по t-критерию для связанных выборок. Во всех сценариях распределение евклидовой ошибки локализации не противоречило нормальному (p > 0,05), а разница между контурным и нейросетевым детектором по ошибке объекта в сценариях 2 и 3 оказалась статистически значимой (p < 0,01). Выбросы с величиной ошибки более 3σ встречались реже 2 % наблюдений и в анализе не исключались. Для основных метрик (ошибка AprilTag и ошибка объекта) 95-процентные доверительные интервалы не выходили за пределы среднего ± 2σ, что согласуется с принятым способом представления «среднее ± стандартное отклонение».

Результаты экспериментов по работе метода в различных сценариях

№ сценария

Метод детекции

Ошибка AprilTag, мм

Ошибка объекта, мм

Precision, %

Recall, %

Время обработки, мс

1

Контурный детектор

0,5 ± 0,2

0,9 ± 0,4

97,6

96,8

36 ± 6

1

YOLOv8-OBB

0,5 ± 0,2

1,0 ± 0,5

96,5

97,0

59 ± 7

2

Контурный детектор

0,9 ± 0,4

3,5 ± 1,1

84,3

81,2

39 ± 6

2

YOLOv8-OBB

0,9 ± 0,4

1,6 ± 0,6

95,7

94,6

60 ± 8

3

Контурный детектор

1,3 ± 0,6

7,0 ± 1,3

68,5

65,3

47 ± 8

3

YOLOv8-OBB

1,2 ± 0,5

2,5 ± 0,7

90,2

88,7

64 ± 9

Примечание: составлена авторами на основе полученных данных в ходе исследования.

Отдельно была рассмотрена ожидаемая теоретическая точность локализации центров ячеек. Погрешность координат центра кластера AprilTag оценивалась суммой вклада ошибки 2D-локализации вершин меток и погрешности по глубине стереокамеры. При рабочем диапазоне расстояний 0,6–0,8 м, фокусном расстоянии порядка 850 пикселей и типичной точности субпиксельной локализации уголков меток 0,1–0,2 пикселя погрешность в плоскости стола не превышала 0,1–0,2 мм. Для камеры RealSense D455 при базисе 95 мм дисперсия глубины составляла порядка 1–1,5 мм. Суммарная среднеквадратичная ошибка центра кластера оценивалась как

мм,

что согласуется с экспериментальными значениями ошибки AprilTag в таблице.

В условиях простой геометрии и стабильного освещения обе версии детекторов показали сопоставимую высокую точность определения как посадочных ячеек по AprilTag-меткам, так и заготовок. При этом контурный метод показал преимущество по скорости обработки, что объясняется его меньшей вычислительной сложностью.

При увеличении сложности геометрии и вариативности расположения посадочных ячеек точность детекции по меткам AprilTag оставалась высокой (до 1 мм), но погрешность определения координат заготовок у контурного детектора значительно возросла, тогда как нейросетевой детектор YOLOv8-OBB сохранил стабильно низкие значения погрешности.

В условиях нестабильного освещения обе версии системы показали некоторое ухудшение точности определения координат посадочных меток, но нейросетевой детектор продемонстрировал значительно меньшую погрешность распознавания заготовок, что подчеркивает его устойчивость к условиям изменяющегося освещения.

По результатам испытаний можно сформулировать следующие рабочие ограничения метода:

1. Освещенность не ниже 300 лк для сохранения ошибки AprilTag ≤ 1,3 мм.

2. Допустимая окклюзия меток до 40 % площади кластера.

3. Доля бликов до 10–20 % в ROI, при превышении чего контурный детектор деградирует и рекомендуется переход к YOLOv8-OBB.

4. Hand-eye калибровка и привязка стола требуют повторной проверки только при механическом вмешательстве.

Как итог, кластеры AprilTag обеспечивают стабильную «якорную» привязку (≤ 1,3 мм даже при сложном сценарии). Выбор детектора рационально делать по условиям: контурный – при простой геометрии и стабильном свете обеспечивает минимальную задержку, YOLOv8-OBB – при сложной форме или нестабильной освещенности. Частота публикаций поз составляет примерно 28 Гц (контурный) и 16 Гц (YOLOv8-OBB), что позволяет подбирать режим под требования такта операции.

Заключение

Полученные результаты экспериментальных испытаний подтверждают эффективность и целесообразность предложенного метода компьютерного зрения для роботизированных рабочих мест мелкосерийного производства с часто меняющейся номенклатурой изделий. Использование AprilTag-меток в качестве стабильных метрических ориентиров обеспечивает высокую точность и надежность первоначального определения координат посадочных ячеек. Реализованная возможность выбора между контурным и нейросетевым детекторами позволяет гибко адаптировать систему под различные производственные условия, обеспечивая баланс между скоростью и точностью обработки. Предложенный подход позволяет существенно сократить количество ложных срабатываний, повысить оперативность и точность переналадки робота-манипулятора в динамически изменяющихся условиях мелкосерийного производства.

Авторы отмечают и ограничения предлагаемой методики, в которые входят: необходимость установки и обслуживания меток, достаточные условия освещенности, необходимость первоначальной калибровки и поддержка корректной TF-иерархии. Особенностью представленных результатов является то, что все эксперименты проводились на одной модели робота и одной камере на стационарном стенде. Влияние отличающейся кинематики, других типов стереокамер и вибраций мобильной платформы специально не исследовалось. Тем не менее предлагаемая методика опирается на стандартный стек ROS2/TF2 и hand-eye калибровку, что делает ее переносимой на другие конфигурации. Экспериментальная проверка на мобильных манипуляторах планируется в последующих работах.

С точки зрения практической эффективности основной эффект от внедрения метода проявляется в сокращении инженерных трудозатрат на повторную настройку системы машинного зрения. Переход от сценоориентированной калибровки и переобучения детекторов к привязке меток ячеек позволяет при смене номенклатуры ограничиться механической перестановкой ячеек и обновлением конфигурационного файла без привлечения специалистов по компьютерному зрению. В условиях мелкосерийного производства с частыми переналадками это снижает затраты времени на ввод новой партии в работу и уменьшает риск простоев из-за ошибок перенастройки.

Методика целесообразна для задач комплектования, обслуживания станков, быстрой смены оснастки в ячейках с изменяемой номенклатурой, а также для мобильных комплексов, в которых важно быстро восстанавливать привязку стола после его перемещения. Направления дальнейших исследований будут посвящены адаптивной настройке порогов zth и ath с автоматическим дрейф-контролем под изменения сцены, а также совершенствованию метода при частичной/полной потере части меток, включая трекинг кластеров, предсказание гомографии по прошлым наблюдениям и мультикамерное слияние.