(57)【要約】【課題】各人の運動能力に合わせた動作を行うことが出来るリハビリテーション用のロボット、ロボットの制御装置及び制御方法を提供する。【解決手段】進捗度推定部９によって人９１のリハビリテーションの進捗度を決定し、動作範囲制限部１３は進捗度に応じてロボットアーム２１が動作する動作範囲を決定することにより、人の進捗度に応じた安全な上肢の伸展動作を促すことが可能となる。【選択図】図１
2015139825.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットであって、
上記操作者が上記ロボットアームの先端部にかけた力を検出する力検出部と、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、上記力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部とを備える、ロボット。
【請求項２】
上記範囲制限部は、上記先端部の上記動作範囲を、上記動作経路を含みかつ上記先端部から上記操作者に与える抵抗値が大きい第１の領域と、上記第１の領域の周囲に配置されて上記動作経路の範囲外でありかつ上記第１の領域よりも上記抵抗値が小さい第２の領域とに分けるように設定する請求項１に記載のロボット。
【請求項３】
上記範囲制限部は、上記進捗度推定部の推定した上記リハビリテーション動作の進捗度が進むほど、上記動作範囲を広げるように上記動作範囲を設定して制限する請求項１に記載のロボット。
【請求項４】
上記範囲制限部は、上記進捗度推定部の推定したリハビリテーション動作の進捗度が進むほど上記第１の領域を広げるように設定して、上記動作範囲を制限する請求項２に記載のロボット。
【請求項５】
上記力制御部は、上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記先端部の移動を制御するとき、上記操作者が上記先端部との間で押し合い動作を行うことにより、上記リハビリテーション動作を補助し、
さらに、上記先端部が上記動作経路から一定量外れたときに上記動作経路に戻すように上記動作経路に戻す方向から上記先端部が上記操作者に対して力を付与する促し動作を生成する促し動作生成部を備えて、上記促し動作生成部で生成された上記促し動作に基づき上記力制御部は上記先端部の移動を制御する、請求項１に記載のロボット。
【請求項６】
上記進捗度推定部は、上記リハビリテーション動作時に上記ロボットアームの上記先端部がリハビリテーション動作開始位置から目標位置まで移動するときにかかった時間に応じて上記進捗度を推定する請求項１〜５のいずれか１つに記載のロボット。
【請求項７】
上記進捗度推定部は、上記リハビリテーション動作時に上記ロボットアームの上記先端部が上記動作範囲の境界に到達した回数が低いほど上記進捗度が進んでいると推定する請求項１〜５のいずれか１つに記載のロボット。
【請求項８】
ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御装置であって、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部とを備える、ロボットの制御装置。
【請求項９】
ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御方法であって、
上記リハビリテーション動作の目標とする動作経路を目標動作経路生成部で生成し、
上記操作者の上記リハビリテーション動作の進捗度を進捗度推定部で推定し、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を範囲制限部で制限し、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を力制御部で移動制御する、ロボットの制御方法。
【請求項１０】
ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御プログラムであって、
コンピュータを、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部と、
として機能させるためのロボット用制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上肢伸展を目的とするリハビリテーション型のロボット、ロボットの動作を制御するロボットの制御装置及び制御方法、並びに、ロボット用制御プログラムに関する。
【背景技術】
【０００２】
近年、介護ロボット又は歩行アシストロボットなどの医療・介護分野のロボットが盛んに開発されるようになってきた。このような介護分野のロボットは、高い安全性を必要とするのと同時に、各人の運動能力に合わせたロボットの動作が必要となる。
【０００３】
運動能力の回復を目的とするリハビリテーション機器について、従来技術は、仮想ダンパ又は仮想バネを設けて、目標とする軌道に沿って動作しやすいようにしている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ERアクチュエータを用いたリハビリテーション訓練システムの開発に関する基礎研究  日本ロボット学会  Vol.19 No.5,pp.612〜619,2001
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１の技術では、各人の運動能力に合わせてどのように仮想ダンパ又はバネを設けるのがよいのか、また、軌道を外れた場合の安全性については考慮されていない。
【０００６】
本発明の目的は、上記従来の課題を解決し、各人の運動能力に合わせた動作を行うことが出来るリハビリテーション用のロボット、ロボットの制御装置及び制御方法、並びに、ロボット用制御プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は以下のように構成する。
【０００８】
本発明の１つの態様によれば、ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットであって、
上記操作者が上記ロボットアームの先端部にかけた力を検出する力検出部と、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、上記力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部とを備える、ロボットを提供する。
【０００９】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
【発明の効果】
【００１０】
本発明の上記態様によれば、操作者の上肢伸展を目的としたリハビリテーション用ロボットにおいて、操作者の運動能力に対応した動作ができるロボットが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態におけるロボットシステムの概要を示す図。
【図２】本発明の第１実施形態におけるロボットシステムの構成を示す図。
【図３】本発明の第１実施形態におけるロボットの制御装置及び制御対象であるロボットの一部を示すブロック図。
【図４】本発明の第１実施形態における個人進捗度データベースのアルゴリズムの一例を示す図。
【図５】本発明の第１実施形態における進捗度推定部のアルゴリズムの一例を示す図。
【図６Ａ】本発明の第１実施形態における動作範囲の一例を示す上面図および断面図。
【図６Ｂ】本発明の第１実施形態における動作範囲の一例を示す上面図および断面図。
【図７】本発明の第２実施形態におけるロボットの制御装置及び制御対象であるロボットの一部を示すブロック図。
【図８】本発明の第２実施形態における進捗度推定部のアルゴリズムの一例を示す図。
【図９Ａ】本発明の第２実施形態における動作範囲及び抵抗の壁の一例を示す上面図および断面図。
【図９Ｂ】本発明の第２実施形態における動作範囲及び抵抗の壁の一例を示す上面図および断面図。
【図１０】本発明の第２実施形態における促し動作生成部のアルゴリズムの一例を示す図。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００１３】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００１４】
本発明の第１態様によれば、ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットであって、
上記操作者が上記ロボットアームの先端部にかけた力を検出する力検出部と、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、上記力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部とを備える、ロボットを提供する。
【００１５】
上記第１態様によれば、操作者の上肢伸展を目的としたリハビリテーションロボットにおいて、操作者の運動能力に対応した動作を行うことができる。
【００１６】
本発明の第２態様によれば、上記範囲制限部は、上記先端部の上記動作範囲を、上記動作経路を含みかつ上記先端部から上記操作者に与える抵抗値が大きい第１の領域と、上記第１の領域の周囲に配置されて上記動作経路の範囲外でありかつ上記第１の領域よりも上記抵抗値が小さい第２の領域とに分けるように設定する第１態様に記載のロボットを提供する。
【００１７】
上記第２態様によれば、操作者は抵抗値を感じることにより、自らのリハビリテーション動作が目標とする動作経路からはずれていることを直感的に感じることが出来るリハビリテーションロボットを提供することが出来る。
【００１８】
本発明の第３態様によれば、上記範囲制限部は、上記進捗度推定部の推定した上記リハビリテーション動作の進捗度が進むほど、上記動作範囲を広げるように上記動作範囲を設定して制限する第１態様に記載のロボットを提供する。
【００１９】
上記第３態様によれば、リハビリテーション動作の進捗度に応じて動作範囲を変化させることができ、変化した動作範囲内で操作者が手で先端部を動かすことにより腕を伸ばすリハビリテーション動作の補助動作制御をロボットで行うことができる。
【００２０】
本発明の第４態様によれば、上記範囲制限部は、上記進捗度推定部の推定したリハビリテーション動作の進捗度が進むほど上記第１の領域を広げるように設定して、上記動作範囲を制限する第２態様に記載のロボットを提供する。
【００２１】
上記第４態様によれば、リハビリテーション動作の進捗度に応じて第１の領域を変化させることができ、変化した第１の領域内で操作者が手で先端部を動かすことにより腕を伸ばすリハビリテーション動作の補助動作制御をロボットで行うことができる。
【００２２】
本発明の第５態様によれば、上記力制御部は、上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記先端部の移動を制御するとき、上記操作者が上記先端部との間で押し合い動作を行うことにより、上記リハビリテーション動作を補助し、
さらに、上記先端部が上記動作経路から一定量外れたときに上記動作経路に戻すように上記動作経路に戻す方向から上記先端部が上記操作者に対して力を付与する促し動作を生成する促し動作生成部を備えて、上記促し動作生成部で生成された上記促し動作に基づき上記力制御部は上記先端部の移動を制御する、第１態様に記載のロボットを提供する。
【００２３】
上記第５態様によれば、操作者がリハビリテーション動作の動作経路から外れた方向に力をかけたときは、動作経路に戻る方向からロボットアームの先端部が力をかけることで操作者はロボットアームの先端部と押し合いながら腕を徐々に進展するというリハビリテーション動作を行うことが出来る。そのため、操作者の動作がリハビリテーション動作の目標軌道から外れた際に、操作者に目標軌道の方向を知らせる動作をロボットで行うことが出来る。
【００２４】
本発明の第６態様によれば、上記進捗度推定部は、上記リハビリテーション動作時に上記ロボットアームの上記先端部がリハビリテーション動作開始位置から目標位置まで移動するときにかかった時間に応じて上記進捗度を推定する第１〜５のいずれか１つの態様に記載のロボットを提供する。
【００２５】
上記第６態様によれば、リハビリテーション動作の時間に応じて進捗度を推定し、推定した進捗度に応じて制限された動作範囲内で操作者が手で先端部を動かすことにより、操作者の運動能力に合わせて腕を伸ばすリハビリテーション動作の補助動作制御をロボットで行うことができる。
【００２６】
本発明の第７態様によれば、上記進捗度推定部は、上記リハビリテーション動作時に上記ロボットアームの上記先端部が上記動作範囲の境界に到達した回数が低いほど上記進捗度が進んでいると推定する第１〜５のいずれか１つの態様に記載のロボットを提供する。
【００２７】
上記第７態様によれば、リハビリテーション動作時の先端部が上記動作範囲の境界に到達した回数に応じて進捗度を推定し、推定した進捗度に応じて制限された動作範囲内で操作者が手で先端部を動かすことにより、操作者の運動能力に合わせて腕を伸ばすリハビリテーション動作の補助動作制御をロボットで行うことができる。
【００２８】
本発明の第８態様によれば、ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御装置であって、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部とを備える、ロボットの制御装置を提供する。
【００２９】
上記第８態様によれば、操作者の上肢伸展を目的としたリハビリテーション用ロボットの制御装置において、操作者の運動能力に対応した動作制御を行うことができる。
【００３０】
本発明の第９態様によれば、ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御方法であって、
上記リハビリテーション動作の目標とする動作経路を目標動作経路生成部で生成し、
上記操作者の上記リハビリテーション動作の進捗度を進捗度推定部で推定し、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を範囲制限部で制限し、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を力制御部で移動制御する、ロボットの制御方法を提供する。
【００３１】
上記第９態様によれば、操作者の上肢伸展を目的としたリハビリテーション用ロボットの制御方法において、操作者の運動能力に対応した動作制御を行うことができる。
【００３２】
本発明の第１０態様によれば、ロボットアームを備え、操作者である患者の上肢伸展のリハビリテーション動作を補助するリハビリテーション用ロボットの制御プログラムであって、
コンピュータを、
上記リハビリテーション動作の目標とする動作経路を生成する目標動作経路生成部と、
上記操作者の上記リハビリテーション動作の進捗度を推定する進捗度推定部と、
上記進捗度推定部により推定した上記進捗度に応じて、上記目標動作経路生成部で生成された上記動作経路を含む上記ロボットアームの上記先端部の動作範囲を制限する範囲制限部と、
上記進捗度推定部により推定した上記進捗度に応じて上記範囲制限部で制限された上記ロボットアームの上記先端部の上記動作範囲内で、力検出部で検出された上記操作者が上記ロボットアームの上記先端部にかけた力に応じて上記リハビリテーション動作を補助するように上記ロボットアームの上記先端部を移動制御する力制御部と、
として機能させるためのロボット用制御プログラムを提供する。
【００３３】
上記第１０態様によれば、操作者の上肢伸展を目的としたリハビリテーション用ロボット用制御プログラムにおいて、操作者の運動能力に対応した動作制御を行うことができる。
【００３４】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００３５】
（第１実施形態）
図１は、本発明の第１実施形態にかかるロボットシステム１００の概要を示す図である。
【００３６】
ロボットシステム１００のロボット２０は、ロボットアーム２１を備えるとともに、ロボットアーム２１の先端にロボットハンド２２を備えている。人９１がロボットハンド２２に力をかけると、人９１がロボットハンド２２にかけている力を力検出部２３により検出し、検出した力に応じてロボットアーム２１が動作し、人９１の上肢伸展リハビリテーションロボットとして動作することができる。ロボットハンド２２は、人９１が手で押すため、Ｃ字形状の３つの平面又はなだらかな湾曲面で構成されて、手で中心部を押しやすくするとともに、手が接触する面には、ウレタン又はゴムなどの柔軟部材が配置されている。また、ハンド２２は、ミット形状に形成されていてもよい。
【００３７】
本明細書におけるリハビリテーションロボットによるリハビリテーション補助（支援）動作とは、操作者９１が手でハンド２２を押し、操作者９１の手とハンド２２との間で押し合い動作を行うことにより、操作者９１の手に抵抗感を与え、この状態を維持しながら、操作者９１が上肢を伸展するようにリハビリテーション動作させることにより、リハビリテーション動作を補助又は支援することを意味する。
【００３８】
図２は、本発明の第１実施形態にかかるロボットシステム１００の構成を示す図である。
【００３９】
ロボットシステム１００は、制御装置５０と、制御装置５０の制御対象であるロボット２０とにより構成されている。
【００４０】
制御装置５０は、この第１実施形態では、一例として、一般的なパーソナルコンピュータにより構成されており、制御装置５０は、制御プログラム４０と、入出力ＩＦ４１と、入力装置５１とで構成されている。
【００４１】
入出力ＩＦ（インターフェース）４１は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えば、Ｄ／Ａボードと、Ａ／Ｄボードと、カウンタボードとなどを備えるように構成されている。
【００４２】
入力装置５１は、一般的なキーボード又はタッチパネル又は音声入力装置又はバーコードリーダなどであり、リハビリテーション動作を行う操作者（患者）のＩＤ番号及びリハビリテーション動作の選択などの情報を制御装置５０に入力するために備えられている。
【００４３】
制御装置５０は、入力部の一例としての入出力ＩＦ４１を介して、ロボット機構部６の各リンクマニピュレータを駆動するモータドライバ４２と接続され、そのモータドライバ４２に制御装置５０から制御信号を送る。
【００４４】
ロボット２０は、上記したように、ロボットアーム２１を備えている。ロボットアーム２１の構造については後述する。
【００４５】
ロボットアーム２１の動作を制御する制御装置５０の制御動作が実行されることにより、ロボットアーム２１の各関節部の後述するエンコーダ７より出力される各関節角度情報（回転位相角など）を検出し、検出した各関節角度情報が入出力ＩＦ４１のカウンタボードを通じて制御装置５０に取り込まれ、取り込まれた各関節角度情報に基づき制御装置５０によって各関節部の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力ＩＦ４１のＤ／Ａボードを通じて、ロボットアーム２１の各関節部を駆動制御するためのモータドライバ４２に与えられ、モータドライバ４２から送られた各制御指令値に従って、ロボットアーム２１の各関節部のモータ１９がそれぞれ独立して駆動される。このモータドライバ４２とモータ１９とで駆動部の一例として機能する。また、エンコーダ７は、関節角度情報を出力する角度検出部の一例として機能する。
【００４６】
ロボットアーム２１は、一例として、台部３４も含めて６自由度の多リンクマニピュレータであり、先端には、ハンド２２の取り付けが可能である。ロボットアーム２１は、ハンド２２が取り付けられている手首部３１と、手首部３１を先端に回転可能に連結する第２リンク３２と、第２リンク３２の基端を先端に回転可能に連結する第１リンク３３と、第１リンク３３の基端が回転可能に連結支持された第２関節支柱３５と、第２関節支柱３５が取り付けられかつ床９０に固定される台部３４とを備えている。さらに、人９１が手でハンド２２に加えた力を計測するために、手首部３１の先端に、力検出部の一種である力センサ２３を介してハンド２２が取り付けられている。
【００４７】
手首部３１は、第４関節部２７と、第５関節部２８と、第６関節部２９との３つの回転軸を有しており、第２リンク３２に対するハンド２２の相対的な姿勢（向き）を変化させることができる。第２リンク３２の基端は、第１リンク３３の先端に対して第３関節部２６周りに回転可能とする。第１リンク３３の基端は、第２関節支柱３５に対して第２関節部２５周りに回転可能とする。台部３４の上側可動部３４ａは、台部３４の下側固定部３４ｂに対して第１関節部２４周りに回転可能とする。
【００４８】
この結果、ロボットアーム２１は、第１関節部２４から第６関節部２９の合計６個の軸周りにそれぞれ独立して回転可能として、上記６自由度の多リンクマニピュレータを構成している。
【００４９】
各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられ、かつ後述するモータドライバ４２により駆動制御される回転駆動装置の一例としてのモータ１９（実際には、ロボットアーム２１の各関節部の内部に配設されている）と、モータ１９の回転軸の回転位相角（すなわち、関節角）を検出するエンコーダ７（実際には、ロボットアーム２１の各関節部の内部に配設されている）とを備える。よって、各関節部を構成する一方の部材に備えられたモータ１９の回転軸が、各関節部の他方の部材に連結されて上記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００５０】
図３は、本発明の第１実施形態にかかるロボット２０の制御装置５０及び制御対象であるロボット２０の一部を示すブロック図である。
【００５１】
ロボット２０の制御装置５０は、目標軌道生成部１と、目標角加速度計算部２と、目標関節トルク計算部３と、逆運動学計算部４と、角度誤差補償部５と、進捗度推定部９と、修正角加速度計算部１０と、角度誤差計算部１１と、範囲制限部１３と、力制御部１４と、進捗度取得部１６と、個人進捗度データベース１７とを備えて構成している。
【００５２】
また、ロボット２０は、ロボットアーム２１で構成されるロボット機構部６と、エンコーダ７と、力センサ２３と、入力装置５１とを備えて構成している。
【００５３】
また、制御装置５０に対しては、エンコーダ７で計測されたロボット２０からの関節角度情報と、力センサ２３で計測された力情報（力ベクトルＦ）とが入力される。この力情報は、人９１がロボットアーム２１の先端（ハンド２３）にかけた力である。
【００５４】
また、ロボット起動時又は操作者（リハビリテーション患者）の変更時などに、リハビリテーション患者のＩＤ番号とリハビリテーション（リハビリテーション動作）内容とが入力装置５１から制御装置５０に入力される。リハビリテーション内容とは、例えば、リハビリテーションを行う右手又は左手の区別、及び、手の運動方向（操作者から見て真っ直ぐ前の方向、斜め右方向、斜め左方向など）などが挙げられる。
【００５５】
目標軌道生成部１は、リハビリテーション動作の目標軌道に沿ったロボット２０の動作を実現するためのハンド２２の目標位置ベクトルｒｄを範囲制限部１３に出力する。目標とするロボット２０の動作は、目的とするリハビリテーション動作に応じて、事前に、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとのハンド２２の目標位置ｒｄｔ＝［ｒｄｔ１，ｒｄｔ２，ｒｄｔ３，ｒｄｔ４，ｒｄｔ５，ｒｄｔ６］Ｔ（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が目標軌道生成部１内の記憶部に記録されている。そして、目標位置生成部１は、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）の情報を基に多項式補間を使用し、各ポイント間の軌道を補完し、目標位置ベクトルｒｄ＝［ｒｄ１，ｒｄ２，ｒｄ３，ｒｄ４，ｒｄ５，ｒｄ６］Ｔを生成する。
【００５６】
進捗度取得部１６は、ロボット起動時又は操作者（リハビリテーション患者）の変更時など、入力装置５１から入力された患者ＩＤ番号と、選択されたリハビリテーション動作の情報とが入力装置５１から制御装置５０（進捗度取得部１６）内に入力されると、その入力された情報に基づき、進捗度取得部１６は、個人進捗度データベース１７より、前回終了時の該当の進捗度を取得し、進捗度推定部９に出力する。該当の進捗度が個人進捗度データベース１７にない場合は、最も低い進捗度を出力する。また、リハビリテーション動作の１動作が終了すると（リハビリテーション動作の１つの動作が終了した後に進捗度を進捗度推定部９から進捗度取得部１６に出力すると）、進捗度推定部９から新たな進捗度が入力されるので、個人進捗度データベース１７の該当部分を新たな進捗度で更新する。
【００５７】
図４は、個人進捗度データベース１７の一例を示した図である。個人進捗度データベース１７には、個人ＩＤ番号とリハビリテーション動作の種類とに対応した進捗度とが対応付けされて記録されている。空白欄は、該当の動作が過去に行われておらず、進捗度が登録されていない部分である。図４では、リハビリテーション動作の種類の一例として、左手及び右手のそれぞれに対して方向別に進捗度が登録可能となっている。
【００５８】
進捗度推定部９は、各エンコーダ７から入力される各回転軸の回転位相角から求められたロボットアーム２１のハンド２２の位置により、リハビリテーション動作が開始してから目標位置に到達して終了するまでの時間（リハビリテーション動作開始位置から目標位置に到達するまでにかかった時間）を計算する。進捗度推定部９は、この時間により、人９１のリハビリテーション進捗度を推定する。リハビリテーション進捗度は、例えば進捗度の進んだ方からＡと、Ｂと、Ｃとの３ランクに分けられる。図５は進捗度推定の一例である。図５には、前回の進捗度が記録されているとともに、今回の経過時間と前回の進捗度とで推定される今回の進捗度とが記録されている。進捗度推定部９は、前回推定した結果の前回の進捗度と今回の経過時間とから、今回のリハビリテーションの進捗度を推定し、範囲制限部１３と進捗度取得部１６とに出力する。図５の例では、時間が５秒未満の場合は進捗度を一つ進め、５秒〜１０秒未満の場合は現在の進捗度とし、１０秒以上の場合は進捗度を一つ戻す。例えば、前回の進捗度がＢのとき、時間が５秒未満の場合は進捗度をＡに進め、５秒〜１０秒未満の場合は進捗度はＢのままとし、１０秒以上の場合は進捗度をＣに戻る。進捗度推定部９で推定した進捗度は、進捗度推定部９から範囲制限部１３と進捗度取得部１６とに出力する。ロボット起動時又は操作者（リハビリテーション患者）の変更時など、入力装置５１から入力された患者ＩＤ番号と、選択されたリハビリテーション動作の情報とが入力装置５１から進捗度取得部１６に入力された回のリハビリテーション動作では、進捗度取得部１６からの入力（前回推定した結果の前回の進捗度）を利用する。それ以外の回のリハビリテーション動作では、進捗度推定部９が、新たに推定した結果の進捗度を利用する。
【００５９】
力制御部１４は、ロボット２０の力センサ２３の出力である力情報（力ベクトルＦ）を基に、目標位置ベクトルｒｄFを算出して範囲制限部１３に出力する。力制御部１４は、インピーダンス制御法又はコンプライアンス制御法等の力制御手法により、目標位置ベクトルｒｄFを算出する。人９１がロボットアーム２１に取り付けられたハンド２２にかけた力を、力検出部の一種である力センサ２３で検出し、検出した力を基に、力制御部１４が目標位置ベクトルｒｄFを算出して範囲制限部１３に出力する。このような方法で、人９１がかけた力の方向にロボットアーム２１が動作する、リハビリテーション補助（支援）動作を実現することができる。
【００６０】
範囲制限部１３は、進捗度推定部９から入力された進捗度と目標軌道出力部１からの出力とを基にロボットアーム２１のハンド２２の動作範囲を決定し、ロボットアーム２１のハンド２２の位置が動作範囲の外に出ないように、ハンド２２の目標位置を設定する。図６Ａ及び図６Ｂは、動作範囲の一例を示す図である。図６Ａは人９１を上部から見た図であり、図６Ｂは人９１を横から見た図である。円筒状の仮想の壁６０となる制限の範囲を破線で示し、リハビリテーション動作の目標軌道を実線矢印で示す。各図の操作者９１の手９１ｈの位置がリハビリテーション動作開始位置であり、実線の×印が目標位置とする。例えば、進捗度Ｃが入力された場合は、リハビリテーション動作の目標軌道に対して、例えば１５ｃｍの幅（半径）を持たせたところに円筒状の仮想の壁６０を設定する（図６Ａの（３）及び図６Ｂの（３）参照）。これにより、半径１５ｃｍの円筒状の仮想の壁６０の内側の空間がハンド２２の移動を許可する範囲となる。進捗度Ｂが入力された場合には、Ｃの壁６０を進行方向に向かって１０度だけ開いたところに仮想の壁６０を設定する（図６Ａの（２）及び図６Ｂの（２）参照）。進捗度Ａが入力された場合には、Ｃの壁６０を進行方向に向かって２２度だけ開いたところに仮想の壁６０を設定する（図６Ａの（１）及び図６Ｂの（１）参照）。進捗度Ａ及びＢの場合は、円錐台形状の内部の空間がハンド２２の移動を許可する範囲（動作範囲）となる。このように、範囲制限部１３は、進捗度推定部９の推定したリハビリテーション動作の進捗度が進むほど、動作範囲を広げるように動作範囲を設定している。
【００６１】
力制御部１４からの出力である目標位置ベクトルｒｄFが仮想の壁６０の内側すなわちハンド２２の移動を許可する範囲内にあるときは、修正目標位置ベクトルｒｄｍ＝ｒｄFとして、範囲制限部１３は修正目標位置ベクトルｒｄｍを逆運動学計算部４に出力する。力制御部１４からの出力である目標位置ベクトルｒｄFが仮想の壁６０の外側にあるときは、修正目標位置ベクトルｒｄｍは目標位置ベクトルｒｄFと仮想の壁６０との交点となり、範囲制限部１３は、その交点にかかる修正目標位置ベクトルｒｄｍを逆運動学計算部４に出力する。その結果、ハンド２２の挙動は、仮想の壁６０で設定された内側の空間の範囲だけで動作可能となり、仮想の壁６０の位置に来ると、まさに実際の壁に当たったような感覚（例えば、ハンド２２を移動させるために必要な力が急に大きくなるなどの感覚）を操作者９１は得ることになる。
【００６２】
逆運動学計算部４は、範囲制限部１３から出力された修正目標位置ベクトルｒｄｍが入力され、目標角度ベクトルｑｄｍを計算で求めて、目標角加速度計算部２と出力誤差計算部１１とに出力する。逆運動学計算部４において、目標角度ベクトルｑｄｍは、ロボット２０の幾何学情報から計算される。ロボット２０の幾何学情報とは、各リンク及び手首の長さと、各関節部の可動範囲である。
【００６３】
出力誤差計算部１１は、逆運動学計算部４から出力された目標角度ベクトルｑｄｍと各エンコーダ７の出力ｑとが入力され、角度誤差ベクトルｑｅ＝ｑｄｍ−ｑを計算し、出力誤差の一例として角度誤差ベクトルｑｅを角度誤差補償部５に出力する。
【００６４】
目標角加速度計算部２は、逆運動学計算部４が出力した目標角度ベクトルｑｄｍが入力され、目標角加速度
【００６５】
【数１】
2015139825.tif 000003
【００６６】
を修正目標角加速度計算部１０に出力する。
【００６７】
角度誤差補償部５は、出力誤差計算部１１により出力される角度誤差ベクトルｑｅが入力され、制御指令値の一例として角度誤差修正指令値ΔＰｑｅが修正目標角加速度計算部１０に出力される。
【００６８】
修正目標角加速度計算部１０は、目標角加速度計算部２の出力である目標角加速度
【００６９】
【数２】
2015139825.tif 000004
【００７０】
と出力誤差補償部５の出力である角度誤差修正指令値ΔＰｑｅとが入力され、制御指令値の一例として修正目標角加速度
【００７１】
【数３】
2015139825.tif 000005
【００７２】
を目標関節トルク計算部３に出力する。
【００７３】
目標関節トルク計算部３は、修正目標角加速度計算部１０の出力である修正目標角加速度
【００７４】
【数４】
2015139825.tif 000006
【００７５】
と目標関節トルク計算部３の記憶部に予め記憶しているダイナミクスパラメータとから、目標関節トルクτｄを演算し、目標関節トルクτｄをロボット機構部６のモータドライバ４２に出力する。目標関節トルクτｄの演算方法の一例として、以下の式で目標関節トルクτｄを算出する。
【００７６】
【数５】
2015139825.tif 000007
【００７７】
【数６】
2015139825.tif 000008
は、それぞれ、ハンド２２及びロボット２０のダイナミクスパラメータからなる係数行列であり、
【００７８】
【数７】
2015139825.tif 000009
【００７９】
はハンド２２及びロボット２０の質量にかかる重力項である。
【００８０】
目標関節トルクτｄは、Ｄ／Ａボードなどの入出力ＩＦ４１を介してモータドライバ４２にトルク目標値として入力され、各関節軸に備え付けられたモータ１９がそれぞれ独立して正逆回転駆動されて、ロボット機構部６のロボットアーム２１が動作する。
【００８１】
ロボット機構部６のロボットアーム２１が動作した結果、ロボット２０の関節角度は変化し、その関節角度ｑを検出するエンコーダ７から検出した結果が、入出力ＩＦ４１を介して出力誤差計算部１１に入力される。
【００８２】
以上のように、上記第１実施形態の上記制御装置５０は、目標軌道生成部１と、目標角加速度計算部２と、目標関節トルク計算部３と、逆運動学計算部４と、角度誤差補償部５と、進捗度推定部９と、修正角加速度計算部１０と、角度誤差計算部１１と、範囲制限部１３と、力制御部１４と、進捗度取得部１６と、個人進捗度データベース１７とを備えて構成している。また、ロボット２０は、ロボットアーム２１で構成されるロボット機構部６と、エンコーダ７と、力センサ２３とを備え、モータ１９のトルク制御を行うロボット２０を構成する。進捗度推定部９及び範囲制限部１３とにより、人９１がロボットアーム２１のハンド２２を手で押しながら腕を伸ばすリハビリテーション動作において、リハビリテーション動作の進捗度に応じて仮想の壁６０の形状が変化し、手先位置（ハンド２２）を仮想の壁６０の中で動かす動作を行うことで腕を伸ばすリハビリテーション動作を行うことを助けるロボット２０のリハビリテーション補助動作の制御が可能となる。
【００８３】
（第２実施形態）
図７は、本発明の第２実施形態にかかるロボット２０の制御装置５０及び制御対象であるロボット２０の一部を示すブロック図である。第１実施形態と大きく異なる点は、促し動作生成部１２を制御装置５０に備えることである。
【００８４】
ロボット２０の制御装置５０は、目標軌道生成部１と、目標角加速度計算部２と、目標関節トルク計算部３と、逆運動学計算部４と、角度誤差補償部５と、進捗度推定部９と、修正角加速度計算部１０と、角度誤差計算部１１と、範囲制限部１３と、力制御部１４と、促し動作生成部１２と、進捗度取得部１６と、個人進捗度データベース１７とを備えて構成している。
【００８５】
また、ロボット２０は、ロボットアーム２１で構成されるロボット機構部６と、エンコーダ７と、力センサ２３と、入力装置５１とを備えて構成している。
【００８６】
また、制御装置５０に対しては、エンコーダ７で計測されたロボット２０からの関節角度情報と、力センサ２３で計測された力情報（力ベクトルＦ）とが入力される。この力情報は、人９１がロボットアーム２１の先端（ハンド２３）にかけた力である。
【００８７】
目標軌道生成部１は、リハビリテーション動作の目標軌道に沿ったロボット２０の動作を実現するためのハンド２２の目標位置ベクトルｒｄを促し動作生成部１２に出力する。目標とするロボット２０の動作は、目的とするリハビリテーション動作に応じて、事前に、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとのハンド２２の目標位置ｒｄｔ＝［ｒｄｔ１，ｒｄｔ２，ｒｄｔ３，ｒｄｔ４，ｒｄｔ５，ｒｄｔ６］Ｔ（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が目標軌道生成部１内の記憶部に記録されている。そして、目標位置生成部１は、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）の情報を基に多項式補間を使用し、各ポイント間の軌道を補完し、目標位置ベクトルｒｄ＝［ｒｄ１，ｒｄ２，ｒｄ３，ｒｄ４，ｒｄ５，ｒｄ６］Ｔを生成する。
【００８８】
進捗度推定部９は、後述する範囲制限部１３から、前回のリハビリテーション動作において範囲を制限する仮想の壁６０にロボットアーム２１のハンド２２が衝突した回数が入力され、リハビリテーション動作者（操作者）である人９１のリハビリテーション進捗度を推定する。
リハビリテーション進捗度は、例えば進捗度の進んだ方からＡと、Ｂと、Ｃとの３ランクに分けられる。図８は進捗度推定の一例である。図８には、前回の進捗度が記録されているとともに、今回の衝突の回数と前回の進捗度とで推定される今回の進捗度とが記録されている。進捗度推定部９は、前回推定した結果の前回の進捗度と今回の衝突回数とから、今回のリハビリテーションの進捗度を推定し、範囲制限部１３と進捗度取得部１６とに出力する。図８の例では、衝突回数が０回〜４回の場合は進捗度を一つ進め、５回〜１０回の場合は現在の進捗度とし、１１回以上の場合は進捗度を一つ戻す。例えば、前回の進捗度がＢのとき、衝突回数が０回〜４回の場合は進捗度をＡに進め、５回〜１０回の場合は進捗度はＢのままとし、１１回以上の場合は進捗度をＣに戻す。ここでは、進捗度推定部９は、リハビリテーション動作時にハンド２２が動作範囲の境界に到達した回数が低いほど進捗度が進んでいると推定する。
【００８９】
進捗度推定部９で推定した進捗度は、進捗度推定部９から範囲制限部１３と進捗度取得部１６とに出力する。ロボット起動時又は操作者（リハビリテーション患者）の変更時など、入力装置５１から入力された患者ＩＤ番号と、選択されたリハビリテーション動作の情報とが入力装置５１から進捗度取得部１６に入力された回のリハビリテーション動作では、進捗度取得部１６からの入力（前回推定した結果の前回の進捗度）を利用する。それ以外の回のリハビリテーション動作では、進捗度推定部９が、新たに推定した結果の進捗度を利用する。
【００９０】
範囲制限部１３は、進捗度推定部９から入力されたリハビリテーション進捗度と促し動作生成部１２の出力とを基にロボットアーム２１のハンド２２の動作範囲を決定する。図９Ａ及び図９Ｂは動作範囲の一例を示す図である。図９Ａは人９１を上部から見た図であり、図９Ｂは人９１を横から見た図である。円筒状の仮想の壁６０となる制限の範囲を実線で示し、リハビリテーション動作の目標軌道を実線矢印で示す。実線の×印が目標位置とする。さらに、円錐台形状の仮想の壁６０内側の空間のうち、内側の円筒状でかつ抵抗値が大きい範囲（第１の領域）ＲＬと、抵抗値が大きい範囲ＲＬの外側でかつ抵抗値が大きい範囲ＲＬよりも抵抗値が小さい範囲（第２の領域）ＲＳとの境界である抵抗の境界６１を点線で示す。すなわち、点線の境界６１と仮想の壁６０との間は抵抗値が小さい範囲ＲＳになる（図９Ａの（１）及び（２）並びに図９Ｂの（１）及び（２）参照）。内側の円筒状でかつ抵抗値が大きい範囲（第１の領域）ＲＬは、リハビリテーション動作の目標とする動作経路（目標軌道）を含む。一方、抵抗値が大きい範囲ＲＬの外側でかつ抵抗値が小さい範囲（第２の領域）ＲＳは、リハビリテーション動作の目標とする動作経路（目標軌道）を含まない。ここで、抵抗値とは、操作者９１の手でハンド２２を押して操作者９１の手とハンド２２との間で押し合い動作を行うときに、ハンド２２から操作者９１の手に与える力、すなわち、押し返すような力の値を意味する。例えば、進捗度Ｃが入力された場合は、リハビリテーション動作の目標軌道に対して例えば１５ｃｍの幅（半径）を持たせたところに円筒状の仮想の壁６０を設定する（図９Ａの（３）及び図９Ｂの（３）参照）。仮想の壁６０に囲まれた空間が狭いため、進捗度Ｃでは仮想の壁６０の内側すべてが抵抗の大きい範囲となる。すなわち、進捗度Ｂが入力された場合には、Ｃの壁を進行方向に向かって１０度だけ開いたところに仮想の壁６０を設定する。また、Ｃの壁を進行方向に向かって５度だけ開くことにより、その内側が抵抗の大きい範囲ＲＬとなり、その外側が抵抗の小さい範囲ＲＳとなるように、抵抗の境界６１を設定する。進捗度Ａが入力された場合には、Ｃの壁を進行方向に向かって３０度だけ開いたところに仮想の壁６０を設定する。Ｃの壁と同じ位置に抵抗の境界６１を設定し、内側を抵抗の大きい範囲ＲＬと設定し、外側を抵抗の小さい範囲ＲＳを設定する。このように、範囲制限部１３は、進捗度推定部９の推定したリハビリテーション動作の進捗度が進むほど、抵抗値が大きい範囲（第１の領域）ＲＬを広げるように設定して、動作範囲を制限している。
【００９１】
範囲制限部１３は、抵抗の境界６１の位置の情報を、促し動作生成部１２と力制御部１４とに出力する。さらに、促し動作生成部１２からの出力である促し動作目標位置ベクトルｒｄｓが仮想の壁６０の内側にあるときは、修正目標位置ベクトルｒｄｍ＝ｒｄｓとして、範囲制限部１３は修正目標位置ベクトルｒｄｍを逆運動学計算部４に出力する。促し動作生成部１２からの出力である促し動作目標位置ベクトルｒｄｓが仮想の壁６０の外側にあるときは、修正目標位置ベクトルｒｄｍは促し動作目標位置ベクトルｒｄｓと仮想の壁６０との交点となり、範囲制限部１３は、その交点にかかる修正目標位置ベクトルｒｄｍを逆運動学計算部４に出力する。また、促し動作目標位置ベクトルｒｄｓが仮想の壁６０の外側にあったときは、ハンド２２が仮想の壁６０に衝突したと見なせるため、促し動作目標位置ベクトルｒｄｓが仮想の壁６０の外側にあった回数を記録し、進捗度推定部９に出力する。
【００９２】
なお、抵抗値が大きい範囲ＲＬと抵抗値が小さい範囲ＲＳとの間での抵抗値の差は、急激に抵抗感が変わることが操作者９１に認識できる程度の差である。その差の一例としては、健常者では例えば１０Ｎ程度に設定してもよいが、リハビリテーション動作を行う操作者９１の場合は、感覚が鈍くなっていることを考慮して、１０Ｎよりも大きな差を設定することが好ましい。
【００９３】
力制御部１４は、ロボット２０の力センサ２３の出力である力情報（力ベクトルＦ）を基に、補正目標位置ベクトルｒｄFを算出して促し動作生成部１３に出力する。力制御部１４は、インピーダンス制御法又はコンプライアンス制御法等の力制御手法により、目標位置ベクトルｒｄFを算出する。ただし、範囲制限部１３からの出力である抵抗の境界６１の位置により抵抗値が変わるように、インピーダンス制御法もしくはコンプライアンス制御法等の設定値を設定する。例えば、インピーダンス制御法を用いた場合、ダンピングの設定値を大きくすると、抵抗値を上げることが出来る。人９１がロボットアーム２１に取り付けられたハンド２２にかけた力を、力検出部の一種である力センサ２３で検出し、検出した力を基に、力制御部１４が目標位置ベクトルｒｄFを算出して促し動作生成部１３に出力する。このような方法で、人９１がかけた力の方向にロボットアーム２１が動作する、リハビリテーション補助（支援）動作を実現することができる。
【００９４】
促し動作生成部１２は、リハビリテーション動作の目標軌道から外れたときに、目標軌道に戻る方向から人９１の手をロボットアーム２１のハンド２２が押す動作を行うことで、人９１に目標軌道から外れていることと、元に戻る方向とを示し、人９１がロボットアーム２１を押し返す動作を行うことで、目標軌道に自然に戻れるような動作（促し動作）を生成する。促し動作生成部１２は、目標軌道生成部１からの入力である目標位置ベクトルｒｄと力制御部１４からの入力である補正目標位置ベクトルｒｄFとに基づき、促し動作目標位置ベクトルｒｄｓを範囲制限部１３に出力する。促し動作生成部１２は、補正目標位置ベクトルｒｄFが範囲制限部１３の出力である抵抗の境界６１の内部及び境界６１上にあるときは促し動作目標位置ベクトルｒｄｓ＝ｒｄFとして範囲制限部１３に出力する。促し動作生成部１２は、補正目標位置ベクトルｒｄFが範囲制限部１３の出力である抵抗の境界６１の外部にあるときは、図１０に示す手順で、促し動作生成部１２は促し動作目標位置ベクトルｒｄｓを算出して範囲制限部１３に出力する。図１０の（Ａ）は、補正目標位置ベクトルｒｄFが抵抗の境界６１の外部にあるときの例である。このような入力があったときは、まず初めに、促し動作生成部１２において、補正目標位置ベクトルｒｄFを９０度回転させる。回転させる方向は、回転後の中間ベクトルｒｄFCと目標軌道生成部１からの入力である目標位置ベクトルｒｄの間の角度がより大きくなる方向とする（図１０の（Ｂ）。）次に、中間ベクトルｒｄFCの長さを例えば５ｃｍとする（図１０の（Ｃ））。このベクトルを促し動作目標位置ベクトルｒｄｓとする。このように、促し動作目標位置ベクトルｒｄｓを促し動作生成部１２で生成することで、人９１がリハビリテーション動作の目標軌道から大きく外れた方向に力をかけたときは、ロボットアーム２１がハンド２２を介して目標軌道の方向から人９１に少し力をかける（押す）動作が発生する。これにより、人９１の手はロボットアーム２１のハンド２２と押し合いながら腕を徐々に進展するというリハビリテーション動作を行うことで、元の目標軌道の方向に戻ることが出来る。なお、５ｃｍは人９１が押されているという感覚を感じられるよう事前に実験等で決めた値である。
【００９５】
以上のように、上記第２実施形態の上記制御装置５０は、目標軌道生成部１と、目標角加速度計算部２と、目標関節トルク計算部３と、逆運動学計算部４と、角度誤差補償部５と、進捗度推定部９と、修正角加速度計算部１０と、角度誤差計算部１１と、範囲制限部１３と、力制御部１４と、促し動作生成部１２と、進捗度取得部１６と、個人進捗度データベース１７とを備え、モータ２３のトルク制御を行うロボット２０を構成する。促し動作生成部１２により、人９１がリハビリテーション動作の目標軌道から外れた方向に力をかけたときは、目標軌道に戻る方向からロボットアーム２１が力をかけることで人９１はロボットアーム２１と押し合いながら腕を徐々に進展するというリハビリテーション動作を行うことが出来る。
【００９６】
上記第１実施形態及び第２実施形態では、一例として６軸のロボットアーム２１を例に説明を行ったが、これに限られるわけではない。また、各実施径態において、仮想の壁６０又は抵抗の境界６１としては、一例として円筒形状又は円錐台形状であるが、これに限らず、横に長い断面楕円形などでもよい。
【００９７】
なお、本発明を第１実施形態及び第２実施形態に基づいて説明してきたが、本発明は、上記の第１実施形態及び第２実施形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【００９８】
上記制御装置５０の一部又は全部は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【００９９】
例えば、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０１００】
なお、上記様々な実施形態又は変形例のうちの任意の実施形態又は変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１０１】
本発明のロボット、ロボットの制御装置及び制御方法、並びに、ロボット用制御プログラムは、上肢伸展を目的とするリハビリテーション用のロボット、ロボットの動作を制御するロボットの制御装置及び制御方法、並びに、ロボット用制御プログラムとして有用である。また、ロボットアームに限らず、リハビリテーション機器等同様の機構を持った装置、その装置の制御装置及び制御方法、並びに、制御プログラムとしても適用が可能である。
【符号の説明】
【０１０２】
１  目標軌道生成部
２  目標角加速度計算部
３  目標関節トルク計算部
４  逆運動学計算部
５  角度誤差補償部
６  ロボット機構部
７  エンコーダ
９  進捗度推定部
１０  修正目標角加速度計算部
１１  出力誤差計算部
１２  促し動作生成部
１３  範囲制限部
１４  力制御部
１６  進捗度取得部
１７  個人進捗度データベース
１９  モータ
２０  ロボット
２１  ロボットアーム
２２  ハンド
２３  力検出部
２４  第１関節部
２５  第２関節部
２６  第３関節部
２７  第４関節部
２８  第５関節部
２９  第６関節部
３１  手首部
３２  第２リンク
３３  第１リンク
３４  台部
３４ａ  上側可動部
３４ｂ  下側固定部
３５  第２関節支柱
４０  制御プログラム
４１  入出力ＩＦ
４２  モータドライバ
５０  制御装置
５１  入力装置
６０  仮想の壁
６１  抵抗の境界
９０  床
９１  人
１００  ロボットシステム
ＲＬ  抵抗値が大きい範囲
ＲＳ  抵抗値が小さい範囲
【図１】
2015139825.tif 000010
【図２】
2015139825.tif 000011
【図３】
2015139825.tif 000012
【図４】
2015139825.tif 000013
【図５】
2015139825.tif 000014
【図６Ａ】
2015139825.tif 000015
【図６Ｂ】
2015139825.tif 000016
【図７】
2015139825.tif 000017
【図８】
2015139825.tif 000018
【図９Ａ】
2015139825.tif 000019
【図９Ｂ】
2015139825.tif 000020
【図１０】
2015139825.tif 000021