2013年6月15日土曜日

necomimiを試してみたけど・・・

 本日のがらくたは、necomimi です。といっても、別に40過ぎたおっさんがネコミミを着けて街を歩きたいわけではありません。このnecomimiは装着者の脳波を検知して、ネコミミの状態が変わるというアイテムです。じゃ、どうやって脳波を検出してんのさ?ってことで、Amazonでポチって、届いたところで、


 早速、開梱して、



 まずは、分解・・・(って、スイッチも入れないのかよ)です。


 電池を入れるケース部の脇に小型の基板が入っており、電池からの電源とネコミミサーボの駆動系と思われる配線と耳たぶに取り付けるアースのコードと額に接触させる電極のコードが出ています。


 ボックスから基板を取り外して裏返してみると、耳たぶと額の電極が配線されたモジュール基板がもう一枚ありました。


 necomimiに関する情報はあまりなかったんですが、同じようなおもちゃでMindFlexというのがあり、こちらの情報を調べたところ、同じモジュールが使われており、このモジュールがnueroSky社のThinkGearAMであることがわかりました。
 カタログやSDK等も公開されているようなので、早速いじって見ることにします。このモジュールの端っこによく見ると4つの端子があり、そのうち3つにそれぞれT・R・Vと印刷されています。ってことはそれぞれ、送信、受信、電源、残りがGNDということでしょう。そこで、この送信(T)端子とGND(無印)端子にケーブルをはんだづけして、信号を引き出します。


 で、もって、Arduinoへ接続。おそらく、3.3Vか5Vの出力(送信)なので、直接続でOKでしょう。


 実は先のMindFlexで調べていた時にArduinoのMindFlex用ライブラリというのがあったので、これを使わせてもらうことにしました。
 ライブラリのオブジェクトを宣言してデータ取得関数を呼ぶだけで簡単にデータが取得出来ます。と、言いたいところですが反応しません。データがとれてないのかと思って、ロジアナで信号出力を覗いてみました。


 ロジアナで信号を覗いたところ、通信速度が57600bpsで出力されていました。MindFlexのライブラリのソースを見たところ通信速度が9600bpsとなっていたため、この部分だけを書きなおしたところ、このライブラリで情報を取得することができるようになりました。取得できる情報は、品質(信号強度か?)、通知情報、瞑想状態、Delta波、Theta波、Low Alpha波、High Alpha波、Low Beta波、High Beta波、Low Gamma波、Mid Gamma波となっています。

 ただ、情報を取得することはできるようになったんですが、取得値をどのように解釈・解析すればいいかがわからず、その先の結果が出せていません。ノイズのような信号で、一体どうやって、精神状態が評価できるのかがわかりません。necomimiではどのようなアルゴリズムで判定を行なっているんだろう?


 もしかして、脳波でロボットのコントロールの一部ができないか?とも思っていたんですが、まずは、脳波について勉強するところからやらないとだめと・・・。

 ま、今日のところは何か数値を取り出せたというところまでとしておきます。