(57)【要約】【課題】  本発明は、実際の人の動きと同じ感覚でロボットやゲームのキャラクター等を操作することができる技術を提供することを目的とする。【解決手段】  本発明の動き検出装置は、被験者の動きに伴う複数の筋肉の筋電信号を検出する検出部と、被験者の位置又は被験者の動きに伴う加速度の少なくとも１つを計測する計測部と、複数の筋肉の筋電信号と位置又は加速度の少なくとも１つとからなる被験者の動きのデータを出力する出力部とを備える。【選択図】    図１
2009226127.tif 000002
【特許請求の範囲】
【請求項１】
被験者の動きに伴う複数の筋肉の筋電信号を検出する検出部と、
前記被験者の位置又は前記被験者の動きに伴う加速度の少なくとも１つを計測する計測部と、
前記複数の筋肉の筋電信号と前記位置又は前記加速度の少なくとも１つとからなる前記被験者の動きのデータを出力する出力部と、
を備えることを特徴とする動き検出装置。
【請求項２】
請求項１に記載の動き検出装置において、
前記検出部は、前記被験者に装着され、
前記計測部は、前記被験者に装着又は握持される
ことを特徴とする動き検出装置。
【請求項３】
請求項１又は請求項２に記載の動き検出装置において、
前記被験者の心拍数を計測する生体計測部をさらに備えることを特徴とする動き検出装置。
【請求項４】
請求項３に記載の動き検出装置において、
前記生体計測部は、前記被験者に装着される
ことを特徴とする動き検出装置。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の動き検出装置において、
前記計測部は、ジャイロ又は加速度センサであることを特徴とする動き検出装置。
【請求項６】
請求項１ないし請求項５のいずれか１項に記載の動き検出装置と、
前記動き検出装置の前記出力部からの出力を受け取る入力部を設け、前記動き検出装置からの前記被験者の動きのデータに基づいて前記被験者の動きに関する物理量を算出する演算装置と、
を備えることを特徴とする動き検出システム。
【請求項７】
請求項６に記載の動き検出システムの前記演算装置をコンピュータで実現することを特徴する動き検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の動きを検出する動き検出装置、動き検出システム及びプログラムに関する。
【背景技術】
【０００２】
従来、ロボットやゲームにおけるキャラクターの３次元的な動きは、多数の操作釦が設けられたコントローラを用いて、それらの釦の操作によって行われていた。
【０００３】
特許文献１は、従来の操作釦とともに加速度センサを設けることにより、加速度センサからの出力を利用してゲームにおけるキャラクターを動かしたりやゴルフ等のスポーツを行うコントローラを開示している。
【０００４】
特許文献２は、人の筋肉の動きと関節の状態との関係を、筋肉の表面筋電信号（以下、筋電信号）から求まる筋肉の張力と関節の状態とで関係付けてモデル化し、ロボットやゲームにおけるキャラクターを操作する技術を開示している。
【特許文献１】特開２００７−２４１６５５号公報
【特許文献２】特開２００７−１３６０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のコントローラは、釦操作及び人の動きに伴う加速度に基づいて操作するので、ゲームのキャラクターの動きが実際の人の動きと見かけ上同じであったとしても、例えば、ゴルフにおいてクラブやパターを握る力加減で変化するボールの軌道等を、実際の人の動作感覚で再現することはできなかった。
【０００６】
一方、特許文献２は、人の筋肉の動きと関節の状態との関係をモデル化するためには、予め筋肉の筋電信号から求まる張力と関節の状態との関係を示すデータが必要であり、そのデータを取得する「学習」を行わなければならなかった。また、関節の状態を表すパラメータ（自由度）が多いために、適切なモデルを作成することも困難であった。
【０００７】
上記従来技術が有する問題に鑑み、本発明の目的は、実際の人の動きと同じ感覚でロボットやゲームのキャラクター等を操作することができる技術を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の動き検出装置は、被験者の動きに伴う複数の筋肉の筋電信号を検出する検出部と、被験者の位置又は被験者の動きに伴う加速度の少なくとも１つを計測する計測部と、複数の筋肉の筋電信号と位置又は加速度の少なくとも１つとからなる被験者の動きのデータを出力する出力部とを備える。
【０００９】
この発明において、検出部は、被験者に装着され、計測部は、被験者に装着又は握持される。
【００１０】
この発明において、被験者の心拍数を計測する生体計測部をさらに備える。
【００１１】
この発明において、生体計測部は、被験者に装着される。
【００１２】
この発明において、計測部は、ジャイロ又は加速度センサである。
【００１３】
この発明の動き検出システムは、上記いずれかの動き検出装置と、動き検出装置の出力部からの出力を受け取る入力部を設け、動き検出装置からの被験者の動きのデータに基づいて被験者の動きに関する物理量を算出する演算装置とを備える。
【００１４】
この発明のプログラムは、上記動き検出システムの演算装置をコンピュータで実現する。
【発明の効果】
【００１５】
本発明によれば、実際の人の動きと同じ感覚でロボットやゲームのキャラクター等を操作することができる。
【発明を実施するための最良の形態】
【００１６】
≪一の実施形態の説明≫
図１は、本発明の一の実施形態に係る動き検出システムの全体構成を示す概念図である。本実施形態に係る動き検出システムは、演算装置１０、ユーザによって握持されるコントローラ２０及びユーザの腕３０に装着される筋電信号検出部２５を有する。なお、コントローラ２０から演算装置１０へのデータ転送は、互いに赤外線や電波等の電磁波１５による無線で行われる。
【００１７】
演算装置１０は、動き検出プログラムがインストールされたコンピュータであり、制御部１、メモリ２、記憶装置３及び入出力インタフェース（入出力Ｉ／Ｆ）４から構成される。制御部１、メモリ２、記憶装置３及び入出力Ｉ／Ｆ４は、バス５を介して情報伝達可能に接続されている。さらに、入出力Ｉ／Ｆ４には、加速度センサ２２、ＧＮＤ端子２３及び筋電信号検出部２５からのデータを、無線で受信して受け取る受信装置６、演算処理の途中経過や処理結果を表示する出力装置７及びユーザからの入力を受け付ける入力装置８が接続される。本加速度センサ２２は、前後・左右・上下の３次元の加速度をすることが可能である。
【００１８】
制御部１は、受信装置６及び入出力Ｉ／Ｆ４を経由して、加速度センサ２２、ＧＮＤ端子２３及び筋電信号検出部２５からのデータを受け取り、ユーザの動きに関するデータを算出して記憶装置３に保存したり、又はそのデータに基づいてゲームのキャラクター等を動かして出力装置７に表示する。なお、制御部１は、一般的な中央演算装置を用いることができる。一方、出力装置７としてはモニタ等を、入力装置８としてはキーボードやマウス等をそれぞれ適宜選択して使用できる。
【００１９】
メモリ２は、制御部１における制御処理の途中経過や、加速度センサ２２、ＧＮＤ端子２３及び筋電信号検出部２５からのデータを一時的に記憶するために用いられる。メモリ２には、不揮発性メモリ等の半導体メモリを適宜選択して用いることができる。
【００２０】
記憶装置３は、動き検出プログラムやユーザの動きに関するデータ等を記憶する。記憶装置３に保持されるプログラムやデータは、バス５を介して、制御部１から適宜参照することができる。記憶装置３には、一般的なハードディスク装置、光磁気ディスク装置または脱着可能なメモリカード等の記憶装置を選択して用いることができる。
【００２１】
コントローラ２０は、ユーザに握持されてユーザの動きを検出し、その検出したデータを演算装置１０に無線で送信する。コントローラ２０は、出力部２１、加速度センサ２２及びＧＮＤ端子２３を有する。なお、本実施形態では、コントローラ２０は、後述する筋電信号検出部２５によるユーザの腕３０の伸筋及び屈筋の筋電信号を受け取り（その筋電信号を受け取る入力部は不図示）、加速度センサ２２及びＧＮＤ端子２３のデータとともに、出力部２１から無線で演算装置１０に出力する。
【００２２】
加速度センサ２２は、ユーザの動きに伴う加速度を計測する。加速度センサ２２には、少なくとも２軸方向の加速度を計測できる一般的な加速度センサを用いることができる。
【００２３】
ＧＮＤ端子２３は、筋電信号検出部２５が検出する筋電信号の基準電位を与える。ＧＮＤ端子２３は、ユーザがコントローラ２０を握持した時に触れるように設置されることで、コントローラ２０とユーザとを同電位にして筋電信号の基準電位を与える。ＧＮＤ端子２３の設置は、コントローラ２０の表面からアルミ等の金属端子が突出するように設置したり、コントローラ２０の表面の一部をアルミ等の金属で覆うことで実現される。
【００２４】
筋電信号検出部２５は、ユーザの腕３０に装着され、腕３０の筋肉の筋電信号を検出する。筋電信号検出部２５は、本実施形態において、ゴムや布等のバンドに、ユーザの肌に直接接地する２つの電極２６ａ及び２６ｂを有する。筋電信号検出部２５は、電極２６ａ及び２６ｂが腕３０の総指伸筋等の伸筋及び長掌筋等の屈筋の位置にそれぞれ来るように装着される。
【００２５】
次に、本実施形態に係る動き検出システムについて、図２のフローチャートを参照しながら説明する。なお、本実施形態では、動き検出プログラムとして、ユーザがパッティングを行うゴルフゲームの場合を考える。
【００２６】
ユーザが、入力装置８を使って動き検出プログラムのコマンドを入力、または動き検出プログラムのアイコンをダブルクリックすることにより処理の開始命令を出す。制御部１は、その命令を入出力Ｉ／Ｆ４を通じて受け付け、記憶装置３に記憶されている動き検出プログラムを実行する。その結果、図２のステップＳ１０１からステップＳ１０５の処理が行われる。
【００２７】
ステップＳ１０１：制御部１が、加速度センサ２２の初期化を行う。即ち、加速度センサ２２は、自身の個体差やコントローラ２０への取り付け状態等により、計測される加速度の大きさや向きが実際のものと異なる値や方向を出力する。そこで、制御部１は、コントローラ２０が水平な状態に設置して重力方向を計測する等を行い、加速度センサ２２の出力を校正する補正値を求める。制御部１は、その補正値をメモリ２又は記憶装置３に記憶する。
【００２８】
ステップＳ１０２：制御部１が、筋電信号検出部２５の初期化を行う。即ち、制御部１は、予め筋電信号検出部２５に腕３０の伸筋及び屈筋の筋電信号をそれぞれ検出させて、伸筋及び屈筋の張力の規格化のための基準値を求める。理由は、筋電信号又は筋電信号から求まる腕３０の筋肉の張力の大きさは、ユーザ毎に異なるだけでなく、同じユーザであっても電極２６ａ及び２６ｂの取り付け位置によって変化してしまうからである。そこで、腕３０の筋肉の張力を規格化することによって、ユーザ毎による違いや電極２６ａ及び２６ｂの取り付け位置による影響を除去することを目的とする。
【００２９】
具体的には、制御部１は、例えば、出力装置７を介して、ユーザにパッティング等を行わせる指示を出す。制御部１は、筋電信号検出部２５によって検出されるユーザのパッティング時の伸筋及び屈筋の筋電信号を、ＧＮＤ端子２３による基準電位とともに受信装置６を介して受信し、メモリ２に記憶する。制御部１は、受信した伸筋及び屈筋の筋電信号それぞれについて基準電位との差分を取り、次式（１）で表される２次のローパスフィルタh(t)を用いて低周波成分のみを抽出する。抽出された成分が、伸筋又は屈筋の張力である。
h(t)=6.44×(exp(-10.80t)−exp(-16.52t))       （１）
なお、本実施形態では、式（１）の２次のローパスフィルタを用いたが他のローパスフィルタを適宜選択して用いることができる。制御部１は、伸筋及び屈筋の張力の各々において、最大の値をそれぞれの規格化の基準値としてメモリ２に記憶する。制御部１は、筋電信号検出部２５からの筋電信号から求まるユーザの腕３０の伸筋及び屈筋の張力を、これらの基準値でそれぞれ割って規格化する。
【００３０】
ここで、図３は、（ａ）ユーザが実際にパッティングした時のパターの角度と（ｂ）ユーザの腕３０の筋肉の剛性Ｓｔｆ（スティフネス）の時間変化をそれぞれ示したものである。ここで、筋肉の剛性Ｓｔｆは、次式（２）のように、規格化された伸筋の張力Ｅａと規格化された屈筋の張力Ｅｂとの和から求められる。なお、図３は、パターによってボールが打たれた時間（破線の位置で角度が０度）を０として基準にしている。
Ｓｔｆ＝Ｅａ＋Ｅｂ                            （２）
ステップＳ１０３：制御部１が、ユーザにパターの素振りを行わせ、ゴルフゲームのキャラクターにパッティングを行わせるために必要となる物理量を求める。制御部１は、ユーザによるパターの素振りの動作の間、加速度センサ２２による加速度、ＧＮＤ端子２３による基準電位及び筋電信号検出部２５による伸筋及び屈筋の筋電信号のデータを、受信装置６を介して受け取りメモリ２に記憶する。制御部１は、式（２）を用いて、ステップＳ１０２と同様の手順により腕３０の筋肉の剛性Ｓｔｆの値を算出する。制御部１は、加速度及び腕３０の筋肉の剛性Ｓｔｆの値の各々のデータを次式（３）、式（４）及び式（５）にそれぞれ代入して、ゴルフゲームにおけるパターのヘッドの速度Ｖ、パターのヘッドの位置の変位量（移動距離）Ｌ及びボールに与えるパワー（エネルギー）Ｐの値を算出する。
Ｖ＝∫Ａ（ｔ）ｄｔ                            （３）
Ｌ＝∬Ａ（ｔ）ｄｔ2                           （４）
Ｐ＝Ｃ×Ｓｔｆ                                （５）
なお、Ａ（ｔ）は加速度センサ２２で計測された加速度であり、Ｃは定数で反発係数に相当するものである。なお、加速度Ａ（ｔ）等の物理量の単位は、ＭＫＳ単位系等の任意のものを用いることができる。
【００３１】
ステップＳ１０４：制御部１が、ステップＳ１０３で求めた速度Ｖ、位置の変位量Ｌ及びパワーＰの値を運動方程式に代入して、パター及びボールの運動を算出する。制御部１は、その計算結果に基づいてキャラクターにパッティングさせ、それを出力装置７に表示する。
【００３２】
図４は、実際に行ったゴルフゲームのパッティングにおいて、複数のユーザによるパターの素振りによって検出された、腕３０の筋肉の剛性Ｓｔｆの時間変化を示す。図４のＳｔｆの変化の様子は、図３（ｂ）の実際のユーザによるパッティングと明らかに同じ時間変化を示している。なお、図４において、パターよってボールが打たれた後、いくつかの腕３０の筋肉の剛性Ｓｔｆの値が変化せず一定になっているものは、筋電信号検出部２５による筋電信号の検出測定を途中で止めたことによる。
【００３３】
ステップＳ１０５：制御部１が、キャラクターがボールをカップに入れたか否かの判定をする。ボールがカップに入った場合（ＹＥＳ側）には、制御部１は一連の作業を終了する。入らない場合（ＮＯ側）には、ステップＳ１０３からステップＳ１０４の作業を、ボールがカップに入るまで行う。
【００３４】
このように、本実施形態は、加速度センサ２２によって計測される加速度と筋電信号検出部２５によって検出される筋電信号とを用いることにより、実際の動作と同じ感覚でロボットやゲームのキャラクター等を操作することができる。
≪実施形態の補足事項≫
本実施形態では、動き検出プログラムとして、ゴルフゲームの場合について説明したが、本発明はこれに限定されない。例えば、テニス、バスケット又は野球等のスポーツのゲームやロボットの操作等に対しても応用することできる。
【００３５】
なお、本実施形態では、コントローラ２０はユーザに握持され、筋電信号検出部２５はユーザの腕３０に装着されるとしたが、本発明はこれに限定されない。例えば、コントローラ２０及び筋電信号検出部２５を足に装着して用いることも可能であり、サッカー等のゲームに対しても適用できる。この時、コントローラ２０は、ゴムや布等のバンドを用い装着するのが好ましく、筋電信号検出部２５の電極２６ａ及び２６ｂが足の伸筋及び屈筋の位置に来るように装着されるのが好ましい。
【００３６】
なお、本実施形態では、加速度センサ２２を用いて計測された加速度Ａ（ｔ）を式（３）及び式（４）に適用して、速度Ｖ及び位置の変位量Ｌを求めたが、本発明はこれに限定されない。加速度センサ２２の代わりにジャイロを用いることもできる。この場合、ジャイロによって計測されるのは速度の変位量Ｖであり、位置Ｌ及び加速度Ａ（ｔ）は、速度の変位量Ｖを時間についての１階積分及び１階微分をそれぞれ行うことで得られる。
【００３７】
なお、本実施形態では、加速度センサ２２及び筋電信号検出部２５で検出された加速度Ａ（ｔ）や腕３０の筋肉の剛性Ｓｔｆから、速度Ｖ、位置の変位量Ｌ及びパワーＰの物理量を求めたが、本発明はこれに限定されない。例えば、規格化された伸筋の張力Ｅａと屈筋の張力Ｅｂとの差分を計算すると、腕３０の筋肉のトルクＴｒｑ（＝Ｅａ−Ｅｂ）が求められる。この腕３０の筋肉のトルクＴｒｑを用いれば、ユーザの運動による消費エネルギーを求めることができる。図５は、その応用例として、図１の動き検出システムにユーザの心拍数等の生体情報を計測する生体計測部２７をさらに備える動き検出システムを示す。図５の動き検出システムによって、腕３０の筋肉のトルクＴｒｑと生体情報とを併せて用いれば、より正確にユーザの各々の状態に即した消費エネルギーを求めることが可能となる。
【００３８】
なお、本実施形態では、加速度センサ２２、ＧＮＤ端子２３及び筋電信号検出部２５のデータを、電磁波１５による無線で演算装置１０に送信したが、本発明はこれに限定されず、ケーブルによる有線で送信しても良い。この場合には、受信装置６は不要となり、コントローラ２０からのケーブルは、入出力Ｉ／Ｆ４を介して直接演算装置１０に接続される。また、本発明はこれに限定されず、コントローラ２０の内部でＧＮＤ端子２３による基準電位との差分や式（１）で表される信号処理等の必要な演算を行うことで通信料を減らすことができる。
【００３９】
なお、本実施形態では、制御部１は、ステップＳ１０１において加速度センサ２２の初期化を動き検出プログラムを起動する毎に行うとしたが、本発明はこれに限定されない。例えば、最初の１回のみ、加速度センサ２２の初期化を行い、求めた補正値を記憶装置３に記憶し、２回目以降その値を動き検出プログラムが起動される毎に読み込むようにすれば、ステップＳ１０１の作業を省略することができる。
【００４０】
なお、本実施形態では、筋電信号検出部２５は、２つの電極２６ａと２６ｂとを有するとしたが、本発明はこれに限定されず、２以上の複数の電極を有しても良い。例えば、筋電信号検出部２５には、ゴムや布等のバンドに２以上の複数の電極を設け、ユーザの腕３０に装着しても良い。この場合、制御部１は、ステップＳ１０２の筋電信号検出部２５の初期化において、予め筋電信号検出部２５の全ての電極からの筋電信号を受信して、電極のうち伸筋及び屈筋それぞれの筋電信号を最も状態良く検出する一対の電極を選択するようにするのが好ましい。これにより、電極の各々が伸筋及び屈筋の位置に正確に装着されているか否かを心配する必要が無くなる。
【００４１】
なお、本実施形態では、ステップＳ１０２で求めた筋電信号の規格化基準値として、筋電信号検出部２５が検出した伸筋及び屈筋の筋電信号それぞれにおいて、最大となる値を用いたが、本実施形態ではこれに限定されず、任意の他の値を規格化基準値として用いることができる。
【００４２】
なお、本実施形態では、ＧＮＤ端子２３をコントローラ２０に設置したが、本発明はこれに限定されない。例えば、筋電信号検出部２５に電極２６ａ及び２６ｂとともに、ＧＮＤ端子２３を設置しても良い。
【００４３】
なお、本実施形態では、筋電信号検出部２５による筋電信号は、一度コントローラ２０入力されてから演算装置１０へ送られるとしたが、本発明はこれに限定されない。例えば、筋電信号検出部２５に、出力部２１のような出力部を設置することによって、直接筋電信号を演算装置１０へ送信しても良い。ただし、この場合、ＧＮＤ端子２３は、筋電信号検出部２５に設置されていることが好ましい。
【００４４】
なお、本発明は、その精神又はその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【図面の簡単な説明】
【００４５】
【図１】本発明の一の実施形態に係る動き検出システムの全体構成を示す概念図
【図２】本発明の一の実施形態に係る動き検出システムの作業手順を示すフローチャート
【図３】ユーザによる実際のパッティング時の（ａ）パターの角度と（ｂ）腕３０の筋肉の剛性Ｓｔｆの時間変化を示す図
【図４】ゴルフゲームにおけるユーザによるパッティング時の腕３０の筋肉の剛性Ｓｔｆの時間変化を示す図
【図５】図１の動き検出システムに生体計測部２７を加えた動き検出システムの全体構成を示す概念図
【符号の説明】
【００４６】
１  制御部、２  メモリ、３  記憶装置、４  入出力Ｉ／Ｆ、５  バス、６  受信装置、７  出力装置、８  入力装置、１０  演算装置、１５  電磁波、２０  コントローラ、２１  出力部、２２  加速度センサ、２３  ＧＮＤ端子、２５  筋電信号検出部、２６ａ、２６ａ  電極、２７  生体計測部、３０  腕
【図１】
2009226127.tif 000003
【図２】
2009226127.tif 000004
【図３】
2009226127.tif 000005
【図４】
2009226127.tif 000006
【図５】
2009226127.tif 000007