Решетников В.Н. (rvn_@mail.ru) - Центр визуализации и спутниковых информационных технологий ФНЦ НИИСИ РАН (профессор), Москва, Россия, доктор физико-математических наук, Хураськин И.А. () - , Михайлюк () - | |
Ключевое слово: |
|
Ключевое слово: |
|
|
При создании имитационно-тренажерных комплексов большое внимание уделяется разработке новых способов и средств синтеза и отображения видеоинформации. Одним из таких способов является представление изображений в режиме стерео и создание систем виртуальной реальности. Системы виртуальной реальности пытаются имитировать все основные человеческие ощущения, включая стереовидение, стереозвук, осязание, обоняние и т.д. В случае обычного видеоизображения человек является как бы сторонним наблюдателем, который воспринимает видеоинформацию через окно дисплея. Стереоизображение переносит человека в пространство видеосцены, где он оказывается первым лицом ее восприятия. В свою очередь, для человека виртуальная информация становится действительной в окружающем мире. Для выполнения каких-либо действий в виртуальном мире реальными органами (например руками) создаются специальные устройства. Примером таких устройств являются виртуальные перчатки, которые надеваются на руку и передают движение руки и пальцев в компьютер. Тактильные ощущения имитируются с помощью специальных устройств, позволяющих моделировать силу реакции материала объекта на пальцы или руку. Использование подобных технологий в имитационно-тренажерных комплексах позволяет существенно повысить уровень и качество этих комплексов, поэтому исследования в этом направлении проводятся достаточно интенсивно. Работая в таком комплексе, пользователь должен иметь возможность трогать виртуальные объекты, брать их рукой, передвигать на новое место и т.д., то есть визуально и физически ощущать контакт с виртуальным миром. Задачи, возникающие при создании систем виртуальной реальности, имеют большие возможности для распараллеливания, что, в свою очередь, позволяет использовать для их решения распределенные вычислительные среды. Это могут быть кластерные системы персональных компьютеров или среды, построенные с использованием методов теории динамических стохастических сетей. В настоящей работе рассматривается задача синтеза и отображения стереоизображений с использованием активных стереоочков, а также задача захвата и перемещения виртуальных объектов рукой, оснащенной компьютерной перчаткой. Особенности человеческого зрения Ощущение объема в окружающем пространстве формируется в мозге человека на основе информации, получаемой от глаз, а именно, на определении того, насколько далеко от глаз расположены наблюдаемые объекты. Для этого мозг использует большое количество данных, включающих перекрытие объектов, их кажущиеся размеры, тени, градиенты освещенности и т.д. Среди этих данных мы рассмотрим отдельно информацию о том, как сфокусированы глаза, то есть какие у них фокусные расстояния и под какими углами они наблюдают объект, на который сконцентрировано зрение (рис. 1). Эта информация передается в виде напряженности мышц хрусталиков глаз и сдвига их зрачков от центральной линии. Вертикальную плоскость, перпендикулярную направлению взгля да и содержащую точку схождения зрительных осей, называют плоскостью конвергенции, а угол схождения этих осей параллаксом. Плоскость, которая содержит точку фокусировки обоих глаз, называется плоскостью аккомодации. На рисун- ке 1 видно, что плоскости аккомодации и конвергенции для нормального зрения человека всегда совпадают. При приближении объекта к наблюдателю области аккомодации и конвергенции также приближаются, а угол параллакса увеличивается. Если области аккомодации и конвергенции не будут лежать в одной плоскости, для ощущения объема мозг будет основываться на информации об угле схождения зрительных осей глаз. При визуализации виртуальных сцен на компьютере видеоинформация отображается на плоскости экрана, поэтому у наблюдателя угол параллакса и фокусировка глаз остаются постоянными и не зависят от того, как далеко расположен наблюдаемый объект. Из-за этого образ трехмерных объектов остается плоским и находится в плоскости экрана. Для создания ощущения объемности выводимой виртуальной сцены необходимы специальные методы формирования изображений, например, изменение области конвергенции. При приближении этой области к наблюдателю угол схождения глаз будет увеличиваться, и человеческий мозг будет трактовать это как приближение объекта. Манипулировать расположением области конвергенции можно путем создания стереоизображений. Формирование стереоизображения с использованием стереоочков Имеется много способов имитации стереоизображения в компьютерных системах. Одним из них является использование активных стереоочков. Идея таких очков состоит в том, чтобы формировать изображение отдельно для каждого глаза, выводить на экран поочередно каждое из сформированных изображений и синхронно с выводом изображения открывать шторку на очках, соответствующую нужному глазу. Если чередование изображений производить с достаточной частотой, например 60 Гц и выше, то человеческий мозг соединяет эти изображения в одно, которое при правильном выборе параметров визуализации воспринимается как стереоизображение. Два изображения для глаз образуют стереопару. Рассмотрим подробнее параметры визуализации, позволяющие получить на экране изображение объекта, которое воспринималось бы пользователем так же, как реальный объект того же размера. Пусть пользователь находится на расстоянии 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 Гц, что достаточно для отслеживания положения кисти одной или обеих рук в реальном времени. Нашей задачей является определение моментов касания кистью виртуального объекта и перемещение его вместе с движением кисти, а также фиксация захвата объекта пальцами и поворот его вместе с поворотом кисти. Для решения этой задачи необходимо прежде всего согласовать систему координат компьютерной перчатки 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 |
|