УДК 631.7, 53.082.14
А. Л. Брякин, В. В. Кожевников, С. В. Кочкин ДВУХКООРДИНАТНЫЙ ДАТЧИК ПОЛОЖЕНИЯ
Аннотация. Рассмотрено аппаратное и алгоритмическое обеспечение двухкоординатного датчика положения, работающего на принципе определения абсолютных координат расположения объекта при отсутствии механического контакта частей первичного измерительного преобразователя. Проведена оценка причин возникновения погрешностей.
Ключевые слова: измерение перемещения в абсолютных координатах, бесконтактное измерение, двумерные измерения, измерения перемещений и углов, датчик положения.
Abstract. The article considers hardware and knoware of a two-dimensional sensor of displacement. The sensor works on a principle of measurement of absolute coordinates of an object without mechanical contact of the primary measuring transducer parts. The authors estimate the causes of errors.
Key words: measurement of motion in absolute coordinates, noncontact sensing, two-dimensional measurements, measurements of displacement and angles, position sensor.
Введение
В современной промышленности часто требуется измерение перемещений на прямой и в плоскости с минимизацией воздействия на измеряемый объект. Иногда необходимо измерять не непосредственно значение перемещения, а отклонение от какого-то заданного значения [1].
Известен способ измерения координат точки на плоскости, при котором определяется приращение каждой координаты по отметкам, нанесенным на плоскость измерений [2]. В 1999 г. в фирме Agilent Technologies этот способ был модифицирован и в настоящее время он состоит в том, что при движении оптический сенсор последовательно считывает изображения поверхности и затем сравнивает их и по разнице между этими изображениями определяет измерение координаты. Данный способ относится к инкрементным, т.е. измеряющим относительную, а не абсолютную координату.
Однако во многих случаях (например, в системах инерционной навигации, следящих системах наведения и др.) существует необходимость оперативного определения именно абсолютных координат. Например, в процессе разработки балансировочного устройства, работающего на принципе измерения отклонения маятника от вертикали, возникающего из-за наличия дисбаланса на балансируемом роторе, закрепленном на маятнике, возникла практическая задача - определить положение точки пересечения оси маятника и плоскости датчика одновременно по двум координатам в радиусе 5 мм от центра с максимальной погрешностью dt не более 0,015 мм (рис. 1). Измерение должно происходить без взаимного воздействия перемещающихся частей датчика. Дополнительным условием является необходимость измерений с постоянной точностью в большом диапазоне (до 10 мм).
1. Возможные варианты решения задачи
Рассматривались варианты измерения с использованием:
- индуктивного датчика положения;
- емкостного датчика положения;
- оптического триангуляционного датчика положения;
- оптического инкрементного датчика положения.
Маятник
ЇНИЄ
Перемещение
по У
поХ
Рис. 1. Определение положения оси маятника
Индуктивный датчик положения имеет ряд недостатков. Общепринято, что рабочий диапазон изменения в таком датчике составляет не более 10 % от общей величины магнитного зазора. Это приводит к увеличению значения магнитного (рабочего) зазора. Дополнительным минусом является нелинейность такого преобразователя и необходимость обеспечения процедуры разделения координат. Это значит, что сигнал должен зависеть от перемещения в перпендикулярном зазору направлении, но не должен зависеть от перемещения в параллельном зазору направлении, что трудно обеспечить при использовании такого принципа. Также практически любой индуктивный датчик создает дополнительную, пусть и небольшую, силу, действующую на объект измерения [3].
Емкостной датчик имеет аналогично индуктивному такие недостатки, как большую величину рабочего зазора и сложность обеспечения независимого определения каждой координаты [4].
Оптический триангуляционный датчик обеспечивает достаточную точность измерения каждой отдельной координаты, но, как и индуктивный, и емкостной датчики, не обеспечивает однозначного и просто реализуемого независимого определения координат на плоскости. Так, в частности, координаты на плоскости достаточно точно можно определить с помощью двух датчиков только в ситуации, если деталь в горизонтальном сечении имеет форму окружности, либо если деталь имеет известную форму и движется без изменения угловой координаты относительно оси, перпендикулярной плоскости измерения датчика. Дополнительным аргументом против применения триангуляционных датчиков является высокая сложность их конструкции [5].
Оптический инкрементный датчик положения, основанный на описанном выше способе, достаточно хорошо известен и применяется, например, в манипуляторах типа «компьютерная мышь». Его достоинством является простота конструкции и, соответственно, дешевизна, однако такой датчик не исключает «проскальзываний», т.е. накапливания в процессе перемещения ошибки. Кроме того, датчик не дает однозначной точки на плоскости, он лишь показывает текущее смещение от ранее сохраненного положения, что требует постоянной установки нуля.
Таким образом, применение всех вышеперечисленных датчиков не решает задачи измерений перемещений на плоскости с минимизацией воздействия на измеряемый объект.
Для решения задачи измерений перемещений на плоскости с минимизацией воздействия на измеряемый объект предлагается установить в качестве датчика видеокамеру, направленную на маркированную определенным образом плоскость. Обработка картинки с видеокамеры позволит «привязать» видимую область изображения ко всему рисунку маркированной плоскости, и таким образом определить координаты центра картинки на плоскости. Так как перемещения малы, камера должна обеспечивать достаточное увеличение картинки, поэтому в каждый момент времени на матрицу видеокамеры будет попадать лишь малая часть изображения маркированной плоскости.
Оценим требования к камере и плоскости. Эти требования зависят друг от друга, поэтому необходимо задаться некоторыми значениями, приняв их как данность.
На настоящий момент самым дешевым и самым распространенным типоразмером матрицы для простых видеокамер является 640^480 пикселов (0,3 мегапиксела). Предположим, что алгоритм позволит определять положение центра видимой картинки на плоскости с точностью один пиксел. Можно оценить требуемый размер видимой картинки по наименьшей стороне:
где Рщ - размер видимой картинки по вертикали; У - количество пикселов по наименьшей стороне матрицы; ^ - необходимая погрешность измерения.
Для указанных выше параметров получается высота видимой картинки не более 7,2 мм, это даже несколько больше размера картинки имеющихся в широкой продаже дешевых И8Б-микроскопов, один из которых как раз и предлагается использовать в качестве камеры.
При маркировке плоскости обеспечивались следующие условия:
- поверхность содержит минимум оптического «мусора»;
- поверхность имеет равномерное освещение.
Рассматривались различные варианты маркировки плоскости, в том числе разбивка плоскости на квадраты линиями и маркировка различными фигурами, установленными в пересечениях сетки, а также использование цветных изображений. Однако после анализа доступных алгоритмов распознавания маркеров было решено, что наиболее легко распознаваемое изобра-
2. Предлагаемое решение задачи
(1)
3. Маркировка плоскости
жение - ряд закрашенных несоприкасающихся кругов разного диаметра с цветом, максимально контрастирующим с общим фоном. Использование цветовой составляющей особого смысла не имеет, к тому же, как правило, видеокамеры имеют урезанные возможности по восприятию цветовой информации (например, кодируется один цвет на 4 пиксела).
На рис. 2 приведено изображение, полученное с видеокамеры. Для привязки к масштабу и положению видимой картинки на плоскости вся рабочая область поверхности покрыта с равномерным шагом Нс по обеим осям базовыми метками - закрашенными темными кругами диаметра Ос\. Внутри каждого квадрата, образованного базовыми метками, расположены закрашенные круги меньшего диаметра Вс2 (маркировочные метки), наличие или отсутствие которых в заданных местах кодирует начальную координату Х8Ч, Ущ по
горизонтали и по вертикали. Код координат Хщ, суммой Сі^.
защищен контрольной
Рис. 2. Вид маркированной плоскости (вырезка)
Параметр Нс выбирается таким образом, чтобы при любом положении видимого кадра на плоскости по вертикали в него попало как минимум две базовых метки:
р
Нс < —.
с 3
Код (номер) квадрата задается в двоичном формате, для чего все поле квадрата разбито условными линиями с одинаковым шагом по вертикали и по горизонтали. Шаг выбран таким образом, чтобы получаемое число верти-
кальных линий было бы больше минимум на две, чем количество требуемых для кодировки номера квадрата двоичных разрядов. Линии проводятся таким образом, чтобы центр квадрата обязательно совпадал с пересечением линий.
Пример маркировки квадрата приведен на рис. 3. Крайние линии со
Нс ^
всех сторон не используются, шаг разбиения равен пт = —^~. Тремя центральными линиями, как указано на рисунке, кодируется Хщ, Ущ и контрольная сумма СБ. При такой маркировке полный размер плоскости не превышает 32 квадратов по вертикали и 32 квадратов по горизонтали, что ограничено числом двоичных разрядов в значениях Хщ, У^. Контрольная сумма рассчитывается в двоичной системе счисления по формуле
С£ = (хщ + Ущ).
(2)
Рис. 3. Разбиение квадрата для маркировки
К размерам меток предъявляются следующие требования:
- диаметр базовых меток должен быть значительно (не менее чем в два раза) больше диаметра меток маркировки;
- базовые метки не должны соприкасаться с маркировочными, даже при наличии оптического «мусора» на картинке. Слияние маркировочных меток в небольших пределах допустимо, поскольку разделения меток не производится. Для считывания кода используется анализ средней яркости в центре пересечения линий и сравнение с заданным пороговым значением.
4. Алгоритм расчета положения
На вход алгоритма расчета поступает изображение с камеры. Под изображением здесь и далее следует понимать фиксируемую камерой часть маркированной плоскости. Наблюдаемое изображение может иметь несколько неоднородную засветку, а также ряд искажений (например, ориентация изображение может не совпадать с осями координат). Ряд искажений картинки зависит от способа создания маркированной плоскости. В работе использовалась печать с помощью струйного принтера на качественной фотобумаге. Даже для качественной бумаги при таком разрешении видна фактура бумаги,
также видны отдельные пикселы, обусловленные способом печати принтера. Пример входной картинки с увеличением в 25 раз приведен на рис. 4.
Т Іві. іія"
М» «МНИк « «
• і • • •
“* 1 • - і-'- І." 1
• «г • • •
МІ ' «г Ж ‘1
Рис. 4. Изображение маркированной плоскости
Алгоритм определения положения включает в себя следующие стадии:
1. Разделение изображения на «фон» и «метки».
2. Поиск всех базовых меток на изображении.
3. Поиск четырех наиболее близких к центру изображения базовых меток.
4. Определение координат центра квадрата, вектора вертикали и размера стороны квадрата, образованного данными метками.
5. По данным квадрата определение шага линий маркировки и считывание кода положения квадрата на плоскости.
6. Расчет положения центра видимого изображения на плоскости с использованием полученных данных.
5. Реализация алгоритма
Разделение изображения на «фон» и «метки» осуществляется наиболее простым способом - по гистограмме яркостей изображения. Используется только одна цветовая составляющая, так как изображение одноцветное. Строится гистограмма яркостей, после чего производится группировка всех яркостей в два кластера. Начальными точками при кластеризации являются самый яркий и самый темный набор точек на изображении. После разбиения на два кластера используется средняя яркость кластеров для вычисления граничной яркости, для которой все более яркие точки являются фоном, а менее яркие - метками.
Результат работы алгоритма удовлетворителен при достаточно равномерном освещении и при любой яркости. Как показала практика, алгоритм не требует настройки.
Поиск базовых меток на картинке осуществляется последовательной заливкой всех областей, имеющих цвет «метка». Для всех точек, отнесенных к очередной залитой области, определяется среднее арифметическое координат, что дает центр масс области Хо, Уо,. Количество точек дает площадь области Бо,. По полученной площади области производится первоначальная фильтрация - небольшие области отбрасываются. Если площадь достаточна, по ее значению определяется условный диаметр окружности Д-, затем производится подсчет точек, попавших в условный диаметр. Если число попавших точек больше 80 % от общего числа точек области, считается, что область имеет форму окружности, и данная область является базовой меткой. Параметры метки - координаты Хо, Уо, - заносятся в массив меток.
На рис. 5 приведен пример результата работы алгоритма с изображением.
Рис. 5. Результат кластеризации и поиска меток
Темные области на рисунке принадлежат меткам, светлые - фону. Обозначенная метка имеет координаты Хо,, Уо, и диаметр Д, а количество принадлежащих этой метке пикселей черного цвета равно площади окружности Бо,.
Поиск четырех наиболее близких к центру изображения меток, составляющих квадрат, осуществляется достаточно сложным образом. Дело в том, что просто четыре наиболее близкие к центру изображения меток могут принадлежать разным квадратам, а требуется найти именно углы одного квадра-
та. Поэтому первоначально определяются три наиболее близкие метки к центру изображения. Далее из этих трех точек выбираются две такие, расстояние между которыми максимально - это будет диагональ квадрата. Третья метка отбрасывается.
Для диагонали квадрата рассчитываются прогнозируемые координаты двух точек, составляющих вторую диагональ квадрата, и для обеих расчетных точек производится поиск ближайшей метки. В результате определяются индексы, следовательно, координаты четырех точек - х1, у1, х3, у3 - как одна диагональ квадрата; х2, у2, х4, у4 - как вторая диагональ квадрата. Так как определение координат точек происходит с ошибкой, данные диагонали рассматриваются как диагонали двух различных квадратов. Описанный ниже расчет производится для обоих квадратов.
Все вычисления проводятся в системе координат, в которой точка (0;0) находится в левом верхнем углу экрана, координата Х увеличивается при движении вправо, а У - при движении вниз.
Исходными данными являются координаты х1, у1, х3, у3 диагонали квадрата. Остальные данные вычисляются по приведенным ниже формулам.
Центр квадрата сх, су вычисляется как среднее арифметическое между координатами меток диагонали:
Х1 + Хз у1 + уз
сх = —-----, су = —-----.
Недостающие координаты вершин квадрата х2, у2, х4, у4 определяются по формулам
х2 = сх + (я - су), у2 = су - (х! - сх),
х4 = сх-(у! - су), у 4 = су + (х! - сх).
Направление вертикали квадрата:
х1 + х2 у1 + у2
ух = —---— - сх, уу = —----— - су.
2 2
Под направлением вертикали в данном случае понимается отрезок, проведенный от центра квадрата к середине одной из сторон. После расчета производится его корректировка последовательным поворотом 90 градусов до тех пор, пока не выполнится условие
ух < |уу|, уу < 0.
Данная корректировка обеспечивает независимость направления вертикали квадрата от порядка определения меток на изображении.
Далее определяется масштаб квадрата - длина отрезка направления, и производится расчет нормированного направления, совпадающего с направлением вертикали квадрата, но имеющего единичную длину:
I 2 2
т = -у/ ух + уу ,
ух уу
пх = —, пу = —. т т
Полученные на выходе параметры квадрата:
- координаты углов квадрата хь уі...х4, у4;
- координаты центра квадрата сх, су;
- нормированное направление вертикали квадрата пх, пу;
- половина размера стороны квадрата т.
Аналогичный расчет проводится для второго найденного квадрата.
Данные о вершинах квадратов игнорируются, а для определения базовых параметров квадрата для дальнейших вычислений берется среднее арифметическое между параметрами сх, су, пх, пу, т обоих квадратов. При этом производится предварительное сравнение параметров квадратов - расхождение больше определенного говорит о неверном распознавании картинки и невозможности вычислить результат.
Расположение меток определяется по данным положения центра квадрата сх, су, направления квадрата пх, пу и масштаба квадрата т. Метки считываются построчно. После считывания меток получается три числа - Мх, Му, СБ. Первые два числа - номер квадрата на маркированной плоскости, третье число - контрольная сумма.
Если контрольная сумма не совпадает со значением, полученным при расчете по формуле (2), то одно из чисел считано неправильно и дальнейший расчет координат невозможен.
Далее вычисляется расположение центра текущего квадрата относительно центра крайнего верхнего левого квадрата маркированной плоскости:
Х0 = Нс • Мх,
Г = Нс • Му.
Затем определяется нормированное смещение центра изображения относительно центра квадрата:
, Width Л (Height nx ■ I----- cx I + ny ■ I--2— - cy
Y =. Aotn
m■Iny2 + nx2j Height
Xotn
m
cy,
' - ny ■ Yotn
nx
где Width, Height - ширина и высота картинки с камеры; Yotn, Xotn - смещение центра экрана относительно центра квадрата, нормированное таким образом, что координаты углов квадрата заданы точками (-l, l); (l, l); (l, -l); (-l, -l).
И наконец, определяется координата центра изображения на маркированной плоскости:
X = Xo +
Hc ■ (Xotn +1)
2 :
Y = Yo + Hc'(1 - Y«").
0 2
Результаты расчета приведены на рис. б.
Рис. 6. Результат работы алгоритма 6. Погрешности метода
Строгий аналитический анализ погрешностей не проводился. Можно заметить, что основных источников погрешности два - неточность изготовления маркированной плоскости и неточность определения координат базовых меток на рисунке. Погрешность остальных влияющих факторов несущественна.
Неточность изготовления маркированной плоскости сильно зависит от технологии изготовления, однако можно с уверенностью сказать, что эта задача может быть решена с достаточно высокой точностью, как это делается, например, при изготовлении фотошаблонов для производства микросхем.
Неточность определения координат базовых меток сильно зависит от контраста изображения, линейности камеры и других факторов.
Оценка погрешности, вносимой камерой, проводилась с использованием изображения, аналогичного приведенному на рис. 4. Как видно из данного рисунка, используемая камера не слишком хороша - изображение размыто по правому краю, кроме того, на глаз заметна «выпуклость» изображения. Проводился анализ точности расчета координат всех базовых меток по строкам и столбцам. Расхождение среди всех точек, кроме крайних левого и правого рядов составило не более 1,5 пиксела, крайние ряды расходятся на 3 пиксела. Таким образом, можно посоветовать использовать меньшее расстояние между базовыми метками для уменьшения влияния искажений камеры.
Дальнейшая обработка включает в себя перевод изображения в монохромное и закрашивание области. При переводе могут быть потеряны краевые точки базовой метки, не полностью совпавшие с пикселами камеры.
И наоборот, к метке может добавиться случайный мусор в несколько пикселов размером. Для уменьшения влияния данных факторов рекомендуется делать размер базовых меток максимальным, поскольку при закраске берется среднее арифметическое всех координат входящих точек. Ряд экспериментов с различными яркостями подсветки картинки показал, что разница между определяемыми центрами координат метки не превышает 1 пиксела, даже при менее контрастном изображении, чем приведенное на рис. 4.
Общая погрешность определения координат на рисунке оценивается в 2 пиксела. Это заставляет пересмотреть выражение (1) и выбрать меньший размер Pst видимой области для достижения требуемой точности.
Заключение
Предложенный способ проведения измерений относительно маркированной плоскости с использованием оптических методов, который был положен в основу разработанного двухкоординатного датчика положения, позволил с достаточно высокой точностью проводить измерения положения детали (абсолютных координат). Датчик был апробирован в балансировочном устройстве для определения значений и углов статического дисбаланса абразивных шлифовальных кругов, работающем на принципе измерения отклонения маятника от вертикали, возникающего из-за наличия дисбаланса на роторе, закрепленном на маятнике. Опытный образец балансировочного устройства изготовлен и испытан в ООО «Измеритель» г. Пенза. При испытаниях датчик показал следующие результаты:
- измерения координат на плоскости;
- рабочий диапазон не менее ± 24 мм по каждой координате;
- линейность на всем рабочем диапазоне;
- погрешность по каждой координате не более 15 мкм.
Список литературы
1. Туричин, А. М. Электрические измерения неэлектрических величин / А. М. Туричин, П. В. Новицкий, Е. С. Левшина и др. ; под ред. П. В. Новицкого. -Л. : Энергия, 1975. - 559 с.
2. US Patent. Publication No. US 4022969 published on 10-May-1977, Application № US 5/616000 filed on 23-Sep-1975.
3. Измерения электрических и неэлектрических величин : учебное пособие для вузов / Н. Н. Евтихеев, Я. А. Купершмидт, В. Ф. Папуловский и др. ; под ред. Н. Н. Евтихеева. - М. : Энергоатомиздат, 1990. - 353 с.
4. Агейкин, Д. И. Датчики контроля и регулирования / Д. И. Агейкин, Е. Н. Костина, Н. Н. Кузнецова. - М. : Машиностроение, 1965. - 928 с.
5. Форсайт, Д. А. Компьютерное зрение. Современный подход : пер. с англ. / Дэвид А. Форсайт, Жан Понс. - М. : Вильямс, 2004. - 928 с.
Брякин Алексей Леонидович
кандидат технических наук, начальник бюро программирования, научнопроизводственное предприятие «Сенсор» (г. Заречный)
E-mail: [email protected]
Bryakin Aleksey Leonidovich Candidate of engineering sciences, head of programming department, research and production enterprise “Sensor” (Zarechny)
Кочкин Сергей Вячеславович
кандидат технических наук, начальник инновационно-аналитического отдела, Пензенский государственный университет
E-mail: [email protected]
Кожевников Вячеслав Владимирович
кандидат технических наук, ассистент, кафедра металлообрабатывающих станков и комплексов, Пензенский государственный университет
E-mail: [email protected]
Kochkin Sergey Vyacheslavovich Candidate of engineering sciences, head of sub-department of innovation analytics, Penza State University
Kozhevnikov Vyacheslav Vladimirovich Candidate of engineering sciences, assistant, sub-department of metalworking machine tools and complexes, Penza State University
УДК 631.7, 53.082.14 Брякин, А. Л.
Двухкоординатный датчик положения / А. Л. Брякин, В. В. Кожевников, С. В. Кочкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 4 (20). - С. 225-236.