Изобретение относится к системам определения положения и ориентации пользователей в пространстве и может быть использовано в интерактивных компьютерных играх, в тренажерах для обучения или тренировок спортивного и военного назначения. Изобретение может использоваться для оздоровления, при обучении и отработке правильного выполнения детьми и взрослыми двигательных упражнений и приемов в спортивных играх, танцах.
Известны системы отслеживания и отображения положения тела человека при его перемещении с использованием механических средств отслеживания положения головы и элементов тела - гониометров, которые предназначены для измерения углов поворота суставов и для определения конечных положений, например, руки относительно тела, или кончика пальца относительно руки или головы относительно точки пространства в которой размещен гониометр.
К недостаткам таких систем следует отнести трудности юстировки гониометров с суставами, особенно имеющими множество степеней свободы, например плечевым. Центры поворота гониометров не совпадают с центрами вращения суставов. Вследствие этого кинематического рассогласования имеет место проскальзывание (относительное перемещение) между креплением гониометра и конечностью в процессе перемещения. Суставы человека не являются идеальными шарнирами: оси вращения перемещаются при изменении углов поворота суставов. Для повышения точности необходимо использовать соответствующие калибровки.
Известны магнитные системы отслеживания и отображения положения и ориентации тела человека в пространстве, относительно экономичные и удобные в использовании и обеспечивающие приемлемую точность (см. Burdea G., Coiffet Р. Virtual reality technology. 1994, John Wiley & Sons, Inc. pp. 17-25). K таким системам относятся Motion Capture Server компании Polhemus и Flock of Birds компании Ascention Technology Corp., содержащие множество плат обработки измерений параметров движения, контроллер, плату внешней синхронизации, коммуникационную плату, клавиатуру и монитор, передатчик, содержащий три электромагнитные катушки и множество приемников, каждый из которых также содержит миниатюрную триаду электромагнитных катушек, воспринимающих магнитные поля, излучаемые передатчиком. Положение и ориентация каждого приемника измеряются при его перемещении. В типовом случае система содержит 8 приемников, снабженных кабелем и средствами крепления на пользователе. Используемая в системе Motion Capture Server низкочастотная технология магнитных преобразователей позволяет не учитывать возможную блокировку линии визирования "передатчик-приемник" препятствиями.
Дальность действия таких систем невелика (в пределах небольшого помещения); точность зависит от расстояния между передатчиком и приемником. В системе с переменными магнитными полями наличие посторонних металлических предметов ухудшает точность вследствие индуцирования вихревых токов. Система с постоянными магнитными полями менее чувствительна к наличию металлических предметов, однако эффект магнитного сопротивления может внести искажения в создаваемые передатчиком магнитные поля.
Кроме того, к недостаткам таких систем следует отнести недостаточно высокое быстродействие вследствие временных задержек установления аналогового сигнала, а также высокий уровень шумов, что приводит к дрожанию изображения на экране.
Известна ультразвуковая система отслеживания положения и ориентации пользователя в пространстве, содержащая передатчик, выполненный в виде набора из трех передающих электроакустических преобразователей, жестко закрепленных на опорной рамке, приемники в виде наборов из трех микрофонов, жестко закрепленных на опорной рамке, размещенной на пользователе, например на шлеме с дисплеем, систему обработки регистрируемой информации и систему отображения синтезируемого изображения пользователю (см. там же, с.25-28). Определение местоположения базируется на принципе триангуляции. Для определения положения и ориентации плоскости с тремя микрофонами требуется осуществить 9 измерений расстояния. Такая система требует наличия прямой линии визирования (т. е. отсутствия препятствий) между передающим и приемным элементами системы. При наличии препятствия или при повороте головы пользователя в сторону сигнал теряется. К недостаткам также следует отнести высокий уровень шумов фона. Кроме того, при необходимости отслеживания большого числа приемников частота опроса снижается, т. е. снижается быстродействие измерений, требуемое для воспроизведения в реальном времени перемещения подвижного объекта и его частей.
Рассмотренные выше системы относятся к системам с датчиками определения абсолютных параметров движения, в которых осуществляется измерение абсолютного положения и ориентации подвижного объекта относительно фиксированной системы координат, связанной с передатчиком.
Вместе с тем известны системы с датчиками определения относительных параметров движения, к достоинствам которых следует отнести простоту и компактность. Примерами таких систем могут служить "перчатки", используемые в системах погружения в виртуальную реальность, содержащие датчики, измеряющие некоторые или все углы поворота суставов пальцев. Такие системы могут содержать дополнительно датчик определения абсолютного трехмерного перемещения и ориентации (3D-датчик) для отслеживания перемещения запястья пользователя. Так, известна система с оптическими датчиками DataGlove компании VPL (см. там же, с. 33-37), которая может быть использована в качестве ближайшего аналога изобретения. Известная система содержит оптические волокна, размещенные на легкой эластичной перчатке, а также 3D-датчик. Каждый палец имеет оптиковолоконный контур для каждого из суставов, положение которых измеряется. Волокна выведены через упругий элемент крепления, который допускает небольшие перемещения, обусловленные сгибанием пальцев пользователя. В стандартной конфигурации используются два датчика, прикрепленные к наружной стороне каждого пальца, чтобы воспринимать изгиб основных суставов. Могут также использоваться дополнительные датчики для неосновных суставов, а также для дополнительно выполняемых движений (например, абдукция и т.п.). Оптические волокна связаны с оптико-электронным интерфейсом. Конструкция датчика такова, что при отсутствии изгиба суставов распространяющийся в волокне свет не претерпевает ослабления и наоборот, при изгибе его количество изменяется, что позволяет косвенным путем измерить угол поворота сустава. При функционировании системы в начале каждого сеанса проводится калибровка ввиду невозможности точного априорного прогнозирования подгонки перчатки для конкретного пользователя. Полученные исходные данные измерений пересчитываются в значения углов с использованием калибровочных констант и соответствующих уравнений аппроксимации. К недостаткам таких систем относится снижение точности из-за накопления ошибок в режиме разомкнутой кинематической цепи, необходимость использования 3D-датчика, а также их высокая стоимость.
Для всех систем с вышеописанными типами датчиков при решении задачи отслеживания положения и ориентации всего тела важным фактором является обеспечиваемое рабочее пространство (т.е. пространство перемещения пользователя). В идеальном случае оно должно быть достаточно большим без потери разрешения и без специальных мер по обеспечению отсутствия помех визированию подвижных объектов.
Задачей изобретения является создание способа отслеживания и отображения положения и ориентации пользователя и системы для осуществления способа, преодолевающих недостатки решений, известных из предшествующего уровня техники и обеспечивающих снижение Затрат на изготовление и эксплуатацию при одновременном обеспечении точности и быстродействия отслеживания, требуемых для адекватного отображения положения и ориентации пользователя, в частности локомоции в реальном времени пользователя, погруженного в виртуальную реальность, а также обеспечение удобства для пользователя без каких- либо ограничений его перемещения по пространству и естественности его движений, в том числе при взаимодействиях пользователя с объектами виртуальной среды.
Указанный технический результат достигается тем, что в способе отслеживания и отображения положения и ориентации пользователя в пространстве, при котором определяют параметры перемещения частей тела пользователя, преобразуют полученные данные измерений в требуемую форму их представления и обрабатывают совокупности преобразованных данных для получения данных, определяющих положение и ориентацию пользователя в пространстве, в соответствии с изобретением
а) закрепляют у каждого из основных сочленений сегментов опорно- двигательной системы пользователя средство определения по меньшей мере одного угла между сегментами, примыкающими к соответствующему сочленению;
б) размещают по меньшей мере на одном из сегментов опорно- двигательной системы пользователя средство определения опорных направлений;
в) определяют ориентацию по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений, относительно упомянутых опорных направлений;
г) определяют углы между сегментами, примыкающими к упомянутым основным сочленениям;
д) определяют ориентацию и положение пользователя в целом в пространстве на основе полученных значений углов и ориентации упомянутого по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений. При этом для получения взаимосвязанных последовательностей данных, определяющих изменение во времени положения и ориентации пользователя в пространстве в соответствии с его реальными движениями, повторяют с заданной периодичностью выполнение операций с (в) по (д), причем полученные данные положения и ориентации пользователя в пространстве регистрируют для последующего использования.
Кроме того, при осуществлении операции (д) используют значения линейных размеров сегментов опорно-двигательной системы пользователя и дополнительно осуществляют следующие операции:
е) определяют опорный сегмент или сегменты опорно-двигательной системы пользователя;
ж) позиционируют упомянутый опорный сегмент или сегменты относительно опоры в отображаемом пространстве.
Для получения и регистрации последовательности данных положения и ориентации пользователя в отображаемом пространстве и для отображения движений пользователя в соответствии с полученными данными операции с (г) по (ж) повторяют с заданной периодичностью.
При этом движения пользователя отображают в реальном времени или отображают их в соответствии с зарегистрированными данными по мере необходимости в последующий момент времени.
Предпочтительно движения пользователя отображают в соответствии с необходимым ракурсом наблюдения или после дополнительного редактирования полученного отображения движений пользователя. При этом в качестве опорных направлений используют направления "север-юг" датчика геомагнитного поля и направление датчика местной вертикали, либо направления, формируемые гиростабилизированными датчиками опорных направлений, либо направления "север-юг" и "запад-восток", либо направления, формируемые внешним источником опорных направлений.
Кроме того, в качестве средства определения опорных направлений может быть использована по меньшей мере одна пара пространственно разнесенных датчиков абсолютных координат, размещаемая по меньшей мере на одном из сегментов опорно-двигательной системы пользователя.
Также предпочтительно, что линейные размеры сегментов опорно- двигательной системы пользователя задают на основе известных пропорций тела человека с использованием данных роста пользователя, причем линейные размеры сегментов опорно-двигательной системы пользователя могут масштабироваться для соответствующего изменения его размеров относительно отображаемого пространства.
Кроме того, при использовании манипулятора для взаимодействия пользователя с объектами отображаемого виртуального пространства положение манипулятора предпочтительно определяют по положению удерживающей его руки пользователя, а точную ориентацию манипулятора определяют с помощью размещаемого на нем дополнительного средства определения упомянутых опорных направлений.
При этом в качестве основных сочленений между сегментами опорно- двигательной системы пользователя предпочтительно выбирают тазобедренный сустав, коленные суставы, голеностопные суставы, плечевые суставы, локтевые суставы, кистевые суставы, сочленение головы и плеч и сочленение грудного и поясничного отделов позвоночника и дополнительно суставы стопы и пальцев кисти рук.
Указанный выше технический результат достигается также тем, что система отслеживания положения и ориентации пользователя в пространстве, содержащая множество датчиков параметров движения, размещенных на частях тела пользователя, средство преобразований сигналов датчиков в требуемую форму их представления, блок обработки измеренных данных, вход которого соединен с выходом средства преобразования, и блок отображения пространственного положения и ориентации пользователя, связанный с блоком обработки измеренных данных, в соответствии с изобретением дополнительно содержит средство определения опорных направлений, размещенное по меньшей мере на одном из сегментов опорно-двигательной системы пользователя, блок опроса, соединенный каналами опроса с датчиками параметров движения и средством определения опорных направлений, при этом выход блока опроса соединен с входом средства преобразования, а в качестве датчиков параметров движения использованы датчики относительных углов поворота, размещенные в непосредственной близости от основных сочленений между сегментами опорно-двигательной системы пользователя или на самих сегментах.
При этом система предпочтительно содержит по меньшей мере одно средство взаимодействия пользователя с объектами виртуального пространства, на котором размещено дополнительное средство определения опорных направлений, связанное каналом опроса с блоком опроса.
Также предпочтительно, что датчик относительных углов поворота выполнен в виде тензодатчика или оптиковолоконного датчика.
Кроме того, предпочтительно, что средство определения опорных направлений выполнено на основе датчика геомагнитного поля и датчика местной вертикали, например датчика гравитации, либо в виде гиростабилизированного датчика опорных направлений, либо в виде датчика сигнала искусственного внешнего источника опорных направлений.
И наконец, система предпочтительно содержит средство хранения преобразованных измеренных данных для последующего воспроизведения пространственного положения и ориентации пользователя, связанное шиной передачи данных с блоком обработки измеренных данных; средство ввода дополнительных данных для построения математических моделей трехмерного пространства и пользователя в нем, связанное с блоком обработки измеренных данных, и блок формирования изображения под требуемым углом зрения и редактирования изображения, включенный между выходом блока обработки измеренных данных и входом блока отображения пространственного положения и ориентации пользователя.
На фиг.1 дано условное изображение пользователя, иллюстрирующее расположение средств определения углов между сегментами опорно-двигательной системы пользователя и средств определения опорных направлений системы, соответствующей изобретению;
На фиг. 2 - обобщенная блок-схема системы отслеживания и отображения положения и ориентации пользователя, выполненной в соответствии с изобретением.
На фиг.1 схематически изображен пользователь 1, опорно- двигательная система которого состоит из сегментов 2 с сочленениями шарнирного типа 3. Сочленения шарнирного типа 3 сегментов 2 имитируют соединения костей суставами. Шарниры, так же как и суставы человека, животного, имеют разную степень свободы. Например, соединения предплечья и плеча, голени и бедра могут имитироваться простым шарниром с одной степенью свободы, а для имитирования соединения плеча в плечевом суставе с лопаткой, тазобедренного сустава необходимо шарнирное соединение с большим количеством степеней свободы.
Средства определения углов между сегментами 2 представляют собой датчики 4 для отслеживания положения сегментов и их частей относительно друг друга, размещаемые в местах сочленений сегментов и на самих сегментах.
Они предназначены для точного отслеживания движений пользователя, в том числе для измерения углов поворота некоторых сегментов относительно своей оси, например одного конца локтевого сегмента относительно другого его конца. Вышеупомянутый локтевой сегмент состоит из двух лучевых костей, способных двигаться относительно Друг друга, позволяя одному концу сегмента поворачиваться относительно другого вдоль своей оси. Такого рода сегментов, способных частично поворачиваться вокруг своей оси, не изменяя при этом угол между ним и смежным сегментом, несколько. К ним относятся: голова с шеей, поворачиваемые относительно плеч; грудная часть тела, поворачиваемая относительно тазовой части. Датчики 4 могут представлять собой оптико- волоконные датчики, тензодатчики. В одном из вариантов осуществления изобретения датчик 4 может представлять собой датчик для измерения угловых и линейных перемещений, состоящий из передающей и приемной частей, основанный на изменении ЭДС, наводимой в контуре приемника, изменяющейся при изменении угла между сегментами.
Средство 5 определения опорных направлений размещено на одном из сегментов 2 и предназначено для определения ориентации данного сегмента относительно опорных направлений. Средство 5 выгоднее располагать на частях тела, которые являются наиболее стабильными при таких стандартных движениях пользователя, как ходьба и бег. Рекомендуется размещать это средство на тазовой части. При погружении пользователя в виртуальную реальность можно рекомендовать для более быстрого и точного отслеживания ориентации головы крепить дополнительное средство определения опорных направлений на голову. В одном из вариантов осуществления средства определения опорных направлений могут быть размещены на смежных сегментах и обеспечивать определение их угловых положений на основе их ориентаций по отношению к опорным направлениям.
Как показано на фиг.2, система отслеживания и отображения положения и ориентации пользователя в одном из вариантов осуществления содержит блок опроса 6, содержащий задающий генератор, определяющий частоту опроса n датчиков 4, m средств 5 определения опорных направлений, k дополнительных устройств 7 для взаимодействия с объектами виртуального пространства (манипуляторы, джойстики, имитаторы оружия и т. п.). Выходы блока опроса 6 соединены с аналого- цифровым преобразователем (АЦП) 8, предназначенным для преобразования аналоговых данных с датчиков 4, дополнительных устройств 7 и средств 5 определения опорных направлений в цифровые, например, с восьмибайтовым значением. Выход АЦП 8 соединен с входом блока накопителя 9 с количеством ячеек памяти не менее чем (n+m+k). Блок накопителя 9 через блок опроса 10 связан с блоком долговременной памяти 11 и с блоком 12 подготовки данных. Блок долговременной памяти 11 предназначен для хранения данных о положении и ориентации пользователя, изменяющихся во времени в зависимости от его действий, для последующего использования в самых разных целях. При этом выход блока долговременной памяти 11 может соединяться с входом блока 12. Блок 12 подготовки данных предназначен для сглаживания полученных данных, исключения случайных погрешностей и представления их в виде, приемлемом для построения математической модели пользователя. В одном из вариантов осуществления вход блока долговременной памяти может быть соединен с выходом АЦП, что определяется непосредственным исполнением АЦП. Для учета обоих вышеуказанных вариантов элементы 8, 9, 10 могут быть обобщены как средство аналого-цифрового преобразования.
Выход блока 12 подготовки данных соединен с входом блока 13 построения математической модели трехмерного пространства, в котором необходимо отображать пользователя, и математической модели пользователя в этом пространстве. Блоки 12 и 13 могут быть определены обобщенным понятием как блок обработки измеренных данных. Блок ввода дополнительных данных 14, при помощи которого Задается дополнительная информация о пользователе, отображаемом пространстве, временных соотношениях между движениями пользователя и динамикой изменения отображаемого пространства, подключен к блоку 13. Эта информация может представлять собой такие дополнительные сведения о пользователе как рост, вес, пол, возраст и другие. Если дополнительная информация отсутствует или не требуется, то математическая модель пользователя обсчитывается для среднего человека со стандартными пропорциями. Блок 13 содержит следующие блоки: блок 15 определения ориентации основного сегмента, на котором размещено средство 5 определения опорных направлений, по отношению к опорным направлениям; блок 16 построения модели пользователя в целом; блок 17 определения опорного сегмента (сегментов) пользователя; блок 18 позиционирования пользователя относительно опоры в смоделированном пространстве, рассчитываемом компьютером. С выходом блока 13 соединен вход блока 19 формирования изображения под необходимым углом Зрения. Выход блока 19 соединен с входом блока 20 отображения положения и ориентации смоделированного пользователя, позиционированного относительно опоры в отображаемом пространстве.
Система отслеживания и отображения положения и ориентации пользователя работает следующим образом.
Датчики 4 и средства 5 определения опорных направлений в предпочтительном варианте крепятся на специальной одежде типа комбинезона или непосредственно на пользователе в местах сочленений 3 сегментов 2 и на самих сегментах 2. Одежда с системой датчиков 4 и средств 5 должна быть легкой, без труда надеваться и сниматься, не должна стеснять движения пользователя. Датчики 4 на этой одежде крепятся таким образом, чтобы при движении пользователя, то есть изменении углов между сегментами 2 или поворота одного конца сегмента относительно другого конца вдоль оси сегмента, в них изменялись некие физические параметры. Эти физические параметры должны изменяться в определенных пределах в соответствии с изменениями углов между смежными сегментами 2 от одного крайнего положения до другого.
Система может включать основное и дополнительные средства 5 определения опорных направлений, обеспечивающие определение угла между сегментом, на котором размещено соответствующее средство 5, и опорными направлениями. Основное средство 5 определения опорных направлений размещают на сегменте, принимаемом за основной сегмент. Целесообразно основной сегмент выбирать таким образом, чтобы он был ближе к геометрическому центру пользователя и был наиболее стабильным при типовых движениях человека: беге и ходьбе. Этим требованиям лучше всего удовлетворяет тазовый сегмент человека. При погружении пользователя в виртуальную реальность для более быстрого и точного отслеживания наклонов и поворотов головы можно использовать дополнительное средство 5 определения опорных направлений, закрепленное на голове.
Информация с датчиков 4, средств определения опорных направлений 5 и дополнительных устройств 7 взаимодействия с объектами виртуального пространства снимается на АЦП 8 и обновляется в соответствии с сигналом опроса, формируемым задающим генератором блока опроса 6. С АЦП 8 информация поступает в соответствующие ячейки памяти блока накопителя 9.
Блок опроса 10 опрашивает ячейки памяти блока накопителя 9 и формирует последовательность данных, характеризующую положение и ориентацию пользователя, включая данные с дополнительных устройств 7, относящиеся к конкретному (текущему) моменту времени, и передает их в блок долговременной памяти 11 для долговременного хранения. Этими данными можно воспользоваться в любое время, для чего их необходимо подать в блок подготовки данных 12 для последующей обработки. При использовании в режиме реального времени данные с блока опроса 10 непосредственно поступают на блок 12 подготовки данных. Блок 12 сглаживает полученные данные, исключает случайные погрешности, формирует необходимую последовательность данных и представляет их в необходимом виде для построения математической модели пользователя в блок 13.
В блоке 13 строится математическая модель трехмерного пространства, в котором необходимо отображать пользователя, и математическая модель пользователя в этом пространстве. С помощью блока 14 ввода дополнительных данных в блок 13 вводят дополнительную информацию о пользователе, об отображаемом пространстве, временные соотношения между движениями пользователя и динамикой изменения отображаемого пространства. Эта информация может представлять собой такие дополнительные сведения о пользователе как рост, вес, пол, возраст и другие. Если дополнительная информация отсутствует или не требуется, то математическая модель рассчитывается для среднего человека со стандартными пропорциями. Если необходимо создать эффект "Гулливера", когда объекты отображаемого пространства неестественно большие или маленькие, то изменяют вводимые данные о пропорциях между линейными размерами пространства и объектами в нем и линейными размерами пользователя. Таким же образом можно вводить ускоренное или замедленное течение времени в отображаемом пространстве, изменяя динамику движений пользователя при вводе данных из блока долговременной памяти 11. Если данные о движениях пользователя поступают на блок 12 в режиме реального времени, то можно ускорять или замедлять динамику течения процессов в отображаемом пространстве.
Блок 15 построения и ориентации основного сегмента вычисляет и строит по поступающим данным положение и ориентацию основного сегмента, на котором размещено основное средство определения опорных направлений по отношению к опорным направлениям. В качестве опорных направлений целесообразно использовать направления, связанные с геомагнитным полем Земли, "Север-Юг" и "Запад-Восток", или местную вертикаль, определяемую на основе гравитационного поля Земли, и направление "Север-Юг". Эти поля существуют практически везде и не зависят от пользователя. С помощью специального средства типа электромагнитного компаса, компаса и гравитационного датчика горизонтали или вертикали можно определить ориентацию пользователя и, в частности, того сегмента опорно-двигательной системы пользователя, на котором закреплено это средство. В местах, где существуют сильные помехи или магнитное поле земли экранировано, с помощью специального средства можно создать искусственное поле опорных направлений. Важно при этом, что необходимо будет только определить ориентацию пользователя в этом поле и не требуется определять абсолютное расстояние до этих средств с помощью алгоритмов триангуляции, требующих интенсивных вычислений.
В блоке 16 построения модели пользователя в целом к построенному основному сегменту пристраивают смежные сегменты по измеренным данным об углах между ними, а к построенным смежным сегментам - следующие смежные сегменты и так вплоть до конечных сегментов.
В блоке 17 определяют опорный сегмент или опорные сегменты пользователя. Например, если пользователь движется по горизонтальной плоской поверхности, опорным будет сегмент, находящийся ниже всех по отношению к местной вертикали, а "точкой" опоры - самая нижняя часть этого сегмента.
В блоке 18 позиционируют пользователя относительно опоры в пространстве, рассчитываемом компьютером. Для этого в самом простом случае совмещают сориентированную модель пользователя и опору пользователя в моделируемом пространстве таким образом, чтобы совместились опорная часть опорного сегмента пользователя и часть моделируемого пространства, являющаяся опорой для пользователя в данный момент. В случае, когда пользователь находится в движении, например в прыжке, то есть какое-то время в "полете", пользователя позиционируют по отношению к опоре с использованием ближайшей предыдущей информации о динамике движения. Следует иметь в виду, что, имея полную информацию об изменении углов между сегментами в динамике, можно рассчитать даже импульс пользователя и силу, с которой он оттолкнулся от опоры. Это позволит смоделировать движения пользователя в отображаемом пространстве, практически идентичные реальным. При этом, в соответствии с изменяющимся положением и ориентацией сегментов пользователя в динамике, отслеживается изменяющееся положение пользователя (координаты) и ориентация пользователя в целом в пространстве. То есть по отображенному изображению движений пользователя можно будет увидеть, например, что пользователь сделал десять шагов по направлению на "Север", повернулся и побежал на "Юго- восток" и так далее.
С выхода блока 13 информацию о построенной модели пользователя в моделируемом пространстве передают на вход блока 19 формирования изображения под необходимым углом зрения, где осуществляется выбор точки зрения наблюдателя, рассчитывается изображение пользователя под необходимым углом зрения и в необходимом случае осуществляется редактирование изображения для последующего отображения. С выхода блока 19 информацию передают на вход блока 20, который отображает положение и ориентацию смоделированного пользователя, позиционированного относительно опоры, в отображаемом пространстве. В блоке 19 сам пользователь или другие сторонние наблюдатели могут по желанию задать ракурс для просмотра динамики движений пользователя. Также можно при желании наблюдать движения пользователя сверху или снизу, сбоку или с изменяющейся точки зрения. При отображении движений пользователя или пользователей, ранее записанных в долговременную память, их можно перед отображением отредактировать в соответствии с задачей. Можно, например, отображать одновременно движения одного пользователя, записанные в память в разное время, или отображать для сравнения движения разных пользователей. Движения пользователя, в зависимости от поставленной задачи, могут отображаться в виде упрощенной стилизованной модели или любом другом виде, более приближенном к реальным изображениям с "рендерингом" сложных фактур одежды, кожи, окружающего пространства. В первом случае с задачей может справиться почти любой компьютер, в последнем случае необходимо использовать достаточно мощный компьютер с хорошими графическими возможностями.
Как отмечено выше при характеристике предшествующего уровня техники, в большинстве известных систем формирование модели пользователя производится по абсолютным координатам, определяемым с помощью датчиков расположенных на пользователе. При этом автоматически определяется положение пользователя в целом в пространстве. В динамике абсолютные координаты дадут траекторию его перемещений. При этом пространство чаще всего ограничено рамками внешних датчиков или излучателей, расставленных по периметру активной зоны действий пользователя. В отличие от этого в способе и системе согласно изобретению активная зона передвижения пользователя практически не ограничена, так как все, что нужно для определения положения и ориентации пользователя, находится на самом пользователе. При этом важно только наличие какого-либо физического поля для работы средств определения опорных направлений, а перемещение пользователя в пространстве рассчитывается с помощью компьютера, в соответствии с информацией об изменении углов между сегментами и ориентации относительно опорных направлений. Изменение в пространстве может рассчитываться через количество, размер и направление шагов пользователя. Для определения размера шага необходимо знать углы между опорными сегментами пользователя в момент совершения шага и их линейные размеры. Более конкретно, для определения шага человека необходимо знать угол между бедренными костями правой и левой ноги, угол между бедренной костью и голенью для каждой ноги и линейные размеры голени и бедра. В некоторых случаях может быть также выгодно измерять углы между стопой и голенью, а также между стопой и пальцами ног.
Для упрощения критерия определения опорных сегментов через ориентацию сегментов относительно плоскости можно использовать датчики, устанавливаемые на подошве пользователя. Например, если нога в какой то момент является опорной, на датчике замыкается контакт, а если нога поднята и находится на весу, контакт, наоборот, размыкается. Датчик также может давать информацию о степени нагрузки на каждую ногу. Через степень нагрузки на ногу в динамике и вес пользователя можно рассчитать получаемый им импульс и рассчитать траекторию движения пользователя даже для прыжка. Необходимые данные для расчета траектории движения, физических характеристик движений пользователя можно рассчитать также через динамику изменения углов между сегментами.
Способ и система, соответствующие изобретению, дают ряд совершенно новых возможностей, которые были нереализуемы до этого, в частности возможностей проведения тестирования и конкурсов со всякого рода движениями: спортивными, танцевальными, для оценки правильности реагирования на предлагаемую ситуацию, в поединках. Такие конкурсы можно будет проводить с разделением во времени, снимая данные, например, с одного и того же пользователя в разное время. Затем эти данные могут оцениваться, сравниваться, как с помощью компьютера, так и человеком, после визуализации этих движений для сравнения. Можно проводить конкурсы среди множества пользователей единовременно. Для этого в режиме реального времени с нескольких пользователей снимают данные и сравнивают на правильность исполнения, правильное реагирование на ситуацию, на быстроту реакции, на оригинальность движений. Такие конкурсы можно проводить между пользователями заявленной системы, подключенными к сети Интернет (InterNet) или какой-либо специализированной сети, притом эти пользователи могут находиться друг от друга на значительном удалении. С помощью такой системы можно проводить чемпионаты по компьютерным играм, особенно с погружением в виртуальную реальность в играх типа Action.
Данные о положении и ориентации пользователя, записываемые в память, могут дополнительно архивироваться. Возможно создание библиотеки данных о типовых движениях человека, любых хордовых животных и уникальных движениях, записываемых с известных спортсменов, танцоров.
Одно из важных преимуществ настоящего изобретения обусловлено тем, что вся система датчиков находится на пользователе. Нет необходимости определять абсолютные расстояния до опорных точек, определяемых в известных системах позициями расположения внешних датчиков. Изобретение дает возможность определять положение и ориентацию пользователя практически в неограниченном пространстве, где только существует поле опорных направлений, относительно которого можно сориентировать пользователя. Определение опорных направлений предполагает, как описано выше, определение ориентации сегмента, на котором расположено средство определения опорных направлений, относительно опорных направлений. В качестве опорных направлений выгоднее всего использовать направления векторов естественных полей Земли, которые присутствуют независимо от нас практически везде. В качестве двух опорных направлений (третье строится ортогонально к двум предыдущим) предложено использовать направления "север-юг" и "восток- запад" магнитного поля Земли или, например, "север-юг" и местную вертикаль, определяемую гравитационным полем Земли. При нахождении пользователя в помещении, экранированном от внешних полей, можно установить излучатели искусственных полей опорных направлений. В этом случае, как и прежде, необходимо определять ориентацию пользователя в поле опорных направлений, а не абсолютные расстояния до внешних излучателей. При этом определяются углы между вектором сегмента, на котором находится средство определения опорных направлений, и опорными направлениями.
С помощью отслеживания положения и ориентации пользователя согласно изобретению возможно реализовать при погружении в виртуальную реальность почти всю атрибутику "машины времени" в рамках запротоколированной истории действий пользователя. Пользователь может в любой момент времени своих запротоколированных действий или действий любого другого героя вернуться на любой отрезок времени в рамках его истории. Это может быть полезно в компьютерных играх, для того чтобы игрок мог вернуться и изменить свое поведение на более результативное. С учетом того, что могут записываться несколько параллельных линий поведения, пользователь для продолжения действий может выбрать любую, на его взгляд, более удачную. При использовании протоколов изменения положения и ориентации пользователя в динамике можно реализовать четырехмерное пространство, определяемое тремя пространственными измерениями и временем. В отличие от движений в реальной жизни, где движение во времени осуществляется только в одном направлении к будущему, можно с помощью записанных данных осуществить функцию непрерывного или дискретного движения во времени в разные стороны так же легко и свободно, как и в пространстве, в рамках предварительно записанных в память данных.
Предлагаемые способ и систему можно использовать при погружении пользователя в виртуальное пространство для отображения этого пространства пользователю в соответствии с его меняющимся положением и ориентацией. Для этого необходимо определять поле зрения пользователя, т.е. сведения о том, с какой высоты и в какую сторону смотрит пользователь. После позиционирования пользователя в виртуальном пространстве, с его позой и ориентацией, можно по линейным размерам сегментов и углов между ними определить поле зрения пользователя. Линейные размеры пользователя необходимы для соизмерения с линейными размерами объектов отображаемого пространства. При отсутствии данных можно воспользоваться стандартными пропорциями человека среднего роста. В соответствии с полученной информацией формируют и отображают пользователю виртуальное пространство, соответствующее его полю зрения.
Настоящее изобретение, позволяющее отслеживать движения пользователя без сложных внешних устройств, приведет к расширению возможностей существующих компьютерных систем и к созданию новых областей применения. Для этого необходимо будет установить стандарт описания отслеживаемых движений пользователя для использования в различных системах. Такой стандарт описания движений пользователя мог бы стать, например, частью VRML (языка моделирования виртуальной реальности), использоваться в анимации и для создания специализированных библиотек. Большинство компьютерных применений в будущем будут использовать эти стандарты с учетом возможности управления программой посредством естественных движений пользователя, отслеживаемых способом, соответствующим настоящему изобретению. Для того чтобы весь парк современных компьютерных применений, в котором движения пользователя реализуются клавиатурой, "мышью", джойстиком, можно было бы использовать с применением системы согласно изобретению, необходимо создание связывающих драйверов, т.е. программ, распознающих движения пользователя и преобразующих их в сигналы средств управления играми и имитации подобных движений.
Одно из важных применений настоящего изобретения связано с обучением пользователя образцовым движениям, например танцевальным, спортивным, при оздоровлении, обучении профессиональным движениям. Для этого отображают пользователю образцовые движения. Отображение осуществляют любым средством: телевизором, виртуальным шлемом, монитором. Для достижения лучшего результата для обучаемого необходимо предусмотреть возможность повторов, выбора любого ракурса, динамики исполнения, масштаба. Пользователь должен стремиться повторять движения как можно точнее, при этом для последующего контроля его движения должны записываться, протоколироваться, после чего они могут сравниваться с образцовыми. Сравнение образцовых движений с движениями пользователя может производиться разными способами, в том числе самим пользователем визуально, при одновременном отображении теперь уже одновременно образцовых движений и ранее записанных движений пользователя. Более интересной и перспективной может быть оценка правильности движений пользователя компьютером или специалистом. Компьютер в соответствии с заложенной программой, сравнив движения пользователя, отслеживаемые через положение и ориентацию пользователя, может выдать замечания и рекомендации. Пользователь вносит коррективы в свои движения до достижения необходимых умения и точности. Этот процесс подобен обучению у тренера-мастера, однако не требует соответствующих финансовых затрат и согласовывания своего графика с расписанием мастера. Такая программа с обратной связью, созданная лучшими мастерами, может быть тиражируема в миллионах экземплярах, и каждый сможет ею пользоваться в удобное для него время.
Изобретение также может быть использовано для контроля дозированных физических нагрузок пользователя. Например, для конкретного человека задается нагрузка в соответствии с рекомендациями врача или тренера. Если таких индивидуальных рекомендаций нет и нет общих противопоказаний, компьютер может сам вычислить и рекомендовать систему нагрузок на какой-то период времени. Для определения нагрузок могут быть использованы данные о перенесенных и хронических болезнях, вес, рост, пол, возраст, цель тренировок, степень физических и эмоциональных нагрузок в течение дня. Можно проводить специализированные предварительные тесты, контролируя реакцию организма, например степень изменения пульса при дозированных нагрузках.
После определения нагрузки компьютер может выдать оптимальные рекомендации на определенный срок. Пользователь приступает к занятиям, используя систему датчиков, наиболее полно отслеживающих движения пользователя и данные о нагрузках на отдельные части тела легко рассчитываемые по информации о движениях. При таких занятиях полезно использование данных с датчиков пульса пользователя, а при необходимости и других физиологических показателей.
Если пользователь погружен в виртуальную реальность и использует тренажер, позволяющий совершать неограниченные движения, то физическую и эмоциональную нагрузку на него можно регулировать с помощью загружаемой программы, меняя сюжет, динамику и условия окружающей пользователя обстановки. В игре такой контроль может осуществляться дозированием количества появляющихся противников, напряженностью сюжета, необходимостью с достаточной скоростью преследования противника или ухода от опасных мест. Путем такого регулирования, осуществляемого незаметно для пользователя, можно поддерживать, например, пульс в определенных пределах в течение заданного времени. При достижении заданной нагрузки необходимо подводить пользователя к выполнению задачи и завершению сюжета. Это позволит пользователю завершить тренировку с чувством достижения результата в эмоционально приподнятом настроении. Современные игры, к сожалению, не удовлетворяют этим принципам. Игрок чаще всего неподвижен, то есть отсутствует физическая нагрузка при высокой эмоциональной нагрузке, что может приводить к стрессам и депрессиям. Игры и тренировки, осуществляемые с контролируемыми физическими и эмоциональными нагрузками, могут быть хорошим средством от гиподинамии и нервных перегрузок, служить всестороннему гармоническому развитию личности.
Тренировки с заданными физическими нагрузками, сопровождающиеся познавательной или развлекательной информацией, могут осуществляться погружением в определенную, выбираемую пользователем, виртуальную среду. Например, компьютерная программа может моделировать пробежку- экскурсию по известным местам с гидом, который мог бы рассказывать о достопримечательностях и задавать темп экскурсии шагом или пробежкой с определенной или меняющейся по необходимости скоростью. Экскурсию можно будет подводить к завершению при достижении определенной заданной наперед нагрузки. Так как задания индивидуальны, в памяти компьютера могут записываться данные о предыдущих занятиях и нагрузках для последовательного изменения нагрузок от начальных к стабильным рекомендуемым. При этом нормальные постоянные или меняющиеся нагрузки изо дня в день могут быть окрашены эмоционально и сопровождаться новой и полезной информацией. Для лучшей эмоциональной окраски пользователю можно было бы предоставлять выбор пола гида и его возраста или моделировать ему имидж известного артиста или политика.
Если пользователь, используя систему датчиков, получает нагрузку без погружения в виртуальную реальность, контроль за нагрузками может осуществляться процессором, а обратная связь - через наушники, по слуховому каналу. Процессор может сообщить о необходимости изменения общего темпа нагрузок или нагрузок на отдельные части тела. Такие выводы делаются по информации, поступающей с системы для отслеживания и ориентации пользователя в соответствии с программой расчета нагрузок.
Предложен способ отслеживания и отображения положения и ориентации пользователя в пространстве, при котором определяют параметры перемещения частей тела пользователя, преобразуют полученные данные измерений в требуемую форму их представления и обрабатывают совокупности преобразованных данных для получения данных, определяющих положение и ориентацию пользователя в пространстве. Закрепляют у каждого из основных сочлений сегментов опорно-двигательной системы пользователя средство определения по меньшей мере одного угла между сегментами, примыкающими к соответствующему сочленению, размещают по меньшей мере на одном из сегментов опорно-двигательной системы пользователя средство определения опорных направлений, определяют ориентацию по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений, относительно упомянутых опорных направлений, определяют углы между сегментами, примыкающими к упомянутым основным сочленениям, определяют ориентацию и положение пользователя в целом в пространстве на основе полученных значений углов и ориентации упомянутого по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений. Предложена также система для осуществления способа. 2 с. и 28 з.п.ф-лы, 2 ил.
а) закрепляют у каждого из основных сочленений сегментов опорно-двигательной системы пользователя средство определения по меньшей мере одного угла между сегментами, примыкающими к соответствующему сочленению,
б) размещают по меньшей мере на одном из сегментов опорно-двигательной системы пользователя средство определения опорных направлений,
в) определяют ориентацию по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений, относительно упомянутых опорных направлений,
г) определяют углы между сегментами, примыкающими к упомянутым основным сочленениям,
д) определяют ориентацию и положение пользователя в целом в пространстве на основе полученных значений углов и ориентации упомянутого по меньшей мере одного сегмента, на котором размещено средство определения опорных направлений.
е) определяют опорный сегмент или сегменты опорно-двигательной системы пользователя,
ж) позиционируют упомянутый опорный сегмент или сегменты относительно опоры в отображаемом пространстве.
Burdea G., Coiffet P | |||
Virtual reality techology, 1994, John Wiley & Sons, Inc., pp | |||
Способ сопряжения брусьев в срубах | 1921 |
|
SU33A1 |
Авторы
Даты
1998-03-20—Публикация
1996-08-14—Подача