(57)【要約】【課題】人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成する。【解決手段】人型キャラクターやヒューマノイド・ロボットといった多リンク系の構造体を制御対象とし、各リンクの局所的運動だけでなく、系全体の対極的な運動に着目して、重心と外力との関係から、あらゆる環境との接触を考慮した一般接触運動の本質的な特性を、環境との接触状態を保つための制約式として導出し、この制約式と、与えられた環境との接触状態、及び将来の重心目標値とから、長期的な接触状態の安定性を担保した運動データを生成する。【選択図】  図１２
2010137289.tif 000002
【特許請求の範囲】
【請求項１】
リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理装置であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部と、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部と、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部と、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部と、
を備え、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理装置。
【請求項２】
前記重心運動算出部は、前記運動区間全体をＫ個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる２Ｋ＋１の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対してオフセットを加えることによって変数を追加して、２Ｋ＋１元連立方程式として、前記の定数係数２階の非斉次方程式における未定係数を決定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記重心運動算出部は、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記リンク構造体は、複数の可動脚を備えて歩行運動が可能であり、
前記重心運動算出部は、終端条件の重心位置には、前記歩行運動における数歩先の両足底の中心位置などを設定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部をさらに備える、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加える、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理方法であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定ステップと、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定ステップと、
前記重心目標位置設定ステップにおいて設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定ステップにおいて設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定ステップと、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出ステップと、
を有し、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出ステップでは、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理方法。
【請求項８】
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部と、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部と、
を具備することを特徴とする情報処理装置。
【請求項９】
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化ステップと、
前記重心運動安定化ステップにおいて算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決ステップと、
を具備することを特徴とする情報処理方法。
【請求項１０】
リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部、
として機能させ、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とするコンピューター・プログラム。
【請求項１１】
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部、
としてコンピューターを機能させるための、コンピューター可読形式で記述されたコンピューター・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば人型キャラクターやヒューマノイド・ロボットなどのリンク構造体のための動作制御若しくは運動データの生成を行なうための情報処理を行なう情報処理装置及び情報処理方法、並びにコンピューター・プログラムに係り、特に、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を考慮した動作制御若しくは運動データの生成を行なう情報処理装置及び情報処理方法、並びにコンピューター・プログラムに関する。
【背景技術】
【０００２】
近年、ヒューマノイド・ロボットの実現へ向けさまざまな研究がなされている。ヒューマノイド・ロボットが人間と同じ空間に共存し、協調して働いていくためには、人が行けるところには行くことができる機動性を備える必要がある。具体的には、人の生活環境に存在する路面の踏破、階段や梯子の昇降、狭隘部のすり抜け、ドアの開閉、片腕で体を支えながらの作業や移動、起き上がりや寝転びといった人や動物が行っている動作制御を不自由なく行なう必要がある。
【０００３】
他方、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）といった画像処理ハードウェア技術の進展や、３次元レンダリング技術、力学シミュレーション技術の成熟に伴って、力学現象が高度にシミュレートされた仮想環境内における人型キャラクターの動作制御に関するニーズも高まってきている。
【０００４】
ヒューマノイド・ロボット並びに人型キャラクターのいずれの動作制御も、多リンク系の構造体を制御対象とする点で共通する。この種の多リンク系の運動を遂行するには、多リンク構造体のバランス維持を好適に行なうための制御器が必要である。
【０００５】
従来、脚式機構を持つ多リンク系における環境との接触状態維持のための指標、とりわけ、脚式移動ロボットの歩行制御では、ＺＭＰによる安定度判別規範が用いられてきた。ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する（例えば、非特許文献１を参照のこと）。例えば、脚式機構を持つ多リンク構造体の接地状態と非接地状態をともに考慮した安定運動パターンに関する実時間算出方法について幾つかの提案がなされている（例えば、特許文献１、非特許文献２を参照のこと）。
【０００６】
しかしながら、ＺＭＰ規範を用いた多リンク構造体の動作制御方法は、基本的に、接触する環境が単一平面（すなわち、単一法線平面）で構成され、法線方向の異なる平面群には接触しないなどの前提条件を設定したものであり、言い換えれば、さまざまな環境を考慮した一般的な接触状況下において多リンク構造体の安定した運動パターンを生成することはできないと思料される。
【０００７】
前提条件毎に安定化器を構成するという多リンク構造体の動作制御方法も想到される。しかしながら、このような方法では、シームレスな運動制御が困難になることや、見通しが悪くなることなどから、アプリケーション開発上問題が多い、と本発明者らは思料する。また、動作制御の実時間処理が困難な場合には、ロボットやゲームといったインタラクティビティを要求するアプリケーションには不向きである。
【０００８】
【特許文献１】特許第３５９９２４４号公報
【非特許文献１】Ｖｕｋｏｂｒａｔｏｖｉｃ, “Ｏｎ  ｔｈｅ  ｓｔａｂｉｌｉｔｙ  ｏｆ  ｂｉｐｅｄ  ｌｏｃｏｍｏｔｉｏｎ”（Ｉｎ  ＩＥＥＥ  Ｔｒａｎｓ．Ｏｎ  Ｂｉｏｍｅｄｉｃａｌ）
【非特許文献２】杉原知道、中村仁彦共著「二脚ロボットの３次元跳躍運動計画のための境界条件緩和法拡張」（第１２回ロボティクスシンポジア、ｐｐ．１９０−１９５，２００７）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成することができる、優れた情報処理装置及び情報処理方法、並びにコンピューター・プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を参酌してなされたものであり、請求項１に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理装置であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部と、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部と、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部と、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部と、
を備え、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理装置である。
【００１１】
ここで、前記重心運動算出部は、請求項２に記載の通り、前記運動区間全体をＫ個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる２Ｋ＋１の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットを加えることによって変数を追加して、２Ｋ＋１元連立方程式として、前記の定数係数２階の非斉次方程式における未定係数を決定することができる。
【００１２】
また、前記重心運動算出部は、請求項３に記載の通り、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入するようにしてもよい。
【００１３】
また、前記重心運動算出部は、請求項４に記載の通り、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定するようにしてもよい。
【００１４】
また、本願の請求項１に記載の情報処理装置は、請求項５に記載の通り、前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部をさらに備えていてもよい。
【００１５】
また、本願の請求項１に記載の情報処理装置は、請求項６に記載の通り、前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加えるようにしてもよい。
【００１６】
また、本願の請求項７に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理方法であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定ステップと、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定ステップと、
前記重心目標位置設定ステップにおいて設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定ステップにおいて設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定ステップと、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出ステップと、
を有し、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出ステップでは、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理方法である。
【００１７】
また、本願の請求項８に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部と、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部と、
を具備することを特徴とする情報処理装置である。
【００１８】
また、本願の請求項９に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化ステップと、
前記重心運動安定化ステップにおいて算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決ステップと、
を具備することを特徴とする情報処理方法である。
【００１９】
また、本願の請求項１０に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部、
として機能させ、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は０となることを表した変数係数２階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数２階の非斉次方程式を短期区間毎に定数係数２階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とするコンピューター・プログラムである。
【００２０】
また、本願の請求項１１に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部、
としてコンピューターを機能させるための、コンピューター可読形式で記述されたコンピューター・プログラムである。
【００２１】
本願の請求項１０、１１に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項９、１０に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項１、７に係る情報処理装置と同様の作用効果を得ることができる。
【発明の効果】
【００２２】
本発明によれば、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成することができる、優れた情報処理装置及び情報処理方法、並びにコンピューター・プログラムを提供することができる。
【００２３】
本願の請求項１、２、５乃至１１に記載の発明によれば、人型キャラクターやヒューマノイド・ロボットといった多リンク系の構造体を制御対象とし、各リンクの局所的運動だけでなく、系全体の大局的な運動に着目して、重心と外力との関係から、あらゆる環境との接触を考慮した一般接触運動の本質的な特性を、環境との接触状態を保つための制約式として導出し、この制約式と、与えられた環境との接触状態、及び将来の重心目標値とから、複数法線面との接触状態の安定性を長期的に担保した運動データを生成することができる。
【００２４】
本願の請求項２に記載の発明によれば、前記重心運動算出部は、請求項２に記載の通り、前記運動区間全体をＫ個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる２Ｋ＋１の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットを加えることによって変数を追加して、２Ｋ＋１元連立方程式として、前記の定数係数２階の非斉次方程式における未定係数を決定することができる。
【００２５】
また、本願の請求項３に記載の発明によれば、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入することによって、現在の運動に滑らかに接続する重心軌道を得ることができる。
【００２６】
また、本願の請求項４に記載の発明によれば、終端条件の重心位置には、前記歩行運動における数歩先の両足底の中心位置などを設定することによって、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標を与えることができる。
【００２７】
また、本願の請求項６に記載に発明によれば、前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加え、区間境界における外力によるモーメントの総和のオフセットを２つ考え、２Ｋ＋２元連立方程式として未定係数を決定することができる。また、各区間の境界それぞれに独立のオフセット量をとる場合、変数の数が冗長となるが、最適化問題として取り扱うことで未定係数を決定することができる。
【００２８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３０】
本発明は、多リンク系の構造体の動作制御若しくは運動データの生成を行なう情報処理を行なう情報処理装置に関する。想定される制御対象は、人型キャラクターやヒューマノイド・ロボットである。以下では、単に「制御対象」若しくは「リンク構造体」と呼ぶときには、力学現象をシミュレートしたキャラクター・モデル、並びに、ヒューマノイド・ロボットの双方を指すものとする。
【００３１】
図１には、制御対象となる人型キャラクター若しくはヒューマノイド・ロボットの関節自由度モデルを示している。図示のモデルは、骨盤部には、移動手段としての２肢の脚体と、腰関節を介して上体が接続されている。上体には、２肢の腕部と、首関節を介して頭部が接続されている。左右の脚体は、それぞれ股関節３自由度と、膝関節１自由度と、足首関節２自由度の、計６自由度を備えている。また、左右の腕部は、それぞれ肩関節３自由度と、肘関節１自由度と、手首関節２自由度の、計６自由度を備えている。首関節及び腰関節は、ともにＸ、Ｙ、Ｚ軸回りに３自由度を有している。なお、図示のモデルの総重心位置ｐGは既知であるとする。
【００３２】
本発明では、図１に示した人型キャラクターやヒューマノイド・ロボットに代表されるリンク構造体についての、さまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成するものである。ここで言うさまざまな環境とは、法線方向の異なる平面群で構成される。そして、複数法線面との接触運動を扱うことから、図２に示すように、ヒューマノイド・ロボットの表面のうち、外界との接触が想定されている各部位には、触覚センサー群ｔ１、ｔ２、…、ｔ１７が取り付けられている。
【００３３】
図２には、１つの触覚センサー群の構成を示している。同図に示すように、１つの触覚センサー群ｔは、接触状態をそれぞれ独立して検出することができる複数の触覚センサーＣＳをアレイ状に配置して構成され、触覚センサー群ｔとしてはいずれの触覚センサーＣＳが接触状態にあるかによって、リンクｉ毎の接触点位置ｐciを特定することができる。
【００３４】
また、図３には、触覚センサーＣＳの構成を模式的に示している。触覚センサーＣＳは、２枚の極板Ｐ１及びＰ２で空隙Ｓを挟んだ構造をしており、一方の極板Ｐ１には電位Ｖccが印加され、他方の極板Ｐ２は接地されている。そして、一方の極板Ｐ１をパラレル・インターフェース（ＰＩＯ）経由でマイクロ・コンピューターに入力し、極板間の接触状態すなわち触覚センサーＣＳに外力が作用しているか否かを判定することができる。但し、本発明の要旨は、特定の接触センサーの構成に限定されるものではない。
【００３５】
触覚センサー群ｔ毎に、その近隣に１つのマイクロ・コンピューターを配置して、触覚センサー群を構成するすべての触覚センサーＣＳの検出信号を入力し、これらのオン／オフ状態を収集して、当該部位における外界との接触の有無並びに接触位置をホスト・コンピューターに送信するものとする。
【００３６】
また、図２に示したヒューマノイド・ロボットの骨盤部には、３軸の加速度センサーａ１と３軸の角速度センサー（ジャイロ）ｇ１が搭載されている。その近隣には、これらのセンサー値を計測するマイクロ・コンピューターが配備され、その計測結果をホスト・コンピューターに送信するものとする。
【００３７】
図５には、図２に示したヒューマノイド・ロボットにおける結線トポロジの構成例を示している。
【００３８】
ヒューマノイド・ロボットは、胴体部に、３軸の腰関節アクチュエーターａ１、ａ２、ａ３、及び３軸の首関節アクチュエーターａ１６、ａ１７、ａ１８を持ち、これらはホスト・コンピューターに対しシリアル接続されている。各関節アクチュエーターは、シリアル・ケーブルを通じて、その位置制御目標値を受け取るとともに、現在の出力トルクや関節角度、関節角速度をホスト・コンピューターに送信する。
【００３９】
また、ヒューマノイド・ロボットは、左腕部に、３軸の肩関節アクチュエーターａ４、ａ５、ａ６、１軸の肘関節アクチュエーターａ７、及び２軸の手首関節アクチュエーターａ８、ａ９を持ち、これらはホスト・コンピューターにシリアル接続されている。同様に、ヒューマノイド・ロボットの右腕部には、３軸の肩関節アクチュエーターａ１０、ａ１１、ａ１２、１軸の肘関節アクチュエーターａ１３、及び２軸の手首関節アクチュエーターａ１４、ａ１５を持ち、これらはホスト・コンピューターにシリアル接続されている。
【００４０】
また、ヒューマノイド・ロボットは、左脚部に、３軸の股関節アクチュエーターａ１９、ａ２０、ａ２１、１軸の膝関節アクチュエーターａ２２、及び２軸の足首関節アクチュエーターａ２３、ａ２４を持ち、これらはホスト・コンピューターにシリアル接続されている。同様に、右脚部には、３軸の肩関節アクチュエーターａ２５、ａ２６、ａ２７、１軸の肘関節アクチュエーターａ２８、及び２軸の足首関節アクチュエーターａ２９、ａ３０を持ち、これらはホスト・コンピューターにシリアル接続されている。
【００４１】
各関節で使用されるアクチュエーターａ１〜ａ３０は、例えばＤＣブラシレス・モーターと減速機、並びに減速機の出力軸の回転位置を検出する位置センサー、トルク・センサーで構成され、外部から与えられた位置制御目標値に従って回転駆動するとともに、現在の出力トルクや、関節角度、関節角速度を出力する。
【００４２】
また、ヒューマノイド・ロボットの右脚部には、右足部触覚センサー群ｔ１、右脛部触覚センサー群ｔ２、右大腿部触覚センサー群ｔ３が配設され、これらはホスト・コンピューターにシリアル接続されている。各々の触覚センサー群ｔ１〜ｔ３にはマイクロ・コンピューターが装備されており（前述）、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。同様に、左脚部には、左足部触覚センサー群ｔ９、左脛部触覚センサー群ｔ１０、左大腿部触覚センサー群ｔ１１が配設され、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
【００４３】
また、ヒューマノイド・ロボットの右腕部には、右手首触覚センサー群ｔ４、右前腕部触覚センサー群ｔ５、右上腕部触覚センサー群ｔ６が配設され、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。同様に、左腕部には、左手首触覚センサー群ｔ１２、左前腕部触覚センサー群ｔ１３、左上腕部触覚センサー群ｔ１４が配設され、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
【００４４】
また、ヒューマノイド・ロボットの胴体部の左右にはそれぞれ胴部触覚センサー群ｔ７及びｔ１５が取り付けられており、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
【００４５】
また、ヒューマノイド・ロボットの頭部の左右にはそれぞれ頭部触覚センサー群ｔ８及びｔ１６が取り付けられており、それぞれ触覚センサー群における触覚センサーＣＳのオン／オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
【００４６】
図１に示したヒューマノイド・ロボットに代表される多リンク構造体の動作制御若しくは運動データを生成する処理は、例えばコンピューターなどの情報処理装置上で所定のアプリケーションを実行するという形態で実現される。図６には、本発明を実現可能なコンピューターの構成例を示している。
【００４７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１は、オペレーティング・システム（ＯＳ）が提供するプログラム実行環境下で、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２やハード・ディスク・ドライブ（ＨＤＤ）１１に格納されているプログラムを実行する。例えば、多リンク構造体の動作制御若しくは運動データを生成するための処理をＣＰＵ１が所定のプログラムを実行するという形態で実現することもできる。
【００４８】
ＲＯＭ２は、ＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ）やＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）などのプログラム・コードを恒久的に格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３は、ＲＯＭ２やＨＤＤ１１に格納されているプログラムをＣＰＵ１が実行する際にロードしたり、実行中のプログラムの作業データを一時的に保持したりするために使用される。これらはＣＰＵ１のローカル・ピンに直結されたローカル・バス４により相互に接続されている。
【００４９】
ローカル・バス４は、ブリッジ５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスなどの入出力バス６に接続されている。
【００５０】
キーボード８と、マウスなどのポインティング・デバイス９は、ユーザにより操作される入力デバイスである。ディスプレイ１０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージで表示する。
【００５１】
ＨＤＤ１１は、記録メディアとしてのハード・ディスクを内蔵したドライブ・ユニットであり、ハード・ディスクを駆動する。ハード・ディスクには、オペレーティング・システムや各種アプリケーションなどＣＰＵ１が実行するプログラムをインストールしたり、データ・ファイルなどを保存したりするために使用される。例えば、多リンク構造体の動作制御若しくは運動データを生成する処理を実現するアプリケーション・プログラムをＨＤＤ１１にインストールしたり、生成された運動データのファイルをＨＤＤ１１に蓄積したりする。
【００５２】
通信部１２は、例えば有線通信若しくは無線通信のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースである。例えば、多リンク構造体の動作制御若しくは運動データを生成する処理を実現するアプリケーション・プログラムを、ネットワーク経由でインストールすることができる。また、多リンク構造体の運動データをネットワーク経由でダウンロードしたり、あるいは、生成した運動データをネットワーク経由でアップロードしたりすることもできる。
【００５３】
本発明で想定する制御対象となるリンク構造体（図１を参照のこと）は、慣性系に固定された点を持たず、その運動に伴い環境との接触状態が推移し、リンク構造が大きく変化する。このため、強い非線形性を有し、その厳密な運動方程式は複雑な構造を成し、非常に見通しが悪くなる。そこで、本発明では、このような系の運動を安定化するために、複雑なダイナミクスを取り扱うのを止め、すなわち各リンクの局所的運動を取り扱うのではなく、系全体の大局的な運動に着目することにしている。
【００５４】
また、さまざまな環境との接触を考慮して多リンク構造体の動作制御若しくは運動データの生成を行なうという、一般接触運動安定化問題（運動計画問題）において、与えられた接触位置（並びに力）の予定に従いつつ、指定された時刻（現在からＴ秒後の将来時刻）に、指定された運動状態（運動目標）に達することを運動生成の達成目標とする。つまり、短期的運動目標ではなく、長期的運動目標の達成を目指すものである。より具体的には、与えられた接触位置（並びに）の予定に従いつつ、指定された時刻（現在からＴ秒後）に、指定された重心位置を達成するような重心軌道を求めることを目的とし、問題の定式化を行なう。なお、ここで設定した運動目標は、運動の種類や目的に応じて変化する。上記運動目標の１つである重心位置の他に、重心速度や運動量、角運動量などを想定しても良い。
【００５５】
まず、制御対象としてのリンク構造体の運動の本質的特性を捉えるために、リンク構造体における総重心と外力との関係を抽出する。系全体の運動量Ｐとその時間微分は下式（１）、（２）でそれぞれ与えられる。
【００５６】
【数１】
2010137289.tif 000003
【００５７】
【数２】
2010137289.tif 000004
【００５８】
但し、上式（１）、（２）において、ｍはリンク構造体の総重量、ｐGはリンク構造体の総重心位置である。また、系全体の運動量Ｐの時間微分を表した上式（２）は、外部から作用する力により、下式（３）のようにも表現される。
【００５９】
【数３】
2010137289.tif 000005
【００６０】
但し、上式（３）において、ｆallは外部からリンク構造体に作用する力の合計、ｆiはリンク構造体のｉ番目のリンクと環境との接触点に作用する力（外力）、ｇは重力加速度をそれぞれ表す。
【００６１】
また、リンク構造体の原点回りの角運動量Ｌ0の時間微分は、下式（４）のように表される。
【００６２】
【数４】
2010137289.tif 000006
【００６３】
上式（４）において、τallはリンク構造体に対して外部から作用するモーメントの合計であり、ｐciは環境とのｉ番目のリンクの接触点位置である。リンクｉ毎の接触点位置ｐciは、リンク構造体の動作計画上の点であり、目標とする運動データの１つとして扱われる。あるいは、制御対象としてのリンク構造体がヒューマノイド・ロボットの場合（図１を参照）、各接触点位置ｐciを、表面に貼設された触覚センサー群ｔ１、ｔ２、…、ｔ１７（図２を参照のこと）のセンサー出力として得ることもできる（但し、該当する接触点が接触し、接触へのアプローチが終了した場合）。また、制御対象が、力学現象をシミュレートしたキャラクター・モデルの場合には、リンクｉ毎の接触点位置ｐciは目標とする運動データの一部として与えられる。
【００６４】
一方、リンク構造体の原点回りの角運動量Ｌ0は各リンクｊ（の局所的運動から、下式（５）のように表現することもできる（但し、ｊは１からＮまでの整数で、Ｎは多リンク構造体の総リンク数とする）。
【００６５】
【数５】
2010137289.tif 000007
【００６６】
但し、上式（５）において、Ｌ0jはｊ番目のリンクの原点回りの角運動量、ｐGiはｊ番目のリンクの重心位置、Ｐjはｊ番目のリンクの運動量、Ｒjはｊ番目のリンクの基準姿勢からの回転を表す回転行列、ωjはｊ番目のリンクの角速度ベクトルをそれぞれ表す。また、以下は、ｊ番目のリンクの基準姿勢での慣性テンソルを表す。
【００６７】
【数６】
2010137289.tif 000008
【００６８】
上式（５）を質点集中モデルとして近似すると、同式の左辺第２項を無視することができ、下式（７）のようになる。
【００６９】
【数７】
2010137289.tif 000009
【００７０】
また、上式（７）を時間微分すると、下式（８）に示す通りとなる。
【００７１】
【数８】
2010137289.tif 000010
【００７２】
そして、上式（４）、（６）から、下式（９）が導かれる。
【００７３】
【数９】
2010137289.tif 000011
【００７４】
さまざまな環境との接触を考慮するとは、接触面の法線方向が単一でないことを意味する。ここでは、まず単一法線面内での接触運動について考察する。
【００７５】
単一法線面内の力は、その平面内の１点に加わる合力ｆとして集約することができる。このとき、上式（９）は下式（１０）となる。
【００７６】
【数１０】
2010137289.tif 000012
【００７７】
そして、上式（１）〜（３）から、下式（１１）のようにまとめられる。
【００７８】
【数１１】
2010137289.tif 000013
【００７９】
上式（１１）は、力（外力）接触点を結ぶベクトルは、外力と平行、すなわち、外力の作用線が重心を通ることを意味する。したがって、外力により重心回りにモーメントが発生しない、といった物理的な解釈をすることができる。上式（１１）中のｐcは、質量集中モデルにおけるＺＭＰを表すことになる。また、重心が上式（１１）を満足することは、リンク構造体と環境との接触状態が変化しないことを意味し、上式（１１）は単一法線面内での接触運動において接触状態を保つための制約式となる。
【００８０】
続いて、複数法線面との接触運動について考察する。
【００８１】
単一法線面での運動と異なり、接触平面の法線ベクトル方向が共通でない場合、偶力を発生することなく、１つの平面内の１点に加わる合力として、複数の接触力（外力）を集約することができない。したがって、上式（９）は、上式（１）〜（３）から、下式（１２）のように整理することができる。
【００８２】
【数１２】
2010137289.tif 000014
【００８３】
上式（１２）は、リンク構造体の各接触点ｐciに作用する外力による重心回りのモーメントの合計は０となることを表す。すなわち、重心回りに外力によるモーメントが発生しないことを意味する。また、上式（１２）を満足しつつ重心が運動することで、リンク構造体と環境との接触状態を保つことができる。したがって、式（１２）を、複数法線面接触状況下においてリンク構造体が接触状態を保つための制約式と解釈することができる。
【００８４】
上式（１１）、（１２）は、リンク構造体の接触運動の本質的特性を、その重心と外力との関係から比較的単純な形で表現しており、厳密な運動方程式を取り扱うのに比べると見通しが良い。すなわち、リンク構造体の接触運動を規定するに際して、リンク構造体の重心の運動がリンク構造体全体の運動生成に大きな役割を果たすことを明示している。
【００８５】
但し、これら２式（１１）、（１２）は運動の安定性を規定するものではなく、あくまでもリンク構造体と環境との接触状態を保つための制約式でしかない、という点を十分留意されたい。本実施形態では、リンク構造体全体の運動の安定性確保は、長期的運動目標達成により実現する（後述）。
【００８６】
次に、上記のリンク構造体と環境との接触状態を保つための制約式（１２）を満足するリンク構造体の全身運動パターンを実時間で算出するアルゴリズムについて説明する。
【００８７】
上式（１２）を、ｙ成分並びにｘ成分についてそれぞれ展開して書き下すと、下式（１３）、（１４）に示す通りとなる。
【００８８】
【数１３】
2010137289.tif 000015
【００８９】
【数１４】
2010137289.tif 000016
【００９０】
但し、上式（１３）、（１４）中において、リンク構造体の総重心位置ｐG、ｉ番目の接触点位置ｐci、接触点ｐciに作用する力（外力）ｆiは、それぞれ下式（１５）〜（１７）とする。
【００９１】
【数１５】
2010137289.tif 000017
【００９２】
【数１６】
2010137289.tif 000018
【００９３】
【数１７】
2010137289.tif 000019
【００９４】
ｘ成分とｙ成分は同形となることから、以下では、紙面の節約のため、ｘ方向の運動のみについて説明する。
【００９５】
上式（１４）の解析解を得るために、本実施形態では、運動区間を比較的短期間毎に分割した時間区間を考える（運動区間を、接触点の切り替わりで複数の短い短期区間に分割する）。一般の運動は、このような短期区間が複数連なって構成されるものとしてモデル化することができる。図７には、一般の運動を複数の短期区間からなる区分割運動で表した様子を示している。同図では、一般接触運動の例として、２足のキャラクター・モデル若しくはヒューマノイド・ロボットを制御対象とした場合の歩行運動を採り上げている。ここで、２足歩行は、右脚を持ち上げた状態での左脚による単脚支持期（ＳＳＰ）、右脚が接地した両脚支持期（ＤＳＰ）、左脚を持ち上げた状態での右脚による単脚支持期（ＳＳＰ）及び左脚が接地した両脚支持期（ＤＳＰ）の４つの動作期間に分割される歩行周期を繰り返すことによって行なわれる。図示の例では、接触点の切り替わり、すなわち脚部の着床と離床を短期区間の境界としてモデル化している。同図中、ｃｏｇxはｘ方向の重心軌道、ｆ1、ｆ2は左右の脚部の足底に作用する接触力を表している。
【００９６】
また、上式（１４）の解析解を得るために、以下の２つの仮定を設ける。
【００９７】
（１）単一の短期区間内において、重心のｚ方向の運動変化は微小である。
（２）単一の短期区間において、接触力は線形な時間関数として表現される。
【００９８】
上式（１４）は、リンク構造体の複数法線面に対する接触点位置ｐciと接触点ｐciに作用する力（外力）ｆiを入力とした、変数係数２階の非斉次方程式である。上記の２つの仮定により、この変数係数２階の非斉次方程式（１４）は、定数係数２階の非斉次方程式となり、容易に解析解を得ることができる。図７に示した区分割運動の区間ｋにおける上式（１４）の一般解は、下式（１８）に示す通りとなる。
【００９９】
【数１８】
2010137289.tif 000020
【０１００】
また、上式（１８）を時間微分すると、下式（１９）に示す通りとなる。但し、ｔは区間内の時間を表す。
【０１０１】
【数１９】
2010137289.tif 000021
【０１０２】
上式（１８）、（１９）は、図７に示した短期区間ｋ毎に表現され、それぞれの区間において、未定係数Ｃ1,k及びＣ2,kが決まれば、短期区間ｋにおけるリンク構造体の総重心位置のｘ成分ｘGが分かることを理解できよう。
【０１０３】
上式（１８）、（１９）は、計画する運動区間全体にわたる変数係数２階の非斉次方程式を、図７示した短期区間ｋ毎の定数係数２階の非斉次方程式として表現したものである。それぞれの短期区間ｋにおいて、その未定係数Ｃ1、Ｃ2を求める必要がある。
【０１０４】
本発明の第１の実施例では、計画する運動区間全体の始端において、重心位置ｘ0及び重心速度を初期境界条件として課す。また、計画する運動区間全体の終端においては、重心位置ｘKを終端境界条件として課す。さらに、複数の連続する短期区間においては、それぞれの期間において、その期間の終端と次に連なる期間の始端との連続条件として、上式（１８）、（１９）を用いて接続条件を表現する。
【０１０５】
始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。短期区間の境界は、例えば、両脚支持期と単脚支持期の境界、すなわち、接触の切り替わりなどに設定すればよい。
【０１０６】
これまでに述べた拘束は、運動区間をＫ個の短期区間に分割した場合、２Ｋ＋１の拘束条件を与える。一方、計画する運動の全区間における未定係数の総数は２Ｋ個となり、上記２Ｋ＋１個の拘束条件の他に１つ変数の追加が必要となる。図８Ａ〜図８Ｃには、リンク構造体に作用する外力によるモーメントの総和に対して、仮想的なモーメントによるオフセットｄを加える形で変数を追加する様子を示している。図中、実線は外力によるモーメントの総和を表し、点線は仮想モーメントによるオフセットを考慮した後のモーメントの総和を表している。図示のように、短期区間の境界において外力モーメントの総和に対して仮想的なオフセットｄを加えることで、２Ｋ＋１元連立方程式として未定係数を決定することになる。
【０１０７】
変数の取り方はさまざま考えられ、図８で示したものはほんの一例に過ぎない。但し、この変数の取り方は、重心軌道算出問題の解の収束性に大きく寄与する。図８Ａには３つの境界にオフセットｄを加えた様子を示し、図８Ｂには２つの境界にオフセットｄを加えた様子を示し、図８Ｃには１つの境界にオフセットｄを加えた様子を示している。図９〜図１１には、歩行運動３歩を行なう際に図８Ａ〜図８Ｃのそれぞれに示した変数の取り方でｘｙ各方向の重心軌道を生成した例をそれぞれ示している。図１０に示す例では、多少重心軌道にオーバーシュートが発生し、図１１では発散していることが分かる。
【０１０８】
また、上記の説明では、計画する運動期間の終端における境界条件として、重心位置のみを設定する例を示したが、本発明の要旨は必ずしもこれに限定されるものではない。例えば拘束式が増えたときには、さらに重心速度を終端条件に加えても良い。重心速度を終端条件に加えた場合、区間境界における外力によるモーメントの総和のオフセットを２つ考え（例えば、ｄ1、ｄ2）、２Ｋ＋２元連立方程式として未定係数を決定すればよい。また、各区間の境界それぞれに独立のオフセット量をとる場合、変数の数が冗長となる。その場合は、最適化問題として取り扱うことで未定係数を決定することができる。以上により、複数法線面における接触運動において、リンク構造体の各リンクと各法線面との接触状態を保ち、目的とする運動を実現するための重心運動を得ることができる。
【０１０９】
第１の実施例における運動区間全体の始端における境界条件（初期拘束条件）、短期区間の境界における連続条件（境界連続条件）、運動区間全体の終端における境界条件（終端条件）の拘束式を、下式（２０）〜（２２）にそれぞれ示す。但し、同式は、外力によるモーメントの総和に１つのオフセットを与えたもの、すなわち、計画する運動期間の終端における境界条件として重心位置のみを設定したものである。
【０１１０】
【数２０】
2010137289.tif 000022
【０１１１】
【数２１】
2010137289.tif 000023
【０１１２】
【数２２】
2010137289.tif 000024
【０１１３】
但し、上式（２０）に示した初期拘束条件において、Ｔk、αkはそれぞれ、一短期区間の時間、オフセット量を課す境界の切り替えに用いるマスク係数である。
【０１１４】
また、本発明の第２の実施例では、計画する運動区間全体の始端において、重心位置ｘ0及び重心速度を初期境界条件として課し、且つ、複数の連続するそれぞれの短期区間の終端と次に連なる期間の始端との連続条件として上式（１８）、（１９）を用いて接続条件を表現することは上記第１の実施例と同様であるが、終端条件として重心位置ｘKに加えその速度も設定する点で相違する。第２の実施例における運動区間全体の始端における境界条件（初期拘束条件）、短期区間の境界における連続条件（境界連続条件）、運動区間全体の終端における境界条件（終端条件）の拘束式を、下式（２３）〜（２５）にそれぞれ示す。但し、オフセットを、外力によるモーメントの総和に２つ加えたものである。また、下式（２３）中のＴkは１つの短期区間の時間、αk、βkはオフセット量を課す境界の切り替えに用いるマスク係数、ｄ1、ｄ2はオフセット量を表す。また、下式（２５）中の重心速度は、計画する運動全区間の終端における目標重心速度を表している。
【０１１５】
【数２３】
2010137289.tif 000025
【０１１６】
【数２４】
2010137289.tif 000026
【０１１７】
【数２５】
2010137289.tif 000027
【０１１８】
上式（２０）〜（２２）を用いて、又は上式（２３）〜（２５）を用いて、短期区間ｋ毎の定数係数Ｃ1,k及びＣ2,kを解くことができる。そして、このようにして得られた重心運動ｘG（ｔ）、ｙG（ｔ）を満足するように、全身のキネマティクス及びマスプロパティーを考慮して、リンク構造体の関節を駆動することになる。
【０１１９】
例えば、本出願人に既に譲渡されている特開２００７−１０８９５５号公報には、リンク構造体の重心操作空間において力と加速度を紐付けする操作空間慣性逆行列を求める方法について開示されており、上記のようにして得られた重心運動から重心操作空間における操作空間慣性逆行列を求め、さらに操作空間慣性逆行列を用いて定式化された動力学的な拘束条件と、運動学的な拘束条件とを連立させて解くことにより、人型リンク形の関節の運動を生成することができる。運動データを適用するリンク構造体に対し力制御を行なうときには、特開２００７−１０８９５５号公報に開示されている操作空間制御を用いて全身協調方法を得ることができる。
【０１２０】
また、本出願人に既に譲渡されている特開２００４−３０６２３１号公報には、リンク構造体の全体重心位置などに関する等式拘束条件と、各関節の角速度リミット、可動各リミットなどに関する不等式拘束条件を与えるとともに、冗長自由度の駆動ストラテジーをエネルギー関数で規定して、このエネルギー関数を最小化するように状態変化量を求めてロボットの運動制御を行なう装置について開示されている。運動データを適用するリンク構造体に対し位置制御を行なうときには、特開２００４−３０６２３１号公報一般化された逆キネマティクスを用いて全身協調方法を得ることができる。
【０１２１】
図１２には、これまで説明してきた方法によってリンク構造体の重心位置を求めるとともに、得られた重心位置を拘束条件とし、他の拘束条件とともに運動拘束を解決してリンク構造体の運動データ（各関節への制御周期毎の駆動指令値）を生成する運動データ生成システムの機能的構成を模式的に示している。
【０１２２】
図示の運動データ生成システム２０は、重心運動安定化部２１と、運動拘束解決部２２で構成される。このうち、複数法線面接触運動の安定化処理の本質を担うのは、重心運動安定化部２１である。
【０１２３】
後続の運動拘束解決部２２は、重心運動安定化部２１で算出された重心軌道に関する指令値を入力すると、その他の運動拘束条件と連立するように、リンク構造体の全身を協調駆動するための関節指令値を決定する。
【０１２４】
重心運動安定化部２１は、重心目標位置設定部２１Ａと、接触点目標値設定部２１Ｂと、外力概算値決定部２１Ｃと、重心運動算出部２１Ｄで構成される。以下、各部についてそれぞれ説明する。
【０１２５】
重心目標位置設定部２１Ａは、将来時刻Ｔ（運動区間の最後すなわちＫ番目の短期区間の終端）での重心目標位置、すなわち、上式（２２）で示した運動区間全体における終端条件を設定する。
【０１２６】
例えばリンク構造体が２足歩行型であり、計画する運動が歩行運動である場合には、重心目標位置設定部２１Ａは、数歩先の両足底の中心位置を重心目標位置に設定する。これにより、重心軌道には数歩先の両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。
【０１２７】
接触点目標値設定部２１Ｂは、リンク構造体と複数法線面からなる環境との接触状態、すなわち、力（外力）の作用点位置であるリンクｉ毎の接触点位置ｐciを設定する。
【０１２８】
接触点目標値設定部２１Ｂは、目標とする運動データの１つとして、リンク構造体の動作計画上の接触点の目標値を設定する。但し、リンク構造体がヒューマノイド・ロボット（図１を参照のこと）であり、該当する接触点が接触して接触へのアプローチが終了した場合には、表面に貼設された触覚センサー群ｔ１、ｔ２、…、ｔ１７（図２を参照のこと）のセンサー出力としてリンクｉ毎の接触点位置ｐciを得ることもできる。また、制御対象が、力学現象をシミュレートしたキャラクター・モデルの場合、接触点目標値設定部２１Ｂには、目標とする運動データの一部としてリンクｉ毎の接触点位置ｐciが与えられる。
【０１２９】
外力概算値決定部２１Ｃは、重心目標位置設定部２１Ａが設定した将来時刻Ｔにおけるリンク構造体の重心目標位置と、接触点目標値設定部２１Ｂが設定したリンク構造体のリンクｉ毎の接触点位置ｐciとから、各接触点位置ｐciに作用する外力ｆiの概略値を算出する。
【０１３０】
各接触点位置ｐciに作用する外力ｆiによる重心回りのモーメントの合計は０となることから、制御対象とするリンク構造体の複数法線面との接触状態を保つための制約式として、リンク構造体の複数法線面に対する接触点位置ｐciと接触点ｐciに作用する力（外力）ｆiを入力とした上式（１２）が導き出される。そして、この制約式（１２）は、上式（１３）、（１４）で示したように、ｘ成分とｙ成分に展開して記述することができるが、当該式（１３）、（１４）は変数係数２階の非斉次方程式である。
【０１３１】
ここで、短期区間では重心ｐgのｚ方向の運動変化は微小であることと、短期区間では接触力は線形な時間関数として表現されることという２つの仮定を設定すると、計画する運動区間を例えば接触点の切り替わりで複数の短期区間に分割して、上記の変数係数２階の非斉次方程式を、短期区間毎に定数係数２階の非斉次方程式として扱うことができる。
【０１３２】
重心運動算出部２１Ｄは、複数法線面からなる環境との接触状態を保つようなリンク構造体の現在時刻における重心運動を算出する。本実施形態では、重心運動算出部２１Ｄは、計画する運動区間全体の始端における重心位置ｘ0及び重心速度の初期条件と、計画する運動区間全体の終端における重心位置ｘKの終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、上式（１８）、（１９）から現在時刻ｔにおけるリンク構造体の重心位置ｐGの運動を算出する。
【０１３３】
始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。短期区間の境界は、例えば、両脚支持期と単脚支持期の境界、すなわち、接触の切り替わりなどに設定すればよい。
【０１３４】
ここで、運動区間全体をＫ個の短期区間に分割した場合、上記の初期条件、終端条件、及び境界連続条件から２Ｋ＋１の拘束条件が与えられる。これに対し、未定係数の総数は、短期区間毎の２階の未定係数すなわち２Ｋ個となることから、上記の拘束条件の他に変数を１つ追加する必要がある。そこで、本実施形態では、重心運動算出部２１Ｄは、短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットｄを加える形で変数を追加して、２Ｋ＋１元連立方程式として、短期区間毎の定数係数２階の非斉次方程式（１８）、（１９）における未定係数を決定するようにしている。
【０１３５】
運動拘束解決部２２は、重心運動安定化部２１で得られた次時刻の重心運動目標値を、他の運動拘束（例えば、リンク構造体の一部に発生する力、位置、速度、加速度、外界との接触拘束、関節の発生力、関節値、関節速度、関節加速度、可動範囲拘束など）を同時に満たすような関節駆動方法を決定して、関節指令値からなる運動データを生成して出力する。
【０１３６】
但し、運動拘束解決部２２において全身協調運動の関節指令値を決定するための処理は、例えば本出願人に既に譲渡されている特開２００４−３０６２３１号公報若しくは特開２００７−１０８９５５号公報（いずれも前述）に記載されている技術を適用して構成することができるので、本明細書では運動拘束解決部２２に関する詳細な説明を省略する。運動データを適用するヒューマノイド・ロボットの関節駆動用アクチュエーターが力制御型であれば、特開２００７−１０８９５５号公報に開示されている操作空間制御を用いて全身協調方法を得ることができ、同アクチュエーターが位置制御型であれば、特開２００４−３０６２３１号公報一般化された逆キネマティクスを用いて全身協調方法を得ることができる。
【０１３７】
図１３には、図１２に示した運動データ生成システム２０において、リンク構造体の運動データを生成するための処理手順をフローチャートの形式で示している。
【０１３８】
まず、重心目標位置設定部２１Ａにおいて、将来時刻Ｔ（運動区間を分割した最後の短期区間Ｋの終端）での重心目標位置ｐGを設定する（ステップＳ１）。
【０１３９】
次いで、接触点目標値設定部２１Ｂにおいて、将来時刻Ｔ（運動区間を分割した最後の短期区間Ｋの終端）における、リンク構造体の各リンクｉが複数法線面からなる環境と接触する接触点位置ｐci、すなわち力の作用点を設定する（ステップＳ２）。
【０１４０】
次いで、外力概略値決定部２１Ｃにおいて、ステップＳ１で重心目標値として設定されて重心目標位置と、ステップＳ２で設定された接触点目標値とから、各リンクｉの接触点位置ｐciに作用する外力ｆiの概略値を算出する（ステップＳ３）。
【０１４１】
次いで、重心運動算出部２１Ｄにおいて、計画する運動区間の初期条件、終端条件、及び、隣接する短期区間における境界連続条件とから構成される、２Ｋ＋１元連立方程式を、ステップＳ１で設定された重心目標位置ｐG、ステップＳ２で設定された各リンクｉの接触点目標値ｐci、及び、ステップＳ３で算出した外力概略値ｆiを基に解いて、現在時刻ｔにおける重心運動を算出する（ステップＳ４）。
【０１４２】
次いで、運動拘束解決部２２において、ステップＳ４で算出した重心軌道拘束、及び運動を構成するためのその他の運動拘束を設定する（ステップＳ５）。
【０１４３】
次いで、運動拘束解決部２２において、ステップＳ５で設定した種々の運動拘束が同時に満たされるような、関節指令値を決定する（ステップＳ６）。
【０１４４】
そして、ステップＳ６で算出した全関節指令値を、各リンクを接続する関節アクチュエーターを駆動する運動データとして出力する（ステップＳ７）。
【０１４５】
以上の処理を、制御周期毎に繰り返し、計画する運動区間の全体にわたり、複数法線面との接触状態の安定性を確保したリンク構造体の運動データを高速に生成することができる。
【０１４６】
以下では、制御対象としてのリンク構造体が人型キャラクター若しくはヒューマノイド・ロボットであり、計画する運動が２足歩行運動である場合における、上述した運動データの生成方法の適用例について検証する。
【０１４７】
図１４には、２足２腕型のヒューマノイド・ロボットの歩行運動の概略を示している。また、図１５には、検証に用いるヒューマノイド・ロボットの足部の足底形状を示している。図１４中で、ｆ1、ｆ2は左右の脚部の足底に作用する接触力（床反力）を表している。各接触力ｆ1、ｆ2は左右の脚部の足底に配設された右足部触覚センサー群ｔ１、左足部触覚センサー群ｔ９から得ることができる。
【０１４８】
計画する運動区間を、複数法線面からなる環境との接触点の切り替わりで分割すると、４つの短期区間から構成される。すなわち、歩行運動の場合、運動データ生成システム２０は、２歩先までの未来における運動の安定化を目標とし、全身運動パターンを生成する。始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。
【０１４９】
図１６並びに図１７には、単一法線面内での接触運動の一例として、歩行周期を０．６秒、歩幅を６ｃｍに設定した場合のヒューマノイド・ロボットの歩行運動の結果をそれぞれ示している。但し、図１６は、ｘ方向の重心軌道（ＣＯＧ  Ｘ）と（同図中の実線）、ｘ方向のＺＭＰ軌道（ＺＭＰ  Ｘ）を示し（同図中の点線）、図１７には、ｙ方向の重心軌道（ＣＯＧ  Ｙ）と（同図中の実線）、ｙ方向のＺＭＰ軌道（ＺＭＰ  Ｙ）を示している（同図中の点線）。なお、本実施形態に係る運動データ生成システム２０が直接ＺＭＰを扱うことはないが、単一法線面内での運動データを生成する場合には運動生成の妥当性検証の指標として用いることを目的として運動期間の全区間においてＺＭＰの算出を行ない、その結果を各図に併記した次第である。
【０１５０】
図１６及び図１７に示した各方向のＺＭＰ軌道は、図１５に示した足部形状とより判断すると、運動の全区間において十分に接地多角形内に存在しており、環境（この場合は床面）との安定した接触状態が保たれていることが分かる。また、重心軌道（ＣＯＧ  Ｘ、ＣＯＧ  Ｙ）から計画する運動区間の全体において、重心の発散が見られない。したがって、安定な歩行運動が実行されていることが分かる。
【０１５１】
また、図１８には、複数法線面との接触運動の一例として、２足２腕型のヒューマノイド・ロボットの壁への寄りかかり運動を示している。同図中で、ｆは、ヒューマノイド・ロボットが壁へ寄りかからずに直立している際に足底に作用する接触力（床反力）を表している。また、ｆ1、ｆ2は、ヒューマノイド・ロボットが壁に寄りかかっている際に、左右の脚部の足底に作用する接触力（床反力）と、壁から手部に作用する接触力をそれぞれ表している。床に対する接触力ｆ1は、左右の脚部の足底に配設された右足部触覚センサー群ｔ１、及び、左足部触覚センサー群ｔ９から得ることができる。また、壁に対する接触力ｆ2は、右手首触覚センサー群ｔ４、左手首触覚センサー群ｔ１２から得ることができる。
【０１５２】
図示のヒューマノイド・ロボットの壁への寄りかかり運動は、まず、直立姿勢から始まり、次いで壁に両手を着き、徐々に壁に寄りかかり、壁に手をつけたまま直立姿勢に戻し、この運動を再度繰り返すというものである。そして、寄りかかりを２度行なった後、壁から両手を離脱させ、その後、再度両手を壁に接触させ、寄りかかり運動を先ほどの２回の寄りかかり運動より深く行ない、直立姿勢に戻る、という動作を動力学シミュレーション上で行なった。図１９には、かかる動力学シミュレーションを行なった結果として得られた、ヒューマノイド・ロボットのｘ方向の重心軌道を示している。同図から、ヒューマノイド・ロボットの重心軌道は発散することなく良好に生成されていることを確認することができる。
【０１５３】
図１４乃至図１９で示した検証実験からも分かるように、本実施形態にかかる運動データ生成システム２０を用いることにより、ヒューマノイド・ロボットなどのリンク構造体のあらゆる環境との接触を含む運動に対し、安定な運動パターンを生成することができる。また、上式（２０）〜（２２）から分かるように、重心運動算出部２１Ｄは、非常にシンプルな連立方程式を解くことで、複雑なダイナミクスを取り扱うことなく、安価な計算量で、複数法線面との接触を含んだ一般接触運動パターンを安定に生成することができる。これにより、人型キャラクターやヒューマノイド・ロボットといった多リンクからなるリンク構造体の、実世界や力学現象をリアルにシミュレートした仮想環境内におけるインタラクティビティを要するアプリケーションの世界を広げることが可能になる。
【産業上の利用可能性】
【０１５４】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１５５】
本発明は、例えば人型キャラクターやヒューマノイド・ロボットなどのリンク構造体のための動作制御若しくは運動データの生成に適用することができる。本発明によれば、人型キャラクターやヒューマノイド・ロボットといった多リンクからなるリンク構造体の、実世界や力学現象をリアルにシミュレートした仮想環境内におけるインタラクティビティを要するアプリケーションの世界を広げることが可能になる。
【０１５６】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１５７】
【図１】図１は、制御対象となるキャラクター・モデル若しくはロボットの関節自由度モデルを示した図である。
【図２】図２は、ヒューマノイド・ロボットの表面のうち、外界との接触が想定されている各部位に触覚センサー群が取り付けられている様子を示した図である。
【図３】図３は、触覚センサー群の構成を示した図である。
【図４】図４は、触覚センサーＣＳの構成を模式的に示した図である。
【図５】図５は、図２に示したヒューマノイド・ロボットにおける結線トポロジの構成例を示した図である。
【図６】図６は、本発明を実現可能なコンピューターの構成例を示した図である。
【図７】図７は、一般の運動を複数の短期区間からなる区分割運動で表した様子を示した図である。
【図８Ａ】図８Ａは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットｄを加える形で変数を追加する様子を示した図である。
【図８Ｂ】図８Ｂは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットｄを加える形で変数を追加する様子を示した図である。
【図８Ｃ】図８Ｃは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットｄを加える形で変数を追加する様子を示した図である。
【図９Ａ】図９Ａは、図８Ａに示した変数の取り方で歩行運動３歩の運動を行なう際のｘ方向の重心軌道の生成例を示した図である。
【図９Ｂ】図９Ｂは、図８Ａに示した変数の取り方で歩行運動３歩の運動を行なう際のｙ方向の重心軌道の生成例を示した図である。
【図１０Ａ】図１０Ａは、図８Ｂに示した変数の取り方で歩行運動３歩の運動を行なう際のｘ方向の重心軌道の生成例を示した図である。
【図１０Ｂ】図１０Ｂは、図８Ｂに示した変数の取り方で歩行運動３歩の運動を行なう際のｙ方向の重心軌道の生成例を示した図である。
【図１１Ａ】図１１Ａは、図８Ｃに示した変数の取り方で歩行運動３歩の運動を行なう際のｘ方向の重心軌道の生成例を示した図である。
【図１１Ｂ】図１１Ｂは、図８Ｃに示した変数の取り方で歩行運動３歩の運動を行なう際のｙ方向の重心軌道の生成例を示した図である。
【図１２】図１２は、運動データ生成システムの機能的構成を示したブロック図である。
【図１３】図１３は、図１２に示した運動データ生成システム２０において、リンク構造体の運動データを生成するための処理手順を示したフローチャートである。
【図１４】図１４は、２足２腕型のヒューマノイド・ロボットの歩行運動の概略を示した図である。
【図１５】図１５は、検証に用いるヒューマノイド・ロボットの足部の足底形状を示した図である。
【図１６Ａ】図１６Ａは、歩行周期を０．６秒、歩幅を６ｃｍに設定した場合のヒューマノイド・ロボットの歩行運動の結果（ｘ方向の重心軌道とｘ方向のＺＭＰ軌道）を示した図である。
【図１６Ｂ】図１６Ｂは、歩行周期を０．６秒、歩幅を６ｃｍに設定した場合のヒューマノイド・ロボットの歩行運動の結果（ｘ方向の重心軌道とｘ方向のＺＭＰ軌道）を示した図（拡大図）である。
【図１７Ａ】図１７Ａは、歩行周期を０．６秒、歩幅を６ｃｍに設定した場合のヒューマノイド・ロボットの歩行運動の結果（ｙ方向の重心軌道とｙ方向のＺＭＰ軌道）を示した図である。
【図１７Ｂ】図１７Ｂは、歩行周期を０．６秒、歩幅を６ｃｍに設定した場合のヒューマノイド・ロボットの歩行運動の結果（ｙ方向の重心軌道とｙ方向のＺＭＰ軌道）を示した図（拡大図）である。
【図１８】図１８は、２足２腕型のヒューマノイド・ロボットの壁への寄りかかり運動を示した図である。
【図１９】図１９は、複数法線面に接触する動作を動力学シミュレーションを行なった結果として得られた、ヒューマノイド・ロボットのｘ方向の重心軌道を示した図である。
【符号の説明】
【０１５８】
１…ＣＰＵ
２…ＲＯＭ
３…ＲＡＭ
４…ローカル・バス
５…ブリッジ
６…入出力バス
７…入出力インターフェース
８…キーボード
９…ポインティング・デバイス（マウス）
１０…ディスプレイ
１１…ＨＤＤ
１２…通信部
２０…運動データ生成システム
２１…重心運動安定化部
２１Ａ…重心目標位置設定部
２１Ｂ…接触点目標値設定部
２１Ｃ…外力概算値決定部
２１Ｄ…重心運動算出部
２２…運動拘束条件解決部
【図１】
2010137289.tif 000028
【図２】
2010137289.tif 000029
【図３】
2010137289.tif 000030
【図４】
2010137289.tif 000031
【図５】
2010137289.tif 000032
【図６】
2010137289.tif 000033
【図７】
2010137289.tif 000034
【図８Ａ】
2010137289.tif 000035
【図８Ｂ】
2010137289.tif 000036
【図８Ｃ】
2010137289.tif 000037
【図９Ａ】
2010137289.tif 000038
【図９Ｂ】
2010137289.tif 000039
【図１０Ａ】
2010137289.tif 000040
【図１０Ｂ】
2010137289.tif 000041
【図１１Ａ】
2010137289.tif 000042
【図１１Ｂ】
2010137289.tif 000043
【図１３】
2010137289.tif 000044
【図１４】
2010137289.tif 000045
【図１６Ａ】
2010137289.tif 000046
【図１６Ｂ】
2010137289.tif 000047
【図１７Ａ】
2010137289.tif 000048
【図１７Ｂ】
2010137289.tif 000049
【図１８】
2010137289.tif 000050
【図１９】
2010137289.tif 000051
【図１２】
2010137289.tif 000052
【図１５】
2010137289.tif 000053