(57)【要約】【課題】エンターテインメントロボットにおいて、ユーザに飽きられないロボットを実現するために、ロボットの動作プログラムの作成環境を効率化し、多数のプログラムを容易に作成できるようにする。【解決手段】端末装置１の画面に表示されたタイムチャート上に、ロボット動作部５の可動部５１〜５５毎に動作命令ボタンを配置していくことにより、視覚的なプログラミング環境を提供し、ロボットの各可動部５１〜５５が同期していく様子を容易に把握できるようにする。また、端末記憶部２に部品化された複数の部品プログラム２１を利用し、ロボットが発する音声に合わせて部品プログラム２１を組み合わせることにより、ロボットの可動部５１〜５５の動作を制御する動作プログラム４１の自動生成を可能にする。【選択図】　　　図１
2004078905.tif 000002
【特許請求の範囲】
【請求項１】
動作のタイムチャ−トと動作命令を並べて表示させて動作プログラムの作成を支援する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項２】
動作のタイムチャ−トと動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項３】
動作のタイムチャ−トの中に動作命令を並べて表示させて動作プログラムの作成を支援する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項４】
動作のタイムチャ−トの中に動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項５】
動作命令にしたがって動作する装置の動作プログラム作成支援装置であって、動作のタイムチャ−トと動作命令を並べて表示させてプログラムの作成を支援する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項６】
動作命令にしたがって動作する装置の動作プログラム作成支援装置であって、動作のタイムチャ−トと動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴とする動作プログラム作成支援装置。
【請求項７】
前記タイムチャ−トで表示される動作命令の情報が単位時間当たりの動きの情報と動作時間であることを特徴する請求項１から６のいずれかに記載の動作プログラム作成支援装置。
【請求項８】
前記タイムチャ−トで表示される動作命令の情報が動作時間と動作時間中になされる動作であることを特徴する請求項１から７のいずれかに記載の動作プログラム作成支援装置。
【請求項９】
前記タイムチャ−トで表示される動作命令の情報が動作終了後の状態であることを特徴する請求項１から８のいずれかに記載の動作プログラム作成支援装置。
【請求項１０】
出力すべき音声あるいは音と他の動作の終了タイミングを合わせるよう動作プログラム作成を支援する手段を有することを特徴とする請求項１から９のいずれかに記載の動作プログラム作成支援装置。
【請求項１１】
前記動作命令がボタンとして表示される手段を有することを特徴とする請求項１から９のいずれかに記載の動作プログラム作成支援装置。
【請求項１２】
ロボットの各動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラム製造方式であって、
前記ロボットの動作を画面上にタイムチャ−トとして表示すると共に前記動作部毎に入力できる動作命令の入力画面を表示し、その表示された入力画面から前記タイムチャ−ト上に前記動作命令を配置させて前記ロボットの動作プログラムの作成を行う手動作成手段を有することを特徴とするロボット動作プログラム製造方式。
【請求項１３】
前記手動作成手段は、前記動作命令を前記画面上にボタンとして表示することを特徴とする請求項１２記載のロボット動作プログラム製造方式。
【請求項１４】
前記手動作成手段は、前記動作命令を前記タイムチャ−トにそって伸縮させることを特徴とする請求項１２または１３のロボット動作プログラム製造方式。
【請求項１５】
前記手動作成手段は、前記動作命令の配置が前記ロボットによって実行不能な動作の指定が含まれるかどうかを検出して前記画面上に警告を発することを特徴とする請求項１２、１３、または１４記載のロボット動作プログラム製造方式。
【請求項１６】
前記警告は、時間的に重複不能な動作の指定を含むことを特徴とする請求項１５記載のロボット動作プログラム製造方式。
【請求項１７】
前記警告は、前記動作部の性能限界を越える動作の指定を含むことを特徴とする請求項１５記載のロボット動作プログラム製造方式。
【請求項１８】
前記警告は、種類に応じて前記ボタンの表示を変更して前記画面上に表示することを特徴とする請求項１５、１６、または１７記載のロボット動作プログラム製造方式。
【請求項１９】
出力すべき音声あるいは音に基づいて動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴とする動作プログラム作成支援装置。
【請求項２０】
ロボットが発する音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴とするロボット動作プログラム製造方式。
【請求項２１】
動作プログラムにより動作が制御される動作制御システムにおいて、
出力すべき音声あるいは音に基づいて動作プログラムを生成する自動生成手段を有し、
前記自動生成手段で生成した動作プログラムを実行することで音声あるいは音の出力に音声の再生にあわせて生成された動作を実施する実行制御手段を有することを特徴とする動作制御システム。
【請求項２２】
動作プログラムにより前記ロボットの各動作部の動作を制御するロボット制御システムにおいて、
前記ロボットが発する音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を有し、
前記自動生成手段で生成した動作プログラムを実行することで音声の再生にあわせて生成された動作の指定を前記ロボットの各動作部に送って動作を実施する実行制御手段を有することを特徴とするロボット制御システム。
【請求項２３】
前記自動生成手段は、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴とする請求項２０記載のロボット動作プログラム製造方式。
【請求項２４】
前記自動生成手段が、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴とする請求項２２記載のロボット制御システム。
【請求項２５】
前記自動生成手段は、前記ロボットの動作を画面上にタイムチャ−トとして表示し、前記タイムチャ−ト上に動作命令を配置して前記ロボットの動作プログラムの作成を行うことを特徴とする請求項２０または２３記載のロボット動作プログラム製造方式。
【請求項２６】
前記自動生成手段は、音声を発する動作の指定を含む前記動作プログラムに対して、前記ロボットの各動作部の動作の指定を入力させて、その動作の指定を含む前記動作プログラムに変更することを特徴とする請求項２０または２３記載のロボット動作プログラム製造方式。
【請求項２７】
前記自動生成手段は、前記ロボットの各動作部の動作の指定を含む動作部品を参照し、前記ロボットが発する音声と前記動作部品に含まれる照合用の音声とを比較して使用する動作部品を決定することを特徴とする請求項２０または２３記載のロボット動作プログラム製造方式。
【請求項２８】
前記自動生成手段は、前記動作部品を決定する時に、予め決められた乱数により候補を限定することを特徴とする請求項２７記載のロボット動作プログラム製造方式。
【請求項２９】
前記自動生成手段が、前記動作部品に含まれる１つ又は複数の動作の指定を、時間的に伸縮させて決定することを特徴とする請求項２７または２８記載のロボット動作プログラム製造方式。
【請求項３０】
前記自動生成手段が、伸縮の対象となる動作の指定を、実動作を伴わない動作の指定に限定することを特徴とする請求項２９記載のロボット動作プログラム製造方式。
【請求項３１】
前記実行制御手段は、前記ロボットの各動作部を同時並行で制御し、障害発生時にその影響度に応じて各動作部の動作継続の是非を決定することを特徴とする請求項２２記載のロボット制御システム。
【請求項３２】
前記実行制御手段によるロボットの動作の完了後に各可動部を初期状態に戻す状態復帰手段を有することを特徴とする請求項２２記載のロボット制御システム。
【請求項３３】
前記状態復帰手段が、人の顔を検出している時には頭部をその人の方に向けることを特徴とする請求項３２記載のロボット制御システム。
【請求項３４】
ロボットの動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラム製造方法であって、
前記ロボットの動作を画面上にタイムチャートとして表示する手順と、
前記動作部毎に入力できる動作命令の入力画面を表示する手順と、
その表示された入力画面から前記タイムチャート上に前記動作命令を配置させる指示を入力する手順と、
前記ロボットの動作プログラムの作成を行う手順と、を含むことを特徴とするロボット動作プログラムの製造方法。
【請求項３５】
ロボットの動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラムを製造するための処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記ロボットの動作を画面上にタイムチャートとして表示する処理と、
前記動作部毎に入力できる動作命令の入力画面を表示する処理と、
その表示された入力画面から前記タイムチャート上に前記動作命令を配置させる指示を入力する処理と、
前記ロボットの動作プログラムの作成を行う処理と、を前記コンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作命令にしたがって動作する装置の動作プログラム作成支援装置、動作プログラム製造方式、制御システム、動作プログラムの製造方法、およびコンピュータプログラムに関し、特に、家庭環境で使われるエンターテインメント志向のロボットに好適なロボットの動作プログラム作成支援装置、ロボット動作プログラム製造方式、動作制御システム、ロボット制御システム、ロボット動作プログラムの製造方法、およびコンピュータプログラムに関する。
【０００２】
【従来の技術】
近年、家庭に浸透させることを目的とした、エンターテインメント志向のロボットが注目を集めており、特にペットロボットや玩具ロボットの分野では、様々な商品が開発され、大きな市場を形成しつつある。
【０００３】
また、対話による人間とのコミュニケーションを重視したロボットも研究されており、例えば、ＮＥＣ製「ＰａＰｅＲｏ」としてショーなどで公開されている。このようなエンターテインメントロボットは、予めユーザまたは開発者が作成した動作プログラムに添って動くものであり、動作プログラムの作成は、重要視されている。
【０００４】
このような状況の下で、ユーザを飽きさせないロボットを製造するには、膨大な量のロボットの動作プログラムを作成する必要がある。従来の技術では、その動作プログラムを作成するために、ユーザまたは開発者が、ロボット開発用の装置の画面上において、テキスト・エディタなどを用いて、スクリプト形式（例えば、Ｃ言語などの高級言語形式）で入力しながら動作制御プログラムを作成している。
【０００５】
また、特開平７−２００２７８号公報には、プログラム部品に対応した図形を画面上に表示し、その図形を用いて視覚的にプログラミングする方法が開示されている。
【０００６】
【特許文献１】
特開平７−２００２７８号公報
【特許文献２】
特開平９−９１０１７号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、上記の従来の技術では、ユーザまたは開発者が、画面上でテキスト・エディタなどを用いて、人手により、スクリプト形式でロボットの動作プログラムを作成編集しなければならないため、ユーザを飽きさせないロボットを実現するためには、膨大な量のプログラムを人間が作成しなくてはならず、多大な時間と労力を要するという課題がある。
【０００８】
また、特開平７−２００２７８号公報においては、部品を選択して、編集をかけないで全ての部品によるプログラムの作成を行うと仮定したならば、あらゆるケースを想定した部品を準備しなければならず、結果的には、動作プログラムを作成するのと同じくらいの膨大なプログラムを人間が作成し、多大な時間と労力を要するということになり、部品を作成する意味がないという課題がある。
【０００９】
本発明の目的は、上記の課題を解決するもので、視覚的なプログラム環境を提供することでプログラム作成者の負担を軽減することにある。
【００１０】
また、本発明の他の目的は、上記問題点を鑑み、プログラムを自動的に生成する環境を提供することにある。
【００１１】
また、本発明の他の目的は、上記問題点を鑑み、作成したプログラムを実行させるためのロボットの制御システムの環境を提供することにある。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、本発明の第１の動作プログラム作成支援装置は、動作のタイムチャ−トと動作命令を並べて表示させて動作プログラムの作成を支援する手段を有することを特徴としている。
【００１３】
また、本発明の第２の動作プログラム作成支援装置は、動作のタイムチャ−トと動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴としている。
【００１４】
また、本発明の第３の動作プログラム作成支援装置は、動作のタイムチャ−トの中に動作命令を並べて表示させて動作プログラムの作成を支援する手段を有することを特徴としている。
【００１５】
また、本発明の第４の動作プログラム作成支援装置は、動作のタイムチャ−トの中に動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴としている。
【００１６】
また、本発明の第５の動作プログラム作成支援装置は、動作命令にしたがって動作する装置の動作プログラム作成支援装置であって、動作のタイムチャ−トと動作命令を並べて表示させてプログラムの作成を支援する手段を有することを特徴としている。
【００１７】
また、本発明の第６の動作プログラム作成支援装置は、動作命令にしたがって動作する装置の動作プログラム作成支援装置であって、動作のタイムチャ−トと動作命令を並べて表示し、新たな動作を追加する場合に動作の命令と時間情報を入力する入力画面を表示する手段を有することを特徴としている。
【００１８】
更に、上記の第１から第６のいずれかの動作プログラム作成支援装置において、前記タイムチャ−トで表示される動作命令の情報が単位時間当たりの動きの情報と動作時間であることを特徴としている。
【００１９】
更に、上記の第１から第６のいずれかの動作プログラム作成支援装置において、前記タイムチャ−トで表示される動作命令の情報が動作時間と動作時間中になされる動作であることを特徴としている。
【００２０】
更に、上記の第１から第６のいずれかの動作プログラム作成支援装置において、前記タイムチャ−トで表示される動作命令の情報が動作終了後の状態であることを特徴としている。
【００２１】
更に、上記の第１から第６のいずれかの動作プログラム作成支援装置において、出力すべき音声あるいは音と他の動作の終了タイミングを合わせるよう動作プログラム作成を支援する手段を有することを特徴としている。
【００２２】
更に、上記の第１から第６のいずれかの動作プログラム作成支援装置において、前記動作命令がボタンとして表示される手段を有することを特徴としている。
【００２３】
また、本発明の第１のロボット動作プログラム製造方式は、ロボットの各動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラム製造方式であって、前記ロボットの動作を画面上にタイムチャ−トとして表示すると共に前記動作部毎に入力できる動作命令の入力画面を表示し、その表示された入力画面から前記タイムチャ−ト上に前記動作命令を配置させて前記ロボットの動作プログラムの作成を行う手動作成手段を有することを特徴としている。
【００２４】
更に、上記の第１のロボット動作プログラム製造方式において、前記手動作成手段は、前記動作命令を前記画面上にボタンとして表示することを特徴としている。
【００２５】
更に、上記の第１のロボット動作プログラム製造方式において、前記手動作成手段は、前記動作命令を前記タイムチャ−トにそって伸縮させることを特徴としている。
【００２６】
更に、上記の第１のロボット動作プログラム製造方式において、前記手動作成手段は、前記動作命令の配置が前記ロボットによって実行不能な動作の指定が含まれるかどうかを検出して前記画面上に警告を発することを特徴としている。
【００２７】
更に、上記の第１のロボット動作プログラム製造方式において、前記警告は、時間的に重複不能な動作の指定を含むことを特徴としている。
【００２８】
更に、上記の第１のロボット動作プログラム製造方式において、前記警告は、前記動作部の性能限界を越える動作の指定を含むことを特徴としている。
【００２９】
更に、上記の第１のロボット動作プログラム製造方式において、前記警告は、種類に応じて前記ボタンの表示を変更して前記画面上に表示することを特徴としている。
【００３０】
また、本発明の第７のプログラム作成支援装置は、出力すべき音声あるいは音に基づいて動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴としている。
【００３１】
また、本発明の第２のロボット動作プログラム製造方式は、ロボットが発する音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴とするロボット動作プログラム製造方式。
【００３２】
また、本発明の動作制御システムは、動作プログラムにより動作が制御される動作制御システムにおいて、出力すべき音声あるいは音に基づいて動作プログラムを生成する自動生成手段を有し、前記自動生成手段で生成した動作プログラムを実行することで音声あるいは音の出力に音声の再生にあわせて生成された動作を実施する実行制御手段を有することを特徴としている。
【００３３】
また、本発明のロボット制御システムは、動作プログラムによりロボットの各動作部の動作を制御するロボット制御システムにおいて、前記ロボットが発する音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を有し、前記自動生成手段で生成した動作プログラムを実行することで音声の再生にあわせて生成された動作の指定を前記ロボットの各動作部に送って動作を実施する実行制御手段を有することを特徴としている。
【００３４】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段は、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴としている。
【００３５】
更に、上記のロボット制御システムにおいて、前記自動生成手段が、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴としている。
【００３６】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段は、前記ロボットの動作を画面上にタイムチャ−トとして表示し、前記タイムチャ−ト上に動作命令を配置して前記ロボットの動作プログラムの作成を行うことを特徴としている。
【００３７】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段は、音声を発する動作の指定を含む前記動作プログラムに対して、前記ロボットの各動作部の動作の指定を入力させて、その動作の指定を含む前記動作プログラムに変更することを特徴としている。
【００３８】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段は、前記ロボットの各動作部の動作の指定を含む動作部品を参照し、前記ロボットが発する音声と前記動作部品に含まれる照合用の音声とを比較して使用する動作部品を決定することを特徴としている。
【００３９】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段は、前記動作部品を決定する時に、予め決められた乱数により候補を限定することを特徴としている。
【００４０】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段が、前記動作部品に含まれる１つ又は複数の動作の指定を、時間的に伸縮させて決定することを特徴としている。
【００４１】
更に、上記の第２のロボット動作プログラム製造方式において、前記自動生成手段が、伸縮の対象となる動作の指定を、実動作を伴わない動作の指定に限定することを特徴としている。
【００４２】
更に、上記のロボット制御システムにおいて、前記実行制御手段は、前記ロボットの各動作部を同時並行で制御し、障害発生時にその影響度に応じて各動作部の動作継続の是非を決定することを特徴としている。
【００４３】
更に、上記のロボット制御システムにおいて、前記実行制御手段によるロボットの動作の完了後に各動作部を初期状態に戻す状態復帰手段を有することを特徴としている。
【００４４】
更に、上記のロボット制御システムにおいて、前記状態復帰手段が、人の顔を検出している時には頭部をその人の方に向けることを特徴としている。
【００４５】
また、本発明のロボット動作プログラムの製造方法は、ロボットの動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラム製造方法であって、前記ロボットの動作を画面上にタイムチャートとして表示する手順と、前記動作部毎に入力できる動作命令の入力画面を表示する手順と、その表示された入力画面から前記タイムチャート上に前記動作命令を配置させる指示を入力する手順と、前記ロボットの動作プログラムの作成を行う手順と、を含むことを特徴としている。
【００４６】
また、本発明のコンピュータプログラムは、ロボットの動作部の動作を制御する動作プログラムを交換することでその動作を変更可能な前記ロボットにおけるロボット動作プログラムを製造するための処理をコンピュータに実行させるためのコンピュータプログラムであって、前記ロボットの動作を画面上にタイムチャートとして表示する処理と、前記動作部毎に入力できる動作命令の入力画面を表示する処理と、その表示された入力画面から前記タイムチャート上に前記動作命令を配置させる指示を入力する処理と、前記ロボットの動作プログラムの作成を行う処理と、を前記コンピュータに実行させる。
【００４７】
【発明の実施の形態】
以下、ロボットに適用する例で、図面を参照して本発明の実施形態を説明する。
【００４８】
本発明の第１の実施形態を図面を参照して以下に記す。まず、図１は、本発明の第１の実施形態における構成を示した図である。図１を参照すると、本発明の第１の実施形態は、端末装置１と、端末記憶部２と、ロボット制御部３と、ロボット記憶部４と、ロボット動作部５からなる。なお、端末側は、端末装置１と端末記憶部２とを有し、ロボットは、ロボット制御部３と、ロボット記憶部４と、ロボット制御部３と、ロボット動作部５とを有し、端末側とロボット側とのデータのやり取りを行う図示していないインタフェース部をそれぞれに備えており、更に、それぞれのインタフェース部を図示していない通信回線網（例えば、無線）で接続されている。このとき、通信回路網の代わりに、半導体メモリカードなど記録媒体を用いてデータのやり取りを行ってもかまわない。
【００４９】
端末装置１は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する動作プログラム作成手段１１を備え、動作プログラム作成手段１１は、手動作成手段１１１と、自動生成手段１１２とから成る。手動作成手段１１１は、ロボットの動作を視覚的なタイムチャ−トとして表現し、タイムチャ−ト上に動作命令を配置することで、ロボットの動作プログラムの作成を可能とする。自動生成手段１１２は、ロボットが発すべき音声あるいは音を入力として、その音声を演出するためのロボットのロボット動作部５による動作の指定を自動的に生成する。
【００５０】
端末記憶部２は、読出し書込みのできる不揮発性の記録媒体装置（例えば、磁気ディスク）であって、動作プログラムの自動生成時に部品として使用される、複数の部品プログラム２１を格納している。
【００５１】
ロボット制御部３は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する、動作プログラム実行手段３１と、頭部制御手段３２と、脚部制御手段３３と、手部制御手段３４と、顔表情部制御手段３５と、発声部制御手段３６と、センサ監視手段３７と、顔認識手段３８とを備える。更に動作プログラム実行手段３１は、実行制御手段３１１と、状態復帰手段３１２とから成る。またロボット制御部３は、通信回線６等を介して端末装置１と接続され、端末装置１からのプログラム送信を受け付ける。実行制御手段３１１は、ロボットの各可動部を同時並行で制御し、障害発生時に、その影響度に応じて各動作部の動作継続の是非を決定する。状態復帰手段３１２は、ロボットの動作の完了後、ロボット動作部５を初期状態に戻す。
【００５２】
ロボット記憶部４は、読出し書込みのできる不揮発性の記録媒体装置（例えば、磁気ディスク）であって、端末装置１で作成され、ロボット側に送信されてきた複数の動作プログラム４１を格納している。この場合の動作プログラム４１は、ロボットの動作部５１〜５５（後述）の動作を制御するプログラムである。
【００５３】
ロボット動作部５は、頭部アクチュエータ５１と、脚部アクチュエータ５２と、手部アクチュエータ５３と、顔表情部ＬＥＤ５４と、発声部５５と、センサ部５６と、カメラ５７とを備える。顔表情部ＬＥＤ５４はロボットの目の周辺や口・頬の位置に、カメラ５７は目の位置に装着されている。以降の説明において、頭部アクチュエータ５１と、脚部アクチュエータ５２と、手部アクチュエータ５３と、顔表情部ＬＥＤ５４と、発生部５５と、センサ部５６と、カメラ５７とを総称して、動作部（または可動部）と呼ぶ場合がある。
【００５４】
また、ロボット動作部５の各動作部５１〜５７には、それぞれマイコンが装着されており、それぞれのマイコン制御により各動作部５１〜５７が動作する。なお、各動作部５１〜５７を１つのマイコンまたは複数のマイコンで制御を行うようにしても良い。従って、動作部５１〜５５は、ロボット制御部３から発生するコマンドによる動作指示に基づいて動作を行い、動作部５６，５７は、ロボット制御部３にコマンドを送信することにより、状況を通知する。
【００５５】
端末装置１の動作プログラム作成手段１１は、画面上に表示する内容に従ったユーザからの指示に従い、ユーザの手動操作または自動生成により動作プログラム４１を作成する。手動作成が指示された場合は手動作成手段１１１を起動し、ＧＵＩツールを利用してユーザに動作プログラム４１を作成させる。自動生成が指示された場合は自動生成手段１１２を起動し、記憶部２の部品プログラム２１を利用しながら、ユーザが指定した基準音声あるいは音に合わせて動作プログラム４１を自動的に生成する。
【００５６】
ロボット制御部３の動作プログラム実行手段３１は、端末装置１から送信された動作プログラム４１に従って、ロボットの各動作部を制御する。すなわち、ロボット制御部３の動作プログラム実行手段３１は、ロボット全体を制御するための司令塔となる。まずロボット制御部３は、ロボット実行制御手段３１１を起動し、動作プログラム４１を解析して、その内容に従って頭部制御手段３２、脚部制御手段３３、手部制御手段３４、顔表情部制御手段３５、発生部制御手段３６に動作指示を与える。頭部制御手段３２、脚部制御手段３３、手部制御手段３４、顔表情部制御手段３５、発生部制御手段３６は、与えられた動作指示に従って、頭部アクチュエータ５１、脚部アクチュエータ５２、手部アクチュエータ５３、顔表情部ＬＥＤ５４、発生部５５をそれぞれコマンドにより制御する。次にロボット制御部３は、状態復帰手段３１２を起動し、ロボットの各動作部を初期状態に戻す。
【００５７】
センサ監視手段３７は、センサ５６が検出した障害物や階段などの段差等の画像情報や人間の会話などの音声情報などを監視し、それらの情報を実行制御手段３１１に供給する。また顔認識手段３８は、カメラ５７の画像情報を解析して人間の顔があるかどうかを判別し、その情報を同じく実行制御手段３１１に供給する。
【００５８】
動作実行中に障害が発生した場合、実行制御手段３１１は、動作部５１〜５５ごとに障害の影響を判定し、影響があるならば該当する制御手段３２〜３６に動作の停止を指示する。
【００５９】
次に、本発明の第１の実施形態の動作を図を参照して説明する。図２から図６は本発明の第１の実施形態の動作を示すフローチャートである。まず、図２を用いて本発明の第１の実施形態の動作を示す。説明を容易にするため、図２の全体像を示すフローチャートでは、端末側の処理を左側に、ロボット側の処理を右側に記載している。
【００６０】
ユーザが動作プログラムの作成を要求した場合は、まず端末装置１がその要求を検出し（図２のステップＡ１）、ユーザが手動作成と自動生成のどちらを指示したかを判別する（ステップＡ２）。手動作成が指示された場合には、端末装置１は、動作プログラム作成手段１１の手動作成手段１１１を起動し、ＧＵＩツールの支援のもとに、ユーザに動作プログラムを作成させる（ステップＡ３）。また自動生成が指示された場合には、端末装置１は、動作プログラム作成手段１１の自動生成手段１１２を起動し、ユーザに基準となる音声データを指定させたのち、その音声データに合わせて各動作部のプログラムを自動的に生成する（ステップＡ４）。
【００６１】
動作プログラムの作成が終わり、ユーザのプログラム送信要求を検出すると（ステップＡ５）、端末装置１は作成した動作プログラムを通信回線を介してロボット側に送信する（ステップＡ６）。
【００６２】
ロボット側のロボット制御部３は、端末側からの送信プログラムの有無を監視し（ステップＡ７）、プログラムがあればそれを受信し、ロボット記憶部４に記憶したのち（ステップＡ８）、動作プログラム実行手段３１の実行制御手段３１１を起動し、動作プログラムの内容に従って動作部５１〜５５を制御する（ステップＡ９）。また、ロボット制御部３は、動作が完了したら動作プログラム実行手段３１の状態復帰手段３１２を起動し、動作部５１〜５５を初期状態に戻す（ステップＡ１０）。
【００６３】
図７は図２において示されるフローチャート中のステップＡ３で使用されるＧＵＩツールの一例である。このツールは、本発明の手動作成手段１１１に対応する。
【００６４】
図７を参照すると、端末装置１の画面に表示されたＧＵＩツールの左側には、動作部５１〜５５に対応する動作命令ボタンの一覧Ｆ１があり、ここから図示していないマウスなどのポインティングデバイスを使って、動作命令ボタンＦ１を右側のタイムチャートＦ２にドラッグ＆ドロップで配置する。またタイムチャートＦ２の上部には、時間の長さを表わすための目盛りＦ４がある。図７の例では、１目盛りの長さを０．１秒としている。
【００６５】
図８はボタンの伸縮操作および表示方式を示す説明図であって、ユーザのボタン操作に従って、手動作成手段１１１が行う。例えば、図７のタイムチャートＦ２に沿って配置した動作命令ボタンＦ３をクリックすると、図８に示すようにボタンの左右に伸縮用の小さな矩形Ｇ１が表示され、この上にマウスカーソルを置いて左右にドラッグすると、動作命令ボタンが伸縮する。また配置した動作命令ボタンの中央をドラッグすると、ボタンが左右に移動する。更にボタン同志が重なり合っている場合は、図８のボタンＧ２のようにユーザに注意を促すためにハッチング表示を施す。
【００６６】
更に、図７上の動作命令ボタンＦ３の１つをダブルクリックすると、図９に示すような動作設定用のダイアログが端末装置１の画面上に表示される。アクチュエータ（ロボットの行動）を伴う動作部５１〜５３のボタンの場合は、ダイアログ上で角度指定と速度指定のどちらか一方を指定することができる。例えば水平角度を「左２０°」に、ボタンの横幅を「０．５秒」に設定した場合は「０．５秒掛けて左方向に２０°向く」動作を意味し、同じ横幅で水平速度を「左２０°／秒」に設定した場合は「０．５秒の間、２０°／秒の速度で左方向に向き続ける」動作を意味する。設定内容によってはアクチュエータの性能限界を越えることがあるが、この時にはボタンを赤色表示するなどしてユーザに注意を促す。ＬＥＤを伴う顔表情部５４のボタンの場合は、ダイアログ上で各ＬＥＤの発光色を指定する。発声部５５のボタンの場合は、ダイアログ上で音声のファイル名（＊．ｍｐ３，　＊．ｗａｖ，　ｅｔｃ．）または音声合成用のテキストを指定する。音声のファイルは動作プログラムの送信時に一緒に送信してロボット記憶部４に記憶するようにしても良いし、予め必要な全てのファイルをロボット記憶部４に記憶させても良い。設定が終了し、ダイアログを閉じると、ボタン上にその設定内容が図７のように端末装置１の画面に表示される。
【００６７】
図７上の動作命令ボタンでの動作命令の表示では、動作の終了時の状態を示すモードがある。例えば、頭部の動作命令「左２０°、右４０°、左４０°、右２０°、左４０°、右２０°、左１６０°／秒、右１６０°／秒」がなされたあとの、頭部の状態はそれぞれ、「左２０°、右２０°、左２０°、正面、左４０°、左２０°、真後ろ、左２０°」である。したがって、動作命令ボタン上での動作命令の表示では、「左２０°、右４０°、左４０°、右２０°、左４０°、右２０°、左１６０°／秒、右１６０°／秒」の代わりに、「左２０°、右２０°、左２０°、正面、左４０°、左２０°、真後ろ、左２０°」と表示する。
【００６８】
以上の操作を繰り返し、ＧＵＩツール上でのプログラミングが完了すると、手動作成手段１１１は、これをロボットが認識可能な動作プログラムに変換する。図１０は図７の画面に対応する動作プログラムの一例である。図１０を参照すると、動作プログラムは動作部５１〜５５に対応してプログラム区画Ｉ１〜Ｉ５に分かれており、動作プログラムの実行時には、区画Ｉ１〜Ｉ５のプログラムが同時並行で一斉に実行される。またプログラム中の動作命令Ｉ６は、図７の動作命令ボタンＦ３と１対１に対応する。ここで動作命令とは、ロボット制御部３の制御手段３２〜３６が実行可能な動作の基本単位を指す。図７と比較し易くするため、動作命令を表わす矩形の横幅はその実行時間に合わせてある。図７のタイムチャートに空白領域（ボタンの配置されていない領域）がある場合、図１０では命令Ｉ７に示すようにそれらが「静止」「消灯」などの無動作の命令に変換される。
【００６９】
このＧＵＩツールにより、プログラミングの効率を大幅に向上させることができる。従来のロボットプログラミング環境では、動作命令を”ＬＥＦＴ＝２０　ＴＩＭＥ＝０．５”のようなスクリプト言語で記述しなくてはならなかったため、各動作部がどのように同期していくのかが把握できず、試しに実行しては微調整するという操作を繰り返す必要があった。上記のＧＵＩツールを使えば、図１０に示すように各動作部の同期の様子を視覚的に把握できるため、繰り返し操作の手間を省くことができる。
【００７０】
図３は図２において示されるフローチャート中のステップＡ４の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、自動生成手段１１２の処理に相当する。
【００７１】
ユーザが基準となる音声データを指定すると（図３のステップＢ１）、自動生成手段１１２は、まずその基準音声の発声命令を図１０のプログラム区画Ｉ５に持つ動作プログラムを生成する（ステップＢ２）。ここで、音声データとして音声合成用のテキストが指定された場合には、自動生成手段１１２は、その合成音を一旦録音し、その録音データをステップＢ３以降の基準音声とする。次に自動生成手段１１２は、動作部５１〜５５を識別するための識別子ｉを初期化したのち（ステップＢ３）、識別子ｉが発声部を指すかどうかを判定し（ステップＢ４）、発声部でなければｉの指す動作部のプログラムを生成するかどうかをユーザに問い合わせる（ステップＢ５）。ここでユーザが省略を指定した場合には、自動生成手段１１２は次の動作部の処理に移り（ステップＢ１０〜）、生成を指定した場合には、自動生成手段１１２は部品プログラムとの照合開始点を基準音声の先頭に設定したのち、部品プログラム１個分に相当するプログラム生成を行う（ステップＢ７）。そののち、自動生成手段１１２は、基準音声の照合開始点を未生成区間の先頭に移し（ステップＢ８）、基準音声の全域に渡る生成が完了するまでステップＢ７からの処理を繰り返す（ステップＢ９）。自動生成手段１１２は、現行の動作部のプログラム生成が完了したら、識別子ｉが次の動作部を指すよう更新し（ステップＢ１０）、全動作部のプログラム生成が済むまでステップＢ４からの処理を繰り返す（ステップＢ１１）。
【００７２】
図１１は部品プログラム２１の設定情報の一例である。部品プログラムは、動作部５１〜５５に対応して「頭部用」「脚部用」などの専用の部品群が用意されており、１つの部品プログラムは、図１１に示すように当該動作部に係わる１つまたは複数の動作命令Ｊ１と、基準音声との類似度を計算するための照合音声Ｊ２のペアから成る。部品プログラムは、動作命令Ｊ１と照合音声Ｊ２とを同時に実行した時に、ロボットが自然に振舞うよう予め調整されており、一般にはＧＵＩツールで作成した動作プログラムの一部が用いられる。また動作命令Ｊ１の合計時間と、照合音声Ｊ２の発声時間とは一致するよう調整されている。動作命令Ｊ１は生成する動作プログラムの一部になるが、照合音声Ｊ２は類似度計算に使われるだけで、動作プログラムの一部にはならない。
【００７３】
図４は図３において示されるフローチャート中のステップＢ７の処理に対する自動生成手段１１２の詳細な処理を示すフローチャートである。自動生成手段１１２は、識別子ｉの指す動作部と、基準音声上の照合開始点が確定すると、まず部品プログラムの中から乱数によりＮ個の候補を選択する（図４のステップＣ１）。ここで全ての部品プログラムを候補にしないのは、本発明が重視しているエンターテインメントロボットの世界では、動作にバリュエーションを持たせた方がユーザに飽きられないため、特定の基準音声の動作を一意に決めるよりも、毎回微妙に変えた方が好適なためである。
【００７４】
候補が決定したら、自動生成手段１１２は、それらを識別するための識別子ｊと、採用部品の識別子ｋを初期化し（ステップＣ２）、最大類似度を０に初期化する（ステップＣ３）。次に自動生成手段１１２は、識別子ｊの指す部品プログラムから照合音声を取り出し（ステップＣ４）、それと同じ長さの音声データを基準音声の照合開始点から切り出して（ステップＣ５）、両者の類似度を計算する（ステップＣ６）。ここで照合音声が基準音声の残り区間よりも長い場合は、照合音声の余分な後半部を省き、それと基準音声から切り出した音声とで類似度を計算する。
【００７５】
なおステップＣ６は類似度の計算法を特定するものではなく、音声スペクトルを用いても良いし、音声のベクトル量子化を利用しても良い。
【００７６】
類似度が計算できたら、自動生成手段１１２は、それと過去の部品プログラムの最大類似度とを比較し（ステップＣ７）、上記類似度の方が勝っていれば、それを最大類似度として記憶すると共に、識別子ｋが現行の部品プログラムを指すよう更新する（ステップＣ８）。そののち、自動生成手段１１２は、識別子ｊが次の部品プログラムを指すよう更新し（ステップＣ９）、全部品プログラムのチェックが済むまでステップＣ４からの処理を繰り返す（ステップＣ１０）。
【００７７】
またチェックが完了したら、識別子ｋの指す部品の動作命令群を、当該動作部に係わるプログラム区画の末尾にコピーする。動作命令群の合計時間が基準音声の総時間に収まらない場合は、収まる分だけをコピーする。
【００７８】
図１２は、図３〜図４における自動生成手段１１２の自動生成処理の経過を示す説明図である。まず頭部用の部品プログラム群Ｋ０から乱数により１回目の候補が抽出され、その各々の照合音声が基準音声Ｋ５の照合開始点ｐ１から始まる同一長の音声Ｋ５ａと照合されたのち、最も類似度の高い部品Ｋ１が採用され、その動作命令群Ｋ１ａが頭部のプログラム区画Ｋ４にコピーされる。次に照合開始点がｐ２に更新され、同様の手順で部品Ｋ２が採用されたのち、動作命令群Ｋ２ａが区画Ｋ４にコピーされる。最後に照合開始点がｐ３に更新され、部品Ｋ３が採用されるが、この時にはＫ３の照合音声Ｋ３ｂの方が基準音声Ｋ５の残り区間Ｋ５ｃよりも長いため、照合音声Ｋ３ｂの前半区間Ｋ３ｃと基準音声の残り区間Ｋ５ｃの類似度が計算される。また動作命令群ｋ３ａの全てをコピーすると基準音声Ｋ５の終端を越えるため、基準音声の区間内に収まる最初の２つの命令のみがコピーされる。自動生成手段１１２は、このようにして頭部の動作生成が完了したら、同様の手順で脚部〜顔表情部の動作を生成する。
【００７９】
この自動生成処理により、あらゆるケースを想定した部品プログラムを準備する必要はなく、部品プログラムの組み合わせに相当する大量の動作プログラムを生成できるため、プログラミング効率が更に向上する。
【００８０】
図５は図２において示されるフローチャート中のステップＡ９の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、実行制御手段３１１の処理に相当する。
【００８１】
実行制御手段３１１は、まず動作部５１〜５４の実行前の初期状態を退避する（図５のステップＤ１）。ここで言う初期状態とは、例えば頭部なら水平および垂直方向の向き、手部なら関節の曲げ角度、発声部ならボリューム値などを指す。この初期状態は、後述の状態復帰手段３１２の処理において用いられる。
【００８２】
次に実行制御手段３１１は、動作プログラムをプログラム区画Ｉ１〜Ｉ５（図１０を参照）に相当する個別のプログラムに分解し（ステップＤ２）、動作部の識別子ｉを初期化したのち（ステップＤ３）、識別子ｉに対応する個別プログラムがあればその最初の動作命令を取り出し（ステップＤ４〜Ｄ５）、ロボット制御部３の制御手段３２〜３６の該当する手段に動作命令の実行を指示する（ステップＤ６）。そののち、実行制御手段３１１は、識別子ｉが次の動作部を指すよう更新し（ステップＤ７）、全動作部の処理が済むまでステップＤ４からの処理を繰り返す（ステップＤ８）。
【００８３】
ここで制御手段３２〜３６は、指定された動作命令の完了を待たずに実行制御手段３１１に制御を戻す。このため、各動作部はほぼ一斉に動作を開始する。
【００８４】
全動作部が動き始めたら、実行制御手段３１１は、制御手段３２〜３６からの完了通知および障害通知を監視し（ステップＤ９〜Ｄ１０）、障害通知があればステップＤ１６からの障害対策に移行する。また完了通知があれば、実行制御手段３１１は、それがどの動作部に対応する通知かを判別し（ステップＤ１１）、当該動作部に動作命令が残っていれば次の命令を取り出したのち（ステップＤ１２〜Ｄ１３）、制御手段３２〜３６の該当する手段に動作命令の実行を指示する（ステップＤ１４）。また当該動作部の全動作命令が完了済ならば、実行制御手段３１１は、他の動作部についても同様に完了済かどうかをチェックして（ステップＤ１５）、完了済の場合は図２の処理に戻り、そうでなければステップＤ９からの処理を繰り返す。
【００８５】
動作中に障害通知を検出した場合には、実行制御手段３１１は、それが致命的な障害（バッテリ不足など）かどうかを判定し（ステップＤ１６）、致命的な場合には全動作を停止させて図２の処理に戻る（ステップＤ２３）。またそうでなければ、実行制御手段３１１は、その障害がそれぞれの動作部に影響するかどうかを判定し、影響する動作部に対してのみ動作停止を指示する（ステップＤ１８〜Ｄ２２）。
【００８６】
この方式により、障害発生時に無条件に全動作を止める代わりに、状況に応じて適切に対処することが可能になる。
【００８７】
例えばセンサ５６がロボットの進行方向に障害物を検出し、センサ監視手段がそれを障害通知として実行制御手段３１１に伝えた場合、それ以上進むと衝突してしまうため脚部の動作は止めるが、頭部や発声部には直接の影響はないため、それらは動作を継続する。
【００８８】
なお、動作部５１〜５５が障害により停止させられた場合、その動作部に係わる完了通知は発行されないため、停止させた動作部が完了通知のせいで動作を再開するといった問題は生じない。
【００８９】
図６は図２において示されるフローチャート中のステップＡ１０の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、状態復帰手段３１２の処理に相当する。
【００９０】
動作プログラムの実行が完了したら、状態復帰手段３１２は、動作部の識別子ｉを初期化したのち（図６のステップＥ１）、識別子ｉが頭部を指すかどうかを判定し（ステップＥ２）、頭部を指すならばステップＥ７からの頭部専用の処理に移行する。またそうでなければ、状態復帰手段３１２は、図５のステップＤ１で退避させた初期状態の情報を取得し（ステップＥ３）、該当する制御手段に初期状態に戻すよう指示を与える。そののち、状態復帰手段３１２は、識別子ｉが次の動作部を指すよう更新し（ステップＥ５）、全動作部の処理が済むまでステップＥ２からの処理を繰り返す（ステップＥ６）。状態復帰手段３１２は、ｉが頭部を指す場合には、顔認識手段３８を介してカメラ５７に人間の顔が写っているかどうかを判別し（ステップＥ７）、写っている場合は、人間の顔に追従して頭部を動かすよう頭部制御手段３２に指示する（ステップＥ８）。頭部制御手段３２は、カメラ画像の中心と人間の顔の中心とのずれを計算し、そのずれを補正するように頭部を動かすという処理を繰り返す。また顔が写っていなければ、状態復帰手段３１２は、ステップＥ３の処理に移行し、他の動作部と同様に初期状態（頭部の場合は初期位置）への復帰処理を行う。
【００９１】
この方式により、例えば頭部が後ろを向いたまま終わるような動作プログラムを実行した場合でも、動作完了後に適切な位置に復帰するため、次の動作プログラムを支障なく実行することができる。また人と対話中の場合は、動作完了後にその人の方を向くようになる。
【００９２】
次に、本発明の第２の実施形態について、図面を参照して説明する。図１を参照すると、第１の実施形態で説明した自動生成手段１１２と第２の実施の形態における自動生成手段１１２とで相違する。相違する点に関しては、第２の実施の形態の動作で説明する。
【００９３】
次に、本発明の第２の実施形態の動作を図を参照して説明する。
第１の実施形態では、図３のステップＢ７の部分プログラム生成処理において、自動生成手段１１２が動作プログラムの自動生成時に複数の部品プログラムを候補として抽出していたが、第２の実施形態における自動生成手段１１２は、唯一つの部品プログラムを乱数で抽出するか、またはユーザに指定させる。更に、唯一の部品プログラムを抽出した後、自動生成手段１１２は、照合音声は使用せず、部品プログラム中の動作命令の合計時間を基準音声の時間に合わせて伸縮させ、各動作部の動作時間が基準音声の時間と一致するようにする。
【００９４】
図１３は第２の実施形態における自動生成手段１１２の自動生成処理の経過を示す説明図である。ここでは、一例として、抽出された部品プログラムに含まれる動作命令の実行時間の比が１：２：３になっており、それをコピー＆伸長させた動作プログラム上の実行時間の比も１：２：３になっている。このように、第２の実施形態では、元の部品プログラムの実行時間の配分を保つように伸縮が行われる。
【００９５】
この方式は、音声と他の動作の終了タイミングを合わせると、ロボットの動作が自然に見えるという経験則に基づいている。
【００９６】
次に、本発明の第３の実施形態について、図面を参照して説明する。図１を参照すると、第２の実施形態で説明した自動生成手段１１２と第３の実施の形態における自動生成手段１１２とで相違する。相違する点に関しては、第３の実施の形態の動作で説明する。
【００９７】
次に、本発明の第３の実施形態の動作を図を参照して説明する。第２の実施形態では、図３のステップＢ７の部分プログラム生成処理において、部品プログラム中の全ての動作命令を伸縮の対象にしていたが、実施形態３では「静止」「消灯」などの無動作を表わす動作命令のみを伸縮の対象にする。
【００９８】
図１４は第３の実施形態の自動生成処理の経過を示す説明図である。ここでは、一例として、無動作に相当する命令のみが１：２の比を保ちながら伸長され、実動作を伴う命令の実行時間は変化しない。
【００９９】
第２の実施形態の場合は、伸長の度合いが大きいと動きが間延びした感じになってしまうが、第３の実施形態では無動作区間のみを伸長させるため、メリハリを損なうことなく自然な動作を生成できる。
【０１００】
なお、上記の無動作命令は、図７のタイムチャートの空白領域（ボタンの配置されていない領域）に対応する。
【０１０１】
次に、本発明の第４の実施形態について、図面を参照して説明する。図１を参照すると、第１、第２、または第３の実施形態で説明した自動生成手段で生成した動作プログラムを手動により微調整等の編集を行うために、画面上にタイムチャート上に表示させ、ユーザに編集させる機能を追加した点で相違する。相違する点に関しては、第４の実施の形態の動作で説明する。
【０１０２】
次に、本発明の第４の実施形態の動作を図を参照して説明する。実施形態４では、第１〜第３の実施形態に記載した動作の自動生成を、図７のタイムチャート上で視覚的に行う。すなわち、自動生成手段１１２は、作成した部品プログラムを図７で示されるように画面上に表示させる。画面上に表示された内容を変更するやり方は、第１の実施形態における手動作成手段１１１が行う動作と同じなので説明を省略する。この方式により、ユーザは自動的に生成された動作を手動で微調整できるため、より適切な動作へと仕上げることが可能になる。
【０１０３】
次に、本発明の第５の実施形態について、図面を参照して説明する。図１を参照すると、端末装置１の手動作成手段１１１をロボット制御部内に設けた点と端末記憶部２の部品プログラム２１をロボット記憶部４に記憶されている点とで、第１の実施の形態と相違する。なお、この場合、ロボットから表示装置およびキーボードを接続するインタフェース回路を有しており、動作プログラムの生成を行う場合には、表示装置およびキーボードを接続する。相違する点に関しては、第５の実施の形態の動作で説明する。
【０１０４】
次に、本発明の第５の実施形態の動作を図を参照して説明する。第１の実施形態では、動作プログラムの自動生成を端末装置側で行っていたが、第５の実施形態ではこれをロボット側で行う。即ち、図１の手動作成手段１１１はロボット側の動作プログラム実行手段３１の一部になり、ユーザが基準音声を指定して動作プログラムの生成および実行を指示すると、ロボット側では実行制御手段３１１の実行前に手動作成手段１１１が起動され、まず動作プログラムの自動生成が行われてからそれが実行される。手動作成手段１１１の動作については、第１の実施の形態と同じなので説明を省略する。この時に使用される部品プログラム２１もロボット記憶部４側に記憶される。
【０１０５】
なお、これまでの説明ではロボットを例におこなったが、適用対象はいわゆるロボットに限定されず、動作命令にしたがって動作する装置一般に適用可能である。例えば、入出力が入力スイッチ、画面出力、音出力であるゲーム機は、図１のロボット動作部５の構成で顔表示部ＬＥＤ５４が画面出力部、発声部５５が音出力部、センサ５６が入力スイッチに置き換わったものであると見なすことができる。頭部アクチュエータ５１、脚部アクチュエータ５２、手部アクチュエータ５３、顔表情部ＬＥＤ５４と、カメラ５７は備えない。人が内部に着席し、可動する椅子と迫力ある映像と音響でヴァーチャルリアリティの世界を楽しませるエンターティメントスタジオ装置でもよい。この場合、脚部アクチュエータ５２の代わりに人が着席した椅子全体を動作させるようにしても良い。また、手部アクチュエータ５３，頭部アクチュエータ５１の代わりに、水を散布する装置やドライアイス等を用いて霧を発生させる装置としてもよい。願表情部ＬＥＤ５４の代わりにスクリーンに映像を表示させてもよい。
【０１０６】
また、図３，４，５，６の各ステップは、コンピュータの命令を並べた処理プログラムにより実現することができる。
【０１０７】
図１５は、本発明の実施の形態の処理プログラムを記録した記録媒体９１と、その記録媒体９１から処理プログラムをロードして実行するコンピュータ９２を示す図である。
【０１０８】
【発明の効果】
以上説明したように、本発明の第１の効果は、動作プログラムを手動で作成する時に、ＧＵＩツールにより動作部が同期する様子を視覚的に把握できるため、試し実行を繰り返すといった従来のプログラム手法の手間を省くことができ、作成効率が向上する。
【０１０９】
本発明の第２の効果は、ユーザが基準となる音声を指定するだけで、動作プログラムを自動生成できるため、大量のプログラムを効率的に作成することができ、エンターテインメントロボットの課題である、ユーザに飽きられないロボットを容易に実現できる。
【０１１０】
本発明の第３の効果は、動作プログラムの実行時に障害が発生した場合、その障害が影響するかどうかを動作部毎に判定するため、障害物を検出しても脚部は止めるがその他の動作は継続するといったように、状況に応じて最適な対応を行うことができる。
【０１１１】
本発明の第４の効果は、動作プログラムの実行後に初期状態への復帰処理を行うため、動作部が不適切な状態で終わるような動作プログラムを実行した場合でも、次の動作プログラムを支障なく実行することができる。また人と対話中の場合は、動作プログラムの実行後にその人の方を向くため、対話を違和感なく継続することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における構成を示した図である。
【図２】本発明の第１の実施形態の動作を示すフローチャートである。
【図３】図１の自動生成手段が図２の自動プログラム生成の動作を示すフローチャートである。
【図４】図１の自動生成手段が図３の部分プログラム生成の動作を示すフローチャートである。
【図５】図１の実行制御手段が図２の動作プログラム実行の動作を示すフローチャートである。
【図６】図１の状態復帰手段が図２の初期状態復帰の動作を示すフローチャートである。
【図７】本発明の第１の実施形態におけるＧＵＩツールの画面構成を示す図である。
【図８】本発明の第１の実施形態における動作命令ボタンの伸縮操作と表示方式を示す図である。
【図９】本発明の第１の実施形態における動作設定ダイアログを示す図である。
【図１０】本発明の第１の実施形態における動作プログラムの構成を示す図である。
【図１１】本発明の第１の実施形態における部品プログラムの構成を示す図である。
【図１２】本発明の第１の実施形態における自動生成処理の経過を示す図である。
【図１３】本発明の第２の実施形態における自動生成処理の経過を示す図である。
【図１４】本発明の第３の実施形態における自動生成処理の経過を示す図である。
【図１５】本発明の実施の形態のコンピュータのプログラムを記録した記録媒体と、その記録媒体からコンピュータプログラムをロードして実行するコンピュータを示す図である。
【符号の説明】
１　　端末装置
１１　　動作プログラム作成手段
１１１　　手動作成手段
１１２　　自動生成手段
２　　端末記憶部
２１　　部品プログラム
３　　ロボット制御部
３１　　動作プログラム実行手段
３１１　　実行制御手段
３１２　　状態復帰手段
３２　　頭部制御手段
３３　　脚部制御手段
３４　　手部制御手段
３５　　顔表情部制御手段
３６　　発声部制御手段
３７　　センサ監視手段
３８　　顔認識手段
４　　ロボット記憶部
４１　　動作プログラム
５　　ロボット動作部
５１　　頭部アクチュエータ
５２　　脚部アクチュエータ
５３　　手部アクチュエータ
５４　　顔表情部ＬＥＤ
５５　　発声部
５６　　センサ
５７　　カメラ
６　　通信回線
９１　　記録媒体
９２　　コンピュータ
【図１】
2004078905.tif 000003
【図２】
2004078905.tif 000004
【図３】
2004078905.tif 000005
【図４】
2004078905.tif 000006
【図５】
2004078905.tif 000007
【図６】
2004078905.tif 000008
【図７】
2004078905.tif 000009
【図８】
2004078905.tif 000010
【図９】
2004078905.tif 000011
【図１０】
2004078905.tif 000012
【図１１】
2004078905.tif 000013
【図１２】
2004078905.tif 000014
【図１３】
2004078905.tif 000015
【図１４】
2004078905.tif 000016
【図１５】
2004078905.tif 000017