(57)【特許請求の範囲】
【請求項１】
人の関節にトルクを加えて人の動作を補助する動作補助装置であり、
人の予め定められた動作に伴って実現されるｎ個の関節の角度の第１タイミングから第２タイミングまでの既知軌道を複数の相互に異なる動作群の夫々について記憶しているとともに、ｎ個の関節の角度を説明変数として入力するとｎより小さいｓ次元の目的変数ベクトルを出力する主成分分析に基づく変換関数に、ｎ次元の既知軌道の各時刻における値を入力して得られるｓ次元の目的変数ベクトルの既知時系列データ群を記憶している記憶モジュールと、
ｎ個の人の関節の角度を計測するセンサと、
ｎ個の人の関節のうちの特定関節にトルクを加えるアクチュエータを有する装具と、
アクチュエータを制御するコントローラと、を備えており、
コントローラが、
第１タイミングと、第２タイミングよりも早いタイミングに設定されている中間タイミングとの間の先行タイムスパンに、特定関節にトルクを加えないようにアクチュエータを制御しながら、センサによって計測されるｎ個の関節の角度の時系列データによって構成されるｎ次元の計測軌道を取得し、
前記変換関数に、ｎ次元の計測軌道の各時刻における値を入力して得られるｓ次元の目的変数ベクトルの計測時系列データを算出し、
各既知時系列データの先行タイムスパンにおけるデータを計測時系列データと比較し、計測時系列データに最も近い既知時系列データを特定し、
中間タイミング以後に設定されている補助開始タイミング以降に、特定された既知時系列データに対応する既知軌道に含まれている特定関節の軌道に、特定関節の計測角度が追従するようにアクチュエータを追従制御することを特徴とする動作補助装置。
【請求項２】
コントローラは、計測時系列データと特定された既知時系列データとの差が閾値よりも大きい場合に、追従制御をキャンセルすることを特徴とする請求項１に記載の動作補助装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の関節にトルクを加えて人の動作を補助する動作補助装置に関する。
【背景技術】
【０００２】
人の関節にトルクを加えて人の動作を補助する動作補助装置が研究されている。特許文献１に、そのような動作補助装置の一つが開示されている。特許文献１の動作補助装置は、人の関節にトルクを加えるアクチュエータを有する装具と、人の動作パターンを構成する複数の最小単位（フェーズ）を、予め定められた基準パラメータで分類したデータベースを備えている。基準パラメータには、例えば関節角が選ばれる。その動作補助装置は、基準パラメータに相当する物理量を計測し、計測結果を基準パラメータと比較することによって現在人が行っている動作のフェーズを推定する。即ち、動作補助装置は、計測結果に最も近い基準パラメータを有するフェーズを、人が行っている動作パターンの推定値として決定する。そして動作補助装置は、推定されたフェーズを実現するように人の関節にトルクを付与し、人の動作を補助する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９５５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
人の動作を補助する動作補助装置には、動作パターンごとに適切なトルクを人の関節に加えることが求められる。なお、特許文献１における「フェーズ」は、動作パターンを換言したものと考えられる。人の動作を適切に補助するためには、人が行っている動作のパターンを適切に推定することが必要である。本発明は、人が行っている動作のパターンを適切に推定し、推定した動作パターンに基づいて人の関節に適切なトルクを付与することのできる動作補助装置を提供する。
【課題を解決するための手段】
【０００５】
人の動作パターンは、関節の角度の軌道で定まる。ここで、「軌道」は、「時系列データ」或いは「経時的変化」と換言してもよい。従って、人の動作パターンを推定する方法として次の手順が考えられる。まず、人の予め定められた動作に伴って実現されるｎ個の関節の角度の軌道データ（既知軌道）を相互に異なる複数の動作について記憶しておく。次に、人が何等かの動作を行っている最中の関節角度をリアルタイムに計測する。計測された関節角度の軌道データ（計測軌道）に最も近い既知軌道を記憶されている既知軌道群から選択する。選択された既知軌道が表す動作パターンが、人が現在行っている動作パターンの推定値として決定される。
【０００６】
しかしながら上記の方法では必ずしも正確に動作パターンを推定できない。その主な要因は２つある。第１の要因は、動作補助装置が、自力では目的の動作パターンを完全には実現できない人が対象であることに起因する。補助を要する関節は、補助なしでは目的とする関節角軌道に沿って動かないことが起こり得る。即ち、センサによって検出した関節角群の軌道データ（計測軌道）は、本来一致すべき既知軌道に必ずしも一致するとは限らない。第２の要因は、人が行っている動作が繰り返す毎に微妙に異なることに起因する。例えば歩行動作では、関節の角度が描く軌道は歩行周期毎に僅かに異なる。歩行動作に限らず、同じ動作でも繰り返し毎に関節の角度の軌道が僅かに変動することはしばしば発生する。そのため、例えば、ｎ個の関節の角度の軌道で構成されるｎ次元の計測軌道を、予め記憶されている複数のｎ次元の既知軌道の夫々と比較する場合、繰り返し毎の計測軌道の変動に起因して適切でない既知軌道が選択されてしまう虞がある。
【０００７】
本明細書が開示する新規な技術は、動作パターンの適切な推定を阻害する上記２つの要因の影響を低減する。そのための技術の一つは、補助を要しない先行タイムスパンと補助を要する後続タイムスパンの２つのタイムスパンを含む既知軌道で一連の動作パターンを表し、先行タイムスパンの間で計測軌道に最も近い既知軌道を特定する。補助を要しない先行タイムスパンでは、計測軌道は、人が意図した動作パターンに対応する既知軌道に近くなるはずである。本明細書が開示する技術の一つは、補助を要しない先行タイムスパンにおいて計測軌道と既知軌道を比較することによって、適切な既知軌道を特定できる可能性を高める。即ち、そのような技術によって、前述した第１の要因の影響を低減する。
【０００８】
本明細書が開示する新規な技術の他の一つは、ｎ次元の計測軌道に最も近い既知軌道を特定する際、主成分分析によってｎ次元よりも縮約（低次元化）した変数を採用する。主成分分析は、多変量解析ではよく知られた手法であり、ｎ次元の説明変数によって表される特徴をできるだけ継承しながらｎより小さいｓ次元の目的変数に変換する変換関数を与える。主成分分析による低次元化は、ｎ次元の説明変数の局所的な変動の影響を抑制し、大局的な振舞いを良く表すｓ次元の目的変数ベクトルを与える。本明細書が開示する技術の一つは、そのような主成分分析の手法を動作補助装置に応用する。
【０００９】
本明細書が開示する動作補助装置の一実施形態は、記憶モジュール、センサ、装具、及びコントローラを備える。記憶モジュールは、人の予め定められた動作に伴って実現されるｎ個の人の関節の角度の第１タイミングから第２タイミングまでの既知軌道を複数の相互に異なる動作群の夫々について記憶している。さらに記憶モジュールは、後述する変換関数に、ｎ次元の各既知軌道の各時刻における値を入力して得られるｓ次元の目的変数ベクトルの既知時系列データ群を記憶している。ここで、変換関数は、ｎ個の関節の角度を説明変数として入力するとｎより小さいｓ次元の目的変数ベクトルを出力する主成分分析に基づく関数である。変換関数は、実験や解析などによって予め決定されている。
【００１０】
センサは、ｎ個の人の関節の角度を計測する。装具は、ｎ個の人の関節の中の特定関節にトルクを加えるアクチュエータを有する。コントローラは、アクチュエータを制御する。そのコントローラは、計測軌道取得処理、計測時系列データ算出処理、最近既知時系列データ特定処理、追従制御処理を実行する。計測軌道取得処理ではコントローラは、先行タイムスパンの間に、特定関節にトルクを加えないようにアクチュエータを制御しながら、センサによって計測されるｎ個の関節の角度の時系列データによって構成されるｎ次元の計測軌道を取得する。ここで、先行タイムスパンは、第１タイミングと、第１タイミング以降であり第２タイミングよりも早いタイミングに設定されている中間タイミングとの間の期間を意味する。
【００１１】
計測時系列データ算出処理ではコントローラは、変換関数に、ｎ次元の計測軌道の各時刻における値を入力して得られる先行タイムスパンにおけるｓ次元の目的変数ベクトルの計測時系列データを算出する。最近既知時系列データ特定処理ではコントローラは、各既知時系列データの先行タイムスパンにおけるデータを計測時系列データと比較し、比較結果に基づいて計測時系列データに最も近い既知時系列データを特定する。追従制御処理ではコントローラは、中間タイミング以後に設定されている補助開始タイミング以降に、特定された既知時系列データに対応する既知軌道に含まれている特定関節の軌道に、特定関節の計測角度が追従するようにアクチュエータを追従制御する。なお、追従制御は、古典制御理論による制御則を採用してもよいし、現代制御理論による制御則を採用してもよい。ここで、補助開始タイミングは、中間タイミングにほぼ等しいことが好ましい。
【００１２】
本明細書が開示する新規な動作補助装置は、先行タイムスパンを予め設定し、その先行タイムスパンの間に人の関節にトルクを加えずにセンサによってｎ個の関節の角度の時系列データによって構成されるｎ次元計測軌道を取得する。計測軌道を取得している期間は、人の特定関節にトルクが加えられない。逆に言えば、先行タイムスパンは、人が装置の補助なしに目的の動作を継続することができる期間に予め設定される。そのため、先行タイムスパンの間は、動作補助がなくとも人はスムーズに動作を行うことができる。そのような構成によって、上記第１の要因を抑制する。
【００１３】
さらに本明細書が開示する動作補助装置は、複数のｎ次元既知軌道ベクトルの中から計測軌道に最も近い既知軌道を特定する。特定の際、コントローラは、ｎ次元の既知軌道とｎ次元の計測軌道を直接に比較するのではなく、既知軌道と計測軌道の夫々をｎ次元を低次元化したｓ（ｎ＞ｓ）次元の目的変数ベクトルの時系列データ同士で比較する。
【００１４】
記憶された既知時系列データや計測時系列データは、動作パターンを表す関節の数ｎよりも低次元でありながら、ｎ個の関節の全体の動きを反映している。従って、動作パターンの相違に応じて夫々の既知時系列データが描く軌跡が異なる。ここで、「既知時系列データが描く軌跡」とは、ｓ次元空間においてｓ次元目的変数ベクトルの既知時系列データが時間の経過とともに描く軌跡である。
【００１５】
上記の動作補助装置によれば、低次元化された変数を用いて比較が行われるので、ｎ個の関節の角度の時系列データの局所的な変動が比較結果に与える影響を抑制することができ、大局的な振る舞いが計測軌道に最も似ている既知軌道が選択される。そのような構成は、ｎ次元の個々の関節角を比較する必要がなく、前述した第２の要因の影響を抑制することができる。
【００１６】
コントローラは、計測時系列データと特定された既知時系列データとの差が閾値よりも大きい場合に、追従制御をキャンセルすることが好ましい。計測時系列データと特定された既知時系列データとの差が閾値よりも大きい場合とは、同じタイミングにおける既知軌道上の値と計測軌道上の値との差が大きいことを意味する。即ち、そのような構成は、特定関節の計測角度と既知軌道に含まれる特定関節の目標値が大きく異なる場合に特定関節が大きく動かされてしまうことを防止する。なお、計測角度とは、センサによって計測された関節角度を意味する。
【発明の効果】
【００１７】
本発明によれば、人が行っている動作のパターンを適切に推定し、推定した動作パターンに基づいて人の関節に適切なトルクを付与することのできる動作補助装置を実現することができる。
【図面の簡単な説明】
【００１８】
【図１】実施例の動作補助装置の模式図を示す。
【図２】動作補助装置のコントローラのブロック図を示す。
【図３】関節角の軌道の模式的グラフを示す。
【図４】コントローラが実行する処理のフローチャート図を示す。
【実施例】
【００１９】
図面を参照して実施例の動作補助装置１００を説明する。本実施例では、ユーザは左膝関節を自由に動かすことができないと仮定する。本実施例の動作補助装置１００は、ユーザの左膝関節に適切なトルクを加えてユーザの歩行動作を補助する装置である。以下では、動作補助装置１００が補助の対象とする左膝関節を特定関節と称することがある。図１に、ユーザが装着した状態の動作補助装置１００の模式図を示す。図１（Ａ）は正面図を示し、図１（Ｂ）は側面図を示す。
【００２０】
動作補助装置１００は、ユーザの左脚に沿って装着される脚装具１２と、コントローラ４０を備えている。脚装具１２は、支持リンク３０によってユーザの腰に固定されている。
【００２１】
脚装具１２を詳しく説明する。脚装具１２は、ユーザの大腿部から下腿部に沿って左脚の外側に装着される。脚装具１２は、上部リンク１４Ｌ、下部リンク１６Ｌ、及び足底リンク１８Ｌを有する多リンク機構を有する。上部リンク１４Ｌの上端が腰ジョイント２０ａＬを介して支持リンク３０に揺動可能に連結されている。下部リンク１６Ｌは、膝の外側に位置する膝ジョイント２０ｂＬによって、上部リンク１４Ｌに揺動可能に連結されている。足底リンク１８Ｌは、ユーザの足首の外側に位置する足首ジョイント２０ｃＬによって、下部リンク１６Ｌに揺動可能に連結されている。上部リンク１４Ｌは、ベルトでユーザの大腿部に固定される。下部リンク１６Ｌは、ベルトでユーザの下腿部に固定される。足底リンク１８Ｌは、ベルトでユーザの足底に固定される。足底リンク１８Ｌを固定するベルトは、図示を省略している。支持リンク３０は、ユーザの体幹（腰）に固定される。
【００２２】
ユーザが脚装具１２を装着すると、腰ジョイント２０ａＬ、膝ジョイント２０ｂＬ、及び、足首ジョイント２０ｃＬは夫々、ユーザの股関節のピッチ軸、膝関節のピッチ軸、及び、足首関節のピッチ軸と同軸に位置する。脚装具１２Ｌの各リンクは、ユーザの左脚の動きに応じて揺動することができる。各ジョイントには、ジョイントの角度（リンク間の角度）を計測するためのエンコーダ２１が取り付けられている。腰ジョイント２０ａＬのエンコーダ２１は、ユーザの左脚股関節の角度を計測する。膝ジョイント２０ｂＬのエンコーダ２１は、ユーザの左膝関節の角度を計測する。足首ジョイント２０ｃＬのエンコーダ２１は、ユーザの左足首関節の角度を計測する。以下では、各ジョイントに取り付けられているエンコーダ群２１を脚センサ２１と総称することがある。脚装具１２が有する脚センサ２１は、ユーザの関節の角度を計測するセンサに相当する。
【００２３】
膝ジョイント２０ｂＬには、モータ３２（アクチュエータ）が取り付けられている。モータ３２は、ユーザの膝関節の外側に位置する。モータ３２は、上部リンク１４Ｌと下部リンク１６Ｌを相対的に揺動させることができる。即ちモータ３２は、ユーザの左膝関節にトルクを加えることができる。また、モータ３２はクラッチ３３を備えている。クラッチ３３を解放すると、モータ３２から左膝関節へのトルク伝達経路が遮断される。別言すると、クラッチ３３を解放すると、膝ジョイント２０ｂＬは揺動自在となる。クラッチ３３を解放すると、ユーザは左膝関節を自由に揺動させることができる。
【００２４】
符号４０は、モータ３２を制御するコントローラを示している。図２にコントローラ４０のブロック図を示す。コントローラ４０の構造を概説する。コントローラ４０は、記憶モジュール５２を内蔵しており、そこに種々のデータを記憶している。コントローラ４０は、推定モジュール５４とサーボコントローラ５６を備えている。コントローラ４０はハードウエアとしてＣＰＵを備えており、推定モジュール５４とサーボコントローラ５６の機能はソフトウエアとＣＰＵで実現される。
【００２５】
記憶モジュール５２には、相互に異なる複数の既知軌道が記憶されている。既知軌道は、人の予め定められた動作に伴って実現されるｎ個の人の関節の角度の時系列データの集合である。記憶モジュール５２は、さらに、各既知軌道のデータを変換関数にて変換した目的変数ベクトルの時系列データ（既知時系列データ）を夫々の既知軌道に対応付けて記憶している。既知軌道と、既知時系列データについては後に詳しく説明する。
【００２６】
推定モジュール５４は、エンコーダ２１（脚センサ）によって計測された関節角度の時系列データ（計測軌道）を、記憶モジュール５２に記憶された既知軌道群の夫々と比較し、計測軌道に最も近い既知軌道を選択する。なお、選択の具体的な方法については後述する。選択された既知軌道はサーボコントローラ５６へ出力される。サーボコントローラ５６は、ユーザの左膝関節の計測角度が、既知軌道に含まれている膝関節の軌道に追従するようにモータ３２を制御する。推定モジュール５４によって、ユーザが行っている動作が推定され、推定された動作を実現するための既知軌道が選択される。サーボコントローラ５６によって、ユーザの膝関節の計測角度が推定された動作（推定された既知軌道）に追従するようにモータ３２が制御される。こうして、動作補助装置１００は、ユーザが行っている動作を推定し、推定された動作を補助するように膝関節にトルクを加える。
【００２７】
記憶モジュール５２に記憶されている既知軌道について説明する。既知軌道は、人の予め定められた歩行動作に伴って実現される３個の人の関節（股関節、膝関節、及び足首関節）の角度の時系列データの集合である。図３に、一つの既知軌道の例を示す。本実施例の既知軌道は、歩行の一周期のタイムスパンＴＳにわたる左脚の股関節、膝関節、及び足首関節の時系列データで構成されている。タイムスパンＴＳの始点をタイミングｔＡで表し、タイムスパンＴＳの終点をタイミングｔＣで表す。
【００２８】
図３中の符号θｈｒは、既知軌道に含まれる股関節の時系列データを示す。符号θｋｒは、既知軌道に含まれる膝関節の時系列データを示す。符号θａｒは、既知軌道に含まれる足首関節の時系列データを示す。図３のグラフはそれぞれの関節角θｈｒ、θｋｒ、及びθａｒの経時変化を模式的に示しおり、関節角の現実のグラフとは異なる。タイミングｔＡは、歩行の１周期の始点に相当し、タイミングｔＣは、歩行の１周期の終点に相当する。即ち、各既知軌道は、歩行の１周期の開始タイミングｔＡから終了タイミングｔＣまでのタイムスパンＴＳにわたるデータを含んでいる。
【００２９】
記憶モジュール５２は、相互に異なる複数の動作群の夫々についての既知軌道を記憶している。例えば、一つの既知軌道は、図３の既知軌道よりも歩幅の大きな歩行動作に伴って実現される関節角の時系列データ群を表し、他の一つの既知軌道は、図３の既知軌道よりも歩幅の小さな歩行動作に伴って実現される関節角の時系列データ群を表す。既知軌道は、予め用意されている。本実施例の説明では３種の既知軌道を例示したが、既知軌道の数はいくつでもよい。
【００３０】
記憶モジュール５２は、各既知軌道のデータを変換関数にて変換した目的変数ベクトルの時系列データ（既知時系列データ）を既知軌道に対応付けて記憶している。変換関数について説明する。本実施例で用いる変換関数は、ｎ個の関節の角度を説明変数として入力するとｎより小さいｓ次元の目的変数ベクトルを出力する関数である。本実施例では、ｎ＝３であり、ｓ＝２である。夫々の既知軌道のデータは、左脚の股関節、膝関節、及び足首関節の３個の関節の角度の時系列データ（θｈｒ（ｔ）、θｋｒ（ｔ）、及びθａｒ（ｔ））で構成されている。変換関数は、それら３個の時系列データの各タイミングにおける値を説明変数として入力すると、２次元の目的変数ベクトルの既知時系列データ（Ａｒ（ｔ）、Ｂｒ（ｔ））を出力する関数である。本実施例で用いる変換関数を（数１）に示す。
【００３１】
【数１】
0005400595.tif 000002
【００３２】
（数１）は、３個の関節の角度の時系列データ（θｈｒ（ｔ）、θｋｒ（ｔ）、及びθａｒ（ｔ））から、主成分分析法によって２個の主成分の時系列データ（Ａｒ（ｔ）、Ｂｒ（ｔ））を得る式である。即ち、（数１）の目的変数ベクトルの既知時系列データＡｒ（ｔ）、Ｂｒ（ｔ）が主成分に相当する。（数１）において、ａ１、ａ２、ａ３、ｂ１、ｂ２、及び、ｂ３は、主成分に対する各関節の重み係数であり、予め与えられる係数である。この変換関数によって得られる２次元の目的変数ベクトルの既知時系列データ（Ａｒ（ｔ）、Ｂｒ（ｔ））は、２次元でありながら、３個の説明変数、即ち、既知軌道の時系列データ（θｈｒ（ｔ）、θｋｒ（ｔ）、及びθａｒ（ｔ））の全体が示す特徴をよく反映している。記憶モジュール５２は、既知軌道毎に上記（数１）で得られる目的変数ベクトルの既知時系列データを記憶している。
【００３３】
図４にコントローラ４０が実行する処理のフローチャートを示す。コントローラ４０は、歩行の１周期が始まる毎に図４のフローチャートの処理を開始する。即ち、コントローラ４０は、歩行１周期の既知軌道の開始タイミングｔＡと終了タイミングｔＣを記憶しているとともに、経過時間を計測するタイマを有している。また、コントローラ４０は、予め設定されている中間タイミングｔＢも記憶している。中間タイミングｔＢは、開始タイミングｔＡと終了タイミングｔＣの間に設定されている。別言すれば、中間タイミングｔＢは、終了タイミングｔＣよりも早いタイミングに設定されている。中間タイミングｔＢの用法は後に説明する。なお、開始タイミングｔＡが第１タイミングに相当し、終了タイミングｔＣが第２タイミングに相当する。また、以下では、開始タイミングｔＡから中間タイミングｔＢまでのタイムスパンＴＡを先行タイムスパンＴＡと称し、中間タイミングｔＢから終了タイミングｔＣまでのタイムスパンＴＢを後続タイムスパンＴＢと称する。
【００３４】
コントローラ４０は、開始タイミングｔＡで図４の処理を開始すると、まずクラッチ３３を解放し、モータ３２と膝ジョイント２０ｂＬの間の動力伝達経路を遮断する（Ｓ２）。クラッチ３３を解放することで、膝ジョイント２０ｂＬは回転自在となる。コントローラ４０は開始時刻ｔＡから中間タイミングｔＢまでの先行タイムスパンＴＡの間、クラッチ３３の開放を維持する。このクラッチ３３を解放する処理は、別言すれば、コントローラ４０が、先行タイムスパンＴＡの間、左膝関節（特定関節）にトルクを加えないようにモータ３２を制御することに相当する。
【００３５】
コントローラ４０は、処理開始とともにタイマをスタートさせ、開始タイミングｔＡからの経過時間が先行タイムスパンＴＡに到達するまで、エンコーダ２１が計測する各関節の角度を取得する（Ｓ４、Ｓ６：ＹＥＳ）。以下、股関節の計測角度を符号θｈｓ（ｔ）で表す。同様に、膝関節の計測角度を符号θｋｓ（ｔ）で表し、足首関節の計測角度を符号θａｓ（ｔ）で表す。股関節、膝関節、及び足首関節の計測角θｈｓ（ｔ）、θｋｓ（ｔ）、及び、θａｓ（ｔ）の時系列データが計測軌道に相当する。
【００３６】
開始タイミングｔＡからの経過時間が先行タイムスパンＴＡに到達すると（Ｓ６：ＮＯ）、コントローラ４０は、（数１）に示した変換関数に計測角度θｈｓ（ｔ）、θｋｓ（ｔ）、及びθａｓ（ｔ）を入力して２次元の目的変数ベクトルの時系列データを算出する（Ｓ８）。計測角度θｈｓ（ｔ）、θｋｓ（ｔ）、及びθａｓ（ｔ）を代入した変換関数を（数２）に示す。
【００３７】
【数２】
0005400595.tif 000003
【００３８】
（数２）は（数１）と同様に、３個の関節の計測角度の時系列データ（θｈｓ（ｔ）、θｋｓ（ｔ）、及びθａｓ（ｔ））から、主成分分析法によって２次元の主成分の時系列データ（Ａｓ（ｔ）、Ｂｓ（ｔ））を得る式である。（数２）で得られる主成分の時系列データ（Ａｓ（ｔ）、Ｂｓ（ｔ））が計測時系列データに相当する。即ち、コントローラ４０は、変換関数を用いて計測軌道のデータから計測時系列データを算出する。なお、前述したように、コントローラ４０は、先行タイムスパンＴＡの間、ユーザの膝関節（特定関節）にトルクを加えないようにアクチュエータ（クラッチ）を制御しながら、エンコーダ２１によって計測される股関節、膝関節、及び足首関節の角度の時系列データによって構成される３次元の計測軌道を取得する。
【００３９】
次にコントローラ４０は、先行タイムスパンＴＡの期間に亘って、既知時系列データと計測時系列データの差分Ｄを算出する（Ｓ１０）。差分Ｄの算出式を（数３）に示す。
【００４０】
【数３】
0005400595.tif 000004
【００４１】
（数３）で表される差分Ｄは、既知時系列データと計測時系列データの平均自乗誤差に相当する。コントローラ４０は、記憶されている複数の既知時系列データのそれぞれについて、差分Ｄを算出する。次いでコントローラ４０は、複数の差分Ｄの中から最小の差分Ｄを特定する。コントローラ４０は、最小差分Ｄｍｉｎの大きさを予め定められた閾値と比較する（Ｓ１２）。閾値は実験などによって予め定められている。最小差分Ｄｍｉｎが閾値よりも小さい場合（ステップＳ１２：ＹＥＳ）、コントローラ４０は、最小差分Ｄｍｉｎに対応する既知時系列データ（最近既知時系列データ）を特定し、その最近時系列データに対応する既知軌道（最近既知軌道）を特定する（Ｓ１４）。ステップＳ４〜Ｓ１４の処理は、推定モジュール５４が実行する。推定モジュール５４は、選択した最近既知軌道を、サーボコントローラ５６へ出力する。最近既知時系列データは、記憶されている複数の既知時系列データのうち、計測時系列データに最も近い既知時系列データに相当する。最近既知軌道は、記憶されている既知軌道のうち、計測軌道に最も近い既知軌道に相当する。最近既知軌道に記述されている後続タイムスパンＴＢ以降の各関節角軌道が、中間タイミングｔＢ以後のユーザの歩行パターンの推定値に相当する。
【００４２】
ここで、既知時系列データ（Ａｒ（ｔ）、Ｂｒ（ｔ））は、１歩行周期分のタイムスパンＴＳに亘るデータであるが、差分Ｄを算出するには開始タイミングｔＡから中間タイミングｔＢまでの先行タイムスパンＴＡの間の既知時系列データのみを用いていることに留意されたい。即ち、コントローラ４０は、記憶されている各既知時系列データの先行タイムスパンにおけるデータを計測時系列データと比較し、計測時系列データに最も近い最近既知時系列データを特定する。
【００４３】
推定モジュール５４は、中間タイミングｔＢで最近既知軌道を出力する。推定モジュール５４が出力した最近既知軌道は、一歩行周期のタイムスパンＴＡの終端時刻ｔＢまでの時系列データを含んでいる。出力された最近既知軌道における中間タイミングｔＢから終了タイミングｔＣまでの後続タイムスパンＴＢにおける各関節角の時系列データが、これからユーザが実行しようとしている動作の推定値に相当する。
【００４４】
最近既知軌道を受けたサーボコントローラ５６は、追従制御を開始する。なお、追従制御を開始するタイミングは、中間タイミングｔＢ以降となる。最も好ましいのは、中間タイミングで追従制御を開始することである。
【００４５】
サーボコントローラ５６は、追従制御の開始をユーザに知らせるメッセージを出力する。メッセージとは、音（ブザー音）でよいし、或いはユーザが視認できる範囲に設けられたライトを点灯すること（即ち光）であってもよい。メッセージを出力することによって、制御開始をユーザに知らせることができる。
【００４６】
追従制御の開始に際してサーボコントローラ５６はまず、クラッチ３３を係合し、モータトルクがユーザの膝関節に伝達できるよう準備する（Ｓ１６）。次いでサーボコントローラ５６は、膝関節の計測角θｋｓ（ｔ）が、推定モジュール５４が出力した最近既知軌道に含まれている膝関節（特定関節）の角度の軌道（時系列データ）θｋｒ（ｔ）に追従するようにモータ３２を追従制御する（Ｓ２０）。より詳しくは、サーボコントローラ５６は、膝関節の計測角θｋｓ（ｔ）が、最近既知軌道の後続タイムスパンＴＢにおける膝関節角の時系列データθｋｒ（ｔ）に追従するように、モータ３２を追従制御する。サーボコントローラ５６が出力するモータ指令トルクＴ（ｔ）の算出式を（数４）に示す。
【００４７】
【数４】
0005400595.tif 000005
【００４８】
（数４）において、係数Ｐは比例ゲインを表している。モータ指令トルクＴ（ｔ）によってモータ３２が駆動されると、膝関節の計測角θｋｓ（ｔ）が目標値θｋｒ（ｔ）に追従するようにユーザの膝関節にトルクが加えられる。なお、（数４）は極めてシンプルな制御則を表している。（数４）に代えて、ＰＤ制御、ＰＩＤ制御、或いは、他のいかなるフィードバック追従制御則を採用してもよい。
【００４９】
サーボコントローラ５６は、後続タイムスパンＴＢの間、追従制御を継続する（Ｓ２２：ＹＥＳ、Ｓ２０）。終了タイミングｔＣに到達すると、即ち、制御開始からの経過時間が後続タイムスパンＴＢに到達すると（Ｓ２２：ＮＯ）、コントローラ４０は、次の歩行周期のための補助に備え、図４のフローチャートの処理を再び開始する。
【００５０】
他方、ステップＳ１２において最小差分Ｄｍｉｎが閾値よりも大きい場合（ステップＳ１２：ＮＯ）、サーボコントローラ５６は追従制御をキャンセルする（Ｓ２４）。このとき、コントローラ４０は、モータ３２のクラッチ３３を解放し、ユーザの膝関節を自由にする。
【００５１】
動作補助装置１００の利点と留意点を説明する。動作補助装置１００は、一歩行周期ＴＳの先行タイムスパンＴＡにおける計測時系列データを、記憶している既知時系列データ群の夫々と比較し、現在のユーザの動作に最も近い最近既知時系列データを特定する。特定された最近時系列データに対応する既知軌道が、ユーザが行なっている動作の推定値に相当する。本実施例の場合、先行タイムスパンＴＡは、補助対象の脚が浮いている遊脚期間に設定されている。遊脚期間では負荷が小さいので、補助トルクを膝関節に加える必要がない。動作補助装置１００は、補助トルクを加えない先行タイムスパンＴＡにおいて、ユーザの動作パターンを推定する。
【００５２】
計測軌道に最も近い既知軌道を選定する際、実施例の動作補助装置は、ｎ個（３個）の関節の角度時系列データ群の代わりに主成分分析に基づいてｎより小さいｓ（２）次元に低次元化した目的変数ベクトルの時系列データを用いる。目的変数ベクトルは、元の軌道の次元よりも低次元化しているが、元の軌道の大局的な振る舞いを良く表している。そのような低次元化された時系列データを用いることによって、ｎ次元の生の軌道（関節角の軌道）を用いる際に生じる局所的な計測角度データの変動の影響を抑制し、計測時系列データに近い既知時系列データを複数の既知時系列データの中から適切に特定することができる。
【００５３】
サーボコントローラ５６は、人の膝関節（特定関節）の計測角度が、選択された既知時系列データに対応する既知軌道に含まれる特定関節の角度の経時的変化に追従するようにモータ３２を制御する。前述したように、計測角度のタイミングと記憶されている角度時系列データ上のタイミングの位置関係が特定されているので、各制御タイミングにおける特定関節の目標値も特定される。
【００５４】
実施例の動作補助装置は、ユーザの歩行動作を補助する装置である。本明細書が開示する新規な技術は、歩行動作を補助する装置だけでなく、腕の動作を補助する動作補助装置に適用することも可能である。例えば、本明細書が開示する技術は、工場の作業員が行う繰り返し作業を補助する動作補助装置に適用することも好適である。
【００５５】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００５６】
１２、１２Ｌ、１２Ｒ：脚装具
２１：エンコーダ（脚センサ）
３２：モータ（アクチュエータ）
３３：クラッチ
４０：コントローラ
５２：記憶モジュール
５４：推定モジュール
５６：サーボコントローラ
１００：動作補助装置
【図１】
0005400595.tif 000006
【図２】
0005400595.tif 000007
【図３】
0005400595.tif 000008
【図４】
0005400595.tif 000009