Компьютерное железо в последние годы прогрессирует невероятно быстро. Частота процессоров регулярно удваивается, объемы памяти и винчестеров растут, скорость доступа к ним тоже увеличивается. Видеокарты способны генерировать практически фотореалистичные трехмерные изображения в реальном режиме времени, мониторы становятся все больше, а картинка на них - все четче. А вот средства ввода - мышь и клавиатура - практически не изменялись с самого момента своего появления. То есть, по компьютерным меркам, со времен просто-таки доисторических. Однако для работы в трехмерном мире, к которому медленно, но верно приближаются системы отображения информации (наголовные дисплеи, стереодисплеи и так далее), эти устройства приспособлены слабо, поскольку третью координату просто не используют.
С другой стороны, практически в любом фантастическом фильме, изображающем технологии будущего или виртуальную реальность, герои манипулируют компьютерами непосредственно своими руками - берут и перемещают объекты, печатают на виртуальной клавиатуре и так далее (тут самое время сослаться на фильм "Газонокосильщик", в котором тема виртуальной реальности обыгрывалась весьма успешно). И делается все это при помощи перчаток виртуальной реальности. Собственно, такие перчатки стали таким же неотъемлемым символом виртуальной реальности, как видеошлем или наголовный дисплей. И это неудивительно, ведь рука всегда была самым главным средством влияния человека на окружающий мир. Так сказать, основным средством интерфейса. Ну а если окружающий мир должен стать виртуальным, значит, в нем должна присутствовать виртуальная рука. Осталось только сделать устройство, которое перенесет руку в компьютер. Но если в фантастике все это выглядит легко и просто (потому что придумать коня, который летает по возуху всегда легче, чем объяснить, как именно он это делает), то что же мы имеем в реальном мире?
Попытки создать виртуальную перчатку предпринимаются уже давно и более-менее успешно. Однако, как правило, речь идет о перчатках, разработанных для научных исследований в области альтернативных интерфейсов или каких-то сугубо специфических приложений (например, ввод данных в неблагоприятных условиях - то есть там, где клавиатурой пользоваться не получится или работа с носимым компьютером). В качестве примера можно назвать перчатку DataGlove, созданную еще в 1987 году фирмой VPL Research (кстати, именно эта перчатка использовалась в фильме "Газонокосильщик"). Между прочим, по мнению многих западных авторов, основатель VPL Research Джарон Ланье (Jaron Lanier) сделал для укоренения в языке и общественном сознании термина "виртуальная реальность" не меньше, чем Уильям Гибсон для термина "киберпанк".
Так вот, перчатка DataGlove умела измерять только положение пальцев относительно ладони. Для этого в ней использовались оптические волокна, потери света в которых зависели от степени изгиба. Стоила эта перчатка порядка 12000$. Кстати, несколько позже в VPL Research на основе этой же технологии было разработано более глобальное устройство под названием DataSuit. Оно представляло собой полный костюм, пронизанный волоконной оптикой и способный измерять степень сгибания всех основных суставов тела. То есть, DataSuit позволял полностью оцифровать движние тела - рук, ног, туловища. Положение тела в пространстве можно было измерять при помощи четырех дополнительных позиционных датчиков Polhemus.
Было и несколько других разработок. В частности, более простой вариант компьютерной перчатки под названием PinchGlove выпускалась компанией FakeSpace Systems. Это устройство не умело измерять положение, движение и ориенатацию руки. Единственное что умела эта перчатка - определять соприкосновение кончиков пальцев. Впрочем, и такой возможности было достаточно для простого манипулирования предметами в виртуальном пространстве.
Однако первая попытка внедрить новое средство ввода на массовый рынок была предпринята только в 1989 году и компанией отнюдь не компьютерной. Тогда компания Mattel Toys (производитель игрушек) выпустила в широкую продажу перчатку под названием PowerGlove, предназначенную для использования с игровой приставкой Nintendo Entertainment System (NES) вместо гейм-пада. Перчатка была разработана фирмой Abrams-Gentile Entertainment на основе DataGlove по лицензии VPL Research. PowerGlove представляла собой прочную перчатку из лайкры, в пальцы которой были вплетены пластиковые датчики, покрытые токопроводящим составом. Датчики позволяли определить, согнуты пальцы или нет. Кроме того, на перчатке размещались ультразвуковые излучатели и несколько кнопок, совпадавших с кнопками геймпада. Положение перчатки в пространстве считывалось при помощи нескольких микрофонов, которые улавливали ультразвук с передатчика (в другом описании этой перчатки утверждается, что излучатели были неподвижны, а микрофоны находились на перчатке). Таким образом, вся система позволяла определить трехмерные координаты руки, угол поворота ладони и сгибание пальцев.
Впрочем, работала PowerGlove не очень хорошо. Пространственное разрешение было низким, и система часто сбоила из-за некачественных микрофонов. К тому же она не любила отраженный звук, а руку все время приходилось держать направленной на микрофоны, так что она быстро уставала. В общем, первый блин получился комом, потому что устройство хоть и было интересно с технической точки зрения, но с точки зрения потребителя оказалось совершенно бесполезно. Mattel в течение года свернула производство PowerGlove и больше к этой идее не возвращалась. Тем не менее, PowerGlove до сих пор пользуется определенной популярностью, поскольку до недавнего времени это было единственное доступное устройство для любительских экспериментов с виртуальной реальностью. К тому же ее было достаточно легко подсоединить к обычному ПК. (смотрите, например FAQ по этому адресу)
Почему до недавнего времени? Потому что чуть меньше года назад на рынке появилось новое массовое устройство - перчатка P5 производства американской фирмы Essential Reality. P5 позиционируется, в первую очередь, как игровое устройство и оценивается соответствующе - $80 (правда, купить ее можно только на территории США или через Amazon.com). Надо сказать, что ноги у P5 растут тоже из разработок вездесущей VPL Research (а точнее, из ее патентов). Но выполнена перчатка уже на совершенно другом техническом уровне.
P5 состоит из двух частей - собственно перчатки (это, скорее, даже не перчатка, а эдакая накладка на руку) и базовой станции. Базовая станция включается в порт USB и не требует внешнего питания. Перчатка, в свою очередь, включается проводом в базовую станцию. На тыльной стороне "ладони" расположено 8 инфракрасных светодиодов (что характерно, цифровая камера их не "видит", хотя свет от обычного пульта ДУ она видит великолепно), которые позволяют базовой станции отслеживать перемещения руки в пространстве. В базовой станции, судя по всему, находятся две инфракрасные камеры - это позволяет более надежно следить за перчаткой и точно определять расстояние до нее. Зона видимости базовой станции составляет 45° по вертикали и горизонтали и около полутора метров в "глубину". В этом конусе P5 может отслеживать координаты руки по всем трем осям с точностью до 0.6 сантиметра (на расстоянии 60 см от базы), а также поворот и наклон ладони с точностью до 2 . Опрос координат происходит с частотой 40 герц (задержка составляет 12 миллисекунд). Кроме светодиодов системы слежения, в перчатке имеется пять резиновых "пальцев" с датчиками изгиба. К настоящим пальцам они крепятся пластиковыми кольцами и меряют изгиб с точностью в 1.5 . Еще на тыльной стороне перчатки имеется четыре кнопки, одна из которых - программируемая (остальные служат для калибровки, включения/выключения и переключения режимов работы). Таким образом, в терминах джойстика P5 имеет 11 аналоговых осей и одну кнопку. С технической стороны это, пожалуй, все. А теперь посмотрим, что со всем этим можно делать.
Перчатка сразу же может работать в качестве замены мыши. Движениями руки можно гонять курсор по экрану, а сгибанием пальцев - нажимать на кнопки. Работать с перчаткой в этом режиме, конечно, не так удобно, как с мышью, но после некоторой тренировки получается достаточно адекватная замена. Однако, как совершенно правильно сказал один из счастливых обладателей P5 на форуме Essential Reality, "кому нужна кривая мышь за $80"? Но больше с P5 сделать практически ничего нельзя. В комплекте с ней идут три игры (Hitman 2, Beachhead и Tigerhunt). Сразу можно сказать, что в шутеры вроде Hitman с перчаткой играть неудобно - недостаточная точность позиционирования и необходимость часто центровать руку совершенно не сочетаются с экшеном в реальном времени. Кроме того, с сайта компании можно скачать модули для поддержки перчатки в Black&White и Serious Sam 2. Вот в Black & White возможности P5 раскрываются в полном объеме. Дело в том, что в этой игре в качестве основного инструмента интерфейса и так использовалась виртуальная рука в трехмерном пространстве. Так что поддержка перчатки в нее интегрируется самым естественным образом. Теперь предметы на экране действительно можно хватать и бросать, можно указать на предмет и особым жестом приблизить к нему камеру, можно совершенно естественным образом рисовать заклинания в воздухе рукой, как это и было задумано создателями Black&White. Но, увы, это единственная игра, в которой возможности перчатки раскрываются в полной мере.
Впрочем, существует еще один хороший пример, раскрывающий потенциал P5. Написан он одним из владельцев P5 (по совместительству оказавшимся программистом) при помощи P5 SDK. Выглядит это так - на экране появляется модель руки, которая в реальном режиме времени отслеживает движения перчатки. То есть, если вы двигаете свою руку вперед, рука на экране отдаляется. Двигаете ее из стороны в сторону - рука на экране повторяет ваши движения. Сгибаете пальцы и пальцы на экране сгибаются точно так же. А если изобразить пальцами жест, как будто вы держите пистолет, то в руке на экране появляется пистолет. Из него можно стрелять, просто сгибая указательный палец. Если же вы представите себе, что держите меч (большой палец лежит вдоль рукоятки, остальные пальцы сжаты вокруг нее), то в руке появится меч, которым можно рубить и колоть совершенно естественным образом.
Было бы прекрасно, если бы программисты Essential Reality хоть как-то использовали идею из вышеописанной демонстрации. Или хотя бы сделали систему распознавания жестов, которую можно было бы связать с командами в играх или Windows (как это делается практически для всех игровых контроллеров вроде джойстиков, рулей и т.д.), но, опять, увы. Они уже давно это обещают, но результата все нет. Нет и плагинов, которые обеспечивали бы поддержку перчатки в пакетах 3D-графики (хотя пользователи требуют такие плагины с момента выхода P5 на рынок). Правда, есть SDK, с помощью которого, в принципе, любой может прикрутить P5 к нужному приложению. Но перчатка ориентирована, в первую очередь, на игроков, а они вряд ли захотят заниматься программированием. Так что P5, судя по всему, грозит участь PowerGlove и множества других интересных девайсов, умерших из-за отсутствия нормальной программной поддержки. Как ни жаль, но пока что P5 является очень прикольным и технически интересным, но практически совершенно бесполезным устройством.
Пока что мы рассматривали, так сказать, потребительские товары, ориентированные на массовую аудиторию. Однако есть в мире компьютерных перчаток и свой hi-end. Например, перчатка CyberGlove (22 датчика изгиба позволяют полностью описать конфигурацию кисти) от компании Immersion. Собственно, чтобы не мелочиться, посмотрим сразу на головной продукт Immersion - рабочую станцию Haptic Workstation. В ее комплект входят сама перчатка, устройство обратной тактильной связи CyberTouch (вибраторы, которые позволяют ощущать фактуру материала пальцами), устройство силовой обратной связи для пальцев (CyberGrip - эдакий металлический экзоскелет кисти с сервомоторчиками, который передает требуемую нагрузку на каждый палец в отдельности) и устройство обратной связи для всей руки (суставчатый рычаг CyberForce cо стационарным креплением и сервомоторами, фиксирующий руку в нужном положении). Все это устройство целиком позволит вам положить руку, скажем, на штурвал самолета (CyberForce зафиксирует ее в нужном положении), обхватить его пальцами (CyberGrip придаст пальцам форму рукоятки штурвала) и ощутить вибрацию самолета при взлете (тактильная обратная связь CyberTouch). А информацию о положении и конфигурации руки для всех этих систем обратной связи как раз и будет генерировать перчатка. Для полного погружения в виртуальность к Haptic Workstation прилагается регулируемое автомобильное кресло и стереоскопический наголовный дисплей. Предназначается все это для исследователей, дизайнеров сложного оборудования и просто тех, у кого очень много денег (ибо стоит Haptic Workstation как небольшая подводная лодка - одна только перчатка оценивается почти в 10000$). В принципе, именно к такой конфигурации должна стремиться любая система виртуальной реальности. Вот только вряд ли она станет массовой в ближайшее время. Кстати, если вас заинтересовала эта тема, очень рекомендую посмотреть видеоролики с сайта Immersion - Haptic Workstation в действии впечатляет со страшной силой.
Итак, несмотря на давние мечты человечества о "ручном" интерфейсе, уделом пользователя компьютера пока что остаются самые обыкновенные мышь и клавиатура. С перчатками и прочими альтернативными устройствами экспериментируют или любители-энтузиасты (которые сами себе и программисты, и инженеры-электронищики) или ученые, исследователи проблем человеко-машинного интерфейса. Например, по запросу "computer glove interaction" Google выдает массу ссылок на научные и научно-популярные материалы. Вот и посмотрим, чем занимаются ученые.
Например, весьма интересный проект, разработываемый в университете Беркли, можно найти по адресу. Здесь группа товарищей разрабатывает перчатку на основе двухкоординатных акселерометров (датчики, измеряющие ускорение). Фактически, такой акселерометр измеряет угол своего наклона относительно вертикали (задаваемой гравитационным полем Земли). Пять таких датчиков расположены на кончиках пальцев и еще один - на тыльной стороне ладони. Сочетание сигналов от датчиков позволяет распознавать множество различных конфигураций пальцев. Пока что система работает только со статическими жестами (то есть, рука при этом должна быть неподвижна), однако, в принципе, она может распознавать и движения. Координаты руки эта перчатка конечно измерить не может, но даже обычного языка жестов оказалось достаточно, чтобы сделать простенький текстовый редактор с "ручным" вводом (тренированный человек может вводить текст со скоростью порядка одного символа в секунду). Управлять курсором мыши тоже можно запросто - например наклонами ладони в стороны и вверх-вниз.
Однако это еще не самое интересное. Дело в том, что данная перчатка разрабатывается только как прототип устройства совершенно другого класса. Основная цель разработчиков - создать систему ввода на основе так называемой "умной пыли" (smart dust или motes). Умная пыль представляет собой миниатюрные устройства, сочетающие в себе наноэлектронику и MEMS (микро электромеханические устройства). На картинке видно, к какой цели стремятся исследователи - крошечный девайс объемом всего несколько кубических миллиметров будет сочетать в себе маломощный радиопередатчик (для передачи данных), солнечную батарею (независимое питание), MEMS-акселерометр (собственно, датчик) и цифровой сигнальный процессор (который будет всем этим управлять). Пять таких пылинок, наклеенных на ногти, будут совершенно незаметны, но зато у вас всегда будут с собой клавиатура и мышь. Причем, беспроводные. Кстати, похожая на smart dust технология и ее использование были весьма красочно описаны в книге Вернора Винджа "Глубина в небе"
А вот еще одна интересная разработка. Правда, в ней никаких перчаток нет, но идея очевидным образом родственная. Итак, технология JestPoint от компания JesterTek призвана заменить собой сенсорные дисплеи в общественных местах. По сути своей она весьма проста и предназначена чтобы управлять компьютером при помощи движений руки.. Собственно, я бы даже сказал, что идея позаимствована у природы, давшей человеку не только прямохождение, но и бинокулярное зрение. Скажем, чтобы нажать на кнопку на экране, надо указать на нее пальцем и совершить эдакое тыкающее движение. В принципе, то же самое позволяют делать сенсорные экраны, но здесь пользователь может находиться на любом расстоянии от экрана, да и размеры самого экрана ничем не ограничены. Получение информации о жестах осуществляется с помощью двух видеокамер, разнесенных на некоторое расстояние - стандартная конфигурация для стереосъемки. Камеры получают данные о пространственном расположении руки (или указательного пальца) путем банальной триангуляции на основе двух изображений с известной стереобазой. Существующий вариант системы интерпретирует эти данные в координаты на экране и нажатия кнопок мыши. Собственно, эта система может подключаться вместо мыши. Самое очевидное применение - в рекламных витринах и общественных информационных терминалах. Но при желании эту систему можно было бы перенести и на персоналки. Камеры можно устанавливать практически где угодно по отношению к дисплею. Единственное ограничение - вокруг того места, где вы будете размахивать руками, должна находиться однотонная квадратная рамка для калибровки пространственного восприятия камер.
Надо сказать, что данная технология оказалась вполне жизнеспособной - за два года с момента ее первой демонстрации на Siggraph 2001 компания JestPoint не только не разорилась но и наоборот, весьма активно продает свои системы управления. Покупателями становятся музеи, магазины и масса прочих заведений, где надо огранизовать взаимодействие посетителя с компьютером.
Впрочем, полный перенос виртуальной руки в компьютер - цель очень призрачная и пока, как видите, далекая. Как минимум, для того, чтобы эту руку адекватно использовать в массовом порядке, потребуется разработка соответствующей (и тоже массовой, вроде Windows) трехмерной операционной среды и операционной системы. А по сложности и своему значению эта задача вполне сравнится (а скорее всего, и превзойдет) с переходом от текстового к графическому оконному интерфейсу. Но ведь существует задача поменьше и притом весьма актуальная уже сейчас - создание виртуальной клавиатуры. И она вполне успешно решается.
Еще в конце прошлого года европейская фирма Senseboard анонсировала свою разработку, которая так и называется - Virtual Keyboard. Представляет она собой два браслета-переростка, которые надеваются на ладони. Датчики в браслетах фиксируют движения мышц кисти и интерпретируют их в напечатанные буквы. Правда, для работы с senseboard надо владеть методом десятипальцевой слепой печати. Зато это устройство можно подключать к любому компьютеру или PDA и "печатать" после этого можно на любой твердой поверхности. Впрочем, прототип Virtual Keyboard, представленный на прошлогоднем Comdex, работал достаточно медленно и неуверенно (нетренированный человек так и не смог напечатать с его помощью что-то осмысленное). Но компания обещала к коммерческому релизу исправить эти недостатки.
Вторая разработка принадлежит корейской Samsung и называется Scurry. Как видите, это устройство значительно больше напоминает перчатку, чем предыдущее. Принцип работы основан на эффекте гироскопа (гироскопические датчики расположены в кончиках пальцев и, видимо, на тыльной стороне ладони) и позволяет точно измерять перемещения пальцев относительно ладони. Перемещения затем преобразуются в нажатия кнопок на виртуальной клавиатуре. Samsung представила прототип Scurry на том же Comdex и даже обещала начать продажу уже в начале этого года. Надо сказать, что, по словам очевидцев, Scurry работала намного эффективнее Senseboard.
Третья разработка - виртуальная клавиатура фирмы Canesta. Из всех трех она выглядит наиболее концептуальной и в то же время наиболее работоспособной. Итак, устройство состоит из инфракрасного излучателя, приемника и системы подсветки. Излучатель испускает инфракрасный свет (скорее всего сканирует пространтво лучом инфракрасного лазера), который отражается от предметов перед ним. Приемник улавливает отраженный свет и по временной разнице между испусканием и приемом отраженного света определяет расстояние до предмета (фактически, получается эдакий инфракрасный радар). Если этот предмет - пальцы руки, то устройство сможет распознать и запомнить их перемещение. Подсветка проецирует на поверхность перед устройством изображение клавиатуры. Так что вы давите пальцами на вирутальные кнопки, а система переводит их во вполне реальные напечатанные буквы. Все очень просто, элегантно, компактно и не имеет движущихся частей. Идеальное решение для PDA и мобильных телефонов.
Кстати, аналогичные (скорее даже идентичные) разработки практически одновременно представили еще две компании: Virtual Devices, Inc. и VKB. То ли идея настолько носилась в воздухе, что была независимо реализована всеми тремя компаниями, то ли дело не обошлось без небольшого шпионажа - непонятно. По крайней мере, у Canesta уже есть готовый силикон и программное обеспечение для работы с ним в Windows и Palm OS. К тому же эта компания обладает ниаболее обширным патентным портфелем. VKB также имеет некоторое количество заявок на патенты и активно сотрудничает с Siemens в области продвижения своей технологии на рынок.
А вот еще одна любопытная виртуальная клавиатура под названием Kitty, разработанная Калифорнийским университетом в Ирвине . Правда, в отличие от предыдущих, она не заставляет оператора изображать работу с клавиатурой, а использует собственную систему знаков (Thumbcode, что можно перевести как пальцевый код). Принцип действия Kitty такой - на руку надевается такая вот "упряжь" из гибкого токопроводящего материала с контактными площадками на кончиках пальцев. Замыкая пальцы определенным образом, пользователь может набивать текст и вообще полностью эмулировать работу на клавиатуре (thumbcode поддерживает полный набор ASCII символов). Правда от старых привычек (типа десятипальцевой слепой печати) при этом придется избавляться. Идея, между прочим, очень напоминает PinchGlove. Но решение все равно весьма изящное. Прототип Kitty в виде перчатки уже был успешно опробован и теперь идея доводится до окончательного коммерческого варианта (кстати, похожая на часы штука на картинке - это беспроводной передатчик).
Существует и масса других проектов, но надо на чем то остановиться, ибо нельзя объять необъятное. Ясно одно - массовое появление подобных устройств дело времени. Даже среди нескольких приведенных примеров есть устройства, достигшие коммерческого статуса и, в принципе, готовые к массовому внедрению. К тому же почти все они используют достаточно красивые с технической точки зрения решения (а красивый самолет, как известно, хорошо летает) - так что подождем пару лет и посмотрим что получится.