(57)【要約】【課題】目標重心位置修正量を高速に計算でき、より安定した制御を実現可能とする。【解決手段】二足歩行ロボットの重心軌道生成方法は、ロボットの全質量がロボットの重心位置に集中すると見立てた１質点モデルにおけるロボットの目標重心位置を算出し、ロボットの実際の形状により近い詳細モデルにおけるロボットの現在の動作を用いて現在のＺＭＰを算出し、算出した１質点モデルに基づく目標重心位置と、算出した現在のＺＭＰとに基づいて、目標重心位置修正量を算出し、算出した目標重心位置修正量を用いて重心位置修正量算出用ＺＭＰの補正量を算出し、当該算出した重心位置修正量算出用ＺＭＰの補正量を用いて、算出した前記現在のＺＭＰを補正し、算出した目標重心位置補正量を用いて１質点モデルに基づく目標重心位置を補正することによって、ロボットの目標重心位置データを生成する、ことを特徴とする。【選択図】図１
2014200862.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの全質量が前記ロボットの重心位置に集中すると見立てた１質点モデルにおける前記ロボットの目標重心位置を算出し、
前記ロボットの実際の形状により近い詳細モデルにおける前記ロボットの現在の動作を用いて現在のＺＭＰを算出し、
前記算出した前記１質点モデルに基づく前記目標重心位置と、前記算出した前記現在のＺＭＰとに基づいて、目標重心位置修正量を算出し、
前記算出した前記目標重心位置修正量を用いて重心位置修正量算出用ＺＭＰの補正量を算出し、当該算出した前記重心位置修正量算出用ＺＭＰの補正量を用いて、前記算出した前記現在のＺＭＰを補正し、
前記算出した前記目標重心位置修正量を用いて前記１質点モデルに基づく前記目標重心位置を補正することによって、前記ロボットの目標重心位置データを生成する、
ことを特徴とする二足歩行ロボットの重心軌道生成方法。
【請求項２】
前記目標重心位置修正量の算出は、
前記算出した前記現在のＺＭＰを用いて、所定の処理の逆変換処理を実行し、当該逆変換処理による結果と、前記算出した前記１質点モデルに基づく前記目標重心位置との差を求めることによって、前記目標重心位置修正量を算出する、
ことを特徴とする請求項１に記載の二足歩行ロボットの重心軌道生成方法。
【請求項３】
前記重心位置修正量算出用ＺＭＰの補正量の算出は、
前記算出した前記目標重心位置修正量に所定の係数を乗じることによって、前記重心位置修正量算出用ＺＭＰの補正量を算出する、
ことを特徴とする請求項１または２に記載の二足歩行ロボットの重心軌道生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は二足歩行ロボットの重心位置生成方法に関する。
【背景技術】
【０００２】
二足歩行ロボットの歩行軌道生成手法に関し、例えば特許文献１には、目標重心軌道の生成に関する技術が提案されている。特許文献１に開示される技術では、ロボットをシンプルな１質点モデルとして見たててＺＭＰ（ゼロモーメントポイント）軌道を予め算出しておく。そして、ロボットの詳細モデルにおいて将来予測される動作に関して重心軌道の修正量を計算して、その算出した修正量を用いて重心軌道を修正する。ここで、１質点モデルとは、ロボットの全質量がその重心位置に集中すると見立てたモデルであり、単質点モデルとも称される。また、詳細モデルとは、ロボットの実際の形状により近いモデルであり、ロボットの脚や上半身などの関節やリンクに対して質点を配置した多質点モデルである。詳細モデルを用いることで、ロボットの脚や上半身などの動作をも考慮に入れた重心軌道の生成を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８３４６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、詳細モデルを用いて将来における動作に関するＺＭＰ修正量を計算するためには、データ量が多く計算時間を要する。このため、不整地の歩行においてロボット姿勢が不安定になった場合には、姿勢回復のための軌道を直ぐに生成することができず、転倒の可能性が高くなるという問題がある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、目標重心位置修正量を高速に計算することができ、より安定した制御を実現可能な二足歩行ロボットの重心位置生成方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
一実施の形態に係る二足歩行ロボットの重心位置生成方法は、ロボットの全質量が前記ロボットの重心位置に集中すると見立てた１質点モデルにおける前記ロボットの目標重心位置を算出し、前記ロボットの実際の形状により近い詳細モデルにおける前記ロボットの現在の動作を用いて現在のＺＭＰを算出し、前記算出した前記１質点モデルに基づく前記目標重心位置と、前記算出した前記現在のＺＭＰとに基づいて、目標重心位置修正量を算出し、前記算出した前記目標重心位置修正量を用いて重心位置修正量算出用ＺＭＰの補正量を算出し、当該算出した前記重心位置修正量算出用ＺＭＰの補正量を用いて、前記算出した前記現在のＺＭＰを補正し、前記算出した前記目標重心位置修正量を用いて前記１質点モデルに基づく前記目標重心位置を補正することによって、前記ロボットの目標重心位置データを生成する、ことを特徴とするものである。
【０００７】
これによって、１質点モデルから求めた目標重心位置を修正する際に、詳細モデルにおける将来のＺＭＰを算出することなく、詳細モデルにおける現在のＺＭＰに基づいて目標重心軌道を修正することができる。このため、少ない計算量で高速に目標重心位置修正量を算出することができる。そして、このような目標重心位置修正量を用いて目標重心位置を修正することで、１質点モデルにおいて元々目標とした目標ＺＭＰ軌道に対してＺＭＰ軌道を近づけるための目標重心位置データを高速に生成することができる。この結果、歩行制御において、目標ＺＭＰ軌道へと追従させるための制御パラメータである目標重心位置データをより高速に生成することが可能となり、より安定した制御を実現することができる。
【０００８】
また、前記目標重心位置修正量の算出は、前記算出した前記現在のＺＭＰを用いて、所定の処理の逆変換処理を実行し、当該逆変換処理による結果と、前記算出した前記１質点モデルに基づく前記目標重心位置との差を求めることによって、前記目標重心位置修正量を算出する、ようにしてもよい。
【０００９】
さらにまた、前記重心位置修正量算出用ＺＭＰの補正量の算出は、前記算出した前記目標重心位置修正量に所定の係数を乗じることによって、前記重心位置修正量算出用ＺＭＰの補正量を算出する、ようにしてもよい。
【発明の効果】
【００１０】
本発明によれば、目標重心位置修正量を高速に計算することができ、より安定した制御を実現可能な二足歩行ロボットの重心位置生成方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る重心位置生成器を示す機能ブロック図である。
【図２】実施の形態１に係る重心位置生成器の詳細な機能ブロック図である。
【図３】実施の形態１に係る効果を説明するための図である。
【図４】実施の形態１に係る効果を説明するための図である。
【図５】実施の形態１に係る効果を説明するための図である。
【図６】実施の形態１に係る重心位置生成処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
【００１３】
＜実施の形態１．＞
図１は、本実施の形態に係る重心位置生成器１００の機能ブロックの構成図を示している。重心位置生成器１００は、１質点モデルから求めた目標重心位置を修正し、目標重心位置の時系列データから構成される目標重心軌道を生成する。重心位置生成器１００は、処理部１０、２０、３０を備え、以下の（１）〜（５）に示す特徴的な処理を実行することができる。
【００１４】
（１）重心位置生成器１００は、「１質点モデルから求めた目標重心位置（COM:Center Of Mass）」と「詳細モデルの計算したＺＭＰ（現在値）」を用いて、「目標重心位置修正量（重心軌道の修正量）」を算出する。この処理は、「１質点モデルから求めた目標重心位置（COM）」と、処理部１０において計算された「詳細モデルのＺＭＰ（現在値）」と、が処理部２０に入力され、処理部２０が、これら入力データに基づいて「目標重心位置修正量（重心軌道の修正量）」を算出する処理に相当する。
【００１５】
（２）重心位置生成器１００は、上記（１）の特徴的な処理に関して、「１質点モデルから求めた目標重心位置（COM）」から、処理部２０において算出した「目標重心位置修正量（重心軌道の修正量）」を減算する。その上で、処理部２０が、その減算した後の「１質点モデルから求めた目標重心位置」を用いて「目標重心位置修正量（重心軌道の修正量）」を算出する。
【００１６】
（３）重心位置生成器１００は、上記（２）の特徴的な処理に関して、処理部３０が、処理部２０において算出した「目標重心位置修正量（重心軌道の修正量）」を用いて「重心位置修正量算出用ＺＭＰの補正量」を算出する。この算出した「重心位置修正量算出用ＺＭＰの補正量」を用いて、処理部１０において計算された「詳細モデルのＺＭＰ（現在値）」を補正する。
【００１７】
（４）重心位置生成器１００は、上記（１）〜（３）の特徴的な処理に関して、処理部２０による「目標重心位置修正量（重心軌道の修正量）」の算出処理について、処理部２０が、処理部１０において計算された「詳細モデルのＺＭＰ（現在値）」を用いて、「１質点モデルにおける重心位置をＺＭＰへ変換する」という処理の逆変換処理を実行し、当該逆変換処理による結果と、「１質点モデルから求めた目標重心位置」との差を求めることによって、「目標重心位置修正量」を算出する。
【００１８】
（５）重心位置生成器１００は、上記（３）の特徴的な処理に関して、処理部３０による「重心位置修正量算出用ＺＭＰの補正量」の算出処理について、処理部３０が、「目標重心位置修正量（重心軌道の修正量）」に所定の係数Ｋを乗じることによって、「重心位置修正量算出用ＺＭＰの補正量」を算出する。
【００１９】
以下、図２を参照して、処理部２０による「目標重心位置修正量（重心軌道の修正量）」の算出処理をより詳細に説明する。
処理部２０における「目標重心位置修正量（重心軌道の修正量）」の算出処理に関しては、上記特徴（４）に説明したように、処理部２０が、処理部１０において計算された「詳細モデルのＺＭＰ（現在値）」を用いて、「１質点モデルにおける重心位置をＺＭＰへ変換する」という処理の逆変換処理を実行し、当該逆変換処理による結果と、「１質点モデルから求めた目標重心位置」との差を求めることによって、「目標重心位置修正量」を算出する。ここでの「１質点モデルにおける重心位置をＺＭＰへ変換する」という処理の逆変換処理は、以下に示す式に基づいて変換を行うことができる。なお、式（１）において、ｐはＺＭＰを示し、ｘは重心位置を示し、ｇは重力加速度を示し、ｚｃは重心の高さ位置を示す。
【数１】
2014200862.tif 000003
【００２０】
式（１）により、重心の位置および加速度を決定した場合におけるＺＭＰを算出することができる。そして、式（１）をラプラス変換することによって、式（２）を得ることができる。
【数２】
2014200862.tif 000004
【００２１】
さらに、式（２）を変換することによって、式（３）を得ることができる。
【数３】
2014200862.tif 000005
【００２２】
式（３）により、ＺＭＰが所定の位置に位置する場合の重心位置を算出することができる。これにより、詳細モデルに基づいて算出されたＺＭＰを式（３）に代入することによって、そのために必要な重心位置を算出することができる。この算出した重心位置と、「１質点モデルから求めた目標重心位置」との差を取ることによって、「１質点モデルから求めた目標重心位置」の修正量（即ち、目標重心位置修正量）を算出することができる。
【００２３】
一方で、式（１）から分かるように、ＺＭＰは重心位置および加速度により決定されるために、ＺＭＰを満たす重心軌道を一意に決定することはできない。即ち、（３）は一つの解を求めていたにすぎない。また、ＺＭＰを満たした場合であっても、重心が大きく離れて発散してしまう（即ち、目標重心位置修正量が発散する。）可能性がある。本実施の形態では、目標重心位置修正量を発散させない機能を追加することによって、これを防止することができる。
【００２４】
具体的には、「詳細モデルのＺＭＰ（現在値）」を修正することによって、発散を防止する。本実施の形態では、図２に示したように、「目標重心位置修正量」に対して所定の係数Ｋを乗じることによって、これを算出する。この手法によれば、複雑である発散の防止を、最も簡単に実現することができる。
【００２５】
なお、本実施の形態に係る二足歩行ロボットは、関節角を制御するアクチュエータと、関節角を検出するエンコーダと、を脚の各関節に内蔵している。また、ロボットは、上述した重心位置生成器１００を含む制御コントローラを備えている。制御コントローラは、入力されるユーザー指令に基づいて各関節を制御する。すなわち、制御コントローラは、ユーザー指令に基づいて得られる各関節の目標角度に追従するように、アクチュエータを制御する。
【００２６】
なお、制御コントローラは、主要なハードウェア構成として、制御処理、演算処理等と行うＣＰＵ（Central Processing Unit）と、ＣＰＵによって実行される制御プログラムと、演算プログラム等が記憶されたＲＯＭ（Read Only Memory）と、処理データ等を一時的に記憶するＲＡＭ（Random Access Memory）と、を有するマイクロコンピュータを用いて構成されている。また、これらＣＰＵ、ＲＯＭ、及びＲＡＭは、データバスによって相互に接続されている。
【００２７】
次に、図６を参照して、本実施の形態に係る重心位置生成処理を説明する。
Ｓ１０１：制御コントローラは、ロボットの各足の着地位置を決定し、決定した各足の着地領域内に目標ＺＭＰ軌道を生成する。
Ｓ１０２：重心位置生成器１００は、目標ＺＭＰ軌道を生成するための、目標重心軌道を生成する。
Ｓ１０３：制御コントローラは、生成した目標重心軌道に追従するように、各関節を駆動する。
【００２８】
以下、Ｓ１０２における処理を具体的に説明する。
Ｓ２０１：重心位置生成器１００は、１質点モデルを用いて、Ｓ１０１において生成した目標ＺＭＰ軌道を実現するための、目標重心軌道を生成する。
Ｓ２０２：重心位置生成器１００は、詳細モデルにおけるロボットの現在の動作を用いて現在のＺＭＰを算出し、算出した現在のＺＭＰを所定の変換処理に従ってロボットの重心位置に変換する。そして、Ｓ２０１において生成した１質点モデルに基づく目標重心軌道と、変換した現在のＺＭＰに基づく重心位置と、を用いて目標重心位置修正量を算出する。そして、算出した重心位置修正量を用いて、Ｓ２０１において生成した１質点モデルに基づく目標重心位置を補正する。これによって、ロボットの目標重心位置データを生成する。
【００２９】
次に、図３〜５を参照して、本実施の形態による効果を説明する。
まず、図３を参照して、１質点モデルを用いて算出される、目標ＺＭＰとその目標ＺＭＰを満たす重心軌道の例を説明する。図において、横軸は時間を示し、縦軸は水平方向における距離（ｍ）を示す。図３に示す例では、５ｓｅｃにおいて、目標ＺＭＰがステップ状に０．１ｍ変化している。
【００３０】
例えば、遊脚の移動や上半身の動作などに起因して、詳細モデルのＺＭＰが変化する場合を想定する。図４において、ＺＭＰに換算して０．０１ｍの外乱を加えた場合を想定する。本実施の形態に示す手法を適用せず、また、従来手法も適用しない場合、外乱の影響がそのままＺＭＰ軌道に現れてしまう（図４において示すＺＭＰ軌道）。しかし、本来であれば、元々の目標ＺＭＰ軌道に一致させる必要がある。そこで、本実施の形態に示した手法を適用することによって目標重心軌道を修正する。
【００３１】
図５は、本実施の形態に示した手法を適用し、目標重心軌道を修正した場合の軌道を示す。同図に示すように、目標重心軌道を修正することによって、詳細モデルを考慮したＺＭＰ軌道（ＺＭＰ軌道）が、元々の１質点モデルのＺＭＰ目標軌道（目標ＺＭＰ軌道）に近づいていることが分かる。
【００３２】
以上に説明したように、本実施の形態に示した手法によれば、１質点モデルから求めた目標重心位置を修正する際に、詳細モデルにおける将来のＺＭＰを算出することなく、詳細モデルにおける現在のＺＭＰに基づいて目標重心軌道を修正する。これによって、少ない計算量で高速に目標重心位置修正量を算出することができる。そして、このような目標重心位置修正量を用いて目標重心位置を修正することで、１質点モデルにおいて元々目標とした目標ＺＭＰ軌道に対してＺＭＰ軌道を近づけるための目標重心位置データを、より高速に生成することができる。この結果、歩行制御において、目標ＺＭＰ軌道へと追従するための制御パラメータである目標重心位置データをより高速に生成することが可能となり、より安定した制御を実現することができる。
【００３３】
本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００３４】
１０、２０、３０  処理部、
１００  重心位置生成器
【図１】
2014200862.tif 000006
【図２】
2014200862.tif 000007
【図３】
2014200862.tif 000008
【図４】
2014200862.tif 000009
【図５】
2014200862.tif 000010
【図６】
2014200862.tif 000011