Обзор мозгокомпьютерного интерфейса Emotiv Epoc
Вот тут давно сокрушались, что нет героя в отечестве, который бы купил какой-нибудь нейрокомпьютерный интерфейс, помучил бы его на благо сообщества и поделился с окружающими результатами мучений. Собственно есть. Я его купил и попытался использовать. Подробности с картинками под катом.
Вместо вступления
Лет 5 назад, когда я начинал свою трудовую деятельность, на моей работе по вечерам или по пятницам любили устраивать «полчасика» – погонять в контру. Так сложились исторические обстоятельства, что мне больше нравились стратегии, поэтому реакция у меня была не очень хорошая. Собственно, дальше я начал размышлять, как бы ее ускорить. Помимо тренировок я пришел к выводу, что можно попробовать ускорить рефлекторные дуги или вообще их обойти. Начал искать и нашел несколько подобных интерфейсов. Собственно, так я и немного вошел в тему.
Немного истории и фактов
- погружной – собственно вживление в мозг или сращивание с нервами;
- частично-погружной – электроды находятся на поверхности мозга или рядом с нервами;
- непогружной – электроды находятся на поверхности кожи или даже несколько удалены от нее.
- мокрые – нужно смачивать специальной жидкостью для лучшего контакта;
- сухие – смачивать не нужно.
- пассивные – просто улавливают сигнал и передают его дальше;
- активные – обратно сигнал они не передают, они просто делают его первичную обработку прямо в месте прикрепления. А сигналы обратно передают уже совершенно другие электроды.
По вышеприведенной классификации Emotiv Epoc является мокрым непогружным BCI с пассивными электродами.
Как заказывал и как доставили
Заказывал через PayPal. За 3 дня сделал себе карточку от Альфабанка. Положил денюжшку. Еще через 7 дней он у меня был дома, пролетев почти полмира. Спасибо компании UPS за наше счастливое детство.
Приехал милый черный чемоданчик.
- С бумажками, я думаю, понятно, что все инструкции, программы и прочее можно скачать с сайта производителя, поэтому обошлись без дисков и флешек. Только гарантия и список того, что прислали.
- Электроды для присоединения к устройству. О них подробнее чуть ниже. Заказал 2 комплекта электродов, так как имею склонность что-нибудь разломать ради интереса.
- Само устройство. По размеру совпадает с наушниками, только дужка между ушами не сверху, а сзади. Устройство беспроводное.
- Зарядный USB-кабель для прибора, во время работы не требуется. Заряда аккумулятора по утверждениям производителей хватает на 7 часов. Мне так ни разу разрядить полностью прибор не удалось.
- Радиомодуль – собственно вторая часть беспроводного интерфейса для подключения к компьютеру. В принципе можно было сделать и на том же самом Bluetooth. Ну как сделали, так сделали. Возможно это уменьшает помехи. Знакомые спрашивали на счет радиоизлучений. Я вначале не нашел, хотел относить другим знакомым в лабораторию, чтобы прозвонили его. Потом нашел значки сертификации CE и UL. То есть для Европы и США оно подходит. Плюс, если бы слишком сильно фонило, то устройство мешало бы само себе. Так что думаю, проблем быть не должно.
- Жидкость для глазных линз – это стерильная жидкость для смачивания электродов. Так складываются обстоятельства, что сухие BCI работают несколько хуже, чем мокрые.
Технические требования
Процессор: 2.4 GHz Intel Pentium 4. Оперативная память: 1 GB Жесткий диск: 50 MB Дополнительно: 1 или 2 USB-разъема, в зависимости от количества используемых устройств Операционная система: Windows XP SP2, Windows Vista, Windows 7
Технические характеристики
Число датчиков: 14 шт Тип датчиков: пассивные, мокрые Гироскопы: 2 шт Батарея: 7-12 часов без подзарядки Соединение с компьютером: беспроводная радио связь
Дополнительные технические характеристики
В наборе разработчика: SDK для разработки на C++, C# В наборе исследователя: SDK исследователя, включащее в себя специальный графический пакет для анализа и обработки данных
Про электроды
Внутри каждой коробочки находится по 16 сменных электродов, которые вставляются в само устройство.
Ужасно неудобно их оттуда выковыривать. Но, как сделали, так сделали. Сам электрод довольно маленький.
Состоит он из двух частей. Собственно электрода и вкладки. У электрода золотое напыление, чтобы он не окислялся от влажности и для лучшего контакта.
Красными кружками на фотографии выделены выступы, о которые я и ободрал пальцы, когда выкручивал электроды из упаковки и вкручивал в устройство. Подумываю об изготовлении какого-нибудь ключа из пластика для упрощения своей жизни. Вкладка по структуре напоминает материал, из которого в фломастерах изготавливают сердечник и перо. Он хорошо держит жидкость, но при этом она не вытекает ручьем.
Про само устройство
По размеру оно напоминает наушники. Только дужка у них не сверху, а сзади. Там же находится выключатель. Разъемов для датчиков на самом устройстве 18 штук. Датчиков 16, а в инструкции написано, что количество каналов равно 14. Объясняется это просто. Реальных каналов, по которым идет сигнал действительно 14. Еще два канала являются опорными. При работе BCI ловит электрические сигналы не только от мозга, но и от мышц – так называемая миограмма. Эти сигналы сильнее, чем от мозга и их нужно фильтровать. Для этого считывается дополнительный сигнал оттуда, где есть сигналы от мышц, но нет сигналов от мозга – это часто точки в височной области или районе ушей. Так как с каждой стороны возможны 2 варианта расположения опорных каналов (висок и за ухом), то получаем 4 дополнительных разъема для датчиков.
Об эксплуатации
Если дословно следовать инструкции, то у меня подготовка к эксплуатации выглядела примерно следующим образом:
- Зарядил устройство. Скачал, установил софт/драйвера/SDK.
- Намочил датчики.
- Проверил, что хорошо намочил.
- Вкрутил датчики в устройство и ободрал себе пальцы.
- Проверил, не высохли ли они, если нужно намочил еще.
- Надел, включил, проверил связь, при необходимости намочил еще.
- Понял, что датчики у меня вообще сухие и то, что я делал до этого – даже не намачивание.
- Замочил датчики.
Про софт
- В базовый набор так же входит диск с игрушками
- В набор разработчика входит SDK, который можно скачать и установить сразу после оплаты — его я себе и заказал
- В набор исследователя входит SDK исследователя и программа для слежения за сигналами на разных датчиках.
- Остальные наборы отличаются только лицензиями, и тем, кому они предоставляются – учебным заведениям, исследовательским лабораториям, кампаниям по разработке игр…
Контрольная панель
Первая вкладка Headset Setup является основной. На ней проверяется вообще наличие связи, и проводится основная калибровка (может быть, где-то слабо намочили…). Каждый пользователь имеет свой собственный профиль, поэтому одним устройством могут пользоваться несколько человек.
В контрольной панели можно сразу наблюдать бонус – как система отлавливает те или иные сигналы от мышц. Это вторая вкладка – Expressiv Suite. Можно корчить себе рожи, подмигивать и система, действительно, на экране покажет, что Вы там изобразили. Еще к ним можно привязать те или иные сообщения, текстовые или смайлики, то есть Ваши смайлики будет реальным отражением Вашего состояния.
На третьей вкладке Affective Suite можно отслеживать во времени основные состояния и увидеть преобладающее.
На четвертой вкладке Congnitiv Suite можно поэкспериментировать. У нас есть кубик и 14 основных действий с ним (по числу степеней свободы вверх-вниз-вправо-влево-вперед-назад, 6 видов вращений вокруг осей в обе стороны, так же появление и пропадание). Уровень тренировки меняется от самого простого – 1 сигнал – до самого сложного – 4 сигнала. У меня после пары недель тренировок стало получаться делать одновременно 2 сигнала из 14 произвольных на выбор. Делать хоть один сигнал можно научиться буквально за пару минут. Можно помогать себе конечностями, размахивать, пыхтеть и делать другие смешные вещи.
На последней вкладке контрольной панели можно попробовать управлять мышкой.
Вспомогательная информационная панель
На ней можно включать и выключать отдельные электроды.
И привязывать эти электроды к конкретным действиям, чтобы тренировать конкретный навык. Так же на них показывается процент успешных или не очень успешных навыков, то есть можно следить за своим прогрессом.
Аналогичным образом можно тренировать свои навыки при помощи игр в комплекте. Первым идет набор миниигр на флеше их всего три.
Самая простая – это игры джедаев. Если помните эпизод в Звездных Войнах, когда Люку надо было вытащить свой истребитель из болота при помощи силы. Собственно, это игра – почувствуй себя Люком. Концентрируемся только на одном основном движении. Собственно, это тренировка концентрации.
Далее – пинг-понг против компьютера. Тут уже два движения. Вверх-вниз. Несколько кислотного зеленого цвета.
И последняя миниигра – это тетрис. Великий и могучий. 4 действия (вверх-вниз-вправо-влево). Запомните все. Никогда в жизни не играйте в тетрис своими мозгами. Оно затягивает и получается. Система такая – играешь как в обычный тетрис, нажимая на кнопки клавиатуры, а система в фоне учится распознавать. В какой-то момент времени оно приходит к выводу, что научилось и начинает дублировать. В этот момент начинается шоу с приколами. Особенно забавно выходит, когда ты хочешь сдвинуть фигуру в сторону, сигнал поступает от BCI, затем сигнал приходит по руке до пальца, и ты посылаешь второй сигнал, в итоге оно смещается в сторону 2 раза. Лечится снятием руки с клавиатуры и нажиманиями на пустое место.
Помимо вышеперечисленных есть 3D-игрушка о приключениях начинающего телепата. Написано на движке Unity3D. Там можно силой мысли поднимать камни и скалы, сгибать деревья, чинить мосты. К сожалению, корованов для ограбления я не нашел, но думаю они где-то есть. Зато есть несколько бодреньких старичков, которые научат вас всем премудростям телепатии. Фактически, это освоение тех же самых навыков, но только в игровой форме.
Прочее
Есть еще несколько интересных тулз, например, карта активности мозга, которая позволяет смотреть различные ритмы мозга и активности областей. Что-нибудь записать, ну и так далее. SDK для программистов, как SDK для программистов, принимаем сигнал, обрабатываем его, делаем что-то по результатам обработки. Есть примеры использования, техническая документация, так что тут никаких замечаний нет. Примеры написаны на C++ с использованием Qt, OpenGL, DirectX, на C# с разными примочками, на Python. Есть небольшое сообщество разработчиков. Пока сделано все под Windows, так что пользователям и программистам других операционных систем следует использовать эмуляторы.