RU2705644C1 - Helmet calibration device - Google Patents
Helmet calibration device Download PDFInfo
- Publication number
- RU2705644C1 RU2705644C1 RU2017115463A RU2017115463A RU2705644C1 RU 2705644 C1 RU2705644 C1 RU 2705644C1 RU 2017115463 A RU2017115463 A RU 2017115463A RU 2017115463 A RU2017115463 A RU 2017115463A RU 2705644 C1 RU2705644 C1 RU 2705644C1
- Authority
- RU
- Russia
- Prior art keywords
- camera
- helmet
- optical reference
- image
- orientation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
Область техникиTechnical field
Настоящее изобретение относится к устройству для калибровки шлема, в частности шлема, используемого пилотом самолета.The present invention relates to a device for calibrating a helmet, in particular a helmet used by an airplane pilot.
Уровень техникиState of the art
В современных боевых системах самолета пилот использует шлем для управления другими системами в самолете, например, системами вооружений, просто глядя в определенном направлении. Обычно это достигается помещением по меньшей мере одной камеры в кабине пилота и по меньшей мере одной реперной метки на шлеме.In modern aircraft combat systems, the pilot uses a helmet to control other systems in the aircraft, such as weapons systems, just looking in a certain direction. This is usually achieved by placing at least one camera in the cockpit and at least one reference mark on the helmet.
Следует, однако, иметь в виду, что точность устройства в значительной степени зависит от надлежащей калибровки устройства, поскольку каждый шлем слегка отличается по форме, и если реперная метка расположена на шлеме даже с небольшим отклонением, это сильно повлияет на точность определения положения шлема и, как следствие, на точность систем, управляемых шлемом.However, it should be borne in mind that the accuracy of the device largely depends on the proper calibration of the device, since each helmet is slightly different in shape, and if the reference mark is located on the helmet even with a slight deviation, this will greatly affect the accuracy of determining the position of the helmet and, as a result, on the accuracy of helmet-controlled systems.
В настоящей заявке предлагается усовершенствованное устройство для калибровки шлема.This application provides an improved helmet calibration device.
Раскрытие изобретенияDisclosure of invention
Предлагется устройство для калибровки шлема с группой расположенных на нем оптических реперных меток, содержащее:A device for calibrating a helmet with a group of optical reference marks located on it is proposed, comprising:
память;memory;
камеру;a camera;
механический привод для перемещения шлема или камеры друг относительно друга в процессе калибровки;mechanical drive to move the helmet or camera relative to each other during the calibration process;
процессор, соединенный с камерой и механическим приводом, запрограммированный для:a processor connected to a camera and a mechanical drive programmed for:
управления механическим приводом для перемещения шлема или камеры друг относительно друга через группу (последовательность) дискретных точек на шаблоне калибровочных мишеней;controlling a mechanical drive to move the helmet or camera relative to each other through a group (sequence) of discrete points on a template of calibration targets;
в каждой из дискретных точек, управления камерой для получения цифрового изображения;at each of the discrete points, control the camera to obtain a digital image;
для каждого из изображений, определения положения в изображении по меньшей мере одной из оптических реперных меток; иfor each of the images, determining the position in the image of at least one of the optical reference marks; and
использования положения в изображении по меньшей мере одной оптической реперной метки, вместе с положением механического привода, для калибровки шлема.using the position in the image of at least one optical reference mark, together with the position of the mechanical drive, for calibrating the helmet.
В соответствии с другим частным вариантом выполнения, при использовании устройства для калибровки шлема с несколькими расположенными на нем оптическими реперными метками, обеспечивается:In accordance with another particular embodiment, when using a device for calibrating a helmet with several optical reference marks located on it, it is provided:
управление механическим приводом для перемещения шлема или камеры друг относительно друга через последовательность дискретных точек на шаблоне калибровочных мишеней;controlling a mechanical drive to move the helmet or camera relative to each other through a sequence of discrete points on the template of calibration targets;
в каждой из дискретных точек, управление камерой для получения цифрового изображения;at each of the discrete points, camera control for digital image acquisition;
для каждого из изображений, определение положения в изображении по меньшей мере одной из нескольких оптических реперных меток; иfor each of the images, determining the position in the image of at least one of several optical reference marks; and
использование положения в изображении по меньшей мере одной оптической реперной метки, вместе с положением механического привода, для калибровки шлема.using the position in the image of at least one optical reference mark, together with the position of the mechanical drive, for calibrating the helmet.
Краткое описание чертежейBrief Description of the Drawings
Ниже изобретение более подробно рассмотрено со ссылкой на прилагаемые чертежи, на которых:Below the invention is described in more detail with reference to the accompanying drawings, in which:
на фиг. 1 представлен частный вариант устройства для калибровки шлема; иin FIG. 1 shows a particular embodiment of a device for calibrating a helmet; and
на фиг. 2 схематически показана камера для использования в устройстве в соответствии с настоящей заявкой.in FIG. 2 schematically shows a camera for use in a device in accordance with the present application.
Подробное описание осуществления изобретенияDetailed Description of the Invention
Описанные здесь система и методика относятся к устройству для калибровки шлема.The system and methodology described herein relates to a helmet calibration device.
На шлеме 10, калибровка которого выполняется в соответствии с настоящей заявкой, имеется несколько реперных меток 12. Калибровочное устройство может оперировать с любым числом светоизлучающих диодов (СИД). Для различных устройств отслеживания положения/ориентации шлема, использующих калибровки настоящего устройства, может потребоваться свое количество СИД.On the
В частном варианте выполнения несколькими реперными метками 12 являются светоизлучающие диоды (СИД).In a particular embodiment,
Шлем 10 присоединен к механическому приводу 14 для выполнения калибровки.A
В показанном на чертежах варианте выполнения, механическим приводом 14 является манипулятор 14 робота, имеющий шесть степеней свободы.In the embodiment shown in the drawings, the
Шлем 10 соединен с манипулятором 14 робота.The
На практике, каждый шлем имеет свои, отличающиеся точки крепления, поэтому для прикрепления шлема к манипулятору требуется переходной держатель.In practice, each helmet has its own, different attachment points, so a transitional holder is required to attach the helmet to the manipulator.
Для получения изображений шлема 10 и реперных меток 12 в нескольких положениях используется камера 16, как это будет более подробно описано ниже.To obtain images of the
Для процесса калибровки камера 16 неподвижно установлена относительно шлема 10 так, что шлем 10 перемещается относительно камеры.For the calibration process, the
Возможно перемещение камеры при неподвижном шлеме.It is possible to move the camera with a stationary helmet.
Камера 16 сама должна быть надлежащим образом откалибрована, что должно гарантировать отсутствие искажений в получаемом изображении, которые привели бы к неправильной калибровке мишени. Пример методики калибровки камеры описан в опубликованной заявке заявителя PCT/IB2012/056820, содержание которой введено в настоящее описание посредством ссылки.The
С камерой 10 и роботизированным манипулятором 14 соединен процессор 18, который, в настоящем варианте выполнения, является частью компьютера 20.A
Процессор 18 запрограммирован для управления механическим приводом 14, обеспечивающим перемещение шлема 10 относительно камеры 16 через несколько дискретных точек на шаблоне калибровочных мишеней.The
В идеальном для каждого СИД случае, углы поля зрения камеры должны образовывать конус с углом от оси, составляющим 45 градусов, и вершиной, направленной на СИД. Это будет означать, что векторы камеры ортогональны, чем обеспечивается наибольшая устойчивость к шумам.In the ideal case for each LED, the angles of the camera's field of view should form a cone with an angle from the axis of 45 degrees and a vertex pointing towards the LED. This will mean that the camera vectors are orthogonal, which ensures the greatest noise immunity.
В каждой из дискретных точек, процессор 18 дает команду камере 16 на формирование цифрового изображения.At each of the discrete points, the
Каждое цифровое изображение хранится в памяти 22, связанной с процессором 18, для дальнейшей обработки этого цифрового изображения.Each digital image is stored in memory 22 associated with the
Одновременно с этим, или с некоторой задержкой, процессор 18 извлекает каждое из цифровых изображений и определяет положение каждой из нескольких реперных меток в изображении.At the same time, or with some delay, the
Затем процессор 18 выполняет калибровку шлема 10, используя положение по меньшей мере одной реперной метки в изображении.The
Следует иметь в виду, что эта калибровка требует знания собственных параметров измерительной камеры 16 (соотношение искаженного/неискаженного (DU - от англ. Distorted-to-Undistorted) и фокусное расстояние), а также абсолютную ориентацию камеры относительно манипулятора 14 робота. Последние данные, в свою очередь, требуют знания ориентации держателя (шлема) и смещенной ориентации камеры. Эти данные обычно непосредственно выдаются на выход фотограмметрического устройства калибровки камеры.It should be borne in mind that this calibration requires knowledge of the intrinsic parameters of the measuring chamber 16 (distorted / undistorted ratio (DU - from the English Distorted-to-Undistorted) and focal length), as well as the absolute orientation of the camera relative to the
Манипулятор 14 робота используется для имитации группы калиброванных камер с известными ориентациями, наблюдающих каждую оптическую опорную точку. Каждая камера в группе использует собственные параметры для определения вектора, направленного от камеры к оптической опорной точке. Ближайшая точка пересечения этих векторов используется в качестве измеренного положения оптической опорной точки. Было бы нецелесообразно использовать большую группу направленных внутрь калиброванных камер, жестко установленных в известных положениях так, чтобы они могли, выполняя триангуляционную съемку, определять положения точек на всех сторонах трехмерного объекта, помещенного в центре группы. Вместо этого используется манипулятор робота, представляющий шлем, расположенный с разными ориентациями, одной калиброванной камере, ориентация которой относительно робота известна.The
В каждой представленной ориентации, камера фиксирует центроид оптических опорных точек (реперных меток 12) и использует собственные параметры для определения вектора, направленного к оптической опорной точке. Этот вектор и ориентация камеры далее вычисляются относительно оконечности манипулятора робота, с использованием собственных параметров камеры и известной ориентации робота. В результате получают пучок векторов и соответствующих им известных точек, определенных в общей системе координат оконечности манипулятора робота.In each orientation presented, the camera captures the centroid of the optical reference points (reference marks 12) and uses its own parameters to determine the vector directed to the optical reference point. This vector and camera orientation are further calculated relative to the tip of the robot arm using the camera’s own parameters and the known robot orientation. The result is a bunch of vectors and their corresponding known points defined in the general coordinate system of the tip of the robot arm.
Для вычисления ближайшей точки пересечения всех векторов пучка, вычисляется и усредняется ближайшая точка каждого пересечения каждой возможной пары векторов.To calculate the closest intersection point of all vectors of the beam, the closest intersection point of each intersection of each possible pair of vectors is calculated and averaged.
После определения этого усредненного попарно триангулированного положения, оно используется в качестве отправной точки дальнейшего числового приближения. Этот процесс повторяется для каждой реперной метки 12 на шлеме.After determining this averaged pairwise triangulated position, it is used as a starting point for further numerical approximation. This process is repeated for each
Вышеописанная процедура выполняется процессором 18, использующим несколько модулей.The above procedure is performed by a
В контексте настоящего описания предполагается, что "модуль" включает распознаваемую часть кода, вычислительные или исполняемые команды, данные, или вычислительную задачу для выполнения определенной функции, операции, обработки или процедуры. Из этого следует, что модуль не обязательно должен быть реализован в форме программы; модуль может быть реализован как программа, аппаратные средства, или комбинация программных и аппаратных средств. Кроме того, модуль не обязательно должен быть объединен в одном устройстве, но может быть распределен по нескольким устройствам.In the context of the present description, it is assumed that the "module" includes a recognizable part of the code, computational or executable instructions, data, or computational task to perform a specific function, operation, processing or procedure. It follows that the module does not have to be implemented in the form of a program; a module may be implemented as a program, hardware, or a combination of software and hardware. In addition, the module does not have to be combined in one device, but can be distributed across several devices.
Согласно приложенным чертежам и более подробному описанию методики, вектор, направленный от камеры к объекту в поле зрения (FOV - от англ. field of view) камеры, может быть определен, если известны собственные параметры камеры (фокусное расстояние, размер пикселей, главная точка и перекос осей изображения (предполагается равным нулю в современных устройствах формирования изображения)).According to the attached drawings and a more detailed description of the technique, a vector directed from the camera to the object in the field of view (FOV - from the English field of view) of the camera can be determined if the camera’s own parameters (focal length, pixel size, main point and skewed image axes (assumed to be zero in modern imaging devices)).
Предполагаем, что дисторсия объектива либо ничтожно мала, либо уже была учтена. Координаты изображения преобразуют в величины двумерного (2D) пространства относительно главной точки, используя размеры пикселя. При изменении масштаба (см. фиг.) важно учитывать разницу в условных обозначениях положительного направления для изображения и системы координат (СК) камеры. В общем случае невозможно определить расстояние до объекта по его положению в поле зрения одиночной камеры, поэтому вектор приводится к единичному вектору (ЕВ). Третьим измерением является фокусное расстояние камеры. Уравнение (1) иллюстрирует выполнение этой операции:We assume that the distortion of the lens is either negligible or has already been taken into account. Image coordinates are converted to two-dimensional (2D) space relative to the main point using pixel sizes. When changing the scale (see Fig.), It is important to take into account the difference in the symbols of the positive direction for the image and the coordinate system (SC) of the camera. In the general case, it is impossible to determine the distance to an object from its position in the field of view of a single camera, therefore the vector is reduced to a unit vector (EB). The third dimension is the focal length of the camera. Equation (1) illustrates the implementation of this operation:
гдеWhere
= вектор, заканчивающийся в инвертированной плоскости изображения, направленный от камеры к объекту, = vector ending in the inverted plane of the image, directed from the camera to the object,
= ЕВ, направленный от центра камеры к объекту, = EB, directed from the center of the camera to the subject,
= положение пикселя неискаженного 2D изображения объекта, = pixel position of an undistorted 2D image of an object,
= положение пикселя пересечения оптической оси, = position of the pixel of the intersection of the optical axis,
pix_w = ширина пикселя на изображении камеры,pix_w = pixel width in the camera image,
pix_h = высота пикселя на изображении камеры,pix_h = pixel height in the camera image,
FLen = фокусное расстояние объектива эквивалентной модели камеры с точечной диафрагмой.FLen = focal length of the lens of an equivalent pinhole iris model.
Следует заметить, что фокусное расстояние и размеры пикселя должны быть определены в одних единицах измерения.It should be noted that the focal length and pixel size must be determined in the same units.
Теперь выполним определение ближайшей точки пересечения двух трехмерных (3D) линий. Точное пересечение двух 3D линий в свободном пространстве маловероятно. Вместо этого они образуют ближайшую точку пересечения. В трехмерном пространстве линия обычно определена единичным вектором (ЕВ), показывающим ее направление, и 3D точкой, через которую проходит линия. В точках на двух линиях, где они наиболее близки, отрезок линии между двумя линиями будет перпендикулярен обеим линиям. Поскольку скалярное произведение перпендикулярных линий равно нулю, могут быть составлены два уравнения (равные нулю скалярные произведения отрезка линии и каждой линии) с двумя неизвестными (расстояние до сегмента линии в ЕВ каждой линии от известной точки каждой линии) и затем совместно решены. Затем среднее положение двух точек на ближайшей к каждой из них линии может быть принято за ближайшую точку пересечения. Формально это выражается уравнением (2):Now we will determine the nearest intersection point of two three-dimensional (3D) lines. The exact intersection of two 3D lines in free space is unlikely. Instead, they form the closest intersection point. In three-dimensional space, a line is usually defined by a unit vector (EB) showing its direction, and a 3D point through which the line passes. At the points on the two lines where they are closest, the line segment between the two lines will be perpendicular to both lines. Since the scalar product of perpendicular lines is equal to zero, two equations (equal to zero scalar products of a line segment and each line) with two unknowns (the distance to the line segment in EB of each line from the known point of each line) can be composed and then solved together. Then, the average position of two points on the line closest to each of them can be taken as the nearest intersection point. Formally, this is expressed by equation (2):
гдеWhere
= положение ближайшей точки пересечения, = position of the nearest intersection point,
, and , and
= точка на линии 1, = point on
= единичный вектор направления линии 1, = unit direction vector of
= точка на линии 2, = point on line 2,
= единичный вектор направления линии 2. = unit direction vector of line 2.
Используя модель дисторсии Брауна, можно показать, что при соответствующих параметрах модели дисторсии Брауна, воздействие дисторсии линзы как в направлении от искаженного дисторсией изображения к неискаженному (DU), так и в направлении от неискаженного дисторсией изображения к искаженному (UD - от англ. Undistorted-to-Distorted), может быть успешно промоделировано. Для каждого направления потребуется отдельный набор параметров.Using the Brown distortion model, it can be shown that with the corresponding parameters of the Brown distortion model, the effect of lens distortion is both in the direction from the distorted image to the undistorted image (DU), and in the direction from the distortion-free image to the distorted image (UD - from English Undistorted- to-Distorted), can be successfully modeled. Each direction will require a separate set of parameters.
Определение параметров DU и UD может быть выполнено с использованием любого подходящего набора программ для фотограмметрической калибровки.The determination of the parameters DU and UD can be performed using any suitable set of programs for photogrammetric calibration.
Базовая модель Брауна выражает координаты пикселя на входе относительно главной точки. Затем, для получения положения пикселя на выходе, к расстоянию точки на входе от главной точки добавляются радиальное и тангенциальное смещение.The basic Brown model expresses the coordinates of the input pixel relative to the main point. Then, to obtain the position of the pixel at the output, a radial and tangential offset is added to the distance of the point at the input from the main point.
Радиальное и тангенциальное смещения имеют форму многочленов, зависящих от расстояния точки на входе от главной точки. Параметры дисторсии формируются координатами главной точки и коэффициентами радиального и тангенциального многочленов. Формально это выражается уравнением (3):The radial and tangential displacements are in the form of polynomials, depending on the distance of the point at the entrance from the main point. The distortion parameters are formed by the coordinates of the main point and the coefficients of the radial and tangential polynomials. Formally, this is expressed by equation (3):
гдеWhere
= Модель дисторсии Брауна [4, 5], = Brown distortion model [4, 5],
= точка изображения на выходе, = point of output image,
= точка изображения на входе, = input image point,
= центр дисторсии, = center of distortion,
Rn = Nth коэффициент радиальной дисторсии,R n = N th the radial distortion coefficient,
Tn = Nth коэффициент тангенциальной дисторсии,T n = N th tangential distortion coefficient,
NR = число радиальных параметров,N R = number of radial parameters,
NT = число тангенциальных параметров, иN T = number of tangential parameters, and
Следует отметить, что невозможно использовать один тангенциальный параметр, требуется ноль, либо два или более тангенциальных параметров. Создает или нет уравнение (3) дисторсию точки изображения, зависит от того, какие параметры введены в него.It should be noted that it is impossible to use one tangential parameter, it requires zero, or two or more tangential parameters. Whether or not equation (3) creates a distortion of the image point depends on what parameters are entered into it.
Далее по всему настоящему описанию введение в уравнение (3) параметров, называемых DU-параметрами, означает, что точка будет преобразована из искаженной дисторсией области в неискаженную дисторсией область.Further throughout the present description, the introduction of equations called DU parameters into equation (3) means that the point will be transformed from a distorted region distortion to an undistorted region distortion.
Аналогично, параметрический вектор UD-параметры будет использован для преобразования неискаженных дисторсией координат пикселей в соответствующие им координаты в искаженной дисторсией области.Similarly, the parametric vector UD-parameters will be used to transform the distorted coordinates of the pixels into the corresponding coordinates in the distorted distortion region.
Далее приводится описание определения пространственных положений светоизлучающих диодов (СИД) на шлеме.The following is a description of the determination of the spatial position of the light emitting diodes (LEDs) on the helmet.
Для этой калибровки требуются собственные параметры измерительной камеры (свойства DU и фокусное расстояние), а также абсолютная ориентация камеры относительно (по отношению к) робота. Для этого, в свою очередь, необходимо знание ориентации держателя и смещенной ориентации камеры.This calibration requires its own parameters of the measuring chamber (DU properties and focal length), as well as the absolute orientation of the camera relative to (with respect to) the robot. For this, in turn, it is necessary to know the orientation of the holder and the offset orientation of the camera.
Роботизированный манипулятор используется для имитации группы калиброванных камер с известными ориентациями, наблюдающих каждый СИД. Ближайшая точка пересечения этих векторов используется в качестве измеренного положения СИД. Нецелесообразно использовать большую группу направленных внутрь калиброванных камер, жестко установленных в известных положениях так, чтобы они могли, выполняя триангуляционную съемку, определять положения точек на всех сторонах трехмерного объекта, помещенного в центре группы.A robotic arm is used to simulate a group of calibrated cameras with known orientations observing each LED. The closest intersection point of these vectors is used as the measured position of the LEDs. It is impractical to use a large group of calibrated cameras directed inward, rigidly mounted in known positions so that they can, by performing a triangulation survey, determine the positions of points on all sides of a three-dimensional object placed in the center of the group.
Для имитации этой процедуры используется манипулятор робота, представляющий шлем, расположенный с разной ориентацией, одной калиброванной камере, ориентация которой относительно робота известна. Для каждой ориентации, в которой представлен шлем, вычисляется ориентация калиброванной камеры относительно шлема, чем фактически добавляется другая камера к виртуальной группе камер, каждая из которых смотрит внутрь на шлем.To simulate this procedure, a robot manipulator is used, representing a helmet located with a different orientation, to one calibrated camera, the orientation of which relative to the robot is known. For each orientation in which the helmet is presented, the orientation of the calibrated camera relative to the helmet is calculated, which actually adds another camera to the virtual group of cameras, each of which looks inward at the helmet.
В каждой представленной ориентации, камера фиксирует изображение СИДа(-ов) и определяет координаты каждого СИДа(-ов) в изображении. Конкретный метод определения координат изображения СИД может быть изменен, в частном варианте выполнения используются методы, описанные в ранее опубликованной патентной заявке № PCT/IB2012/056820.In each orientation presented, the camera captures the image of the LED (s) and determines the coordinates of each LED (s) in the image. The specific method for determining the coordinates of the LED image can be changed, in a particular embodiment, the methods described in previously published patent application No. PCT / IB2012 / 056820 are used.
Затем, на основе параметров калибровки камеры вычисляется соответствующий вектор, ассоциированный с координатой изображения. Далее, этот вектор и ориентация камеры преобразуются к системе координат (СК) манипулятора робота с использованием известной ориентации камеры относительно СК основания робота и ориентации манипулятора робота относительно СК основания робота.Then, based on the camera calibration parameters, the corresponding vector associated with the image coordinate is calculated. Further, this vector and camera orientation are converted to the coordinate system (SC) of the robot arm using the known camera orientation relative to the robot base SC and the orientation of the robot arm relative to the robot base SC.
В результате получают пучок векторов и связанных с ними известных точек, определенных в общей СК манипулятора робота.The result is a bunch of vectors and associated known points defined in the general SC of the robot manipulator.
Для вычисления ближайшей точки пересечения всех векторов пучка, определяется первоначальная оценка ближайшей точки каждого пересечения для всего пучка и выполняется ее числовое приближение. Первоначальная оценка вычисляется усреднением ближайшей точки пересечения для каждой возможной пары векторов. Эта первоначальная оценка математически выражается уравнением (4):To calculate the nearest intersection point of all vectors of the beam, an initial estimate of the nearest point of each intersection for the entire beam is determined and its numerical approximation is performed. The initial estimate is calculated by averaging the nearest intersection point for each possible pair of vectors. This initial estimate is mathematically expressed by equation (4):
гдеWhere
= первоначальное положение СИД относительно манипулятора робота, = initial position of the LED relative to the robot arm,
N = число видов СИД,N = number of kinds of LEDs,
= положение СИД относительно манипулятора, полученное триангуляцией из положений i и j, = LED position relative to the manipulator, obtained by triangulation from positions i and j,
= преобразование положения камеры относительно концевого захвата в положении n, = conversion of the position of the camera relative to the end grip in position n,
= ЕВ от камеры к СИД с манипулятором в положении n, = EB from camera to LED with manipulator in position n,
= согласно уравнению (2), = according to equation (2),
= согласно уравнению (1), = according to equation (1),
= модель дисторсии Брауна [4, 5], = Brown distortion model [4, 5],
= параметры исправления дисторсии, согласно, например [3], = distortion correction parameters, according to, for example [3],
= собственные параметры камеры, согласно, например [3], = own camera parameters, according to, for example [3],
= положение пикселя СИД для ориентации i робота, = LED pixel position for robot orientation i,
= ориентация камеры относительно робота по оси робота, и = orientation of the camera relative to the robot along the axis of the robot, and
= ориентация манипулятора в положении n относительно робота по оси робота. = orientation of the manipulator in position n relative to the robot along the axis of the robot.
После определения первоначальной оценки посредством уравнения (4), она используется в качестве отправной точки для дальнейшего числового приближения.After determining the initial estimate using equation (4), it is used as a starting point for a further numerical approximation.
Это приближение стремится найти точку с минимальным среднеквадратическим значением суммы перпендикулярных расстояний от каждого вектора в пучке. В частном варианте выполнения используется алгоритм "leapfrog" (прыжок лягушки). Уравнение (5) математически выражает функцию стоимости среднеквадратичного значения суммы перпендикулярных расстояний.This approximation seeks to find a point with a minimum rms value of the sum of the perpendicular distances from each vector in the beam. In a particular embodiment, the leapfrog algorithm (frog jump) is used. Equation (5) mathematically expresses the cost function of the rms value of the sum of perpendicular distances.
гдеWhere
CHLED = функция стоимости для определения преобразования положения СИД шлема.C HLED = cost function to determine the conversion of the position of the helmet LED.
= предполагаемое положение СИД относительно манипулятора, = assumed position of the LED relative to the manipulator,
N = число видов СИД,N = number of kinds of LEDs,
= положение камеры относительно манипулятора, находящегося в положении i, = camera position relative to the manipulator in position i,
= ЕВ от камеры к СИД при i ориентации робота, = EV from camera to LED with i orientation of the robot,
= в соответствии с уравнением (1), = in accordance with equation (1),
= модель дисторсии Брауна [4, 5], = Brown distortion model [4, 5],
= параметры исправления дисторсии, согласно, например, [3], = distortion correction parameters, according to, for example, [3],
= собственные параметры камеры, согласно, например, [3], = own camera parameters, according to, for example, [3],
= положение пикселя СИД для ориентации i = LED pixel position for orientation i
= известная ориентация камеры относительно робота, и = known orientation of the camera relative to the robot, and
= переданная ориентация концевого захвата относительно оси робота. = transmitted orientation of the end gripper relative to the axis of the robot.
Описанный выше процесс повторяют для каждого СИД на шлеме.The above process is repeated for each LED on the helmet.
Фиксация данных по всем требуемым центроидам на шлеме обычно выполняется последовательным просмотром в ходе одного перемещения.Fixing data on all the required centroids on the helmet is usually performed by sequential viewing during one movement.
Далее будет показано, как положения светоизлучающих диодов могут быть выражены в разных СК. Это может потребоваться в том случае, если не удастся установить шлем на манипуляторе робота так, чтобы предполагаемые системы координат шлема и концевого захвата робота совпадали или даже устанавливались по одной оси. Кроме того, установка шлема на манипуляторе робота может не обладать повторяемостью (хотя она должна быть жесткой для того, чтобы калибровка была эффективной).It will be shown below how the positions of light emitting diodes can be expressed in different SCs. This may be necessary if it is not possible to install the helmet on the robot arm so that the proposed coordinate systems of the helmet and the robot end grip coincide or even are set on the same axis. In addition, installing a helmet on a robot arm may not be repeatable (although it must be rigid in order for calibration to be effective).
Для этой калибровки требуется набор опорных положений СИД, которым максимально должны соответствовать положения СИД измеренного набора. Обычно это является результатом теоретической проработки опорных положений, реализация которой была бы достигнута путем использования совершенного технологического оборудования.For this calibration, a set of LED reference positions is required that the LED positions of the measured set should match as closely as possible. Usually this is the result of a theoretical study of the supporting provisions, the implementation of which would be achieved through the use of advanced technological equipment.
Такая калибровка определяет смещение ориентации, которое, будучи примененным к каждой из измеренных положений СИД, обеспечивает их максимальное соответствие опорным положениям СИД.This calibration determines the orientation shift, which, being applied to each of the measured LED positions, ensures their maximum compliance with the LED reference positions.
Точность этого соответствия численно выражается среднеквадратичным (СКВ) значением расстояний между измеренными положениями СИД (после учета смещения ориентации) и опорными положениями СИД.The accuracy of this correspondence is expressed numerically by the root mean square (RMS) value of the distances between the measured LED positions (after taking into account the orientation shift) and the LED reference positions.
Ориентация, обеспечивающая минимальное СКВ отклонение расстояний, определяется числовой оптимизацией. В приведенном частном варианте выполнения снова используется "leapfrog" алгоритм, где первоначальное положение задается переходным держателем, используемым для прикрепления шлема к концевому захвату робота.The orientation that provides the minimum SLE for distance deviation is determined by numerical optimization. In the given particular embodiment, the “leapfrog” algorithm is again used, where the initial position is set by the transitional holder used to attach the helmet to the end grip of the robot.
Функция стоимости, определяющая СКВ отклонение расстояний, выражается уравнением (6):The cost function that determines the SLE deviation of the distances is expressed by equation (6):
гдеWhere
CM→T = функция стоимости корректирующего преобразования измеренного положения СИД к теоретической,C M → T = the cost function of the corrective conversion of the measured LED position to theoretical,
= предполагаемая ориентация, обеспечивающая совмещение измеренных и теоретических массивов точек СИД, = assumed orientation, ensuring the combination of measured and theoretical arrays of LED points,
= теоретическое положение СИД i, = theoretical position of LED i,
= уточненное измеренное положение СИД i, = updated measured position of LED i,
, и , and
= измеренное положение СИД i шлема относительно манипулятора робота = measured position of LED i of the helmet relative to the robot arm
Описанная выше процедура практически реализуется с использованием приведенных ниже шагов.The procedure described above is practically implemented using the steps below.
Фаза сбора данных:Data collection phase:
Для каждой записи в перечне ориентаций робота:For each entry in the list of robot orientations:
1). Установить робот в заданную ориентацию.one). Set the robot in the specified orientation.
2). Зафиксировать и занести в память точную ориентацию, принятую манипулятором робота.2). Fix and memorize the exact orientation adopted by the robot arm.
3). Зафиксировать и занести в память изображение оптических опорных точек для этой ориентации.3). Fix and store the image of the optical reference points for this orientation.
Фаза калибровки шлема:Helmet calibration phase:
1). Извлечь из памяти собственные параметры камеры, включая фокусное расстояние, размеры пикселей, положение главной точки и параметры коррекции перекоса и дисторсии объектива.one). Retrieve the camera’s own parameters from the memory, including the focal length, pixel sizes, the position of the main point and the correction parameters for distortion and distortion of the lens.
2). Извлечь из памяти ориентацию камеры относительно манипулятора робота.2). Extract from the memory the orientation of the camera relative to the robot arm.
3). Для каждой оптической опорной точки на шлеме:3). For each optical reference point on the helmet:
3.1). Для каждого зафиксированного изображения этой оптической опорной точки:3.1). For each captured image of this optical reference point:
3.1.1). Извлечь это изображение из памяти.3.1.1). Retrieve this image from memory.
3.1.2). Определить координаты пикселя оптической опорной точки в изображении.3.1.2). Determine the pixel coordinates of the optical reference point in the image.
3.1.3). Преобразовать координаты изображения в 3D вектор в системе координат камеры, используя извлеченные собственные параметры камеры.3.1.3). Convert image coordinates to 3D vector in the camera coordinate system using the extracted own camera parameters.
3.1.4). Извлечь из памяти полученную ориентацию манипулятора робота для этого изображения.3.1.4). Retrieve from the memory the obtained orientation of the robot arm for this image.
3.1.5). Вычислить ориентацию камеры относительно конца манипулятора робота, используя извлеченные ориентацию манипулятора робота и извлеченную ориентацию камеры.3.1.5). Calculate the orientation of the camera relative to the end of the robot arm using the extracted orientation of the robot arm and the extracted camera orientation.
3.1.6). Вычислить проекцию 3D вектора в системе координат оконечности манипулятора робота.3.1.6). Calculate the projection of the 3D vector in the coordinate system of the tip of the robot arm.
3.1.7). Определить примерную ближайшую точку пересечения всех 3D векторов для этой оптической опорной точки.3.1.7). Determine the approximate closest intersection point of all 3D vectors for this optical reference point.
3.1.8). Выполнить числовое уточнение этой ближайшей точки пересечения.3.1.8). Perform a numerical refinement of this nearest intersection point.
3.1.9). Запомнить эту точку в качестве измеренного положения оптической опорной точки.3.1.9). Remember this point as the measured position of the optical reference point.
3.2). Сохранить в памяти этот набор оптических опорных точек.3.2). Save this set of optical reference points in memory.
Фаза юстировки шлема:Helmet adjustment phase:
1). Извлечь из памяти набор образцовых оптических опорных положений.one). Retrieve a set of model optical reference positions from memory.
2). Извлечь из памяти набор измеренных оптических опорных положений.2). Retrieve a set of measured optical reference positions from memory.
3). Определить сумму смещений между соответствующими оптическими опорными точками.3). Determine the sum of the offsets between the corresponding optical reference points.
4). Найти ориентацию, при приложении которой к измеренным оптическим опорным положениям достигается минимальное значение суммы смещений.4). Find the orientation, when applied to the measured optical reference positions, the minimum value of the sum of the displacements is reached.
5). Применить найденную ориентацию к измеренным оптическим опорным положениям для порождения набора скорректированных оптических опорных положений.5). Apply the found orientation to the measured optical reference positions to generate a set of corrected optical reference positions.
6). Сохранить в памяти скорректированные оптические опорные положения.6). Store corrected optical reference positions.
Устройство также может быть использовано для верификации точности устройства отслеживания положения/ориентации шлема, т.е., калибровки камер, самолета и шлема. Это осуществляется посредством установки манипулятора робота в боевой самолет, и представления откалиброванного шлема в известных положениях группе калиброванных камер. Затем вычисляются различия между результатами оптических измерений и известными ориентациями. При желании, эта информация может быть использована для дальнейшего уточнения калибровки камер, шлема или самолета, для повышения установленной рабочей точности конкретного устанавливаемого устройства отслеживания положения/ориентации шлема.The device can also be used to verify the accuracy of the helmet position / orientation tracking device, i.e., calibrate cameras, aircraft and helmet. This is done by installing the robot arm in a combat aircraft, and presenting the calibrated helmet in known positions to a group of calibrated cameras. Then the differences between the optical measurements and the known orientations are calculated. If desired, this information can be used to further refine the calibration of cameras, helmet or aircraft, to increase the installed working accuracy of a particular installed helmet position / orientation tracking device.
Таким образом, следует понимать, что калибровка устройства отслеживания положения/ориентации шлема удовлетворяет потребность изготовителей и конечных потребителей в технологии отслеживания положения шлема, обеспечивая получение оптимальных рабочих характеристик их устройств. Такая калибровка может использоваться в качестве первичной калибровки, калибровки после каких-либо происшествий, например, жесткой посадки, и периодических повторных калибровок по планам материально-технического обеспечения.Thus, it should be understood that the calibration of the helmet position / orientation tracking device satisfies the need for manufacturers and end-users in helmet tracking technology to ensure optimal performance of their devices. Such calibration can be used as initial calibration, calibration after any incidents, for example, a hard fit, and periodic recalibrations according to logistics plans.
Claims (25)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ZA2015/05409 | 2015-07-27 | ||
ZA2015/05409A ZA201505409B (en) | 2015-07-27 | 2015-07-27 | A method of calibrating a helmet anda system therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2705644C1 true RU2705644C1 (en) | 2019-11-11 |
Family
ID=56008819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017115463A RU2705644C1 (en) | 2015-07-27 | 2016-04-25 | Helmet calibration device |
Country Status (3)
Country | Link |
---|---|
RU (1) | RU2705644C1 (en) |
WO (1) | WO2017017536A1 (en) |
ZA (1) | ZA201505409B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2757061C1 (en) * | 2020-12-08 | 2021-10-11 | Алексей Владимирович Зубарь | Information overview and panoramic surveillance system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4905311B2 (en) * | 2007-10-01 | 2012-03-28 | 株式会社島津製作所 | Head motion tracker system and calibration device used therefor |
EP2597614A1 (en) * | 2011-11-28 | 2013-05-29 | Clarion Co., Ltd. | Automotive camera system and its calibration method and calibration program |
US20140368664A1 (en) * | 2012-01-17 | 2014-12-18 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | System and method for measuring tracker system accuracy |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8237101B2 (en) * | 2009-10-02 | 2012-08-07 | Teledyne Scientific & Imaging, Llc | Object tracking system having at least one angle-of-arrival sensor which detects at least one linear pattern on a focal plane array |
US9393694B2 (en) * | 2010-05-14 | 2016-07-19 | Cognex Corporation | System and method for robust calibration between a machine vision system and a robot |
-
2015
- 2015-07-27 ZA ZA2015/05409A patent/ZA201505409B/en unknown
-
2016
- 2016-04-14 WO PCT/IB2016/052114 patent/WO2017017536A1/en active Application Filing
- 2016-04-25 RU RU2017115463A patent/RU2705644C1/en active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4905311B2 (en) * | 2007-10-01 | 2012-03-28 | 株式会社島津製作所 | Head motion tracker system and calibration device used therefor |
EP2597614A1 (en) * | 2011-11-28 | 2013-05-29 | Clarion Co., Ltd. | Automotive camera system and its calibration method and calibration program |
US20140368664A1 (en) * | 2012-01-17 | 2014-12-18 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | System and method for measuring tracker system accuracy |
Also Published As
Publication number | Publication date |
---|---|
ZA201505409B (en) | 2016-12-21 |
WO2017017536A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170032529A1 (en) | Method of calibrating a helmet and a system therefor | |
US9889565B2 (en) | Method for calibrating a robot and a robot system | |
US9733339B2 (en) | Position and orientation calibration method and apparatus | |
US20120285024A1 (en) | Photogrammetry System and Method for Determining Relative Motion Between Two Bodies | |
KR101282718B1 (en) | Absolute misalignment calibration method between attitude sensors and linear array image sensor | |
KR102085228B1 (en) | Imaging processing method and apparatus for calibrating depth of depth sensor | |
KR101857472B1 (en) | A method of calibrating a camera and a system therefor | |
JP6370038B2 (en) | Position and orientation measurement apparatus and method | |
US7656425B2 (en) | Robust field of view distortion calibration | |
US20120262455A1 (en) | Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium | |
JP2020528553A (en) | How to calibrate the magnetometer | |
CN106709955B (en) | Space coordinate system calibration system and method based on binocular stereo vision | |
US9563952B2 (en) | Determination of a measurement error | |
JP2019115974A (en) | Calibration and operation of vision-based manipulation systems | |
CN106705860B (en) | A kind of laser distance measurement method | |
CN109544642B (en) | N-type target-based TDI-CCD camera parameter calibration method | |
JP6626338B2 (en) | Information processing apparatus, control method for information processing apparatus, and program | |
RU2705644C1 (en) | Helmet calibration device | |
KR101346206B1 (en) | Aviation surveying system for processing the aviation image in gps | |
KR102185329B1 (en) | Distortion correction method of 3-d coordinate data using distortion correction device and system therefor | |
Ye et al. | A calibration trilogy of monocular-vision-based aircraft boresight system | |
KR101972432B1 (en) | A laser-vision sensor and calibration method thereof | |
EP3834997A1 (en) | Method and device for calibrating a machine vision device for position determination | |
KR20190060506A (en) | Method for Arranging Long Distance Stereo Camera Using Lasor System | |
CN114930131B (en) | Method and electronic device, system and computer readable medium for time alignment |