(57)【特許請求の範囲】
【請求項１】
一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、
前記行動モジュールの遷移を最上位であるメインシーケンスとそれより下位のサブシーケンスとに階層化し、前記メインシーケンスに対応するメインシーケンス画面と前記サブシーケンスに対応するサブシーケンス画面とを個別に画面上に表示するシーケンス表示手段、
各コミュニケーション行動に対応した行動モジュールを示すビヘイビアアイコンを前記画面上に表示するとともに、必要に応じて前記サブシーケンスを示す第１シーケンスアイコンを前記画面上に表示する第１アイコン表示手段、
前記第１アイコン表示手段によって前記メインシーケンス画面上に表示されたアイコンと、アイコン間を連結して前記行動モジュールの実行順序を示す遷移線とに基づいて、前記メインシーケンスを作成するメインシーケンス作成手段、
前記第１アイコン表示手段によって前記サブシーケンス画面上に表示されたアイコンと前記遷移線とに基づいて、前記サブシーケンスを作成するサブシーケンス作成手段、
任意の行動モジュールに関連付けた反射的遷移において実行する行動モジュールを示すビヘイビアアイコンを前記画面上に表示する第２アイコン表示手段、および
前記第２アイコン表示手段によって前記画面上に表示されたアイコンと、反射的遷移を終了した後の戻り先を指定する反射的遷移線とに基づいて、反射的遷移を設定する反射的遷移設定手段を備える、コミュニケーションロボット開発支援装置。
【請求項２】
前記反射的遷移設定手段によって反射的遷移を設定するときに、反射的遷移において最後に実行する行動モジュールを示すビヘイビアアイコンとその反射的遷移を終了した後で実行する行動モジュールを示すビヘイビアアイコンとが前記反射的遷移線によって連結される、請求項１記載のコミュニケーションロボット開発支援装置。
【請求項３】
前記第２アイコン表示手段は、反射的遷移への遷移条件が設定された反射的遷移スタートアイコンを前記画面上にさらに表示する、請求項１または２記載のコミュニケーションロボット開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コミュニケーションロボット開発支援装置に関し、特にたとえば、一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置に関する。
【背景技術】
【０００２】
本件出願人は、特許文献１において、コミュニケーションロボット開発支援装置を提案している。たとえば、特許文献１では、コミュニケーションロボットに備えられるコミュニケーション行動（ビヘイビア）を制御するための行動モジュール間の関係性を画面上に分かりやすく視覚化する技術が開示されている。特許文献１の技術では、行動モジュール間の関係を直感的に把握することができるので、たとえば自律的な行動のための規則の作成・編集等を適切に行えるようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−８８３２８号［Ｇ０６Ｆ  ９／０６］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、複雑な行動モジュールの関係性を分かりやすく画面上に視覚化することが困難であり、たとえば、階層性のある行動モジュールの遷移や行動モジュールの反射的遷移等をまとめて把握することができなかった。このため、複雑な行動モジュールの遷移を設定する場合には、開発者に余計な手間がかかっていた。
【０００５】
それゆえに、この発明の主たる目的は、新規な、コミュニケーションロボット開発支援装置を提供することである。
【０００６】
この発明のさらに他の目的は、複雑な行動モジュールの遷移を簡単に設定できる、コミュニケーションロボット開発支援装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、行動モジュールの遷移を最上位であるメインシーケンスとそれより下位のサブシーケンスとに階層化し、メインシーケンスに対応するメインシーケンス画面とサブシーケンスに対応するサブシーケンス画面とを個別に画面上に表示するシーケンス表示手段、各コミュニケーション行動に対応した行動モジュールを示すビヘイビアアイコンを画面上に表示するとともに、必要に応じてサブシーケンスを示す第１シーケンスアイコンを画面上に表示する第１アイコン表示手段、第１アイコン表示手段によってメインシーケンス画面上に表示されたアイコンと、アイコン間を連結して行動モジュールの実行順序を示す遷移線とに基づいて、メインシーケンスを作成するメインシーケンス作成手段、第１アイコン表示手段によってサブシーケンス画面上に表示されたアイコンと遷移線とに基づいて、サブシーケンスを作成するサブシーケンス作成手段、任意の行動モジュールに関連付けた反射的遷移において実行する行動モジュールを示すビヘイビアアイコンを画面上に表示する第２アイコン表示手段、および第２アイコン表示手段によって画面上に表示されたアイコンと、反射的遷移を終了した後の戻り先を指定する反射的遷移線とに基づいて、反射的遷移を設定する反射的遷移設定手段を備える、コミュニケーションロボット開発支援装置である。
【０００９】
第１の発明では、コミュニケーションロボット開発支援装置（１０）は、コミュニケーションロボット（１２）の開発を支援するためのものである。シーケンス表示手段（２６，３０２，３１２，３１４，Ｓ１）は、行動モジュールの遷移を最上位であるメインシーケンスとそれより下位のサブシーケンスとに階層化し、メインシーケンスに対応するメインシーケンス画面（３１２）とサブシーケンスに対応するサブシーケンス画面（３１４）とをそれぞれ個別に視覚化画面上（３０２）に表示する。メインシーケンス画面では、行動モジュールに対応するビヘイビアアイコン（３０４）とサブシーケンスに対応するシーケンスアイコン（３２０）とが表示される。メインシーケンス作成手段（３１２，Ｓ７）は、ビヘイビアアイコン、シーケンスアイコン、およびアイコン間を連結して行動モジュールの実行順序を示す遷移線（３０６）に基づいて、メインシーケンスを作成する。また、サブシーケンス画面では、行動モジュールに対応するビヘイビアアイコンが表示される。たとえば、サブシーケンス作成手段（３１４，Ｓ７）は、ビヘイビアアイコンと遷移線とに基づいて、サブシーケンスを作成する。
【００１０】
第１の発明によれば、複雑な行動モジュールの遷移を簡単に設定することができる。
【００１１】
第２の発明は、第１の発明に従属し、反射的遷移設定手段によって反射的遷移を設定するときに、反射的遷移において最後に実行する行動モジュールを示すビヘイビアアイコンとその反射的遷移を終了した後で実行する行動モジュールを示すビヘイビアアイコンとが反射的遷移線によって連結される。
【００１３】
第３の発明は、第１または２の発明に従属し、第２アイコン表示手段は、反射的遷移への遷移条件が設定された反射的遷移スタートアイコンを画面上にさらに表示する。
【発明の効果】
【００１６】
この発明によれば、行動モジュールの遷移をメインシーケンスとサブシーケンスとに階層化して、メインシーケンスを示すメインシーケンス画面とサブシーケンスを示すサブシーケンス画面とをそれぞれ個別に表示するため、複雑な行動モジュールの関係性を簡単に把握することができる。
【００１７】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１８】
【図１】この発明の一実施例のコミュニケーションロボット開発支援装置およびコミュニケーションロボットの一例を示す図解図である。
【図２】図１に示すコミュニケーションロボット開発支援装置の内部構成を示すブロック図である。
【図３】図１に示すコミュニケーションロボットの備える行動モジュールの構成を示す図解図である。
【図４】（Ａ）は、行動モジュールの順次的遷移を示す図解図であり、（Ｂ）は、行動モジュールの反射的遷移を示す図解図である。
【図５】図１に示すコミュニケーションロボットの一例を示す外観図である。
【図６】図１に示すコミュニケーションロボットの電気的な構成を示すブロック図である。
【図７】図１に示すコミュニケーションロボット開発支援装置で表示されるコンポーザ画面の一例を示す図解図である。
【図８】図７に示すコンポーザ画面のメインシーケンス画面に表示されるメインシーケンスを示す図解図である。
【図９】図１に示すコミュニケーションロボット開発支援装置で表示されるコンポーザ画面の一例を示す図解図である。
【図１０】図９に示すコンポーザ画面のサブシーケンス画面に表示されるサブシーケンスを示す図解図である。
【図１１】図９に示すコンポーザ画面のサブシーケンス画面に表示される反射的遷移を示す図解図である。
【図１２】開発支援装置の動作の一例を示すフロー図である。
【図１３】コミュニケーションロボットの動作の一例を示すフロー図である。
【図１４】図１３の反射的遷移の実行処理の動作の一例を示すフロー図である。
【発明を実施するための形態】
【００１９】
図１を参照して、この実施例のコミュニケーションロボット開発支援装置（以下、単に「開発支援装置」という。）１０は、一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボット（以下、単に「ロボット」という。）１２の開発を支援するためのものである。
【００２０】
開発支援装置１０は、パーソナルコンピュータ（ＰＣ）またはワークステーション等のコンピュータで構成されており、たとえば、図２に示すようにＣＰＵ２０を含む。ＣＰＵ２０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス２２を介して、メモリ２４、液晶ディスプレイまたはＣＲＴ等の表示装置２６、ならびに、マウスおよびキーボード等の入力装置２８に接続される。
【００２１】
メモリ２４は、図示は省略をするが、ＲＯＭ、ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、この開発支援装置１０の動作を制御するためのプログラムが記憶されており、また、表示装置２６に表示される画面データや各アイコンの画像データ等も記憶されている。さらに、ＲＯＭおよびＨＤＤには、ロボット１２のビヘイビアを制御するためのプログラムやデータが記憶されている。ここで、ビヘイビアとは、行動モジュールによって実現されるロボット１２のコミュニケーション行動を示しており、ＲＯＭおよびＨＤＤには、複数の行動モジュールが各ビヘイビアに対応付けて記憶されている。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００２２】
さらに、ＣＰＵ２０は、バス２２を介してシーケンスデータベース（以下、シーケンスＤＢ）３０に接続される。後で詳細に説明するように、シーケンスＤＢ３０には、メインシーケンスとサブシーケンスとが記憶され、ロボット１２の開発者等は、このシーケンスＤＢ３０に記憶されているシーケンスのデータ（シーケンスデータ）を読み出して、そのシーケンスのデータを用いて、行動モジュールの状態遷移を設定することができる。
【００２３】
また、ＣＰＵ２０は、バス２２を介して通信ＬＡＮボード３２に接続される。通信ＬＡＮボード３２は、たとえばＤＳＰで構成され、ＣＰＵ２０から与えられた送信データを無線通信装置３４に与え、無線通信装置３４は送信データを、ネットワーク２００を介してロボット１２に送信する。また、通信ＬＡＮボード３２は、無線通信装置３４を介してデータを受信し、受信したデータをＣＰＵ２０に与える。
【００２４】
この開発支援装置１０によって開発を支援するロボット１２について説明する。
【００２５】
ロボット１２は、各種センサを有するヒューマノイド型で自律移動型のものであり、身振りおよび音声の少なくとも一方を用いて、コミュニケーション行動を取ることができる。このようなロボット１２のコミュニケーション行動（ビヘイビア）を実現するためのプログラムは、上述したように、モジュール化された「行動モジュール」として実行される。また、行動モジュールの実行順序は、「行動モジュールの状態遷移」として設定され、長期的に首尾一貫した前後関係または調和した状況を維持しているコミュニケーション行動が実現される。「行動モジュールの状態遷移」は、行動モジュールの短期的な遷移を示すものであり、たとえば、数個程度の行動モジュールの繋がりないし順序付けであり得るが、長期（たとえば一日中）やすべての行動モジュールの遷移を定めたものではない。すなわち、ロボット１２は、「行動モジュール」を順次実行し、その行動モジュールの実行順序は、「行動モジュールの状態遷移」によって導かれる。
【００２６】
具体的には、行動モジュールは、図３に示すように、前提条件部、指示部および認識部を含む。行動モジュールを実行する際には、まず、前提条件部を実行することによって、ロボット１２は、その行動モジュールが実行可能な状況であるかどうかを確認する。前提条件を満足する場合には、次に指示部を実行する。これにより、ロボット１２は人間と相互作用する行動を取り、具体的には、身振りおよび音声の少なくとも一方を用いて所定のコミュニケーション行動を人間に提示する。認識部は、ロボット１２の提示したコミュニケーション行動に対して取ると予想される幾つかの人間の反応（予想１〜予想Ｎ）を認識するように設定されている。
【００２７】
行動モジュールの遷移は、図４に示すように、順次的遷移および反射的遷移を含む。ロボット１０は、現在の行動モジュールの指示部を実行した後、認識部を実行することによって人間の反応を認識する。その後、ロボット１０は、現在の行動モジュールの実行を終了し、認識結果に相当する結果値を記録して、次の実行可能な行動モジュールに推移する（図４（Ａ））。次に実行する行動モジュールは、現在の行動モジュールの結果値（予想１〜予想Ｎ）によって決定され、この遷移が行動モジュールの状態遷移によって導かれる。
【００２８】
また、外部から妨害などがあった場合は、反射的遷移によって取り扱われる。反射的遷移が現在の状況に対して設定されていて、かつ、対応する次の行動モジュールの前提条件部が満足される場合、ロボット１２は現在の行動モジュールの実行を止めてすぐに次の行動モジュールに遷移する（図４（Ｂ））。この反応的な遷移も行動モジュールの状態遷移によって導かれる。
【００２９】
ただし、行動モジュールの実行順序に関する規則として「エピソード・ルール」を適用することもできる。この「エピソード・ルール」については、本件出願人が先に出願し、既に出願公開された特開２００４−１１４２４２号公報に開示されている。
【００３０】
図５を参照して、ロボット１２のハードウェア面の構成を詳細に説明する。図５に示すように、ロボット１２は台車５０を含み、台車５０の下面にはロボット１２を自律移動させる２つの車輪５２および１つの従輪５４が設けられる。２つの車輪５２は車輪モータ７６（図６参照）によってそれぞれ独立に駆動され、台車５０すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪５４は車輪５２を補助する補助輪である。したがって、ロボット１２は、配置された空間内を自律制御によって移動可能である。ただし、ロボット１２は、或る場所に固定的に配置されても構わない。
【００３１】
台車５０の上には、円柱形のセンサ取り付けパネル５８が設けられ、このセンサ取り付けパネル５８には、多数の赤外線距離センサ６０が取り付けられる。これらの赤外線距離センサ６０は、センサ取り付けパネル５８すなわちロボット１２の周囲の物体（人間や障害物など）との距離を測定するものである。
【００３２】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。
【００３３】
センサ取り付けパネル５８の上には、胴体６２が直立するように設けられる。また、胴体６２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ６０がさらに設けられ、ロボット１２の前方の主として人間との距離を計測する。また、胴体６２には、その側面側の上端部のほぼ中央から伸びる支柱６４が設けられ、支柱６４の上には、全方位カメラ６６が設けられる。全方位カメラ６６は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ９０とは区別される。この全方位カメラ６６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ６０および全方位カメラ６６の設置位置は、当該部位に限定されず適宜変更され得る。
【００３４】
胴体６２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節６８Ｒおよび肩関節６８Ｌによって、上腕７０Ｒおよび上腕７０Ｌが設けられる。図示は省略するが、肩関節６８Ｒおよび肩関節６８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節６８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕７０Ｒの角度を制御できる。肩関節６８Ｒの或る軸（ヨー軸）は、上腕７０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節６８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕７０Ｌの角度を制御できる。肩関節６８Ｌの或る軸（ヨー軸）は、上腕７０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３５】
また、上腕７０Ｒおよび上腕７０Ｌのそれぞれの先端には、肘関節７２Ｒおよび肘関節７２Ｌが設けられる。図示は省略するが、肘関節７２Ｒおよび肘関節７２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕７４Ｒおよび前腕７４Ｌの角度を制御できる。
【００３６】
前腕７４Ｒおよび前腕７４Ｌのそれぞれの先端には、人の手に相当する球体７６Ｒおよび球体７６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車５０の前面、肩関節６８Ｒと肩関節６８Ｌとを含む肩に相当する部位、上腕７０Ｒ、上腕７０Ｌ、前腕７４Ｒ、前腕７４Ｌ、球体７６Ｒおよび球体７６Ｌには、それぞれ、接触センサ７８（図６で包括的に示す）が設けられる。台車５０の前面の接触センサ７８は、台車５０への人間や他の障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪５２の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ７８は、当該各部位に触れたかどうかを検知する。なお、接触センサ７８の設置位置は、当該部位に限定されず、適宜な位置（人の胸、腹、脇、背中および腰に相当する位置）に設けられてもよい。
【００３７】
胴体６２の中央上部（人の首に相当する位置）には首関節８０が設けられ、さらにその上には頭部８２が設けられる。図示は省略するが、首関節８０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００３８】
頭部８２には、人の口に相当する位置に、スピーカ８４が設けられる。スピーカ８４は、ロボット１２が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク８６Ｒおよびマイク８６Ｌが設けられる。以下、右のマイク８６Ｒと左のマイク８６Ｌとをまとめてマイク８６ということがある。マイク８６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部８８Ｒおよび眼球部８８Ｌが設けられる。眼球部８８Ｒおよび眼球部８８Ｌは、それぞれ眼カメラ９０Ｒおよび眼カメラ９０Ｌを含む。以下、右の眼球部８８Ｒと左の眼球部８８Ｌとをまとめて眼球部８８ということがある。また、右の眼カメラ９０Ｒと左の眼カメラ９０Ｌとをまとめて眼カメラ９０ということがある。
【００３９】
眼カメラ９０は、ロボット１２に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ９０は、上述した全方位カメラ６６と同様のカメラを用いることができる。たとえば、眼カメラ９０は、眼球部８８内に固定され、眼球部８８は、眼球支持部（図示せず）を介して頭部８２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部８２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部８２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部８８ないし眼カメラ９０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ８４、マイク８６および眼カメラ９０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４０】
このように、この実施例のロボット１２は、車輪５２の独立２軸駆動、肩関節６８の３自由度（左右で６自由度）、肘関節７２の１自由度（左右で２自由度）、首関節８０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４１】
図６はロボット１２の電気的な構成を示すブロック図である。この図６を参照して、ロボット１２は、ＣＰＵ１００を含む。ＣＰＵ１００は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス１０２を介して、メモリ１０４、モータ制御ボード１０６、センサ入力／出力ボード１０８および音声入力／出力ボード１１０に接続される。
【００４２】
メモリ１０４は、図示は省略をするが、ＲＯＭ、ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、開発支援装置１０のメモリ２４に記憶されているものと同じ、複数の行動モジュールが記憶されている。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４３】
モータ制御ボード１０６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、右眼球部８８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図６では、まとめて「右眼球モータ１１２」と示す）の回転角度を制御する。同様にして、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、左眼球部８８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図６では、まとめて「左眼球モータ１１４」と示す）の回転角度を制御する。
【００４４】
また、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、肩関節６８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節７２Ｒの角度を制御する１つのモータとの計４つのモータ（図６では、まとめて「右腕モータ１１６」と示す）の回転角度を制御する。同様にして、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、肩関節６８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節７２Ｌの角度を制御する１つのモータとの計４つのモータ（図６では、まとめて「左腕モータ１１８」と示す）の回転角度を制御する。
【００４５】
さらに、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、首関節８０の直交する３軸のそれぞれの角度を制御する３つのモータ（図６では、まとめて「頭部モータ１３０」と示す）の回転角度を制御する。そして、モータ制御ボード１０６は、ＣＰＵ１００からの制御データを受け、車輪５２を駆動する２つのモータ（図６では、まとめて「車輪モータ７６」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ７６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ７６と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【００４６】
センサ入力／出力ボード１０８は、モータ制御ボード１０６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ１００に与える。すなわち、赤外線距離センサ６０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード１０８を通じてＣＰＵ１００に入力される。また、全方位カメラ６６からの映像信号が、必要に応じてセンサ入力／出力ボード１０８で所定の処理を施してからＣＰＵ１００に入力される。眼カメラ９０からの映像信号も、同様にして、ＣＰＵ１００に入力される。また、上述した複数の接触センサ７８（図６では、まとめて「接触センサ７８」と示す）からの信号がセンサ入力／出力ボード１０８を介してＣＰＵ１００に与えられる。音声入力／出力ボード１１０もまた、同様に、ＤＳＰで構成され、ＣＰＵ１００から与えられる音声合成データに従った音声または声がスピーカ８４から出力される。また、マイク８６からの音声入力が、音声入力／出力ボード１１０を介してＣＰＵ１００に与えられる。
【００４７】
また、ＣＰＵ１００は、バス１０２を介して通信ＬＡＮボード１３２に接続される。通信ＬＡＮボード１３２は、たとえばＤＳＰで構成され、ＣＰＵ１００から与えられた送信データを無線通信装置１３４に与え、無線通信装置１３４は送信データを、ネットワーク２００を介して開発支援装置１０に送信する。また、通信ＬＡＮボード１３２は、無線通信装置１３４を介してデータを受信し、受信したデータをＣＰＵ１００に与える。
【００４８】
開発支援装置１０は、上述のようなロボット１２の開発に役立つものである。具体的には、開発支援装置１０では、開発支援処理が開始されると、たとえば図７および図９に示すようなコンポーザ画面３００が表示装置２６に表示される。
【００４９】
このコンポーザ画面３００では、ロボット１２の開発者等は、行動モジュールの状態遷移を設定して、その行動モジュールの状態遷移に関する情報（遷移情報）をロボット１２に送信することができる。そして、後で詳細に説明するように、開発支援装置１０から遷移情報を受信したロボット１２は、遷移情報に従って行動モジュールのデータをメモリ１０４から読み出し、その行動モジュールに対応するコミュニケーション行動を取る。
【００５０】
図７および図９に示すように、コンポーザ画面３００は、視覚化画面３０２を含み、この視覚化画面３０２には、行動モジュールの状態遷移が図式的に視覚化されて表示される。視覚化画面３０２では、行動モジュールに対応するビヘイビアが矩形状のアイコン（ビヘイビアアイコン３０４）で表示され、ビヘイビアアイコン３０４と他のビヘイビアアイコン３０４とは行動モジュールの実行順序を示す矢印線（遷移線３０６）によって連結される。具体的には、ビヘイビアアイコン３０４（ビヘイビアアイコンＡ）の右側（出力側）にあるポートがマウスなどの入力装置２８でクリックされると、このポートから現在のマウスポインタまでの矢印線（遷移線３０６）が視覚化画面３０２上に表示される。そして、そのままビヘイビアアイコン３０４（ビヘイビアアイコンＢ）の左側（入力側）にあるポートがクリックされると、ビヘイビアアイコン３０４（ビヘイビアアイコンＡ）とビヘイビアアイコン３０４（ビヘイビアアイコンＢ）とが遷移線３０６で連結されることとなる。
【００５１】
また、視覚化画面３０２左上部には、メインシーケンスタブ３０８ないしサブシーケンスタブ３１０が設けられる。視覚化画面３０２では、行動モジュールの状態遷移が最上位であるメインシーケンスとそれより下位のサブシーケンスとに階層化されて表示され、たとえば、マウスなどの入力装置２８でメインシーケンスタブ３０８ないしサブシーケンスタブ３１０を選択されることによって、視覚化画面３０２がメインシーケンスに対応するメインシーケンス画面３１２（図７参照）とサブシーケンスに対応するサブシーケンス画面３１４（図９参照）とに切り替えられる。ロボット１２の開発者等は、メインシーケンス画面３１２でメインシーケンスを作成するとともに、サブシーケンス画面３１４でサブシーケンスを作成することができ、その作成されたシーケンスがシーケンスＤＢ３０に保存される。
【００５２】
さらに、視覚化画面３０２右側には、ビヘイビアリスト画面３１６が設けられる。ビヘイビアリスト画面３１６には、「Ａｋｕｓｈｕ（握手）」、「Ｈｕｇ（抱き合う）」、「Ｂｙｅ（ばいばい）」、「Ｌｉｓｔｅｎ（聴取）」、「Ｔａｌｋ（挨拶）」、「Ｇｕｉｄｅ（道案内）」、「Ｎａｖｉ（誘導）」などの、ビヘイビアの名称のリストがマウスなどの入力装置２８によるドラッグ・アンド・ドロップ操作の対象オブジェクト（ビヘイビアオブジェクト）として表示される。たとえば、ロボット１２の開発者等がマウスなどの入力装置２８を操作し、ビヘイビアリスト画面３１６のビヘイビアオブジェクトをドラッグし、そして視覚化画面３０２でこれをドロップすると、そのビヘイビアオブジェクトに対応するビヘイビアアイコン３０４が視覚化画面３０２に描画される。
【００５３】
また、視覚化画面３０２左側には、シーケンスリスト画面３１８が設けられる。シーケンスリスト画面３１８には、シーケンスＤＢ３０に保存されているシーケンスのリストが表示され、それぞれのシーケンスの名称がマウスなどの入力装置２８によるドラッグ・アンド・ドロップ操作の対象オブジェクト（シーケンスオブジェクト）として表示される。たとえば、ロボット１２の開発者等がマウスなどの入力装置２８を操作し、シーケンスリスト画面３１８におけるサブシーケンスのシーケンスオブジェクトをドラッグし、そして視覚化画面３０２でこれをドロップすると、そのシーケンスに対応するアイコン（シーケンスアイコン３２０）が視覚化画面３０２に描画される。
【００５４】
このようなコンポーザ画面３００では、上述したように、メインシーケンス画面３１２でメインシーケンスが作成されるとともに、サブシーケンス画面３１４でサブシーケンスが作成される。
【００５５】
図７は、視覚化画面３０２にメインシーケンス画面３１２が表示された状態のコンポーザ画面３００の一例であり、図８は、そのメインシーケンス画面３１２のメインシーケンスを表した図解図である。
【００５６】
図７に示すように、メインシーケンス画面３１２では、ビヘイビアアイコン３０４が表示されるとともに、コミュニケーションを行う対話相手の返答等による条件分岐を示す台形状のアイコン（条件分岐アイコン３２２）、メインシーケンスの実行開始を示すメインスタートアイコン３２４、およびメインシーケンスの実行終了を示すメインエンドアイコン３２６が表示される。
【００５７】
また、このメインシーケンス画面３１２では、サブシーケンスのシーケンスアイコン３２０が表示され、このシーケンスアイコン３２０と他のアイコン３０４，３２２，３２４，３２６とが遷移線３０６で連結されることによって、メインシーケンスの中にサブシーケンスが組み込まれる。
【００５８】
図７および図８を参照して、このメインシーケンス画面３１２では、メインスタートアイコン３２４と「こんにちは（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結され、さらに、この「こんにちは（Ｔａｌｋ）」のビヘイビアアイコン３０４と「道案内しましょうか？（Ａｓｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。すなわち、ロボット１２は、このメインシーケンスを実行開始すると、先ず、「こんにちは」と発話するビヘイビアＢ１を実行し、所定の時間が経過すると、次に、「道案内しましょうか？」と発話するビヘイビアＢ２を実行することとなる。
【００５９】
そして、「道案内しましょうか？（Ａｓｋ）」のビヘイビアアイコン３０４と条件分岐アイコン３２２とが遷移線３０６で連結され、さらに、この条件分岐アイコン３２２の右側（出力側）の「はい」のポートとシーケンスアイコン３２０とが遷移線３０６で連結される。また、条件分岐アイコン３２２の右側（出力側）の「いいえ」のポートと「じゃあ、お買い得情報を教えます（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。すなわち、ロボット１２は、対話相手の返答を待ち、その対話相手から「はい」という返答があれば、ロボット１２はサブシーケンスを実行開始することとなる。一方、対話相手から「いいえ」という返答があれば、「じゃあ、お買い得情報を教えます」と発話してお買い得情報を教えるビヘイビアＢ４を実行することとなる。
【００６０】
さらに、シーケンスアイコン３２０の右側（出力側）の「案内終了」のポートと「Ｂｙｅ」のビヘイビアアイコン３０４とが遷移線３０６で連結され、この「Ｂｙｅ」のビヘイビアアイコン３０４とメインエンドアイコン３２６とが遷移線３０６で連結される。また、シーケンスアイコン３２０の右側（出力側）の「割り込み終了」のポートと「じゃあ、お買い得情報を教えます（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結され、「じゃあ、お買い得情報を教えます（Ｔａｌｋ）」のビヘイビアアイコン３０４と「Ｂｙｅ」のビヘイビアアイコン３０４とが遷移線３０６で連結され、さらに、この「Ｂｙｅ」のビヘイビアアイコン３０４とメインエンドアイコン３２６とが遷移線３０６で連結される。すなわち、ロボット１２は、案内を完了した状態でサブシーケンスを実行終了していれば、次に、「ばいばい」と発話するビヘイビアＢ５を実行して、メインシーケンスを実行終了することとなる。一方、ロボット１２は、割り込み終了した状態でサブシーケンスを実行終了、すなわち、後で詳細に説明するように、反射的遷移Ｒ３からメインシーケンスに戻ったのであれば、次に、「じゃあ、お買い得情報を教えます」と発話してお買い得情報を教えるビヘイビアＢ４を実行し、その後、「ばいばい」と発話するビヘイビアＢ５を実行して、メインシーケンスを実行終了することとなる。
【００６１】
また、図９は、視覚化画面３０２にサブシーケンス画面３１４が表示された状態のコンポーザ画面３００の一例であり、図１０は、そのサブシーケンス画面３１４のサブシーケンスを表した図解図であり、図１１は、そのサブシーケンス画面３１４の反射的遷移を表した図解図である。
【００６２】
図９に示すように、サブシーケンス画面３１４では、ビヘイビアアイコン３０４や条件分岐アイコン３２２が表示されるとともに、サブシーケンスの実行開始を示すサブスタートアイコン３２８、およびサブシーケンスの実行終了を示すサブエンドアイコン３３０が表示される。
【００６３】
このサブシーケンス画面３１４では、「レストラン１へ（Ｇｕｉｄｅ）」のビヘイビア、「レストラン２へ（Ｇｕｉｄｅ）」のビヘイビア、および「レストラン３へ（Ｇｕｉｄｅ）」のビヘイビアに反射的遷移（Ｒ１，Ｒ２，Ｒ３）が設定されており、それらの反射的遷移（Ｒ１，Ｒ２，Ｒ３）の実行開始を示す反射的遷移スタートアイコン３３２が表示される。たとえば、ロボット１２の開発者等は、反射的遷移（Ｒ１，Ｒ２，Ｒ３）からの戻り先を指定することができ、具体的には、反射的遷移において最後に実行するビヘイビアのビヘイビアアイコンと、反射的遷移を終了した後で実行するビヘイビアのビヘイビアアイコンとを矢印破線（反射的遷移線３３４）で連結することによって、反射的遷移（Ｒ１，Ｒ２，Ｒ３）に対して、「遷移元へ戻る」、「遷移元のシーケンスの先頭に戻る」、「戻り先を指定する」等の遷移方法を設定することができる。
【００６４】
図９―図１１を参照して、このサブシーケンス画面３１４では、サブスタートアイコン３２８と「どこに行きたいですか？（Ａｓｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結され、この「どこに行きたいですか？（Ａｓｋ）」のビヘイビアアイコン３０４と条件分岐アイコン３２２が遷移線３０６で連結される。すなわち、ロボット１２は、このサブシーケンスを実行開始すると、先ず、「どこに行きたいですか？」と発話するビヘイビアＢ３−１を実行して、対話相手の返答を待つこととなる。
【００６５】
そして、条件分岐アイコン３２２の右側（出力側）の「レストラン１」のポートと「レストラン１へ（Ｇｕｉｄｅ）」のビヘイビアアイコン３０４とが遷移線３０６で連結され、条件分岐アイコン３２２の右側（出力側）の「レストラン２」のポートと「レストラン２へ（Ｇｕｉｄｅ）」のビヘイビアアイコン３０４とが遷移線３０６で連結され、さらに、条件分岐アイコン３２２の右側（出力側）の「レストラン３」のポートと「レストラン３へ（Ｇｕｉｄｅ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。すなわち、ロボット１２は、対話相手から「レストラン１」という返答があれば、レストラン１までの順路を説明するビヘイビアＢ３−２を実行することとなり、対話相手から「レストラン２」という返答があれば、レストラン２までの順路を説明するビヘイビアＢ３−３を実行することとなり、対話相手から「レストラン３」という返答があれば、レストラン３までの順路を説明するビヘイビアＢ３−４を実行することとなる。
【００６６】
そして、「レストラン１へ（Ｇｕｉｄｅ）」、「レストラン２へ（Ｇｕｉｄｅ）」、「レストラン３へ（Ｇｕｉｄｅ）」のビヘイビアアイコン３０４のそれぞれと「他にも案内しましょうか？（Ａｓｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。すなわち、ロボット１２は、レストラン１までの順路を説明するビヘイビアＢ３−２、レストラン２までの順路を説明するビヘイビアＢ３−３、およびレストラン３までの順路を説明するビヘイビアＢ３−４のいずれかを実行すると、その後、「他にも案内しましょうか？」と発話するビヘイビアＢ３−５を実行することとなる。
【００６７】
そして、「他にも案内しましょうか？（Ａｓｋ）」のビヘイビアアイコン３０４と条件分岐アイコン３２２が遷移線３０６で連結され、この条件分岐アイコン３２２の右側（出力側）の「はい」のポートと「どこに行きたいですか？（Ａｓｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。また、条件分岐アイコン３２２の右側（出力側）の「いいえ」のポートとサブエンドアイコン３３０とが遷移線３０６で連結される。すなわち、ロボット１２は、対話相手の返答を待ち、対話相手から「はい」という返答があれば、再び「どこに行きたいですか？（Ａｓｋ）」と発話するビヘイビアＢ３−１を実行することとなる。一方、対話相手から「いいえ」という返答があれば、サブシーケンスを実行終了し、その後、「ばいばい」と発話するビヘイビアＢ５（図８参照）を実行することとなる。
【００６８】
また、「やっぱり他の場所をおしえて」という遷移条件に対応する反射的遷移Ｒ１の反射的遷移スタートアイコン３３２と「わかりました（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。この反射的遷移Ｒ１では、「遷移元シーケンスの先頭に戻る」の遷移方法が設定されており、ここでは、「わかりました（Ｔａｌｋ）」のビヘイビアアイコン３０４と「どこに行きたいですか？（Ａｓｋ）」のビヘイビアアイコン３０４とが反射的遷移線３３４で連結される。すなわち、ロボット１２がレストラン１までの順路を説明するビヘイビアＢ３−２、レストラン２までの順路を説明するビヘイビアＢ３−３、およびレストラン３までの順路を説明するビヘイビアＢ３−４のいずれかを実行しているときに、対話相手がロボット１２に対して「やっぱり他の場所をおしえて」と発話した場合には、ロボット１２は現在のビヘイビアの実行を止めて、「わかりました」と発話するビヘイビアを実行し、その後、「どこに行きたいですか？」と発話するビヘイビアＢ３−１を実行することとなる。
【００６９】
また、「もう１度説明して」という遷移条件に対応する反射的遷移Ｒ２の反射的遷移スタートアイコン３３２と「わかりました（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。この反射的遷移Ｒ２では、「遷移元に戻る」の遷移方法が設定されており、ここでは、「わかりました（Ｔａｌｋ）」のビヘイビアアイコン３０４と「レストラン１へ（Ｇｕｉｄｅ）」、「レストラン２へ（Ｇｕｉｄｅ）」、「レストラン３へ（Ｇｕｉｄｅ）」のビヘイビアアイコン３０４のそれぞれとが反射的遷移線３３４で連結される。すなわち、ロボット１２がレストラン１までの順路を説明するビヘイビアＢ３−２、レストラン２までの順路を説明するビヘイビアＢ３−３、およびレストラン３までの順路を説明するビヘイビアＢ３−４のいずれかを実行しているときに、対話相手がロボット１２に対して「もう１度説明して」と発話した場合には、ロボット１２は現在のビヘイビアの実行を止めて、「わかりました」と発話するビヘイビアを実行し、その後、再び、レストラン１までの順路を説明するビヘイビアＢ３−２、レストラン２までの順路を説明するビヘイビアＢ３−３、およびレストラン３までの順路を説明するビヘイビアＢ３−４のいずれかを実行することとなる。
【００７０】
また、「やっぱりいらない」という遷移条件に対応する反射的遷移Ｒ３の反射的遷移スタートアイコン３３２と「そうですか（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。この反射的遷移Ｒ３では、「戻り先を指定する」の遷移方法が設定されており、ここでは、「そうですか（Ｔａｌｋ）」のビヘイビアアイコン３０４とサブエンドアイコン３３０とが反射的遷移線３３４で連結される。そして、上述したように、メインシーケンス画面３１２では、シーケンスアイコン３２０の右側（出力側）の「割り込み終了」のポートと「じゃあ、お買い得情報を教えます（Ｔａｌｋ）」のビヘイビアアイコン３０４とが遷移線３０６で連結される。すなわち、ロボット１２がレストラン１までの順路を説明するビヘイビアＢ３−２、レストラン２までの順路を説明するビヘイビアＢ３−３、およびレストラン３までの順路を説明するビヘイビアＢ３−４のいずれかを実行しているときに、対話相手がロボット１２に対して「やっぱりいらない」と発話した場合には、ロボット１２は現在のビヘイビアの実行を止めて、「そうですか」と発話するビヘイビアを実行し、その後、「じゃあ、お買い得情報を教えます」と発話してお買い得情報を教えるビヘイビアＢ４（図８参照）を実行する。
【００７１】
具体的には、開発支援装置１０のＣＰＵ２０は、図１２に示すフロー図に従って開発支援処理を実行する。
【００７２】
処理が開始されると、ＣＰＵ２０は、先ず、ステップＳ１で、メモリ２４から画面データを読み出し、たとえば図７または図９に示すようなコンポーザ画面３００を表示装置２６に表示する。
【００７３】
次に、ステップＳ３では、停止命令があるか否かを判断する。たとえば、ロボット１２の開発者等によって、コンポーザ画面３００の図示しない終了メニューが選択された場合には“ＹＥＳ”と判断し、続くステップＳ５で終了処理を実行して、開発支援処理を終了する。一方、ステップＳ３で“ＮＯ”であれば、つまり停止命令が無ければ、ステップＳ７に進む。
【００７４】
ステップＳ７では、行動モジュールの状態遷移の設定処理を行う。ここでは、ロボット１２の開発者等は、メインシーケンス画面３１２上でメインシーケンスを作成するとともに、サブシーケンス画面３１４上でサブシーケンスを作成することによって、行動モジュールの状態遷移を設定する。
【００７５】
そして、ステップＳ９では、行動モジュールの状態遷移の設定処理が終了したか否かを判断する。ここでは、行動モジュールの状態遷移が設定された後、コンポーザ画面３００の図示しない決定メニューが選択されたか否かを判断する。ステップＳ９で決定メニューが選択された場合には“ＹＥＳ”と判断し、続くステップＳ１１で、作成したジーケンスをシーケンスＤＢ３０に保存し、ステップＳ１３で、その行動モジュールの状態遷移に関する情報（遷移情報）をロボット１２に送信して、ステップＳ３に戻る。
【００７６】
図１３は、ロボット１２のＣＰＵ１００の全体処理を示すフロー図である。図１３に示すように、ロボット１２のＣＰＵ１００は、全体処理を実行すると、ステップＳ３１で、最初に行う所定のビヘイビアを実行する。つまり、メモリ１０４から最初に行う所定のビヘイビアに対応する行動モジュールを読み出して、その行動モジュールに規定される行動を行う。なお、最初に実行する所定のビヘイビアには、たとえば「ＥＸＰＬＯＲＥ（周囲環境を巡回して調査）」のように周囲環境を調査するもの等が設定され得る。
【００７７】
続いて、ステップＳ３３で、停止命令があるか否かを判断する。ここでは、たとえば、開発中であれば開発支援装置１０から終了指示があったか、あるいは、ロボット１２を停止させるための終了ボタンが押されたかどうか等を判断する。
【００７８】
ステップＳ３３で“ＹＥＳ”であれば、続くステップＳ３５で終了処理を実行して、ロボット１２の動作処理を終了する。この終了処理では、ロボット１２の体の各部位をそれぞれのホームポジションに戻すようにしてもよい。
【００７９】
一方、ステップＳ３３で“ＮＯ”であれば、つまり停止命令がなければ、ステップＳ３７で、開発支援装置１０から「行動モジュールの状態遷移」についての遷移情報がネットワーク２００を介して送信されてきたか否かを判断する。ステップＳ３７で“ＹＥＳ”であれば、続くステップＳ３９で遷移情報を受信してメモリ１０４に書き込む。
【００８０】
続いて、ステップＳ４１で、遷移情報に従い最初のビヘイビアを実行する。ここでは、ロボット１２は、遷移情報に従って、最初の行動モジュールのデータをメモリ１０４から読み出して、その行動モジュールに対応するビヘイビアを実行する。
【００８１】
続く、ステップＳ４３では、ロボット１２の現在実行中のビヘイビアに対して、反射的遷移の条件が満たされるか否かを判断する。ここでは、対話相手がロボット１２に対して反射的遷移の条件を満足するような行動をとったか否かを判断する。
【００８２】
ステップＳ４３で“ＹＥＳ”であれば、つまりロボット１２の現在実行中のビヘイビアに対して反射的遷移の条件が満たされるのであれば、ステップＳ４５で、反射的遷移の実行処理（図１４参照）を開始する。
【００８３】
一方、ステップＳ４３で“ＮＯ”であれば、つまりロボット１２の現在実行中のビヘイビアに対して反射的遷移の条件が満たされないのであれば、ステップＳ４７で、遷移情報に指定されている全てのビヘイビアの実行が完了したか否かを判断する。ステップＳ４７で“ＹＥＳ”であれば、つまり行動モジュールの状態遷移において指定されている全てのビヘイビアの実行が完了していれば、ステップＳ３３へ戻る。
【００８４】
一方、ステップＳ４７で“ＮＯ”であれば、つまり、まだ全てのビヘイビアの実行が完了していなければ、ステップＳ４９で、遷移情報に従い次のビヘイビアを実行する。そして、ステップＳ４３に戻って、処理が繰り返される。
【００８５】
図１４は、図１３に示したステップＳ４５の反射的遷移の実行処理のフロー図である。図１４に示すように、ロボット１２のＣＰＵ１００は、反射的遷移Ｒｉの実行処理を開始すると、Ｓ６１で、ロボット１２の現在のビヘイビアＢｉの実行を中断して、Ｓ６３で、反射的遷移Ｒｉで定義されている一連のビヘイビア｛Ｂｉ１，Ｂｉ２，・・・，ＢｉＮ｝を実行する。
【００８６】
続く、ステップＳ６５では、反射的遷移Ｒｉに対して、「遷移元へ戻る」の遷移方法が設定されているか否かを判断する。ステップＳ６５で“ＹＥＳ”であれば、ステップＳ６７で、再びビヘイビアＢｉを実行し、ステップＳ４３（図１３参照）に戻って、処理が繰り返される。一方、ステップＳ６５で“ＮＯ”であれば、つまり、反射的遷移Ｒｉに対して、「遷移元へ戻る」の遷移方法が設定されていなければ、ステップＳ６９に進む。
【００８７】
ステップＳ６９では、反射的遷移Ｒｉに対して、「遷移元のシーケンスの先頭へ戻る」の遷移方法が設定されているか否かを判断する。ステップＳ６９で“ＹＥＳ”であれば、ステップＳ７１で、ビヘイビアＢｉの属するシーケンスの最初のビヘイビアを実行し、ステップＳ４３（図１３参照）に戻って、処理が繰り返される。一方、ステップＳ６９で“ＮＯ”であれば、つまり、反射的遷移Ｒｉに対して、「遷移元へ戻る」の遷移方法も、「遷移元のシーケンスへ戻る」の遷移方法も設定されていなければ、ステップＳ７３に進む。
【００８８】
ステップＳ７３では、反射的遷移Ｒｉに対して、「戻り先を指定する」が設定されているか否かを判断する。ステップＳ７３で“ＹＥＳ”であれば、ステップＳ７５で、戻り先として指定されたビヘイビアを実行し、ステップＳ４３（図１３参照）に戻って、処理が繰り返される。
【００８９】
このように、この実施例では、行動モジュールの状態遷移が最上位であるメインシーケンスとそれより下位のサブシーケンスとに階層化され、メインシーケンスに対応するメインシーケンス画面３１２とサブシーケンスに対応するサブシーケンス画面３１４とがそれぞれ個別に表示される。そして、メインシーケンス画面３１２上に表示されたアイコン３０４，３２０，３２２，３２４，３２６とそれらを連結する連結線３０６とに基づいて、メインシーケンスを作成することができる。また、サブシーケンス画面３１４上に表示されたアイコン３０４，３２２，３２８，３３０とそれらを連結する連結線３０６とに基づいて、サブシーケンスを作成することができる。したがって、この実施例によれば、階層性のある複雑な行動モジュールの関係性を簡単に設定することができる。
【００９０】
また、この実施例では、反射的遷移において最後に実行するビヘイビアのビヘイビアアイコンと、反射的遷移を終了した後で実行するビヘイビアのビヘイビアアイコンとを反射的遷移線３３４で連結することによって、反射的遷移からの戻り先を指定することができる。そして、反射的遷移に対して、「遷移元へ戻る」、「遷移元のシーケンスの先頭に戻る」、「戻り先を指定する」等の遷移方法を設定することができる。
【００９１】
なお、この実施例では、メインシーケンスの一部に含まれるひとまとまりの実行順序関係をサブシーケンスとして階層化して、１つのシーケンスアイコン３２０をメインシーケンス画面３１２上に表示したが、これに限定される必要はない。たとえば、メインシーケンスの一部にひとまとまりの実行順序関係が複数含まれていれば、そのそれぞれをサブシーケンスとして階層化して、複数のシーケンスアイコン３２０をメインシーケンス画面３１２上に表示してもよい。また、たとえば、サブシーケンスの一部にひとまとまりの実行順序関係が含まれていれば、それをサブシーケンスとして階層化して、サブシーケンス画面３１４上にシーケンスアイコン３２０を表示するようにしてもよい。
【符号の説明】
【００９２】
１０  …コミュニケーションロボット開発支援装置
１２  …コミュニケーションロボット
２０  …ＣＰＵ
２２  …バス
２４  …メモリ
２６  …表示装置
２８  …入力装置
３０  …シーケンスＤＢ
６０  …赤外線距離センサ
６６  …全方位カメラ
７８  …接触センサ
８４  …スピーカ
８６  …マイク
９０  …眼カメラ
１００  …ＣＰＵ
１０２  …バス
１０４  …メモリ
１０６  …モータ制御ボード
１０８  …センサ入力／出力ボード
１１０  …音声入力／出力ボード
２００  …ネットワーク
３００  …コンポーザ画面
３０２  …視覚化画面
３０４  …ビヘイビアアイコン
３０６  …遷移アイコン
３１２  …メインシーケンス画面
３１４  …サブシーケンス画面
３２０  …シーケンス画面
３３４  …反射的遷移アイコン
【図１】
0005429461.tif 000002
【図２】
0005429461.tif 000003
【図３】
0005429461.tif 000004
【図４】
0005429461.tif 000005
【図５】
0005429461.tif 000006
【図６】
0005429461.tif 000007
【図７】
0005429461.tif 000008
【図８】
0005429461.tif 000009
【図９】
0005429461.tif 000010
【図１０】
0005429461.tif 000011
【図１１】
0005429461.tif 000012
【図１２】
0005429461.tif 000013
【図１３】
0005429461.tif 000014
【図１４】
0005429461.tif 000015