(57)【特許請求の範囲】
【請求項１】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置であって、
少なくとも下肢の運動とＺＭＰを設定する手段と、
該設定されたＺＭＰ上で、該設定された運動によって生じる前記脚式移動ロボットの機体のヨー軸モーメントを算出する手段と、
該ヨー軸モーメントを打ち消す上肢運動を算出する手段と、
該算出された上肢運動に従って、該設定された運動を修正する手段と、
を具備することを特徴とする脚式移動ロボットのための動作制御装置。
【請求項２】
前記の上肢は、肩関節及び肘関節にそれぞれ１以上の回転自由度を有し、
前記のヨー軸モーメントを打ち消す上肢運動は、該肩関節又は肘関節の駆動を利用した運動である、
ことを特徴とする請求項１に記載の脚式移動ロボットのための動作制御装置。
【請求項３】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置であって、
少なくとも下肢の運動とＺＭＰを設定する手段と、
該設定されたＺＭＰ上で、該設定された運動によって生じる前記脚式移動ロボットの機体のピッチ軸又はロール軸モーメントのうち少なくとも１つを算出する手段と、
該ピッチ軸又はロール軸モーメントを打ち消す下肢又は体幹部のうち少なくとも一方の運動を算出する第１の運動算出手段と、
該設定されたＺＭＰ上で、該算出された下肢又は体幹の運動によって生じる前記脚式移動ロボットの機体のヨー軸モーメントを算出する手段と、
該ヨー軸モーメントを打ち消す上肢運動を算出する第２の運動算出手段と、
前記第１及び第２の運動算出手段により算出された運動に従って、該設定された運動を修正する手段と、
を具備することを特徴とする脚式移動ロボットのための動作制御装置。
【請求項４】
前記の上肢は、肩関節及び肘関節にそれぞれ１以上の回転自由度を有し、
前記のヨー軸モーメントを打ち消す上肢運動は、該肩関節又は肘関節の駆動を利用した運動である、
ことを特徴とする請求項３に記載の脚式移動ロボットのための動作制御装置。
【請求項５】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置であって、
（ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定する手段と、
（ｂ）前記手段（ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段と、
（ｃ）該設定されたＺＭＰ上で、前記手段（ａ）により設定された足部、体幹、上肢の運動によって前記手段（ｂ）により前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを算出する手段と、
（ｄ）前記手段（ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部運動の解を求める手段と、
（ｅ）前記手段（ｄ）により求められた腰部運動によって、該設定されたＺＭＰ上で前記手段（ｂ）により前記脚式移動ロボットのヨー軸回りに生じるモーメントを算出する手段と、
（ｆ）前記手段（ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の解を求める手段と、
（ｇ）前記手段（ｄ）及び前記手段（ｆ）により求められた腰部運動及び上肢運動に基づいて前記脚式移動ロボットの全身運動を導出する手段と、
を具備することを特徴とする脚式移動ロボットのための動作制御装置。
【請求項６】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置であって、
（Ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定する手段と、
（Ｂ）前記手段（Ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段と、
（Ｃ）前記手段（Ｂ）により設定されたＺＭＰ上で前記手段（Ａ）により設定された足部、体幹、上肢の運動によって生じる前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを、前記脚式移動ロボットの非厳密モデルを用いて算出する手段と、
（Ｄ）前記手段（Ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部の水平面内運動の近似解を求める手段と、
（Ｅ）前記手段（Ｂ）により設定されたＺＭＰ上で前記手段（Ｄ）により求められた腰部の水平面内運動の近似解によって前記脚式移動ロボットのヨー軸回りに生じるモーメントを、前記脚式移動ロボットの非厳密モデルを用いて算出する手段と、
（Ｆ）前記手段（Ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の近似解を求める手段と、
（Ｇ）前記手段（Ｂ）により設定されたＺＭＰ上で前記手段（Ｄ）及び前記手段（Ｆ）により算出された全身運動実行時における生じる前記脚式移動ロボットのピッチ軸、ロール軸、及びヨー軸回りのモーメントを、前記脚式移動ロボットの厳密モデルを用いて算出する手段と、
（Ｈ）前記手段（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値未満であれば全身運動の解とする手段と、
（Ｉ）前記手段（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値以上であれば、前記手段（Ｂ）により設定されたＺＭＰ上における非厳密モデルのモーメントを修正して、前記手段（Ｄ）又は前記手段（Ｆ）に再投入する手段と、
を具備することを特徴とする脚式移動ロボットのための動作制御装置。
【請求項７】
前記非厳密モデルは前記脚式移動ロボットに関する線形又は非干渉の多質点近似モデルであり、
前記厳密モデルは前記ロボットに関する剛体モデル、又は、非線形又は干渉の多質点近似モデルである、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項８】
さらに、
（Ｆ'）前記手段（Ａ）において設定した腰部の姿勢及び高さと、前記手段（Ｄ）において求めた腰部の水平面内運動の近似解では前記手段（Ａ）において設定した体幹運動及び上肢運動が実現できない場合、又は前記手段（Ｆ）において求めた上肢運動の近似解では前記手段（Ａ）において設定した体幹運動及び上肢運動が実現できない場合に、体幹運動及び上肢運動の再設定又は修正を行う手段、
を備えることを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項９】
前記手段（Ｄ）は、前記手段（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動、上肢運動によって生じるモーメントと、前記手段（Ｂ）により設定されたＺＭＰ上で腰部の水平面内運動によって生じるモーメントとの釣合方程式を解くことによって腰部の姿勢及び高さと水平面内運動の近似解を求める、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１０】
前記手段（Ｄ）は、時間の関数を周波数の関数に置き換えて計算する、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１１】
前記手段（Ｄ）は、前記手段（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動、上肢運動によって生じるモーメントにフーリエ級数展開を適用するとともに、腰部の水平面内運動にフーリエ級数展開を適用して、腰部水平面内軌道のフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって腰部の姿勢及び高さと水平面内運動の近似解を求める、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１２】
前記の上肢運動の近似解を求める手段（Ｆ）は、前記手段（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動によって生じるモーメントの釣合方程式を解くことによって上肢運動の近似解を求める、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１３】
前記の上肢運動の近似解を求める手段（Ｆ）は、時間の関数を周波数の関数に置き換えて計算する、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１４】
前記の上肢運動の近似解を求める手段（Ｆ）は、前記手段（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動によって生じるモーメントにフーリエ級数展開を適用してフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって上肢運動の近似解を求める、
ことを特徴とする請求項６に記載の脚式移動ロボットのための動作制御装置。
【請求項１５】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御方法であって、
少なくとも下肢の運動とＺＭＰを設定するステップと、
該設定されたＺＭＰ上で、該設定された運動によって生じる前記脚式移動ロボットの機体のヨー軸モーメントを算出するステップと、
該ヨー軸モーメントを打ち消す上肢運動を算出するステップと、
該算出された上肢運動に従って、該設定された運動を修正するステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御方法。
【請求項１６】
前記の上肢は、肩関節及び肘関節にそれぞれ１以上の回転自由度を有し、
前記のヨー軸モーメントを打ち消す上肢運動は、該肩関節又は肘関節の駆動を利用した運動である、
ことを特徴とする請求項１５に記載の脚式移動ロボットのための動作制御方法。
【請求項１７】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御方法であって、
少なくとも下肢の運動とＺＭＰを設定するステップと、
該設定されたＺＭＰ上で、該設定された運動によって生じる前記脚式移動ロボットの機体のピッチ軸又はロール軸モーメントのうち少なくとも１つを算出するステップと、
該ピッチ軸又はロール軸モーメントを打ち消す下肢又は体幹部のうち少なくとも一方の運動を算出する第１の運動算出ステップと、
該設定されたＺＭＰ上で、該算出された下肢又は体幹の運動によって生じる前記脚式移動ロボットの機体のヨー軸モーメントを算出するステップと、
該ヨー軸モーメントを打ち消す上肢運動を算出する第２の運動算出ステップと、
前記第１及び第２の運動算出ステップにおいて算出された運動に従って、該設定された運動を修正するステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御方法。
【請求項１８】
前記の上肢は、肩関節及び肘関節にそれぞれ１以上の回転自由度を有し、
前記のヨー軸モーメントを打ち消す上肢運動は、該肩関節又は肘関節の駆動を利用した運動である、
ことを特徴とする請求項１７に記載の脚式移動ロボットのための動作制御方法。
【請求項１９】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御方法であって、
（ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定するステップと、
（ｂ）前記ステップ（ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定するステップと、
（ｃ）前記ステップ（ｂ）により設定されたＺＭＰ上で、前記ステップ（ａ）により設定された足部、体幹、上肢の運動によって生じる前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを算出するステップと、
（ｄ）前記ステップ（ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部運動の解を求めるステップと、
（ｅ）前記ステップ（ｂ）により設定されたＺＭＰ上で、前記ステップ（ｄ）により求められた腰部運動によって前記脚式移動ロボットのヨー軸回りに生じるモーメントを算出するステップと、
（ｆ）前記ステップ（ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の解を求めるステップと、
（ｇ）前記ステップ（ｄ）及び前記ステップ（ｆ）により求められた腰部運動及び上肢運動に基づいて前記脚式移動ロボットの全身運動を導出するステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御方法。
【請求項２０】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御方法であって、
（Ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定するステップと、
（Ｂ）前記ステップ（Ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定するステップと、
（Ｃ）前記手段（Ｂ）により設定されたＺＭＰ上で、前記ステップ（Ａ）により設定された足部、体幹、上肢の運動によって生じる前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを、前記脚式移動ロボットの非厳密モデルを用いて算出するステップと、
（Ｄ）前記ステップ（Ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部の水平面内運動の近似解を求めるステップと、
（Ｅ）前記ステップ（Ｂ）により設定されたＺＭＰ上で、前記ステップ（Ｄ）により求められた腰部の水平面内運動の近似解によって前記脚式移動ロボットのヨー軸回りに生じるモーメントを、前記脚式移動ロボットの非厳密モデルを用いて算出するステップと、
（Ｆ）前記ステップ（Ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の近似解を求めるステップと、
（Ｇ）前記ステップ（Ｂ）により設定されたＺＭＰ上で、前記ステップ（Ｄ）及び前記ステップ（Ｆ）により算出された全身運動実行時における生じる前記脚式移動ロボットのピッチ軸、ロール軸、及びヨー軸回りのモーメントを、前記脚式移動ロボットの厳密モデルを用いて算出するステップと、
（Ｈ）前記ステップ（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値未満であれば全身運動の解とするステップと、
（Ｉ）前記ステップ（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値以上であれば、前記ステップ（Ｂ）により設定されたＺＭＰ上における非厳密モデルのモーメントを修正して、前記ステップ（Ｄ）又は前記ステップ（Ｆ）に再投入するステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御方法。
【請求項２１】
前記非厳密モデルは前記脚式移動ロボットに関する線形又は非干渉の多質点近似モデルであり、
前記厳密モデルは前記ロボットに関する剛体モデル、又は、非線形又は干渉の多質点近似モデルである、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２２】
さらに、
（Ｆ'）前記ステップ（Ａ）において設定した腰部の姿勢及び高さと、前記ステップ（Ｄ）において求めた腰部の水平面内運動の近似解では前記ステップ（Ａ）において設定した体幹運動及び上肢運動が実現できない場合、又は前記ステップ（Ｆ）において求めた上肢運動の近似解では前記ステップ（Ａ）において設定した体幹運動及び上肢運動が実現できない場合に、体幹運動及び上肢運動の再設定又は修正を行うステップ、
を備えることを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２３】
前記ステップ（Ｄ）では、前記ステップ（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動、上肢運動によって生じるＺＭＰ上のモーメントと、前記ステップ（Ｂ）により設定されたＺＭＰ上で腰部の水平面内運動によって生じるモーメントとの釣合方程式を解くことによって腰部の姿勢及び高さと水平面内運動の近似解を求める、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２４】
前記ステップ（Ｄ）では、時間の関数を周波数の関数に置き換えて計算する、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２５】
前記ステップ（Ｄ）では、前記ステップ（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動、上肢運動によって生じるモーメントにフーリエ級数展開を適用するとともに、腰部の水平面内運動にフーリエ級数展開を適用して、腰部水平面内軌道のフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって腰部の姿勢及び高さと水平面内運動の近似解を求める、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２６】
前記の上肢運動の近似解を求めるステップ（Ｆ）では、前記ステップ（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動によって生じるモーメントの釣合方程式を解くことによって上肢運動の近似解を求める、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２７】
前記の上肢運動の近似解を求めるステップ（Ｆ）では、時間の関数を周波数の関数に置き換えて計算する、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２８】
前記の上肢運動の近似解を求めるステップ（Ｆ）では、前記ステップ（Ｂ）により設定されたＺＭＰ上で足部運動、体幹運動によって生じるモーメントにフーリエ級数展開を適用してフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって上肢運動の近似解を求める、
ことを特徴とする請求項２０に記載の脚式移動ロボットのための動作制御方法。
【請求項２９】
少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うロボット装置において、
前記ロボットの運動及びＺＭＰを設定する運動設定手段と、
該設定された運動により生じる該設定されたＺＭＰ上における前記ロボットの機体のヨー軸回りモーメントを算出するモーメント算出手段と、
該算出されたヨー軸回りモーメントを減少させる上肢運動を算出する運動算出手段と、
該算出された上肢運動に基づいて、上記設定された運動を修正する運動修正手段と、
を具備することを特徴とするロボット装置。
【請求項３０】
前記運動設定手段により設定される運動は、少なくとも前記ロボットの上肢又は体幹部又は下肢のうちいずれかの運動である、
ことを特徴とする請求項２９に記載のロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、生体のメカニズムや動作を模した構造を有するリアリスティックなロボットのための動作制御装置及び動作制御方法、並びにロボット装置に係り、特に、ヒトやサルなどの直立歩行型の身体メカニズムや動作を模した構造を有する脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置に関する。
【０００２】
さらに詳しくは、本発明は、高速歩行などの脚式作業を安定且つ正確に実現する脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置に係り、特に、歩行などの脚式作業時に機体に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら安定且つ正確に駆動する脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ＲＯＢＯＴＡ(奴隷機械)"に由来すると言われている。わが国においてロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００４】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々の幅広いサービスを提供することができる。なかでも脚式の移動ロボットは、クローラ式やタイヤ式の移動ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段や梯子の昇降や障害物の乗り越えや、整地・不整地の区別を問わない柔軟な歩行・走行動作を実現できるという点で優れている。
【０００５】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」のロボット（humanoid robot）など、脚式移動ロボットに関する研究開発が進展し、実用化への期待もますます高まってきている。
【０００６】
人間形若しくは人間型と呼ばれる２足直立歩行の脚式移動ロボットを研究・開発する意義を、例えば以下の２つの視点から把握することができよう。
【０００７】
１つは、人間科学的な視点である。すなわち、人間の下肢及び／又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【０００８】
もう１つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行う実用ロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【０００９】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や４足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている２足歩行ロボットの方が、ユーザ（作業員）ははるかに教え易く、またロボットにとっても教わり易い筈である（例えば、高西著「２足歩行ロボットのコントロール」（自動車技術会関東支部＜高塑＞No.25, 1996 APRIL）を参照のこと）。
【００１０】
２足歩行による脚式移動を行うタイプのロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、「転倒することなく、脚を使って移動すること」と定義することができる。
【００１１】
ロボットの姿勢安定制御は、ロボットの転倒を回避する上で非常に重要である。何故ならば、転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われるからである。また、何よりも、転倒によって、ロボット本体自体、あるいは転倒するロボットと衝突する相手側の物体にも、致命的な損傷を与えてしまう危険があるからである。したがって、脚式移動ロボットの設計・開発において、歩行やその他の脚式作業時における姿勢安定制御は最も重要な技術的課題の１つである。
【００１２】
歩行時には、重力と歩行運動に伴なって生じる加速度によって、歩行系から路面には重力と慣性力、並びにこれらのモーメントが作用する。いわゆる「ダランベールの原理」によると、それらは路面から歩行系への反作用としての床反力、床反力モーメントとバランスする。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点、すなわち「ＺＭＰ（Zero Moment Point）」が存在する。
【００１３】
脚式移動ロボットの姿勢安定制御や歩行時の転倒防止に関する提案の多くは、このＺＭＰを歩行の安定度判別の規範として用いたものである。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著"LEGGED LOCOMOTION ROBOTS"（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００１４】
一般には、４足歩行よりもヒューマノイドのような２足歩行のロボットの方が、重心位置が高く、且つ、歩行時のＺＭＰ安定領域が狭い。したがって、このような路面状態の変化に伴う姿勢変動の問題は、２足歩行ロボットにおいてとりわけ重要となる。
【００１５】
２足歩行ロボットの姿勢安定度判別規範にＺＭＰを用いた提案は既に幾つかある。
【００１６】
例えば、特開平５−３０５５７９号公報に記載の脚式移動ロボットは、ＺＭＰがゼロとなる床面上の点を目標値に一致させるようにして安定歩行を行うようになっている。
【００１７】
また、特開平５−３０５５８１号公報に記載の脚式移動ロボットは、ＺＭＰが支持多面体（多角形）内部、又は、着地、離床時にＺＭＰが支持多角形の端部から少なくとも所定の余裕を有する位置にあるように構成した。この場合、外乱などを受けても所定距離だけＺＭＰの余裕があり、歩行時の機体の安定性が向上する。
【００１８】
また、特開平５−３０５５８３号公報には、脚式移動ロボットの歩き速度をＺＭＰ目標位置によって制御する点について開示している。すなわち、あらかじめ設定された歩行パターン・データを用い、ＺＭＰを目標位置に一致させるように脚部関節を駆動するとともに、上体の傾斜を検出してその検出値に応じて設定された歩行パターン・データの吐き出し速度を変更する。未知の凹凸を踏んでロボットが例えば前傾するときは、吐き出し速度を速めることで姿勢を回復することができる。またＺＭＰを目標位置に制御するので、両脚支持期で吐き出し速度を変更しても支障がない。
【００１９】
また、特開平５−３０５５８５号公報には、脚式移動ロボットの着地位置をＺＭＰ目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ＺＭＰ目標位置と実測位置とのずれを検出し、それを解消するように脚部の一方又は双方を駆動するか、又はＺＭＰ目標位置まわりにモーメントを検出してそれが零になる様に脚部を駆動することで、安定歩行を実現する。
【００２０】
また、特開平５−３０５５８６号公報には、脚式移動ロボットの傾斜姿勢をＺＭＰ目標位置によって制御する点について開示している。すなわち、ＺＭＰ目標位置まわりのモーメントを検出し、モーメントが生じたときは、それが零になるように脚部を駆動することで安定歩行を行う。
【００２１】
上述したように、ＺＭＰを安定度判別規範に用いたロボットの姿勢安定度制御は、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点を探索することにある。
【００２２】
しかしながら、本発明者等の先験的な検証の結果、ロボットが高速に脚式動作する際には、機体に対してはピッチ軸並びにロール軸回りのモーメントだけでなく、ヨー軸すなわちＺ軸回りにもモーメントが発生することが判明した。
【００２３】
図１１には、２足脚式移動ロボットの歩行速度［秒／歩］とヨー軸方向に発生するモーメントＮｍとの関係（例）を表している。同図からも判るように、脚式移動ロボットが１歩当りに要する時間が短くなる、すなわち歩行速度が増加するにつれて、ヨー軸モーメントは著しく増大していく。
【００２４】
このようなヨー軸モーメントは、やがて機体を旋回させるような作用を及ぼし、ロボットの足底と路面間にヨー軸回りの滑りが生じ、これが歩行の安定性に大きく影響するなど、期待された脚式作業を安定且つ正確に実現する上で障害となる。さらに、このヨー軸モーメントの影響が甚だしくなると、ロボットを転倒へと導き、期待や衝突物の損壊という事態も招きかねない。
【００２５】
例えば、本出願人に既に譲渡されている特願２０００−２０６５３１号明細書には、任意の足部運動パターン、ＺＭＰ軌道、体幹運動パターン、上肢運動パターンに基づいて腰部運動パターンを導出することによって、２足脚式移動ロボットの安定歩行を実現した全身運動パターンを得る点について開示されている。同明細書に記載のロボットの歩行制御装置及び歩行制御方法によれば、ロボットが直立不動時や普通歩行時など様々な動作状態であっても、安定歩行するように下肢の歩容を決定することができる。特に、直立不動時に上体を用いた身振り・手振りの動作を印加した場合には、かかる上体の歩容に応じて、安定歩行できるような下肢の歩容を決定することができる。
【００２６】
しかしながら、同明細書では、足部、体幹、そして上肢の運動によってロボットの機体に生じる設定ＺＭＰ上のロール軸並びにピッチ軸回りのモーメントＭx，Ｍyをキャンセルすることによって安定歩行可能な全身協調運動を導出する点について記載されているものの、かかる全身協調運動の際に発生するヨー軸回りのモーメントＭzについては考慮していない。
【００２７】
センサなどにより機体のヨー軸回りの滑りを検知した後に、腕を振るなどのヨー軸回りのモーメントを打ち消すための補正制御を行う方法も考えられる。しかしながら、この場合は事後的に補正制御を行うので、どうしても多少滑ってしまうという問題点がある。
【００２８】
また、腕を振るなどの動作は、重力と無関係な面の運動なので、モーメントを打ち消した後、さらに腕を所望の位置へ戻す制御が必要になる。
【００２９】
さらに、Ｚ方向の運動を共有してしまう回転型の関節で構成された人間形の腕を用いる場合には、ヨー軸回りのモーメントを打ち消すために腕を振ると、同時に、ロボットの安定性を損なう、ピッチ軸回り、ロール軸回りのモーメントをも発生してしまいがちである。
【００３０】
つまり、ヨー軸の滑りを抑制するために事後的に腕を振ると、ヨー軸回りの滑りは治るものの、歩行そのものが不安定になってしまうという問題が生じる。
【００３１】
この現象は、特に高速で運動する程大きくなり、高速運動（走行）を行うロボットには好ましい制御ではない。
【００３２】
さらに付言すれば、人間形の腕を用いて、ヨー軸回りのモーメントのみを発生させるには非人間的で不自然な運動になり易く（例えば、Ｚ方向に運動が発生しないように、水平面内でバーベルを回すような運動）、表現力が重要視されるエンターテイメント用のロボットとしては致命的である。
【００３３】
【発明が解決しようとする課題】
本発明の目的は、直立歩行型の身体メカニズムや動作を模した構造を有する脚式移動ロボットのための、優れた動作制御装置及び動作制御方法、並びにロボット装置、並びにロボット装置を提供することにある。
【００３４】
本発明のさらなる目的は、高速歩行などの脚式作業を安定且つ正確に実現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びにロボット装置を提供することにある。
【００３５】
本発明のさらなる目的は、脚式作業時に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら機体を安定且つ正確に駆動することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びにロボット装置を提供することにある。
【００３６】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置又は動作制御方法であって、
少なくとも上肢、体幹、下肢のいずれかについての運動を設定する手段又はステップと、
該設定された上肢、体幹部、下肢の運動によって生じる設定ＺＭＰ上におけるロボットの機体のヨー軸モーメントを算出する手段又はステップと、
該ヨー軸モーメントを打ち消す上肢運動を算出する手段又はステップと、
該算出された上肢運動に従って、該設定された上肢、体幹、下肢の運動を修正する手段又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御装置又は動作制御方法である。
【００３７】
［従来の技術］欄でも説明したように、とりわけ２足歩行型の足式移動ロボットにおいては、歩行速度の増加とともに機体に加わるヨー軸モーメントが著しく増大していく。このようなヨー軸モーメントは、機体の旋回や路面に対するヨー軸回りの滑り、さらにはバランスを失うことに伴う機体の転倒など、安定且つ正確な脚式作業を実現する上で障害となる。
【００３８】
本発明の第１の側面に係る脚式移動ロボットの動作制御装置並びに動作制御方法によれば、下肢、体幹部、上肢の運動の組み合わせからなる機体の運動パターンを実行する際に設定ＺＭＰ上で機体に生じるヨー軸モーメントを上肢運動によって打ち消すことができる。
【００３９】
本発明の第１の側面に係る脚式移動ロボットの動作制御装置並びに動作制御方法によれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。特に、動きそのものが重要なエンターティンメント用途のロボットには、なくてはならない技術である。なお、ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【００４０】
したがって、下肢や体幹部による脚式作業を継続しつつ、上肢の運動によって歩行やその他の脚式作業時における安定性を維持することができる。
【００４１】
上肢の運動は、より具体的には、肩関節や肘関節の駆動を利用した運動である。勿論、左右の各上肢は一般的には逆位相の動きであるが、本発明を実現する上で特にこれに限定する必要はない。
【００４２】
一般的な直立２足歩行型のロボットの機体設計によれば、体幹部（例えば体幹ヨー軸）よりも肩関節や肘関節の方が広い可動角を持つので、このような上肢の運動により、機体のヨー軸モーメントを効率的且つ高精度に打ち消して、高度な姿勢安定性を実現することができる。
【００４３】
また、このような上肢運動は、ロボットの上半身の動作を表現力豊かに見せるといった演出効果がある。
【００４４】
また、本発明の第２の側面は、少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置又は動作制御方法であって、
少なくとも上肢、体幹、下肢のいずれかについての運動を設定する手段又はステップと、
該設定された上肢、体幹部、下肢の運動によって生じる設定ＺＭＰ上におけるロボットの機体のピッチ軸及び／又はロール軸モーメントを算出する手段又はステップと、
該ピッチ軸及び／又はロール軸モーメントを打ち消す下肢、体幹部の運動を算出する手段又はステップと、
該算出された下肢、体幹の運動によって生じる設定ＺＭＰ上におけるロボットの機体のヨー軸モーメントを算出する手段又はステップと、
該ヨー軸モーメントを打ち消す上肢運動を算出する手段又はステップと、
該算出された上肢、体幹部、下肢の運動に従って、該設定された上肢、体幹、下肢の運動を修正する手段又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御装置又は動作制御方法である。
【００４５】
２足歩行型の脚式移動ロボットが、上肢、体幹部、下肢の運動からなる全身運動を行う場合、ロボットの機体には、ピッチ軸、ロール軸、並びにヨー軸の各軸回りにモーメントが発生する。
【００４６】
本発明の第２の側面に係る脚式移動ロボットのための動作制御装置又は動作制御方法によれば、下肢、体幹部、上肢の運動の組み合わせからなる機体の運動パターンを実行する際に設定ＺＭＰ上で機体に生じるピッチ軸及びロール軸回りの各モーメントを打ち消す下肢及び体幹の運動を算出した後、さらに、この下肢及び体幹の運動によって設定ＺＭＰ上において機体に生じるヨー軸回りのモーメントを打ち消すような上肢の運動を算出することができる。したがって、歩行などの脚式作業時に機体に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら安定且つ正確な全身協調運動を実現することができる。
【００４７】
とりわけ２足歩行型の脚式移動ロボットにおいては、歩行速度の増加とともに機体に加わるヨー軸モーメントが著しく増大していくが、このようなヨー軸モーメントは、機体の旋回や路面に対するヨー軸回りの滑りや機体の転倒など機体動作の障害となるが、本発明の第２の側面によれば、これを好適に取り除くことができる。
【００４８】
また、本発明の第２の側面に係る脚式移動ロボットの動作制御装置並びに動作制御方法によれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【００４９】
したがって、下肢や体幹部による脚式作業を継続しつつ、上肢の運動によって歩行やその他の脚式作業時における安定性を維持することができる。
【００５０】
上肢の運動は、より具体的には、肩関節や肘関節の駆動を利用した運動である。勿論、本発明の要旨を、左右の各上肢が逆位相又は対称的な動きに限定する必要はない。
【００５１】
一般的な直立２足歩行型のロボットの機体設計によれば、体幹部（例えば体幹ヨー軸）よりも肩関節や肘関節の方が広い可動角を持つので、このような上肢の運動により、機体のヨー軸モーメントを効率的且つ高精度に打ち消して、高度な姿勢安定性を実現することができる。また、このような上肢運動は、ロボットの上半身の動作を表現力豊かに見せるといった演出効果がある。
【００５２】
また、本発明の第３の側面は、少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置又は動作制御方法であって、
（ａ）要求された動作を実現するための少なくとも足部運動、体幹運動、上肢運動、腰部の姿勢及び高さのうちいずれかを設定する手段又はステップと、
（ｂ）前記手段又はステップ（ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段又はステップと、
（ｃ）前記手段又はステップ（ａ）により設定された足部、体幹、上肢の運動によって前記手段又はステップ（ｂ）により設定されたＺＭＰ上で生じる前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを算出する手段又はステップと、
（ｄ）前記手段又はステップ（ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部運動の解を求める手段又はステップと、
（ｅ）前記手段又はステップ（ｄ）により求められた腰部運動によって前記手段又はステップ（ｂ）により設定されたＺＭＰ上で前記脚式移動ロボットのヨー軸回りに生じるモーメントを算出する手段又はステップと、
（ｆ）前記手段又はステップ（ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の解を求める手段又はステップと、
（ｇ）前記手段又はステップ（ｄ）及び前記手段又はステップ（ｆ）により求められた腰部運動及び上肢運動に基づいて前記脚式移動ロボットの全身運動を導出する手段又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御装置又は動作制御方法である。
【００５３】
本発明の第３の側面に係る脚式移動ロボットのための動作制御装置又は動作制御方法によれば、下肢、体幹部、上肢の運動の組み合わせからなる機体の運動パターンを実行する際に設定ＺＭＰ上で機体に生じるピッチ軸及びロール軸回りの各モーメントを打ち消す下肢及び体幹の運動を算出した後、さらに、この下肢及び体幹の運動によって設定ＺＭＰ上において機体に生じるヨー軸回りのモーメントを打ち消すような上肢の運動を算出することによって、脚式作業時に機体に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら安定且つ正確な全身協調運動を実現することができる。
【００５４】
また、本発明の第３の側面に係る脚式移動ロボットの動作制御装置並びに動作制御方法によれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【００５５】
また、本発明の第４の側面は、少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うタイプのロボットの動作制御装置又は動作制御方法であって、
（Ａ）要求された動作を実現するための少なくとも足部運動、体幹運動、上肢運動、腰部の姿勢及び高さのうちいずれかを設定する手段又はステップと、
（Ｂ）前記手段又はステップ（Ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段又はステップと、
（Ｃ）前記脚式移動ロボットの非厳密モデルを用いて、前記手段又はステップ（Ａ）により設定された足部、体幹、上肢の運動によって前記手段又はステップ（Ｂ）により設定されたＺＭＰ上で生じる前記脚式移動ロボットのピッチ軸及びロール軸回りのモーメントを算出する手段又はステップと、
（Ｄ）前記手段又はステップ（Ｃ）により算出されたピッチ軸及びロール軸回りのモーメントを打ち消す腰部運動の近似解を求める手段又はステップと、
（Ｅ）前記脚式移動ロボットの非厳密モデルを用いて、前記手段又はステップ（Ｄ）により求められた腰部運動の近似解によって前記手段又はステップ（Ｂ）により設定されたＺＭＰ上で前記脚式移動ロボットのヨー軸回りに生じるモーメントを算出する手段又はステップと、
（Ｆ）前記手段又はステップ（Ｅ）により算出されたヨー軸回りのモーメントを打ち消す上肢運動の近似解を求める手段又はステップと、
（Ｇ）前記脚式移動ロボットの厳密モデルを用いて、前記手段又はステップ（Ｄ）及び前記手段又はステップ（Ｆ）により算出された全身運動実行時における前記手段又はステップ（Ｂ）により設定されたＺＭＰ上で生じる前記脚式移動ロボットのピッチ軸、ロール軸、及びヨー軸回りのモーメントを算出する手段又はステップと、
（Ｈ）前記手段又はステップ（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値未満であれば全身運動の解とする手段又はステップと、
（Ｉ）前記手段又はステップ（Ｇ）により算出されたピッチ軸、ロール軸、及びヨー軸回りのモーメントが所定の許容値以上であれば、設定ＺＭＰ上における非厳密モデルのモーメントを修正して、前記手段又はステップ（Ｄ）又は前記手段又はステップ（Ｆ）に再投入する手段又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作制御装置又は動作制御方法である。
【００５６】
本発明の第４の側面に係る脚式移動ロボットのための動作制御装置又は動作制御方法によれば、下肢、体幹部、上肢の運動の組み合わせからなる機体の運動パターンを実行する際に設定ＺＭＰ上で機体に生じるピッチ軸及びロール軸回りの各モーメントを打ち消す下肢及び体幹の運動を算出した後、さらに、この下肢及び体幹の運動によって設定ＺＭＰ上において機体に生じるヨー軸回りのモーメントを打ち消すような上肢の運動を算出することによって、脚式作業時に機体に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら安定且つ正確な全身協調運動を実現することができる。
【００５７】
また、本発明の第４の側面に係る脚式移動ロボットの動作制御装置並びに動作制御方法によれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【００５８】
本発明の第４の側面に係る脚式移動ロボットのための動作制御装置又は動作制御方法において、非厳密モデルは前記脚式移動ロボットに関する線形及び／又は非干渉の多質点近似モデルであってもよい。また、厳密モデルは前記ロボットに関する剛体モデル、又は、非線形及び／又は干渉の多質点近似モデルであってもよい。
【００５９】
また、（Ｆ'）腰部運動の近似解を求める前記手段又はステップ（Ｄ）及び／又は上肢運動の近似解を求める前記手段又はステップ（Ｆ）において求めた近似解ではあらかじめ設定した体幹・上肢運動が実現できない場合に、体幹・上肢運動パターンの再設定・修正を行う手段又はステップをさらに備えていてもよい。
【００６０】
また、前記の腰部運動の近似解を求める手段又はステップ（Ｄ）は、足部運動、体幹運動、上肢運動によって生じる設定ＺＭＰ上のモーメントと、腰部の水平面内運動によって生じる設定ＺＭＰ上のモーメントとの釣合方程式を解くことによって腰部運動の近似解を求めるようにしてもよい。
【００６１】
また、前記の腰部運動の近似解を求める手段又はステップ（Ｄ）は、時間の関数を周波数の関数に置き換えて計算するようにしてもよい。より具体的に言えば、足部運動、体幹運動、上肢運動によって生じる設定ＺＭＰ上のモーメントにフーリエ級数展開を適用するとともに、腰部の水平面内運動にフーリエ級数展開を適用して、腰部水平面内軌道のフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって腰部運動の近似解を求めるようにしてもよい。
【００６２】
また、前記の上肢運動の近似解を求める手段又はステップ（Ｆ）は、足部運動、体幹運動によって生じる設定ＺＭＰ上のモーメントの釣合方程式を解くことによって上肢運動の近似解を求めるようにしてもよい。
【００６３】
また、前記の上肢運動の近似解を求める手段（Ｆ）は、時間の関数を周波数の関数に置き換えて計算するようにしてもよい。より具体的に言えば、前記の上肢運動の近似解を求める手段（Ｆ）は、足部運動、体幹運動によって生じる設定ＺＭＰ上のモーメントにフーリエ級数展開を適用してフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって上肢運動の近似解を求めるようにしてもよい。
【００６４】
また、本発明の第５の側面は、少なくとも上肢と体幹部と下肢で構成され、下肢による脚式移動を行うロボット装置において、
前記ロボットの運動パターンを設定する運動パターン設定手段と、
該設定された運動パターンにより生じる設定ＺＭＰ上における前記ロボットの機体のヨー軸回りモーメントを算出するモーメント算出手段と、
該算出されたヨー軸回りモーメントを減少させる上肢運動パターンを算出する運動パターン算出手段と、
該算出された上肢運動パターンに基づいて、上記設定された運動パターンを修正する運動パターン修正手段と、
を具備することを特徴とするロボット装置である。
【００６５】
ここで、前記運動パターン設定手段は、少なくとも前記ロボットの上肢又は体幹部又は下肢のうちいずれかの運動パターンを設定するものとする。
【００６６】
２足歩行型の脚式移動ロボットが、上肢、体幹部、下肢の運動からなる全身運動を行う場合、ロボットの機体には、ピッチ軸、ロール軸、並びにヨー軸の各軸回りにモーメントが発生する。
【００６７】
本発明の第５の側面に係るロボット装置によれば、下肢、体幹部、上肢の運動の組み合わせからなる機体の運動パターンを実行する際に設定ＺＭＰ上で機体に生じるヨー軸回りのモーメントを打ち消すような上肢運動パターンを算出して運動パターンを修正することができる。したがって、歩行などの脚式作業時に機体に印加されるヨー軸回りのモーメントの影響をキャンセルしながら安定且つ正確な全身協調運動を実現することができる。
【００６８】
とりわけ２足歩行型の脚式移動ロボットにおいては、歩行速度の増加とともに機体に加わるヨー軸モーメントが著しく増大していくが、このようなヨー軸モーメントは、機体の旋回や路面に対するヨー軸回りの滑りや機体の転倒など機体動作の障害となるが、本発明の第５の側面によれば、これを好適に取り除くことができる。
【００６９】
また、本発明の第５の側面に係るロボット装置によれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。
【００７０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００７１】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００７２】
図１及び図２には本発明の実施に供される脚式移動ロボット１００を前方及び後方の各々から眺望した様子を示している。さらに、図３には、この脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。
【００７３】
図３に示すように、脚式移動ロボット１００は、２本の腕部と頭部１を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【００７４】
頭部１を支持する首関節は、首関節ヨー軸２と、首関節ピッチ軸３と、首関節ロール軸４という３自由度を有している。
【００７５】
また、各腕部は、肩関節ピッチ軸８と、肩関節ロール軸９と、上腕ヨー軸１０と、肘関節ピッチ軸１１と、前腕ヨー軸１２と、手首関節ピッチ軸１３と、手首関節ロール軸１４と、手部１５とで構成される。手部１５は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１５の動作はロボット１００の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００７６】
また、体幹部は、体幹ピッチ軸５と、体幹ロール軸６と、体幹ヨー軸７という３自由度を有する。
【００７７】
また、下肢を構成する各々の脚部は、股関節ヨー軸１６と、股関節ピッチ軸１７と、股関節ロール軸１８と、膝関節ピッチ軸１９と、足首関節ピッチ軸２０と、足首関節ロール軸２１と、足部２２とで構成される。本明細書中では、股関節ピッチ軸１７と股関節ロール軸１８の交点は、本実施例に係るロボット１００の股関節位置を定義する。人体の足部２２は実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット１００の足底はゼロ自由度とする。したがって、各脚部は６自由度で構成される。
【００７８】
以上を総括すれば、本実施例に係る脚式移動ロボット１００全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、エンターティンメント向けの脚式移動ロボット１００が必ずしも３２自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００７９】
上述したような脚式移動ロボット１００が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした。なお、この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報（特願平１１−３３３８６号明細書）に開示されている。
【００８０】
図４には、脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０，４０，５０Ｒ／Ｌ，６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００８１】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Central Processing Unit）やメモリ等の主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行うインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００８２】
本発明を実現する上で、この制御ユニット８０の設置場所は特に限定されない。図４では体幹部ユニット４０に搭載されているが、頭部ユニット３０に搭載してもよい。あるいは、脚式移動ロボット１００外に制御ユニット８０を配備して、脚式移動ロボット１００の機体とは有線若しくは無線で交信するようにしてもよい。
【００８３】
図３に示した脚式移動ロボット１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸２、首関節ピッチ軸３、首関節ロール軸４の各々を表現する首関節ヨー軸アクチュエータＡ2、首関節ピッチ軸アクチュエータＡ3、首関節ロール軸アクチュエータＡ4が配設されている。
【００８４】
また、体幹部ユニット４０には、体幹ピッチ軸５、体幹ロール軸６、体幹ヨー軸７の各々を表現する体幹ピッチ軸アクチュエータＡ5、体幹ロール軸アクチュエータＡ6、体幹ヨー軸アクチュエータＡ7が配備されている。
【００８５】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸８、肩関節ロール軸９、上腕ヨー軸１０、肘関節ピッチ軸１１、肘関節ロール軸１２、手首関節ピッチ軸１３、手首関節ロール軸１４の各々を表現する肩関節ピッチ軸アクチュエータＡ8、肩関節ロール軸アクチュエータＡ9、上腕ヨー軸アクチュエータＡ10、肘関節ピッチ軸アクチュエータＡ11、肘関節ロール軸アクチュエータＡ12、手首関節ピッチ軸アクチュエータＡ13、手首関節ロール軸アクチュエータＡ14が配備されている。
【００８６】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１６、股関節ピッチ軸１７、股関節ロール軸１８、膝関節ピッチ軸１９、足首関節ピッチ軸２０、足首関節ロール軸２１の各々を表現する股関節ヨー軸アクチュエータＡ16、股関節ピッチ軸アクチュエータＡ17、股関節ロール軸アクチュエータＡ18、膝関節ピッチ軸アクチュエータＡ19、足首関節ピッチ軸アクチュエータＡ20、足首関節ロール軸アクチュエータＡ21が配備されている。
【００８７】
各関節に用いられるアクチュエータＡ2，Ａ3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータ（前述）で構成することができる。
【００８８】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５，４５，５５，６５が配備されている。さらに、各脚部６０Ｒ，Ｌの足底が着床したか否かを検出する接地確認センサ９１及び９２を装着するとともに、体幹部ユニット４０内には、姿勢を計測する姿勢センサ９３を装備している。
【００８９】
接地確認センサ９１及び９２は、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ９３は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００９０】
接地確認センサ９１及び９２の出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚いずれの状態であるかを判別することができる。また、姿勢センサ９３の出力により、体幹部分の傾きや姿勢を検出することができる。
【００９１】
主制御部８０は、各センサ９１〜９３の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部３５，４５，５５，６５の各々に対して適応的な制御を行い、脚式移動ロボット１００の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現することができる。
【００９２】
ロボット１００の機体上での全身運動は、足部運動、ＺＭＰ（Zero Moment Point）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部３５，４５，５５，６５に転送する。そして、各々の副制御部３５，４５…では、主制御部８１からの受信コマンドを解釈して、各アクチュエータＡ2，Ａ3…に対して駆動制御信号を出力する。ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中にＺＭＰが動く軌跡を意味する（前述）。
【００９３】
次いで、本実施形態に係る脚式移動ロボット１００における、脚式作業時すなわち足部、腰、体幹、下肢運動などからなる全身協調運動パターンの実行時における姿勢の安定化処理の手順について説明する。
【００９４】
本実施形態に係る脚式移動ロボット１００は無限のすなわち連続的な質点の集合体である。但し、ここでは有限数で離散的な質点からなる近似モデルに置き換えることによって、安定化処理のための計算量を削減するようにしている。より具体的には物理的には図３に示す多関節自由度構成を具備する脚式移動ロボット１００を、図５に示すように多質点近似モデルに置き換えて取り扱う。図示の近似モデルは、線形且つ非干渉の多質点近似モデルである。
【００９５】
図５において、Ｏ−ＸＹＺ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、Ｏ'−Ｘ'Ｙ'Ｚ'座標系はロボット１００とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、ｉはｉ番目に与えられた質点を表す添え字であり、ｍiはｉ番目の質点の質量、ｒ'iはｉ番目の質点の位置ベクトル（但し運動座標系）を表すものとする。また、後述する腰部運動制御において特に重要な腰部質点の質量はｍh、その位置ベクトルはｒ'h（ｒ'hx，ｒ'hy，ｒ'hz）とし、また、ＺＭＰの位置ベクトルをｒ'zmp（ｒ'zmpx，ｒ'zmpy，ｒ'zmpz）とする。
【００９６】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。図５を見ても判るように、多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定される。図示の非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない。多質点近似モデルは、概ね以下の処理手順により生成することができる。
【００９７】
（１）ロボット１００全体の質量分布を求める。
（２）質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
（３）各領域i毎に、重心を求め、その重心位置と質量ｍiを該当する質点に付与する。
（４）各質点ｍiを、質点位置ｒiを中心とし、その質量に比例した半径に持つ球体として表示する。
（５）現実に連結関係のある質点すなわち球体同士を連結する。
【００９８】
なお、図５に示す多質点モデルの腰部情報における各回転角（θhx，θhy，θhz）は、脚式移動ロボット１００における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである（図６には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい）。
【００９９】
次いで、本実施例に係る脚式移動ロボット１００における姿勢安定化処理、すなわち腰、体幹、下肢などの運動により発生するモーメントをキャンセルした全身協調運動パターンの生成処理の手順について説明する。
【０１００】
図７及び図８には、脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例をフローチャートの形式で示している。但し、以下の説明では、図５に示すような線形・非干渉多質点近似モデルを用いて脚式移動ロボット１００の各関節位置や動作を記述するものとし、且つ、計算に際して以下のようなパラメータを用いることとする。但し、ダッシュ（´）付きの記号は運動座標系を記述するものと理解されたい。
【０１０１】
【数１】
0003674779.tif 000002
【０１０２】
また、脚式移動ロボット１００の腰部高さが一定（ｒ'hz＋ｒqz＝const）で、且つ、膝部質点がゼロであることを前提とする。
【０１０３】
まず、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ１１）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、後述するヨー軸モーメント補償に用いる未知変数（上肢運動に関する）を、ここで設定しておく。また、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【０１０４】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを算出する（ステップＳ１２）。
【０１０５】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動（ｒ'hx，ｒ'hy）によって発生する設定ＺＭＰ上でのピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを算出する（ステップＳ１３）。
【０１０６】
次いで、設定ＺＭＰ上におけるピッチ軸及びロール軸回りのモーメントに関する釣り合い式を、ロボット１００（あるいはその多質点近似モデル）とともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ１４）。より具体的には、足部、体幹、そして上肢運動により発生するピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを既知変数の項として右辺に、腰部質点の水平運動に関する項（ｒ'hx，ｒ'hy）を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なＺＭＰ方程式（１）を導出する。
【０１０７】
【数２】
0003674779.tif 000003
【０１０８】
但し、以下が成立するものとする。
【０１０９】
【数３】
0003674779.tif 000004
【０１１０】
次いで、上記のＺＭＰ方程式（１）を解いて、腰部水平面内軌道を算出する（ステップＳ１５）。例えば、オイラー法やルンゲ・クッタ法などの数値的解法（周知）を用いてＺＭＰ方程式（１）を解くことで、未知変数としての腰部の水平絶対位置（ｒ'hx，ｒ'hy）の数値解を求めることができる（ステップＳ１６）。ここで求められる数値解は、安定歩行可能な腰部運動パターンの近似解であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１１１】
ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解（ｒ'hx，ｒ'hy）であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。但し、足部、体幹、上肢、腰部などの運動により発生するピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxをキャンセルしたことになるが、まだヨー軸回りのモーメントＭzがキャンセルされずに残されている。そこで、後続のステップでは、ヨー軸回りのモーメントＭzのキャンセルするための上肢運動パターンの生成処理を行う。
【０１１２】
ステップＳ１７において、腰部運動の近似解によって生じる設定ＺＭＰ上のヨー軸モーメント（但し、腰部に発生するヨー軸モーメント）Ｍzhを、下式（２）を用いて算出する。
【０１１３】
【数４】
0003674779.tif 000005
【０１１４】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹の運動によって発生する設定ＺＭＰ上でのヨー軸回りのモーメントＭzを算出する（ステップＳ１８）。
【０１１５】
次いで、設定ＺＭＰ上におけるヨー軸回りのモーメントＭzに関する釣り合い式を、ロボット１００（あるいはその多質点近似モデル）とともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ１９）。より具体的には、足部、体幹の運動により発生するヨー軸回りのモーメントＭzと腰部運動の近似解によって生じるヨー軸モーメントＭzhを既知変数の項として右辺に、上肢質点の運動により発生するヨー軸回りのモーメントＭarmを未知変数の項として左辺にまとめることで、下式に示すような線形・非干渉なＺＭＰ方程式（３）を導出する。
【０１１６】
【数５】
0003674779.tif 000006
【０１１７】
さらに、オイラー法やルンゲ・クッタ法などの数値的解法（周知）を用いて、ＺＭＰ方程式（３）を解くことによって（ステップＳ２０）、ヨー軸モーメントＭzとＭzhを補償して安定歩行を可能とするのに必要な上肢運動パターンを算出する（ステップＳ２１）。数値的解法による上肢運動パターンの算出時には、あらかじめ与えられているヨー軸モーメント補償用の未知変数を適用する。
【０１１８】
上式（３）において、未知変数θの取り方として、上肢関節のどの関節角を未知変数として利用してもよい。より具体的に言えば、図３に示した関節自由度のうち、肩関節ピッチ軸８、肩関節ロール軸９、上腕ヨー軸１０、肘関節ピッチ軸１１、前腕ヨー軸１２、手首関節ピッチ軸１３、手首関節ロール軸１４のうち１以上の関節の組み合わせて上式（３）を成立させるようにしてもよい。
【０１１９】
また、上式（３）を成立させる上で、右上肢と左上肢とが対称又は逆位相で動かすことを前提としていなくてもよい。未知変数θの取り方としては、大きなモーメントの発生量が期待できるものとして、肩関節のピッチ軸回りの関節角（θarm_shoulder）を未知変数として用いることが挙げられる。あるいは、より人間の生体メカニズムに近いモーメント発生動作を期待できるものとしては、肩関節のピッチ軸回りの関節角（θarm_shoulder）を未知変数にし、さらに肘関節角（θarm_elbow）を（θarm_elbow＝Ｇ×θarm_shoulder：Ｇはゲイン）とすることで、未知変数を１つにしたままで（すなわち計算量を変えずに）肩関節と肘関節の協調動作によるヨー軸補償運動パターンの算出を行うことができる。
【０１２０】
勿論、ロボット１００の上体の一部である体幹ヨー軸７を利用して上式（３）を成立させることも、理論式上は可能であるが、可動角が広い肩関節や肘関節などの上肢の駆動を用いて上式（３）を成立させる方が機体での実現が容易であり、且つ、高精度な制御が可能となる。
【０１２１】
上記のステップＳ２１までで算出された近似解上ではあらかじめ設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ２２）。この際、膝部の軌道を算出してもよい。
【０１２２】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなる脚式移動ロボット１００の精密なモデル）における設定ＺＭＰ上におけるロール軸、ピッチ軸、及びヨー軸の各軸回りのモーメント（ｅＭx，ｅＭy，ｅＭz）を算出する（ステップＳ２３）。非厳密モデルでは上記の［数３］が成立することを前提としたが、厳密モデルにおいてはかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１２３】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy，ｅＭz）は、腰部運動においてロール、ピッチ、ヨーそれぞれの軸回りに発生するモーメント誤差である。続くステップＳ２４では、これら各軸回りのモーメント（ｅＭx，ｅＭy，ｅＭz）が許容値（εＭx，εＭy，εＭz）未満か否かを判定する。許容値ε未満であれば、ロボット１００の機体上の腰、体幹、下肢の各部における安定運動パターンの厳密解、並びに機体（腰部）のヨー軸回りに発生するモーメントＭzとＭzhをキャンセルしたロボット１００の全身運動パターンを得ることができたことを意味するので（ステップＳ２５）、本処理ルーチン全体を終了する。
【０１２４】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy，ｅＭz）が許容値（εＭx，εＭy，εＭz）以上であった場合には、厳密モデルにおけるロール軸並びにピッチ軸回りのモーメント（ｅＭx，ｅＭy）を用いて近似モデルにおけるロール軸並びにピッチ軸回りのモーメント（Ｍx，Ｍy）を修正して（ステップＳ２７）、再びＺＭＰ方程式の導出を行う。あるいは、厳密モデルにおけるヨー軸回りのモーメント既知発生モーメントｅＭzを用いて近似モデルにおけるヨー軸回りの既知発生モーメントＭzを修正して（ステップＳ２６）、再びＺＭＰ方程式の導出を行う。そして、許容値ε未満に収束するまで、上述したような腰、体幹、下肢の運動パターンの近似解の算出と修正を繰り返し実行することにより、腰部並びに上肢運動パターンの厳密解、並びに、安定歩行を実現できる全身運動パターンを得ることができる。
【０１２５】
すなわち、図７及び図８に示した処理ルーチンによれば、脚式作業時に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら機体を安定且つ正確に正確に駆動することができる、脚式移動ロボットのための全身運動パターンを生成することができる。また、相互に干渉しているロール、ピッチ、ヨーの各軸回りの運動を安定に算出することができる。
【０１２６】
また、図７及び図８に示した処理ルーチンによれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。特に、動きそのものが重要なエンターティンメント用途のロボットには、なくてはならない技術である。なお、ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【０１２７】
また、図７及び図８に示した処理ルーチンにおいて、ステップＳ２１において得られたヨー軸モーメントを補償する上肢運動とは、人間の場合における両腕の振りや腰の回転を利用した運動によって実現することができる。このような上肢運動は、特に高速な歩行動作において姿勢安定性の維持に大きく寄与する他、機体の上半身の動作を表現力豊かに見せるといった演出効果がある。
【０１２８】
ヒトやサルにおける動作上の「表現力」を考えた場合、腕や胴体のなどの上体の動きや姿勢は、作業の実現だけでなく、感情の体現という側面があり、非常に重要な意味を持つ。これが「身振り」、「手振り」と呼ばれる所以である。したがって、身振りや手振りという上半身主導の動作を活用してヨー軸モーメントを補償することにより、機体の動作表現力が豊かになり、とりわけエンターティンメント指向の高いロボットにおいては好ましい。
【０１２９】
また、図９及び図１０には、脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例をフローチャートの形式で示している。但し、上述と同様に、図５に示した線形・非干渉多質点近似モデルを用いてロボット１００の各関節位置や動作を記述するものとする。
【０１３０】
まず、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ３１）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、後述するヨー軸モーメント補償に用いる未知変数（上肢運動に関する）を、ここで設定しておく。また、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【０１３１】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを算出する（ステップＳ３２）。
【０１３２】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動（ｒ'hx，ｒ'hy）によって発生する設定ＺＭＰ上でのピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを算出する（ステップＳ３３）。
【０１３３】
次いで、設定ＺＭＰ上におけるピッチ軸及びロール軸回りのモーメントに関する釣り合い式を、ロボット１００（あるいはその多質点近似モデル）とともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ３４）。より具体的には、足部、体幹、そして上肢運動により発生するピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxを既知変数の項として右辺に、腰部質点の水平運動に関する項（ｒ'hx，ｒ'hy）を未知変数の項として左辺にまとめ、線形・非干渉なＺＭＰ方程式（１）を導出する（同上）。
【０１３４】
次いで、腰部水平面内運動（ｒ'hx，ｒ'hy）をフーリエ級数展開し、次いで、設定ＺＭＰ上でのピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxの各々についてもフーリエ級数展開し、次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで（ステップＳ３５）、腰部運動の近似解が求まる（ステップＳ３６）。
【０１３５】
当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、ＦＦＴ（高速フーリエ変換）を適用することができるので、計算速度を大幅に向上させることができる。
【０１３６】
ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解（ｒ'hx，ｒ'hy）であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。但し、足部、体幹、上肢、腰部などの運動により発生するピッチ軸回りのモーメントＭy、並びにロール軸回りのモーメントＭxをキャンセルしたことになるが、まだヨー軸回りのモーメントＭzがキャンセルされずに残されている。そこで、後続のステップでは、ヨー軸回りのモーメントＭzとＭzhをキャンセルするための上肢運動パターンの生成処理を行う。
【０１３７】
ステップＳ１７において、腰部運動の近似解によって生じる設定ＺＭＰモーメント上のヨー軸モーメント（但し、腰部に発生するヨー軸モーメント）Ｍzhを、上式（２）を用いて算出する。
【０１３８】
次に、線形・非干渉多質点近似モデルを用いて、足部運動と体幹運動によって発生する設定ＺＭＰ上でのヨー軸回りのモーメントＭzを算出する（ステップＳ３８）。
【０１３９】
次いで、設定ＺＭＰ上におけるヨー軸回りのモーメントに関する釣り合い式を、ロボット１００（あるいはその多質点近似モデル）とともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ３９）。より具体的には、足部、体幹の運動により発生するヨー軸回りのモーメントＭzと腰部運動の近似解によって生じるヨー軸回りのモーメンチＭzhを既知変数の項として右辺に、上肢質点の運動により発生するヨー軸回りのモーメントＭarmを未知変数の項として左辺にまとめることで、上式に示したような線形・非干渉なＺＭＰ方程式（３）を導出する。
【０１４０】
次いで、ステップＳ３５と同様に、ＺＭＰ方程式の周波数領域におけるフーリエ係数の比較法により（ステップＳ４０）、上肢運動パターンを算出する（ステップＳ４１）。上肢運動パターンの算出時には、あらかじめ与えられているヨー軸モーメント補償用の未知変数を適用する。
【０１４１】
上式（３）において、未知変数θの取り方として、上肢関節のどの関節角を未知変数として利用してもよい。より具体的に言えば、図３に示した関節自由度のうち、肩関節ピッチ軸８、肩関節ロール軸９、上腕ヨー軸１０、肘関節ピッチ軸１１、前腕ヨー軸１２、手首関節ピッチ軸１３、手首関節ロール軸１４のうち１以上の関節の組み合わせて上式（３）を成立させるようにしてもよい。
【０１４２】
また、上式（３）を成立させる上で、右上肢と左上肢とが対称又は逆位相で動かすことを前提としていなくてもよい。未知変数θの取り方の例としては、大きなモーメントの発生量が期待できるものとして、肩関節のピッチ軸回りの関節角（θarm_shoulder）を未知変数として用いることが挙げられる。あるいは、より人間の生体メカニズムに近いモーメント発生動作を期待できるものとしては、肩関節のピッチ軸回りの関節角（θarm_shoulder）を未知変数にし、さらに肘関節角（θarm_elbow）を（θarm_elbow＝Ｇ×θarm_shoulder：Ｇはゲイン）とすることで、未知変数を１つにしたままで（すなわち計算量を変えずに）肩関節と肘関節の協調動作によるヨー軸補償運動パターンの算出を行うことができる。
【０１４３】
勿論、ロボット１００の上体の一部である体幹ヨー軸７を利用して上式（３）を成立させることも、理論式上は可能であるが、可動角が広い肩関節や肘関節などの上肢の駆動を用いて上式（３）を成立させる方が機体での実現が容易であり、且つ、高精度な制御が可能となる。
【０１４４】
上記のステップＳ２１までで算出された近似解上ではあらかじめ設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ４２）。この際、膝部の軌道を算出してもよい。
【０１４５】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなる脚式移動ロボット１００の精密なモデル）における設定ＺＭＰ上におけるロール軸、ピッチ軸、及びヨー軸の各軸回りのモーメント（ｅＭx，ｅＭy，ｅＭz）を算出する（ステップＳ４３）。非厳密モデルでは上記の［数３］が成立することを前提としたが、厳密モデルにおいてはかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１４６】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy，ｅＭz）は、腰部運動においてロール、ピッチ、ヨーそれぞれの軸回りに発生するモーメント誤差である。続くステップＳ４４では、これら各軸回りのモーメント（ｅＭx，ｅＭy，ｅＭz）が許容値（εＭx，εＭy，εＭz）未満か否かを判定する。許容値ε未満であれば、ロボット１００の機体上の腰、体幹、下肢の各部における安定運動パターンの厳密解、並びにロボットの機体のヨー軸回りに発生するモーメントをキャンセルしたロボット１００の全身運動パターンを得ることができたことを意味するので（ステップＳ４５）、本処理ルーチン全体を終了する。
【０１４７】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy，ｅＭz）が許容値（εＭx，εＭy，εＭz）以上であった場合には、厳密モデルにおけるロール軸並びにピッチ軸回りのモーメント（ｅＭx，ｅＭy）を用いて近似モデルにおけるロール軸並びにピッチ軸回りのモーメント（Ｍx，Ｍy）を修正して（ステップＳ４７）、再びＺＭＰ方程式の導出を行う。あるいは、厳密モデルにおけるヨー軸回りのモーメント既知発生モーメントｅＭzを用いて近似モデルにおけるヨー軸回りの既知発生モーメントＭzを修正して（ステップＳ４６）、再びＺＭＰ方程式の導出を行う。そして、許容値ε未満に収束するまで、上述したような腰、体幹、下肢の運動パターンの近似解の算出と修正を繰り返し実行することにより、腰部並びに上肢運動パターンの厳密解、並びに、安定歩行を実現できる全身運動パターンを得ることができる。
【０１４８】
すなわち、図９及び図１０に示した処理ルーチンによれば、脚式作業時に印加されるロール、ピッチ、ヨー各軸回りのモーメントの影響をキャンセルしながら機体を安定且つ正確に正確に駆動することができる、足式移動ロボットのための全身運動パターンを生成することができる。また、相互に干渉しているロール、ピッチ、ヨーの各軸回りの運動を安定に算出することができる。
【０１４９】
また、図９及び図１０に示した処理ルーチンによれば、ＺＭＰ上のヨー軸モーメントがほぼゼロとなるヨー軸回りに極めて滑りにくい運動を前以って生成するため、機体はヨー軸回りにはほとんど滑らない。特に、動きそのものが重要なエンターティンメント用途のロボットには、なくてはならない技術である。なお、ロボットにヨー軸回りのモーメントが印加された場合には、ピッチ軸、ロール軸、ヨー軸の３面の運動を同時に解くため、ヨー軸回りのモーメントを打ち消すための動作によって、ピッチ軸、ロール軸回りのモーメントを発生させることもない。
【０１５０】
また、図９及び図１０に示した処理ルーチンにおいて、ステップＳ４１において得られたヨー軸モーメントを補償する上肢運動とは、人間の場合における両腕の振りや腰の回転を利用した運動によって実現することができる。このような上肢運動は、特に高速な歩行動作において姿勢安定性の維持に大きく寄与する他、機体の上半身の動作を表現力豊かに見せるといった演出効果がある。
【０１５１】
ヒトやサルにおける動作上の「表現力」を考えた場合、腕や胴体のなどの上体の動きや姿勢は、作業の実現だけでなく、感情の体現という側面があり、非常に重要な意味を持つ。これが「身振り」、「手振り」と呼ばれる所以である。したがって、身振りや手振りという上半身主導の動作を活用してヨー軸モーメントを補償することにより、機体の動作表現力が豊かになり、とりわけエンターティンメント指向の高いロボットにおいては好ましい。
【０１５２】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１５３】
また、本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１５４】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１５５】
【発明の効果】
以上詳記したように、本発明によれば、高速歩行などの脚式作業を安定且つ正確に実現することができる、脚式移動型ロボットのための優れた動作制御装置及び動作制御方法、並びにロボット装置を提供することができる。
【０１５６】
また、本発明によれば、上肢の運動を用いて機体のヨー軸回りに印加されるモーメントを低減することができる、脚式移動型ロボットのための優れた動作制御装置及び動作制御方法、並びにロボット装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施に供される脚式移動ロボット１００を前方から眺望した様子を示た図である。
【図２】本発明の実施に供される脚式移動ロボット１００を後方から眺望した様子を示た図である。
【図３】本実施例に係る脚式移動ロボット１００が具備する自由度構成モデルを模式的に示した図である。
【図４】本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図５】本実施例に係る歩行制御の計算のために導入される、脚式移動ロボット１００の線形且つ非干渉の多質点近似モデルを示した図である。
【図６】図５に示した多質点モデルの腰部周辺の拡大図である。
【図７】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図８】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図９】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図１０】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図１１】２足脚式移動ロボットの歩行速度［秒／歩］とヨー軸方向に発生するモーメントＮｍとの関係（例）を表した図である。
【符号の説明】
１…頭部，２…首関節ヨー軸
３…首関節ピッチ軸，４…首関節ロール軸
５…体幹ピッチ軸，６…体幹ロール軸
７…体幹ヨー軸，８…肩関節ピッチ軸
９…肩関節ロール軸，１０…上腕ヨー軸
１１…肘関節ピッチ軸，１２…前腕ヨー軸
１３…手首関節ピッチ軸，１４…手首関節ロール軸
１５…手部，１６…股関節ヨー軸
１７…股関節ピッチ軸，１８…股関節ロール軸
１９…膝関節ピッチ軸，２０…足首関節ピッチ軸
２１…足首関節ロール軸，２２…足部
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３…姿勢センサ
１００…脚式移動ロボット
【図１】
0003674779.tif 000007
【図２】
0003674779.tif 000008
【図３】
0003674779.tif 000009
【図４】
0003674779.tif 000010
【図５】
0003674779.tif 000011
【図６】
0003674779.tif 000012
【図７】
0003674779.tif 000013
【図８】
0003674779.tif 000014
【図９】
0003674779.tif 000015
【図１０】
0003674779.tif 000016
【図１１】
0003674779.tif 000017