(57)【要約】【課題】協調行動の開始タイミングを合わせることができるようにする。【解決手段】パーソナルコンピュータ６は、協調行動の開始タイミングを合わせるためのコマンドを含む同期パケットを、ＵＤＰで、各ロボット５にブロードキャストする。パーソナルコンピュータ６はまた、同期パケットの受信を問い合わせるための通信パケットを、ＴＣＰで、各ロボットにユニキャストする。協調行動の開始タイミングを合わせるために必要な同期パケットを、ＵＤＰで各ロボットにブロードキャストし、各ロボット５が、その同期パケットを同時に受信することができるようにしたので、各ロボット５の協調行動の開始タイミングを正確に合わせることができる。【選択図】      図２
2004304714.tif 000002
【特許請求の範囲】
【請求項１】
無線で互いに接続される、協調処理を行う処理装置、および前記協調処理を制御する制御装置からなる情報処理システムにおいて、
前記制御装置は、
前記協調処理を前記処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、前記処理装置に送信する同期情報送信手段と、
前記同期情報受信の有無を通知させる指令を、コネクション型通信で、前記処理装置に送信する通知指令送信手段と、
前記処理装置の前記同期情報受信の有無に応じて、前記協調行動を開始させる指令を、前記コネクション型通信で、前記処理装置に送信する開始指令送信手段と
を備え、
前記処理装置は、
前記同期情報を受信するとともに、前記同期情報に指定された待ち時間の計測を開始する計測手段と、
前記制御装置の前記通知指令送信手段により、前記同期情報受信の有無を通知させる指令が送信されたとき、前記同期情報受信の有無を、前記制御装置に通知する通知手段と、
前記制御装置の前記開始指令送信手段により、前記協調行動を開始させる指令が送信された場合、前記待ち時間を経過した時点で、前記協調行動を開始する協調行動開始手段と
を備えることを特徴とする情報処理システム。
【請求項２】
前記制御装置の前記開始指令送信手段は、前記処理装置の前記同期情報受信の有無に応じて、前記協調行動の開始を中止させる指令を、前記コネクション型通信で、前記処理装置に送信し、
前記処理装置の協調行動開始手段は、前記制御装置の前記開始指令送信手段により、前記協調行動の開始を中止させる指令が送信されたとき、前記協調行動の開始を中止する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記制御装置は、
前記同期情報送信手段により前記同期情報が送信されたとき、前記同期情報に指定された前記待ち時間の計測を開始し、
前記開始指令送信手段により、前記協調行動を開始する指令が送信された場合、前記待ち時間を経過した時点で、自分自身が前記協調行動を開始する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
無線で互いに接続される、協調処理を行う処理装置、および前記協調処理を制御する制御装置からなる情報処理システムの情報処理方法において、
前記制御装置において前記協調処理を前記処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、前記処理装置に送信する同期情報送信ステップと、
前記制御装置において前記同期情報受信の有無を通知させる指令を、コネクション型通信で、前記処理装置に送信する通知指令送信ステップと、
前記処理装置において前記同期情報を受信するとともに、前記同期情報に指定された待ち時間の計測を開始する計測ステップと、
前記処理装置において前記制御装置の前記通知指令送信ステップの処理で、前記同期情報受信の有無を通知させる指令が送信されたとき、前記同期情報受信の有無を、前記制御装置に通知する通知ステップと、
前記制御装置において前記処理装置の前記同期情報受信の有無に応じて、前記協調行動を開始させる指令を、前記コネクション型通信で、前記処理装置に送信する開始指令送信ステップと、
前記処理装置において前記制御装置の前記開始指令送信ステップの処理で、前記協調行動を開始させる指令が送信された場合、前記待ち時間を経過した時点で、前記協調行動を開始する協調行動開始ステップと
を含むことを特徴とする情報処理システム。
【請求項５】
処理装置と無線で接続され、前記処理装置に協調処理を行わせる情報処理装置において、
前記協調処理を前記処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、前記処理装置に送信する同期情報送信手段と、
前記同期情報受信の有無を通知させる指令を、コネクション型通信で、前記処理装置に送信する通知指令送信手段と、
前記処理装置の前記同期情報受信の有無に応じて、前記協調行動を開始させる指令を、前記コネクション型通信で、前記処理装置に送信する開始指令送信手段と
を備えることを特徴とする情報処理装置。
【請求項６】
前記開始指令送信手段は、前記処理装置の前記同期情報受信の有無に応じて、前記協調行動の開始を中止させる指令を、前記コネクション型通信で、前記処理装置に送信する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
処理装置と無線で接続され、前記処理装置に協調処理を行わせる情報処理方法において、
前記協調処理を前記処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、前記処理装置に送信する同期情報送信ステップと、
前記同期情報受信の有無を通知させる指令を、コネクション型通信で、前記処理装置に送信する通知指令送信ステップと、
前記処理装置の前記同期情報受信の有無に応じて、前記協調行動を開始させる指令を、前記コネクション型通信で、前記処理装置に送信する開始指令送信ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
処理装置と無線で接続され、前記処理装置に協調処理を行わせるプログラムであって、
前記協調処理を前記処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、前記処理装置に送信する同期情報送信ステップと、
前記同期情報受信の有無を通知させる指令を、コネクション型通信で、前記処理装置に送信する通知指令送信ステップと、
前記処理装置の前記同期情報受信の有無に応じて、前記協調行動を開始させる指令を、前記コネクション型通信で、前記処理装置に送信する開始指令送信ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
制御装置と無線で接続され、所定の協調処理を行う情報処理装置において、
前記制御装置から、コネクションレス型通信で送信されてきた、前記協調処理を前記処理装置に同時に開始させるための同期情報を受信するとともに、前記同期情報に指定された待ち時間の計測を開始する計測手段と、
前記制御装置から、前記同期情報受信の有無を通知させる指令が送信されてきたとき、前記同期情報受信の有無を、前記制御装置に通知する通知手段と、
前記制御装置から、前記協調行動を開始させる指令が送信されてきた場合、前記待ち時間を経過した時点で、前記協調行動を開始する協調行動開始手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
前記協調行動開始手段は、前記制御装置から、前記協調行動の開始を中止させる指令が送信されてきたとき、前記協調行動の開始を中止する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
制御装置と無線で接続され、所定の協調処理を行うための情報処理方法において、
前記制御装置から、コネクションレス型通信で送信されてきた、前記協調処理を前記処理装置に同時に開始させるための同期情報を受信するとともに、前記同期情報に指定された待ち時間の計測を開始する計測ステップと、
前記制御装置から、前記同期情報受信の有無を通知させる指令が送信されてきたとき、前記同期情報受信の有無を、前記制御装置に通知する通知ステップと、
前記制御装置から、前記協調行動を開始させる指令が送信されてきた場合、前記待ち時間を経過した時点で、前記協調行動を開始する協調行動開始ステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
制御装置と無線で接続され、所定の協調処理を行うためのプログラムであって、
前記制御装置から、コネクションレス型通信で送信されてきた、前記協調処理を前記処理装置に同時に開始させるための同期情報を受信するとともに、前記同期情報に指定された待ち時間の計測を開始する計測ステップと、
前記制御装置から、前記同期情報受信の有無を通知させる指令が送信されてきたとき、前記同期情報受信の有無を、前記制御装置に通知する通知ステップと、前記制御装置から、前記協調行動を開始させる指令が送信されてきた場合、前記待ち時間を経過した時点で、前記協調行動を開始する協調行動開始ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置、情報処理方法、およびプログラムに関し、特に、協調行動の開始タイミングを合わせることができるようにした情報処理システム、情報処理装置、情報処理方法、およびプログラムに関する。
【０００２】
【従来の技術】
図１は、ユーザからの指令や周囲の環境に応じて自主的に行動を決定する自立型のロボット１（図１の例では、３台のロボット）のそれぞれに、所定の協調行動を同時に開始させるための、従来のロボットシステムの例を示している。
【０００３】
パーソナルコンピュータ４は、協調行動の開始タイミングを合わせるためのコマンドを、ネットワーク３およびアクセスポイント２を介して、ロボット１−１乃至１−３（以下、個々に区別する必要がない場合、単に、ロボット１と称する。他の場合においても同様である）のそれぞれに送信する。
【０００４】
各ロボット１は、パーソナルコンピュータ４からのコマンドを受信すると、そのコマンドに示された待ち時間のカウントを開始し、そのカウントが終了したとき、所定の協調行動を開始する（特許文献参照）。
【０００５】
【特許文献】
特開２００１−１９１２７９号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のシステムにおいては、ロボット１とパーソナルコンピュータ４とのデータ通信はＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従って行われていたので、協調行動の開始タイミングを合わせるためのコマンドが、パーソナルコンピュータ４と各ロボット１とのコネクションが順次開設された後、各ロボット１のそれぞれに送信されていた。
【０００７】
従って、従来のシステムでは、協調行動の開始タイミングを合わせるためのコマンドを受信する時刻が、各ロボット１により異なるので、指定された待ち時間のカウント開始およびその終了時刻が各ロボット１によって異なってしまい、その結果、各ロボット１における協調行動の開始タイミングがずれてしまう課題があった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、ロボット１の協調行動が、同時に開始されるようにするものである。
【０００９】
【課題を解決するための手段】
本発明の情報処理システムは、制御装置が、協調処理を処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、処理装置に送信する同期情報送信手段と、同期情報受信の有無を通知させる指令を、コネクション型通信で、処理装置に送信する通知指令送信手段と、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令を、コネクション型通信で、処理装置に送信する開始指令送信手段とを備え、処理装置が、同期情報を受信するとともに、同期情報に指定された待ち時間の計測を開始する計測手段と、制御装置の通知指令送信手段により、同期情報受信の有無を通知させる指令が送信されたとき、同期情報受信の有無を、制御装置に通知する通知手段と、制御装置の開始指令送信手段により、協調行動を開始させる指令が送信された場合、待ち時間を経過した時点で、協調行動を開始する協調行動開始手段とを備えることを特徴とする。
【００１０】
制御装置の開始指令送信手段は、処理装置の同期情報受信の有無に応じて、協調行動の開始を中止させる指令を、コネクション型通信で、処理装置に送信し、処理装置の協調行動開始手段は、制御装置の開始指令送信手段により、協調行動の開始を中止させる指令が送信されたとき、協調行動の開始を中止することができる。
【００１１】
制御装置は、同期情報送信手段により同期情報が送信されたとき、同期情報に指定された待ち時間の計測を開始し、開始指令送信手段により、協調行動を開始する指令が送信された場合、待ち時間を経過した時点で、自分自身が協調行動を開始することができる。
【００１２】
本発明の第１の情報処理方法は、制御装置において協調処理を処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、処理装置に送信する同期情報送信ステップと、制御装置において同期情報受信の有無を通知させる指令を、コネクション型通信で、処理装置に送信する通知指令送信ステップと、処理装置において同期情報を受信するとともに、同期情報に指定された待ち時間の計測を開始する計測ステップと、処理装置において制御装置の通知指令送信ステップの処理で、同期情報受信の有無を通知させる指令が送信されたとき、同期情報受信の有無を、制御装置に通知する通知ステップと、制御装置において処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令を、コネクション型通信で、処理装置に送信する開始指令送信ステップと、処理装置において制御装置の開始指令送信ステップの処理で、協調行動を開始させる指令が送信された場合、待ち時間を経過した時点で、協調行動を開始する協調行動開始ステップとを備えることを特徴とする。
【００１３】
本発明の情報処理システムおよび第１の情報処理方法においては、協調処理を処理装置に同時に開始させるための同期情報が、コネクションレス型通信で、処理装置に送信され、同期情報受信の有無を通知させる指令が、コネクション型通信で、処理装置に送信され、処理装置において同期情報を受信するとともに、同期情報に指定された待ち時間の計測が開始され、同期情報受信の有無を通知させる指令が送信されたとき、同期情報受信の有無が、制御装置に通知され、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令が、コネクション型通信で、処理装置に送信され、処理装置において協調行動を開始させる指令が送信された場合、待ち時間を経過した時点で、協調行動が開始される。
【００１４】
本発明の第１の情報処理装置は、協調処理を処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、処理装置に送信する同期情報送信手段と、同期情報受信の有無を通知させる指令を、コネクション型通信で、処理装置に送信する通知指令送信手段と、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令を、コネクション型通信で、処理装置に送信する開始指令送信手段とを備えることを特徴とする。
【００１５】
本発明の第２の情報処理方法は、協調処理を処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、処理装置に送信する同期情報送信ステップと、同期情報受信の有無を通知させる指令を、コネクション型通信で、処理装置に送信する通知指令送信ステップと、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令を、コネクション型通信で、処理装置に送信する開始指令送信ステップとを含むことを特徴とする。
【００１６】
本発明の第１のプログラムは、協調処理を処理装置に同時に開始させるための同期情報を、コネクションレス型通信で、処理装置に送信する同期情報送信ステップと、同期情報受信の有無を通知させる指令を、コネクション型通信で、処理装置に送信する通知指令送信ステップと、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令を、コネクション型通信で、処理装置に送信する開始指令送信ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１７】
本発明の第１の情報処理装置および第２の情報処理方法、並びに第１のプログラムにおいては、協調処理を処理装置に同時に開始させるための同期情報が、コネクションレス型通信で、処理装置に送信され、同期情報受信の有無を通知させる指令が、コネクション型通信で、処理装置に送信され、処理装置の同期情報受信の有無に応じて、協調行動を開始させる指令が、コネクション型通信で、処理装置に送信される。
【００１８】
本発明の第２の情報処理装置は、制御装置から、コネクションレス型通信で送信されてきた、協調処理を処理装置に同時に開始させるための同期情報を受信するとともに、同期情報に指定された待ち時間の計測を開始する計測手段と、制御装置から、同期情報受信の有無を通知させる指令が送信されてきたとき、同期情報受信の有無を、制御装置に通知する通知手段と、制御装置から、協調行動を開始させる指令が送信されてきた場合、待ち時間を経過した時点で、協調行動を開始する協調行動開始手段とを備えることを特徴とする。
【００１９】
本発明の第３の情報処理方法は、制御装置から、コネクションレス型通信で送信されてきた、協調処理を処理装置に同時に開始させるための同期情報を受信するとともに、同期情報に指定された待ち時間の計測を開始する計測ステップと、制御装置から、同期情報受信の有無を通知させる指令が送信されてきたとき、同期情報受信の有無を、制御装置に通知する通知ステップと、制御装置から、協調行動を開始させる指令が送信されてきた場合、待ち時間を経過した時点で、協調行動を開始する協調行動開始ステップとを含むことを特徴とする。
【００２０】
本発明の第２のプログラムは、制御装置から、コネクションレス型通信で送信されてきた、協調処理を処理装置に同時に開始させるための同期情報を受信するとともに、同期情報に指定された待ち時間の計測を開始する計測ステップと、制御装置から、同期情報受信の有無を通知させる指令が送信されてきたとき、同期情報受信の有無を、制御装置に通知する通知ステップと、制御装置から、協調行動を開始させる指令が送信されてきた場合、待ち時間を経過した時点で、協調行動を開始する協調行動開始ステップとを含む処理をコンピュータに実行させることを特徴する。
【００２１】
本発明の第２の情報処理装置および第３の情報処理方法、並びに第２のプログラムにおいては、制御装置から、コネクションレス型通信で送信されてきた、協調処理を処理装置に同時に開始させるための同期情報を受信するとともに、同期情報に指定された待ち時間の計測が開始され、制御装置から、同期情報受信の有無を通知させる指令が送信されてきたとき、同期情報受信の有無が、制御装置に通知され、制御装置から、協調行動を開始させる指令が送信されてきた場合、待ち時間を経過した時点で、協調行動が開始される。
【００２２】
【発明の実施の形態】
図２は、本発明を適用した、複数のロボット５（図２の例では、３台のロボット）のそれぞれに、所定の協調行動を同時に開始させるためのロボットシステムの例を示している。
【００２３】
パーソナルコンピュータ６は、協調行動の開始タイミングを合わせるためのコマンドを含む通信パケット（以下、同期パケットと称する）を、コネクション型通信（この例の場合、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ））で、各ロボット５にブロードキャストまたはマルチキャストする（各ロボット５に対して、同時に送信する）。パーソナルコンピュータ６はまた、他の情報（同期パケット受信の有無を問い合わせるためのコマンド、協調行動を開始させるためのコマンド、協調行動を中止させるためのコマンド等）を、コネクション型通信（この例の場合、ＴＣＰ）で、各ロボット５にユニキャストする。
【００２４】
ロボット５−１乃至５−３は、パーソナルコンピュータ６からの同期パケットを受信すると、同期パケットに格納されている待ち時間のカウントを開始し、その後、協調行動を開始させるためのコマンドをさらに受信した場合、待ち時間のカウントが終了した時点で、所定の協調行動を開始する。一方、協調行動を中止させるコマンドを受信したとき、ロボット５は、協調行動を行わない。
【００２５】
このように、協調行動の開始タイミングを合わせるために必要な同期パケットを、ＵＤＰで各ロボット５にブロードキャストまたはマルチキャストし、各ロボット５が、その同期パケットを同時に受信することができるようにしたので、各ロボット５の協調行動の開始タイミングを正確に合わせることができる。
【００２６】
また、ＵＤＰでの通信では、コネクションが開設されず、誤り補償等がなされないので、受信環境によっては同期パケットがロボット５に受信されないこともあり得るが、同期パケットの受信を、ＴＣＰで別個に問い合わせるようにしたので、例えば、すべてのロボット５が同期パケットを受信し、協調行動を同時に開始することができる場合にのみ、協調行動をさせることができる。
【００２７】
図３は、本発明を適用した２足歩行型のロボット５の正面方向の斜視図であり、図４は、ロボット５の背面方向からの斜視図である。また、図５は、ロボット５の軸構成について説明するための図である。
【００２８】
ロボット５は、胴体部ユニット１１、胴体部ユニット１１の上部に配設された頭部ユニット１２、胴体部ユニット１１の上部左右の所定位置に取り付けられた腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに胴体部ユニット１１の下部左右の所定位置に取り付けられた脚部ユニット１４Ａおよび脚部ユニット１４Ｂにより構成されている。
【００２９】
胴体部ユニット１１は、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が腰関節機構２３を介して連結することにより構成されている。胴体部ユニット１１は、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図５に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００３０】
頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３、およびアクチュエータＡ４をそれぞれ駆動することによって、図５に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００３１】
腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５、および、アクチュエータＡ６をそれぞれ駆動することによって、図５に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００３２】
この場合、腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構４４を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００３３】
そして腕部ユニット１３Ａ、および腕部ユニット１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図５に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図５に示すピッチ軸３６に対して回転させることができるようになされている。
【００３４】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図５に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００３５】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されている。
【００３６】
これにより脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図５に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３、および、アクチュエータＡ１４をそれぞれ駆動することによって、図５に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００３７】
脚部ユニット１４Ａ、および脚部ユニット１４Ｂの、足部４５の足底面（床と接する面）には、それぞれ足底センサ９１（図７）が配設されており、足底センサ９１のオン・オフに基づいて、足部４５が床に接地しているか否かが判別される。
【００３８】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１（図６）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００３９】
図６は、ロボット５のアクチュエータとその制御系等について説明する図である。
【００４０】
制御ユニット５２には、ロボット５全体の動作制御をつかさどるメイン制御部６１、並びに、後述するＤ／Ａ変換部１０１、Ａ／Ｄ変換部１０２、バッテリ１０３、バッテリセンサ１３１、加速度センサ１３２、通信部１０５、および外部メモリ１０６（いずれも図７）等を含む周辺回路６２が収納されている。
【００４１】
そしてこの制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに、脚部ユニット１４Ａおよび脚部ユニット１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００４２】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００４３】
図７は、ロボット５の内部構成を示すブロック図である。
【００４４】
頭部ユニット１２には、このロボット５の「目」として機能するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ  ）カメラ８１、「耳」として機能するマイクロフォン８２、頭部センサ５１などからなる外部センサ部７１、および、「口」として機能するスピーカ７２となどがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ１３１および加速度センサ１３２などからなる内部センサ部１０４が配設されている。また、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの足部４５の足底面には、このロボット５の「体性感覚」の１つとして機能する足底センサ９１が配設されている。
【００４５】
そして、外部センサ部７１のＣＣＤカメラ８１は、周囲の状況を撮像し、得られた画像信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。マイクロフォン８２は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声を集音し、得られた音声信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。
【００４６】
また、頭部センサ５１は、例えば、図３および図４に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、検出結果としての圧力検出信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。
【００４７】
足底センサ９１は、足部４５の足底面に配設されており、足部４５が床に接地している場合、接地信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。メイン制御部６１は、接地信号に基づいて、足部４５が床に接地しているか否かを判定する。足底センサ９１は、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの両方の足部４５に配設されているため、メイン制御部６１は、接地信号に基づいて、ロボット５の両足が床に接地しているか、片足が床に接地しているか、両足とも床に接地していないかを判定することができる。
【００４８】
制御ユニット５２は、メイン制御部６１、Ｄ／Ａ変換部１０１、Ａ／Ｄ変換部１０２、バッテリ１０３、内部センサ部１０４、通信部１０５、および外部メモリ１０６等により構成される。
【００４９】
Ｄ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換部１０１は、メイン制御部６１から供給されるデジタル信号をＤ／Ａ変換することによりアナログ信号とし、スピーカ７２に供給する。Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換部１０２は、ＣＣＤカメラ８１、マイクロフォン８２、頭部センサ５１、および足底センサ９１が出力するアナログ信号をＡ／Ｄ変換することによりデジタル信号とし、メイン制御部６１に供給する。
【００５０】
内部センサ部１０４のバッテリセンサ１３１は、バッテリ１０３のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号として、メイン制御部６１に送出する。加速度センサ１３２は、ロボット５の移動について、３軸方向（ｘ軸、ｙ軸、およびｚ軸）の加速度を、所定の周期で検出し、検出結果を、加速度検出信号として、メイン制御部６１に送出する。
【００５１】
メイン制御部６１は、メイン制御部６１全体の動作を制御するＣＰＵ１１１と、ＣＰＵ１１１が各部を制御するために実行するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１２１、アプリケーションプログラム１２２、その他の必要なデータ等が記憶されている内部メモリ１１２等を内蔵している。
【００５２】
メイン制御部６１は、外部センサ部７１のＣＣＤカメラ８１、マイクロフォン８２および頭部センサ５１からそれぞれ供給される、画像信号、音声信号および圧力検出信号、並びに足底センサ９１から供給される接地信号（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部１０４のバッテリセンサ１３１および加速度センサ１３２等からそれぞれ供給される、バッテリ残量検出信号および加速度検出信号（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット５の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００５３】
そして、メイン制御部６１は、ロボット５の周囲および内部の状況や、ユーザからの指令、または、通信部１０５により受信されたパーソナルコンピュータ６からのコマンドと、内部メモリ１１２に予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ１０６に格納されている各種制御パラメータなどに基づいて、ロボット５の行動を決定し、決定結果に基づく制御コマンドＣＯＭを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、供給された制御コマンドＣＯＭに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御するので、ロボット５は、例えば、頭部ユニット１２を上下左右に揺動させたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａおよび脚部ユニット１４Ｂを交互に駆動させて、歩行するなどの機械的動作を行うことが可能となる。
【００５４】
また、メイン制御部６１は、必要に応じて、所定の音声信号をスピーカ７２に与えることにより、音声信号に基づく音声を外部に出力させる。
【００５５】
通信部１０５は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｂ規格に準拠し、アクセスポイント２と無線で通信する。これにより、ＯＳ１２１やアプリケーションプログラム１２２がバージョンアップされたときに、通信部１０５を介して、そのバージョンアップされたＯＳやアプリケーションプログラムをダウンロードして、内部メモリ１１２に記憶させたり、また、所定のコマンドを、通信部１０５で受信し、ＣＰＵ１１１に与えることができるようになっている。
【００５６】
外部メモリ１０６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−ｏｎｌｙ  Ｍｅｍｏｒｙ）等で構成され、胴体部ユニット１１に設けられた図示せぬスロットに対して、着脱可能になっている。外部メモリ１０６には、例えば、後述するような感情モデル等が記憶される。
【００５７】
図８は、図７のメイン制御部６１の機能的構成例を示している。なお、図８に示す機能的構成は、メイン制御部６１が、内部メモリ１１２に記憶されたＯＳ１２１およびアプリケーションプログラム１２２を実行することで実現されるようになっている。また、図８では、Ｄ／Ａ変換部１０１およびＡ／Ｄ変換部１０２の図示を省略してある。
【００５８】
メイン制御部６１のセンサ入力処理部２０１は、頭部センサ５１、足底センサ９１、加速度センサ１３２、マイクロフォン８２、およびＣＣＤカメラ８１からそれぞれ与えられる圧力検出信号、接地信号、加速度検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００５９】
すなわち、センサ入力処理部２０１は、圧力処理部２２１、加速度処理部２２２、音声認識部２２３、および画像認識部２２４を有している。
【００６０】
圧力処理部２２１は、頭部センサ５１から与えられる圧力検出信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出しなときには、「なでれらた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６１】
また、圧力処理部２２１は、足底センサ９１から与えられる接地信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、脚部ユニット１４Ａの足部４５に配設された足底センサ９１から接地信号が与えられている場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していると認識し、足底センサ９１から接地信号が与えられていない場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していないと認識する。脚部ユニット１４Ｂについても、同様にして、足底センサ９１からの接地信号に基づいて、脚部ユニット１４Ｂの足部４５が床（地面）に接地しているか否かを認識する。そして、圧力処理部２２１は、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６２】
加速度処理部２２２は、加速度センサ１３２から与えられる加速度検出信号に基づいて、胴体部ユニット１１の加速度の方向および大きさを、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６３】
音声認識部２２３は、マイクロフォン８２から与えられる音声信号を対象とした音声認識を行う。そして、音声認識部２２３は、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の単語列を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６４】
画像認識部２２４は、ＣＣＤカメラ８１から与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部２２４は、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６５】
モデル記憶部２０２は、ロボット５の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶し、管理している。
【００６６】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６７】
本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６８】
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６９】
モデル記憶部２０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部２０３に送出する。
【００７０】
なお、モデル記憶部２０２には、センサ入力処理部２０１から状態認識情報が供給される他に、行動決定機構部２０３から、ロボット５の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部２０２は、同一の状態認識情報が与えられても、行動情報が示すロボット５の行動に応じて、異なる状態情報を生成するようになっている。
【００７１】
例えば、ロボット５が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部２０２に与えられ、この場合、モデル記憶部２０２では、「うれしさ」を表す感情モデルの値が増加される。
【００７２】
行動決定機構部２０３は、センサ入力処理部２０１からの状態認識情報やモデル記憶部２０２からの状態情報、時間経過等、または通信部１０５により受信されたパーソナルコンピュータ６からのコマンドに基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部２０４に出力する。
【００７３】
行動決定機構部２０３は、タイマー２１１を内蔵しており、それに、協調行動を開始する際に、指定された待ち時間を設定する。そして行動決定機構部２０３は、その待ち時間を経過したとき、協調行動のための行動指令情報の姿勢遷移機構部２０４に対する出力を開始する。
【００７４】
姿勢遷移機構部２０４は、行動決定機構部２０３から供給される行動指令情報に基づいて、ロボット５の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部２０５に送出する。
【００７５】
制御機構部２０５は、姿勢遷移機構部２０４からの姿勢遷移情報にしたがって、アクチュエータＡ１乃至Ａ１４を駆動するための制御信号を生成し、これを、サブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、この制御信号に基づいて、適宜のアクチュエータを駆動し、ロボット５に種々の動作を実行させる。
【００７６】
音声合成部２０８は、行動決定機構部２０３から発話指令情報を受信し、その発話指令情報にしたがって、例えば、規則音声合成を行い、合成音をスピーカ７２に供給して出力させる。
【００７７】
図９は、センサ入力処理部２０１の音声認識部２２３の機能を示す機能ブロック図である。
【００７８】
図７のマイクロフォン８２およびＡ／Ｄ変換部１０２を介して、音声認識部２２３に入力される音声データは、特徴量抽出部２５１に供給される。
【００７９】
特徴抽出部２５１は、Ａ／Ｄ変換部１０２からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、ＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｅｆｆｉｃｉｅｎｔ）等の特徴量としての特徴ベクトルを抽出する。
【００８０】
特徴抽出部２５１においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ２５２に順次供給されて記憶される。従って、特徴ベクトルバッファ２５２では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【００８１】
なお、特徴ベクトルバッファ２５２は、例えば、ある発話の開始から終了まで（音声区間）に得られる時系列の特徴ベクトルを記憶する。
【００８２】
マッチング部２５３は、特徴ベクトルバッファ２５２に記憶された特徴ベクトルを用いて、音響モデルデータベース２５４、辞書データベース２５５、および文法データベース２５６を必要に応じて参照しながら、マイクロフォン８２に入力された音声（入力音声）を、例えば、連続分布ＨＭＭ法等に基づいて音声認識する。
【００８３】
即ち、音響モデルデータベース２５４は、音声認識する音声の言語における個々の音素や音節などの所定の単位（ＰＬＵ（Ｐｈｏｎｅｔｉｃ−Ｌｉｎｇｕｉｓｔｉｃ−Ｕｎｉｔｓ））ごとの音響的な特徴を表す音響モデルのセットを記憶している。辞書データベース２５５は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース２５６は、辞書データベース２５５の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。
【００８４】
マッチング部２５３は、辞書データベース２５５の単語辞書を参照することにより、音響モデルデータベース２５４に記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、マッチング部２５３は、幾つかの単語モデルを、文法データベース２５６に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布ＨＭＭ法によって行い、マイクロフォン８２に入力された音声を認識する。即ち、マッチング部２５３は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ２５２に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部２５３は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【００８５】
図１０は、パーソナルコンピュータ６の構成例を示している。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１１にはバス５１５を介して入出力インタフェース５１６が接続されており、ＣＰＵ５１１は、入出力インタフェース５１６を介して、ユーザから、キーボード、マウスなどよりなる入力部５１８から指令が入力されると、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５１２、ハードディスク５１４、またはドライブ５２０に装着される磁気ディスク５３１、光ディスク５３２、光磁気ディスク５３３、若しくは半導体メモリ５３４などの記録媒体に格納されているプログラムを、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５１３にロードして実行する。
【００８６】
通信部５１９は、ネットワーク３に対してデータを送信または受信する。
【００８７】
次に、ロボット５とパーソナルコンピュータ６の動作を、図１１のフローチャートを参照して説明する。なお、図１１のステップＳ２１乃至ステップＳ２８の処理は、各ロボット５のそれぞれにおいて実行される。
【００８８】
ステップＳ１において、パーソナルコンピュータ６のＣＰＵ５１１は、協調行動のための同期確立を各ロボット５に要求する。具体的には、通信部５１９は、図１２に示すような通信パケット（同期パケット）Ｐａを生成し、それを各ロボット５に、コネクション型通信（この例の場合、ＵＤＰ）で各ロボット５にブロードキャストまたはマルチキャストする。すなわち、この同期パケットＰａは、同時に、ローカルセグメント内の各ロボット５に送信される。
【００８９】
同期パケットＰａのイーサネット（登録商標）ヘッダには、送信元（パーソナルコンピュータ６）のＭＡＣアドレスや、送信先（ロボット５）のＭＡＣアドレス等が格納されている。ＩＰヘッダには、送信元のＩＰアドレスやブロードキャストアドレス等が格納されている。
【００９０】
ＵＤＰヘッダには、送信元のポート番号や送信先のポート番号等が格納されている。データ部には、協調行動を開始するに際し、所定の待ち時間待機させるためのコマンド（以下、待ちコマンドと称する）のコマンドＩＤおよびその待ち時間、並びにこの同期パケットＰａのパケットＩＤが格納されている。
【００９１】
次に、ステップＳ２において、パーソナルコンピュータ６のＣＰＵ５１１は、ステップＳ１で送信した同期パケットＰａを受信したか否かを、各ロボット５に問い合わせる。具体的には、通信部５１９は、図１３に示すような通信パケットＰｂを生成し、それを各ロボット５にコネクション型通信（この例の場合、ＴＣＰ）でユニキャストする。したがって、この通信パケットＰｂは、各ロボット５に対してコネクションが開設された後、順に送信される。
【００９２】
通信パケットＰｂのイーサネット（登録商標）ヘッダには、送信元のＭＡＣアドレスや送信先のＭＡＣアドレス等が格納されている。ＩＰヘッダには、送信元のＩＰアドレスや送信先のＩＰアドレス等が格納されている。
【００９３】
ＴＣＰヘッダには、送信元のポート番号や送信先のポート番号の他、コネクションを開設するためのデータ等が格納されている。データ部には、同期パケットＰａの受信結果を応答させるためのコマンド（以下、問い合わせコマンドと称する）のコマンドＩＤと、同期パケットＰａのパケットＩＤが格納されている。
【００９４】
これに対してロボット５のメイン制御部６１（図８）は、図１１のステップＳ２１において、パーソナルコンピュータ６から、協調行動のための同期確立が要求されたか否か（図１２に示す同期パケットＰａが、通信部１０５によって受信されたか否か）を判定し、要求があった（受信された）と判定した場合、ステップＳ２２に進む。
【００９５】
ステップＳ２２において、ロボット５のメイン制御部６１は、同期パケットＰａのデータ部に格納されている待ち時間を、タイマー２１１に設定し、ステップＳ２３において、そのカウントダウンを開始する。
【００９６】
ステップＳ２３で待ち時間のカウントダウンを開始した後、またはステップＳ２１で、同期パケットＰａが受信されていないと判定されたとき、ステップＳ２４において、ロボット５のメイン制御部６１は、パーソナルコンピュータ６から、同期パケット受信の有無の問い合わせがあったか否か（図１３に示す通信パケットＰｂが受信されたか否か）を判定し、問い合わせがない（受信されていない）と判定した場合、ステップＳ２１に戻り、それ以降の処理を実行する。
【００９７】
ステップＳ２４で、同期パケット受信の有無の問い合わせがあったと判定した場合、ロボット５のメイン制御部６１は、ステップＳ２５に進み、通信部１０５を制御して、同期パケット受信の有無を、パーソナルコンピュータ６に送信させる。具体的には、通信部１０５は、図１４に示すような通信パケットＰｃを生成し、それをパーソナルコンピュータ６にＴＣＰで送信する。
【００９８】
通信パケットＰｃのイーサネット（登録商標）ヘッダには、送信元のＭＡＣアドレスや送信先のＭＡＣアドレス等が格納されている。ＩＰヘッダには、送信元のＩＰアドレスや送信先のＩＰアドレス等が格納されている。
【００９９】
ＴＣＰヘッダには、送信元のポート番号や送信先のポート番号の他、コネクションを開設するためのデータ等が格納されている。データ部には、同期パケットＰａが受信された場合、この通信パケットＰｃが、同期パケット受信の問い合わせに対する応答であることを示すＩＤと、受信された同期パケットＰａのパケットＩＤが格納され、同期パケットＰａが受信されていない場合、同期パケット受信の問い合わせに対する応答であることを示すＩＤのみが格納される（同期パケットＰａのパケットＩＤは格納されない）。
【０１００】
パーソナルコンピュータ６のＣＰＵ５１１は、ステップＳ３において、すべてのロボット５から、同期パケット受信の問い合わせに対する応答があったか（図１４に示す通信パケットＰｃがすべてのロボット５から送信されてきたか）否かを判定し、まだ応答していないロボット５が存在すると判定した場合、ステップＳ４に進む。
【０１０１】
ステップＳ４において、パーソナルコンピュータ６のＣＰＵ５１１は、ステップＳ１で同期パケットＰａを送信してから、所定の時間経過したか否かを判定し、まだ経過していないと判定した場合、ステップＳ３に戻り、それ以降の処理を実行する。
【０１０２】
ステップＳ３で、すべてのロボット５から、同期パケット受信の問い合わせに対する応答があったと判定した場合、パーソナルコンピュータ６のＣＰＵ５１１は、ステップＳ５に進み、その応答から、すべてのロボット５が同期パケットＰａを受信したか（ステップＳ３で受信した通信パケットＰｃのすべてに同期パケットＰａのパケットＩＤが格納されているか）否かを判定し、すべてのロボット５が同期パケットＰａを受信したと判定した場合、ステップＳ６に進む。
【０１０３】
ステップＳ６において、パーソナルコンピュータ６のＣＰＵ５１１は、通信部５１９を制御して、所定の協調行動の開始を、各ロボット５に要求させる。具体的には、通信部５１９は、図１５に示すような通信パケットＰｄを生成し、それを各ロボット５にＴＣＰで送信する。
【０１０４】
通信パケットＰｄのイーサネット（登録商標）ヘッダには、送信元のＭＡＣアドレスや送信先のＭＡＣアドレス等が格納されている。ＩＰヘッダには、送信元のＩＰアドレスや送信先のＩＰアドレスが格納されている。
【０１０５】
ＴＣＰヘッダには、送信元のポート番号や送信先のポート番号の他、コネクションを開設するためのデータ等が格納されている。データ部には、所定の協調動作を開始させるためのコマンド（以下、開始コマンドと称する）のコマンドＩＤと、同期パケットＰａのパケットＩＤが格納されている。
【０１０６】
ステップＳ４で、所定の時間が経過したと判定されたとき、またはステップＳ５で、同期パケットＰａを受信していないロボット５が存在すると判定されたとき、ステップＳ７に進み、パーソナルコンピュータ６のＣＰＵ５１１は、通信部５１９を制御して、協調行動の中止を各ロボット５に要求させる。具体的には、通信部５１９は、図１６に示すような通信パケットＰｅを生成し、それを各ロボット５にＴＣＰで送信する。
【０１０７】
通信パケットＰｅのイーサネット（登録商標）ヘッダには、送信元のＭＡＣアドレスや送信先のＭＡＣアドレス等が格納されている。ＩＰヘッダには、送信元のＩＰアドレスや送信先のＩＰアドレスが格納されている。
【０１０８】
ＴＣＰヘッダには、送信元のポート番号や送信先のポート番号の他、コネクションを開設するためのデータ等が格納されている。データ部には、所定の協調動作を中止させるためのコマンド（以下、中止コマンドと称する）のコマンドＩＤと、同期パケットＰａのパケットＩＤが格納されている。
【０１０９】
ステップＳ６で協調行動の開始を要求したとき、またはステップＳ７で、協調実行の中止を要求したとき、パーソナルコンピュータ６のＣＰＵ５１１は、処理を終了させる。
【０１１０】
ロボット５のメイン制御部６１は、ステップＳ２６において、協調行動の開始が要求されたか（図１５に示す通信パケットＰｄが受信されたか）、または協調行動の中止が要求されたか（図１６に示す通信パケットＰｅが受信されたか）を判定し、協調行動の開始が要求されたと判定した場合、ステップＳ２７に進み、ステップＳ２３で開始したカウントダウンが完了するまで待機する。
【０１１１】
ステップＳ２７で、カウントダウンが完了したとき、ステップＳ２８に進み、ロボット５のメイン制御部６１は、開始コマンドのコマンドＩＤに対応する協調行動の制御信号のアクチュエータＡに対する出力を開始する。これにより、ロボット５の協調行動が開始される。
【０１１２】
一方ステップＳ２６で、協調行動の中止が要求されたと判定された場合、ステップＳ２９に進み、ロボット５のメイン制御部６１は、ステップＳ２２で、待ち時間がセットされたタイマー２１１をリセットする。すなわちこの場合、協調行動は行われない。
【０１１３】
ステップＳ２８またはステップＳ２９の後、ロボット５は処理を終了させる。
【０１１４】
以上のようにして、協調行動が開始される。
【０１１５】
なお、以上においては、パーソナルコンピュータ６が同期パケットＰａ等を各ロボット５に送信して、ロボット５に協調行動させる場合を例として説明したが、ロボット５の中の１台が、マスタのロボット５となり、上述したパーソナルコンピュータ６の動作をさらに行うようにして、協調行動がなされるようにすることもできる。
【０１１６】
その場合、例えば、ユーザは「ダンス開始」と称呼し、それを認識したロボット５は、他のロボット５のそれぞれに対して、マスタであるか否かを問い合わせ、問い合わせたロボット５のすべてからマスタではないとの応答があった場合（または所定の時間内に応答がなかった場合）、自分をマスタとして認識し、他のロボット５をマスタではないと認識する（登録する）。そしてそのロボット５は、他のロボット５に自分がマスタである旨を通知（宣言）する。
【０１１７】
すなわち、この例の場合、ユーザの称呼を最も早く認識したロボット５が、マスタとなるが、通信不備等で、複数のロボット５が自分をマスタと認識してしまった場合、宣言した時刻から、１台のマスタを決定することができる。
【０１１８】
このようにして１台のマスタが決定されると、マスタのロボット５は、図１７に示す動作を開始する。
【０１１９】
ステップＳ４１において、マスタのロボット５のメイン制御部６１は、図１１のステップＳ１における場合と同様に、通信部１０５を制御して、図１２に示す同期パケットＰａを他のロボット５にブロードキャストまたはマルチキャストして、協調行動のための同期確立を要求する。なお、ロボット５間の通信は、アクセスポイント２を介して行われる。
【０１２０】
次に、ステップＳ４２において、マスタのロボット５のメイン制御部６１は、同期パケットＰａのデータ部に格納した待ち時間を、タイマー２１１に設定し、ステップＳ４３において、そのカウントダウンを開始する。
【０１２１】
ステップＳ４４乃至ステップＳ４８においては、図１１に示すステップＳ２乃至ステップＳ６における場合と同様の処理が行われるので、その説明は省略する。
【０１２２】
ステップＳ４８で、通信部１０５を制御して、図１５に示す通信パケットＰｄを他のロボット５に送信させて、協調行動の開始を要求した後、マスタのロボット５のメイン制御部６１は、ステップＳ４９において、ステップＳ４３で開始したカウントダウンが完了するまで待機する。
【０１２３】
ステップＳ４９で、カウントダウンが完了したとき、ステップＳ５０に進み、マスタのロボット５のメイン制御部６１は、図１５に示す通信パケットＰｄに格納した開始コマンドのコマンドＩＤに対応する協調行動の制御信号のアクチュエータへの出力を開始する。
【０１２４】
ステップＳ４６で、所定の時間が経過したと判定されたとき、またはステップＳ４７で、同期パケットＰａを受信していないロボット５が存在すると判定されたとき、ステップＳ５１において、マスタのロボット５のメイン制御部６１は、通信部１０５を制御して、図１６に示す通信パケットＰｅを他のロボット５に送信させ、協調行動の中止を要求する。そしてステップＳ５２において、マスタのロボット５のメイン制御部６１は、ステップＳ４３で待ち時間をセットしたタイマー２１１をリセットする。
【０１２５】
マスタのロボット５は、以上のような処理を行うが、マスタではない他のロボット５は、図１１のステップＳ２１乃至ステップＳ２８の処理を実行する。
【０１２６】
なお、以上においては、ロボット５に協調行動を行わせる場合を例として説明したが、ロボット５に限らず、所定の処理を同時に行うものであれば、本発明を適用することができる。例えば、複数の表示部を組み合わせて１つの大きな表示部を形成し、その全体に１つの映像を表示する処理などにも利用することができる。
【０１２７】
また、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１２９】
【発明の効果】
第１および第２の本発明によれば、協調処理を処理装置に同時に開始させることができる。
【０１３０】
第３の本発明によれば、協調処理を適切に開始することができる。
【図面の簡単な説明】
【図１】従来のロボットシステムの構成例を示す図である。
【図２】本発明を適用したロボットシステムの構成例を示す図である。
【図３】図２のロボットの外観構成を示す斜視図である。
【図４】図２のロボットの外観構成を示す、背後側の斜視図である。
【図５】図２のロボットについて説明するための略線図である。
【図６】図２のロボットの内部構成を示すブロック図である。
【図７】図２のロボットの制御に関する部分を主に説明するためのブロック図である。
【図８】図７のメイン制御部の構成を示すブロック図である。
【図９】図８の音声認識部の構成例を示すブロック図である。
【図１０】図２のパーソナルコンピュータ６の構成を示すブロック図である。
【図１１】図２のロボットとパーソナルコンピュータの動作を説明するためのフローチャートである。
【図１２】通信パケットのデータ構造を説明するための図である。
【図１３】他の通信パケットのデータ構造を説明するための図である。
【図１４】他の通信パケットのデータ構造を説明するための図である。
【図１５】他の通信パケットのデータ構造を説明するための図である。
【図１６】他の通信パケットのデータ構造を説明するための図である。
【図１７】図２のマスタのロボットの動作を説明するためのフローチャートである。
【符号の説明】
５  ロボット，  ６  パーソナルコンピュータ，  １２  頭部ユニット，  ５２  制御ユニット，  ６１  メイン制御部，  １０５  通信部，  ２１１  タイマー，  ５１１  ＣＰＵ，  ５１９  通信部
【図１】
2004304714.tif 000003
【図２】
2004304714.tif 000004
【図３】
2004304714.tif 000005
【図４】
2004304714.tif 000006
【図５】
2004304714.tif 000007
【図６】
2004304714.tif 000008
【図７】
2004304714.tif 000009
【図８】
2004304714.tif 000010
【図９】
2004304714.tif 000011
【図１０】
2004304714.tif 000012
【図１１】
2004304714.tif 000013
【図１２】
2004304714.tif 000014
【図１３】
2004304714.tif 000015
【図１４】
2004304714.tif 000016
【図１５】
2004304714.tif 000017
【図１６】
2004304714.tif 000018
【図１７】
2004304714.tif 000019