Собственный интерфейс для Mind-Reflection
Собственный интерфейс для Mind-Reflection
На мой взгляд, в стандартном ПО для Mind-Reflection есть некоторые упущения:
1. Звуковой сигнал имеет низкую детализацию - по слуху нельзя отследить небольшие колебания сигнала
2. Диапазон визуального и аудио сигналов ограничен - при достижении верхней или нижней границы - дальнейший контроль невозможен
3. В некоторых случаях, достижение границы прерывает процесс слежения ("переход на следующий уровень").
4. Необходим ручной сброс ПО при снятии-одевании датчика.
Для преодоления указанных ограничений я написал собственный программный интерфейс для Mind-Reflection. Особенности:
- видео и аудио индикация уровня с произвольной точностью.
- неограниченный диапазон мониторинга уровня при высокой детализации (авто-сброс базового уровня).
- отображение как абсолютного так и относительного уровней.
- автоматическая установка базового уровня при снятии-одевании датчика.
- индикация связи и включения Mind-Reflection, контакта сенсоров с поверхностью кожи.
- возможность тонкой настройки фильтрации, усиления, громкости, тона и т.п.
- отображение всех количественных показателей.
- сохранение все настроек в файл.
Очень удобно расслабляться лежа, с закрытыми глазами - хорошо отслеживаються малейшие колебания уровня и при этом не надо ничего нажимать или переключать.
Скриншот:
После некоторой доработки могу выложить программу для скачивания, если она кого-нибудь заинтересует.
1. Звуковой сигнал имеет низкую детализацию - по слуху нельзя отследить небольшие колебания сигнала
2. Диапазон визуального и аудио сигналов ограничен - при достижении верхней или нижней границы - дальнейший контроль невозможен
3. В некоторых случаях, достижение границы прерывает процесс слежения ("переход на следующий уровень").
4. Необходим ручной сброс ПО при снятии-одевании датчика.
Для преодоления указанных ограничений я написал собственный программный интерфейс для Mind-Reflection. Особенности:
- видео и аудио индикация уровня с произвольной точностью.
- неограниченный диапазон мониторинга уровня при высокой детализации (авто-сброс базового уровня).
- отображение как абсолютного так и относительного уровней.
- автоматическая установка базового уровня при снятии-одевании датчика.
- индикация связи и включения Mind-Reflection, контакта сенсоров с поверхностью кожи.
- возможность тонкой настройки фильтрации, усиления, громкости, тона и т.п.
- отображение всех количественных показателей.
- сохранение все настроек в файл.
Очень удобно расслабляться лежа, с закрытыми глазами - хорошо отслеживаються малейшие колебания уровня и при этом не надо ничего нажимать или переключать.
Скриншот:
После некоторой доработки могу выложить программу для скачивания, если она кого-нибудь заинтересует.
А что, протокол девайса в комплект входит??? Или был получен эвристически?? Т.е. у меня на заднем плане другая мысль -- иметь "лог", боле-мене отражающий реал состояния (насчет КГР -- отражение сомнительно, но хоть что-то для начала), и, пока оно снимается -- не смотреть, ну, а дальше, получив некую статистику -- можно было бы подумать... А собирать логи, например за ночь.Джедай писал(а):Для преодоления указанных ограничений я написал собственный программный интерфейс для Mind-Reflection.
В общем, гл. проблема -- протокол. И, конечно, как оно конектится -- создает вирт. COM-порт или как??
-
- Автор сайта
- Сообщения: 10615
- Зарегистрирован: Вт май 30, 2006 19:17
- Откуда: Екатеринбург
- Контактная информация:
Абалдеть! Если б Вы знали, как я Вам завидую, что Вы так можете...Джедай писал(а):Самое главное забыл написать - таким образом можно хорошо "интегрировать" Mind-Reflection с майнд-машиной - частота АВС меняться адаптивно, понятно, не будет, но свое состояние по звуку можно контролировать отлично
Следующий шаг - управление майндмашиной через аудиостроб - амплитудная модуляция несущего сигнала и выход с аудиокарты на вход майндмашины. Можно взять маленький диапазон 8-15Гц, и в этом диапазоне сделать два режима прямой (чем глубже расслабляетесь, тем ниже частота) и обратный (...тем выше частота).
Андрей Патрушев
Учитывая http://www.mindmachine.ru/viewtopic.php?t=1089 - это мне надо завидовать тем, кто может использовать БОС по назначению
Учитывая http://www.mindmachine.ru/viewtopic.php?t=1089 - это мне надо завидовать тем, кто может использовать БОС по назначению
СПАСИБО!!Джедай писал(а):Принимая во внимание тот факт, что никаких драйверов при включении устройства не потребовалось(было найдено HID устройство), следует сделать вывод что оно считается джойстиком. Как показала практика - так оно и есть.
Осталось понять, насколько КГР-метр может быть полезен. А так -- как чуял, потому как весь обед про DirectInpit читал
Джедай
В общем, сподвигся я купить махарайку. И даже успел слегка помучить -- благо выходной. Поскольку DirectX -- не мой профиль и джойстика у мя никогда не было, пожалуйста , поправьте, если я что не так понял:
1. У-во смотрится как джойстик с 2-мя осями, Y - мертвая (всегда 0), X - собственно КГР (в состоянияз Выкл и Разрыв - max-1, при измерении -- некое отрицательное число), КЗ - min + 1.
2. Кнопки (начиная с нуля) -- 9 == Выкл, 10 == разрыв, 0 == BTN нажата.
А еще я не понял, можно ли общаться с девайсом, если окно теряет фокус ввода -- пока не получается, но я еще не все прочитал.
А еще -- не понятно, на сколько хватает батареек (в смысле не-внесения заметной систематической погрешности за длительное (8 часов) время измерений.
А еще -- у моей NP100 есть дистанционное управление. Попробую расхакать -- если получится -- можно (наверное) интересную вещь сделать... Одна беда -- времени нет вообще. Ни на писанину, ни на отработку. И вообще как до конца не понятно, что оно (Mind Reflection + NP100) может дать и будет ли это хорошо.
По-любому -- спасибо!
В общем, сподвигся я купить махарайку. И даже успел слегка помучить -- благо выходной. Поскольку DirectX -- не мой профиль и джойстика у мя никогда не было, пожалуйста , поправьте, если я что не так понял:
1. У-во смотрится как джойстик с 2-мя осями, Y - мертвая (всегда 0), X - собственно КГР (в состоянияз Выкл и Разрыв - max-1, при измерении -- некое отрицательное число), КЗ - min + 1.
2. Кнопки (начиная с нуля) -- 9 == Выкл, 10 == разрыв, 0 == BTN нажата.
А еще я не понял, можно ли общаться с девайсом, если окно теряет фокус ввода -- пока не получается, но я еще не все прочитал.
А еще -- не понятно, на сколько хватает батареек (в смысле не-внесения заметной систематической погрешности за длительное (8 часов) время измерений.
А еще -- у моей NP100 есть дистанционное управление. Попробую расхакать -- если получится -- можно (наверное) интересную вещь сделать... Одна беда -- времени нет вообще. Ни на писанину, ни на отработку. И вообще как до конца не понятно, что оно (Mind Reflection + NP100) может дать и будет ли это хорошо.
По-любому -- спасибо!
Добавил построение графиков и выбор вида генерируемого звука.
Программу можно скачать по следующей ссылке: http://ifolder.ru/8847676
Может быть запущена в средах Windows или Linux.
Для работы программы необходимо наличие Java версии 6 или выше.
JRE можно скачать тут: http://www.java.com/ru/download/index.jsp
Для старта программы запустите файл "monitor.jar".
Скриншот основного окна:
Окно графика:
Программу можно скачать по следующей ссылке: http://ifolder.ru/8847676
Может быть запущена в средах Windows или Linux.
Для работы программы необходимо наличие Java версии 6 или выше.
JRE можно скачать тут: http://www.java.com/ru/download/index.jsp
Для старта программы запустите файл "monitor.jar".
Скриншот основного окна:
Окно графика:
Последний раз редактировалось Джедай Сб ноя 01, 2008 8:14, всего редактировалось 2 раза.
Джим
1. У Mind-Reflection - 24 кнопки. Диапазон сигнала джойстика (-1;+1), хотя сам прибор полностью его не использует.
2. Есть еще 12 кнопка - активна если при запуске контакт датчиков не обнаружен.
По поводу DirectX ничего подсказать не могу - я его давно не использовал. По идее - потеря фокуса не должна мешать считыванию данных с джойстика.
На счет батареек - а зачем вообще необходим столь длительный по времени сравнительный мониторинг уровня? Насколько я понял, ничего репрезентативного он не представит, т.к. в больших временных промежутках КГР может изменяться под влияниме слишком большого количества факторов.
Если NP100 позволяет в реальном времени менять параметры стимуляции (главное - частоту), то в принципе можно изменять частоту стимуляции адаптивно, в зависимости от величины КГР. Но алгоритм требуеться для этого очень непростой (во всяком случае для действительно эффективной подстройки).
1. У Mind-Reflection - 24 кнопки. Диапазон сигнала джойстика (-1;+1), хотя сам прибор полностью его не использует.
2. Есть еще 12 кнопка - активна если при запуске контакт датчиков не обнаружен.
По поводу DirectX ничего подсказать не могу - я его давно не использовал. По идее - потеря фокуса не должна мешать считыванию данных с джойстика.
На счет батареек - а зачем вообще необходим столь длительный по времени сравнительный мониторинг уровня? Насколько я понял, ничего репрезентативного он не представит, т.к. в больших временных промежутках КГР может изменяться под влияниме слишком большого количества факторов.
Если NP100 позволяет в реальном времени менять параметры стимуляции (главное - частоту), то в принципе можно изменять частоту стимуляции адаптивно, в зависимости от величины КГР. Но алгоритм требуеться для этого очень непростой (во всяком случае для действительно эффективной подстройки).
Джедай
Спасибо!
ЗЫ: NP100 имеет (как оказалось ) почти документированный протокол управления, и он работает. Можно все! Но с реализацией БОС через BW я спешить не буду, пока меня интересуют в основном возможности КГР, как [объективного?] индикатора собственного [эмоционального?] состояния. Для начала -- с "разорванной" обратной связью.
Еще раз спасибо, успехов.
Спасибо!
Насчет диапазона -- он "на самом деле" -- целочисленный, но дело не в этом. Поиграв (немного) в "родные" игры и сравнив характер кривуль с цифирью, полученной "напрямую" у меня закралось подозрение (вероятно глюк, но во всем надо сомневаться, особенно если можно проверить), что Игры оперируют реальными килоомами или боле-мене линейно связанными с ними величинами или процентами от них, а "сырые" отсчеты ведут себя "неприятно-по-другому". Т.е. возможно, желателен нелинейный пересчет показаний HID'а в шкалу, проп. сопротивлению. Проверить это очень просто, но пока нет времени, возможно на днях, если что накопаю -- напишу.Джедай писал(а):1. У Mind-Reflection - 24 кнопки. Диапазон сигнала джойстика (-1;+1), хотя сам прибор полностью его не использует.
Исключительно, чтобы убедиться раз и навсегда, что он не нужен!Джедай писал(а):На счет батареек - а зачем вообще необходим столь длительный по времени сравнительный мониторинг уровня?
ЗЫ: NP100 имеет (как оказалось ) почти документированный протокол управления, и он работает. Можно все! Но с реализацией БОС через BW я спешить не буду, пока меня интересуют в основном возможности КГР, как [объективного?] индикатора собственного [эмоционального?] состояния. Для начала -- с "разорванной" обратной связью.
Еще раз спасибо, успехов.
Джим
Я предварительно проверил то, как игра интерпретируют сигнал - подключил переменное сопротивление и записал следующие данные:
1) величину сопротивления, измеренную омметром
2) уровень сигнала
3) положение горизонтального индикатора в игре (в пикселях по скриншоту)
4) положение центра объекта в игре (в пикселях по скриншоту)
В результате получилась следующая таблица:
Рассчитаные коэффициенты парной линейной корреляции (r) между каждым из показателей и величиной сопротивления свидетельствуют о полностью линейном характере зависимости между всеми величинами.
По методу наименьших квадратов находим следующие преобразования:
R = 2383.5 + 2380.5 * L
R = 4764 - 47.6 * P
где:
R - сопротивление в кОм,
L - уровень (-1, 1),
P - уровень в процентах (0, 100).
Т.к. между величиной сопротивления и степенью напряженности связь обратная, то я в своей программе перешел к инвертированному показателю, приведенному к 100% т.к. логичнее визуально уменьшать, а не увеличивать показатель для снижения степени напряженности.
Также, с помощью этого показателя можно оценить уровень сигнала относительно всего диапазона измерения.
Я предварительно проверил то, как игра интерпретируют сигнал - подключил переменное сопротивление и записал следующие данные:
1) величину сопротивления, измеренную омметром
2) уровень сигнала
3) положение горизонтального индикатора в игре (в пикселях по скриншоту)
4) положение центра объекта в игре (в пикселях по скриншоту)
В результате получилась следующая таблица:
Рассчитаные коэффициенты парной линейной корреляции (r) между каждым из показателей и величиной сопротивления свидетельствуют о полностью линейном характере зависимости между всеми величинами.
По методу наименьших квадратов находим следующие преобразования:
R = 2383.5 + 2380.5 * L
R = 4764 - 47.6 * P
где:
R - сопротивление в кОм,
L - уровень (-1, 1),
P - уровень в процентах (0, 100).
Т.к. между величиной сопротивления и степенью напряженности связь обратная, то я в своей программе перешел к инвертированному показателю, приведенному к 100% т.к. логичнее визуально уменьшать, а не увеличивать показатель для снижения степени напряженности.
Также, с помощью этого показателя можно оценить уровень сигнала относительно всего диапазона измерения.
Сорри, если немного не в тему....
Сегодня провел небольшой эксперимент по теме (самого устройства, которое здесь обсуждается, у меня нет).
1. Сделал два электрода: пятикопеечная монетка с припаянным проводком.
2. Спаял источник тока (ток установил равным около 22 мкА).
Все это собрал в простенькую схемку, в которой тело выступает нагрузкой для источника тока. Подключил электроды к большим пальцам правой и левой руки и наблюдал падение напряжения (с помощью мультиметра).
Результаты: в процессе расслабления падение напряжения между электродами растет, т.е. сопротивление увеличивается. Стоит хотябы один раз глубоко вдохнуть, как сопротивление резко падает.
Полученные данные несколько не согласуются с приведенной выше таблицей (или я не все в ней понял) ).
Сегодня провел небольшой эксперимент по теме (самого устройства, которое здесь обсуждается, у меня нет).
1. Сделал два электрода: пятикопеечная монетка с припаянным проводком.
2. Спаял источник тока (ток установил равным около 22 мкА).
Все это собрал в простенькую схемку, в которой тело выступает нагрузкой для источника тока. Подключил электроды к большим пальцам правой и левой руки и наблюдал падение напряжения (с помощью мультиметра).
Результаты: в процессе расслабления падение напряжения между электродами растет, т.е. сопротивление увеличивается. Стоит хотябы один раз глубоко вдохнуть, как сопротивление резко падает.
Полученные данные несколько не согласуются с приведенной выше таблицей (или я не все в ней понял) ).
Да, отличная работа. И прога -- по меньшей мере, неплохое дополнение к Играм. Интересно -- опубликуют на сайте?? -- вроде никаких нарушений типовых лицензионных соглашений нет -- ничего не разбиралось и не дизассемблировалось.Джедай писал(а):Рассчитаные коэффициенты парной линейной корреляции (r) между каждым из показателей и величиной сопротивления свидетельствуют о полностью линейном характере зависимости между всеми величинами.
От себя могу только добавить, что согл. инф. DirectX полный "родной" целочисленный диапазон значений оси X - [-32767,+32766], т.е. 16-бит с откушенной (вероятно, самими DirectX -- там есть некоторая путаница с границами). Еще из вашей проги (точнее, прилагаемой DLL) следует, что дайректы для джойстика не обязательны -- есть ф-и в обычном мультимедиа-API. Вероятно, они не будут терять железяку.
Удачи!
Джедай
Как я и написал, видимо, я просто не правильно понял таблицу .
По поводу экспериментов над собой... как и, наверное, все на этом форуме я люблю по-экспериментировать над собой (хотя давненько этим и не занимался).
В целом, мне близка тематика форума и я с удовольствием почитал посты.
Сорри, если мой пост по поводу эксперимента был не в тему.
Как я и написал, видимо, я просто не правильно понял таблицу .
По поводу экспериментов над собой... как и, наверное, все на этом форуме я люблю по-экспериментировать над собой (хотя давненько этим и не занимался).
В целом, мне близка тематика форума и я с удовольствием почитал посты.
Сорри, если мой пост по поводу эксперимента был не в тему.
-
- Сообщения: 598
- Зарегистрирован: Чт июн 21, 2007 12:34
- Контактная информация:
ОЙ !!!Джедай писал(а):После некоторой доработки могу выложить программу для скачивания, если она кого-нибудь заинтересует.
Разместите на сайте кнопку БЛАГОДАРНОСТЬ - я ее нажму 1000000 раз.
Вот это действительно спасибо.
Я так мечтал о такой програмке.
Ну просто супер.
Миллион благодарностей !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Экко
- Сообщения: 669
- Зарегистрирован: Чт сен 17, 2009 12:28
- Откуда: Владивосток
- Контактная информация:
Я вот что подумал: если аппаратно Mind reflection представляет собой джойстик (так сказать), что если взять и правда джойстик, переделать его, подключившись к его переменным резисторам осей (связаны с рычагами). Сделать некоторое преобразование и вывести на пальцы. А программу вообще просто написать.
-
- Сообщения: 1
- Зарегистрирован: Вс июн 19, 2011 13:04
Джедай
Приобрел тут майнд-игры и с предвкушением уже хотел было поюзать вашу программу, но не тут-то было. При попытке запуска пишет: Could not find the main class.
При запуске через другой экзешник джавы просто появляется консоль на какое-то время и затем исчезает. Джаву новую поставил специально. Как бы так сделать, чтобы все заработало? Подскажи плиз. А то программа чудесная, только пользоваться ей не получается..
Приобрел тут майнд-игры и с предвкушением уже хотел было поюзать вашу программу, но не тут-то было. При попытке запуска пишет: Could not find the main class.
При запуске через другой экзешник джавы просто появляется консоль на какое-то время и затем исчезает. Джаву новую поставил специально. Как бы так сделать, чтобы все заработало? Подскажи плиз. А то программа чудесная, только пользоваться ей не получается..
- Ослик ИА-ИА
- Сообщения: 32
- Зарегистрирован: Вс июн 27, 2010 18:05
- Откуда: Пенза
Re: Собственный интерфейс для Mind-Reflection
Спасибо! Классная фенечка!
Re: Собственный интерфейс для Mind-Reflection
Не подкините еще разок ссылочку для скачки?
- Ослик ИА-ИА
- Сообщения: 32
- Зарегистрирован: Вс июн 27, 2010 18:05
- Откуда: Пенза
Re: Собственный интерфейс для Mind-Reflection
Вышел VIRIM LAB LIGHT
http://www.verim.de/verim-lab/
Бесплатен для пользователей Mind Reflection. А другим он и не нужен.
Скачать можно там-же, http://www.verim.de/verim-lab/verimlab_setup.exe
http://www.verim.de/verim-lab/
Бесплатен для пользователей Mind Reflection. А другим он и не нужен.
Скачать можно там-же, http://www.verim.de/verim-lab/verimlab_setup.exe
- Крапива
- Сообщения: 17
- Зарегистрирован: Сб сен 06, 2008 14:46
- Откуда: Хабаровск
- Контактная информация:
Re: Собственный интерфейс для Mind-Reflection
У кого-нибудь есть программы для Verim Mind Refltction? Дайте во временное пользование ))))))))