УСТРОЙСТВО ДЛЯ КАЛИБРОВКИ ШЛЕМА
HELMET CALIBRATION DEVICE

Область техники
Настоящее изобретение относится к устройству для калибровки шлема, в частности шлема, используемого пилотом самолета.
Уровень техники
В современных боевых системах самолета пилот использует шлем для управления другими системами в самолете, например, системами вооружений, просто глядя в определенном направлении. Обычно это достигается помещением по меньшей мере одной камеры в кабине пилота и по меньшей мере одной реперной метки на шлеме.
Следует, однако, иметь в виду, что точность устройства в значительной степени зависит от надлежащей калибровки устройства, поскольку каждый шлем слегка отличается по форме, и если реперная метка расположена на шлеме даже с небольшим отклонением, это сильно повлияет на точность определения положения шлема и, как следствие, на точность систем, управляемых шлемом.
В настоящей заявке предлагается усовершенствованное устройство для калибровки шлема.
Раскрытие изобретения
Предлагется устройство для калибровки шлема с группой расположенных на нем оптических реперных меток, содержащее:
память;
камеру;
механический привод для перемещения шлема или камеры друг относительно друга в процессе калибровки;
процессор, соединенный с камерой и механическим приводом, запрограммированный для:
управления механическим приводом для перемещения шлема или камеры друг относительно друга через группу (последовательность) дискретных точек на шаблоне калибровочных мишеней;
в каждой из дискретных точек, управления камерой для получения цифрового изображения;
для каждого из изображений, определения положения в изображении по меньшей мере одной из оптических реперных меток; и
использования положения в изображении по меньшей мере одной оптической реперной метки, вместе с положением механического привода, для калибровки шлема.
В соответствии с другим частным вариантом выполнения, при использовании устройства для калибровки шлема с несколькими расположенными на нем оптическими реперными метками, обеспечивается:
управление механическим приводом для перемещения шлема или камеры друг относительно друга через последовательность дискретных точек на шаблоне калибровочных мишеней;
в каждой из дискретных точек, управление камерой для получения цифрового изображения;
для каждого из изображений, определение положения в изображении по меньшей мере одной из нескольких оптических реперных меток; и
использование положения в изображении по меньшей мере одной оптической реперной метки, вместе с положением механического привода, для калибровки шлема.
Краткое описание чертежей
Ниже изобретение более подробно рассмотрено со ссылкой на прилагаемые чертежи, на которых:
на фиг. 1 представлен частный вариант устройства для калибровки шлема; и
на фиг. 2 схематически показана камера для использования в устройстве в соответствии с настоящей заявкой.
Подробное описание осуществления изобретения
Описанные здесь система и методика относятся к устройству для калибровки шлема.
На шлеме 10, калибровка которого выполняется в соответствии с настоящей заявкой, имеется несколько реперных меток 12. Калибровочное устройство может оперировать с любым числом светоизлучающих диодов (СИД). Для различных устройств отслеживания положения/ориентации шлема, использующих калибровки настоящего устройства, может потребоваться свое количество СИД.
В частном варианте выполнения несколькими реперными метками 12 являются светоизлучающие диоды (СИД).
Шлем 10 присоединен к механическому приводу 14 для выполнения калибровки.
В показанном на чертежах варианте выполнения, механическим приводом 14 является манипулятор 14 робота, имеющий шесть степеней свободы.
Шлем 10 соединен с манипулятором 14 робота.
На практике, каждый шлем имеет свои, отличающиеся точки крепления, поэтому для прикрепления шлема к манипулятору требуется переходной держатель.
Для получения изображений шлема 10 и реперных меток 12 в нескольких положениях используется камера 16, как это будет более подробно описано ниже.
Для процесса калибровки камера 16 неподвижно установлена относительно шлема 10 так, что шлем 10 перемещается относительно камеры.
Возможно перемещение камеры при неподвижном шлеме.
Камера 16 сама должна быть надлежащим образом откалибрована, что должно гарантировать отсутствие искажений в получаемом изображении, которые привели бы к неправильной калибровке мишени. Пример методики калибровки камеры описан в опубликованной заявке заявителя PCT/IB2012/056820, содержание которой введено в настоящее описание посредством ссылки.
С камерой 10 и роботизированным манипулятором 14 соединен процессор 18, который, в настоящем варианте выполнения, является частью компьютера 20.
Процессор 18 запрограммирован для управления механическим приводом 14, обеспечивающим перемещение шлема 10 относительно камеры 16 через несколько дискретных точек на шаблоне калибровочных мишеней.
В идеальном для каждого СИД случае, углы поля зрения камеры должны образовывать конус с углом от оси, составляющим 45 градусов, и вершиной, направленной на СИД. Это будет означать, что векторы камеры ортогональны, чем обеспечивается наибольшая устойчивость к шумам.
В каждой из дискретных точек, процессор 18 дает команду камере 16 на формирование цифрового изображения.
Каждое цифровое изображение хранится в памяти 22, связанной с процессором 18, для дальнейшей обработки этого цифрового изображения.
Одновременно с этим, или с некоторой задержкой, процессор 18 извлекает каждое из цифровых изображений и определяет положение каждой из нескольких реперных меток в изображении.
Затем процессор 18 выполняет калибровку шлема 10, используя положение по меньшей мере одной реперной метки в изображении.
Следует иметь в виду, что эта калибровка требует знания собственных параметров измерительной камеры 16 (соотношение искаженного/неискаженного (DU - от англ. Distorted-to-Undistorted) и фокусное расстояние), а также абсолютную ориентацию камеры относительно манипулятора 14 робота. Последние данные, в свою очередь, требуют знания ориентации держателя (шлема) и смещенной ориентации камеры. Эти данные обычно непосредственно выдаются на выход фотограмметрического устройства калибровки камеры.
Манипулятор 14 робота используется для имитации группы калиброванных камер с известными ориентациями, наблюдающих каждую оптическую опорную точку. Каждая камера в группе использует собственные параметры для определения вектора, направленного от камеры к оптической опорной точке. Ближайшая точка пересечения этих векторов используется в качестве измеренного положения оптической опорной точки. Было бы нецелесообразно использовать большую группу направленных внутрь калиброванных камер, жестко установленных в известных положениях так, чтобы они могли, выполняя триангуляционную съемку, определять положения точек на всех сторонах трехмерного объекта, помещенного в центре группы. Вместо этого используется манипулятор робота, представляющий шлем, расположенный с разными ориентациями, одной калиброванной камере, ориентация которой относительно робота известна.
В каждой представленной ориентации, камера фиксирует центроид оптических опорных точек (реперных меток 12) и использует собственные параметры для определения вектора, направленного к оптической опорной точке. Этот вектор и ориентация камеры далее вычисляются относительно оконечности манипулятора робота, с использованием собственных параметров камеры и известной ориентации робота. В результате получают пучок векторов и соответствующих им известных точек, определенных в общей системе координат оконечности манипулятора робота.
Для вычисления ближайшей точки пересечения всех векторов пучка, вычисляется и усредняется ближайшая точка каждого пересечения каждой возможной пары векторов.
После определения этого усредненного попарно триангулированного положения, оно используется в качестве отправной точки дальнейшего числового приближения. Этот процесс повторяется для каждой реперной метки 12 на шлеме.
Вышеописанная процедура выполняется процессором 18, использующим несколько модулей.
В контексте настоящего описания предполагается, что "модуль" включает распознаваемую часть кода, вычислительные или исполняемые команды, данные, или вычислительную задачу для выполнения определенной функции, операции, обработки или процедуры. Из этого следует, что модуль не обязательно должен быть реализован в форме программы; модуль может быть реализован как программа, аппаратные средства, или комбинация программных и аппаратных средств. Кроме того, модуль не обязательно должен быть объединен в одном устройстве, но может быть распределен по нескольким устройствам.
Согласно приложенным чертежам и более подробному описанию методики, вектор, направленный от камеры к объекту в поле зрения (FOV - от англ. field of view) камеры, может быть определен, если известны собственные параметры камеры (фокусное расстояние, размер пикселей, главная точка и перекос осей изображения (предполагается равным нулю в современных устройствах формирования изображения)).
Предполагаем, что дисторсия объектива либо ничтожно мала, либо уже была учтена. Координаты изображения преобразуют в величины двумерного (2D) пространства относительно главной точки, используя размеры пикселя. При изменении масштаба (см. фиг.) важно учитывать разницу в условных обозначениях положительного направления для изображения и системы координат (СК) камеры. В общем случае невозможно определить расстояние до объекта по его положению в поле зрения одиночной камеры, поэтому вектор приводится к единичному вектору (ЕВ). Третьим измерением является фокусное расстояние камеры. Уравнение (1) иллюстрирует выполнение этой операции:
где
= вектор, заканчивающийся в инвертированной плоскости изображения, направленный от камеры к объекту,
= ЕВ, направленный от центра камеры к объекту,
= положение пикселя неискаженного 2D изображения объекта,
= положение пикселя пересечения оптической оси,
pix_w = ширина пикселя на изображении камеры,
pix_h = высота пикселя на изображении камеры,
FLen = фокусное расстояние объектива эквивалентной модели камеры с точечной диафрагмой.
Следует заметить, что фокусное расстояние и размеры пикселя должны быть определены в одних единицах измерения.
Теперь выполним определение ближайшей точки пересечения двух трехмерных (3D) линий. Точное пересечение двух 3D линий в свободном пространстве маловероятно. Вместо этого они образуют ближайшую точку пересечения. В трехмерном пространстве линия обычно определена единичным вектором (ЕВ), показывающим ее направление, и 3D точкой, через которую проходит линия. В точках на двух линиях, где они наиболее близки, отрезок линии между двумя линиями будет перпендикулярен обеим линиям. Поскольку скалярное произведение перпендикулярных линий равно нулю, могут быть составлены два уравнения (равные нулю скалярные произведения отрезка линии и каждой линии) с двумя неизвестными (расстояние до сегмента линии в ЕВ каждой линии от известной точки каждой линии) и затем совместно решены. Затем среднее положение двух точек на ближайшей к каждой из них линии может быть принято за ближайшую точку пересечения. Формально это выражается уравнением (2):
где
= положение ближайшей точки пересечения,
, and
= точка на линии 1,
= единичный вектор направления линии 1,
= точка на линии 2,
= единичный вектор направления линии 2.
Используя модель дисторсии Брауна, можно показать, что при соответствующих параметрах модели дисторсии Брауна, воздействие дисторсии линзы как в направлении от искаженного дисторсией изображения к неискаженному (DU), так и в направлении от неискаженного дисторсией изображения к искаженному (UD - от англ. Undistorted-to-Distorted), может быть успешно промоделировано. Для каждого направления потребуется отдельный набор параметров.
Определение параметров DU и UD может быть выполнено с использованием любого подходящего набора программ для фотограмметрической калибровки.
Базовая модель Брауна выражает координаты пикселя на входе относительно главной точки. Затем, для получения положения пикселя на выходе, к расстоянию точки на входе от главной точки добавляются радиальное и тангенциальное смещение.
Радиальное и тангенциальное смещения имеют форму многочленов, зависящих от расстояния точки на входе от главной точки. Параметры дисторсии формируются координатами главной точки и коэффициентами радиального и тангенциального многочленов. Формально это выражается уравнением (3):
где
= Модель дисторсии Брауна [4, 5],
= точка изображения на выходе,
= точка изображения на входе,
= центр дисторсии,
n
th
R = N коэффициент радиальной дисторсии,
n
th
T = N коэффициент тангенциальной дисторсии,
R
N = число радиальных параметров,
T
N = число тангенциальных параметров, и
Следует отметить, что невозможно использовать один тангенциальный параметр, требуется ноль, либо два или более тангенциальных параметров. Создает или нет уравнение (3) дисторсию точки изображения, зависит от того, какие параметры введены в него.
Далее по всему настоящему описанию введение в уравнение (3) параметров, называемых DU-параметрами, означает, что точка будет преобразована из искаженной дисторсией области в неискаженную дисторсией область.
Аналогично, параметрический вектор UD-параметры будет использован для преобразования неискаженных дисторсией координат пикселей в соответствующие им координаты в искаженной дисторсией области.
Далее приводится описание определения пространственных положений светоизлучающих диодов (СИД) на шлеме.
Для этой калибровки требуются собственные параметры измерительной камеры (свойства DU и фокусное расстояние), а также абсолютная ориентация камеры относительно (по отношению к) робота. Для этого, в свою очередь, необходимо знание ориентации держателя и смещенной ориентации камеры.
Роботизированный манипулятор используется для имитации группы калиброванных камер с известными ориентациями, наблюдающих каждый СИД. Ближайшая точка пересечения этих векторов используется в качестве измеренного положения СИД. Нецелесообразно использовать большую группу направленных внутрь калиброванных камер, жестко установленных в известных положениях так, чтобы они могли, выполняя триангуляционную съемку, определять положения точек на всех сторонах трехмерного объекта, помещенного в центре группы.
Для имитации этой процедуры используется манипулятор робота, представляющий шлем, расположенный с разной ориентацией, одной калиброванной камере, ориентация которой относительно робота известна. Для каждой ориентации, в которой представлен шлем, вычисляется ориентация калиброванной камеры относительно шлема, чем фактически добавляется другая камера к виртуальной группе камер, каждая из которых смотрит внутрь на шлем.
В каждой представленной ориентации, камера фиксирует изображение СИДа(-ов) и определяет координаты каждого СИДа(-ов) в изображении. Конкретный метод определения координат изображения СИД может быть изменен, в частном варианте выполнения используются методы, описанные в ранее опубликованной патентной заявке № PCT/IB2012/056820.
Затем, на основе параметров калибровки камеры вычисляется соответствующий вектор, ассоциированный с координатой изображения. Далее, этот вектор и ориентация камеры преобразуются к системе координат (СК) манипулятора робота с использованием известной ориентации камеры относительно СК основания робота и ориентации манипулятора робота относительно СК основания робота.
В результате получают пучок векторов и связанных с ними известных точек, определенных в общей СК манипулятора робота.
Для вычисления ближайшей точки пересечения всех векторов пучка, определяется первоначальная оценка ближайшей точки каждого пересечения для всего пучка и выполняется ее числовое приближение. Первоначальная оценка вычисляется усреднением ближайшей точки пересечения для каждой возможной пары векторов. Эта первоначальная оценка математически выражается уравнением (4):
где
= первоначальное положение СИД относительно манипулятора робота,
N = число видов СИД,
= положение СИД относительно манипулятора, полученное триангуляцией из положений i и j,
= преобразование положения камеры относительно концевого захвата в положении n,
= ЕВ от камеры к СИД с манипулятором в положении n,
= согласно уравнению (2),
= согласно уравнению (1),
= модель дисторсии Брауна [4, 5],
= параметры исправления дисторсии, согласно, например [3],
= собственные параметры камеры, согласно, например [3],
= положение пикселя СИД для ориентации i робота,
= ориентация камеры относительно робота по оси робота, и
= ориентация манипулятора в положении n относительно робота по оси робота.
После определения первоначальной оценки посредством уравнения (4), она используется в качестве отправной точки для дальнейшего числового приближения.
Это приближение стремится найти точку с минимальным среднеквадратическим значением суммы перпендикулярных расстояний от каждого вектора в пучке. В частном варианте выполнения используется алгоритм "leapfrog" (прыжок лягушки). Уравнение (5) математически выражает функцию стоимости среднеквадратичного значения суммы перпендикулярных расстояний.
где
HLED
C = функция стоимости для определения преобразования положения СИД шлема.
= предполагаемое положение СИД относительно манипулятора,
N = число видов СИД,
= положение камеры относительно манипулятора, находящегося в положении i,
= ЕВ от камеры к СИД при i ориентации робота,
= в соответствии с уравнением (1),
= модель дисторсии Брауна [4, 5],
= параметры исправления дисторсии, согласно, например, [3],
= собственные параметры камеры, согласно, например, [3],
= положение пикселя СИД для ориентации i
= известная ориентация камеры относительно робота, и
= переданная ориентация концевого захвата относительно оси робота.
Описанный выше процесс повторяют для каждого СИД на шлеме.
Фиксация данных по всем требуемым центроидам на шлеме обычно выполняется последовательным просмотром в ходе одного перемещения.
Далее будет показано, как положения светоизлучающих диодов могут быть выражены в разных СК. Это может потребоваться в том случае, если не удастся установить шлем на манипуляторе робота так, чтобы предполагаемые системы координат шлема и концевого захвата робота совпадали или даже устанавливались по одной оси. Кроме того, установка шлема на манипуляторе робота может не обладать повторяемостью (хотя она должна быть жесткой для того, чтобы калибровка была эффективной).
Для этой калибровки требуется набор опорных положений СИД, которым максимально должны соответствовать положения СИД измеренного набора. Обычно это является результатом теоретической проработки опорных положений, реализация которой была бы достигнута путем использования совершенного технологического оборудования.
Такая калибровка определяет смещение ориентации, которое, будучи примененным к каждой из измеренных положений СИД, обеспечивает их максимальное соответствие опорным положениям СИД.
Точность этого соответствия численно выражается среднеквадратичным (СКВ) значением расстояний между измеренными положениями СИД (после учета смещения ориентации) и опорными положениями СИД.
Ориентация, обеспечивающая минимальное СКВ отклонение расстояний, определяется числовой оптимизацией. В приведенном частном варианте выполнения снова используется "leapfrog" алгоритм, где первоначальное положение задается переходным держателем, используемым для прикрепления шлема к концевому захвату робота.
Функция стоимости, определяющая СКВ отклонение расстояний, выражается уравнением (6):
где
M→T
C = функция стоимости корректирующего преобразования измеренного положения СИД к теоретической,
= предполагаемая ориентация, обеспечивающая совмещение измеренных и теоретических массивов точек СИД,
= теоретическое положение СИД i,
= уточненное измеренное положение СИД i,
, и
= измеренное положение СИД i шлема относительно манипулятора робота
Описанная выше процедура практически реализуется с использованием приведенных ниже шагов.
Фаза сбора данных:
Для каждой записи в перечне ориентаций робота:
1). Установить робот в заданную ориентацию.
2). Зафиксировать и занести в память точную ориентацию, принятую манипулятором робота.
3). Зафиксировать и занести в память изображение оптических опорных точек для этой ориентации.
Фаза калибровки шлема:
1). Извлечь из памяти собственные параметры камеры, включая фокусное расстояние, размеры пикселей, положение главной точки и параметры коррекции перекоса и дисторсии объектива.
2). Извлечь из памяти ориентацию камеры относительно манипулятора робота.
3). Для каждой оптической опорной точки на шлеме:
3.1). Для каждого зафиксированного изображения этой оптической опорной точки:
3.1.1). Извлечь это изображение из памяти.
3.1.2). Определить координаты пикселя оптической опорной точки в изображении.
3.1.3). Преобразовать координаты изображения в 3D вектор в системе координат камеры, используя извлеченные собственные параметры камеры.
3.1.4). Извлечь из памяти полученную ориентацию манипулятора робота для этого изображения.
3.1.5). Вычислить ориентацию камеры относительно конца манипулятора робота, используя извлеченные ориентацию манипулятора робота и извлеченную ориентацию камеры.
3.1.6). Вычислить проекцию 3D вектора в системе координат оконечности манипулятора робота.
3.1.7). Определить примерную ближайшую точку пересечения всех 3D векторов для этой оптической опорной точки.
3.1.8). Выполнить числовое уточнение этой ближайшей точки пересечения.
3.1.9). Запомнить эту точку в качестве измеренного положения оптической опорной точки.
3.2). Сохранить в памяти этот набор оптических опорных точек.
Фаза юстировки шлема:
1). Извлечь из памяти набор образцовых оптических опорных положений.
2). Извлечь из памяти набор измеренных оптических опорных положений.
3). Определить сумму смещений между соответствующими оптическими опорными точками.
4). Найти ориентацию, при приложении которой к измеренным оптическим опорным положениям достигается минимальное значение суммы смещений.
5). Применить найденную ориентацию к измеренным оптическим опорным положениям для порождения набора скорректированных оптических опорных положений.
6). Сохранить в памяти скорректированные оптические опорные положения.
Устройство также может быть использовано для верификации точности устройства отслеживания положения/ориентации шлема, т.е., калибровки камер, самолета и шлема. Это осуществляется посредством установки манипулятора робота в боевой самолет, и представления откалиброванного шлема в известных положениях группе калиброванных камер. Затем вычисляются различия между результатами оптических измерений и известными ориентациями. При желании, эта информация может быть использована для дальнейшего уточнения калибровки камер, шлема или самолета, для повышения установленной рабочей точности конкретного устанавливаемого устройства отслеживания положения/ориентации шлема.
Таким образом, следует понимать, что калибровка устройства отслеживания положения/ориентации шлема удовлетворяет потребность изготовителей и конечных потребителей в технологии отслеживания положения шлема, обеспечивая получение оптимальных рабочих характеристик их устройств. Такая калибровка может использоваться в качестве первичной калибровки, калибровки после каких-либо происшествий, например, жесткой посадки, и периодических повторных калибровок по планам материально-технического обеспечения.