UX以前のUX(私的UXデザイン史)9 筋電インタフェース
スマートウォッチなどのウェアラブルデバイスや生体認証など、UI(ユーザー・インタフェース)の進化の一つの方向性は、機器とユーザーとの距離を近づけていくことにあるように思えます。
究極的には、心拍や脳波など、人間の体から発せられる生体信号を直接機器と接続するUIがイメージされていると思われます。
実は私自身、学生時代にそうした生体信号の一種である筋電インタフェースを作ってみたことがあります。
1. 人間工学研究室での活動
本シリーズ7回目「人間工学」(https://note.com/kitohitodesign/n/n812daa92124c)でご紹介した通り、私は大学4年から修士までの3年間、工業デザイン学科の中の人間工学研究室に所属しました。当時この研究室では、人間工学の3つのアプローチである解剖学的アプローチ、生理学的アプローチ、心理学的アプローチのうち、生理学的アプローチを主なテーマとしていました。
生理学的アプローチで研究するためには、様々な生体信号や生理データを測定する必要があります。例えば、当時の研究室では、筋電位、脳波、心拍数、血圧、血流量、呼吸数、発汗量、皮膚温、直腸温、皮膚電気抵抗、代謝量(呼気内の酸素量)などを測定する機材がそろっていました。
これらを指標として、様々な環境における人間の特性を調べたり、製品の適切な仕様を探ったりしていました。
2. 筋電位の基礎
筋電インタフェースの話の前に、筋電位という生体信号についてある程度理解しておいていただく必要があります。
例えば肘を曲げてグッと力を入れると力こぶが固く盛り上がります。これは上腕二頭筋という筋肉(ちなみに専門的には筋(きん)と言います)が収縮した状態です。このように筋が収縮したとき、筋には活動電位が生じます。これが筋電位です。体に取り付けた電極でこの電位を取り出して波形として描いたものが筋電図です。
筋電図の波形は、筋が収縮する(力を入れる)ほど振幅が大きくなり、弛緩した(力を抜いた)状態では小さくなります。体を動かしたときや、動かさなくても無理な姿勢を継続的に維持しているようなときは力が入っているので筋電図の振幅は大きい状態となります。
ある製品を使っているときの筋電位を測定して振幅が大きければ、それは筋負担が大きいということになり、使い続けると筋疲労につながります。すなわち身体的な負担が大きい製品であると判断できるのです。
筋負担のレベルは筋電図の振幅が一つの指標となりますが、実際の波形は細かい波形がグチャグチャと描かれるので、例えばある10秒間の筋負担レベルを1つの数値で示すのは困難です。より正確な指標として、波形内部の面積を使う方法があります。高校の数学で微分・積分を学んだ人ならわかると思いますが、このような面積を得るには積分の考え方が使えます。
当時の生体電位測定環境は、ようやく部分的にデジタル化し始めた段階でした。
身体に取り付けた電極から信号を拾い、それをアナログ回路で増幅する生体アンプを通して、PC-98またはその互換機パソコンの増設ポートに挿したA/D変換ボード(アナログ/デジタル変換ボード)でデジタル信号化してパソコンに取り込んでいました。
そしてDOS上で動作する波形編集ソフトで表示したり処理を加えたり、場合によっては別のソフトや自作ブログラムなども使って様々な処理を加えていました。
その波形処理ソフトで波形の面積の計算ができたか覚えていませんが、できたとしても取り込みが完了したデータに対してのみで、リアルタイムでは取り込んだ素の状態の波形を表示するところまでだったと思います。
3. デザインすることと測定すること
私が人間工学研究室を選んだのは、製品をデザインする上で、人間の特性に合わせた仕様にすることが重要だと考えたからです。ですから自分の中では、最終的にはいわゆるデザインワークをやりたいという気持ちがありました。
ところが、人間工学研究室では造形を求められることはなく、活動の主眼は測定して調べることにあるように思えました。もちろん分析結果から製品の仕様についての提案をする場合もありましたが、クッションの固さやエアコンの温度設定など、私の中ではデザイナーの仕事の範疇だとは思えない場合も多くありました。
人間工学という学問自体は大変面白く意義深いものだと思いますが、自分がデザイナーとして学ぶべき人間工学はこれではない、と私は考えるようになっていきました。では、生理学的アプローチに重きを置いている人間工学研究室に身を置いているからこそできるデザインとはどのようなものなのか?というのが、次なる自分への問いでした。
人間工学研究室にあって他の研究室にないものといえば、様々な測定機器です。これらを測定のために使うのではなく、デザインのためのツールやパーツとして利用することができれば、他の研究室では決してできないものが作れるだろう、というのが最初の着想でした。
そして、A/D変換ボードでパソコンに取り込んだ生体信号を入力デバイスとしてパソコン上で何らかのコントロールをするという生体信号インタフェースのアイデアを思いつきました。
当時から筋電義手などの存在は知っていたので、このアイデアは決して私のオリジナルではありませんが、測定機器を測定機器として与えられて研究を行なっていると、意外とそれ以外の使い道を考えたりしないものなので、自分としてはなかなかのブレイクスルーでした。自分の中にたまっていたうっぷんが、こんなひねくれたアイデアを思いつかせたのでしょう。
測定という厳密できっちりした世界観に対するアンチテーゼという意識もあったので、筋電義手のような実用的なものよりは、気軽に楽しめるゲームのようなものを作ってみたいと思いました。
4. クリアすべき課題
まず、生体信号インタフェースを試すのであれば、使用するのは筋電位と決めていました。
筋電位は脳波などと比べて電位が大きいため検出しやすく、ノイズの混入などをあまり気にしなくて済みます。また腕の筋などは体温や心拍や発汗などと違って、もともと本人の意思で(随意的に)力加減をコントロールできるので、入力デバイスに向いています。
でも初めは、筋電インタフェースの実現は難しいと思っていました。というのは、私がイメージしているようなアイデアを実現するためにはいくつか課題があったのです。
前述した通り、筋電位というのは激しく変化する波形なので、例えばこれをそのままマウスカーソルの座標に反映させてしまうと、カーソルの位置が常に激しく移動することになってしまいます。そうならないためには、もっと滑らかな波形に変換する必要があります。
当時、研究室で使っていた生体アンプにはいくつかの種類がありました。各アンプはユニットになっていて、ラックに差し込んで使います。場合によっては、あるユニットで処理した信号をさらに別のユニットに入力するなど、様々なつなぎ方で目的にあった信号を出力できる仕組みになっていました。
研究室に入ったばかりのころは、先生や先輩に言われるままに機器を使うのが精一杯ですが、3年も研究室に入り浸っていると、やがて自分で勝手に研究室内を漁り始めるようになり、いろいろと設定をいじってみたり、使ったことがない機材が何なのか調べ始めるようになります。
そして、研究室の生体アンプユニットの一つに「積分アンプ」なるものがあることを発見しました。どうやらこれは、入力信号の波形を積分した結果を出力してくれるもののようです。
実際、(細かい説明は端折りますが)筋電位をこの積分アンプに通すと、力を入れたときは滑らかに数値が上昇し、力を抜くと滑らかに下がるという波形となりました。
アナログの回路でどうやればそのようなことができるのか私には想像もつきませんが、ともかく積分アンプを使えば、筋電インタフェースに適した波形が得られることがわかりました。
積分アンプを介した波形をA/D変換ボードからパソコンに取り込むことはできますが、これを波形編集ソフトで表示しただけでは入力デバイスにはなりません。例えば取り込まれた波形に応じて画面上のマウスカーソルが動くように、リアルタイムに処理するような技術がなければ筋電インタフェースは実現しません。
A/D変換ボードのマニュアルをよく読むと、ボードからPCに連続的に吐き出される信号をリアルタイムで利用するBASICプログラムの書き方が解説されていることを発見しました。残念ながら、私自身はマニュアルに書かれている説明をまったく理解できませんでしたが、BASICに詳しい人に頼めば筋電インタフェースを実際に作ることができそうです。
結局、筋電インタフェースを実現するために必要な機器はすべて研究室にそろっていることがわかりました。
6. バイオフィードバック
ただ単に筋電インタフェースを使ったゲームを作っただけでは、修論のテーマとしては弱いという自覚があり、おそらく研究室の先生方からの賛同も得られないだろうと考えたので、ゲーム製作は自分の中の裏テーマということにして、表向きのテーマは「バイオフィードバック」としました。
バイオフィードバックとは、人間の体の状態を計測機器などで見える化し本人に見せることによって、自身の体のコントロールを容易にしようというものです。
例えば、知らず知らずのうちに肩に力が入り、それが原因で頭痛を引き起こしてしまう人に、ただ「肩の力を抜くようにしてください」と言ってもなかなかうまくできません。なぜなら、本人は肩に力が入っていることを自覚していないからです。
でも、自分の肩の筋肉の筋電図を見せてあげて「なるべく振幅の大きな激しい波が出ないようにしてください」というと、自分の肩の状態を自覚しやすくなり、何もない状態よりも上手に肩の力を抜けるようになるというわけです。
かつて、このような研究が流行った時期があり、参考になる先行研究論文や書籍もいくつか入手することができました。
私の場合、繰り返し練習することで筋電位はどのくらい細かくコントロールできるようになるかを実験的に調べることをテーマとしました。
ペンレコーダーの記録紙にあらかじめsinカーブを描いておき、積分アンプを経由した筋電波形でこのsinカーブをなるべく正確になぞるというタスクを与え、これを何日か間隔を空けて数回繰り返します。すると、筋電波形(つまり力の入れ方)のコントロールが上達するにつれsinカーブと実際の筋電波形とのズレが少なくなっていくことが観察されます。
これを様々な条件で行なって、そこから見える傾向を論文にまとめました。今振り返れば実につたない論文ですが、無事受け取ってもらい、修士号をいただくことができました。
7. 潜水艦ゲーム
論文は完成しましたが、私にはまだ裏テーマが残っていました。BASICでゲームを作るといっても、私はBASICがほとんど書けません。後輩の友人にプログラミングが得意な人がいるというので、昼飯をおごるという約束で協力してもらいました。
プログラミングをお願いできる時間も限られているので、ごくシンプルなゲームということで話し合った結果、筋肉の力の入れ具合で潜水艦の深度をコントロールし、次々と飛んでくる魚雷を避けるというゲームになりました。感覚的に、力を入れた時に潜水艦が沈む方が自然だと判断し、力を入れると深い深度に沈み、力を抜くと浮力で自然に浮き上がるという動きにしました。
実物の映像などは残っておらず、プログラムも実行環境もないので実物をご覧いただくことはできませんが、再現動画を作ったので雰囲気は伝わると思います(効果音は実物には入っていなかったと思います)。
潜水艦ゲームの再現動画
私は修士の大学院生だったにもかかわらず、学部の卒業制作展にこのゲームを出品しました。研究室の生体アンプやパソコンを幕張メッセの卒展会場に持ち込んで、見に来たお客さんに筋電潜水艦ゲームを体験してもらいました。結構ウケていたと思います。
8. 今後の生体インタフェース
最近、頭の中で思い浮かべるだけでその文字が入力できる、目的地に移動できる、といった技術がしばしば発表されています。当時からこのような期待はありましたが、脳波はかなり扱いが難しかったので、私は脳波インタフェースは実現しないと思っていましたが、確実に技術は進歩しているようです。
ただ、どんなに生体インタフェース技術が進歩しても、そこまでする必然性がない限り、人間と機械を直接つなぐ意義はありません。そう考えると、病気や心身の障害の克服など、他に方法がないケースから導入が進んでいくのではないかと思います。
また、生体信号を取り出すためのつなぎ方には、非接触(サーモグラフィや顔認識など)、表面接触(心拍、筋電位など)、内部接触(チップの埋め込み、神経との直接接続など外科的処置が必要なもの)などが考えられます。
ユーザーへのリスクや煩わしさを考えると、非接触→表面接触→内部接触の順に実用的と言えます。したがって、センサー技術は、内部接触よりは表面接触、表面接触よりは非接触で生体信号を取り出すべく進歩していくと思われます。
学生時代に筋電インタフェースを作ってみた経験のある立場としては、今後の生体インタフェースの進歩は楽しみでもありますが、一歩間違えるとマッド・サイエンティストの世界になってしまう危険性もあるので、その点も含めて見守りたいと思います。