説明

ロボット装置の制御システム及び制御方法

【課題】 複数台のロボットが協調的に動作し、全体としてある特定の目的を実現するマルチロボット・システムに関する。
【解決手段】 マルチロボット・システムは、舞台上で活動する複数のロボットと、舞台上のロボットの動作を監視するモニタ・システムと、マルチロボットの運用を行なう統括コントローラで構成される。統括コントローラは、ロボットの状態と、モニタされた位置及び方向に基づいて、ロボットに対する動作指示や、ロボットに対する位置及び方向の補正指示、異常発生(若しくは予測)時におけるロボットへの動作指示を、無線LAN経由でリアルタイムに行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の可動部を備えたロボット装置の動作若しくは行動を制御するロボット装置の制御システム及び制御方法に係り、特に、複数台のロボット装置の動作若しくは行動を同時に並行して制御するロボット装置の制御システム及び制御方法に関する。
【0002】
さらに詳しくは、本発明は、複数のロボット装置を用いたデモンストレーションやその他の連携的若しくは同期協調的な行動を統括的に制御するロボット装置の制御システム及び制御方法に係り、特に、複数のロボットが特定の空間内で連携的な行動を行なう際のロボット装置間の干渉や転倒、故障に対してロバストな制御を行なうロボット装置の制御システム及び制御方法に関する。
【背景技術】
【0003】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の“ROBOTA(奴隷機械)”に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
近年では、イヌやネコのように4足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット(humanoid robot)など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【0005】
また、ヒトの生体メカニズムや動作を再現した脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上のさまざまな場面における人的活動の支援などを行なうことができる。
【0006】
脚式移動ロボットは高い情報処理能力を備えており、ロボットそのものを一種の計算機システムとして捉えることができる。言い換えれば、ロボット上で実現される動作パターン、あるいは、複数の基本的な動作パターンの組合せによって構成される高度且つ複雑な一連の動作シーケンスすなわちモーションは、コンピュータ・プログラミングと同様の作業によって作成若しくは編集される。
【0007】
実機を動作するためのモーション・データが数多く普及されることが、ロボット本体が普及していくためには必須である。したがって、ロボット用のモーション編集を行なうための開発環境の構築が強く望まれている。
【0008】
また、今後、産業界のみならず一般家庭や日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンターティンメント性を追求する製品に関しては、コンピュータやコンピュータ・プログラミングに加え、運動制御に関する高度な知識を持たなくとも、振付師やデザイナーがモーション・コンテンツを作成できることが強く望まれる。また、一般消費者層がロボットを購入して使用するケースも多いと予想される。このような一般ユーザにとっても、ロボットの動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することを支援するためのツール、すなわちモーション編集システムを提供することが好ましい。
【0009】
例えば、オペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、モーションを編集する動作編集装置について提案がなされている(例えば、特許文献1を参照のこと)。この動作編集装置によれば、モーションを編集した後、モーションが実機上で姿勢を安定させながら動作可能であるか否かを、ZMP安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なうことができる。
【0010】
また、ロボット装置の自律化が進展し、身の回りには人間と同様に多数のロボットが比較的高い密度で存在するという時代が到来することも予想される。このような場合、複数台のロボット装置の動作若しくは行動を統括的にコントロールできるシステムが必要となってくる。
【0011】
例えば、操作したいロボットの台数の増大に伴う操作の煩雑さを解消するために、複数のロボットを群としてまとめて制御する群ロボット・システムについて提案がなされている(例えば、非特許文献1を参照のこと)。群ロボット・システムは、複数のエージェント全体をまとめて制御することが可能である。エージェント固体間の相互作用力により群を形成することができ、さらに、エージェントの視界の半径を変更することにより、相互作用力のバランスを意図的に崩しエージェントが群内を移動する行動が可能である。
【0012】
また、群れを成す生物の各個体それぞれが局所的情報のみに基づいて行動し、その相互作用から全体の協調を生み出すという現象を利用して、大域的な情報交換をせずに必要最低限の機能だけで複数台のロボットによる集団行動を行なうことができる(例えば、非特許文献2を参照のこと)。すなわち、群行動をなす生物の群形成をシミュレートするとともに、習性をアルゴリズムにより再現することで、すべてのロボットを同一のプログラムで制御し、集団で同方向へ移動させ、リーダが存在しないにも拘らず秩序ある行動を行なうができる。
【0013】
また、複数ロボットによる協調搬送の代表的な手法として、1台のロボットが要求を持つリーダとなり、他のロボットがこれに従うフォロワとなるリーダ・フォロワ・アルゴリズムが知られている。この手法を未知環境での障害物回避に適用した場合、障害物を発見したロボットが障害物から遠ざかる点に目標位置を設定することで回避を実現することができる(例えば、非特許文献3を参照のこと)。
【0014】
ここで、複数のヒューマノイドロボットが協調して対象物を持ちながら移動する場合、歩行時に胴体の振動のために協調動作が乱れるという問題がある。この動作の乱れによるお互いの位置のずれを修正する行動を獲得する学習を行なうことが考えられる(例えば、非特許文献4を参照のこと)。例えば、強化学習の1つであるQ学習や、遺伝的アルゴリズムを利用したクラシファイシステムなどの方法を用いることができる。
【0015】
しかしながら、複数台のロボットが協調的に動作し、全体としてある特定の目的を実現する、というマルチロボット・システムに関する研究開発はいまだ不十分である、と本発明者らは思料する。例えば、演目のある舞台やデモンストレーションなど、複数台のロボットが限定された作業空間上で、それぞれ役割を分担しながら、1つの目的若しくはパフォーマンスを実現しなければならない。この場合、個々のロボットはそれぞれ配役に応じた行動(動作指令若しくは制御プログラム)を実行しながら、周囲のロボットとの調和を図りながら、複数のロボット全体としてストーリー性のあるパフォーマンスを観衆に提供しなければならない。
【0016】
このようなマルチロボット環境下では、ロボット装置間で十分に同期が確保されていなければ、人の目から見て同期協調しているとは映らない。また、狭い作業空間で比較的高い密度で複数のロボット装置が動作する場合、実演中にロボット装置間で干渉を生じたり、互いの位置関係が計画から外れてきたり、転倒や故障といったことも起こり得る。このような不測の事態に対してロバストな制御を実現したマルチロボット・システムに関する技術の成果は、本出願時において希少である。
【0017】
【特許文献1】特開2003−266347号公報
【非特許文献1】高嶋淳、牧野浩二、松尾芳樹共著「全方位視覚センサを用いた自律移動ロボット群の群内挙動の生成」(第21回ロボット学会学術講演会(2003年9月20日〜22日)2B26)
【非特許文献2】高信英明、愛甲哲弘、後藤寛勝、水越陽一、三浦宏文共著「小型移動ロボットによる群知能の研究」(第21回ロボット学会学術講演会(2003年9月20日〜22日)2B22)
【非特許文献3】加藤健太郎、井上健司、新井健生、前泰志共著「異なる目標位置を持った複数ロボットによる単一物体の協調搬送―障害物回避を伴う搬送―」(第19回ロボット学会学術講演会(2001年9月18日〜20日)3C34)
【非特許文献4】井上豊、峰隆広、伊庭斉志共著「ヒューマノイドロボットによる協調的な荷物搬送―位置修正のための学習―」(第21回ロボット学会学術講演会(2003年9月20日〜22日)3B18)
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明の目的は、複数台のロボット装置の動作若しくは行動を同時に並行して制御することができる、優れたロボット装置の制御システム及び制御方法を提供することにある。
【0019】
本発明のさらなる目的は、複数のロボット装置を用いたデモンストレーションやその他の連携的若しくは同期協調的な行動を統括的に制御することができる、優れたロボット装置の制御システム及び制御方法を提供することにある。
【0020】
本発明のさらなる目的は、複数のロボットが特定の空間内で連携的な行動を行なう際のロボット装置間の干渉や転倒、故障に対してロバストな制御を行なうことができる、優れたロボット装置の制御システム及び制御方法を提供することにある。
【課題を解決するための手段】
【0021】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、特定の動作フィールド上で動作する1以上のロボット装置の制御システムにおいて、
前記動作フィールド上の各ロボット装置の位置及び方向を監視する監視手段と、
各ロボット装置との通信手段を備え、前記監視手段による監視結果並びに各ロボット装置から取得されるロボット装置の状態情報に基づいて、各ロボット装置による同期協調的な動作を制御する統括制御手段と、
を具備することを特徴とするロボット装置の制御システムである。
【0022】
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【0023】
ロボット装置の自律化が進展し、身の回りには人間と同様に多数のロボットが比較的高い密度で存在するという時代が到来することも予想される。このような場合、複数台のロボット装置の動作若しくは行動を統括的にコントロールできるシステムが必要である。
【0024】
本発明に係るロボット装置の制御システムによれば、複数台のロボットが協調的に動作するというマルチロボット環境下において、全体としてある特定の目的を実現することができる。例えば、演目のある舞台やデモンストレーションなど、複数台のロボットが限定された作業空間上で、それぞれ役割を分担しながら、1つの目的若しくはパフォーマンスを実現することができる。すなわち、個々のロボット装置がそれぞれ配役に応じた行動(指令動作若しくは制御プログラム)を実行しながら、周囲のロボットとの調和を図りながら、複数のロボット全体としてストーリー性のあるパフォーマンスを観衆に提供することができる。
【0025】
本発明に係るロボット装置の制御システムでは、前記監視手段は、前記動作フィールドを撮影する画像入力手段と、前記入力画像を処理して各ロボット装置の位置及び方向に関する情報を取得する画像処理手段を備えている。そして、前記統括制御手段は、画像処理結果に基づいて得られる各ロボット装置の位置及び方向、並びにロボット装置からリアルタイム通信により得られる状態情報に基づいて、動作フィールド(舞台など)上で行なわれる複数のロボット装置によるパフォーマンスの実現を統括的にコントロールすることができる。
【0026】
このようなマルチロボットによるパフォーマンス上では、各ロボット装置の配役が決められている。配役毎のロボット装置の動作計画は、該当するロボット装置に対する1以上の指示動作を時間軸上に配置して構成されている。そして、前記統括制御手段は、配役毎に決められているロボット装置の動作計画の実行を同じ時間軸上で管理し、各配役の動作計画の集合をシナリオとして管理する。
【0027】
また、前記統括制御手段は、2以上のシナリオを時間軸上に連結し、マルチロボットによる1つのパフォーマンスとして管理することができる。さらに、各シナリオにおいて異常事態の発生により続行が困難又は不可能となった場合に備えて、代替的に実行される予備シナリオを用意するようにしてもよい。
【0028】
ここで、前記統括制御手段は、実行不能となった後続の1以上のシナリオをスキップし、元のシナリオ連結に復帰するために、予備シナリオを利用することができる。あるいは、パフォーマンスを完結できない異常事態が発生したときに、実行不能となった後続のすべてのシナリオに代えて、パフォーマンスを完結させるために、予備シナリオを利用することができる。あるいは、ある1つのシナリオにおいて異常事態が発生した場面に応じた予備シナリオを利用することができる。
【0029】
このようなマルチロボット環境下では、ロボット装置間で十分に同期が確保されていなければ、人の目から見て同期協調しているとは映らない。そこで、前記統括制御手段は、前記動作フィールド上の各ロボット装置との時刻同期を獲得する同期獲得手段を備え、各配役のロボット装置がそれぞれの動作計画を該時刻に合わせて同期協調的に実行するように制御するようにしている。
【0030】
また、狭い作業空間で比較的高い密度で複数のロボット装置が動作する場合、実演中にロボット装置間で干渉を生じたり、互いの位置関係が計画から外れてきたり、転倒や故障といったことも起こり得る。そこで、統括制御手段は、動作フィールド上でパフォーマンスを実演している各ロボット装置の位置や方向、状態を画面表示し、オペレータがパフォーマンスの実行状況を視覚的に容易に確認できるようにしている。
【0031】
例えば、前記統括制御手段は、前記監視手段により得られた各ロボット装置の位置及び方向に関する情報を基に、前記動作フィールド上での各ロボット装置の位置及び方向を画面表示する現在状態表示手段を備えている。前記現在状態表示手段は、各ロボット装置の動作計画上の目標位置及び方向と前記監視手段により得られた現実の位置及び方向の偏差を提示する。各ロボットの目標位置と現実の位置及び方向のそれぞれを提示することにより、オペレータは、画面を介して目標位置と現在位置姿勢を視覚的に確認し、現在のマルチロボットの状態を的確に判断することができる。
【0032】
また、前記統括制御手段は、前記動作フィールド上の各ロボット装置の転倒領域を算出する転倒領域算出手段と、各ロボット装置の最大可動範囲を算出する最大可動範囲算出手段と、該算出された各ロボット装置の転倒領域又は最大可動範囲の重なりをロボット装置間の干渉領域として画面表示する干渉領域表示手段とを備えている。
【0033】
このように、ロボット間の干渉領域は、それぞれの最大可動範囲の重なり具合という形で視覚的に表示されるので、オペレータは、パフォーマンス実演上の問題を理解し易くなる。また、このような干渉領域の情報を利用して、周囲のロボットの可動範囲に進入しないように、転倒方向の制限を課すこともできる。
【0034】
例えば、各ロボット装置は1以上の転倒動作を備えている場合に、前記統括制御手段は、前記干渉領域を転倒領域に持つ若しくは前記干渉領域を転倒方向とする転倒動作の使用を禁止するようにしてもよい。
【0035】
また、前記統括制御手段は、過去に行なったロボット装置の動作に基づいて当該ロボットの運動特性を算出し、将来行なう動作計画を実行したときの計画値との偏差を当該ロボット装置の運動特性に基づいて予測する偏差予測手段と、前記予測された偏差を画面表示する偏差予測表示手段を備えている。例えば、ある「動作計画」の中にマイクが置かれている場所へ正確に移動しなければいけない場面がある場合や、動作フィールドの端で落下の可能性がある場所へ移動しなければいけない場面がある場合に、オペレータは偏差推定を利用することで、重大なトラブルが発生する前に処置すべき内容を判断することができる。
【0036】
ここで、前記偏差予測手段は、過去一定期間ts〜tm1にモーションを実行したときに生じた誤差を観測するとともに、過去一定期間ts〜tm1に実行したモーションを要素運動毎に分割し要素運動毎に生じる誤差を推定し、さらに以後tm2〜teに至るまでの期間に実行するモーションを要素運動に分割して、これらの要素運動が持つ推定誤差を合計することにより、時刻teにおける位置及び方向の目標値との偏差を推定することができる。
【0037】
また、前記統括制御手段は、ロボット装置の前記動作フィールド上での軌道を表示する軌道表示手段を備えている。前記軌道表示手段は、Z軸を時間軸においた歩の軌道表示を行なうようにしてもよい。ロボットの作業領域は、一般に平面すなわちZ軸方向に変化する頻度が低く、歩を空間的に表示する上でZ軸の重要性は低い。そこで、Z軸を時間軸に指定してロボットの軌跡を描画することにより、XY軸への移動と姿勢(ロール,ピッチ,ヨー)の軌道が時刻の経過に沿って視覚的に確認し易くしている。
【0038】
前記現在状態表示手段は、各ロボット装置の動作計画上の目標位置及び方向と前記監視手段により得られた現実の位置及び方向の偏差を補正する位置方向補正手段を備えている。ロボット装置の目標値との位置及び方向のずれは観衆に与える見栄えに影響するとともに、ロボット装置間の干渉などパフォーマンス自体へも影響する。何故なら、本来いるはずのない場所にロボットが立つことになり、本来同じ場所にいるべき他のロボットと干渉又は衝突してしまうことになる。そこで、本発明では、いずれかのロボットの現在位置と目標位置との位置方向偏差が大きいとき、あるいは将来推定される位置と目標位置との位置方向偏差が大きいときには、位置及び方向の修正処理を起動するようにした。
【0039】
前記位置方向補正手段は、動作計画を実行中のロボット装置の位置又は方向の誤差を当該動作計画内の既存の歩を用いて補正するという「補正計画」、あるいは、ロボット装置が動作計画を実行していない場面を利用して、新たな1つ以上の歩を生成して位置方向の偏差を修正するという「移動計画」を立てることができる。
【0040】
また、前記統括制御手段は、複数のロボットが前記動作フィールドでシナリオを実行するマルチロボット環境下において、異常の程度に応じた異常状態を定義し、各異常状態に陥ったときに適当な修復処理を行なう異常処理手段を備えている。すなわち、本発明によれば、異常状態になったロボットが復帰できるかどうか、他のロボットの動作が復帰動作に干渉しないかなど、全体の構成を考慮して適切な処理を行なう手段が確立されている。統括制御手段は、このような異常状態を位置方向情報やロボット状態などから検知することができ、異常状態が検知されると、その状況に応じた処理を実行することができる。
【0041】
前記異常処理手段は、1体のロボット装置だけで異常処理が完結する第1の異常状態において、当該ロボット装置についての異常処理を実行する。
【0042】
また、前記異常処理手段は、前記マルチロボット全体に対して異常処理が必要な第2の状態において、前記動作フィールド内で動作するロボット装置間で配役の交代、前記動作フィールド内又は外で待機する予備ロボットの前記動作フィールドへの投入、又は前記マルチロボットにおけるフォーメーションの修正を行なう。
【0043】
また、前記異常処理手段は、シナリオの一部が続行不可能となる第3の異常状態において、前記マルチロボットにおける全体フォーメーションの修正を行なう。
【0044】
また、前記異常処理手段は、シナリオ全体が続行不可能な第4の異常状態において、シナリオの続行を停止する。
【発明の効果】
【0045】
本発明によれば、複数台のロボット装置の動作若しくは行動を同時に並行して制御することができる、優れたロボット装置の制御システム及び制御方法を提供することができる。
【0046】
また、本発明によれば、複数のロボット装置を用いたデモンストレーションやその他の連携的若しくは同期協調的な行動を統括的に制御することができる、優れたロボット装置の制御システム及び制御方法を提供することができる。
【0047】
また、本発明によれば、複数のロボットが特定の空間内で連携的な行動を行なう際のロボット装置間の干渉や転倒、故障に対してロバストな制御を行なうことができる、優れたロボット装置の制御システム及び制御方法を提供することができる。
【0048】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0049】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0050】
本発明は、複数台のロボットが協調的に動作し、全体としてある特定の目的を実現するマルチロボット・システムに関する。本発明に係るマルチロボット・システムは、とりわけ左右の可動脚を備え歩行運動を行なう脚式移動ロボットを対象とし、1台以上の脚式移動ロボットを舞台やその他の作業領域からなる動作フィールドでのデモンストレーションの運用などを実現する。
【0051】
従来の群ロボット・システムにおいては、運用中に路面の滑りや個々のロボット装置の状態により、所定時刻に目標位置に到達していない、転倒又は故障するといったトラブルに対し、自動で対処することはできず、ロボットを操作するオペレータ若しくはテクニカル・サポータの知識や経験、手作業に頼らざるを得なかった。これに対し、本発明によれば、人手に頼る運用に変わって、運用中のトラブルに対し、自動で適切且つ適応的な処理を行なうとともに、トラブルを事前に回避し又はオペレータに回避方法を促すことができる。
【0052】
A.マルチロボット・システムの構成
図1には、本発明の一実施形態に係るマルチロボット・システムの概要を示している。図示の通り、マルチロボット・システムは、舞台や作業領域などの動作フィールド上で活動可能な1台以上のロボットと、これらのロボットの動作フィールド上での動作を監視するモニタ・システムと、これらロボットの動作を統括的に管理及び制御し、マルチロボットによる演劇若しくはデモンストレーションの運用を行なう統括コントローラで構成される。
【0053】
本実施形態で対象とするロボット装置は、左右の可動脚を備え歩行運動を行なう脚式移動ロボットであるが、その構成については後述に譲る。
【0054】
個々のロボットにはあらかじめ役が決められており、主役や脇役などの配役に応じた区々の動作計画が与えられる。動作計画は、再生モーションなどからなる指示動作を時間軸上で組み合わせて構成される。そして、舞台上のすべてのロボット装置が行なう動作計画の集合により、演劇やデモンストレーションといった1つのシナリオが構成される。動作計画やシナリオの詳細については後述に譲る。舞台に上がる各ロボットに対し配役に応じた動作計画をあらかじめインストールしておいてもよいし、演技やデモンストレーションなどパフォーマンスが進行する毎に、指示動作をリアルタイムで転送するようにしてもよい。
【0055】
配役に応じて定まる動作計画を実行する上で、ロボット装置に求められる運動性能若しくは運動特性は区々である(例えば、下肢の運動中心の役柄や、上肢の運動中心の役柄、特定の静止姿勢中心の役柄など)。一方、ロボット装置にも個体差があり、持ち合わせている運動性能や運動特性は装置毎に相違がある。そこで、配役毎に要求される運動性能と、利用可能な各ロボット装置が備えている運動性能とをすり合せして機体に役を割り当てていくという、配役取り決めシステムも必要である。
【0056】
なお、マルチロボットを構成する複数台のロボットのうち1台以上は、舞台上で配役が与えられたロボット装置の故障に備えて待機するスペアとしての「予備ロボット」(図示)に割り当ててもよい。
【0057】
モニタ・システムは、例えば、舞台などの動作フィールドを一望できるカメラが捉えた映像を画像処理することにより、各ロボットの位置及び方向を取得し、これを統括コントローラに通知する。図2には、舞台上のマルチロボットをその上方からカメラが捕らえている様子を側面から示している。また、図3には、舞台上方のカメラから捉えたマルチロボット環境下の舞台の鳥瞰図を示している。勿論、モニタ・システムは、カメラ以外のセンサ・システムを用いてロボットの位置及び方向を計測するようにしてもよい。
【0058】
統括コントローラは、モニタ・システムから得られた各ロボットの位置及び方向などの情報に基づいて、ロボットの動作を統括的に管理しながらシナリオの実行を制御することにより、マルチロボットによる演劇若しくはデモンストレーションの運用を実現する。
【0059】
また、統括コントローラとの各ロボット間は、IEEE802.11などの無線LAN(Local Area Network)などの無線通信により接続されており、統括コントローラは、シナリオ実行中のロボットの状態をリアルタイムで取得することができる。そして、統括コントローラは、モニタ・システムから得られたロボットの位置及び方向と、ロボットから得られた状態などに基づいて、ロボットに対する動作指示や、ロボットに対する位置及び方向の補正指示、異常発生(若しくは予測)時におけるロボットへの動作指示などを、無線LAN経由でリアルタイムに行なう。
【0060】
なお、図示の例では、統括コントローラとモニタ・システムは別個の装置として描かれているが、勿論単一の計算機システムで動作する個々のアプリケーションとして実装することも可能である。
【0061】
B.ロボットに対する指示動作
マルチロボット・システムでは、個々のロボットにはあらかじめ役が決められており、主役や脇役などの配役に応じた区々の動作計画が与えられる。動作計画は、再生モーションなどからなる指示動作を時間軸上で組み合わせて構成される。そして、舞台上のすべてのロボット装置が行なう動作計画の集合により、演劇やデモンストレーションといった1つのシナリオが構成される。
【0062】
ロボットに与えられる指示動作は、発声、発光、機体動作(歩行やダンス、姿勢遷移、情動表出など機体の動きで実現される外部出力)などに大別される。また、歩行をしながら発声するなどといった複数の指示動作が組み合わさり、1つの指示動作になることもある(図4を参照のこと)。
【0063】
機体動作に関しては、例えば、本出願人に既に譲渡されている特開2003−266347号公報に記載の動作編集装置を用いて編集することができる。この動作編集装置によれば、モーションを編集した後、モーションが実機上で姿勢を安定させながら動作可能であるか否かを、ZMP安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なうことができる。
【0064】
これらの指示動作を時間軸上で組み合わせることにより、1つの動作計画が構成される(図5を参照のこと)。複数台のロボットが協調的に動作し、全体としてある特定の目的を実現するというマルチロボット・システムでは、各ロボットには主役や脇役などの役が割り振られており、配役に応じた区々の動作計画が与えられる。すなわち、動作計画を構成する指示動作の集合は配役毎に異なる。
【0065】
マルチロボット・システムでは、配役が与えられた各ロボットがそれぞれの動作計画を同じ時間軸上で同期協調的に実行することにより、演劇やデモンストレーションといった1つのパフォーマンスをシナリオ通りに実現する。このため、動作計画は、ロボット単体での指示動作以外に、動作計画の開始タイミングに相当する「シナリオ内での開始時刻」と、動作フィールド上でのロボットの開始位置及び方向(立ち位置)に相当する「シナリオ内での開始位置方向」を添付したフォーマット(図6を参照のこと)がシナリオに使用される。
【0066】
シナリオは、演劇やデモンストレーションといった、マルチロボット・システムによるパフォーマンスの実体を記述したものであり、役が与えられたすべてのロボットの動作計画の集合により構成される。図7には、シナリオの構造を模式的に示している。個々のロボットの役割は、役を演じるための複数の動作計画を時間軸上で組み合わせることで決定する。図示のように、シナリオ内では、それぞれの役割毎の動作計画の組み合わせが記述されている。また、各動作計画には、役割の重要度(主役、脇役など)が記述されている。
【0067】
マルチロボット・システムでは、単一のシナリオのみでパフォーマンスを行なう以外に、複数のシナリオを連結して運用するということも可能である。図8には、複数シナリオの連結した構成例を示している。この場合、複数のシナリオを時間軸上で直列的に連結することを基本形とする。
【0068】
また、各シナリオにおいて異常事態の発生により続行が困難又は不可能となった場合に備えて、代替的に実行される予備シナリオを用意することができる。予備シナリオは、実行不能となった後続の1以上のシナリオをスキップし、元のシナリオ連結に復帰するために利用することができる。図示の例では、予備シナリオ1は、シナリオ1の実行中に異常が発生したときに、実行不能となったシナリオ2をスキップし、シナリオ3に合流するための動作計画群で構成されている。
【0069】
あるいは、予備シナリオは、パフォーマンスを完結できない異常事態が発生したときに、実行不能となった後続のすべてのシナリオに代えて、パフォーマンスを完結させるために利用することができる。図示の例では、予備シナリオ2及び予備シナリオ3は、シナリオ3の実行中にパフォーマンスを完結できない異常事態が発生したときに、後続のシナリオ4を完全にキャンセルし、見かけ上パフォーマンスが無事に終了したかのように装う、又は当初の動作目的達成のために利用される。
【0070】
また、ある1つのシナリオにおいて異常事態の発生により続行が困難又は不可能となった場合に備えて、代替的な予備シナリオを複数用意しておいてもよい。さらに、異常状態が発生した時刻に応じて、代替的な予備シナリオを複数用意しておいてもよい。図示の例では、シナリオ4は、予備シナリオ4及び予備シナリオ5を用意しており、当該シナリオの前半で異常が発生したときには予備シナリオ4を利用し、後半で異常が発生したときには予備シナリオ5を利用することで、それぞれ見かけ上パフォーマンスが無事に終了したかのように装う、又は当初の動作目的達成のために利用される。
【0071】
C.マルチロボット・システムにおける各ロボットの時刻管理
上述したようにマルチロボット・システムでは、役が割り当てられた各ロボットがそれぞれ与えられた動作計画を同期的に実行することにより、舞台などの動作フィールド上で連携した協調的な行動を振る舞い、シナリオ通りのパフォーマンスを提示することができる。
【0072】
ここで、マルチロボット環境下では、ロボット装置間で十分に同期が確保されていなければ、人の目から見て同期協調しているとは映らない、という時刻同期の問題がある。ロボット同士を同期して動作させ、特に同じ動作をさせる場合、早い動きになればなるほど見た目の動作の違いが顕著になる。
【0073】
また、ロボットの音声や音楽を、ロボットに内蔵されているスピーカーからではなく、ロボット外の装置からのライン出力から出力することがある。これは会場が広く、ロボットの音声や音楽が会場の視聴者に届かない場合や、高音質な音を使用したい場合があるためである。ロボットの動作と外部機器からの音響を同期させるためには、これらの装置で計時される時刻が上記の精度で同期している必要がある。
【0074】
時刻同期の問題は、見栄えの効果だけでなく、ロボット装置間の干渉などパフォーマンス事態へも影響する。何故なら、同期を十分に確保していないため、本来いるはずのない場所にロボットが立つことになり、本来同じ場所にいるべき他のロボットと干渉又は衝突してしまうことになる。
【0075】
統括コントローラが動作計画の実行タイミングに合わせて指示動作に関するコマンドを転送することで同期をとる、という方法も考えられる。すなわち、PC内の時計やタイマーを用いて、任意の時刻又は経過時間後に、ロボットに対してコマンドを無線LAN経由で送出する。この場合、ロボット間、あるいはロボットとPC間では時刻を共有しておらず、ロボットはコマンドを受け取ると同時に直ちにそれを実行する。例えば、複数体のロボットを用いてミュージカルや劇といったシナリオをベースにしたロボットのモーション再生や音楽再生を行おうとした場合、動作させたい時刻に統括コントローラから各ロボットへコマンドを同時並行して送出して同期をとる。しかし、この場合、使用する無線の電波状況の良し悪しによりコマンドの到達遅延が生じ、ロボット同士が同期して動作しないという問題がある。
【0076】
そこで、本実施形態では、ロボット間で、あるいはロボットと統括コントローラ(若しくは時刻を管理するその他の装置)間で時刻同期をあらかじめ行ない、その時刻になったらロボットが動作するようにしている。
【0077】
図9には、ロボット間、並びにロボットと統括コントローラ間で時刻同期をとるための仕組みを図解している。図示の例では、当該時刻管理システムを動作させているシステム(統括コントローラ)と有線ケーブルとケーブル出力をコントロールするアプリケーション・ソフトウェアを用い、統括コントローラのオペレーティング・システム上の時刻を、各ロボットと通信を行ない設定している。
【0078】
また、図10には、ロボット間、並びにロボットと統括コントローラ間で時刻同期をとるための仕組みについての他の例を図解している。図示の例では、当該時刻管理システムを動作させているシステム(統括コントローラ)と同システムに接続された無線通信装置と、それをコントロールするアプリケーション・ソフトウェアを用い、統括コントローラのオペレーティング・システム上の時刻を無線送信し、各ロボットがこの無線信号を受信することにより時刻を設定している。
【0079】
D.コントローラ・アプリケーション
統括コントローラは、モニタ・システムから得られた各ロボットの位置及び方向などの情報に基づいて、ロボットの動作を統括的に管理することにより、シナリオが円滑に進行するようにマルチロボットを運用する。さらに、統括コントローラのGUI画面を介して、動作フィールド上の各ロボットの位置確認、各ロボットの最大可動範囲並びに転倒範囲、ロボット間の干渉領域を表示し、オペレータはこれらを視覚的に確認することができる。
【0080】
図11には、統括コントローラが提供する、マルチロボット運用GUI画面の構成例を示している。
【0081】
図示のGUI画面のメインビューは、動作フィールド上でのマルチロボットの現在状態の表示と、ロボット間の干渉領域の表示と、偏差予測の表示と、軌道表示とを、タブの選択により切り替えられるようになっている。
【0082】
図11に示す例では、メインビューは、マルチロボットの現在状態の表示がなされている。図示の例では、Chalie、Audrey、Ken、Marcoとそれぞれ名付けられた4台のロボットが動作フィールドで動作計画上にある。現在状態表示は、例えば、鳥瞰図による2次元表示と斜視3次元表示の2通りで提示されるが、その他の視野での表示を行なうようにしてもよい。図示の例では、鳥瞰図において、各ロボットの目標位置と現実の位置及び方向のそれぞれをこれらのフットプリントにより提示しているので、オペレータは、画面を介して目標位置と現在位置姿勢を視覚的に確認し、現在のマルチロボットの状態を的確に判断することができる。
【0083】
また、メインビューの下方では、マルチロボットに関する位置情報の2次元並びに3次元表示に併せて、各ロボットの位置情報を数値で提示している。位置情報の数値表示の形態として、図11に示す例では、位置偏差、目標位置、現在位置、状態、動作計画の表示をタブの選択により切り替えるようになっている。図示の例では、位置偏差が選択されており、4台の各ロボットのX、Y、Z、並びにロール、ピッチ、ヨーの6軸についての目標位置と現在位置及び方向との偏差が数値表示されている。
【0084】
各ロボットの現在位置及び方向は、モニタ・システムがカメラの撮像画像を画像処理して得ることができる。位置偏差が大きいときには、位置及び方向の修正処理を起動することができるが、この点については後述に譲る。
【0085】
干渉領域:
メインビューで干渉領域タブを選択すると、図12に示すような干渉領域の確認画面に切り替わり、オペレータは、ロボット同士の安全距離を視覚的に確認することができる。図中で4つの大きな円は、各ロボットが転倒に使用されうる場所を表している。また、各円に含まれる楕円は、動作中のロボットの最大可動範囲を表している。
【0086】
最大可動範囲は、より詳細な情報として、ロボットに割り当てられた動作計画から当該ロボットが使用する領域をあらかじめ導入しておいたものを使用することができる。
【0087】
このように、ロボット間の干渉領域は、それぞれの最大可動範囲の重なり具合という形で視覚的に表示される。また、このような干渉領域の情報を利用して、周囲のロボットの可動範囲に進入しないように、転倒方向の制限を課すこともできる。
【0088】
図13には、ロボットの転倒方向に制限を課する処理手順をフローチャートの形式で示している。
【0089】
まず、ロボット装置間の干渉領域を算出するとともに(ステップS1)、各ロボットの転倒動作に対応した転倒領域を算出する(ステップS2)。例えば、転倒方向が前でも強制的に後ろに転倒する転倒動作の転倒領域は、ロボットの後方に生じる。
【0090】
次いで、ロボット装置間で、干渉領域や転倒領域の重複領域を算出し(ステップS3)、重複領域があるかどうかを判別する(ステップS4)。
【0091】
ここで、重複領域がある場合には、重複領域を含む転倒領域群を算出し(ステップS5)、各ロボットが備えている転倒領域群のうち、重複領域を含む転倒領域群に対応する転倒動作を使用禁止にする(ステップS6)。
【0092】
一方、ロボット装置間で重複領域がない場合には(ステップS4)、各ロボット装置において使用禁止に設定されていた転倒動作群を使用可能にする(ステップS7)。
【0093】
そして、処理を継続する場合には(ステップS8)、当該処理ルーチンの先頭に戻り、処理を終了することができる場合には本処理ルーチン全体を終了する。
上記の例はロボット装置間の転倒時における転倒重複領域を考慮した転倒方向の制限に関する内容であるが、転倒方向の制限はロボット装置が動作フィールド端にいる場合やロボット装置以外の障害物がある場合などでも考慮される。
【0094】
偏差予測:
メインビューで偏差予測タブを選択すると、図14に示すような、特定時刻での各ロボットの目標位置との偏差を示した偏差推定画面に切り替わる。オペレータは、シナリオを運用中に、特定時刻における位置方向偏差を推定し、画面上でその推定偏差を確認することができる。例えば、ある「動作計画」の中にマイクが置かれている場所へ正確に移動しなければいけない場面がある場合や、動作フィールドの端で落下の可能性がある場所へ移動しなければいけない場面がある場合に、オペレータは偏差推定を利用することで、重大なトラブルが発生する前に処置すべき内容を判断することができる。
【0095】
本実施形態では、ロボットの位置方向の偏差を、過去実行したモーションの結果に基づいて予測する。過去に行なったロボットの動作に基づいて当該ロボットの運動特性を算出することができる。そして、将来行なう動作計画を実行したときの計画値との誤差を、ロボットの運動特性に基づいて予測する。
【0096】
より具体的に言えば、過去一定期間ts〜tm1にモーションを実行したときに生じた誤差を観測するとともに、過去一定期間ts〜tm1に実行したモーションを要素運動毎に分割し、要素運動毎に生じる誤差を推定する。ここで言う要素運動とは、モーションを時間軸又は部位運動毎に分割したものを言う。そして、以後tm2〜teに至るまでの期間に実行するモーションを要素運動に分割し、これらの要素運動が持つ推定誤差を合計することにより、時刻teにおける位置及び方向の誤差を推定することができる。
【0097】
図15には、位置方向の偏差を推定するための処理手順をフローチャートの形式で示している。
【0098】
まず、時刻ts、tm1、tm2、teを設定する(ステップS11)。通常はtm1=tm2である。
【0099】
そして、時刻ts〜tm1間に実行されたl番目のロボットの要素運動jによって生じた移動誤差と方向誤差の算出する(ステップS12)。移動誤差と方向誤差は下式のように表される。
【0100】
【数1】

【0101】
また、時刻tm2〜te間に実行予定の目標運動列を要素運動jの数njに分解する(ステップS13)。
【0102】
また、時刻tm2における移動誤差と方向誤差(初期誤差)を取得する(ステップS14)。移動誤差及び方向誤差は下式のように表される。
【0103】
【数2】

【0104】
次いで、時刻tm2〜te間に実行予定の目標運動列をl番目のロボットを用いて実行した場合に生じる移動誤差と方向誤差の推定値を算出する(ステップS15)。移動誤差と方向誤差は下式のように表される。
【0105】
【数3】

【0106】
そして、時刻teにおけるl番目のロボットの移動誤差と方向誤差の推定値を算出する(ステップS16)。移動誤差と方向誤差は下式のように表される。
【0107】
【数4】

【0108】
位置方向の偏差が大きいときには、位置及び方向の修正処理を起動することができるが、この点については後述に譲る。
【0109】
軌道表示:
メインビューで軌道表示タブを選択すると、各ロボットの軌道を表示する画面に切り替わる。軌道表示の簡単な例は、鳥瞰図又は斜視した動作フィールド路面に、各ロボットの過去、現在、未来に渡る歩すなわち足跡(フットプリント)を該当する場所に配置していくというものである。脚式移動ロボットにおいては、歩を基本に動作計画が立てられるので、このように歩を利用した軌道の表示は極めて有効である。このとき、時間軸に応じて(例えば過去か未来かに応じて)色分け表示してもよいし、ロボット毎に別の色で足跡を表示するようにしてもよい。
【0110】
ここで、3D画面で歩の軌道を表示する場合、足踏みが非常に多かったり、ダンスのように同じ場所を何度も行き来したりするような場面では、特定の場所に歩の表示が密集するため、時刻の経過に伴う歩の軌道を画面表示で確認することが困難になる、という問題がある。
【0111】
そこで、本実施形態では、Z軸を時間軸においた歩の軌道表示を行なうようにした。脚式移動ロボットの作業領域は、一般に平面すなわちZ軸方向に変化する頻度が低く、歩を空間的に表示する上でZ軸の重要性は低い。そこで、Z軸を時間軸に指定し、XY軸への移動と姿勢(ロール,ピッチ,ヨー)の軌道が時刻の経過に沿って視覚的に確認できるようにした。
【0112】
図16には、Z軸を時間軸においた歩の軌道を3D表示の例を示している。同図に示す例では、Z軸正方向を時間軸に設定しており、足踏みを行なった場所では複数の歩がZ軸方向に積み重ねられて表示されている。勿論、時間軸をZ軸正方向ではなく負方向に割り当ててもよい。
【0113】
脚式移動ロボットの作業領域がZ軸方向に変化する頻度が低いとはいえ、全くない訳ではない。例えば、階段の昇降などである。図17には、ロボットが階段を昇降したときの通常の歩の3D表示例を示している。これに対し、図18には、Z軸負方向に時間軸を設定して、階段の昇降したときの歩を表示した前額面、矢状面、並びに斜視図を示している。
【0114】
上述したような歩の軌道表示は、シナリオの運用では、時刻の経過に伴う各ロボットの位置を把握することは非常に重要であり、オペレータは干渉領域確認や偏差表示との組み合わせで状況判断がより的確に行なえるようになる。
【0115】
E.マルチロボット・システムにおける各ロボットの位置及び方向の監視、状態監視
上述したようにマルチロボット・システムでは、役が割り当てられた各ロボットがそれぞれ与えられた動作計画を同期的に実行することにより、舞台などの動作フィールド上で連携した協調的な行動を振る舞うことにより、シナリオ通りのパフォーマンスを提示することができる。
【0116】
各ロボットにはそれぞれの役が割り振られており、役に応じた開始時刻や開始位置方向がシナリオ内で記述されている(前述並びに図6を参照のこと)。ところが、シナリオの運用中には、滑りや傾斜などの路面状態といった外的要因、個々のロボット装置の状態などの内的要因により、所定時刻に目標位置に到達していない、あるいは目標方向に向いていない、という事態が発生し得る。こういった現状が一連の動作中に蓄積すると、計画した動作を遂行することができなくなり、マルチロボットの位置及び方向のずれとして顕在化する。
【0117】
そこで、本実施形態では、モニタ・システムが動作フィールドを一望できるカメラが捉えた映像を画像処理して各ロボットの位置及び方向を取得し、統括コントローラは、モニタ・システムから得られた各ロボットの位置及び方向などの情報に基づいて、動作フィールド内で時々刻々と変化する各ロボットの位置、方向、状態を把握するようになっている。
【0118】
舞台などの動作フィールドの上方には天井カメラが設置されており、シナリオを実行するマルチロボットの様子を鳥瞰図として得ることができる。モニタ・システムは、天井カメラによる撮影画像を画像認識して、時々刻々変わる各ロボットの位置と方向を特定することができる(図19を参照のこと)。そして、統括コントローラは、モニタ・システムから、各ロボットのある時刻における位置と方向に関する情報を取得することができる(図20を参照のこと)。
【0119】
図21には、統括コントローラがモニタ・システムから、ある時刻におけるロボットの位置及び方向に関する情報を取得するための処理手順をフローチャートの形式で示している。図示の例では、位置情報の取得は、統括コントローラからの要求ベースで行なわれる。すなわち、統括コントローラが、モニタシステムーデータの取得要求を発行すると、モニタ・システムは、時刻、位置、方向データを取得し、統括コントローラへ転送する。
【0120】
また、図22には、モニタ・システムが天井カメラの撮影画像を基に、ロボットの位置及び方向を取得し、統括コントローラへ転送するための処理手順をフローチャートの形式で示している。
【0121】
モニタ・システムは、天井カメラから画像データを取得すると、所定の画像処理を施すことにより、視野内又は動作フィールド上の各ロボットの位置及び方向データを作成する。そして、統括コントローラからデータ要求があると、この作成データを転送する。
【0122】
ロボットの状態検出については、ロボット内蔵のセンサによりロボット自身が認識することができる。ここで言うロボットの状態には、現在の姿勢情報(立ち姿勢、寝姿勢)、動作が正常又は異常か、バッテリの残量などが含まれる。また、統括コントローラは各ロボットと無線LAN経由で接続されており、ロボットの状態をリアルタイムに取得することができる。
【0123】
F.マルチロボット・システムにおける各ロボットの位置及び方向の修正計画
マルチロボット・システムでは、役が割り当てられた各ロボットがそれぞれ与えられた動作計画を同期的に実行することにより、舞台などの動作フィールド上で連携した協調的な行動を振る舞うことにより、シナリオ通りのパフォーマンスを提示することができる。
【0124】
各ロボットにはそれぞれの役が割り振られており、役に応じた開始時刻や開始位置方向がシナリオ内で記述されている(前述並びに図6を参照のこと)。ところが、シナリオの運用中には、滑りや傾斜などの路面状態といった外的要因、個々のロボット装置の状態などの内的要因により、所定時刻に目標位置に到達していない、あるいは目標方向に向いていない、という事態が発生し得る。こういった現状が一連の動作中に蓄積すると、計画した動作を遂行することができなくなり、マルチロボットの位置及び方向のずれとして顕在化する。
【0125】
このような位置及び方向のずれは観衆に与える見栄えに影響するとともに、ロボット装置間の干渉などパフォーマンス自体へも影響する。何故なら、本来いるはずのない場所にロボットが立つことになり、本来同じ場所にいるべき他のロボットと干渉又は衝突してしまうことになる。
【0126】
そこで、本実施形態では、モニタ・システムが動作フィールドを一望できるカメラが捉えた映像を画像処理して各ロボットの位置及び方向を取得し、統括コントローラは、モニタ・システムから得られた各ロボットの位置及び方向などの情報に基づいて、ロボットの動作を統括的に管理することで、シナリオが円滑に進行するようにマルチロボットを運用する。
【0127】
統括コントローラは、上述したコントローラ・アプリケーションにより、ロボットの目標とする位置方向と現在の位置方向の偏差を随時確認することができる(図11を参照のこと)。さらに、いずれかのロボットの現在位置と目標位置との位置方向偏差が大きいとき、あるいは将来推定される位置と目標位置との位置方向偏差が大きいときには、位置及び方向の修正処理を起動することができる。
【0128】
本実施形態に係る位置及び方向の修正計画では、状況に応じて、2種類の位置方向の修正方法を用意している。1つは、「補正計画」であり、これはロボットが動作計画を実行中に動作計画内の既存の歩を補正することで位置方向の偏差を修正するというものである。もう1つは、「移動計画」であり、これはロボットが動作計画を実行していない場面を利用して、新たな1つ以上の歩を生成して位置方向の偏差を修正するものである。
【0129】
図23には、位置及び方向の修正計画の手順をフローチャートの形式で示している。
【0130】
統括コントローラは、モニタ・システムから取得したデータに基づいて、動作フィールドで活動しているいずれかのロボットについて、位置及び方向を補正する必要があるかどうかを判別する(ステップS21)。
【0131】
いずれかのロボットにおいて、位置及び方向を補正する必要があると判断したときには、続いて、当該ロボットが現在シナリオを実行中であるかどうかを判別する(ステップS22)。ここで、シナリオを実行中でなければ、移動計画を立てることに決定する(ステップS25)。移動計画を立てるための処理手順の詳細については、後述に譲る。
【0132】
また、ロボットがシナリオを実行中であれば、さらに当該ロボットがシナリオ内で動作計画を実行中又は動作計画間の途切れであるか、あるいは移動計画を実行中であるかを判別する(ステップS23)。ここで、ロボットが動作計画及び移動計画のいずれも実行していないときには、移動計画を立てることに決定する(ステップS25)。
【0133】
一方、当該ロボットが動作計画又は移動計画のいずれかを実行していることには、補正計画を立てることに決定する(ステップS24)。補正計画は、現在実行中の計画が成功裏に終了するよう、当該計画内の既存の歩を補正する補正計画を立てることに決定する。
【0134】
ロボットへ通知する計画がある場合には(ステップS26)、当該計画をロボットへ通知する(ステップS27)。そして、当該処理ルーチンを終了可能であれば終了し、そうでなければステップS21に戻り、上述と同じ処理を繰り返し行なう。
【0135】
F−1.補正計画
動作計画の中で、脚の軌道は、ロボットの足底軌道となる「歩」を1単位として管理されている。図24には、脚の軌道を歩で管理している様子を示している。ある時刻での歩は(x,y,z,roll,pitch,yaw)のパラメータで表され、その座標原点は通常、動作計画の開始点となる。なお、空間を表す単位であれば、オイラー角空間でなくてもよい。図24に示した歩のパラメータは例えば下表のように表される。
【0136】
【表1】

単位
x,y,x:[m]
roll.pitch.yaw:[deg]
【0137】
この例では、座標の原点を初期位置、時間は開始時刻を0とした相対値を用いているが、座標・時刻それぞれについて絶対値を用いても良い。
【0138】
続いて、歩の偏差について説明する。動作計画の運用時に発生する位置方向偏差の蓄積量を(x1,y1,z1,roll1,pitch1,yaw1)と表す。位置補正は、基本的にある時刻における位置方向偏差の各成分を0にすることが目的であり、偏差から算出された補正量(x2,y2,z2,roll2,pitch2,yaw2)を計画した歩に付加し、それをロボットが実行することでこの目的を達成する。計画した歩に補正量を付加したものを「補正歩」とここでは呼ぶことにする。補正歩(X,Y,Z,ROLL,PITCH,YAW)は次式のように表すことができる。
【0139】
【数5】

【0140】
本明細書では、動作計画の中で偏差が無くなるように補正歩を組み合わせた軌道計画のことを「補正計画」と呼ぶ。
【0141】
図25には、図24に示した計画軌道に対して、動作計画の運用時に発生した偏差を示している。また、図示の歩の偏差を下表に示している。
【0142】
【表2】

単位
x,y,x:[m]
roll.pitch.yaw:[deg]
【0143】
補正量(x2,y2,z2,roll2,pitch2,yaw2)は、偏差量から求まるので、基本的には下式のように表すことかできる。
【0144】
【数6】

【0145】
しかしながら、実際には、補正量は、実際に使用しているロボットの特性や舞台(動作フィールド)の状態、脚関節角やアクチュエータ速度、加速度、自己干渉によるロボットに課される運用上の制限を考慮して算出する必要がある。このため、実際の補正量は、一般に、下式に示すように、動作計画の運用時に発生する時間や位置方向偏差の蓄積量の関数として表される。
【0146】
【数7】

【0147】
ここで、ロボットの特性は、事前に基準環境下で調査されている。1歩毎の平均的な偏差量が、他のパラメータと同様(x3,y3,z3,roll3,pitch3,yaw3)で数値化されているため、偏差量からこの値を差し引いた値が補正量となる。
【0148】
また、動作フィールドの状態によってロボットの挙動が左右される。特に、動作フィールドの路面環境で歩の偏差量は大きく影響を受ける。動作計画を運用する際、開始時からの歩の偏差統計を取り1歩毎の平均偏差量(x4,y4,z4,roll4,pitch4,yaw4)を算出する。この値はこの先発生する偏差の予測量であり、修正量は予めこの値を考慮して算出する。
【0149】
ロボットに課される制約には、機体に課される制約と運用上の制約がある。上式[数5]並び[数7]により得られた歩の軌道に対して、逆運動学などを用いて脚関節の軌道を算出する。さらに、(時間的に可能であれば)個々の関節に対する速度・加速度や自己干渉についても調べ、それぞれの制限事項を満足しているか判断する。制限事項を満たしていない場合は、一定の基準で補正量を減らす。また、ロボット機体が持つ制約に関しては、見栄えの面や安全な運用を考えて、より強い制約を課すことがある。
【0150】
図26には、補正計画を立てるための処理手順をフローチャートの形式で示している。
【0151】
まず、統括コントローラは、シナリオから得られる該当するロボットの位置方向の計画値と、モニタ・システムから取得された現在値から、補正用の偏差(x1,y1,z1,roll1,pitch1,yaw1)を算出する(ステップS31)。
【0152】
次いで、現在時刻以降で、動作計画内の既存の歩のうち補正する歩を選択し、補正の暫定量を導出する(ステップS32)。
【0153】
次いで、暫定的に得られた補正量に対し、ロボットの特性や動作フィールドの状態を考慮した補正量へ修正を行なう(ステップS33)。
【0154】
さらに、このようにして得られた補正量から、現在のロボットの姿勢やロボットの制約(関節角制限、角速度制限、角加速度制限、自己干渉など)を考慮した厳密な補正量へ更新する(ステップS34)。
【0155】
そして、ロボットの制約を考慮した補正量に対して、見栄えや安全性を考慮した制約を基に補正量を更新する(ステップS35)。
【0156】
統括コントローラは、得られた補正量(x2,y2,z2,roll2,pitch2,yaw2)を該当するロボットの補正歩(X,Y,Z,ROLL,PITCH,YAW)に反映させる(ステップS36)。
【0157】
図27には、上記のステップS32における、補正計画の対象となる歩について補正の暫定量を導出するための詳細な処理手順をフローチャートの形式で示している。
【0158】
統括コントローラは、シナリオの中から、位置方向修正の処理対象となっているロボットの動作計画を参照し、現在時刻以降で補正のために使用することができる歩数を得る(ステップS41)。
【0159】
次いで、この歩数から、補正計画で使用する1又はそれ以上の歩を選択する(ステップS42)。
【0160】
次いで、選択した歩に対して、歩が持つパラメータ(歩幅、旋回角、速度など)から推測できる補正の近似的な上限値を得る(ステップS43)。
【0161】
そして、得られた情報を基に、次に修正する歩の補正量を決定する(ステップS44)。
【0162】
F−2.移動計画
位置方向を修正しなければならないロボットが、現在動作計画又は移動計画を実行中のときには、上述したように補正歩を組み合わせた補正計画により修正を行なう。これに対し、位置方向を修正しなければならないロボットがいずれの動作計画も行なっていないときには、新たな歩を生成し、次の動作計画を実施するまでの間に位置方向を修正する移動計画を立てる(前述)。図28には、移動計画を立てるための処理手順をフローチャートの形式で示している。
【0163】
まず、その場において、例えば異なる足運びの集合から成る歩容ライブラリから選択するといった方法によって、印象のよい(見栄え若しくはその場に適した印象を与えられる)歩容を使用し(ステップS51)、役の優先順位に従い軌道計画を行なう(ステップS52)。
【0164】
ここで、ロボット装置駆動用バッテリの残エネルギの推定を行なう(ステップS53)。
【0165】
残エネルギが尽きると推定された場合には(ステップS54)、印象のよさではなく、より効率の高い他の歩容があるかどうかを検索する(ステップS58)。より効率の高い歩がある場合には、それに変更し(ステップS59)、ステップS52に復帰する。一方、より効率のよい歩容がない場合には、移動計画を終了する。
【0166】
残エネルギがあると推定された場合には(ステップS54)、さらにその残時間を推定する(ステップS55)。
【0167】
次いで、より効率の高い歩容に変更されたかどうかを判別する(ステップS56)。
【0168】
より効率の高い歩容に変更されている場合には、次の動作計画が開始するまでの残時間が一定時間以上かどうかをさらに判別する(ステップS57)。そして、残時間が一定時間以上であれば移動計画を終了する。また、残時間が一定時間以下であれば、移動計画を中止、すなわち次の動作計画が開始するまでの位置方向の修正を諦める。
【0169】
また、より効率の高い歩容に変更されていない場合には、次の動作計画が開始するまでの残時間が一定時間以上かどうかをさらに判別する(ステップS60)。そして、残時間が一定時間以上であれば移動計画を終了する。これに対し、残時間が一定時間以下であれば、より高速な歩容がある場合には(ステップS61)、より高速の歩容に変更し(ステップS62)、ステップS52に戻る。
【0170】
G.マルチロボット・システムにおける異常処理
シナリオを運用する際、路面状態・傾斜といった外的要因やロボット自身の内的要因、あるいはロボット同士の接触などによって、転倒回避動作が発動したり転倒したりすることがある。また、バッテリ残量の低下などのエネルギ不足による動作停止といったさまざまな異常状態が想定される。
【0171】
従来、異常状態の処理は操作人の技能が求められ、他のロボットの動作を予測しながら異常からの復帰を図ることは非常に困難であった。
【0172】
これに対し、本実施形態に係るマルチロボット・システムでは、異常状態になったロボットが復帰できるかどうか、他のロボットの動作が復帰動作に干渉しないかなど、全体の構成を考慮して適切な処理を行なう手段が確立されている。すなわち、統括コントローラは、このような異常状態を位置方向情報やロボット状態などから検知することができる。異常状態が検知されると、その状況に応じた処理が実行される。
【0173】
本実施形態に係るマルチロボット・システムでは、異常の程度に応じて以下の4つのレベルの異常状態を定義している。
【0174】
異常レベル1:1体のロボットだけで異常処理が完結する状態
異常レベル2:マルチロボット・システム全体に対して異常処理が必要な状態
異常レベル3:シナリオの一部が続行不可能となる状態
異常レベル4:シナリオ全体が続行不可能な状態
【0175】
以下、各異常レベルについて説明する。
【0176】
異常レベル1:
>異常状態であるロボットの「動作計画」続行を判断
異常状態が発生したことにより、そのロボットの「動作計画」が持つ目的が達成できるかどうかを、所定の評価式を用いて判断する。ここで、ロボットの動作計画の続行可能性の判断方法とその評価式について説明しておく。
【0177】
シナリオ上で役を与えられている各ロボット装置は、実行すべきモーションなどの動作計画がシナリオ内で規定されている。モーションは要素運動(前述)に分割することができる。要素運動とは、右旋回、左旋回、前進、後退、右横、左横、前進跳躍、後退跳躍、右旋回跳躍、左旋回跳躍、前進走行、後退走行、右旋回走行、左旋回走行、右横走行、左横走行など、例えば動作命令の最小単位となるものである。
【0178】
各要素運動は単位運動に分解することができる。ここで、要素運動についての動作の遂行可能性を判断するために、パフォーマンス・ベクトルという概念を導入する。j番目の要素運動の単位運動数njとし、k番目の役が与えられたロボットの時刻t以降の計画パフォーマンスを単位要素運動数分解すると、そのパフォーマンス・ベクトルPk(t)は下式のように表される。
【0179】
【数8】

【0180】
一方、l番目のロボットの要素運動jの単位運動当たりの達成度をajlとすると、ロボットlの時刻tにおける1単位パフォーマンス・ベクトルSlは下式のように表される。
【0181】
【数9】

【0182】
再パスプラニング時に、許容値を満たさない要素運動を、使用可能要素運動から削除する。そして、動作続行可能性を行なう評価値を下式のように定義し、この値が許容値ε以上であれば計画動作の続行が可能であると判断する。
【0183】
【数10】

【0184】
なお、各要素運動間に評価の重みがある場合は、時刻t以降における重み対角行列Ik(t)をパフォーマンス・ベクトルPk(t)tの積などをPk(t)tとして評価値を算出して最終的な評価を行なうようにしてもよい。
【0185】
【数11】

【0186】
>異常状態からの復帰
異常レベル1異常状態の一例として、あるロボットが転倒した場合を考える。そのロボットが起き上がれる状態にある場合は、そのロボットへ起き上がりの指示を出す。起き上がれるかどうかの判断は、統括コントローラとロボットの通信が確立しており、転倒したロボットの内部状態に問題が無く、且つ、その他のロボットとの干渉の問題が発生しないかどうかで決まる。起き上がったロボットは、位置方向偏差を補正しながら「動作計画」を続行する。
【0187】
異常レベル2:
>配役の交代
あるロボットが異常状態になり、特にそのロボットが主役といった重要な役割を担っているような場合は、配役の交代が行なわれる。例えば、ロボットAの役をロボットBが行うことになった場合は、ロボットBがロボットAの位置に付き、その後、ロボットAの「動作計画」を実行することになる。
【0188】
>予備ロボットの導入
あるロボットが異常状態になり、予備ロボットが準備されている場合は、そのロボットが動作フィールド内に移動、又は、人によって動作フィールド内に置かれ、異常状態になったロボットの「動作計画」を実行する。図29には、予備ロボット導入のための処理手順をフローチャートの形式で示している。
【0189】
まず、導入場所までの移動軌道を計画する(ステップS71)。
【0190】
次いで、移動軌道を「動作計画」とし、予備ロボット導入後に実行し、シナリオ中の一連の「動作計画」と併合する(ステップS72)。
【0191】
次いで、併合された一連の「動作計画」を予備ロボットにアップロードする(ステップS73)
【0192】
そして、シナリオの時刻進行を考慮し、予備ロボットを導入したい場面で統括コントローラが自動で、又はオペレータが手動で、アップロードされた「動作計画」を開始する(ステップS74)。
【0193】
>フォーメーションの修正
あるロボットが異常状態になり、その復帰動作中に他のロボットとの干渉が予想された場合、一部、フォーメーションを修正することで、異常状態のロボットが復帰するための領域を確保する。
【0194】
異常レベル3:
>全体フォーメーションの再計画
あるロボットが異常状態になり移動できない状態になった場合で且つ撤去できず、結果として、動作フィールド内で他のロボットが立ち入れない領域が発生し、且つ、将来その場所で干渉が発生すると予想された場合、全体の「動作計画」内で軌道が再計画される。その際は、極力主役の軌道変化が無いような計画が立てられる。
【0195】
異常レベル4:
>シナリオ停止
発生した異常状態によって、シナリオが成立しなくなったと判断されると、全体を停止する。各ロボットは動作している状態から、停止状態へ移行する。シナリオの停止後、状況に応じて(又は、オペレータの判断によって)以下の4つの中からいずれかの処理が実行される(図8を参照のこと)。
【0196】
・現在のシナリオを先頭から開始(リターン)
・現在のシナリオを飛ばして、次以降のシナリオを開始(スキップ)
・予備シナリオを開始
・すべてのシナリオの実行を破棄
【0197】
図30には、異常レベルを判定するための処理手順をフローチャートの形式で示している。
【0198】
まず、異常状態のロボットが、以下の条件で復帰可能かどうかを判別する(ステップS81)。
【0199】
ここで、異常状態のロボットが復帰可能と判断された場合には、続いて、当該ロボットが他のロボットと干渉せずに復帰可能かどうかを判別する(ステップS82)。
【0200】
異常状態のロボットが、他のロボットと干渉せずに復帰できる場合には、復帰後に役割を続行できるかどうかをさらに判別する(ステップS83)。そして、役割を続行可能な場合には、異常レベル1と判定する。
【0201】
一方、異常状態のロボットが、復帰後に役割を続行できない場合には、配役の交代が可能かどうかを判別する(ステップS84)。配役の後退が可能であれば、異常レベル2と判定する。
【0202】
また、異常状態のロボットが他のロボットと干渉せずに復帰できない場合には(ステップS82)、全体のフォーメーションを変更することにより復帰が可能かどうかを判別する(ステップS85)。ここで復帰が可能と判断された場合も、異常レベル2と判定する。
【0203】
一方、全体のフォーメーションを変更しても復帰できない場合や(ステップS85)、異常状態のロボットが復帰不可能と判断された場合には(ステップS81)、異常状態を動作フィールド(舞台)から撤去又は放置することが可能かどうかをさらに判別する(ステップS86)。
【0204】
異常状態のロボットを撤去又は放置することができる場合には、予備ロボット(前述)を出すことが可能かどうかを判別する(ステップS87)。予備ロボットを出すことができる場合も、異常レベル2と判定する。
【0205】
予備ロボットを出すことができない場合には(ステップS87)、異常状態のロボットを撤去又は放置してもシナリオを続行可能かどうかを判別する(ステップS88)。シナリオの続行が可能であれば、異常レベル3と判定する。
【0206】
また、異常状態から復帰できないロボットを撤収又は放置することができない場合には(ステップS86)、当該ロボットが動作フィールドに残った状態でシナリオを継続可能かどうかを判別する(ステップS89)。
【0207】
異常状態のロボットを動作フィールドに残したままシナリオを継続することができる場合にも、異常レベル3と判定する。
【0208】
一方、異常状態のロボットを動作フィールドに残したままシナリオを継続することができない場合(ステップS89)、並びに、異常状態のロボットを撤去又は放置してシナリオを継続することができない場合には(ステップS88)、異常レベル4と判定する。
【0209】
その他、異常時に行なう処理:
>ログデータの回収
あるロボットが異常状態になった場合は、ロボット内に蓄積されたログデータが回収される。回収したデータを解析することで、異常が起きた原因を解析する助けとなる。
【0210】
>コントローラと通信不能となったロボットの自己処理
コントローラと通信が不能になったと認識したロボットは、外部からの制御が不能状態に入ったと判断し自己処理として動作を停止する。実行環境によっては「動作計画」といった重要度の高い情報に対し、外部へ流出することがないよう、消去などの処理を行なう。
【0211】
H.ロボット装置の構成
これまではマルチロボット・システムの構成や機能について説明してきた。この項では、マルチロボットの一員として動作することができるロボット装置について詳解する。
【0212】
図31及び図32には本発明の実施に供される「人間形」又は「人間型」のロボット装置100が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、ロボット装置100は、体幹部と、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右2足の下肢部とで構成され、例えば体幹部に内蔵されている制御部(図示しない)によりロボット装置の動作を統括的にコントロールするようになっている。
【0213】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって腰部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0214】
このように構成されたロボット装置100は、制御部(図31及び図32には図示しない)による全身協調的な動作制御により、2足歩行を実現することができる。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【0215】
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
【0216】
制御部は、このロボット装置100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【0217】
歩行動作の軌道修正を始めとして、ロボット装置の姿勢安定制御には、ZMPを歩行の安定度判別の規範として用いている。このため、ZMPに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、5次多項式を用いた補間計算により行なう。ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。当該原理の力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちZMPが存在する。
【0218】
図33には、このロボット装置100が具備する関節自由度構成を模式的に示している。同図に示すように、ロボット装置100は、2本の腕部と頭部1を含む上肢と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部と、腰部で構成された、複数の肢を備えた構造体である。
【0219】
頭部を支持する首関節(Neck)は、首関節ヨー軸1と、第1及び第2の首関節ピッチ軸2a及び2bと、首関節ロール軸3という4自由度を有している。
【0220】
また、各腕部は、その自由度として、肩(Shoulder)における肩関節ピッチ軸4と、肩関節ロール軸5と、上腕ヨー軸6、肘(Elbow)における肘関節ピッチ軸7と、手首(Wrist)における手首関節ヨー軸8と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【0221】
また、体幹部(Trunk)は、体幹ピッチ軸9と、体幹ロール軸10という2自由度を有する。
【0222】
また、下肢を構成する各々の脚部は、股関節(Hip)における股関節ヨー軸11と、股関節ピッチ軸12と、股関節ロール軸13と、膝(Knee)における膝関節ピッチ軸14と、足首(Ankle)における足首関節ピッチ軸15と、足首関節ロール軸16と、足部とで構成される。
【0223】
但し、ロボット装置100が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0224】
上述したようなロボット装置100が持つ各自由度は、実際には回転型アクチュエータを用いて実装され、これらの回転位置制御に基づいて運動制御を行なうようになっている。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行なうことなどの要請から、これら関節アクチュエータは小型且つ軽量であることが好ましい。
【0225】
本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした。この種のACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開2000−299970号公報に開示されている。各関節アクチュエータには、モータ・トルクを検出するトルク・センサや、回転位置若しくは関節位置を検出する角度・位置センサがそれぞれ配設されているものとする。
【0226】
また、本実施形態では、アクチュエータ・モータの直結ギアとして低減速ギアを採用することにより、人間との物理的インタラクションを重視するタイプのロボット100に求められている駆動系自身の受動的特性を得ている。
【0227】
図34には、ロボット装置100の制御システム構成を模式的に示している。同図に示すように、ロボット装置100は、ヒトの四肢を表現した各機構ユニット30、40、50R/L、60R/Lと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット80とで構成される(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下同様)。
【0228】
ロボット装置100全体の動作は、制御ユニット80によって統括的に制御される。制御ユニット80は、CPU(Central Processing Unit)やメモリなどの主要回路コンポーネント(図示しない)で構成される主制御部81と、電源回路やロボット100の各構成要素とのデータやコマンドの授受を行なうインターフェース(いずれも図示しない)などを含んだ周辺回路82とで構成される。
【0229】
ここで言う周辺回路82は、ロボット装置に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション(図示しない)やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
【0230】
本発明を実現する上で、この制御ユニット80の設置場所は特に限定されない。図34では体幹部ユニット40に搭載されているが、頭部ユニット30に搭載してもよい。あるいは、ロボット装置100外に制御ユニット80を配備して、ロボット装置100本体とは有線若しくは無線で交信するようにしてもよい。
【0231】
図33に示したロボット装置100内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット30には、首関節ヨー軸1、首関節ピッチ軸2、首関節ロール軸3の各々を表現する首関節ヨー軸アクチュエータM1、首関節ピッチ軸アクチュエータM2、首関節ロール軸アクチュエータM3が配設されている。
【0232】
また、体幹部ユニット40には、体幹ピッチ軸9、体幹ロール軸10の各々を表現する体幹ピッチ軸アクチュエータM9、体幹ロール軸アクチュエータM10が配設されている。
【0233】
また、腕部ユニット50R/Lは、上腕ユニット51R/Lと、肘関節ユニット52R/Lと、前腕ユニット53R/Lに細分化されるが、肩関節ピッチ軸4、肩関節ロール軸5、上腕ヨー軸6、肘関節ピッチ軸7、手首関節ヨー軸8の各々を表現する肩関節ピッチ軸アクチュエータM4、肩関節ロール軸アクチュエータM5、上腕ヨー軸アクチュエータM6、肘関節ピッチ軸アクチュエータM7、手首関節ヨー軸アクチュエータM8が配設されている。
【0234】
また、脚部ユニット60R/Lは、大腿部ユニット61R/Lと、膝ユニット62R/Lと、脛部ユニット63R/Lに細分化されるが、股関節ヨー軸11、股関節ピッチ軸12、股関節ロール軸13、膝関節ピッチ軸14、足首関節ピッチ軸15、足首関節ロール軸16の各々を表現する股関節ヨー軸アクチュエータM11、股関節ピッチ軸アクチュエータM12、股関節ロール軸アクチュエータM13、膝関節ピッチ軸アクチュエータM14、足首関節ピッチ軸アクチュエータM15、足首関節ロール軸アクチュエータM16が配設されている。
【0235】
各関節に用いられるアクチュエータM1、M2、M3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータ(前述)で構成することができる。
【0236】
頭部ユニット30、体幹部ユニット40、腕部ユニット50、各脚部ユニット60などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部35、45、55、65が配設されている。
【0237】
腰部41には、姿勢センサ95と加速度センサ96が配設されている。加速度センサ96は、XYZの各軸方向に配置する。また、腰部41に加速度センサ96を配設することによって、質量操作量が大きな部位である腰部41を制御対象点として設定して、その位置における姿勢や加速度を直接計測して、ZMPに基づく姿勢安定制御を行なうことができる。姿勢センサ95と加速度センサ96は、図3中ではそれぞれ加速度センサA1及びジャイロ・センサG1として構成されている。
【0238】
また、各脚部60R及び60Lには、接地確認センサ91及び92と、加速度センサ93及び94がそれぞれ配設されている。接地確認センサ91及び92は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。また、加速度センサ93及び94は、少なくともX及びYの各軸方向に配置する。左右の足部に加速度センサ93及び94を配設することにより、ZMP位置に最も近い足部で直接ZMP方程式を組み立てることができる。図33中では、左右の足首に、足平における加速度を計測するセンサA2及びA2と、足平の姿勢を計測するジャイロ・センサG2及びG3がそれぞれ配設されている。また、左右の足底の四隅に、接地並びに床反力を計測する力センサF1〜F4、F5〜F8が配設されている。
【0239】
ここで、質量操作量が大きな部位である腰部41にのみ加速度センサを配置した場合、腰部41のみが制御対象点に設定され、足部の状態は、この制御対象点の計算結果を基に相対的に算出しなければならず、足部と路面との間では以下の条件を満たすことが、前提となってしまう。
【0240】
(1)路面はどんな力やトルクが作用しても動くことがない。
(2)路面での並進に対する摩擦係数は充分に大きく、滑りが生じない。
【0241】
これに対し、本実施形態では、路面との接触部位である足部にZMPと力を直接する反力センサ・システム(床反力センサなど)を配備するとともに、制御に用いるローカル座標とその座標を直接的に計測するための加速度センサを配設する。この結果、ZMP位置に最も近い足部で直接的にZMP釣合い方程式を組み立てることができる。したがって、より厳密な姿勢安定化制御を高速で実現することができる。この結果、力やトルクが作用すると路面が動いてしまう砂利上や毛足の長い絨毯上や、並進の摩擦係数が充分に確保できずに滑りが生じ易い住居のタイルなどであっても、ロボット装置の安定歩行(運動)を保証することができる。
【0242】
主制御部80は、各センサA1〜A3、G1〜G3、F1〜F8の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部35、45、55、65の各々に対して適応的な制御を行ない、ロボット装置100の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現する。
【0243】
ロボット装置100の全身運動は、足部運動、ZMP軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部35、45、55、65に転送する。そして、各々の副制御部35、45…では、主制御部81からの受信コマンドを解釈して、各アクチュエータM1、M2、M3…に対して駆動制御信号を出力する。ここで言う「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット100の歩行動作期間中にZMPが動く軌跡を意味する。
【0244】
脚式移動ロボットは、ZMPを歩行の安定度判別の規範として用いることができる。ZMPによる安定度判別規範は、系が適切なZMP空間を形成し、支持多角形の内側にZMPがある場合は、系に回転運動や並進運動が発生せず、回転や並進に関する運動方程式を解く必要がない。これに対し、支持多角形の内側にZMPがない場合や、外界に対する支持作用点が存在しない場合は、ZMP方程式に代えて、運動方程式を解く必要がある。例えば、ジャンプしたときや高台から飛び降りたときなど離床時には支持多角形が存在しないので、ZMP方程式に代えて運動方程式を解くようにすればよい。
【0245】
ZMP方程式は、目標ZMP上での各モーメントの釣合い関係を記述したものである。本実施形態に係る制御システムでは、ロボット装置に関するマスプロパティ(すなわち質量の分布情報)を持ち、ロボット装置を多数の質点miで表している。そして、これらの質点miを制御対象点とした場合、すべての制御対象点miにおいて発生する目標ZMP上でのモーメントの総和がゼロとなる各制御点の軌道を求める式がZMP釣合い方程式である。
【0246】
世界座標系で記述されたZMP釣合い方程式は以下の通りとなる。
【0247】
【数12】

【0248】
また、ロボット装置のローカル座標系で記述されたZMP釣合い方程式は以下の通りとなる。
【0249】
【数13】

【0250】
上記の各式は、各質点(又は制御対象点)miにおいて印加された加速度成分により生成されるZMP回り(半径ri−Pzmp)のモーメントの総和と、印加されたj番目の外力モーメントMjの総和と、外力Fkにより生成されるZMP回り(k番目の外力Fkの作用点をSkとする)のモーメントの総和が釣り合うということを記述している。
【0251】
このZMP釣合い方程式は、目標ZMPにおける床反力モーメント(モーメント・エラー成分)Tを含んでいる。このモーメント・エラーをゼロ又は所定の許容範囲内に抑えることによって、ロボット装置の姿勢安定性が維持される。言い換えれば、モーメント・エラーをゼロ又は許容値以下となるように運動(足部運動や上半身の各部位の軌道など)を修正することが、ZMPを安定度判別規範とした姿勢安定化制御の本質である。
【0252】
上述したように、路面との接触部位である足部足底に加速度センサを設けている場合には、世界座標系に対する実ロボットのローカル座標系を設定し、その原点としての足部足底を求め、ZMP釣合い方程式を直接的に導き出すことができる。さらに、腰部41を始めとして質量操作量が大きな制御対象点にも加速度センサを配置することで、これら制御対象点毎のZMP回りのモーメント量を、加速度センサ出力値を用いて直接的に導き出すことができる。
【0253】
ここで、制御対象としての実ロボットは移動体装置であることから、各制御対象点における世界座標上の位置ベクトルを求めることは難しい。その代案として、ローカル座標上における制御対象点の位置ベクトルは、逆キネマティクス演算など比較的容易な計算方法により求まる。そこで、ロボット装置のローカル座標系で記述された後者のZMP釣合い方程式を用いて実際の姿勢安定化処理を行なうようにすればよい。(ZMP軌道を正確に世界座標系で計測することがロボットに搭載された状態検出器では困難であることから、一般には、世界座標系に固定された外部計測器が必要となり、ロボット単体での行動(歩行など)が不可能となる。これに対し、接地部に荷重センサF1〜F8を配置してZMP軌道を計測することにより、ローカル座標でZMP軌道を正確且つ直接的に得ることができる。且つ、ローカル座標原点付近に加速度センサを配置することにより、高速運動において支配的となる情報を直接的に計測することができる。このような理由により、本実施形態では、ローカル座標系でのZMP釣合い方程式を用いている。)
【0254】
なお、ロボット装置100は、腰部位置に重心が設定されており、姿勢安定制御の重要な制御対象点であるとともに、装置の「基体」を構成する。
【産業上の利用可能性】
【0255】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【0256】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0257】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【0258】
【図1】図1は、本発明の一実施形態に係るマルチロボット・システムの概要を示した図である。
【図2】図2は、舞台上のマルチロボットをその上方からカメラが捉えている様子を示した舞台の側面図である。
【図3】図3は、舞台上方のカメラから捉えたマルチロボット環境下の舞台の鳥瞰図を示した図である。
【図4】図4は、指示動作例を示した図である。
【図5】図5は、動作計画の構成例を示した図である。
【図6】図6は、動作計画の構成例を示した図である。
【図7】図7は、シナリオの構成例を示した図である。
【図8】図8は、複数のシナリオを連結した構成例を示した図である。
【図9】図9は、ロボット間、並びにロボットと統括コントローラ間で時刻同期をとるための仕組みを説明するための図である。
【図10】図10は、ロボット間、並びにロボットと統括コントローラ間で時刻同期をとるための仕組みを説明するための図である。
【図11】図11は、統括コントローラが提供するマルチロボット運用GUI画面の構成例を示した図である。
【図12】図12は、干渉領域の確認画面の構成例を示した図である。
【図13】図13は、ロボットの転倒方向に制限を課する処理手順を示したフローチャートである。
【図14】図14は、偏差推定画面の構成例を示した図である。
【図15】図15は、位置と方向の偏差を推定するための処理手順を示したフローチャートである。
【図16】図16は、Z軸を時間軸においた歩の軌道表示を説明するための図である。
【図17】図17は、Z軸を時間軸においた歩の軌道表示を説明するための図である。
【図18】図18は、Z軸を時間軸においた歩の軌道表示を説明するための図である。
【図19】図19は、マルチロボット・システムにおけるロボットの位置及び方向の監視メカニズムを説明するための図である。
【図20】図20は、マルチロボット・システムにおけるロボットの位置及び方向の監視メカニズムを説明するための図である。
【図21】図21は、統括コントローラがモニタ・システムから、ある時刻におけるロボットの位置及び方向に関する情報を取得するための処理手順を示したフローチャートである。
【図22】図22は、モニタ・システムが天井カメラの撮影画像を基に、ロボットの位置及び方向を取得し、統括コントローラへ転送するための処理手順を示したフローチャートである。
【図23】図23は、位置及び方向の修正計画の手順を示したフローチャートである。
【図24】図24は、脚の計画軌道を歩で管理している様子を示した図である。
【図25】図25は、図24に示した計画軌道に対する動作計画の運用時に発生した偏差を示した図である。
【図26】図26は、補正計画を立てるための処理手順を示したフローチャートである。
【図27】図27は、補正計画の対象となる歩について補正の暫定量を導出するための処理手順を示したフローチャートである。
【図28】図28は、移動計画を立てるための処理手順を示したフローチャートである。
【図29】図29は、予備ロボット導入のための処理手順を示したフローチャートである。
【図30】図30は、異常レベルを判定するための処理手順を示したフローチャートである。
【図31】図31は、本発明の実施に供される「人間形」又は「人間型」のロボット装置100が直立している様子を前方から眺望した様子を示した図である。
【図32】図32は、本発明の実施に供される「人間形」又は「人間型」のロボット装置100が直立している様子を後方から眺望した様子を示した図である。
【図33】図33は、ロボット装置100が具備する関節自由度構成を模式的に示した図である。
【図34】図34は、ロボット装置100の制御システム構成を模式的に示した図である。
【符号の説明】
【0259】
1…首関節ヨー軸
2A…第1の首関節ピッチ軸
2B…第2の首関節(頭)ピッチ軸
3…首関節ロール軸
4…肩関節ピッチ軸
5…肩関節ロール軸
6…上腕ヨー軸
7…肘関節ピッチ軸
8…手首関節ヨー軸
9…体幹ピッチ軸
10…体幹ロール軸
11…股関節ヨー軸
12…股関節ピッチ軸
13…股関節ロール軸
14…膝関節ピッチ軸
15…足首関節ピッチ軸
16…足首関節ロール軸
30…頭部ユニット,40…体幹部ユニット,41…腰部ユニット
50…腕部ユニット,51…上腕ユニット
52…肘関節ユニット,53…前腕ユニット
60…脚部ユニット,61…大腿部ユニット
62…膝関節ユニット,63…脛部ユニット
80…制御ユニット,81…主制御部
82…周辺回路
91,92…接地確認センサ
93,94…加速度センサ
95…姿勢センサ
96…加速度センサ
100…脚式移動ロボット

【特許請求の範囲】
【請求項1】
特定の動作フィールド上で動作する1以上のロボット装置の制御システムにおいて、
前記動作フィールド上の各ロボット装置の位置及び方向を監視する監視手段と、
各ロボット装置との通信手段を備え、前記監視手段による監視結果並びに各ロボット装置から取得されるロボット装置の状態情報に基づいて、各ロボット装置による同期協調的な動作を制御する統括制御手段と、
を具備することを特徴とするロボット装置の制御システム。
【請求項2】
前記監視手段は、前記動作フィールドを撮影する画像入力手段と、前記入力画像を処理して各ロボット装置の位置及び方向に関する情報を取得する画像処理手段を備える、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項3】
前記動作フィールド上の各ロボット装置の配役が決められ、
前記統括制御手段は、配役毎に決められているロボット装置の動作計画の集合をシナリオとして管理する、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項4】
配役毎のロボット装置の動作計画は、該当するロボット装置に対する1以上の指示動作を時間軸上に配置して構成され、
前記統括制御手段は、各配役の動作計画の実行を同じ時間軸上で管理する、
ことを特徴とする請求項3に記載のロボット装置の制御システム。
【請求項5】
前記統括制御手段は、2以上のシナリオを時間軸上に連結し、マルチロボットによる1つのパフォーマンスとして管理する、
ことを特徴とする請求項3に記載のロボット装置の制御システム。
【請求項6】
前記統括制御手段は、各シナリオにおいて異常事態の発生により続行が困難又は不可能となった場合に備えて、代替的に実行される予備シナリオを用意する、
ことを特徴とする請求項5に記載のロボット装置の制御システム。
【請求項7】
前記統括制御手段は、実行不能となった後続の1以上のシナリオをスキップし、元のシナリオの連結に復帰するために予備シナリオを利用する、
ことを特徴とする請求項6に記載のロボット装置の制御システム。
【請求項8】
前記統括制御手段は、パフォーマンスを完結できない異常事態が発生したときに、実行不能となった後続のすべてのシナリオに代えて、パフォーマンスを完結させるために予備シナリオを利用する、
ことを特徴とする請求項6に記載のロボット装置の制御システム。
【請求項9】
前記統括制御手段は、ある1つのシナリオにおいて異常事態が発生した場面に応じた予備シナリオを利用する、
ことを特徴とする請求項6に記載のロボット装置の制御システム。
【請求項10】
前記統括制御手段は、前記動作フィールド上の各ロボット装置との時刻同期を獲得する同期獲得手段を備え、各配役のロボット装置がそれぞれの動作計画を該時刻に合わせて同期協調的に実行するように制御する、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項11】
前記統括制御手段は、前記監視手段により得られた各ロボット装置の位置及び方向に関する情報を基に、前記動作フィールド上での各ロボット装置の位置及び方向を画面表示する現在状態表示手段を備える、
ことを特徴とする請求項2に記載のロボット装置の制御システム。
【請求項12】
前記現在状態表示手段は、各ロボット装置の動作計画上の目標位置及び方向と前記監視手段により得られた現実の位置及び方向の偏差を提示する、
ことを特徴とする請求項11に記載のロボット装置の制御システム。
【請求項13】
前記統括制御手段は、前記動作フィールド上の各ロボット装置の転倒領域を算出する転倒領域算出手段と、各ロボット装置の最大可動範囲を算出する最大可動範囲算出手段と、該算出された各ロボット装置の転倒領域又は最大可動範囲の重なりをロボット装置間の干渉領域として画面表示する干渉領域表示手段とを備える、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項14】
各ロボット装置は1以上の転倒動作を備え、
前記統括制御手段は、前記干渉領域を転倒領域に持ち若しくは前記干渉領域を転倒方向とする転倒動作の使用を禁止する、
ことを特徴とする請求項13に記載のロボット装置の制御システム。
【請求項15】
前記統括制御手段は、過去に行なったロボット装置の動作に基づいて当該ロボットの運動特性を算出し、将来行なう動作計画を実行したときの計画値との偏差を当該ロボット装置の運動特性に基づいて予測する偏差予測手段を備える、
ことを特徴とする請求項2に記載のロボット装置の制御システム。
【請求項16】
前記偏差予測手段は、過去一定期間ts〜tm1にモーションを実行したときに生じた誤差を観測する手段と、過去一定期間ts〜tm1に実行したモーションを要素運動毎に分割し要素運動毎に生じる誤差を推定する手段と、以後tm2〜teに至るまでの期間に実行するモーションを要素運動に分割し、これらの要素運動が持つ推定誤差を合計することにより、時刻teにおける位置及び方向の目標値との偏差を推定する手段とを備える、
ことを特徴とする請求項15に記載のロボット装置の制御システム。
【請求項17】
前記統括制御手段は、前記予測された偏差を画面表示する偏差予測表示手段を備える、
ことを特徴とする請求項15に記載のロボット装置の制御システム。
【請求項18】
前記統括制御手段は、ロボット装置の前記動作フィールド上での軌道を表示する軌道表示手段を備える、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項19】
前記軌道表示手段は、Z軸を時間軸においた歩の軌道表示を行なう、
ことを特徴とする請求項18に記載のロボット装置の制御システム。
【請求項20】
前記統括制御手段は、各ロボット装置の動作計画上の目標位置及び方向と前記監視手段により得られた現実の位置及び方向の偏差を補正する位置方向補正手段を備える、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項21】
前記位置方向補正手段は、動作計画を実行中のロボット装置の位置又は方向の誤差を当該動作計画内の既存の歩を用いて補正する補正計画手段を備える、
ことを特徴とする請求項20に記載のロボット装置の制御システム。
【請求項22】
前記位置方向補正手段は、ロボット装置が動作計画を実行していない場面を利用して、新たな1つ以上の歩を生成して位置方向の偏差を修正する移動計画手段を備える、
ことを特徴とする請求項20に記載のロボット装置の制御システム。
【請求項23】
前記統括制御手段は、複数のロボットが前記動作フィールドでシナリオを実行するマルチロボット環境下において、異常の程度に応じた異常状態を定義し、各異常状態に陥ったときに適当な修復処理を行なう異常処理手段を備える、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項24】
前記異常処理手段は、1体のロボット装置だけで異常処理が完結する第1の異常状態において、当該ロボット装置についての異常処理を実行する、
ことを特徴とする請求項23に記載のロボット装置の制御システム。
【請求項25】
前記異常処理手段は、前記マルチロボット全体に対して異常処理が必要な第2の状態において、前記動作フィールド内で動作するロボット装置間で配役の交代、前記動作フィールド内又は外で待機する予備ロボットの前記動作フィールドへの投入、又は前記マルチロボットにおけるフォーメーションの修正を行なう、
ことを特徴とする請求項23に記載のロボット装置の制御システム。
【請求項26】
前記異常処理手段は、シナリオの一部が続行不可能となる第3の異常状態において、前記マルチロボットにおける全体フォーメーションの修正を行なう、
ことを特徴とする請求項23に記載のロボット装置の制御システム。
【請求項27】
前記異常処理手段は、シナリオ全体が続行不可能な第4の異常状態において、シナリオの続行を停止する、
ことを特徴とする請求項23に記載のロボット装置の制御システム。
【請求項28】
前記動作フィールド内又は外で待機する予備ロボットをさらに備え、
前記統括制御手段は、前記予備ロボットの前記動作フィールドへの投入を制御する、
ことを特徴とする請求項1に記載のロボット装置の制御システム。
【請求項29】
特定の動作フィールド上で動作する1以上のロボット装置の制御方法において、
前記動作フィールド上の各ロボット装置の位置及び方向を監視する監視ステップと、
各ロボット装置との通信ステップと、
前記監視ステップにおける監視結果並びに各ロボット装置から通信により取得されるロボット装置の状態情報に基づいて、各ロボット装置による同期協調的な動作を制御する統括制御ステップと、
を具備することを特徴とするロボット装置の制御方法。
【請求項30】
前記監視ステップは、前記動作フィールドを撮影する画像入力ステップと、前記入力画像を処理して各ロボット装置の位置及び方向に関する情報を取得する画像処理ステップを備える、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項31】
前記動作フィールド上の各ロボット装置の配役が決められ、
前記統括制御ステップでは、配役毎に決められているロボット装置の動作計画の集合をシナリオとして管理する、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項32】
配役毎のロボット装置の動作計画は、該当するロボット装置に対する1以上の指示動作を時間軸上に配置して構成され、
前記統括制御ステップでは、各配役の動作計画の実行を同じ時間軸上で管理する、
ことを特徴とする請求項31に記載のロボット装置の制御方法。
【請求項33】
前記統括制御ステップでは、2以上のシナリオを時間軸上に連結し、マルチロボットによる1つのパフォーマンスとして管理する、
ことを特徴とする請求項31に記載のロボット装置の制御方法。
【請求項34】
前記統括制御ステップでは、各シナリオにおいて異常事態の発生により続行が困難又は不可能となった場合に備えて、代替的に実行される予備シナリオを用意する、
ことを特徴とする請求項33に記載のロボット装置の制御方法。
【請求項35】
前記統括制御ステップでは、実行不能となった後続の1以上のシナリオをスキップし、元のシナリオ連結に復帰するために予備シナリオを利用する、
ことを特徴とする請求項34に記載のロボット装置の制御方法。
【請求項36】
前記統括制御ステップでは、パフォーマンスを完結できない異常事態が発生したときに、実行不能となった後続のすべてのシナリオに代えて、パフォーマンスを完結させるために予備シナリオを利用する、
ことを特徴とする請求項34に記載のロボット装置の制御方法。
【請求項37】
前記統括制御ステップでは、ある1つのシナリオにおいて異常事態が発生した場面に応じた予備シナリオを利用する、
ことを特徴とする請求項34に記載のロボット装置の制御方法。
【請求項38】
前記統括制御ステップでは、前記動作フィールド上の各ロボット装置との時刻同期を獲得し、各配役のロボット装置がそれぞれの動作計画を該時刻に合わせて同期協調的に実行するように制御する、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項39】
前記統括制御ステップは、前記監視手段により得られた各ロボット装置の位置及び方向に関する情報を基に、前記動作フィールド上での各ロボット装置の位置及び方向を画面表示する現在状態表示ステップを備える、
ことを特徴とする請求項30に記載のロボット装置の制御方法。
【請求項40】
前記現在状態表示ステップでは、各ロボット装置の動作計画上の目標位置及び方向と前記監視ステップにおいて得られた現実の位置及び方向の偏差を提示する、
ことを特徴とする請求項39に記載のロボット装置の制御方法。
【請求項41】
前記統括制御ステップは、前記動作フィールド上の各ロボット装置の転倒領域を算出する転倒領域算出ステップと、各ロボット装置の最大可動範囲を算出する最大可動範囲算出ステップと、該算出された各ロボット装置の転倒領域又は最大可動範囲の重なりをロボット装置間の干渉領域として画面表示する干渉領域表示ステップとを備える、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項42】
各ロボット装置は1以上の転倒動作を備え、
前記統括制御ステップでは、前記干渉領域を転倒領域に持ち若しくは前記干渉領域を転倒方向とする転倒動作の使用を禁止する、
ことを特徴とする請求項41に記載のロボット装置の制御方法。
【請求項43】
前記統括制御ステップは、過去に行なったロボット装置の動作に基づいて当該ロボットの運動特性を算出し、将来行なう動作計画を実行したときの計画値との偏差を当該ロボット装置の運動特性に基づいて予測する偏差予測ステップを備える、
ことを特徴とする請求項30に記載のロボット装置の制御方法。
【請求項44】
前記偏差予測ステップは、過去一定期間ts〜tmにモーションを実行したときに生じた誤差を観測するとともに、過去一定期間ts〜tmに実行したモーションを要素運動毎に分割し要素運動毎に生じる誤差を推定し、以後tm〜teに至るまでの期間に実行するモーションを要素運動に分割し、これらの要素運動が持つ推定誤差を合計することにより、時刻teにおける位置及び方向の目標値との偏差を推定する、
ことを特徴とする請求項43に記載のロボット装置の制御方法。
【請求項45】
前記予測された偏差を画面表示する偏差予測表示ステップを備える、
ことを特徴とする請求項43に記載のロボット装置の制御方法。
【請求項46】
ロボット装置の前記動作フィールド上での軌道を表示する軌道表示ステップをさらに備える、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項47】
前記軌道表示ステップでは、Z軸を時間軸においた歩の軌道表示を行なう、
ことを特徴とする請求項46に記載のロボット装置の制御方法。
【請求項48】
各ロボット装置の動作計画上の目標位置及び方向と前記監視ステップにおいて得られた現実の位置及び方向の偏差を補正する位置方向補正ステップをさらに備える、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項49】
前記位置方向補正ステップでは、動作計画を実行中のロボット装置の位置又は方向の誤差を当該動作計画内の既存の歩を用いて補正する補正計画を立てる、
ことを特徴とする請求項48に記載のロボット装置の制御方法。
【請求項50】
前記位置方向補正ステップでは、ロボット装置が動作計画を実行していない場面を利用して、新たな1つ以上の歩を生成して位置方向の偏差を修正する移動計画を立てる、
ことを特徴とする請求項48に記載のロボット装置の制御方法。
【請求項51】
複数のロボットが前記動作フィールドでシナリオを実行するマルチロボット環境下において、異常の程度に応じて定義される各異常状態に陥ったときに適当な修復処理を行なう異常処理ステップを備える、
ことを特徴とする請求項29に記載のロボット装置の制御方法。
【請求項52】
前記異常処理ステップでは、1体のロボット装置だけで異常処理が完結する第1の異常状態において、当該ロボット装置についての異常処理を実行する、
ことを特徴とする請求項51に記載のロボット装置の制御方法。
【請求項53】
前記異常処理ステップでは、前記マルチロボット全体に対して異常処理が必要な第2の状態において、前記動作フィールド内で動作するロボット装置間で配役の交代、前記動作フィールド内又は外で待機する予備ロボットの前記動作フィールドへの投入、又は前記マルチロボットにおけるフォーメーションの修正を行なう、
ことを特徴とする請求項51に記載のロボット装置の制御方法。
【請求項54】
前記異常処理ステップでは、シナリオの一部が続行不可能となる第3の異常状態において、前記マルチロボットにおける全体フォーメーションの修正を行なう、
ことを特徴とする請求項51に記載のロボット装置の制御方法。
【請求項55】
前記異常処理ステップでは、シナリオ全体が続行不可能な第4の異常状態において、シナリオの続行を停止する、
ことを特徴とする請求項51に記載のロボット装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2006−954(P2006−954A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−178894(P2004−178894)
【出願日】平成16年6月16日(2004.6.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【出願人】(599133381)
【Fターム(参考)】