以下、図面を参照しつつ本発明に係る電気刺激装置の実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。まず、図1を参照して、本発明の実施形態にかかる電気刺激装置の概略構成について説明する。図1は、本実施形態における電気刺激装置のブロック図である。図1において、ブロック間を接続する実線は、本実施形態におけるブロック間の電気的な接続を示している。
電気刺激装置1は、生体の筋肉に電気刺激を与えることによって、生体機能の補助又は制御を行う。電気刺激装置1は、いわゆる機能的電気刺激装置を含んでいる。電気刺激装置1が電気刺激を与える筋肉は、例えば、伸筋と屈筋とを含んでいる。電気刺激装置1は、例えば、生体の筋肉に電気刺激を与えることによって、筋肉の動作を制御する。筋肉への電気刺激は、筋肉の動作に関与する神経系に電気刺激を与えることを含んでいる。電気刺激装置1は、電気刺激部2と、検出部3と、本体部4とを備えている。電気刺激部2及び検出部3は、有線又は無線によって本体部4に接続されている。例えば、電気刺激部2及び検出部3は、本体部4に電気的に接続されている。
電気刺激部2は、生体に取り付けられ、この生体の筋肉に電気刺激を与える。電気刺激部2への電位の付与によって、電気刺激部2が取り付けられた生体に電流が流れる。例えば、電気刺激部2は、一対のパッドを含んでおり、この一対のパッドが生体の皮膚に取り付けられる。電気刺激部2は、例えば、前腕に取り付けられる。
電気刺激部2は、本体部4から出力された電気刺激信号に基づいて、生体を介して一対のパッド間に電流を流す。この結果、皮膚を介して筋肉に電気刺激が与えられる。電気刺激信号は、筋肉への電気刺激を制御する信号である。電気刺激信号は、例えば、パルス信号である。電気刺激部2によってパッド間に流される電流のタイミングは、電気刺激信号に同期している。電気刺激信号のパルス幅は、電気刺激部2による電気刺激の強度に対応する。
検出部3は、実情報を検出し、検出された実情報を出力する。「実情報」は、実際の筋肉の動作に関する情報である。「実際の筋肉の動作に関する情報」は、筋肉自体の動作を示す情報と、筋肉の動作に連動した生体の部位の動作を示す情報との少なくとも1つを含んでいる。筋肉自体の動作を示す情報は、例えば、筋電を含んでいる。
検出部3は、例えば、電気刺激部2からの電気刺激による筋肉の動作に連動した生体の部位の動作を実情報として検出する。検出部3は、例えば、生体の部位の位置を検出する。本実施形態において、検出部3は、電気刺激信号を筋肉に与えることによって関節が動作した角度を検出する。例えば、検出部3は、手首関節が動作した角度を検出する。検出部3は、例えば、生体の部位に発生する力、生体の部位に生じる加速度、又は、生体が物に触れる際にこの物に与える力などを検出してもよい。
検出部3は、生体の部位の動作を検出するセンサを含んでいる。検出部3は、例えば、センサとして、回転角度及び回転トルクの情報を出力するモータを含んでいる。検出部3は、センサとして、ロータリエンコーダを含んでいてもよい。検出部3は、光学式、静電式又は感圧式のセンサを含んでいてもよい。検出部3のセンサは、例えば、生体の部位に取り付けられる。本実施形態の変形例として、検出部3は、生体の部位から離間していてもよい。この場合、検出部3は、例えば、モーションキャプチャによって生体の動作を検出する。
本体部4は、電気刺激部2を動作させるための上記電気刺激信号を生成する。本体部4は、1又は複数のコンピュータを含んでいる。本体部4は、目標決定部11と、刺激信号生成部12と、外乱演算部13と、モデル格納部14と、外乱情報変換部15とを含んでいる。
目標決定部11は、筋肉の動作に関する目標値を決定する。例えば、目標決定部11は、外部から取得した指令に基づいて目標値を決定する。例えば、目標決定部11は、決定された目標値を示す指令情報を刺激信号生成部12に出力する。「筋肉の動作に関する目標値」は、筋肉の動作の目標値と、筋肉の動作に連動した生体の部位の動作の目標値との少なくとも1つを含んでいる。例えば、目標決定部11によって決定される目標値は、筋肉の動作に連動して生体の部位を動かす位置、収縮による筋肉の変位、筋肉において発生させる力、及び、筋肉の動作に応じて生体の部位に発生させる力などである。
「指令情報」は、筋肉の動作に関する位置情報と、筋肉の動作に関する力情報との少なくとも1つを含んでいる。力情報は、トルクを示すトルク情報に相当する。トルク情報は、例えば、トルク値である。「筋肉の動作に関する位置情報」は、筋肉の動作に連動して生体の部位を動かす位置を示す情報と、収縮による筋肉の変位を示す情報との少なくとも1つを含んでいる。「筋肉の動作に関する力情報」は、筋肉において発生させる力を示す情報と、筋肉の動作に応じて生体の部位に発生させる力を示す情報との少なくとも1つを含んでいる。「筋肉の動作に連動して生体の部位を動かす位置」は、例えば、関節を動作させる角度である。「筋肉の動作に応じて生体の部位に発生させる力」は、例えば、生体の部位に生じる加速度と、生体が物に触れる際にこの物に与える力との少なくとも1つを含んでいる。本実施形態において、目標決定部11は、指令情報として、関節を動作させる角度を示す角度指令値を出力する。本実施形態の変形例として、目標決定部11は、指令情報として、筋肉に発生させるトルクを示すトルク指令値を出力してもよい。
刺激信号生成部12は、検出部3によって検出された実情報と、目標決定部11から出力された指令情報と、外乱演算部13から出力された外乱情報とに基づいて、上記電気刺激信号を生成する。「外乱情報」は、外乱に関する情報であり、検出部3によって検出された実情報に対して外乱が与えた影響を示す情報である。刺激信号生成部12は、例えば、外乱情報の値がゼロになるように電気刺激信号を生成する。刺激信号生成部12は、例えば、実情報と指令情報と外乱情報とに基づいて、電気刺激信号のパルス幅を設定する。刺激信号生成部12は、生成された電気刺激信号を電気刺激部2及び外乱演算部13に出力する。刺激信号生成部12は、第一加減算部21と、制御情報生成部22と、第二加減算部23と、パルス生成部24と、第三加減算部25とを含んでいる。
第一加減算部21は、検出部3によって検出された実情報と、目標決定部11から出力された指令情報とに基づいて演算を行う。第一加減算部21は、例えば、検出部3によって検出された実情報と、目標決定部11から出力された指令情報との差分を演算する。第一加減算部21は、例えば、目標決定部11から出力された指令情報から、検出部3から出力される実情報を減算することによって偏差を演算する。換言すれば、第一加減算部21は、フィードバック制御における制御偏差を演算する。第一加減算部21は、例えば、検出部3によって検出された実情報と、目標決定部11から出力された指令情報との差分を示す差分情報を取得し、制御情報生成部22に出力する。第一加減算部21は、差分取得部に相当する。
制御情報生成部22は、検出部3によって検出された実情報と、目標決定部11から出力された指令情報とに基づいて、電気刺激信号を生成するための制御情報を生成する。制御情報生成部22は、第一加減算部21から出力された差分情報に基づいて、制御情報を生成する。この結果、フィードバック制御が行われる。第一加減算部21と制御情報生成部22とによって、フィードバック制御が実行される。制御情報生成部22は、例えば、第一加減算部21から出力された差分情報に基づいて、PID制御を行う。「制御情報」は、制御入力である。本明細書において、「PID制御」は、P動作のみによる制御と、I動作のみによる制御と、I動作及びD動作の少なくとも1つとP動作とを組み合わせた制御と、を含んでいる。制御情報生成部22は、PID制御に基づく演算結果を第二加減算部23に出力する。
本実施形態において、本体部4は、フィードフォワード制御部16をさらに含んでいる。フィードフォワード制御部16は、目標決定部11から出力された指令情報に基づいて、フィードフォワード制御を行う。フィードフォワード制御部16は、フィードフォワード制御として、例えば、目標決定部11から出力された指令情報に基づいて、外乱に関する情報を推定する。フィードフォワード制御部16は、例えば、外乱に関する情報として、検出部3からの出力された実情報に基づくPID制御の出力のうち、外乱による影響分を推定する。本実施形態において、フィードフォワード制御部16は、予め決定されている指令情報に対応する伝達関数によって、フィードバック制御を行う。フィードフォワード制御部16は、例えば、検出部3と別途設けられた検出部によって検出された外乱に基づいて、フィードバック制御を行ってもよい。フィードフォワード制御部16は、フィードフォワード制御に基づく演算結果を第二加減算部23に出力する。
本実施形態の変形例として、本体部4は、フィードフォワード制御部16を含んでいなくてもよい。この場合、刺激信号生成部12は、第二加減算部23を含んでいなくてもよい。この場合には、制御情報生成部22は、例えば、PID制御に基づく演算結果をパルス生成部24に出力する。
本実施形態において、第二加減算部23は、制御情報生成部22から出力された制御情報と、フィードフォワード制御部16から出力された情報とに基づいて演算を行う。第二加減算部23は、例えば、PID制御に基づく演算結果とフィードフォワード制御に基づく演算結果との差分を演算する。第二加減算部23は、例えば、PID制御に基づく演算結果から、フィードフォワード制御に基づく演算結果を減算することによって偏差を演算する。第二加減算部23は、例えば、PID制御に基づく演算結果とフィードフォワード制御に基づく演算結果との差分を示す情報を新たな制御情報として、パルス生成部24に出力する。
パルス生成部24は、制御情報生成部22から出力された制御情報に基づいて、パルス信号を生成する。このパルス信号は、電気刺激信号に相当する。パルス生成部24は、例えば、制御情報生成部22から出力された制御情報と、フィードフォワード制御部16から出力された情報とに基づいてパルス信号を生成する。パルス生成部24は、例えば、第二加減算部23から出力された情報に基づいて、パルス信号を生成する。パルス生成部24は、生成されたパルス信号を第三加減算部25に出力する。
パルス生成部24は、例えば、第一パルス信号及び第二パルス信号を生成する。第一パルス信号は、電気刺激信号のうち、伸筋への電気刺激を制御する第一電気刺激信号に対応する。第二パルス信号は、電気刺激信号のうち、屈筋への電気刺激を制御する第二電気刺激信号に対応する。パルス生成部24は、第一パルス信号と第二パルス信号との合計に相当する合計情報と、第一パルス信号と第二パルス信号との差分に相当する差分情報とに基づいて、第一パルス信号と第二パルス信号とをそれぞれ生成する。パルス生成部24は、例えば、モデル格納部14又は不図示の格納部から、上記合計情報と上記差分情報とを取得する。パルス生成部24は、例えば、指令情報に基づいて上記合計情報と上記差分情報とを演算してもよい。
第三加減算部25は、パルス生成部24から出力されたパルス信号に関する情報と、外乱演算部13から出力された外乱情報とに基づいて演算を行う。例えば、第三加減算部25は、パルス生成部24から出力されたパルス信号に関するパルス情報と、外乱情報変換部15から出力された外乱情報とを加算する。第三加減算部25は、パルス信号を出力する。第三加減算部25において、パルス生成部24から出力されたパルス信号のパルス情報が、外乱情報変換部15から出力された外乱情報に応じて変更される。外乱情報変換部15から出力された外乱情報は、外乱演算部13から出力された外乱情報に関する。「パルス情報」は、例えば、パルス幅である。換言すれば、第三加減算部25において、外乱情報変換部15から出力された外乱情報に基づいて、電気刺激信号のパルス幅が設定される。第三加減算部25から出力されたパルス信号は、電気刺激信号として、外乱演算部13及び電気刺激部2に入力される。
このように、刺激信号生成部12は、外乱情報変換部15から出力された外乱情報に基づいて、電気刺激信号を生成する。本実施形態において、刺激信号生成部12は、制御情報生成部22から出力された制御情報に基づいて生成されたパルス信号に関するパルス情報と、外乱情報変換部15から出力された外乱情報とに基づいて、電気刺激信号を生成する。換言すれば、刺激信号生成部12は、制御情報と外乱情報とに基づいて電気刺激信号を生成する。刺激信号生成部12は、生成した電気刺激信号を電気刺激部2及び外乱演算部13に出力する。
外乱演算部13は、刺激信号生成部12から出力された電気刺激信号と、検出部3によって検出された実情報とを取得し、電気刺激信号と実情報とに基づいて外乱情報を演算する。外乱演算部13は、いわゆる外乱オブザーバを含んでいる。外乱演算部13は、刺激信号生成部12から出力された電気刺激信号に基づいて、推定情報を演算する。「推定情報」は、電気刺激信号に基づく電気刺激が筋肉に与えられた場合における筋肉の動作の推定結果を示す情報である。外乱演算部13は、演算された推定情報と、検出部3によって検出された実情報とに基づいて、外乱情報を演算し出力する。外乱演算部13は、演算された推定情報と検出部3によって検出された実情報に関する情報との差分を示す情報を、外乱情報として演算する。「実情報に関する情報」は、実情報自体と、検出部3によって検出された実情報を推定情報と同一の形式に変換した情報との少なくとも1つを含んでいる。
モデル格納部14は、筋肉モデルに関する情報を予め格納している。筋肉モデルは、例えば、伝達関数を含んでいる。モデル格納部14は、例えば、筋肉モデルに関する情報として伝達関数を格納している。筋肉モデルは、電気刺激信号に関する情報の入力によって、推定情報を出力する。「電気刺激信号に関する情報」は、電気刺激信号自体と、電気刺激信号の状態を示す情報との少なくとも1つを含んでいる。「電気刺激信号に関する情報の入力」は、例えば、電気刺激信号が示すパルス情報の入力である。筋肉モデルは、例えば、電気刺激信号に関する情報の入力と一次遅れ系の伝達関数との積算によって、推定情報を出力する。筋肉モデルに含まれている伝達関数は、例えば、ゲインを“K”とし、時定数を“T”とし、ラプラス変換における媒介変数を“s”とした場合、“K/(1+Ts)”によって示される。電気刺激信号のパルス情報がこの筋肉モデルに入力されると、筋肉において発生するトルク情報が出力される。モデル格納部14は、筋肉モデル以外に、各機能部が要する各種情報を予め格納していてもよい。
外乱情報変換部15は、外乱演算部13から出力された外乱情報を所定の情報形式に変換する。外乱情報変換部15は、外乱情報を変換した情報を第三加減算部25に出力する。本実施形態において、外乱情報変換部15は、外乱演算部13から出力された外乱情報を、パルス生成部24から出力されるパルス信号と同一の形式に変換する。換言すれば、外乱情報変換部15は、外乱演算部13から出力された外乱情報を、トルク情報から電気刺激信号のパルスに対応するパルス情報に変換する。
次に、外乱演算部13についてより詳細に説明する。外乱演算部13は、推定部31と、検出情報変換部32と、第四加減算部33と、フィルタ部34と、を含んでいる。
推定部31は、刺激信号生成部12において生成された電気刺激信号と筋肉モデルとに基づいて、電気刺激信号に基づく電気刺激が筋肉に与えられた場合における筋肉の動作の推定結果を示す推定情報を演算する。推定部31は、例えば、モデル格納部14から筋肉モデルに関する情報を取得する。推定部31は、筋肉モデルに電気刺激信号に関する情報を入力し、推定情報を出力する。
筋肉モデルに入力される電気刺激信号に関する情報は、例えば、第三加減算部25から出力された情報である。筋肉モデルが出力する推定情報は、筋肉モデルに入力された電気刺激信号に基づく電気刺激が筋肉に与えられた場合における筋肉の動作の推定結果を示す。筋肉モデルが出力する推定情報は、例えば、筋肉モデルに入力された電気刺激信号に基づく電気刺激が筋肉に与えられた場合における筋肉によるトルクの推定結果を示す。推定部31は、例えば、第三加減算部25から出力された情報と筋肉モデルとに基づく推定情報を第四加減算部33に出力する。
検出情報変換部32は、検出部3によって検出された実情報を所定の情報形式に変換する。本実施形態において、検出情報変換部32は、検出部3によって検出された実情報を、推定部31から出力される推定情報と同一の形式に変換する。検出情報変換部32は、検出部3によって検出された実情報に基づいて、電気刺激信号に基づく電気刺激が筋肉に与えられた場合に実際に筋肉において生じたトルクを示すトルク情報を演算する。本実施形態において、検出情報変換部32は、関節が動作した角度に関する実情報に基づいて、実際に筋肉において生じたトルクを示すトルク情報を演算する。検出情報変換部32は、例えば、関節が動作した角度に関する実情報の入力と予め決められた伝達関数との積算によって、実際に筋肉において生じたトルクの値を出力する。予め決められた伝達関数は、例えば、ノミナル慣性を“Jn”とし、ラプラス変換における媒介変数を“s”とした場合に、“Jns2”によって表される。検出情報変換部32は、検出部3によって検出された実情報を変換した情報を第四加減算部33に出力する。
第四加減算部33は、推定部31から出力された推定情報と、実情報に関する情報とに基づいて演算を行う。第四加減算部33は、例えば、推定部31から出力された推定情報と、実情報に関する情報との差分を演算する。第四加減算部33は、例えば、推定部31から出力された推定情報と、検出情報変換部32から出力された情報との差分を演算する。検出情報変換部32から出力された情報は、検出部3によって検出された実情報に関する。第四加減算部33は、例えば、推定部31から出力された推定情報から、検出情報変換部32から出力された情報を減算することによって偏差を演算する。第四加減算部33は、推定部31から出力された推定情報と、検出情報変換部32から出力された情報との差分を示す情報を、外乱情報としてフィルタ部34に出力する。
フィルタ部34は、第四加減算部33から出力された外乱情報に対してフィルタリングを行う。フィルタ部34は、第四加減算部33から出力された外乱情報から、ノイズを除去する。フィルタ部34は、例えば、例えば、ローパスフィルタを含んでいる。第四加減算部33から出力された情報は、フィルタ部34を介して、外乱情報として外乱情報変換部15に入力される。このように、外乱演算部13は、演算した外乱情報を外乱情報変換部15に出力する。
次に、図1及び図2を参照して、電気刺激装置1を用いた電気刺激方法の一例について説明する。図2は、電気刺激装置において行われる制御の概略図である。
まず、目標決定部11は、角度指令値θcmdを出力する。目標決定部11から出力された角度指令値θcmdは、フィードフォワード制御部16と第一加減算部21とにそれぞれ入力される。フィードフォワード制御部16は、角度指令値θcmdに基づいてフィードフォワード制御を行う。第一加減算部21は、既に検出部3において検出されている角度応答値θresと角度指令値θcmdとの差分を演算する。第一加減算部21において演算された差分情報は、制御情報生成部22に入力される。すなわち、第一加減算部21は、フィードバック制御の制御偏差を演算し、制御情報生成部22に入力する。制御情報生成部22は、入力された差分情報に基づいてPID制御を実行し、制御情報を第二加減算部23に出力する。制御情報は、制御入力である。制御情報生成部22は、入力された差分情報に基づいてPID制御を実行することによって、フィードバック制御を実行する。
第二加減算部23は、制御情報生成部22のPID制御による制御情報と、フィードフォワード制御部16のフィードフォワード制御による制御情報との差分を演算し、この差分を示す情報を制御情報uとしてパルス生成部24に出力する。パルス生成部24は、制御情報uに基づいて一対のパルス信号を生成し、生成した各パルス信号を第三加減算部25に出力する。
第三加減算部25は、パルス生成部24において生成された各パルス信号に外乱情報変換部15においてパルス情報に変換された外乱情報を加算し、電気刺激信号S1,S2として出力する。換言すれば、第三加減算部25は、外乱情報に基づいて、電気刺激信号を生成する。電気刺激信号S1は、伸筋への電気刺激を制御する信号である。電気刺激信号S2は、屈筋への電気刺激を制御する信号である。電気刺激信号S1,S2は、それぞれ外乱演算部13と電気刺激部2とに出力される。電気刺激信号S1は第一電気刺激信号に相当し、電気刺激信号S2は第二電気刺激信号に相当する。
電気刺激部2は、生成された電気刺激信号S1,S2に基づいて筋肉αに電気刺激を与える。電気刺激部2は、電気刺激信号S1に応じて、伸筋に電気刺激を与える。電気刺激部2は、電気刺激信号S2に応じて、屈筋に電気刺激を与える。伸筋及び屈筋は、電気刺激部2から与えられた電気刺激に応じて、筋肉収縮を行う。この結果、伸筋の動作及び屈筋の動作に連動して関節が動作する。関節が動作する角度は、角度応答値θresとして検出部3によって検出される。検出部3は、検出された角度応答値θresを実情報として第一加減算部21及び外乱演算部13に出力する。換言すれば、検出部3は、実際の筋肉αの動作に関する実情報を取得し、出力する。
外乱演算部13は、筋肉モデルによって、電気刺激信号S1,S2に基づく電気刺激が与えられた場合における筋肉αの動作の推定結果を示す推定情報を取得する。外乱演算部13は、推定部31において、各電気刺激信号S1,S2と筋肉モデルとに基づいて、電気刺激信号S1,S2に基づく電気刺激が筋肉αに与えられた場合における筋肉αの動作を推定する。この際、筋肉モデルは、伸筋と屈筋とのそれぞれに対応する複数の筋肉モデルを含んでいてもよい。この場合、電気刺激信号S1は、伸筋に対応する筋肉モデルに入力される。電気刺激信号S2は、屈筋に対応する筋肉モデルに入力される。筋肉モデルは、電気刺激信号S1,S2に関する情報の入力によって、推定情報を出力する。推定情報は、電気刺激信号S1,S2に基づく電気刺激が筋肉αに与えられた場合に筋肉αにおいて生じるトルクを示すトルク情報を含んでいる。推定部31は、推定情報を第四加減算部33に出力する。
外乱演算部13は、検出情報変換部32において、検出部3によって検出された角度応答値θresを示す角度情報を、トルク情報に変換する。換言すれば、検出情報変換部32は、関節が動作した角度に関する実情報の入力と、予め決められた伝達関数との積算によって、実際に筋肉αにおいて生じたトルクを示すトルク情報を出力する。検出情報変換部32は、角度情報からトルク情報に変換された実情報を第四加減算部33に出力する。
外乱演算部13は、推定部31から出力された推定情報と、検出情報変換部32において変換された実情報とに基づいて、実情報に対して外乱が与えた影響を示す外乱情報を演算する。外乱演算部13は、第四加減算部33において、推定部31から出力された推定情報と、検出情報変換部32において変換された実情報との差分を演算し、この差分を示す情報を外乱情報としてフィルタ部34に出力する。第四加減算部33から出力される外乱情報は、外乱のトルク情報である。フィルタ部34は、第四加減算部33から出力された外乱情報に対して、フィルタリングを行う。この結果、第四加減算部33から出力された外乱情報から、ノイズが除去される。フィルタ部34から出力された外乱情報は、外乱情報変換部15に入力される。外乱情報変換部15は、外乱演算部13から出力された外乱情報を、トルク情報からパルス情報に変換する。以上の様に、図2に示されている制御においては、位置制御のみが行われる。
次に、図3を参照して、電気刺激装置1における本体部4のハードウェア構成について説明する。図3は、本体部4のハードウェア構成の一例を示す図である。
本体部4は、プロセッサ101と、主記憶装置102と、補助記憶装置103と、通信装置104と、入力装置105と、出力装置106とを備えている。本体部4は、これらのハードウェアと、プログラム等のソフトウェアとにより構成された1又は複数のコンピュータを含んでいる。目標決定部11、刺激信号生成部12、外乱演算部13、モデル格納部14、外乱情報変換部15、及び、フィードフォワード制御部16のそれぞれは、1つのコンピュータによって構成されていてもよいし、複数のコンピュータによって構成されていてもよい。本体部4は、ハードウェアとソフトウェアとが協働して実現されている。
本体部4が、複数のコンピュータによって構成される場合には、これらのコンピュータはローカルで接続されてもよいし、インターネット又はイントラネットなどの通信ネットワークを介して接続されてもよい。この接続によって、論理的に1つの本体部4が構築される。
プロセッサ101は、オペレーティングシステム及びアプリケーション・プログラムなどを実行する。主記憶装置102は、ROM(Read Only Memory)及びRAM(Random Access Memory)により構成される。例えば、本体部4の各種機能部の少なくとも一部は、プロセッサ101及び主記憶装置102によって実現され得る。
補助記憶装置103は、ハードディスク及びフラッシュメモリなどにより構成される記憶媒体である。補助記憶装置103は、一般的に主記憶装置102よりも大量のデータを記憶する。例えば、モデル格納部14の少なくとも一部は、補助記憶装置103によって実現され得る。
通信装置104は、ネットワークカード又は無線通信モジュールにより構成される。例えば、目標決定部11の少なくとも一部は、通信装置104によって実現され得る。入力装置105は、キーボード、マウス、及び、タッチパネルなどにより構成される。例えば、目標決定部11の少なくとも一部は、入力装置105によって実現され得る。出力装置106は、プリンタなどにより構成される。
補助記憶装置103は、予め、プログラム及び処理に必要なデータを格納している。このプログラムは、本体部4の各機能要素をコンピュータに実行させる。このプログラムによって、例えば、後述する状態識別方法における各処理がコンピュータにおいて実行される。このプログラムは、例えば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に記録された上で提供されてもよい。このプログラムは、データ信号として通信ネットワークを介して提供されてもよい。
次に、図4及び図5を参照して、本実施形態の変形例における電気刺激装置1Aについて説明する。図4は、本実施形態の変形例における電気刺激装置のブロック図である。電気刺激装置1Aは、概ね、上述した実施形態及び変形例の電気刺激装置1と類似又は同じである。電気刺激装置1Aは、検出部3が関節の動作角度でなく筋電を検出する点、フィードフォワード制御部16が含まれておらず、第二加減算部23も含まれていない点、目標決定部11が角度指令値でなくトルク指令値を出力する点、検出情報変換部32が含まれていない点、第三加減算部25が含まれておらず、外乱情報が第五加減算部26に入力される点において、上述した電気刺激装置1と相違する。以下、上述した実施形態と変形例との相違点を主として説明する。
図4に示されているように、本変形例において、外乱情報変換部15は、外乱演算部13から出力された外乱情報を、トルク情報から、制御情報生成部22から出力される制御情報に対応する制御情報に変換する。本変形例において、刺激信号生成部12は、第五加減算部26を含んでいる。第五加減算部26は、制御情報生成部22から出力された制御情報と、外乱情報変換部15から出力された制御情報とを加算する。第五加減算部26は、例えば、制御情報生成部22から出力された制御情報と、外乱情報変換部15から出力された制御情報とを加算した情報を新たな制御情報として、パルス生成部24に出力する。本変形例において、パルス生成部24は、第五加減算部26から出力された制御情報に基づいて、パルス信号を生成する。パルス生成部24は、生成したパルス信号を電気刺激信号として、電気刺激部2及び推定部31に出力する。本変形例において、検出部3が実情報としてトルク情報を出力する場合には、検出部3は検出情報変換部32を介さずに第四加減算部33に実情報を出力する。
次に、図4及び図5を参照して、図4に示されている電気刺激装置1Aを用いた電気刺激方法の一例について説明する。図5は、電気刺激装置1Aにおいて行われる制御の概略図である。
図5に示されている制御において、目標決定部11は、トルク指令値Tcmdを出力する。本変形例においては、目標決定部11は、筋肉αの伸筋に対応するトルク指令値Tcmdと筋肉αの屈筋に対応するトルク指令値Tcmdとを出力する。目標決定部11から出力されたトルク指令値Tcmdは、第一加減算部21にそれぞれ入力される。第一加減算部21は、既に検出部3において検出されている伸筋に対応するトルク応答値Tresと伸筋に対応するトルク指令値Tcmdとの差分を演算する。第一加減算部21は、既に検出部3において検出されている屈筋に対応するトルク応答値Tresと屈筋に対応するトルク指令値Tcmdとの差分を演算する。第一加減算部21において演算された各差分を示す差分情報は、制御情報生成部22に入力される。すなわち、第一加減算部21は、フィードバック制御の制御偏差を演算し、制御情報生成部22に入力する。制御情報生成部22は、入力された各差分情報に基づいてPID制御を実行し、一対の制御情報を第五加減算部26に出力する。一対の制御情報は、伸筋に対応する制御情報と屈筋に対応する制御情報とを含んでいる。
第五加減算部26は、制御情報生成部22のPID制御による一対の制御情報のそれぞれに、外乱情報変換部15において変換された制御情報を加算する。第五加減算部26は、制御情報生成部22から出力された伸筋に対応する制御情報に、外乱情報変換部15から出力された伸筋に対応する制御情報を加算し、伸筋に対応する制御情報uをパルス生成部24に出力する。第五加減算部26は、制御情報生成部22から出力された屈筋に対応する制御情報に、外乱情報変換部15から出力された屈筋に対応する制御情報を加算し、屈筋に対応する制御情報uをパルス生成部24に出力する。パルス生成部24は、伸筋に対応する制御情報uに基づいてパルス信号を生成し、このパルス信号を電気刺激信号S1として出力する。パルス生成部24は、屈筋に対応する制御情報uに基づいてパルス信号を生成し、このパルス信号を電気刺激信号S2として出力する。
電気刺激部2は、電気刺激信号S1に応じて、伸筋に電気刺激を与える。電気刺激部2は、電気刺激信号S2に応じて、屈筋に電気刺激を与える。伸筋及び屈筋は、電気刺激部2から与えられた電気刺激に応じて、筋肉収縮を行う。この結果、伸筋の動作及び屈筋の動作に連動して関節が動作する。検出部3は、伸筋の筋電を検出し、検出結果を実情報として第一加減算部21及び外乱演算部13の第四加減算部33に出力する。検出部3は、屈筋の筋電を検出し、検出結果を実情報として第一加減算部21及び外乱演算部13の第四加減算部33に出力する。筋電の検出結果は、各筋肉αにおいて生じるトルクに対応する。
外乱演算部13は、推定部31において、各電気刺激信号S1,S2と筋肉モデルとに基づいて、電気刺激信号S1,S2に基づく電気刺激が筋肉αに与えられた場合における筋肉αの動作を推定する。筋肉モデルは、電気刺激信号S1,S2に関する情報の入力によって、伸筋に対応する推定情報と、屈筋に対応する推定情報とを出力する。伸筋に対応する推定情報は、電気刺激信号S1に基づく電気刺激が伸筋に与えられた場合に伸筋において生じるトルクを示すトルク情報を含んでいる。屈筋に対応する推定情報は、電気刺激信号S2に基づく電気刺激が屈筋に与えられた場合に屈筋において生じるトルクを示すトルク情報を含んでいる。推定部31は、各推定情報を第四加減算部33に出力する。
外乱演算部13は、第四加減算部33において、伸筋に対応する推定情報と、伸筋に対応する実情報に関する情報との差分を演算し、この差分を示す情報を外乱情報としてフィルタ部34に出力する。外乱演算部13は、第四加減算部33において、屈筋に対応する推定情報と、屈筋に対応する実情報に関する情報との差分を演算し、この差分を示す情報を外乱情報としてフィルタ部34に出力する。第四加減算部33から出力される各外乱情報は、外乱のトルク情報である。フィルタ部34は、第四加減算部33から出力された外乱情報に対して、フィルタリングを行う。フィルタ部34から出力された外乱情報は、外乱情報変換部15に入力される。外乱情報変換部15は、外乱演算部13から出力された外乱情報を、トルク情報から制御情報に変換する。以上の様に、図4に示されている制御によれば、力制御のみが行われる。
本実施形態の変形例として、力制御は、インピーダンス制御又はコンプライアンス制御によって行われてもよい。この場合、本体部4は、外乱演算部13から出力された外乱情報に基づいて、インピーダンス制御におけるインピーダンス又はコンプライアンス制御におけるコンプライアンスを設定してもよい。この場合、刺激信号生成部12は、例えば、設定されたインピーダンス又はコンプライアンスに基づいて、電気刺激信号を生成する。
次に、図6及び図7を参照して、本実施形態の変形例における電気刺激装置1Bについて説明する。図6は、本実施形態の別の変形例における電気刺激装置のブロック図である。電気刺激装置1Bは、概ね、上述した実施形態及び変形例と類似又は同じである。電気刺激装置1Bは、外乱情報変換部15が含まれていない点、フィードフォワード制御部16が含まれていない点、目標決定部11が角度指令値とトルク指令値とを出力する点、第二加減算部23及び第三加減算部25が含まれていない点、外乱情報が第六加減算部27に入力される点において、電気刺激装置1と相違する。以下、上述した実施形態と変形例との相違点を主として説明する。
図6に示されているように、本変形例において、目標決定部11は、角度指令値とトルク指令値と指令情報として出力する。目標決定部11は、角度指令値を第一加減算部21に出力し、トルク指令値を第六加減算部27に出力する。本変形例において、刺激信号生成部12は、第六加減算部27を含んでいる。第六加減算部27は、目標決定部11から出力された指令情報と外乱演算部13から出力された外乱情報とを加算し、トルク指令値の指令情報に外乱情報が加算された情報を制御情報生成部22に出力する。制御情報生成部22は、生成した制御情報をパルス生成部24に出力する。本変形例において、パルス生成部24は、生成したパルス信号を電気刺激信号として、電気刺激部2及び推定部31に出力する。本変形例において、外乱演算部13は、外乱情報変換部15を介さずに、外乱情報を第六加減算部27に出力する。
図6及び図7を参照して、図6に示されている電気刺激装置1Bを用いた電気刺激方法の一例について説明する。図7は、本実施形態の別の変形例の電気刺激装置において行われる制御の概略図である。
図7に示されている制御において、目標決定部11は、角度指令値θcmd及びトルク指令値Tcmdを出力する。換言すれば、目標決定部11から出力される指令情報は、筋肉αの動作に関する位置情報と、筋肉αの動作に関する力情報とを含んでいる。目標決定部11から出力された角度指令値θcmd及びトルク指令値Tcmdは、第一加減算部21にそれぞれ入力される。第一加減算部21は、既に検出部3において検出されている角度応答値θresと角度指令値θcmdとの差分を演算し、演算された差分を示す差分情報を制御情報生成部22に出力する。すなわち、第一加減算部21は、フィードバック制御の制御偏差を演算し、制御情報生成部22に入力する。制御情報生成部22は、入力された差分情報に基づいてPID制御を実行する。
第六加減算部27は、トルク指令値Tcmdに、外乱演算部13から出力された外乱情報を加算し、制御情報生成部22に出力する。外乱演算部13から出力された外乱情報は、トルク情報である。この結果、トルク指令値Tcmdが外乱情報に基づいて修正される。換言すれば、指令情報のうち筋肉αの動作に関する力情報が外乱情報に基づいて修正される。制御情報生成部22は、トルク指令値Tcmdに関する情報に対してフィードフォワード制御を行わない。
制御情報生成部22は、角度応答値θresと角度指令値θcmdとの差分情報、及び、トルク指令値Tcmdに関する情報に基づいて制御情報uを生成する。換言すれば、制御情報生成部22は、位置情報と、外乱情報によって修正された力情報とに基づいて制御情報uを生成する。制御情報生成部22は、制御情報uをパルス生成部24に出力する。パルス生成部24は、制御情報uに基づいて一対のパルス信号を生成する。パルス生成部24は、一対のパルス信号を電気刺激信号S1,S2として出力する。換言すれば、パルス生成部24は、制御情報uに基づいて電気刺激信号を生成する。さらに換言すれば、パルス生成部24は、外乱情報によって修正された力情報と位置情報とに基づいて、電気刺激信号を生成する。
電気刺激部2は、電気刺激信号S1に応じて、伸筋に電気刺激を与える。電気刺激部2は、電気刺激信号S2に応じて、屈筋に電気刺激を与える。伸筋及び屈筋は、電気刺激部2から与えられた電気刺激に応じて、筋肉収縮を行う。この結果、伸筋の動作及び屈筋の動作に連動して関節が動作する。関節が動作する角度は、角度応答値θresとして検出部3によって検出される。検出部3は、検出された角度応答値θresを実情報として第一加減算部21及び外乱演算部13に出力する。第一加減算部21は、上述したように、検出部3によって検出された実情報と角度指令値θcmdとの差分を演算する。
外乱演算部13は、推定部31において、各電気刺激信号S1,S2と筋肉モデルとに基づいて、電気刺激信号S1,S2に基づく電気刺激が筋肉αに与えられた場合における筋肉αの動作を推定する。筋肉モデルは、電気刺激信号S1,S2に関する情報の入力によって、推定情報を出力する。推定情報は、電気刺激信号S1,S2に基づく電気刺激が筋肉αに与えられた場合に筋肉αにおいて生じるトルクを示すトルク情報を含んでいる。推定部31は、推定情報を第四加減算部33に出力する。
外乱演算部13は、検出情報変換部32において、検出部3によって検出された角度応答値θresを示す角度情報を、トルク情報に変換する。検出情報変換部32は、角度情報からトルク情報に変換された実情報を第四加減算部33に出力する。
外乱演算部13は、第四加減算部33において、推定部31から出力された推定情報と、検出情報変換部32において変換された実情報との差分を演算し、この差分を示す情報を外乱情報としてフィルタ部34に出力する。第四加減算部33から出力される外乱情報は、外乱のトルク情報である。フィルタ部34は、第四加減算部33から出力された外乱情報に対して、フィルタリングを行う。フィルタ部34から出力された外乱情報は、第一加減算部21に出力される。第一加減算部21に出力された外乱情報は、トルク指令値Tcmdに加算される。以上の様に、図7に示されている制御によれば、位置制御と力制御との双方が行われる。外乱情報は、変換されることなくトルク指令値Tcmdに加算される。
次に、上述した実施形態にかかる電気刺激装置1,1A,1Bによる作用効果について説明する。
電気刺激装置1,1A,1Bにおいて、外乱演算部13は、実際の筋肉の動作に関する実情報と筋肉の動作の推定結果を示す推定情報とに基づいて、実情報に対して外乱が与えた影響を示す外乱情報を演算する。刺激信号生成部12は、外乱演算部13によって演算された外乱情報に基づいて、電気刺激信号を生成する。このように、電気刺激装置1,1A,1Bにおいて、外部から筋肉に加わる力に関する外乱情報が演算され、演算された外乱情報に基づいて電気刺激信号が生成される。換言すれば、生体の筋肉の制御において、外乱オブザーバが適用されている。このような構成は、位置制御についても力制御についても、位置制御及び力制御の両方についても、適用され得る。この結果、外部から筋肉に加わる力に対する外乱抑圧特性が向上する。換言すれば、外部から筋肉に力が加わるような状況であったとしても、ロバスト性が確保され得る。したがって、ロバスト性が確保された状態において筋肉の動作が制御され得る。さらに、この電気刺激装置1,1A,1Bによれば、加速度制御の実現がされ得る。加速度制御が実現されれば、力制御、及び、位置制御と力制御とを組み合わせた制御が可能である。この結果、電気刺激によって生体により繊細な動作を行わせることができる。
電気刺激装置1,1A,1Bにおいて、外乱演算部13は、筋肉モデルと、刺激信号生成部12において生成された電気刺激信号とに基づいて、推定情報を演算する。筋肉モデルは、電気刺激信号に関する情報の入力によって推定情報を出力するモデルである。外乱演算部13は、演算された推定情報と、検出部によって検出された実情報に関する情報との差分を示す情報を外乱情報として演算する。この場合、外乱情報がより正確に演算され得る。
電気刺激装置1,1A,1Bにおいて、刺激信号生成部12は、指令情報と実情報と外乱情報とを取得している。指令情報は、筋肉の動作に関する目標値を示す。刺激信号生成部12は、指令情報と実情報と外乱情報とに基づいて、電気刺激信号を生成する。この場合、刺激信号生成部12が指令情報及び実情報にも基づいて電気刺激信号を生成するため、追従特性と外乱抑圧特性との両立がより確実に図られ得る。例えば、刺激信号生成部12は、指令情報と実情報とに基づいて、フィードバック制御を行い得る。この場合、外乱抑圧特性が確保されながら、追従特性の向上が図られ得る。
電気刺激装置1,1Aにおいて、刺激信号生成部12は、第一加減算部21と、制御情報生成部22とを含んでいる。第一加減算部21は、指令情報と実情報との差分を示す差分情報を取得する。制御情報生成部22は、差分情報に基づいて電気刺激信号を生成するための制御情報を生成する。刺激信号生成部12は、制御情報と外乱情報とに基づいて電気刺激信号を生成する。この場合、制御情報の生成によって、追従特性が確保され得る。例えば、制御情報生成部22においては、追従特性のみを考慮してPID制御のパラメータを決定できる。制御情報が生成された後に制御情報と外乱情報とに基づいて電気刺激信号が生成されるため、追従特性の確保と外乱抑圧特性の確保との両立がより容易かつ確実に実現され得る。
電気刺激装置1,1A,1Bにおいて、電気刺激信号は、伸筋への電気刺激を制御する電気刺激信号S1と、屈筋への電気刺激を制御する電気刺激信号S2とを含んでいる。関節の動作には、伸筋及び屈筋の筋収縮の関係が密接に関係している。電気刺激信号によって伸筋の動作と屈筋の動作とがそれぞれ制御されることによって、生体の動作の制御がより正確かつ自然に行われ得る。
電気刺激装置1,1A,1Bにおいて、パルス生成部24は、第一及び第二パルス信号を生成する。第一パルス信号は、電気刺激信号S1に対応する。第二パルス信号は、電気刺激信号S2に対応する。パルス生成部24は、パルス生成部24は、第一パルス信号と第二パルス信号との合計に相当する合計情報と、第一パルス信号と第二パルス信号との差分に相当する差分情報とを取得する。パルス生成部24は、取得された合計情報と差分情報とに基づいて、第一パルス信号と第二パルス信号とをそれぞれ生成する。この場合、伸筋及び屈筋の動作がより高度に制御され得る。例えば、指令情報に応じて、伸筋の動作と屈筋の動作とのバランスが図られ得る。電気刺激信号は、パルス信号である。刺激信号生成部12は、外乱情報に応じて、電気刺激信号のパルス幅を修正する。この場合、電気刺激信号によって、筋肉の動作がより確実に制御され得る。
電気刺激装置1において、外乱情報変換部15は、電気刺激信号のパルスに対応するパルス情報に外乱情報を変換する。刺激信号生成部12は、外乱情報変換部15によって変換された外乱情報に基づいて、電気刺激信号のパルス幅を設定する。この場合、外乱情報に基づいて電気刺激信号が直接的に修正されるため、外乱抑圧特性がさらに向上され得る。
電気刺激装置1において、フィードフォワード制御部16は、指令情報に基づいてフィードフォワード制御を行う。刺激信号生成部12は、フィードフォワード制御部から出力された情報に基づいて、電気刺激信号を生成する。この場合、フィードフォワード制御部16によっても外乱を考慮した制御が行われ得る。フィードフォワード制御部16によってある程度の外乱抑圧特性が確保されれば、外乱演算部によって演算された外乱情報に基づいて電気刺激信号を生成することによって、指令情報に対する筋肉の動作の精度がさらに高度に向上され得る。フィードフォワード制御部16からの出力情報に基づいて位置制御における外乱の影響を低減し、外乱演算部13によって演算された外乱情報に基づいて力制御における外乱の影響を低減することが可能である。
電気刺激装置1Bにおいて、指令情報は、筋肉の動作に関する位置情報と、筋肉の動作に関する力情報とを含んでいる。刺激信号生成部12は、力情報を外乱情報に基づいて修正する。刺激信号生成部12は、変位情報と、修正された力情報とに基づいて電気刺激信号を生成する。この場合、位置情報に基づいて追従特性が確保されながら、筋肉において発生させる力に対して、外乱抑圧特性が向上され得る。したがって、物を握るなど、生体が外部の物から反力を受ける動作がより的確に実行され得る。
電気刺激装置1Aにおいて、刺激信号生成部12は、外乱情報に基づいて、インピーダンス制御におけるインピーダンス、又は、コンプライアンス制御におけるコンプライアンスを設定する。刺激信号生成部12は、設定されたインピーダンス又はコンプライアンスに基づいて電気刺激信号を生成する。この場合、電気刺激による筋肉の動作の制御において、外部から筋肉に加わる力を考慮してより適切にインピーダンス制御又はコンプライアンス制御が行われ得る。
次に、図8から図12を参照して、電気刺激装置1の検証の一例を説明する。本検証においては、図8に示されているように、検出部3は、回転台61と、回転台61に固定された固定バー62と、モータ63とを含んでいる。モータ63は、回転台61の回転角度及び回転トルクを検出する。モータ63は、検証のために、入力した指示した情報にしたがってトルクを発生する。生体50の前腕51及び手52は、手首53が回転台61の中心軸上に位置するように固定バー62及び固定具64によって拘束された。固定バー62が手52によって押され、手首関節の角度によって回転台61が回転する。電気刺激部2のパッドは、生体50の前腕51の伸筋群側と屈筋群側とにそれぞれ取り付けられた。以上の構成によって、掌屈及び背屈時における手首関節の角度のみが測定された。
本検証において、生体50は、健常者である。脳からの指令による筋収縮を避けるために、脱力した状態において行われた。したがって、電気刺激が筋肉に与えられていない状態において、図8に示されているように、手52は、前腕51に対してまっすぐに延在している。この状態を角度0radとした。電気刺激信号のパルス幅の変調によって、筋肉に与える刺激強度が変更された。筋肉モデルの伝達関数として、上述した“K/(1+Ts)”を用いた。本検証において、電気刺激装置1は、図2に示されている構成からフィードフォワード制御部16を取り除いた構成を有している。これらの条件は、後述する同定実験、外乱抑制特性の検証実験、及び、追従特性の検証実験において共通する。
ゲイン“K”及び時定数“T”は、同定実験の実験結果に基づいて決定された。同定実験では、伸筋側の電気刺激部2及び屈筋側の電気刺激部2のそれぞれに任意のパルス信号を電気刺激信号として入力し、パルス信号とモータ63によって検出された回転トルクと関係を測定した。この結果、本検証における同定実験では、ゲイン“K”の値は、パルス幅が増えるにつれて減少する傾向にあるということが明らかになった。このため、同定実験の実験結果によって得られたパルス幅とゲイン“K”とのプロットの近似曲線に基づいて、入力パルスに応じて筋肉モデルのゲイン“K”を変更するようにした。同定実験の実験結果によって、時定数“T”は立ち上がり時間に依存し,パルス幅には依存しないということが考えられた。このため、時定数“T”は平均値を計算し、その値を採用した。屈筋側の時定数“T”は、0.2060秒とし、伸筋側の時定数“T”は0.3052秒とした。
次に、電気刺激装置1における外乱抑制特性の検証実験結果について説明する。この実験において、角度指令値θcmd=0radとして指令情報に基づいて電気刺激信号が生成され、作成された電気刺激信号が電気刺激部2に出力された。モータ63は、外乱として図9に示されているトルクを発生するように制御された。換言すれば、モータ63は、外乱として、時間の経過と共にサインカーブを描くトルクを発生させた。
実験の結果として、図10(a)及び図10(b)に示されているように、モータ63において検出された回転角度が測定された。すなわち、測定結果は、生体50に電気刺激が与えられた場合の角度応答値である。図10(a)及び図10(b)において、実線は指令情報を示しており、破線は測定結果を示している。図10(a)は、比較例の測定結果を示している。図10(b)は、上述した電気刺激装置1の測定結果を示している。比較例は、外乱演算部13、外乱情報変換部15、及びフィードフォワード制御部16を含んでいない。すなわち、図10(a)に示される比較例においては、PID制御によるフィードバック制御のみによって電気刺激信号が生成された。
図10(a)に示されているように、比較例においては、外乱の影響を受けて、サインカーブに近い測定結果が得られた。図10(b)に示されているように、フィードフォワード制御部16を取り除いた電気刺激装置1においては、外乱の影響が低減され、0度の近辺で推移する測定結果が得られた。
データの数を“n”とし、指令情報を“θ
cmd”とし、計測された回転角度を“θ
res”とした場合に、2乗平均平方根誤差(RMSE:Root Mean Square Error)を以下の式(1)ように定義した。
この場合、上記比較例において、RMSEは、0.0997radであった。電気刺激装置1において、RMSEは、0.0132radであった。このように、電気刺激装置1は、フィードフォワード制御部16を取り除いた状態であっても、比較例よりも外乱抑圧特性が向上されることが確認された。
次に、電気刺激装置1における追従特性の検証実験結果について説明する。この実験において、図11に示されるように時間の経過とともに角度指令値の値がサインカーブを描く指令情報に基づいて電気刺激信号が生成され、生成された電気刺激信号が電気刺激部2に出力された。
実験の結果として、図12(a)及び図12(b)に示されているように、モータ63において検出された回転角度が測定された。すなわち、測定結果は、生体50に電気刺激が与えられた場合の角度応答値である。図12(a)及び図12(b)において、実線は指令情報を示しており、破線は測定結果を示している。図12(a)は、比較例の測定結果を示している。図12(b)は、フィードフォワード制御部16を取り除いた電気刺激装置1の測定結果を示している。上記比較例と同様に、比較例は、外乱演算部13、外乱情報変換部15、及びフィードフォワード制御部16を含んでいない。すなわち、図12(a)に示される比較例においては、PID制御によるフィードバック制御のみによって電気刺激信号が生成された。
図12(a)に示されているように、比較例においては、測定結果が指令情報から大きく逸脱した。図12(b)に示されているように、電気刺激装置1においては、測定結果が指令情報に対して追従している。電気刺激装置1においては、方向転換の際にも、指令情報に対して測定結果が追従している。電気刺激装置1の測定結果の追従特性は、比較例の測定結果の追従特性よりも高いことが確認された。
この場合、上記比較例において、RMSEは、0.03896radであった。電気刺激装置1において、RMSEは、0.02116radであった。このように、電気刺激装置1は、フィードフォワード制御部16を取り除いた状態であっても、比較例よりも追従特性が向上されることが定量的にも確認された。なお、フィードフォワード制御部16を含む電気刺激装置1においては、さらに小さいRMSEが確認された。
以上、本発明の実施形態及び変形例について説明してきたが、本発明は必ずしも上述した実施形態及び変形例に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
例えば、図1、図2、図4から図7に示されている構成及び制御は、互いに組み合わされてもよい。例えば、図4及び図6に示されている構成に、フィードフォワード制御部16が含まれていてもよい。この場合、図5及び図7に示されている制御において、フィードフォワード制御が組み込まれてもよい。
上述した実施形態及び変形例において、検出部3によって検出された実情報を変換する実情報変換部がさらに備えられていてもよい。この実情報変換部は、例えば、検出部3によって検出された実情報を所定の情報形式に変換し、第一加減算部21に出力する。例えば、図4及び図5に示されている構成及び制御において、この実情報変換部は、検出部3によって検出された実情報をトルク情報から角度情報に変換してもよい。この場合、図4及び図5に示されている構成及び制御において、目標決定部11は、指令情報として角度指令値θcmdを第一加減算部21に出力してもよい。
図4及び図5に示されている構成及び制御のように、検出部3がトルク情報を第一加減算部21及び外乱演算部13に出力する構成及び制御において、検出部3は、生体が干渉する物に設けられ、この物に加わる力を検出してもよい。