作品一覧へ戻る

04 / PROJECT DETAIL

Acrophobia Judge System

Arduinoで取得する心拍間隔とMindWaveの脳波指標を統合し、研究当時の恐怖状態判定を再現可能な形へ整理したリアルタイム研究プロトタイプです。

技術スタック

  • Python 3.10
  • Python 2 Bridge
  • Arduino
  • MindWave Mobile 2
  • EEG
  • HRV
  • JSON Lines

01

解きたかったこと

VRによる高所体験を一律に進めるのではなく、その時点の恐怖状態を生体情報から捉え、体験の強さを個人に合わせて調整するための判定部分を試作しました。現在の公開実装は、実機がなくても処理全体を追える形へ整理しています。

02

構成

  • Arduinoの心拍センサーからR-R間隔をPython 3アプリへ入力
  • Python 2向けThinkGearドライバーでMindWave Mobile 2を読み、localhost TCPでPython 3へ橋渡し
  • 直近のRRIからSDNNとrMSSDを計算し、脳波のmeditation値と合わせて恐怖状態候補を判定
  • 結果はconsole、graph、明示指定時だけ匿名セッションID付きCSVへ出力

03

設計と工夫

  • TCPの分割・結合に左右されないよう、EEGサンプルを1行1JSONのJSON Linesとして送信
  • センサー閾値、RRI範囲、window size、接続先をCLIまたは環境変数から変更可能にした
  • 実機アダプターと判定エンジンを分離し、外部ライブラリ不要のシミュレーターで処理全体を再現
  • 測定データは既定で保存せず、出力先を指定した場合だけ氏名なしで保存

04

検証

  • HRV計算、判定、protocol、storage、engine、CLIをPython unittestで個別に検証
  • シミュレーターで実機なしのend-to-end処理を確認可能
  • 異常RRI、TCP framing、匿名セッション保存など、装置接続以外の境界を自動テストへ分離

05

制約と次の一手

  • 判定は研究時のヒューリスティック再現であり、医学的診断や安全判断には使用できない
  • MindWaveの既存ThinkGearドライバーにPython 2依存が残る
  • 小規模な予備実験では体動由来と考えられる誤検出があり、安定したセンシングと時系列予測が今後の課題
作品一覧へ戻る