ISSN 0236-235X (P)
ISSN 2311-2735 (E)
1

16 Марта 2024

Технология взаимодействия человека  с виртуальной средой


Решетников В.Н. (rvn_@mail.ru) - Центр визуализации и спутниковых информационных технологий ФНЦ НИИСИ РАН (профессор), Москва, Россия, доктор физико-математических наук, Хураськин И.А. () - , Михайлюк () -
Ключевое слово:
Ключевое слово:


     

Подпись: Рис. 1
При создании имитационно-тренажерных комплексов большое внимание уделяется разработке новых способов и средств синтеза и отображения видеоинформации. Одним из таких способов является представление изображений в режиме стерео и создание систем виртуальной реальности. Системы виртуальной реальности пытаются имитировать все основные человеческие ощущения, включая стереовидение, стереозвук, осязание, обоняние и т.д. В случае обычного видеоизображения человек является как бы сторонним наблюдателем, который воспринимает видеоинформацию через окно дисплея. Стереоизображение переносит человека в пространство видеосцены, где он оказывается первым лицом ее восприятия. В свою очередь, для человека виртуальная информация становится действительной в окружающем мире. Для выполнения каких-либо действий в виртуальном мире реальными органами (например руками) создаются специальные устройства. Примером таких устройств являются виртуальные перчатки, которые надеваются на руку и передают движение руки и пальцев в компьютер. Тактильные ощущения имитируются с помощью специальных устройств, позволяющих моделировать силу реакции материала объекта на пальцы или руку. Использование подобных технологий в имитационно-тренажерных комплексах позволяет существенно повысить уровень и качество этих комплексов, поэтому исследования в этом направлении проводятся достаточно интенсивно. Работая в таком комплексе, пользователь должен иметь возможность трогать виртуальные объекты, брать их рукой, передвигать на новое место и т.д., то есть визуально и физически ощущать контакт с виртуальным миром.

Задачи, возникающие при создании систем виртуальной реальности, имеют большие возможности для распараллеливания, что, в свою очередь, позволяет использовать для их решения распределенные вычислительные среды. Это могут быть кластерные системы персональных компьютеров или среды, построенные с использованием методов теории динамических стохастических сетей.

В настоящей работе рассматривается задача синтеза и отображения стереоизображений с  использованием активных стереоочков, а также  задача захвата и перемещения виртуальных  объектов рукой, оснащенной компьютерной перчаткой.

Особенности человеческого зрения

Ощущение объема в окружающем пространстве формируется в мозге человека на основе информации, получаемой от глаз, а именно, на определении того, насколько далеко от глаз расположены наблюдаемые объекты. Для этого мозг использует большое количество данных, включающих перекрытие объектов, их кажущиеся размеры, тени, градиенты освещенности и т.д. Среди этих данных мы рассмотрим отдельно информацию о том, как сфокусированы глаза, то есть какие у них фокусные расстояния и под какими углами они наблюдают объект, на который сконцентрировано зрение (рис. 1). Эта информация передается в виде напряженности мышц хрусталиков глаз и сдвига их зрачков от центральной линии. Вертикальную плоскость, перпендикулярную направлению взгля­ да и содержащую точку схождения зрительных осей, называют плоскостью конвергенции, а угол схождения этих осей параллаксом. Плоскость, которая содержит точку фокусировки обоих глаз, называется плоскостью аккомодации. На рисун-  ке 1 видно, что плоскости аккомодации и конвергенции для нормального зрения человека всегда совпадают. При приближении объекта к наблюдателю области аккомодации и конвергенции также приближаются, а угол параллакса увеличивается. Если области аккомодации и конвергенции не будут лежать в одной плоскости, для ощущения объема мозг будет основываться на информации об угле схождения зрительных осей глаз.

При визуализации виртуальных сцен на компьютере видеоинформация отображается на плоскости экрана, поэтому у наблюдателя угол параллакса и фокусировка глаз остаются постоянными и не зависят от того, как далеко расположен наблюдаемый объект. Из-за этого образ трехмерных объектов остается плоским и находится в плоскости экрана. Для создания ощущения объемности выводимой виртуальной сцены необходимы специальные методы формирования изображений, например, изменение области конвергенции. При приближении этой области к наблюдателю угол схождения глаз будет увеличиваться, и человеческий мозг будет трактовать это как приближение объекта. Манипулировать расположением области конвергенции можно путем создания стереоизображений.

Формирование стереоизображения  с использованием стереоочков

Имеется много способов имитации стереоизображения в компьютерных системах. Одним из них является использование активных стереоочков. Идея таких очков состоит в том, чтобы формировать изображение отдельно для каждого глаза, выводить на экран поочередно каждое из сформированных изображений и синхронно с выводом изображения открывать шторку на очках, соответствующую нужному глазу. Если чередование изображений производить с достаточной частотой, например 60 Гц и выше, то человеческий мозг соединяет эти изображения в одно, которое при правильном выборе параметров визуализации воспринимается как стереоизображение. Два изображения для глаз образуют стереопару.

Подпись: Рис. 2
Рассмотрим подробнее параметры визуализации, позволяющие получить на экране изображение объекта, которое воспринималось бы пользователем так же, как реальный объект того же размера. Пусть пользователь находится на расстоянии L от экрана компьютера, высота экрана равна H, его ширина равна W, а средняя точка О отрезка, соединяющего два глаза, расположена напротив центра экрана. Выберем систему координат Е, связанную с пользователем, центр которой находится в точке О, ось Х направлена вправо, Y – вверх, а Z – противоположна направлению взгляда (то есть от экрана). Аналогичная система координат E' связана с виртуальной камерой. Трехмерное изображение, которое отображается на экране, представляет перспективную проекцию виртуальных объектов на картинную плоскость виртуальной камеры (см. рис. 2A). Работа камеры аналогична работе глаза человека в реальном пространстве. Человек, наблюдая трехмерную сцену, видит ее через виртуальное око. Предположим, что в виртуальном и реальном мире единицы измерения одинаковы и размеры виртуальных объектов совпадают с их реальными размерами. Тогда виртуальный объект, расположенный на расстоянии L от виртуальной камеры, должен иметь на экране компьютера такие же размеры, как реальный объект, расположенный на расстоянии L от глаза наблюдателя. Для обеспечения этого необходимо, чтобы виртуальная камера имела вертикальный угол видимости j и коэффициент отношения  aspect горизонтального размера поля камеры к вертикальному, равные следующим значениям:

; .

Для имитации стереоизображения необходимо из одной виртуальной камеры (а вернее, вместо нее) сделать две. Они будут находиться в точках  (-d/2, 0, 0) и (d/2, 0, 0) виртуальной системы координат Е' (где d – расстояние между глазами) и направлены в одну и ту же точку А, расположенную на расстоянии L по отрицательной полуоси Z  (рис. 2В). Это обычно делается автоматически специальным стереодрайвером. Для каждой из этих камер выполняется перспективная проекция сцены, и полученное изображение выводится на экран синхронно с открытием шторки очков соответствующего глаза. Если теперь переместить объект ближе к виртуальной камере, то его перспективная проекция в камере левого глаза переместится правее, а перспективная проекция в камере правого глаза – левее. Для рассматривания объекта каждый глаз немного изменит направление взгляда, угол между этими направлениями возрастет и возникнет иллюзия того, что объект вышел из плоскости экрана по направлению к наблюдателю. Аналогично при удалении объекта от виртуальной камеры угол между направлениями зрительных осей глаз уменьшится, и объект уйдет вглубь экрана.

Необходимо отметить, что если пользователь изменит положение головы, то это нарушит правильность соотношений виртуальной камеры и реального взгляда и внесет артефакты в видимое стереоизображение.

Компьютерная перчатка

Компьютерная перчатка представляет собой манипулятор, который передает компьютеру информацию об ее положении в реальном пространстве (координаты X, Y, Z), ориентации (крен, тангаж, курс), а также о степени изгиба ее пальцев. Перчатка работает в комплексе с сенсором, который получает данные от датчиков, расположенных на перчатке, обрабатывает их и формирует информацию, которая передается компьютеру.

Начало системы координат манипулятора связано с точкой O'' в пространстве, которая задается при инициализации устройства или при калибровке устройства пользователем. Калибровка производится нажатием определенной клавиши, при этом текущее положение перчатки задает точку O''. Оси координат расположены так, что ось Z направлена к сенсору, перпендикулярна его плоскости и параллельна горизонтальной плоскости, ось Y направлена вверх, а их совокупность образует правостороннюю систему (рис. 3). Ориентация перчатки определяется тремя углами Эйлера, то есть углами поворотов вокруг осей X, Y и Z.

Положение пальцев вычисляется по степени их изгиба, то есть изменяется от 0 (в распрямленном состоянии) до 180° (при максимальном сжатии). Это достаточно грубое представление пальцев, и полученные данные лишь приближенно описывают реальное положение каждого пальца кисти руки.

Данные от перчатки поступают в компьютер с частотой 42 Гц, что достаточно для отслеживания положения кисти одной или обеих рук в реальном времени. Нашей задачей является определение моментов касания кистью виртуального объекта и перемещение его вместе с движением кисти, а также фиксация захвата объекта пальцами и поворот его вместе с поворотом кисти.

Подпись: Рис. 4
Подпись: Рис. 3
Для решения этой задачи необходимо прежде всего согласовать систему координат компьютерной перчатки E'' с системой координат Е наблюдателя (рис. 3). Так как в нашем случае масштабы этих систем совпадают, то соответствующее преобразование одной системы координат в другую будет состоять из перемещения (для совмещения начал систем координат) и поворота базисных векторов (на рис. 3 – на угол 180о+a). Эти преобразования производятся с помощью матрицы поворота Mr и матрицы сдвига Md:

.

Взаимодействие кисти  с виртуальными объектами

Без учета пальцев будем представлять ладонь руки в виде параллелепипеда. Обычно расположение перчатки определяется положением одной ее точки. У перчатки, использовавшейся в эксперименте, эта точка была расположена в центре ее тыльной стороны, поэтому через эту точку проходила задняя грань параллелепипеда. Его размеры задавались приблизительно равными размерам кисти пользователя (120´180´30 мм). С перчаткой можно связать локальную систему координат. Если при движении рукой, объект попадает в область перчатки (то есть охватывающего параллелепипеда), то он приобретает импульс в направлении движения перчатки. То есть при столкновении с перчаткой, движущейся с линейной скоростью (dx, dy, dz), объект приобретает ту же скорость. Пересечение объекта с окружающим перчатку параллелепипедом определяется методом поиска пересечения всех их граней друг с другом.

Для моделирования захвата виртуального объекта кистью руки с компьютерной перчаткой необходимо учитывать движение пальцев. В этом случае окружающий кисть параллелепипед разделяется на шесть составляющих: 5 параллелепипедов, окружающих пальцы, и один, окружающий ладонь (рис. 4). Размеры параллелепипедов для пальцев одинаковы и равны по длине 1/3 длины кисти, по ширине 1/4 ширины кисти, а по толщине равны толщине кисти. Положение пальцев задается относительно ладони, и они имеют одну степень свободы – поворот вокруг оси: для большого пальца это ось ВВ’, для остальных пальцев – ось AA’. Угол поворота (изгиба) пальцев находится в пределах от 0 до 180°. Объект считается захваченным, если он попадает в область движения пальцев и изгиб пальцев превышает 90о. Такое определение является не совсем точным, но и не требует значительных вычислительных ресурсов. Захват позволяет сцепить объект с перчаткой, а потом производить его перемещение и вращение.

Использование распределенных  вычислительных сред

Для обеспечения реального времени синтеза и отображения трехмерных виртуальных сцен в режиме стерео необходимо использовать достаточно мощные вычислительные ресурсы, примерами которых являются распределенные вычислительные среды. Это могут быть кластеры персональных компьютеров или вычислительные среды, построенные с использованием теории динамических стохастических сетей. Использование распределенных вычислений объясняется широкими возможностями распараллеливания задач визуализации. Распараллеливание стерео включает параллельное формирование изображения для левого и правого глаз отдельно, кроме того, можно параллельно и независимо друг от друга синтезировать отдельные части каждого изображения. В сложных трехмерных сценах, особенно при использовании алгоритма трассировки лучей, можно пытаться предсказать с некоторой вероятностью направления поворотов камеры и производить динамическую настройку вычислительной сети методами стохастических сетей.

Добавление взаимодействия компьютерной перчатки с виртуальными объектами трехмерной сцены ставит ряд новых задач, прекрасно поддающихся распараллеливанию. К ним относится прежде всего задача отыскания пересечения перчатки с объектами сцены. Одним из методов решения такой задачи является рекурсивное деление пространства на части (используя двоичные, восьмеричные или kd-деревья) и проверка нахождения каждого объекта в этих частях пространства. Проверка вхождения различных объектов в некоторую часть пространства может выполняться параллельно. Если известны законы движения объектов, то можно рассчитать вероятности их перехода из одной части пространства в другую и использовать эту информацию для динамической настройки вычислительной сети.

Описанные выше методы были реализованы в экспериментальном программном модуле перемещения виртуального шарика с помощью компьютерной перчатки в режиме стерео с использованием активных стереоочков. Реализация показала принципиальную возможность решения этой задачи, однако выявила целый ряд проблем. Во-первых, сильным ограничением оказывается жесткая привязка наблюдателя к определенной точке пространства. Перемещение или поворот головы приводит к искажению стереоизображения и нарушению управления виртуальным объектом. Возможно, эту проблему удастся решить, используя систему трекинга, отслеживающую положение и ориентацию головы пользователя, и корректируя синтез и отображение стереоизображения на основе этой информации. Во-вторых, доступные в настоящее время перчатки лишь в приближенной степени моделируют движения кисти руки, не позволяя адекватно представить взаимодействие руки с виртуальным объектом. Отсутствует также обратная связь, то есть воздействие объекта на руку, так называемые тактильные ощущения. Разработка и опытная эксплуатация таких перчаток в настоящее время ведется, однако они еще не доступны для массового использования. В третьих, виртуальный объект нельзя захватить рукой сзади и потянуть на себя, так как реальная рука с перчаткой находится перед монитором и всегда будет закрывать виртуальный объект, отображаемый на экране. Эту проблему можно попытаться решить, используя систему индивидуальной визуализации, такую как виртуальный шлем, но в этом случае необходимо также создавать и визуализировать виртуальную руку. Эти и другие проблемы требуют проведения дальнейших исследований, которые в настоящее время активно проводятся, что позволяет надеяться на новые возможности использования технологий виртуальной реальности в имитационно-тренажерных комплексах управления сложными динамическими системами.

Список литературы

1.Nathaniel I. Durlach and Anne S. Mavor. Virtual Reality: Scientific and Technological Challenges (1995), Washington;

2.Афанасьев К. Компьютерные перчатки. http://www. 3dnews.ru/editorial/comp-gloves;

3.http://www.really.ru/review/vr_hmd_and_stereo_glasses.  html;

4.http://www.essentialreality.com;

5.http://developer.nvidia.com/object/3d_stereo.html;



http://swsys.ru/index.php?id=591&lang=.&page=article


Perhaps, you might be interested in the following articles of similar topics: