(57)【特許請求の範囲】
【請求項１】
リハビリテーションを行っている患者によって操作される操作部と、
前記操作部の操作量を検出する操作量検出部と、
前記患者が前記操作部を操作した際の前記患者の生体信号を検出する生体信号検出部と、
前記操作量検出部で検出された操作量と前記生体信号検出部で検出された生体信号とを用いて前記患者の運動を推定する運動推定部と、を有し、
前記運動推定部は、
前記操作部の操作量を用いて算出された前記患者の運動量の真値と前記患者が前記操作部を操作した際の前記患者の生体信号とを用いてスパースな重みベクトルを生成する重みベクトル生成部と、
前記重みベクトル生成部で生成された前記スパースな重みベクトルと前記患者がリハビリテーションを行っている際に前記生体信号検出部でリアルタイムで検出された生体信号とを用いて前記患者の運動推定値を生成する運動推定値生成部と、を備える、
運動推定装置。
【請求項２】
前記重みベクトル生成部は、前記スパースな重みベクトルに含まれる非ゼロの要素の数が所定の数以下となるように前記スパースな重みベクトルを生成する、請求項１に記載の運動推定装置。
【請求項３】
前記運動量の真値ｙ、前記生体信号に時間シフト操作を行うことで生成された応答行列Ａｍｅａｓ、及び重みベクトルθとの間には、関係式ｙ＝Ａｍｅａｓθが成立し、
前記重みベクトル生成部は、前記運動量の真値ｙ、前記応答行列Ａｍｅａｓ、及び前記関係式を用いて前記重みベクトルθを求める際にスパースコーディングを用いることで、非ゼロの要素の数が前記重みベクトルθよりも少ないスパースな重みベクトルを生成する、
請求項１または２に記載の運動推定装置。
【請求項４】
前記患者の運動推定値をｙｈとし、前記患者がリハビリテーションを行っている際にリアルタイムで検出された生体信号に時間シフト操作を行うことで生成された応答行列をＡｍｅａｓとし、前記スパースな重みベクトルをθｈとした場合、前記運動推定値生成部は、ｙｈ＝Ａｍｅａｓθｈの関係を用いて前記患者の運動推定値を生成する、請求項１乃至３のいずれか一項に記載の運動推定装置。
【請求項５】
前記生体信号検出部は、前記患者の運動部位の筋電位を検出する筋電位センサ、前記患者の脳波を検出する脳波センサ、及び前記患者の皮質脳波を検出する皮質脳波センサのうちの少なくとも１つである、請求項１乃至４のいずれか一項に記載の運動推定装置。
【請求項６】
前記操作部は前記患者の上肢運動によって２次元平面上を変位可能に構成されており、
前記生体信号検出部は、前記患者の大胸筋、三角筋後部、上腕二頭筋長頭、及び上腕三頭筋外側頭における筋電位を検出する筋電位センサであり、
前記運動推定部は、前記患者の上肢運動を推定する、
請求項１乃至４のいずれか一項に記載の運動推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は運動推定装置、及び運動推定方法に関し、特にリハビリテーションを行っている患者の運動を推定する運動推定装置、及び運動推定方法に関する。
【背景技術】
【０００２】
運動機能が損なわれた人は、リハビリテーションを行うことで運動機能の回復を図ることができる。昨今、このようなリハビリテーションを適切に行うための様々な装置が開発されている。
【０００３】
また、特許文献１には、人の動作を補助するための動作補助装置に関する技術が開示されている。特許文献１に開示されている動作補助装置では、装着者に装着された状態において装着者固有の動力学パラメータをパラメータ同定部により同定し、同定した動力学パラメータを代入した運動方程式に基づき制御装置により駆動源を制御するように構成している。これにより、装着者の個人差や体調等の変動要因に影響されない動作補助装置を提供することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２０４４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている技術では、装着者の個人差を補うために装着者固有の動力学パラメータをパラメータ同定部により同定し、同定した動力学パラメータを代入した運動方程式に基づいて駆動源を制御している。
【０００６】
しかしながら、特許文献１に開示されている技術では、装着者固有の動力学パラメータを重力補償や慣性補償に使用しているのみであり、装着者の意図を推定した制御には使用していない。このため、リハビリテーションのような連続的に患者の意図を推定し、アシストを行うような制御系には特許文献１にかかる技術を適用することができない。
【０００７】
つまり、リハビリテーションでは連続的に患者の意図を推定することが求められている。このため、患者の生体信号から患者の意図を読み取り、この生体信号に基づいてリアルタイムで患者の運動を推定する運動推定装置および運動推定方法が求められている。
【課題を解決するための手段】
【０００８】
本発明にかかる運動推定装置は、リハビリテーションを行っている患者によって操作される操作部と、前記操作部の操作量を検出する操作量検出部と、前記患者が前記操作部を操作した際の前記患者の生体信号を検出する生体信号検出部と、前記操作量検出部で検出された操作量と前記生体信号検出部で検出された生体信号とを用いて前記患者の運動を推定する運動推定部と、を有し、前記運動推定部は、前記操作部の操作量を用いて算出された前記患者の運動量の真値と前記患者が前記操作部を操作した際の前記患者の生体信号とを用いてスパースな重みベクトルを生成する重みベクトル生成部と、前記重みベクトル生成部で生成された前記スパースな重みベクトルと前記患者がリハビリテーションを行っている際に前記生体信号検出部でリアルタイムで検出された生体信号とを用いて前記患者の運動推定値を生成する運動推定値生成部と、を備える。
【０００９】
本発明にかかる運動推定方法は、リハビリテーションを行っている患者によって操作される操作部の操作量と前記患者が前記操作部を操作した際の前記患者の生体信号とを用いて前記患者の運動を推定する運動推定方法であって、前記操作部の操作量を用いて算出された前記患者の運動量の真値と前記患者が前記操作部を操作した際の前記患者の生体信号とを用いてスパースな重みベクトルを生成する重みベクトル生成工程と、前記重みベクトル生成工程で生成された前記スパースな重みベクトルと前記患者がリハビリテーションを行っている際にリアルタイムで検出された生体信号とを用いて前記患者の運動推定値を生成する運動推定値生成工程と、を備える。
【００１０】
本発明では、患者の運動量の真値と患者の生体信号とを用いてスパースな重みベクトルを予め生成している。そして、患者がリハビリテーションを行っている際にリアルタイムで検出された生体信号とこのスパースな重みベクトルとを用いて、患者の運動推定値を生成している。このとき、本発明では、患者の運動推定値を生成する際にスパースな重みベクトルを用いているので、運動推定値を算出する際の計算負荷を低減することができる。よって、リハビリテーションのように生体信号が連続的に検出される場合であっても、迅速に運動推定値を算出することができ、患者の生体信号に基づいた運動推定値をリアルタイムで求めることができる。
【発明の効果】
【００１１】
本発明により、リアルタイムで患者の運動を推定することが可能な運動推定装置および運動推定方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかる運動推定装置を示すブロック図である。
【図２】患者が運動推定装置を用いている状態を説明するための図である。
【図３】リハビリテーション用ロボットを示す側面図である。
【図４】運動推定部を詳細に説明するためのブロック図である。
【図５】実施の形態にかかる運動推定装置の動作を説明するためのフローチャートである。
【図６】実施の形態にかかる運動推定装置を用いて患者の運動を推定した結果（速度推定の結果）を示すグラフである（学習フェーズのデータを使用）。
【図７】実施の形態にかかる運動推定装置を用いて患者の運動を推定した結果（位置推定の結果）を示すグラフである（学習フェーズのデータを使用）。
【図８】実施の形態にかかる運動推定装置を用いて患者の運動を推定した結果（速度推定の結果）を示すグラフである（テストフェーズのデータを使用）。
【図９】実施の形態にかかる運動推定装置を用いて患者の運動を推定した結果（位置推定の結果）を示すグラフである（テストフェーズのデータを使用）。
【図１０】実施の形態にかかる運動推定装置の性能比較を示す表である（学習フェーズのデータを使用）。
【図１１】実施の形態にかかる運動推定装置の性能比較を示す表である（テストフェーズのデータを使用）。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本実施の形態にかかる運動推定装置１を示すブロック図である。図１に示すように、本実施の形態にかかる運動推定装置１は、リハビリテーション用ロボット１０、生体信号検出部１４、制御部１５、サーボアンプ１７、及び表示部１８を備える。リハビリテーション用ロボット１０は、操作部１１、モータ１２、及び操作量検出部１３を備える。また、制御部１５は運動推定部１６を備える。
【００１４】
本発明は患者の運動を推定する点に特徴があるため、図１に示す装置を運動推定装置として説明するが、運動推定装置１はリハビリテーション装置としても使用することができる。なお、運動推定装置１として使用する場合は、構成要素として少なくとも操作部１１、操作量検出部１３、生体信号検出部１４、運動推定部１６を備えていればよい。
【００１５】
リハビリテーション用ロボット１０が備える操作部１１は、患者１９がリハビリテーションを行うために操作を行うものである。モータ１２は、例えばサーボモータを用いて構成されており、操作部１１にトルクを付与する。操作量検出部１３は、操作部１１の操作量を検出する。例えば、操作量検出部１３は、エンコーダを用いて構成することができる（以下では、エンコーダ１３とも記載する）。
【００１６】
図２、図３に示すように、リハビリテーション用ロボット１０は、筐体３１、関節３２、３４、アーム３３、３５、及び操作部１１を備える。アーム３３は関節３２を介して筐体３１に取り付けられている。つまり、アーム３３は筐体３１に対して回転可能に取り付けられている。アーム３３とアーム３５は関節３４を介して回転可能に連結されている。アーム３５の先端には操作部１１が回転可能に取り付けられている。
【００１７】
関節３２にはアーム３３にトルクを与えるためのモータ１２_１が取り付けられている。モータ１２_１は、サーボアンプ１７から供給された駆動信号に応じて駆動する。また、関節３２には、筐体３１に対するアーム３３の回転角を検出するためのエンコーダ１３_１が取り付けられている。エンコーダ１３_１から出力された回転角情報２１_１は制御部１５に供給される。
【００１８】
関節３４にはアーム３３、３５にトルクを与えるためのモータ１２_２が取り付けられている。モータ１２_２は、サーボアンプ１７から供給された駆動信号に応じて駆動する。また、関節３４には、アーム３３に対するアーム３５の回転角を検出するためのエンコーダ１３_２が取り付けられている。エンコーダ１３_２から出力された角度情報２１_２は制御部１５に供給される。
【００１９】
このように、操作部１１は患者１９の上肢運動によって２次元平面（ｐｘ、ｐｙ）上を変位可能に構成されている（図２参照）。患者１９は、表示部１８に表示された指示にしたがって操作部１１を操作する。患者１９が操作部１１を動かした際の操作量は、角度情報２１_１、２１_２としてエンコーダ１３_１、１３_２から制御部１５に供給される。
【００２０】
図１に示す生体信号検出部１４は、患者１９が操作部１１を操作した際の患者１９の生体信号を検出する。生体信号検出部１４には、患者１９の運動部位の筋電位を検出する筋電位センサを用いることができる。また、患者１９の脳波（ＥＥＧ：Electroencephalogram）を検出する脳波センサ、患者１９の皮質脳波（ＥｃｏＧ：Electrocorticogram）を検出する皮質脳波センサを用いてもよい。また、筋電位センサ、脳波センサ、皮質脳波センサを組み合わせて使用してもよい。以下では、生体信号検出部１４として筋電位センサを用いた場合について説明する。
【００２１】
生体信号検出部１４として筋電位センサを用いる場合は、例えば、図２に示すように、患者１９の大胸筋（ＰＭＪＣ）に対応する位置に筋電位センサ１４_１を配置し、三角筋後部（ＤＥＬＳ）に対応する位置に筋電位センサ１４_２を配置する。ここで、大胸筋と三角筋後部は互いに拮抗する筋肉である。また、患者１９の上腕二頭筋長頭（ＢＩＬＨ）に対応する位置に筋電位センサ１４_３を配置し、上腕三頭筋外側頭（ＴＲＩＡ）に対応する位置に筋電位センサ１４_４を配置する。ここで、上腕二頭筋長頭と上腕三頭筋外側頭は互いに拮抗する筋肉である。
【００２２】
各筋電位センサ１４_１〜１４_４（以下では、総称して筋電位センサ１４とも記載する）で検出された筋電位信号ｅｍｇｉｋは制御部１５に供給される。
【００２３】
制御部１５が備える運動推定部１６は、エンコーダ１３で検出された操作部１１の操作量２１と生体信号検出部（筋電位センサ）１４で検出された生体信号２２（筋電位信号ｅｍｇｉｋ）とを用いて患者１９の運動を推定する。
【００２４】
また、制御部１５は、表示部１８に患者１９が操作部１１を操作すべき方向が表示されるように制御する。リハビリテーション装置として使用する場合、制御部１５は、運動推定部１６で生成した運動推定値に応じてモータ１２がトルクを発生するように、サーボアンプ１７に制御目標値を出力する。
【００２５】
図４は、運動推定部１６を詳細に説明するためのブロック図である。図４に示すように、運動推定部１６は重みベクトル生成部４０と運動推定値生成部５０とを備える。重みベクトル生成部４０は、前処理部４１、時間シフト操作部４２、順キネマティクス処理部４３、及び重みベクトル算出部４４を備える。運動推定値生成部５０は、前処理部５１、時間シフト操作部５２、及び運動推定値算出部５３を備える。
【００２６】
重みベクトル生成部４０は、エンコーダ１３で検出された操作量（角度情報）を用いて算出された患者１９の運動量の真値ｙと筋電位センサ１４で検出された筋電位信号ｅｍｇｉｋとを用いてスパースな重みベクトルθｈを生成する。運動推定値生成部５０は、重みベクトル生成部４０で生成されたスパースな重みベクトルθｈと患者１９がリハビリテーションを行っている際に筋電位センサ１４で検出された筋電位信号ｅｍｇｉｋとを用いて患者１９の運動推定値ｙｈを生成する。
【００２７】
ここで、スパースな重みベクトルとは、非ゼロの要素の数が少ないベクトルであり、本実施の形態では、重みベクトルに含まれる非ゼロの要素の数が所定の数以下になるようにスパースな重みベクトルを生成する。
【００２８】
以下、運動推定部１６の処理について、図４に示す運動推定部１６のブロック図および図５に示すフローチャートを用いて詳細に説明する。なお、図５に示すフローチャートにおいて、スパースな重みベクトルθｈを生成するためのステップＳ１〜Ｓ５の処理は学習フェーズ（重みベクトル生成工程：重みベクトル生成部４０の処理に対応）であり、運動推定値ｙｈを生成するためのステップＳ６〜Ｓ８の処理はテストフェーズ（運動推定値生成工程：運動推定値生成部５０の処理に対応）である。
【００２９】
まず、重みベクトル生成部４０の処理（学習フェーズにおける処理）について説明する。重みベクトル生成部４０は、筋電位信号ｅｍｇｉｋを入力する（ステップＳ１）。ここで、筋電位信号ｅｍｇｉｋは、図２に示す４チャンネルの筋電位センサ１４_１〜１４_４で測定された信号である。次に、筋電位信号ｅｍｇｉｋに対して前処理および時間シフト操作を行う（ステップＳ２）。
【００３０】
具体的には、前処理部４１は、４チャンネルの筋電位信号ｅｍｇｉｋに対して整流化処理を実施した後、時間フィルタをかけて筋電位信号の低周波成分を強調させる。このとき、時間フィルタとして５次のバンドパスフィルタＧＢＰＦ（ｚ）をチャンネル毎に適用して０．５Ｈｚから２Ｈｚの帯域を通過させる。このときの処理を式（１）に示す。
【００３１】
【数１】
0006297951.tif 000002
【００３２】
ここで、ｋは時刻、ｉは筋電位センサ１４_１〜１４_４のチャンネル番号であり、ｉ＝１、２、３、４はそれぞれ、大胸筋（ＰＭＪＣ）、三角筋後部（ＤＥＬＳ）、上腕二頭筋長頭（ＢＩＬＨ）、上腕三頭筋外側頭（ＴＲＩＡ）に対応している。また、｜ｅｍｇｉｋ｜は整流化処理を表している。ｚはｚ変換を示している。
【００３３】
その後、前処理部４１は、式（２）に示す時間方向の差分処理を行い、低周波成分に関する筋電位（ＥＭＧ）速度信号ｄｉｋを作成する。式（２）を適用することで、デコーディング時の応答性を高めることができる。
【００３４】
【数２】
0006297951.tif 000003
【００３５】
次に、時間シフト操作部４２は、上記式（２）で求めた筋電位（ＥＭＧ）速度信号ｄｉｋに対してチャンネル毎に時間シフト操作を行い、応答行列Ａｍｅａｓを作成する。以下に、時間シフト操作を表す式（３）を示す。
【００３６】
【数３】
0006297951.tif 000004
【００３７】
次に、学習フェーズ処理部４０は、エンコーダ１３で検出された操作量（角度情報）を入力する（ステップＳ３）。その後、エンコーダ１３で検出された操作量（角度情報）を用いて順キネマティクス処理により、患者１９の運動量の真値ｙを算出する（ステップＳ４）。
【００３８】
具体的には、順キネマティクス処理部４３は、エンコーダ１３で検出された操作量（角度情報）を用いて、順キネマティクス処理により、患者１９の運動量の真値ｙを算出する。このときの運動量の真値ｙを式（４）に示す。
【００３９】
【数４】
0006297951.tif 000005
【００４０】
ここで、Ｍは計測、演算したサンプル数であり、その際のサンプリング周波数は１２８Ｈｚとする。なお、式（４）では、患者１９のｘ方向の手先速度ｖｘを推定する場合について示している。患者１９のｙ方向の手先速度ｖｙ、ｘ方向の手先変位ｐｘ、ｙ方向の手先変位ｐｙについては、式（４）の真値を該当する運動物理量に変更することで求めることができる。
【００４１】
次に、重みベクトル算出部４４は、応答行列Ａｍｅａｓおよび運動量の真値ｙを用いてスパースな重みベクトルθｈを生成する（ステップＳ５）。以下、スーパースな重みベクトルθｈを生成する方法について具体的に説明する。
【００４２】
筋電位（ＥＭＧ）速度信号ｄｉｋに基づく線形デコーディングモデルは次の式（５）で表すことができる。
【００４３】
【数５】
0006297951.tif 000006
【００４４】
ここで、Ｃは筋電位センサ１４_１〜１４_４のチャンネル数（Ｃ＝４）、Ｎはデコーディングで用いた時間シフトの個数（Ｎ＝１４）、ａとθｉｊはモデルの重み係数である。この式（５）を行列を用いて表現すると以下の式（６）のように表すことができる。
【００４５】
【数６】
0006297951.tif 000007
【００４６】
ここで、Ａｍｅａｓは応答行列、θは重みベクトルである。上記式（６）において、運動量の真値ｙおよび応答行列Ａｍｅａｓは既知であるため、上記式（６）を用いて重みベクトルθを求めることができる。このとき、重みベクトルθを求める際にスパースコーディングを用いることで、非ゼロの要素の数が重みベクトルθよりも少ないスパースな重みベクトルθｈ（以下では、重みベクトルの推定値θｈとも記載する）を生成することができる。以下で、スパースコーディングを用いて重みベクトルの推定値θｈを生成する場合について具体的に説明する。
【００４７】
スパースコーディングを用いて重みベクトルの推定値θｈを求める問題は、次の式（７）のように表すことができる。
【００４８】
【数７】
0006297951.tif 000008
【００４９】
ここで、||θ||０は、重みベクトルθのうちの非ゼロ要素の数であり、式（７）は条件を満たしながら非常にスパース、すなわち少数の非ゼロ要素からなる重みベクトルを求めることを表している。
【００５０】
式（７）の条件部分をより正確に表すために、次の式（８）に示すように問題の定式化を書き換える。
【００５１】
【数８】
0006297951.tif 000009
【００５２】
ここで、εは最大許容誤差である。そして、スパース表現の目標値、すなわち非ゼロ要素数の目標値Ｓを下記の式（９）と与えて、再帰的アルゴリズムにより式（８）を数値的に計算する。この計算には、例えば再帰計算の収束性に優れたＯＭＰ（Orthogonal Matching Pursuit）法を用いることができる。
【００５３】
【数９】
0006297951.tif 000010
【００５４】
このような処理により、重みベクトル生成部４４はスパースな重みベクトルθｈを生成することができる。なお、上記例ではスパースな重みベクトルを求めるために、ＯＭＰ法によるスパースコーディングを用いた。しかし、本発明の最終的な目的は、線形デコーディングモデルに対するスパースな重みを求めることであるので、別の手法のスパースコーディングを用いてもよい。更に、最小二乗法で求めた重みの要素のうちの一部の要素をゼロに設定し、式（７）が成立する最適な重みベクトルを求めてもよい（式（１１）参照）。
【００５５】
次に、運動推定値生成部５０の処理（テストフェーズにおける処理）について説明する。患者１９が操作部１１を操作すると、図２に示した４チャンネルの筋電位センサ１４_１〜１４_４から筋電位信号ｅｍｇｉｋがリアルタイムで出力される。運動推定値生成部５０はこの筋電位信号ｅｍｇｉｋを入力する（ステップＳ６）。次に、筋電位信号ｅｍｇｉｋに対して前処理および時間シフト操作を行う（ステップＳ７）。
【００５６】
具体的には、前処理部５１は、４チャンネルの筋電位信号ｅｍｇｉｋに対して整流化処理を実施した後、時間フィルタをかけて筋電位信号の低周波成分を強調させる。その後、前処理部５１は、時間方向の差分処理を行い、低周波成分に関する筋電位（ＥＭＧ）速度信号ｄｉｋを作成する。なお、前処理部５１における処理は、上記で説明した前処理部４１における処理と同様であるので重複した説明は省略する。
【００５７】
次に、時間シフト操作部５２は、上記で求めた筋電位（ＥＭＧ）速度信号ｄｉｋに対してチャンネル毎に時間シフト操作を行い、応答行列Ａｍｅａｓを作成する。なお、時間シフト操作部５２における処理は、上記で説明した時間シフト操作部４２における処理と同様であるので重複した説明は省略する。
【００５８】
次に、運動推定値算出部５３は、時間シフト操作部５２で生成された応答行列Ａｍｅａｓと重みベクトル生成部４０で生成されたスパースな重みベクトルθｈとを用いて、患者１９の運動推定値ｙｈを生成する（ステップＳ８）。
【００５９】
具体的には、運動推定値算出部５３は、下記の式（１０）に、時間シフト操作部５２で生成された応答行列Ａｍｅａｓと重みベクトル生成部４０で生成されたスパースな重みベクトルθｈとを代入することで患者１９の運動推定値ｙｈを算出する。
【００６０】
【数１０】
0006297951.tif 000011
【００６１】
このように、運動推定値生成部５０（テストフェーズ）では、運動推定（デコーディング）用に時不変の線形デコーディングモデルを考慮し、計測した筋電位信号ｅｍｇｉｋに対して前処理（整流化、時間フィルタ、差分処理）および時間シフト操作を実施した応答行列Ａｍｅａｓを入力することで、運動推定値ｙｈ（手先の速度、変位）を出力する。なお、テストフェーズでは、上記のスパースな重みベクトルθｈを時不変パラメータとして使用している。
【００６２】
運動推定装置１をリハビリテーション装置として使用する場合は、運動推定値生成部５０で生成された運動推定値ｙｈを用いて、リハビリテーション用ロボット１０を制御する（ステップＳ９）。具体的には、図１に示す制御部１５は、生成された運動推定値ｙｈに応じてモータ１２がトルクを発生するように、サーボアンプ１７に制御目標値を出力する。このような制御により、患者１９の意図に応じたアシスト制御を行うことができる。
【００６３】
その後、図５に示すテストフェーズの処理（ステップＳ６〜Ｓ９）を繰り返すことで、リアルタイムで患者の運動を推定することができ、患者１９の意図に応じたアシスト制御を連続的に行うことができる。また、改めてスパースな重みベクトルθｈを生成する必要が生じた場合は、学習フェーズの処理（ステップＳ１〜Ｓ５）を実施する。
【００６４】
次に、本実施の形態にかかる運動推定装置の性能の比較について説明する。性能比較のために３種類のデコーダ（重みベクトル算出部４４であり、以下、デコーダとも記載する）を設計した。デコーダＡは、式（９）の非ゼロ要素の目標値ＳをＳ＝２１に設定したデコーダである。デコーダＢは、式（９）の非ゼロ要素の目標値ＳをＳ＝９に設定したデコーダである。デコーダＣは、最小二乗法で設計したデコーダである。
【００６５】
最小二乗法を用いて重みベクトルの推定値θｈを求める場合は、順キネマティクス処理部４３から出力された運動の真値ｙと、上記式（１０）で求めた運動推定値ｙｈとの二乗誤差を最小にする重みを下記の式（１１）を用いて算出する。
【００６６】
【数１１】
0006297951.tif 000012
【００６７】
なお、全てのデコーダＡ〜Ｃにおいて設計した重みベクトルの要素数は５７次元であるが、デコーダＡではそのうちの２１個が非ゼロ要素であり、デコーダＢではそのうちの９個が非ゼロ要素であり、それ以外はゼロ要素である。
【００６８】
図６、図７はデコーダＡを用いて患者の運動を推定した結果を示す図であり、各々、学習フェーズのデータを用いて求めた速度および位置を示している。図６の上側のグラフはｘ方向の速度ｖｘ、下側のグラフはｙ方向の速度ｖｙを示している。図７の上側のグラフはｘ方向の位置ｐｘ、下側のグラフはｙ方向の位置ｐｙを示している。図中、実線はスパースな重みベクトルθｈを用いて求めた運動推定値ｙｈを示しており、破線はエンコーダの角度情報から求めた運動真値ｙを示している。
【００６９】
ここで、学習フェーズのデータを用いて求めた結果とは、スパースな重みベクトルθｈを求める際に用いた筋電位信号ｅｍｇｉｋと同一の筋電位信号ｅｍｇｉｋを用いて運動推定値ｙｈを求めたことを意味している。すなわち、図４の前処理部４１に供給される筋電位信号ｅｍｇｉｋと前処理部５１に供給される筋電位信号ｅｍｇｉｋとが同一の場合を意味している。
【００７０】
図６に示すように、デコーダＡを用いて患者の運動を推定した場合、ｘ方向の速度ｖｘおよびｙ方向の速度ｖｙについて、運動推定値ｙｈと運動真値ｙが高い相関関係を示した。また、図７に示すように、デコーダＡを用いて患者の運動を推定した場合、ｘ方向の位置ｐｘおよびｙ方向の位置ｐｙについて、運動真値ｙと運動推定値ｙｈが高い相関関係を示した。
【００７１】
図８、図９はデコーダＡを用いて患者の運動を推定した結果を示す図であり、各々、テストフェーズのデータを用いて求めた速度および位置を示している。図８の上側のグラフはｘ方向の速度ｖｘ、下側のグラフはｙ方向の速度ｖｙを示している。図９の上側のグラフはｘ方向の位置ｐｘ、下側のグラフはｙ方向の位置ｐｙを示している。図中、実線はスパースな重みベクトルθｈを用いて求めた運動推定値ｙｈを示しており、破線はエンコーダの角度情報から求めた運動真値ｙを示している。
【００７２】
ここで、テストフェーズのデータを用いて求めた結果とは、スパースな重みベクトルθｈを求める際に用いた筋電位信号ｅｍｇｉｋと異なる筋電位信号ｅｍｇｉｋを用いて運動推定値ｙｈを求めたことを意味している。すなわち、図４の前処理部４１に供給される筋電位信号ｅｍｇｉｋと前処理部５１に供給される筋電位信号ｅｍｇｉｋとが異なる場合を意味している。
【００７３】
図８に示すように、デコーダＡを用いて患者の運動を推定した場合、ｘ方向の速度ｖｘおよびｙ方向の速度ｖｙについて、運動推定値ｙｈと運動真値ｙが高い相関関係を示した。また、図９に示すように、デコーダＡを用いて患者の運動を推定した場合、ｘ方向の位置ｐｘおよびｙ方向の位置ｐｙについて、運動真値ｙと運動推定値ｙｈが高い相関関係を示した。
【００７４】
これらの結果を定量的に評価するために、図６〜図９に示した運動真値ｙと運動推定値ｙｈとの間の相関係数Ｒを求めた。更に、デコーダＢ、Ｃを用いた場合についても、運動真値ｙと運動推定値ｙｈとの間の相関係数Ｒを求めた。各デコーダＡ〜Ｃを用いた場合の運動真値ｙと運動推定値ｙｈとの間の相関係数Ｒを図１０、図１１に示す。なお、図１０は学習フェーズのデータを用いた場合の性能比較を示しており、図１１はテストフェーズのデータを用いた場合の性能比較を示している。
【００７５】
図１０に示す結果では、デコーダＣを用いた場合が最も相関係数が高く、次に、デコーダＡ、デコーダＢの順番で相関係数が小さくなった。この傾向は、図１１に示す結果でも概ね同様であった。デコーダＣで最も相関係数が高くなった理由は、最小二乗法で設計したデコーダＣでは応答行列Ａｍｅａｓの全ての要素に対して５７次元の重みベクトルをかけているためであると思われる。これに対して、スパースコーディングで設計したデコーダＡ、Ｂでは各々、２１次元と９次元のスパースな重みしかかけていないため、デコーディングのための情報が減少し、相関係数が低下したものと思われる。
【００７６】
ただし、各々の相関係数に着目すると、デコーダＡ、Ｂともにテストフェーズのデータにおいても０．７４８以上の強い相関を示しており、スパースコーディングを用いた場合でも本質的に重要な重みを維持しているといえる。一方、計算負荷の観点から考えると、デコーダＡ、Ｂは、デコーダＣに比べて重みベクトルの非ゼロ要素がそれぞれ３６．８％、１５．８％に減少しており、演算時間の短縮化や必要なメモリ容量の低減を図ることができる。
【００７７】
背景技術で説明した特許文献１にかかる技術では、装着者の個人差を補うために装着者固有の動力学パラメータをパラメータ同定部により同定し、同定した動力学パラメータを代入した運動方程式に基づいて駆動源を制御していた。
【００７８】
しかしながら、特許文献１に開示されている技術では、装着者固有の動力学パラメータを重力補償や慣性補償に使用しているのみであり、装着者の意図を推定した制御には使用していない。このため、リハビリテーションのような連続的に患者の意図を推定し、アシストを行うような制御系には特許文献１にかかる技術を適用することができない。
【００７９】
つまり、リハビリテーションでは連続的に患者の意図を推定することが求められている。このため、患者の生体信号から患者の意図を読み取り、この生体信号に基づいてリアルタイムで患者の運動を推定する運動推定装置および運動推定方法が求められていた。
【００８０】
また、特許文献１に開示されている技術では、生体信号として筋電位信号を用いている。しかし、特許文献１において筋電位信号の役割は動作フェーズの選定と、動作フェーズに応じた定型的な指令出力であり、装着者の運動を連続的かつ高精度に推定することは行っていない。
【００８１】
これに対して本実施の形態にかかる発明では、患者の運動量の真値と患者の生体信号とを用いてスパースな重みベクトルを予め生成している。そして、患者がリハビリテーションを行っている際にリアルタイムで検出された生体信号とこのスパースな重みベクトルとを用いて、患者の運動推定値を生成している。このとき、本実施の形態にかかる発明では、患者の運動推定値を生成する際にスパースな重みベクトルを用いているので、運動推定値を算出する際の計算負荷を低減することができる。よって、リハビリテーションのように生体信号が連続的に検出される場合であっても、迅速に運動推定値を算出することができ、患者の生体信号に基づいた運動推定値をリアルタイムで求めることができる。
【００８２】
スパースコーディングを用いた場合は重みベクトルの非ゼロの要素の数が減少する。このとき、上記で説明したように、スパースコーディングを用いた場合でも本質的に重要な重みの要素は維持されているので、運動推定値を求める際の計算負荷を減少させつつ、運動推定値の精度を維持することができる。
【００８３】
また、本実施の形態にかかる運動推定装置を用いることで、運動推定のための物理的センサ（ジャイロセンサや加速度センサ等）や画像認識によるモーションキャプチャ等が不要になり、運動推定装置の低コスト化が実現できる。また、本実施の形態にかかる運動推定装置では、上流側の生体信号を用いて患者の運動を推定しているので、患者の意図を迅速に推定することができる。
【００８４】
なお、上記実施の形態では、患者が手先で操作部１１を操作する場合（つまり、上肢運動の推定）について説明した。しかし、本発明は患者の下肢運動の推定に適用してもよい。本発明を下肢運動に適用する場合は、患者の下肢の筋肉に筋電位センサを設ける。また、上記実施の形態では、操作部１１が２次元平面上を変位する場合について説明した（図２参照）。しかし、本発明では、操作部が３次元的に変位するように構成してもよい。
【００８５】
また、生体信号として患者１９の脳波（ＥＥＧ）や皮質脳波（ＥｃｏＧ）を用いる場合は、図４に示す前処理部４１、５１に筋電位信号の代わりに脳波信号を入力する。脳波（ＥＥＧ）や皮質脳波（ＥｃｏＧ）を用いる場合、前処理部４１、５１は整流化処理を省略してもよい。
【００８６】
以上、本発明を上記実施形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００８７】
１  運動推定装置
１０  リハビリテーション用ロボット
１１  操作部
１２  モータ
１３  操作量検出部
１４  生体信号検出部
１５  制御部
１６  運動推定部
１７  サーボアンプ
１８  表示部
１９  患者
２１  操作量
２２  生体信号
３１  筐体
３２、３４  関節
３３、３５  アーム
４０  重みベクトル生成部
４１  前処理部
４２  時間シフト操作部
４３  順キネマティクス処理部
４４  重みベクトル算出部
５０  運動推定値生成部
５１  前処理部
５２  時間シフト操作部
５３  運動推定値算出部
【図１】
0006297951.tif 000013
【図２】
0006297951.tif 000014
【図３】
0006297951.tif 000015
【図４】
0006297951.tif 000016
【図５】
0006297951.tif 000017
【図６】
0006297951.tif 000018
【図７】
0006297951.tif 000019
【図８】
0006297951.tif 000020
【図９】
0006297951.tif 000021
【図１０】
0006297951.tif 000022
【図１１】
0006297951.tif 000023