(57)【特許請求の範囲】
【請求項１】
複数のセンサを有するロボットが接続され、該複数のセンサからのセンサ検出信号に応じたイベントと、第１の記憶部が保持する時間経過に対するフレーム毎の姿勢の変化を表わす動作手順とに基づいて、該ロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持する第２の記憶部と、
前記第２の記憶部に記憶されている前記シナリオを、前記ロボット制御部から伝達される前記イベントに基づき前記シナリオを開始または分岐させた後に、時間経過に応じた画像をディスプレイに提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
前記ロボット制御部は、前記メディア再生部からの時間経過の通知を受け、前記ロボットを、該時間経過に対応したフレームに基づき、前記第１の記憶部に記憶されている前記動作手順に従って動作させることを特徴とするロボット連携装置。
【請求項２】
複数のセンサを有するロボットが接続されるロボット連携装置のコンピュータにローディングされ、該コンピュータを、
前記複数のセンサからのセンサ検出信号に応じたイベントと、第１の記憶部が保持する時間経過に対するフレーム毎の姿勢の変化を表わす動作手順とに基づいて、該ロボットの動作を制御するロボット制御部と、
第２の記憶部に保持され、時間経過に対する画像の変化が記述されイベントに応じたシナリオを、前記ロボット制御部から伝達される前記イベントに基づき前記シナリオを開始または分岐させた後に、時間経過に応じた画像をディスプレイに提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部として機能させるロボット連携プログラムであって、
前記ロボット制御部は、前記メディア再生部からの時間経過の通知を受け、該時間経過に対応したフレームに基づき、前記第１の記憶部に記憶されている前記動作手順に従って前記ロボットを動作させる、ロボット連携プログラムが記憶されてなることを特徴とするロボット連携プログラム記憶媒体。
【請求項３】
複数のセンサを有するロボットが接続されるロボット連携装置のコンピュータにローディングされ、該コンピュータを、
前記複数のセンサからのセンサ検出信号に応じたイベントと、第１の記憶部が保持する時間経過に対するフレーム毎の姿勢の変化を表わす動作手順とに基づいて、該ロボットの動作を制御するロボット制御部と、
第２の記憶部に保持され、時間経過に対する画像の変化が記述されイベントに応じたシナリオを、前記ロボット制御部から伝達される前記イベントに基づき前記シナリオを開始または分岐させた後に、時間経過に応じた画像をディスプレイに提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部として機能させるロボット連携プログラムであって、
前記ロボット制御部は、前記メディア再生部からの時間経過の通知を受け、該時間経過に対応したフレームに基づき、前記第１の記憶部に記憶されている前記動作手順に従って前記ロボットを動作させる、ロボット連携プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、時間経過に応じた画像を提示するとともに、制御に応じて動作するロボットが接続され提示された画像と連携してロボットを動作させるロボット連携装置、コンピュータをそのようなロボット連携装置として動作させるロボット連携プログラム、およびそのロボット連携プログラムが記憶されたロボット連携プログラム記憶媒体に関する。
【０００２】
【従来の技術】
従来より、画像や音声などのマルチメディアを使って情報（画像や音声等）を提示するマルチメディアコンテンツソフトが知られている。そのようなマルチメディアコンテンツソフトの編集や実行を行なうマルチメディアコンテンツソフト編集実行システムでは、通常、入力としてキーボードやマウスが使用され、出力としては主に表示画面が使用されている。このマルチメディア編集実行システムが操作するメディアとしては、画像（静止画、動画、テキスト）や音声が想定されている。これらの画像や音声とは別の外部メディアを実行するという考え方も、それ自体は従来から存在するが、ロボットを出力として持つマルチメディアコンテンツソフト編集実行システムは現在のところ製品では存在せず、またロボットに限らず、外部メディアを実行するソフトの起動と終了だけをマルチメディアコンテンツソフトの時間特性と同期させる方法についていくつかの提案があるのみである。
【０００３】
現在のマルチメディアコンテンツ編集実行システムでは、各メディアの制御を担当する部分を各メディア毎にモジュール化することにより、新たなメディアの取り扱いをモジュールの追加により可能にする内部構造になっている（ｍａｃｒｏｍｅｄｉｃａｌ  Ｄｉｒｅｃｔｏｒなど）。こういったシステムでは、メディア制御モジュールは以下のような機能を持つことを要求され、本体のシステムは作成されたシナリオに従ってこれらを適宜呼び出すことでマルチメディアコンテンツを実行する。
【０００４】
実行時：時間に従ってメディアを操作する機能
メディアを操作する手段（スクリプトの関数など）本体に追加する機能
メディアに生じたイベントをマルチメディアコンテンツソフトに送る機能
編集時：メディアを編集する機能
【０００５】
【発明が解決しようとする課題】
上記のモジュールの仕組みを用いてロボットの操作をマルチメディアコンテンツ編集実行システムに追加する場合には、ロボットが通常のメディアと異なるために以下のような問題が生じる。
【０００６】
・時間管理を本体システム側に依存しているため、細かい時間管理が要求されるロボットの制御には適さない。
【０００７】
・動作部位やセンサ等の数や種類がロボットにより異なる。つまり、ロボットの場合、ハード部分の変更がメディアに比べよくあるため、毎回それに合わせたモジュールを作成しなければならない。
【０００８】
本発明は、上記事情に鑑み、画像の動きと連携したロボットの操作を可能にしたロボット連携装置、コンピュータをそのようなロボット連携装置として動作させるロボット連携プログラム、およびそのロボット連携プログラムが記憶されているロボット連携プログラム記憶媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成する本発明のロボット連携装置は、
制御に応じて動作するロボットが接続されそのロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、そのシナリオに従って時間経過に応じた画像を提示するとともにロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
ロボット制御部は、フレームに対応した、上記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、メディア再生部からの時間経過の通知を受け、上記ロボットを、対応したフレームにおいて、その動作手順に従って動作させるものであることを特徴とする。
【００１０】
本発明のロボット連携装置は、ロボット制御の時間管理のための動作手順を、画像の動きを制御するためのシナリオとは別に持ち、シナリオからは時間経過の通知を受けてその動作手順に従ってロボットを動作させるように構成されている。したがって、本発明のロボット連携装置によれば、画像の動きに連動させてロボットの自由な動作制御が可能となる。
【００１１】
また、本発明のロボット連携装置はさらに、ロボット制御部に接続されるロボットがセンサを有しセンサ検出信号をロボット制御部に伝達するものであり、
ロボット制御部は、伝達されてきたセンサ検出信号に応じたイベントをメディア再生部に伝達するものであって、
メディア再生部は、ロボット制御部から伝達されてきたイベントに応じて上記シナリオを開始あるいは分岐させるものである。
【００１２】
本発明のロボット連携装置は、このようにロボットにセンサを備え主に画像を制御するシナリオをロボットのセンサの検出信号に応じて開始あるいは分岐させるものであるため、ロボット連携装置とロボットとの間で相互に影響し合い、一層線密に連携のとれた動作が可能となる。
【００１３】
また、上記本発明のロボット連携装置において、メディア再生部は、時間経過に対する画像の変化に加えさらに時間経過に対する音声の指示が記述されたシナリオを保持し、そのシナリオに従って時間経過に応じた画像および音声を提示するとともにロボット制御部に対しフレームごとの時間経過を通知するものであることが好ましい。
【００１４】
画像のみでなく音声も提示することで、一層表現の豊かな連携動作が可能となる。
【００１５】
また、上記本発明のロボット連携装置において、メディア再生部は、ロボット制御部に対し、フレームごとの時間経過を通知するとともに、ロボットの動作を依頼するものであり、
ロボット制御部は、メディア再生部からのロボットの動作依頼を受けて、ロボットにその動作依頼に対応する動作を行なわせるものであることが好ましい。
【００１６】
メディア再生部からロボット制御部にロボットの動作依頼を行なう構成とすることにより、あらかじめ定められたフレームごとのロボットの動きだけでなく、例えばユーザからの指示を受けて動作するなど、臨機応変なロボット動作が可能となる。
【００１７】
この場合に、ロボットの動作には優先度が付されており、ロボット制御部は、ロボットを動作させている途中で前記メディア再生部からそのロボットの動作依頼を受け取った場合に、動作中の動作の優先度とその動作依頼に応じた動作の優先度との大小に応じて、動作を継続しあるいは動作を切り換えるものであることが好ましい。
【００１８】
メディア制御部からのロボットの動作依頼を可能とすると、ロボット制御部がロボットの動作を制御している途中でメディア再生部から動作依頼を受ける可能性がある。この場合に、上記のように動作に優先度を付しておき、その優先度に応じて動作を継続しあるいは動作を切り換えることにより、動作指令の衝突が回避される。
【００１９】
さらに、上記本発明のロボット連携装置において、ロボット制御部は、そのロボット制御部に接続されたロボットの種別に応じて起動されてそのロボットの動作を制御するロボット固有モジュールと、上記動作手順を保持しロボットに動作手順表に従った動作を行なわせるようロボット固有モジュールに指示するロボット共通モジュールとを有するものであることが好ましい。
【００２０】
前述したように、ロボットにより動作部位やセンサ等の数が異なるなど、ロボットの場合ハード部分の変更が一般のメディアに比べて多いことが予想される。そこで、上記のようにロボットに依存する部分をロボット固有モジュールとして、ロボットの種別には依存しないロボット共通モジュールとは別に構成することにより、このロボット連携装置に別の種別のロボットが接続された場合の対処が容易となる。
【００２１】
さらに、上記のようにロボットに依存する部分をロボット固有モジュールとして構成した場合に、ロボット制御部に接続されたロボットの種別を検索し、ロボット固有モジュールのうちの、そのロボット制御部に接続されたロボットの種別に応じたロボット固有モジュールを起動する接続ロボット検索部を有することが好ましい。
【００２２】
こうすることにより、ユーザがモジュールの切替えを意識する必要がなく、常に適切なモジュールが起動される。
【００２３】
また、上記本発明のロボット連携装置において、ロボット制御部に接続されたロボットを表現した画像をそのロボットの動作を定義するボタンとともに表示する表示部と、その表示部に表示されたボタンの操作を含む操作を行なう操作部と、その操作部の操作に応じてロボットの動作を記述したスクリプトを作成するスクリプト作成部とを備えることが好ましい。
【００２４】
こうすることにより、ロボットの動作を定義するにあたり、直感的に容易にその定義を行なうことができる。
【００２５】
さらに、上記本発明のロボット連携装置において、ロボット制御部に接続されるロボットが複数のセンサを有しこれら複数のセンサそれぞれによる各センサ検出信号をロボット制御部に伝達するものであり、
ロボット制御部は、上記複数のセンサのうちの全部もしくは一部のセンサに関するセンサ検出信号の順序を記憶しておき、ロボットからセンサ検出信号を記憶された順序で受け取った場合にその順序に応じたイベントをメディア再生部に伝達するものであって、
メディア再生部は、ロボット制御部から伝達されてきたイベントに応じてシナリオを開始あるいは分岐させるものであることが好ましい。
【００２６】
こうすることにより、ロボットセンサからの不必要なセンサ検出信号によってイベントが伝達されるのを避けることができる。
【００２７】
また、上記目的を達成する本発明のロボット連携プログラム記憶媒体は、制御に応じて動作するロボットが接続されるコンピュータにローディングされ、そのコンピュータを、
接続されたロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、そのシナリオに従って時間経過に応じた画像を提示するとともにロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
ロボット制御部は、フレームに対応した、上記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、メディア再生部からの時間経過の通知を受け、上記ロボットを、対応したフレームにおいて、その動作手順に従って動作させるものであるロボット連携装置として動作させる、ロボット連携プログラムが記憶されてなることを特徴とする。
【００２８】
本発明のロボット連携プログラム記憶媒体に記憶されたロボット連携プログラムをコンピュータにローディングすることにより、そのコンピュータを、本発明のロボット連携装置として動作させることができる。
【００２９】
また、上記目的を達成する本発明のロボット連携プログラムは、制御に応じて動作するロボットが接続されるコンピュータ内で実行されるロボット連携プログラムであって、
このコンピュータに接続されたロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、そのシナリオに従って時間経過に応じた画像を提示するとともにロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
ロボット制御部は、フレームに対応した、上記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、メディア再生部からの時間経過の通知を受け、上記ロボットを、対応したフレームにおいて、その動作手順に従って動作させるものであることを特徴とする。
【００３０】
本発明のロボット連携プログラムがコンピュータ内で実行されることにより、そのコンピュータを、本発明のロボット連携装置として動作させることができる。
【００３１】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００３２】
図１は、本発明のロボット連携装置の一実施形態として採用されるコンピュータとそのコンピュータに接続されたロボットの外観を示す図である。
【００３３】
このコンピュータ１００は、ＣＰＵ、ＲＡＭメモリ、磁気ディスク、通信用ボード等を内蔵した本体１０１、本体１０１からの指示により画面表示を行なうＣＲＴディスプレイ１０２、このコンピュータ内にユーザの指示や文字情報を入力するためのキーボード１０３、ＣＲＴディスプレイ１０２の表示画面上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するマウス１０４、および、本体１０１から出力された音声信号を音声に変換して出力するスピーカ１０５を備えている。
【００３４】
本体１０１には、外観上、フロッピィディスクやＭＯ（光磁気ディスク）が取り出し自在に装填される、フロッピィディスク装填口１０１ａやＭＯ装填口１０１ｂを有しており、その内部には、装填されたフロッピィディスク、ＭＯをドライブするフロッピィディスクドライブ、ＭＯドライブも内蔵されている。
【００３５】
ロボット２００は、ケーブル３００でコンピュータ１００の本体１０１と接続されており、コンピュータ１００からの制御信号により、頭部２０１、左右の腕部２０２ａ，２０２ｂ、左右の足部２０３ａ，２０３ｂが動くように構成されている。また、図１に示すスピーカ１０５とは別にこのロボット２００にもスピーカが内蔵されており、コンピュータ１００からの音声信号に応じて音声を発生する。さらに、頭部２０１、左右の腕部２０２ａ，２０２ｂや腹部２０４には各センサが配置されており、ユーザが手で頭を叩いたり左あるいは右の腕を動かすとそれに応じたセンサ検出信号が出力されケーブル３００を経由してコンピュータ１００に伝達される。
【００３６】
図２は、図１に示すコンピュータのハードウェア構成図である。
【００３７】
このハードウェア構成図には、中央演算処理装置（ＣＰＵ）１１１、ＲＡＭ１１２、磁気ディスクコントローラ１１３、フロッピィディスクドライブ１１４、ＭＯドライブ１１５、マウスコントローラ１１６、キーボードコントローラ１１７、ディスプレイコントローラ１１８、および通信用ボード１１９が示されており、それらはバス１１０で相互に接続されている。
【００３８】
磁気ディスクコントローラ１１３は、本体１０１（図１参照）に内蔵された磁気ディスク１２１をアクセスするものである。
【００３９】
また、フロッピィディスクドライブ１１４、ＭＯドライブ１１５は、図２を参照して説明したように、それぞれフロッピィディスク１２２、ＭＯ１２３が装填され、装填されたフロッピィディスク１２２、ＭＯ１２３をアクセスするものである。
【００４０】
また、マウスコントローラ１１６、キーボードコントローラ１１７は、それぞれ、マウス１０４、キーボード１０３の操作をこのコンピュータ内部に伝えるものである。
【００４１】
また、ディスプレイコントローラ１１８は、ＣＰＵ１１１で動作するプログラムに応じて、ＣＲＴディスプレイ１０２に画像を表示させるコントローラである。
【００４２】
さらに、通信用ボードは、ケーブル３００を介して図１に示すロボット２００と通信を行ない、ロボット２００に制御信号を送ってロボット２００を動作させ、またロボットセンサの検出信号を受信する役割りを担っている。
【００４３】
このコンピュータ１００は、フロッピィディスク１２２やＭＯ１２３に記憶されていたプログラムがインストールされ、本発明のロボット連携装置として動作するものであり、したがって、ここでは、図１，図２に示したコンピュータのハードウェアと、そのコンピュータにインストールされて実行されるプログラムとの組合せとして本発明のロボット連携装置の一実施形態が実現されている。また、このコンピュータを本発明のロボット連携装置として動作させるプログラムが、本発明にいうロボット連携プログラムに相当し、フロッピィディスク１２２やＭＯ１２３にそのロボット連携プログラムが記憶されている場合に、そのロボット連携プログラムを記憶した状態にあるフロッピィディスク１２２やＭＯ１２３が本発明にいうロボット連携プログラム記憶媒体に相当する。また、そのロボット連携プログラムがこのコンピュータにインストールされると、そのインストールされたロボット連携プログラムは磁気ディスク１２１に記憶される。従って、そのロボット連携プログラムを記憶した状態にある磁気ディスク１２１も本発明のロボット連携プログラム記憶媒体の一例に相当する。
【００４４】
図３は、本発明のロボット連携プログラム記憶媒体の一実施形態に記憶された、本発明のロボット連携プログラムの一実施形態の概略構成を示す図である。この図３に示すロボット連携プログラム記憶媒体４００は、ロボット連携プログラムが記述された状態にある、図２に示すフロッピィディスク１２２、ＭＯ１２３、および磁気ディスク１２１等を代表的に示したものである。
【００４５】
このロボット連携プログラム記憶媒体４００には、ロボット連携プログラム４１０が記憶されており、このロボット連携プログラム４１０は、ロボット制御部４１１、メディア再生部４１２、接続ロボット検索部４１３、表示制御部４１４、およびスクリプト作成部４１５から構成されている。
【００４６】
ロボット制御部４１１は、接続されたロボット２００の動作の制御を担う部分である。
【００４７】
また、メディア再生部４１２は、時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、そのシナリオに従って時間経過に応じた画像を提示するとともに、ロボット制御部４１１に対しフレームごとの時間経過を通知する。
【００４８】
ここで、ロボット制御部４１１は、フレームに対応した、ロボット３００の、時間経過に対する姿勢の変化を表わす動作手順を保持し、メディア再生部４１２からの時間経過の通知を受け、ロボット２００を、対応したフレームにおいて、その動作手順に従って動作させる。
【００４９】
また、ロボット制御部４１１は、コンピュータ１００に接続されたロボットから伝達されてきたセンサ検出信号に応じたイベントをメディア再生部４１２に伝達するものであって、メディア再生部４１２はロボット制御部４１１から伝達されてきたイベントに応じてシナリオを開始あるいは分岐させる。
【００５０】
この場合に、このロボットは複数のセンサを有し、それら複数のセンサそれぞれによる各センサ検出信号をコンピュータに伝達するものであり、ロボット制御部４１１は、それら複数のセンサのうちの全部もしくは一部のセンサに関するセンサ検出信号の順序を記憶しておき、ロボットからセンサ検出信号を記憶された順序で受け取った場合にその順序に応じたイベントをメディア再生部４１２に伝達するようにセッティングしておくこともできる。
【００５１】
さらに、メディア再生部４１２は、時間経過に対する画像の変化に加えさらに時間経過に対する音声の指示が記述されたシナリオを保持し、そのシナリオに従って時間経過に応じた画像および音声を提示するとともにロボット制御部４１１に対しフレームごとの時間経過を通知する。
【００５２】
また、メディア再生部４１２は、ロボット制御部４１１に対し、フレームごとの時間経過を通知するとともに、ロボットの動作を依頼するものであり、ロボット制御部４１１は、メディア再生部４１２からのロボットの動作依頼を受けて、その動作依頼に対応する動作を行なわせるものである。
【００５３】
また、ロボットの動作には優先度が付されており、ロボット制御部４１１は、ロボットを動作させている途中でメディア再生部４１２からそのロボットの動作依頼を受け取った場合に、動作中の動作の優先度とその動作依頼に応じた動作の優先度との大小に応じて、動作を継続しあるいは動作を切り換える。
【００５４】
さらに、ロボット制御部４１１は、コンピュータに接続されるロボットの種別に応じて起動されそのロボットの動作を制御するロボット固有モジュールと、上記動作手順を保持し、メディア再生部４１２からのロボットの動作依頼を受け、ロボットにその動作手順に従った動作を行なわせるようロボット固有モジュールに指示するロボット固有モジュールとを有するものである。
【００５５】
また、接続ロボット検索部４１３は、コンピュータに接続されたロボットの種別を検索し、ロボット固有モジュールのうちの、コンピュータに接続されたロボットの種別に応じたロボット固有モジュールを起動する。
【００５６】
また、表示制御部４１４は、ロボットを表わす画像をそのロボットの動作を定義するボタンとともに表示させるものであり、スクリプト作成部４１５は、表示されたボタンの操作を含む操作に応じて、ロボットの、その操作に応じた動作を記述したスクリプトを作成する。
【００５７】
以下、さらに具体的な実施形態について説明する。
【００５８】
図４は、本実施形態のロボット連携装置の、ロボットとの連携動作の概要説明図である。
【００５９】
コンピュータ内でのコンテンツソフトの実行により、コンピュータの表示画面上には、あらかじめ定義されたシナリオに従って動く画像が表示されており、この状態において、図４（Ａ）に示すようにロボットに触れると、そのロボットのセンサが触れられたことを検知し、コンピュータに伝える。するとそのコンピュータ内で実行されているコンテンツソフトがそれに反応し、それに応じて画像が変化する。一方、図４（Ｂ）に示すように、コンテンツソフト側からは、シナリオの進行に応じて、あるいはユーザがキーボードやマウスを操作したことに応じて、ロボットに制御信号が送られ、ロボットはその制御信号に応じた動作を行なう。
【００６０】
本実施形態のロボット連携装置は、このような、画像とロボットとの連携動作を実行する装置である。
【００６１】
図５は、本実施形態のロボット連携装置の、ソフトウェア（ロボット連携プログラム）を中心とした機能構成図である。
【００６２】
ここには、ロボット連携プログラムを構成する、マルチメディアコンテンツ編集実行システム、メディア制御モジュール（ロボット用）、ロボット動作編集／制御プログラム、およびロボット固有モジュールが示されている。
【００６３】
ロボット固有モジュールはロボットとの間で通信を行なう。
【００６４】
また、ロボット動作編集／制御プログラムは、ロボットの動作手順を表わすフレーム連動動作データおよび登録動作データを管理している。これらのデータに関する説明は後に譲る。
【００６５】
マルチメディアコンテンツ編集実行システムは、マルチメディアコンテンツの編集や実行の核になる部分であり、既存のシステムをそのまま利用することができる。前述したように、既存のマルチメディアコンテンツ編集実行システムでは、各メディアの編集／制御部がをモジュール化されており、モジュールの追加により新たなメディアの取り扱いを可能にする内部構造になっている。そこで、ここでは、ロボットという新たなメディアを取り扱うためにメディア制御モジュール（ロボット用）が用意されている。このメディア制御モジュール（ロボット用）は、他のメディア制御モジュール（図示せず）と同様、前述した機能、すなわち、
実行時：時間に従ってメディアを操作する機能
：メディアを操作する手段（スクリプトの関数など）を本体に追加する機能
：メディアに生じたイベントをマルチメディアコンテンツソフトに送る機能
編集時：メディアを編集する機能
を持ち、メディア制御モジュールは、マルチメディアコンテンツ編集実行システム本体から呼び出され、上記の各種機能が実行される。
【００６６】
このメディア制御モジュールは、ロボット動作編集／制御プログラムと通信を行なう。実行時（マルチメディアコンテンツソフト再生時）には、フレーム（シナリオの１コマ）がシステムで再生されるときに、そのイベントがメディア制御モジュールを経由してロボット動作編集／制御プログラムに送信される。このロボット動作編集／制御プログラムでは、図６を参照して説明するような処理が行なわれてロボットの制御が開始される。
【００６７】
ここで、ロボットの種別に依存する部分（ロボットとの通信、編集時のＧＵＩやパラメータの説明（後述する）など）は、ロボット固有モジュールとしてモジュール化されている。このロボット固有モジュールは、接続される可能性のあるロボット種別毎に用意されており、各ロボット固有モジュールは自分が制御するロボットの種別を特定するためのロボット情報を保持している。ある特定のロボットが接続された状態において図５に示すシステムが起動されると、その接続されているロボットに対応したロボット固有モジュールが磁気ディスクからローディングされ、動作可能状態となる。ただし、このロボット固有モジュールの公開関数はロボットの種別にかかわらず統一されており、したがってロボット動作編集／制御プログラムは、接続されるロボットの種別によらず共通化されている。
【００６８】
ここで、本発明にいうロボット連携プログラムとの対比では、マルチメディアコンテンツ編集実行システムと、画像や音声等ロボット以外のメディアを制御するメディア制御モジュール（図示せず）との組合せがメディア再生部に相当し、ロボット動作編集／制御プログラムとロボット固有モジュールとの組合せがロボット制御部に相当し、メディア制御モジュール（ロボット用）は、それらメディア再生部とロボット制御部との間の通信を仲介するつなぎの部分に相当する。また、ロボット動作編集／制御プログラムは、本発明のロボット連携プログラムにいう、接続ロボット検索部、表示制御部、およびスクリプト作成部を兼ねている。
【００６９】
マルチメディアコンテンツの編集を行なうにあたり、マルチメディアコンテンツ編集実行システムに対し、ユーザから、ロボットに関する編集の指示がなされると、その編集指示がメディア制御モジュール（ロボット用）に伝達され、メディア制御モジュール（ロボット用）は、ロボット動作編集／制御プログラムの動作エディタを起動する。その後ユーザにより、ロボットの動作が指定される。
【００７０】
図５には、フレーム連動動作データと登録動作データとが示されており、このうち登録動作データは、ロボットの一連の動作と、その一連の動作に付けた動作名称（例えば、図５に示す例では、嬉しい動き、悲しい動き等の名称）との対応を表わすデータである。この登録動作データを定義しておくと、１つの動作名称を指定することで一連の複数の動作全体を指定することができる。
【００７１】
また、フレーム連動動作データは、ロボットの、フレームに連動した動作を表わすデータである。このフレーム連動動作データ中には、登録動作データとして定義された、一連の動きを表わす動作名称を含ませることができる。
【００７２】
フレームに連動したロボットの動作の編集が行なわれた後、その編集結果のセーブが指示されると、メディア制御モジュール（ロボット）は、編集結果の動作を表わすデータが格納されたファイルのファイル名のみ、再生時にマルチメディアコンテンツ編集実行システムで参照される形式で保持し、そのファイル名で表わされるファイル自体（すなわちロボットの動作を表わすデータ自体）は、ロボット動作編集／制御プログラムが管理する形でセーブされる。すなわち、ロボットのフレーム連動動作データはマルチメディアコンテンツ編集実行システムで参照されるシナリオとは別に、本発明にいう動作手順として、ロボット動作の制御を担うロボット動作編集／制御プログラムが管理することになる。
【００７３】
尚、ここではロボットの動作の編集について説明したが、その他にも、画面に表示される画像やスピーカから出力される音声の編集などを行なうシナリオが作成される。これについては従来と同様であり、詳細説明は省略する。
【００７４】
再生時には、シナリオに従って画像や音声が提示される。また各フレーム通過のイベントがメディア制御モジュール（ロボット用）を経由してロボット動作編集／制御プログラムに伝えられ、このロボット動作編集／制御プログラムでは、そのフレーム通過のイベントに応じて現在のフレームに対応するフレーム連動動作データが存在するか否かが調べられ、現在のフレームに対応するフレーム連動動作データが存在するときは、そのデータがロボット固有モジュールに送られる。ロボット固有モジュールは、そのデータに基いてロボットに動作指令を発する。
【００７５】
ロボット固有モジュールは、ロボットセンサを監視しており、例えばロボットの頭が叩かれるなどロボットに操作が加えられロボットセンサがそれを検知すると、それをモニタ画面上に表示し、あるいはそれをメディア制御モジュール（ロボット用）に通知し、その通知はさらにマルチメディアコンテンツ編集実行システムにイベントとして通知される。マルチメディアコンテンツ編集実行システムは、そのイベントを受け取るとそれに応じてシナリオを分岐させ、それによって画面上の画像が変化しあるいは音声が出力される。
【００７６】
また、マルチメディアコンテンツ編集実行システムは、メディア制御モジュール（ロボット用）に対し、フレーム通過の通知のみでなく、ロボット動作指令を行なう。
【００７７】
このロボット動作はスクリプト形式で記述されている。このロボット動作指令は、マルチメディアコンテンツ編集実行システムに対し通知される、あらかじめ定められたイベント（例えばユーザによるキーボードやマウスの操作、あるいはロボットの操作等）に応じて行なわれる。
【００７８】
このロボット動作指令は、メディア制御モジュール（ロボット用）を経由してロボット動作編集／制御プログラムに伝えられ、ロボット動作編集／制御プログラムは、その動作指令に例えば「嬉しい動き」等一連の動作に名付けた動作名称が含まれているときは登録動作データを参照してここの動作データに分解するなど、その動作指令を解釈し、その解釈により得られた動作データをロボット固有モジュールに渡す。ロボット固有モジュールは、その動作データに基いてロボットに動作を指令する。
【００７９】
図６は、再生時におけるロボット動作編集／制御プログラムの処理を示すフローチャートである。
【００８０】
図５に示すマルチメディアコンテンツ編集実行システムがフレーム通過イベントを発行すると、そのフレーム通過イベントは、メディア制御モジュール（ロボット用）を経由してロボット動作編集／制御プログラムにより受信され、図６に示す処理が行なわれる。
【００８１】
ロボット動作編集／制御プログラムでは、フレーム通過イベントを受信すると（ステップａ１）、そのイベントに対応するフレームに連動する、ロボットの動作データが存在するか否かの検索が行なわれる（ステップａ２）。対応する動作データが存在しないときは、次のイベント待ちの状態に移る（ステップａ３）。対応する動作データが存在するときは（ステップａ３）、その動作を開始する（ステップａ４）。そのフレームに連動する動作は複数存在する場合もあり、その動作の実行に当っては、まず一つの動作を実行し（ステップａ５）、そのフレームに連動する動作が全て終了したか否かが判定される（ステップａ６）。動作終了の場合は、次のフレーム通過イベントの受信待ちの状態となり、そのフレームに連動する次の動作が残っているときは、次の動作開始までの時間待ちのためのタイマ設定が行なわれ、時間待ちの状態となる（ステップａ７）。次の動作開始時刻に達するとステップａ５に戻り、次の動作が実行される。このようにして、次の動作が存在する限り、上記のステップ５〜７が繰り返される。
【００８２】
図７は、ロボット動作編集／制御プログラムでの動作データの構造を示す図である。この図７には、図２を参照して説明した登録動作データとフレーム連動動作データが示されている。
【００８３】
ロボット動作編集／制御プログラムのメインウインドウクラスＲｏｂｏｔＴｒａｙが、登録動作データとフレーム連動動作データを、ＣＭｏｔｉｏｎクラスのポインタの配列として持つ。ＣＭｏｔｉｏｎは登録動作一つを表わしており、ＣＲｂｔＣｏｍｍａｎｄクラスのリストを持つ。ＲｂｔＣｏｍｍａｎｄは、一連の動作の中の各単位動作を表わす。ここで、ＭＯＴＩＯＮ＿ＴＯＴＡＬ、ＦＲＡＭＥ＿ＴＯＴＡＬは、それぞれ、その一連の動作を構成する単位動作の数、フレームの数を表わす。
【００８４】
各単位動作を表わす各ＲｂｔＣｏｍｍａｎｄには優先度ｂが付加されている。この優先度ｂはここでは同一の表記‘ｂ’であらわしているが、各ＲｂｔＣｏｍｍａｎｄそれぞれに応じて異なる（あるいは同一であってもよい）値である。
【００８５】
ロボット動作編集／制御プログラムがロボットの動作を実行している途中でマルチメディアコンテンツ編集実行システムからのロボット動作指令を受け取ったとき、そのロボット動作指令に対応する動作の方の優先度が高ければ、実行中の動作を中止して受け取ったロボット動作指令に対応する新たな動作の実行を開始する。本実施形態では、図７に示すように各単位動作１つずつに優先度が設定されているため、一連の動作の開始時は優先度は高く、次第に優先度が低くなるといったことが可能である。
【００８６】
図８は、優先度を考慮したロボットの動作決定フローを示す図である。
【００８７】
先ず、ロボット動作編集／制御プログラムが動作指令を受信する（ステップｂ１）。ここでは、その動作指令の、動作番号を１、その動作全体の優先度を１ａとする。
【００８８】
その動作指令を受信すると、対応する動作が存在するか否か判定され（ステップｂ２）、対応する動作が存在しないときは、その指令は無視される（ステップｂ８）。そのとき、その以前からの動作実行中のときは、その実行中の動作が継続される。
【００８９】
一方、ステップｂ２において対応する動作が存在する旨判定されると、その動作指令に対応する動作１の先頭の一動作の優先度１ｂが取得され、その動作１の優先度が１ａ＋１ｂにより求められる（ステップｂ３）。
【００９０】
ステップｂ４では、ロボットが現在動作中であるか否かが判定され、ロボットが動作中でなければ、今回受け取った動作指令に対応する動作１が実行される（ステップｂ５）。ロボットが現在動作中であるときは、その動作中の動作２（一連の動作）の全体の優先度２ａと、その動作２中の、正に今動作中の単位動作の優先度２ｂとから、現在動作中の動作の優先度２ａ＋２ｂが求められる（ステップｂ６）、動作１の優先度１ａ＋１ｂと動作２の優先度２ａ＋２ｂとの大小比較が行なわれ（ステップｂ７）、動作２の優先度が高いときは動作２が継続され（ステップｂ８）、動作１の優先度が高いときは動作２は中断されて動作１が開始される。
【００９１】
このように、本実施形態では動作に付された優先度に基づいて動作が決定され、動作の競合の回避が図られている。
【００９２】
図９は、ロボット固有モジュールの自動ローディングを示すフローチャートである。
【００９３】
コンピュータ内において図２に示すシステムを立ち上げるにあたり、ロボット動作編集／制御プログラムは、図９に示すフローチャートに従って、接続されているロボットに適合したロボット固有モジュールを実行可能状態にする。
【００９４】
先ずステップｃ１においてロボット固有モジュールＲｏｂｏ＊．Ｄｌｌの存在を検索する。ロボット固有モジュールが見つからないときは検索失敗となる。
【００９５】
ロボット固有モジュールが見つかったときは、そのロボット固有モジュールをローディングし、ロボットとの間の通信の初期化、確立を試みる（ステップｃ２）。そのロボット固有モジュールの通信仕様とロボットの通信仕様とが異なるときなど通信の確立に失敗したときは、ローディングしたロボット固有モジュールを解放し（ステップｃ５）、ステップｃ１に戻り、次のロボット固有モジュールの存在を検索する。
【００９６】
ステップｃ２において通信の確立に成功したときは、ロボットからそのロボットの種別の情報を取得し、ロボット固有モジュールが持っているロボット種別情報と比べ種別が一致しているか否か判定する（ステップｃ３）。種別が不一致のときはそのロボット固有モジュールを解放して（ステップｃ５）、次のロボット固有モジュールの存在が検索され（ステップｃ１）、種別が一致したときは、そのロボット固有モジュールが、接続されたロボットに適合するロボット固有モジュールであるため、そのロボット固有モジュールをそのまま保持する。
【００９７】
このような手順を踏むことにより、ロボット固有モジュールの切り替えをユーザが明示的に行なう必要がなく、常に適切なロボット固有モジュールのロードが行なわれる。
【００９８】
図１０は、ロボットを動作編集を行なう動作編集エディタ画面を示す図、図１１は、図１０の画面をＧＵＩで操作しながらの、ロボットの動作を表わすスクリプトを作成する手順を示した図である。
【００９９】
図１０には、ロボットを表現した画像がそのロボットの動作を定義するボタンとともに表示されているが、これらの情報は、ロボット固有モジュールがロボット情報の一部として保持していた情報であり、ロボット動作編集／制御プログラム中の動作編集エディタは、ロボット固有モジュールからそれらの情報を得て図１０に示す画面上に表示する。したがって、接続されたロボットが変更されると、上述したようにそれに応じてロボット固有モジュールも変更され、この画面上に表示されるロボットの画像やその動作定義用のボタンも変更されることになる。
【０１００】
また、メディア制御モジュール（ロボット用）には、マルチメディアコンテンツ編集実行システムに追加するスクリプト書式のデータが保持されており、ロボット動作編集／制御プログラム中の動作編集エディタは、メディア制御モジュールから、そのメディア制御モジュールがマルチメディアコンテンツ編集実行システムに追加するスクリプト書式を取得する（図１１ステップｄ１）。このスクリプト書式には、単動作と、複合動作（図５を参照して説明した、嬉しい動き、悲しい動き等の名称が付された一連の動作を複合動作と称する）との二種類が存在し、それぞれ、
（Ａ）単動作：ｒｏｂｏ＿ｍｏｔｉｏｎ（ｐａｒａｍ１，ｐａｒａｍ２，ｐｒｉｏｒｉｔｙ）
（Ｂ）複合動作：ｒｏｂｏ＿ｐｒｅｓｅｔｍｏｔｉｏｎ（ｐａｒａｍ，      ｐｒｉｏｒｉｔｙ）
ここで、ｒｏｂｏ＿ｍｏｔｉｏｎ，ｒｏｂｏ＿ｐｒｅｓｅｔｍｏｔｉｏｎは、それぞれ単動作、複合動作であることを表わしている。単動作中のｐａｒａｍ１は、動作の種類を表わすパラメータ、ｐａｒａｍ２は、動作の速度等を表わすパラメータである。また複合動作中のｐａｒａｍは、複合動作の種別を表わすパラメータである。さらに、単動作、複合動作中のｐｒｉｏｒｉｔｙは、前述した、その動作の優先度を表わすパラメータである。
【０１０１】
ユーザは、図１０に示す動作編集画面上で、ＧＵＩ（例えばマウス操作）により、単動作あるいは複合動作を選択する（ステップｄ２）。ここでは単動作が選択されたものとする。
【０１０２】
次にパラメータｐａｒａｍ１を指定するのであるが、このパラメータの指定はロボットの画像とともに表示されている動作設定用のボタンをクリックすることにより、そのクリックのイベントがパラメータｐａｒａｍ１に変換される（ステップｄ３）。
【０１０３】
次にパラメータｐａｒａｍ２を指定するのにあたり、マウスカーソルをパラメータ２の入力欄に置くと、説明表示欄に、そのパラメータ２の説明が表示される。この説明は、パラメータ１が同一（例えばいずれもロボットの頭部をうなづかせるなど）であっても、ロボットの種別に応じても異なることがある。これらの説明文も、ロボット固有モジュールがロボット情報の一部として保持していた情報である。ユーザはその説明文を読み、パターン２を正しく入力することができる（ステップｄ４）。
【０１０４】
次に優先度ｐｒｉｏｒｉｔｙの指定にあたり、マウスカーソルを優先度の欄に置くと、パラメータ２の場合と同様、説明表示欄に優先度に関する説明が表示される。ユーザは、その説明文を読み、優先度を正しく入力することができる（ステップｄ５）。
【０１０５】
以上のようにして、ロボットの動作を表わすスクリプトが完成する（ステップｄ６）。
【０１０６】
以上は単動作のスクリプト作成の説明であるが、これに対し、複合動作のスクリプトの作成にあたっては、作成済みの登録動作がリストアップされるので、その中から所定の登録動作を選択する。所望の複合動作が登録されていなかったときは、「複合動作の追加登録」のボタンを押し、新たな複合動作を定義して追加登録することができる。詳細説明は省略する。
【０１０７】
以上のようにして、完成させたスクリプトをフレームに連動させるときは、現在のフレーム番号を選択し「動作をセット」のボタンを押す。これにより、そのフレーム番号にそのスクリプトが対応づけられる。
【０１０８】
また、以上のようにして完成させたスクリプトをフレームに連動させるのではなく、例えばユーザのＧＵＩ操作等のイベントに対応づけるには、本実施形態ではＬＩＮＧＯと呼ばれるスクリプト言語で記述されたＬＩＮＧＯスクリプトとして、指定のイベントに対応づけられたＬＩＮＧＯ関数中に挿入される。この場合、その指定のイベントが発生すると、ロボットがそこに記述されたＬＩＮＧＯスクリプトに従って動作することになる。尚、図１０の画面中の「クリップボードにコピー」のボタンは、その横に記述されたＬＩＮＧＯスクリプトを後での使用のためにクリップボードと呼ばれる一覧表中にコピーしておくためのものである。
【０１０９】
本実施形態では、ロボットの動作をあらわすスクリプトの作成にあたり、一部のパラメータについてはボタン操作によりそのパラメータの値を指定するようにしたため、その分、ロボット動作の直感的な指定が可能となる。また、ボタン操作により指定することができないパラメータについては、その説明文を表示するようにしたため、やはり指定が容易となる。
【０１１０】
図１２は、センサ検出パターンとイベントとの対応関係を表わすデータ構造を示す図である。
【０１１１】
この図１２は、例えば、ロボットの頭が２回叩かれる（頭にセットされたセンサが２回検出信号を出力する）とイベント１が発行され、頭が２回叩かれた後、腹に触れると、イベント２が発行されることを示している。
【０１１２】
本実施形態では、ロボット動作編集／制御プログラムに、この図１２に示すような、ロボットのセンサ検出パターンとイベントとの対応関係が登録されており、ユーザがロボットに対しアクションを行なうと、以下に説明するフローに従って所定のセンサ検出パターンのときにマルチメディアコンテンツ編集実行システムに向けたイベントが発行される。
【０１１３】
図１３は、センサ検出パターンの検索、イベント通知のフローを示す図である。
【０１１４】
ユーザがロボットを操作しセンサ入力があると（ｅ１）、現在のノードに対する下のノードに移動し（ステップｅ２）、そのノードがセンサ入力に合ったノードであるか否かが判定され（ステップｅ３）、センサ入力に合ったノードでなかったときはトークン（図１２に示すデータ構造上の現在地）がスタートに戻される。
【０１１５】
ステップｅ３においてセンサ入力に合ったノードであると判定されるとトークンが移動され（ステップｅ４）、そのノードにイベントが設定されているか否かが判定され（ステップｅ５）、イベントが設定されていたときはイベントが通知される（ステップｅ６）。ステップｅ７ではさらに下にノードが存在するか否かが判定され、下にノードが存在しないときはトークンがスタートに戻され（ステップｅ８）、下にノードが存在するときはそのまま待機し、次のセンサ入力待ちの状態となる。
【０１１６】
センサ入力があるたびにこの図１３のフローが実行され、あらかじめ定められた特定のセンサ入力パターンときのみイベントが通知される。
【０１１７】
尚、図１３には明示されていないが、所定の時間内に次のセンサ入力がなかったときはトークンはスタートに戻される。
【０１１８】
このように、特定のパターンのセンサ入力があった場合のみ、それを１つのイベントとしてコンテンツ編集実行システムに送信することにより、不必要なイベントが送信されないようにすることができる。
【０１１９】
図１２，図１３は、少なくとも２つのセンサがあったとき始めてイベントが通知されるように構成されているが、先頭のノードにイベントを対応付ることにより、１つのセンサ入力があったときにイベントを通知するように設定することもできる。
（付記）以下に、本発明の各種形態を付記する。
【０１２０】
（付記１）  制御に応じて動作するロボットが接続され該ロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、該シナリオに従って時間経過に応じた画像を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
前記ロボット制御部は、フレームに対応した、前記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、前記メディア再生部からの時間経過の通知を受け、前記ロボットを、対応したフレームにおいて、前記動作手順に従って動作させるものであることを特徴とするロボット連携装置。
【０１２１】
（付記２）  前記ロボット制御部に接続されるロボットがセンサを有しセンサ検出信号を該ロボット制御部に伝達するものであり、
前記ロボット制御部は、伝達されてきたセンサ検出信号に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１記載のロボット連携装置。
【０１２２】
（付記３）  前記メディア再生部は、時間経過に対する画像の変化に加えさらに時間経過に対する音声の指示が記述されたシナリオを保持し、該シナリオに従って時間経過に応じた画像および音声を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するものであることを特徴とする付記１記載のロボット連携装置。
【０１２３】
（付記４）  前記メディア再生部は、前記ロボット制御部に対し、フレームごとの時間経過を通知するとともに、前記ロボットの動作を依頼するものであり、
前記ロボット制御部は、前記メディア再生部からのロボットの動作依頼を受けて、前記ロボットに該動作依頼に対応する動作を行なわせるものであることを特徴とする付記１記載のロボット連携装置。
【０１２４】
（付記５）  前記ロボットの動作には優先度が付されており、
前記ロボット制御部は、前記ロボットを動作させている途中で前記メディア再生部から該ロボットの動作依頼を受け取った場合に、動作中の動作の優先度と該動作依頼に応じた動作の優先度との大小に応じて、動作を継続しあるいは動作を切り換えるものであることを特徴とする付記４記載のロボット連携装置。
【０１２５】
（付記６）  前記ロボット制御部は、該ロボット制御部に接続されたロボットの種別に応じて起動され該ロボットの動作を制御するロボット固有モジュールと、前記動作手順を保持し前記ロボットに前記動作手順に従った動作を行なわせるようロボット固有モジュールに指示するロボット共通モジュールとを有するものであることを特徴とする付記１記載のロボット連携装置。
【０１２６】
（付記７）  前記ロボット制御部に接続されたロボットの種別を検索し、前記ロボット固有モジュールのうちの、該ロボット制御部に接続されたロボットの種別に応じたロボット固有モジュールを起動する接続ロボット検索部を有することを特徴とする付記６記載のロボット連携装置。
【０１２７】
（付記８）  前記ロボット制御部に接続されたロボットを表現した画像を該ロボットの動作を定義するボタンとともに表示する表示部と、該表示部に表示されたボタンの操作を含む操作を行なう操作部と、前記操作部の操作に応じて前記ロボットの動作を記述したスクリプトを作成するスクリプト作成部とを備えたことを特徴とする付記１記載のロボット連携装置。
【０１２８】
（付記９）  ロボット制御部に接続されるロボットが複数のセンサを有しこれら複数のセンサそれぞれによる各センサ検出信号を該ロボット制御部に伝達するものであり、
前記ロボット制御部は、前記複数のセンサのうちの全部もしくは一部のセンサの順序を記憶しておき、前記ロボットから前記センサ検出信号を記憶された順序で受け取った場合に該順序に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１記載のロボット連携装置。
【０１２９】
（付記１０）  制御に応じて動作するロボットが接続されるコンピュータにローディングされ、該コンピュータを、
接続されたロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、該シナリオに従って時間経過に応じた画像を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
前記ロボット制御部は、フレームに対応した、前記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、前記メディア再生部からの時間経過の通知を受け、前記ロボットを、対応したフレームにおいて、前記動作手順に従って動作させるものであるロボット連携装置として動作させる、ロボット連携プログラムが記憶されてなることを特徴とするロボット連携プログラム記憶媒体。
【０１３０】
（付記１１）  前記コンピュータに接続されるロボットがセンサを有しセンサ検出信号をコンピュータに伝達するものであり、
前記ロボット制御部は伝達されてきたセンサ検出信号に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３１】
（付記１２）  前記メディア再生部は、時間経過に対する画像の変化に加えさらに時間経過に対する音声の提示が記述されたシナリオを保持し、該シナリオに従って時間経過に応じた画像および音声を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３２】
（付記１３）  前記メディア再生部は、前記ロボット制御部に対し、フレームごとの時間経過を通知するとともに、前記ロボットの動作を依頼するものであり、
前記ロボット制御部は、前記メディア再生部からのロボットの動作依頼を受けて、前記ロボットに該動作依頼に対応する動作を行なわせるものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３３】
（付記１４）  ロボットの動作には優先度が付されており、
前記ロボット制御部は、前記ロボットを動作させている途中で前記メディア再生部から該ロボットの動作依頼を受け取った場合に、動作中の動作の優先度と該動作依頼に応じた動作の優先度との大小に応じて、動作を継続しあるいは動作を切り換えるものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３４】
（付記１５）  前記ロボット制御部は、コンピュータに接続されたロボットの種別に応じて起動され該ロボットの動作を制御するロボット固有モジュールと、前記動作手順を保持し前記ロボットに前記動作手順に従った動作を行なわせるよう前記ロボット固有モジュールに指示するロボット共通モジュールとを有するものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３５】
（付記１６）  前記コンピュータに接続されたロボットの種別を検索し、前記ロボット固有モジュールのうちの、該コンピュータに接続されたロボットの種別に応じたロボット固有モジュールを起動する接続ロボット検索部を有することを特徴とする付記１５記載のロボット連携プログラム記憶媒体。
【０１３６】
（付記１７）  ロボットを表現した画像を該ロボットの動作を定義するボタンとともに表示させる表示制御部と、表示されたボタンの操作を含む操作に応じて、前記ロボットの、操作に応じた動作を記述したスクリプトを作成するスクリプト作成部とを有することを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３７】
（付記１８）  前記コンピュータに接続されるロボットが複数のセンサを有しこれら複数のセンサそれぞれによる各センサ検出信号を該コンピュータに伝達するものであり、
前記ロボット制御部は、前記複数のセンサのうちの全部もしくは一部のセンサの順序を記憶しておき、前記ロボットから前記センサ検出信号を記憶された順序で受け取った場合に該順序に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１０記載のロボット連携プログラム記憶媒体。
【０１３８】
（付記１９）  制御に応じて動作するロボットが接続されるコンピュータ内で実行されるロボット連携プログラムであって、
前記コンピュータに接続されたロボットの動作を制御するロボット制御部と、
時間経過に対する画像の変化が記述されイベントに応じたシナリオを保持し、該シナリオに従って時間経過に応じた画像を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するメディア再生部とを有し、
前記ロボット制御部は、フレームに対応した、前記ロボットの、時間経過に対する姿勢の変化を表わす動作手順を保持し、前記メディア再生部からの時間経過の通知を受け、前記ロボットを、対応したフレームにおいて、前記動作手順に従って動作させるものであることを特徴とするロボット連携プログラム。
【０１３９】
（付記２０）  前記コンピュータに接続されるロボットがセンサを有しセンサ検出信号をコンピュータに伝達するものであり、
前記ロボット制御部は伝達されてきたセンサ検出信号に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４０】
（付記２１）  前記メディア再生部は、時間経過に対する画像の変化に加えさらに時間経過に対する音声の提示が記述されたシナリオを保持し、該シナリオに従って時間経過に応じた画像および音声を提示するとともに前記ロボット制御部に対しフレームごとの時間経過を通知するものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４１】
（付記２２）  前記メディア再生部は、前記ロボット制御部に対し、フレームごとの時間経過を通知するとともに、前記ロボットの動作を依頼するものであり、
前記ロボット制御部は、前記メディア再生部からのロボットの動作依頼を受けて、前記ロボットに該動作依頼に対応する動作を行なわせるものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４２】
（付記２３）  ロボットの動作には優先度が付されており、
前記ロボット制御部は、前記ロボットを動作させている途中で前記メディア再生部から該ロボットの動作依頼を受け取った場合に、動作中の動作の優先度と該動作依頼に応じた動作の優先度との大小に応じて、動作を継続しあるいは動作を切り換えるものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４３】
（付記２４）  前記ロボット制御部は、コンピュータに接続されたロボットの種別に応じて起動され該ロボットの動作を制御するロボット固有モジュールと、前記動作手順を保持し前記ロボットに前記動作手順に従った動作を行なわせるよう前記ロボット固有モジュールに指示するロボット共通モジュールとを有するものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４４】
（付記２５）  前記コンピュータに接続されたロボットの種別を検索し、前記ロボット固有モジュールのうちの、該コンピュータに接続されたロボットの種別に応じたロボット固有モジュールを起動する接続ロボット検索部を有することを特徴とする付記２４記載のロボット連携プログラム。
【０１４５】
（付記２６）  ロボットを表現した画像を該ロボットの動作を定義するボタンとともに表示させる表示制御部と、表示されたボタンの操作を含む操作に応じて、前記ロボットの、操作に応じた動作を記述したスクリプトを作成するスクリプト作成部とを有することを特徴とする付記１９記載のロボット連携プログラム。
【０１４６】
（付記２７）  前記コンピュータに接続されるロボットが複数のセンサを有しこれら複数のセンサそれぞれによる各センサ検出信号を該コンピュータに伝達するものであり、
前記ロボット制御部は、前記複数のセンサのうちの全部もしくは一部のセンサの順序を記憶しておき、前記ロボットから前記センサ検出信号を記憶された順序で受け取った場合に該順序に応じたイベントを前記メディア再生部に伝達するものであって、
前記メディア再生部は、前記ロボット制御部から伝達されてきたイベントに応じて前記シナリオを開始あるいは分岐させるものであることを特徴とする付記１９記載のロボット連携プログラム。
【０１４７】
【発明の効果】
以上、説明したように、本発明によれば画像の動きに連携したロボットの操作が行なわれる。
【図面の簡単な説明】
【図１】本発明のロボット連携装置の一実施形態として採用されるコンピュータとそのコンピュータに接続されたロボットの外観を示す図である。
【図２】図１に示すコンピュータのハードウェア構成図である。
【図３】本発明のロボット連携プログラム記憶媒体の一実施形態に記憶された、本発明のロボット連携プログラムの一実施形態の概略構成を示す図である。
【図４】本実施形態のロボット連携装置の、ロボットとの連携動作の概要説明図である。
【図５】本実施形態のロボット連携装置の、ソフトウェア（ロボット連携プログラム）を中心とした機能構成図である。
【図６】再生時におけるロボット動作編集／制御プログラムの処理を示すフローチャートである。
【図７】ロボット動作編集／制御プログラムでの動作データの構造を示す図である。
【図８】優先度を考慮したロボットの動作決定フローを示す図である。
【図９】ロボット固有モジュールの自動ローディングを示すフローチャートである。
【図１０】ロボットの動作編集を行なう動作編集エディタ画面を示す図である。
【図１１】図１０の画面をＧＵＩで操作しながらの、ロボットの動作を表わすスクリプトを作成する手順を示した図である。
【図１２】センサ検出パターンとイベントとの対応関係を表わすデータ構造を示す図である。
【図１３】センサ検出パターンの検索、イベント通知のフローを示す図である。
【符号の説明】
１００    コンピュータシステム
１０１    本体
１０１ａ    フロッピィディスク装填口
１０１ｂ    ＭＯ装填口
１０２    ＣＲＴディスプレイ
１０３    キーボード
１０４    マウス
１０５    スピーカ
１１０    バス
１１１    中央演算処理装置（ＣＰＵ）
１１２    ＲＡＭ
１１３    磁気ディスクコントローラ
１１４    フロッピィディスクドライブ
１１５    ＭＯドライブ
１１６    マウスコントローラ
１１７    キーボードコントローラ
１１８    ディスプレイコントローラ
１１９    通信用ボード
１２１    磁気ディスク
１２２    フロッピィディスク
１２３    ＭＯ
２００    ロボット
２０１    頭部
２０２ａ    左右の腕
２０２ｂ    左右の腕
２０３ａ    左右の足部
２０３ｂ    左右の足部
２０４    腹部
３００    ケーブル
４００    ロボット連携プログラム記憶媒体
４１０    ロボット連携プログラム
４１１    ロボット制御部
４１２    メディア再生部
４１３    接続ロボット検索部
４１４    表示制御部
４１５    スクリプト作成部
【図１】
0004934904.tif 000002
【図２】
0004934904.tif 000003
【図３】
0004934904.tif 000004
【図４】
0004934904.tif 000005
【図５】
0004934904.tif 000006
【図６】
0004934904.tif 000007
【図７】
0004934904.tif 000008
【図８】
0004934904.tif 000009
【図９】
0004934904.tif 000010
【図１０】
0004934904.tif 000011
【図１１】
0004934904.tif 000012
【図１２】
0004934904.tif 000013
【図１３】
0004934904.tif 000014