説明

動作推定装置及び動作補助装置

【課題】人が行っている動作のパターンを適切に推定する動作推定装置を提供する。
【解決手段】動作推定装置は、記憶モジュール、センサ、及び、推定モジュールを備えている。記憶モジュールは、人の予め定められた動作に伴って実現されるn個の人の関節の角度の既知軌道を複数の相互に異なる動作群の夫々について記憶している。センサは、人の関節の角度を計測する。推定モジュールは、n個の人の関節のうちのnより少ないm個の関節についてセンサによって計測されたm個の関節角度の計測軌道に最も近い既知軌道を記憶された既知軌道群の中から選択し、選択された既知軌道を出力する。選択された既知軌道が、人が行っている動作のパターンの推定値に相当する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人が動作する際の関節角度の経時的変化のパターンを推定する動作推定装置と、人の関節にトルクを加えて人の動作を補助する動作補助装置に関する。
【背景技術】
【0002】
人の関節にトルクを加えて人の動作を補助する動作補助装置が研究されている。例えば、特許文献1には、人の股関節や膝関節にトルクを与えて歩行動作を補助する装置が開示されている。
【0003】
歩行動作は必ずしも一定ではない。異なる歩行動作に対しては人の関節に加えるべき適切なトルクも異なる。特許文献1の装置は、平地を歩行する場合と、段差を乗り越える場合を判定し、夫々の場合に応じて異なるトルクを加える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−116893号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
歩行動作に限らず、人の動作を補助する装置には、その動作に応じて適切なトルクを関節に加えることが求められる。そのためには、人が行っている動作を適切に推定できれば好ましい。本発明は、人が行っている動作のパターンを適切に推定する動作推定装置と、その動作推定装置を使って、人が行っている動作を適切に補助する動作補助装置を提供する。
【課題を解決するための手段】
【0006】
人の動作パターンは、関節の角度の軌道データで定まる。別言すれば、人の動作パターンは、人が動作する際の関節角度の経時的変化のパターン(関節角度の軌道データ)で表される。従って、人の動作パターンを推定する方法として次の手順が考えられる。まず、人の予め定められた動作に伴って実現されるn個の関節の角度の軌道データ(既知軌道)を相互に異なる複数の動作の夫々について記憶しておく。次に、人が動作を行っているときの関節角度をリアルタイムに計測する。計測された関節角度の軌道データ(計測軌道)に最も近い既知軌道を記憶されている既知軌道群から選択する。選択された既知軌道が表す動作パターンが、人が行っている動作パターンの推定値に相当する。
【0007】
しかしながら上記の方法では必ずしも正確に動作パターンを推定できない。動作補助装置は、自力では目的の動作パターンを完全には実現できない人が対象である。補助を要する関節は、補助なしでは目的とする関節角軌道に沿って動かない。即ち、センサによって計測した関節角群の軌道データ(計測軌道)は、その計測軌道に本来一致すべき既知軌道に必ずしも一致するとは限らない。
【0008】
そこで本明細書が開示する新規な技術は、補助対象の関節を除く他の関節の角度の計測軌道を使って、記憶している既知軌道群の中から最も確からしい既知軌道を選択する。なお、記憶する既知軌道群は、補助対象の関節の角度軌道データを含む。
【0009】
本明細書が開示する新規な動作推定装置は、記憶モジュール、センサ、及び、推定モジュールを備えている。記憶モジュールは、人の予め定められた動作に伴って実現されるn個の人の関節の角度の既知軌道を複数の相互に異なる動作群の夫々について記憶している。センサは、人の関節の角度を計測する。センサは、好ましくはn個の関節の角度を夫々計測する。推定モジュールは、n個の人の関節のうちのnより少ないm個の関節についてセンサによって計測されたm個の関節角度の計測軌道に最も近い既知軌道を記憶された既知軌道群の中から選択し、選択された既知軌道を出力する。既知軌道は、人の予め定められた動作に伴って実現されるn個の人の関節の角度の経時的変化を表すデータである。また、計測軌道は、m個の関節についてセンサによって計測されたm個の関節角度の経時的変化を表すデータである。
【0010】
なお、「関節の角度の既知軌道」とは、予め定められた動作を行うときに実現されるn個の各関節の時系列データの集合を意味する。既知軌道は、実験などによって予め定められ、記憶モジュールに記憶される。「計測軌道」とは、人が現実に動作を行った際にセンサによって計測される各関節の時系列計測値を意味する。
【0011】
既知軌道が時間スパンTSに亘る関節角の時系列データを含んでいる場合、計測軌道は時間スパンTSより短い時間スパンTAの時系列データでよい。時間スパンTSに亘る既知軌道のうち、時間スパンTSの前方の時間スパンTAのデータを使って、計測軌道と既知軌道のパターンを比較する。比較した結果、計測軌道に最も近い既知軌道が選択される。選択された既知軌道の後方の時間スパン(TB=TS−TA)の時系列データが、これから人が行う動作の推定軌道に相当する。
【0012】
本明細書は、上記した動作推定装置を含む新規な動作補助装置を開示する。この動作補助装置は、上記した動作推定装置に加えて装具とコントローラを含む。装具は、人の特定関節にトルクを加えるアクチュエータを有する。コントローラは、センサによって計測された人の特定関節の計測角度が、動作推定装置が出力した既知軌道データに含まれている前記特定関節の角度の軌道に追従するようにアクチュエータを追従制御する。なお、「特定関節」は、既知軌道に含まれるn個の関節の一つであるとともに、上記した補助対象の関節に相当する。
【0013】
上記の動作補助装置は、より詳細には次の構成を有していることが好ましい。記憶モジュールは、さらに、n個の関節の角度を説明変数として入力するとnより小さいs次元の目的変数ベクトルを出力する第1変換関数に夫々の既知軌道の各タイミングにおける値を入力して得られる目的変数ベクトルの既知時系列データ群を記憶している。推定モジュールは、以下に述べる目的変数ベクトル算出処理と、選択処理と、出力処理を実行する。目的変数ベクトル算出処理では、推定モジュールは、n個の人の関節のうち特定関節を含まずnより少ないm個の関節の計測角度を第2変換関数に入力してs次元の目的変数ベクトルの計測時系列データを求める。ここで、第2変換関数とは、上記したm個の関節の計測角度を説明変数として入力するとs次元の目的変数ベクトルを出力する関数である。第2変換関数は第1変換関数よりも説明変数の次数が小さいことに留意されたい(n>m)。選択処理では、推定モジュールは、記憶されている既知時系列データ群の中から、計測時系列データに最も近い既知時系列データを選択する。出力処理では、推定モジュールは、選択された既知時系列データの第1変換関数による変換前の既知軌道データを出力する。第1及び第2変換関数については後に例示する。また、計測時系列データに最も近い既知時系列データを選択する方法としては、例えば、計測時系列データとの平均自乗誤差が最小となる既知時系列データを選択すればよい。
【0014】
上記の動作補助装置は、記憶した既知軌道群の夫々と計測した関節角の軌道(計測軌道)を、第1及び第2変換関数で低次元化した目的変数ベクトルで比較することに特徴がある。第1及び第2変換関数は、主成分分析法、固有空間BPLP(Back Projection for Lost Pixel)法、或いは、ニューラルネットワークを用いればよい。これらの関数はいずれも、多数の説明変数で表される事象を、全ての説明変数の影響を含みながら低次元の目的変数へ縮約する関数を提供する。そのような関数が、上記した第1及び第2変換関数に相当する。そのような関数は、多変量解析でよく用いられるのでここでは詳細な説明を省略する。
【0015】
上記の動作補助装置の機能を説明する。記憶されたs次元の既知時系列データは、人の動作パターンを表す関節角の軌道(既知軌道)の数nよりも低次元でありながら、n個の関節の動きを反映している。従って、動作パターンの相違に応じて夫々の既知時系列データが描く軌跡が異なる。ここで、「既知時系列データが描く軌跡」とは、s次元空間においてs次元既知時系列データが時間の経過とともに描く軌跡である。
【0016】
他方、検出した関節角度から得られる計測時系列データは、特定関節の角度を含んではいないので、特定関節が予定された動作パターンとは異なる軌道を描いても、その影響は計測時系列データには反映されない。それでも計測時系列データは、既知時系列データを得るときに用いた第1変換関数よりも低次元の第2変換関数を用いたs次元の目的変数ベクトルの時系列データであるから、特定関節の動きを除いて動作パターンをよく表している。こうして得られた計測時系列データに最も近い既知時系列データを選択することによって、特定関節の実際の動きの影響を受けずに、人が行っている動作パターンに最も近いと推定される既知軌道(即ち動作パターン)を特定することができる。こうして特定された既知軌道に含まれる特定関節の角度時系列データに、特定関節の計測角が追従するように特定関節にトルクを加えることによって、動作パターンに応じた適切な補助が実現される。
【0017】
本発明による動作補助装置が動作パターンを推定する手法の技術的思想は、要約すると次の通りである。動作補助装置は、相互に異なる複数の動作パターンを表すn個の関節の軌道(既知軌道)を予め記憶しておく。記憶された既知軌道は、補助対象の関節(特定関節)の角度の軌道(時系列データ)も含んでいる。それぞれの既知軌道は動作パターンの相違をよく表している。他方、動作補助装置は、特定関節(補助対象の関節)を除く人の関節角度を計測する。計測された関節角の時系列データを計測軌道と称する。記憶された既知軌道は特定関節の情報を含んでいるが、計測軌道は特定関節の情報を含んでいない。それらを共にs次元の特徴変数ベクトルの時系列データ(即ち、既知時系列データ群と計測時系列データ)に変換した後に比較する。そのような処理によって、特定関節の実際の動きの影響を排除しつつ、人が行っている動作に最も近い動作パターン(既知軌道)を選択することができる。
【0018】
選択される既知軌道は推定であるため、誤っている可能性もある。そこで、何らかの安全装置を備えることが好ましい。例えば、コントローラは、計測時系列データと選択処理にて選択された既知時系列データとの差分が予め定められたデータ差分閾値よりも大きい場合、追従制御をキャンセルすることも好適である。そのような構成は、用意された既知軌道群のいずれとも異なる動作パターンを人が行っている場合に、不適切な既知軌道が選択され、それに基づいてアクチュエータが動作することを防止する。
【0019】
また、動作補助装置のコントローラは、センサが計測した特定関節の計測角度と、選択された既知軌道に含まれる特定関節の角度との差分が予め定められた角度差分閾値よりも大きい場合、追従制御をキャンセルすることも好ましい。そのような構成は、特定関節の実際の角度(計測角度)と既知軌道に含まれる特定関節の目標値が大きく異なる場合に特定関節が大きく動かされてしまうことを防止する。
【0020】
目的変数ベクトルの時系列データを生成する際、動作パターンを表す情報が多い方が、目的変数ベクトルに動作パターンの特徴がよく反映できる。動作パターンを表す情報としては、関節角の他に、関節を動かすときに生じる筋電位がある。そこで、動作補助装置は、筋電位の情報を用いることも好適である。具体的には、上記した第1変換関数を、n個の人の関節の角度とともに、関節を動かすときに生じる筋電位を説明変数とする関数に置き換える。そして、記憶ユニットは、その新たな第1変換関数に、夫々の既知軌道とともに、その既知軌道によって表される動作パターンを人が実現するときに発生する筋電位を入力して得られる目的変数ベクトルの既知時系列データ群を記憶する。そのように構成することによって、動作パターンの相違を一層よく表した既知時系列データを得ることができる。
【発明の効果】
【0021】
本明細書が開示する新規な技術によれば、人が行っている動作パターンを適切に推定し、推定した動作パターンに応じて人の動作を補助する動作補助装置を提供することができる。
【図面の簡単な説明】
【0022】
【図1】第1実施例の動作補助装置の模式図を示す。
【図2】動作補助装置のコントローラのブロック図を示す。
【図3】関節角の軌道の模式的グラフを示す。
【図4】コントローラが実行する処理のフローチャート図を示す。
【図5】第2実施例の動作補助装置の模式図を示す。
【実施例1】
【0023】
図面を参照して第1実施例の動作補助装置100を説明する。本実施例の動作補助装置100は、ユーザの左膝関節に適切なトルクを加えてユーザの歩行動作を補助する装置である。以下では、動作補助装置100が補助の対象とする左膝関節を特定関節と称することがある。なお、後述するように、この動作補助装置100は、人が動作する際の関節角の軌道を推定する動作推定装置50を含んでいる。本実施例では、ユーザは左膝関節を自由に動かすことができないとする。図1に、ユーザが装着した状態の動作補助装置100の模式図を示す。図1(A)は正面図を示し、図1(B)は側面図を示す。
【0024】
動作補助装置100は、ユーザの左脚に沿って装着される脚装具12と、コントローラ40を備えている。脚装具12は、支持リンク30によってユーザの腰に固定されている。
【0025】
脚装具12を詳しく説明する。脚装具12は、ユーザの大腿部から下腿部に沿って左脚の外側に装着される。脚装具12は、上部リンク14L、下部リンク16L、及び足底リンク18Lを有する多リンク機構を有する。上部リンク14Lの上端が腰ジョイント20aLを介して支持リンク30に揺動可能に連結されている。下部リンク16Lは、膝の外側に位置する膝ジョイント20bLによって、上部リンク14Lに揺動可能に連結されている。足底リンク18Lは、ユーザの足首の外側に位置する足首ジョイント20cLによって、下部リンク16Lに揺動可能に連結されている。上部リンク14Lは、ベルトでユーザの大腿部に固定される。下部リンク16Lは、ベルトでユーザの下腿部に固定される。足底リンク18Lは、ベルトでユーザの足底に固定される。足底リンク18Lを固定するベルトは、図示を省略している。支持リンク30は、ユーザの体幹(腰)に固定される。
【0026】
ユーザが脚装具12を装着すると、腰ジョイント20aL、膝ジョイント20bL、及び、足首ジョイント20cLは夫々、ユーザの股関節のピッチ軸、膝関節のピッチ軸、及び、足首関節のピッチ軸と同軸に位置する。脚装具12Lの各リンクは、ユーザの左脚の動きに応じて揺動することができる。各ジョイントには、ジョイントの角度(リンク間の角度)を計測するためのエンコーダ21が取り付けられている。腰ジョイント20aLのエンコーダ21は、ユーザの左脚股関節の角度を計測する。膝ジョイント20bLのエンコーダ21は、ユーザの左膝関節の角度を計測する。足首ジョイント20cLのエンコーダ21は、ユーザの左足首関節の角度を計測する。以下では、各ジョイントに取り付けられているエンコーダ群21を脚センサ21と総称する。脚装具12が有する脚センサ21は、ユーザの関節の角度を計測するセンサに相当する。
【0027】
膝ジョイント20bLには、モータ32(アクチュエータ)が取り付けられている。モータ32は、ユーザの膝関節の外側に位置する。モータ32は、上部リンク14Lに対して下部リンク16Lを回転させることができる。即ちモータ32は、ユーザの左膝関節にトルクを加えることができる。また、図示を省略しているが、モータ32はクラッチを備えている。クラッチを解放すると、モータ32から左膝関節へのトルク伝達経路が遮断され、膝ジョイント20bLよる左膝関節回転の拘束が解かれる。
【0028】
符号40は、モータ32を制御するコントローラを示している。図2にコントローラ40のブロック図を示す。コントローラ40の構造を概説する。コントローラ40は、記憶モジュール52を内蔵しており、種々のデータを記憶している。コントローラ40は、推定モジュール54とサーボコントローラ56を備えている。コントローラ40はハードウエアとしてCPUを備えており、推定モジュール54とサーボコントローラ56の機能はソフトウエアとCPUで実現される。
【0029】
記憶モジュール52には、相互に異なる複数の既知軌道が記憶されている。既知軌道は、人の予め定められた動作に伴って実現されるn個の人の関節の角度の時系列データの集合である。既知軌道については後に例を挙げて説明する。推定モジュール54は、エンコーダ21(脚センサ)によって計測された関節角度の計測軌道を、記憶モジュール52に記憶された既知軌道群の夫々と比較し、計測軌道に最も近い既知軌道を選択する。なお、選択の具体的な方法については後述する。選択された既知軌道はサーボコントローラ56へ出力される。サーボコントローラ56は、ユーザの左膝関節の計測角度が、既知軌道に含まれている膝関節の軌道に追従するように、モータ32を制御する。推定モジュール54によって、ユーザが行っている動作が推定され、推定された動作を実現するための既知軌道が選択される。サーボコントローラ56によって、ユーザの膝関節の計測角度が、推定された動作に追従するように、モータ32が制御される。こうして、動作補助装置100は、ユーザが行っている動作を推定し、推定された動作を補助するように膝関節にトルクを加える。なお、記憶モジュール52と推定モジュール54、及び、エンコーダ21(脚センサ)から構成される装置が、動作推定装置50に相当する。
【0030】
記憶モジュール52に記憶されている既知軌道について説明する。既知軌道は、人の予め定められた歩行動作に伴って実現される3個の人の関節(股関節、膝関節、及び足首関節)の角度の時系列データである。図3に、一つの既知軌道の例を示す。本実施例の既知軌道は、歩行の一周期の時間スパンTSに亘る左脚の股関節、膝関節、及び足首関節の時系列データで構成されている。図3中の符号θhrは、既知軌道に含まれる股関節の時系列データを示す。符号θkrは、既知軌道に含まれる膝関節の時系列データを示す。符号θarは、既知軌道に含まれる足首関節の時系列データを示す。記憶モジュール52は、相互に異なる複数の動作群の夫々についての既知軌道を記憶している。例えば、一つの既知軌道は、図3の既知軌道よりも歩幅の大きな歩行動作に伴って実現される関節角の時系列データを表し、他の一つの既知軌道は、図3の既知軌道よりも速度が速い歩行動作に伴って実現される関節角の時系列データを表す。既知軌道は、予め用意されている。
【0031】
記憶モジュール52は、各既知軌道のデータを第1変換関数にて変換した目的変数ベクトルの時系列データ(既知時系列データ)を既知軌道に対応付けて記憶している。第1変換関数について説明する。本実施例で用いる第1変換関数は、n個の関節の角度を説明変数として入力するとnより小さいs次元の目的変数ベクトルを出力する関数である。本実施例では、n=3であり、s=2である。既知軌道のデータは、左脚の股関節、膝関節、及び足首関節の3個の関節の角度の時系列データ(θhr(t)、θkr(t)、及びθar(t))で構成されている。第1変換関数は、それら3個の時系列データの各タイミングにおける値を説明変数として入力すると、2次元の目的変数ベクトルの既知時系列データ(Ar(t)、Br(t))を出力する関数である。本実施例で用いる第1変換関数を(数1)に示す。
【0032】
【数1】

【0033】
(数1)は、3個の関節の角度の時系列データ(θhr(t)、θkr(t)、及びθar(t))から、主成分分析法によって2次元の主成分の時系列データ(Ar(t)、Br(t))を得る式である。即ち、(数1)の目的変数ベクトルの既知時系列データAr(t)、Br(t)が主成分に相当する。(数1)において、a1、a2、a3、b1、b2、及び、b3は、主成分に対する各関節の重み係数である。即ち、この第1変換関数によって得られる2次元の目的変数ベクトルの既知時系列データ(Ar(t)、Br(t))は、2次元でありながら、3個の説明変数、即ち、既知軌道の時系列データ(θhr(t)、θkr(t)、及びθar(t))の特徴をよく反映している。記憶モジュール52は、既知軌道毎に上記(数1)で得られる目的変数ベクトルの既知時系列データを記憶している。
【0034】
図4にコントローラ40が実行する処理のフローチャートを示す。コントローラ40は、エンコーダ21が計測した関節角(計測角度)を取得する(S2)。ここで、コントローラ40は、一歩行周期TSの前半の時間スパンTAに亘って関節角を取得する。股関節の計測角度を符号θhs(t)で表し、足首関節の計測角度を符号θas(t)で表す。股関節と足首関節の計測角θhs(t)、θas(t)の時系列データが前述した計測軌道に相当する。コントローラ40は、説明変数の次数がnより小さいm次元の第2変換関数に、計測角度θhs(t)とθas(t)を入力して2次元の目的変数ベクトルの時系列データを求める(S4)。第2変換関数を(数2)に示す。第2変換関数は、3次元の既知軌道の時系列データから、制御対象である膝関節角度θkr(t)の時系列データを除外した残りの既知軌道の時系列データを説明変数とする。(数2)は、制御対象である膝関節角度θkr(t)の既知軌道を除く残りの既知軌道の時系列データ(θhr(t)及びθar(t))から、主成分分析法によって2個の主成分の時系列データ(As(t)、Bs(t))を得る式である。(数2)によって得られる主成分の時系列データ(As(t)、Bs(t))が、計測時系列データに相当する。即ち、コントローラ40は、第2変換関数を用いて計測軌道から計測時系列データを算出する。
【0035】
【数2】

【0036】
(数2)の係数c1、c2、d1、及びd2は、主成分に対する各関節(膝関節を除く)の重み係数である。(数2)の右辺には、膝関節の計測角θks(t)に関する項がない。しかしながら、第2変換関数(数2)も第1変換関数(数1)と同様の主成分分析の結果得られる関数であるので、歩行動作時の股関節と足首関節の計測角θhs(t)とθas(t)の軌道をよく反映している。
【0037】
次にコントローラ40は、一歩行周期TSの前半の時間スパンTAの期間に亘って、既知時系列データと計測時系列データの差分Dを算出する(S6)。差分Dの算出式を(数3)に示す。
【0038】
【数3】

【0039】
(数3)で表される差分Dは、既知時系列データと計測時系列データの平均自乗誤差に相当する。
【0040】
ステップS6では、コントローラ40は、記憶モジュール52に記憶された各既知関数の既知時系列データについて差分Dを算出する。次いでコントローラ40は、複数の差分Dの中から最小の差分Dを特定する。コントローラ40は、最小差分Dの大きさを予め定められた閾値と比較する(S8)。閾値は実験などによって予め定められている。最小差分Dが閾値よりも小さい場合(ステップS8:YES)、コントローラ40は、最小差分Dに対応する既知軌道を選択する(S10)。ステップS2〜S10の処理は、推定モジュール54が実行する。推定モジュール54は、選択した既知軌道を、サーボコントローラ56へ出力する。
【0041】
推定モジュール54は、図3のグラフにおける時刻tAで既知軌道を出力する。時刻tAで推定モジュールが出力した既知軌道は、一歩行周期の時間スパンTAの終端時刻tBまでの時系列データを含んでいる。即ち、出力された既知軌道における時刻tAからtBまでの時間スパンTBにおける各関節角の時系列データが、これからユーザが実行しようとしている動作の推定値に相当する。
【0042】
サーボコントローラ56は、推定モジュール54が出力した既知軌道に含まれている膝関節(特定関節)の角度の軌道(時系列データ)θkr(t)に、膝関節の計測角θks(t)が追従するようにモータ32を追従制御する(S12)。より詳しくは、サーボコントローラ56は、膝関節の計測角θks(t)が、出力された既知軌道における時刻tAからtBまでの時間スパンTBにおける膝関節角の時系列データθkr(t)に追従するように、モータ32を追従制御する。サーボコントローラ56が出力するモータ指令トルクT(t)の算出式を(数4)に示す。
【0043】
【数4】

【0044】
(数4)において、係数Pは比例ゲインを表している。モータ指令トルクT(t)によってモータ32が駆動されると、膝関節の計測角θks(t)が目標値θkr(t)に追従するようにユーザの膝関節にトルクが加えられる。なお、(数4)は極めてシンプルな制御則を表している。(数4)に代えて、PD制御、PID制御、或いは、他のいかなるフィードバック追従制御則を採用してもよい。
【0045】
他方、ステップS8において最小差分Dが閾値よりも大きい場合(ステップS8:NO)、サーボコントローラ56は追従制御をキャンセルする(S14)。このとき、コントローラ40は、モータ32のクラッチを解放する。クラッチを解放することによって、モータ32(膝ジョイント20bL)によるユーザの膝関節回転の拘束が解かれる。
【0046】
推定モジュール54は、時間スパンTBにおいて、上記説明した処理と同様の処理によって、次の歩行周期の前半の時間スパンTAにおける膝関節角の軌道を推定する。次の歩行周期の時間スパンTAにおいて、サーボコントローラ56は、実際の膝関節の角度が推定された軌道に追従するようにモータを制御する。このように動作補助装置100は、歩行周期の半周期毎に、次の半周期の歩行動作における膝関節角の望ましい軌道を推定し、ユーザの膝関節がこれに追従するように脚装具12のモータを制御する。
【0047】
動作補助装置100の利点を説明する。動作補助装置100は、一歩行周期TSの前半の時間スパンTAにおける計測軌道を記憶している既知軌道群の夫々と比較し、現在のユーザの動作に最も近い既知軌道を選択する。比較においては、制御対象の膝関節の計測角θks(t)を用いない。ユーザは、補助対象である膝関節をうまく動かすことができない。即ち、膝関節の計測角θks(t)は、既知軌道に記述されている膝関節の望ましい軌道に適切に追従していない可能性がある。そのため、膝関節の計測角を比較に用いるのは好ましくない。実施例の動作補助装置は、膝関節の計測角を用いずに、他の関節(股関節と足首関節)の計測角を用いて既知軌道群の中から最も好ましい既知軌道を選択する。そのため、動作補助装置100は、適切な既知軌道を選択することができる。
【0048】
動作補助装置100は、n個(3個)の関節角の経時的変化を記述した既知軌道を選択する際、nより低いs次元(2次元)の目的変数ベクトルの時系列データ(既知時系列データと計測時系列データ)を用いて既知軌道と計測軌道を比較する。既知時系列データと計測時系列データは、既知軌道に含まれている関節の数nよりも少ない次元ではあるが、n個の関節の経時的な変化の特徴をよく表している。動作補助装置100は、n個の関節角の経時的変化で表された既知軌道を低次元化して計測軌道と比較する。そのような処理によって、各関節角の経時的変化の局所的な振舞いの寄与を抑制し、既知軌道の大局的な特徴に基づいて計測軌道と比較することができる。そのような処理によって動作補助装置100は、計測軌道に大局的な振舞いが似ている既知軌道を選択することができる。動作補助装置100は、計測軌道に基づいて、相互に異なる複数の既知軌道群の中から適切な既知軌道を選択することができる。
【0049】
計測時系列データの時間スパンは、既知時系列データの時間スパンよりも短くてよい。即ち、選択処理(ステップS10)において推定モジュール54は、記憶されている既知時系列データ群のなかから、その一部に計測時系列データに最も近い時系列データを有する既知時系列データを選択する。既知時系列データと計測時系列データは共に、s次元空間で一つの軌跡を描く。従って、別言すれば、選択処理において推定モジュール54は、s次元空間における計測時系列データの軌跡に最も近い部分軌跡を有する既知時系列データを記憶されている既知時系列データ群の中から選択する。なお、選択が完了すると、計測時系列データが選択された既知時系列データの時間軸上のどの部分に相当するかも特定される。即ち、計測時系列データに対応する計測軌道に含まれる各関節の各タイミングにおける計測角が、記憶されている既知軌道に含まれる各関節の軌道の時間軸上のどの位置に相当するかが特定される。
【0050】
サーボコントローラ56は、人の膝関節(特定関節)の計測角度が、選択された既知時系列データに対応する既知軌道に含まれる特定関節の角度の経時的変化に追従するようにモータ32を制御する。前述したように、計測角度のタイミングと記憶されている角度時系列データ上のタイミングの位置関係が特定されているので、各制御タイミングにおける特定関節の目標値も特定される。
【0051】
第1実施例の動作補助装置100が実行する処理の代替方式を説明する。図4のステップ8において、コントローラ40は、センサ21が計測した膝関節の計測角θks(t)と、選択された既知軌道に含まれている膝関節の角度θkr(t)の差分D=(θkr(t)−θks(t))が予め定められた特定の閾値よりも大きい場合に、追従制御をキャンセルすることも好ましい。このときの差分Dが閾値よりも大きい場合、膝関節の計測角度θks(t)が、目標関節角θkr(t)から大きく隔たっていることを示している。そのような場合は、無理に追従制御を実行させないことが好ましい。
【実施例2】
【0052】
図5に、第2実施例の動作補助装置200を示す。第2実施例の動作補助装置200は、左脚に装着する左脚装具12Lと、右脚に装着する右脚装具12Rを備える。左脚装具12Lは、第1実施例の脚装具12と同じ構成を有している。右脚装具12Rは、膝ジョイント20bRにモータを備えていないことを除いて、左脚装具12Lと同じ構造を有している。即ち、右脚装具12Rは、ユーザの右脚の股関節と膝関節と足首関節の角度を計測するエンコーダ21(脚センサ)を備えている。また、動作補助装置200は、ユーザの大腿部の筋電位を計測する筋電センサ202を備えている。
【0053】
この動作補助装置200は、右脚の股関節、膝関節、足首関節、左脚の股関節、膝関節、足首関節の6個の関節の角度、及び、筋電位の合計7個の説明変数を入力すると7より小さいs次元の目的変数ベクトルを出力する第1変換関数によって得られる既知時系列データを記憶している。第1変換関数の例は、(数1)で示した第1変換関数に、右脚の股関節、膝関節、足首関節、及び、筋電位に関する項が付加された関数である。この動作補助装置200は、右脚の股関節、膝関節、足首関節、左脚の股関節、足首関節の5個の関節の角度、及び、筋電位を計測し、計測された時系列データから計測時系列データを算出する。計測時系列データを算出する際の第2変換関数は、説明変数の次数が、既知時系列データを算出する際に採用した第1変換関数における説明変数の次数よりも小さい変換関数である。第2変換関数は、前記した第1変換関数と比較すると、左脚の膝関節(すなわち制御対象の関節)に関する項を有していない。この動作補助装置200は、第1実施例の動作補助装置100と同様の処理によって、計測時系列データに最も近い既知時系列データに対応する既知軌道を選択する。動作補助装置200は、選択された既知軌道に含まれている左膝関節の角度の軌道に左膝関節の計測角が追従するように、モータ32にトルクを加える。
【0054】
この動作補助装置200は、左脚の関節角だけでなく、右脚の関節角及び、筋電位を用いることによって、より正確にユーザの動作に合致した既知軌道を推定することができる。
【0055】
本明細書が開示した新規な動作補助装置の留意点を述べる。実施例の動作補助装置は、ユーザの歩行動作を補助する装置である。本明細書が開示する新規な技術は、歩行動作を補助する装置だけでなく、腕の動作を補助する動作補助装置に適用することも可能である。
【0056】
実施例の動作補助装置は、n個の関節の角度の時系列データで表される既知軌道(n次元既知軌道)からnより小さいs次元の目的変数ベクトルを求める第1変換関数、及び第2変換関数を得るのに主成分分析を利用した。変換関数(第1及び第2変換関数)は、主成分分析のほかに、固有空間BPLP法或いはニューラルネットを利用して得られた変換関数であってもよい。n次元の時系列データをnよりも小さいs次元の時系列データに縮約(低次元化)する手法は、多変量解析の分野でよく知られているので本明細書では説明を省略する。
【0057】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0058】
12、12L、12R:脚装具
21:エンコーダ(脚センサ)
32:モータ(アクチュエータ)
40:コントローラ
50:動作推定装置
52:記憶モジュール
54:推定モジュール
56:サーボコントローラ
100、200:動作補助装置
202:筋電センサ

【特許請求の範囲】
【請求項1】
人の予め定められた動作に伴って実現されるn個の人の関節の角度の既知軌道を複数の相互に異なる動作群の夫々について記憶している記憶モジュールと、
人の関節の角度を計測するセンサと、
n個の人の関節のうちのnより少ないm個の関節についてセンサによって計測されたm個の関節角度の計測軌道に最も近い既知軌道を記憶された既知軌道群の中から選択し、選択された既知軌道を出力する推定モジュールと、
を備えることを特徴とする動作推定装置。
【請求項2】
請求項1の動作推定装置と、
人の特定関節にトルクを加えるアクチュエータを有する装具と、
センサによって計測された人の特定関節の計測角度が、動作推定装置が出力した既知軌道に含まれている前記特定関節の角度の軌道に追従するようにアクチュエータを追従制御するコントローラと、
を備えることを特徴とする動作補助装置。
【請求項3】
記憶モジュールは、さらに、n個の関節の角度を説明変数として入力するとnより小さいs次元の目的変数ベクトルを出力する第1変換関数に夫々の既知軌道の各タイミングにおける値を入力して得られる目的変数ベクトルの既知時系列データ群を記憶しており、
推定モジュールは、
n個の人の関節のうち特定関節を含まずnより少ないm個の関節の計測角度を説明変数として入力するとs次元の目的変数ベクトルを出力する第2変換関数に入力してs次元の目的変数ベクトルの計測時系列データを求める目的変数ベクトル算出処理と、
記憶されている既知時系列データ群の中から、計測時系列データに最も近い既知時系列データを選択する選択処理と、
選択された既知時系列データの第1変換関数による変換前の既知軌道を出力する出力処理を実行することを特徴とする請求項2に記載の動作補助装置。
【請求項4】
コントローラは、計測時系列データと選択処理にて選択された既知時系列データとの差分が予め定められたデータ差分閾値よりも大きい場合、追従制御をキャンセルすることを特徴とする請求項3に記載の動作補助装置。
【請求項5】
コントローラは、センサが計測した特定関節の計測角度と、選択された既知軌道に含まれる特定関節の角度との差分が予め定められた角度差分閾値よりも大きい場合、追従制御をキャンセルすることを特徴とする請求項3又は4に記載の動作補助装置。
【請求項6】
前記第1変換関数は、n個の人の関節の角度とともに、関節を動かすときに生じる筋電位を説明変数とし、
記憶ユニットは、前記第1変換関数に、夫々の既知軌道とともに、その既知軌道によって表される動作パターンを人が実現するときに発生する筋電位を入力して得られる目的変数ベクトルの既知時系列データ群を記憶していることを特徴とする請求項3から5のいずれか1項に記載の動作補助装置。
【請求項7】
前記第1及び第2変換関数は、主成分分析法、固有空間BPLP法、ニューラルネットのいずれかに基づいて作成された関数であることを特徴とする請求項3から6のいずれか1項に記載の動作補助装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate