(57)【特許請求の範囲】
【請求項１】
複数の関節角を備えた脚式移動ロボットのための動作編集装置であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部と、
該入力された１以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部と、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを前記動作編集装置上で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部と、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定部とを備え、
前記動作生成部は、機体のうちで姿勢データを変更したい部位グループ毎に割り当てられた各トラック上で姿勢データを時系列的に配置することにより部位グループ毎の動作データを生成するとともに、部位グループ毎の動作データが競合しないように各トラックの動作データを部位グループに設定された優先順位に従って重畳して機体全体の動作データを生成する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
【請求項２】
複数の関節角を備えた脚式移動ロボットのための動作編集装置であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部と、
該入力された１以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部と、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを前記動作編集装置上で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部と、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定部とを備え、
前記姿勢安定化処理部は、設定された優先順位に従って部位毎に目標軌道を修正する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
【請求項３】
前記姿勢データ入力部は、各関節角毎の変位値の直接入力を受容する、
ことを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項４】
前記姿勢データ入力部は、
脚式移動ロボットの３Ｄキャラクタを表示する手段と、
該３Ｄキャラクタ表示上でのユーザによるポーズ変更操作を受容する手段と、
該３Ｄキャラクタ表示に印加されたポーズ変更を基に各関節角の変位値を逆キネマティクスにより算出する手段と、
を備えることを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項５】
前記姿勢データ入力部は、機体のうちでポーズを変更したい１以上の部位を指定する手段をさらに備え、該３Ｄキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更する、
ことを特徴とする請求項４に記載の脚式移動ロボットのための動作編集装置。
【請求項６】
前記動作生成部は、前記姿勢データ入力部により入力された１以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成する、
ことを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項７】
前記姿勢安定化処理部は、
前記動作生成部により生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したＺＭＰ釣合い方程式を生成するＺＭＰ釣合い方程式生成手段と、
前記ＺＭＰ釣合い方程式生成手段により生成されたＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する動作データ修正手段と、
を備えることを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項８】
前記優先順位設定部は、質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与える、
ことを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項９】
前記部位は、腰部、左腕、右腕、左脚、右脚を含む、
ことを特徴とする請求項１又は２のいずれかに記載の脚式移動ロボットのための動作編集装置。
【請求項１０】
前記動作データ修正手段は、ＺＭＰ軌道を規制しながら、ＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する
ことを特徴とする請求項７に記載の脚式移動ロボットのための動作編集装置。
【請求項１１】
複数の関節角を備えた脚式移動ロボットのための動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力ステップと、
該入力された１以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成ステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを当該動作編集過程で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理ステップと、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定ステップとを備え、
前記動作生成ステップでは、機体のうちで姿勢データを変更したい部位グループ毎に割り当てられた各トラック上で姿勢データを時系列的に配置することにより部位グループ毎の動作データを生成するとともに、部位グループ毎の動作データが競合しないように各トラックの動作データを部位グループに設定された優先順位に従って重畳して機体全体の動作データを生成する、
を具備することを特徴とする脚式移動ロボットのための動作編集方法。
【請求項１２】
複数の関節角を備えた脚式移動ロボットのための動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力ステップと、
該入力された１以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成ステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを当該動作編集過程で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理ステップと、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定ステップとを備え、
前記姿勢安定化処理ステップでは、設定された優先順位に従って部位毎に目標軌道を修正する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
【請求項１３】
前記姿勢データ入力ステップでは、各関節角毎の変位値の直接入力を受容する、
ことを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項１４】
前記姿勢データ入力ステップは、
脚式移動ロボットの３Ｄキャラクタを表示するステップと、
該３Ｄキャラクタ表示上でのユーザによるポーズ変更操作を受容するステップと、
該３Ｄキャラクタ表示に印加されたポーズ変更を基に各関節角の変位値を逆キネマティクスにより算出するステップと、
を備えることを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項１５】
前記姿勢データ入力ステップでは、機体のうちでポーズを変更したい１以上の部位を指定する手段をさらに備え、該３Ｄキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更する、
ことを特徴とする請求項１４に記載の脚式移動ロボットのための動作編集方法。
【請求項１６】
前記動作生成ステップでは、前記姿勢データ入力ステップにおいて入力された１以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成する、
ことを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項１７】
前記姿勢安定処理化ステップは、
前記動作生成ステップにおいて生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したＺＭＰ釣合い方程式を生成するＺＭＰ釣合い方程式生成ステップと、
前記ＺＭＰ釣合い方程式生成ステップにおいて生成されたＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する動作データ修正ステップと、
ことを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項１８】
前記優先順位設定ステップでは、質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与える、
ことを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項１９】
前記部位は、腰部、左腕、右腕、左脚、右脚を含む、
ことを特徴とする請求項１１又は１２のいずれかに記載の脚式移動ロボットのための動作編集方法。
【請求項２０】
前記動作データ修正ステップでは、ＺＭＰ軌道を規制しながら、ＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する
ことを特徴とする請求項１７に記載の脚式移動ロボットのための動作編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの所定の動作パターンを記述する一連のコマンド／データの作成・編集を支援するための動作編集装置及び動作編集方法に係り、特に、可動脚によりさまざまな作業を行なう脚式移動ロボットのための動作編集装置及び動作編集方法に関する。
【０００２】
さらに詳しくは、本発明は、実機上での実行可能性を考慮しながら動作パターンの編集を支援する脚式移動ロボットのための動作編集装置及び動作編集方法に係り、特に、編集された動作パターンを実行時の姿勢安定性を考慮しながら編集作業を支援する脚式移動ロボットのための動作編集装置及び動作編集方法に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の”ＲＯＢＯＴＡ（奴隷機械）”に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ  ｒｏｂｏｔ）であった。
【０００４】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」と呼ばれるロボット（ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ）など、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。
【０００５】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ）と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【０００６】
脚式移動ロボットの用途の１つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【０００７】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ（ペット）、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、あらかじめ入力された動作パターンを単に忠実に実行するだけではなく、ユーザ（あるいは他のロボット）から受ける言葉や態度（「褒める」とか「叱る」、「叩く」など）に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【０００８】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【０００９】
これに対し、知的なロボットは、動作に起因する行動モデルや学習モデルを備えており、外部からの音声や画像、触覚などの入力情報に基づいてモデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。ロボットが感情モデルや本能モデルを用意することにより、ロボット自身の感情や本能に従った自律的な行動を表出することができる。また、ロボットが画像入力装置や音声入出力装置を装備し、画像認識処理や音声認識処理を行うことにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【００１０】
また、ユーザ操作などの外部からの刺激を検出したことに応答してこのモデルを変更する、すなわち「学習効果」を付与することによって、ユーザにとって飽きない又は好みに適応した動作パターンを提供することができる。
【００１１】
昨今の脚式移動ロボットは高い情報処理能力を備えており、ロボットそのものを一種の計算機システムとして捉えることができる。したがって、ロボット上で実現される動作パターン、あるいは、複数の基本的な動作パターンの組合せによって構成される高度且つ複雑な一連の動作シーケンスは、コンピュータ・プログラミングと同様の作業によって構築される。
【００１２】
実機を動作するモーション・データが数多く用意されることが、ロボット本体が普及していくためには必須である。したがって、ロボット用のモーション編集を行なうための開発環境の構築が強く望まれている。
【００１３】
また、今後、産業界のみならず一般家庭や日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンターティンメント性を追求する製品に関しては、コンピュータやコンピュータ・プログラミングに関する高度な知識を持たない一般消費者層がロボットを購入して使用するケースが多いと予想される。このような一般ユーザにとっても、ロボットの動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することを支援するためのツール、すなわちモーション編集システムを提供することが好ましい。
【００１４】
ロボットは、関節などの複数の制御点で構成されており、したがって、各制御点における位置や速度（関節角やその角速度）を入力していくことにより、機体動作を編集することができる。この点では、コンピュータ・グラフィックスにおけるキャラクタのアニメーション生成に類似する。しかしながら、仮想空間上での動作と実機動作とでは自ずと相違がある。脚式移動ロボットの場合には、単に関節角を駆動させただけでは所望の動作を実行することはできず、転倒することなく脚式作業を継続している必要がある。言い換えれば、姿勢の安定度を維持していることが、所望動作を実現することの前提となる。
【００１５】
多くの場合、脚式移動ロボットの姿勢安定制御には、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にモーメントがゼロとなる点を探索するというＺＭＰ安定度判別規範を用いる。２足の脚式移動ロボットの場合、この支持多角形が極めて高いことから、姿勢安定制御はとりわけ困難とされている。
【００１６】
機体の各制御点における指示値を画面入力してロボットのモーションを組むというモーション編集システムは既に存在するが、しかしながら、編集されたモーションで実機動作させる場合の姿勢安定性をチェックしたり、姿勢が安定化するように所望のモーションを修正するようなシステムは未だない。せっかく組まれたモーションでは機体の姿勢安定性を維持できず、モーション自体を実行することができないのでは、実質的にモーションを編集したことにはならない。
【００１７】
【発明が解決しようとする課題】
本発明の目的は、可動脚によりさまざまな作業を行なう脚式移動ロボットのための、優れた動作編集装置及び動作編集方法を提供することにある。
【００１８】
本発明のさらなる目的は、実機上での実行可能性を考慮しながら動作パターンの編集を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することにある。
【００１９】
本発明のさらなる目的は、編集された動作パターンを実行時の姿勢安定性を考慮しながら編集作業を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することにある。
【００２０】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、複数の関節角を備えた脚式移動ロボットのための動作編集装置又は動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部又はステップと、
該入力された１以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部又はステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを検証し、及び／又は、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作編集装置又は動作編集方法である。
【００２１】
動作編集装置又は動作編集方法によれば、オペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、ロボットのモーションを編集する。そして、姿勢安定化処理部は、編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、ＺＭＰ安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。この結果、実機での動作が保証された動作データを効率的に編集することが可能となる。
【００２２】
ここで、前記姿勢データ入力部又はステップは、キーボードなどを用いて各関節角毎の変位値の直接入力を受容するようにしてもよい。
【００２３】
あるいは、前記姿勢データ入力部又はステップは、ロボットを表わした３Ｄキャラクタ表示上で、ユーザによるポーズ変更操作が印加されたことに応答して、各関節角の変位値を逆キネマティクスにより算出するようにしてもよい。
【００２４】
この場合、ユーザは、直感的なポーズ入力を行なうことができる。また、機体のうちでポーズを変更したい１以上の部位を指定して、該３Ｄキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更するようにしてもよい。
【００２５】
また、前記動作生成部又はステップは、前記姿勢データ入力部又はステップにより入力された１以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成するようにしてもよい。
【００２６】
また、前記動作生成部又はステップは、機体のうちでポーズを変更したい部位グループ毎に割り当てられたトラック上でポーズを時系列的に配置して該当部位グループにおけるモーションを生成するようにしてもよい。
【００２７】
また、前記動作生成部又はステップは、優先順位付けされた複数のトラック上で各部位グループ毎のモーションを生成するとともに、優先順位に従って各部位グループ毎のモーションが競合しないように各トラックのモーションを重畳して機体全体のモーションを生成するようにしてもよい。
【００２８】
また、前記姿勢安定化部又はステップは、前記動作生成部又はステップにより生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したＺＭＰ釣合い方程式を生成して、このＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正するようにしてもよい。
【００２９】
このとき、所定の優先順位に従った順番で、各部位毎に目標軌道を修正するようにしてもよい。例えば、機体上で質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与えるようにしてもよい。
【００３０】
また、前記動作データ修正手段又はステップは、ＺＭＰ軌道を規制しながら、ＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正することによって、所望の足部軌道を得るようにすることができる。
【００３１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３２】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３３】
Ａ．脚式移動ロボットの機械的構成
図１及び図２には、本発明に係る動作編集システムによる動作編集となる脚式移動ロボット１００の外観構成を示している。この脚式移動ロボット１００は、「人間形」又は「人間型」と呼ばれ、図示の通り、脚式移動ロボット１００は、胴体部と、頭部と、左右の上肢部と、脚式移動を行う左右２足の下肢部とで構成され、例えば胴体に内蔵されている制御部（図示しない）により機体の動作を統括的にコントロールするようになっている。
【００３４】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００３５】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００３６】
このように構成された脚式移動ロボット１００は、制御部による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行われる。すなわち、
【００３７】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【００３８】
脚式移動ロボット１００における歩行制御は、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行うことによって実現される。すなわち、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【００３９】
歩行動作の軌道修正を始めとして、機体の姿勢安定制御には、一般に、ＺＭＰに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、５次多項式を用いた補間計算により行う。ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）を歩行の安定度判別の規範として用いている。ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形（すなわちＺＭＰ安定領域）の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわち「ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）」が存在する。
【００４０】
図３には、この脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、２本の腕部と頭部１を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【００４１】
頭部を支持する首関節（Ｎｅｃｋ）は、首関節ヨー軸１と、首関節ピッチ軸２と、首関節ロール軸３という３自由度を有している。
【００４２】
また、各腕部は、その自由度として、肩（Ｓｈｏｕｌｄｅｒ）における肩関節ピッチ軸４と、肩関節ロール軸５と、上腕ヨー軸６、肘（Ｅｌｂｏｗ）における肘関節ピッチ軸７と、手首（Ｗｒｉｓｔ）における手首関節ヨー軸８と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【００４３】
また、体幹部（Ｔｒｕｎｋ）は、体幹ピッチ軸９と、体幹ロール軸１０という２自由度を有する。
【００４４】
また、下肢を構成する各々の脚部は、股関節（Ｈｉｐ）における股関節ヨー軸１１と、股関節ピッチ軸１２と、股関節ロール軸１３と、膝（Ｋｎｅｅ）における膝関節ピッチ軸１４と、足首（Ａｎｋｌｅ）における足首関節ピッチ軸１５と、足首関節ロール軸１６と、足部とで構成される。
【００４５】
但し、エンターティンメント向けの脚式移動ロボット１００が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００４６】
上述したような脚式移動ロボット１００が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした（この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報に開示されている）。本実施形態では、直結ギアとして低減速ギアを採用することにより、人間との物理的インタラクションを重視するタイプのロボット１００に求められている駆動系自身の受動的特性を得ている。
【００４７】
Ｂ．脚式移動ロボットの制御システム構成
図４には、脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０，４０，５０Ｒ／Ｌ，６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００４８】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリ等の主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行うインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００４９】
本発明を実現する上で、この制御ユニット８０の設置場所は特に限定されない。図４では体幹部ユニット４０に搭載されているが、頭部ユニット３０に搭載してもよい。あるいは、脚式移動ロボット１００外に制御ユニット８０を配備して、脚式移動ロボット１００の機体とは有線若しくは無線で交信するようにしてもよい。
【００５０】
図３に示した脚式移動ロボット１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸１、第１及び第２の首関節ピッチ軸２Ａ及び２Ｂ、首関節ロール軸３の各々を表現する首関節ヨー軸アクチュエータＡ１、首関節ピッチ軸アクチュエータＡ２Ａ及びＡ２Ｂ、首関節ロール軸アクチュエータＡ３が配設されている。
【００５１】
また、体幹部ユニット４０には、体幹ピッチ軸９、体幹ロール軸１０の各々を表現する体幹ピッチ軸アクチュエータＡ９、体幹ロール軸アクチュエータＡ１０が配備されている。
【００５２】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸４、肩関節ロール軸５、上腕ヨー軸６、肘関節ピッチ軸７、手首関節ヨー軸８の各々を表現する肩関節ピッチ軸アクチュエータＡ４、肩関節ロール軸アクチュエータＡ５、上腕ヨー軸アクチュエータＡ６、肘関節ピッチ軸アクチュエータＡ７、手首関節ヨー軸アクチュエータＡ８が配備されている。
【００５３】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１、股関節ピッチ軸１２、股関節ロール軸１３、膝関節ピッチ軸１４、足首関節ピッチ軸１５、足首関節ロール軸１６の各々を表現する股関節ヨー軸アクチュエータＡ１１、股関節ピッチ軸アクチュエータＡ１２、股関節ロール軸アクチュエータＡ１３、膝関節ピッチ軸アクチュエータＡ１４、足首関節ピッチ軸アクチュエータＡ１５、足首関節ロール軸アクチュエータＡ１６が配備されている。
【００５４】
各関節に用いられるアクチュエータＡ１，Ａ２，Ａ３…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータ（前述）で構成することができる。
【００５５】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５，４５，５５，６５が配備されている。
【００５６】
機体の体幹部４０には、加速度センサ９５と姿勢センサ９６が配設されている。加速度センサ９５は、Ｘ，Ｙ，Ｚ各軸方向に配置する。機体の腰部に加速度センサ９５を配設することによって、質量操作量が大きな部位である腰部を制御目標点として設定して、その位置における姿勢や加速度を直接計測して、ＺＭＰに基づく姿勢安定制御を行なうことができる。
【００５７】
また、各脚部６０Ｒ，Ｌには、接地確認センサ９１及び９２と、加速度センサ９３，９４がそれぞれ配設されている。接地確認センサ９１及び９２は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。また、加速度センサ９３，９４は、少なくともＸ及びＹの各軸方向に配置する。左右の足部に加速度センサ９３，９４を配設することにより、ＺＭＰ位置に最も近い足部で直接ＺＭＰ釣合い方程式を組み立てることができる（後述）。
【００５８】
質量操作量が大きな部位である腰部にのみ加速度センサを配置した場合、腰部のみが制御目標点に設定され、足部の状態は、この制御目標点の計算結果を基に相対的に算出しなければならず、足部と路面との間では以下の条件を満たすことが、前提となってしまう。
【００５９】
（１）路面はどんな力やトルクが作用しても動くことがない。
（２）路面での並進に対する摩擦係数は充分に大きく、滑りが生じない。
【００６０】
これに対し、本実施形態では、路面との接触部位である足部にＺＭＰと力を直接する反力センサ・システム（床反力センサなど）を配備するとともに、制御に用いるローカル座標とその座標を直接的に計測するための加速度センサを配設する。この結果、ＺＭＰ位置に最も近い足部で直接ＺＭＰ釣合い方程式を組み立てることができ、上述したような前提条件に依存しない、より厳密な姿勢安定制御を高速で実現することができる。この結果、力やトルクが作用すると路面が動いてしまう砂利上や毛足の長い絨毯上や、並進の摩擦係数が充分に確保できずに滑りが生じ易い住居のタイルなどであっても、機体の安定歩行（運動）を保証することができる。
【００６１】
主制御部８０は、各センサ９１〜９３の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部３５，４５，５５，６５の各々に対して適応的な制御を行い、脚式移動ロボット１００の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現する。
【００６２】
ロボット１００の機体上での全身運動は、足部運動、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部３５，４５，５５，６５に転送する。そして、各々の副制御部３５，４５…では、主制御部８１からの受信コマンドを解釈して、各アクチュエータＡ１，Ａ２，Ａ３…に対して駆動制御信号を出力する。ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中にＺＭＰが動く軌跡を意味する（前述）。
【００６３】
Ｃ．モーション編集システム
図５には、本発明の一実施形態に係るモーション編集システムの機能構成を模式的に示している。
【００６４】
図示のモーション編集システム１０００は、ポーズ入力部１００１と、モーション編集部１００２と、姿勢安定化処理部１００３と、モーション再生部１００４とを備えている。
【００６５】
ポーズ入力部１００１は、例えば、キーボードとマウス、ディスプレイなどのユーザ・インターフェースで構成され、オペレータは、モーション編集部１００２によって提供されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面に従ってロボット１００のポーズを入力することができる。
【００６６】
機体のポーズは、機体の全身に配設された各関節軸の変位角で表わされる。本実施形態に係るモーション編集部１００２は、ポーズの入力方式として、各関節軸の変位角の直接入力を受け容れる以外に、機体の３Ｄアニメーション・キャラクタを介して支持されたポーズから逆キネマティクスにより各関節軸の変位角を求める方式を備えている。
【００６７】
モーション編集部（Ｍｏｔｉｏｎ  Ｅｄｉｔｏｒ）１００２は、ポーズ入力部１００１を介してオペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、モーションを編集する。このとき、２以上のポーズを時系列的に組み合わせていくだけでなく、部位毎に編集されたポーズを並列的に組み合わせることも可能である。
【００６８】
姿勢安定化処理部（Ｓｔａｂｉｌｉｚｅｒ）１００３は、モーション編集部１００２において編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、ＺＭＰ安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。
【００６９】
ここで、ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。姿勢安定化処理部１００３は、足底接地点と路面の形成する支持多角形内のＺＭＰ安定領域内にＺＭＰが収容されるように、モーション実行中のＺＭＰ軌道を計画する。オペレータは、所望のＺＭＰ位置又はＺＭＰ軌道をあらかじめ指定することができる。
【００７０】
モーション再生部１００４は、モーション編集部１００２によって編集され、姿勢安定化処理部１００３によって修正されたモーション・データを基に、機体動作のシミュレーションを画面表示する。
【００７１】
このようなモーション編集システム１００による編集結果は、所定フォーマットのモーション・ファイルとして保管される。このモーション・ファイルを脚式移動ロボット１００にインストールすることによって、実機動作によりモーションを再生することができる。
【００７２】
Ｃ−１．ポーズの入力
オペレータは、モーション編集部１００２によって提供されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面に従ってロボット１００のポーズを入力することができる。機体のポーズは、機体の全身に配設された各関節軸の変位角で表わされる。
【００７３】
本実施形態では、ポーズの入力方式として、各関節軸の変位角の直接入力する方法と、機体の３Ｄアニメーション・キャラクタを介して支持されたポーズから逆キネマティクスにより各関節軸の変位角を求める方式を用意する。
【００７４】
前者の直接入力方式では、例えば図６に示すような入力画面を用いてポーズを指示することができる。同図に示す画面では、機体の関節自由度構成に沿って関節角入力ボックスが配設されているので、オペレータは所望の関節付近の入力ボックス内にマウスでカーソルを置いた後、キーボードを使って所望の値を与えることができる。また、入力ボックスの右端の”＋”ボタンをクリックすることによって、すでに入力されている値をインクリメントすることができる。入力ボックスに新しい値を書き込むと、現在実行中のポーズとして保管される。
【００７５】
なお、直接入力方式の場合、図６に示すような入力画面上でユーザのマニュアル入力に頼る以外に、モーション・キャプチャや、実機上でのダイレクト・ティーチングにより得られた各関節角の変位量を入力データとして用いることもできる。
【００７６】
また、図７には、機体の３Ｄアニメーション・キャラクタを介して指示されたポーズから逆キネマティクスにより各関節軸の変位角を求めるための概略的な処理手順を示している。
【００７７】
同図に示すように、逆キネマティクスによるポーズ指定方式は、ポーズを変更したい部位を指定した後、脚式移動ロボット１００を表わした３Ｄキャラクタ上の指定部位に動きを与える。指定部位の操作には、マウスのドラッグなどの機能を利用することができる。そして、指定部位を動作後、逆キネマティクスにより、画面上のポーズを形成するための各関節角の変位量が算出される。算出値は、図６に示した変位角指定画面の入力ボックスに反映される。
【００７８】
図８には、機体の３Ｄアニメーション・キャラクタを介してポーズを指示するための３Ｄビューア画面の構成例を示している。
【００７９】
オペレータは、図示の３Ｄビューア画面に表示されている３Ｄキャラクタ上で指定された部位をマウスでドラッグすることにより、その部位に所望の動きを与えることができる。
【００８０】
このビューア画面の左側縁には、カメラ・モード・ボタンが配設されており、”Ｆｒｏｎｔ”、”Ｂａｃｋ”、”Ｌｅｆｔ”、”Ｒｉｇｈｔ”、”Ｔｏｐ”、”Ｂｏｔｔｏｍ”など、３Ｄキャラクタを眺める（表示する）向きを指定することができる。
【００８１】
また、ビューア画面の下端縁には、部位指定ボタンが配置されており、オペレータは、これらのうちいずれかを押すことによって、動きを与えたい部位を指定することができる。図示の例では、左から順に、左腕、右腕、左脚、右脚を指定するボタンが配設されている。また、Ａ、Ｂ、Ｃの各ボタンの定義はユーザ・プログラムブルであり、オペレータは２以上の部位を同時指定する場合のショートカット・ボタンとして利用することができる。
【００８２】
また、ビューア画面の左下端には、ＩＫ（逆キネマティクス）ボタンが配設されている。このＩＫボタンを選択すると、図９に示すようなＩＫ関節角グループ化ウィンドウが出現する。
【００８３】
このＩＫ関節角グループ化ウィンドウ内では、機体の関節自由度構成が描かれており、オペレータはポーズを変更したい部位を直接クリックすることによって指定することができる。あるいは、画面右端縁に沿って配設された部位指定ボタンを利用して、グループ化したい部位を選択することもできる。
【００８４】
また、同ウィンドウの上方には、ＩＫ関節角グループの属性を指定するためのチェック・ボックスが配設されている。
【００８５】
“Ｍａｉｎｔａｉｎ  Ｅｎｄ  Ｅｆｆｅｃｔ  Ｏｒｉｅｎｔａｔｉｏｎ”をチェックすることにより、脚部を操作するときの足底の姿勢を維持するようにすることができる。
【００８６】
また、”Ｍｏｖｅ  Ｘ／Ｍｏｖｅ  Ｙ／Ｍｏｖｅ  Ｚ”をチェックすることにより、３Ｄキャラクタの指定部位を操作するときの操作方向を各方向に限定することができる。
【００８７】
このようにポーズを変更したい部位を指定した後、図８に示す３Ｄビューア画面に戻って、３Ｄキャラクタ上で指定された部位をマウスでドラッグすることにより、ポーズを変更する。図１０には、左右両足を変更部位として指定した後、３Ｄキャラクタを用いてポーズを変更する様子を描いている。この場合、オペレータは、例えば股関節付近をマウス・カーソルでつかんで、画面上を上下左右に走査することができる。図１０に示す例では、オペレータが印加する操作に応じて、足底の位置や姿勢を変化させずに、腰の位置や姿勢だけを変化させている。
【００８８】
Ｃ−２．モーションの生成
モーション編集部（Ｍｏｔｉｏｎ  Ｅｄｉｔｏｒ）１００２は、ポーズ入力部１００１を介してオペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、モーションを編集する。このとき、２以上のポーズを時系列的に組み合わせていくだけでなく、部位毎に編集されたポーズを並列的に組み合わせることも可能である。
【００８９】
作成されたポーズは、「トラック」と呼ばれるモーション編集フィールド上に登録される。すなわち、図６に示すような関節軸の変位角入力画面により指定されたポーズ、あるいは図８に示すような３Ｄビューア画面上で指示され逆キネマティクスにより求められたポーズは、トラック上に逐次配置されていく。図１１には、あるトラック上に複数のポーズが時系列的に配置されている様子を示している。
【００９０】
トラックの横軸は時間軸に相当する。作成されたポーズを表わすアイコンが、トラック上でデフォルト間隔をあけて順次配置されていく。トラック上でアイコンを水平方向にドラッグすることにより、ポーズの再生時刻をスライドさせることができる。隣接するポーズ間は、例えばリニア補間やスプライン補間などの手法を用いて補間されて、モーションとなる。
【００９１】
１つのトラック上では、指定部位が同じポーズしか扱われない。すなわち、ＩＫ関節角グループ毎にトラックが用意される。例えば、あるトラック上で右腕を指定部位としたポーズからなるモーションを編集中に、左脚を指定部位とするポーズが入力されてきた場合（あるいは、右腕以外の部位、又は右腕とともにそれ以外の部位が指定されている場合）、別のトラックに登録される。
【００９２】
図１２には、ＩＫ関節角グループ毎にトラックが配設されている様子を示している。各トラックは、該当するＩＫ関節角グループにおいて規定されたポーズからなるモーションを取り扱う。図示の例では、上から順に、右腕、左脚、左脚…、全身の順にトラックが配置されている。
【００９３】
優先順位に従って上からトラックが配置されるようになっている。図示のようにトラック単位すなわちＩＫ関節角グループ単位でポーズの作成を行なった後、再生を行なうと、優先順位に従って機体動作の再生が行なわれる。
【００９４】
図１２に示す例では、優先順位の高い右腕のポーズの発現が優先される。次いで、左脚のポーズの発現が優先されるが、右腕と左脚とでは機体ハードウェアの干渉はないので、左脚のポーズはほぼそのまま再生されることになる。
【００９５】
また、左脚をＩＫ関節角グループとするトラックがさらに続いた場合には、優先順位が上位のトラックと緩衝するので、モーション再生時にこのトラックのポーズは発現されない。
【００９６】
また、全身を指定部位とするトラックが続く場合、右腕、左脚など優先するトラックと競合しない範囲でポーズの発現が行なわれる。
【００９７】
このようなトラック毎に部位単位でのポーズの編集を許容するようなシステムにおいては、高優先順位のトラックを特定の部位に割り当て、上半身や下半身、全身など比較的大きな部位の組み合わせのポーズ編集には低優先順位のトラックを使用することが、編集作業の効率上好ましいと思料される。
【００９８】
Ｃ−３．姿勢安定化処理
姿勢安定化処理部１００３は、モーション編集部１００２において編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、実機上の各関節角に変位量を投入して、ＺＭＰ安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。
【００９９】
ＺＭＰを安定度判別規範に用いたロボットの姿勢安定度制御は、基本的には足底接地点と路面の形成する支持多角形の辺上あるいはその内側にモーメントがゼロとなる点を探索することにある。すなわち、ロボットの機体に印加される各モーメントの釣合い関係を記述したＺＭＰ釣合い方程式を導出して、このＺＭＰ釣合い方程式上で現れるモーメント・エラーを打ち消すように機体の目標軌道を修正する。
【０１００】
姿勢安定化処理部１００３は、足底接地点と路面の形成する支持多角形内のＺＭＰ安定領域内にＺＭＰが収容されるように、編集されたモーションのＺＭＰ軌道を計画する。オペレータは、所望のＺＭＰ位置又はＺＭＰ軌道をあらかじめ指定することができる。
【０１０１】
Ｃ−３−１．ＺＭＰ釣合い方程式の導入
脚式移動ロボット１００は無限のすなわち連続的な質点の集合体であるが、ここでは有限数で離散的な質点からなる近似モデルに置き換えることによって、安定化処理のための計算量を削減するようにしている。より具体的には物理的には図３に示す多関節自由度構成を具備する脚式移動ロボット１００を、図１３に示すように多質点近似モデルに置き換えて取り扱う。図示の近似モデルは、線形且つ非干渉の多質点近似モデルである。
【０１０２】
図１３において、Ｏ−ＸＹＺ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、Ｏ’−Ｘ’Ｙ’Ｚ’座標系はロボット１００とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。但し、図中におけるパラメータの意味は以下の通りである。また、ダッシュ（´）付きの記号は運動座標系を記述するものと理解されたい。
【０１０３】
【数１】
0003614824.tif 000002
【０１０４】
同図に示す多質点モデルでは、ｉはｉ番目に与えられた質点を表す添え字であり、ｍｉはｉ番目の質点の質量、ｒｉ  ’はｉ番目の質点の位置ベクトル（但し運動座標系）を表すものとする。本実施形態に係る脚式移動ロボット１００の機体重心は腰部付近に存在する。すなわち、腰部は、質量操作量が最大となる質点であり、図１３では、その質量はｍｈ、その位置ベクトル（但し運動座標系）はｒ’ｈ（ｒ’ｈｘ，ｒ’ｈｙ，ｒ’ｈｚ）とする。また、機体のＺＭＰの位置ベクトル（但し運動座標系）をｒ’ｚｍｐ（ｒ’ｚｍｐｘ，ｒ’ｚｍｐｙ，ｒ’ｚｍｐｚ）とする。
【０１０５】
世界座標系Ｏ−ＸＹＺは絶対座標系であり、不変である。本実施形態に係る脚式移動ロボット１００は、腰部と両脚の足部にそれぞれ加速度センサ９３、９４、９６が配置されているので、実機上ではこれらセンサ出力により腰部並びに立脚それぞれと世界座標系の相対位置ベクトルｒｑが検出される。これに対し、運動座標系すなわち機体のローカル座標系はＯ−Ｘ’Ｙ’Ｚ’は、ロボットともに動く。
【０１０６】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。図１３を見ても判るように、多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定される。図示の非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない。多質点近似モデルは、概ね以下の処理手順により生成することができる。
【０１０７】
（１）ロボット１００全体の質量分布を求める。
（２）質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
（３）各領域ｉ毎に、重心を求め、その重心位置と質量ｍｉを該当する質点に付与する。
（４）各質点ｍｉを、質点位置ｒｉを中心とし、その質量に比例した半径に持つ球体として表示する。
（５）現実に連結関係のある質点すなわち球体同士を連結する。
【０１０８】
なお、図１３に示す多質点モデルの腰部情報における各回転角（θｈｘ，θｈｙ，θｈｚ）は、脚式移動ロボット１００における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである（図１４には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい）。
【０１０９】
機体のＺＭＰ方程式は、制御目標点において印加される各モーメントの釣合い関係を記述したものである。図１４に示したように、機体を多数の質点ｍｉで表わし、これらを制御目標点とした場合、すべての制御目標点ｍｉにおいて印加されるモーメントの総和を求める式がＺＭＰ釣合い方程式である。
【０１１０】
世界座標系（Ｏ−ＸＹＺ）で記述された機体のＺＭＰ釣合い方程式、並びに機体のローカル座標系（Ｏ−Ｘ’Ｙ’Ｚ’）はそれぞれ以下の通りとなる。
【０１１１】
【数２】
0003614824.tif 000003
0003614824.tif 000004
【０１１２】
上式は、各質点ｍｉにおいて印加された加速度成分により生成されるＺＭＰ回り（半径ｒｉ−ｒｚｍｐ）のモーメントの総和と、各質点ｍｉに印加された外力モーメントＭｉの総和と、外力Ｆｋにより生成されるＺＭＰ回り（ｋ番目の外力Ｆｋの作用点をｓｋとする）のモーメントの総和が釣り合うということを記述している。
【０１１３】
このＺＭＰ釣合い方程式は、総モーメント補償量すなわちモーメント・エラー成分Ｔを含んでいる。このモーメント・エラーをゼロ又は所定の許容範囲内に抑えることによって、機体の姿勢安定性が維持される。言い換えれば、モーメント・エラーをゼロ又は許容値以下となるように機体運動（足部運動や上半身の各部位の軌道）を修正することが、ＺＭＰを安定度判別規範とした姿勢安定制御の本質である。
【０１１４】
本実施形態では、腰部と左右の足部にそれぞれ加速度センサ９６，９３及び９４が配設されているので（図４を参照のこと）、実機動作においてはこれらの制御目標点における加速度計測結果を用いて直接的に且つ高精度に上記のＺＭＰ釣合い方程式を導出することができる。この結果、高速でより厳密な姿勢安定制御を実現することができる。
【０１１５】
Ｃ−３−２．全身協調型の姿勢安定制御
図１５には、モーション編集部１００２により生成された機体のモーションを安定化処理するための手順をフローチャートの形式で示している。但し、以下の説明では、図１３及び図１４に示すような線形・非干渉多質点近似モデルを用いて脚式移動ロボット１００の各関節位置や動作を記述するものとする。
【０１１６】
まず、足部運動の設定を行う（ステップＳ１）。足部運動は、２以上の機体のポーズを時系列的に連結されてなるモーション・データである。
【０１１７】
モーション・データは、モーション編集部１００２により生成されたデータであり、足部の各関節角の変位を表わした関節空間情報と、関節位置を表わしたデカルト空間情報で構成される。
【０１１８】
次いで、設定された足部運動を基にＺＭＰ安定領域を算出する（ステップＳ２）。ＺＭＰは、機体に印加されるモーメントがゼロとなる点であり、基本的には足底接地点と路面の形成する支持多角形の辺上あるいはその内側に存在する。ＺＭＰ安定領域は、この支持多角形のさらに内側に設定された領域であり、該領域にＺＭＰを収容させることによって機体を高度に安定した状態にすることができる。
【０１１９】
そして、足部運動とＺＭＰ安定領域を基に、足部運動中におけるＺＭＰ軌道を設定する（ステップＳ３）。
【０１２０】
また、機体の上半身（股関節より上側）の各部位については、腰部、体幹部、上肢、頭部などのようにグループ設定する（ステップＳ１１）。
【０１２１】
そして、各部位グループごとに希望軌道を設定する（ステップＳ１２）。上半身の希望軌道の設定は、モーション編集部１００２において行なわれる。
【０１２２】
次いで、各部位のグループ設定の調整（再グルーピング）を行ない（ステップＳ１３）、さらにこれらグループに対して優先順位を与える（ステップＳ１４）。ここで言う優先順位とは、機体の姿勢安定制御のため処理演算に投入する順位のことであり、例えば質量操作量に応じて割り振られる。この結果、機体上半身についての各部位についての優先順位付き希望軌道群が出来上がる。
【０１２３】
また、機体上半身の各部位グループ毎に、モーメント補償に利用できる質量を算出しておく（ステップＳ１５）。
【０１２４】
そして、足部運動とＺＭＰ軌道、並びに上半身の各部位グループ毎の希望軌道群を基に、ステップＳ１４により設定された優先順位に従って、各部位グループの運動パターンを姿勢安定化処理に投入する。
【０１２５】
この姿勢安定化処理では、まず、処理変数ｉに初期値１を代入する（ステップＳ２０）。そして、優先順位が先頭からｉ番目までの部位グループについての目標軌道設定時における、目標ＺＭＰ上でのモーメント量すなわち総モーメント補償量を算出する（ステップＳ２１）。目標軌道が算出されていない部位については、希望軌道を用いる。
【０１２６】
次いで、ステップＳ１５において算出された当該部位のモーメント補償に利用できる質量を用いて、そのモーメント補償量を設定して（ステップＳ２２）、モーメント補償量を算出する（ステップＳ２３）。
【０１２７】
次いで、算出されたｉ番目の部位のモーメント補償量を用いて、ｉ番目の部位についてのＺＭＰ方程式を導出して（ステップＳ２４）、当該部位のモーメント補償運動を算出することにより（ステップＳ２５）、優先順位が先頭からｉ番目までの部位についての目標軌道を得ることができる。
【０１２８】
このような処理をすべての部位グループについて行なうことにより、安定運動（例えば歩行）が可能な全身運動パターンが生成される。
【０１２９】
Ｃ−３−３．ＺＭＰ軌道の規制
姿勢安定化処理部１００３は、モーション編集部１００２において編集されたモーションを、姿勢安定化が可能な動作パターンに修正する。
【０１３０】
一方、モーション編集部１００２は、足部運動の生成に際し、足底の接地位置を指定することはできるが、この段階では機体の重心位置を設定することはできない。そこで、姿勢安定化処理部１００３において、オペレータからのＺＭＰ軌道の入力を受け容れて、これに基づいてＺＭＰ釣合い方程式を立てて、姿勢安定化制御を行なう。
【０１３１】
ここで、図１６に示すような、基本立ち姿勢から右足を開いて再び右足を閉じて基本立ち姿勢に戻るというモーションをモーション編集部１００２で作成したとする。
【０１３２】
図１７には、図１６で示したモーションに対して、ＺＭＰ軌道を規制して姿勢安定化処理を行なった結果を示している。
【０１３３】
まず、初期姿勢としての基本立ち姿勢からＺＭＰを左足方向に移動させることにより、右足を開く。
【０１３４】
ここで、ＺＭＰ軌道を規制しているので、ＺＭＰは左足に保たれる。
【０１３５】
その後、右足を閉じると、初期姿勢に戻る。
【０１３６】
また、図１８には、図１６で示したモーションに対して、ＺＭＰ軌道を規制して姿勢安定化処理を行なった結果を示している。
【０１３７】
まず、初期姿勢としての基本立ち姿勢からＺＭＰを左足方向に移動させることにより、右足を開く。
【０１３８】
このとき、ＺＭＰ軌道を規制していないので、姿勢安定化処理により、ＺＭＰが両足の中心まで戻る。
【０１３９】
そして、ＺＭＰを右足方向へ移動させた後、ＺＭＰを再度左足方向へ移動させると、右足を閉じ、初期の姿勢へ戻る。
【０１４０】
［追補］
以上、特定の実施例を参照しなら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０１４１】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１４２】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１４３】
【発明の効果】
以上詳記したように、本発明によれば、可動脚によりさまざまな作業を行なう脚式移動ロボットのための、優れた動作編集装置及び動作編集方法を提供することができる。
【０１４４】
また、本発明によれば、実機上での実行可能性を考慮しながら動作パターンの編集を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供するができる。
【０１４５】
また、本発明によれば、実機上での実行時の姿勢安定性を考慮しながら動作パターンの編集作業を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施に供される脚式移動ロボットが直立している様子を前方から眺望した様子を示した図である。
【図２】本発明の実施に供される脚式移動ロボットが直立している様子を後方から眺望した様子を示した図である。
【図３】脚式移動ロボットが具備する関節自由度構成を模式的に示した図である。
【図４】脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図５】本発明の一実施形態に係るモーション編集システムの機能構成を模式的に示した図である。
【図６】脚式移動ロボット１００のポーズを規定する各関節軸の変位角を指定するための画面の構成例を示した図である。
【図７】逆キネマティクスにより各関節軸の変位角を求める場合の概略的な処理手順を示した図である。
【図８】機体の３Ｄアニメーション・キャラクタを介してポーズを指示するための３Ｄビューア画面の構成例を示した図である。
【図９】ＩＫ関節角グループ化ウィンドウの構成例を示した図である。
【図１０】左右両足を変更部位として指定した後、３Ｄキャラクタを用いてポーズを変更する様子を描いた図である。
【図１１】あるトラック上に複数のポーズが時系列的に配置されている様子を示した図である。
【図１２】ＩＫ関節角グループ毎にトラックが配設されている様子を示した図である。
【図１３】脚式移動ロボット１００の多質点近似モデルを示した図である。
【図１４】多質点モデルの腰部周辺の拡大図を示した図である。
【図１５】モーション編集部１００２により生成された機体のモーションを安定化処理するための手順を示したフローチャートである。
【図１６】モーション編集部１００２により生成したモーションを示した図である。
【図１７】ＺＭＰ軌道を規制した場合の図１６で示したモーションに対する姿勢安定化処理結果を示した図である。
【図１８】ＺＭＰ軌道を規制しない場合の図１６で示したモーションに対する姿勢安定化処理結果を示した図である。
【符号の説明】
１…首関節ヨー軸
２Ａ…第１の首関節ピッチ軸
２Ｂ…第２の首関節（頭）ピッチ軸
３…首関節ロール軸
４…肩関節ピッチ軸
５…肩関節ロール軸
６…上腕ヨー軸
７…肘関節ピッチ軸
８…手首関節ヨー軸
９…体幹ピッチ軸
１０…体幹ロール軸
１１…股関節ヨー軸
１２…股関節ピッチ軸
１３…股関節ロール軸
１４…膝関節ピッチ軸
１５…足首関節ピッチ軸
１６…足首関節ロール軸
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３，９４…加速度センサ
９５…姿勢センサ
９６…加速度センサ
１００…脚式移動ロボット
１０００…モーション編集システム
１００１…ポーズ入力部
１００２…モーション編集部
１００３…姿勢安定化処理部
１００４…モーション再生部
【図１】
0003614824.tif 000005
【図２】
0003614824.tif 000006
【図３】
0003614824.tif 000007
【図４】
0003614824.tif 000008
【図５】
0003614824.tif 000009
【図６】
0003614824.tif 000010
【図７】
0003614824.tif 000011
【図８】
0003614824.tif 000012
【図９】
0003614824.tif 000013
【図１０】
0003614824.tif 000014
【図１１】
0003614824.tif 000015
【図１２】
0003614824.tif 000016
【図１３】
0003614824.tif 000017
【図１４】
0003614824.tif 000018
【図１５】
0003614824.tif 000019
【図１６】
0003614824.tif 000020
【図１７】
0003614824.tif 000021
【図１８】
0003614824.tif 000022