Какие на ощупь виртуальные стены?

aknwp64kioooi-hemgyvx2xm3s4.jpeg

За последние несколько лет устройства, позволяющие пользователю окунуться в виртуальную реальность (VR), стали намного сложнее и лучше. VR применятся и в образовании, и в искусстве, и в развлечениях, и даже в медицине (нет, я не про Surgeon Simulator). Благодаря VR человек может увидеть то, что никогда бы не увидел в реальной реальности, такой вот каламбур. Однако для полного погружения в мир грез нехватает одного из важнейших ощущений, которое обеспечивает контакт человека с окружающим миром — прикосновения. Мы постоянно что-то ощущаем на ощупь: клавиши клавиатуры, дверная ручка, чашка чая и т.д. В VR все объекты, какими бы реалистичными они ни казались глазам, лишены какой-либо физической репрезентации в реальности. Группа ученых из университета Карнеги-Меллона (США) решили это исправить, использовав достаточно простой по концепции прибор. Из чего состоит и как работает изобретение мы узнаем из доклада ученых. Поехали.

Основа исследования


Современные VR системы используют контроллеры (и даже обычные геймпады от игровых консолей) для отслеживания положения рук пользователя, контроля им действий своего виртуального аватара и для вибро-тактильного отклика.

Те из нас, у кого имеется игровая консоль, знают, что геймпады способны вибрировать в определенные моменты игры (битва с боссом, столкновение с соперником в гонках и т.д.). VR тоже использует такой метод коммуникации с пользователем, однако он не дает той полноты ощущений, что давало бы прикосновение.

Если же говорить про стены в VR, то они успешно реализуют концепцию кота Шредингера — они вроде и есть, но в то же время их нет. Пользователь может проходить сквозь них (полностью или частично) намеренно или нет. А это значительно влияет на ощущение созданного в VR мира.

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

8jdsx-_kmm2e6jkktkuvm68qs0k.png
Изображение №1: концепт системы Wireality.

В исследовании, которое мы сегодня рассматриваем, ученые решили создать свой вариант системы тактильного контакта посредством нитей, присоединенных к датчикам на кистях пользователя, что внешне напоминает Пиноккио. Такая система автономна и очень мобильна, не говоря уже о ее низкой стоимости — до 50 долларов за штуку при массовом производстве. Изобретатели назвали свое творения Wireality, объединив в одно слова wire (провод, нить) и reality (реальность).

Реализация системы Wireality


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

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

e0jhhwrlqsnlis7f8t_6y8fh1pk.png
Изображение №2: прототип модуля затагивания нитей Wireality.

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

Чтобы этого не происходило, необходимо было использовать что-то, что будет эффективно затягивать нити. Первые варианты модуля затягивания, как признаются сами ученые, получились громоздкие из-за двигателей, еще и проблема вывода тепла появилась (схема выше).

ukbx_6be-s5s-l_8litds12wsa0.png
Изображение №3: финальный вариант модуля затагивания нитей Wireality.

Вместо этого были использованы плоские пружины, как в измерительной рулетке. Такой вариант намного легче, дешевле, прочнее и компактнее. Даже несмотря на то, что плоские пружины обеспечивают исключительно фиксированное усилие тяги, было установлено, что втягивающий модуль с усилием тяги 80 г прекрасно устраняет проблему провисания нитей.

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

Финальная конструкция модуля блокировки состоит из акрилового храпового механизма с храповиком (шестеренка с острыми зубцами, грубо говоря) с разрешением 8° на зубец и модуля затягивания, в котором установлена пружина, катушка и сама нить.

Поскольку нить наматывается на катушку с меньшим диаметром, чем у храповика, каждый зубец равняется 0.84 мм «хода струны». Кулачок в свою очередь прикрепляется к двухтактному соленоиду постоянного тока (12 В).

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

hpmquwjxab8-ugz3eszrt3vxrqe.png
Изображение №4: модуль блокировки нитей.

Один модуль блокировки отвечает за один участок руки пользователя (например, за указательный палец), потому их нужно несколько. Компактные размеры (4.1×7х1.4 см) и легкость позволяют соединять их в кластеры (фото ниже).

smzq2hhst6b4mkd9by2o7qi65jy.png
Изображение №5: кластер модулей блокировки.

Каждый модуль размещен внутри корпуса из нейлона и углеродного волокна, напечатанного на 3D-принтере.

Электронная составляющая блокировочных модулей состоит из двойного двигательного драйвера HBridge L298N, управляемого микроконтроллером Teensy 3.2, который получает команды от VR системы посредством обычного USB.

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

Когда Teensy дают команду заблокировать одну из нитей, он активирует соответствующий соленоид на 40 мс, что является кратчайшим интервалом для надежной блокировки.

Собрав воедино все модули, ученые задумались над тем, куда же на теле человека будет крепиться вся эта радость. Прототип, конечно, еще не идеален, и его размеры можно уменьшить, однако даже на данном этапе носить его достаточно удобно. Было решено разместить систему Wireality на плече пользователя посредством специального жилета, распределяющего нагрузку на тело (изображение №1).

Что касается кистей рук, то тут необходимо было понять оптимальное число «датчиков» контакта, от чего напрямую зависит число модулей блокировки и, следовательно, число используемых нитей. Ученые обнаружили, что с большим количеством точек контакта (например, кончик пальца, пястно-фаланговый и межфаланговый суставы) можно моделировать более сложные геометрические фигуры. Однако это неминуемо приводит к увеличению габаритов устройства и его веса (суммарно нужно 15 модулей: по три на указательный, средний, безымянный и мизинец, 2 на большой палец и 1 на запястье).

Во время опытов было установлено, что такое большое число датчиков не нужно для получения реалистичного тактильного контакта с виртуальным объектом. Потому в конечном итоге число струн и модулей сократили до семи: 5 на каждый палец, 1 на ладонь и 1 на запястье.

Датчики с нитями крепятся к руке пользователя посредством наперстков, напечатанных на 3D-принтере, и ремешков на липучках, что помогает распределить концентрированное давление.

Чтобы удерживать пальцы пользователя в точках трехмерного пространства для имитации сложных виртуальных объектов, требуется точное отслеживание множества суставов руки. В ранних прототипах (один из вариантов на изображении №2) был использован потенциометр, который позволял точно отслеживать расстояние до точки от модуля, но не азимут или высоту.

В конечном счете, был использован Leap Motion, прикрепленный к передней части гарнитуры VR, для отслеживания рук. Leap Motion позволяет получить данные о положении всех суставов руки в трехмерном пространстве. Любопытно, что наперстки, которые одеваются на пальцы пользователя, были сделаны из материала, который не мешает работе Leap Motion, поскольку в инфракрасном диапазоне они выглядят так же, как и кожа. Еще одной важной деталью были сами нити, которые должны были оставаться невидимы для камеры, потому их толщина также была подобрана не случайно.

В качестве VR системы был использован Oculus Rift, а все виртуальные экспериментальные площадки были созданы с помощью Unity. Для обнаружения контакт с виртуальными объектами были использованы ObjectCollider, назначенный каждому объекту или препятствию на площадке (стены). Когда контакт происходит, отправляется событие OnTriggerEnter. Обработчик событий отправляет команду блокировки на плату драйверов через USB для соответствующего сустава, то есть соответствующего модуля блокировки.

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


Видео, в котором описывается принцип работы системы Wireality.

Характеристики системы Wireality


По завершению создания системы, необходимо ее полностью проверить, что и было сделано. Ученые провели оценку нескольких основополагающих факторов: вес, латентность, энергоэффективность, сила блокировки, точность ощущения контакта и т.д.

Вес одного модуля блокировки составил 30 г. Блок из 7 модулей плюс вся необходимая электроника и крепления весят 273 грамма. Вес всех элементов, одеваемых на руку пользователя, составляет всего лишь 11 грамм. В качестве сравнительного примера ученые приводят портативный контроллер HTC Vive, который весит 203 г.

Что касается свободы движений, то система Wireality позволяет контактировать с виртуальными объектами в радиусе до 83 см от плеча пользователя.

Учитывая конструкцию системы, каждый модуль должен быстро останавливать руку пользователя в нужном положении, и делать это придется многократно. Следовательно, необходимо было оценить максимальную силу нагрузки, которую система может выдержать. В среднем этот показатель равен 186 Н.

Работа соленоидов также подверглась неоднократной проверке, в ходе которой применялись напряжения в диапазоне от 5 до 12 В с длительностью срабатывая от 10 до 1000 мс. Как мы уже знаем, опытным путем было установлено, что именно 12 В и 40 мс являются идеальной комбинацией.

Соленоиды и время их срабатывания также играют важную роль в формировании энергоэффективности всей системы. Каждый модуль блокировки потребляет 2.19 Вт (183 мА при 12 В) при включении соленоида. Учитывая, что соленоид включается лишь на 40 мс для совершения блокировки храповика, каждое событие блокировки потребляет всего 0.024 мВтч (0.088 Дж). В качестве примера ученые приводят гарнитуру Oculus Quest с батареей емкостью 14 000 мВтч, чего хватило бы на полмиллиона событий блокировки.

Когда пользователь хочет прикоснуться к виртуальному объекту, крайне важна задержка системы, т.е. чем она ниже — тем лучше. Суммарная задержка системы составила 29 мс: 9 мс — Leap Motion; 1 мс — последовательная связь; 4 мс — срабатывание соленоида; 1 мс — сопряжение храповика и защелки; ~14 мс — срабатывания блока в плечевом креплении. В дальнейшем планируется снизить эти показатели.

Точность определения положения руки пользователя датчиками и соответствующий отклик системы блокировки также была оценена. Конечно, идеального совпадения виртуальных и реальных координат пока нет, но расхождение не превышает 1.8 см при скорости движения руки в 30, 60 и 90 см/с.

Практические опыты


Далее были проведены опыты, в которых взяли участие 12 человек (4 мужчины и 8 женщин, средний возраст 21 год). Стоит отметить, что 6 участников ранее никогда не пользовались VR системами.

Каждый из участников сидел в центре комнаты 2×2 м с гарнитурой Oculus Rift. Было реализовано три варианта тестов: без ничего, контроллер с вибрацией и система Wireality.

В каждом из вариантов опытов участники взаимодействовали с пятью объектами: стеной; наклоненной на 45° плоской поверхностью; сферой; шестом и нерегулярным объектом (неправильной формы, грубо говоря).

cs8adgligkv0s53xx3z7ultxpcs.png
Изображение №6

Порядок объектов и вариантов опыта был рандомизирован для каждого участника. После проведения опыта каждый участник заполнял небольшую анкету, где оценивал свои ощущения от работы в разных условиях опыта по шкале от 1 (очень плохо) до 7 (отлично): реалистичность ощущения объекта; комфорт использования; свобода движений.

jwcrwbhs7utw2hbasvhecil6f1q.png
Изображение №7

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

Тем не менее, все участники опытов крайне положительно отнеслись к системе Wireality. По их словам, она позволяла им значительно лучше оценивать объекты в виртуальной реальности.

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

bu5risgobx7v4b-knb_aiyajcm8.png

Суммируя данные опытов, ученые создали несколько вариантов сценариев виртуальной реальности для демонстрации возможностей Wireality.

Всего было реализовано четыре варианты сценариев, которые отражают возможное применение Wireality: границы (объекты ограничения пространства); большие и тяжелые объекты; объекты взаимодействия (кнопки, клавиши рычаги и т.д.); виртуальные персонажи.

Для более детального ознакомления с нюансами данного труда рекомендую заглянуть в доклад ученых.

Эпилог


Виртуальная реальность может подарить человеку возможность исследовать миры, которых не существует в реальности, практиковаться в изобразительном искусстве, добавляя трехмерности его картинам, бродить по музеям, расположенным в далеких странах, и многое другое. VR системы это не только игры и развлечения, но и новая среда для обучения, а для кого-то (например, люди с ограниченными возможностями) и вовсе единственный способ почувствовать свободу передвижения. Другими словами, VR может быть имплементирован куда-угодно, если в том есть смысл, конечно.

Единственное, чего не может виртуальная реальность, это, как ни удивительно, обеспечивать реальность тактильных взаимодействий. Система Wireality решает эту проблему достаточно креативным методом. Стальные нити, храповики, соленоиды и прочее это далеко не научно-фантастические футуристические детали, тем не менее, в сопряжении они позволили создать вполне футуристическую систему. Конечно, Wireality еще далека от идеала, ибо нужно поработать над эргономичностью, энергоэффективностью и латентностью системы, чем и планируют заняться авторы сего изобретения в будущем.

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Немного рекламы :)


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5–2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5–2697v3 2.6GHz 14C 64GB DDR4 4×960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5–2430 2.2Ghz 6C 128GB DDR3 2×960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5–2650 v4 стоимостью 9000 евро за копейки?

© Habrahabr.ru