(58)【調査した分野】(Int.Cl.,DB名)
前記検知手段は、各前記測定チャネルの不良の態様ごとに、事前に機械学習により準備された前記態様が発生したかを判別する複数の判別器を含む、請求項2記載の制御信号生成装置。
前記グラフィカル・ガウシャン・モデルにおいては、正常時に対応するグラフに対する現時点のグラフの距離のみに基づいて、不良の有無を判別する、請求項5記載の制御信号生成装置。
前記グラフィカル・ガウシャン・モデルにおいては、正常時に対応するグラフに対する現時点のグラフの距離のみに基づいて、不良の有無を判別する、請求項11記載のパワーアシスト装置。
【発明を実施するための形態】
【0026】
以下、本発明の実施の形態の外骨格型ロボットの構成について、図に従って説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
【0027】
また、外骨格型ロボットの関節を駆動するためのアクチュエータとしては、一例として、以下に説明する「空電ハイブリッド式のアクチュエータ」を例として説明する。
【0028】
そこで、以下、本実施の形態において、歩行・姿勢リハビリテーションのための空電ハイブリッド式のアクチュエータによる外骨格型ロボットについて説明する。
【0029】
ただし、本発明の空電ハイブリッド式外骨格型ロボットは、下肢の運動をアシストするための外骨格型ロボットに対してだけでなく、上肢の運動をアシストする外骨格型ロボットとしても使用することが可能である。
【0030】
また、以下の説明では、下肢の対としての運動をアシストする外骨格型ロボットについて説明するが、下肢のうちのいずれか一方、または、上肢のうちのいずれか一方の運動をアシストする外骨格型ロボットとして使用することも可能である。
【0031】
さらに、本発明の空電ハイブリッド式外骨格型ロボットは、対象となる人間の筋骨格系の運動をアシストするのであれば、上述したような「下肢のうちの少なくともいずれか一方、または、上肢のうちの少なくともいずれか一方の運動」に限定されるものではなく、たとえば、対象となる人間の腰の運動のみをアシストするものであってもよいし、歩行または走行時において下肢の運動と連動して腰の運動をアシストするものであってもよい。本明細書では、このような対象となる人間の運動のアシストを総称して、「対象となる人間の筋骨格系運動の支援(アシスト)」と呼ぶことにする。
【0032】
本実施の形態の外骨格型ロボットは、外骨格を有する。「外骨格」とは、人間の骨格構造に対応してロボットが有する骨格構造のことである。より特定的には、「外骨格」とは、外骨格型ロボットを装着する人間の体の一部を、外部から支えるフレーム(枠組み)構造のことをいう。
【0033】
このフレーム構造には、さらに、フレーム構造の各部を人間の骨格構造に基づく運動に応じて動かすための関節が設けられる。
【0034】
特に、下肢の運動をアシストする外骨格型ロボットは、ベースと下半身とを有し、足首、膝、腰の左右の位置に、能動6自由度の関節を有するロボットである。また、当該6つの関節は、空電ハイブリッド駆動の関節である。以下、このように、外骨格型ロボットにおいて、ユーザの関節に対してサポート力を与えるためにアクチュエータにより駆動される関節のことを「能動関節」と呼ぶ。
[実施の形態1]
図1は、本実施の形態における外骨格型ロボット1の構成事例を示す図である。本外骨格型ロボット1は、10自由度である。
【0035】
なお、このような外骨格型ロボットの構成事例については、類似の構成が、上述した特許文献2にも開示されている。
【0036】
図1において、
図1(a)は、外骨格型ロボットの外観を示す図であり、
図1(b)は、
図1(a)の外観において、外骨格型ロボット1の主要部を抽出して示す斜視図である。
【0037】
図1(b)において、外骨格型ロボット1は、両脚に対応したフレーム構造、バックパック101、柔軟シート102、HAA拮抗筋103、HFE伸筋104、HFEモータ111、KFE伸筋105、 KFEモータ106、AFE伸筋・AAA拮抗筋107、AFE屈筋108、ユニバーサルジョイント109、フレーム構造に設けられたプーリー付回転関節110を備える。
【0038】
なお、
図1(b)では、バックパック101が運動を支援する構造に直接とりつけられているが、
図1(a)に示すように、バックパック101は、この構造から取り外されていてもよい。
【0039】
また、ユニバーサルジョイント109には、たとえば、光学式エンコーダを回転軸に取り付け、関節角度を計測する。プーリー付回転関節110も同様に光学式エンコーダを取り付ける。光学式エンコーダは、軸に取り付けるのではなく、軸に巻かれたベルトの移動方向と移動量を読み取る構成としてもよい。なお、ハイブリッド関節であるHFEおよびKFE関節においては、モータ付属のエンコーダを用いて関節角度を計測してもよい。
【0040】
また、
図2は、外骨格型ロボット1の自由度の構成を示す図である。
【0041】
図2において、各関節において、「R_」との表示は、右側の関節であることを示し、「L_」との表示は、左側の関節であることを示す。
【0042】
図1および
図2を参照して、全10自由度のうち、HFE関節とKFE関節はハイブリッド駆動としている。また、
図2において、全10自由度のうち、左右のAFE関節は伸筋と屈筋による拮抗駆動を採用している。ハイブリッド駆動および拮抗駆動以外の関節は、パッシブな駆動である。ただし、より多くの関節、たとえば、全ての関節をハイブリッド駆動としてもよい。
【0043】
図1において、両脚が接続する胴体部には姿勢センサを搭載してベース部の姿勢を検出している。また、全ての関節にワイヤ式エンコーダ(またはモータ付属のエンコーダ)を取り付け、関節角度を計測できるようにしている。関節角度ならびに後に説明するように下肢の筋電位を検出することで、各関節に発生させる目標トルクが算出できる。
【0044】
また、足底部には、床反力センサを搭載し、接触を想定する足底部が実際に接触しているかどうかを判定したり、ヤコビ行列に含まれるモデル誤差を修正するために補助的に使用する構成としてもよい。
【0045】
また、バックパック101内には制御器の他、エアマッスルのバルブおよび電動モータのドライバを内蔵している。
【0046】
また、バックパック101内に、バッテリーと圧搾した空気ボンベ(またはCO
2ガスボンベでもよい)、レギュレータを搭載し、電源ラインとエア供給が断絶した場合に備え、短時間の自律駆動を可能にする構成であってもよい。
【0047】
また、
図3は、外骨格型ロボット1のブロック図の例である。
【0048】
外骨格型ロボット1を制御するためのコマンドが、外部制御装置20から、通信経路を介して外骨格型ロボットに与えられる。特に限定されないが、外部制御装置20は、汎用のパーソナルコンピュータを用いることが可能であり、通信経路としては、イーサネット(登録商標)ケーブルを用いることができる。もちろん、通信経路としては、その他の規格の有線通信の経路の他、無線による通信経路、たとえば、無線LAN(Local Area Network)や他の通信規格の無線などを使用してもよい。
【0049】
外部制御装置20は、ユーザからの指示入力を受ける入力部208と、コマンドを生成するためのプログラムや、様々な制御パラメータなど制御のために必要とされるデータが記録された不揮発性の記憶装置206と、外部制御装置20を起動するためのファームウェアが記憶されたROM(Read Only Memory)や、ワーキングメモリとして動作するRAM(Random Access Memory)などを含むメモリ204と、プログラムに応じて、コマンドを生成する処理を実行する演算装置210と、コマンドを通信経路を介して、外骨格型ロボットに送信するためのインタフェース(I/F)部202と、演算装置210の制御の下で、外骨格型ロボット1への制御の状態に関する情報などを表示するための表示装置212とを備える。
【0050】
上述のとおり、外部制御装置20が、汎用のパーソナルコンピュータである場合は、演算装置210は、CPU(Central Processing Unit)で構成され、不揮発性の記憶装置206としては、ハードディスクドライブやソリッドステートドライブなどを用いることができる。ただし、外部制御装置20の機能ブロックの一部または全部は、専用のハードウェアにより構成されてもよい。
【0051】
また、外部制御装置20は、たとえば、外骨格型ロボットが装着される使用者について、筋電位から関節トルクを推定するための推定モデルをキャリブレーション時に構成する処理を行う。構成された推定モデルにつての情報は、たとえば、記憶装置132などの記憶装置に記憶される。
【0052】
外骨格型ロボット1は、外骨格部12、内部制御装置10を備える。
【0053】
外骨格部12は、ベース121、下半身122、能動関節123、検出機構124を備える。さらに、能動関節123は、エアマッスル1231(図示せず)、電動モータ1232(図示せず)を備える。
【0054】
また、内部制御装置10は、I/F部11、記録装置131、記憶装置 132、計測装置133、制御部134、出力装置135を備える。
【0055】
I/F部11は、外部制御蔵置20から指令されたトルクまたは位置指令等を受け付けることができる。
【0056】
なお、ベース121は、腰の位置の骨格、腰の位置の能動関節123を含むと考えても良いし、腰の位置の骨格のみであると考えても良い。
【0057】
下半身122は、腿や足の位置の骨格、腿や足の位置の能動関節123を含むと考えても良いし、腿や足の位置の骨格のみであると考えても良い。
【0058】
能動関節123は、左右の足首、左右の膝、および腰の左右の各位置に配置されている能動の関節である。ここで、能動関節123とは、アクチュエータで能動的に動作することのできる関節である。つまり、能動関節123は、アクチュエータを備える。
【0059】
また、ここでの1以上の能動関節123は、ハイブリッド型である。つまり、能動関節123の少なくとも一部のものは、エアマッスル1231、電動モータ1232を備えるハイブリッド型である。なお、アクチュエータは、制御目標値となるトルク値を駆動信号として受け付け、受け付けたトルク値に基づいて制御する機能を有している。
【0060】
アクチュエータとして、サーボモータを使用する場合、アクチュエータは、例えば、電流制御が可能な駆動回路を有し、電流に比例したトルクを発生させるサーボモータは、制御目標値として入力されたトルク値に、ギヤ比により決定されるトルク定数を乗じて駆動回路に指令することで入力されたトルクを発生させるトルク制御を実現する。特に、能動関節123にトルクセンサを配設し、当該トルクセンサにより検出した値を駆動回路にフィードバックすることにより、高精度のトルク制御が可能となる。
【0061】
検出機構124は、ロボットの状態を検出する。検出機構124は、例えば、各関節に配置されたエンコーダ、足平に配置された床反力センサ、骨盤部に配置された姿勢検出のためのジャイロセンサ、各エアマッスルの駆動力を検知するロードセルなどである。検出機構124は、関節の角度を検出する角度センサや、ロボットの姿勢を取得する姿勢センサ、外力センサなどでも良い。
【0062】
また、検出機構124は、使用者のアシスト対象となる関節を運動させる筋肉の部位、たとえば脚部に装着された筋電センサにより使用者の筋電位を検出する。
【0063】
内部制御装置10は、能動関節123を動作させる。内部制御装置10は、I/F部11が受け付けた目標トルクまたは位置指令等に対応して、能動関節123を動作させる。
【0064】
計測装置133は、センサ等の検出機構124から検出結果を示す様々な信号(データ)を受け付ける。
【0065】
制御部134は、制御目標値の算出等の様々な演算を行う。制御部134が行う演算は後に説明する。
【0066】
出力装置135は、能動関節123に制御信号を出力する。出力装置135は、例えば、目標とするエアマッスルの圧力値やモータの制御値を能動関節123に出力する。より詳しくは、このような制御値は、モータドライバや圧力制御バルブなどに出力され、物理的なエネルギー(圧縮空気や電流)がモータやエアマッスルに供給される。
【0067】
(筋電位フィードバックによる能動関節の制御:1自由度系)
以上の説明では、下肢の運動をアシストする外骨格型ロボットの構成について説明した。以下では、外骨格型ロボットの装着者の運動へのパワーアシスト動作を説明するにあたり、説明の簡単のために、1自由度の系(1つの関節の1方向への運動)を例にとって説明する。ただし、このような1自由度の系への制御を、上述した下肢の外骨格型ロボットの各関節に適用することが可能である。また、上述したように、より一般的な外骨格型ロボットに適用することも可能である。
【0068】
そこで、以下では、上肢の運動をアシストすることを想定した1自由度の系として、本実施の形態の動作原理について説明する。
【0069】
図4は、検出機構124のうち、筋電位を検出する機構を説明するための概念図である。
【0070】
検出機構124は、上述したとおり、外骨格型ロボット側で、関節角度などロボットの状態を検出するセンサからの信号を受け取り制御部134へ出力する状態検出部1242と、装着者側の筋電位を検出する筋電位検出部1244とを含む。
【0071】
図4においては、上腕の表面電位を検出するために、たとえば、上腕の腱の部分にグランド電極ELGが配置され、上腕二頭筋には、たとえば、電極EL1〜EL4が配置されている。上腕三頭筋には、たとえば、電極素子EL5〜EL6が配置されている。
【0072】
なお、電極の個数、配置などは、あくまでも例示であり、筋電位を計測する部位に応じて、適宜変更できる。また、以下では、「筋電位を計測する部位」とは、パワーアシストを行う対象となる関節に対して、アシスト力を発生させる目的となる運動を生じさせる筋肉の部位のことをいうものとする。
【0073】
また、図示省略するが、電極素子EL5〜EL6の各々には、取得した表面電位を増幅するためのプリアンプや、フィルタ処理を行うためのアナログフィルタなどが設けられていてもよい。
【0074】
筋電位検出部1244は、電極素子EL1〜EL6からの信号をさらに増幅するアンプ1250と、アンプ1252からの信号をアナログデジタル変換するA/D変換器1254とを含む。
【0075】
したがって、以下、筋電位を測定する「測定チャネル」とは、対象となる筋の電位を測定するための、体表面から1つの電極を経由したアナログ信号が個別にデジタル信号化される経路のことをいうものとする。したがって、「エラーチャネル」とは、何らかの物理的な故障等により欠損もしくは不良な信号が混入したセンサに対する測定チャネルのことをいい、以下のような状態のチャネルも含む。
【0076】
i)電極素子と体表面との接触不良の状態。たとえば、電極素子が体表面から浮いていたり、密着性を高めるために電極表面に塗布されるジェルの不均一なども含む。
【0077】
ii)また、電極素子EL5〜EL6からアンプ1250に至る経路における断線や接続コネクタの接続不良や抜けの状態。
【0078】
iii)本来結合されるべきアンプ1250の入力端子とは、異なる入力端子に接続コネクタが誤接続された状態。
【0079】
iv)体表面の汗やジェルにより、電極素子において生じる通電状態(たとえば、電極素子に2つの電極がある場合、この電極間での通電状態など)。
【0080】
図5は、本実施の形態におけるパワーアシスト制御において、筋肉によりアシスト対象となる関節に与えられているトルクを推定する処理の概念を示す図である。
【0081】
図5に示すように、本実施の形態では、複数のセンサを用いた場合にセンサや配線の不良があっても適切に目的とする推定量を生体信号から導き出す。
【0082】
ここでは、筋電から関節トルクを推定するにあたり、不良測定チャネルの異なる複数の組み合わせに対して、頑健な推定を実現する。
【0083】
より具体的には、以下のとおりである。
【0084】
1)所定数(たとえば、1個)のセンサ(測定チャネル)が不良となる組合せごとに、予め関節トルクの推定モデルを、機械学習により複数用意しておく。このようにして、予め準備されるモデル1〜モデルnのそれぞれにより、推定されるトルクは、推定トルクτ
(1)(ハット)〜τ
(n) (ハット)である。(以下の文字の頭に“^”が付された文字については、文字の後に(ハット)をつけて表す。“^”は、推定値であることを意味する。)
2)次に、不良センサを複数の筋電信号の相関から検出し、最終的な推定値τ(ハット)に対する各推定値の寄与率を検出された不良センサに応じて変化させる。すなわち、検出された不良センサからの信号に基づかないモデルの寄与度を大きくする。より具体的には、たとえば、推定モデルを、検出された不良チャネルを含まない推定モデルに適宜切り替えることにより、頑健なトルク推定を達成する。
(表面筋電図(sEMG)からのロバストな関節トルク推定)
以下では、本実施の形態の筋電位−トルク推定の変換処理について説明する。
【0085】
本実施の形態では、複数の電極から筋電を取得した上で、筋電位−トルク推定の変換において、モデルをあらかじめ複数構築し、故障がおこった場合にはセンサを含まない推定モデルを用いる。
【0086】
これにより、エラーチャネルを含んだモデルから、正常なセンサ信号のみで構成されたモデルにリアルタイムで切り替え、破綻なく関節トルク推定を実現する。
【0087】
以下では一例として、システムのセンサのうち1つのチャネルに起こる故障に対応する仕組みを考える。これは、ネットワークやデータベースの分野でも単一の故障でシステム全体が機能しないことを改善すること(SPOF: Single Point of Failure) が重要であり、一つの頑健性の指標となっていることに対応するものである。もっとも、本実施の形態の筋電位−トルク推定の変換処理においては、予め2つまでのエラーチャネルが発生することを想定しておき、エラーチャネルを含んだモデルから、正常なセンサ信号で構成されたモデルに切り替える構成としてもよい。想定するエラーチャネルの最大個数は、これより多い場合に拡張することも可能である。
【0088】
ただし、以下では簡単のために、sEMGの計測システムにおいて起こる故障・不具合は、センサ信号の経路上のいずれか1チャネルのみであるとする。
【0089】
図6は、本実施の形態において、筋電位から関節駆動トルクを推定して、能動関節のアクチュエータ(ここでは、一例として、空電ハイブリッド式アクチュエータ)を制御するための制御ブロックを示す図である。
【0090】
このような制御ブロックは、たとえば、制御部134の機能として達成される。あるいは、制御部134と演算装置210との協働により、このような機能が達成されてもよい。
【0091】
図6を参照して、関節トルク変換部2100では、アシスト対象(この例では、使用者の上肢)2140から測定された筋電位(sEMG)信号は、以下に説明するような手続きにより、予め設定されたモデルにより、関節トルクを計算する。
【0092】
より具体的には、関節トルク変換部2100は、A/D変換器1254からのsEMG信号に対して所定のデジタルフィルタリング処理を行うEMG信号フィルタ部2102と、フィルタリングにより得られる出力u(t)から、関節駆動トルクτ
emgを推定する関節トルク算出部2106とを含む。
【0093】
さらに、目標トルク算出部2110は、推定されたτ
emgからアクチュエータの生成するべき目標トルクτ
r*を算出する。
【0094】
目標トルク算出部2110は、逆動力学作用モデル算出部2112を含んでおり、逆動力学作用モデル算出部2112は、後に説明するように、目標トルクτ
r*からのフィードバック2114により、目標トルクτ
r*を算出する。
【0095】
腱スプリングモデル算出部2120は、エアマッスルに供給する圧力p
*およびモータへの制御値を算出する。制御対象2130は、後に説明するような能動関節に設けられた空電ハイブリッド式アクチュエータである。
【0096】
関節トルク算出部2106は、この場合のヒトの関節駆動トルクを、式(1)のように複数の筋電−トルク変換モデルを用いて推定する。
【0098】
ここで、ノーテーションについては、以下のとおりである。
【0100】
つまり、式(1)の意味するところは、エラーチャネルi が検出された場合は、そのチャネルが含まれないモデルを用いた推定トルク値に切り替える、ということである。
(エラーチャネル判別)
以下では、関節トルク算出部2106の行うエラーチャネルの検出処理について説明する。
【0101】
本実施の形態では、sEMGに対するエラーチャネルの検出手法として、信号の相関に注目する。
【0102】
すなわち、近傍チャネルの相関を利用し、ロジスティック回帰によりエラーチャネルと正常なチャネルの状態を教師有り学習の識別器で判別する。sEMG の信号が正常な場合をy=1(クラスS1)、故障が含まれる場合をy=0(クラスS2)と定義する。sEMG の区間入力に対して正常な場合はS1 に、不良な場合にはS2に分類する識別器を予め機械学習により設定しておく。
【0103】
以下の具体例では、たとえば、特徴量は、整流したsEMGのローパスフィルタ(カットオフ18Hz、ウィンドウ幅1.0s)からの信号に基づいて抽出されるものとし、ロジスティック2値判別(ロジスティック回帰分析)により上記の識別器を構成する。
【0104】
2つのクラスS1とS2に分類する線形識別関数は、式(2)のように特徴量に重みづけした総和で表される。
【0106】
f(X;θ)=0は2つのクラスの境界を決める関数である。
【0107】
「D次元の特徴ベクトル」とは、この場合、測定チャネルからの信号についての相関行列の非対角な独立な成分であり、たとえば、チャネル数が6の場合は,D=(6×6−6)/2=15個の要素からなる。
【0108】
ここで、クラスのいずれか片方に属する確率をPと表せば、ロジスティック回帰では次の式(3) が正確に成り立つような重みを求める。
【0110】
この式(3) をPについて解けば、次の式(4)のようになる。
【0112】
Pは0から1の値をとり、f(X;θ)=0の場合にP=0.5となる。ここで2値の変数(ラベル)y(y=1の時S
1、y=0の時S
2を表す) を導入し、N個の入力-出力データサンプル(X
1,y
1),…, (X
N,y
N)を考えると、尤度関数は次の式(5)のように表現される。
【0114】
ここで、N個の入力-出力データサンプル(X
1,y
1),…, (X
N,y
N)とは、たとえば、以下のようなものを想定する。エラーチャネル1個の場合を想定すると、「入力特徴量ベクトル」Xi=(xi1,…,xiD)とは、チャネル数が6の場合、たとえば、ある時間間隔(ti〜ti+Δt)における電極EL1〜EL6の信号に対して整流し、フィルタ処理をかけたものについて、測定チャネルからの信号についての相関行列の非対角な独立な成分である。そして、このような「入力特徴量ベクトル」を、N個のうち、特定チャネルjがエラーチャネルである場合をN/m個と、正常である場合をN(m−1)/m個とを準備し、これを学習用のサンプルとする。
【0115】
ロジスティック回帰ではこの尤度関数が最大となるパラメータベクトルθを計算する。以上の方法により、以下のような分類を行う:
【0117】
このように分類することでセンサチャネルの状態を判別し、式(1) によりトルク推定を行う。
【0118】
すなわち、各チャネルエラーの態様ごとに、そのような態様が発生したかを判別する判別器が、事前に、機械学習により準備される。たとえば、1チャネルエラーまでを想定するのであれば、q個のチャネルがある場合、q個の判別器が準備されることになる。
【0119】
なお、1チャネルエラーまでを想定している場合は、同時に、2チャンネルからの異常が検出された場合は、2つのうち、より異常である尤度の高い方のチャネルに異常が発生しているものとして判別する構成としてもよい。
【0120】
また、2チャネルエラーまでを想定するのであれば、エラーチャネルが1チャネルの場合と2チャネルの場合のそれぞれの場合の合計として{q+q(q−1)/2}個の判別器が事前に準備される。想定されるエラーチャネルの個数がこれより増加した場合も同様である。
【0121】
また、上記の例では、特徴量は、整流したsEMGのローパスフィルタからの信号に基づいて抽出されるものとして説明したが、特徴量は、センサからの生データを用いる構成としてもよい。
(sEMG からの関節トルク推定)
この例では肘まわりのsEMGから肘の関節駆動トルクを推定する。
【0122】
sEMG から駆動トルクを推定するためにヒトの腕の力学系をロボットモデルに近似し、取得した関節角度データから式(6)の逆動力学計算により関節の駆動トルクを計算する。このような関節の駆動トルクの計算は、逆動力学相互作用モデル算出部2112により実行される。
【0124】
次に、関節トルク算出部2106が、sEMG信号から関節駆動トルクτ
emgを推定する処理について説明する。
【0125】
本実施の形態では、sEMG信号に、2次のローパスフィルターをかけたものが筋張力をよく表しており、筋収縮速度-筋張力、筋長-筋張力の非線形性の影響が少ないゆっくりとした関節の可動範囲の狭い動作を実験タスクとしていることから、ローパスフィルターをかけたsEMG信号の値からトルクを次のように線形モデルで推定する。
【0127】
ここで、以下の関係があり、Mはチャネル数である。
【0129】
また、測定されるsEMG信号から得られるフィルタリング後の各チャネルの信号u
mは、以下の式で表される。
【0131】
たとえば、sEMG信号は250MHzで計測し、整流化した後、カットオフ6.0Hzの2次型バターワースフィルターをかける。さらに0.04sec区間の移動積分値を計算する。
【0132】
なお、emg
k は時刻kにおけるsEMG信号の値である。
【0133】
式(7)のパラメータwを、式(6)によって求まるτと、式(7)におけるτ
all (ハット)またはτ
-i(ハット)の二乗誤差を最小にするように求める。
【0134】
このようにして得られた推定値(この例では、τ
all (ハット)またはτ
-i(ハット))が関節駆動トルクτ
emgとして、逆動力学相互作用モデル算出部2112に出力される。
【0135】
なお、sEMG信号からトルクを推定するためには、上述したような線形モデルに限定されるわけではなく、たとえば、以下の文献に開示されるHillモデルの筋張力を使用してもよい。
【0136】
公知文献1:A. Hill, “The heat of shortening and the dynamic constants of muscle,” Proceedings of the Royal Society of London. Series B, Biological Sciences, vol. 126, no. 843, pp. 136-195, 1938.
公知文献2:S. Stroeve, “Learning combined feedback and feedforward control of a musculoskeletal system,” Biological Cybernetics, vol. 75, no. 1, pp. 73-83, 1996.
あるいは、sEMG信号と力の非線形性をネイピア数の指数関数で表したものを使用してもよい。
【0137】
公知文献3:David G Lloyd and Thor F Besier. An emg-driven musculoskeletal model to estimate muscle forces and knee joint moments in vivo. Journal of Biomechenics, Vol. 36, pp. 765{776, 2003.
ただし、上述したような式(7)の線形モデルであれば、それぞれ筋張力に変換するためのパラメーターを各筋肉ごとに同定する必要がなく、解析が容易であるという利点がある。
[1軸アシスト装置についての実験]
(空電ハイブリッド式アクチュエータ用のトルク制御器)
以下では、空電ハイブリッド式アクチュエータ用のトルク制御器による力制御可能な1軸アシスト装置について説明する。エアマッスルPAMは非常に大きな力を発生するため、高強力・高弾性の化繊ワイヤであっても伸びがモデルの誤差の原因となる。「腱スプリングモデル」を仮定した力制御と小型のモーターが発生するトルクにより、緻密な関節トルク制御が可能である。
【0138】
このような空電ハイブリッド式アクチュエータおよび空電ハイブリッド式アクチュエータ用のトルク制御器については、上述した非特許文献2に開示があるので、概略について説明する。
【0139】
以下に説明するように、このようなトルク制御器(腱スプリングモデル算出部2120の実行する機能)は、制御部134に対して、機械学習を実行させることにより、実行させる構成とすることが可能である。
【0140】
空圧式エアマッスルは軽量であるもの、圧縮空気(または圧縮気体)のエネルギーをゴムチューブにより収縮力に変換することにより大きな力を生み出すことができる。
【0141】
エアマッスルが、力を発生させる原理は、空圧式の空気袋が埋め込まれたらせん状のファイバーが、圧縮空気が送り込まれて空気袋が膨張すると、長手方向(縦方向)に収縮するというものである。
【0142】
より詳しく説明すると、両端部に栓をしたゴムチューブに対して、動径方向を拘束するよう、表面にらせん状にまかれたファイバーを被せた構造になっている。このゴムチューブの中に空気を送り込むと、空気の圧力でゴムチューブが膨張する。しかし、動径方向はファイバーによって拘束されているため膨張できず、径方向の膨張に引っ張られて縦方向に収縮する。膨らみながら収縮する様が動物の筋肉に似ているところが人工筋肉と呼ばれる。
【0143】
アクチュエータ自体が軽く、柔らかい。さらに、ゴムチューブの内面全体がアクチュエータの収縮に寄与するため、断面積のみで圧力を受ける構造になっている一般的なエアシリンダー等よりも、パワー・ウェイト・レシオを大きく取りやすい。反面、上述したように、一般に空気圧による機器制御は空気の収縮・膨張などによる、制御遅れが大きく、素早い動作は苦手である。
【0144】
なお、「空気袋」は、流体により膨張ないし収縮運動をするものであれば、袋中に流入するものは、空気に限られないので、より一般には、「流体袋」と表現する。
【0145】
図7は、外骨格型ロボットの構成において、1自由度分の動作を行う空電ハイブリッドアクチュエータの部分を抜き出した外観を示す図である。
【0146】
図7において、空圧式エアマッスルのうち上側のエアマッスル302は、屈筋(PAM1)に相当し、下側のエアマッスル304ものは伸筋(PAM2)に相当する。
【0147】
伸筋PAM2は、屈筋PAM1とは相反し反対向きの力を生成する。
【0148】
プーリー付回転関節310には、電動モータからの駆動力も印加され、空圧式エアマッスルからの駆動力と電動モータからの駆動力とが合成される。
【0149】
エアマッスル302からの駆動力は、ワイヤ306によりプーリー付回転関節310に伝達され、エアマッスル304からの駆動力は、ワイヤ308によりプーリー付回転関節310に伝達される。このような構成により、駆動力の伝達機構自体を軽量化することが可能となる。
【0150】
プーリー付回転関節310へ加えられた駆動トルクにより、脚(または腕)350が駆動される。
【0151】
図8は、
図7に示した1自由度分の動作を行う空電ハイブリッドアクチュエータのシステムを制御する構成を説明するための機能ブロック図である。
【0152】
図8においては、内部制御装置10は、マルチファンクションボード(Multi Function board)として構成される。
【0153】
外部制御装置20に接続されたマルチファンクションボード10は、外部制御装置20からのコマンドに応じて、アクチュエータを制御する。具体的には、マルチファンクションボード10は、空圧式エアマッスル302および304の収縮を制御するためのバルブ301とバルブ302、ならびに、電動モータ312を制御するためのモータドライバ311を制御する。さらに、マルチファンクションボード10は、関節角度θを検知する角度エンコーダ324およびエアマッスルからの駆動力を検知するロードセル、能動関節に加わるトルクを検知するトルクセンサからの計測データを読み取ることで、これらに基づき、以下に説明するような制御を実行する。
【0154】
角度エンコーダ324は、たとえば、直交エンコーダを使用することが可能である。
【0155】
エアマッスル302および304ならびに電動モータ312からの駆動力は、プーリー付回転関節310において合成され、脚350にトルクτを与える。
【0156】
図9は、各アクチュエータが、関節を動かす態様を説明するための概念図である。
【0157】
以下では、まず、
図9(a)に示されるように、腱ワイヤの伸長を無視できる場合を考える。
【0158】
空圧式エアマッスルフォースからの駆動力fPAMi(i=1,2,…)は、ワイヤとプーリにより、腕(または脚)にトルクとして転送され/変換される。このプーリーを介して、電動モータの駆動力も伝達される。空圧式エアマッスルフォースからの駆動力fPAMiは、空圧式エアーマッスルと駆動力をプーリーに伝達するワイヤーとの接合部に設けられたロードセルにより検知される。
【0159】
以下のモデルの説明は、拮抗筋と電動モータの組合せの場合に限らず、たとえば、伸筋と電動モータの組合せにも広く適用することが可能である。ただし、以下では、説明の簡単のために、単純な2つの拮抗筋のモデルを考える。
【0160】
トルクτ
PAMは、駆動力f
PAMiにより、以下の式ように表される。
【0162】
τ
PAMは、空圧式エアマッスルの駆動力によるトルクであり、一方、r
0はプーリー半径で、この単純なモデルでは、r
0は定数とする。
【0163】
モーターの駆動力によるトルクは、空圧式エアマッスルの駆動力と並行して伝達される。例えば、小さなトルクが機械的なベルトによりプーリー経由で伝達される。
【0164】
空圧式エアマッスルは、直流的または低周波のトルクの生成において優れている。また、電動モータによる駆動力は、迅速で周波数の高いトルクとして、空圧式エアマッスルの駆動力によるトルクτ
PAMの誤差をカバーするので、電動式のトルクτmotorの値は、空圧式エアマッスルによるトルクよりも小さな値でよい。
【0165】
トータルのトルクは、以下の式で表される。
【0166】
τ=τ
PAM+τmotor
したがって、特に限定されないが、たとえば、内部制御装置10が、第一の閾値よりも(「より」は「以上」も含む、とする)高周波であるトルクに対して電動モータ312を追加動作させることは好適である。 なお、追加動作とは、エアマッスル302および304に加えて電動モータ312を動作させることである。ここで、第一の閾値は、例えば、3Hzである。
【0167】
空圧式エアマッスルから、ワイヤがプーリーへ駆動力を伝達し、指定された一方向へ関節を駆動する。
【0168】
ワイヤとしては、金属線、チェーンあるいは機械的なベルトなどの方式と比較して、軽量で強く、柔軟であるので、液晶ポリマー繊維を採用することができる。液晶ポリマー繊維としては、たとえば、クラレ社製ベクトラン(登録商標)を用いることができ、これは、高分子繊維であるにも関わらず、高強力高弾性率を有する素材として知られている。
【0169】
(空圧式エアマッスルの力学モデル)
空圧式エアマッスル、ワイヤおよびプーリを含む空圧式アクチュエータは、人間の筋肉と多くの共通点を持っている。
【0170】
外骨格型ロボットが人間の重さを支持する際に、ワイヤは、その特性において、人間の腱に類似している。
【0171】
そこで、以下に説明するように、平衡の仮定を置いて、空圧式エアマッスルのためのトルク制御器を導出する。
【0172】
空圧式エアマッスルの圧力の制御には、たとえば、比例的に圧力を調整するバルブを使用し、圧力pはクローズドフィードバックループにより制御され、十分に安定であるものとする。
【0173】
過渡状態においては、バルブ圧力と空圧式エアマッスルの圧力との間には、空気力学的な運動が存在するものの、一定の時定数の後には、ロボットと人間の重量のような外部の運動上の制約条件に駆動力が釣り合うまで、空圧式エアマッスルは収縮する。
【0174】
したがって、空気回路の動力学の影響は小さく、準静的な動作では無視することができる。
【0175】
この均衡点で、駆動力の生成は、内圧および収縮割合に依存し、空圧式エアマッスルの駆動力モデルは、以下のように与えられる:
【0177】
ここで、εは、収縮割合であり、D
0とψ
0とは、常圧における空圧式エアマッスルの径と、空圧式エアマッスルにおいて、空圧式の空気袋が埋め込まれたらせん状のファイバーの収縮方向に直交する方向に対する巻方向の傾きの角度である。
【0178】
このような「空圧式エアマッスルの駆動力モデル」は、たとえば、以下の文献に開示されている。
【0179】
公知文献4:K. Inoue. Rubbertuators and applications for robots. In Proceedings of the 4th international symposium on Robotics Research, pp. 57-63. MIT Press, 1988.
公知文献5:D.G. Caldwell, A. Razak, and MJ Goodwin. Braided pneumatic muscle actuators. In Proceedings of the IFAC Conference on Intelligent Autonomous Vehicles, pp. 507-512, 1993.
空気シリンダーと異なり、関節角が変化することによってトルクは非線形に変化する。
運動上の制約条件が常に不変であるという仮定の下では、空圧式エアマッスルの圧力は常に同じ均衡点での収縮割合ε(p)を与えることになる。すなわち、収縮割合ε(p)は、圧力pの関数となる。
【0180】
このとき、このような「空圧式エアマッスルの駆動力モデル」の逆モデルは、機械学習により学習することができる。すなわち、所望の駆動力fを得るための圧力pを求めることに相当する。内部制御装置10は、このような圧力pをエアマッスルに与えるように、バルブを制御することで、所望の駆動力を出力させることになる。
【0181】
例えば、ハートマン等は、動力学的な学習について、以下の文献で提案している。
【0182】
公知文献6:Christoph Hartmann, Joschka Boedecker, Oliver Obst, Shuhei Ikemoto, and Minoru Asada. Real-time inverse dynamics learning for musculoskeletal robots based on echo state gaussian process regression. In Accepted at RSS 2012, 2012.
しかしながら、一般的には、運動上の制約条件をダイナミックに変更し、異なる外力Fと釣り合うので、この仮定は、上述したような外骨格型ロボットにおいては、厳密には成り立たない。
【0183】
したがって、この場合の均衡点での収縮割合εは、圧力と外力の関数として、ε(p,F)と表現される。
【0184】
(腱スプリング均衡モデル)
上述したような液晶ポリマー繊維製のワイヤは、高強力高弾性率を有するので、通常は、張力に対して長さが変化しないとの近似がよく成り立つ。高強度・高弾性率繊維としては、ベクトラン(登録商標)のようなポリアリレート繊維の他に、たとえば、超高分子量ポリエチレン繊維、PBO繊維などがある。
【0185】
しかし、人間(たとえば、体重は60kgある)を保持するためには、空圧式エアマッスルは、張力として、典型的には、3000Nを生成する(最大値としては、たとえば、5000Nが必要になる)。
【0186】
このような大きな力が加わると、たとえ、液晶ポリマー繊維製のワイヤ(腱ワイヤ)であっても、その伸長量が無視できず、均衡点を変化させてしまう。
【0187】
以下では、
図9(b)に示すように、腱ワイヤの伸長の影響を考慮したモデルを検討する。
【0188】
そこで、液晶ポリマー繊維製の腱の力学モデルとして、以下に説明するような、線形の腱スプリング・モデルを導入する。
【0189】
f=kΔε (S2)
すなわち、このモデルでは、腱ワイヤ(ポリアリレート繊維などの液晶ポリマー繊維製のワイヤ)は、バネに近似され、Δεは、力によって引き起こされた余分なエアマッスルの収縮であり、kはばね定数である。つまり、腱が力によって伸びる分、空圧式エアマッスルは、余分に収縮することが必要になる。このようにバネに近似される腱ワイヤのことを「腱スプリング」と呼ぶことにする。
【0190】
このような腱に相当するワイヤを、腱スプリングとして近似しない場合、空圧式エアマッスルの駆動力モデルg(…)は3つのパラメーター(そのうちの2つは依存関係にある)を備えた以下の二次式(S3)で表される:
【0192】
ここで、
2次式の係数には、以下の関係が成り立つ。
【0194】
均衡点で、駆動力f
*は、腱の伸長によって、以下のように減少する。
【0196】
ここで、g´(…)が腱スプリングの仮定の下での駆動力モデルであり、ε
*は、見かけの収縮割合であり、εは、空圧式エアマッスルの実際の収縮割合であり、Δεは、空圧式エアマッスルの実際の収縮割合への付加項である。
【0197】
式(S2)から、Δε=f
*/k となる。
【0198】
実際の収縮割合εは、上述したような外骨格型ロボットの検出機構124では、直接測定するのが困難である。したがって、その代りに、推定収縮割合εest(=ε
*−Δε)を使用する。収縮割合ε
*は、以下の式のように、関節角から計算される。
【0200】
ここで、L
0は、関節角θ=0のときの空圧式エアマッスルの初期長さである。つまり、「見かけの収縮割合」とは、アクチュエータにより駆動される関節の角度変化から導かれる収縮割合であって、角度センサから検知できる量に基づく収縮割合であるのに対して、「実際の収縮割合」とは、駆動力f
*を生成するために、エアマッスルが現実に収縮している割合のことである。
【0201】
収縮割合ε
*において、駆動力f
*が必要とされる場合、逆モデルg
−1()から、必要な圧力p
*が、以下のようにして導出される。
【0203】
最小二乗アルゴリズムを使用して、既知の空圧式エアマッスルのデータから、空圧式エアマッスルパラメーターa、bおよびcを評価できる。
【0204】
さらに、たとえば、キャリブレーション実験で、1自由度システムによって均衡点駆動力を測定する際に、バネ定数kについては、手動で調整することで最適値を実験的に求めることができる。
【0205】
運動をアシストする主要なトルク(所定の周波数以下の成分のトルク、たとえば、直流成分のトルク)は、空圧式エアマッスルによって供給され、実際のトルクτ
PAMsは、ロードセルにより測定することができる。上述したように、高周波トルク(所定の周波数を超える成分のトルク:交流成分のトルク)は電動モータによって生成される。
【0206】
したがって、モータのトルクは以下の式(S7)のように表現される。
【0208】
以上のようにして、腱スプリングモデルを腱ワイヤに適用することにより、関節角と腱ワイヤに印加される駆動力を検知する構成において、空圧式エアマッスルの駆動力を正しく反映した逆モデルを、たとえば、機械学習により、構築することが可能となる。その結果、空電アクチュエータを制御する際に、その周波数応答性を向上させることが可能となる。
(1軸アシストシステムによる実験:ロバストな関節トルク推定実験)
(実験設定)
図10は、本実施の形態の関節駆動トルクの推定処理の有用性を検証する実験の構成を説明するための概念図である。
【0209】
この実験では、1自由度のロボットアームを使用し、
図10のようにヒトの上肢に固定し上下させる運動をタスクとした。ヒトの関節角度データをロボットアームのエンコーダーから取得し、sEMG信号は上腕二頭筋から2箇所、上腕三頭筋から2箇所の計4箇所から計測し、上述した手法により関節駆動トルクを推定する。
【0210】
その際、トルク推定に主要となる上腕二頭筋の1つのチャネルにエラーが起こった場合を考える。本実験ではエラーチャネルとして、sEMG信号のセンサコードのアンプなどへの接触不良や切れかかっている状態などを想定し、そのような信号が入るように実験中センサコードとアンプ接続のオン/オフを断続的に切り替えた。
【0211】
図11は、このような実験において、sEMG信号の時間変化とロジスティック回帰によるセンサチャネルの状態判別結果を示す図である。
【0212】
図11(a)は動作時のsEMG の様子を表したものである。途中電圧の大きさが極端に小さくなっている区間がエラーの入った状況である。
【0213】
図11(b) は、そのsEMG信号に対して、正常なチャネルと判別された場合はラベルを1に、エラーチャネルであると判別された場合は0となるように分類した結果である。判別正答率は91%であった。
【0214】
(関節トルクの推定結果)
図12は、トルク推定処理の途中で、エラーチャネルが発生した状況を示す図である。
【0215】
図12は、sEMG信号からトルクを推定する際、推定に対して主要となるチャネルにエラーが起こった場合に対応するロバストな関節トルク推定を行った結果を示す。
【0216】
図12(a) では、従来方法で主要となるチャネルにエラーが起こった場合のトルク推定結果を示し、
図12(b)では同じ状況に対し、ロバストなトルク推定結果を示す。
図12では、逆動力学から計算したトルクと、sEMG信号より推定したトルクの双方が示されている。
【0217】
この
図12より、エラーチャネルが検出された際、従来方法では対処できず推定関節トルクの誤差が大きくなり適切に推定がおこなえていない。
【0218】
これに対して、本実施の形態の推定手法では、エラーチャネルが検出されるとすぐに推定モデルが切り替えられているため、誤差が少なく、適切な推定がおこなえていることが分かる。
【0219】
図12(a) では全体の平均二乗誤差が17.9であるのに対し、
図12(b)では8.2であった。
【0220】
以上説明したとおり、本実施の形態では、生体信号を検出するセンサチャネルを複数用いて、sEMG信号から関節駆動トルクを推定するモデルを複数組み合わせることで、一部のセンサからのチャネルに故障等のエラーが発生しても頑健にトルク推定が可能である。
[実施の形態2]
実施の形態1では、エラーチャネルの検出のために、各チャネルエラーの態様ごとに、そのような態様が発生したかを判別する判別器が、事前に、機械学習により準備される構成であった。
【0221】
実施の形態2では、エラーチャネルの検出のために、以下に説明するようなグラフィカル・ガウシャン・モデルを用いる。エラーチャネル検出の構成以外は、実施の形態1と同様である。
(エラーチャネルの検知)
以下では、実施の形態2の方法に基づいたsEMGチャネルの異常検知を行なう処理について説明する。
【0222】
実施の形態2の方法は、グラフィカル・ガウシャン・モデルにより、各チャネルの異常スコアを計算するものである。
【0223】
このような手法については、たとえば、以下の文献に開示がある。
【0224】
公知文献7:T. Ide, A. C. Lozano, N. Abe, and Y. Liu, “Proximity-based anomaly detection using sparse structure learning,” SIAM International Conference on Data Mining, pp. 97-108, 2009.
すなわち、センサーからの以下のような2組のデータセットD
A(N
A個の組)およびD
B(N
B個の組)が与えられたとき、まず、与えられた分散行列に基づいたスパース構造を学習する。
【0226】
ここで、R
Mは、M次元の実数ベクトルであることを示す。
【0227】
次に、2つのスパースなグラフが比較され、各変数について異常スコアが算出される。
【0229】
1)グラフィカル・ガウシャン・モデル(GGM:Graphical Gaussian Model)
GGMは、多変量データのふたつを比べて、その相違に対する個々の変数の寄与度を計算することに相当する。
【0230】
M次元の確率変数x(∈R
M)に対して、GGMは、以下の式(T2)のようなM次元のガウス分布を仮定する。
【0232】
ここで、detは、行列式を表し、また、Λ(∈R
M×M)は精度行列を表す。また、N(…|μ,Σ)によって平均ベクトルμおよび分散行列Σのガウス分布(正規分布)を表す。
【0233】
GGMでは、ガウス分布がグラフ(V,E)に関連づけられており、Vは、M変数をすべて含んでいるノードの組であり、また、Eは1組の辺である。
【0234】
グラフにおいて、他のすべての変数を与えたときに、それらが条件付きで独立している場合、およびその場合のみ、変数x
iと変数x
jとの間の辺が存在しないことになる。
【0235】
ガウス分布の仮定の下では、以下の式で表わされる。
【0237】
ここで、変数x
iと変数x
jとの間の記号は、統計的独立を表わす。
【0238】
さらに、形式的には、「近傍」の定義は以下のように与えられる。
【0239】
すなわち、「Λij≠0が成り立つ場合、そして、その場合のみ、変数ノードxiは変数ノードxjの近傍である。」
変数ノードx
iの近傍グラフとは、ノードx
iとその近傍ノードとの間が、辺で接続されており、ノードx
iとその近傍ノードを含んでいるグラフである。
【0240】
さらに、「近傍ノードの選択」とは、各ノードの近傍ノードをすべて列挙するということである。
【0241】
2)スパース構造学習
次に、データからスパース構造を学習する方法について説明する。
【0242】
「構造学習」とは、変数(電極素子(センサー)に対応)同士の本質的な依存関係をデータから見出すことを意味する。すなわち、「変数ノードを頂点とする(重み付き)グラフを求めること」に相当する。依存関係がある変数同士の間には、辺が張られるが、そうでない場合には、辺は張られない。したがって、「スパースな構造学習」という場合は、本質的な依存関係にのみ辺があるようなグラフを求めることを目標とすることになる。
【0243】
この処理は、データAおよびBの両方に共通であるので、当面、添え字のAまたはBを省略し、どちらのデータも、以下の式のようにDで表すこととすると、標本共分散行列Sは式(T4)により与えられる。
【0245】
3)正規化された最大尤推定法:
GGMでは、見方を変えれば、構造学習とは、多変数のガウス分布の精度行列Λを見つけることである。ここで、精度行列Λは、標本共分散行列Sの逆行列に相当する。
【0246】
しかしながら、一般に標本共分散行列は多くの場合、ランク不足であって、逆行列が存在しない。
【0247】
したがって、以下の式(T5)で表されるL1正規化項つきの最尤方程式を解く必要がある。
【0249】
正規化項(ペナルティー項)のおかげで、精度行列Λ
*の中の要素の多くは、厳密に0になる。正規化項の重みρは、入力パラメータであり、「相関係数のどの値までを有意な相関とみなすか」の指標と解釈できる。
【0250】
4)グラフのLASSOアルゴリズム:
グラフについてのLASSO(least absolute shrinkage and selection operator)アルゴリズムは、行列内をブロック化した勾配法を利用することにより、解くべき問題を、一連のL1正則化項付きの2次計画問題に還元する。
【0251】
このようなアルゴリズムについては、たとえば、以下の公知文献8に開示されている。
【0252】
公知文献8:O. Banerjee, L. E. Ghaoui, and G. Natsoulis, “Convex optimization techniques for fitting sparse gaussian graphical models,” In proc. Intl. Conf. Machine Learning, pp. 89-96, 2006.
行列内をブロック化した勾配法を利用するために、以下の式のように、特定の1つの変数x
iに注目し、精度行列Λとその逆行列を分割する。
【0254】
ここで、行列の行および列は、変数x
iに関連する要素が最後の行および最後の列に位置するように、配列されるものと仮定する。
【0255】
したがって、「一連のL1正則化項付きの2次計画問題に還元する」とは、精度行列Λにおいて、部分行列Lを定数として、lの部分について最適問題を導き、精度行列を1列(1行)ずつ最適化することに相当する。これにより、スパースな精度行列を、明示的な逆行列計算なしに求めることができる。
【0256】
さらに、この変数x
iに基づいた行列の分割に対応して、同じ方法で標本共分散行列Σ(行列Sに相当)が分割される。
【0257】
5)異常スコア
スパース構造学習により、時間軸上の2つの異なる時点において、その各時点における変数(電極素子(センサー)に対応)の組に対応するスパースな構造が得られることになる。これらを、添え字A,Bで区別することにする。
【0258】
GGMの文脈では、このことは、データを生成する2つの確率モデルp
A(x)とp
B(x)が得られたのと同義である。以下に説明するように、両者を比較することで、どの変数が、どれだけ両者の変化に寄与したのかを表すスコア(異常スコア)を計算する。
【0259】
データセットD
AおよびD
Bが与えられたとき、確率モデルにおいて、2組のデータセットの相違に、各変数がどの程度寄与しているかを定量化するために、最も自然な尺度は、Kullback-Leibler(KL)距離である。
【0260】
1つの変数x
iに着目した場合、p
A(x
i|z
i)とp
B(x
i|z
i)の間のKL距離の期待値を、分布p
A(z
i)によって計算すると、以下の式(T6)のようになる。
【0262】
さらに、KL距離d
ABiは、以下のように書き換えることができる。
【0264】
ここで、精度行列Λ
Aおよびその逆行列Σ
Aを以下のように分割する。
【0266】
KL距離d
ABiは、i番目の変数ノードの近傍グラフの変化の尺度である。この量が大きいほど、変数x
iに関して大きな変化があったことを意味する。
【0267】
したがって、近傍ノードが保存されることを仮定すると、i番目の変数の異常スコアを、以下の式(T8)として定義することが合理的である。
【0269】
しかしながら、分散行列および精度行列に対する計算コストは非常に高い。実時間のロボットをコントロールするために、このような計算コストはできるだけ小さくすることが望ましい。
【0270】
そこで、i番目の変数の異常スコアを単に、以下の式(T9)として定義する。
【0272】
実験により、式(T9)の定義により、チャネルエラーを判別するのに、十分であることが確認できた。
【0273】
図13は、電極素子(センサー)の断線や、電極素子の体表面への接触不良の場合の異常スコアを示す図である。
【0274】
図13(a)は、第2チャネルに断線や欠損があった場合の各チャネルの異常スコアの値を示し、
図13(b)は、第1チャネルの電極素子の2つの電極のうち一方が浮いた状態となった場合の異常スコアの値を示す。
【0275】
図13(a)では、第2チャネルに異常があることが、
図13(b)では、第1チャネルに異常があることが、それぞれ、異常スコアに現れている。
【0276】
図14は、電極素子(センサー)のコネクタのチャネル位置の挿入ミスの場合や、汗などによる電極間のショートが発生した場合の異常スコアを示す図である。
【0277】
図14(a)は、第1チャネルと第4チャネルを逆につないでしまった場合の各チャネルの異常スコアの値を示し、
図14(b)は、第2チャネルの電極素子の2つの電極が汗(あるいはジェル)により通電してしまった場合の異常スコアの値を示す。
【0278】
図14(a)では、第1および第4チャネルに異常があることが、
図14(b)では、第2チャネルに異常があることが、それぞれ、異常スコアに現れている。
【0279】
図15は、チャネルが断線した場合の異常スコアの時間変化を示す図である。
【0280】
図15(a)は、第2チャネルの電極素子(センサー)に断線がある場合の異常スコアを他のチャネルと比較したものであり、
図15(b)は、第2チャネルのsEMG信号と異常スコアの時間変化を示す図である。
【0281】
断線によりsEMG信号がゼロとなっている期間は、異常スコアが一定上の値となっており、異常スコアにより第2チャネルの異常をリアルタイムに検出できていることがわかる。
【0282】
したがって、以上説明したような方法を使用して、各sEMGチャネルの異常スコアを計算し、センサーチャネルがエラーを含んでいるのを検知できる。検知されたチャネルエラーに応じて、実施の形態1と同様にして、トルク推定モデルを切り替えることができる。
【0283】
実施の形態2のパワーアシスト装置のその他の構成は、実施の形態1のパワーアシスト装置と同様であるので、その説明は、繰り返さない。
【0284】
以上のようなエラーチャネル検知の構成によっても、実施の形態1と同様の効果を奏することが可能である。
【0285】
しかも、チャネル数が大きくなったときにも、スパース構造学習により、変数間の本質的な関係のみを抽出できるので、多チャネル化に、より適したチャネルエラーの判別が可能となる。
【0286】
なお、以上説明した実施の形態1および2においては、生体信号としては筋電位を用いるものとして説明したが、本発明は、このような場合に限定されず、たとえば、複数のセンサからの信号を統合して解析することで、使用者の行おうとしている運動における関節の駆動力(または駆動トルク)を推定するようなシステムに適用することができる。たとえば、筋電位に加えて、または筋電位の代わりに、たとえば、頭蓋の表面側から複数のセンサにより検知される脳活動の信号(たとえば、脳波や、近赤外によるNIRS(Near-Infrared Spectroscopy)信号など)を使用するシステムであってもよい。
【0287】
また、以上説明した実施の形態1および2においては、筋電位を用いて使用者の行おうとしている運動における関節の駆動力(または駆動トルク)を推定するようなシステムについて説明したが、本発明はこのような構成に限定されるものでもなく、たとえば、上述したような筋電位や脳活動の信号のような生体信号を統合して解析することで、使用者の行おうとしている運動の方向、強度、または速度のような意図される運動の態様を推定し、それに応じた制御信号により、外骨格ロボットのような外部装置を駆動するようなシステムに用いることもできる。たとえば、下肢の外骨格ロボットを制御してリハビリテーションに応用するような場合は、使用者が立ち上がろうとしているのか、すわりこもうとしているのかという意図が判別できれば、下肢の外骨格ロボットにより体重補償を行うのか否かをこの判別結果に応じて、切り替える、というような制御を行うことも可能である。
【0288】
また、以上説明した実施の形態1および2においては、使用者(ユーザ)自身の筋電位の測定により、使用者自身の関節駆動力(または関節駆動トルク)を推定するという構成で説明したが、たとえば、筋電位の測定(より一般には、生体信号の測定)は、療法士の筋電位を測定し、関節の運動をサポートされるのはユーザ(リハビリの対象者)というような使用方法も可能である。この場合は、パワーアシストの構成も必ずしも外骨格型ロボットの構成に限定されるものではなく、ユーザの運動を支援できるような駆動系であれば、他の構成を用いることも可能である。
【0289】
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。