(57)【特許請求の範囲】
【請求項１】
脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置であって、
前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定する条件設定手段と、
前記条件設定手段により設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成する軌道生成手段と、
を備える、ことを特徴とする重心高さ軌道生成装置。
【請求項２】
請求項１記載の重心高さ軌道生成装置であって、
前記条件設定手段は、所定のサンプリング周期で離散化を行い、前記第１及び第２制約条件を、夫々、前記全サンプリング点に対応させて、第３制約条件を設定する、
ことを特徴とする重心高さ軌道生成装置。
【請求項３】
請求項２記載の重心高さ軌道生成装置であって、
前記軌道生成手段は、ＺＭＰ偏差を０に近づけるための評価式を前記所定のサンプリング周期に対応させた第１評価関数と、前記重心高さをより高くするため評価式を前記所定のサンプリング周期に対応させた第２評価関数と、を所定の比率で合成し第３評価関数を生成する、
ことを特徴とする重心高さ軌道生成装置。
【請求項４】
請求項３記載の重心高さ軌道生成装置であって、
前記所定の比率は、前記ＺＭＰ偏差を減少させる量と、前記膝関節を伸ばす量と、に基づいて、設定される、
ことを特徴とする重心高さ軌道生成装置。
【請求項５】
請求項４記載の重心高さ軌道生成装置であって、
前記所定の比率を決める重み行列及び重みベクトルを変更する変更手段を更に備える、ことを特徴とする重心高さ軌道生成装置。
【請求項６】
請求項３乃至５のうちいずれか１項記載の重心高さ軌道生成装置であって、
前記軌道生成手段は、前記条件設定手段により設定された前記第３制約条件と、前記生成した第３評価関数と、に基づいて、凸２次計画問題を構成し最適解を求め、該求めた最適解に基づいて、前記重心高さ軌道を生成する、
ことを特徴とする重心高さ軌道生成装置。
【請求項７】
請求項６記載の重心高さ軌道生成装置であって、
前記軌道生成手段は、前記所定のサンプリング周期毎に、前記凸２次計画問題を構成し最適解を求め、該求めた最適解に基づいて、前記重心高さ軌道を更新する、
ことを特徴とする重心高さ軌道生成装置。
【請求項８】
脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置の生成方法であって、
前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定するステップと、
前記設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成するステップと、
を含む、ことを特徴とする重心高さ軌道生成装置の生成方法。
【請求項９】
脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置のプログラムであって、
前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定する処理と、
前記設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成する処理と、
をコンピュータに実行させる、ことを特徴とする重心高さ軌道生成装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚式ロボットの重心高さ軌道を生成する重心高さ軌道生成装置、その生成方法及びプログラムに関するものである。
【背景技術】
【０００２】
脚式ロボットにおける重心高さ軌道を生成する方法として、一般的に、多項式やスプライン等の区分多項式補間による軌道生成が行われている。しかしながら、この方法は、適切に端点や補間点を選択しないと、鉛直方向に過大な加速度が発生する、あるいは、膝が伸びきってしまい歩行が破綻する、というような問題が生じ得る。
【０００３】
この膝関節が伸びきらないようにするための簡便な手法として、重心高さ軌道を大きく下げた（例えば、常に膝を深く曲げた姿勢）軌道に設定することが行われている。しかしながら、重心高さ軌道を低く設定すると膝に対する負荷が増大し、そのアクチュエータに対して累積過負荷が生じる可能性が高くなる。その場合、足首ピッチ関節にも非常に大きな可動域を要求することとなる。一方で、加速度に関しては、脚式ロボットの鉛直方向の重心加速度が−ｇに近づくということは、支持脚が地面から浮きそうな不安定状態を意味しており、歩行中であれば原則的に回避すべき事である。一方、走行中であれば、空中相に入る瞬間に鉛直加速度が−ｇに達するように制御する必要があり、安定的な歩行には脚式ロボットの鉛直方向の重心加速度を設定された範囲に制御する必要がある。
【０００４】
すなわち、脚式ロボットの重心高さ軌道は、脚式ロボットの重心高さをできる限り高くして膝関節の負荷を低減すること、脚式ロボットの鉛直方向の重心加速度を設定された範囲内に制御すること、という要求を満たす必要がある。
【０００５】
さらに、脚式ロボットの水平方向の軌道生成においては、一般的に、ＺＭＰ（Zero Moment Point）方程式を用いてその軌道計算が行われている。また、ＺＭＰ方程式は非線形であり容易に解くことができない為、重心高さを一定と仮定した線形倒立振子モデルを用いて、その軌道生成が行われている。このように線形化することによって解析解を得ることが可能となり、現代制御、予見制御、モデル予測制御などの先進的な制御則を適用することも可能となる。
【０００６】
しかしながら、脚式ロボットの水平方向の軌道生成を線形倒立振子モデルに基づいて生成し、重心高さ軌道は、それとは独立した設計を行った場合において、線形倒立振子モデルに基づいた一定の重心高さ軌道と、実際の非線形倒立振子モデルに基づいた重心高さ軌道と、の間にいわゆるＺＭＰ偏差が生じる。
【０００７】
これに対して、初回の予見制御による軌道生成後にモデル誤差に起因するＺＭＰ偏差を計算し、そのＺＭＰ偏差に基づいて再度予見制御による軌道生成を行う方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１１４２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１に示す方法においては、近似的な計算を用いているため、ＺＭＰ偏差が大きいときは、そのＺＭＰ偏差を除去しきれず、歩行が不安定化する虞がある。
【００１０】
本発明は、このような問題点を解決するためになされたものであり、脚式ロボットの膝関節へ負荷を軽減しつつ、安定的な歩行が可能な重心高さ軌道を生成することができる重心高さ軌道生成装置、その生成方法及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための本発明の一態様は、脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置であって、前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定する条件設定手段と、前記条件設定手段により設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成する軌道生成手段と、を備える、ことを特徴とする重心高さ軌道生成装置である。
この一態様において、前記条件設定手段は、所定のサンプリング周期で離散化を行い、前記第１及び第２制約条件を、夫々、前記全サンプリング点に対応させて、第３制約条件を設定してもよい。
この一態様において、前記軌道生成手段は、ＺＭＰ偏差を０に近づけるための評価式を前記所定のサンプリング周期に対応させた第１評価関数と、前記重心高さをより高くするため評価式を前記所定のサンプリング周期に対応させた第２評価関数と、を所定の比率で合成し第３評価関数を生成してもよい。
この一態様において、前記所定の比率は、前記ＺＭＰ偏差を減少させる量と、前記膝関節を伸ばす量と、に基づいて、設定されてもよい。
この一態様において、前記所定の比率を決める重み行列及び重みベクトルを変更する変更手段を更に備えていてもよい。
この一態様において、前記軌道生成手段は、前記条件設定手段により設定された前記第３制約条件と、前記生成した第３評価関数と、に基づいて、凸２次計画問題を構成し最適解を求め、該求めた最適解に基づいて、前記重心高さ軌道を生成してもよい。
この一態様において、前記軌道生成手段は、前記所定のサンプリング周期毎に、前記凸２次計画問題を構成し最適解を求め、該求めた最適解に基づいて、前記重心高さ軌道を更新してもよい。
他方、上記目的を達成するための本発明の一態様は、脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置の生成方法であって、前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定するステップと、前記設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成するステップと、を含む、ことを特徴とする重心高さ軌道生成装置の生成方法であってもよい。
また、上記目的を達成するための本発明の一態様は、脚式ロボットにおける重心高さ軌道を生成する重心高さ軌道生成装置のプログラムであって、前記脚式ロボットの膝関節が伸びきらない範囲で前記重心高さをより高くするための前記重心高さに対する第１制約条件と、前記脚式ロボットにおける鉛直方向の重心加速度に対する、垂直床反力に基づいた上限値及び前記膝関節負荷に基づいた下限値の第２制約条件と、を設定する処理と、前記設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、前記重心高さ軌道を生成する処理と、をコンピュータに実行させる、ことを特徴とする重心高さ軌道生成装置のプログラムであってもよい。
【発明の効果】
【００１２】
本発明によれば、脚式ロボットの膝関節への負荷を軽減しつつ、安定的な歩行が可能な重心高さ軌道を生成することができる重心高さ軌道生成装置、その生成方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係る重心高さ軌道生成装置の概略的なシステム構成を示すブロック図である。
【図２】脚式ロボットの重心座標を示す図である。
【図３】脚式ロボットの左右脚が伸びきる直前までできる限り重心高さを大きくした状態を示す図である。
【図４】所定のサンプリング周期で離散化を行った状態を示す図である。
【図５】本発明の一実施の形態に係る重心高さ軌道生成方法を示すフローチャートである。
【図６】設定された重心高さの上限値および基準高さを示す図である。
【図７】重みベクトルを固定し重み行列を変化させた時の重心高さ軌道及びＺＭＰ偏差を示す図である。
【図８】重みベクトルを固定し重み行列を変化させた時の重心高さ軌道及びＺＭＰ偏差を示す図である。
【図９】重みベクトルを固定し重み行列を変化させた時の重心高さ軌道及びＺＭＰ偏差を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の一実施の形態に係る重心高さ軌道生成装置の概略的なシステム構成を示すブロック図である。本実施の形態に係る重心高さ軌道生成装置１は、「ＺＭＰ（Zero Moment Point）偏差をできる限り抑える、」こと、「脚式ロボットの膝関節をできる限り伸ばす」こと、というような、相反する目的を最適化問題として記述し解決するものである。これにより、脚式ロボット１００の膝関節への負荷を軽減しつつ、安定的な歩行が可能な重心高さ軌道を生成できるものである。
【００１５】
重心高さ軌道生成装置１は、重心高さ軌道の制約条件を設定する条件設定部２と、重心高さ軌道を生成する軌道生成部３と、を備えている。
【００１６】
条件設定部２は、条件設定手段の一具体例であり、脚式ロボット１００の膝関節が伸びきらない範囲で重心高さをより高くするための重心高さの第１制約条件と、脚式ロボット１００における鉛直方向の重心加速度（以下、鉛直重心加速度と称す）に対して、垂直床反力に基づいた上限値及び膝関節負荷に基づいた下限値の第２制約条件を設定する。
【００１７】
軌道生成部３は、軌道生成手段の一具体例であり、条件設定部２により設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、重心高さ軌道を生成する。
【００１８】
なお、重心高さ軌道生成装置１は、例えば、演算処理等を行うＣＰＵ（Central Processing Unit）と、ＣＰＵによって実行される演算プログラム等が記憶されたＲＯＭ（Read Only Memory）と、処理データ等を一時的に記憶するＲＡＭ（Random Access Memory）と、を有するマイクロコンピュータを中心にして、ハードウェア構成されている。また、これらＣＰＵ、ＲＯＭ、及びＲＡＭは、データバスによって相互に接続されている。
【００１９】
ここで、図２に示すように、脚式ロボット１００の重心位置を（ｘｇ、ｙｇ、ｚｇ）と定義し、ｘｙ方向の重心高さ軌道の生成に用いる線形倒立振子モデルの重心高さをｈとする。
【００２０】
ｘｙ方向において、軌道生成部３は、重心高さｚｇ＝ｈ（基準重心高さ）として、下記（１）式に示す線形化されたＺＭＰ方程式を用いて、重心高さ軌道の生成を行う。
【数１】
0005692122.tif 000002
【００２１】
上記（１）式において、重心高さｚｇを一定と仮定している。この為、重心高さ軌道を変化させた場合には、重心高さｚｇとｈとの差や重心高さｚｇの２階微分値（加速度）がＺＭＰ偏差を発生させることとなる。したがって、軌道生成部３は、ＺＭＰ誤差を発生させないように下記（２）式において、ｚｇ／（ｚｇの２階微分値（重心加速度）＋ｇ）をｈ／ｇに近づけるように重心高さ軌道を生成する。
【数２】
0005692122.tif 000003
【００２２】
また、脚式ロボット１００の膝関節が伸びきらない範囲でできる限り重心を高くするために、図３に示すように左右脚が伸びきる直前までできる限り重心高さｚｇを大きくし、膝関節への負荷を軽減する。そこで、条件設定部２は、重心高さｚｇをその最大化の評価値ｍａｘに近づける下記（３）式、及び重心高さｚｇの不等式制約条件である下記（４）式、に示す第１制約条件を設定する。なお、下記（４）式において、ｚｕは、膝関節が伸びきらないリミット値を示している。
ｚｇ→ｍａｘ        （３）式
ｚｇ≦ｚｕ        （４）式
【００２３】
また、条件設定部２は、鉛直重心加速度（ｚｇの２階微分値）の制限に関して、上限制限値（ｚｕの２階微分値）、下限制限値（ｚｌの２階微分値）を用いて、下記（５）式に示す第２制約条件を設定する。なお。上限制限値（ｚｕの２階微分値）は、例えば、脚式ロボット１００の脚部が受ける垂直床反力が小さくなり過ぎないような最適値が設定され、下限制限値（ｚｌの２階微分値）は、例えば、脚式ロボット１００の関節負荷（特に膝関節負荷）が過大とならないような最適値が設定される。
【数３】
0005692122.tif 000004
【００２４】
軌道生成部３は、上記（３）式、（４）式及び（５）式の第１制約条件を満たしつつ、上記（２）式を達成するような重心高さ軌道を生成する。これにより、膝関節が伸びきらない範囲でできる限り重心を高くすることで脚式ロボット１００の膝関節への負荷を軽減でき、ＺＭＰ誤差を低減することで歩行を安定化させることができる。
【００２５】
次に、上述した条件設定部２による制約条件の設定方法、及び軌道生成部３により重心高さ軌道の生成方法について、より具体的に説明する。
【００２６】
まず、ある時間長さＴの重心高さ軌道を生成する為に、図４に示すように、所定のサンプリング周期Δｔとして離散化を行う。入力値ｕｋとして、下記（６）式に示すような離散化システムを記述できる。
【数４】
0005692122.tif 000005
【００２７】
また、出力値として、上記（２）式乃至（５）式を記述する為に、下記（７）式を定義する。
【数５】
0005692122.tif 000006
【００２８】
次に、下記（８）式に示すように、ＮΔｔまで離散化システムを順に積算していくことで、各サンプリング点の状態変数が計算できる。
【数６】
0005692122.tif 000007
【００２９】
ここで、入力値及び出力値を下記（９）式に示すように定義すると、各出力値列は下記（１０）式に示すように計算できる。
【数７】
0005692122.tif 000008
【数８】
0005692122.tif 000009
【００３０】
また、ＮΔｔ未来までの重心高さ制約が下記（１１）式として与えられると想定する。
【数９】
0005692122.tif 000010
【００３１】
軌道生成部３は、以上の定式化された式に基づいて、上記（２）評価式を全サンプリング点について考慮し下記第１評価関数（１２）式を生成する。
【数１０】
0005692122.tif 000011
【００３２】
同様に、軌道生成部３は、以上の定式化された式に基づいて、上記（３）評価式を全サンプリング点について考慮し下記第２評価関数（１３）式を生成する。
【数１１】
0005692122.tif 000012
【００３３】
そして、軌道生成部３は、上記第１評価関数（１２）式及び第２評価関数（１３）式をバランスさせて、下記の第３評価関数（１４）式を生成する。
【数１２】
0005692122.tif 000013
【００３４】
但し、上記（１４）式において、Ｑ及びｒは、上記２つの第１及び第２評価関数（１２）式及び（１３）式の比率を決定する重み行列及び重みベクトルであり、下記（１５）式として示される。
【数１３】
0005692122.tif 000014
【００３５】
なお、上記重み行列Ｑ及び重みベクトルｒは、例えば、ＺＭＰ偏差をどれだけ抑えたいか、あるいは、重心高さ軌道をどれだけ上限付近まで高くしたいか（膝関節をどれだけ伸ばした状態にしたいか）、などのユーザの意思で任意に調整を行うことができる。例えば、ユーザは、入力装置（変更手段の一具体例）などを介して、上記重み行列Ｑ及び重みベクトルｒを設定、変更できる。
【００３６】
また、後述の如く、重心高さ軌道を生成した後、ＺＭＰ偏差を計算し、さらに、残留するＺＭＰ偏差を減少させるように、再度、重心高さ軌道を生成し、あるいは、補正を行う場合、その生成処理あるいは補正処理の性能を考慮して、重み行列Ｑ及び重みベクトルｒを調整してもよい。
【００３７】
次に、条件設定部２は、上記（２）式及び（３）式と同様に、上記（４）式を全サンプリング点について考慮し下記制約条件（１６）式を設定する。
【数１４】
0005692122.tif 000015
【００３８】
同様に、条件設定部２は、上記（５）式を全サンプリング点について考慮し下記制約条件（１７）式を設定する。
【数１５】
0005692122.tif 000016
【００３９】
そして、条件設定部２は、上記制約条件（１６）式及び（１７）式に基づいて、下記第３制約条件（１８）式を設定する。
【数１６】
0005692122.tif 000017
【００４０】
最後に、軌道生成部３は、上記（１４）式及び（１８）式に基づいて、下記（１９）式に示すように、凸２次計画問題を構成する。
【数１７】
0005692122.tif 000018
【００４１】
軌道生成部３は、上記構成した凸２次計画問題を、例えばアクティブセット法や内点法などの周知のソルバーを用いて解き、最適解Ｕｋを求める。そして、軌道生成部３は、求めた最適解Ｕｋに基づいて、下記（２０）式を用いて、重心高さ軌道ｚｋを所定のサンプリング周期毎に更新する。これにより、重心高さ軌道がオンラインで生成される。
Ｗｐｋ＋１＝Ｇｐ１ｚｋ＋Ｇｐ２Ｕｋ        （２０）式
【００４２】
図５は、本実施の形態に係る重心高さ軌道生成方法を示すフローチャートである。
まず、初期化処理として、以下（ステップＳ１０１）から（ステップＳ１０４）の処理を行う。所定のサンプリング周期Δｔ、基準重心高さｈ、鉛直重心加速度の上限制限値（ｚｕの２階微分値）、及び鉛直重心加速度の下限制限値（ｚｌの２階微分値）を夫々設定する（ステップＳ１０１）。離散システムにおけるシステム行列ベクトルＡ、ｂ、ｃｐ、ｃａ、ｃｓの計算を行う（ステップＳ１０２）。第３評価関数の比率を決める重み行列Ｑ、及び重みベクトルｒの設定を行う（ステップＳ１０３）。出力値系列の係数Ｇｐ１、Ｇｐ２、Ｇａ１、Ｇａ２、Ｇｓ１、Ｇｓ２を計算する（ステップＳ１０４）。
【００４３】
次に、現在の重心高さ状態ｚｋを設定し（ステップＳ１０５）、離散システムを用いて出力値列を計算する。その後、重心高さ制約条件Ｌｐｋ＋１を設定し（ステップＳ１０６）、重み行列Ｑ及び重みベクトルｒを含む上記（１４）式に示す第３評価関数、及び上記（１８）式に示す第３制約条件を求める。さらに、第３評価関数と求めた第３制約条件とに基づいて、凸２次計画係数Ｈｋ、ｆｋ、Ｐｋ、ｑｋを計算し（ステップＳ１０７）、凸２次計画問題を構成する。構成した凸２次計画問題を解き、最適解Ｕｋを求める（ステップＳ１０８）。そして、求めた最適解Ｕｋを用いて、重心高さ軌道を更新し（ステップＳ１０９）、所定のサンプリング周期を更新する（ステップＳ１１０）。
【００４４】
本実施の形態において、重心高さの上限値が、例えば、図６に示す実線（ａ）として設定され、基準高さｈが図６に示す点線（ｂ）として設定され、鉛直重心加速度の下限値（ｚｌの２階微分値）＝−４．０[ｍ／ｓ２]、鉛直重心加速度の上限値（ｚｕの２階微分値）＝４．０[ｍ／ｓ２]とする場合を想定する。
【００４５】
図７乃至図９は、重みベクトルｒ＝［ｒ  ｒ  ・・・ｒ］、ｒ＝１に固定し、重み行列Ｑ＝ｄｉａｇ（Ｑ、Ｑ、・・・、Ｑ）のＱを３段階に変化させた時の重心高さ軌道及びＺＭＰ偏差を示す図である。図７は、重みベクトルｒ＝１として設定し、重み行列Ｑ＝１×１０−５として設定したときの重心高さ軌道及びＺＭＰ偏差を示す図である。図８は、重みベクトルｒ＝１として設定し、重み行列Ｑ＝５×１０−３として設定したときの重心高さ軌道及びＺＭＰ偏差を示す図である。図９は、重みベクトルｒ＝１として設定し、重み行列Ｑ＝１として設定したときの重心高さ軌道及びＺＭＰ偏差を示す図である。図７乃至図９に示すように、重心高さがより高く、かつＺＭＰ誤差が少ない重心高さ軌道が生成されていることが分かる。
【００４６】
以上、本実施の形態に係る重心高さ軌道生成装置１において、脚式ロボット１００の膝関節が伸びきらない範囲で重心高さをより高くするための重心高さに対する第１制約条件と、脚式ロボット１００における鉛直重心加速度に対する、垂直床反力に基づいた上限値及び膝関節負荷に基づいた下限値の第２制約条件と、を設定し、設定された第１及び第２制約条件を満たしつつ、かつ、重心高さを一定とする線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、重心高さを変化させる非線形倒立振子モデルのＺＭＰ方程式に基づいたＺＭＰと、のＺＭＰ偏差を０に近づけることで、重心高さ軌道を生成する。これにより、脚式ロボット１００の膝関節への負荷を軽減しつつ、安定的な歩行が可能な重心高さ軌道を生成できる。
【００４７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば、上記条件設定部２及び軌道生成部３が行う処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。
【００４８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ）を含む。
【００４９】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【産業上の利用可能性】
【００５０】
本発明は、例えば、二足歩行ロボットなどの脚式ロボットの膝関節への負荷を軽減しつつ、安定的な歩行が可能な重心高さ軌道を生成できる重心高さ軌道生成装置に利用可能である。
【符号の説明】
【００５１】
１    重心高さ軌道生成装置
２    条件設定部
３    軌道生成部
１００    脚式ロボット
【図１】
0005692122.tif 000019
【図４】
0005692122.tif 000020
【図５】
0005692122.tif 000021
【図６】
0005692122.tif 000022
【図７】
0005692122.tif 000023
【図８】
0005692122.tif 000024
【図９】
0005692122.tif 000025
【図２】
0005692122.tif 000026
【図３】
0005692122.tif 000027