RU2697942C1 - Method and system for reverse optical tracking of a mobile object - Google Patents

Method and system for reverse optical tracking of a mobile object Download PDF

Info

Publication number
RU2697942C1
RU2697942C1 RU2018138292A RU2018138292A RU2697942C1 RU 2697942 C1 RU2697942 C1 RU 2697942C1 RU 2018138292 A RU2018138292 A RU 2018138292A RU 2018138292 A RU2018138292 A RU 2018138292A RU 2697942 C1 RU2697942 C1 RU 2697942C1
Authority
RU
Russia
Prior art keywords
tracking
elementary
optical
patterns
moving object
Prior art date
Application number
RU2018138292A
Other languages
Russian (ru)
Inventor
Петр Вячеславович Севостьянов
Original Assignee
Общество С Ограниченной Ответственностью "Альт"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Альт" filed Critical Общество С Ограниченной Ответственностью "Альт"
Priority to RU2018138292A priority Critical patent/RU2697942C1/en
Application granted granted Critical
Publication of RU2697942C1 publication Critical patent/RU2697942C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to moving object tracking method and system and can be used in virtual or augmented reality systems. Technical result is achieved by the fact that the tracking method includes a step of automatic adjustment of the tracking zone, on which unique combinations of elementary optical patterns are detected and recorded, and a step of tracking the change in the position and/or orientation of the mobile object, on which unique combinations of elementary optical patterns are detected and compared with those recorded when tuning the tracking system zone. Moving object tracking system comprises at least one tracker arranged on the movable object and having an optical sensor; at least one marker strip containing active markers forming elementary optical patterns on the image obtained from the optical sensor; and central data processing device.
EFFECT: automatic adjustment of the tracking zone during reverse optical or optical-inertial tracking of the mobile object using a tracker mounted on the mobile object and comprising an optical sensor and an inertial sensor.
18 cl, 25 dwg

Description

Область техникиTechnical field

Изобретение относится к способу и системе трекинга подвижного объекта и может применяться в системах виртуальной или дополненной реальности, в системах внутренней логистики, в робототехнических системах, в системах управления беспилотными подвижными объектами и в других системах производственного, научного, учебного и иного назначения.The invention relates to a method and system for tracking a moving object and can be used in virtual or augmented reality systems, in internal logistics systems, in robotic systems, in control systems for unmanned moving objects and in other systems of industrial, scientific, educational and other purposes.

Уровень техникиState of the art

Отслеживание (трекинг) подвижного объекта применяется во многих системах – системах виртуальной реальности (VR, Virtual Reality) или дополненной реальности (AR, Augmented Reality), системах внутренней (например, складской, производственной или торговой) логистики, робототехнических системах, системах управления беспилотными подвижными объектами (например, транспортными средствами) и т.д. Далее основное внимание уделяется трекингу в системах VR/AR, тем не менее, основные принципы трекинга по существу сходны и в других упомянутых выше системах.Tracking (tracking) of a moving object is used in many systems - virtual reality systems (VR, Virtual Reality) or augmented reality (AR, Augmented Reality), internal logistics systems (for example, warehouse, production or trading), robotic systems, unmanned mobile control systems objects (e.g. vehicles), etc. Further, the main attention is paid to tracking in VR / AR systems, however, the basic principles of tracking are essentially similar in other systems mentioned above.

По конфигурации системы трекинга различают прямой трекинг, в котором датчик или несколько датчиков расположены в пространстве вне подвижного отслеживаемого объекта, а опорная точка или несколько опорных точек, используемых для отслеживания, находится на отслеживаемом объекте, и обратный трекинг, в котором датчик или несколько датчиков расположены на отслеживаемом объекте, а опорная точка или несколько опорных точек, используемых для отслеживания, находятся в пространстве вне подвижного отслеживаемого объекта.According to the configuration of the tracking system, direct tracking is distinguished, in which the sensor or several sensors are located in space outside the movable tracked object, and the reference point or several reference points used for tracking are located on the tracked object, and reverse tracking, in which the sensor or several sensors are located on the tracked object, and the reference point or several reference points used for tracking are located in a space outside the moving tracked object.

По виду датчиков различают оптический трекинг, в котором использованы оптические датчики, например, камеры, работающие в видимом или инфракрасном диапазоне света, и инерциальный трекинг, в котором использованы инерциальные датчики, например, гироскопы и акселерометры. Кроме того, в системах трекинга применяются датчики магнитного поля (магнетометры), датчики высоты над уровнем моря (альтиметры) и некоторые другие виды датчиков.By the type of sensors, optical tracking is distinguished, in which optical sensors are used, for example, cameras operating in the visible or infrared range of light, and inertial tracking, in which inertial sensors are used, for example, gyroscopes and accelerometers. In addition, tracking systems use magnetic field sensors (magnetometers), altitude sensors (altimeters) and some other types of sensors.

Существуют также системы трекинга с использованием централизованных систем позиционирования – глобальных или локальных, спутникового или наземного базирования. Кроме того, существуют безмаркерные системы трекинга, в том числе, основанные на методе одновременной локализации и построения карты (SLAM, Simultaneous Localization and Mapping).There are also tracking systems using centralized positioning systems - global or local, satellite or ground-based. In addition, there are markerless tracking systems, including those based on the method of simultaneous localization and map building (SLAM, Simultaneous Localization and Mapping).

Большинство систем трекинга, предназначенных для применения в игровых, развлекательных и обучающих системах VR/AR, представляют собой комбинированные системы. В частности, широкое распространение получили оптико-инерциальные системы трекинга, основанные на совместном применении оптических и инерциальных датчиков, дополняющих друг друга и компенсирующих недостатки друг друга.Most tracking systems designed for use in VR / AR gaming, entertainment, and training systems are combined systems. In particular, optical-inertial tracking systems based on the combined use of optical and inertial sensors complementing each other and compensating for each other’s shortcomings are widespread.

Для систем обратного оптического и оптико-инерциального трекинга, в которых видео камера расположена на подвижном отслеживаемом объекте, а оптические светоизлучающие или световозвращающие маркеры, представляющие собой опорные точки для оптического трекинга, неподвижно установлены заранее заданным образом на площадке или в помещении рабочей зоны, важно быстрое и точное определение зоны трекинга.For reverse optical and optical inertial tracking systems in which the video camera is located on a movable tracked object, and optical light-emitting or retroreflective markers, which are reference points for optical tracking, are fixedly fixed in a predetermined manner on the site or in the working area, it is important to quickly and precise definition of the tracking zone.

В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.In the case of a fixed (previously known) tracking zone, the tracking system should provide quick selection of the tracking zone configuration and loading of its parameters. In the case of a variable tracking zone (if the shape and dimensions of the tracking zone are not known in advance), the tracking system should provide the ability to quickly and accurately configure the tracking zone. At the same time, it is highly desirable that calibration of the tracking system before its operation was not required or would be as automated as possible.

Патентные заявки US2008285854A1, US2013106833A1, US2017086941A1, WO2014199196A1, WO2017050761A1 дают общее представление об уровне техники в области систем трекинга.Patent applications US2008285854A1, US2013106833A1, US2017086941A1, WO2014199196A1, WO2017050761A1 give a general idea of the state of the art in the field of tracking systems.

В патентных заявках DE102015013551A1, EP1645241A1 (US2006082789A1), EP2339537A1, US2017168592A1 и патенте US6787750B1 раскрыто применение активных ИК-маркеров в системах трекинга. В патенте US6787750B1 также раскрыто автоматическое определение зоны трекинга.Patent applications DE102015013551A1, EP1645241A1 (US2006082789A1), EP2339537A1, US2017168592A1 and US6787750B1 disclose the use of active IR markers in tracking systems. US6787750B1 also discloses automatic determination of a tracking zone.

В патентных заявках US2011079703A1, US2017358139A1 описаны системы трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.Patent applications US2011079703A1, US2017358139A1 describe tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object.

В патентных заявках EP2012170A1, US2004080548A1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.Patent applications EP2012170A1, US2004080548A1 disclose the use of active IR markers in tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object.

В патентных заявках WO2007102857A2, WO2016102721A1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.Patent applications WO2007102857A2, WO2016102721A1 disclose the use of active IR markers in tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object, and recognition of optical patterns formed by fixed markers.

В патентной заявке WO2016187609A1 раскрыто распознавание оптических паттернов, образованных неподвижными маркерами, а в патентной заявке WO2013071981A1 раскрыто использование оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.Patent application WO2016187609A1 discloses the recognition of optical patterns formed by fixed markers, and patent application WO2013071981A1 discloses the use of an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object and recognition of optical patterns formed by fixed markers.

В непатентном документе [1] описано выявление линейного паттерна, образованного четырьмя светоотражающими ИК-маркерами, и планарного паттерна с использованием двух камер (прямой трекинг).The non-patent document [1] describes the identification of a linear pattern formed by four reflective IR markers and a planar pattern using two cameras (direct tracking).

В непатентном документе [2] описано выявление линейного паттерна, образованного четырьмя светоотражающими ИК-маркерами, и плоского паттерна с использованием нескольких камер (прямой трекинг).The non-patent document [2] describes the identification of a linear pattern formed by four reflective IR markers and a flat pattern using multiple cameras (direct tracking).

В непатентном документе [3] описано применение сложных контрастных планарных маркеров в системах VR на основе носимых электронных устройств общего назначения.The non-patent document [3] describes the use of complex contrast planar markers in VR systems based on general-purpose portable electronic devices.

В непатентном документе [4] описано выявление различных паттернов (от одноточечного до объемного многоточечного), образованных светоотражающими ИК-маркерами, с использованием нескольких камер (прямой трекинг).The non-patent document [4] describes the identification of various patterns (from single-point to volumetric multi-point) formed by reflective IR markers using multiple cameras (direct tracking).

В непатентном документе [5] описан способ выявления и идентификации светоотражающих ИК-маркеров по облаку точек с использованием нескольких камер – point-cloud-based tracking method (прямой трекинг).The non-patent document [5] describes a method for identifying and identifying reflective IR markers by a point cloud using multiple cameras — the point-cloud-based tracking method (direct tracking).

В непатентном документе [6] описано применение фильтров Калмана для выявления и идентификации светоотражающих ИК-маркеров с использованием нескольких камер без выявления паттернов на изображении (прямой трекинг).The non-patent document [6] describes the use of Kalman filters for identifying and identifying reflective IR markers using multiple cameras without identifying patterns in the image (direct tracking).

В непатентном документе [7] описано применение цветных светоотражающих маркеров для захвата движения (motion capture) с последующим формированием 3D-модели в 3D-анимации (прямой трекинг).The non-patent document [7] describes the use of color reflective markers for motion capture (motion capture) with the subsequent formation of a 3D model in 3D animation (direct tracking).

В непатентном документе [8] описано применение сложных контрастных планарных маркеров в системе обратного оптического трекинга.The non-patent document [8] describes the use of complex contrast planar markers in a reverse optical tracking system.

В непатентном документе [9] описано применение линейных паттернов, образованных множеством светоизлучающих диодов, установленных на потолке, с использованием одной камеры (обратный трекинг), указано на возможность масштабирования зоны трекинга. The non-patent document [9] describes the use of linear patterns formed by a plurality of light-emitting diodes mounted on the ceiling using a single camera (reverse tracking), indicating the possibility of scaling the tracking zone.

В непатентном документе [10] описано применение планарного паттерна с концентрическим расположением маркеров для оптического трекинга любого вида.Non-patent document [10] describes the use of a planar pattern with a concentric arrangement of markers for optical tracking of any kind.

В непатентном документе [11] описано применение временной модуляции интенсивности излучения СИД-маркеров для оптического трекинга любого вида.Non-patent document [11] describes the use of temporal modulation of the radiation intensity of LED markers for optical tracking of any kind.

В непатентном документе [12] описано применение контроллера Wii для прямого трекинга пользователя беспроводных головных телефонов, оснащенных четырьмя светоизлучающими диодами, образующими прямоугольный планарный оптический паттерн, для создания реалистичной динамической звуковой картины.The non-patent document [12] describes the use of the Wii controller for direct tracking of wireless headphones equipped with four light-emitting diodes forming a rectangular planar optical pattern for creating a realistic dynamic sound picture.

Техническое решение согласно непатентному документу [9] представляется наиболее близким к данному изобретению по технической сути, в нем применены светодиодные линейки, установленные на потолке помещения равномерно по его площади. Линейки представляют собой повторяющиеся последовательности линейных паттернов на основе последовательности де Брёйна, преобразованной в циклический манчестерский код.The technical solution according to non-patent document [9] seems to be closest to this invention in technical essence, it uses LED rulers installed on the ceiling of the room evenly over its area. Rulers are repeating sequences of linear patterns based on a de Bruyne sequence transformed into a cyclic Manchester code.

Тем не менее авторам ни одного из вышеупомянутых патентных и непатентных документов не удалось решить задачу автоматической настройки зоны трекинга по совокупности однотипных оптических паттернов, образованных неподвижными активными ИК-маркерами, установленными заранее заданным образом на площадке или в помещении и ограничивающими рабочую зону, при обратном оптическом или оптико-инерциальном трекинге подвижного объекта с применением трекера, установленного на подвижном объекте и содержащего оптический датчик и (опционально) инерциальный датчик. Следует отметить, что такая задача в уровне техники до сих пор даже не ставилась.Nevertheless, the authors of none of the aforementioned patent and non-patent documents failed to solve the problem of automatically adjusting the tracking zone according to the totality of the same type of optical patterns formed by fixed active IR markers installed in a predetermined manner on the site or indoors and limiting the working area, with the opposite optical or optical-inertial tracking of a moving object using a tracker mounted on a moving object and containing an optical sensor and (optionally) inertia cial sensor. It should be noted that such a task in the prior art has not yet been set.

В настоящее время на рынке не представлено систем трекинга, имеющих такую функцию и предназначенных для применения в системах виртуальной или дополненной реальности игрового, развлекательного или учебного назначения. Авторам данного изобретения также не известны системы трекинга, имеющие такую функцию и предназначенные для применения в системах складской, производственной или торговой логистики, в робототехнических системах, для управления пилотируемыми или беспилотными подвижными объектами и т.д.Currently, there are no tracking systems on the market that have this function and are intended for use in virtual or augmented reality systems for gaming, entertainment or educational purposes. The authors of this invention are also not aware of tracking systems having such a function and intended for use in warehouse, production or trade logistics systems, in robotic systems, for controlling manned or unmanned moving objects, etc.

Раскрытие изобретенияDisclosure of invention

Для любых систем, связанных с отслеживанием подвижных объектов, в особенности, для систем VR/AR, важно обеспечить быструю готовность системы к работе после ее включения, перезагрузки, изменения конфигурации или рабочего сценария. В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.For any systems related to tracking moving objects, in particular for VR / AR systems, it is important to ensure that the system is quickly ready for operation after it is turned on, rebooted, reconfigured or a working scenario. In the case of a fixed (previously known) tracking zone, the tracking system should provide quick selection of the tracking zone configuration and loading of its parameters. In the case of a variable tracking zone (if the shape and dimensions of the tracking zone are not known in advance), the tracking system should provide the ability to quickly and accurately configure the tracking zone. At the same time, it is highly desirable that calibration of the tracking system before its operation was not required or would be as automated as possible.

Задача автоматической настройки зоны трекинга при обратном оптическом или оптико-инерциальном трекинге подвижного объекта с применением трекера, установленного на подвижном объекте и содержащего оптический датчик и (опционально) инерциальный датчик, решена с применением способа и системы трекинга подвижного объекта согласно изобретению.The task of automatically adjusting the tracking zone during reverse optical or optical-inertial tracking of a moving object using a tracker mounted on a moving object and containing an optical sensor and (optionally) an inertial sensor is solved using the method and system for tracking a moving object according to the invention.

Способ трекинга подвижного объекта включает в себя следующие шаги:The tracking method of a moving object includes the following steps:

- шаг автоматической настройки зоны трекинга, на котором выявляют и регистрируют уникальные сочетания элементарных оптических паттернов;- a step of automatic adjustment of the tracking zone, at which unique combinations of elementary optical patterns are detected and recorded;

- шаг отслеживания изменения положения и/или ориентации подвижного объекта, на котором выявляют уникальные сочетания элементарных оптических паттернов и сопоставляют их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга. - the step of tracking changes in the position and / or orientation of the moving object, on which unique combinations of elementary optical patterns are detected and compared with elementary optical patterns registered when setting up the tracking zone.

Настройка зоны трекинга может включать в себя следующие шаги:Setting up the tracking zone can include the following steps:

(S1) определяют зону трекинга;(S1) determine a tracking area;

(S2) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;(S2) determine the size of the tracking window and set the tracking window to its initial position;

(S3) определяют в окне трекинга элементарные оптические паттерны, образованные маркерами;(S3) determine in the tracking window elementary optical patterns formed by markers;

(S4) формируют ID «созвездия»-кандидата;(S4) form the ID of the "constellation" of the candidate;

(S5) проверяют уникальность каждого «созвездия»-кандидата и маркируют ID неуникального «созвездия»-кандидата;(S5) verify the uniqueness of each “constellation” of the candidate and mark the ID of the non-unique “constellation” of the candidate;

(S6) записывают ID «созвездия»-кандидата в таблицу «созвездий»;(S6) write the ID of the "constellation" of the candidate in the table of "constellations";

(S7) поворачивают окно трекинга на заранее заданный угол;(S7) rotate the tracking window by a predetermined angle;

(S8) выполняют шаги S2–S6 для повернутого окна трекинга;(S8) perform steps S2 – S6 for the rotated tracking window;

(S9) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;(S9) check whether the required number of turns of the tracking window has been completed, and if necessary, repeat steps S7, S8;

(S10) перемещают окно трекинга с заранее заданным шагом;(S10) moving the tracking window with a predetermined step;

(S11) выполняют шаги S2–S9 для перемещенного окна трекинга;(S11) perform steps S2 – S9 for the moved tracking window;

(S12) проверяют, покрыта ли вся зона трекинга, и при необходимости повторяют шаги S10, S11;(S12) check if the entire tracking area is covered, and if necessary, repeat steps S10, S11;

(S13) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий».(S13) remove the non-unique IDs of the “constellations” of the candidates from the table of “constellations”.

Шаги S4, S5, S6 и S13 могут выполняться в отношении каждого ID «созвездия»-кандидата и ID каждого из его дочерних «созвездий»-кандидатов. До выполнения шага S2 возможно разделение проекции зоны трекинга на ячейки и размер окна трекинга на шаге S2 может выражаться в количестве таких ячеек.Steps S4, S5, S6, and S13 may be performed with respect to each candidate constellation ID and the ID of each of its child candidate constellations. Prior to step S2, it is possible to divide the projection of the tracking zone into cells, and the size of the tracking window in step S2 may be expressed in the number of such cells.

Отслеживание изменения положения и/или ориентации подвижного объекта может включать в себя следующие шаги:Tracking a change in the position and / or orientation of a moving object may include the following steps:

(S21) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;(S21) read the image from the optical sensor located on the moving object, and perform its preliminary processing;

(S22) выявляют в окне трекинга элементарные оптические паттерны, образованные маркерами;(S22) detecting elementary optical patterns formed by markers in the tracking window;

(S23) формируют ID «созвездия»;(S23) form a constellation ID;

(S24) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;(S24) identify the generated constellation ID from the constellations table;

(S25) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.(S25) determine the position and orientation of the moving object based on the "constellation" identified in step S24.

Шаг S21 может включать в себя следующие шаги:Step S21 may include the following steps:

(S31) считывают изображение с оптического датчика;(S31) read the image from the optical sensor;

(S32) выполняют компенсацию геометрических искажений считанного изображения;(S32) perform geometric distortion compensation of the read image;

(S33) опционально проецируют изображение на рабочую плоскость;(S33) optionally projecting the image onto the work plane;

(S34) нормируют изображение;(S34) normalize the image;

(S35) выделяют окно трекинга на изображении.(S35) highlight the tracking window on the image.

Шаг S22 может включать в себя следующие шаги:Step S22 may include the following steps:

(S41) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;(S41) three points corresponding to markers are arbitrarily selected in the tracking window;

(S42) из выбранных трех точек определяют две опорные точки;(S42) from the selected three points, two reference points are determined;

(S43) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;(S43) for the reference points, the nominal position of the third point is determined in accordance with the elementary optical pattern;

(S44) определяют отклонение δ геометрического положения третьей точки от ее номинального положения;(S44) determining a deviation δ of the geometric position of the third point from its nominal position;

(S45) выполняют проверку величины δ; если величина δ не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина δ превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают;(S45) checking the value of δ; if the value of δ does not exceed a predetermined threshold value, then (S46) the three points are added to the list of elementary optical candidate patterns, and if the value of δ exceeds the predetermined threshold value, then (S47) the three points are rejected;

(S48) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41–S47;(S48) check whether all combinations of the three points are processed and, if necessary, repeat steps S41 – S47;

(S49) сортируют список элементарных оптических паттернов-кандидатов по величине δ;(S49) sorting the list of elementary optical candidate patterns by the value of δ;

(S50) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной δ;(S50) from the list of elementary candidate patterns, an elementary optical candidate pattern with a minimum value of δ is selected;

(S51) выполняют проверку наличия в элементарном оптическом паттерне-кандидате использованных точек; если в нем обнаружена, по меньшей мере, одна использованная точка, (S52) такой элементарный оптический паттерн-кандидат отбраковывают, если использованных точек не обнаружено, (S53) его перемещают в список действительных элементарных оптических паттернов, при этом точки, входящие в этот элементарный оптический паттерн, помечают как использованные;(S51) checking for the presence of used points in the elementary optical candidate pattern; if at least one used point is found in it, (S52) such an elementary optical candidate pattern is discarded, if no used points are found, (S53) it is moved to the list of valid elementary optical patterns, while the points included in this elementary optical pattern, marked as used;

(S54) выполняют шаги S50–S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.(S54) perform steps S50 – S53 with respect to the remaining elementary optical candidate patterns.

Система трекинга подвижного объекта содержит:The tracking system of a moving object contains:

- по меньшей мере, один трекер, размещенный на подвижном объекте (например, на пользователе системы VR/AR) и содержащий оптический датчик;- at least one tracker located on a moving object (for example, on a user of a VR / AR system) and containing an optical sensor;

- по меньшей мере, одну маркерную полосу, содержащую активные маркеры, образующие элементарные оптические паттерны на изображении, полученном с оптического датчика;- at least one marker strip containing active markers forming elementary optical patterns in the image obtained from the optical sensor;

- центральное устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пп. 1–7.- a central data processing device, partially performing a method for tracking a moving object, described in any one of paragraphs. 1-7.

Оптический датчик может представлять собой матричный оптический датчик. По меньшей мере, часть маркерных полос может быть расположена на полу или ином основании. Маркерные полосы могут быть интегрированы с упругим сборным покрытием для пола. По меньшей мере, часть маркерных полос может быть расположена на потолке, стенах, балках, мачтах или иным образом закреплена в зоне трекинга над полом или иным основанием.The optical sensor may be a matrix optical sensor. At least a portion of the marker strips may be located on the floor or other base. Marker strips can be integrated with resilient precast flooring. At least a portion of the marker strips may be located on a ceiling, walls, beams, masts, or otherwise secured in a tracking area above a floor or other base.

Активные маркеры могут представлять собой маркеры, излучающие свет в инфракрасном диапазоне. Элементарный оптический паттерн может представлять собой линейный или нелинейный элементарный оптический паттерн. Трекер может содержать устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, описанный выше. Active markers can be markers that emit light in the infrared range. The elementary optical pattern may be a linear or non-linear elementary optical pattern. The tracker may comprise a data processing device partially executing the method of tracking a moving object described above.

Трекер и центральное устройство обработки данных могут быть связаны беспроводным каналом передачи данных, предназначенным для передачи данных настройки при выполнении шага автоматической настройки зоны трекинга и данных о положении и/или ориентации трекера при выполнении шага отслеживания в способе трекинга подвижного объекта, описанном выше.The tracker and the central data processing device may be connected by a wireless data transmission channel for transmitting tuning data in the step of automatically adjusting the tracking area and the position and / or orientation data of the tracker in the tracking step in the method of tracking a moving object described above.

Эта система может быть выполнена с возможностью автоматической настройки зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов описанным выше способом. Эта система также может быть выполнена с возможностью отслеживания изменения положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга, описанным выше способом.This system can be configured to automatically adjust the tracking zone by identifying and registering unique combinations of elementary optical patterns in the manner described above. This system can also be configured to track changes in the position and / or orientation of a moving object by identifying unique combinations of elementary optical patterns and matching them with elementary optical patterns registered when setting up the tracking zone using the method described above.

Краткое описание чертежейBrief Description of the Drawings

На фиг. 1 показан пример реализации системы VR/AR в соответствии с изобретением.In FIG. 1 shows an example implementation of a VR / AR system in accordance with the invention.

На фиг. 2 представлена структурная схема трекера.In FIG. 2 shows a block diagram of a tracker.

На фиг. 3 показан пример маркерной полосы в развернутом виде.In FIG. 3 shows an example of a marker strip in expanded form.

На фиг. 4 показан пример маркерной полосы в свернутом виде.In FIG. 4 shows an example of a rolled up marker strip.

На фиг. 5 показан пример установки маркеров с использованием элементов упругих сборных покрытий для пола (puzzle floor mats).In FIG. Figure 5 shows an example of the installation of markers using elements of elastic prefabricated floor coverings (puzzle floor mats).

На фиг. 6 показан пример расположения маркерных полос на полу.In FIG. Figure 6 shows an example of the location of marker strips on the floor.

На фиг. 7 показан пример монтажа маркерных полос на потолке.In FIG. 7 shows an example of mounting marker strips on the ceiling.

На фиг. 8 показано размещение маркерной полосы в упругом сборном покрытии для пола, каждый элемент которого соответствует ячейке зоны трекинга.In FIG. Figure 8 shows the placement of a marker strip in an elastic prefabricated floor covering, each element of which corresponds to a cell of a tracking zone.

На фиг. 9 показан пример нумерации ячеек зоны трекинга.In FIG. 9 shows an example of numbering cells in a tracking zone.

На фиг. 10 показан элементарный оптический паттерн, образованный маркерной полосой, при этом окружностью отмечен его условный центр, а стрелкой показано его условное направление, которое может иметь числовое обозначение (кодировку 0, 1, 2, 3).In FIG. 10 shows an elementary optical pattern formed by a marker strip, with a circle marked its conditional center, and an arrow shows its conditional direction, which may have a numerical designation (encoding 0, 1, 2, 3).

На фиг. 11 показан пример расположения элементарных оптических паттернов в зоне трекинга квадратной формы.In FIG. 11 shows an example of the arrangement of elementary optical patterns in a square tracking zone.

На фиг. 12А показан пример уникального сочетания элементарных оптических паттернов.In FIG. 12A shows an example of a unique combination of elementary optical patterns.

На фиг. 12Б показан пример неуникального сочетания элементарных оптических паттернов.In FIG. 12B shows an example of a non-unique combination of elementary optical patterns.

На фиг. 13А, Б представлена блок-схема алгоритма регистрации уникальных сочетаний элементарных оптических паттернов («созвездий»).In FIG. 13A, B, a flow chart of the registration of unique combinations of elementary optical patterns (“constellations”) is presented.

На фиг. 14 показан пример затенения маркеров в многопользовательской системе VR/AR.In FIG. 14 shows an example of marker shading in a multi-user VR / AR system.

На фиг. 15 представлена блок-схема алгоритма отслеживания.In FIG. 15 is a flowchart of a tracking algorithm.

На фиг. 16 показан пример изображения, полученного с оптического датчика.In FIG. 16 shows an example of an image obtained from an optical sensor.

На фиг. 17 показан пример изображения с фиг. 16 после компенсации геометрических искажений и проецирования на рабочую плоскость.In FIG. 17 shows an example of the image of FIG. 16 after compensation for geometric distortion and projection onto the work plane.

На фиг. 18 показан пример изображения с фиг. 17 после нормирования.In FIG. 18 shows an example of the image of FIG. 17 after rationing.

На фиг. 19 показан пример изображения с фиг. 18, в котором для наглядности показано положение элементарных оптических паттернов относительно сетки.In FIG. 19 shows an example of the image of FIG. 18, in which, for clarity, the position of the elementary optical patterns relative to the grid is shown.

На фиг. 20 представлена блок-схема алгоритма считывания и предварительной обработки изображения с оптического датчика.In FIG. 20 is a flowchart of an algorithm for reading and preprocessing an image from an optical sensor.

На фиг. 21 представлена блок-схема алгоритма выявления элементарных оптических паттернов на изображении с оптического датчика.In FIG. 21 is a flowchart of an algorithm for detecting elementary optical patterns in an image from an optical sensor.

На фиг. 22 показан пример номинального и фактического положения третьей точки элементарного оптического паттерна.In FIG. 22 shows an example of the nominal and actual position of the third point of an elementary optical pattern.

На фиг. 23 показан пример неколлинеарного расположения элементарных оптических паттернов.In FIG. 23 shows an example of a non-collinear arrangement of elementary optical patterns.

Осуществление изобретенияThe implementation of the invention

В системах VR/AR зона трекинга может подвергаться изменениям, в частности, форма и размеры зоны трекинга могут меняться при эксплуатации системы в связи с ее переносом на другую площадку или в другое помещение, с изменением количества пользователей или со сценарием, реализованном в системе VR/AR. Изменение формы и размера зоны трекинга требует перенастройки системы трекинга. В мобильных системах VR/AR настройка системы трекинга требуется каждый раз при развертывании системы. В системе трекинга согласно данному изобретению решена задача автоматической настройки зоны трекинга, повышена точность и надежность трекинга, в том числе, в многопользовательском режиме.In VR / AR systems, the tracking zone can undergo changes, in particular, the shape and size of the tracking zone can change during operation of the system in connection with its transfer to another site or other room, with a change in the number of users or with a script implemented in the VR / AR. Changing the shape and size of the tracking zone requires reconfiguring the tracking system. On VR / AR mobile systems, tracking system configuration is required each time the system is deployed. In the tracking system according to this invention, the task of automatically adjusting the tracking zone is solved, the accuracy and reliability of tracking is improved, including in multi-user mode.

В системе обратного оптико-инерциального трекинга устройство, обеспечивающее трекинг (трекер) расположено на подвижном объекте отслеживания, а источники света (активные маркеры), образующие характерные сочетания на фиксируемом трекером изображении (оптические паттерны), неподвижны и расположены в пространстве рабочей зоны системы VR/AR. Система VR/AR может содержать один или несколько трекеров, при этом каждый трекер позволяет определять положение и ориентацию соответствующего подвижного объекта (или его части) независимо от других трекеров.In the inverse optical inertial tracking system, the device providing tracking (tracker) is located on the moving tracking object, and the light sources (active markers), which form characteristic combinations on the image captured by the tracker (optical patterns), are stationary and located in the space of the working area of the VR / AR. A VR / AR system may contain one or more trackers, with each tracker allowing you to determine the position and orientation of the corresponding moving object (or part thereof) independently of other trackers.

На фиг. 1 показан пример реализации системы 1 VR/AR, содержащей головной дисплей 5 в виде шлема или очков, трекер 10, размещенный на головном дисплее 5, центральное устройство 6 обработки данных (хост), также размещенное на головном дисплее 5, трекер 20, трекер 30, и маркерную полосу 4, содержащую активные маркеры 40, 41, 42. Головной дисплей 5 обеспечивает демонстрацию пользователю 7 изображения, формируемого системой 1 на основе данных трекинга, полученных от трекеров 10, 20, 30. Изображение, демонстрируемое пользователю, может быть 3D-изображением виртуальной реальности или 3D-изображением дополненной реальности. Данные трекинга, формируемые трекерами 10, 20, 30, содержат данные о местоположении трекеров и, следовательно, соответствующих частей тела пользователя 7, об их ориентации в пространстве, и (опционально) о параметрах их движения – направлении, скорости и ускорении.In FIG. 1 shows an example implementation of a VR / AR system 1 comprising a head display 5 in the form of a helmet or glasses, a tracker 10 located on the head display 5, a central data processing device 6 (host) also located on the head display 5, tracker 20, tracker 30 , and a marker strip 4 containing active markers 40, 41, 42. The head display 5 provides a demonstration to user 7 of the image generated by the system 1 based on tracking data received from trackers 10, 20, 30. The image shown to the user may be 3D virtual image awn or 3D image of augmented reality. The tracking data generated by the trackers 10, 20, 30, contains data on the location of the trackers and, therefore, the corresponding parts of the user's body 7, on their orientation in space, and (optionally) on the parameters of their movement - direction, speed and acceleration.

Трекер 10 (фиг. 2) содержит оптический датчик 101 и один или несколько инерциальных датчиков 102. Для обработки данных трекинга трекер 10 содержит устройство 103 обработки данных. Устройство 103 обработки данных обеспечивает синхронизацию всех датчиков, получение данных с оптического датчика и с одного или нескольких инерциальных датчиков и обработку данных с оптического датчика для получения информации о маркерах, содержащихся в кадре, и определения положения и ориентации трекера. Трекер 10 также содержит источник 104 питания, устройство 105 связи, запоминающее устройство 106 и другие части, необходимые для его функционирования в составе системы 1 VR/AR. Трекер 10 связан с центральным устройством 6 обработки данных каналом беспроводной связи, примерами которого являются каналы WiFi, Bluetooth и т.д., для передачи данных настройки и данных трекинга.The tracker 10 (Fig. 2) contains an optical sensor 101 and one or more inertial sensors 102. For processing tracking data, the tracker 10 includes a data processing device 103. The data processing device 103 provides synchronization of all sensors, obtaining data from the optical sensor and from one or more inertial sensors and processing data from the optical sensor to obtain information about the markers contained in the frame and determine the position and orientation of the tracker. The tracker 10 also includes a power source 104, a communication device 105, a storage device 106, and other parts necessary for its functioning as part of the VR / AR system 1. The tracker 10 is connected to the central data processing device 6 by a wireless communication channel, examples of which are WiFi, Bluetooth, etc. channels for transmitting setting data and tracking data.

Трекер 20 и трекер 30 могут быть идентичными трекеру 10 или могут иметь отличия, связанные с иным характером движения соответствующих им частей тела пользователя. В частности, трекеры 20, 30, соединенные с игровыми контроллерами в руках пользователя, могут быть способны отслеживать более быстрые и резкие движения, чем трекер 10, расположенный на голове пользователя. Тем не менее общий принцип работы системы трекинга при этом остается по существу неизменным. Подробно различные варианты трекеров описаны в патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в данный документ посредством ссылки. Конструкция оптического датчика, пригодного для применения в данном изобретении, описана в патентных заявках PCT/RU2014/001019 и US15540313 этого же заявителя, все содержание которых также включено в данный документ посредством ссылки.The tracker 20 and the tracker 30 may be identical to the tracker 10 or may have differences related to the different nature of the movement of their corresponding body parts of the user. In particular, the trackers 20, 30 connected to the game controllers in the hands of the user may be able to track faster and more abrupt movements than the tracker 10 located on the user's head. Nevertheless, the general principle of operation of the tracking system remains essentially unchanged. Various tracker options are described in detail in patent applications PCT / IB2017 / 058068 and US15844967 of the same applicant, the entire contents of which are incorporated herein by reference. The construction of an optical sensor suitable for use in this invention is described in patent applications PCT / RU2014 / 001019 and US15540313 of the same applicant, the entire contents of which are also incorporated herein by reference.

Маркерная полоса 4 (фиг. 3) содержит основание, представляющее собой узкую гибкую полосу из полимерного материала с гибкими проводниками, обеспечивающими подачу питания к активным маркерам 40, 41, 42. Материал основания может быть тканым или нетканым. Гибкость основания и проводников обеспечивает компактность маркерной полосы в свернутом виде при хранении и транспортировке (фиг. 4), при этом конструкция основания обеспечивает ее достаточную жесткость в поперечном направлении (в плоскости ее установки) и постоянство расстояния между маркерами, что необходимо для обеспечения геометрической стабильности оптического паттерна. Проводники могут быть металлическими, металлизированными, оксидными, композитными, выполненными по толстопленочной или тонкопленочной технологии, обеспечивающими подачу безопасного напряжения при мощности потребления величиной в несколько ватт. Активные маркеры 40, 41, 42 могут прикрепляться к основанию любым подходящим способом, обеспечивающим надежное крепление в заранее заданных местах и подвод напряжения питания. В иллюстративном варианте осуществления изобретения использованы ленточные металлические проводники, а активные маркеры 40, 41, 42 крепятся к основанию с помощью магнитных разъемов, обеспечивающих быстрый монтаж маркеров на основание и демонтаж с него, при этом легкость демонтажа маркеров предохраняет маркерную полосу 4 от разрушения в случае непреднамеренного физического контакта пользователя с маркерами. Питание на маркеры 40, 41, 42 подается с источника 45 питания через кабель 44 и электрический соединитель 43.Marker strip 4 (Fig. 3) contains a base, which is a narrow flexible strip of polymer material with flexible conductors that provide power to the active markers 40, 41, 42. The base material can be woven or non-woven. The flexibility of the base and conductors ensures the compactness of the marker strip when folded during storage and transportation (Fig. 4), while the design of the base ensures its sufficient rigidity in the transverse direction (in the plane of its installation) and a constant distance between the markers, which is necessary to ensure geometric stability optical pattern. Conductors can be metal, metallized, oxide, composite, made by thick-film or thin-film technology, providing safe voltage supply at a power consumption of several watts. Active markers 40, 41, 42 can be attached to the base in any suitable way, providing reliable mounting in predetermined locations and supply voltage. In an illustrative embodiment of the invention, tape metal conductors are used, and active markers 40, 41, 42 are attached to the base with magnetic connectors, which allow fast installation of markers on the base and dismantle from it, while the ease of dismantling the markers prevents marker strip 4 from destruction in case Unintentional physical contact of the user with markers. Power to the markers 40, 41, 42 is supplied from the power source 45 through the cable 44 and the electrical connector 43.

В иллюстративном варианте осуществления изобретения активные маркеры 40, 41, 42 представляют собой светоизлучающие ИК-маркеры. В других вариантах осуществления изобретения активные маркеры 40, 41, 42 могут работать в других частотных диапазонах, например, в диапазоне видимого света.In an illustrative embodiment, the active markers 40, 41, 42 are light emitting IR markers. In other embodiments, active markers 40, 41, 42 may operate in other frequency ranges, for example, in the visible light range.

Источник 45 питания может быть любым сетевым или автономным источником питания, обеспечивающим необходимое безопасное напряжение (например, 5, 6, 12, 24, 36 или 48 В) постоянного или переменного тока. Например, в качестве автономного источника питания возможно использование аккумулятора типа PowerBank напряжением 5 В или 12 В постоянного тока, используемого для питания/заряда мобильных устройств, или аккумулятора типа Booster напряжением 12,6 В постоянного тока, предназначенного для облегчения запуска автомобильных двигателей при недостаточном заряде основного аккумулятора. При использовании в системе 1 нескольких маркерных полос 4 питание может осуществляться централизованно, от одного общего источника питания, или же питание может быть распределенным, когда каждая маркерная полоса 4 питается от отдельного источника питания. Централизованное питание может быть предпочтительным в стационарных коммерческих системах VR/AR, особенно, если маркерные полосы 4 встроены в пол или расположены на стенах либо на потолке помещения. Распределенное питание может быть предпочтительным в мобильных любительских системах VR/AR, в частности, пригодных для использования вне помещений.The power source 45 may be any mains or autonomous power source providing the necessary safe voltage (for example, 5, 6, 12, 24, 36, or 48 V) of direct or alternating current. For example, as a stand-alone power supply, it is possible to use a 5 V or 12 V DC PowerBank battery used to power / charge mobile devices, or a 12.6 V DC Booster battery designed to facilitate the starting of car engines with insufficient charge main battery. When using multiple marker bands 4 in system 1, power can be provided centrally from one common power source, or power can be distributed when each marker strip 4 is powered by a separate power source. Centralized power may be preferred in stationary commercial VR / AR systems, especially if marker strip 4 is embedded in the floor or located on the walls or ceiling of the room. Distributed power may be preferred in mobile amateur VR / AR systems, particularly suitable for outdoor use.

Кабель 44 и электрический соединитель 43 могут быть любого подходящего типа. Их выбор представляет собой тривиальную задачу для специалиста, поэтому их описание опущено.Cable 44 and electrical connector 43 may be of any suitable type. Their choice is a trivial task for a specialist, therefore their description is omitted.

Каждый из активных маркеров 40, 41, 42 представляет собой светодиодный излучатель в ИК-диапазоне с диаграммой направленности, близкой к полусферической. Требуемая диаграмма направленности обеспечивается расположением и ориентацией одного или нескольких кристаллов светодиодов, а также рассеивателем, например, выполненным на основе линзы Френеля. Маркер может содержать драйвер, обеспечивающий работоспособность светодиодного излучателя в широком диапазоне напряжений питания. Each of the active markers 40, 41, 42 is an infrared LED emitter with a near-hemispherical radiation pattern. The required radiation pattern is provided by the location and orientation of one or more LED crystals, as well as a diffuser, for example, made on the basis of a Fresnel lens. The marker may contain a driver that ensures the health of the LED emitter in a wide range of supply voltages.

Комбинация активных маркеров 40, 41, 42, расположенных заранее заданным образом, образует элементарный оптический паттерн (далее для краткости может называться элементарным паттерном), наличие и расположение которого в пространстве определяется хостом 6 на основе данных о маркерах, присутствующих в потоке данных с трекера 10. Использование активных (светоизлучающих) маркеров определяется принципом обратного трекинга и обеспечивает ряд преимуществ по сравнению с использованием пассивных (светоотражающих) маркеров. В частности, при применении активных маркеров не требуется дополнительного питания трекера для обеспечения подсветки пассивных маркеров, что особенно важно, когда трекер размещен на подвижном объекте. Максимальный размер зоны трекинга связан с размером и яркостью маркеров. Питание активных маркеров от сетевых или автономных источников питания позволяет многократно увеличивать мощность излучения маркеров, тем самым увеличивая размер зоны трекинга. При этом энергопотребление самого трекера остается неизменным.The combination of active markers 40, 41, 42 arranged in a predetermined manner forms an elementary optical pattern (hereinafter, for brevity, it can be called an elementary pattern), the presence and location of which in space is determined by host 6 based on data about markers present in the data stream from tracker 10 The use of active (light emitting) markers is determined by the principle of reverse tracking and provides a number of advantages compared to the use of passive (reflective) markers. In particular, when using active markers, additional power is not required for the tracker to provide illumination for passive markers, which is especially important when the tracker is placed on a moving object. The maximum size of the tracking zone is related to the size and brightness of the markers. Powered active markers from network or stand-alone power sources can repeatedly increase the radiation power of markers, thereby increasing the size of the tracking zone. At the same time, the energy consumption of the tracker itself remains unchanged.

Элементарный паттерн может быть линейным паттерном, который выявляется алгоритмом обработки данных о маркерах. Линейный паттерн характеризуется заранее заданным соотношением расстояний между маркерами. В частности, в варианте осуществления изобретения с 3 маркерами, лежащими на одной линии в последовательности 40–41–42, как показано на фиг. 3, расстояние между маркерами 40 и 41 вдвое больше, чем расстояние между маркерами 41 и 42. Разумеется, что соотношение расстояний между маркерами может быть иным при условии сохранения возможности надежной идентификации такого элементарного паттерна в системе.An elementary pattern can be a linear pattern, which is identified by the marker data processing algorithm. The linear pattern is characterized by a predetermined ratio of the distances between the markers. In particular, in an embodiment of the invention with 3 markers lying on the same line in the sequence 40–41–42, as shown in FIG. 3, the distance between the markers 40 and 41 is twice as large as the distance between the markers 41 and 42. Of course, the ratio of the distances between the markers may be different, provided that it is possible to reliably identify such an elementary pattern in the system.

Рабочую зону можно масштабировать, увеличивая длину маркерной полосы 4 с сохранением соотношения расстояний и обеспечивая достаточную площадь светящейся поверхности маркеров и яркость их свечения. Это дает возможность существенного увеличения рабочей зоны с сохранением высоких характеристик отслеживания при условии сохранения угловых и яркостных параметров изображений маркеров в кадре оптического датчика. The working area can be scaled by increasing the length of the marker strip 4 while maintaining the ratio of distances and providing a sufficient area of the luminous surface of the markers and the brightness of their glow. This makes it possible to significantly increase the working area while maintaining high tracking characteristics while maintaining the angular and brightness parameters of marker images in the frame of the optical sensor.

Разумеется, что элементарный паттерн может быть линейным паттерном с большим количеством маркеров, например, с четырьмя, пятью и т.д. маркерами; элементарный паттерн также может быть нелинейным паттерном, т.е. маркеры могут быть расположены не на одной линии.Of course, that an elementary pattern can be a linear pattern with a large number of markers, for example, with four, five, etc. markers; the elementary pattern can also be a nonlinear pattern, i.e. Markers may not be on the same line.

Помимо описанного выше способа увеличения рабочей зоны, существует возможность практически бесконечного масштабирования рабочей зоны за счет добавления дополнительных маркерных полос. В этом случае в картину трекинга добавляются не комбинации отдельных маркеров, а комбинации элементарных паттернов. Таким образом, система определяет наличие в кадре заранее известных элементарных паттернов и затем определяет расположение этих паттернов друг относительно друга. Это дает возможность спроектировать комбинацию элементарных паттернов таким образом, чтобы на основе карты элементарных паттернов, построенной при настройке зоны трекинга, система трекинга могла однозначно определить положение трекера в пределах рабочей зоны. Такой подход возможно использовать для построения не только рабочей зоны простой формы в одном помещении, но и рабочей зоны сложной формы, в том числе, распределенной по нескольким смежным помещениям.In addition to the above-described method of increasing the working area, there is the possibility of almost infinite scaling of the working area by adding additional marker strips. In this case, not combinations of individual markers, but combinations of elementary patterns are added to the tracking picture. Thus, the system determines the presence in the frame of previously known elementary patterns and then determines the location of these patterns relative to each other. This makes it possible to design a combination of elementary patterns in such a way that, based on the map of elementary patterns constructed when setting up the tracking zone, the tracking system can uniquely determine the position of the tracker within the working area. Such an approach can be used to build not only a simple working area in one room, but also a complex working area, including one distributed across several adjacent rooms.

Таким образом, одним из преимуществ изобретения является простое масштабирование зоны трекинга за счет добавления новых маркерных полос и автоматическая настройка зоны трекинга после такого масштабирования. В системах прямого оптического трекинга с маркерами на подвижном объекте для расширения зоны трекинга требуется добавление дополнительных камер, что, в большинстве случаев, технически сложно и дорого. В заявленной системе стоимость маркерных полос невелика и трудоемкость их монтажа незначительна.Thus, one of the advantages of the invention is the simple scaling of the tracking zone by adding new marker stripes and the automatic adjustment of the tracking zone after such scaling. In direct optical tracking systems with markers on a moving object, to expand the tracking zone, the addition of additional cameras is required, which, in most cases, is technically difficult and expensive. In the claimed system, the cost of marker strips is low and the complexity of their installation is negligible.

В зависимости от сценария, маркерные полосы могут находиться на полу, на стенах или на потолке. Возможны также комбинированные варианты, например, с расположением маркерных полос на стенах и на потолке или на полу и на стенах. В стационарных вариантах осуществления изобретения маркеры могут быть встроены в пол, в стены или в потолок. В передвижных вариантах осуществления изобретения, например, в выставочных образцах, маркеры могут быть встроены в разборный пол, являющийся частью выставочного инсталляционного комплекта. Возможен также вариант закрепления маркерных полос на стойках, балках, консолях и иных несущих конструкциях, в том числе, разборных и передвижных.Depending on the scenario, marker strips may be on the floor, on the walls or on the ceiling. Combined options are also possible, for example, with marker strips on the walls and on the ceiling or on the floor and walls. In stationary embodiments of the invention, markers can be embedded in the floor, walls or ceiling. In mobile embodiments of the invention, for example, in exhibition samples, markers can be embedded in a collapsible floor, which is part of the exhibition installation kit. It is also possible to fix marker strips on racks, beams, consoles and other supporting structures, including collapsible and mobile ones.

В качестве альтернативы, и в стационарных, и в передвижных вариантах осуществления изобретения маркерные полосы могут быть собраны из элементов упругих сборных покрытий для пола (puzzle floor mats) (фиг. 5), которые в рабочем положении находятся в зацеплении друг с другом, что обеспечивает высокую геометрическую точность построения рабочей зоны, стабильность ее формы и размеров и, соответственно, упрощает подготовку системы VR/AR к работе. Маркеры могут быть установлены в заранее заданных местах таких элементов покрытий. Заранее заданные места установки маркеров могут представлять собой отверстия соответствующей формы, в которые устанавливаются маркеры, а неиспользуемые отверстия могут закрываться заглушками из того же материала, что и само покрытие. Провода питания маркеров могут располагаться под покрытием и могут быть ленточными проводами, что исключает их проявление в виде неровностей на рабочей поверхности покрытия. Возможно также совместное применение маркерных полос, показанных на фиг. 3, со сборными покрытиями для пола.Alternatively, in both stationary and mobile embodiments of the invention, the marker strips can be assembled from elements of elastic prefabricated floor coverings (puzzle floor mats) (Fig. 5), which are engaged with each other in the working position, which ensures high geometric accuracy of the construction of the working area, the stability of its shape and size and, accordingly, simplifies the preparation of the VR / AR system for work. Markers can be installed at predetermined locations of such coating elements. The predetermined installation locations of the markers can be holes of the corresponding shape into which the markers are mounted, and unused holes can be closed with plugs of the same material as the coating itself. The power wires of the markers can be located under the coating and can be ribbon wires, which eliminates their manifestation in the form of irregularities on the working surface of the coating. The combined use of the marker strips shown in FIG. 3, with prefabricated floor coverings.

Для любительского использования, когда важными факторами являются легкость монтажа и простота применения, предпочтительным может быть напольный вариант, в котором пользователь может расположить маркерные полосы по полу, образовав из них фигуру, близкую к прямоугольнику, и подключить их к одному или нескольким источникам питания (фиг. 6). Время инсталляции подобной системы обычно составляет не более двух минут.For amateur use, when ease of installation and ease of use are important factors, the floor-standing option may be preferable, in which the user can place marker strips on the floor, forming a figure close to a rectangle from them, and connect them to one or more power sources (Fig. . 6). The installation time for such a system is usually no more than two minutes.

Для коммерческого использования, в частности для VR-парков, может быть важно расположить ленты с маркерами вне досягаемости пользователей, чтобы они своими действиями не могли изменить характеристики рабочей зоны, определенные при инициализации системы и/или заданные в параметрах настройки системы. Кроме того, коммерческие системы VR/AR часто бывают многопользовательскими и при выборе расположения маркерных полос целесообразно учитывать возможность экранирования маркеров пользователями при их перемещении по рабочей зоне. В этом случае предпочтительным может быть вариант с настенным или потолочным расположением маркерных полос (фиг. 7, потолок условно не показан). Следует отметить, что при потолочном размещении маркерных полос размер рабочей зоны может существенно превышать размер фигуры, ограниченной маркерными полосами, однако в этом случае может потребоваться несколько дополнительных маркеров, расположенных на полу, для определения положения плоскости пола относительно маркерных полос, либо применение дополнительной процедуры калибровки системы, например, с временным размещением одного или нескольких трекеров на полу на время калибровки.For commercial use, in particular for VR parks, it may be important to place the tapes with markers out of the reach of users so that they could not change the characteristics of the working area defined during system initialization and / or specified in the system settings with their actions. In addition, commercial VR / AR systems are often multi-user, and when choosing the location of marker strips, it is advisable to take into account the possibility of shielding markers by users when they move around the work area. In this case, a variant with wall or ceiling arrangement of marker strips may be preferable (Fig. 7, the ceiling is not shown conditionally). It should be noted that with ceiling placement of marker strips, the size of the working area can significantly exceed the size of the figure limited by marker strips, however, in this case, several additional markers located on the floor may be required to determine the position of the floor plane relative to the marker strips, or use an additional calibration procedure systems, for example, with the temporary placement of one or more trackers on the floor during calibration.

Далее описаны принципы выявления оптического паттерна при определении фиксированной (не требующей калибровки) зоны оптического трекинга и в ходе трекинга подвижного объекта на примере системы VR/AR и приведены варианты их практической реализации. The following describes the principles for detecting an optical pattern when determining a fixed (not requiring calibration) zone of optical tracking and during tracking of a moving object using the VR / AR system as an example and provides options for their practical implementation.

Зона трекинга – область пространства, в которой обеспечивается отслеживание подвижного объекта. Согласно изобретению, в системе VR/AR отслеживаемым подвижным объектом может быть пользователь или часть тела пользователя, например, голова, рука, нога, к которым прикреплен трекер. Отслеживаемым подвижным объектом также может быть предмет, удерживаемый пользователем, например, в руке. Тем не менее, отслеживаемым подвижным объектом может быть любой другой подвижный объект, например, рабочий орган робототехнической системы или погрузочно-транспортное средство в системе внутренней логистики.Tracking zone - an area of space in which tracking of a moving object is provided. According to the invention, in a VR / AR system, the tracked moving object may be a user or a part of a user's body, for example, a head, arm, leg, to which a tracker is attached. A tracked moving object may also be an object held by a user, for example, in a hand. However, the tracked moving object can be any other moving object, for example, a working body of a robotic system or a material handling vehicle in an internal logistics system.

Отслеживание подвижного объекта выполняется в объеме зоны трекинга. Для автоматического определения зоны трекинга проекция этой зоны на рабочую (обычно горизонтальную) поверхность, например, поверхность пола или потолка в помещении, разделена на фрагменты – ячейки, которые могут иметь различную форму. При использовании ортогональной системы координат предпочтительной является квадратная форма ячеек. Размер ячейки определяется в зависимости от технической реализации системы VR/AR – минимального и максимального размера зоны трекинга, требуемой точности трекинга, вида маркеров, вида и размера элементарных паттернов, образуемых маркерами, и т.д. В частности, при использовании сборного покрытия для пола (фиг. 5) размер ячейки может быть равен размеру элемента такого покрытия, например, 60×60 см. В этом случае маркерная полоса длиной 1,5 м с тремя маркерами, как показано на фиг. 3, размещается в трех ячейках, причем, в зависимости от ориентации элементарного паттерна, маркеры могут иметь различное взаимное положение на плоскости (фиг. 8). Ориентация элементарного паттерна на фиг. 8 условно показана стрелками на маркерной полосе. Разумеется, что длина маркерной полосы может быть большей или меньшей 1,5 м и она может размещаться в большем или меньшем количестве ячеек. Например, при большей плотности маркеров маркерная полоса, соответствующая элементарному паттерну, может располагаться в двух ячейках.Tracking of a moving object is carried out in the volume of the tracking zone. To automatically determine the tracking zone, the projection of this zone on the working (usually horizontal) surface, for example, the surface of the floor or ceiling in the room, is divided into fragments - cells, which can have a different shape. When using the orthogonal coordinate system, the square shape of the cells is preferred. The cell size is determined depending on the technical implementation of the VR / AR system - the minimum and maximum size of the tracking zone, the required tracking accuracy, the type of markers, the type and size of elementary patterns formed by markers, etc. In particular, when using a prefabricated floor covering (Fig. 5), the cell size may be equal to the element size of such a coating, for example, 60 × 60 cm. In this case, a marker strip is 1.5 m long with three markers, as shown in FIG. 3, is placed in three cells, and, depending on the orientation of the elementary pattern, markers can have different relative positions on the plane (Fig. 8). The orientation of the elementary pattern in FIG. 8 is conventionally shown by arrows on the marker strip. Of course, that the length of the marker strip can be greater or less than 1.5 m and it can be placed in more or less cells. For example, with a higher marker density, the marker strip corresponding to the elementary pattern can be located in two cells.

Таким образом, поверхность разделена на ячейки, каждая из которых имеет свои координаты. Координаты ячейки могут быть заданы различными способами, например, в декартовых или полярных координатах. В иллюстративном варианте осуществления изобретения ячейки пронумерованы заранее заданным образом и координаты каждой ячейки однозначно определяются ее номером. Пример нумерации ячеек представлен на фиг. 9. Положение каждого элементарного паттерна в такой координатной сетке определено номером ячейки, содержащей центр элементарного паттерна и направлением этого паттерна. На фиг. 10 окружностью отмечен условный центр элементарного паттерна, а стрелкой показано его условное направление. Направление элементарного паттерна может иметь числовое обозначение (кодировку), как показано на фиг. 10. На фиг. 11 показан пример расположения элементарных паттернов в зоне трекинга квадратной формы. Разумеется, что зона трекинга может иметь форму, отличную от квадратной.Thus, the surface is divided into cells, each of which has its own coordinates. Cell coordinates can be set in various ways, for example, in Cartesian or polar coordinates. In an illustrative embodiment of the invention, the cells are numbered in a predetermined manner and the coordinates of each cell are uniquely determined by its number. An example of cell numbering is shown in FIG. 9. The position of each elementary pattern in such a coordinate grid is determined by the number of the cell containing the center of the elementary pattern and the direction of this pattern. In FIG. 10, the conditional center of the elementary pattern is marked with a circle, and the arrow shows its conditional direction. The direction of the elementary pattern may have a numerical designation (coding), as shown in FIG. 10. In FIG. 11 shows an example of the arrangement of elementary patterns in a tracking area of a square shape. Of course, the tracking zone may have a shape other than square.

Элементарные паттерны образуют уникальные сочетания, условно именуемые далее «созвездиями». В системе VR/AR положение и ориентация трекера в пространстве определяется по «созвездиям», подобно морской, воздушной или сухопутной навигации по звездному небу. Иными словами, выявив на изображении, полученном с оптического датчика трекера в пределах зоны трекинга, уникальные сочетания элементарных паттернов, система VR/AR способна однозначно определить положение и ориентацию трекера. Поэтому столь важна задача выявления и регистрации «созвездий» на этапе настройки зоны оптического трекинга перед началом работы системы VR/AR.Elementary patterns form unique combinations, conditionally referred to as “constellations” below. In the VR / AR system, the position and orientation of the tracker in space is determined by the "constellations", like sea, air or land navigation in the starry sky. In other words, by identifying unique combinations of elementary patterns in the image received from the optical sensor of the tracker within the tracking zone, the VR / AR system is able to uniquely determine the position and orientation of the tracker. Therefore, the task of identifying and registering "constellations" at the stage of setting up the optical tracking zone before starting the VR / AR system is so important.

Сочетания паттернов, не являющиеся уникальными, отбраковываются алгоритмом регистрации «созвездий». На фиг. 12А и фиг. 12Б показаны примеры уникального и неуникального сочетания элементарных паттернов: представленное на фиг. 12А сочетание паттернов является уникальным, а представленное на фиг. 12Б сочетание паттернов является неуникальным, поскольку оно обладает центральной симметрией и поворот его изображения на 180° относительно центра изображения приводит к получению идентичного изображения, технически неотличимого от первоначального, поэтому сочетание элементарных паттернов на фиг. 12Б не может быть использовано для определения положения и ориентации трекера и связанного с ним подвижного объекта.Combinations of patterns that are not unique are rejected by the algorithm for registering “constellations”. In FIG. 12A and FIG. 12B shows examples of a unique and non-unique combination of elementary patterns: shown in FIG. 12A, the combination of patterns is unique, and the one shown in FIG. 12B, the combination of patterns is not unique, since it has central symmetry and rotation of its image by 180 ° relative to the center of the image results in an identical image, technically indistinguishable from the original, therefore, the combination of elementary patterns in FIG. 12B cannot be used to determine the position and orientation of the tracker and the associated moving object.

Следует отметить, что в общем случае размер зоны трекинга может быть больше размера зоны обзора трекера. Это означает, что трекер может получать изображение не всей зоны трекинга, а лишь некоторой ее части, при этом зона обзора трекера в каждый момент времени зависит от его положения и ориентации. В дальнейшем зона обзора трекера может называться окном трекинга. Для определения положения и ориентации трекера по данным оптического датчика необходимо, чтобы в окно трекинга попало, по меньшей мере, одно «созвездие».It should be noted that in general, the size of the tracking zone may be larger than the size of the field of view of the tracker. This means that the tracker can receive an image not of the entire tracking area, but only of a certain part of it, while the tracker’s field of view at each moment of time depends on its position and orientation. In the future, the field of view of the tracker may be called the tracking window. To determine the position and orientation of the tracker according to the optical sensor, it is necessary that at least one “constellation” fall into the tracking window.

Далее описана последовательность действий алгоритма регистрации «созвездий», выполняемого при настройке зоны трекинга, в частности, при инициализации системы VR/AR после ее включения или после перезагрузки, в связи с изменением ее конфигурации или в связи с изменением рабочего сценария. Результатом работы этого алгоритма является таблица, содержащая записи обо всех «созвездиях» в зоне трекинга. Каждая запись содержит идентификатор (ID) «созвездия» и идентификаторы элементарных паттернов, составляющих это «созвездие». В иллюстративном варианте осуществления изобретения ID «созвездия» содержит координаты каждого элементарного паттерна в составе «созвездия», которые представлены номером ячейки, в которой находится центр этого элементарного паттерна, и направление элементарного паттерна, представленное кодом поворота, а идентификатором элементарного паттерна является его порядковый номер, заданный в конфигурации зоны трекинга при ее разметке. Разумеется, что структура ID «созвездия» может отличаться от описанной выше.The following describes the sequence of actions of the "constellations" registration algorithm that is performed when setting up the tracking zone, in particular, when the VR / AR system is initialized after it is turned on or after reboot, due to a change in its configuration or due to a change in the working scenario. The result of this algorithm is a table containing records of all the "constellations" in the tracking zone. Each record contains the identifier (ID) of the "constellation" and the identifiers of the elementary patterns that make up this "constellation". In an illustrative embodiment of the invention, the constellation ID contains the coordinates of each elementary pattern in the constellation, which are represented by the cell number at which the center of this elementary pattern is located, and the direction of the elementary pattern, represented by the rotation code, and the identifier of the elementary pattern is its serial number specified in the configuration of the tracking zone when marking it. Of course, the constellation ID structure may differ from that described above.

Блок-схема алгоритма выявления и регистрации «созвездий» при настройке зоны трекинга представлена на фиг. 13А, Б. The block diagram of the algorithm for identifying and registering "constellations" when setting up the tracking zone is shown in FIG. 13A, B.

На шаге S1 определяется зона трекинга, которая будет использована при работе системы трекинга. Определение зоны трекинга может выполняться путем выполнения ее разметки или путем считывания готовой разметки из памяти системы трекинга. Принципы разметки зоны трекинга описаны в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.At step S1, a tracking zone is determined which will be used in the operation of the tracking system. The determination of the tracking zone can be carried out by performing its marking or by reading the finished marking from the memory of the tracking system. The principles for marking the tracking zone are described in earlier patent applications PCT / IB2017 / 058068 and US15844967 of the same applicant, all of which are incorporated herein by reference.

На шаге S2 выбирается размер окна трекинга, исходя из технических характеристик оптического датчика (угла обзора, разрешающей способности и т.д.), скорости обработки изображения в системе трекинга и максимальной сложности «созвездия» (максимального количества элементарных паттернов в составе одного «созвездия»), с учетом разделения зоны трекинга на ячейки.In step S2, the size of the tracking window is selected based on the technical characteristics of the optical sensor (viewing angle, resolution, etc.), the image processing speed in the tracking system and the maximum complexity of the “constellation” (maximum number of elementary patterns in one “constellation” ), taking into account the division of the tracking zone into cells.

В иллюстративном варианте осуществления изобретения окно трекинга принято равным квадрату размером 4×4 ячейки (на фиг. 9 окно трекинга выделено жирной линией) и для каждого элементарного паттерна возможно 4×4=16 вариантов положения центра паттерна (требует 4 бита) и четыре варианта поворота с шагом 90° (требует 2 бита). Если максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8×(4+2)=48 битов.In an illustrative embodiment of the invention, the tracking window is taken to be a 4 × 4 square cell (in Fig. 9, the tracking window is shown in bold) and for each elementary pattern, 4 × 4 = 16 variants of the center of the pattern are possible (requires 4 bits) and four rotation options in 90 ° increments (requires 2 bits). If the maximum complexity of the "constellation" is limited to 8 elementary patterns, then the length of the "constellation" ID will be 8 × (4 + 2) = 48 bits.

Разумеется, что размер окна трекинга 4×4 ячейки в иллюстративном варианте осуществления изобретения выбран для упрощения понимания. На практике размер окна трекинга зависит от физических размеров зоны трекинга, назначения системы VR/AR, количества пользователей и т.д. и может составлять, например, 6×6 ячеек или 10×10 ячеек. При этом и длина ID «созвездия» окажется большей.Of course, the size of the 4x4 cell tracking window in an exemplary embodiment of the invention is selected to facilitate understanding. In practice, the size of the tracking window depends on the physical dimensions of the tracking zone, the purpose of the VR / AR system, the number of users, etc. and may be, for example, 6 × 6 cells or 10 × 10 cells. Moreover, the length of the ID "constellation" will be greater.

Например, если окно трекинга принять равным квадрату размером 6×6 ячеек, то для каждого элементарного паттерна возможно 6×6=36 вариантов положения центра паттерна (требует 6 битов) и четыре варианта поворота с шагом 90° (требует 2 бита). Если при этом максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8×(6+2)=64 бита, а если максимальную сложность «созвездия» ограничить 16 элементарными паттернами, то длина ID «созвездия» составит 16×(6+2)=128 битов.For example, if the tracking window is taken to be equal to a square of 6 × 6 cells, then for each elementary pattern, there are 6 × 6 = 36 options for positioning the center of the pattern (requires 6 bits) and four rotation options in 90 ° increments (requires 2 bits). If at the same time the maximum complexity of the "constellation" is limited to 8 elementary patterns, then the length of the ID of the "constellation" will be 8 × (6 + 2) = 64 bits, and if the maximum complexity of the "constellation" is limited to 16 elementary patterns, then the length of the "constellation" will be 16 × (6 + 2) = 128 bits.

Уменьшение максимальной сложности «созвездия» и уменьшение размера окна трекинга позволяет ускорить обработку данных и, следовательно, уменьшить общую задержку реагирования системы VR/AR на действия пользователя. В то же время, увеличение максимальной сложности «созвездия» позволяет увеличить надежность трекинга, особенно при затенении маркеров пользователями в многопользовательской системе VR/AR. Таким образом, выбор размера окна трекинга и максимальной сложности «созвездия» представляет собой компромиссное решение с учетом всех параметров системы VR/AR.Reducing the maximum complexity of the "constellation" and reducing the size of the tracking window allows you to speed up data processing and, therefore, reduce the overall delay in the response of the VR / AR system to user actions. At the same time, increasing the maximum complexity of the "constellation" allows you to increase the reliability of tracking, especially when shading markers by users in a multi-user VR / AR system. Thus, the choice of the size of the tracking window and the maximum complexity of the "constellation" is a compromise solution taking into account all the parameters of the VR / AR system.

Затем окно трекинга устанавливается в начальное положение. В иллюстративном варианте осуществления изобретения в качестве начального выбрано положение в левом нижнем углу зоны трекинга. Разумеется, что начальным может быть другое удобное положение.Then the tracking window is set to its initial position. In an illustrative embodiment of the invention, the position in the lower left corner of the tracking zone is selected as the initial one. Of course, the starting point may be another convenient position.

На шаге S3 определяются все элементарные паттерны, полностью попавшие в окно трекинга.At step S3, all elementary patterns that completely fall into the tracking window are determined.

На шаге S4 формируется ID «созвездия»-кандидата, содержащего элементарные паттерны, попавшие в окно трекинга.At step S4, the ID of the “constellation” of the candidate is formed, which contains elementary patterns that fall into the tracking window.

При этом в ходе работы алгоритма отслеживания, описанного далее, возможна ситуация, когда на изображении с оптического датчика трекера присутствуют не все элементарные паттерны, попавшие в окно трекинга. Это может быть вызвано, например, затенением маркеров руками или игровым инвентарем пользователя, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR (см. фиг. 14). В частности, если в окно трекинга попали четыре элементарных паттерна, на изображении с оптического датчика трекера могут быть выявлены только три или только два из них. Поэтому для такого ID «созвездия»-кандидата, в общем случае, содержащего N элементарных паттерна, при настройке зоны трекинга формируются также ID всех его дочерних «созвездий»-кандидатов, содержащих по N–1, N–2, N–3, … элементарных паттернов. In this case, during the operation of the tracking algorithm described below, a situation is possible when not all elementary patterns that fall into the tracking window are present on the image from the optical sensor of the tracker. This can be caused, for example, by shading markers with the hands or game equipment of the user with whom this tracker is connected, or by other users in the multi-user VR / AR system (see Fig. 14). In particular, if four elementary patterns get into the tracking window, only three or only two of them can be detected in the image from the optical sensor of the tracker. Therefore, for such an ID of a “constellation” candidate, in the general case, containing N elementary patterns, when setting up the tracking zone, the IDs of all its daughter “constellations” candidates containing N – 1, N – 2, N – 3, ... elementary patterns.

В итоговую таблицу «созвездий» должны попасть только уникальные сочетания элементарных паттернов. Если сочетание элементарных паттернов не является уникальным, оно не может быть использовано для определения положения и ориентации трекера и связанного с ним подвижного объекта. Only unique combinations of elementary patterns should fall into the final table of “constellations”. If the combination of elementary patterns is not unique, it cannot be used to determine the position and orientation of the tracker and the moving object associated with it.

Поэтому на шаге S5 «созвездие»-кандидат проверяется на уникальность и если в таблице уже существует идентичный ID «созвездия»-кандидата, то ID такого «созвездия»-кандидата и ID всех его дочерних «созвездий»-кандидатов помечаются как неуникальные.Therefore, at step S5, the “constellation” of the candidate is checked for uniqueness, and if an identical ID of the “constellation” of the candidate already exists in the table, then the ID of such a “constellation” of the candidate and the ID of all its child “constellations” of the candidates are marked as non-unique.

После формирования ID «созвездий»-кандидатов для текущего окна трекинга они записываются в таблицу «созвездий» на шаге S6.After forming the ID of the “constellations” of candidates for the current tracking window, they are recorded in the table of “constellations” at step S6.

Затем на шаге S7 окно трекинга поворачивается на заранее заданный угол и на шаге S8 шаги S2–S6 повторяются в отношении повернутого окна трекинга. Поворот требуется для проверки уникальности «созвездий»-кандидатов, наблюдаемых с разных ракурсов. В иллюстративном варианте осуществления изобретения этот поворот выполняется на 90° против часовой стрелки. Разумеется, что этот поворот может выполняться на другой угол и/или по часовой стрелке. На шаге S9 поворот и шаги S7, S8 выполняются несколько раз, пока зона трекинга не вернется в положение до начала поворота. В частности, при повороте на 90° поворот и шаги S7, S8 необходимо выполнить четыре раза.Then, in step S7, the tracking window is rotated by a predetermined angle, and in step S8, steps S2 – S6 are repeated with respect to the rotated tracking window. A rotation is required to verify the uniqueness of the "constellations" of candidates observed from different angles. In an exemplary embodiment of the invention, this rotation is performed 90 ° counterclockwise. Of course, this rotation can be performed at a different angle and / or clockwise. At step S9, the turn and steps S7, S8 are performed several times until the tracking area returns to the position before the start of the turn. In particular, when turning through 90 °, the turning and steps S7, S8 must be performed four times.

В дальнейшем при работе алгоритма на шаге S10 окно трекинга перемещается по всей зоне трекинга и на шаге S11 для каждого положения окна формируются ID «созвездий», полностью попадающих в это окно, как описано выше для шагов S2–S9. В иллюстративном варианте осуществления изобретения это перемещение выполняется на две ячейки. Разумеется, что это перемещение может выполняться с другим шагом, например, на одну или три ячейки. В некоторых вариантах осуществления изобретения это перемещение может иметь различный шаг по вертикали и по горизонтали. Например, шаг перемещения окна трекинга по вертикали может составлять одну ячейку, а шаг перемещения окна трекинга по горизонтали может составлять две ячейки или наоборот.Subsequently, during the operation of the algorithm in step S10, the tracking window moves across the entire tracking zone and in step S11, for each window position, IDs of “constellations” are completely entered into this window, as described above for steps S2 – S9. In an illustrative embodiment of the invention, this movement is performed in two cells. Of course, this movement can be performed with another step, for example, one or three cells. In some embodiments, this movement may have different vertical and horizontal steps. For example, the step of moving the tracking window vertically can be one cell, and the step of moving the tracking window horizontally can be two cells, or vice versa.

Далее на шаге S12 выполняется проверка покрытия всей зоны трекинга и после того, как при работе описанного выше алгоритма была покрыта вся зона трекинга, из таблицы «созвездий» на шаге S13 удаляются все неуникальные ID «созвездий»-кандидатов. На этом формирование таблицы «созвездий» заканчивается и работа алгоритма регистрации «созвездий» завершается.Next, at step S12, the coverage of the entire tracking zone is checked and after the entire tracking zone was covered during the operation of the algorithm described above, all non-unique IDs of the “constellations” of candidates are removed from the “constellations” table in step S13. This completes the formation of the table of "constellations" and the work of the algorithm for registering "constellations" ends.

Описанным выше образом решается задача автоматической настройки зоны трекинга перед началом работы системы трекинга. Далее в ходе работы системы трекинга осуществляется отслеживание подвижного объекта, с которым физически связан трекер, с использованием результатов этой автоматической настройки.In the manner described above, the task of automatically adjusting the tracking zone is solved before the start of the tracking system. Further, during the operation of the tracking system, the tracking of a moving object with which the tracker is physically connected is carried out using the results of this automatic setup.

В процессе отслеживания подвижного объекта выполняется алгоритм отслеживания, блок-схема которого представлена на фиг. 15.In the process of tracking a moving object, a tracking algorithm is executed, the block diagram of which is shown in FIG. 15.

На шаге S21 считывается изображение с оптического датчика трекера и выполняется его предварительная обработка, алгоритм которой более подробно описан далее со ссылкой на фиг. 20. At step S21, the image from the optical sensor of the tracker is read and its preliminary processing is performed, the algorithm of which is described in more detail below with reference to FIG. 20.

На шаге S22 выявляются все элементарные паттерны, присутствующие на изображении с оптического датчика трекера и полностью попавшие в окно трекинга. Алгоритм выявления элементарных паттернов более подробно описан далее со ссылкой на фиг. 21.At step S22, all elementary patterns are detected that are present in the image from the optical sensor of the tracker and completely fall into the tracking window. The algorithm for detecting elementary patterns is described in more detail below with reference to FIG. 21.

На шаге S23 формируется ID «созвездия», выявленного в окне трекинга. Формат ID «созвездия» и способ его формирования в целом аналогичны описанным ранее для алгоритма регистрации «созвездий». In step S23, the “constellation” ID identified in the tracking window is generated. The “constellation” ID format and the method of its formation are generally similar to those described previously for the “constellation” registration algorithm.

На шаге S24 определяется соответствие сформированного ID «созвездия» одному из уникальных сочетаний элементарных паттернов, зафиксированных в таблице «созвездий» при настройке зоны трекинга системы VR/AR.At step S24, the correspondence of the generated constellation ID is determined to one of the unique combinations of elementary patterns fixed in the constellations table when setting up the tracking zone of the VR / AR system.

На шаге S25 на основе идентифицированного «созвездия» из таблицы «созвездий» определяется положение и ориентация трекера в пространстве. Способы определения положения и ориентации объекта с использованием внешних ориентиров (в частности, способы навигации с использованием карт звездного неба) хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения.In step S25, based on the identified “constellations”, the position and orientation of the tracker in space is determined from the “constellations” table. Methods for determining the position and orientation of an object using external landmarks (in particular, navigation methods using starry sky maps) are well known to specialists in this field of technology, therefore, their description is omitted for brevity.

Далее при поступлении нового изображения с оптического датчика трекера шаги S21– S25 повторяются.Then, when a new image arrives from the optical sensor of the tracker, steps S21 – S25 are repeated.

Следует отметить, что системе трекинга необходимо обнаружить, по меньшей мере, одно «созвездие», чтобы определить положение и ориентацию трекера и начать трекинг подвижного объекта. В дальнейшем в процессе трекинга невозможность обнаружения одного или нескольких «созвездий» в очередном изображении с оптического датчика (например, вследствие перекрытия маркеров пользователем, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR, или в результате неудачного расположения пользователя в зоне трекера в некоторый момент времени) не приводит к сбою в работе системы трекинга, поскольку эта система способна определять положение и ориентацию трекера за счет инерциального трекинга, т.е. на основе данных, получаемых с инерциальных датчиков, в течение времени, достаточного для получения нового изображения с оптического датчика и возобновления оптического трекинга. It should be noted that the tracking system must detect at least one “constellation” in order to determine the position and orientation of the tracker and begin tracking the moving object. Further, during the tracking process, the inability to detect one or more “constellations” in the next image from the optical sensor (for example, due to overlapping markers by the user with whom this tracker is connected, or by other users in the multi-user VR / AR system, or as a result of the user's unsuccessful zone of the tracker at some point in time) does not lead to a malfunction of the tracking system, since this system is able to determine the position and orientation of the tracker due to inertial tracking , Ie on the basis of data obtained from inertial sensors for a time sufficient to obtain a new image from the optical sensor and resume optical tracking.

Кроме того, в некоторых вариантах осуществления изобретения возможно продолжение трекинга подвижного объекта на основе не только «созвездий», но и на основе выявленных отдельных элементарных паттернов или даже отдельных маркеров. Например, поскольку система трекинга способна в течение некоторого времени определять положение и ориентацию трекера за счет только инерциального трекинга, то на основе информации о конфигурации зоны трекинга эта система может определять номинальное положение отдельных маркеров (т.е. точки или области пространства, в которых наиболее вероятно обнаружение маркеров). В этом случае возможно продолжение трекинга путем выявления лишь отдельных маркеров и сверки их фактического положения с номинальным положением. Очевидно, что надежность такого трекинга может оказаться ниже, но его использование в течение некоторого времени, достаточного для получения изображения с оптического датчика со всеми «созвездиями», может быть вполне оправданным. In addition, in some embodiments of the invention, it is possible to continue tracking a moving object based not only on "constellations", but also on the basis of identified individual elementary patterns or even individual markers. For example, since the tracking system is able to determine the position and orientation of the tracker for some time due to only inertial tracking, based on the configuration information of the tracking zone, this system can determine the nominal position of individual markers (i.e., points or areas of space in which likely detection of markers). In this case, tracking can be continued by identifying only individual markers and reconciling their actual position with the nominal position. Obviously, the reliability of such tracking may be lower, but its use for some time, sufficient to obtain an image from an optical sensor with all the "constellations", can be fully justified.

Эти свойства системы трекинга согласно данному изобретению позволяют повысить точность и надежность трекинга, в том числе в многопользовательском режиме.These properties of the tracking system according to this invention can improve the accuracy and reliability of tracking, including in multi-user mode.

В иллюстративном варианте осуществления изобретения частота поступления данных с оптического датчика составляет приблизительно 60 кадров в секунду, а частота поступления данных с инерциального датчика составляет приблизительно 2000 выборок в секунду. В других вариантах осуществления изобретения частота поступления данных с оптического датчика может быть повышена до приблизительно 400 кадров в секунду. Технические решения средств оптического трекинга и инерциального трекинга и их взаимодействие для решения этой задачи описаны в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.In an illustrative embodiment, the frequency of data received from the optical sensor is approximately 60 frames per second, and the frequency of data received from the inertial sensor is approximately 2000 samples per second. In other embodiments of the invention, the frequency of receipt of data from the optical sensor can be increased to approximately 400 frames per second. Technical solutions of optical tracking and inertial tracking and their interaction to solve this problem are described in earlier patent applications PCT / IB2017 / 058068 and US15844967 of the same applicant, the entire contents of which are incorporated into this application by reference.

Далее подробно описан алгоритм считывания и предварительной обработки изображений, блок-схема которого представлена на фиг. 20.The following describes in detail the algorithm for reading and preprocessing images, the block diagram of which is presented in FIG. 20.

На шаге S31 выполняется считывание изображение с оптического датчика. Пример изображения, полученного с оптического датчика, представлен на фиг. 16. Штриховой линией условно показана линия, соединяющая излучатели одного элементарного паттерна.In step S31, an image is read from the optical sensor. An example of an image obtained from an optical sensor is shown in FIG. 16. The dashed line conventionally shows the line connecting the emitters of one elementary pattern.

На шаге S32 выполняется компенсация геометрических искажений, вызванных оптикой и отклонениями от номинальных размеров в конструкции оптического датчика трекера. Пример изображения после компенсации геометрических искажений представлен на фиг. 17.In step S32, the compensation of geometric distortions caused by the optics and deviations from the nominal dimensions in the design of the optical sensor of the tracker is performed. An example of an image after compensation for geometric distortions is shown in FIG. 17.

На шаге S33 изображение после компенсации проецируется на рабочую плоскость. Такое проецирование изображения на плоскость выполняется на основании направления на каждый маркер (т.е. геометрического луча) в системе координат того трекера, в данных которого обнаружен этот маркер, и известного направления «вверх», определяемого по данным одного или нескольких инерциальных датчиков. Это направление может определяться в полярных координатах. Способ определения луча, направленного на конкретный маркер, описан в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки. В некоторых вариантах осуществления изобретения проецирование изображения на рабочую плоскость может не потребоваться, в частности, если маркеры уже расположены в рабочей плоскости (например, на полу, плоскость которого принята в качестве рабочей плоскости).In step S33, the image is projected onto the work plane after compensation. Such projection of an image onto a plane is performed based on the direction of each marker (i.e., the geometric ray) in the coordinate system of the tracker in which this marker is detected, and the known upward direction, determined from the data of one or more inertial sensors. This direction can be determined in polar coordinates. A method for determining a beam directed to a specific marker is described in earlier patent applications PCT / IB2017 / 058068 and US15844967 of the same applicant, all of which are incorporated herein by reference. In some embodiments, projection of an image onto a work plane may not be required, in particular if the markers are already located on the work plane (for example, on a floor whose plane is accepted as the work plane).

В иллюстративном варианте осуществления изобретения направление «вверх» определяется по данным акселерометра. Разумеется, что это направление может определяться по данным другого инерциального датчика, например, гироскопа, или по данным группы однородных или разнородных инерциальных датчиков, например, акселерометра и гироскопа. Способы определения требуемого направления по данным инерциальных датчиков хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения. Кроме того, направление «вверх» может определяться по данным других датчиков, например, датчика электрического или магнитного поля.In an illustrative embodiment, the upward direction is determined by accelerometer data. Of course, this direction can be determined by the data of another inertial sensor, for example, a gyroscope, or by the data of a group of homogeneous or heterogeneous inertial sensors, for example, an accelerometer and a gyroscope. Methods for determining the desired direction according to inertial sensors are well known to specialists in this field of technology, therefore, their description is omitted for brevity. In addition, the upward direction can be determined from other sensors, for example, an electric or magnetic field sensor.

Спроецированное на плоскость изображение представляет собой проекцию изображения, полученного с оптического датчика, на плоскость, по отношению к которой направление «вверх» является нормальным, т.е. на горизонтальную плоскость. В иллюстративном варианте осуществления изобретения горизонтальная плоскость представляет собой плоскость пола помещения, в котором расположена VR/AR-зона. Такое решение оптимально при расположении маркерных полос на полу. Разумеется, что горизонтальная плоскость может представлять собой иную плоскость, лежащую в объеме зоны трекинга, например, плоскость потолка помещения при расположении маркерных полос на потолке. Изображения, спроецированные на параллельные горизонтальные плоскости, связаны отношением математического подобия и их информационная ценность по существу одинакова.The image projected onto the plane is the projection of the image received from the optical sensor onto the plane with respect to which the upward direction is normal, i.e. on the horizontal plane. In an illustrative embodiment, the horizontal plane is the floor plane of the room in which the VR / AR zone is located. This solution is optimal when marker strips are located on the floor. Of course, the horizontal plane can be another plane lying in the volume of the tracking zone, for example, the plane of the ceiling of a room with marker strips on the ceiling. Images projected onto parallel horizontal planes are related by a relation of mathematical similarity and their information value is essentially the same.

На шаге S34 изображение нормируется, т.е. на это изображение накладывается сетка, соответствующая разбиению зоны трекинга на ячейки, как описано выше, затем это изображение поворачивается таким образом, чтобы направление каждого элементарного линейного паттерна оказалось по существу параллельным одному из направлений сетки, и смещается таким образом, чтобы центр каждого элементарного линейного паттерна оказался по существу в центре какой-либо ячейки. Пример изображения окна трекинга после нормирования представлен на фиг. 18, а на фиг. 19 для наглядности показано положение элементарных паттернов относительно сетки. Способы такой обработки изображений хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения.In step S34, the image is normalized, i.e. a grid is applied to this image, corresponding to dividing the tracking area into cells, as described above, then this image is rotated so that the direction of each elementary linear pattern is essentially parallel to one of the directions of the grid, and is shifted so that the center of each elementary linear pattern turned out to be essentially in the center of any cell. An example of the image of the tracking window after normalization is shown in FIG. 18, and in FIG. 19 for clarity, shows the position of elementary patterns relative to the grid. Methods of such image processing are well known to specialists in this field of technology, therefore, their description is omitted for brevity.

На шаге S35 на изображении выделяется окно трекинга, размер и расположение которого аналогичны описанным на шаге S1 алгоритма, выполняемого при настройке зоны трекинга. At step S35, a tracking window is highlighted in the image, the size and location of which is similar to the algorithm described in step S1, which is performed when setting up the tracking zone.

Далее подробно описан алгоритм выявления элементарных оптических паттернов, блок-схема которого представлена на фиг. 21. The algorithm for detecting elementary optical patterns, the block diagram of which is shown in FIG. 21.

На шаге S41 в окне трекинга произвольно выбираются три точки, предположительно соответствующие маркерам. In step S41, three points are randomly selected in the tracking window, presumably corresponding to markers.

На шаге S42 из выбранных трех точек определяются две опорные точки. Опорными могут быть, например, наиболее удаленные друг от друга точки. В другом примере опорными могут быть наиболее близкие друг к другу точки.In step S42, two reference points are determined from the selected three points. The reference points may be, for example, the points farthest from each other. In another example, the reference points may be the points closest to each other.

На шаге S43 для этих двух точек определяется номинальное положение третьей точки, т.е. такое ее положение, чтобы вся тройка точек соответствовала элементарному паттерну.In step S43, the nominal position of the third point is determined for these two points, i.e. its position so that the entire triple of points corresponds to an elementary pattern.

На шаге S44 определяется отклонение δ геометрического положения третьей точки от ее номинального положения. На фиг. 22 представлен пример номинального и фактического положения третьей точки, расположенной между двумя наиболее удаленными друг от друга точками.In step S44, the deviation δ of the geometric position of the third point from its nominal position is determined. In FIG. 22 shows an example of the nominal and actual position of a third point located between two points farthest from each other.

На шаге S45 выполняется проверка величины отклонения δ. Если это отклонение не превышает заранее заданного порогового значения ε, то на шаге S46 тройка точек фиксируется как элементарный паттерн-кандидат, а если это отклонение превышает заранее заданное пороговое значение ε, то на шаге S47 тройка точек отбраковывается, т.е. исключается из дальнейшего рассмотрения.At step S45, a check of the deviation δ is performed. If this deviation does not exceed a predetermined threshold value ε, then in step S46 the triple of points is fixed as an elementary candidate pattern, and if this deviation exceeds a predetermined threshold value ε, then in step S47 the triple of points is rejected, i.e. excluded from further consideration.

На шаге S48 производится проверка того, все ли сочетания трех точек обработаны на шагах S41–S47. At step S48, a check is made to see if all combinations of the three points are processed in steps S41 – S47.

После завершения обработки всех сочетаний трех точек в окне трекинга список элементарных паттернов-кандидатов на шаге S49 сортируется по их величине δ, которая является показателем качества элементарных паттернов-кандидатов.After processing of all combinations of three points in the tracking window is completed, the list of elementary candidate patterns in step S49 is sorted by their value δ, which is an indicator of the quality of elementary candidate patterns.

Затем на шаге S50 выбирается элементарный паттерн-кандидат с минимальной величиной δ и на шаге S51 выполняется проверка наличия в нем точек, уже использованных в действительных элементарных паттернах. Если ни одна из его точек не помечена как использованная, на шаге S52 такой элементарный паттерн-кандидат перемещается в список действительных элементарных паттернов, при этом точки, входящие в этот элементарный паттерн, помечаются как использованные. Если, по меньшей мере, одна из его точек помечена как использованная, то на шаге S53 такой элементарный паттерн-кандидат отбраковывается, т.е. исключается из дальнейшего рассмотрения.Then, in step S50, an elementary candidate pattern with a minimum value of δ is selected, and in step S51, it checks to see if there are points already used in the actual elementary patterns. If none of its points are marked as used, in step S52, such an elementary candidate pattern is moved to the list of valid elementary patterns, while the points included in this elementary pattern are marked as used. If at least one of its points is marked as used, then in step S53 such an elementary candidate pattern is rejected, i.e. excluded from further consideration.

Далее на шаге S54 шаги S50–S53 повторяются в отношении оставшихся в списке элементарных паттернов-кандидатов.Next, in step S54, steps S50 – S53 are repeated with respect to the elementary candidate patterns remaining in the list.

Разумеется, что описанный выше алгоритм выявления элементарных оптических паттернов может выполняться и в отношении элементарных оптических паттернов, содержащих другое количество точек, например, четыре или пять. При этом такой алгоритм может разделять множество точек элементарного оптического паттерна на подмножества по три точки и для каждой тройки точек выполнять обработку, по существу, как описано выше, а затем агрегировать результаты обработки, или такой алгоритм может выполнять обработку сразу всего множества точек с определением величин отклонения δ1, δ2 и т.д.Of course, the algorithm for detecting elementary optical patterns described above can also be performed with respect to elementary optical patterns containing a different number of points, for example, four or five. Moreover, such an algorithm can divide the set of points of an elementary optical pattern into subsets of three points and, for each triple of points, perform the processing essentially as described above, and then aggregate the processing results, or such an algorithm can process the entire set of points at once to determine the values deviations δ 1 , δ 2 , etc.

Результатом работы алгоритма выявления элементарных оптических паттернов является список действительных элементарных паттернов, в дальнейшем используемых в алгоритме регистрации «созвездий» и в алгоритме отслеживания, описанных выше.The result of the algorithm for detecting elementary optical patterns is a list of valid elementary patterns, further used in the algorithm for registering "constellations" and in the tracking algorithm described above.

В иллюстративном варианте осуществления изобретения алгоритм выявления элементарных оптических паттернов на шагах S41–S54 описан в отношении линейного трехточечного элементарного паттерна. Очевидно, что в других вариантах осуществления изобретения количество точек в элементарном паттерне может отличаться от трех и составлять, например, четыре или пять точек. Кроме того, вид элементарного паттерна может отличаться от линейного, т.е. точки элементарного паттерна могут не лежать на одной прямой, а образовывать заранее заданную геометрическую фигуру. In an illustrative embodiment, the algorithm for detecting elementary optical patterns in steps S41 to S54 is described with respect to a linear three-point elementary pattern. Obviously, in other embodiments, the number of dots in an elementary pattern may differ from three and be, for example, four or five points. In addition, the appearance of an elementary pattern may differ from a linear one, i.e. points of an elementary pattern may not lie on one straight line, but form a predetermined geometric figure.

В описанных выше вариантах осуществления изобретения направление каждого элементарного линейного паттерна выбрано по существу параллельным одному из направлений сетки. Тем не менее, в других вариантах осуществления изобретения линейные паттерны могут быть расположены иным образом, например, пилообразно, как представлено на фиг. 23. Такое расположение линейных паттернов позволяет избегать ситуаций, когда алгоритм выявления элементарных паттернов ошибочно принимает активный маркер одного линейного паттерна за активный маркер другого (соседнего) линейного паттерна.In the embodiments described above, the direction of each elementary linear pattern is chosen substantially parallel to one of the grid directions. However, in other embodiments, the linear patterns may be arranged differently, for example, in a sawtooth pattern as shown in FIG. 23. This arrangement of linear patterns avoids situations where the algorithm for detecting elementary patterns mistakenly takes the active marker of one linear pattern for the active marker of another (neighboring) linear pattern.

Следует отметить, что каждый процесс, соответствующий шагам S21–S25 и S41–S54, выполняется в отношении данных с каждого трекера независимо, т.е. реализуется многопоточная обработка данных, при этом количество потоков кратно количеству действующих трекеров в системе VR/AR.It should be noted that each process corresponding to steps S21 – S25 and S41 – S54 is performed independently on the data from each tracker, i.e. multi-threaded data processing is implemented, while the number of streams is a multiple of the number of active trackers in the VR / AR system.

Следует также отметить, что в приведенном выше описании отражены лишь те действия, которые наиболее существенны для достижения цели изобретения. Специалисту понятно, что для функционирования системы следует выполнить и другие необходимые действия, например, подключение оборудования, его инициализацию, запуск соответствующего программного обеспечения, передачу и прием команд и подтверждений, обмен служебными данными, синхронизацию и т.п., описание которых опущено для краткости изложения.It should also be noted that the above description reflects only those actions that are most essential to achieve the purpose of the invention. The specialist understands that for the functioning of the system it is necessary to perform other necessary actions, for example, connecting the equipment, initializing it, launching the corresponding software, transmitting and receiving commands and confirmations, exchanging service data, synchronization, etc., the description of which is omitted for brevity presentation.

Кроме того, следует отметить, что в приведенном выше описании отражены лишь те части систем и устройств, которые наиболее существенны для достижения цели изобретения. Специалисту понятно, что эти системы и устройства должны или могут содержать и другие части, обеспечивающие функционирование системы VR/AR, описание которых опущено для краткости изложения.In addition, it should be noted that the above description reflects only those parts of systems and devices that are most essential to achieve the purpose of the invention. One skilled in the art will appreciate that these systems and devices should or may contain other parts that support the functioning of the VR / AR system, the description of which is omitted for brevity.

Устройства и их части, способы и их части, упомянутые в описании и чертежах, относятся к одному или нескольким определенным вариантам осуществления изобретения, если они упоминаются со ссылкой на числовое позиционное обозначение, или ко всем вариантам осуществления изобретения, в которых возможно их применение, если они упоминаются без ссылки на числовое позиционное обозначение.The devices and their parts, methods and parts thereof, referred to in the description and drawings, relate to one or more specific embodiments of the invention, if they are mentioned with reference to a numerical reference designation, or to all variants of the invention, in which they can be used if they are mentioned without reference to a numerical reference designator.

Устройства и их части, упомянутые в описании, чертежах и формуле изобретения, представляют собой программно-аппаратные средства, при этом аппаратные части одних устройств могут отличаться, частично совпадать или полностью совпадать с аппаратными частями других устройств, если иное не указано в явном виде. Аппаратные части устройств могут располагаться в различных частях других устройств, если иное не указано в явном виде. Программные части (модули) могут быть реализованы в виде программного кода, содержащегося в запоминающем устройстве.The devices and their parts mentioned in the description, drawings and claims are hardware and software, while the hardware of some devices may differ, partially coincide or completely coincide with the hardware of other devices, unless otherwise indicated explicitly. The hardware of the devices may be located in different parts of other devices, unless otherwise specified explicitly. Software parts (modules) can be implemented in the form of program code contained in a storage device.

Последовательность действий в описании способа носит иллюстративный характер и в различных вариантах осуществления изобретения эта последовательность может отличаться от описанной при условии сохранения выполняемой функции и достигаемого результата.The sequence of actions in the description of the method is illustrative and in various embodiments of the invention, this sequence may differ from that described, provided that the function performed and the result achieved are maintained.

Части и признаки данного изобретения могут сочетаться в различных вариантах осуществления изобретения, если они не противоречат друг другу. Описанные выше варианты осуществления изобретения приведены исключительно с иллюстративной целью и не предназначены для ограничения объема настоящего изобретения, определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в составе, конструкции и принципе действия настоящего изобретения, выполненные в пределах его сущности, входят в объем данного изобретения.Parts and features of the present invention may be combined in various embodiments of the invention, if they do not contradict each other. The embodiments described above are provided for illustrative purposes only and are not intended to limit the scope of the present invention as defined by the claims. All reasonable modifications, upgrades and equivalent replacements in the composition, construction and principle of operation of the present invention, made within its essence, are included in the scope of this invention.

Следует также отметить, что приведенное выше описание изобретения относится к использованию способа и/или системы для выявления оптического паттерна при трекинге подвижного объекта в системах виртуальной или дополненной реальности. Вместе с тем, этот способ и/или система в полной мере применимы в любой другой области для решения задач, связанных с определением положения и/или ориентации и/или параметров движения подвижного объекта.It should also be noted that the above description of the invention relates to the use of a method and / or system for detecting an optical pattern when tracking a moving object in virtual or augmented reality systems. However, this method and / or system is fully applicable in any other field for solving problems associated with determining the position and / or orientation and / or motion parameters of a moving object.

В частности, описанные выше технические решения могут быть с успехом применены для отслеживания перемещений грузов и операторов в системах складской, производственной или торговой логистики, для отслеживания перемещений участников учебного процесса в системах учебного назначения, для определения положения и ориентации рабочих органов робототехнических систем, для управления пилотируемыми или беспилотными подвижными объектами, включая летательные аппараты, и для решения разнообразных задач, связанных с отслеживанием подвижных объектов в других системах, ныне существующих или тех, что будут разработаны в будущем.In particular, the technical solutions described above can be successfully applied to track the movements of goods and operators in warehouse, production or trade logistics systems, to track the movements of participants in the educational process in educational systems, to determine the position and orientation of the working bodies of robotic systems, to control manned or unmanned moving objects, including aircraft, and to solve a variety of tasks related to tracking moving objects In other systems, existing or those that will be developed in the future.

Список непатентных документовList of Non-Patent Documents

1. R. van Liere, J.D. Mulder. Optical tracking using projective invariant marker pattern properties. DOI: 10.1109/VR.2003.11911381. R. van Liere, J.D. Mulder. Optical tracking using projective invariant marker pattern properties. DOI: 10.1109 / VR.2003.1191138

2. Manuel Loaiza, Alberto Raposo, Marcelo Gattass. A novel optical tracking algorithm for point-based projective invariant marker patterns. ISVC 2007: Advances in Visual Computing, Part I, LNCS 4841, pp. 160–169, 2007.2. Manuel Loaiza, Alberto Raposo, Marcelo Gattass. A novel optical tracking algorithm for point-based projective invariant marker patterns. ISVC 2007: Advances in Visual Computing, Part I, LNCS 4841, pp. 160–169, 2007.

3. Daniel Wagner, Dieter Schmalstieg. ARToolKitPlus for pose tracking on mobile devices. Computer Vision Winter Workshop, St. Lambrecht, Austria, February 6–8, 2007.3. Daniel Wagner, Dieter Schmalstieg. ARToolKitPlus for pose tracking on mobile devices. Computer Vision Winter Workshop, St. Lambrecht, Austria, February 6–8, 2007.

4. Thomas Pintaric, Hannes Kaufmann. Affordable infrared-optical pose-tracking for virtual and augmented reality. Proceedings of Trends and Issues in Tracking for Virtual Environments Workshop, 2007.4. Thomas Pintaric, Hannes Kaufmann. Affordable infrared-optical pose-tracking for virtual and augmented reality. Proceedings of Trends and Issues in Tracking for Virtual Environments Workshop, 2007.

5. Arjen van Rhijn, Jurriaan D. Mulder. Optical tracking and calibration of tangible interaction devices. IPT & EGVE Workshop, 2005.5. Arjen van Rhijn, Jurriaan D. Mulder. Optical tracking and calibration of tangible interaction devices. IPT & EGVE Workshop, 2005.

6. Klaus Dorfmüller-Ulhaas. Robust optical user motion tracking using a Kalman filter. Report 2003-06, Institut für Informatik, Universität Augsburg, Germany.6. Klaus Dorfmüller-Ulhaas. Robust optical user motion tracking using a Kalman filter. Report 2003-06, Institut für Informatik, Universität Augsburg, Germany.

7. A. Kolahi, M. Hoviattalab, T. Rezaeian, M. Alizadeh, M. Bostan, H. Mokhtarzadeh. Design of a marker-based human motion tracking system. Biomedical Signal Processing and Control, 2, 2007, pp. 59–67.7. A. Kolahi, M. Hoviattalab, T. Rezaeian, M. Alizadeh, M. Bostan, H. Mokhtarzadeh. Design of a marker-based human motion tracking system. Biomedical Signal Processing and Control, 2, 2007, pp. 59–67.

8. David Claus, Andrew W. Fitzgibbon. Reliable automatic calibration of a marker-based position tracking system. Proceedings of IEEE Workshop on Motion and Video Computing Motion, 2005, Application of Computer Vision, 2005. WACV/MOTIONS '05 Volume.8. David Claus, Andrew W. Fitzgibbon. Reliable automatic calibration of a marker-based position tracking system. Proceedings of IEEE Workshop on Motion and Video Computing Motion, 2005, Application of Computer Vision, 2005. WACV / MOTIONS '05 Volume.

9. Steven Maesen, Patrik Goorts, Philippe Bekaert. Scalable optical tracking for navigating large virtual environments using spatially encoded markers. Proceedings of the 19th ACM Symposium on Virtual Reality Software and Technology VRST '13, pp. 101–110.9. Steven Maesen, Patrik Goorts, Philippe Bekaert. Scalable optical tracking for navigating large virtual environments using spatially encoded markers. Proceedings of the 19th ACM Symposium on Virtual Reality Software and Technology VRST '13, pp. 101-110.

10. Filippo Bergamasco, Andrea Albarelli, Emanuele Rodola, Andrea Torsello. RUNE-Tag: a high accuracy fiducial marker with strong occlusion resilience. DOI: 10.1109/CVPR.2011.5995544.10. Filippo Bergamasco, Andrea Albarelli, Emanuele Rodola, Andrea Torsello. RUNE-Tag: a high accuracy fiducial marker with strong occlusion resilience. DOI: 10.1109 / CVPR.2011.5995544.

11. Leonid Naimark, Eric Foxlin. Encoded LED system for optical trackers. DOI: 10.1109/ISMAR.2005.28.11. Leonid Naimark, Eric Foxlin. Encoded LED system for optical trackers. DOI: 10.1109 / ISMAR.2005.28.

12. Yashar Deldjoo, Reza Ebrahimi Atani. A low-cost infrared-optical head tracking solution for virtual 3D audio environment using the Nintendo Wii-remote. Entertainment Computing, vol.12, 2016, pp. 9–27.12. Yashar Deldjoo, Reza Ebrahimi Atani. A low-cost infrared-optical head tracking solution for virtual 3D audio environment using the Nintendo Wii-remote. Entertainment Computing, vol. 12, 2016, pp. 9–27.

Claims (56)

1. Способ трекинга подвижного объекта, включающий в себя следующие шаги:1. A method for tracking a moving object, including the following steps: - выполняют автоматическую настройку зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов – «созвездий»:- perform automatic adjustment of the tracking zone by identifying and registering unique combinations of elementary optical patterns - “constellations”: (S1) определяют зону трекинга;(S1) determine a tracking area; (S2) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;(S2) determine the size of the tracking window and set the tracking window to its initial position; (S3) определяют в окне трекинга элементарные оптические паттерны, образованные маркерами;(S3) determine in the tracking window elementary optical patterns formed by markers; (S4) формируют ID «созвездия»-кандидата;(S4) form the ID of the "constellation" of the candidate; (S5) проверяют уникальность каждого «созвездия»-кандидата и маркируют ID неуникального «созвездия»-кандидата;(S5) verify the uniqueness of each “constellation” of the candidate and mark the ID of the non-unique “constellation” of the candidate; (S6) записывают ID «созвездия»-кандидата в таблицу «созвездий»;(S6) write the ID of the "constellation" of the candidate in the table of "constellations"; (S7) поворачивают окно трекинга на заранее заданный угол;(S7) rotate the tracking window by a predetermined angle; (S8) выполняют шаги S2–S6 для повернутого окна трекинга;(S8) perform steps S2 – S6 for the rotated tracking window; (S9) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;(S9) check whether the required number of turns of the tracking window has been completed, and if necessary, repeat steps S7, S8; (S10) перемещают окно трекинга с заранее заданным шагом;(S10) moving the tracking window with a predetermined step; (S11) выполняют шаги S2–S9 для перемещенного окна трекинга;(S11) perform steps S2 – S9 for the moved tracking window; (S12) проверяют, покрыта ли вся зона трекинга, и при необходимости повторяют шаги S10, S11;(S12) check if the entire tracking area is covered, and if necessary, repeat steps S10, S11; (S13) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий»;(S13) remove non-unique IDs of the “constellations” of candidates from the table of “constellations”; - отслеживают изменение положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга.- track the change in the position and / or orientation of the moving object by identifying unique combinations of elementary optical patterns and comparing them with elementary optical patterns registered when setting up the tracking zone. 2. Способ по п. 1, в котором шаги S4, S5, S6 и S13 выполняют в отношении каждого ID «созвездия»-кандидата и ID каждого из его дочерних «созвездий»-кандидатов.2. The method of claim 1, wherein steps S4, S5, S6, and S13 are performed with respect to each candidate constellation ID and the ID of each of its child candidate constellations. 3. Способ по п. 1, в котором до выполнения шага S2 разделяют проекцию зоны трекинга на ячейки и размер окна трекинга на шаге S2 выражают в количестве таких ячеек.3. The method according to claim 1, wherein prior to performing step S2, the projection of the tracking zone is divided into cells and the size of the tracking window in step S2 is expressed in the number of such cells. 4. Способ по п. 1, в котором шаг отслеживания изменения положения и/или ориентации подвижного объекта включает в себя следующие шаги:4. The method according to claim 1, in which the step of tracking changes in the position and / or orientation of the moving object includes the following steps: (S21) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;(S21) read the image from the optical sensor located on the moving object, and perform its preliminary processing; (S22) выявляют в окне трекинга элементарные оптические паттерны, образованные маркерами;(S22) detecting elementary optical patterns formed by markers in the tracking window; (S23) формируют ID «созвездия»;(S23) form a constellation ID; (S24) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;(S24) identify the generated constellation ID from the constellations table; (S25) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.(S25) determine the position and orientation of the moving object based on the "constellation" identified in step S24. 5. Способ по п. 4, в котором шаг S21 включает в себя следующие шаги:5. The method of claim 4, wherein step S21 includes the following steps: (S31) считывают изображение с оптического датчика;(S31) read the image from the optical sensor; (S32) выполняют компенсацию геометрических искажений считанного изображения;(S32) perform geometric distortion compensation of the read image; (S33) опционально проецируют изображение на рабочую плоскость;(S33) optionally projecting the image onto the work plane; (S34) нормируют изображение;(S34) normalize the image; (S35) выделяют окно трекинга на изображении.(S35) highlight the tracking window on the image. 6. Способ по п. 4, в котором шаг S22 включает в себя следующие шаги:6. The method according to claim 4, in which step S22 includes the following steps: (S41) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;(S41) three points corresponding to markers are arbitrarily selected in the tracking window; (S42) из выбранных трех точек определяют две опорные точки;(S42) from the selected three points, two reference points are determined; (S43) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;(S43) for the reference points, the nominal position of the third point is determined in accordance with the elementary optical pattern; (S44) определяют отклонение δ геометрического положения третьей точки от ее номинального положения;(S44) determining a deviation δ of the geometric position of the third point from its nominal position; (S45) выполняют проверку величины δ; если величина δ не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина δ превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают;(S45) checking the value of δ; if the value of δ does not exceed a predetermined threshold value, then (S46) the three points are added to the list of elementary optical candidate patterns, and if the value of δ exceeds the predetermined threshold value, then (S47) the three points are rejected; (S48) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41–S47;(S48) check whether all combinations of the three points are processed and, if necessary, repeat steps S41 – S47; (S49) сортируют список элементарных оптических паттернов-кандидатов по величине δ;(S49) sorting the list of elementary optical candidate patterns by the value of δ; (S50) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной δ;(S50) from the list of elementary candidate patterns, an elementary optical candidate pattern with a minimum value of δ is selected; (S51) выполняют проверку наличия в элементарном оптическом паттерне-кандидате использованных точек; если в нем обнаружена, по меньшей мере, одна использованная точка, то (S52) такой элементарный оптический паттерн-кандидат отбраковывают, а если использованных точек не обнаружено, то (S53) его перемещают в список действительных элементарных оптических паттернов, при этом точки, входящие в этот элементарный оптический паттерн, помечают как использованные;(S51) checking for the presence of used points in the elementary optical candidate pattern; if at least one used point is detected in it, then (S52) such an elementary optical candidate pattern is rejected, and if no used points are found, then (S53) it is moved to the list of valid elementary optical patterns, while the points included in this elementary optical pattern, marked as used; (S54) выполняют шаги S50–S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.(S54) perform steps S50 – S53 with respect to the remaining elementary optical candidate patterns. 7. Система трекинга подвижного объекта, содержащая:7. A tracking system for a moving object, comprising: - по меньшей мере, один трекер, размещенный на подвижном объекте, содержащий оптический датчик и выполняющий способ трекинга подвижного объекта, охарактеризованный в любом из пп. 1-6;- at least one tracker located on a moving object, comprising an optical sensor and performing a method for tracking a moving object, as described in any one of paragraphs. 1-6; - по меньшей мере, одну маркерную полосу, содержащую активные маркеры, образующие элементарные оптические паттерны на изображении, полученном с оптического датчика;- at least one marker strip containing active markers forming elementary optical patterns in the image obtained from the optical sensor; - центральное устройство обработки данных, совместно с трекером выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пп. 1–6.- a central data processing device, in conjunction with the tracker, performing a method for tracking a moving object described in any one of paragraphs. 1-6. 8. Система по п. 7, в которой оптический датчик представляет собой матричный оптический датчик.8. The system of claim 7, wherein the optical sensor is a matrix optical sensor. 9. Система по п. 7, в которой, по меньшей мере, часть маркерных полос расположена на полу или ином основании.9. The system of claim 7, wherein at least a portion of the marker strips are located on a floor or other base. 10. Система по п. 9, в которой маркерные полосы интегрированы с упругим сборным покрытием для пола.10. The system of claim 9, wherein the marker strips are integrated with an elastic prefabricated floor covering. 11. Система по п. 7, в которой, по меньшей мере, часть маркерных полос расположена на несущих конструкциях над полом.11. The system of claim 7, wherein at least a portion of the marker strips are located on the supporting structures above the floor. 12. Система по п. 7, в которой активные маркеры представляют собой маркеры, излучающие свет в инфракрасном диапазоне.12. The system of claim 7, wherein the active markers are markers that emit light in the infrared range. 13. Система по п. 7, в которой элементарный оптический паттерн представляет собой линейный элементарный оптический паттерн.13. The system of claim 7, wherein the elementary optical pattern is a linear elementary optical pattern. 14. Система по п. 7, в которой элементарный оптический паттерн представляет собой нелинейный элементарный оптический паттерн.14. The system of claim 7, wherein the elementary optical pattern is a non-linear elementary optical pattern. 15. Система по п. 7, в которой трекер и центральное устройство обработки данных связаны беспроводным каналом передачи данных, предназначенным для передачи данных настройки при выполнении шага автоматической настройки зоны трекинга и данных о положении и/или ориентации трекера при выполнении шага отслеживания в способе, охарактеризованном в любом из пп. 1–6.15. The system of claim 7, wherein the tracker and the central data processing device are connected by a wireless data transmission channel for transmitting setup data when the step of automatically adjusting the tracking area and data on the position and / or orientation of the tracker when performing the tracking step in the method, characterized in any one of paragraphs. 1-6. 16. Система по п. 7, выполненная с возможностью автоматической настройки зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов способом, охарактеризованным в любом из пп. 1–6.16. The system of claim 7, configured to automatically adjust the tracking zone by identifying and registering unique combinations of elementary optical patterns in the manner described in any one of paragraphs. 1-6. 17. Система по п. 7, выполненная с возможностью отслеживания изменения положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга способом, охарактеризованным в любом из пп. 1–6.17. The system of claim 7, configured to track changes in the position and / or orientation of a moving object by identifying unique combinations of elementary optical patterns and comparing them with elementary optical patterns registered when setting up the tracking zone in a manner described in any one of paragraphs. 1-6. 18. Система по п. 7, в которой трекер дополнительно содержит, по меньшей мере, один инерциальный датчик и которая выполнена с возможностью отслеживания изменения положения и/или ориентации подвижного объекта с использованием данных, по меньшей мере, одного инерциального датчика, в те периоды времени, когда невозможно идентифицировать «созвездия» способом, охарактеризованным в любом из пп. 1–6.18. The system of claim 7, wherein the tracker further comprises at least one inertial sensor and which is configured to track changes in the position and / or orientation of the moving object using the data of at least one inertial sensor during those periods time when it is impossible to identify the "constellations" in the manner described in any of paragraphs. 1-6.
RU2018138292A 2018-10-30 2018-10-30 Method and system for reverse optical tracking of a mobile object RU2697942C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018138292A RU2697942C1 (en) 2018-10-30 2018-10-30 Method and system for reverse optical tracking of a mobile object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018138292A RU2697942C1 (en) 2018-10-30 2018-10-30 Method and system for reverse optical tracking of a mobile object

Publications (1)

Publication Number Publication Date
RU2697942C1 true RU2697942C1 (en) 2019-08-21

Family

ID=67733822

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018138292A RU2697942C1 (en) 2018-10-30 2018-10-30 Method and system for reverse optical tracking of a mobile object

Country Status (1)

Country Link
RU (1) RU2697942C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718240C1 (en) * 2019-09-11 2020-03-31 Общество с ограниченной ответственностью «РОБОТ» Robot control method using virtual reality controllers and helmet
WO2021211002A1 (en) * 2020-04-13 2021-10-21 Общество С Ограниченной Ответственностью "Психо Технолоджи" Method for optical-inertial tracking of a user
WO2022005901A1 (en) * 2020-06-30 2022-01-06 Sony Group Corporation System of multi-drone visual content capturing
RU2811363C1 (en) * 2023-10-03 2024-01-11 Общество С Ограниченной Ответственностью "Психо Технолоджи" Calibration system for set of cameras for optical tracking of objects in space

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273610A1 (en) * 2006-05-26 2007-11-29 Itt Manufacturing Enterprises, Inc. System and method to display maintenance and operational instructions of an apparatus using augmented reality
US20130141461A1 (en) * 2011-12-06 2013-06-06 Tom Salter Augmented reality camera registration
US20170132806A1 (en) * 2014-02-18 2017-05-11 Sulon Technologies Inc. System and method for augmented reality and virtual reality applications
US9892489B1 (en) * 2013-08-20 2018-02-13 Rockwell Collins, Inc. System for and method of providing a virtual cockpit, control panel, or dashboard using augmented reality
RU2651239C9 (en) * 2012-10-31 2018-08-22 Зе Боинг Компани Automated calibration of reference frame of augmented reality

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273610A1 (en) * 2006-05-26 2007-11-29 Itt Manufacturing Enterprises, Inc. System and method to display maintenance and operational instructions of an apparatus using augmented reality
US20130141461A1 (en) * 2011-12-06 2013-06-06 Tom Salter Augmented reality camera registration
RU2651239C9 (en) * 2012-10-31 2018-08-22 Зе Боинг Компани Automated calibration of reference frame of augmented reality
US9892489B1 (en) * 2013-08-20 2018-02-13 Rockwell Collins, Inc. System for and method of providing a virtual cockpit, control panel, or dashboard using augmented reality
US20170132806A1 (en) * 2014-02-18 2017-05-11 Sulon Technologies Inc. System and method for augmented reality and virtual reality applications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718240C1 (en) * 2019-09-11 2020-03-31 Общество с ограниченной ответственностью «РОБОТ» Robot control method using virtual reality controllers and helmet
WO2021211002A1 (en) * 2020-04-13 2021-10-21 Общество С Ограниченной Ответственностью "Психо Технолоджи" Method for optical-inertial tracking of a user
WO2022005901A1 (en) * 2020-06-30 2022-01-06 Sony Group Corporation System of multi-drone visual content capturing
RU2811363C1 (en) * 2023-10-03 2024-01-11 Общество С Ограниченной Ответственностью "Психо Технолоджи" Calibration system for set of cameras for optical tracking of objects in space

Similar Documents

Publication Publication Date Title
EP2976599B1 (en) Indoor navigation system and method
US10949980B2 (en) System and method for reverse optical tracking of a moving object
US7739034B2 (en) Landmark navigation for vehicles using blinking optical beacons
RU2697942C1 (en) Method and system for reverse optical tracking of a mobile object
Nakazawa et al. Indoor positioning using a high-speed, fish-eye lens-equipped camera in visible light communication
CN110308729B (en) AGV (automatic guided vehicle) combined navigation positioning method based on vision and IMU (inertial measurement Unit) or odometer
US20060203090A1 (en) Video surveillance using stationary-dynamic camera assemblies for wide-area video surveillance and allow for selective focus-of-attention
US11614743B2 (en) System and method for navigating a sensor-equipped mobile platform through an environment to a destination
CN108007456A (en) A kind of indoor navigation method, apparatus and system
US9626764B2 (en) System and method for synchronizing fiducial markers
Köhler et al. Tracksense: Infrastructure free precise indoor positioning using projected patterns
Nüchter et al. Irma3D—An intelligent robot for mapping applications
CN112991440A (en) Vehicle positioning method and device, storage medium and electronic device
RU2758036C1 (en) Method and system for optical-inertial tracking of a mobile object
Junejo et al. Autoconfiguration of a dynamic nonoverlapping camera network
WO2020089675A1 (en) Method and system for the inside-out optical tracking of a movable object
Sun et al. Real-time monocular visual self-localization approach using natural circular landmarks for indoor navigation
CN116710975A (en) Method for providing navigation data for controlling a robot, method and device for manufacturing at least one predefined point-symmetrical area
Meng et al. Arpico: Using pictures to build localization service for indoor iot applications
Karakaya et al. A hybrid indoor localization system based on infra-red imaging and odometry
JPH10149435A (en) Environment recognition system and mark used therefor
Chi et al. Locate, Tell, and Guide: Enabling public cameras to navigate the public
KR101858488B1 (en) Sphere type cartesian coordinate system, method, application and server for providing location information using the same
Cassinis et al. AMIRoLoS an active marker internet-based robot localization system
Holter et al. Relative visual localization for unmanned aerial systems