JP6015474B2 - 脚式ロボットの制御方法および脚式ロボット - Google Patents

脚式ロボットの制御方法および脚式ロボット Download PDF

Info

Publication number
JP6015474B2
JP6015474B2 JP2013020247A JP2013020247A JP6015474B2 JP 6015474 B2 JP6015474 B2 JP 6015474B2 JP 2013020247 A JP2013020247 A JP 2013020247A JP 2013020247 A JP2013020247 A JP 2013020247A JP 6015474 B2 JP6015474 B2 JP 6015474B2
Authority
JP
Japan
Prior art keywords
correction amount
landing position
target zmp
position correction
free leg
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013020247A
Other languages
English (en)
Other versions
JP2014151370A (ja
Inventor
将弘 土井
将弘 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2013020247A priority Critical patent/JP6015474B2/ja
Publication of JP2014151370A publication Critical patent/JP2014151370A/ja
Application granted granted Critical
Publication of JP6015474B2 publication Critical patent/JP6015474B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は脚式ロボットの制御方法および脚式ロボットに関する。
床反力中心点であるZMP(ゼロモーメントポイント)に関して、目標ZMP軌道に追従して歩行する脚式ロボットが提案されている。従来、このような脚式ロボットの制御方法では、外乱や目標位置の修正などに起因して目標ZMP軌道への追従が不可能となった場合には、着地位置を修正して安定性を確保することが行われている(例えば特許文献1や特許文献2を参照。)。
特許第3269852号公報 特開2009−107030号公報
しかしながら、従来技術に係る脚式ロボットの制御方法では、着地位置を修正することにより安定性を保つことができるが、目標ZMPへの追従性が悪くなってしまうという問題があった。すなわち、目標ZMPへの追従性の悪化によって、元々計画していた着地位置から大きく離れてしまい、ユーザーが与えた目標の着地予定位置と異なってしまう。
本発明は、このような問題を解決するためになされたものであり、高い安定性と目標ZMPへの追従性を両立することができる脚式ロボットの制御方法および脚式ロボットを提供することを目的とするものである。
一実施の形態に係る脚式ロボットの制御方法は、目標ZMP軌道に追従して歩行する脚式ロボットの制御方法であって、モデル予測制御における最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、遊脚着地までの残り時間に応じて前記着地位置修正量の重みを変化させ、前記モデル予測制御を実行して、前記目標ZMP修正量と前記着地位置修正量の最適解を算出する、ものである。これにより、高い安定性と目標ZMPへの追従性を両立することができる。
また、前記遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを線形に小さくするものとしてもよい。これによって、着地位置を修正できる時間的な余裕がある間に、必要な分だけ早めに着地位置を修正することができ、より安定性を高めることができる。
また、前記遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを線形に大きくするものとしてもよい。これによって、着地位置を修正できる時間的な余裕がある間に、必要な分だけ早めに着地位置を修正することができ、より安定性を高めることができる。
また、前記脚式ロボットが、2脚歩行ロボットであるようにしてもよい。
他の一実施の形態に係る脚式ロボットは、目標ZMP軌道に追従して歩行する脚式ロボットであって、モデル予測制御における最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、遊脚着地までの残り時間に応じて前記着地位置修正量の重みを小さくし、前記モデル予測制御を実行して、前記目標ZMP修正量と前記着地位置修正量の最適解を算出する、ものである。これにより、高い安定性と目標ZMPへの追従性を両立することができる。
他の一実施の形態に係る脚式ロボットは、目標ZMP軌道に追従して歩行する脚式ロボットであって、モデル予測制御における最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、遊脚着地までの残り時間に応じて前記着地位置修正量の重みを大きくし、前記モデル予測制御を実行して、前記目標ZMP修正量と前記着地位置修正量の最適解を算出する、ものである。これにより、高い安定性と目標ZMPへの追従性を両立することができる。
本発明が解決しようとする課題を説明するための図である。 本発明に関する歩行軌道生成の流れを説明するための図である。 本発明に関する歩行軌道生成の流れを説明するためのフローチャートである。 本発明に関する脚制御のプロセスを説明するための図である。 本発明に関する重心軌道生成コントローラの入出力を示す図である。 実施の形態1に係るモデル予測制御に関する重心モデルおよび高さ拘束を説明するための図である。 実施の形態1に係るモデル予測制御に関する各サンプリング点における入出力および状態変数を説明するための図である。 実施の形態1に係るモデル予測制御に関するReceding Horizon制御の考え方を説明するための図である。 実施の形態1に係るZMP制約範囲を説明するための図である。 実施の形態1に係る着地位置の修正を説明するための図である。 実施の形態1に係る目標ZMP修正パターンを示すグラフである。 実施の形態1に係る着地位置修正による目標ZMP軌道の修正を示すグラフである。 実施の形態1に係る修正後の目標ZMP軌道を説明するための図である。 実施の形態1に係る残り着地時間の違いに応じた着地位置修正手法を説明するための図である。 実施の形態1に係る残り着地時間の違いに応じた着地位置修正手法を説明するための図である。 実施の形態1に係るZMP軌道と重心軌道(外乱なし)の関係を示すグラフである。 実施の形態1に係る重心位置・速度・加速度(着地位置修正なし、外乱あり)の関係を示すグラフである。 実施の形態1に係る重心位置・速度・加速度(着地位置修正あり、外乱あり)の関係を示すグラフである。 実施の形態1に係るxy方向の重心およびZMP(外乱なし)の関係を示すグラフである。 実施の形態1に係るxy方向の重心速度・加速度(外乱なし)の関係を示すグラフである。 実施の形態1に係るxy方向の重心およびZMP(外乱あり)の関係を示すグラフである。 実施の形態1に係るxy方向の重心速度・加速度(外乱あり)の関係を示すグラフである。 実施の形態1に係る初期化処理を示すフローチャートである。 実施の形態1に係る周期実行処理を示すフローチャートである。 実施の形態1に係る離散化された目標ZMP修正パターンを説明するための図である。 実施の形態1に係る目標ZMP修正パターンを用いた目標ZMP軌道の修正手法を説明するための図である。 実施の形態1に係る目標ZMP修正パターンを用いた目標ZMP軌道の修正手法を説明するための図である。 実施の形態1に係る目標ZMP修正パターンを用いた目標ZMP軌道の修正手法を説明するための図である。 実施の形態1に係る評価関数の各部分の役割を説明するための図である。
まず、図1を参照して、本発明が解決しようとする問題を簡単に説明する。図1は、本発明に係る脚式ロボットの一例としての2脚歩行ロボット10の模式的な構成例を示している。以下では、2脚歩行ロボット10を単にロボット10と称する。
ロボット10は、関節角を制御するアクチュエータと、関節角を検出するエンコーダと、が脚の各関節に内蔵されている。また、ロボット10は、制御コントローラ20を備えている。制御コントローラ20が、歩容データに基づいて脚の各関節を制御する。すなわち、制御コントローラ20は、歩容データから得られる各関節の目標角度に追従するように、アクチュエータを制御する。より具体的には、制御コントローラ20は、歩容データ(足先の目標軌道と重心の目標軌道)を用いて各関節の目標角の時系列データを算出し、算出した目標角に追従するように、各関節を制御する。歩容データを用いて関節目標角を生成する手法については、従来から知られている手法を用いればよいため、ここではその詳細な説明を省略する。
なお、制御コントローラ20は、主要なハードウェア構成として、制御処理、演算処理等と行うCPU(Central Processing Unit)と、CPUによって実行される制御プログラムと、演算プログラム等が記憶されたROM(Read Only Memory)と、処理データ等を一時的に記憶するRAM(Random Access Memory)と、を有するマイクロコンピュータを用いて構成されている。また、これらCPU、ROM、及びRAMは、データバスによって相互に接続されている。
図1において、ロボット10に対して外力が印加された状況を想定する。この状況において、ロボット10は、(i)「どれ位まで、支持脚(図1においてロボット10の右脚)により踏ん張るのか?」、および、(ii)「どれ位まで、遊脚(図1においてロボット10の左脚)の着地位置を修正して対応するのか?」を決定する必要がある。
上記(i)に関して、支持脚における目標ZMPからZMPが乖離する程度をできる限り小さくしようと制御した場合にはロボット10が転倒する可能性があり、このために、上記(ii)の遊脚の着地位置を大きく修正する必要がある。一方で、上記(i)に関してZMPが乖離する程度を大きくするように制御できれば、ロボット10は支持脚により踏ん張って外乱を抑えることになり、この結果、上記(ii)の着地位置をそれほど大きく修正せずに済む。
しかし、上記(i)に関してZMPが乖離する程度を大きくするよう制御した場合には、ロボット10は足裏の範囲内においてしか踏ん張ることができないため、ロボット10が踏ん張れる余裕は小さくなる。このため、できる限り安定余裕を確保するためには、目標ZMPからZMPが乖離する程度を小さく抑制したい。一方で、上記(ii)の遊脚の着地位置を大きく修正するよう制御した場合、元々計画していた着地位置から大きく離れてしまう。着地予定位置はユーザーが与えた目標であるため、着地位置修正量はできる限り小さく抑制したい。本発明は、このようなトレードオフを最適化しようとする技術を提供する。
次に、本発明の理解を容易とするために、詳細な実施の形態の説明に入る前に、歩行軌道生成処理全体における本発明の位置付けを簡単に説明する。以下、図2および図3を参照しながら、歩行軌道生成処理の流れを説明する。
まず、図2の1番目(図の最上部)に示すように、足位置(指令Foot Print)や歩行周期をユーザーがロボット10に対して指令する。これは、図3において、指令値(指令Foot Print・歩行周期)の設定に対応する(S101)。次に、図2の2番目に示すように、ロボット10の制御コントローラ20は、指令足位置を繋ぐように目標ZMP軌道を生成する。これは、図3において、目標ZMP軌道の生成に対応する(S201)。次に、図2の3番目に示すように、制御コントローラ20は、指令足位置により構成される支持多角形からZMP制約条件を計算する。これは、図3において、制約条件の設定に対応する(S202)。
次に、図2の4番目に示すように、制御コントローラ20は、ZMP方程式を解いて重心軌道を生成する。これは、図3において、ZMP方程式の求解に対応する(S203)。本発明に係る技術は、この処理における重心軌道生成・着地位置修正に関する技術である。
次に、図2の5番目に示すように、制御コントローラ20は、着地位置を繋ぐように足先軌道を生成する。これは、図3において、足先軌道の生成に対応する(S204)。次に、図2の6番目に示すように、制御コントローラ20は、多質点モデルを用いて重心位置から腰位置への変換を行う。これは、図3において、重心収束計算に対応する(S205)。次に、図2の7番目に示すように、制御コントローラ20は、ロボット10に搭載された各種センサ情報を用いて足・腰位置を修正する。これは、図3において、ローカルFB(フィードバック)に対応する(S206)。次に、図2の8番目に示すように、制御コントローラ20は、IK(逆運動学)を解いて関節角を決定する。これは、図3において、逆運動学に対応する(S207)。
次いで、図4を参照して、本発明に関する脚制御のプロセスを簡単に説明する。脚制御のプロセスは、図4に示すPDCAサイクルを回すようにして実行する。まず、Pにおいて、制御コントローラ20は、将来の安定性を考慮した軌道生成を行う。次いで、Dにおいて、制御コントローラ20は、生成した軌道を実現するような床反力を発生させる。次いで、Cにおいて、制御コントローラ20は、ロボット実機とモデル挙動のズレを推定する。次いで、Aにおいて、制御コントローラ20は、モデルをロボット実機に一致させる。再びPに戻り、制御コントローラ20は、PDCAサイクルを繰り返す。
制御コントローラ20は、重心軌道生成処理を実行する重心軌道生成コントローラを含んでいる。重心軌道生成コントローラは、例えば、20〜30[ms]の周期に従って軌道生成計算を周期的に実行する。重心軌道生成コントローラの役割は、目標ZMP軌道や目標着地位置に基づいてZMPおよび遊脚着地位置を操作し、これによって安定な重心軌道を生成することである。重心軌道生成コントローラは、現在の重心を始端として、位置・速度・加速度が連続となる重心軌道を生成する。
図5を参照して、重心軌道生成コントローラの入出力を説明する。図に示すように、目標ZMP軌道、目標遊脚着地位置、および現在の重心位置・速度・加速度が重心軌道生成コントローラに入力される。重心軌道生成コントローラは、入力されたこれらのデータに基づいて重心軌道生成処理を行い、ZMP位置、重心軌道、および遊脚着地位置を出力する。
次に、本発明の概要を簡単に説明する。
上述したように、ロボット10は目標ZMP軌道に追従するように各関節を駆動することによって安定な歩行を実現することができる。ロボット10の制御系には、目標ZMP軌道に追従する重心軌道を出力する機能が要求される一方で、ロボット10に大きな外乱が印加された場合などには、目標ZMPに追従しているだけではロボット10が転倒してしまうために、着地位置を修正(すなわち、目標ZMP軌道を修正)することにより安定性を確保する機能も必要とされる。
しかしながら、「目標ZMP軌道への追従性を高めること(すなわち、目標ZMPからのZMPの乖離を抑制すること)」と「着地位置修正量を抑制すること(すなわち、目標ZMP軌道の修正量を抑制すること)」はトレードオフの関係にあり、従来技術では、このトレードオフに着眼した発明はあまりなされていない。
本発明は、このトレードオフ関係にある両者の重み付き和を最小化するようにモデル予測制御を構築し、着地までの残り時間に応じて連続的に重みを変化させることによって、高い安定性とZMP追従性を両立することができる新しい制御手法を提供する。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
<実施の形態1.>
本実施の形態の説明においては、発明の理解を容易にするため、まず始めに、着地位置修正を含まないモデル予測制御型重心軌道生成を簡単に説明する。その後、着地位置修正を含めた定式化への拡張を行い、目標ZMPへの追従と着地位置修正のトレードオフを最適化するモデル予測制御手法を構築する。
1:モデル予測制御型重心軌道生成法について
以下、ロボット10の重心位置をx、y、zと定義する。
ロボット歩行制御の分野においてよく知られた線形倒立振子モデルでは、図6に示すように重心高さを一定にすることによって(すなわち、zを一定値hと設定する。)、式(1)に示す線形式を用いてZMP方程式を記述することができる。なお、以下の式において、変数の上部に配置される"・"は変数の一階微分を示し、"・・"は変数の二階微分を示す。
Figure 0006015474
システムへの入力をu(t)=x(・・・) (xの三階微分)とし、システムからの出力をp(t)=xzmpと定義した場合、線形の連続システムを用いて式(1)を記述することにより、以下の式(2)を得る。
Figure 0006015474
次いで、式(2)をΔt(離散時間間隔)により離散化する。この離散化の様子を、図7に示す。これによって、式(2)を以下の式(3)に示す離散システムとして表すことができる。なお、式(2)では、現在時点のタイミングを、kサンプル目としている。
Figure 0006015474
本実施の形態に係るモデル予測制御は、Receding Horizon Controlとも呼ばれる。図8に、このReceding Horizon Controlの考え方を示す。図8に示すように、まず、現在時点において、NΔt未来までの期間のモデル挙動を予測して最適化計算を行い、現在の入力値uを決定する。Δt秒経過後にはまた同様の計算を行い、Δt秒後時点における入力値を決定する。Receding Horizon Controlとは、このような計算過程を一定周期毎に実行することにより、結果として、最適な軌道を計算する手法である。
NΔt未来までの期間の予測に関しては、以下の式(4)に示すように、離散システムを未来に向かって積算していくことにより得ることができる。
Figure 0006015474
式(4)において、u ,u k+1,u k+2,...,u k+Nは、現在から未来までの各サンプリング点における入力値を示し、x,xk+1,xk+2,...,xk+Nは、現在から未来までの各サンプリング点における状態変数値を示す。また、同様に、p ,p k+1,p k+2,...,p k+Nは、現在から未来までの各サンプリング点における出力値を示す。これらの変数を図7に示している。なお、式(4)においては、現在時点がちょうどkサンプル目であるとする。
これらの入力値・出力値列を、以下の式(5)に示すように定義する。
Figure 0006015474
式(3)、(4)、(5)を用いて未来の出力値列を計算すると、以下の式(6)を得る。
Figure 0006015474
ここで、NΔt未来までの目標ZMP列をv k+1のハットとし、以下の式(7)により定める。なお、目標ZMP軌道(p k+1のハットの列)は、予め適切な値が設定されるものとする。
Figure 0006015474
モデル予測制御型軌道生成法では、最適化の評価関数は、以下の式(8)に示すように、予測区間内における目標ZMPとZMPの誤差の2乗と、入力値の2乗とを足し合わせた値を最小化する形により与えられる。
Figure 0006015474
これはモデル予測制御の一般的な評価関数の与え方である。本例で言うと、第1項は、ZMPを目標ZMPに近づける役割を担い、第2項は、入力値が過剰に働くことを抑止する(すなわち、重心が発散することを抑制する)役割を担っているものと考えられる。
式(8)におけるQ、Rは、上記2項をバランスするための重み行列である。重み行列Q、Rを以下の式(9)に示す。この重み行列Q、Rの各重み値は、制御対象に応じて予め適切な値が設定される。
Figure 0006015474
式(6)を式(8)に示した評価関数に代入することによって、以下の式(10)を得る。
Figure 0006015474
ただし、式(10)における行列H 、ベクトルf を、以下の式(11)に示す。
Figure 0006015474
上式より、式(8)に示した評価関数を定式化し、以下の式(12)として示す。
Figure 0006015474
上述した式展開は、y方向にいても同様に成り立つ。このため、y方向の評価関数を以下の式(13)に示す。
Figure 0006015474
式(13)におけるベクトルu、行列H、ベクトルfを以下の式(14)に示すように定める。
Figure 0006015474
式(12)および式(13)をまとめると、以下の式(15)に示す評価関数を得る。
Figure 0006015474
次に、評価関数に対する制約条件を説明する。脚軌道生成では、足裏の範囲内(より正確には、足裏外縁から一定のマージンを設けて設定される多角形内)にZMPが留まるような軌道を生成する。これにより、安定な歩行を実現できる。本実施の形態では、目標ZMPを中心とする足裏範囲内にZMPが収まるようにZMP制約範囲を設定する。本実施の形態に係るZMP制約範囲の一例を図9に示す。ZMP制約範囲は凸多角形により示される。このため、「制約範囲内にZMPが留まる」との条件は、任意のベクトルλ、λ、dを用いて、以下の式(16)により示すことができる。なお、これらのベクトルλ、λ、dの値は、予め適切な値が設定されるものとする。
Figure 0006015474
従って、未来の各サンプリング点k+j(j=1,・・・,N)において上述した式(16)に示したZMP制約を仮定することにより、以下の式(17)を得る。
Figure 0006015474
ただし、式(17)におけるベクトルηおよび行列Γを、以下の式(18)により示す。
Figure 0006015474
式(17)に式(6)を代入することにより、以下の式(19)に示す線形不等式を導くことができる。式(19)は、ZMPを支持多角形内に留めるという条件が、入力値列ベクトルuに関する線形不等式を用いて最終的に記述できることを示している。
Figure 0006015474
ただし、式(19)における行列Pおよびベクトルqを、以下の式(20)に示すように定める。
Figure 0006015474
以上をまとめると、式(15)および式(19)より、最適化問題を以下の式(21)に示す凸二次計画問題として定式化することができる。この凸二次計画問題は、高速かつ安定に求解することが可能である。モデル予測制御は、現在状態を入力して最適化問題を求解するまでのこの計算プロセスを、時間を進めながら毎周期実行し、入力値を決定していくものである。
Figure 0006015474
2:着地位置修正を含んだモデル予測制御型重心軌道生成法への拡張について
次に、モデル予測制御型重心軌道生成を、着地位置修正を含めた定式化へと拡張する。上記1に説明したモデル予測制御型重心軌道生成は、例えば、ICHR2006("Trajectory Free Linear Model Predictive Control for Stable Walking in the Presence of Strong Perturbations",Pierre-Brice Wieber,IEEE-RAS International Conference on Humanoid Robots,pp. 137 - 142 (2006))においても提案されており、これ自体は公知技術である。本実施の形態では、このモデル予測制御型重心軌道生成法を、目標ZMPへの追従誤差と着地位置修正量との重み付き和を最小化するものへと拡張し、着地までの残り時間に応じてこの重みを連続的に変化させる。これによって、最適な着地位置修正量および重心軌道を生成する新たな手法を提供する。
まず、着地位置修正量について説明する。本実施の形態では、未来の予測区間内に、最大で2歩分の着地位置が入っている場合を想定する(図11を参照)。そして、x方向におけるこの未来の2歩分のそれぞれの着地位置修正量を、Δxf1、Δxf2とする(図10を参照)。すなわち、Δxf1は、遊脚の1歩目の着地位置を修正する着地位置修正量であり、Δxf2は、遊脚の2歩目の着地位置を修正する着地位置修正量である。なお、y方向の説明はx方向の説明と基本的に同一であるため、以下、x方向について説明する。
次に、目標ZMP修正量について説明する。目標ZMP修正量は、所定の目標ZMP修正パターンを用いて、遊脚の着地位置修正量を反映させることによって求める。所定の目標ZMP修正パターンは、遊脚が着地してからその遊脚と異なる他の脚(支持脚)が離地するまでの間における目標ZMP軌道のうちの対応する部分を修正するための所定のパターンである。
本実施の形態では、図11に例示する目標ZMP軌道修正パターンを設定する。図11に例示する目標ZMP軌道修正パターンは、1歩目の目標ZMP修正パターンと、2歩目の目標ZMP修正パターンを含んでいる。1歩目の目標ZMP修正パターンは、遊脚の1歩目が着地してからその遊脚と異なる他の脚が離地するまでの間(図11において時刻tからtの間)における目標ZMP軌道のうちの対応する部分を修正するために用いる。2歩目の目標ZMP修正パターンは、遊脚の2歩目が着地してからその遊脚と異なる他の脚が離地するまでの間(図11において時刻tからtの間)における目標ZMP軌道のうちの対応する部分を修正するために用いる。
図11における1歩目の目標ZMP修正パターンを、以下の式(22)を用いて示す。目標ZMP修正パターンは、1歩目の単脚期の間のみ1であり、それ以外の単脚期間では0、そして両脚期はその間を滑らかに接続する3次関数を用いて構成される。
Figure 0006015474
両脚期間の3次関数は、具体的には以下の式(23)を満たす関数である。
Figure 0006015474
式(23)において、fup1(t)、fdn1(t)を以下の式(24)に示す。なお、目標ZMP修正パターンを構成する関数はこれに限定されず、連続な関数であればよい。例えば、式(24)に示す関数に代えて、線形な関数を使用するものとしてもよい。
Figure 0006015474
式(22)に示す目標ZMP修正パターンのパターン関数を、NΔt未来までのサンプリング点にわたって離散化すると、以下の式(25)に示す時系列のベクトルwf1 を得る。
Figure 0006015474
ただし、式(25)において、s,s,s,sは、以下の式(26)を満たす整数である。
Figure 0006015474
同様にして、2歩目の目標ZMP修正パターンに関しても、時系列のベクトルwf2 を得ることができる。
この目標ZMP修正パターンwf1 ,wf2 に対して着地位置修正量Δxf1,Δxf2を掛け合わせることで、目標ZMP修正量wf1 Δxf1,wf2 Δxf2を得ることができる。この目標ZMP修正量wf1 Δxf1,wf2 Δxf2を、元々の目標ZMP軌道(v k+1のハット)に加え合わせる(このようすを図12に示す。)。これによって、図13に示すように、足裏内の中央に目標ZMP軌道を設定したまま、着地位置修正を反映させることができる。修正後の目標ZMP軌道を以下の式(27)に示す。
Figure 0006015474
そして、式(8)の目標ZMP軌道について式(27)を用いて修正した上で、着地位置修正量についても最小化されるように2乗和の項を付け加える。これによって、以下の式(28)に示す評価関数を得る。
Figure 0006015474
また、以下の式(29)に示すように、着地位置修正量Δxf1,Δxf2を入力ベクトルに加える。
Figure 0006015474
さらに、式(28)を展開することによって、以下の式(30)を得る。
Figure 0006015474
ただし、式(30)における行列H 、ベクトルf を、以下の式(31)に示す。
Figure 0006015474
以後の式の展開については、式(12)〜(15)と同様の展開を行えばよいため、説明を省略する。
上式より、式(28)の評価関数を、以下の式(32)として定式化することができる。
Figure 0006015474
また、y方向についても式(29)と同じようにして、以下の式(33)に示すように入力ベクトルを拡張する。
Figure 0006015474
これによって、以下の式(34)を得ることができる。
Figure 0006015474
式(34)におけるベクトルu、行列H、ベクトルfを、以下の式(35)に示すように定める。
Figure 0006015474
式(32)および式(34)をまとめることによって、以下の式(36)を得る。
Figure 0006015474
次に、着地位置修正量の制約条件を説明する。着地位置修正量の制約条件については、例えば、環境や機体に応じて遊脚の着地可能領域(着地位置設定可能範囲)を凸多角形として抽出することができる(この技術は、例えば、先に出願された特開2011−206903号に開示されている。)。このため、着地位置修正量の制約条件は、ZMP制約と同様にして、任意のベクトルλ f1、λ f1、df1、λ f2、λ f2、df2を用いて、以下の式(37)により示すことができる。これらのベクトルλ f1、λ f1、df1、λ f2、λ f2、df2の値は、遊脚の着地可能領域に応じて予め適切な値が設定されるものとする。
Figure 0006015474
従って、式(19)の目標ZMPを式(27)に置き換えた上で、着地位置の制約条件を含むように拡張することによって、以下の式(38)を得る。
Figure 0006015474
さらに、式(29)および式(33)を用いて式(38)を整理することによって、以下の式(39)を得る。
Figure 0006015474
式(39)における行列Pおよびベクトルqを、以下の式(40)に示すように定めた。
Figure 0006015474
以上をまとめると、式(36)および式(39)より、最適化問題を以下の式(41)に示す凸二次計画問題として定式化することができる。
Figure 0006015474
この凸二次計画問題は、足裏範囲内にZMPが留まるという「ZMP制約」と、足位置設定可能な領域内に着地位置を制限する「着地位置制約」という制約条件を設定し、目標ZMP追従と着地位置修正量の抑制とをバランスするように最適解を算出する構成である。
さらに、本実施の形態では、遊脚着地までの残り時間に応じて着地位置修正量の重みを小さくするように連続的に変化させる。これによって、着地位置を修正できる時間的な余裕がある間に、必要な分だけ早めに着地位置を修正することができ、より安定性を高めることができる。
さらに、本実施の形態では、遊脚着地までの残り時間に応じて着地位置修正量の重みを大きくするように連続的に変化させる。これによって、着地位置を修正できる時間的な余裕がある間に、必要な分だけ早めに着地位置を修正することができ、より安定性を高めることができる。
具体的には、遊脚着地までの残り時間が短くなるほど、着地位置修正量の重みを線形に大きくする。図14(A)に例示するように、着地までの残り時間が長いときには、足を踏み出す時間的な余裕があるため、1歩目の着地位置を大きく修正することが可能である。しかし、図14(B)に例示するように、着地までの残り時間が短いときには、着地位置を修正することはほぼ不可能であるため、1歩目の着地位置はほとんど修正することができない。

3:実験結果
最後に、上記の重心軌道生成法を用いた場合の実験結果について述べる。実験では、x、y方向における外乱の有無を設定し、本手法を適用した場合と適用しない場合に分けて実験を行った。以下に実験結果を示す。
(1)x方向のみ、外乱なしという条件において、本手法を適用した場合(図15)
(2)x方向のみ、外乱ありという条件において、着地位置修正をなしにした場合(図16)
(3)x方向のみ、外乱ありという条件において、本手法を適用した場合(図17)
(4)xy方向において、外乱なしという条件において本手法を適用した場合(図18、図19)
(5)xy方向において、外乱ありという条件において本手法を適用した場合(図20、図21)
図15に示すように、外乱なしの場合には、目標ZMP軌道にZMPが追従するような重心軌道を生成できていることが分かる。また、図16、図17に示すように、2.3[s]のタイミングにおいて突発的に大きな外乱が作用したときに、着地位置修正を行わない場合には、図16に示すように重心軌道が発散してしまい、歩行を持続することができなくなる。これに対して、本手法を適用して着地位置修正を行った場合には、図17に示すように着地位置を修正することによってより高い安定性を確保することができる。注目すべき点は、図17から分かるように、外乱が作用した直後はZMP制約の限界までZMPを動かして支持脚により踏ん張っており(つまり、目標ZMPへの追従を一時的に犠牲にして安定化を図っている)、着地位置修正によって転倒を回避した後は、ZMPが目標ZMPに直ぐに漸近して、目標ZMPへの追従を達成していることである。すなわち、本実施の形態によって、高い安定性とZMP追従性を両立していることを示している。
図18と図19、および図20と図21は、xy両方向について本手法を適用した結果を示す。図20、図21に関しては、2.3[s]および6[s]のタイミングにおいて突発的に大きな外乱が作用した場合を示す。図20では、着地位置制約も図示したが、ZMP軌道がZMP制約内、着地位置が着地位置制約内に収まっていることも確認できる。これらの結果から、xy方向に関しても、本手法により、制約の範囲内にZMPおよび着地位置を制限しながら、高い安定性とZMP追従性を両立できていることを確認できる。
4:重心軌道生成処理の初期化ルーチン処理および周期実行ルーチン処理の説明
以下、本実施の形態に係る重心軌道生成処理の初期化ルーチン処理および周期実行ルーチン処理の詳細を図22及び図23を用いて説明する。
4−1:重心軌道生成処理の初期化ルーチン処理
図22は、制御コントローラ20が実行する重心軌道生成処理の初期化ルーチン処理のフローチャートを示す。初期化ルーチンは、後述する図23に示す周期実行ルーチン開始前の初期化時に実行される。
制御コントローラ20は、サンプリング時間間隔である周期Δt、基準重心高さh、およびサンプリング数Nを設定する(S1001)。制御コントローラ20は、システム行列およびベクトルを計算する(S1002)。より具体的には、上述した式(3)に示した行列A、b、ベクトルcを計算する。制御コントローラ20は、上述した式(9)に示した重み行列Q、Rと、式(28)に示した重みSを設定する(S1003)。制御コントローラ20は、上述した式(6)に示した出力値系列の係数(G、G)を計算する(S1004)。
4−2:重心軌道生成処理の周期実行ルーチン処理の説明
図23は、制御コントローラ20が実行する重心軌道生成処理の周期実行ルーチン処理のフローチャートを示す。制御コントローラ20は、ロボット10の現在状態x、y(重心位置、速度、加速度)を設定する(S1101)。ロボット10の現在状態は、ロボット10自らが現在の重心位置・速度・加速度を取得して設定することができる。また、現在状態は、ユーザー、あるいは制御コントローラ20に指令を与える上位コントローラによって設定するものとしてもよい。
制御コントローラ20は、目標ZMP軌道(v k+1のハット、v k+1のハット)を設定する(S1102)。制御コントローラ20は、上述した式(42)に示したように、1歩目の着地位置修正量の重みを遊脚着地までの残り時間に応じて計算して設定する(S1103)。なお、制御コントローラ20は、設定された目標ZMP軌道に基づいて、遊脚の着地および支持脚の離地時間を求めることができる。制御コントローラ20は、上述した式(24)に示した目標ZMP修正パターンwf1 ,wf2 のパターン関数を計算する(S1104)。
制御コントローラ20は、上述した式(35)に示したH、fを用いて、上述した式(36)に示した評価関数を設定する(S1105)。制御コントローラ20は、遊脚の着地可能領域を計算する(S1106)。制御コントローラ20は、例えば、環境や機体に応じて遊脚の着地可能領域を凸多角形として抽出する。制御コントローラ20は、上述した式(37)〜(40)に示した不等式制約条件(P、q)を計算する(S1107)。制御コントローラ20は、上述した式(41)に示した凸二次計画問題を求解する(S1108)。
制御コントローラ20は、凸二次計画問題の求解結果uを用いて、重心軌道を修正する(S1109)。すなわち、現在の時刻から未来のN個のサンプリング点における各重心位置を計算する。jは0〜N−1までの値を取る整数である。制御コントローラ20は、凸二次計画問題の求解結果uに含まれる着地位置修正量Δxf1,Δxf2,Δyf1,Δyf2を用いて、遊脚の着地位置を修正する(S1110)。
制御コントローラ20は、時間Δt後から開始する次の周期での軌道生成処理を行うために、周期更新を行う(S1111)。すなわち、kを1増加させ、tをΔt増加させる。
5:最適化指標に関する補足説明
上述した式(28)の最適化指標について、以下に補足して説明する。式(28)は、ZMP軌道と修正後の目標ZMP軌道の差を2乗した値を含む部分(以下、第1部分と称する場合がある。)と、入力値u を2乗した部分(以下、第2部分と称する場合がある。)と、着地位置修正量を2乗した値を含む部分(以下、第3部分と称する場合がある。)と、を備えて構成されている。
第1部分は、ZMP軌道と修正後の目標ZMP軌道の誤差の2乗に重みを付けた構成であり、目標ZMP軌道を修正するための目標ZMP修正量を含んでいる。式(28)に示す評価関数において、第1部分は、ZMP軌道を修正後の目標ZMP軌道に近づける働きを担っている(すなわち、踏ん張り量をできる限り抑制する働きを担っている。)。
修正後の目標ZMP軌道は、元々の目標ZMP軌道を、目標ZMP修正量を用いて修正することにより得られる。目標ZMP修正量は、着地位置修正量および目標ZMP修正パターンを用いて得られる。具体的には、例えば、離散化された1歩目の目標ZMP修正パターンwf1 (図24に示す。)に対して着地位置修正量Δxf1を係数として掛け合わせることで1歩目の目標ZMP修正量を求める。この目標ZMP修正量を元々の目標ZMP軌道(図25に示す。)に対して加えることによって、修正後の目標ZMP軌道を得ることができる(図26に示す。)。さらに、2歩目の目標ZMP修正パターンwf2 に対して着地位置修正量Δxf2を係数として掛け合わせることで2歩目の目標ZMP修正量を求め、この目標ZMP修正量を元々の目標ZMP軌道に対して加えることによって、2歩分の目標ZMP修正量を反映させた、修正後の目標ZMP軌道を得ることができる(図27に示す。)。
第2部分は、重心が発散するのを防ぐ働きを担っている。重心が発散すると入力値u(t)=x(・・・) (xの三階微分)が過大な値になるため、この項は発散抑制の効果を有している。これは、通常のモデル予測制御と同様であり、詳細な説明を省略する。
第3部分は、着地位置修正量に重みを付けた構成であり、着地位置修正量を抑制する働きを担っている。図5に例示した着地位置修正量Δxf1,Δxf2に関して、重み付き着地位置修正量の2乗を最小化することにより、着地位置修正量をできる限り0に抑制し、これにより、着地位置の修正をできる限り抑制することができる。
以上をまとめて、各部分の役割を図28に示す。3つの部分は全てトレードオフの関係にあるため、それぞれに重み付けをして足し合わせた評価関数になっている。すなわち、本実施の形態に係るモデル予測制御では、最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、制御コントローラ20が、モデル予測制御を実行して、目標ZMP修正量と着地位置修正量の最適解を算出する。そして、制御コントローラ20は、モデル予測制御において得た結果uを用いて、重心軌道を修正し、また、算出した着地位置修正量を用いて元々の着地予定位置を修正する。これによって、目標ZMP軌道に追従して歩行する脚式ロボットの制御に関して、高い安定性と目標ZMPへの追従性を両立することができる。
<その他の実施の形態>
実施の形態1では、遊脚の着地位置修正について2歩分の着地位置を修正する例を示した。しかしながら、本発明はこれに限定されず、遊脚の着地位置修正について1歩分の着地位置を修正するものとしてもよいし、3歩分以上の着地位置を修正するものとしてもよい。遊脚の着地位置修正について1歩分のみの着地位置を修正する場合と比較して、2歩分の着地位置についても修正する場合には、それぞれの着地位置に関する着地位置の修正量に関してより余裕を確保することができ、1歩目の着地位置修正量をより抑制することができる。この結果、目標ZMPへの追従性をより高めることができる。さらに、3歩分以上の着地位置を修正するものとした場合には、計算時間は増加するものの、それぞれの着地位置修正量をより抑制することができる。
また、重みQ、R、S(S、S)の設定手法について、上述した実施の形態1に限定されず、ユーザー、あるいは制御コントローラ20に指令を与える上位コントローラが、目的に応じて、予め適切な値を設定するようにしてもよい。
例えば、着地位置修正量の重みS(S、S)を大きく設定することによって、着地位置修正量をより小さく抑制することができ、この結果、指定した着地位置からできる限り離れないようにロボット10の歩行を制御することができる。
また例えば、ZMP軌道と修正後の目標ZMP軌道の差に関する重みQを大きく設定することによって、目標ZMP修正量をより小さく抑制することができ、この結果、外力に対して安全確保を優先させてロボット19を過度に踏ん張らせないように制御することができる。
また例えば、遊脚着地までの残り時間に応じて、重みQやSを大きくあるいは小さくするように適応的に変更するようにしてもよい。
上述した複数の実施の形態は、適宜組み合わせることも可能である。さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、脚式ロボットは、2脚以上の脚を有していてもよく、3脚以上のロボットであってもよい。
10 脚式ロボット、
20 制御コントローラ、

Claims (8)

  1. 目標ZMP軌道に追従して歩行する脚式ロボットの制御方法であって、
    モデル予測制御における最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、
    遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを大きくするように変化させ、
    前記モデル予測制御を実行して、前記目標ZMP修正量と前記着地位置修正量の最適解を算出する、
    脚式ロボットの制御方法。
  2. 前記遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを線形に大きくする、
    請求項1に記載の脚式ロボットの制御方法。
  3. 前記着地位置修正量は、
    遊脚の1歩目の着地位置を修正する第1の着地位置修正量と、
    遊脚の2歩目の着地位置を修正する第2の着地位置修正量と、を含み、
    前記目標ZMP修正量は、
    前記遊脚の1歩目が着地してから当該遊脚と異なる他の脚が離地するまでの間における前記目標ZMP軌道のうちの対応する部分を修正するための所定の第1の目標ZMP修正パターンと、前記1歩目の着地位置修正量と、を用いて求める1歩目の目標ZMP修正量と、
    前記遊脚の2歩目が着地してから当該遊脚と異なる他の脚が離地するまでの間における前記目標ZMP軌道のうちの対応する部分を修正するための所定の第2の目標ZMP修正パターンと、前記2歩目の着地位置修正量と、を用いて求める2歩目の目標ZMP修正量と、を含む、
    請求項1または2に記載の脚式ロボットの制御方法。
  4. 前記脚式ロボットが、2脚歩行ロボットである、
    請求項1〜3いずれか1項に記載の脚式ロボットの制御方法。
  5. 目標ZMP軌道に追従して歩行する脚式ロボットであって、
    モデル予測制御における最適化の評価関数を、重み付き目標ZMP修正量と重み付き着地位置修正量の和を含む値を最小化する構成とし、
    遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを大きくするように変化させ、
    前記モデル予測制御を実行して、前記目標ZMP修正量と前記着地位置修正量の最適解を算出する、
    脚式ロボット。
  6. 前記遊脚着地までの残り時間が短くなるほど、前記着地位置修正量の重みを線形に大きくする、
    請求項5に記載の脚式ロボット。
  7. 前記着地位置修正量は、
    遊脚の1歩目の着地位置を修正する第1の着地位置修正量と、
    遊脚の2歩目の着地位置を修正する第2の着地位置修正量と、を含み、
    前記目標ZMP修正量は、
    前記遊脚の1歩目が着地してから当該遊脚と異なる他の脚が離地するまでの間における前記目標ZMP軌道のうちの対応する部分を修正するための所定の第1の目標ZMP修正パターンと、前記1歩目の着地位置修正量と、を用いて求める1歩目の目標ZMP修正量と、
    前記遊脚の2歩目が着地してから当該遊脚と異なる他の脚が離地するまでの間における前記目標ZMP軌道のうちの対応する部分を修正するための所定の第2の目標ZMP修正パターンと、前記2歩目の着地位置修正量と、を用いて求める2歩目の目標ZMP修正量と、を含む、
    請求項5または6に記載の脚式ロボット。
  8. 前記脚式ロボットは、2脚歩行ロボットである、
    請求項5〜7いずれか1項に記載の脚式ロボット。
JP2013020247A 2013-02-05 2013-02-05 脚式ロボットの制御方法および脚式ロボット Expired - Fee Related JP6015474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013020247A JP6015474B2 (ja) 2013-02-05 2013-02-05 脚式ロボットの制御方法および脚式ロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013020247A JP6015474B2 (ja) 2013-02-05 2013-02-05 脚式ロボットの制御方法および脚式ロボット

Publications (2)

Publication Number Publication Date
JP2014151370A JP2014151370A (ja) 2014-08-25
JP6015474B2 true JP6015474B2 (ja) 2016-10-26

Family

ID=51573766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013020247A Expired - Fee Related JP6015474B2 (ja) 2013-02-05 2013-02-05 脚式ロボットの制御方法および脚式ロボット

Country Status (1)

Country Link
JP (1) JP6015474B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104570732B (zh) * 2014-12-15 2017-02-08 浙江大学 一种仿人机器人步行模式的在线生成方法
KR101918101B1 (ko) * 2016-04-18 2019-02-08 한국과학기술연구원 궤도 추적 에러의 최대 진폭을 줄이기 위한 제어기 설계 방법 및 이를 이용한 제어기
JP6823569B2 (ja) * 2017-09-04 2021-02-03 本田技研工業株式会社 目標zmp軌道の生成装置
US11287826B2 (en) * 2018-10-12 2022-03-29 Boston Dynamics, Inc. Terrain aware step planning system
CN111722625B (zh) * 2019-12-18 2021-09-21 北京交通大学 时变数量群体机器人接力目标跟踪系统的稳定性分析方法
JP2022128093A (ja) * 2021-02-22 2022-09-01 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3233450B2 (ja) * 1992-05-22 2001-11-26 本田技研工業株式会社 指定時刻到達関数発生器
JP3269852B2 (ja) * 1992-05-29 2002-04-02 本田技研工業株式会社 脚式移動ロボットの姿勢安定化制御装置
JP3834629B2 (ja) * 2002-09-26 2006-10-18 独立行政法人産業技術総合研究所 歩行ロボットの歩行歩容生成装置
JP5034235B2 (ja) * 2006-01-16 2012-09-26 ソニー株式会社 制御システム及び制御方法、並びにコンピュータ・プログラム
JP5456588B2 (ja) * 2010-06-07 2014-04-02 本田技研工業株式会社 脚式移動ロボットの制御装置

Also Published As

Publication number Publication date
JP2014151370A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
JP6015474B2 (ja) 脚式ロボットの制御方法および脚式ロボット
Farshidian et al. Real-time motion planning of legged robots: A model predictive control approach
Feng et al. Robust dynamic walking using online foot step optimization
JP5807591B2 (ja) 脚式歩行ロボットおよびその重心軌道生成方法
KR100985713B1 (ko) 휴머노이드 로봇의 보행패턴 생성방법
Kajita et al. Biped walking pattern generation based on spatially quantized dynamics
Kamioka et al. Dynamic gait transition between walking, running and hopping for push recovery
Yang et al. Impact invariant control with applications to bipedal locomotion
Faraji et al. Robust and agile 3d biped walking with steering capability using a footstep predictive approach
JP5803751B2 (ja) 重心軌道生成装置、その生成方法及びプログラム
Stephens et al. Modeling and control of periodic humanoid balance using the linear biped model
Whitman et al. Control of instantaneously coupled systems applied to humanoid walking
JP6781101B2 (ja) 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
Smaldone et al. Gait generation using intrinsically stable MPC in the presence of persistent disturbances
Allgeuer et al. Omnidirectional bipedal walking with direct fused angle feedback mechanisms
Feng Online Hierarchical Optimization for Humanoid Control.
US8644987B2 (en) Robot and walking control apparatus and method thereof
KR101918101B1 (ko) 궤도 추적 에러의 최대 진폭을 줄이기 위한 제어기 설계 방법 및 이를 이용한 제어기
Lee et al. Online gain adaptation of whole-body control for legged robots with unknown disturbances
Kim et al. Foot stepping algorithm of humanoids with double support time adjustment based on capture point control
Santacruz et al. Analytical real-time pattern generation for trajectory modification and footstep replanning of humanoid robots
JP7221833B2 (ja) 非線形モデル予測制御装置
KR20080079845A (ko) 칼만 필터를 이용한 2족보행로봇의 균형제어시스템 및 그제어방법
Ambrose et al. Towards the unification of system design and motion synthesis for high-performance hopping robots
Zachariah et al. Hybrid-state driven autonomous control for planar bipedal locomotion over randomly sloped non-uniform stairs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160912

R151 Written notification of patent or utility model registration

Ref document number: 6015474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees