(57)【特許請求の範囲】
【請求項１】
ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御システムであって、
各ロボットは、前記監視結果を用いて自機のモーションの遅延又は進み状況を把握する状況把握手段と、
前記状況把握手段で把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定手段と、
前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定手段と、
決定した取り繕いモーションに基づいて自機の修正モーションを再生する修正モーション再生手段と、
を含むことを特徴とするロボット制御システム。
【請求項２】
前記取り繕いモーション決定手段は、自機の現状のメカニカルの位置と、予め持っているメカニカルのモーションの限界性能との比較を行い、修正しようとするモーションがメカニカル性能の限界値内であった場合に、モーションに関していくつかの取り得る選択肢を出すと共に、予め定められたルールに基づいてそれらの選択肢の評価を行ない、最も評価の高いモーションを取り繕いモーションとして決定することを特徴とする請求項１に記載のロボット制御システム。
【請求項３】
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握手段が、スタートを指示された時刻、スクリプトに記載されている時間と、実際の駆動状況との差異を確認することで自機のモーションの遅延又は進み状況を把握することを特徴とする請求項１又は２に記載のロボット制御システム。
【請求項４】
前記複数のロボットがネットワークを介してサーバに接続された構成を有し、
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握手段がスクリプトの処理状況を前記ネットワーク経由で前記サーバに送信する一方、該サーバはそのスクリプトの処理状況を監視して前記状況把握手段に対して遅延又は進み状況を通知することで前記状況把握手段が自機のモーションの遅延又は進み状況を把握することを特徴とする請求項１又は２に記載のロボット制御システム。
【請求項５】
前記複数のロボットがネットワークを介してサーバに接続された構成を有し、
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記複数台のロボット全体をカメラで監視し、監視結果からロボット毎に他のロボット或いは、基準とする時間からの遅延又は進み時間を把握する監視手段を備え、
該監視手段から遅延又は進み時間を対応するロボットの前記状況把握手段に前記サーバ経由で通知することを特徴とする請求項１又は２に記載のロボット制御システム。
【請求項６】
ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御方法であって、
各ロボットは、前記監視結果により自機のモーションの遅延又は進み状況を把握する状況把握ステップと、
前記状況把握ステップで把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定ステップと、
前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定ステップと、
決定した取り繕いモーションに基づいて自機の修正モーションを再生する修正モーション再生ステップと、
を実行することを特徴とするロボット制御方法。
【請求項７】
前記取り繕いモーション決定ステップでは、自機の現状のメカニカルの位置と、予め持っているメカニカルのモーションの限界性能との比較を行い、修正しようとするモーションがメカニカル性能の限界値内であった場合に、モーションに関していくつかの取り得る選択肢を出すと共に、予め定められたルールに基づいてそれらの選択肢の評価を行ない、最も評価の高いモーションを取り繕いモーションとして決定することを特徴とする請求項６に記載のロボット制御方法。
【請求項８】
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握ステップにおいて、スタートを指示された時刻、スクリプトに記載されている時間と、実際の駆動状況との差異を確認することで自機のモーションの遅延又は進み状況を把握することを特徴とする請求項６又は７に記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のロボットが集団で連携動作するロボットシステムに関し、特にその制御システム及び制御方法に関する。
【背景技術】
【０００２】
複数台のロボットを集団で連携動作させることによりダンスのようなサービスを提供するロボットシステムが提供されている（特許文献１）。この種のロボットシステムは、複数台のロボットを協調的に動作させて全体としてある特定のサービスを提供する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−９５４
【特許文献２】特開２００９−１９６０４７
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、集団で連携動作をする複数台のロボットに連携動作をさせようとする場合、動作開始時や動作中に遅延等のバラツキが生じることは避けられない。それは、この種のロボットは、ファンクションが多岐にわたることが多く、また、追加機能などが求められるため、汎用性の高いプラットフォームソフトウェアが使われ、リアルタイムな制御だけに特化できないことによる。そのため、遅延の原因が一定ではなく、事前に調整などができないことから、動作中において修正制御が必要となる。
【０００５】
ロボットの同期を目的とした同期制御の例として、複数の発光手段を有する基準ロボットと演奏ロボットとの同期をとるようにした同期制御方法が提供されている（特許文献２）。
【０００６】
しかし、特許文献２の同期制御方法では、１台以上の演奏ロボットとは別に演奏とは無関係の基準ロボットを備える必要がある。これは、基準ロボットが１台以上の演奏ロボットから逐次動作情報を受け取って自身の持つ基準値と比較し、遅延時間を計算して通知する必要があるからである。
【０００７】
特許文献２の同期制御方法ではまた、演奏ロボットであることから、演奏のタイミングに重きがおかれ、ロボットの動きについては考慮されていない。
【０００８】
本発明の課題は、複数台のロボットを集団で連携動作させるロボットシステムにおいて、１台以上のロボットに遅延または進みが生じた場合に、そのロボットにできるだけ見た目に違和感を生じさせることなくモーションの修正を行わせることができるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明に係るロボット制御システムは、複数台のロボットを集団で連携動作させるに際し、各ロボットにおいて遅延又は進み状態を認識し、修正が必要と認識したロボットは、取り繕いモーション決定部において、見た目に違和感がなく、且つ、取り繕いモーション再生後に同期が取れるモーションを実行できるようにしたものである。取り繕いモーションというのは、繰返しの省略、動作量の削減、カウントを取るようなモーションの追加、近似的なモーションへの差し替え等である。
【００１０】
本発明の態様によれば、ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御システムであって、各ロボットは、前記監視結果を用いて自機のモーションの遅延又は進み状況を把握する状況把握手段と、前記状況把握手段で把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定手段と、前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定手段と、決定した取り繕いモーションを受けて自機の修正モーションを再生する修正モーション再生手段と、含むことを特徴とするロボット制御システムが提供される。
【００１１】
本発明の別の態様によれば、ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御方法であって、各ロボットは、前記監視結果により自機のモーションの遅延又は進み状況を把握する状況把握ステップと、前記状況把握ステップで把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定ステップと、前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定ステップと、決定した取り繕いモーションを受けて自機の修正モーションを再生する修正モーション再生ステップと、を実行することを特徴とするロボット制御方法が提供される。
【発明の効果】
【００１２】
本発明によるロボット制御システムは、人に動作を見せる（ダンスや演技など）ことを目的とする、いわゆるサービスロボットを複数台、集団で連携動作させるに際し、想定した動作と比較して一部のロボットが遅延したり早く動きすぎたりした場合に、できるだけ見た目に違和感がないようにモーションを修正し同期させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例に係るロボット制御システム全体の概略構成を示した図である。
【図２】図１に示されたロボット内部の処理の流れを機能ブロックで表した図である。
【図３】図２に示された取り繕いモーション決定部の機能動作を説明するためのフローチャート図である。
【図４】図１に示されたロボットの動作軌跡と遅延動作の修正について説明するための図である。
【発明を実施するための形態】
【００１４】
はじめに、図１、図２を参照して本発明の実施例の概略を説明する。
【００１５】
図１は本発明の実施例に係るロボット制御システム全体の概略構成を示した図である。複数台のロボット１１、１２、１３、・・・が、アクセスポイント２０を介して無線LAN等のネットワークで接続されている。サーバ３０は、アクセスポイント２０を通して各ロボットに対してスタート、ストップなどの動作指示を出す。ロボットは、集団でダンスや演技、音楽の演奏等のサービスを提供するロボットであって、特にモーションに重きを置くロボットであれば何でも良く、ここでは首や足などがサーボモータなどを駆動源とする駆動機構によって動くように駆動されるものが使用される。ロボットはまた、ハードディスクなどの記憶装置に、動作実行のために必要なファイルを保持している。
【００１６】
図２はロボット内部の処理の流れを機能ブロックで表している。遅延状況把握部１でロボット（自機）のモーションの遅延状況を把握し、把握された状況についてモーションの修正が必要かどうかを修正可否決定部２で判断する。なお、遅延状況把握部１は、遅延状況だけでなく進み状況を把握する機能も有するが、便宜上、遅延状況把握部と呼んでいる。また、修正可否決定部２は、予め決められている閾値に基づいてモーションの修正が必要であるかの判断を行なう。修正可否決定部２は、モーションの修正が必要であると判断した場合には、その旨を取り繕いモーション決定部３に通知する。通知を受けた取り繕いモーション決定部３は、ロボット（自機）に動作させるモーションについていくつかのモーションを選択し所定の評価を行なったうえで取り繕いモーションを決定し、決定した取り繕いモーションを修正モーションとしてロボット（自機）に実行させるための動作情報を修正モーション再生部４に出力する。修正モーション再生部４では、ロボット（自機）で実行中のモーションに修正モーションを割り込ませて実行させる。
【００１７】
次に、本発明の実施例に係るロボット制御システムについて詳細に説明する。
【００１８】
図１において、前述したように、複数台のロボット１１、１２、１３、・・・が、アクセスポイント２０を介して無線LAN等のネットワークで接続されており、サーバ３０より各ロボットに対して、スタート、ストップなどの動作指示を出す。スタートの指示を受けた各ロボットは、記憶装置に保持され動作が記載されたファイルを再生させて動作を実行する。この種のファイルは、スクリプト等で記載されており、ロボットのメカニカルのファームウェアに対して、絶対、相対などの位置、加速度などを指定し駆動機構を駆動するためのファイルである。なお、この動作が記載されたスクリプト等のファイルは、本実施例ではスタート前からロボット内にあるが、スタートに際してネットワーク経由で各ロボットに配信されてもよい。
【００１９】
ロボットのモーションに遅延、進みのいずれが生じた場合でも制御動作は同様であるので、以下ではモーションに遅延が生じた場合についてのみ説明する。
【００２０】
図２において、まず、遅延状況把握部１が、他のロボット或いは、基準とする時間からの遅延時間を把握する。その手段は、例えば、遅延状況把握部１がスクリプトの処理状況をネットワーク経由でサーバ３０に送信し、サーバ３０側で各ロボット１１、１２、１３、・・・のスクリプトの処理状況を監視して各ロボットにモーションの遅延状況を通知し、遅延状況を遅延状況把握部１で受信することで実現できる。或いは、遅延状況把握部１が、スタートを指示された時刻、スクリプトに記載されている時間と、実際のサーボモータの駆動状況などとの差異を確認することで実現することができる。このように、遅延状況把握部１に遅延時間把握のための情報を提供する手段は、ロボットの外部、内部のいずれに配置されていても良い。
【００２１】
遅延状況把握部１において自機の遅延状況が把握されると、これを受けた修正可否決定部２では遅延を修正するかどうかを判断する。この判断は、例えば、遅延時間が０．５m/secを超えたら修正実行を決定するなど、修正可否決定部２において予め判断のための閾値を設定しておく。この閾値は、遅延状況把握部１において各動作のパート、パートで指示するようにしてもよい。
【００２２】
修正可否決定部２は、動作を修正することを決定したら、その旨を取り繕いモーション決定部３に通知する。この通知を受けた取り繕いモーション決定部３は、動作の修正時に再生するモーションを決定する。この動作を、図３を参照して詳しく説明する。
【００２３】
図３において、取り繕いモーション決定部３は、事前に動作スクリプト上に記載された次の待ち合わせポイントを検索する(ステップＳ１)。待ち合わせポイントというのは、すべてのロボット１１、１２、１３、・・・がそこで動作を合わせられるように予め決められている時間情報である。これは、動作スクリプトの中に埋め込まれており、エディタで動作スクリプトを記載する際に入力する。或いは、ロボットが正面に向いた場合などに自動的に記載されてもよい。その場合、近い時間で待ち合わせポイントが出現するような場合は、１回おきにするなど、ある程度の間隔を持って記載される。このようにして、取り繕いモーション決定部３は、待ち合わせポイントに関連する位置を把握する。
【００２４】
次に、取り繕いモーション決定部３は、現状のメカニカルの位置(実際のメカニカルの位置或いは、スクリプト上で想定される位置でも良い)と、予め持っているメカニカルのモーションの限界性能との比較を行い（ステップＳ２）、修正しようとするモーションがメカニカル性能の限界値を超える場合は、次の待ち合わせポイントの検索を行う(ステップＳ３、Ｓ４)。取り繕いモーション決定部３は、これをメカニカルの限界値におさまるまで繰返し行う。ステップＳ２において、移動がメカニカル性能の限界値内であった場合、取り繕いモーション決定部３は、現状のメカニカル位置を考慮して取り得るモーションの選択を行う（ステップＳ５）。例えば、図４に示されるように、単純に、待ち合わせポイントまでダイレクトに移動させる場合、或いは、動作スクリプトを解析し、繰返し動作であった場合は、出来る限り繰返し動作を行う（繰返し動作の判別については、エディタで事前に入力されている場合や、パターンマッチングを行う方法がある）。
【００２５】
図４のような動きであれば、全体の振幅を縮小する場合や、全体の速度をあげる場合、頻繁に起こりうる遅延に関しては、予め遅延対策用に作成されたモーションへの置き換えをする場合、また、進みすぎている場合は、待ち合わせポイントで静止したり、カウントをとるように頭を上下したり、腕があれば、腕でカウントをとる動きなどがありうる。この時、現在の動作中のモーションとの整合が必要であり、メカニカルの性能の範囲内のものを選ぶ。
【００２６】
取り繕いモーション決定部３は、現状のメカニカル位置を考慮したうえで、モーションに関していくつかの取り得る選択肢を出し、いくつかの選択肢が出たらそれらを評価する（ステップＳ６)。取り得る選択肢としては、例えば、止まる／２回を１回にする／途中で折り返す／カウントを取る／動かずに掛け声を出す、などが挙げられる。また、評価の選択プロセスとして、ルールを生成する、テンプレートマッチングによって良いモーションとのパターンマッチングを行なう、などを採用することができる。いずれにしても、上記の評価は、予めプログラムされたルールに基づいて行われる。評価の形態としては、例えば、細かく左右に首を振るような動きの場合は、１回程度の省略は目立たないため、その動作を高評価とする。大きく、長い動作の場合、全体の速度の向上する動作を高評価とする。待ち合わせポイントまで、複合されたパターンの動作が混在している場合、見た目が悪くならない箇所(長い大きい動作箇所で速度をあげるなど)で修正しているモーションを高評価とする。或いは、選択されたモーション群と、正常時のモーションとのパターンマッチングを行い、スコアを付けるという方法もある。
【００２７】
取り繕いモーション決定部３は、モーションを評価したら、最も評価の高いモーションを決定し（ステップＳ７）、修正モーション再生部４（図２）に送る。修正モーション再生部４では、受け取った修正モーションを既存の動作スクリプトに上書きし、修正モーションを再生させる。
【００２８】
（実施例の効果）
上記実施例によれば以下の効果が得られる。
【００２９】
第１の効果は、複数台のロボットの連携動作を同期状態に修正することで、複数台のロボットにより、ある特定のサービスを提供するロボットシステムにおいて、正常な連携動作を実現することができる。
【００３０】
第２の効果は、取り繕いモーション決定部において取り得るモーションの選択と評価を行ないながら取り繕いモーションを決定することにより、複数台のロボットを正常に連携動作させるだけでなく、見る側にとって違和感の少ない形でモーションの修正を実現することができる。
【００３１】
（他の実施例）
本発明は、上記の実施例に限定されず、以下のような形態が可能である。
【００３２】
１．複数台のロボット全体を１台の俯瞰カメラで監視し、監視結果からロボット毎に他のロボット或いは、基準とする時間からの遅延（進み）時間を把握する監視装置を監視手段として設け、遅延（進み）時間を対応するロボットの遅延状況把握部１にサーバ３０経由で通知するようにしても良い。
【００３３】
２．音楽がないダンスなど、動作の基準が特に指定されない場合の３台以上の集団動作について、仮に遅延が発生したとしても、複数台のうちの多数のロボットが同様に遅延していた場合には、遅延している多数のロボットの動作に、遅延していない少数のロボットの動作を合わせる。つまり、サーバ３０側で多数決により修正すべきロボットを選択するようにしても良い。
【００３４】
上記の実施例の一部又は全部は、以下のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。
【００３５】
［付記１］
ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御システムであって、
各ロボットは、前記監視結果を用いて自機のモーションの遅延又は進み状況を把握する状況把握手段と、
前記状況把握手段で把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定手段と、
前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定手段と、
決定した取り繕いモーションを受けて自機の修正モーションを再生する修正モーション再生手段と、
を含むことを特徴とするロボット制御システム。
【００３６】
［付記２］
前記取り繕いモーション決定手段は、自機の現状のメカニカルの位置と、予め持っているメカニカルのモーションの限界性能との比較を行い、修正しようとするモーションがメカニカル性能の限界値内であった場合に、取り得るモーションの選択を行うことを特徴とする付記１に記載のロボット制御システム。
【００３７】
［付記３］
前記取り繕いモーション決定手段は、前記取り得るモーションに関していくつかの取り得る選択肢を出すと共に、予め定められたルールに基づいてそれらの選択肢の評価を行ない、最も評価の高いモーションを取り繕いモーションとして決定することを特徴とする付記２に記載のロボット制御システム。
【００３８】
［付記４］
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握手段が、スタートを指示された時刻、スクリプトに記載されている時間と、実際の駆動状況との差異を確認することで自機のモーションの遅延又は進み状況を把握することを特徴とする付記１〜３のいずれかに記載のロボット制御システム。
【００３９】
［付記５］
前記複数のロボットがネットワークを介してサーバに接続された構成を有し、
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握手段がスクリプトの処理状況を前記ネットワーク経由で前記サーバに送信する一方、該サーバはそのスクリプトの処理状況を監視して前記状況把握手段に対して遅延又は進み状況を通知することで前記状況把握手段が自機のモーションの遅延又は進み状況を把握することを特徴とする付記１〜３のいずれかに記載のロボット制御システム。
【００４０】
［付記６］
前記複数のロボットがネットワークを介してサーバに接続された構成を有し、
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記複数台のロボット全体をカメラで監視し、監視結果からロボット毎に他のロボット或いは、基準とする時間からの遅延又は進み時間を把握する監視手段を備え、
該監視手段から遅延又は進み時間を対応するロボットの前記状況把握手段に前記サーバ経由で通知することを特徴とする付記１〜３のいずれかに記載のロボット制御システム。
【００４１】
［付記７］
ロボットのモーションについて遅延又は進み状況を監視し、該監視結果に基づいて複数のロボットを集団で連携動作するように制御するロボット制御方法であって、
各ロボットは、前記監視結果により自機のモーションの遅延又は進み状況を把握する状況把握ステップと、
前記状況把握ステップで把握された遅延または進み状況からモーション修正の可否を決定する修正可否決定ステップと、
前記修正が決定されると、取り得るモーションの選択と評価を行いながら最も評価の高いモーションを取り繕いモーションとして決定する取り繕いモーション決定ステップと、
決定した取り繕いモーションを受けて自機の修正モーションを再生する修正モーション再生ステップと、
を実行することを特徴とするロボット制御方法。
【００４２】
［付記８］
前記取り繕いモーション決定ステップでは、自機の現状のメカニカルの位置と、予め持っているメカニカルの限界性能との比較を行い、修正しようとするモーションがメカニカル性能の限界値内であった場合に、取り得るモーションの選択を行うことを特徴とする付記７に記載のロボット制御方法。
【００４３】
［付記９］
前記取り繕いモーション決定ステップでは、前記取り得るモーションに関していくつかの取り得る選択肢を出すと共に、予め定められたルールに基づいてそれらの選択肢の評価を行ない、最も評価の高いモーションを取り繕いモーションとして決定することを特徴とする付記８に記載のロボット制御方法。
【００４４】
［付記１０］
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握ステップにおいて、スタートを指示された時刻、スクリプトに記載されている時間と、実際の駆動状況との差異を確認することで自機のモーションの遅延又は進み状況を把握することを特徴とする付記７〜９のいずれかに記載のロボット制御方法。
【００４５】
［付記１１］
前記複数のロボットがネットワークを介してサーバに接続された構成を有し、
各ロボットは、記憶装置に保持されスクリプトで記載されたファイルを再生させて動作を実行するものであり、
前記状況把握ステップにおいてスクリプトの処理状況を前記ネットワーク経由で前記サーバに送信する一方、該サーバはそのスクリプトの処理状況を監視して対応するロボットに対して遅延又は進み状況を通知することで該通知を受けたロボットにおいて自機のモーションの遅延又は進み状況を把握することを特徴とする付記７〜９のいずれかに記載のロボット制御方法。
【産業上の利用可能性】
【００４６】
１．複数台のサービスロボットにより集団でダンス、演技等を実行するロボットシステム。
【００４７】
２．複数台のサービスロボットにより集団で人との対話を実行するロボットシステム。
【符号の説明】
【００４８】
１１，１２，１３    ロボット
２０    アクセスポイント
３０    サーバ
【図１】
0005505652.tif 000002
【図２】
0005505652.tif 000003
【図３】
0005505652.tif 000004
【図４】
0005505652.tif 000005