(57)【特許請求の範囲】
【請求項１】
基体と、前記基体から延設されている複数の脚体と、目標ＺＭＰ軌道および前記複数の脚体の目標着床位置を含む目標歩容に追従させるように前記複数の脚体の動作を制御するように構成されている制御装置と、を備えているロボットであって、
前記制御装置が、
時間に関する指定関数変換が可能な時間関数を係数とする、前記複数の脚体の目標着床位置の１次関数により定義される目標ＺＭＰ軌道に基づき、前記基体および前記複数の脚体の運動ならびに前記ロボットに作用する床反力の関係を表わし、かつ、時間に関する前記指定関数変換により定義される動力学モデルにしたがって、前記基体の挙動の発散成分に対して前記目標ＺＭＰ軌道が与える影響量を決定するよう構成されている第１演算処理要素と、
前記第１演算処理要素により決定された前記影響量に基づき、前記目標着床位置の１次関数として定義されるＺＭＰ修正量を前記目標ＺＭＰ軌道に付加した結果としての前記目標ＺＭＰ軌道が、前記複数の脚体と床との接触面の配置態様に応じて配置態様が定まる許容存在領域に収まるという第１指定要件が満たされるように、前記ＺＭＰ修正量およびこれに応じた前記目標着床位置を決定するよう構成されている第２演算処理要素と、を備えていることを特徴とするロボット。
【請求項２】
請求項１記載のロボットにおいて、
前記第２演算処理要素が、前記目標着床位置の指定評価基準に応じた評価関数が最大値または最小値を示すという第２指定要件がさらに満たされるように、前記目標着床位置を決定するように構成されていることを特徴とするロボット。
【請求項３】
請求項２記載のロボットにおいて、
前記第２演算処理要素が、前記目標着床位置と希望着床位置または着床許容範囲の境界との間隔を変数とする増加関数または減少関数を前記評価関数として用いて前記目標着床位置を決定するように構成されていることを特徴とするロボット。
【請求項４】
請求項３記載のロボットにおいて、
前記第２演算処理要素が、前記評価関数として２次関数を用いて前記目標着床位置を決定するように構成されていることを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚式移動ロボットの歩容生成に関する。
【背景技術】
【０００２】
任意形態の外乱に対して、脚式移動ロボットの行動目的に鑑みて適当な形態で、当該ロボットを行動させる技術的手法が提案されている（特許文献１および２参照）。具体的には、周波数帯域の高低に応じて階層化されている複数のモジュールのそれぞれが、自己モジュールが担当する主目的を他のモジュールが担当する副目的よりも優先させながら、主目的および副目的に適合するロボットの行動形態の候補である行動候補が探索される。低周波の第ｊ＋１モジュールにより探索されたロボットＲの行動候補よりも、高周波の第ｊモジュールにより探索されたロボットの行動候補を優先的に反映させた形でロボットの行動が制御される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０３１３４９号公報
【特許文献２】特開２０１１−０３１３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、当該手法によれば、ロボットの行動候補探索のために１００［ｍｓ］オーダーの計算時間を要するため、リアルタイムでの目標歩容生成および目標歩容への追従制御が困難になる可能性がある。
【０００５】
そこで、本発明は、歩容生成計算のさらなる効率化および高速化を図ることができるロボットを提供することを解決課題とする。
【課題を解決するための手段】
【０００６】
本発明のロボットは、基体と、前記基体から延設されている複数の脚体と、目標ＺＭＰ軌道および前記複数の脚体の目標着床位置を含む目標歩容に追従させるように前記複数の脚体の動作を制御するように構成されている制御装置と、を備えているロボットであって、前記制御装置が、時間に関する指定関数変換が可能な時間関数を係数とする、前記複数の脚体の目標着床位置の１次関数により定義される目標ＺＭＰ軌道に基づき、前記基体および前記複数の脚体の運動ならびに前記ロボットに作用する床反力の関係を表わし、かつ、時間に関する前記指定関数変換により定義される動力学モデルにしたがって、前記基体の挙動の発散成分に対して前記目標ＺＭＰ軌道が与える影響量を決定するよう構成されている第１演算処理要素と、前記第１演算処理要素により決定された前記影響量に基づき、前記目標着床位置の１次関数として定義されるＺＭＰ修正量を前記目標ＺＭＰ軌道に付加した結果としての前記目標ＺＭＰ軌道が、前記複数の脚体と床との接触面の配置態様に応じて配置態様が定まる許容存在領域に収まるという第１指定要件が満たされるように、前記ＺＭＰ修正量およびこれに応じた前記目標着床位置を決定するよう構成されている第２演算処理要素と、を備えていることを特徴とする。
【０００７】
本発明のロボットによれば、目標ＺＭＰ軌道が、時間関数を係数とする目標着床位置の１次関数により定義されているため、基体挙動の発散成分に対する目標ＺＭＰ軌道の影響量が、動力学モデルにしたがった時間関数の演算処理結果を係数とする目標着床位置の１次関数として定義される。時間関数が時間に関する指定関数変換が可能な関数により定義され、かつ、動力学モデルが時間に関する指定関数変換により定義されているため、動力学モデルにしたがった時間関数の演算処理結果の解析計算が可能となる。
【０００８】
よって、当該発散成分影響量に基づいて定まるＺＭＰ修正量、ひいては、目標ＺＭＰ軌道とＺＭＰ修正量の合成結果である目標ＺＭＰ軌道が、当該解析計算結果に応じた定数を係数および切片とする目標着床位置の１次関数により線形近似される。これにより、第１指定要件（目標着床位置の１次関数により線形近似される目標ＺＭＰ軌道が許容存在範囲に収まる）の充足という線形制約が付された問題として目標着床位置の決定問題が定式化される。このため、各脚体の目標着床位置を含む目標歩容生成のさらなる高速化および効率化が図られる。
【０００９】
前記第２演算処理要素が、前記目標着床位置の指定評価基準に応じた評価関数が最大値または最小値を示すという第２指定要件がさらに満たされるように、前記目標着床位置を決定するように構成されていることが好ましい。
【００１０】
当該構成のロボットによれば、線形制約が付された、指定評価基準に鑑みた最適化問題として目標着床位置の決定問題が定式化されるため、各脚体の目標着床位置を含む目標歩容生成のさらなる高速化および効率化が図られる。
【００１１】
前記第２演算処理要素が、前記目標着床位置と希望着床位置または着床許容範囲の境界との間隔を変数とする増加関数または減少関数を前記評価関数として用いて前記目標着床位置を決定するように構成されていることが好ましい。前記第２演算処理要素が、前記評価関数として２次関数を用いて前記目標着床位置を決定するように構成されていることが好ましい。
【００１２】
当該構成のロボットによれば、目標着床位置を希望着床位置に一致させる、または、ロボットの着床許容範囲から逸脱するような着床を回避するという、線形制約付き最適化問題として目標着床位置の決定問題が定式化されるため、各脚体の目標着床位置を含む目標歩容生成のさらなる高速化および効率化が図られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態としてのロボットの構成説明図。
【図２】制御装置の構成説明図。
【図３】歩容生成方法に関する説明図。
【図４】定常歩容に関する説明図。
【図５】ＺＭＰ軌道の線形近似に関する例示説明図。
【図６】ＺＭＰ軌道の修正に関する説明図。
【図７】ロボットの動力学モデルに関する説明図。
【図８】歩容生成結果（実験結果）に関する説明図。
【発明を実施するための形態】
【００１４】
（ロボットの構成）
図１に示されている本発明の移動装置の一実施形態としてのロボット１は脚式移動ロボットである。左右の区別のために適宜符号「Ｌ」および「Ｒ」が用いられる。人間と同様に基体１０と、基体１０の上部に設けられた頭部１１と、基体１０の上部左右両側から延設された左右の腕体１２と、腕体１２の先端部に設けられた手部１３と、基体１０の下部から下方に延設された左右の脚体１４と、脚体１４の先端部に取り付けられている足平部１５とを備えている。ロボット１は、アクチュエータＭＯＴ（図２参照）から伝達される力によって、人間の肩関節、肘関節、手首関節、股関節、膝関節、足首関節等の複数の関節に相当する複数の関節機構において腕体１２や脚体１４を屈伸運動させることができる。
【００１５】
腕体１２は肩関節機構を介して基体１０に連結された第１腕リンクと、一端が第１腕リンクの端部に肘関節機構を介して連結され、他端が手首関節を介して手部１３の付根部に連結されている第２腕リンクとを備えている。肩関節機構は、ヨー軸およびピッチ軸のそれぞれの回りの２つの回転自由度を有する。肘関節機構は、ピッチ軸回りの１つの回転自由度を有する。手首関節機構は、ロール軸およびピッチ軸のそれぞれの回りの２つの回転自由度を有する。
【００１６】
脚体１４は股関節機構を介して基体１０に連結された第１脚リンクと、一端が第１脚リンクの端部に膝関節機構を介して連結され、他端が足首関節を介して足平部１５に連結されている第２脚リンクとを備えている。股関節機構は、ヨー軸、ピッチ軸およびロール軸のそれぞれの回りの３つの回転自由度を有する。膝関節機構は、ピッチ軸回りの１つの回転自由度を有する。足首関節機構は、ピッチ軸およびロール軸のそれぞれ回りの２つの回転自由度を有する。ロボット１は、左右の脚体１４のそれぞれの離床および着床の繰り返しを伴う動きによって自律的に移動することができる。
【００１７】
（制御装置の構成）
図２に示されている制御装置２はロボット１に搭載されているプログラマブルコンピュータまたは電子制御ユニット（ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ回路等により構成されている。）により構成されている。制御装置２は内部状態センサ群Ｓ１および外部状態センサ群Ｓ２のそれぞれの出力信号に基づいて種々の状態変数の値を認識し、当該認識結果に基づいて各アクチュエータＭＯＴの動作を制御するように構成されている。
【００１８】
内部状態センサ群Ｓ１にはロボット１の位置（重心位置）を測定するためのＧＰＳ測定装置または加速度センサのほか、基体１０の姿勢を測定するためのジャイロセンサ、各関節機構の屈曲角度等を測定するロータリーエンコーダ等が含まれている。
【００１９】
外部状態センサ群Ｓ２にはロボット１とは別個独立のモーションキャプチャーシステム（図示略）のほか、ボール等のタスク実行に関連する物体の位置軌道を測定するため、頭部１１に搭載されているステレオイメージセンサや、基体１０に搭載されている赤外光を用いたアクティブ型センサ等が含まれる。
【００２０】
制御装置２は、第１演算処理要素２１と、第２演算処理要素２２とを備えている。第１演算処理要素２１は、目標ＺＭＰ軌道に基づき、動力学モデルにしたがって、基体１０の挙動の発散成分に対して目標ＺＭＰ軌道が与える影響量を決定するよう構成されている。第２演算処理要素２２は、第１演算処理要素２１により決定された当該影響量に基づき、指定要件が満たされるようにＺＭＰ修正量およびこれに応じた目標着床位置を決定するよう構成されている。
【００２１】
単一のプロセッサ（演算処理装置）が当該２つの演算処理要素２１および２２として機能してもよいし、複数のプロセッサが相互通信により連携しながら当該２つの演算処理要素２１および２２として機能してもよい。
【００２２】
各演算処理要素が担当演算処理を実行するように「構成されている」とは、各演算処理要素を構成するＣＰＵ等の演算処理装置が、ＲＯＭ、ＲＡＭ等のメモリ又は記録媒体から必要な情報に加えてソフトウェアを読み出し、当該情報に対して当該ソフトウェアにしたがって演算処理を実行するように「プログラムされている」または「デザイン（設計）されている」ことを意味する。
【００２３】
（ロボットの歩容生成方法）
移動指示に応じて、今回歩容とそれに続く定常歩容の目標着床位置と、歩行周期とが決定される（図３／ＳＴＥＰ０１）。今回歩容および定常歩容のそれぞれの歩数は任意であるが、ここでは現時点ｔ＝０から２歩の歩容が今回歩容として生成され、さらに２歩の歩容が定常歩容として生成される。今回歩容の１歩目を「第１今回歩容（ｃｕｒ１）」といい、２歩目を「第２今回歩容（ｃｕｒ２）」という。定常歩容の１歩目を第１定常歩容（ｃｙｃ１）」といい、２歩目を「第２定常歩容（ｃｙｃ２）」という。
【００２４】
これにより、第１今回歩容の終端時刻ｔ＝ｔcur1（＝Ｔcur1）、第２今回歩容の終端時刻ｔ＝ｔcur2（＝Ｔcur1＋Ｔcur2）、第１定常歩容の終端時刻ｔcyc1（＝Ｔcur1＋Ｔcur2＋Ｔcyc1）および第２定常歩容の終端時刻ｔcyc2（＝Ｔcur1＋Ｔcur2＋Ｔcyc1＋Ｔcyc2）、ならびに、各時刻における着床位置ｘswg（ｔ）が設定される。
【００２５】
定常歩容は、図４に示されているように、第１および第２定常歩容が交互に繰り返して生成されることにより、世界座標系（絶対空間）における移動量を除き、連続かつ周期的な運動が生成される歩容である。すなわち、定常歩容の始端状態と終端状態とは、世界座標系における位置および姿勢を除いて一致している必要がある。すなわち、定常歩容の連続性条件が満たされている必要がある。
【００２６】
定常歩容および今回歩容の目標ＺＭＰ軌道パラメータが設定される（図３／ＳＴＥＰ０２）。目標ＺＭＰ軌道ｘzmp（ｔ）は、１歩毎の各期間の境界時刻と当該時刻における目標ＺＭＰ位置によってパラメータ表現される。具体的には、関係式（０２）で表わされているように時間関数α（ｔ）を傾きとする目標着床位置ｘswgの１次関数が目標ＺＭＰ軌道ｘzmp（ｔ）として設定される。
【００２７】
【数１】
0005859036.tif 000002
【００２８】
当該線形近似は、着床位置ｘswgの安定性評価のための近似であり、ロボット１の実際のＺＭＰ軌道に一致させる必要はない。時間関数α（ｔ）はラプラス変換が可能な関数により定義されている。図５（ａ）〜（ｃ）のそれぞれには、時間関数α（ｔ）が（１）ｔ／Ｔ（線形関数）、（２）ａ0＋ａ1ｔ＋‥＋ａnｔn（多項関数）および（３）ｃｏｓ（ωｔ）（三角関数）のそれぞれにより定義された場合における目標ＺＭＰ軌道ｘzmp（ｔ）が示されている。
【００２９】
たとえば、図６に実線で示されているように、ｔ＝ｔcur1、ｔcur2、ｔcyc1およびｔcyc2を含む各時刻における目標ＺＭＰ位置ｘzmp（ｔ）が設定される。すなわち、目標ＺＭＰ位置ｘzmpは、片脚支持期間（区間）Ｔ1、Ｔ3、Ｔ5およびＴ7において支持脚の足部の着床位置に固定され、両脚支持期間（区間）Ｔ0、Ｔ2、Ｔ4およびＴ6において今回着床位置から次回着床位置に変位するように決定される。各足部の着床位置は、当該足部と床との接触面中心の位置を意味する。
【００３０】
具体的には、目標ＺＭＰがｘzmp［０］＝ｘswg［０］→ｘzmp［１］＝ｘswg［ｔcur1］→ｘzmp［２］＝ｘzmp［１］→ｘzmp［３］＝ｘswg［ｔcur2］→ｘzmp［４］＝ｘzmp［３］→ｘzmp［５］＝ｘswg［ｔcyc1］→ｘzmp［６］＝ｘzmp［５］→ｘzmp［７］＝ｘswg［ｔcyc2］→ｘzmp［８］＝ｘzmp［７］の順に変位するように定義される。
【００３１】
なお、図６に破線で示されているように、実際の目標ＺＭＰ位置ｘzmpは、片脚支持期間において踵（支持脚足部後端部）から爪先（支持脚足部先端部）に変位し、両脚支持期間において、後方足部爪先から前方足部踵まで変位するように設計されてもよい。すなわち、関係式（０２）で示されている目標ＺＭＰ軌道ｘzmp（ｔ）は、当該実際の目標ＺＭＰ軌道ｘzmpと一致している必要はない。
【００３２】
第１演算処理要素２１により、ロボット１の動力学モデルにしたがって、発散成分ｑに対して目標ＺＭＰ軌道ｘzmp（ｔ）が与える影響量が決定される（図３／ＳＴＥＰ０３）。具体的には、定常歩容始端時刻（＝今回歩容終端時刻）ｔcur2における発散成分ｑ(cur2)（ｔcur2）と、目標発散成分ｑaimとの偏差ｑdiffが算出される。添字(cur2)は今回歩容の支持脚座標系を意味する。
【００３３】
動力学モデルは、基体１０および脚体１４の運動ならびにロボット１に作用する床反力の関係を表わし、たとえば図７に示されているように倒立振子モデルが動力学モデルとして採用される（特許第３７２６０８１号公報参照）。線形倒立振子モデルにおける動力学は、倒立振子水平位置ｘpend、倒立振子支点水平位置ｘzmp、重力加速度ｇおよび倒立振子の高さｈ（一定値）を用いて関係式（０４）により表現される。倒立振子質点に加えて、支持脚足部質点および遊脚足部質点により定義される３質点モデルがロボット１の動力学モデルとして用いられてもよい。
【００３４】
【数２】
0005859036.tif 000003
【００３５】
線形倒立振子モデルによれば、ロボット１の発散成分ｑ（および収束成分ｐ）は倒立振子の固有周波数ω＝（ｇ／ｈ）1/2を用いて関係式（０６）により表現される。
【００３６】
【数３】
0005859036.tif 000004
【００３７】
時刻ｔ0を基準とした時刻ｔeにおける発散成分ｑ（ｔ0，ｔe）は関係式（０８）にしたがって計算される。
【００３８】
【数４】
0005859036.tif 000005
【００３９】
ここで、関係式（０８）の右辺第２項を構成する関数ｑu（ｔ0，ｔe）は、関係式（１０）によりラプラス変換を用いて表現される。
【００４０】
【数５】
0005859036.tif 000006
【００４１】
ｘzmp（ｔ）＝ｔnと定義される場合、ｔnのラプラス変換結果としてｎ！ｓ-(n+1)が得られることに加えて二項定理から、当該関数ｑu（ｔ0，ｔe）は関係式（１１）により表わされる。
【００４２】
【数６】
0005859036.tif 000007
【００４３】
（目標発散成分ｑaimの決定）
定常歩容の初期発散成分ｑ（ｔcur2，ｔcur2）と終期発散成分ｑ（ｔcur2，ｔcyc2）とが一致するように、定常歩容の初期発散成分ｑ（ｔcur2，ｔcur2）が目標発散成分ｑaimとして決定される。定常歩容の初期発散成分ｑ（ｔcur2，ｔcur2）は、今回歩容の支持脚座標系から第２定常歩容の支持脚座標系への座標変換Ξcur2→cyc2（‥）を用いて関係式（１４）により表わされる。
【００４４】
【数７】
0005859036.tif 000008
【００４５】
当該座標変換Ξcur2→cyc2（‥）は、今回歩容の支持脚座標を基準とした第２定常歩容の支持脚座標系の向き（ヨー角）を表わす回転行列Ｒｚと、今回歩容の支持脚座標を基準とした第２定常歩容の支持脚座標系の位置Ｐcyc2(cur2)とを用いて関係式（１６）により定義される。添字(cyc2)は第２定常歩容の支持脚座標系を意味する。
【００４６】
【数８】
0005859036.tif 000009
【００４７】
関係式（０８）（１４）および（１６）に基づき、目標発散成分ｑaimは関係式（１８）により表わされる。
【００４８】
【数９】
0005859036.tif 000010
【００４９】
回転行列Ｒzが単位行列Ｉに近似される場合、目標発散成分ｑaimは関係式（２０）により表わされる。
【００５０】
【数１０】
0005859036.tif 000011
【００５１】
（発散成分偏差ｑdiffの決定）
今回歩容終端時刻ｔcur2における発散成分ｑ(cur2)（ｔ0，ｔcur2）と、目標発散成分ｑaimとの偏差ｑdiffが関係式（２２）にしたがって算出される。
【００５２】
【数１１】
0005859036.tif 000012
【００５３】
第２演算処理要素２２により、第１演算処理要素２１により決定された発散成分影響量に基づき、指定要件が満たされるようにＺＭＰ修正量ｘzmp_addが決定される（図３／ＳＴＥＰ０４）。
【００５４】
目標ＺＭＰ軌道の修正のため、図６に一点鎖線で示されているように、単位高さの台形形状軌道ｘzmp_unit（ｔ）が準備される。台形の折れ点に相当する時刻は、今回歩容の目標ＺＭＰ軌道パラメータとして設定された期間境界時刻の中から選択される（図６の例ではｔ＝０、Ｔ1、ｔcur1、ｔcur1＋Ｔ2およびＴcur2）。３つの期間境界時刻におよぶ三角形状軌道ｘzmp_unit（ｔ）が採用されてもよい。補正台形の高さ比率ｑdiff／ｑunitが決定される。
【００５５】
上記のように時間関数α（ｔ）がラプラス変換可能な関数であるため、ｑαは解析計算が可能である。よって、ＺＭＰ修正量ｘzmp_addは関係式（２６）にしたがって決定される。
【００５６】
【数１２】
0005859036.tif 000013
【００５７】
ＺＭＰ軌道ｘzmp（ｔ）が、区間［ｔi-1，ｔi］（ｉ＝１，２，‥Ｎ）ごとに区分される係数関数αi（ｔ）を用いて関係式（２８）にしたがって近似される（関係式（２）参照）。
【００５８】
【数１３】
0005859036.tif 000014
【００５９】
近似式（２８）に基づき、関係式（１０）が関係式（３０）のように近似される。
【００６０】
【数１４】
0005859036.tif 000015
【００６１】
関係式（３０）は係数行列Ａを用いて関係式（３２）のように表わされる。
【００６２】
【数１５】
0005859036.tif 000016
【００６３】
目標発散成分ｑaimおよび今回歩容終端時刻ｔcur2における発散成分ｑ(cur2)（ｔ0，ｔcur2）、ひいてはこれらの偏差ｑdiffがｑu（）に対して線形である。このため、ＺＭＰ修正量ｘzmp_addが関係式（３４）で表わされているように目標着床位置ｘswgの線形関数として定義される。
【００６４】
【数１６】
0005859036.tif 000017
【００６５】
図６に示されているようにＺＭＰ軌道ｘzmp（ｔ）が折線状である場合、関係式（２０）は関係式（３２）を用いて、関係式（３６）に示されているように表わされる。
【００６６】
【数１７】
0005859036.tif 000018
【００６７】
今回歩容終端時刻ｔcur2における発散成分ｑ(cur2)（ｔ0，ｔcur2）は関係式（３８）により表わされる。
【００６８】
【数１８】
0005859036.tif 000019
【００６９】
したがって、一般的には関係式（２６）により表現されるＺＭＰ修正量ｘzmp_addは、線形近似モデルにおいては関係式（４０）にしたがって計算される。
【００７０】
【数１９】
0005859036.tif 000020
【００７１】
発散成分の差ｑdiffが０になるように、今回歩容の目標ＺＭＰ軌道に、関係式（２６）により表わされるＺＭＰ修正量Ｘzmp_addが加えられることにより、今回歩容の目標ＺＭＰ軌道パラメータが修正される。たとえば、図６に実線で示されている目標ＺＭＰ軌道に対して、二点鎖線で示されている三角形状軌道Ｘzmp_addが追加されることにより、ｔ＝ｔcur1〜ｔcur2における目標ＺＭＰ軌道が修正される（二点鎖線参照）。
【００７２】
一の指定要件としての「第１指定要件」は、目標ＺＭＰ軌道ｘzmpが、複数の脚体と床との接触面の配置態様に応じて配置態様が定まる許容存在領域（たとえば支持多角形）に収まるという条件である。第１指定要件は、許容存在範囲の配置態様（形状、サイズ、位置および姿勢）に応じて定まるＺＭＰ修正量ｘzmp_addの下限値ｘzmp_add_minおよび上限値ｘzmp_add_maxを用いて関係式（４２）により定義される。
【００７３】
【数２０】
0005859036.tif 000021
【００７４】
他の指定要件としての「第２指定要件」は、目標着床位置ｘswgの指定基準に応じた評価関数ｆ（ｘswg）が最大値または最小値を示すという条件である。本実施形態では「指定基準」が参照着床位置ｘswg_refに対する合致であり、評価関数ｆ（ｘswg）は関係式（４４）により、目標着床位置ｘswgと参照着床位置ｘswg_refとの間隔の２次関数として定義される。
【００７５】
【数２１】
0005859036.tif 000022
【００７６】
なお、評価関数ｆ（ｘswg）は２次関数ではなく、１次関数または指数関数など、当該間隔（ノルム）の増加関数または減少関数として定義されていてもよい。
【００７７】
第１指定要件および第２指定要件が満たされるような目標着床位置ｘswgが、線形制約付き二次計画問題の解として探索される。ここで「線形制約」とは、線形近似されるＺＭＰ修正量ｘzmp_add（または目標ＺＭＰ軌道ｘzmp（ｔ））に関する第１指定要件が充足されるという制約である。評価関数ｆ（ｘswg）が２次関数であるため、目標着床位置ｘswgの最適解探索のための高速計算が可能となる。
【００７８】
第２演算処理要素２２により、第１演算処理要素２１により決定された発散成分影響量に基づき、指定要件が満たされるようにＺＭＰ修正量ｘzmp_addに応じた目標着床位置ｘswgが決定される（図３／ＳＴＥＰ０５）。
【００７９】
このように決定された目標着床位置ｘswgを含む今回歩容の足部軌道パラメータと、目標ＺＭＰ軌道パラメータとに基づき、関係式（０４）にしたがって倒立振子質点の位置および速度が計算され、これに対応する基体位置が算出される。さらに、基体１０の位置と足平部１５の位置・姿勢とに基づき、逆運動学モデルにしたがって脚体１４の関節角度が算出される。
【００８０】
（実験結果）
図８（１）に示されているように、ロボット１が２歩目を踏み出そうとしている期間に、当該踏み出される足とは反対側からロボット１に対して横方向（Ｙ方向）に台形状の外力が作用した場合の歩容が計算された。図８（２）〜（７）には歩容計算結果が示されている。
【００８１】
図８（２）〜（４）のそれぞれには、第１今回歩容、第２今回歩容および第１回定常歩容のそれぞれにおける着床位置のｘ座標成分ｘcur1、ｘcur2およびｘcyc1が示されている。図８（５）〜（７）のそれぞれには、第１今回歩容、第２今回歩容および第１回定常歩容のそれぞれにおける着床位置のｙ座標成分ｙcur1、ｙcur2およびｙcyc1が示されている。目標着床位置ｘswgは実線で示され、参照着床位置ｘswg_refは破線で示されている。
【００８２】
図８（５）〜（７）に示されているように、２歩目における目標着床位置のｙ座標成分が参照着床位置ｘswg_refのｙ座標成分から約２００［ｍｍ］ずらして設定され、３歩目以降における着床位置ｘswgのｙ座標成が参照着床位置ｘswg_refのｙ座標成分ｙswg_refに一致するように歩容が生成されている。すなわち、２歩目を踏み出そうとしている途中でロボット１に対してＹ方向に作用した外力に応じて、ロボット１が同方向に足部を踏み出して姿勢の安定が図られている。
【００８３】
（本発明の他の実施形態）
着床可能な範囲が制限されている場合にも同様にロボット１の歩容が制御されてもよい。ロボット１の進行方向に複数の障害物が存在し、当該複数の障害物との干渉を回避するように着床可能な範囲が関係式（４６）により近似的に表現される場合について考察する。
【００８４】
【数２２】
0005859036.tif 000023
【００８５】
ここでＨはｘswg_refへの追従度合を調節する重み行列である。この場合、ロボットの着床位置ｘswgの最適化問題は、第１指定要件（関係式（３８）参照）および第２指定要件（関係式（４０）参照）に加えて、関係式（４２）により表わされるさらなる指定要件が満たされるように探索される。
【符号の説明】
【００８６】
１‥ロボット、２‥制御装置、１０‥基体、１４‥脚体、２１‥第１演算処理要素、２２‥第２演算処理要素。
【図１】
0005859036.tif 000024
【図２】
0005859036.tif 000025
【図３】
0005859036.tif 000026
【図４】
0005859036.tif 000027
【図５】
0005859036.tif 000028
【図６】
0005859036.tif 000029
【図７】
0005859036.tif 000030
【図８】
0005859036.tif 000031