(57)【要約】  運動に必要な作用力を空間上の任意の複数接触点に最適に配分し，各連結部のトルクを発生するロボット及び制御装置。  本発明のロボットが備える駆動制御装置３は、目標運動情報の入力を受け付け（ステップＳ１）、受け付けた目標運動情報が示す目標とする運動に従って、目標とするＺＭＰ及び目標とする作用力を導出し（ステップＳ２）、導出した作用力がノルム最小規範に基づき最適配分される様に各接触部に掛かる力を導出し（ステップＳ３）、各接触部に掛かる力に配分した作用力から、各連結部を駆動する各アクチュエータの夫々の制御目標値としてトルク値を算出し（ステップＳ４）、算出したトルク値を制御目標値として、連結部を駆動する夫々のアクチュエータへ出力する（ステップＳ５）。そして各アクチュエータは、制御目標値としてトルク値を受け付け、受け付けたトルク値に基づいて作動する。
2007139135.tif 000002
【特許請求の範囲】
【請求項１】
駆動可能な複数の連結部を備えるロボットにおいて、
制御目標値として受け付けたトルク値に基づいて連結部を駆動する複数のアクチュエータと、
想定された外部との接触部に作用させるべく設定された目標作用力に基づいて、各連結部を駆動する夫々のアクチュエータのトルク値を算出する算出手段と、
算出したトルク値を制御目標値として各アクチュエータに出力する手段と
を備えることを特徴とするロボット。
【請求項２】
前記アクチュエータは、連結部を伸縮させる直動型アクチュエータ及び／又は連結部を回動させる回動型アクチュエータであることを特徴とする請求項１に記載のロボット。
【請求項３】
前記目標作用力の設定を受け付ける手段を更に備え、
前記算出手段は、受け付けた目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してある
ことを特徴とする請求項１又は請求項２に記載のロボット。
【請求項４】
目標となる運動を示す目標運動情報を受け付ける手段と、
受け付けた目標運動情報に基づいて、設定する目標作用力を導出する導出手段と
を更に備え、
前記算出手段は、導出した目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してある
ことを特徴とする請求項１又は請求項２に記載のロボット。
【請求項５】
前記算出手段は、順運動学モデルに基づいて、目標作用力から夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする請求項４に記載のロボット。
【請求項６】
前記算出手段は、慣性力、コリオリ力及び遠心力の中の少なくとも一の力を加味して夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする請求項５に記載のロボット。
【請求項７】
外部から受ける力を検出する検出手段を更に備え、
前記算出手段は、検出手段が検出した力を加味して夫々のアクチュエータのトルク値を算出する様に構成してある
ことを特徴とする請求項１乃至請求項６のいずれかに記載のロボット。
【請求項８】
前記接触部は、複数の接触点の集合であり、
前記算出手段は、目標作用力をノルム最小規範に基づいて算出した各接触点に配分する力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してある
ことを特徴とする請求項１乃至請求項７のいずれかに記載のロボット。
【請求項９】
前記算出手段は、重心に掛かる重力を補償すべく、目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする請求項１乃至請求項８のいずれかに記載のロボット。
【請求項１０】
複数の連結部に係る冗長自由度に起因する内部運動を抑制する抑制力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする請求項１乃至請求項９のいずれかに記載のロボット。
【請求項１１】
前記連結部を駆動することで動作する複数の脚部を備えることを特徴とする請求項１乃至請求項１０のいずれかに記載のロボット。
【請求項１２】
生物体が装着可能に構成してあり、
生物体から受ける力を検出する手段と、
検出した力に基づいて、設定する目標作用力を導出する手段と
を更に備え、
前記算出手段は、導出した目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に記録する様に構成してある
ことを特徴とする請求項１又は請求項２に記載のロボット。
【請求項１３】
アクチュエータにより駆動可能な複数の連結部を備えるロボットの動作を制御する制御装置において、
想定された外部との接触部に作用させるべく設定された目標作用力に基づいて、各連結部を駆動する夫々のアクチュエータのトルク値を算出する手段と、
算出したトルク値を制御目標値として各アクチュエータに出力する手段と
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動可能な複数の連結部を備えるロボット、及び該ロボットの動作を制御する制御装置に関し、特に安定した運動を実現するロボット及び制御装置に関する。
【背景技術】
【０００２】
人間の歩行形態を模すことが可能な二足歩行ロボット等のロボットの研究及び開発が様々な企業及び研究機関にて進められており、運動中に安定した姿勢を保つための様々な制御方法が提案されている。【０００３】
例えば特許文献１では、力学モデルを追従する様にロボットの関節を駆動し、力学モデルと実際のロボットの姿勢との間に差異が生じた場合、力学モデルの床反力を調整すべく足首関節及び股関節を駆動することにより、力学モデルと実際のロボットとの差異を吸収して姿勢を安定させる。【０００４】
この様な二足歩行ロボットでは、ロボットが床から受ける床反力を、床反力センサにて検出し、検出した床反力に基づいて脚部の関節の角速度又は角度の目標値を算出し、算出した目標値に基づいて関節を駆動するアクチュエータを制御することにより、様々な運動制御を行う。なお関節の角速度及び角度の目標値の算出は、倒立振子の原理に基づいて、ロボットのＺＭＰ（ゼロモーメントポイント）を、目標とするＺＭＰに追従させるべく、ロボットの腰部及び胴体部の目標軌道を導出するために行う。ロボットの腰部及び胴体部の目標軌道を導出するためには、腰部及び胴体部の目標軌道から、各関節の目標軌道、即ち角速度及び角度の目標値を逆運動学計算により計算することになる。【０００５】
またロボットに関する技術として下記の非特許文献１がある。
【特許文献１】特開平５−３３７８４９号公報
【非特許文献１】ジェフン  パク、オサマ  カティーブ、「ア  ホール  ボディ  コントロール  フレイムワーク  フォー  ヒューマノイド  オペレイティング  イン  ヒューマン  エンバイロメンツ」プロシーディング  オブ  アイトリプルイー  インターナショナル  カンファレンス  オン  ロボティクス  オートメイション、アメリカ合衆国、アイトリプルイー  インターナショナル  カンファレンス  オン  ロボティクス  オートメイション  (Jaeheung Park,Oussama Khatib、「A whole-body control framework for humanoids operating in human environments」、Proceedings of IEEE International Conference on Robotics and Automation、United States of America、IEEE International Conference on Robotics and Automation、２００６年５月１５日、ｐ．１９６３−１９６９)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら前述した様に角速度又は角度を目標値としてアクチュエータを制御する従来のロボットでは、床反力センサが検出した床反力をフィードバックし、床反力を調整すべく関節の角速度又は角度を目標値としてアクチュエータを制御する構成となっているため、床反力を、力の一階積分である角速度又は二階積分である角度で制御することになり、角速度又は角度の位置と、力とに関する因果律が満たされないことに起因する遅延が生じるという問題がある。これらの遅延は、例えば外乱として加わる外力に対する対応時間に、力から角度への変換に要する時間が遅延となって生じる。さらに床反力センサを用いたフィードバック制御を行うため、センサフィードバックによる遅延が生じるという問題がある。これらの遅延は、制御の遅れに繋がるため、安全な動作を行う上で様々な制限が加えられるという弊害に繋がる可能性がある。また高精度の床反力センサを要するため、コスト高になるという問題がある。さらに逆運動学計算は、逆行列を用いるため、解が発散する可能性があり、一意の目標値を算出することができない場合があるという問題がある。【０００７】
本発明は斯かる事情に鑑みてなされたものであり、必ずしも床反力センサを必要とせず、各関節に用いるアクチュエータの制御目標値としてトルク値を算出することにより、遅延を抑制し、安定した姿勢制御を実現することが可能で、またセンサに起因するコスト上昇を抑制することが可能で、しかも逆運動学計算を必要としないため目標値を一意に決定して安定した姿勢制御を実現することが可能なロボット、該ロボットの動作を制御する制御装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
第１発明に係るロボットは、駆動可能な複数の連結部を備えるロボットにおいて、制御目標値として受け付けたトルク値に基づいて連結部を駆動する複数のアクチュエータと、想定された外部との接触部に作用させるべく設定された目標作用力に基づいて、各連結部を駆動する夫々のアクチュエータのトルク値を算出する算出手段と、算出したトルク値を制御目標値として各アクチュエータに出力する手段とを備えることを特徴とする。【０００９】
本発明では、トルク値を目標値として各アクチュエータを制御することにより、外力を測定するセンサを必ずしも必要とせず、また逆運動学計算を全く必要としないため、逆行列を用いる必要が無く、解の発散を防止して一意の目標値を算出することが可能であり、しかも力の次元で示されるトルク値に基づいてアクチュエータを制御することにより、因果律を破ることなく外力に対して速やかに対応することが可能である。しかもセンサに起因するコスト上昇を抑制することが可能である。【００１０】
第２発明に係るロボットは、第１発明において、前記アクチュエータは、連結部を伸縮させる直動型アクチュエータ及び／又は連結部を回動させる回動型アクチュエータであることを特徴とする。【００１１】
本発明では、油圧シリンダ等の直動型アクチュエータ、回動型モータ等の様々なアクチュエータを用いて様々な形態に展開することが可能である。【００１２】
第３発明に係るロボットは、第１発明又は第２発明において、前記目標作用力の設定を受け付ける手段を更に備え、前記算出手段は、受け付けた目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００１３】
本発明では、目標作用力の設定として、外部から操作を受け付けることが可能である。【００１４】
第４発明に係るロボットは、第１発明又は第２発明において、目標となる運動を示す目標運動情報を受け付ける手段と、受け付けた目標運動情報に基づいて、設定する目標作用力を導出する導出手段とを更に備え、前記算出手段は、導出した目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００１５】
本発明では、バランス、歩行、停止等の運動を示す目標運動情報として、外部から操作を受け付けることが可能である。【００１６】
第５発明に係るロボットは、第４発明において、前記算出手段は、順運動学モデルに基づいて、目標作用力から夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００１７】
本発明では、計算が容易な順運動学モデルに基づいて、目標作用力をトルク値に変換することにより、トルク値の算出に要する計算負荷を軽減し、処理速度を高速化して、遅延を抑制することが可能である。【００１８】
第６発明に係るロボットは、第５発明において、前記算出手段は、慣性力、コリオリ力及び遠心力の中の少なくとも一の力を加味して夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００１９】
本発明では、順運動学モデルに加えて、動力学モデルを用いることにより、高精度な制御を行うことが可能である。【００２０】
第７発明に係るロボットは、第１発明乃至第６発明のいずれかにおいて、外部から受ける力を検出する検出手段を更に備え、前記算出手段は、検出手段が検出した力を加味して夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００２１】
本発明では、床反力を検出する床反力センサ等の検出手段を併用することにより、更に高精度に制御を行うことが可能である。【００２２】
第８発明に係るロボットは、第１発明乃至第７発明のいずれかにおいて、前記接触部は、複数の接触点の集合であり、前記算出手段は、目標作用力をノルム最小規範に基づいて算出した各接触点に配分する力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００２３】
本発明では、爪先、踵等の脚部の複数の接触点に掛ける力を、ノルム最小規範、特に重み付きノルム最小規範に基づいて適正に配分し、相殺し合う大きな力の発生を防止することが可能である。【００２４】
第９発明に係るロボットは、第１発明乃至第８発明のいずれかにおいて、前記算出手段は、重心に掛かる重力を補償すべく、目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００２５】
本発明では、自身に掛かる重力を補償するトルク値を算出することにより、接地を条件として無重力の状態を実現するので、外力に対して反発するのではなく、外力方向に追従して外力を緩和することが可能である。【００２６】
第１０発明に係るロボットは、第１発明乃至第９発明のいずれかにおいて、複数の連結部に係る冗長自由度に起因する内部運動を抑制する抑制力に基づいて、夫々のアクチュエータのトルク値を算出する様に構成してあることを特徴とする。【００２７】
本発明では、内部運動を抑制力にて抑制することにより、意に反した関節の動作を防止し、関節の可動角限界への到達等の弊害を防止することが可能である。【００２８】
第１１発明に係るロボットは、第１発明乃至第１０発明のいずれかにおいて、前記連結部を駆動することで動作する複数の脚部を備えることを特徴とする。【００２９】
本発明では、二足歩行ロボット等の脚式ロボットに適用することが可能である。【００３０】
第１２発明に係るロボットは、第１発明又は第２発明において、生物体が装着可能に構成してあり、生物体から受ける力を検出する手段と、検出した力に基づいて、設定する目標作用力を導出する手段とを更に備え、前記算出手段は、導出した目標作用力に基づいて、夫々のアクチュエータのトルク値を算出する様に記録する様に構成してあることを特徴とする。【００３１】
本発明では、人物、人物以外の動物等の生物体が装着し、重量物の運搬、障害者の運動等の動作を支援する運動補助具に適用することが可能である。【００３２】
第１３発明に係る制御装置は、アクチュエータにより駆動可能な複数の連結部を備えるロボットの動作を制御する制御装置において、想定された外部との接触部に作用させるべく設定された目標作用力に基づいて、各連結部を駆動する夫々のアクチュエータのトルク値を算出する手段と、算出したトルク値を制御目標値として各アクチュエータに出力する手段とを備えることを特徴とする。【００３３】
本発明では、ロボットの動作の制御に適用し、トルク値を目標値として各アクチュエータを制御することにより、外力を測定するセンサを必ずしも必要とせず、また逆運動学計算を必ずしも必要としないため、逆行列を用いる必要が無く、解の発散を防止して一意の目標値を算出することが可能であり、しかも力の次元で示されるトルク値に基づいてアクチュエータを制御することにより、因果律を破ることなく外力に対して速やかに対応することが可能である。しかもセンサに起因するコスト上昇を抑制することが可能である。
【発明の効果】
【００３４】
本発明に係るロボット及び制御装置は、想定された外部との接触部に作用させるべく設定された目標作用力に基づいて、連結部を伸縮させる直動型アクチュエータ、連結部を回動させる回動型アクチュエータ等の連結部を駆動するアクチュエータのトルク値を算出し、算出したトルク値を制御目標値として各アクチュエータに出力し、アクチュエータを制御する。【００３５】
この構成により、本発明では、制御の目標値となるトルク値の計算に逆行列を用いる必要がないので、計算の条件に関わらず、目標値となる解が発散することが無く、一意の目標値を算出することが可能であり、安定した姿勢制御を実現することが可能である等、優れた効果を奏する。しかも外力と同じく力の次元で示されるトルク値に基づいてアクチュエータを制御することにより、角速度又は角度の位置と、力とに関する因果律を破ることがなく、外力に対して速やかに対応することができるので、外乱に強く安定した姿勢制御を行うことが可能である等、優れた効果を奏する。そして速やかな制御は、対人及び対物に対する衝突の回避等の安全な制御を行う上でも有利になる。しかも外力を検出するセンサを必ずしも必要としないため、センサに起因するコスト上昇を抑制することが可能である等、優れた効果を奏する。【００３６】
本発明に係るロボット等は、外部から受け付けた目標作用力を設定することにより、外部から操作することが可能であり、また外部からバランス、歩行、停止等の運動を示す目標運動情報を受け付け、受け付けた目標運動情報に基づいて設定する目標作用力を導出することにより、外部から操作することが可能である等、優れた効果を奏する。【００３７】
特に本発明に係るロボット等は、例えばヤコビ行列を用いた順運動学モデルに基づいて、目標作用力から夫々のアクチュエータに配分するトルク値を算出する。【００３８】
この構成により、本発明では、計算が容易な順運動学モデルを用いてトルク値を算出するので、トルク値の算出に要する計算負荷を軽減し、処理速度を高速化して、遅延を抑制することが可能である等、優れた効果を奏する。更に順運動学モデルに加え、慣性力、コリオリ力、遠心力等の動力学モデルを加味してアクチュエータのトルク値を算出することにより、高精度な制御を行うことが可能である等、優れた効果を奏する。【００３９】
本発明に係るロボット等は、外部から受ける力を検出する外力センサ、例えば床反力を検出する床反力センサ等の検出手段を併用することにより、更に高精度に制御を行うことが可能であり、しかも検出手段は、補助的に用いるため比較的低精度であっても使用可能であるので、安価な検出手段で、高精度の制御を行うことが可能である等、優れた効果を奏する。【００４０】
本発明に係るロボット等は、床作用力を、ノルム最小規範、特に重み付きノルム最小規範に基づいて、爪先、踵等の注目接触点に最適配分することにより、相殺し合う大きな力の発生を防止することが可能である等、優れた効果を奏する。また例えば人間型ロボットに適用する場合、爪先、踵等の脚部、肘、手先、掌等の腕部を接触点として見なすことにより、腕部を用いたバランス制御等の人間と同様の様々な動作に適用することが可能である等、優れた効果を奏する。【００４１】
本発明に係るロボット等は、自身に掛かる重力を保証する目標作用力を、トルク値を算出する数式に設けることにより、接地を条件として無重力の状態を模した動作を実現する。また重力を補償する構成とすることにより、外力に対して反発するのではなく、外力に従い外力方向に追従する動作を行うことで外力を緩和するため、対人及び対物に対する衝突時の安全性を高めることが可能であり、またロボットに対して人が外力を加えることにより、動作方向を誘導することが可能である等、優れた効果を奏する。そして重力を補償する構成とすることにより、ロボットの地面に対する接触部である床接触点から地面に対して力を掛ける状態を維持しようとするため、想定外の接触部に対してもプログラムを何等変更することなく良好な接地状態を保つことが可能である等、優れた効果を奏する。例えば未知の凹凸路面に対しても、安定した状態となる様に接触部に掛ける力を制御することが容易である。【００４２】
なお床反力センサが検出した床反力をフィードバックし、床反力を調整すべく関節の角速度又は角度を目標値としてアクチュエータを制御する従来のロボットにて本発明の重力補償を実現する場合、床反力以外にも、外部から加えられるあらゆる外力を検出しなければならない。無数の検出手段をロボットのあらゆる部位に配置することで外力を検出することは、技術的及び経済的の両面から現実的ではない。【００４３】
また床反力を正確に実現するためにロボット及び外部環境の正確なモデルに基づいて運動方程式を導出し、その非線形ダイナミクスを全て制御入力で補償する試みは前述の非特許文献１で一部示されている。しかしモデル化誤差、センサノイズ、計算コスト等の様々な面で実用的ではない。これに対し、本発明では、モデル化誤差及びノイズの影響が少ない重力成分のみを補償することが可能である。即ち本発明のロボットは、従来の方法では容易に成し得なかった重力補償をも含む動力学補償を実用的な動作範囲で簡単に実現することが可能である等、優れた効果を奏する。【００４４】
本発明に係るロボット等は、複数の関節に基づく冗長自由度に起因する内部運動を、関節のダンピング等の抑制力にて抑制する。冗長自由度が存在する場合、制御目標に寄与しない関節のトルク値がゼロ又はゼロに近い値となる利点があるが、外乱によって意に反して関節が動作する内部運動が発生し、例えば関節が可動角の限界に到達するという様な異常に繋がる虞がある。本発明では、抑制力項を設けることにより、内部運動を抑制し、意に反した関節の動作及び該動作に基づく異常の発生を防止することが可能である等、優れた効果を奏する。【００４５】
本発明のロボットは、複数の脚部を備える脚式ロボット、例えば人型の二足歩行ロボットに適用するだけでなく、人物、人物以外の動物等の生物体が装着し、重量物の運搬、障害者の運動等の動作を支援する運動補助具に展開することも可能であり、また凹凸の激しい路面を走行する車両の駆動輪の懸架システムとして用いることも可能であり、更には人が容易に進入することができない災害現場、火山、深海等の地域、更には他の天体等を探査する探査機等の様々な分野で稼動する様々な形状のロボットに適用することも可能である等、優れた効果を奏する。また探査だけではなく、車輪と、支持及び駆動機構として機能する脚状体とを備える複合型の移動ロボットに適用し、不整地において安定して作業を行う建築作業に用いることも可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態１に係るロボットを示す外観図である。
【図２】本発明の実施の形態１に係るロボットの骨格及び関節を模式的に示す説明図である。
【図３】本発明の実施の形態１に係るロボットの構成を示すブロック図である。
【図４】本発明の実施の形態１に係るロボット及びロボットの制御に係る座標系を模式的に示す説明図である。
【図５】本発明の実施の形態１に係るロボット及びロボットに係る床作用力を模式的に示す説明図である。
【図６】本発明の実施の形態１に係るロボット及びロボットに係る仮想的な接触力を模式的に示す説明図である。
【図７】本発明のロボットが備える駆動制御装置の処理を示すフローチャートである。
【図８】本発明の実施の形態１に係るロボットの屈伸運動を模式的に示す外観図である。
【図９】本発明の実施の形態１に係るロボットの模擬実験において屈伸運動の動作を示す値の経時変化を示すグラフである。
【図１０】本発明の実施の形態１に係るロボットの模擬実験において屈伸運動中の重心及びＺＭＰの経時変化を示すグラフである。
【図１１】本発明の実施の形態１に係るロボットの脚上げ運動を模式的に示す外観図である。
【図１２】本発明の実施の形態１に係るロボットの模擬実験において脚上げ運動中の脚の位置の経時変化を示すグラフである。
【図１３】本発明の実施の形態１に係るロボットの模擬実験において脚上げ運動を示す値の経時変化を示すグラフである。
【図１４】本発明の実施の形態１に係るロボットの模擬実験において歩行運動を示す値の経時変化を示すグラフである。
【図１５】本発明の実施の形態２に係るロボットを示す外観図である。
【図１６】本発明の実施の形態３に係るロボットを示す外観図である。
【図１７】本発明の実施の形態４に係るロボットを示す外観図である。
【符号の説明】
【００４７】
１    ロボット
１０    脚部
２    連結部
２０    アクチュエータ
３    駆動制御装置
３０    制御手段
３１    記録手段
３２    記憶手段
３３    計測手段
３４    出力手段
３５    入力手段
４    駆動機構
５    検出機構
【発明を実施するための最良の形態】
【００４８】
実施の形態１．
以下、本発明をその実施の形態を示す図面に基づいて詳述する。図１は、本発明の実施の形態１に係るロボットを示す外観図であり、図２は、本発明の実施の形態１に係るロボットの骨格及び関節を模式的に示すブロック図である。実施の形態１では、少なくとも一対の脚部を備え、歩行、屈伸、脚上げ等の様々な動作を行う脚式ロボットに本発明を適用した形態について例示する。【００４９】
図１及び図２中１は、ロボットであり、ロボット１の左右の脚部１０，１０は、腰、膝及び足首に関節等の連結部２，２，…を備え、各連結部２，２，…は、回動型モータ等のアクチュエータ２０，２０，…にて駆動される。アクチュエータ２０，２０，…にて駆動することにより、各連結部２，２，…は、前後、左右等の複数の方向に対して屈曲可能である。またロボット１は、脚部１０，１０だけでなく、首、胸、肩、肘、手首等の様々な箇所に関節等の連結部２，２，…を駆動するアクチュエータ２０，２０，…を備えている。【００５０】
アクチュエータ２０としては、制御目標値となるトルク値を駆動信号として受け付け、受け付けたトルク値に基づいて制御する機能を有していれば、サーボモータ、油圧モータ等の様々なアクチュエータを用いることが可能である。例えば電流制御が可能な駆動回路を有し、電流に比例したトルクを発生させるサーボモータでは、制御目標値として入力されたトルク値に、ギヤ比により決定されるトルク定数を乗じて駆動回路に指令することで入力されたトルクを発生させるトルク制御を実現する。特に連結部２にトルクセンサを配設し、トルクセンサにより検出した値を駆動回路にフィードバックすることにより、高精度のトルク制御が可能となる。また回動型に限らず、油圧シリンダ等の直動型のアクチュエータ２０を用いることも可能である。即ち図２に示したロボット１の連結部２，２，…の個数及び配置は、あくまでも一例であり、回動型、直動型等の様々な種類のアクチュエータ２０，２０，…を備える連結部２，２，…を様々な箇所に配置することが可能である。【００５１】
図３は、本発明の実施の形態１に係るロボット１の構成を示すブロック図である。ロボット１は、連結部２，２，…を駆動する各アクチュエータ２０，２０，…に信号を出力する駆動制御装置３と、駆動制御装置３から出力された信号に基づいて、実際のトルクが制御目標値に一致する様に各アクチュエータ２０，２０，…を駆動するサーボアンプ等の駆動機構４，４，…と、角度センサ、姿勢センサ、外力センサ等の様々な検出機構５，５，…とを備えている。なお駆動機構４，４，…は、駆動制御装置３が備える駆動手段として実装する様にしても良く、またアクチュエータ２０と一体化したインテリジェントモータを実装する様にしても良い。【００５２】
角度センサとは、連結部２，２，…として備える各関節の角度を検出するセンサであり、例えばアナログ式のポテンションメータ、デジタル式のロータリエンコーダ等のセンサが用いられる。姿勢センサとは、慣性座標系におけるロボット１の絶対姿勢を検出するセンサであり、例えばロボット１の胴体部に取り付けられたジャイロセンサが用いられる。外力センサとしては、例えばロボット１の足裏に取り付けられる床反力センサが用いられる。なお本発明のロボット１では、必ずしも外力センサを必要としないが、外力センサを併用することにより、実際の接触状態に応じて外部に作用させる力の制御を行うことが可能となる。即ち実際の接触状況に応じて夫々の接触点に作用させる作用力を配分するか否かを決定する際に有効である。さらに外部との摩擦状況に応じて重みを設定する場合にも、外力センサによる外力の検出は有効である。【００５３】
駆動制御装置３は、制御目標値の算出等の様々な演算を行うＣＰＵ等の制御手段３０と、制御に要するプログラム及びデータ等の情報を記録するＲＯＭ、ＥＰＲＯＭ、ハードディスク等の記録手段３１と、プログラムの実行により発生するデータを一時的に記憶するＲＡＭ等の記憶手段３２と、検出機構５，５，…から検出結果を示す様々な信号の入力を受け付ける計測手段３３と、アクチュエータ２０へ出力する信号を駆動機構４に対応した形式に変換して出力する出力手段３４と、外部からの入力を受け付ける入力手段３５とを備えている。【００５４】
駆動制御装置３が、駆動機構４を介して各アクチュエータ２０，２０，…へ出力する信号とは、例えば制御目標値としてトルク値を示す制御信号である。各連結部２，２，…を駆動するアクチュエータ２０，２０，…は、駆動制御装置３から入力されたトルク値等の制御信号に基づいて作動する。入力手段３５とは、ロボット１のバランス、歩行、停止等の目標となる運動を示す目標運動情報、又は目標となる運動を行うための目標作用力を受け付ける機構であり、有線又は無線により外部のコントローラから送信される目標運動情報等の情報が含まれる命令を受け付ける。また操作者から直接命令を受け付けるキーボード、各種釦、スイッチ等の操作部を入力手段３５として用いる様にしても良い。なお駆動制御装置３が、目標運動情報を受け付けた場合、目標となる運動から設定すべき目標作用力及び目標とするゼロモーメントポイント（以降、ＺＭＰ：Zero Moment Point という）を導出し、導出した目標作用力及び目標ＺＭＰに基づいて後述する様にロボット１を制御する。また駆動制御装置３が、目標作用力を受け付けた場合、受け付けた目標作用力及び目標作用力から導出した目標ＺＭＰに基づいてロボット１を制御する。【００５５】
なお本願で説明する接地点等の接触部が接触する対象とは、地面に限るものではなく、ロボット１が自らを支持するために自重を掛ける外部の環境一般を指す。具体的には、地面及び床に加えて、スロープのある床、段差の有る階段等の平面以外の外部環境をも含み、また脚部の足裏だけでなく、膝、手、腕部等の足裏以外の箇所を用いて自らを支持する姿勢をとる場合、手摺、壁等の外部環境をも含む。従って上半身を用いて自らを支持する四つん這い等の姿勢をとる場合、掌等の手部（前脚部）も接触部となりうる。同様にして本願で説明する床反力とは、必ずしも床から受ける反力に限定されるものではなく、接触部が接触している外部環境から受ける反力を示す。【００５６】
次に本発明のロボット１の制御について説明する。図４は、本発明の実施の形態１に係るロボット１及びロボット１の制御に係る座標系を模式的に示す説明図である。図４中ＣｏＭは、ロボットの重心(Center of Mass)であり、重心ＣｏＭを、ｘ座標、ｙ座標及びｚ座標を用いた三次元の座標系Σにおいて下記の式１で定義される位置ベクトルｒC で定義する。なお図４に示す座標系Σでは、ロボット１の外部の点を基準点とする位置ベクトルｒC にて重心ＣｏＭを示しているが、ロボット１内に基準点をとる座標系を定義する様にしても良い。【００５７】
ｒC ＝［ｘC ，ｙC ，ｚC ］T ∈Ｒ3   …（式１）
但し、ｒC ：重心ＣｏＭの位置ベクトル
T ：ベクトル又は行列に対する転置演算子
Ｒ3 ：３次元の数ベクトル空間【００５８】
説明を簡単にするために、先ずはロボット１が、足裏の任意の一点が外部の環境と接触している状況について説明する。この接触点の重心ＣｏＭからの位置ベクトルをｒP として示し、ｘ座標、ｙ座標及びｚ座標による三次元の座標系を用いた下記の式２にて定義する。【００５９】
ｒP ＝［ｘP ，ｙP ，ｚP ］T ∈Ｒ3   …（式２）
但し、ｒP ：接触点の位置ベクトル【００６０】
また重心ＣｏＭに掛かる力は、重力、接触点から受ける床反力、及び外乱等の他の外力を用いた下記の式３にて示すことができる。なおロボット１がこの接触点でのみ外部、ここでは床に接触している場合、接触点はＺＭＰに一致する。【００６１】
Ｍｄ2 ｒC ／ｄｔ2 ＝Ｍｇ＋ｆR ＋ｆE   …（式３）
但し、Ｍ：ロボット１の質量
ｄ2 ｒC ／ｄｔ2 ：重心に掛かる加速度
ｇ：［０，０，−９．８１］T と示される重力加速度
ｆR ：ｆR ∈Ｒ3 である床反力
ｆE ：ｆE ∈Ｒ3 である重力及び床反力以外の外力【００６２】
式２に示したＣｏＭ、ＺＭＰ等の点の位置ベクトルは、検出機構５である角度センサ及び姿勢センサが検出した検出値に基づいて導出することができる。駆動制御装置３は、ロボット１が接触点から受ける床反力に対し、ロボット１から接触点に対して床反力と大きさが同じで方向が正反対となる床作用力（ＧＡＦ：Ground Applied Force）をロボット１の動作のタスク目標に応じた所望の値となるように決定し、決定した床作用力をロボット１から接触点に対して加える様にロボット１を制御する。この制御により、ロボット１は、例えば自身のバランスをとったり、安定した姿勢制御を行ったりという様々な追従動作を行うことができる。なお床作用力は、ｘ座標、ｙ座標及びｚ座標による三次元の座標系を用いた下記の式４にて定義される。【００６３】
ｆP ＝［ｆxP，ｆyP，fzp］T ＝−ｆR ∈Ｒ3   …（式４）
但し、ｆP ：床作用力【００６４】
駆動制御装置３は、下記の式５に示す様に、目標とする床作用力を、ヤコビ行列にて規定される順運動学モデルに基づいて、各関節２，２，…を駆動する夫々のアクチュエータ２０，２０，…の夫々のトルク値に変換し、変換した夫々のトルク値を各アクチュエータ２０，２０，…に制御目標値として出力する。そして各アクチュエータ２０，２０，…は、入力を受け付けたトルク値に基づいて作動する。【００６５】
【数１】
2007139135.tif 000003
【００６６】
式５に示す様に各関節の夫々のアクチュエータ２０，２０，…の制御目標値となるトルク値は、転置行列を用いて算出することができる。また算出の過程で逆行列の計算を用いていないため、解が発散することがない。実際の床反力が式５にて算出される目標とする床作用力の逆方向の力に一致する場合、本発明のロボット１は、非常に簡単な計算で所望の運動を達成することができ、また例えば自身のバランスを取ったり、安定した姿勢制御を行ったりという様々な追従動作を行うことができる。なお実際に床反力が床作用力の逆方向の力に一致するか否かの議論は、本願発明者らが既に検討し、公開している。【００６７】
ロボット１は、歩行等の様々な動作を行うので、常にＺＭＰの一点で床と接触している訳ではない。そこで次に複数の接触点で床と接触している状況下での本発明のロボット１の制御について説明する。図５は、本発明の実施の形態１に係るロボット１及びロボット１に係る床作用力を模式的に示す説明図である。図５に例示したロボット１において、床作用力ｆP は、重心ＣｏＭからＺＭＰの方向へのベクトルとして示されている。図５において床等の外部環境に接触する点の集合を考える。脚部１０の接触部を、床面に接触する複数の接触点の集合とみなし、脚部１０の接触部の中の特定のａ個の接触点に注目し、各接触点の位置ベクトルを、ｘ座標、ｙ座標及びｚ座標による三次元の座標系を用いた下記の式６にて定義する。【００６８】
ｒS ＝［ｒS1，ｒS2，…，ｒSa］T ∈Ｒ3a  …（式６）
但し、ｒSj:各接触点Ｓj （ｊ＝１，２，…，ａ）の位置ベクトル【００６９】
そして接触点の集合の中の特定の接触点に注目し、床作用力を注目した接触点に掛かる力の合力と見なすことにより、床作用力ｆP は、下記の式７にて定義することができる。【００７０】
【数２】
2007139135.tif 000004
【００７１】
例えば図５に示すロボット１は、踵から爪先までが直方体状をなす足先部の足裏に相当する部位を脚部の接触部としており、脚部の接触部の中で、右脚部の足先部の右先端Ｓ1 、左先端Ｓ2 、右後端Ｓ3 及び左後端Ｓ4 、並びに左脚部の足先部の右先端Ｓ5 、左先端Ｓ6 、右後端Ｓ7 及び左後端Ｓ8 を注目した接触点としている。【００７２】
なお歩行等の運動を行うロボット１の接触点の個数は常に一定ではない。例えばロボット１が歩行運動を行う場合、遊脚は、床面に接触していないので、支持脚側の接触点のみに床作用力が分配される。さらに床面に接触していない遊脚についても、支持脚と同様に仮想的な接触点を式８に示す様に定義する。【００７３】
ｒF ＝［ｒF1，ｒF2，…，ｒFb］T ∈Ｒ3b  …（式８）
但し、ｒFj:各接触点Ｆj （ｊ＝１，２，…，ｂ）の位置ベクトル【００７４】
これらの仮想的な接触点は、実際に外部環境に接触する点又は外部環境に接触しないが空間上を運動する点の座標を用いる。例えば図５に示す様に両方の脚部１０，１０で床に接触しているロボット１では、ａ＝８，ｂ＝０であるが、一方の脚部１０が遊脚となると、ａ＝４，ｂ＝４となる。また爪先、踵等の脚部１０の一部のみが外部環境と接触している場合は、更に変化する。また掌にも足裏と同様に仮想的な接触点を想定すると、ｂ＝８となる。またＺＭＰの位置ベクトルのｘ座標及びｙ座標は、下記の式９及び式１０にて示すことができる。なおロボット１が平坦な床面上で外部環境と接触している場合、ＺＭＰの位置ベクトルのｚ座標はゼロである。【００７５】
【数３】
2007139135.tif 000005
【００７６】
なお上述した式７、式９及び式１０は、Ｚ方向の力関係式として下記の式１１に纏めることが可能である。またＸ方向及びＹ方向の力関係として下記の式１２及び式１３を仮定する。これはＺ方向の力が大きい接触点ほど相応に大きい水平接触力、即ち摩擦力が割り当てられるにするための処置である。【００７７】
【数４】
2007139135.tif 000006
【００７８】
また床反力に対する床作用力を各接触点に配分する際、各接触点に配分する目標となる力は、下記の式１４、式１５及び式１６を用いてノルム最小規範に基づき最適配分される様に決定する。これにより相殺し合う大きな力の発生を防止する。なおロボット１が、踵又は爪先立ち、逆立ち、四つん這い等の姿勢をとる場合、姿勢に基づく接触状態に応じて各接触点に床反力が配分される。即ち下記の式１４、式１５及び式１６を用いた演算により、目標となるＺＭＰ及び目標となる床作用力に基づいて、各接触点に作用させる目標作用力を算出する。【００７９】
【数５】
2007139135.tif 000007
【００８０】
なお各接触点に作用させる目標作用力に対し、例えば右脚の爪先に８０％及び左足の踵に２０％という様に任意の重みを設定することも可能である。具体的には、式１４、式１５及び式１６にて用いられている行列Ａi #を、下記の式１７にて示す様に任意の重み係数行列の逆行列を用いて定義し、式１４、式１５及び式１６を変形することにより、重み付きノルム最小規範に基づく目標作用力の配分を行うことが可能である。【００８１】
Ａi #＝（Ａi T Ｗ-1Ａi ）-1Ａi T Ｗ-1  …（式１７）
但し、Ｗ：重み係数行列【００８２】
なお重み係数行列を使用する場合、接触点Ｓに掛かる目標接触力の転置行列、重み係数行列及び目標接触力を示す行列の積として示される最適評価関数の値が、最小となる様に目標接触力が定義される。目標接触力は行行列であり、その転置行列は列行列であるため、最適評価関数の値はスカラー量である。【００８３】
そして駆動制御装置３は、上述した式７、式９及び式１０並びに式１４、式１５及び式１６に基づいて、床作用力がノルム最小規範に基づき最適配分される様に各接触点に掛かる力を導出し、各接触点に掛かる力に配分した床作用力を、ヤコビ行列にて規定される順運動学モデルに基づいて、下記の式１８に示す様に各関節を駆動する各アクチュエータ２０，２０，…の夫々のトルク値に変換し、変換した夫々のトルク値を、駆動機構４を介して各アクチュエータ２，２，…に制御目標値として出力する。そして各アクチュエータ２０，２０，…は、入力を受け付けたトルク値に基づいて作動する。【００８４】
【数６】
2007139135.tif 000008
【００８５】
各アクチュエータ２０，２０，…が入力を受け付けたトルク値に基づいて作動することにより、本発明のロボット１は、歩行等の運動時に安定した動作を行う。【００８６】
次に本発明のロボット１において、内部運動を抑制する制御方法について説明する。関節等の連結部２，２，…の数が多いロボット１に対して式５又は式１８を用いて各アクチュエータ２０，２０，…のトルク値を算出する場合、関節の冗長自由度が高くなるため、幾つかの関節の目標トルクがゼロ又はゼロの近似値をとり、意に反して関節が稼動する内部運動が発生する可能性がある。そこで本発明の駆動制御装置３は、内部運動を抑制する抑制力項を設けた下記の式１９を用いて各アクチュエータ２０，２０，…のトルク値を算出する。【００８７】
【数７】
2007139135.tif 000009
【００８８】
式１９は、上述の式１８に抑制力項を設けた式であり、右辺の第１項が式１８であり、第２項が抑制力項となる。なお抑制力項として最も単純なものは関節毎にダンピングを設けたものであり、関節毎のダンピング係数を行列として示した下記の式２０にて示される。【００８９】
【数８】
2007139135.tif 000010
【００９０】
式２０に示す様に、ダンピング係数として各アクチュエータ２０，２０，…に対して任意の摩擦係数を設定することにより、動作を意図しないアクチュエータ２０，２０，…の自由運動に基づく内部運動を抑制する。τa は、トルク値の目標値を補正すべく必要に応じて任意の値を設定することが可能な値であり、例えば局所的な姿勢及び角度を指定したい場合に用いられる。この様にして抑制力項を設けた数式にて算出した各アクチュエータ２０，２０，…のトルク値に基づいて駆動制御装置３が制御することにより、本発明のロボット１は、内部運動が抑制され、操作者の意図に従った動作を行う。なお上述の式５に抑制力項を設けた式を用いる様にしても良い。【００９１】
次に本発明のロボット１において、外力に対して柔軟に動作する制御方法について説明する。本発明の駆動制御装置３は、下記の式２１に示す様に、ロボット１の重心に掛かる重力を補償すべく、床作用力の目標値に重力を加味する項を設けてロボット１を制御する。重力を補償する制御を行うことにより、ロボット１は、床に接触していることを条件として無重力の状態を模した動作を実現する。即ち本発明のロボット１は、外力に対して反発するのではなく、外力に従い外力方向に追従する動作を行う。【００９２】
【数９】
2007139135.tif 000011
【００９３】
式２１において、任意設定力とは、ロボット１の動作を制御すべく任意に設定することが可能な目標作用力であり、例えば目標運動情報として、ロボット１に重心を下げる動作を行わせる情報を受け付けた場合、下向きの力として任意設定力を設定する。【００９４】
式２１及び前述の式３に基づいて、下記の式２２を導出することができる。【００９５】
Ｍｄ2 ｒC ／ｄｔ2 ＝ｆD ＋ｆE ＋ｆu   …（式２２）
但し、ｆD ：式１９右辺第２項に基づく抑制力項【００９６】
式２２に示す様に式２１を考慮すると、見かけ上の重力の影響を排除することができる。駆動制御装置３は、式２１に示した様に重力を補償する床作用力を用いて算出したアクチュエータ２０，２０，…の目標となるトルク値に基づいてロボット１の制御を行うことにより、ロボット１は、外力に反発するのではなく、外力に従って動作するので、外力を緩和し、対人及び対物に対する衝突時の安全性を高め、例えばロボット１に対して人が外力を加えることにより動作方向を誘導することが可能となる。【００９７】
式２２に示した任意設定力は、上述した様にロボット１が目標運動情報として受け付けた情報から導出される目標作用力である。目標作用力の導出方法は、様々な方法が提案されているが、例えば目標運動情報にて示される三次元空間におけるロボット１の重心の目標位置及び目標速度から下記の式２３を用いて目標作用力を導出することができる。【００９８】
【数１０】
2007139135.tif 000012
【００９９】
式２３は、簡単な線形フィードバック則を用いた導出方法であるが、本発明の駆動制御装置３は、式２３以外の様々な導出方法にて任意設定力として扱われる目標作用力を導出することが可能である。更に本発明の駆動制御装置３は、任意設定力となる目標作用力から下記の式２４に基づいて目標ＺＭＰを導出することができる。【０１００】
【数１１】
2007139135.tif 000013
【０１０１】
なお式２４にて導出される目標ＺＭＰが接地、即ち外部環境に接触していない場合、外部環境に接触する無数の接触点の集合の中で最も近い接触点を目標ＺＭＰとして再導出し、再導出した目標ＺＭＰに基づいて、目標作用力を導出する。但し、目標作用力の水平方向の力がゼロの場合、即ち単なる重力補償又は重心の垂直運動のみの場合、目標ＺＭＰの重心ＣｏＭから見たｘ座標及びｙ座標はいずれもゼロとなる。【０１０２】
次に本発明のロボット１において、床反力を更に高精度に制御する方法として、ロボット１に対する慣性力項、コリオリ力項、遠心力項等の非線形項を考慮した逆動力学計算を行う方法がある。ロボット１に対する非線形項を重心座標系で示したものが下記の式２５である。【０１０３】
【数１２】
2007139135.tif 000014
【０１０４】
上記の式２５から床作用力は、下記の式２６を用いて計算することが可能である。【０１０５】
【数１３】
2007139135.tif 000015
【０１０６】
駆動制御装置３は、式２６をｕ^ （ｕの上方に^記号）について解くことにより、床作用力の目標値から各関節の夫々のアクチュエータ２０，２０，…のトルク値を算出することができる。但し、全ての非線形項、特にノイズの多い速度の二乗を含む項を正確に計算することは困難であるため、適当なフィルタを用いて算出した推定値を用いる様にしても良い。なお前述した様に重力補償がなされているため、重力補償以外の動力学計算に誤差が含まれている場合でも、高い追従性を期待することができる。【０１０７】
次に本発明のロボット１において、外部環境に接触していない手部、脚部１０等の四肢を使って様々な動作を行う場合における全身運動の制御方法について説明する。図６は、本発明の実施の形態１に係るロボット１及びロボット１に係る仮想的な接触力を模式的に示す説明図である。駆動制御装置３は、入力を受け付けた目標運動情報が示す運動等の目標とする運動として、例えば腕部又は脚部１０を空間上の所望の位置に動かす到達運動を行う場合、例えばＰＤ制御を施すことによって、ロボット１の仮想接触点を想定し、各仮想接触点に対して作用させる目標仮想接触力を導出する。図６では、目標とする運動に基づく仮想接触点ｒFj及び目標仮想接触力ｆFjを示している。そして駆動制御装置３は、求められた目標仮想接触力ｆFjから、例えば下記の式２７に基づいて各アクチュエータ２０，２０，…のトルク値を算出することができる。【０１０８】
【数１４】
2007139135.tif 000016
【０１０９】
但し、このように定めた仮想接触力の総和は重心に対して反作用力となるため、バランスに対して悪影響をもたらす可能性がある。そこでこの力を補償しなくてはならない。そのためには、式２１の目標床作用力からこの仮想作用力の総和を引き算したものを改めて目標作用力とする。なお図６に示した仮想接触点ｒFjという概念を導入し、式２７に示したヤコビ行列を用いて計算するのではなく、前述した接触点ｒSjが接触していると仮定して、接触点ｒSjに係る数式を用いて計算する様にしても良く、その場合、式２７に示したヤコビ行列を用いた計算は不要となる。【０１１０】
またロボット１が歩行運動等の運動を行う場合、支持脚の接触力は並進力に相当する床作用力のみならず、回転力に相当する床作用モーメントを発生させる際にも利用できる。なぜなら接触力は複数あるのでこれらを対に組合せてモーメントを発生させることができるからである。接触部に対してモーメントを適切に発生させることによって、例えばロボット１の方位を制御することができる。【０１１１】
次に本発明の実施の形態１に係る駆動制御装置３を用いたロボット１の制御処理について説明する。図７は、本発明の実施の形態１に係るロボット１が備える駆動制御装置３の処理を示すフローチャートである。ロボット１に対する操作を行う操作者は、倒れない様に姿勢を維持するバランス運動、屈伸動作、手先又は足先を目標物に到達させるリーチングタスク運動等の運動を示す目標運動情報をロボット１の駆動制御装置３に入力する。目標運動情報の入力は、例えば操作者がロボット１用のコントローラを操作し、コントローラから有線又は無線の通信にて、目標運動情報を駆動制御装置３へ送信することにより行われる。本発明のロボット１が備える駆動制御装置３は、制御手段３０の制御により、入力手段３５にて目標運動情報の入力を受け付ける（ステップＳ１）。ステップＳ１では、例えばコントローラから無線通信にて送信される目標運動情報を、入力手段３５にて受信することにより、入力の受付が行われる。駆動制御装置３は、受け付けた目標運動情報が示す屈伸運動等の情報から、予め記録されている運動の対応関係を示す設定に基づいて、ロボット１の各部位の動きを示す情報に変換することで、運動に係る動作を認識する。なお目標運動情報ではなく、目標作用力及び目標ＺＭＰをロボット１に入力し、ステップＳ１において、入力手段３５は、入力された目標作用力及び目標ＺＭＰを受け付ける様にしても良い。【０１１２】
ロボット１が備える駆動制御装置３は、制御手段３０の制御により、受け付けた目標運動情報が示す目標とする運動に従って、目標とする作用力及び目標とするＺＭＰを導出する（ステップＳ２）。ステップＳ２では、例えば前述の式２３に基づいて目標とする作用力、ここでは床作用力を導出し、また式２４に基づいて目標とするＺＭＰを導出する。なお式８或いは図６を用いた説明に示す様に仮想的な接触点を想定し、目標ＺＭＰ及び目標作用力を導出する様にしても良い。なお前述した様に目標作用力の導出方法は、式２３以外の方法を用いても良く、目標ＺＭＰの導出方法は、式２４以外の方法を用いても良い。また目標作用力の算出に際しては、必要に応じて前述の式２１に基づく重力補償、式２２に基づく任意設定力、更には式２５及び式２６に基づく慣性力、コリオリ力、遠心力等の非線形項に係る力が加味される。なお導出した目標作用力及び目標ＺＭＰは、記憶手段３２に設定値として記憶される。ステップＳ１で入力手段３５が、目標作用力及び目標ＺＭＰを受け付けている場合、ステップＳ２の処理は、受け付けた目標作用力及び目標ＺＭＰから、以降の処理で取扱可能な形式のデータを導出する処理となる。また目標作用力のみを受け付け、目標作用力から式２４を用いて目標ＺＭＰを導出する様にしても良い。【０１１３】
そして本発明のロボット１が備える駆動制御装置３は、制御手段３０の制御により、前述の式５、更には、式７、式９及び式１０並びに式１４、式１５及び式１６に基づいて、設定した作用力がノルム最小規範に基づき最適配分される様に各接触部に掛かる力を導出し（ステップＳ３）、前述の式１８に基づいて、各接触部に掛かる力に配分した作用力から、各連結部２，２，…を駆動する各アクチュエータ２０，２０，…の夫々の制御目標値としてトルク値を算出する（ステップＳ４）。【０１１４】
そして本発明のロボット１が備える駆動制御装置３は、制御手段３０の制御により、算出したトルク値を制御目標値として、出力手段３４から駆動機構４，４，…を介して夫々のアクチュエータ２０，２０，…へ出力する（ステップＳ５）。そして各アクチュエータ２０，２０，…は、制御目標値としてトルク値を受け付け、受け付けたトルク値に基づいて作動する。【０１１５】
次に本発明のロボットに関する模擬実験結果について説明する。図８は、本発明の実施の形態１に係るロボットの屈伸運動を模式的に示す外観図である。図８は、本発明の模擬実験として想定した屈伸運動を示しており、ロボットは、図８（ａ）、図８（ｂ）、図８（ｃ）、図８（ｄ）、そして図８（ｅ）の順で繰り返し動作する。【０１１６】
図９は、本発明の実施の形態１に係るロボットの模擬実験において屈伸運動の動作を示す値の経時変化を示すグラフである。図９（ａ）は、図８に示す屈伸運動において、ロボットの重心の高さＺC の経時変化を示すグラフであり、図９（ｂ）は、直立時を基準としたロボットの体幹の前後方向の角度φp 及び左右方向の角度φr の経時変化を示すグラフである。図９（ａ）に示す様に、ロボットは、重心の高さが正弦曲線に基づいて変化する屈伸運動を行う様に制御されており、また図９（ｂ）に示す様に、ロボットは、体幹の前後及び左右の角度が正弦曲線に基づいて変化する屈伸運動を行う様に制御されている。なお図９に示した模擬実験において制御に係る各関節の目標値は、夫々の関節の可動範囲内で任意に設定される。【０１１７】
図１０は、本発明の実施の形態１に係るロボットの模擬実験において屈伸運動中の重心及びＺＭＰの経時変化を示すグラフである。図１０（ａ）は、図８に示す屈伸運動において、両脚の中心を原点としたロボットの重心のｘ座標ｘC の経時変化及びＺＭＰのｘ座標ｘP の経時変化を示すグラフであり、図１０（ｂ）は、両脚の中心を原点とした重心のｙ座標ｙC の経時変化及びＺＭＰのｙ座標ｙP の経時変化を示すグラフである。ｘ座標は、ロボットの前後方向を示す座標であり、ｙ座標は、ロボットの左右方向を示す座標である。図１０は、図９に示す屈伸運動を行った場合の重心及びＺＭＰの変化を示している。図９及び図１０からロボットが屈伸運動中、ＺＭＰは前後左右に揺れ動くが、重心はほぼ一定していることが読み取れる。これは本発明のロボットが、屈伸運動中に前後左右に荷重を掛けることで重心が安定する様に制御されているためである。【０１１８】
図１１は、本発明の実施の形態１に係るロボットの脚上げ運動を模式的に示す外観図である。図１１は、本発明の模擬実験として想定した脚上げ運動を示しており、ロボットは、図１１（ａ）に示す様に自らの右前方に片脚を上げた後、図１１（ｂ）、図１１（ｃ）、そして図１１（ｄ）の順で上げた脚を降ろす動作を繰り返し行う。なお図１１に示した模擬実験において制御に係る各関節の目標値は、夫々の関節の可動範囲内で任意に設定される。【０１１９】
図１２は、本発明の実施の形態１に係るロボットの模擬実験において脚上げ運動中の脚の位置の経時変化を示すグラフである。図１２は、図１１に示す脚上げ運動において、支持脚の足裏を原点として遊脚側の足先のｘ座標ｘF 、ｙ座標ｙF 及びｚ座標ｚF の経時変化を示すグラフである。図１２に示す様に、ロボットは、足先の位置が滑らかな曲線に基づいて移動する様に脚上げ運動を行う。【０１２０】
図１３は、本発明の実施の形態１に係るロボットの模擬実験において脚上げ運動を示す値の経時変化を示すグラフである。図１３（ａ）は、図１１に示す脚上げ運動において、支持脚の足裏を原点としたロボットの重心のｘ座標ｘC 及びｙ座標ｙC の経時変化を示すグラフであり、図１３（ｂ）は、重心のｚ座標ｚC の経時変化を示すグラフであり、図１３（ｃ）は、体幹の前後方向の角度φp 、左右方向の角度φr 及びヨー軸姿勢角度φy の経時変化を示すグラフである。図１３は、図１２に示す脚上げ運動を行った場合の各種値の変化を示しており、本発明のロボットは、脚上げ運動中においても安定した制御を行うことが可能である。【０１２１】
図１４は、本発明の実施の形態１に係るロボットの模擬実験において歩行運動を示す値の経時変化を示すグラフである。図１４（ａ）は、ロボットの重心のｘ座標方向の速度ｄｘC ／ｄｔ、ｙ座標方向の速度ｄｙC ／ｄｔ及びｚ座標方向の速度ｄｚC ／ｄｔの経時変化を示しており、図１４（ｂ）は、ロボットの体幹の前後方向の角度φp 、左右方向の角度φr 及びヨー軸姿勢角度φy の経時変化を示すグラフである。図１４に示すグラフは、重力補償制御を行っている本発明のロボットが歩行中に外力を受けた場合の動作を重心の速度及び体幹の傾きとして示している。ロボットは、実験開始から２秒後に後方へ１５００Ｎの外力を０．１秒間受け、４秒後に前方へ１５００Ｎの外力を０．１秒間受け、５秒後に右方向へ５００Ｎの外力を０．１秒間受け、そして６秒後に５００Ｎの外力を０．１秒間受けている。図１４に示す様にロボットは、外力に対して反発するのではなく、外力に従い転倒することなく歩行運動を継続する。【０１２２】
本発明のロボットは、上述した例に限らず、床作用力から算出されるトルク値に基づいてロボットが備える各関節のアクチュエータを制御する様々な形態に展開することが可能である。例えば前記実施の形態１では、１対、即ち２本の脚部を有するロボットについて説明したが、本発明はこれに限らず、腕部により逆立ち歩行をするロボット、４本、６本等の多数の脚部を有するロボットに適用する等、様々な形態に展開することが可能である。【０１２３】
実施の形態２．
実施の形態２は、本発明のロボットを運動補助装置に適用した形態である。図１５は、本発明の実施の形態２に係るロボットを示す外観図である。図１５中１は、本発明の実施の形態２に係るロボットであり、ロボット１は、人物が装着できる様に構成してあり、図１５では、運動補助装置であるロボット１を装着した人物が、重量物を運搬している状況を示している。ロボット１は、直動型のアクチュエータ２０，２０，…にて駆動される伸縮可能な連結部２，２，…を夫々備える棒状の補助用外骨格により、人物の腕部、胴体部及び脚部の運動を補助している。また人物の背中にはロボット１の電源を含む駆動制御装置３が装着されている。【０１２４】
ロボット１の構成は、図３のブロック図に示される実施の形態１の構成と実質的に同様であり、連結部２，２，…、アクチュエータ２０，２０，…、及び駆動制御装置３、並びに駆動機構及び検出機構を備えている。また駆動制御装置３は、制御手段、記録手段、記憶手段、計測手段、出力手段及び入力手段を備えている。【０１２５】
実施の形態２に係るロボット１の駆動制御装置３による処理は、図７を用いて説明した実施の形態１と実質的に同様であり、図７のステップＳ１に対応する処理として、入力手段は、人物の腕部、胴体部及び脚部における力を検出し、検出した力を目標運動情報の入力として受け付ける。【０１２６】
そしてロボット１の駆動制御装置３は、ステップＳ２に対応する処理として、検出した力に基づく目標運動情報から、実施の形態１にて説明した各種算出方法により、目標ＺＭＰ及び目標作用力を導出し、ステップＳ３に対応する処理として、導出した作用力がノルム最小規範に基づき最適配分される様に各接触部に掛かる力を導出する。図１５に示す例では、本発明のロボット１は、重心ＣｏＭから位置ベクトルｒS1，ｒS2，ｒS3，ｒS4で示される各接触点の方向に配分する床作用力を導出すると共に、重量物を持ち上げるべく位置ベクトルｒF1，ｒF2，ｒF3で示される各仮想接触点の方向に配分する作用力を導出する。【０１２７】
さらにロボット１の駆動制御装置３は、ステップＳ４に対応する処理として、各アクチュエータ２０，２０，…の制御目標値としてトルク値を夫々算出し、ステップＳ５に対応する処理として、算出した各制御目標値を、夫々のアクチュエータ２０，２０，…へ出力する。この様な処理により、運動補助装置として構成されたロボット１を装着した人物は、図１５に示す様に少ない力で重量物を運搬することが可能となる。なお入力手段は、人物の力を検出する機能を有することから、検出機構及び入力手段の機能の一部を共用することも可能である。【０１２８】
ロボット１の駆動制御装置３の制御について更に詳述する。ステップＳ２において、算出する目標ＺＭＰを、重心ＣｏＭを地面に投影した重心投影点となる様に設定し、実施の形態１にて説明した重力補償を行うことにより、ロボット１を装着した人物は、移動等の簡単な運動であれば、特に操作方法を意識することなく容易にロボット１を操作することが可能となる。【０１２９】
そしてロボット１の駆動制御装置３は、目的に応じて様々なモードで制御することが可能である。先ず自動的に水平方向のバランスを維持するバランスモードについて説明する。バランスモードでは、地面と接触する接触部である接触面の重心に、ロボット１の重心投影点がくる様に目標ＺＭＰを設定する。この様な設定に基づいて制御することにより、運動補助装置としてロボット１を装着した人物は、重量物を運搬する場合でもバランスを特に意識することなく、運搬作業を行うことができる。また駆動制御装置３の設定として、重み係数行列、式２３を用いる場合においてフィードバックゲインを示す定数ＫPC及び定数ＫDC、アクチュエータ２０，２０，…に対するＰＩＤ値等の加減速に係るパラメータを適宜調整することにより、目標ＺＭＰに対する追従性を制御し、バランスの強弱を制御することが可能となる。【０１３０】
次に三次元空間内での人物の重心の加減速を補助する移動補助モードについて説明する。移動補助モードでは、検出機構による検出結果に基づいて実際の床反力及びＺＭＰを検出又は算出し、床反力に基づき算出される重心投影点及びＺＭＰの距離を補助すべき加減速のパラメータとして用いる。この様なパラメータを用いた制御を行うことにより、運動補助装置としてロボット１を装着した人物は、例えば直立した状態で、重量物を右から左へ移動させる作業を容易に行うことができる。また駆動制御装置３の設定として、加減速のパラメータを追従性に係る制御目標に乗じることにより、移動補助の強弱を制御することができる。【０１３１】
次に人物の力を制御に用いない自律モードについて説明する。自律モードでは、入力手段が受け付けた目標運動情報及び／又は目標作用力等の設定値に基づいて作動する。自律モードでは、ロボット１を装着した人物は、完全に力を抜くことができ、目標移動速度、移動地点等の目標運動情報の設定のみを行う。以上のバランスモード、移動補助モード及び自律モードは、夫々独立して機能させることができるだけでなく、操作者がモードの強弱に係るパラメータを重みとして、各モードで算出されるトルク値にその重みを掛けたものを重ね合わせることにより、同時に機能させることも可能である。【０１３２】
前記実施の形態２では、人物が装着可能な運動補助具としてロボットを用いる形態を示したが、本発明はこれに限らず、人物以外の生物に装着させる様にしても良い。また運動に係る力を抑制し、細やかな力の制御が必要な作業を補助する様にすることも可能である。【０１３３】
実施の形態３．
実施の形態３は、本発明のロボットを車両に適用した形態である。図１６は、本発明の実施の形態３に係るロボットを示す外観図である。図１６中１は、本発明の実施の形態３に係るロボットであり、ロボット１は、前輪が二輪で後輪が一輪の三輪バギー型の車両として構成されている。前輪及び後輪は全て駆動輪となっており、駆動輪を支持する懸架システムとして直動型のアクチュエータ２０，２０，…にて駆動される伸縮可能な連結部２，２，…を備える棒状体が用いられている。なお駆動制御装置等の他の構成要素は、車体内部に組み込まれている。【０１３４】
ロボット１の構成は、図３のブロック図に示される実施の形態１の構成と実質的に同様であり、連結部２，２，…及びアクチュエータ２０，２０，…、並びに駆動制御装置、駆動機構及び検出機構を備えている。また駆動制御装置は、制御手段、記録手段、記憶手段、計測手段、出力手段及び入力手段を備えている。【０１３５】
実施の形態３に係るロボット１の駆動制御装置による処理は、図７を用いて説明した実施の形態１と実質的に同様であり、図７のステップＳ１に対応する処理として、入力手段は、車両のハンドル等の操舵機構、アクセル等の加速機構及びブレーキ等の制動機構から搭乗者の操作を目標運動情報の入力として受け付ける。【０１３６】
そしてロボット１の駆動制御装置は、ステップＳ２に対応する処理として、受け付けた目標運動情報から、実施の形態１にて説明した各種算出方法により、目標ＺＭＰ及び目標作用力を導出し、ステップＳ３に対応する処理として、導出した作用力がノルム最小規範に基づき最適配分される様に各接触部に掛かる力を導出する。図１６に示す例では、本発明のロボット１は、重心ＣｏＭから位置ベクトルｒS1，ｒS2，ｒS3で示される各接触点の方向に配分する床作用力を導出する。【０１３７】
さらにロボット１の駆動制御装置は、ステップＳ４に対応する処理として、各アクチュエータ２０，２０，…の制御目標値としてトルク値を夫々算出し、ステップＳ５に対応する処理として、算出した各制御目標値を、夫々のアクチュエータ２０，２０，…へ出力する。この様な処理により、三輪バギー等の車両として構成されたロボット１は、走行時の上下動及び操舵に対応する姿勢を定め、加重を分散して路面からの衝撃及び振動を弾力的に吸収し、車体及び搭乗者を安定的に懸架する。【０１３８】
前記実施の形態３では、三輪バギーとしてロボットを用いる形態を示したが、本発明はこれに限らず、車輪の数を変更し、更には一部の車輪又は全部の車輪を、車輪以外の無限軌道、脚状体等の支持及び駆動機構に代替する様に構成しても良い。【０１３９】
実施の形態４．
実施の形態４は、本発明のロボットを可変多面体型の移動装置に適用した形態である。図１７中１は、本発明の実施の形態４に係るロボットであり、ロボット１は、八個の三角形を組み合わせた八面体状をなす外骨格にて構成されている。八面体の各辺は、直動型のアクチュエータ２０，２０，…にて駆動される伸縮可能な連結部２，２，…を備える棒状体にて構成されており、各頂点は、着脱可能な球状関節として構成されている。なお球状関節に回動型のアクチュエータを組み込むことも可能である。駆動制御装置等の他の構成要素は、球状関節及び／又は連結部２，２，…の内部に組み込まれている。【０１４０】
ロボット１は、図１７（ａ）の様に八面体状をなす形態から、図１７（ｂ）に示す様に連結部２を備える任意の棒状体の一端を、球状関節から離脱させて接地することにより、離脱した棒状体が支軸となり、八面体の任意の頂点と共に地面に接触することで、様々な凹凸の地面上での静止を可能とし、更には棒状体の伸縮及び着脱により、移動が可能となる。【０１４１】
ロボット１の構成は、図３のブロック図に示される実施の形態１の構成と実質的に同様であり、連結部２，２，…及びアクチュエータ２０，２０，…、並びに駆動制御装置、駆動機構及び検出機構を備えている。また駆動制御装置は、制御手段、記録手段、記憶手段、計測手段、出力手段及び入力手段を備えている。【０１４２】
実施の形態４に係るロボット１の駆動制御装置による処理は、図７を用いて説明した実施の形態１と実質的に同様であり、図７のステップＳ１に対応する処理として、コントローラから無線通信にて送信された目標運動情報を、入力手段にて受け付ける。【０１４３】
そしてロボット１の駆動制御装置は、ステップＳ２に対応する処理として、受け付けた目標運動情報から、実施の形態１にて説明した各種算出方法により、目標ＺＭＰ及び目標作用力を導出し、ステップＳ３に対応する処理として、導出した作用力がノルム最小規範に基づき最適配分される様に各接触部に掛かる力を導出する。図１７に示す例では、本発明のロボット１は、重心ＣｏＭから位置ベクトルｒS1，ｒS2，ｒS3，ｒS4で示される各接触点の方向に配分する床作用力を導出する。【０１４４】
さらにロボット１の駆動制御装置は、ステップＳ４に対応する処理として、各アクチュエータ２０，２０，…の制御目標値としてトルク値を夫々算出し、ステップＳ５に対応する処理として、算出した各制御目標値を、夫々のアクチュエータ２０，２０，…へ出力する。この様な処理により、可変多面体型の装置として構成されたロボット１は、様々な運動を行う。【０１４５】
前記実施の形態１乃至４は、本発明のロボットの無数に存在する実現形態の中の一部を示したに過ぎず、本発明のロボットは、上述した形態に限らず、様々な形態に展開することが可能である。
【図１】
2007139135.tif 000017
【図２】
2007139135.tif 000018
【図３】
2007139135.tif 000019
【図４】
2007139135.tif 000020
【図５】
2007139135.tif 000021
【図６】
2007139135.tif 000022
【図７】
2007139135.tif 000023
【図８】
2007139135.tif 000024
【図９】
2007139135.tif 000025
【図１０】
2007139135.tif 000026
【図１１】
2007139135.tif 000027
【図１２】
2007139135.tif 000028
【図１３】
2007139135.tif 000029
【図１４】
2007139135.tif 000030
【図１５】
2007139135.tif 000031
【図１６】
2007139135.tif 000032
【図１７】
2007139135.tif 000033
【国際調査報告】
2007139135.tif 000034
2007139135.tif 000035
2007139135.tif 000036
2007139135.tif 000037