RU2670351C1 - Система и способ управления виртуальным объектом - Google Patents
Система и способ управления виртуальным объектом Download PDFInfo
- Publication number
- RU2670351C1 RU2670351C1 RU2017127259A RU2017127259A RU2670351C1 RU 2670351 C1 RU2670351 C1 RU 2670351C1 RU 2017127259 A RU2017127259 A RU 2017127259A RU 2017127259 A RU2017127259 A RU 2017127259A RU 2670351 C1 RU2670351 C1 RU 2670351C1
- Authority
- RU
- Russia
- Prior art keywords
- stretch
- physical body
- force
- user
- swimmer
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/003—Repetitive work cycles; Sequence of movements
- G09B19/0038—Sports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- Cardiology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Processing Or Creating Images (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
Abstract
Группа изобретений относится к устройствам ввода данных посредством усилий пользователя в системах симуляции виртуальной реальности. Система содержит систему растяжек для закрепления физического тела так, что она способна удерживать тело в положении устойчивого равновесия с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс. Кроме того, содержит элементы, определяющие ориентацию физического тела, а также величину и направление силы, действующей на физическое тело со стороны системы растяжек. Для работы системы определяют начальные условия среды, в которой находится физическое тело, векторы сил натяжения растяжек, вычисляют вектор силы, приложенной пользователем, используют вычисленную силу для симуляции поведения виртуального объекта. Повышается эффективность обучения. 2 н. и 22 з.п. ф-лы, 11 ил.
Description
Группа изобретений относится к системам симуляции виртуальной реальности, в частности, к устройствам ввода данных для управления виртуальным объектом посредством усилий пользователя. Заявляемые технические решения могут быть применены в компьютерных играх, а также в иных симуляторах, например, учебного, рекреационного назначения, в системах трехмерного моделирования. Изобретения позволяют создать реалистичные игры или симуляторы перемещения в виртуальном мире, в частности, в подводном мире или в вымышленном мире со схожей с плаванием физикой перемещения.
Рынок виртуальной реальности динамично развивается, появляются новые задачи, для решения которых, в первую очередь, необходимо создание эффективных систем сбора данных из реальной среды, используемых для симуляции. От качества таких методов зависит возможность реализации программы в целом, степень синхронизации действий реального и виртуального объектов и, наконец, степень погружения пользователя в виртуальную среду и его комфорт.
В зависимости от сценария программы в виртуальной реальности пользователь может перемещаться самостоятельно, либо с использованием виртуального транспортного средства. Причем длительные и резкие несоответствия между ориентацией вектора гравитации в реальном и виртуальном мирах могут приводить к эффекту тошноты, что затрудняет использование симулятора.
Авто-, авиа-, космические симуляторы используют специальные кабины или транспортные устройства со многими степенями свободы, которые ввиду габаритов и стоимости могут быть применимы в основном в специальных тренажерах либо в аттракционах виртуальной реальности.
Ходьба, бег в виртуальной реальности могут либо управляться с помощью аналогового джойстика игрового контроллера, как это происходит в большинстве обычных компьютерных игр (https://www.playstation.com/en-us/explore/accessories/playstation-vr-aim-controller/) либо быть связанными непосредственно с движениями ног. Наиболее точным по передаче ощущений является распознавание реальных перемещений пользователя по помещению и перевод их в соответствующие перемещения в виртуальном пространстве. Такой подход позволяет обрабатывать почти произвольную физическую активность на ровной поверхности – прыжки, приседания, перемещение ползком и т.п. Однако он требует достаточно большого помещения с ровным полом и отсутствием препятствий либо с рельефом и препятствиями, соответствующими виртуальному игровому пространству. Поэтому чаще всего такие системы применяются в пределах специализированных площадок виртуальных аттракционов.
Одной из важных задач, которая стоит при проектировании систем симуляции виртуальной реальности, является передвижение пользователя на значительные расстояния в виртуальной среде при ограниченных пространствах в реальности. Основной целью таких систем является «поглощение» совершаемых пользователем реальных движений. То есть в виртуальной среде пользователь может проходить значительные расстояния, сохраняя интенсивность движения и, следовательно, максимальное погружение в виртуальную среду и реалистичность имитации.
Для определения ходьбы в условиях замкнутых пространств разработаны различные стационарные установки, позволяющие перемещаться на месте. Например, устройства с конструкцией подобной беговой дорожке (US6152854A), специальные платформы для передвижений (WO2017019884A1), сферические и чашеобразные поверхности, возвращающие ноги шагающего пользователя в центральную ее часть (см. US5846134A, US2004242390A1), платформы для ног (US5902214A). Такие решения управляют движением в виртуальном мире опосредовано, и ограничены распознаванием только ходьбы и бега по ровной поверхности.
Таким образом, основной целью систем является обеспечение возможности компенсировать, «поглощать» движения пользователя, представляя ему при этом возможность ощущать себя не ограниченным в пространстве какими-либо дополнительными устройствами. Указанным требованиям в той или иной мере удовлетворяют системы, использующие для ограничения пользователя и компенсации движений натянутые кабели.
В частности, известно устройство для трехмерной симуляции среды с небольшой гравитацией (например, на Марсе или Луне) (WO2016153147 от 29.09.2016, приор. от 26.03.2015 KR10-2015-0042229, МПК (2006.1) F16H 7/08, F16H 7/18), включающее формирующую виртуальное пространство раму, соединенные с ней и поддерживающие пользователя над платформой кабели, лебедку для их сматывания (разматывания), устройство измерения натяжения каждого троса, расположенное на раме устройство измерения положения (определения координат) пользователя, контроллер управления натяжением. При сходном с заявляемым решением подходе к реализации устройство решает принципиально иную задачу – создание заданного уровня гравитации путем воздействия на пользователя натянутым тросом (кабелем) с управляемым натяжением.
Из уровня техники известна система и способ симуляции перемещений (WO2006017926A1 от 23.02.2006, приор. от 20.08.2004 US60/602857, МПК7 G09B 9/00, A61H 1/00, A63B 23/04), содержащая две подставки для ног и рук и присоединенные к каждой независимо от другой тросы, приводы для каждого из тросов с контроллерами натяжения, установленные на раме, которые управляют длиной тросов и сдерживают движения пользователя. Система рассчитывает положение и ориентацию ног пользователя в виртуальной среде как функцию от длины кабелей и обеспечивает обратную связь от усилия пользователя. Способ симуляции включает следующие этапы: определение позиции и ориентации ног пользователя, сопоставление с виртуальной средой для определения взаимодействия между ними и регулировка длины кабелей для обеспечения обратной связи от усилий пользователя как функции от таких взаимодействий. Система позволяет симулировать ограниченный объем передвижений пользователя, имеет сложную конструкцию и, что сужает сферу ее применения. Особой задачей является управление виртуальным объектом в водной среде.
Известно решение (US5271106A от 21.12.1993, приор. 06.10.1992, МПК, A63B69/12, E04H4/14, H04N7/18, E04H4/00), представляющее собой бассейн, на стенах которого размещаются изображения виртуальной водной среды, оснащенный устройствами для создания течений (потоков), интенсивность которых зависит от активности пловца, а также иные дополнительные эффекты. Решение не позволяет реализовывать симуляторы, требующие точности в определении перемещений и(или) усилий пользователя.
Кроме того, известны решения для переноса перемещений пользователя, находящегося под водой, в виртуальную реальность. В частности, способ и система виртуального дайвинга (US 2010/0302233 A1 от 02.12.2010, МПК 2006.1 G06T17/00, G06F17/30, G09G5/00, G06F3/03, G06N5/02). Система включает, по крайней мере, три элемента электроники, расположенных на поверхности, определяющих область погружения в непосредственно близости от желаемого места погружения. Каждый элемент электроники включает управляемый микропроцессором приемопередатчик, который получает данные о расположении пловца по осям x-y-z от подводного акустического трансподера, расположенного на дайвере, который находится в области погружения. Система обеспечивает пользователю возможность выбора, собирая данные подводной виртуальной реальности пловца через линию связи. Множество датчиков в непосредственной близости от головы пловца передают ускорение, горизонтальное и вертикальное положение головы дайвера в декодер сигналов, расположенный по меньшей мере на одном из блоков электроники на поверхности через линию связи. Пара проекторов и оптических элементов установлены для каждого из глаз пловца на плавательной маске. Изображение виртуальной реальности воспроизводится графическим процессором в режиме реального времени в зависимости от положения и ориентации пловца и его головы. Благодаря этому пловец может находиться в виртуальной реальности в выбранном месте и с выбранными морскими обитателями. Способ симуляции виртуальной реальности подводного плавания в выбранной среде включается следующие шаги: определение области погружения по крайней мере тремя электронными элементами, расположенными на поверхности и расположение их вблизи от места погружения, а также управляемый процессором приемопередатчик в каждом из указанных электронных элементов; получение данных приемопередатчиком от гидроакустического трансподера, расположенного на пловце, предоставление пловцу данных через канал связи с графическим процессором в одном из электронных поверхностных элементов; транслирование визуальных данных оптическими элементами. Система представляет собой сложный технически и в эксплуатации продукт, а также возможен уход пловца из зоны симуляции, то есть нахождение его за пределами действия измерительных устройств.
В известных системах управления виртуальным объектом основным результатом, который достигается при использовании системы тросов (кабелей, растяжек), является воздействие на пользователя, позволяющее ему ощущать виртуальные силы (например, WO2010130346, WO2008070584). Моделирование в виртуальном пространстве осуществляется на основе известных абсолютных координат пользователя в неподвижной системе, связанной с тросами (растяжками). Для этого используются отдельные модули трекинга, либо информация о длине растяжек, позволяющая точно определить координаты точки закрепления растяжек. Только сведений о приложенной пользователем силе для таких систем недостаточно. Известные системы такого рода представляют собой устройство на основе, например, рамы, с большим количеством тросов (растяжек), приводов и(или) иных устройств управления длиной и натяжением тросов, а также устройств определения положения пользователя или иных частей системы. При этом системы, предназначенные для передачи обратной связи объекту, подразумевают его закрепление так, чтобы любые допустимые перемещения ассоциированного с физическим телом виртуального объекта, в том числе его допустимые вращения, могли передаваться телу путем изменения длины растяжек. Для этого растяжки крепятся к разным точкам физического тела, лишая его возможности свободного вращения и системы, таким образом, требуют достаточного количества растяжек (три и более).
Заявляемая группа изобретений направлена на решение технической проблемы создания реалистичной имитации поведения объекта в виртуальном пространстве с помощью более простого технически и в эксплуатации устройства, обладающего большим функционалом и потенциалом развития. Проблема решается за счет достижения технического результата, который заключается в обеспечении возможности управления перемещением и ориентацией виртуального объекта путем воздействия пользователя на реальный объект. При этом в условиях ограниченного реального пространства свобода виртуального объекта не ограничена. Заявляемая система может быть использована для имитации перемещений пользователя в виртуальном пространстве без использования сложных систем установки для ее эксплуатации.
Заявляется система управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного с помощью системы из по крайней мере одной растяжки, так, что система растяжек способна удерживать тело в положении устойчивого равновесия с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс, содержащая элементы, определяющие ориентацию физического тела в пространстве, а также величину и направление (вектор) силы, действующей на физическое тело со стороны системы растяжек (например, с помощью трехосевого датчика определения вектора силы). Дополнительно система может содержать содержит элемент определяющий ускорение физического тела.
Предпочтительно при любых усилиях пользователя по перемещению физического тела, не превосходящих максимального ожидаемого усилия, в системе всегда найдется хотя бы одна растяжка системы, имеющая ненулевое натяжение.
Система растяжек при этом может состоять из единственной растяжки, способной удерживать физическое тело в воздухе в подвешенном состоянии, а максимальное ожидаемое от пользователя усилие не превосходит веса физического тела. Либо система растяжек содержит две растяжки, способные удерживать физическое тело, будучи растянутыми в противоположных направлениях.
При реализации системы в жидкой среде (водной), система растяжек может состоять из единственной растяжки, способной удерживать физическое тело с отрицательной плавучестью в подвешенном состоянии, а максимальное ожидаемое усилие не должно превосходить разности величин силы тяжести и выталкивающей силы, действующих на физическое тело. Либо система растяжек состоит из единственной растяжки, способной удерживать от всплытия физическое тело с положительной плавучестью в жидкой среде, а максимальное ожидаемое усилие не превосходит разности величин выталкивающей силы и силы тяжести, действующих на физическое тело.
Как минимум одна растяжка системы может содержать сегмент, реализующий функцию расцепления растяжки, либо сегмент, обладающий возможностью свободного вращения вокруг оси, параллельной оси растяжки, либо сегмент, позволяющий измерение величины силы натяжения растяжки. При этом каждая растяжка предпочтительно оснащена тензометром для измерения величины её натяжения. Фиксация растяжки может осуществляться с помощью системы блоков или грузов.
При симуляции плавания в качестве физического тела рассматривают пловца с закрепленным на нем оборудованием, которое включает в себя устройство отображения визуальной информации (например, шлем виртуальной реальности, совмещенный с плавательной маской). В таком случае заявляемая система может содержать систему дыхания и подачи воздуха, проводной канал которой расположен вдоль одной из растяжек контроллера.
Соединение растяжки с физическим телом предпочтительно производится с помощью элементов крепления, позволяющих вращение физического тела относительно одной или нескольких осей, проходящих вблизи центра масс физического тела. Такое крепление может состоять из внутреннего кольца, выполненного с возможностью крепления к контролируемому физическому телу и вращения внутри внешнего кольца, а также содержит скобу, позволяющую вращение относительно оси, перпендикулярной оси колец.
Для определения направления силы натяжения растяжки на ней может быть расположен магнит, а вблизи магнита в центре масс физического тела установлен магнетометр.
Заявляемый способ управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного в положении устойчивого равновесия с помощью системы из по крайней мере одной растяжки характеризуется тем, что:
- определяют начальные условия среды, в которой находится физическое тело,
- векторы сил натяжения растяжек,
- вычисляют вектор силы, приложенной пользователем,
- используют вычисленную силу для симуляции поведения виртуального объекта.
Дополнительно могут быть определены векторы существенных внешних сил, действующих на физическое тело, а также вектор собственного ускорения физического тела.
В зависимости от целей симулятора могут быть установлен уровень предварительного натяжения растяжек. Если в качестве физического тела выступает пользователь, предпочтительно определяют положение стерео-камеры, соответствующей глазам пользователя в системе координат виртуального мира.
Основная цель заявляемой группы изобретений – измерение величины и направления силы, прикладываемой пользователем к системе растяжек, удерживающих его в пределах ограниченного объёма. Например, пловцом – к растяжкам, удерживающим его в определенном объеме на заданном уровне в закрытом или открытом водоеме.
Определение силы, прикладываемой пользователем, производится посредством определения векторов сил, воздействующих на удерживающие пользователя элементы - растяжки, и используется для вычисления его перемещений в виртуальном пространстве в рамках заданной физической модели виртуального мира, в котором он не закреплён на одном месте. Таким образом, пользователь, воздействуя на закрепленные на нем или вне его тела растяжки с определенным усилием и в определенном направлении, управляет своими движениями в виртуальном пространстве. Например, пловец, прилагая усилия соответствующие его намерению плыть в заданном направлении, в виртуальном пространстве действительно может перемещаться в этом направлении. Полученные данные используются для реалистичной имитации его движения (плавания) в виртуальном пространстве.
В сравнении с известными аналогами, использующими в своей основе натянутые тросы как механизм воздействия на пользователя или получения обратной связи от него, заявляемое решение позволяет осуществлять симуляцию более широкого круга действий пользователя: от управления транспортными средствами путем воздействия на контролируемое физическое тело, до направленных передвижений самого пользователя в разных средах (воздух, вода). При этом отсутствует необходимость определять действительные координаты пользователя, симуляция происходит на основании вычисленного усилия пользователя по перемещению. Такой механизм существенно упрощает систему, не снижая эффективности погружения пользователя в виртуальную среду, реалистичности имитации.
Заявляемая система предназначена для определения перемещения центра масс физического тела через измерение приложенного для этого усилия. При этом тело, в отличие от известных систем, сохраняет все степени свободы, возможность вращения относительно всех осей, которые доступны для виртуального тела в виртуальной модели. Поэтому для реализации системы не требуется большого количества растяжек, а при наличии двух и более растяжек точки приложения усилий должны существенно совпадать, чтобы не ограничивать свободу вращения объекта.
Сущность группы изобретений поясняется фигурами, на которых изображено:
- фиг. 1 - вариант реализации системы, где контролируемое физическое тело подвешено на единственной растяжке,
- фиг. 2 - вариант реализации системы, где контролируемое физическое тело установлено между двумя противоположно натянутыми растяжками,
- фиг. 3 - вариант реализации системы, где пловец удерживается от всплытия единственной растяжкой, закрепленной на дне,
- фиг. 4 - система крепления растяжки к поясу пловца,
- фиг. 5 - вариант реализации системы для плавания с трубкой (снорклинга),
- фиг. 6 - вариант реализации системы, где пловец удерживается от погружения единственной растяжкой, закрепленной на суше,
- фиг. 7 - система крепления двух растяжек к поясу пловца,
- фиг. 8 - система из магнита и магнитометра для определения направления натяжения растяжки,
- фиг. 9 - векторы сил, действующих в центре измерений,
- фиг. 10 - векторы сил в состоянии покоя пловца,
- фиг. 11 - соотношение систем координат.
Заявляемая система управления виртуальным объектом (далее – СУ) через перемещение пользователем ассоциированного с виртуальным объектом физического тела представляет собой совокупность по крайней мере следующих элементов:
- элемент, определяющий ориентацию физического тела в пространстве, жестко закрепленный на контролируемом физическом теле или являющийся его частью,
- система из по крайней мере одной растяжки, способная удерживать физическое тело в состоянии равновесия, причем растяжка соединяется одним концом через элементы крепления с физическом телом, а другим – с неподвижной опорой или опорой, подвижностью которой можно пренебречь.
- элементы для измерения величины и направления силы, действующей на физическое тело со стороны системы растяжек, через определение их натяжения,
Для построения более точной физической модели может быть определено собственное ускорение физического тела, которым однако при небольших амплитудах движений можно пренебречь.
Система растяжек обеспечивает пребывание контролируемого физического тела в пределах заданного объема с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс. При этом наличие точки устойчивого равновесия позволит добиться того, чтобы тело стремилось вернуться в начальное положение при отсутствии усилий пользователя. За счет этого может быть создана модель сводного перемещения в виртуальном мире при нахождении пользователя в ограниченном физическом пространстве.
Основное назначение СУ – определение вектора силы, прилагаемой пользователем к контролируемому телу, а также его ориентации в пространстве. Эти данные позволяют на основе действий пользователя, направленных на преодоление равновесия контролируемого тела, рассчитать физическую модель и создать реалистичную имитацию в виртуальном пространстве.
Контролируемое физическое тело представляет собой реальный объект, ориентация которого и сила воздействия на который измеряются и используются для вычисления положения (поведения) соответствующего ему тела в виртуальном пространстве. Контролируемым физическим телом может быть корпус устройства, удерживаемого пользователем или сам пользователь с закрепленным на нем оборудованием.
Контролируемое тело удерживается с помощью системы растяжек и креплений. Под растяжкой понимается трос, канат, веревка или другое изделие, в том числе эластичное, которое используется для ограничения перемещений контролируемого тела.
Растяжка может состоять из нескольких сегментов, соединенных различными переходниками, среди которых, например:
- обеспечивающие вращение сегментов растяжки вокруг своей оси (вокруг оси, параллельной оси растяжки) в целях предотвращения перекручивания растяжки,
- карабины для закрепления (расцепления) растяжки,
- переходники, осуществляющие измерение величины натяжения,
- переходники – маркеры направления натяжения.
Маркер направления натяжения – элемент, имеющий постоянную ориентацию по отношению к оси растяжки, используемый для определения направления вектора натяжения растяжки. Может представлять собой магнитный элемент с магнитной осью, совпадающей с осью растяжки, закрепленный на ней, либо соединяющий её сегменты.
Для соединения растяжки с контролируемым физическим телом используется крепление, которое может состоять из нескольких подвижных относительно друг друга элементов, например, поворотных соединений, позволяющих вращение контролируемого тела относительно осей, проходящих вблизи центра измерения.
Под центром измерений контролируемого тела понимают некоторую точку или небольшую относительно размера тела область, в которой измеряется сила, прилагаемая к контролируемому телу. Центр измерения должен находиться вблизи от центра масс контролируемого тела настолько, чтобы обеспечивалась необходимая точность измерений. Он соответствует материальной точке – центру масс виртуального тела, используемой для построения физической модели перемещения виртуального тела.
СУ может иметь различные исполнения в зависимости, в том числе, от количества растяжек, их расположения и среды, в которой находится контролируемое тело (например, воздух или вода).
В случае, когда используется одна растяжка, СУ может представлять собой подвесное устройство (см. фиг. 1) – контролируемое физическое тело, представляющее собой измерительный блок 2, размещенный на растяжке 1, закрепленной над пользователем. Такой вариант исполнения применяется, например, для имитации управления транспортным средством в компьютерной игре. Для тех же целей точка фиксации растяжки может быть расположена ниже контролируемого физического тела как центра масс. Это простые конструктивно, в установке (необходима лишь одна точка крепления) и использовании устройства, которые способны решать широкий спектр задач.
Пользователь может, стоя на полу, воздействовать на тело (измерительный блок 2) – толкать, тянуть, приподнимать, давить и поворачивать вокруг точки закрепления растяжки 1 (вокруг опоры). При этом любые усилия пользователя по выведению тела из положения равновесия не смогут отдалить его на расстояние большее, чем длина растяжки 1. В виртуальном пространстве такие воздействия могут интерпретироваться, например, как управление поворотом и ускорением подводной лодки, вертолета, космического корабля.
Для обеспечения высокого качества и стабильности имитации необходимо создание предварительного натяжения растяжки 1. Его величина определяется в зависимости от величины ожидаемой максимальной силы, которую может приложить пользователь так, чтобы не происходило полного снятия натяжения с растяжки 1. Величина такой максимальной силы может отличаться для симуляторов разного рода в зависимости, например, от ожидаемого характера движений пользователя. Так в симуляторе рекреационного назначения перемещения пользователя имеют более плавный характер, что требует меньшего предварительного натяжения растяжек, чем, например, спортивный симулятор.
Необходимо, чтобы в процессе симуляции по крайней мере одна растяжка 1 системы имела ненулевое натяжение такое, что при приложении пользователем указанной максимальной ожидаемой силы, не происходило полного снятия натяжения с растяжки 1. Если натяжение будет полностью снято, регистрируемое направление натяжения будет изменено и измерение дальнейшего увеличения силы станет недостоверным до возвращения в заданные пределы.
Предварительное натяжение растяжки 1 в подвесном варианте реализации может обеспечиваться за счет веса контролируемого физического тела. Подбирается вес, который не позволит пользователю комфортно удерживать физическое тело значительное в масштабах симулятора время в положении, когда с растяжки 1 будет снято натяжение (поднять вверх, например, 10 кг).
При реализации варианта исполнения СУ, в котором растяжка 1 закреплена ниже уровня контролируемого тела, постоянное натяжение может быть создано за счет приложения пользователем дополнительной силы. То есть для того, чтобы пользователь в виртуальной среде мог оставаться на одном месте, необходимо постоянное приложение силы, достаточной для натяжения как минимум одной из растяжек 1 системы. Такая сила будет принята в симуляторе в качестве нулевой.
Достигнуть предварительного натяжения позволяет другой вариант исполнения СУ, который предусматривает использование системы растяжек 1 (см. фиг. 2), таких, что по крайней мере одна из них способна компенсировать снятие натяжения с другой растяжки 1. Например, две противоположно натянутые растяжки 1, где усилия пользователя, приводящие к снятию натяжения с одной растяжки 1 приведут к его возрастанию на другой. Сила, прилагаемая пользователем, регистрируется на основании направления натяжения второй растяжки 1, величина которого возрастает. Такой вариант исполнения может представлять собой настольное устройство для трехмерного моделирования или игр.
Для иных целей может быть использовано большее количество растяжек 1.
Измерения для построения физической модели на основании действий пользователя могут быть осуществлены за счет использования:
- гироскопа для определения ориентации физического тела в пространстве, который закреплен неподвижно относительно него,
- акселерометра для определения собственного ускорения контролируемого физического тела,
- тензометра для определения величины силы натяжения растяжек 1,
- датчика определения направления натяжения растяжки 1 (подробно пример исполнения рассмотрен ниже).
- либо трехосевого датчика регистрации вектора силы.
Предпочтительно, измерители расположены в едином корпусе измерительного блока 2, к которому прикладывается сила и который представляет собой центр масс или закреплен в центре масс. Измерители силы и направления натяжения могут быть вынесены из корпуса. В частности, тензометр может располагаться на входе в измерительный блок 2 в месте его соприкосновения с растяжкой 1 или в произвольном месте растяжки 1.
Информация о результатах измерений от всех измерителей может передаваться в центральный контроллер, который кроме того производит обработку поступающих данных и передает результаты по проводному или беспроводному каналу в устройство вывода информации — устройство симуляции. Каждый измеритель может самостоятельно передавать информацию в устройство сбора и обработки информации.
Количество измерителей, определяющих направление и величину натяжения, зависит от количества растяжек 1. При использовании более одной растяжки 1, воздействие пользователя на каждую должно быть учтено. В то же время при использовании большого количества растяжек 1 и известной геометрии системы данные о натяжении некоторых растяжек 1 могут быть вычислены на основании известных данных о натяжении других растяжек 1.
Устройство, выполняющее в системе функцию измерения величины натяжения (например, тензометр) выбирается исходя из планируемой максимальной нагрузки и учитывая необходимую точность измерения. Максимальная нагрузка включает в себя как натяжение, создаваемое пользователем в процессе использования системы, так и предварительно созданное натяжение. Требования, предъявляемые к величине допустимой нагрузки применяются также для растяжек 1 системы.
Вычислительное оборудование, необходимое для запуска программы симуляции виртуальной реальности может быть расположено на теле пользователя, в том числе в виде мобильного устройства, используемого внутри шлема виртуальной реальности в качестве дисплея.
Заявляемая СУ может быть применена следующим образом.
Предварительно определяют начальные условия среды, в которой находится физический объект и, предпочтительно, действующие на него существенные внешние силы (например, сила тяжести).
Физическое тело закрепляют в положении равновесия с помощью системы растяжек 1. Пользователь в процессе использования симулятора прилагает к физическому телу некоторые усилия, на которые система растяжек 1 реагирует изменением величины и(или) направления натяжения.
Для определения величины силы, приложенной пользователем измеряют векторы сил реакции растяжек 1 на усилия пользователя, предпочтительно, вектор собственного ускорения физического тела, а также вычисляют векторы известных существенных внешних сил, действующих на тело. Вычисляют силу, приложенную пользователем, например, вычитая из результирующей всех сил, действующих на тело, сумму сил реакции всех растяжек 1 и всех известных существенных внешних сил, действующих на тело. Результирующая сил, действующих на тело, вычисляется как произведение известной массы физического тела на измеренный вектор его действительного ускорения.
При этом могут пренебрегать некоторыми силами, не оказывающими существенного влияния на точность вычислений в конкретном контексте управления виртуальным объектом. Например, силами сопротивления среды и трения. А в случае небольшой амплитуды перемещений физического объекта, могут пренебрегать реальным ускорением физического тела.
Вычисленную приложенную пользователем силу передают в программу симуляции воздействия на виртуальный объект, и используют для моделирования силы, действующей на виртуальный объект. Для расчета перемещений виртуального объекта вычисленную силу, приложенную пользователем к физическому телу, масштабируют в соответствии с контекстом управления, и добавляют к ней другие определяемые контекстом силы, действующие на виртуальный объект.
СУ может быть адаптирована для использования под водой при симуляции плавания.
Система симуляции плавания (см. фиг. 3) в этом случае предпочтительно состоит из герметичного шлема виртуальной реальности, совмещенного с плавательной маской 3, системы 4 дыхания и подачи воздуха, компенсаторов 5 плавучести, обеспечивающих постоянное ненулевое натяжение, блока 2 измерения ориентации и силы натяжения, закрепленного на поясе вблизи центра тяжести пловца, и растяжки 1, удерживающей пловца на необходимом уровне глубины водоема, не допуская его всплытия или излишнего погружения. В данном случае контролируемым физическим телом является пользователь с закрепленным на нем оборудованием, в том числе измерительным блоком 2.
Решение использует нежесткую фиксацию пловца в пределах ограниченного объёма воды и может быть реализовано в зависимости от способа установки растяжек 1 в любом бассейне достаточной глубины или открытом водоеме. При расчете системы необходимо учитывать доступный объем перемещений пловца без столкновения со стенками, дном и поверхностью объема, в котором он находится. При этом может быть сохранено вращение относительно всех трех взаимно перпендикулярных осей, проходящих вблизи центра масс.
В целях обеспечения безопасности пловца и удобства эксплуатации, растяжка 1 может быть пропущена через систему блоков 6, расположенных на дне (и(или) удерживаемых грузами 7), и закреплена на твердой поверхности — на суше в точке 8. Крепление выполняют таким образом, что в случае разгерметизации маски или нарушения системы подачи воздуха, наблюдатель, находящийся на берегу, может экстренно освободить конец растяжки 1, обеспечив всплытие пловца. Возможность быстрого экстренного открепления от растяжки 1 должен иметь и сам пловец. Также может использоваться система автоматического расцепления при обнаружении неполадок системы.
Растяжка 1 крепится на поясе пловца, что позволяет ему осуществлять основные движения, кроме поворотов тела пловца вокруг своей оси и кувырков. Большую свободу передвижений может обеспечить использование шарниров, соединяющих растяжку с физическим телом. Такое крепление может представлять собой систему (см. фиг. 4) из внутреннего кольца 9, прикрепленного к поясу пловца, внешнего кольца 10, внутри которого свободно вращается внутреннее кольцо 9, и скобы 11, позволяющей вращение относительно оси, перпендикулярной оси колец. Это позволяет пловцу вращение вокруг своей оси, а также перенос точки относительно которой происходит вращение физического тела от точки на поверхности тела (на поясе) в центр колец, что более точно соответствует действительному положению его центра масс.
Компенсаторы 5 плавучести обеспечивают предварительное натяжение растяжки 1, поддерживая пловца на заданном уровне глубины водоема. Использование компенсатора 5 с регулируемой плавучестью, например, компенсационного жилета аквалангиста, позволит регулировать натяжение. Пловец, накачивая жилет воздухом из баллона, изменяет действующую на него силу Архимеда в пределах нескольких килограмм силы. В этом случае может быть задана величина натяжения растяжки 1, при которой аквалангист в виртуальной реальности будет считаться находящимся в состоянии покоя.
Если используется компенсатор 5, плавучесть которого не регулируется (пенопластовый пояс, жилет), то натяжение, соответствующее состоянию покоя в виртуальной реальности должно совпадать с натяжением, создаваемым пловцом, не прилагающим усилий. Эта величина при использовании одного и того же снаряжения может в некоторых пределах изменяться (в зависимости от объема тела пловца и его плотности). В целом плотность тела человека близка к плотности воды, поэтому можно считать, что нейтральное натяжение растяжки 1 будет близко к силе Архимеда, действующей на снаряжение пловца за вычетом веса снаряжения. Например, может быть использован пенопластовый пояс/жилет, на который действует сила Архимеда, соответствующая весу 10кг. Точное нейтральное натяжение тогда определится в процессе калибровки после погружения пловца, как натяжение растяжки 1 в состоянии, когда пловец не двигается.
Пловец может удерживаться единственной растяжкой 1 (см. фиг. 3), закрепленной одним концом на его поясе, а другим - на дне водоема (например, с помощью присоски и/или груза 7). Компенсаторы 5 создания положительной плавучести должны быть подобраны таким образом, чтобы пловец физически не смог создать усилие ныряния, снимающее полностью натяжение с закреплённой на дне растяжки 1. В состоянии равновесия величина силы натяжения растяжки 1 равна разности величин выталкивающей силы (Архимеда) и силы тяжести, действующих на тело. Значит сила Архимеда, действующая на пловца с компенсатором 5 плавучести, должна быть такой, что разность ее величины и величины силы тяжести, действующей на тело не меньше чем максимальное усилие, которое способен создать пловец.
Минимальное натяжение растяжки 1 в этом случае будет наблюдаться в момент вертикального движения пловца вниз. Если считать максимальным усилием тяги, развиваемым пловцом в процессе симуляции, усилие в 100Н (примерно соответствующее поднятию веса в 10кг), то натяжение растяжки 1 в нейтральном состоянии (когда пловец не прикладывает усилий) не должно быть менее 100Н. Тогда даже при интенсивном движении вниз натяжение растяжки 1 не станет равным нулю. При превышении запланированного максимального усилия растяжка 1 провиснет, что на некоторое время скажется на реалистичности имитации.
Максимальное натяжение растяжки 1 будет наблюдаться при вертикальном движении пловца вверх. При этом к начальному натяжению растяжки 1 (100Н) прибавится усилие пловца (еще 100Н) что составит максимум 200Н. Таким образом, растяжка 1 должны выдерживать нагрузку весом минимум 20кг.
Кроме того, возможно осуществление симуляции плавания с трубкой (снорклинг), которое является менее требовательным к глубине водоема и не требует сложного дыхательного оборудования. Для реализации (см. фиг. 5) достаточен неглубокий бассейн с эластичной растяжкой 1, прикрепленной ко дну и к поясу пловца. Для уменьшения составляющей силы, тянущей пловца вниз на задней стороне пояса может быть расположен компенсатор 5 плавучести, обеспечивающий передвижение пловца вдоль поверхности воды. На внешней части маски в этом случае может дополнительно располагаться датчик уровня воды, чтобы предоставлять в систему симуляции информацию о подъеме головы над поверхностью воды. Для упрощения конструкции вращение относительно продольной оси пловца может быть ограничено.
В другом варианте реализации (см. фиг. 6) растяжка 1 может быть зафиксирована над пловцом – в неподвижной точке 8 на суше, либо точке, подвижностью которой можно пренебречь в рамках симуляции (например, на неподвижном плавательном средстве с массой существенно превосходящей массу пловца). В этом случае используются компенсаторы 5, обеспечивающие отрицательную плавучесть, которые позволяют удерживать пловца от всплытия и снятия тем самым натяжения с растяжки 1. При этом максимальное ожидаемое усилие пловца не должно превосходить разности величин силы тяжести и выталкивающей силы, действующих на физическое тело.
Если программой симуляции предусмотрены достаточно большие, динамичные нагрузки, может потребоваться значительное предварительное натяжение, при котором пловец, предпринимая попытку быстрого ускорения, будет испытывать существенное противодействие пояса. Это может привести к ощущению рывков, что негативно скажется на качестве имитации и комфорте пловца. Для преодоления такого недостатка может быть использована система из двух растяжек 1, натянутых вертикально в противоположных направлениях. Растяжки 1 могут обладать эластичностью, чтобы обеспечивать подвижность пловца вблизи точки равновесия и отсутствие рывков пояса при ускорении. При этом обе растяжки 1 должны быть закреплены так, чтобы позволять вращение пловца относительно одной и той же точки. Поскольку закрепить растяжки 1 в одной точке на поясе в этом случае затруднительно, для достижения этого результата может использоваться система крепления растяжек 1, описанная выше, содержащая две дуги с общей осью вращения (см. фиг. 7).
Для измерения направления натяжения может быть использована система (см. фиг. 8) из трехосевого магнитометра 12, расположенного внутри измерительного блока 2 вблизи точки закрепления растяжки 1, а также магнита 13, размещенного на растяжке 1 вблизи блока 2 таким образом, что ось север-юг магнита 13 совпадает с направлением растяжки 1. Силу магнита 13 и расстояние от него до магнитометра 12 можно подобрать таким образом, что напряженностью естественного магнитного поля Земли можно пренебречь по сравнению с напряженностью, создаваемой магнитом 13 в точке размещения магнитометра 12. Тогда направление вектора натяжения растяжки 1 относительно магнитометра 12 (а значит и блока 2) можно вычислить, основываясь на направлении вектора напряженности магнитного поля, измеренного магнитометром 12. Например, постоянный цилиндрический неодимовый магнит диаметром 10 мм и длиной 25мм с осевым отверстием 5мм, с направлением поляризации, совпадающим с осью цилиндра, расположенный растяжке 1 на расстоянии 50мм от магнитометра, создает напряженность магнитного поля более 1000мкТ при естественной напряженности поля земли менее 50мкТ. При этом величина натяжения растяжки 1 может определяться расположенным на ней тензометром 14. Описанные устройства — один из примеров герметичной реализации измерителя натяжения, вместо которых могут быть использованы другие известные способы и устройства, позволяющие определить вектор силы натяжения.
Вычислительное оборудование 15 может быть расположено на теле пловца (в том числе, мобильное устройство внутри шлема 3 виртуальной реальности), либо частично располагаться на суше, что дает возможность использования больших вычислительных мощностей стационарного вычислительного устройства (см. фиг. 6). Необходимая коммуникация между оборудованием пловца и берегом может осуществляться по проводному каналу, идущему параллельно растяжке 1, не создавая, таким образом, дополнительных ограничений при перемещении пловца.
Система подачи воздуха пловцу может представлять собой обычный акваланг (актуально для реалистичных тренажеров подводного плавания). Возможна также реализация, где канал 16 подачи воздуха дыхательной системы 4 также проходит параллельно растяжке 1, а баллон (компрессор) 17 расположен на суше.
Для обеспечения большей реалистичности ощущений от использования симулятора система может включать дополнительные измерители. Например, определяющие изгиб отдельных частей тела, в том числе спины пловца. Дополнительно могут быть использованы датчики, регистрирующие возможные внештатные ситуации, такие как попадание воды под маску, нарушение системы подачи воздуха, выход за пределы допустимых значений частоты пульса пловца, и прочие, которые позволяют активировать автоматическую систему экстренного всплытия.
Описанная выше система управления виртуальным объектом может использоваться совместно с другими известными контроллерами виртуальной реальности. Например, совмещение с системой распознавания положения рук, такой, как LeapMotion, позволяет пловцу видеть кисти виртуальных рук и взаимодействовать с виртуальными предметами. В зависимости от характера симулятора могут использоваться отдельные контроллеры имитирующие оружие и другое дополнительное оборудование. Для точного определения положения частей тела под водой могут использоваться внешние камеры типа MicrosoftKinect (адаптированные для работы в соответствующей среде).
Рассмотрим работу СУ на примере, когда пловец с компенсатором 5, обеспечивающим положительную плавучесть, удерживается растяжкой 1 от всплытия.
Предварительно устанавливают предварительное натяжение растяжки 1 - нулевой уровень натяжения в зависимости от целей симулятора. При использовании симулятора для расслабленного плавания, нулевое натяжение может быть небольшим (минимально возможным), например, 5 кг. В этом случае пловец испытывает незначительное давление пояса. Если симулятор предполагает изначально более интенсивное плавание, нулевой уровень натяжения устанавливают большим, например, 10 килограмм.
Пловец после погружения с аквалангом прикрепляет растяжку 1 к поясу. Сила натяжения растяжки 1 в этот момент меньше установленных 5кг, поэтому в виртуальной реальности пловец опускается на дно. Пловец подкачивает воздух в жилет и в реальности находится на одном и том же месте, удерживаемый растяжкой 1. При этом натяжение растяжки 1 возрастает, падение пловца в виртуальной реальности замедляется и затем прекращается при достижении натяжением растяжки 1 заданной нулевого уровня натяжения.
В случае превышении ожидаемой максимальной силы, а также возникновении других погрешностей измерения сил, определения нулевой точки и т.д. контроль над силой будет временно нарушен, что в условиях виртуальной реальности воспринимается пловцом как действие некоторых посторонних сил (например, подводных течений). Опыт эксплуатации системы показал, что небольшая погрешность в таком случае воспринимается достаточно естественно, то есть не оказывает критического влияния на реалистичность имитации. При возвращении усилий в допустимые пределы реалистичность ощущений восстановится.
Измерители СУ определяют величину и направление приложения пловцом силы, ориентацию и ускорение контролируемого физического тела, размещенного на поясе — в центре тяжести и плавучести пловца. Измерительный блок 2 может передавать в программу симуляции необработанные показания датчиков, либо производить некоторые вычисления с помощью своих ресурсов. Например, возможна реализация, когда СУ передаёт в программу симуляции углы ориентации пловца и вычисленный вектор силы пловца.
Рассмотрим физическую модель, по которой могут быть произведены расчеты, предполагая совпадение точек закрепления растяжки 1, центра тяжести и центра плавучести пловца. В этом случае (см. фиг. 9) равнодействующая сил , складывается из силы тяжести , силы натяжения троса, силы Архимеда и силы , равной сумме, прикладываемой пловцом и силы сопротивления воды.
Силой сопротивления воды при движении зафиксированного пловца на небольших скоростях можно пренебречь, и силу принять равной действительным усилиям пловца по перемещению. Силу , прикладываемую пловцом для перемещения можно вычислить как разность равнодействующей силы и сил , силы натяжения , выталкивающей силы : .
По первому закону Ньютона равнодействующая сил в каждый момент времени равна произведению массы пловца со снаряжением на его ускорение. Масса пловца известна и постоянна, вектор ускорения регистрируется с помощью трехосевого датчика акселерометра, расположенного вблизи центра масс. Сила тяжести вычисляется как произведение вектора ускорения свободного падения на массу пловца со снаряжением.
Сила Архимеда не является постоянной, так как она связана с изменением объёма пловца при дыхании, однако, часть её, связанную со вдохом и выдохом можно рассматривать как составляющую усилий пловца, направленных на вертикальное перемещение. Таким же образом усилием, направленным пловцом на вертикальное перемещение будет считаться надувание (стравливание) воздуха из компенсационного жилета аквалангиста. Поэтому, под силой понимают постоянную выталкивающую силу, равную силе Архимеда, действующей на пловца в состоянии, принятом за нейтральное, например, в состоянии неглубокого вдоха. Измерить эту силу можно в начале сеанса в состоянии покоя, когда пловец неподвижно завис над точкой крепления растяжки 1. В этом случае равнодействующая сил равна нулю, усилия , прикладываемые пловцом, также равны нулю, значит постоянная сила Архимеда равна по модулю и противоположна по направлению сумме известных сил тяготения и натяжения (см.фиг. 10).
Силу , прикладываемую пловцом в каждый момент времени, за вычетом силы сопротивления воды можно рассчитать через известные силы , , , . Пренебрегая силой сопротивления, можно считать, что сила Fu отражает действительное намерение пловца по изменению его скорости.
Физическая модель при использовании двух растяжек 1 рассчитывается аналогично, за исключением того, что вместо единственного вектора силы натяжения должен вычисляться суммарный вектор натяжения обеих растяжек (векторная сумма, см. фиг. 2). При известных параметрах геометрии растяжек 1 и заданном коэффициенте эластичности один из векторов натяжения может быть вычислен через второй. Знание натяжения одной из растяжек 1 и коэффициента ее упругости позволяет определить ее удлинение, что в совокупности с информацией о положении точек закрепления растяжек 1 и угле отклонения первой растяжки 1 позволяет определить удлинение второй растяжки 1, и угол ее отклонения, что позволяет определить силу натяжения второй растяжки 1. Ввиду погрешностей вычисления, погрешностей геометрии установки, а также возможных несоответствий коэффициентов упругости, использование второго модуля измерения натяжения видится предпочтительным.
Для упрощения расчетов может быть использована несколько иная модель, в рамках которой для вычисления сил, прилагаемых пользователем, независимо от характера постоянных внешних сил, действующих на тело, достаточно знать его массу, ускорение и изменение суммы сил натяжения растяжек 1 относительно суммы сил их натяжений в состоянии равновесия.
Допустим, тело закреплено системой из N растяжек 1, прикрепленных к его центру масс в состоянии устойчивого равновесия. Известно, что на тело воздействуют некоторые постоянные силы, не зависящие от времени (такие, как сила тяжести, сила Архимеда), а также может воздействовать пользователь.
Тогда по второму закону Ньютона в любой момент времени справедлива формула (1), где – масса тела, – ускорение тела (т.о. – равнодействующая сил, действующих на тело), – сумма всех сил, действующих на тело со стороны растяжек 1, – сумма всех не зависящих от времени сил, действующих на тело, – сила, прилагаемая пользователем к перемещению тела. Тогда сила, прилагаемая пользователем к перемещению тела может быть вычислена как (2).
Пусть сумма всех сил, действующих на тело со стороны растяжек 1 в состоянии равновесия при отсутствии воздействия пользователя. Тогда справедливо равенство , или (3). При этом (2) принимает вид .
Оценённый тем или иным образом вектор силы передаётся в программу симуляции вместе с информацией о текущей ориентации контролируемого физического тела в системе координат мира, оцениваемой, например, с помощью датчика-гироскопа, размещенного, например, в измерительном блоке 2.Датчики ориентации позволяют производить перевод сил, вычисленных в системе координат устройства в систему координат мира.
Программа симуляции рассчитывает эффект от приложенной силы к виртуальному объекту тела пловца и управляет перемещением центра масс и ориентацией виртуального тела пловца в виртуальном пространстве, иными словами, определяет положение и ориентацию системы 18 координат , связанной с виртуальным телом пловца в неподвижной системе 19 координат виртуального мира (см. фиг. 11). При этом может применяться оценка массы объекта, отличная от реальной, коэффициент сопротивления среды плавания, отличный от коэффициента сопротивления воды, и другие отличия физической модели виртуального мира. Таким образом, например, в виртуальном пространстве возможно перемещение пловца со скоростями, отличными от обычных скоростей подводного, соответствующее замыслу игры или симулятора.
Для правильного восприятия пользователем картины виртуального мира, транслируемой через шлем виртуальной реальности, необходимо вычислять положение стерео-камеры 20, соответствующей глазам пловца в системе 19 координат виртуального мира.
Шлем 3 виртуальной реальности обладает собственными датчиками отслеживания ориентации, позволяющими регистрировать поворот головы пловца независимо от ориентации контролируемого физического тела. Поэтому для правильного вычисления положения камеры 20 в виртуальном пространстве достаточно знать координаты начала координат системы отсчета 21, связанной с головой пловца и имеющей центр вращения в точке поворота головы (в этой системе координаты стерео-камеры 20 постоянны) в системе 18 координат связанной с центром тела пловца.
Без привлечения дополнительной информации можно исходить из предположения, что вектор 22 «центр масс пловца – точка вращения головы», соединяющий начала координат систем 18 и 21 в системе координат пловца 18 неизменен и соответствует выпрямленному состоянию позвоночника, наиболее естественному для плавания.
Более точная модель вычисления вектора 22 может быть построена с привлечением информации дополнительных датчиков, например, датчика изгиба спины, что сделает возможным более корректное визуальное восприятие пловцом перемещений с отличным от выпрямленного состоянием позвоночника.
Используя описанную физическую модель, пользователь, закреплённый в ограниченном объёме физического пространства, может неограниченно перемещаться в виртуальном пространстве, в направлении, управляемом плавательными движениями тела, при этом смотря в направлении, определяемом реальным положением и направлением поворота головы, что в большой степени соответствует ощущениям, которые он испытывал бы, действительно перемещаясь под водой.
Claims (28)
1. Система управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного с помощью системы из по крайней мере одной растяжки, так, что система растяжек способна удерживать тело в положении устойчивого равновесия с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс, содержащая элементы, определяющие ориентацию физического тела в пространстве, а также величину и направление силы, действующей на физическое тело со стороны системы растяжек.
2. Система по п.1, отличающаяся тем, что содержит элемент, определяющий ускорение физического тела.
3. Система по п.1, отличающаяся тем, что содержит трехосевой датчик определения вектора силы, приложенной к физическому телу со стороны системы растяжек.
4. Система по п.1, отличающаяся тем, что при любых усилиях пользователя по перемещению физического тела, не превосходящих максимального ожидаемого усилия, всегда найдется хотя бы одна растяжка системы, имеющая ненулевое натяжение.
5. Система по п.1 или 4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать физическое тело в воздухе в подвешенном состоянии, а максимальное ожидаемое от пользователя усилие не превосходит веса физического тела.
6. Система по п.4, отличающаяся тем, что содержит две растяжки, способные удерживать физическое тело, будучи растянутыми в противоположных направлениях.
7. Система по п.4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать физическое тело с отрицательной плавучестью в жидкой среде в подвешенном состоянии, а максимальное ожидаемое усилие не превосходит разности величин силы тяжести и выталкивающей силы, действующих на физическое тело.
8. Система по п.4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать от всплытия физическое тело с положительной плавучестью в жидкой среде, а максимальное ожидаемое усилие не превосходит разности величин выталкивающей силы и силы тяжести, действующих на физическое тело.
9. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, реализующий функцию расцепления растяжки.
10. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, обладающий возможностью свободного вращения вокруг оси, параллельной оси растяжки.
11. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, позволяющий измерение величины силы натяжения растяжки.
12. Система по п.1 или 11, отличающаяся тем, что каждая растяжка оснащена тензометром для измерения величины ее натяжения.
13. Система по п.1 или 6 или п.7 или 8, отличающаяся тем, что физическим телом является пловец с закрепленным на нем оборудованием, которое включает в себя устройство отображения визуальной информации.
14. Система по п.13, отличающаяся тем, что устройство вывода визуальной информации выполнено в виде шлема виртуальной реальности, совмещенного с плавательной маской.
15. Система по п.13, отличающаяся тем, что содержит систему дыхания и подачи воздуха, проводной канал которой расположен вдоль одной из растяжек контроллера.
16. Система по п.1, отличающаяся тем, что соединение растяжки с физическим телом производится с помощью элементов крепления, позволяющих вращение физического тела относительно одной или нескольких осей, проходящих вблизи центра масс физического тела.
17. Система по п.16, отличающаяся тем, что крепление состоит из внутреннего кольца, выполненного с возможностью крепления к контролируемому физическому телу и вращения внутри внешнего кольца, а также скобы, позволяющей вращение относительно оси, перпендикулярной оси колец.
18. Система по п.1, отличающаяся тем, что для определения направления силы натяжения растяжки на ней расположен магнит, а вблизи магнита в центре масс физического тела установлен магнетометр.
19. Система по п.1, отличающаяся тем, что имеет систему блоков или грузов для фиксации растяжки.
20. Способ управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного в положении устойчивого равновесия с помощью системы из по крайней мере одной растяжки, характеризующийся тем, что:
- определяют начальные условия среды, в которой находится физическое тело,
- векторы сил натяжения растяжек,
- вычисляют вектор силы, приложенной пользователем,
- используют вычисленную силу для симуляции поведения виртуального объекта.
21. Способ по п.20, отличающийся тем, что определяют векторы существенных внешних сил, действующих на физическое тело.
22. Способ по п.20, отличающийся тем, что определяют вектор собственного ускорения физического тела.
23. Способ по п.20, отличающийся тем, что устанавливают уровень предварительного натяжения растяжек в зависимости от целей симулятора.
24. Способ по п.20, отличающийся тем, что определяют положение стереокамеры, соответствующей глазам пользователя в системе координат виртуального мира, если в качестве физического тела выступает пользователь.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017127259A RU2670351C1 (ru) | 2017-07-31 | 2017-07-31 | Система и способ управления виртуальным объектом |
CN201880058783.5A CN111107910B (zh) | 2017-07-31 | 2018-07-30 | 用于控制虚拟对象的系统和方法 |
US16/633,503 US11524223B2 (en) | 2017-07-31 | 2018-07-30 | System and method for controlling virtual objects |
PCT/RU2018/050090 WO2019027358A1 (ru) | 2017-07-31 | 2018-07-30 | Система и способ управления виртуальным объектом |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017127259A RU2670351C1 (ru) | 2017-07-31 | 2017-07-31 | Система и способ управления виртуальным объектом |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2670351C1 true RU2670351C1 (ru) | 2018-10-22 |
Family
ID=63923416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017127259A RU2670351C1 (ru) | 2017-07-31 | 2017-07-31 | Система и способ управления виртуальным объектом |
Country Status (4)
Country | Link |
---|---|
US (1) | US11524223B2 (ru) |
CN (1) | CN111107910B (ru) |
RU (1) | RU2670351C1 (ru) |
WO (1) | WO2019027358A1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2738489C1 (ru) * | 2020-04-03 | 2020-12-14 | Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" | Учебный тренажерно-моделирующий комплекс для подготовки космонавтов к внутрикорабельной деятельности |
US11766613B2 (en) | 2019-04-11 | 2023-09-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for observing virtual item in virtual environment and readable storage medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT3482802T (pt) * | 2017-11-13 | 2021-02-19 | Vr Coaster Gmbh & Co Kg | Dispositivo para a experiência de uma simulação de realidade virtual num mundo subaquático |
CN111632370B (zh) * | 2020-05-20 | 2024-02-27 | 东北石油大学 | 虚拟现实中手部阻力处理方法和装置 |
WO2022131969A1 (ru) * | 2020-12-18 | 2022-06-23 | Общество с ограниченной ответственностью "ВИАРДАЙВЕР" (ООО "ВИАРДАЙВЕР") | Система ограничения перемещений пользователя в водной среде |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090111670A1 (en) * | 2003-05-29 | 2009-04-30 | Julian D Williams | Walk simulation apparatus for exercise and virtual reality |
US20100302233A1 (en) * | 2009-05-26 | 2010-12-02 | Holland David Ames | Virtual Diving System and Method |
RU2524503C1 (ru) * | 2013-01-09 | 2014-07-27 | Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" | Многофункциональный учебно-тренировочный комплекс для подготовки космонавтов (астронавтов) к внекорабельной деятельности (варианты) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304246A (ja) * | 2001-04-04 | 2002-10-18 | Nippon Telegr & Teleph Corp <Ntt> | 力覚提示装置及び仮想空間システム |
WO2006017926A1 (en) * | 2004-08-20 | 2006-02-23 | UNIVERSITé LAVAL | Locomotion simulation system and method |
US8054289B2 (en) * | 2006-12-01 | 2011-11-08 | Mimic Technologies, Inc. | Methods, apparatus, and article for force feedback based on tension control and tracking through cables |
US9256282B2 (en) * | 2009-03-20 | 2016-02-09 | Microsoft Technology Licensing, Llc | Virtual object manipulation |
EP2251767A1 (en) * | 2009-05-11 | 2010-11-17 | ETH Zurich | Haptic interface for a virtual environment |
FR2950187B1 (fr) * | 2009-09-17 | 2011-11-18 | Centre Nat Rech Scient | Procede de simulation de mouvements propres par retour haptique et dispositif mettant en oeuvre le procede |
CN102160924A (zh) * | 2010-02-24 | 2011-08-24 | 肖泉 | 模拟太空体觉体验的方法和装置 |
CA2795399A1 (fr) * | 2010-04-06 | 2011-10-13 | Nelson Greenberg | Virtual exerciser device |
CN106621320A (zh) * | 2016-11-29 | 2017-05-10 | 维沃移动通信有限公司 | 一种虚拟现实终端的数据处理方法和虚拟现实终端 |
US10796541B1 (en) * | 2019-06-25 | 2020-10-06 | Kipling Martin | Virtual reality haptic feedback system and components thereof |
-
2017
- 2017-07-31 RU RU2017127259A patent/RU2670351C1/ru active
-
2018
- 2018-07-30 CN CN201880058783.5A patent/CN111107910B/zh active Active
- 2018-07-30 WO PCT/RU2018/050090 patent/WO2019027358A1/ru active Application Filing
- 2018-07-30 US US16/633,503 patent/US11524223B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090111670A1 (en) * | 2003-05-29 | 2009-04-30 | Julian D Williams | Walk simulation apparatus for exercise and virtual reality |
US20100302233A1 (en) * | 2009-05-26 | 2010-12-02 | Holland David Ames | Virtual Diving System and Method |
RU2524503C1 (ru) * | 2013-01-09 | 2014-07-27 | Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" | Многофункциональный учебно-тренировочный комплекс для подготовки космонавтов (астронавтов) к внекорабельной деятельности (варианты) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11766613B2 (en) | 2019-04-11 | 2023-09-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for observing virtual item in virtual environment and readable storage medium |
RU2738489C1 (ru) * | 2020-04-03 | 2020-12-14 | Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" | Учебный тренажерно-моделирующий комплекс для подготовки космонавтов к внутрикорабельной деятельности |
Also Published As
Publication number | Publication date |
---|---|
US11524223B2 (en) | 2022-12-13 |
CN111107910B (zh) | 2023-08-22 |
CN111107910A (zh) | 2020-05-05 |
WO2019027358A1 (ru) | 2019-02-07 |
US20200226946A1 (en) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2670351C1 (ru) | Система и способ управления виртуальным объектом | |
CN111356507B (zh) | 用于在水下世界中体验虚拟现实仿真的装置 | |
US11331557B2 (en) | Virtual reality haptic system and apparatus | |
US11097177B1 (en) | Repulsion-based swim system and methods for use thereof | |
KR101307609B1 (ko) | 실감형 콘텐츠 기반 스킨스쿠버 교육장치 | |
WO2011032363A1 (en) | Method and apparatus of variable g force experience and create immersive vr sensations | |
US11083967B1 (en) | Virtual reality haptic system and apparatus | |
US11614796B1 (en) | Virtual reality haptic system and apparatus | |
US20090303179A1 (en) | Kinetic Interface | |
JPS58500647A (ja) | 水泳者用規制装置 | |
US20040086838A1 (en) | Scuba diving simulator | |
KR20110046414A (ko) | 낙하산 강하 훈련 시뮬레이션 시스템 및 그 방법 | |
CN102160924A (zh) | 模拟太空体觉体验的方法和装置 | |
US20220351636A1 (en) | Systems and methods for dynamic, active, g-force and flight simulator | |
KR101948660B1 (ko) | 가상현실 체험용 시뮬레이션 보드 장치 | |
US20220276697A1 (en) | Apparatus and method | |
KR101954083B1 (ko) | 수영자세 코칭 서비스 관리서버 및 그 시스템 | |
KR101128713B1 (ko) | 스킨스쿠버 체감을 위한 시뮬레이터 시스템 | |
US11992732B2 (en) | Repulsion-based swimjet system and methods for use thereof | |
US20180244359A1 (en) | Underwater recreation system | |
US20240075369A1 (en) | System for restricting user movements in an aquatic medium | |
JPH07285500A (ja) | 空間識適応の訓練方法及び訓練装置 | |
RU173655U1 (ru) | Имитатор космических условий на основе виртуальной реальности | |
RU126614U1 (ru) | Интерактивный программно-аппаратный тренажер техники дыхания и навыка контроля плавучести в дайвинге с аппаратами открытого цикла | |
PL235586B1 (pl) | Urządzenie i sposób wspomagania treningu pływackiego |