筋電位計測システムの開発とその応用
５年Ａ組

西田惇

指導教諭

末谷健志

１．要約
近年，コンピュータの普及により様々な処理が行えるようになった．しかし現在のコンピュータインターフェイスは，コンピュータに慣れない人にとっては決して扱いやすいデバイスではない．そこで私は人間の体の状態，特に腕の動作を操作対象に反映させれば直感的に電子デバイスやソフトウェアを制御できるのではないかと考えた．これを実現するために，筋肉の制御信号を取得・解析するシステムを低コストで構築し，かつ安定的に動作させることに成功した．実際に，このシステムを用いてモーターカーやゲームを筋電位つまり腕の動作だけで操作したところ，操作方法を学ぶ時間を必要とせず直感的に対象を操作することができた．
キーワード

インターフェイス，筋電位（EMG），信号増幅，ノイズフィルタ，FFT(周波数解析)

２．研究背景現在，コンピュータやロボットなど，様々(1) 仮説<研究Ⅰ>「筋電位計測システムの開発」

な家電製品や電気機器が発達し続け，高度人間の筋電位をスイッチングに用いる化している．しかし，それに伴って，操作ことのできるレベルまで電気的に増幅（10方法が複雑化し，便利だが使いにくい状態万倍）する電子回路を開発できる．にある例がたくさんある．そこで私は，人間の腕の動作という側面から，直感的で分<研究Ⅱ>「単純閾値判定を利用した応用デかりやすいインターフェイスの開発に取りバイスの開発」

組んだ．

取得した筋電位のスイッチングデータを新しいインターフェイスとして利用し，３．目的
非常に微弱な筋電位を増幅，不要なノイ様々なソフトウェアやハードウェアのコントローラとして応用できる．

ズを除去する電子回路を開発する．また，増幅された信号をコンピュータで認識し，<研究Ⅲ>「フーリエ解析を利用した腕動作新しいコントローラとして使えるようにす識別アルゴリズムの開発」

る．

取得した筋電位波形を周波数解析することにより，腕の動作を詳細に認識すること

４．研究内容ができる．

<研究Ⅳ>「腕動作自動識別ソフトウェアの開発」

腕動作識別アルゴリズムを採用した腕動作自動識別ソフトウェアの開発

研究Ⅲにおいて開発したアルゴリズムを用いて腕の状態を詳細にかつリアルタイム(3)研究結果に識別できるソフトウェアを開発できる．

<研究Ⅰ>「筋電位計測回路の開発」
そもそも筋電位とは，人体に流れる生体(2) 研究方法

電位のことである．私たちが筋肉を動かす<研究Ⅰ>「筋電位計測システムの開発」

直前に，脳は神経を介して筋肉に電気的な差動増幅回路および，ローパス，ハイパ信号を送る．この電気的な信号が筋電位スなどの各種フィルタなどハードウェアレ(EMG:electromyoram) と呼ばれ，皮膚表ベルの研究面に 10μV～100μV と微弱ながら漏れている．これをコンピュータで認識できるよう<研究Ⅱ>「単純閾値判定を利用した応用デにするには，増幅器と不要なノイズを除去バイスの開発」

するフィルタ回路が必要となる．構築した① 筋電位を利用したモーターカーの制御システムは図１のようになった．

方法の検討と開発② 筋電位を利用したゲームソフトの制御方法の検討と開発③ 筋電位を利用した簡易筋電義手の制御方法の検討と開発<研究Ⅲ>「フーリエ解析を利用した腕動作識別アルゴリズムの開発」① 取得した筋電位波形の最大周波数から腕動作を識別するアルゴリズムの検討と開発② 取得した筋電位波形のエネルギー分布の中央値から腕動作を識別するアルゴリズムの検討と開発③ 取得した筋電位波形のエネルギー分布の中央値を二次元にグラフにプロットし腕動作を識別するアルゴリズムの検討と開発<研究Ⅳ>「腕動作自動識別ソフトェアの開発」

図１

開発したシステムの全体図

■フィルタ回路の設計■電極の設計まず筋電位を取得するための電極を開発

増幅回路により増幅された信号には，筋した．当初は医療用のディスポ電極を使用

電位信号の他に，取り除けなかった商用電していたが，入手がやや困難であることか源からのノイズや，筋電位以外のその他のら使用を諦めた．まず製作したのが導電性ノイズが多く含まれている．そこで，不要の高い銅板を用いた電極である．しかしすなノイズをカットするためにフィルタを製ぐに酸化してしまい扱いにくいことから，作した．製作したフィルタは，特定の帯域スズを主成分とする半田を溶解し，電極にのみをカットできる「ノッチフィルタ」と用いた(図２)．

特定の帯域のみを通す「バンドパスフィルタ」である．

図２

製作した電極■増幅回路の設計
今回，私は「差動増幅回路」と呼ばれる図４製作したアンプボード回路を採用した(図３)．これは，２極間の電位差(Vin1-Vin2)を増幅するため，図３の製作したノッチフィルタ(図５)とバンドように，外来ノイズが混入しても減算されパスフィルタ(図６)の周波数特性図を以下る．これにより，商用電源(60Hz)や蛍光灯に示す．

から混入するノイズを打ち消すことができ，筋電位信号のみを抽出できる．製作した増幅器は図４のようになった．

図５

図３

差動増幅回路の仕組み

ノッチフィルタ周波数特性

アナログ−デジタル変換を行うことができないため，筋電位信号の絶対値を求める必要がある(図８)．

←入力信号←絶対値信号

図６

バンドパスフィルタの周波数特性

図７

設計した増幅回路で増幅し

図８

Sin 波に対する絶対値を出力している様子

図９製作した MPU ボードた筋電位信号の様子
パンドパスフィルタは，ハイパスフィルタとローパスフィルタで構成される．製作<研究Ⅱ>「単純閾値判定を利用した応用デバイスの開発」

したフィルタ回路の特性について説明する．

RS232 で PC に送られた筋電位信号から，まず，周囲の電源コードや機器など商用電腕の状態をある程度認識できないかと考え，源に由来する交流ノイズ 60Hz(西日本)をVisualStudio2005 を用いて単純閾値判定ノッチフィルタで除去し，筋電位の周波数ソフトを０から開発した(図 10)． フォー

帯域(10Hz～１kHz)以外の信号を除する

ムには，マイクロコンピュータとの通信のためにバンドパスフィルタに通す．これら設定を行うためのボタン，閾値判定に関すにより，筋電位以外の不要なノイズをほぼる設定をおこなうボタン，筋電位信号が閾カットすることが可能となった（図７）．

値を超えたかを表示するアイコンとグラフ，その他のソフトウェアを呼び出すためのボ■絶対値回路の設計
フィルタを通過した信号は，振幅±4．５V の電位で構成されている．そのままでは正電源で動作するマイクロコンピュータでタンがある．

これにより，正確にかつ安定的に筋電位の信号をスイッチング動作に応用することが可能となった(図 12)．
単純閾値判定ソフトによって得た筋電位のスイッチングデータを他の処理でも使えるようにするため，フォーム内に他のソフトを呼び出すボタンを配置した．これにより，筋電位のスイッチングデータをそのまま使用して他のソフト及びハードウェアを制御できる．
図 10 開発したソフト■単純閾値判定アルゴリズムの考案
はじめに私は，「加算判定法」というものを開発した(式１)．原理は非常に単純で，取得した筋電位信号 50 サンプルの総和がある一定の定数を超えれば，論理値１(=ON)として扱うものである．しかしこのアルゴリズムでは，少しでも腕に力が入る

図 12 図 10 で表示されている入力信と定数を超えてしまい，ハードウェアやソ号に自乗平均法を適用した様子

フトウェアの制御には不向きだった．
nSum   xi (n  50)

(式１)

i 1

そこで次に，「自乗平均判定法」というものを開発した．これは，取得した筋電位信号 20 サンプルそれぞれを２乗し，その平均の平方根を求め，その値が定数より大きければ論理値１として扱うものである．このアルゴリズムにより，ある程度力を入れる<研究Ⅱ>「単純閾値判定を利用した応用デバイスの開発」
今回開発した単純閾値判定ソフトは，取得した筋電位信号を元に左右の腕のスイッチング情報を生成することができる．そこ
で，このスイッチング情報を用いてハードウェアの制御やソフトウェアの操作を行えないかと考えた．

ことによって，スイッチング動作を行うことができるようになった(図 11)．

①筋電位を利用したモーターカーの制御方法の検討と開発
解析ソフトによって得られたスイッチング情報(例：左腕 OFF，右腕 ON)を元にモーターカーを制御する信号をモーターカー

図 11 自乗平均法適用前と後の波形制御ソフトで生成する．モーターカーのシステムの全体図を図 15 に示す．モータ制御
信号はコンピュータに接続された無線装置を介してモーターカーに搭載された無線装置に送信され，その信号に応じてマイクロコンピュータがモータードライバーを介してモータを制御する(図 13)．図 14 は動作の様子を示す．
製作したモータ制御回路の仕様を以下に示

図 14 モーターカーの動作の様子

図 13 製作したモータ制御ボード
す．

マイコンPIC16F873A

通信方式

RS232 ， 38.4kbps

プログラム

自作アセンブリ言語

モータ最大駆動電力

60W

制御回路方式FET-H ブリッジ回路

電源電圧

PIC9V ， Motor6V

動作パターン

前後進，左右旋回

モーターカーの動作表を以下に示す．
左腕右腕動作のパターン

OFFOFF

停止

OFFON

直進ONOFF

旋回

ONON

停止

図 15 モーターカーシステムの全体図

②筋電位を利用したゲームソフトの制御方③筋電位を利用した簡易義手の制御方法の法の検討と開発検討と開発

図 18 サーボモータ制御信号生成ソフト

単純閾値判定ソフトで平滑化アルゴリズムとして採用した「自乗平均法」で求めた
図 16 ゲームのプレイ画面

筋電位波形の振幅の値をサーボモータの回転角に対応させることによって簡単な義手

単純閾値判定ソフトによって得られたスを制御することができる(図 19)．生成されイッチング情報(例：左腕 OFF，右腕 ON)

たサーボモータ制御信号は，シリアルケーを元にバーを左右に動かすことによってゲブルを介してサーボコントローラーに送信

ームをプレイすることができる(図 16，図され，サーボモータを制御するパルス信号17)．に変換される．

バーの動作表を以下に示す．
サーボモータの動作表を以下に示す．

左腕

右腕

バーの動作

OFF

OFF

静止

右腕

サーボモータの動作

OFF

ON

右移動

力をいれる

振幅に対応して開く

ON

OFF

左移動

力をぬく

閉じる状態に戻る

ONON

停止

図 19 簡易義手の制御風景
図 17 ゲームのプレイ風景

<研究Ⅲ>「フーリエ解析を利用した腕動作識別アルゴリズムの開発

方法：腕に電極１つを取り付け，周波数分布から周波数の最大値を算出，各腕動作を識別する．

これまでの研究により，筋電位波形を PCで読み取り，力を入れているか否かの２値

結果：以下に開状態と掌握状態の周波数分布を示す．の情報を用いてデバイスをコントロールすることができた．しかしこのシステムでは，片腕から得られる情報が極端に少なく，より複雑な動きができる義手が製作できないなど，応用デバイスの範囲に限界がある．
そこで，筋電位波形の単なる振幅ではなく，
図 21 開状態の周波数分布波形の形から腕の複数の動作を認識する必要があった．そのためには，フーリエ解析(FFT)を行う必要があった．ここでは，脱力，掌屈(手首を下に曲げた状態)，掌握(グー)，開(パー)，この４つの動作の認識を試みた．
取得した筋電位波形のフーリエ解析を行

図 22 掌握状態の周波数分布

うために，フーリエ解析結果を書き出す機
能のある「RH1FFT」と呼ばれるソフトウ

横軸周波数(Hz)，縦軸振幅(dB)

ェアを用いた(図 20)．
■考察
上記のグラフより，振幅に差はあるものの，ある特定の周波数が大きな値を示すことはなかった．これは，腕を動作させる際，複数の筋繊維が同時にかつ複雑に使用され，様々な周波数が混入するためであると考えられる．

図 20 フーリエ解析を行うソフトウェア■まとめ
周波数分布の最大値では腕の動作識別は①取得した筋電位波形の最大周波数から腕不可能である．

動作を識別するアルゴリズムの検討と開発②取得した筋電位波形のエネルギー分布
はじめに私は，各腕の動作では周波数分布の最大値が異なると単純に考えた．

(周波数×振幅)から腕動作を識別するアルゴリズムの検討と開発

次に，筋電位波形のエネルギー分布(Af-fグラフ)から腕の動作を識別するアルゴリ
ズムの開発に取り組んだ．っていることがわかる．そこで，これらの■結果複数の動作の中央値が混在し，腕の動作は識別が不可能だった．

方法：腕に電極一つを取り付け，筋電位波形のエネルギー分布から各腕動作を識別■まとめ
電極一つから得られる筋電位波形の中央する．
結果：以下に開状態と掌握状態のエネル値から各腕動作の識別は不可能である．

ギー分布を示す．
横軸周波数，縦軸エネルギー③ 取得した筋電位波形のエネルギー分布(周波数×振幅)の中央値を二次元にグラフにプロットし腕動作を識別するアルゴリズ
ムの検討と開発
前段階で開発したアルゴリズムは，電極一つから得られる筋電位波形の中央値から

図 23 開状態の周波数分布

各腕の動作の識別を試みたが失敗した．そこで，単純に，使用する電極を２つに増やして実験を行った．
■方法：
腕に電極２つを取り付け，筋電位波形のエネルギー分布から中央値を算出，各腕動

図 24 掌握状態の周波数分布■考察
グラフをみると，正規分布に近い形にな中央値を求め，横軸に各腕動作の中央値をとり，グラフにプロットしてみた．

脱開屈屈開開屈…

図 25 各腕動作の中央値分布

作を識別する．
■結果：
次に各腕の動作のエネルギー分布を示す．

図 26 脱力状態のエネルギー分布

図 27 開状態のエネルギー分布

図 28 掌握状態のエネルギー分布

図 29 掌屈状態のエネルギー分布

図 30 各腕動作の中央値分布
横軸

一つ目の電極の中央値

縦軸二つ目の電極の中央値

■結果
驚いたことに，各腕の動作ごとにカテゴライズできることが分かった．
この結果を踏まえて，違う人で同じ実験を行えばどのようなグラフが現れるのか，個人差の研究を行った．以下に実験結果を示す．
図 32 開発中の腕動作自動認識ソフトウェア

図32について：4Hz+16Hz+1.5kHzの入力信号に対して，画面下のグラフで周波数スペクトルを求めている様子．それぞれの周図 31 別の被験者での各腕動作の中央値

各腕動作の位置関係は異なるものの，それぞれの腕動作についてカテゴライズできている．つまり，事前に被験者が腕ごとのデータを登録しておけば，後に照合し，認識することが可能である．
<研究Ⅳ>「腕動作自動識別ソフトェアの開発」
研究Ⅲにおいて，少ない電極数から複数の腕動作を識別可能なアルゴリズムを発見した．そこで，これまでフーリエ解析を市販品に頼っていた部分を全て自作し，リアルタイムで腕の複数の動作を識別できるソフトウェアの開発を行う．現在，開発途中であるが，FFT をリアルタイムで行うレベルまでできた(図 32)．

波数を検出できていることが分かる．また，取得したスペクトル分布からエネルギー分布，中央値を算出するプログラムも動作に成功した．

５．考察
現段階において，増幅した筋電位をスイッチとして，ハードウェア，ソフトウェアの動作信号を生成するシステムを構築することができた．また，少ない電極数から複数の腕動作を識別できるアルゴリズムを発見した． 本研究において明らかになったことは，以下の３点である．
① 同じ筋肉でも，長時間使っていると電位が小さくなる．
② 腕の動作によって，筋電位波形のエネルギー分布の中央値が異なる．
③ 同じ箇所で筋電位波形のエネルギー分布を測定しても，個人によって腕動作の分布グラフの位置関係が異なる．

特に③については，皮膚表面の保水率の違いや，同じ人でも使用する筋繊維が若干異なることからくるものと考えられる．

<研究Ⅳ>「腕動作自動識別ソフトェアの開発」
現段階で，任意の周波数を含んだ波形をリアルタイムにフーリエ解析することがで

６．まとめと今後の課題きるソフトウェアを開発することができた．

(1) まとめ<研究Ⅰ>「筋電位計測システムの開発」

これらの研究により，筋電位を計測し，① 電極の開発

電子デバイスのインターフェイスとして使② 筋電位信号を増幅する回路の開発用できるシステムを低コストでかつ安定的③ 不要なノイズを除去するフィルタ回路に使用できる道筋を示せた．

開発④ 筋電位データの閾値判定アルゴリズムの開発(2) 今後の課題
脳から送られてくる信号をダイレクトにハードウェアやソフトウェアに伝えるシス

これらにより，筋電位を安定的に取得し，テムは，直感的な操作であったり，人間の解析するシステムを構築することができた．

物理的限界を超えるといった意味において非常に将来性を感じさせる．本研究により，<研究Ⅱ>「筋電位計測システムの応用」

このシステムを「安価」かつ「シンプル」① 筋電位を用いたモーターカーの制御に実現する道筋を示すことができたと思う．

② 筋電位を用いたゲームの操作①ハードウェアでの今後の応用
これらに成功したことにより，筋電位信

現在，片腕の筋電位信号から４つの腕の号のスイッチング情報をもとにハードウェ状態を認識できるアルゴリズムの開発に成ア，ソフトウェア両面においてコントロー功している．そこで，このアルゴリズムをラとして使用できることが分かった．

採用した非常に安価な筋電義手を開発する(図33)．これは，腕を無くした方の代替手<研究Ⅲ>「フーリエ解析を利用した腕動作首として，またはお年寄りの手首のパワー識別アルゴリズムの開発」

アシストとして機能する．動作例として，「握る」・「つまむ」・「まわす」・「開２つの電極から得られる筋電位波形のエネルギー分布の中央値を求めることにより，く」といった日常生活で必要不可欠な動作を行うことができる．

４つの腕動作を識別することができるアルゴリズムを発見した．

②ソフトウェアでの今後の応用
現在，得られた筋電位信号をコンピュータの動作に反映させることに成功している．
そこで，手の握った状態を把握することでドラッグ＆ドロップなどの操作をより直感③腕動作識別アルゴリズムの改良的に行える，第三のコンピュータインター

筋電位波形は，電極-皮膚間の接触状況やフェイスの開発を行っていきたい(図34)．

時間によって変動することが分かった．今

これは既存のコンピュータインターフェイ

後は電極の改良及び判定アルゴリズムの改スに付け加えて使用する．動作例として，良を行っていきたい．具体的には，研究Ⅲ

指をチョキにすると切り取り，パーで貼りにおいて発見した腕動作識別アルゴリズム

付け，親指と小指を広げると拡大，手首でが，筋電位波形の時間変動に対して自動的払う動作をするとデスクトップ上のウィンに校正するアルゴリズムの開発を行う．

ドウを払いのけるなど，実際の指の行為となるべく近い操作が可能となる．これをさ７．参考文献

らに応用させると，仮想空間内における3D[1]トランジスタ技術 CQ 出版

オブジェクトを直感的に操作することもで[2]OP アンプ実用回路設計 CQ 出版

きるようになる．

[3]表面筋電図 東京電機大学出版

８．謝辞
この研究を進めるに当たり，ハードウェ
ア技術に関して，MIT 研究員の松下光次郎氏，顧問の末谷健志先生には数々のご指導をいただきました．また，予算面などで，前川校長先生，吉田信也副校長先生に多大
図 33：設計中の筋電義手なご協力をいただきました．
お世話になった先生方，大変ありがとうございました．

図 34：開発中の新しい PC インターフェイス