(57)【特許請求の範囲】
【請求項１】
関節を含む骨格と筋肉とを有する生体に装着され、上記生体の骨格に関節を跨いで固定される駆動部によって上記関節の回動動作を支援及び／又は妨害する筋力補助装置の駆動部の駆動力を算出する駆動力算出装置であって、
上記回動動作を支援及び／又は妨害する際に、当該関節に関与する筋肉毎に発生させるべき力である設定筋力の総和と、当該関節に関与する上記駆動部毎に発生させる力である駆動力の総和とが上記回動動作に必要な関節のトルクを発生させるように、上記回動動作に必要な関節のトルクと、予め設定された上記筋肉毎の設定筋力とに基づいて、上記駆動部毎の駆動力を算出する駆動力算出手段を備えていることを特徴とする、駆動力算出装置。
【請求項２】
上記駆動力算出手段は、上記筋肉及び上記駆動部のモーメントアーム（ただし、モーメントアームは、上記関節の回動中心軸から、該関節を跨ぐ筋肉又は駆動部の付着点までの距離である）を算出するための、上記骨格上における筋肉及び駆動部の立体構成情報を用いて、上記設定筋力及び上記回動動作に必要な関節のトルクから上記駆動部の駆動力を算出することを特徴とする、請求項１に記載の駆動力算出装置。
【請求項３】
上記関節のトルクは、
【数１】
0004742278.tif 000014
（ただし、上記式において、ｉは関節の番号であり、τiは関節ｉにおける関節トルクであり、ｊは関節ｉを跨ぐ筋肉又は駆動部の番号であり、ｒjは筋肉ｊ又は駆動部ｊのモーメントアームであり、ｆjは筋肉ｊの筋力又は駆動部ｊの駆動力である）
と表され、上記駆動力算出手段は上記立体構成情報から上記ｒjを算出することを特徴とする、請求項２に記載の駆動力算出装置。
【請求項４】
上記駆動力算出手段は、上記設定筋力と、上記回動動作に必要な関節のトルクとを拘束条件として、次の評価関数ｕ（ｆ）
【数２】
0004742278.tif 000015
（ただし、上記評価関数において、ｎは設定筋力が設定されなかった筋肉の数と駆動部の数との和であり、ｊは設定筋力が設定されなかった筋肉又は駆動部の番号であり、ｆj／Ａjはｊが筋肉の場合はｊ番目の筋肉の単位面積あたりの筋力であり、ｊが駆動部の場合はｊ番目の駆動部の単位面積あたりの駆動力であり、ｍは２以上の任意の整数である）
が最小となるｆjを上記駆動部の駆動力として算出することを特徴とする、請求項１から３の何れか１項に記載の駆動力算出装置。
【請求項５】
上記筋力補助装置が上記回動動作を支援及び妨害しない場合の上記回動動作に必要な筋力を、上記回動動作に必要な関節のトルクに基づいて算出する筋力算出手段をさらに備え、
上記駆動力算出手段は、上記筋力算出手段が算出した筋力を用いて上記設定筋力を特定することを特徴とする、請求項１から４の何れか１項に記載の駆動力算出装置。
【請求項６】
上記筋力補助装置が上記回動動作を支援及び／又は妨害する際の上記回動動作に必要な筋力を、上記駆動力算出手段によって算出された駆動部毎の駆動力と、上記回動動作に必要な関節のトルクとに基づいて筋肉毎に算出する筋力再算出手段と、
上記筋力再算出手段によって算出された筋肉毎の筋力と、上記駆動力の算出に用いた、筋肉毎の設定筋力とをそれぞれ比較する比較手段とをさらに備えていることを特徴とする、請求項１から５の何れか１項に記載の駆動力算出装置。
【請求項７】
上記回動動作に関する動作情報に基づいて、上記回動動作に必要な関節のトルクを算出する関節トルク算出手段をさらに備え、
少なくとも１つの上記各算出手段における駆動力又は筋力の算出に、上記関節トルク算出手段によって算出された関節のトルクが用いられることを特徴とする、請求項１から６の何れか１項に記載の駆動力算出装置。
【請求項８】
上記回動動作に関する動作情報を取得する動作情報取得手段をさらに備え、
上記関節トルク算出手段は、上記動作情報取得手段によって取得された動作情報を基に、上記回動動作に必要な関節のトルクを算出することを特徴とする、請求項７に記載の駆動力算出装置。
【請求項９】
請求項１から８の何れか１項に記載の各手段として、コンピュータを動作させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項１１】
関節を含む骨格と筋肉とを有する生体に装着され、上記生体の骨格に関節を跨いで固定される駆動部によって上記関節の回動動作を支援及び／又は妨害する筋力補助装置の駆動部の駆動力を算出する駆動力算出方法であって、
当該関節に関与する筋肉毎に発生させるべき力である筋力を設定する筋力設定工程と、
上記筋力設定工程において設定した筋力の総和と上記駆動部の駆動力の総和とが上記回動動作に必要な関節のトルクを発生させるように、上記設定した筋力と上記回動動作に必要な関節のトルクとに基づいて、当該関節に関与する上記駆動部毎の駆動力を算出する駆動力算出工程とを備えていることを特徴とする、駆動力算出方法。
【請求項１２】
上記駆動力算出工程では、上記筋肉及び上記駆動部のモーメントアーム（ただし、モーメントアームは、上記関節の回動中心軸から、該関節を跨ぐ筋肉又は駆動部の付着点までの距離である）を算出するための、上記骨格上における筋肉及び駆動部の立体構成情報を用いて、上記筋力設定工程で設定した筋力及び上記回動動作に必要な関節のトルクから上記駆動部の駆動力を算出することを特徴とする、請求項１１に記載の駆動力算出方法。
【請求項１３】
上記関節のトルクは、
【数３】
0004742278.tif 000016
（ただし、上記式において、ｉは関節の番号であり、τiは関節ｉにおける関節トルクであり、ｊは関節ｉを跨ぐ筋肉又は駆動部の番号であり、ｒjは筋肉ｊ又は駆動部ｊのモーメントアームであり、ｆjは筋肉ｊの筋力又は駆動部ｊの駆動力である）
と表され、上記駆動力算出工程では上記立体構成情報から上記ｒjを算出することを特徴とする、請求項１２に記載の駆動力算出方法。
【請求項１４】
上記駆動力算出工程では、上記筋力設定工程において設定した筋肉の筋力と、上記回動動作に必要な関節のトルクとを拘束条件として、次の評価関数ｕ（ｆ）
【数４】
0004742278.tif 000017
（ただし、上記評価関数において、ｎは筋力設定工程において筋力を設定しなかった筋肉の数と駆動部の数との和であり、ｊは筋力入力部に設定筋力が入力されなかった筋肉又は駆動部の番号であり、ｆj／Ａjはｊが筋肉の場合はｊ番目の筋肉の単位面積あたりの筋力であり、ｊが駆動部の場合はｊ番目の駆動部の単位面積あたりの駆動力であり、ｍは２以上の任意の整数である）
が最小となるｆjを上記駆動部の駆動力として算出することを特徴とする、請求項１１から１３の何れか１項に記載の駆動力算出方法。
【請求項１５】
上記筋力補助装置が上記回動動作を支援及び妨害しない場合の上記回動動作に必要な筋力を、上記回動動作に必要な関節のトルクに基づいて算出する筋力算出工程をさらに備え、
上記筋力設定工程では、上記筋力算出工程において算出した筋力を用いて筋力を設定することを特徴とする、請求項１１から１４の何れか１項に記載の駆動力算出方法。
【請求項１６】
上記筋力補助装置が上記回動動作を支援及び／又は妨害する際の上記回動動作に必要な筋肉の筋力を、上記駆動力算出工程において算出した駆動部毎の駆動力と、上記回動動作に必要な関節のトルクとに基づいて筋肉毎に算出する筋力再算出工程と、
上記筋力再算出工程において算出した筋肉毎の筋力と、上記筋力設定工程において設定した筋肉毎の筋力とをそれぞれ比較する比較工程とをさらに備えていることを特徴とする、請求項１１から１５の何れか１項に記載の駆動力算出方法。
【請求項１７】
上記回動動作に関する動作情報に基づいて、上記回動動作に必要な関節のトルクを算出する関節トルク算出工程をさらに備え、
少なくとも１つの上記各算出工程における駆動力又は筋力の算出に、上記関節トルク算出工程において算出した関節のトルクを用いることを特徴とする、請求項１１から１６の何れか１項に記載の駆動力算出方法。
【請求項１８】
関節を含む骨格と筋肉とを有する生体によって装着され、上記関節の回動動作を支援及び／又は妨害する筋力補助装置であって、
請求項１から８の何れか１項に記載の駆動力算出装置と、
上記生体の骨格に関節を跨いで固定される駆動部と、
上記駆動部の駆動力を制御する駆動力制御部とを備え、
上記駆動力制御部は、上記駆動力算出装置によって算出された駆動力に基づいて上記駆動部の駆動力を制御することを特徴とする、筋力補助装置。
【請求項１９】
関節を含む骨格と筋肉とを有する生体によって装着され、上記関節の回動動作を支援及び／又は妨害する筋力補助装置であって、
請求項１１から１７の何れか１項に記載の駆動力算出方法によって算出された駆動力のデータが格納された記憶部と、
上記生体の骨格に関節を跨いで固定される駆動部と、
上記駆動部の駆動力を制御する駆動力制御部とを備え、
上記駆動力制御部が、上記記憶部に格納された駆動力に基づいて上記駆動部を制御することを特徴とする、筋力補助装置。
【請求項２０】
入力部をさらに備え、
上記記憶部には、複数の駆動力のデータが、算出の際に用いられた回動動作の情報と関連付けられて格納され、
上記入力部に入力される情報は、回動動作の情報であり、
上記駆動力制御部は、上記入力部に入力された回動動作の情報に基づいて上記記憶部から対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて上記駆動部を制御することを特徴とする、請求項１９に記載の筋力補助装置。
【請求項２１】
上記記憶部には、複数の駆動力のデータが、上記筋力設定工程において設定された筋力の情報と関連付けられて格納され、
上記入力部に入力される情報は、筋肉に対して設定される筋力の情報であり、
上記駆動力制御部は、上記入力部に入力された筋力の情報に基づいて上記記憶部から対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて上記駆動部を制御することを特徴とする、請求項２０に記載の筋力補助装置。
【請求項２２】
請求項１９から２１の何れか１項に記載の筋力補助装置の記憶部として用いられる上記駆動力のデータが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、関節を含む骨格と筋肉とを有する生体によって装着され、この生体の骨格に関節を跨いで固定される駆動部によって関節の回動動作を支援及び／又は妨害する筋力補助装置の駆動力を算出するための駆動力算出装置及び駆動力算出方法に関するものである。また、本発明は、上記駆動力算出方法又は駆動力算出装置を利用した筋力補助装置に関するものでもある。
【背景技術】
【０００２】  近年の急激な高齢化社会への移行に伴って、福祉分野では、高齢者の介護を支援する福祉支援機器に対するニーズが高まっている。介護において最も負担の係る作業は、被介護者の移動や姿勢調節である。このような作業時に介護者の筋力負担を軽減する介護用筋力補助装置が注目されている。【０００３】  例えば、文献１には、軽量かつ小型の空気圧アクチュエータにより作動する、介護用筋力補助装置について記載されている。また、文献２には、人の筋肉の負担を軽減し、全体の構成を小型化したパワーアシスト機器について記載されている。さらに他のものとしては、ＣＹＢＥＲＤＹＮＥ社製のＨＡＬ等がある。【０００４】  これらの筋力補助装置は、スポーツ工学分野やリハビリテーション工学分野においても、筋肉の負担の軽減や増加を行いつつ筋力トレーニングを行うために有効である。【０００５】  ところで、スポーツ工学分野やリハビリテーション工学分野では、新たな運動能力の評価方法やリハビリテーション方法を開発するために、人間の運動中の筋活動を推定することに関して活発に研究されている。例えば、文献３には、被験者が運動装置を駆動した時の運動特性を計測し、逆解析手法を用いて生体の筋力を推定する技術について記載されている。また、推定を行うためのソフトウェアとして、Ｇｓｐｏｒｔ社の３Ｄマッスルシミュレータ「アルモ」や、Ｍｕｓｃｕｌｏｇｒａｐｈｉｃｓ社製の全身筋骨格モデル「ＳＩＭＭ」等が販売されている。【０００６】  ところで、介護者が装着する筋力装着装置としては、介護者にかかる負担が自然なものになるように、筋力特性を考慮しながら各筋肉にかかる負担を個別に調節できることが望まれる。【０００７】  また、身障者のリハビリテーション効果を向上させるためには、負荷をかけるべき筋肉とかけない方が好ましい筋肉とを特定して、負荷をかけない方が好ましい筋肉の筋力を重点的に支援するように、各筋肉にかかる負担を調節できることが望まれる。筋力トレーニングについても同様に、負荷をかけるべき筋肉に対して重点的に負荷がかかるように調節できることが望まれる。【０００８】  しかしながら、文献１，２，３には、筋力補助装置が所定の動作を支援する際に、各筋肉にかかる負荷を調節する技術について何ら記載されていない。例えば、特許文献１に記載された筋力補助装置は、関節部分に回動自在なジョイントを設け、そのジョイントを回動させるためのアクチュエータを備えている。しかしながら、個々の筋肉が発生するべき筋力が所望の値になるように、このアクチュエータの駆動力を調節する方法については記載されていない。【０００９】  また、文献２に記載されたパワーアシスト機器は、人が動作時に受ける作用力をセンサ部で測定することによって補助力を決定するように構成されている。しかしながら、補助力を決定する際に、個々の筋肉が発生するべき筋力を調節する方法については記載されていない。これは、ＣＹＢＥＲＤＹＮＥ社製のＨＡＬについても同様である。【００１０】  一方、文献３に記載された生体筋力特性の測定法は、通常の状態、すなわち筋力補助装置を装着していない状態での、所定の動作に必要な筋力特性を測定するための方法であり、筋力補助装置を装着した状態で個別の筋肉の筋力が所望の値になるように、筋力補助装置の駆動力を制御するものではない。これは、Ｇｓｐｏｒｔ社の３Ｄマッスルシミュレータ「アルモ」や、Ｍｕｓｃｕｌｏｇｒａｐｈｉｃｓ社製の全身筋骨格モデル「ＳＩＭＭ」についても同様である。【００１１】  ［文献１］
特開２０００−５１２８９公報（平成１２年（２０００）２月２２日公開）
［文献２］
特開２００４−１０５２６１公報（平成１６年（２００４）４月８日公開）
［文献３］
特開平７−３１３４９５号公報（平成７年（１９９５）１２月５日公開）
【発明の開示】
【００１２】  本発明は上記課題に鑑みてなされたものであり、その目的は、筋力補助装置が所定の動作を支援及び／又は妨害する際に、筋肉にかかる負荷が所望の負荷になるような駆動力を算出できる駆動力算出装置及び駆動力算出方法を実現することにある。
【００１３】  また、本発明の別の目的は、所定の動作を行う際の筋肉にかかる負荷を調節できる筋力補助装置を実現することにある。
【００１４】  上記課題を解決するために、本発明に係る駆動力算出装置は、関節を含む骨格と筋肉とを有する生体に装着され、上記生体の骨格に関節を跨いで固定される駆動部によって上記関節の回動動作を支援及び／又は妨害する筋力補助装置の駆動部の駆動力を算出する駆動力算出装置であって、上記回動動作を支援及び／又は妨害する際に発生させるべき筋力である設定筋力が入力される筋力入力部と、上記設定筋力と上記駆動部の駆動力とが上記回動動作に必要な関節のトルクを発生させるように、上記設定筋力と上記回動動作に必要な関節のトルクとに基づいて、上記駆動部の駆動力を算出する駆動力算出手段とを備えていることを特徴とする。
【００１５】  従来の駆動力算出装置では、回動動作に必要な駆動力を、回動動作に必要な関節のトルクのみに基づいて算出していた。つまり、筋肉にかかる負荷については考慮せずに駆動力を算出していた。従って、算出された駆動力によって筋力補助装置を駆動した際に、筋肉にかかる負荷を自在に制御することはできなかった。
【００１６】  しかし、本発明の構成によれば、駆動力算出手段が、筋力入力部から入力された設定筋力と、回動動作に必要な関節のトルクとに基づいて駆動力を算出する。よって、算出された駆動力は、回動動作を支援するために必要な駆動力であるだけでなく、設定筋力を考慮した駆動力となっている。これにより、回動動作時に、算出された駆動力によって筋力補助装置を駆動すると、筋力が設定された筋肉は、設定筋力に応じた筋力を発生させることになる。このように、駆動力算出装置は、筋力補助装置が所定の動作を支援及び／又は妨害する際に、筋肉にかかる負荷が所望の負荷になるような駆動力を算出することができる。
【００１７】  本発明に係る駆動力算出方法は、上記課題を解決するために、関節を含む骨格と筋肉とを有する生体に装着され、上記生体の骨格に関節を跨いで固定される駆動部によって上記関節の回動動作を支援及び／又は妨害する筋力補助装置の駆動部の駆動力を算出する駆動力算出方法であって、筋肉に対して所望の筋力を設定する筋力設定工程と、上記筋力設定工程において設定した筋力と上記駆動部の駆動力とが上記回動動作に必要な関節のトルクを発生させるように、上記設定した筋力と上記回動動作に必要な関節のトルクとに基づいて、上記駆動部の駆動力を算出する駆動力算出工程とを備えていることを特徴とする。
【００１８】  上記構成によれば、筋力設定工程において設定した筋力（設定筋力）と、回動動作に必要な関節のトルクとに基づいて駆動力を算出する。よって、算出された駆動力は、回動動作を支援するために必要な駆動力であるだけでなく、設定筋力を考慮した駆動力となる。これにより、回動動作時に、算出された駆動力によって筋力補助装置を駆動すると、筋力が設定された筋肉は、設定筋力に応じた筋力を発生させることになる。このように、筋力補助装置が所定の動作を支援及び／又は妨害する際に、筋肉にかかる負荷が所望の負荷になるような駆動力を算出することができる。
【００１９】  本発明に係る筋力補助装置は、関節を含む骨格と筋肉とを有する生体によって装着され、上記関節の回動動作を支援及び／又は妨害する筋力補助装置であって、上述した駆動力算出装置と、上記生体の骨格に関節を跨いで固定される駆動部と、上記駆動部の駆動力を制御する駆動力制御部とを備え、上記駆動力制御部は、上記駆動力算出装置によって算出された駆動力に基づいて上記駆動部の駆動力を制御することを特徴とする。
【００２０】  上記構成によれば、駆動力制御部は、上述した駆動力算出装置が算出した駆動力に基づいて駆動部を制御する。ここで、駆動力算出装置は、筋力補助装置が所定の動作を支援又は妨害する際に、筋肉にかかる負荷が所望の負荷になるような駆動力を算出できるので、筋力補助装置は、所定の動作を行う際の筋肉にかかる負荷を調節できる。
【００２１】  本発明に係る筋力補助装置は、関節を含む骨格と筋肉とを有する生体によって装着され、上記関節の回動動作を支援及び／又は妨害する筋力補助装置であって、上述した駆動力算出方法によって算出された駆動力のデータが格納された記憶部と、上記生体の骨格に関節を跨いで固定される駆動部と、上記駆動部の駆動力を制御する駆動力制御部とを備え、上記駆動力制御部が、上記記憶部に格納された駆動力に基づいて、上記駆動部の駆動力を制御することを特徴とする。
【００２２】  上記構成によれば、筋力補助装置は、上述した駆動力算出方法によって算出した駆動力のデータを有している。従って、駆動力制御部が、この駆動力のデータに基づいて駆動部を制御することにより、筋力補助装置は、所定の動作を行う際の筋肉にかかる負荷を調節することができる。さらに、筋力補助装置は、駆動力のデータを予め有しているため、駆動力の算出に時間を労することなく、迅速に回動動作を支援することができる。
【００２３】  本発明の他の目的、特徴、および優れた点は、以下に示す記載によって十分分かるであろう。また、本発明の利点は、添付図面を参照した次の説明で明白になるであろう。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態を示すものであり、駆動力算出装置の要部構成を示すブロック図である。
【図２】本発明の一実施形態を示すものであり、駆動力算出装置の処理工程を示すフロー図である。
【図３】本発明の一実施形態を示すものであり、筋力補助装置の要部構成を示すブロック図である。
【図４】本発明の実施形態を示すものであり、筋力補助装置に備えられるアクチュエータの一例を示す図である。
【図５】本発明の別の実施形態を示すものであり、筋力補助装置の要部構成を示すブロック図である。
【図６】本発明の一実施例を示すものであり、骨格モデルを可視化した図である。
【図７】本発明の一実施例を示すものであり、骨格筋モデルを可視化した図である。
【図８】本発明の一実施例を示すものであり、筋／人工筋統合モデルを可視化した図である。
【図９】本発明の一実施例を示すものであり、肘の伸展屈曲動作から得られた情報を可視化した図である。
【図１０】本発明の一実施例を示すものであり、関節トルクテーブルをグラフとして示した図である。
【図１１】本発明の一実施例を示すものであり、推定筋力テーブルをグラフとして示した図である。
【図１２】本発明の一実施例を示すものであり、設定筋力テーブルをグラフとして示した図である。
【図１３】本発明の一実施例を示すものであり、駆動力テーブルをグラフとして示した図である。
【図１４】本発明の一実施例を示すものであり、アシスト後推定筋力テーブルをグラフとして示した図である。
【図１５】本発明の一実施形態を示すものであり、筋力補助装置の要部構成を示す概略構成図である。
【発明を実施するための最良の形態】
【００２５】  〔実施形態１〕
本発明の一実施形態について図１から５を用いて説明すると以下の通りである。本実施形態では、筋力補助装置に備えられ、筋力補助装置の駆動力を算出する駆動力算出装置１について説明する。【００２６】  まず、本実施形態の駆動力算出装置が駆動力を算出する対象となる筋力補助装置について説明する。上記の筋力補助装置は、関節を含む骨格と筋肉とを有する生体（本実施形態ではヒト）によって装着されるものである。この筋力補助装置には、複数の駆動部（以下、「人工筋」ともいう）が備えられており、各駆動部は、生体（ヒト）の骨格に関節を跨いで固定されている。【００２７】  各駆動部の構成は特に限定されるものではないが、例えば、図４に示すように、ヒトの筋肉を模した形状、すなわち、長手方向に伸縮可能なアクチュエータとなっていてもよい。また、より具体的には、ゴムチューブとそれを覆うカーボン製の網からなっていてもよい。この場合、アクチュエータ１本が生体の筋肉１本に相当し、各駆動部の駆動力は、アクチュエータに注入される空気圧と断面積とに比例する。つまり、各アクチュエータに注入される最大空気圧が同一である場合には、各駆動部の最大駆動力は、ゴムチューブの伸縮方向と垂直な方向における断面の断面積に比例する。【００２８】  そして、この駆動部が駆動力を発生させることによって、関節の前後にある駆動部の固定部分に駆動力がかかり、関節に回動軸を中心としたトルクが発生する。筋力補助装置は、このトルクによって関節の回動動作を支援及び／又は妨害する。回動動作を支援する場合としては、例えば、介護やリハビリテーション等を行う場合が想定され、また、回動動作を妨害する場合としては、例えば、筋力トレーニング等を行う場合が想定される。【００２９】  次に、本実施形態の駆動力算出装置１について説明する。図１は、駆動力算出装置１の機能ブロック図である。駆動力算出装置１は、制御部２及び記憶部３を備えている。【００３０】  制御部２は、ＣＰＵ、ＲＡＭ、及び各種入出力インターフェースで構成されている。各種入出力インターフェースとしては特に限定されるものではないが、例えば、キーボード、タッチパネル、マウス、検知センサ、カメラ等の入力インターフェース、ディスプレイ、プリンタ等の出力インターフェース、及び再生記録装置等との双方向インターフェースが挙げられる。【００３１】  記憶部３は、後述する各工程において必要なデータ及び各工程おいて得られたデータを格納するためのものであり、例えば、ＲＡＭ又はＨＤＤ等で構成される。【００３２】  制御部２は、図１に示すように、動作情報取得部（動作情報取得手段）１１、関節トルク算出部（関節トルク算出手段）１２、筋力算出部（筋力算出手段）１３、筋力入力部１４、駆動力算出部（駆動力算出手段）１５、筋力再算出部（筋力再算出手段）１６、比較部（比較手段）１７、及び出力部１８を備えている。【００３３】  動作情報取得部１１は、生体の動作から動作情報を取得するものであり、本実施形態では、筋力補助装置が支援する対象となるヒトの関節における回動動作から動作情報を取得するためのものである。動作情報取得部１１は、実際の関節の回動動作を基に、各瞬間における回動動作に関する情報を取得��る。取得する情報としては、例えば、関節の角度や回動する角速度及び角加速度等の情報が挙げられる。動作情報取得部１１は、関節の回動動作の動作情報を取得できるものであれば特に限定されるものではなく、例えば、カメラによって回動動作の画像を取得し、動作情報を抽出するものであってもよいし、センサによって回動動作を検知し、動作情報を抽出するものであってもよい。具体的には、所謂モーションキャプチャ装置であってもよいし、フォースプレート又は加速度計を利用した装置であってもよい。あるいは、予め得られている画像データ等を取り込んで、そこから動作情報を抽出するものであってもよい。さらに、動作情報取得部１１には、既に得られた動作情報がそのまま入力されてもよい。なお、動作情報取得部１１は、実際の回動動作から複数の関節について一度に動作情報を取得できることが好ましい。【００３４】  関節トルク算出部１２は、回動動作に必要な関節トルクを関節毎に算出するためのものである。なお、関節トルクとは、関節を回動させるトルクのことをいう。【００３５】  筋力算出部１３は、回動動作に必要な関節トルクに基づいて、筋力補助装置を装着しない状態で関節を回動させるのに必要な筋力を筋肉毎に算出するためのものである。なお、筋力の算出に用いる関節トルクは、関節トルク算出部１２によって算出されたものを用いる。【００３６】  筋力入力部１４は、筋肉に対して設定される筋力である設定筋力が入力されるためのものである。筋力入力部１４としては、例えば、キーボード、マウス又はタッチパネル等の入力インターフェースであってもよいし、ＨＤＤやネットワーク接続部等の外部装置との入出力インターフェースであってもよい。【００３７】  なお、筋力入力部１４に入力される設定筋力は、具体的な筋力の値であってもよいし、詳細は後述するが、筋力算出部１３によって算出された筋力に対する倍率等でもよい。また、筋力を設定する筋肉は単一の筋肉であってもよいが、本実施形態では、好ましい実施形態として、複数の所望の筋肉に対して所望の筋力を設定できるように構成されている。従って、筋力入力部１４には、設定対象となる筋肉の情報と、これに設定される筋力の情報とが入力されるものとする。【００３８】  駆動力算出部１５は、筋力入力部１４に入力された設定筋力と、回動動作に必要な関節トルクとに基づいて、上記駆動部の駆動力を算出するものである。本実施形態では、筋力入力部１４に入力された、設定対象となる複数の筋肉とその筋力とに基づいて、駆動力を算出する。また、駆動力の算出に用いる関節トルクは、関節トルク算出部１２によって算出されたものを用いる。【００３９】  筋力再算出部１６は、駆動力算出部１５によって算出された駆動力と、回動動作に必要な関節トルクとに基づいて、回動動作に必要な筋力を算出するためのものである。なお、筋力の算出に用いる関節トルクは、関節トルク算出部１２によって算出されたものを用いる。【００４０】  比較部１７は、筋力再算出部１６によって算出された筋力と、筋力入力部１４に入力された設定筋力とを比較するものである。【００４１】  出力部１８は、算出した駆動力のデータを外部に伝送するためのものである。出力部１８としては、���ィスプレイ、プリンタ等の出力インターフェース、及び再生記録装置等との双方向インターフェース等が挙げられる。【００４２】  記憶部３は、図１に示すように、骨格モデルデータ２１、筋肉モデルデータ２２、及び人工筋モデルデータ２３を予め格納しており、さらに、動作データ３１、関節トルクテーブル３２、推定筋力テーブル３３、設定筋力テーブル３４、駆動力テーブル３５、及びアシスト後推定筋力テーブル３６を格納できるようになっている。【００４３】  骨格モデルデータ２１は、生体（ヒト）の骨格に関する立体構成情報を含んでいる。具体的には、骨格モデルデータ２１は、各骨の長さの情報、各骨の太さの情報、骨同士の空間配置の情報、各骨の重さの情報、各骨の慣性モーメントの情報、関節における回動軸の相対的な位置の情報を含んでいる。本実施形態では、骨格モデルデータ２１は、固定の回動軸を中心に回動する関節によって多数の骨が結合されたリンクモデルとなっているが、これに限定されるものではなく、関節の回動に伴って回動軸が関節に対して変化するモデルとしてもよい。この場合、関節部分に短い仮想的なリンクを追加すれば、人間のような回転軸の移動があるような骨格を再現することができる。また、骨格モデルデータに用いられる骨格は、全身の骨格であってもよいし、上肢又は下肢等、身体の一部分における骨格であってもよい。この骨格モデルデータ２１により、ヒトの骨格モデルを再現することができる。【００４４】  筋肉モデルデータ２２は、生体（ヒト）の筋肉に関する立体構成情報を含んでいる。具体的には、筋肉モデルデータ２２は、各筋肉の長さの情報、骨格に付着する位置の情報を含んでいる。このように、筋肉は、重さのないワイヤとしてモデル化されている。この筋肉モデルデータ２２を骨格モデルデータ２１と組み合わせることにより、骨格筋モデルデータ２４となる。骨格筋モデルデータ２４により、ヒトの骨格上に筋肉を重ねた骨格筋モデルを再現できる。また、筋肉モデルデータ２２は、各筋肉の生理断面積の情報をさらに含んでいる。なお、筋肉モデルデータ２２は、さらに、筋肉の質量の情報及び／又は慣性モーメントの情報等を含んでいてもよい。筋肉の質量の情報や筋肉の慣性モーメントの情報を含めたモデルとすることにより、再現された骨格筋モデルは一層現実のものに近づくことになる。【００４５】  人工筋モデルデータ２３は、筋力補助装置の駆動部に関する立体構成情報を含んでいる。具体的には、人工筋モデルデータ２３は、駆動部の長さの情報、ヒトが装着した状態において駆動部の端部が骨格に付着する位置の情報を含んでいる。これにより、駆動部は、重さのないワイヤとしてモデル化される。この人工筋モデルデータ２３を骨格筋モデルデータ２４と組み合わせることにより、筋／人工筋統合モデルデータ２５となる。筋／人工筋統合モデルデータ２５により、ヒトの骨格上に筋肉及び駆動部を重ねた筋／人工筋統合モデルを再現できる。また、人工筋モデルデータ２３は、駆動部の伸縮方向に垂直な断面積の情報をさらに含んでいる。本実施形態では、この断面積の情報から最大駆動力を求めることができるが、断面積の情報の代わりに最大駆動力の情報を含んでいてもよい。なお、人工筋モデルデ��タ２３は、さらに、駆動部の質量の情報、及び／又は慣性モーメントの情報等を含んでいてもよい。【００４６】  動作データ３１は、動作情報取得部１１によって取得された動作情報を含んでおり、具体的には、回動動作の各瞬間における関節の角度、角速度、及び角加速度の情報を含んでいる。従って、動作データ３１は、時間と角度、角速度、及び角加速度とのテーブルとなっている。【００４７】  関節トルクテーブル３２は、関節トルク算出部１２によって算出された、関節の回動動作に必要な関節トルクの情報を含んでおり、具体的には、回動動作の各瞬間において必要な関節トルクの情報を含んでいる。従って、関節トルクテーブル３２は、時間と関節トルクとの対応を示すテーブルとなっている。【００４８】  推定筋力テーブル３３は、筋力算出部１３によって算出された、筋力補助装置による支援がない場合の、関節の回動動作に必要な筋力の情報を含んでおり、具体的には、回動動作の各瞬間において必要な筋力の情報を含んでいる。従って、推定筋力テーブル３３は、時間と筋力との対応を示すテーブルとなっている。【００４９】  設定筋力テーブル３４は、筋力入力部１４から入力された設定筋力の情報を含んでおり、具体的には、回動動作の各瞬間における設定筋力の情報を含んでいる。従って、設定筋力テーブル３４は、時間と設定筋力との対応を示すテーブルとなっている。【００５０】  駆動力テーブル３５は、駆動力算出部１５によって算出された、筋力補助装置の駆動部の駆動力の情報を含んでおり、具体的には、回動動作の各瞬間において必要な駆動力の情報を含んでいる。従って、駆動力テーブル３５は、時間の駆動力との対応を示すテーブルになっている。【００５１】  アシスト後推定筋力テーブル３６は、駆動力テーブル３５に基づいて駆動部を駆動させて回動動作を支援している状態での、回動動作に必要な筋力の情報を含んでおり、具体的には、回動動作の各瞬間において必要な筋力の情報を含んでいる。従って、アシスト後推定筋力テーブル３６は、時間と筋力との対応を示すテーブルとなっている。なお、アシスト後推定筋力テーブル３６には、筋力再算出部１６によって算出された値が格納されている。【００５２】  次に、駆動力算出装置の動作について説明する。図２は、本実施形態の筋力算出方法の工程図である。【００５３】  まず、関節の回動動作を被験者が実演する。そして、この回動動作を動作情報取得部１１がカメラ等により取り込み、取り込んだ画像情報から動作情報を抽出する（ステップＳ１）。画像情報から動作情報を抽出する際、画像情報における関節の位置や骨格の特定に、記憶部３の骨格モデルデータ２１を用いてもよい。また、動作情報は、回動動作の開始から終了までの複数の瞬間において取得されるものとする。動作情報としては、各瞬間における関節の角度、角速度、及び角加速度が取得される。そして、取得された動作情報は、時間と、角度、角速度、及び角加速度との対応を示すテーブルにまとめられ、動作データ３１として記憶部３に格納される。【００５４】  次に、関節トルク算出部１２が、記憶部３に格納された動作データ３１に基づいて、回動動作に必要な関節トルクを関節毎に算出する（ステップＳ２）。具体的に��、関節トルク算出部１２は、動作データ３１に含まれる関節の角度、角速度、角加速度、及び重力加速度と、骨格モデルデータ２１に含まれる骨にかかる質量及び慣性モーメントとから、ニュートンオイラ法やラグランジュ法等の動力学計算によって、回動動作を実現する関節トルクを算出する。この関節トルクの算出は各瞬間毎に行われる。そして、各関節毎に算出された関節トルクは時間と対応付けられ、関節トルクテーブル３２として記憶部３に格納される。【００５５】  続いて、筋力算出部１３が、筋力補助装置をつけない状態で回動動作を行う際に必要な筋力を算出する（ステップＳ３）。算出された筋力は、後続の筋力を設定するために利用される。具体的に説明すると、筋力算出部１３は、記憶部３に格納された骨格筋モデルデータ２４及び関節トルクテーブル３２に基づいて、必要な各筋肉の筋力を算出する。また、筋力の算出は各瞬間毎に行われ、得られた筋力（推定筋力）は、時間と対応付けられて、推定筋力テーブル３３として記憶部３に格納される。【００５６】  推定筋力の算出方法について詳細に説明すると以下の通りである。各関節を関節ｉとし、関節ｉを跨ぐ筋肉がｊ本あり、筋肉ｊのモーメントアーム（関節ｉの回動中心軸から関節ｉを跨いでいる筋肉ｊの付着点までの距離）をｒｊとし、筋肉ｊの筋力をｆｊとすると、関節ｉにおけるトルクτｉは、
【数１】
0004742278.tif 000002
と表される。ここで、トルクτｉの値は、上記の関節トルク算出部１２によって既に算出され、記憶部３に関節トルクデータとして格納されている。また、ｒｊは、骨格筋モデルデータ２４から算出することができる。従って、式（１）のτｉ、ｒｊに数値を代入することになるが、ｆｊが複数あるため、各ｆｊの値を求めることができない。【００５７】  ここで、ｆｊの値を決定するために、本実施形態では、Ｃｒｏｗｎｉｎｓｈｉｅｌｄが提唱した最適化計算式を利用する。すなわち、ある動作を行うとき、各筋肉の筋力ｆｊは、次の評価関数ｕ（ｆ）
【数２】
0004742278.tif 000003
が最小になるように、筋力が分配されるというものである。なお、式（２）において、ｎは筋肉の本数であり、Ａｊは筋肉ｊの生理断面積である。この式によれば、各筋肉の単位断面積辺りの筋力の２乗の総和が最小になるように筋力が分配される。【００５８】  筋力算出部１３は、式（２）が最小となるようにｆｊを最適化する。この場合、関節トルクテーブル３２に格納されているトルクτｉと、骨格筋モデルデータ２４から算出されるモーメントアームｒｊと、各筋力ｆｊとが式（１）を満たす条件下で、式（２）が最小となる筋力ｆｊを算出する。換言すれば、筋力算出部１３は、式（１）で表されるトルクτｉ及びｒｊを拘束条件として、式（２）が最小となるようなｆｊを算出する。なお、ｆｊの最適化計算に必要な生理断面積Ａｊの値は、筋肉モデルデータ２２に含まれている。【００５９】  また、式（２）による最適化計算を行うにあたって、さらに拘束条件を加えてもよい。例えば、各筋肉が発生できる筋力ｆｊは次の式（３）
０≦ｆｊ≦ｋＡｊ      …（３）
（ただし、式（３）中、ｋ＝０．７×１０６［Ｎ／ｍ２］、Ａｊは筋肉ｊの生理的断面積である）
に示す範囲に含まれることが知られている。従って、拘束条件として、さらに式（３）を用いることが好ましい。これにより、生体の筋肉が実際には発生できない筋力を除外することができる。【００６０】  上記の最適化計算により、各筋肉の筋力ｆｊが算出される。そして、筋力算出部１３はこの算出を回動動作の各瞬間について行う。このようにして得られた各筋肉の筋力は、時間との対応テーブルである推定筋力テーブル３３として、記憶部３に格納される。【００６１】  次に、筋力入力部１４に、筋力を設定したい筋肉と、その筋肉に設定する筋力とが入力される（ステップＳ４）。ここで、筋力を設定する際に、所望の筋力を自由な波形として入力してもよいが、推定筋力テーブル３３に格納された筋力に対する倍率を用いて設定してもよい。後者の場合、ある動作に必要な筋力に対する所望の倍率として筋力を設定できるので、使用者は、筋力補助装置の支援量を簡便に設定することが可能となる。【００６２】  倍率によって筋力を設定する場合、筋力入力部１４には、筋力の設定対象となる筋肉を特定する情報と、その筋肉に対して設定したい筋力の倍率とが入力される。筋力入力部１４は、推定筋力テーブル３３を参照して、設定対象となる筋肉の筋力データを抽出し、抽出した筋力データに対して、入力された倍率を乗数として乗算を行う。乗算された筋力は設定筋力となり、時間との対応テーブルである設定筋力テーブル３４として記憶部３に格納される。【００６３】  続いて、駆動力算出部１５が、筋力入力部１４に入力された筋力に基づいて、回動動作時に駆動部が発生させるべき駆動力を算出する（ステップＳ５）。ここで、駆動力算出部１５は、骨格筋モデルデータ２４と人工筋モデルデータ２３とを統合した、筋／人工筋統合モデルデータ２５を利用する。具体的には、上述した式（１）、（２）における筋肉の筋力を、筋肉の筋力及び駆動部の駆動力に拡張する。そして、関節トルクと、設定筋力とを拘束条件として、式（１）を用いて最適化することによってｆｊを算出する。【００６４】  具体的に説明すると、関節ｉにおけるトルクτｉは、
【数３】
0004742278.tif 000004
（ただし、上記式において、ｉは関節の番号であり、τｉは関節ｉにおける関節トルクであり、ｊは関節ｉを跨ぐ筋肉又は駆動部の番号であり、ｒｊは筋肉ｊ又は駆動部ｊのモーメントアームであり、ｆｊは筋肉ｊの筋力又は駆動部ｊの駆動力である）
である。ここで、トルクτｉの値は、記憶部３の関節トルクテーブル３２を参照し、モーメントアームｒｊの値は、筋／人工筋統合モデルデータ２５から算出することができる。さらに、ｆｊのうち、筋力を設定した筋肉の筋力ｆｊの値については、設定筋力テーブル３４から得られる。【００６５】  そして、筋力を設定しなかった筋肉の筋力及び駆動部の駆動力ｆｊが式（４）を満たす条件下で、次の評価関数ｕ（ｆ）
【数４】
0004742278.tif 000005
（ただし、上記評価関数において、ｎは筋力入力部によって筋力が設定されなかった筋肉の数と駆動部の数との和であり、ｊは筋力入力部によって筋力が設定されなかった筋肉及び駆動部の番号であり、ｆｊはｊ番目の筋肉の筋力又は駆動部の駆動力であり、Ａｊはｊが筋肉の場合は筋肉の生理断面積であり、ｊが駆動部の場合は駆動部の最大駆動力に基づく値である）
が最小となるｆｊを算出する。なお、ｊが駆動部の場合に設定するＡｊの内容は、実験結果に基づいて最適なものを選べばよいが、駆動部ｊの最大駆動力に比例する値であることが好ましい。本実施形態では、駆動部の最大駆動力が駆動部の断面積に比例するため、駆動部の断面積をＡｊとして用いることとする。もちろん、駆動部の断面積の代わりに最大駆動力をＡｊとして用いてもよいことは言うまでもない。また、この算出工程においても、上述した式（３）をさらに拘束条件として加えることが好ましい。【００６６】  この最適化計算により、筋力が設定されなかった筋肉の筋力及び各駆動部の駆動力ｆｊが算出される。そして、駆動力算出部１５はこの算出を回動動作の各瞬間について行う。このようにして得られた各駆動部の駆動力は、時間との対応テーブルである駆動力テーブル３５として、記憶部３に格納される。【００６７】  続いて、筋力再算出部１６は、筋力補助装置が駆動力テーブル３５に保存された駆動力によって関節の回動を支援した場合の、筋肉が発生させるべき筋力を算出する（ステップＳ６）。今度は、筋力再算出部１６は、設定筋力の代わりに駆動部の駆動力を拘束条件とする。【００６８】  すなわち、上述した式（４）と、駆動力テーブル３５に保存された駆動部の駆動力とを拘束条件として、次の評価関数ｕ（ｆ）
【数５】
0004742278.tif 000006
（ただし、上記評価関数において、ｎは筋肉の数であり、ｊは筋肉の番号であり、ｆｊは筋肉ｊの筋力であり、Ａｊは筋肉ｊの生理断面積である）
が最小となる筋力ｆｊを算出する。また、この算出工程においても、上述した式（３）をさらに拘束条件として加えることが好ましい。【００６９】  この最適化計算により、筋力補助装置によって回動動作を支援された状態での、全筋肉の筋力ｆｊが算出される。そして、筋力再算出部１６はこの算出を回動動作の各瞬間について行う。このようにして得られた筋力は、時間との対応テーブルであるアシスト後推定筋力テーブル３６として、記憶部３に格納される。【００７０】  次に、比較部１７は、筋力再算出部１６によって算出された支援状態での筋力が、先ほど筋力入力部１４によって設定された設定筋力と相違していないかどうかを比較する（ステップＳ７）。具体的には、設定筋力テーブル３４とアシスト後推定筋力テーブル３６とを比較する。そして、支援状態での筋力が設定筋力と略一致すれば全工程を終了する。一方、異なる場合は、設定筋力が不適切であったと考えられるため、ステップＳ４に戻り、もう一度、筋力の入力が行われる。【００７１】  なお、全工程を終了する条件として、支援状態での筋力が設定筋力と必ずしも完全に一致する必要はなく、例えば、支援状態での筋力が設定筋力±Ａ％の範囲内に収まる場合に全工程を終了してもよい。この場合、上記のＡ％は、目的に応じて様々に設定すればよい。【００７２】  本実施形態の駆動力算出装置１は、以上のように、駆動力算出部１５が、設定筋力を拘束条件として駆動部の駆動力を算出するため、算出された駆動力を用いて駆動部を駆動すれば、筋力を設定した筋肉が設定筋力となるように、回動動作を支援することができる。【００７３】  なお、上述した評価関数（２）、（５）、（６）では、ｆｊ／Ａｊの２乗の総和について評価したが、例えば、３乗の総和であってもよく、さらには１００乗の総和であってもよい。すなわち、各筋肉の単位断面積辺りの筋力のｍ乗（ｍは２以上の整数）の総和について評価すればよい。【００７４】  次に、上記の駆動力算出装置１を備え、駆動力算出装置１が算出した駆動力によって駆動部が駆動される筋力補助装置１００について説明する。本実施形態の筋力補助装置１００は、駆動力算出装置１と、複数の駆動部１０１…と、駆動力制御部１０２とを備えている。【００７５】  筋力補助装置１００は、関節を含む骨格と筋肉とを有する生体（ヒト）によって装着されるものである。各駆動部１０１は、生体（ヒト）の骨格に関節を跨いで固定される。駆動部１０１の人体への固定には、サポータやテープ等が用いられる。図１５は、筋肉補助装置１００の一実施例であるが、本発明はこれに限定されるものではない。【００７６】  各駆動部１０１の構成は特に限定されるものではないが、例えば、ヒトの筋肉を模した形状、すなわち、伸縮可能な棒状のアクチュエータであってもよい。各駆動部１０１は、例えば、図４に示すような、弾性繊維複合型空気圧ゴム人工筋であってもよい。【００７７】  図３は、筋力補助装置１００の機能ブロック図である。負荷を減少又は増加させたい筋肉に対する設定筋力が筋力補助装置１００の駆動力算出装置１に入力され、筋力補助装置１００を装着したヒトが支援してもらいたい動作を行うと、駆動力算出装置１が、その動作を支援するための駆動���を算出する。そして、駆動力制御部１０２は、算出された駆動力によって、各駆動部１０１を駆動する。この駆動部１０１が駆動力を発生させることによって、関節の前後にある駆動部１０１の固定部分に駆動力がかかり、関節に回動軸を中心としたトルクが発生する。このようにして、筋力補助装置１００は、回動動作を支援することができる。【００７８】  本実施形態の筋力補助装置１００は、駆動力算出装置１を備えているため、回動動作を支援する際に、装着した人間の筋力を筋肉毎に制御することができる。【００７９】  なお、上記実施形態では、駆動力算出装置１を構成する各部材が、「ＣＰＵなどの演算手段がＲＯＭやＲＡＭなどの記録媒体に格納されたプログラムコードを実行することで実現される機能ブロックである」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。また、上記各部材のうちの記憶部３は、メモリなどの記憶装置自体であってもよい。【００８０】  上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム（プログラムコードまたは上記データ）を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。【００８１】  なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割／周波数分割／符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。【００８２】  ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え（書き込み）可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー（登録商標）ディスクやハードディスクなどの磁気ディスク、または、ＣＤ−ＲＯＭや光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）やデジタルバーサタイルディスク（ＤＶＤ）などのディスクが挙げられる。また、記録媒体は、ＩＣカードや光カードのようなカード、あるいは、マスクＲＯＭやＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュＲＯＭなどのような半導体メモリであってもよい。あるいは、ＣＰＵなどの演算手段内に形成されたメモリであってもよい。【００８３】  なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム（例えば、オペレーティングシステムやライブラリなど）が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。【００８４】  また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体（例えば、実メモリやハードディスクなど）にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。【００８５】  〔実施形態２〕
本発明の他の実施形態について図５を用いて説明すると以下の通りである。なお、実施形態１と同様の部材については同じ符号を付し、説明を省略する。【００８６】  本実施形態の筋力補助装置２００は、実施形態１の筋力補助装置１００と同様に人間に装着され、同じ目的に利用されるものであるが、駆動力算出装置１の代わりに記録媒体２０１を備え、駆動力制御部１０２の代わりに駆動力制御部２０２を備え、さらに入力部２０３を備えている点が筋力補助装置１００と異なっている。図５は、本実施形態の筋力補助装置２００の機能ブロック図である。【００８７】  記録媒体２０１は、コンピュータ読み取り可能な記録媒体であり、具体的には、実施形態１のプログラムが記録されるための記録媒体と同様のものを用いることができる。この記録媒体２０１には、複数の駆動力テーブル３５…が収められた駆動力データベース２０５が記録されている。【００８８】  各駆動力テーブル３５は、実施形態１の駆動力算出装置１によって算出されたものであり、実施形態１の駆動力テーブル３５と同じものである。これらの駆動力テーブル３５…は、算出に用いられた設定筋力が異なっており、設定筋力と関連付けられて駆動力データベース２０５内に格納されている。すなわち、駆動力データベース２０５は、所望の設定筋力に対応する駆動力テーブル３５を取得できるデータベースとなっている。【００８９】  入力部２０３は、所定の回動動作を支援する際の、設定筋力の情報を入力するためのものである。なお、入力部２０３に入力される設定筋力の情報は、予め用意された複数の設定筋力に対する選択肢となっている。これにより、筋力補助装置の利用者は、簡便に設定筋力を指定することができる。【００９０】  駆動力制御部２０２は、ＣＰＵ、ＲＡＭ、及び記録媒体２０１の読み取り装置を備え、記録媒体２０１を読み取ることができるコンピュータとなっている。駆動力制御部２０２は、入力部２０３から入力された設定筋力の情報に基づいて、記録媒体２０１から、入力された設定筋力に対応する駆動力テーブル３５を読み取り、読み取った駆動力テーブル３５に含まれる駆動力データに基づいて各駆動部１０１…の駆動力を制御する。【００９１】  一例を挙げると、ある駆動力テーブル３５は、所定の動作を支援する際に用いられる駆動力テーブルであって、設定筋力が、筋力算出部によって算出された筋力（推定筋力）に対して１５０％の場合の駆動力テーブルとなっている。そして、別の駆動力テーブル３５は、上記と同じ動作を支援する際に用いられる駆動力テーブルであって、設定筋力が推定筋力に対して２００％の場合の駆動力テーブルとなっている。これらの駆動力テーブル３５…は、駆動力データベース２０５内に設定筋力の情報と関連付けられて格納されているため、駆動力制御部２０２は、入力部２０３から入力された設定筋力の情報に対応する駆動力テーブル３５を駆動力データベース２０５から検索することができる。例えば、入力部２０３に、設定筋力を１５０％にするための指示情報が入力されると、駆動力制御部２０２は、複数の駆動力テーブル３５…から設定筋力が１５０％の駆動力テーブル３５を検索し、検索した駆動力テーブル３５に含まれる駆動力データに基づいて各駆動部１０１を駆動する。これにより、筋力補助装置２００は、使用者の筋力が、筋力補助装置を装着しない場合に比べて１５０％となるように駆動力を発生させる。【００９２】  なお、上記の説明では入力部２０３から入力される情報が、設定筋力の情報のみである場合について説明したが、本発明はこれに限定されるものではなく、入力部２０３から、支援する動作を特定する情報や、筋力を設定する対象となる筋肉を特定する情報がさらに入力されることが好ましい。【００９３】  この場合、駆動力データベース２０５に格納される駆動力テーブル３５…は、設定筋力の情報に加えて、支援する動作の情報や、筋力を設定する筋肉の情報とも関連付けられて格納されていればよい。これにより、入力部２０３から、筋力補助装置によって支援する動作の情報、筋力を設定する筋肉の情報、及び設定筋力が入力されると、駆動力制御部２０２は、駆動力データベース２０５から、上記３つの情報に対応する駆動力テーブル３５を検索し、検索した駆動力テーブル３５に基づいて、各駆動部１０１…の駆動力を制御する。【００９４】  なお、入力部２０３から入力される、支援する動作の情報としては、用意された複数の動作に関する選択項目に対する選択情報等であってもよいし、あるいは、モーションキャプチャ装置や関節に取り付けられたセンサで使用者の動作を検出し、検出した動作が、支援する対称となる動作として入力部２０３に入力されてもよい。【００９５】  このように、本実施形態の筋力補助装置２００は、支援する動作、筋力を設定する対象となる筋肉、及びその筋肉に対する設定筋力等の様々な駆動条件に対応する駆動力テーブル３５…を、予め駆動力データベース２０５内に備えている。従って、複雑な算出処理を行う必要がないため、動作を迅速に支援することができる。【００９６】  なお、上記の説明では、駆動力データベース２０５が記録媒体２０１に記録されている場合について説明したが、駆動力データベース２０５は、ＲＡＭ又はＲＯＭ等の記憶部に記憶されていてもよい。【００９７】  〔実施例〕
本発明の一実施例について図６〜１４を用いて説明すると以下の通りである。なお、本発明は以下の実施例に限定されるものではない。【００９８】  （筋骨格モデル及び筋／人工筋統合モデル）
図６は、生体の骨格を模した剛体リンクモデルである。生体の骨格を模した剛体リンクモデルとしては、図６に示すように、人の上半身の右部分に関して、腰、首、肩、肘、手首を関節とした５リンク１３自由度に簡略化したリンクモデルを用いた。リンクモデルのデータには、各リンクの長さ、質量、及び慣性モーメントの情報が含まれている。各情報の具体値は公表されているデータベース（ＭｏｔＣｏ  ｐｒｏｊｅｃｔ：ｈｔｔｐ：／／ｗｗｗ．ｍｏｔｃｏ．ｄｉｒ．ｂｇ／）を参照して設定した。より具体的には、身長及び体重を用いてデータベースを検索することによって、各リンクの長さ、質量、及び慣性モーメントのデータを取得し、これらのデータを上記の情報として設定した。なお、重心位置は各リンクの中点とした。【００９９】  図７は、上記の骨格モデルにヒトの筋肉を適用したモデルである。筋骨格モデルにおける筋肉は、図７に示すように、肘または手首を跨ぐ筋肉（４１本）の筋肉の付着点（始点・終点）と骨の一部分に干渉する経由点とを解剖学的な知見に基づいて配置した。配置した筋肉は、大胸筋１，２、広背筋１，２，３、肩甲下筋、三角筋前頭、三角筋外頭、三角筋後頭、棘上筋、棘下筋、大円筋、小円筋、烏口腕筋、上腕二頭筋（長頭・短頭）、上腕筋、腕橈骨筋、上腕三頭筋（長頭・内頭・外頭）、肘筋、尺側手根屈筋、橈側手根屈筋、長掌筋、浅指屈筋１，２、深指屈筋、長母指屈筋、方形回内筋、長母指外転筋、円回内筋、尺側手根伸筋、長橈側手根伸筋、短橈側手根伸筋、及び総指伸筋である。各筋肉は骨に付着した部分（始点・終点および経由点）を通る重さの無いワイヤとしてモデル化した。筋肉モデルデータには、各筋肉の長さの情報、骨格に付着する位置の情報が含まれている。これらのパラメタに上記データベースから得られた値を入力した。この筋肉モデルデータと上記骨格モデルデータとを用いれば、関節角度に基づいて筋肉のモーメントアームを算出できる。【０１００】  図８は、生体の筋骨格モデルに、筋力補助装置の人工筋を加えた筋／人工筋統合モデルを示す図である。人工筋としては、図８に示すように、肘の屈曲及び伸展を支援する人工筋６本（ＡＦＭ１〜６）を用いた。各人工筋肉のモデルは上記の筋肉同様、骨に付着した部分（始点・終点および経由点）を通る重さの無いワイヤとしてモデル化されている。人工筋モデルデータには、各人工筋の長さの情報、骨格に付着する位置の情報が含まれている。この人工筋モデルデータと上記骨格モデルデータとを用いれば、関節角度に基づいて人工筋のモーメントアームが算出できる。【０１０１】  （動作情報取得工程、動作情報取得手段）
本実施例では、肘の伸展屈曲動作（回内外固定）時における、特定筋肉の負荷を変更する人工筋の駆動力設計を行った。この運動は、肘の伸展屈曲を行いながら、前腕と手首の回転を保持するという運動である。本実施例では上記の伸展屈曲動作を４回繰り返した。【０１０２】  そして、動作情報取得部としてＶＩＣＯＮ（Ｖｉｃｏｎ  Ｍｏｔｉｏｎ  Ｓｙｓｔｅｍｓ製：ＶＩＣＯＮ５１２）を用い、サンプリング周波数１２０Ｈｚで肘の伸展屈曲動作を計測した。得られた動作情報を可視化したものを図９に示す。【０１０３】  （関節トルク算出工程、関節トルク算出手段）
計測によって得られた動作情報から、各関節の角度、角速度、及び角加速度を特定し、逆動力学を解くことで各関節にかかる関節トルクを算出した。この関節トルクは各瞬間毎に算出した。そして、時間と関節トルクとの対応テーブル（関節トルクテーブル）を記憶部に格納した。図１０は、関節トルクテーブルをグラフとして表したものである。【０１０４】  （筋力算出工程、筋力算出手段）
各関節を関節ｉ（ｉは１以上５以下の整数）とし、関節ｉを跨ぐ筋肉がｊ本あり、関節ｉの回転中心軸から関節ｉを跨いでいる筋肉ｊの付着点および経由点までの距離をｒｊとし、筋肉ｊの筋力をｆｊとすると、関節ｉにおけるトルクτｉは、
【数６】
0004742278.tif 000007
と表される。また、各筋肉の筋力ｆｊは、取りうる値の範囲から
０≦ｆｊ≦ｋＡｊ      …（２）
（ただし、式（２）中、ｋ＝０．７×１０６［Ｎ／ｍ２］、Ａｊは筋肉ｊの生理的断面積であり、Ａｊの値は下記の文献４から６に記載されている値を使用した。）
と表すことができる。【０１０５】  関節トルクに関する式（１）と、筋力の取り得る範囲に関する式（２）とを拘束条件として、次の評価関数ｕ（ｆ）
【数７】
0004742278.tif 000008
が最小になるような各筋肉の筋力ｆｊを算出した。なお、ｕ（ｆ）の最小化には、ＭＡＴＬＡＢ（登録商標）のＯｐｔｉｍｉｚａｔｉｏｎ  Ｔｏｏｌｂｏｘに含まれるｑｕａｄｐｒｏｇ関数を使用した。このｆｊを各瞬間毎に算出し、時間と算出した筋力との対応テーブル（推定筋力テーブル）を記憶部に格納した。図１１は、進展屈曲動作に必要な１１本の筋肉の推定筋力テーブルをグラフとして表したものである。【０１０６】  ［文献４］
Ｊ．Ｂｉｇｇｓ  ｅｔ  ａｌ．：“Ａ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｋｉｎｅｍａｔｉｃ  ｍｏｄｅｌ  ｏｆ  ｔｈｅ  ｈｕｍａｎ  ｌｏｎｇ  ｆｉｎｇｅｒ  ａｎｄ  ｔｈｅ  ｍｕｓｃｌｅｓ  ｔｈａｔ  ａｃｔｕａｔｅ  ｉｔ”，Ｍｅｄｉｃａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ  ＆  Ｐｈｙｓｉｃｓ，２１（９），ｐｐ．６２５−６３９，１９９９．
［文献５］
ＭｏｔＣｏ  ｐｒｏｊｅｃｔ：ｈｔｔｐ：／／ｗｗｗ．ｍｏｔｃｏ．ｄｉｒ．ｂｇ／Ｄａｔａ／ＰＣＳＡ．ｈｔｍｌ
［文献６］
Ｈ．Ｅ．Ｊ．Ｖｅｅｇｅｒ  ｅｔ  ａｌ．：“Ｉｎｅｒｔｉａ  ａｎｄ  ｍｕｓｃｌｅ  ｃｏｎｔｒａｃｔｉｏｎ  ｐａｒａｍｅｔｅｒｓ  ｆｏｒ  ｍｕｓｃｕｌｏｓｋｅｌｅｔａｌ  ｍｏｄｅｌｌｉｎｇ  ｏｆ  ｔｈｅ  ｓｈｏｕｌｄｅｒ  ｍｅｃｈａｎｉｓｍ”，Ｊ．Ｂｉｏｍｅｃｈａｎｉｃｓ，２４，７，ｐｐ．６１５−６２９，１９９１．。【０１０７】  （筋力設定工程、筋力入力部）
本実施例では、上記の４１本の筋肉のうち、上腕筋及び腕橈骨筋の筋力が半分（０．５倍）になり、他の筋肉については筋力算出工程において算出した筋力（推定筋力）と同じ筋力となるように筋力の設定を行った。すなわち、筋力算出工程において得られた筋力を基に、上腕筋及び腕橈骨筋の筋力のみが半分（０．５倍）になるように算出を行い、この筋力を上腕筋及び腕橈骨筋の設定筋力とした。また、他の筋肉については推定筋力をそのまま設定筋力とした。そして、時間と設定筋力との対応テーブル（設定筋力テーブル）を記憶部に格納した。図１２は、設定筋力テーブルをグラフに表したものである。なお、図１２は、肘の伸展屈曲を行う際に筋力を発生する主な筋肉について示したものであり、その他の筋肉の筋力は常にゼロである。【０１０８】  （駆動力算出工程、駆動力算出手段）
次に、４１本の筋肉に６本の人工筋を加えた筋／人工筋統合モデルについて、上記関節トルク算出工程において求めた関節トルクと、上記筋力設定工程において設定した筋力とを拘束条件として、人工筋の筋力を算出した。【０１０９】  すなわち、各関節を関節ｉ（ｉは１以上５以下の整数）とし、関節ｉを跨ぐ筋肉及び人工筋がｊ本あり、関節ｉの回転中心軸から関節ｉを跨いでいる筋肉又は人工筋ｊの付着点および経由点までの距離をｒｊとし、筋肉ｊの筋力又は人工筋ｊの駆動力をｆｊとすると、関節ｉにおけるトルクτｉは、式（１）と表される。そして、この式（１）と、筋力設定工程において設定した筋力ｆｊと、式（２）とを拘束条件として、下記の評価関数ｕ（ｆ）が最小となるような各人工筋の駆動力ｆｊを算出した。
【数８】
0004742278.tif 000009
ただし、式（４）中、ｆｊは人工筋ｊの駆動力であり、Ａｊは人工筋の断面積である。【０１１０】  このｆｊを各瞬間毎に算出し、時間と算出した人工筋の駆動力との対応テーブル（駆動力テーブル）を記憶部に格納した。図１３は、駆動力テーブルをグラフとして表したものである。【０１１１】  本実施例の人工筋は、同一のアクチュエータが束になったものを想定しているため、各人工筋が発生できる最大駆動力はアクチュエータの数に比例する。また、各人工筋が同じ駆動力を発生させた場合、各人工筋にかかる負担はアクチュエータの数（駆動部の断面積）に反比例することになる。本実施例では、各人工筋の駆動力を、上記の式（４）によって最適化した。すなわち、式（４）によれば、｛（人工筋の駆動力）／（人工筋の断面積）｝の自乗の総和が、最小になるように各人工筋の駆動力が最適化される。従って、式（４）によれば、各人工筋に含まれるアクチュエータ１本あたりの駆動力がなるべく均等に、かつ、小さくなるように最適化される。これにより、各アクチュエータにかかる負担を低減させることができる。【０１１２】  （筋力再算出工程、筋力再算出手段）
続いて、上記の筋／人工筋統合モデルについて、上記関節トルク算出工程において求めた関節トルクと、駆動力算出工程において算出した人工筋の駆動力とを拘束条件として、生体の筋肉の筋力を再び算出した。【０１１３】  具体的には、式（１）と、駆動力算出工程において算出した人工筋の駆動力ｆｊと、式（２）とを拘束条件として、式（３）の評価関数ｕ（ｆ）が最小となるような生体の各筋肉の筋力ｆｊを算出した。【０１１４】  そして、時間と算出した筋力との対応テーブル（アシスト後推定筋力テーブル）を記憶部に格納した。図１４は、アシスト後推定筋力テーブルをグラフとして表したものである。【０１１５】  （比較工程、比較手段）
筋力設定工程において設定した各筋肉の筋力と、筋力再算出工程において算出した各筋肉の筋力とを比較して評価した。具体的には、設定筋力テーブルとアシスト後筋力テーブルとを比較して、アシスト後筋力テーブルが設定筋力テーブルと大きく相違していないかどうかを調べた。図１２と図１４とを比較して分かるように、アシスト後の筋力が設定筋力と略同様であることが明らかとなった。すなわち、アシスト後の筋力は、アシスト前の筋力と比べて、上腕筋及び腕橈骨筋の筋力が約半分になる一方で、他の筋肉については略同じ筋力のままであった。以上のことから、本実施例の駆動力算出方法及び駆動力算出装置が適切に機能していることが実証された。【０１１６】  〔補足〕
以上のように、本発明に係る駆動力算出装置は、回動動作を支援及び／又は妨害する際に発生させるべき筋力である設定筋力が入力される筋力入力部と、上記設定筋力と上記駆動部の駆動力とが上記回動動作に必要な関節のトルクを発生させるように、上記設定筋力と上記回動動作に必要な関節のトルクとに基づいて、上記上記駆動部の駆動力を算出する駆動力算出手段とを備えた構成となっている。【０１１７】  従って、上述したように、筋力補助装置が所定の動作を支援又は妨害する際に筋肉にかかる負荷が所望の負荷になるような駆動力を算出できるという効果を奏する。【０１１８】  また、上記駆動力算出手段は、上記生体の骨格及び筋肉と上記筋力補助装置の駆動部との位置情報を少なくとも含む立体構成情報を用いて上記駆動部の駆動力を算出し、上記関節のトルクは、
【数９】
0004742278.tif 000010
（ただし、上記式において、ｉは関節の番号であり、τｉは関節ｉにおける関節トルクであり、ｊは関節ｉを跨ぐ筋肉又は駆動部の番号であり、ｒｊは筋肉ｊ又は駆動部ｊのモーメントアームであり、ｆｊは筋肉ｊの筋力又は駆動部ｊの駆動力である）
と表されることが好ましい。【０１１９】  ここで、関節トルクτｉは、回動動作に必要な関節トルクである。そして、筋肉ｊ及び駆動部ｊのモーメントアームｒｊの値は、立体構成情報から得ることができる。よって、この式から、ｆｊの関係式を導くことができる。【０１２０】  また、上記駆動力算出手段は、上記筋力入力部に入力された設定筋力と、上記回動動作に必要な関節のトルクとを拘束条件として、次の評価関数ｕ（ｆ）
【数１０】
0004742278.tif 000011
（ただし、上記評価関数において、ｎは筋力入力部に設定筋力が入力されなかった筋肉の数と駆動部の数との和であり、ｊは筋力入力部に設定筋力が入力されなかった筋肉又は駆動部の番号であり、ｆｊはｊ番目の筋肉の筋力又はｊ番目の駆動部の駆動力であり、Ａｊはｊが筋肉の場合は筋肉の生理断面積でありｊが駆動部の場合は駆動部の最大駆動力に基づく値であり、ｍは２以上の任意の整数である）
が最小となり得るｆｊを算出することによって、上記筋力補助装置が上記回動動作を支援又は妨害する際の上記駆動部の駆動力を算出するものであってもよい。【０１２１】  筋力を求めるべき筋肉は複数あるため、関節トルクから直接個々の筋力（すなわちｆｊ）について固定解を得ることはできない。しかし、駆動力算出手段は、上記の評価関数ｕ（ｆ）を用いてｆｊを最適化することによって、各筋肉の筋力及び各駆動部の駆動力の値を決定することができる。【０１２２】  また、上記駆動力算出装置は、上記筋力補助装置が上記回動動作を支援及び妨害しない場合の上記回動動作に必要な筋力を、上記回動動作に必要な関節のトルクに基づいて算出する筋力算出手段をさらに備え、上記筋力入力部には、上記筋力算出手段によって算出された筋力に基づいて設定筋力が入力されることが好ましい。【０１２３】  上記構成によれば、筋力算出手段は、筋力補助装置をつけない状態で回動動作をする際に、各筋肉が必要とする筋力を算出することができる。この算出した筋力に基づいて、筋力入力部に設定筋力が入力されるので、使用者は、例えば、筋力補助装置をつけない状態における筋力に対する倍率等を設定することによって、筋力の設定を行うことができる。従って、筋力の設定を簡便に行うことができるようになる。【０１２４】  また、上記駆動力算出装置は、上記筋力補助装置が上記回動動作を支援又は妨害する際の上記回動動作に必要な筋力を、上記駆動力算出手段によって算出された駆動力と、上記回動動作に必要な関節のトルクとに基づいて算出する筋力再算出手段と、上記筋力再算出手段によって算出された筋力と、上記筋力入力部に入力された設定筋力とを比較する比較手段とをさらに備えていることが好ましい。【０１２５】  上記構成によれば、駆動力算出手段によって算出された駆動力を用いて筋力補助装置が回動動作を支援及び／又は妨害したときの各筋肉の筋力が、設定筋力と同じかどうかを比較して確認することができる。よって、意図しない誤動作を防止することができる。【０１２６】  また、上記駆動力算出装置は、上記回動動作に関する動作情報に基づいて、上記回動動作に必要な関節のトルクを算出する関節トルク算出手段をさらに備え、少なくとも１つの上記各算出手段における駆動力又は筋力の算出に、上記関節トルク算出手段によって算出された関節のトルクが用いられることが好ましい。【０１２７】  上記構成によれば、筋力補助装置は、回動動作に関する動作情報に基づいて、各関節のトルクを算出できる。従って、他の手段を用いて関節トルクを算出する必要がなくなり、使用者が容易に利用できるようになる。【０１２８】  また、上記駆動力算出装置は、上記回動動作に関する動作情報を取得する動作情報取得手段をさらに備え、上記関節トルク算出手段は、上記動作情報取得手段によって取得された動作情報を基に、上記回動動作に必要な関節のトルクを算出することが好ましい。【０１２９】  上記構成によれば、使用者は、実際に回動動作を実演するだけで、その回動動作に必要な関節のトルクを筋力補助装置が算出する。従って、回動動作の設定がより簡単になる。【０１３０】  ところで、上記駆動力算出装置の各手段は、ハードウェアで実現しても���いし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、上記何れかの駆動力算出装置の各手段としてコンピュータを動作させるためのプログラムであり、また、本発明に係る記録媒体は、当該プログラムが記録された記録媒体である。【０１３１】  これらのプログラムがコンピュータによって実行されると、当該コンピュータは、上記駆動力算出装置の各手段として動作する。従って、関節の回動動作を行う際に筋肉にかかる負荷を調節する駆動力算出手段を実現することができる。【０１３２】  また、本発明に係る駆動力算出方法は、筋肉に対して所望の筋力を設定する筋力設定工程と、上記筋力設定工程において設定した筋力と上記駆動部の駆動力とが上記回動動作に必要な関節のトルクを発生させるように、上記設定した筋力と上記回動動作に必要な関節のトルクとに基づいて、上記上記駆動部の駆動力を算出する駆動力算出工程とを備えた構成となっている。【０１３３】  従って、上述したように、筋力補助装置が所定の動作を支援又は妨害する際に筋肉にかかる負荷が所望の負荷になるような駆動力を算出できるという効果を奏する。【０１３４】  また、上記駆動力算出工程では、上記生体の骨格及び筋肉と上記筋力補助装置の駆動部との位置情報を少なくとも含む立体構成情報を用いて上記駆動部の駆動力を算出し、上記関節のトルクは、
【数１１】
0004742278.tif 000012
（ただし、上記式において、ｉは関節の番号であり、τｉは関節ｉにおける関節トルクであり、ｊは関節ｉを跨ぐ筋肉又は駆動部の番号であり、ｒｊは筋肉ｊ又は駆動部ｊのモーメントアームであり、ｆｊは筋肉ｊの筋力又は駆動部ｊの駆動力である）
と表されることが好ましい。【０１３５】  ここで、関節トルクτｉは、回動動作に必要な関節トルクである。そして、筋肉ｊ及び駆動部ｊのモーメントアームｒｊの値は、立体構成情報から得ることができる。よって、この式から、ｆｊの関係式を導くことができる。【０１３６】  また、上記駆動力算出工程では、上記筋力設定工程において設定した筋肉の筋力と、上記回動動作に必要な関節のトルクとを拘束条件として、次の評価関数ｕ（ｆ）
【数１２】
0004742278.tif 000013
（ただし、上記評価関数において、ｎは筋力設定工程において筋力を設定しなかった筋肉の数と駆動部の数との和であり、ｊは筋力入力部に設定筋力が入力されなかった筋肉又は駆動部の番号であり、ｆｊはｊ番目の筋肉の筋力又はｊ番目の駆動部の駆動力であり、Ａｊはｊが筋肉の場合は筋肉の生理断面積でありｊが駆動部の場合は駆動部の最大駆動力に基づく値であり、ｍは２以上の任意の整数である）
が最小となり得るｆｊを算出することによって、上記筋力補助装置が上記回動動作を支援又は妨害する際の上記駆動部の駆動力を算出することが好ましい。【０１３７】  また、上記駆動力算出方法は、上記筋力補助装置が上記回動動作を支援又は妨害しない場合の上記回動動作に必要な筋力を、上記回動動作に必要な関節のトルクに基づいて算出する筋力算出工程をさらに備え、上記筋力設定工程では、上記筋力算出工程において算出した筋力に基づいて、筋肉に対して所望の筋力を設定することが好ましい。【０１３８】  上記構成によれば、筋力補助装置をつけない状態で回動動作をする際に、各筋肉が必要とする筋力を算出することができる。使用者は、この算出した筋力に基づいて設定筋力を入力すればよいので、例えば、筋力補助装置をつけない状態に対しての倍率等を設定することによって、筋力の設定を行うことができる。従って、筋力の設定を簡便に行うことができるようになる。【０１３９】  また、上記駆動力算出方法は、上記筋力補助装置が上記回動動作を支援又は妨害する際の上記回動動作に必要な筋肉の筋力を、上記駆動力算出工程において算出した駆動力と、上記回動動作に必要な関節のトルクとに基づいて算出する筋力再算出工程と、上記筋力再算出工程において算出した筋力と、上記筋力設定工程において設定した筋力とを比較する比較工程とをさらに備えていることが好ましい。【０１４０】  上記構成によれば、駆動力算出工程において算出した駆動力を用いて筋力補助装置が回動動作を支援及び／又は妨害したときの各筋肉の筋力が、設定筋力と同じかどうかを比較することができる。よって、意図しない誤動作を防止することができる。【０１４１】  また、上記駆動力算出方法は、上記回動動作に関する動作情報に基づいて、上記回動動作に必要な関節のトルクを算出する関節トルク算出工程をさらに備え、少なくとも１つの上記各算出工程における駆動力又は筋力の算出に、上記関節トルク算出工程において算出した関節のトルクを用いることが好ましい。【０１４２】  上記構成によれば、回動動作に関する動作情報に基づいて、各関節のトルクを算出できるようになる。【０１４３】  また、本発明に係る筋力補助装置は、上述した駆動力算出装置、又は、上述した駆動力算出方法によって算出された駆動力のデータが格納された記憶部を備えている。【０１４４】  従って、所定の動作を行う際の筋肉にかかる負荷を調節できるという効果を奏する。【０１４５】  また、上記筋力補助装置は、入力部をさらに備え、上記記憶部には、複数の駆動力のデータが、算出の際に用いられた回動動作の情報と関連付けられて格納され、上記入力部に入力される情報は、回動動作の情報であり、上記駆動力制御部は、上記入力部に入力された回動動作の情報に基づいて上記記憶部から対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて上記駆動部を制御することが好ましい。【０１４６】  上記構成によれば、入力部から回動動作の情報が入力されると、駆動力制御部が入力された回動動作の情報に対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて駆動部を制御する。従って、筋力補助装置は、予め用意された複数の回動動作の中の所望の回動動作に���して支援することができる。【０１４７】  また、上記筋力補助装置は、上記記憶部には、複数の駆動力のデータが、上記筋力設定工程において設定された筋力（設定筋力）の情報と関連付けられて格納され、上記入力部に入力される情報は、筋肉に対して設定される筋力の情報であり、上記駆動力制御部は、上記入力部に入力された筋力の情報に基づいて上記記憶部から対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて上記駆動部を制御することが好ましい。【０１４８】  上記構成によれば、入力部から設定筋力の情報が入力されると、駆動力制御部が入力された設定筋力の情報に対応する駆動力のデータを検索し、検索した駆動力のデータに基づいて駆動部を制御する。従って、筋力補助装置は、予め用意された複数の設定筋力の中の所望の設定筋力になるように、回動動作を支援することができる。【０１４９】  また、本発明に係る記録媒体は、上述した筋力補助装置の記憶部として用いられる上記駆動力のデータが記録されたコンピュータ読み取り可能な記録媒体である。駆動力制御部がこの記録媒体に記録された駆動力のデータに基づいて制御を行うにより、関節の回動動作を行う際に筋肉にかかる負荷を調節しながら回動動作を支援する筋力補助装置を実現することができる。【０１５０】  なお、本発明は上述した各実施形態及び各実施例に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態及び実施例にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。【０１５１】  また、本明細書で示した数値範囲以外であっても、本発明の趣旨に反しない合理的な範囲であれば、本発明に含まれることはいうまでもない。
【産業上の利用可能性】
【０１５２】  本発明を筋力補助装置に利用すれば、特定部位の筋肉に所望の負荷をかけることができる。よって、筋力トレーニングやリハビリテーションを効率的に実施することが可能になる。また、リハビリテーションの内容によっては、家庭で実施することも可能になる。このように、本発明は、スポーツ分野や医療分野において充分に利用が期待できるものである。
【図１】
0004742278.tif 000018
【図２】
0004742278.tif 000019
【図３】
0004742278.tif 000020
【図４】
0004742278.tif 000021
【図５】
0004742278.tif 000022
【図６】
0004742278.tif 000023
【図７】
0004742278.tif 000024
【図８】
0004742278.tif 000025
【図９】
0004742278.tif 000026
【図１０】
0004742278.tif 000027
【図１１】
0004742278.tif 000028
【図１２】
0004742278.tif 000029
【図１３】
0004742278.tif 000030
【図１４】
0004742278.tif 000031
【図１５】
0004742278.tif 000032