(57)【特許請求の範囲】
【請求項１】
音声入力部が入力した対話対象の音声を少なくとも音声認識する音声認識部と、発話情報に基づいて音声出力する音声出力部と、所定の動作を行う可動部と、を有するコミュニケーションロボットであって、
前記音声認識部は、前記音声入力部が対話対象の音声を入力したときに、前記音声認識の結果の信頼度を算出および出力し、
前記対話対象の音声について前記音声認識部が算出した信頼度に基づいて、前記対話対象の音声を前記音声認識できたが当該対話対象の音声に対して回答できないことを示す回答不能行動を行うか否かの評価値を算出し、当該評価値が予め設定された閾値未満であるときに前記回答不能行動を行うと判定する応答行動判定部と、
前記応答行動判定部が前記回答不能行動を行うと判定した場合、前記コミュニケーションロボットが可能な所定の応答行動から、前記回答不能行動を選択する応答行動選択部と、
前記応答行動選択部が選択した前記回答不能行動の実行を、前記音声出力部および前記可動部の少なくとも一方に指令する応答行動指令部と、
前記対話対象毎に、当該対話対象の音声の平均音量を算出する平均音量算出部と、
を備え、
前記応答行動判定部は、前記音声入力部が入力した対話対象の音声の音量を前記平均音量算出部が算出した対話対象の音声の平均音量で除算した音量係数を算出し、当該音量係数を前記信頼度に乗算した値を、前記評価値として算出することを特徴とするコミュニケーションロボット。
【請求項２】
音声入力部が入力した対話対象の音声を少なくとも音声認識する音声認識部と、発話情報に基づいて音声出力する音声出力部と、所定の動作を行う可動部と、を有するコミュニケーションロボットであって、
前記音声認識部は、前記音声入力部が対話対象の音声を入力したときに、前記音声認識の結果の信頼度を算出および出力し、
前記対話対象の音声について前記音声認識部が算出した信頼度に基づいて、前記対話対象の音声を前記音声認識できたが当該対話対象の音声に対して回答できないことを示す回答不能行動を行うか否かの評価値を算出し、当該評価値が予め設定された閾値未満であるときに前記回答不能行動を行うと判定する応答行動判定部と、
前記応答行動判定部が前記回答不能行動を行うと判定した場合、前記コミュニケーションロボットが可能な所定の応答行動から、前記回答不能行動を選択する応答行動選択部と、
前記応答行動選択部が選択した前記回答不能行動の実行を、前記音声出力部および前記可動部の少なくとも一方に指令する応答行動指令部と、
を備え、
前記音声認識部は、さらに、前記音声入力部が入力した対話対象の音声の発話時間を算出し、
前記応答行動判定部は、前記音声認識部が算出した発話時間を予め設定された発話基準時間で除算した発話時間係数を算出し、少なくとも当該発話時間係数を前記信頼度に乗算した値を前記評価値として算出することを特徴とするコミュニケーションロボット。
【請求項３】
前記応答行動判定部は、前記評価値が前記閾値未満であるときに、１単語の音声の発音、前記可動部の所定動作、または、前記１単語の音声の発音と前記可動部の所定動作との組み合わせである前記回答不能行動を行うと判定することを特徴とする請求項１又は請求項２に記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話対象とコミュニケーションを行うコミュニケーションロボットに関する。
【背景技術】
【０００２】
従来から、対話対象（人物）とコミュニケーションを行うコミュニケーションロボットや自動応答システムが提案されている（例えば、特許文献１参照）。この特許文献１に記載の自動応答システムは、音声認識できない未知語の音声データをその属性情報に対応させて保持し、保持した音声データを対話対象への発話に使用するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２９７１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来のコミュニケーションロボットは、独り言、未知語または音声以外の雑音を音声認識することで、誤って発話してしまうことがあった。この場合、従来のコミュニケーションロボットは、その発話内容を対話対象が理解できないため、コミュニケーションが破綻してしまう。
また、特許文献１に記載の自動応答システムは、未知語に対応するためのデータベースが必要になると共に、その対話処理も複雑になるという問題がある。
【０００５】
そこで、本発明は、簡易な構成で、コミュニケーションが継続しやすいコミュニケーションロボットを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本願第１発明に係るコミュニケーションロボットは、音声入力部が入力した対話対象の音声を少なくとも音声認識する音声認識部と、発話情報に基づいて音声出力する音声出力部と、所定の動作を行う可動部と、を有するコミュニケーションロボットであって、前記音声認識部は、前記音声入力部が対話対象の音声を入力したときに、前記音声認識の結果の信頼度を算出および出力し、前記対話対象の音声について前記音声認識部が算出した信頼度に基づいて、前記対話対象の音声を前記音声認識できたが当該対話対象の音声に対して回答できないことを示す回答不能行動を行うか否かの評価値を算出し、当該評価値が予め設定された閾値未満であるときに前記回答不能行動を行うと判定する応答行動判定部と、前記応答行動判定部が前記回答不能行動を行うと判定した場合、前記コミュニケーションロボットが可能な所定の応答行動から、前記回答不能行動を選択する応答行動選択部と、前記応答行動選択部が選択した前記回答不能行動の実行を、前記音声出力部および前記可動部の少なくとも一方に指令する応答行動指令部と、前記対話対象毎に、当該対話対象の音声の平均音量を算出する平均音量算出部と、備え、前記応答行動判定部は、前記音声入力部が入力した対話対象の音声の音量を前記平均音量算出部が算出した対話対象の音声の平均音量で除算した音量係数を算出し、当該音量係数を前記信頼度に乗算した値を、前記評価値として算出することを特徴とする。
【０００７】
かかる構成によれば、コミュニケーションロボットは、応答行動判定部によって、コミュニケーションロボットが対話対象に対して回答を行うか否かを示す指標（つまり、対話対象がコミュニケーションロボットに対して発話したか否かを示す指標）として評価値を算出する。そして、コミュニケーションロボットは、応答行動判定部によって、算出した評価値を閾値と比較して、対話対象に対して回答を行うか否かを判定する。この判定に際して、コミュニケーションロボットは、未知語データベースおよび複雑な処理を必要としない。
【０００８】
ここで、評価値が低い場合、対話対象の音声が回答不要のもの（例えば、独り言、未知語または音声以外の雑音）である可能性が高いと考えられる。この場合、これら対話対象の音声に回答しても、対話対象は、その回答内容を理解できず、コミュニケーションの継続が困難である。また、仮に、対話対象の音声が回答不要のものであったとしても、コミュニケーションロボットが何の動作も行わないと、対話対象は、コミュニケーションロボットが対話対象の音声を聞いているかわからない。このため、コミュニケーションロボットは、応答行動選択部によって、評価値が低い場合には、対話対象の音声を音声認識できたが対話対象の音声に対して回答できないことを示す回答不能行動を選択する。
さらに、コミュニケーションロボットは、対話対象の音声の音量が小さい場合（例えば、独り言）、対話対象に回答する必要がないにもかかわらず、誤って発話を行ってしまうことを防止できる。
【０００９】
また、前記した課題を解決するため、本願第２発明に係るコミュニケーションロボットは、音声入力部が入力した対話対象の音声を少なくとも音声認識する音声認識部と、発話情報に基づいて音声出力する音声出力部と、所定の動作を行う可動部と、を有するコミュニケーションロボットであって、前記音声認識部は、前記音声入力部が対話対象の音声を入力したときに、前記音声認識の結果の信頼度を算出および出力し、前記対話対象の音声について前記音声認識部が算出した信頼度に基づいて、前記対話対象の音声を前記音声認識できたが当該対話対象の音声に対して回答できないことを示す回答不能行動を行うか否かの評価値を算出し、当該評価値が予め設定された閾値未満であるときに前記回答不能行動を行うと判定する応答行動判定部と、前記応答行動判定部が前記回答不能行動を行うと判定した場合、前記コミュニケーションロボットが可能な所定の応答行動から、前記回答不能行動を選択する応答行動選択部と、前記応答行動選択部が選択した前記回答不能行動の実行を、前記音声出力部および前記可動部の少なくとも一方に指令する応答行動指令部と、を備え、前記音声認識部は、さらに、前記音声入力部が入力した対話対象の音声の発話時間を算出し、前記応答行動判定部は、前記音声認識部が算出した発話時間を予め設定された発話基準時間で除算した発話時間係数を算出し、少なくとも当該発話時間係数を前記信頼度に乗算した値を前記評価値として算出することを特徴とする。
【００１０】
かかる構成によれば、コミュニケーションロボットは、対話対象の音声の発話時間が長い場合には、対話対象に回答が必要となる可能性が高く、この場合に回答不能行動を誤って選択してしまうことを防止できる。
【００１１】
また、本願第３発明に係るコミュニケーションロボットは、前記応答行動判定部が、前記評価値が前記閾値未満であるときに、１単語の音声の発音、前記可動部の所定動作、または、前記１単語の音声の発音と前記可動部の所定動作との組み合わせである前記回答不能行動を行うと判定することが好ましい。
【００１２】
かかる構成によれば、コミュニケーションロボットは、応答行動判定部によって、評価値が閾値未満であるときに、対話対象に対して、コミュニケーションの継続を促す回答不能行動を選択する。ここで、この回答不能行動は、例えば、１単語の音声（「え」、「へ」または「ん」と発音）、可動部の所定動作（首をかしげる動作）、または、これらの組合せ（首をかしげながら「ん」と発話）というような、対話対象にコミュニケーションの継続を促す動作である。
【発明の効果】
【００１５】
本発明は、以下のような優れた効果を奏する。
本願第１，２発明は、未知語データベースおよび複雑な処理を必要とせずに回答不能行動を行うか否かを判定するため、その構成を簡易にすることができる。また、本願第１，２発明は、評価値が低い場合には、対話対象の音声を音声認識できたが対話対象の音声に対して回答できないことを示す回答不能行動を選択するため、コミュニケーションを継続しやすくできる。
【００１６】
本願第１発明は、対話対象の音声の発話時間を考慮して評価値を算出するため、対話対象に回答する必要がないにもかかわらず、誤って発話を行ってしまうことを防止でき、コミュニケーションがより継続しやすくなる。
本願第２発明は、対話対象毎の平均音量を考慮して評価値を算出するため、対話対象に回答が必要となる可能性が高い場合にもかかわらず、回答不能行動を誤って選択してしまうことを防止でき、コミュニケーションがより継続しやすくなる。
本願第３発明は、コミュニケーションロボットが、対話対象に対してコミュニケーションの継続を促す回答不能行動を行うため、コミュニケーションがより継続しやすくなる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るロボットを含むロボットシステムの構成を模式的に示す図である。
【図２】ロボットによる自己位置検出およびオブジェクト検出の一例を模式的に示す図である。
【図３】図１に示したロボットシステムで用いられるローカル地図の一例を示す図である。
【図４】図１に示した管理用コンピュータの記憶手段に記憶されたタスク情報データベースの一例を示す図である。
【図５】図１に示した管理用コンピュータの記憶手段に記憶されたタスクスケジュールテーブルの一例を示す図である。
【図６】本発明の実施形態に係るロボットの構成を示すブロック図である。
【図７】図６に示したロボットの主制御部の構成を示すブロック図である。
【図８】図７に示した応答行動制御部の構成を示すブロック図である。
【図９】図８に示したルールＤＢ記憶手段に記憶されたルールＤＢの一例を示す図である。
【図１０】図８に示したルールＤＢ記憶手段に記憶された動作ＤＢの一例を示す図である。
【図１１】図８に示した状況ＤＢ記憶手段に記憶された状況ＤＢの一例を示す図である。
【図１２】図８の応答行動判定部が用いる閾値の設定方法の説明図である。
【図１３】図８の応答行動制御部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明のコミュニケーションロボット（以下「ロボット」という）を実施するための形態（以下「実施形態」という）について詳細に説明する。まず、本発明の実施形態に係るロボットを含むロボット制御システムＡの全体構成について図１を参照して説明する。
【００１９】
（ロボット制御システムＡの構成）
図１に示すように、ロボット制御システムＡは、ロボットＲと、このロボットＲと無線通信によって接続された基地局１と、この基地局１とロボット専用ネットワーク２を介して接続された管理用コンピュータ３と、この管理用コンピュータ３にネットワーク４を介して接続された端末５とから構成される。
【００２０】
図１に示すように、このロボット制御システムＡは、移動機能を備えた複数のロボットＲＡ，ＲＢ，ＲＣ（ただし、ロボットを特定しない場合は、単にロボットＲという）を有しており、各ロボットＲは、管理用コンピュータ３においてロボットＲ毎に予め設定されたタスクの実行計画（タスクスケジュール）に従って、タスクを実行する。
【００２１】
ここでは、自律移動型の２足歩行ロボットを一例として説明する。
ロボットＲは、管理用コンピュータ３から入力された実行命令に従ってタスクを実行するものであり、ロボットＲがタスクを実行する領域として予め設定されたタスク実行エリア内に、少なくとも一台配置されている。
ここで、図１には、来訪者を会議室などの所定の場所に案内するという内容のタスク（案内タスク）を実行中のロボットＲＡと、荷物をある人に渡すという内容のタスク（荷物配達タスク）を実行中のロボットＲＢと、新たなタスクが割り当てられるまで待機中のロボットＲＣとが、例示されている。また、この例では、タスク実行エリア内に、３箇所のバッテリ補給エリアＢ１，Ｂ２，Ｂ３が設けられており、ロボットＲは必要に応じてバッテリ充電（バッテリ充電タスク）を行うことができる。
【００２２】
ロボットＲは、図２に示すように、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３、胴部Ｒ４および背面格納部Ｒ５を有しており、胴部Ｒ４にそれぞれ接続された頭部Ｒ１、腕部Ｒ２、脚部Ｒ３は、それぞれアクチュエータ（駆動手段）により駆動され、自律移動制御部５０（図６参照）により２足歩行の制御がなされる。この２足歩行についての詳細は、例えば、特開２００１−６２７６０号公報に開示されている。
【００２３】
このロボットＲは、例えば、案内タスクを実行するときには、人物Ｈを所定の案内領域（オフィスや廊下などの移動領域）で案内する。ここでは、ロボットＲは、周囲に光（例えば、赤外光、紫外光、レーザ光など）および電波を発信して周辺領域に、タグＴを備えた人物Ｈが存在するか否かを検知し、検知した人物Ｈの位置を特定して接近し、タグＴに基づいて、人物Ｈが誰であるのかという個人識別を行う。このタグＴは、ロボットＲが人物の位置（距離および方向）を特定するために発する赤外光および電波を受信する。このタグＴは、受信した赤外光に含まれる受光方向を示す信号と、受信した電波に含まれるロボットＩＤとに基づいて、タグ識別番号を含む受信報告信号を生成し、当該ロボットＲに返信する。この受信報告信号を受信したロボットＲは、受信報告信号に基づいて、タグＴを装着した人物Ｈまでの距離と方向とを認識し、当該人物Ｈに接近することができる。
【００２４】
ロボットＲは、あるタスク（例えば案内タスクや荷物配達タスクなど）を実行するために案内領域内を自律移動する場合に、レーザスリット光または赤外線を照射して、路面状態あるいは路面上のマークを探索するようになっている。すなわち、ロボットＲは、自己が移動領域内のどこを移動しているかを把握し、通常の移動領域内にいる場合はレーザスリット光を路面に照射して路面の段差、うねり、障害物の有無などを検出し、マークＭの設置領域内にいる場合は、赤外線を路面に照射してマークＭを検出し、自己位置の確認・補正などを行うようになっている。ここで、マークＭは、例えば赤外線を再帰的に反射する反射材料で構成された部材である。また、マークＭは位置データを有しており、当該位置データは地図データに含まれる形で記憶部３０（図６参照）に記憶されている。なお、地図データは、案内領域内の特定の場所に設置されたマークＭの位置データと、当該位置データに所定の幅（範囲）を持たせたマークＭの設置領域に関するデータとを含んでいる。また、マークＭの設置領域とは、マークＭから所定距離の範囲内にある領域をいい、例えば、マークＭを中心とした半径が１〜３ｍの円形領域や、マークＭの手前（ロボット側）３ｍの矩形領域などのように任意に設定される。
【００２５】
図１に戻って、ロボット制御システムＡの構成の説明を続ける。
基地局１は、ロボットＲと管理用コンピュータ３との間のデータ交換を仲介するもので
ある。
具体的には、基地局１は、管理用コンピュータ３から出力された実行命令をロボットＲに送信すると共に、ロボットＲから送信されたロボットＲの状態に関するデータ（ステータス情報）やロボットＲが実行命令を受信したことを示す信号（受信報告信号）を受信して、管理用コンピュータ３に出力するものである。
基地局１は、ロボットＲと管理用コンピュータ３との間のデータ交換を確実に行えるようにするために、タスク実行エリア内に少なくとも一つ設けられている。
なお、タスク実行エリアが建物の数フロアに亘って設定されている場合には、フロア毎に設けられていることが好ましく、一つの基地局１では総てのタスク実行エリアをカバーできない場合には、複数の基地局１がタスク実行エリア内に設けられていることが好ましい。
【００２６】
ロボット専用ネットワーク２は、基地局１と、管理用コンピュータ３と、ネットワーク４とを接続するものであり、ＬＡＮ（Local Area Network）などにより実現されるものである。
【００２７】
管理用コンピュータ３は、複数のロボットＲを管理するものであり、基地局１、ロボット専用ネットワーク２を介してロボットＲの移動・発話などの各種制御を行うと共に、ロボットＲに対して必要な情報を提供する。ここで、必要な情報とは、検知された人物の氏名や、ロボットＲの周辺の地図（ローカル地図）などがこれに相当し、これらの情報は、管理用コンピュータ３の記憶部３ａに記憶されている。
【００２８】
ここでは、案内領域３０１は、図３（ａ）に示すように、建物のあるフロアの長方形の領域である。ロボットＲやロボットＲが案内すべき人物は、案内領域３０１の出入口３０２の外側の廊下３０３を通って案内領域３０１に入る。出入口３０２の内側には、ホール３０４が広がっており、ホール３０４の奥の隅には受付３０５が配置され、案内領域３０１の壁側には個室として仕切られた複数の会議室３０６（３０６ａ，３０６ｂ，３０６ｃ）が設けられている。受付３０５は、Ｌ字型のカウンタテーブル３０５ａと、受付スタッフが配置されるカウンタスペース３０５ｂとから成る。カウンタスペース３０５ｂには、基地局１が設置されている。なお、管理用コンピュータ３は、通路や部屋などのローカル地図の情報を位置座標データと関連づけて登録したローカルマップ（ローカル地図データ）と、ローカルマップを集積したタスク実行エリアの地図情報であるグローバルマップとを記憶部３ａ（図１参照）に保持している。
【００２９】
また、管理用コンピュータ３は、ロボットＲに実行させるタスクに関する情報（タスクデータ）を記憶するタスク情報データベースを記憶部３ａ（図１参照）に保持している。
図４に示すように、タスク情報データベース４００には、タスク毎に割り当てられた固有の識別子であるタスクＩＤ、タスクの優先度、タスクの重要度、タスクを実行させるロボットの識別子であるロボットＩＤ、案内や運搬（荷物配達）などのタスクの内容、タスク実行エリア内におけるタスクを開始する位置（開始位置）、タスク実行エリア内におけるタスクを終了する位置（終了位置）、タスクの実行に要する時間（所要時間）、そしてタスクの開始予定時刻（開始時刻）、タスクの終了予定時刻（終了時刻）、そしてタスクの状態などが、情報項目として含まれている。
【００３０】
また、管理用コンピュータ３は、ロボットＲに実行させるタスクの実行計画（タスクスケジュール）を、ロボットＲ毎に設定するものである。
図５に示すように、タスクスケジュールテーブル５００は、ロボットＲに実行させるタスクの実行順位、タスク情報データベース４００（図４参照）に登録されたタスクを特定するためのタスクＩＤ、タスクの優先度、タスクの内容、そしてタスクの状態を情報項目として含むテーブルである。
このタスクスケジュールテーブル５００では、これら情報項目が、タスク実行エリア内に配置されたロボットＲ毎に整理されており、どの様なタスクが、どのような順番で各ロボットＲに割り当てられているのかを把握できるようになっている。
【００３１】
再び、図１に戻って、ロボット制御システムＡの構成の説明を続ける。
端末５は、ネットワーク４を介して管理用コンピュータ３に接続し、管理用コンピュータ３の記憶部３ａに、人物に関する情報などを登録する、もしくは登録されたこれらの情報を修正するものである。また、端末５は、ロボットＲに実行させるタスクの登録や、管理用コンピュータ３において設定されるタスクスケジュールの変更や、ロボットＲの動作命令の入力などを行うものである。
【００３２】
以下、ロボットＲについて詳細に説明する。
【００３３】
［ロボット］
ロボットＲは、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３、胴部Ｒ４および背面格納部Ｒ５に加えて、これら各部Ｒ１〜Ｒ５の適所に、図６に示すように、カメラＣ，Ｃ、スピーカＳ、マイクＭＣ，ＭＣ、画像処理部１０、音声処理部２０、記憶部３０、主制御部４０、自律移動制御部５０、無線通信部６０、バッテリ７０、対象検知部８０、および周辺状態検知部９０を有する。
さらに、ロボットＲは、ロボットＲの向いている方向を検出するジャイロセンサＳＲ１や、予め設定された地図上におけるロボットＲの存在する位置座標を取得するためのＧＰＳ（Global Positioning System）受信器ＳＲ２を有している。
【００３４】
［カメラ］
カメラ（視覚センサ）Ｃ，Ｃは、ロボットＲの前方移動方向側の映像をデジタルデータとして取り込むことができるものであり、例えば、カラーＣＣＤ(Charge-Coupled  Device)カメラが使用される。カメラＣ，Ｃは、左右に平行に並んで配置され、撮影した画像は画像処理部１０に出力される。このカメラＣ，Ｃと、スピーカＳおよびマイク（音声入力部）ＭＣ，ＭＣは、いずれも頭部Ｒ１の内部に配設される。スピーカ（音声出力部）Ｓは、音声処理部２０で音声合成された所定の音声を発することができる。
【００３５】
［画像処理部］
画像処理部１０は、カメラＣ，Ｃが撮影した画像（撮影画像）を処理して、撮影された画像からロボットＲの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部１０は、ステレオ処理部１１ａ、移動体抽出部１１ｂおよび顔認識部１１ｃを含んで構成される。この画像処理部１０はカメラＣ，Ｃと共に外部情報取得手段として機能することができる。
ステレオ処理部１１ａは、左右のカメラＣ，Ｃが撮影した２枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像および元の画像を移動体抽出部１１ｂに出力する。なお、この視差は、ロボットＲから撮影された物体までの距離を表すものである。
【００３６】
移動体抽出部１１ｂは、ステレオ処理部１１ａから出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体（移動体）を抽出するのは、移動する物体が人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部１１ｂは、過去の数フレーム（コマ）の画像を記憶しており、最も新しいフレーム（画像）と、過去のフレーム（画像）を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラＣ，Ｃから所定の距離範囲内で、移動量の多い画素がある場合に、人物があると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部１１ｃへ移動体の画像を出力する。
【００３７】
顔認識部１１ｃは、抽出した移動体の一部分の大きさ、形状などから顔領域および顔の位置を認識する。なお、同様にして、抽出した移動体の一部分の大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットＲが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部４０に出力される。
【００３８】
［音声処理部］
音声処理部２０は、音声合成部２１ａと、音声認識部２１ｂと、音源定位部２１ｃとを有する。
音声合成部２１ａは、主制御部４０が決定し、出力してきた発話行動の指令に基づき、文字情報（テキストデータ）から音声データを生成し、スピーカＳに合成音声を出力する部分である。音声データの生成には、予め記憶部３０に記憶している文字情報（テキストデータ）と音声データとの対応関係を利用する。なお、音声データは、管理用コンピュータ３から取得され、記憶部３０に保存される。
【００３９】
音声認識部２１ｂは、マイクＭＣ，ＭＣから音声データ（例えば、人物の音声）が入力され、入力された音声データから文字情報（テキストデータ）を音声認識により生成するものである。具体的には、音声認識部２１ｂは、例えば、隠れマルコフモデル（ＨＭＭ）を用いた音声認識を行い、入力された音声データに含まれる単語毎に音声認識の結果の信頼度を示す単語信頼度を算出する。ここで、単語信頼度は、音声認識の分野では、公知の隠れマルコフモデルを用いてモデル化された単語モデルに当てはめた場合に、その単語であることの確からしさを示す尤度に基づいて算出できる。
【００４０】
このような単語信頼度を算出する音声認識エンジンとしては、例えば、オープンソースソフトウェアであるＪｕｌｉｕｓ音声認識システムを利用することができる（http://julius.sourceforge.jp/index.php?q=doc/cm.html参照）。
【００４１】
また、音声認識部２１ｂは、入力された音声データの音量と、その発話時間とを算出する。そして、音声認識部２１ｂは、文字情報（テキストデータ）と、入力された音声データに含まれる全ての単語の単語信頼度と、入力された音声データの音量と、算出した発話時間とを主制御部４０に出力する。
【００４２】
この音量は、次のようにして算出することができる。まず、音声認識部２１ｂは、音声データを、例えば１０ｍｓ程度の所定の長さ（フレーム長）の音声フレームに分割する。そして、音声認識部２１ｂは、音声フレームごとのパワースペクトルを算出することにより、その音声フレームにおける音量を求めることができる。さらに、音声認識部２１ｂは、当該発話区間における音量の最大値や平均値を当該発話における音量として算出して用いることができる。
また、発話長は、当該発話区間に含まれる音声フレーム数を計数し、フレーム長に乗ずることにより算出することができる。
【００４３】
この他、音声入力部２１ｂは、変換した音声データを分析し、入力された音声データに音声（人物の音声）が含まれているかどうか、すなわち音声が存在するかどうかを検出してもよい。
【００４４】
音源定位部２１ｃは、マイクＭＣ，ＭＣ間の音圧差および音の到達時間差に基づいて音源位置（ロボットＲが認識する平面状の位置）を特定し、主制御部４０に出力するものである。音源位置は、例えば、ロボットＲの立っている方向（ｚ軸方向）周りの回転角θzで表される。
【００４５】
[記憶部]
記憶部３０は、例えば、一般的なハードディスク等から構成され、管理用コンピュータ３から送信された必要な情報（ローカル地図データ、会話用データなど）を記憶するものである。また、記憶部３０は、後記するように、主制御部４０の各種動作を行うために必要な情報を記憶している。
【００４６】
[主制御部]
主制御部４０は、画像処理部１０、音声処理部２０、記憶部３０、自律移動制御部５０、無線通信部６０、対象検知部８０、および周辺状態検知部９０を統括制御するものである。また、ジャイロセンサＳＲ１、およびＧＰＳ受信器ＳＲ２が検出したデータは、主制御部４０に出力され、ロボットＲの行動を決定するために利用される。この主制御部４０は、例えば、管理用コンピュータ３と通信を行うための制御、管理用コンピュータ３から取得したタスク実行命令に基づいて所定のタスクを実行するための制御、ロボットＲを目的地に移動させるための制御、人物を識別するための制御、人物と対話するための制御を行うために、種々の判断を行ったり、各部の動作のための指令を生成したりする。
【００４７】
［自律移動制御部］
自律移動制御部５０は、主制御部４０の指示に従い頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４を駆動するものである。この自律移動制御部５０は、図示を省略するが、頭部Ｒ１の首関節を駆動させる首制御部、腕部Ｒ２の手の先の指関節を駆動させる手制御部、腕部Ｒ２の肩関節、肘関節、手首関節を駆動させる腕制御部、脚部Ｒ３に対して胴部Ｒ４を水平方向に回転駆動させる腰制御部、脚部Ｒ３の股関節、膝関節、足首関節を駆動させる足制御部を有している。これら首制御部、手制御部，腕制御部、腰制御部および足制御部は、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４を駆動するアクチュエータに駆動信号を出力する。
【００４８】
［無線通信部］
無線通信部６０は、管理用コンピュータ３とデータの送受信を行う通信装置である。無線通信部６０は、公衆回線通信装置６１ａおよび無線通信装置６１ｂを有する。
公衆回線通信装置６１ａは、携帯電話回線やＰＨＳ(Personal  Handyphone  System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置６１ｂは、IEEE802.11b規格に準拠するワイヤレスＬＡＮなどの、近距離無線通信による無線通信手段である。
無線通信部６０は、管理用コンピュータ３からの接続要求に従い、公衆回線通信装置６１ａまたは無線通信装置６１ｂを選択して管理用コンピュータ３とデータ通信を行う。
【００４９】
バッテリ７０は、ロボットＲの各部の動作や処理に必要な電力の供給源である。このバッテリ７０は、充填式の構成をもつものが使用される。ロボットＲは、バッテリ補給エリア（図１参照）でバッテリ７０の充電器に嵌合され、バッテリ充電される。
【００５０】
［対象検知部］
対象検知部８０は、ロボットＲの周囲にタグＴを備える人物が存在するか否かを検知するものである。対象検知部８０は、複数の発光部８１（図６では１つのみ表示した）を備える。これら発光部８１は、例えば、ＬＥＤから構成され、ロボットＲの頭部Ｒ１外周に沿って前後左右などに配設される（図示は省略する）。対象検知部８０は、発光部８１から、各発光部８１を識別する発光部ＩＤを示す信号を含む赤外光をそれぞれ発信すると共に、この赤外光を受信したタグＴから受信報告信号を受信する。いずれかの赤外光を受信したタグＴは、その赤外光に含まれる発光部ＩＤに基づいて、受信報告信号を生成するので、ロボットＲは、この受信報告信号に含まれる発光部ＩＤを参照することにより、当該ロボットＲから視てどの方向にタグＴが存在するかを特定することができる。また、対象検知部８０は、タグＴから取得した受信報告信号の電波強度に基づいて、タグＴまでの距離を特定する機能を有する。したがって、対象検知部８０は、受信報告信号に基づいて、タグＴの位置（距離および方向）を、人物の位置として特定することができる。さらに、対象検知部８０は、発光部８１から赤外光を発光するだけではなく、ロボットＩＤを示す信号を含む電波を図示しないアンテナから発信する。これにより、この電波を受信したタグＴは、赤外光を発信したロボットＲを正しく特定することができる。なお、対象検知部８０およびタグＴについての詳細は、例えば、特開２００６−１９２５６３号公報に開示されている。この対象検知部８０は、外部情報取得手段として機能することができる。
【００５１】
また、タグＴは、それぞれタグＴを備えた人物に対応付けられた固有のタグ識別番号（個人識別情報）を有しており、このタグ識別番号を受信報告信号に含ませてロボットＲに送信する。そして、対象検知部８０は、タグＴから受信したタグ識別番号を主制御部４０に出力する。これによって、ロボットＲは、タグＴから送信された受信報告信号に含まれるタグ識別番号によって、タグＴを備えた人物を特定することができる。
【００５２】
［周辺状態検知部］
周辺状態検知部９０は、ロボットＲの周辺状態を検知するものであり、ジャイロセンサＳＲ１やＧＰＳ受信器ＳＲ２によって検出された自己位置データを取得可能になっている。また、周辺状態検知部９０は、探索域に向かってスリット光を照射するレーザ照射部９１と、探索域に向かって赤外線を照射する赤外線照射部９２と、スリット光または赤外線が照射された探索域を撮像する床面カメラ９３とを有する。この周辺状態検知部９０は、床面カメラ９３で撮像したスリット光画像（スリット光が照射されたときの画像）を解析して路面状態を検出する。また、周辺状態検知部９０は、床面カメラ９３で撮像した赤外線画像（赤外線が照射されたときの画像）を解析してマークＭ（図２参照）を検出し、検出されたマークＭの位置（座標）からマークＭとロボットＲとの相対的な位置関係を計算する。なお、周辺状態検知部９０についての詳細は、例えば、特開２００６−１６７８４４号公報に開示されている。この周辺状態検知部９０は、外部情報取得手段として機能することができる。
【００５３】
［主制御部の構成］
主制御部４０は、静止障害物統合部４１と、オブジェクトデータ統合部４２と、行動パターン部４３と、身振り統合部４４と、内部状態検出部４５と、行動計画管理部４６とを備えている。
【００５４】
静止障害物統合部４１は、周辺状態検知部９０で検知されたロボットＲの周辺状態に関する情報を統合し、行動パターン部４３に出力するものである。例えば、静止障害物統合部４１が、ロボットＲの進路の床面に段ボール箱などの障害物を検知した場合や、床面の段差を検知した場合には、行動パターン部４３は、この統合された障害物情報に基づいて、図示しない局所回避モジュールによって迂回経路を探索する。
【００５５】
オブジェクトデータ統合部４２は、ロボットＲの姿勢データ、画像処理部１０、対象検知部８０および音源定位部２１ｃからの入力データに基づいて、対象物（オブジェクト）に関する識別データ（オブジェクトデータ）を統合し、この統合したオブジェクトデータを記憶部３０のオブジェクトデータ記憶手段３１に出力するものである。これにより、オブジェクトデータ記憶手段３１には、オブジェクトデータをオブジェクト別かつ時刻別に記録したデータであるオブジェクトマップが生成される。
【００５６】
行動パターン部４３は、行動パターンを実行するための各種プログラム（モジュール）を格納すると共に、この行動パターンを実行するときに、記憶部３０を参照して、行動パターンに反映するものである。
【００５７】
また、行動パターン部４３は、応答行動制御部４７を備える。この応答行動制御部４７は、例えば、ロボットＲが発話を含むタスクを実行する際に行動パターン部４３によって生成され、音声入力の状況や入力された音声の音声認識処理の状況などを、例えば数ミリ秒程度の周期で常時監視して、その時々の状況に応じた行動を実行するものである。なお、応答行動制御部４７の詳細については後記する。
【００５８】
本実施形態では、図７に示すように、記憶部３０に、オブジェクトデータ記憶手段３１のほかに、ローカル地図データ記憶手段３２と、ルールＤＢ記憶手段３３と、状況ＤＢ記憶手段３４と、発話情報記憶手段３５とを備えている。
【００５９】
ローカル地図データ記憶手段３２は、図３を参照して説明したロボットＲの周辺の地図（ローカル地図）を記憶するものである。このローカル地図は、例えば、管理用コンピュータ３から取得される。
【００６０】
ルールＤＢ記憶手段３３は、各種行動パターンに対応したシナリオ（台本）、状況に応じたルール（応答行動）、ルールを実行するための具体的な動作内容や発話内容等を記憶するものである。また、ルールとは、状況に応じたロボットＲの動作内容や発話内容を示す。ここで、ルールのうち、人物の音声を音声認識できたが人物の音声に対して回答できないことを示すものを回答不能行動と呼ぶ。また、シナリオは、例えば、歩行中に人物や障害物（オブジェクト）に遭遇したときにオブジェクトの１ｍ手前で立ち止まるといったもの、立ち止まってから１０秒後に腕部Ｒ２を所定位置まで上げるといったものなど動作に関するものと、発話に関するものとがある。また、ルールＤＢ記憶手段３３は、所定の発話を行うときに頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４のうちの少なくとも１つの部位を移動させる身体動作である身振りを指定する予め作成されたシナリオを記憶する。なお、ルールＤＢ記憶手段３３の記憶するルールＤＢや動作ＤＢについては後記する。
【００６１】
状況ＤＢ記憶手段３４は、現在状況に関する情報（状況ＤＢ）を記憶するものである。本実施形態では、状況ＤＢは、カメラＣ，Ｃを介して取得された画像を処理する画像処理部１０の処理結果、マイクＭＣ，ＭＣに入力された音声を認識する音声認識部２１ｂの処理結果、対象検知部８０によるタグＴの認識結果等を周囲状況として含む状況を示すデータを格納する。状況ＤＢ記憶手段３４の記憶する情報は、ルールＤＢ記憶手段３３に記憶されたルールの選択時に利用される。この状況ＤＢ記憶手段３４に記憶される状況ＤＢの具体例については後記する。
【００６２】
また、状況ＤＢ記憶手段３４は、人物毎の音声データの平均音量を格納した平均音量ＤＢ（不図示）と、音量履歴データＤＢ（不図示）とを記憶するものである。本実施形態では、個人識別情報を用いて個人識別をおこなうため、平均音量ＤＢは、個人識別情報と、個人識別情報が示す人物の平均音量とを対応付けて格納する。また、この音量履歴データＤＢは、どの人物がどのくらいの音量で何回発話したかを管理するものである。なお、平均音量ＤＢおよび音量履歴データＤＢは、後記する平均音量算出手段４７４により書き込まれる。
【００６３】
なお、本実施形態では、平均音量は人物が装着しているタグＴ（図６参照）を識別するタグ識別番号に基づいて発話者である人物を特定し、この人物を特定するタグ識別番号に対応付けて状況ＤＢに格納されている平均音量を入力するようにしたが、これに限定されるものではない。例えば、オブジェクトデータ統合部４２（図７参照）によって統合される人物を示すオブジェクトデータによって人物を特定し、この人物が発話したときの音量を、この人物を特定するオブジェクトデータに対応付けて状況ＤＢ記憶手段３４にこの人物の音量の履歴として記憶しておく。そして、この人物が再度発話したときに、このオブジェクトデータに対応付けられて状況ＤＢ記憶手段３４に記憶されている過去に発話したときの音量の平均を算出して平均音量を取得するようにしてもよい。
これによって、タグＴ（図６参照）を装着していない人物であっても、２回目以降の発話では、平均音量を参照することができる。
また、ロボットＲ（図６参照）の近傍に複数の人物がいて、各人物のタグ識別番号の認識が困難な場合でも、音源定位部２１ｃ（図６参照）から出力される音源定位情報に基づいて、発話を行った人物のオブジェクトデータを特定することができる。そして、特定したオブジェクトデータに対応付けてこの発話の音量を状況ＤＢ記憶手段３４にこの人物の音量の履歴として記憶しておくことにより、一度発話を行った人物に対しては、タグ識別番号を特定できなくとも、２度目以降の発話の際にはこの人物の平均音量を参照することができる。
【００６４】
発話情報記憶手段３５は、ロボットＲの発話に用いられる情報を記憶するものである。発話情報記憶手段３５は、各種行動パターンに対応したシナリオで定められた会話情報を記憶する。ここで、会話情報は、例えば、挨拶を示す定型文「○○さん、こんにちは」、確認を示す定型文「これを、△△さんへ渡すのですね」等が含まれる。また、発話情報記憶手段３５は、ルールＤＢ記憶手段３３に記憶されたルールを実行時の発話内容の情報等を記憶している。ここで、ルールを実行時の発話内容の情報は、例えば、返事を示す「ハイ」、時刻を示す定型文「□時□分です」等が含まれる。これらの情報（会話用データ）は、例えば、管理用コンピュータ３から送信される。
【００６５】
行動パターン部４３は、オブジェクトデータ記憶手段３１、ローカル地図データ記憶手段３２、ルールＤＢ記憶手段３３、状況ＤＢ記憶手段３４および発話情報記憶手段３５を適宜利用して様々な場面や状況に応じた行動パターンを実行するモジュールを備えている。モジュールの例としては、目的地移動モジュール、局所回避モジュール、デリバリモジュール、案内モジュール、応答行動制御モジュール、人対応モジュール等がある。
【００６６】
目的地移動モジュールは、ロボットＲの現在位置から、例えば、タスク実行エリア内のタスク実行位置等の目的地までの経路探索（例えばノード間の経路を探索）及び移動を行うものである。この目的地移動モジュールは、地図データと現在位置とを参照しつつ、目的地までの最短距離を求める。
局所回避モジュールは、歩行中に障害物が検知されたときに、静止障害物統合部４１で統合された障害物情報に基づいて、障害物を回避する迂回経路を探索するものである。
【００６７】
デリバリモジュールは、荷物配達タスクを実行するときに動作するものであり、物品の運搬を依頼する人物（依頼人）から物品を受け取る（把持する）動作や、受け取った物品を受取人に渡す（物品を手放す）動作を実行するものである。
案内モジュールは、例えば、タスク実行エリア内の案内開始地点に来訪した来訪客を案内領域３０１（図３参照）の受付３０５にいる受付スタッフのもとへ案内するタスクを実行するものである。
【００６８】
人対応モジュールは、例えば、物品運搬タスクや案内タスクの実行時に所定のシナリオに基づいて、発話、姿勢の変更、腕部Ｒ２の上下移動や把持等を行うものである。なお、人対応モジュールは、タスクの実行にかかわらず、軽い挨拶やお天気の話題等を、目的をもって意図的に発話することもできる。
【００６９】
また、人対応モジュールには、様々な人に挨拶を行うという動作を実行する出会い応対モジュールや、特定の相手に向けて説明や質疑応答などのサービスを実行するプレゼンＱＡ（プレゼンテーションと質疑応答）モジュールなどのサブモジュールが含まれている。
【００７０】
応答行動制御モジュールは、例えば、人対応モジュールなどの発話を含むタスクの実行時において、ロボットＲが入力音声を検出したときに、この入力音声に対する行動を制御するためのモジュールである。応答行動制御モジュールは、このような行動を行う必要があるときに行動パターン部４３によって起動され、起動によって行動パターン部４３に応答行動制御部４７が生成される。応答行動制御部４７の詳細については後記する。
【００７１】
身振り統合部４４は、対象とする人物に対して行う発話に対応した身振りをルールＤＢ記憶手段３３から抽出し、抽出した身振りを指定するコマンドを自律移動制御部５０に出力するものである。頭部Ｒ１の動作による身振りは、例えば、頭部Ｒ１を下方に傾けることで「お辞儀」、「礼」、「同意」、「謝罪」等を表示する動作や、頭部Ｒ１を左右に傾ける（かしげる）ことで「分からない」という意思表示を伝える動作が含まれる。また、腕部Ｒ２の動作による身振りは、例えば、腕部Ｒ２を上げることで「喜び」、「賞賛」等を表示する動作や、腕部Ｒ２を下方左右に広げることや握手を行うことで「歓迎」という意思表示を伝える動作が含まれる。また、脚部Ｒ３の動作による身振りは、例えば、その場で駆け足をすることで「喜び」、「元気」等の意思表示を伝える動作が含まれる。
【００７２】
内部状態検出部４５は、ロボットＲの内部状態を検出するものである。本実施形態では、内部状態検出部４５は、充電状況（充電器に嵌合されたか否かを示す情報）およびバッテリ７０の残量を検出する。また、内部状態検出部４５は、ロボットＲの状態（現在位置、充電状況、バッテリ残量、タスク実行状況など）に関するデータを所定時間間隔毎にステータス情報として生成する。また、内部状態検出部４５は、生成したステータス情報を無線通信部６０を介して管理用コンピュータ３に出力する。そして、管理用コンピュータ３は、入力されたステータス情報を記憶部３ａに格納された図示しないロボット情報データベースにロボットＲ毎に登録する。
【００７３】
行動計画管理部４６は、行動パターン部４３が備える各種モジュールを所定のスケジュールで実行する行動計画を管理するものである。本実施形態では、行動計画管理部４６は、管理用コンピュータ３から取得したタスク実行命令に基づいて予め定められたタスクを実行するための行動計画を管理し、現在実行すべき作業に必要なモジュールを適宜選択する。
【００７４】
［応答行動制御部の構成］
図８に示すように、応答行動制御部４７は、応答行動判定手段（応答行動判定部）４７１と、行動選択手段（応答行動選択部）４７２と、行動指令手段（応答行動指令部）４７３と、平均音量算出手段（平均音量算出部）４７４とを備え、これらによって記憶部３０に記憶された各種の情報やデータに基づいて後記する制御を行う。
【００７５】
記憶部３０に備えられたルールＤＢ記憶手段３３は、前記したようにルールＤＢ（応答行動リスト）と、動作ＤＢ（動作データベース）とを記憶している。ここで、ルールＤＢおよび動作ＤＢの具体例について図９および図１０を参照して説明する。
【００７６】
ルールＤＢ（応答行動リスト）９００は、回答不能行動を含めたルール（応答行動）を複数格納したものである。図９に示すように、ルールＤＢ９００は、項目として、ルールＩＤ９０１、ルール内容９０２、回答不能フラグ９０３、および、動作ＩＤ９０４を有している。
【００７７】
ルールＩＤ９０１は、ルールを一意に識別する識別子である。
ルール内容９０２は、ルールの内容を示している。
【００７８】
回答不能フラグ９０３は、そのルールが回答不能行動であるか、回答不能行動以外のルールであるか否かを示すフラグである。例えば、ルールＩＤ＝「１」のルールは、回答不能フラグ＝「０」のため、回答不能行動以外のルールであることを示す。また、例えば、ルールＩＤ＝「７」のルールは、回答不能フラグ＝「１」のため、回答不能行動であることを示す。以後、回答不能行動以外のルールを、通常のルールとする。
【００７９】
動作ＩＤ９０４は、ルール内容９０２と、動作ＤＢ（図１０参照）の動作内容との対応関係を示す。例えば、ルールＩＤ＝「１」のルールは、動作ＤＢ（図１０参照）の動作ＩＤ＝「４」に対応することを示す。これは、動作ＤＢ（図１０参照）において、「驚く（＝びっくりする）」を示している。また、例えば、ルールＩＤ＝「７」のルールは、動作ＤＢ（図１０参照）の動作ＩＤ＝「１１」に対応することを示す。これは、動作ＤＢ（図１０参照）において、「首をかしげて、「ん」と発音する」を示している。
【００８０】
図１０に示すように、動作ＤＢ１０００は、項目として、動作ＩＤ１００１と、動作内容１００２と、可動部の部位の一例として、首１００３、掌１００４、腰１００５、腕１００６および口１００７とを有している。ここで、部位は、例えば、首（頭部Ｒ１）、掌や腕（腕部Ｒ２）、腰（脚部Ｒ３、胴部Ｒ４）、口（スピーカＳ）を指す。
例えば、動作ＩＤ＝「５」は、首、腰および腕を使用することで、「顔や体をターゲットに向けて手を挙げる」という動作を行うことを示す。また、例えば、動作ＩＤ＝「１１」は、首および口を使用することで、「首をかしげて、「ん」と発音する」という動作を行うことを示す。
【００８１】
また、動作ＩＤ＝「７」，「８」については、詳細は図示していないが、自律移動制御部５０によって動かす腕部Ｒ２の関節の自由度や各関節の回転角度ごとに動作を定めたため、異なる動作ＩＤを付与した。ここで、関節の自由度は、関節を前後方向に曲げる、上下方向に曲げる、回転させる等の動きを示す。なお、腕部Ｒ２以外の部位にも同様に設定できる。
また、動作ＩＤ＝「９」，「１０」については、詳細は図示していないが、音声合成部２１ａによって合成する音声の音量ごとに、異なる動作ＩＤを付与した。なお、図１０に示した動作以外に、例えば、「腰をひねる」、「腕をぶらぶら振る」、「手指を閉じたり開いたりする」、「把持した旗等の物品を振る」等の動作を含んでもよい。
【００８２】
図８に戻って、応答行動制御部４７の構成の説明を続ける。
記憶部３０に備えられた状況ＤＢ記憶手段３４は、前記したように状況ＤＢを記憶している。状況ＤＢは、画像処理または音声認識処理の結果を周囲状況として含む状況を示すデータを格納したものである。本実施形態では、状況ＤＢは、周囲状況のほかに、内部状況を示すデータとしてバッテリを充電中であるか否かを示すデータを格納している。
【００８３】
ここで、状況ＤＢの具体例について図１１を参照して説明する。
図１１に示すように、状況ＤＢ１１００は、現在状況の項目として、状況ＩＤ１１０１、状況内容１１０２、現在表示１１０３を有している。現在表示１１０３は、状況内容１１０２の現在値を示すものである。ここで、ｏｎは「１」を示し、ｏｆｆは「０」を示すこととした。現在表示１１０３の項目への情報の書き込みは、オブジェクトデータ統合部４２や内部状態検出部４５が行う。
【００８４】
具体的には、オブジェクトデータ統合部４２は、図１１に示す状況ＩＤ＝「０」，「３」で示される状況について、画像処理部１０からの画像処理結果に基づいて、該当する情報を状況ＤＢに書き込む。なお、状況ＩＤ＝「３」に示す「接近してくる人物がいる」という状況を認識する方法は、例えば、画像処理部１０による画像処理の結果、認識された顔画像の画素数が増加した場合にそのように認識することができる。また、オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「１」，「２」で示される状況について、対象検知部８０からの入力データに基づいて、該当する情報を状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「４」，「５」で示される状況について、音声がマイクＭＣ，ＭＣから入力したときに状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「７」で示される状況について、音源定位部２１ｃからの入力データに基づいて、該当する情報を状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「８」で示される状況について、オブジェクトデータ記憶手段３１（図７参照）に記憶されたオブジェクトマップに基づいて、該当する情報を状況ＤＢに書き込む。例えば、状況ＩＤ＝「６」で示される状況について、内部状態検出部４５が該当する情報を状況ＤＢに書き込む。
【００８５】
図８に戻って、応答行動制御部４７の構成の説明を続ける。
応答行動判定手段４７１は、音声処理部２０から、音声データを音声認識した文字情報と、音声データに含まれる全ての単語の単語信頼度と、その音声データの音量と、その音声データの発話時間とが入力される。また、応答行動判定手段４７１は、対象検知部８０から個人識別情報が入力される。そして、応答行動判定手段４７１は、この単語信頼度から評価値を算出し、評価値と閾値未満とを比較して回答不能行動を行うか否かを判定する。さらに、応答行動判定手段４７１は、入力された文字情報と、回答不能行動を行うか否かの判定結果とを行動選択手段４７２に出力する。以下、評価値の算出について、４つの具体例を説明する。なお、この評価値とは、回答不能行動を行うか否かの判定基準となる値である。
【００８６】
＜第１例：単語信頼度＞
ここで、例えば、正常に音声認識された「、開発のエピソードを教えて。」について、各単語の単語信頼度が、単語「、」の単語信頼度「０．４２７」、単語「開発」の単語信頼度「０．９７８」、単語「の」の単語信頼度「０．３４２」、単語「エピソード」の単語信頼度「０．２３５」、単語「を」の単語信頼度「０．１０６」、単語「教え」の単語信頼度「０．４８７」、単語「て」の単語信頼度「０．１７４」、単語「。」の単語信頼度「０．９３５」であったとする。また、例えば、閾値が「０．３」であったとする。この場合、応答行動判定手段４７１は、各単語の単語信頼度の平均値「０．４６０５」を算出し、この平均値を評価値とする。そして、応答行動判定手段４７１は、評価値「０．４６０５」が閾値「０．３」未満でないため、回答不能行動を行わないと判定する。
【００８７】
また、別の例として、音声データ「へー、そうなの。」が未知語のため、誤って「ふーん。拾うの。」と音声認識された場合について説明する。この場合、各単語の単語信頼度が、単語「ふーん」の単語信頼度「０．２３３」、単語「。」の単語信頼度「０．０２４」、単語「拾う」の単語信頼度「０．２３９」、単語「の」の単語信頼度「０．０５２」、単語「。」の単語信頼度「０．３５２」であったとする。また、例えば、閾値が「０．３」であったとする。この場合、応答行動判定手段４７１は、各単語の単語信頼度の平均値「０．１８」を算出し、この平均値を評価値とする。そして、応答行動判定手段４７１は、評価値「０．１８」が閾値「０．３」未満であるため、回答不能行動を行うと判定する。
【００８８】
このように、誤って音声認識されたときには、個々の単語の単語信頼度には高いものが含まれることもあるが、平均スコアは比較的低くなる。逆に、正しく音声認識できたときには、個々の単語の中には低い単語信頼度のものも含まれるが、平均スコアは比較的高くなる。そのため、平均スコアを用いることで、より精度よく音声認識の成否を判定することができる。
【００８９】
なお、本実施形態では、単語信頼度の平均スコアに基づいて、回答要否の判定を行うようにしたが、これに限定されるものではなく、音声認識の結果の信頼度を示す他の評価値（スコア）に基づいて判定してもよい。
【００９０】
＜第２例：単語信頼度と平均音量とを考慮＞
ここで、応答行動判定手段４７１は、対象検知部８０から入力された個人識別情報を検索条件として平均音量ＤＢを検索し、平均音量ＤＢから、コミュニケーションを行っている人物の平均音量を抽出する。また、応答行動判定手段４７１は、音声処理部２０から入力された音声データの音量（つまり、現在の音量）を、平均音量ＤＢから抽出した平均音量で除算して音量係数を算出する。そして、応答行動判定手段４７１は、第１例の単語信頼度の平均値に音量係数を乗算して、評価値を算出する。つまり、応答行動判定手段４７１は、下記の式（１）および式（２）を用いて、評価値を算出する。
【００９１】
評価値＝単語信頼度の平均値×音量係数・・・式（１）
音量係数＝現在の音量／平均音量      ・・・式（２）
なお、音量の単位は、例えば、デシベル（ｄＢ）である。
【００９２】
ここで、音量係数について説明する。
ロボットＲ（図６参照）が発話中に対話対象となる人物が発話する場合、音量が小さい場合は回答が不要な相槌や独り言などであることが多く、音量が大きい場合は回答が必要な質問や要求などであることが多い。そこで、応答行動判定手段４７１は、音量の大小で平均スコアを補正するための音量係数を、式（２）によって算出している。
【００９３】
＜第３例：単語信頼度と発話時間とを考慮＞
ここで、応答行動判定手段４７１は、対象検知部８０から入力された発話時間を発話基準時間で除算して発話時間係数を算出する。そして、応答行動判定手段４７１は、第１例の単語信頼度の平均値に発話時間係数を乗算して、評価値を算出する。つまり、応答行動判定手段４７１は、下記の式（３）および式（４）を用いて、評価値を算出する。なお、発話基準時間は、人物の相槌等、ロボットＲが回答する必要がない音声データの分布から、例えば、１．５秒と予め設定される。
【００９４】
評価値＝単語信頼度の平均値×発話時間係数・・・式（３）
発話時間係数＝発話時間／発話基準時間    ・・・式（４）
なお、時間の単位は、例えば、秒である。
【００９５】
ここで、発話時間係数について説明する。
ロボットＲ（図６参照）が発話中に対話対象となる人物が発話する場合、発話長が短い場合は回答が不要な相槌や独り言などであることが多く、発話長が長い場合は回答が必要な質問や要求などであることが多い。そこで、応答行動判定手段４７１は、発話長の長短で平均スコアを補正するための発話時間係数を、式（４）によって算出している。
【００９６】
＜第４例：単語信頼度と平均音量と発話時間とを考慮＞
ここで、応答行動判定手段４７１は、第１例の単語信頼度の平均値に第２例の音量係数（式（２）参照）と第３例の発話時間係数（式（４）参照）とを乗算して、評価値を算出する。つまり、応答行動判定手段４７１は、下記の式（５）を用いて、評価値を算出する。
【００９７】
評価値＝単語信頼度の平均値×音量係数×発話時間係数・・・式（５）
【００９８】
なお、応答行動判定手段４７１は、前記した何れの方法で評価値を算出しても良く、どの方法で評価値を算出するか予め設定できるようにしておいても良い。
【００９９】
応答行動判定手段４７１が判定に用いる閾値は、予め定められた値が設定される。以下、図１２を参照して、閾値の設定手法の一例について説明する。まず、回答が必要な音声と、回答が不必要な音声とについての正解付き教示データを準備する。ここで、正解付き教示データは、例えば、人物の属性（性別、年齢）、発話内容（語彙）、音量、および、発話時間が異なる複数のデータである。そして、それぞれの正解付き教示データにおいて、スコアと頻度（データ数）とを求め、閾値を設定する。例えば、図１２に実線で図示した回答が必要な正解付き教示データＤ２と、図１２に破線で図示した回答が不必要な正解付き教示データＤ１との交点αを求める。さらに、この交点αに対応するスコアを閾値とする。これによって、応答行動判定手段４７１は、要否何れかの方に誤判定が偏ることなく、精度よく要否判定を行うことができる。
【０１００】
図８に戻って、応答行動制御部４７の構成の説明を続ける。
行動選択手段４７２は、応答行動判定手段４７１から文字情報と判定結果とが入力されると共に、この判定結果に応じた行動を選択する。ここで、行動選択手段４７２は、例えば、この判定結果に応じて、回答不能フラグを用いて、図９のルールＤＢから応答行動を選択する。具体的には、行動選択手段４７２は、回答不能行動を行うという判定結果が入力された場合、ルールＤＢを参照し、回答不能フラグ＝「１」のルールを選択する。そして、行動選択手段４７２は、選択したルールのルールＩＤ（例えば、ルールＩＤ＝「７」）を行動指令手段４７３に出力する。
【０１０１】
また、行動選択手段４７２は、回答不能行動を行わないという判定結果が入力された場合、入力された音声に対して回答を行う行動を選択する。この場合、行動選択手段４７２は、人物に対して回答する行動を示す情報と、入力された文字情報とを行動指令手段４７３に出力する。
【０１０２】
また、行動選択手段４７２は、判定結果が入力されない場合（つまり、コミュニケーションを行っていない場合）、通常のルールを選択してもよい。例えば、行動選択手段４７２は、ルールＤＢおよび状況ＤＢを参照し、回答不能フラグ＝「０」のルール（通常のルール）を選択する。具体的には、行動選択手段４７２は、状況ＤＢを参照して、人がいる（状況ＩＤ＝「２」）という状況の場合には、人がいたとき一番近い人を見る（ルールＩＤ＝「３」）を選択する。また、例えば、行動選択手段４７２は、状況ＤＢを参照して、小さな音がした（状況ＩＤ＝「４」）という状況の場合には、小さな音がした方を見る（ルールＩＤ＝「４」）を選択する。そして、行動選択手段４７２は、選択したルールのルールＩＤ（例えば、ルールＩＤ＝「３」または「４」）を行動指令手段４７３に出力する。
【０１０３】
行動指令手段４７３は、行動選択手段４７２が選択した行動の実行を、音声処理部２０、行動パターン部４３および身振り統合部４４を介して、スピーカＳおよび可動部の少なくとも一方に指令するものである。その一例としては、行動選択手段４７２が回答不能行動を選択した場合（例えば、ルールＩＤ＝「７」）、行動指令手段４７３は、ルールＤＢを参照し、そのルールＩＤを有するルールについて、その動作ＩＤ（例えば、動作ＩＤ＝「１１」）を抽出する。そして、行動指令手段４７３は、動作ＤＢを参照し、動作ＩＤ＝「１１」で定義されている「首」および「口」に、回答不能行動を行わせる動作指令を出力する。これにより、身振り統合部４４は、頭部Ｒ１に首をかしげる動作（身振り）を実行させる。また、音声処理部２０は、発話情報記憶手段３５に記憶された音声「ん」をスピーカＳから発話させる。
【０１０４】
また、例えば、行動選択手段４７２が人物に対して回答するという行動を選択した場合、行動指令手段４７３は、入力された文字情報に対する適切な回答を発話情報記憶手段３５から抽出する。そして、行動指令手段４７３は、抽出した回答（音声）の発話を音声処理部２０に指令する。これにより、音声処理部２０は、発話情報記憶手段３５に記憶された回答（音声）をスピーカＳから発話させる。
【０１０５】
また、例えば、行動選択手段４７２が通常のルールを選択した場合、行動指令手段４７３は、ルールＤＢを参照し、そのルールＩＤを有するルールについて、その動作ＩＤを抽出する。そして、行動指令手段４７３は、動作ＤＢを参照し、その動作ＩＤで定義されている部位にそのルールに対応する動作指令を行う。例えば、行動指令手段４７３は、ルールＩＤ＝「３」の場合、動作ＤＢ＝「５」なので、「首」、「腰」および「腕」に、「頭や体をターゲットに向ける」というルールを行わせる動作指令を出力する。
【０１０６】
平均音量算出手段４７４は、音声処理部２０から音声データの音量が入力されると共に、対象検知部８０から個人識別情報が入力される。そして、平均音量算出手段４７４は、この音声データの音量と個人識別情報とを用いて、人物毎に音声データの平均音量を算出する。ここで、例えば、平均音量算出手段４７４は、音声処理部２０から音声データの音量が入力される都度、その音声データの音量と、その音声データを発話した人物の個人識別情報とを対応付けて音量履歴データＤＢに格納する。そして、平均音量算出手段４７４は、人物毎に、音量履歴データＤＢに格納された音量の累計値を発話回数で除算して平均音量を算出する。さらに、平均音量算出手段４７４は、この人物の個人識別情報と、人物の平均音量とを対応付けて平均音量ＤＢに書き込む。
【０１０７】
［ロボットの動作］
図１３を参照し、ロボットＲの動作として、応答行動制御部４７の動作を中心に説明する（適宜図８参照）。また、図１３では、前記した第１例の方法で評価値を計算することとして説明する。
【０１０８】
まず、応答行動制御部４７は、応答行動判定手段４７１に、音声処理部２０から音声データに含まれる全ての単語の単語信頼度が入力される（ステップＳ１）。また、応答行動制御部４７は、応答行動判定手段４７１によって、単語信頼度の平均を算出して、その平均値を評価値として算出する（ステップＳ２）。そして、応答行動制御部４７は、応答行動判定手段４７１によって、評価値が閾値未満であるか否かを判定する（ステップＳ３）。
【０１０９】
評価値が閾値未満でない場合（ステップＳ３でＮｏ）、応答行動制御部４７は、行動選択手段４７２によって、人物に対して回答するという行動を選択する（ステップＳ４）。
一方、評価値が閾値未満の場合（ステップＳ３でＹｅｓ）、応答行動制御部４７は、行動選択手段４７２によって、回答不能行動を選択する（ステップＳ５）。
【０１１０】
ステップＳ４またはステップＳ５の処理に続いて、応答行動制御部４７は、行動指令手段４７３によって、行動選択手段４７２が選択した行動（回答不能行動または人物に対して回答するという行動）の実行を指令する（ステップＳ６）。
【０１１１】
本実施形態においては、ロボットＲは、未知語データベースおよび複雑な対話処理を必要とせずに、単純な閾値判定で回答不能行動を行うか否かを判定するため、ロボットＲの構成を簡易にすることができる。また、ロボットＲは、評価値が低い場合には回答不能行動を選択する。このとき、ロボットＲとコミュニケーションしている人物は、ロボットＲが回答不能行動を行うことによって、自らの音声（例えば、何らかの質問）にロボットＲが回答できないことを容易に把握できる。従って、この人物は、例えば、同じ音声を大きな声で遅い速度で発音する、その音声の内容を変更する等、ロボットＲに対して再度コミュニケーションを試みる可能性が高い。これによって、ロボットＲは、人物の音声に対して適切に回答できる可能性が高くなり、コミュニケーションを継続しやすくできる。
【０１１２】
また、本実施形態においては、ロボットＲは、回答不能行動として、例えば、「首をかしげて、「ん」と発音する」という動作を行う。この回答不能行動は、人間同士のコミュニケーションにおいて、相手側にコミュニケーションの継続を促す動作と同じである。従って、ロボットＲとコミュニケーションしている人物は、この回答不能行動によって、自らの音声にロボットＲが回答できないことを極めて容易に把握できる。これによって、ロボットＲは、コミュニケーションをより継続しやすくできる。
【０１１３】
ここで、回答不能行動が、「首をかしげて、「ん」と発音する」であるとして説明したが、本発明は、これに限定されない。回答不能行動は、例えば、「え」、「へ」または「ん」という１単語の音声としても良い。また、回答不能行動は、例えば、首をかしげるという動作のみであっても良い。本発明は、これら回答不能行動によっても、本実施形態と同等の効果を奏することができる。
【０１１４】
また、本実施形態においては、ロボットＲは、音声の発話時間を考慮して評価値を算出する（第３例，第４例）。このため、ロボットＲは、対話対象に回答する必要がないにもかかわらず、誤って発話を行ってしまうことを防止でき、コミュニケーションをより継続しやすくできる。
【０１１５】
また、本実施形態においては、ロボットＲは、人物毎の平均音量を考慮して評価値を算出する（第２例および第４例）。このため、ロボットＲは、人物に回答が必要となる可能性が高い場合にもかかわらず、回答不能行動を誤って選択してしまうことを防止でき、コミュニケーションをより継続しやすくできる。
【０１１６】
また、本実施形態においては、ロボットＲは、第２例および第４例以外の方法で、人物毎の平均音量を考慮した評価値を算出することもできる。ここで、応答行動判定手段４７１は、人物の音量が大きく変化することなく、最大変化量がプラスマイナス６（ｄＢ）程度であるため、下記の式（６）によって音量係数を算出することができる。そして、応答行動判定手段４７１は、この音量係数を用いて評価値を算出する。
【０１１７】
音量係数＝｛６−（平均音量−現在の音量）｝／６・・・式（６）
【０１１８】
式（６）によれば、入力された音声の音量が平均音量に等しいとき、音量係数は「１．０」となる。一方、音量が実質的な下限である（平均音量−６）［ｄＢ］のとき、音量係数は「０．０」となる。他方、音量が実質的な上限である（平均音量＋６）［ｄＢ］のとき、音量係数は「２．０」となる。このように、式（６）を用いることによって、音量の変化に対応して敏感に、かつ適切な範囲の音量係数を算出することができる。
【０１１９】
また、本実施形態においては、状況ＤＢを単独で格納する状況ＤＢ記憶手段３４を備えることとしたが、オブジェクトマップを格納するオブジェクトデータ記憶手段３１と共用にしてもよい。オブジェクトマップは、オブジェクトデータをオブジェクト別かつ時刻別に記録したデータであるので、オブジェクトマップの一部を状況ＤＢとして活用することができる。
【０１２０】
また、本実施形態においては、動作ＤＢにおいて、ロボットＲの動作を実現する可動部の部位を、首、掌、腰、腕および口（スピーカ）として説明したが、これは一例であって、指、肩、足を含めてもよい。さらに、これらの部位をさらに細分化して定義するようにしてもよい。
【０１２１】
また、本実施形態では、ロボットＲを、２足歩行可能な自律移動型ロボットとして説明したが、これに限定されず、車輪で移動する自律移動型ロボットへの応用も可能である。この場合には、２足歩行可能な自律移動型ロボットの「足」に該等する可動部が「車輪」となる点を除いて、本実施形態と同等の効果を奏することができる。
【符号の説明】
【０１２２】
Ａ      ロボットシステム
Ｒ      ロボット（コミュニケーションロボット）
Ｒ１    頭部
Ｒ２    腕部
Ｒ３    脚部
Ｒ４    胴体部
Ｒ５    背面格納部
１      基地局
２      ロボット専用ネットワーク
３      管理用コンピュータ
３ａ    記憶部
４      ネットワーク
５      端末
１０    画像処理部
２０    音声処理部
２１ａ  音声合成部
２１ｂ  音声認識部
２１ｃ  音源定位部
３０    記憶部
３１    オブジェクトデータ記憶手段
３２    ローカル地図データ記憶手段
３３    ルールＤＢ記憶手段
３４    状況ＤＢ記憶手段
３５    発話情報記憶手段
４０    主制御部
４１    静止障害物統合部
４２    オブジェクトデータ統合部
４３    行動パターン部
４４    身振り統合部
４５    内部状態検出部
４６    行動計画管理部
４７    応答行動制御部
４７１  応答行動判定手段（応答行動判定部）
４７２  行動選択手段（応答行動選択部）
４７３  行動指令手段（応答行動指令部）
４７４  平均音量算出手段（平均音量算出部）
５０    自律移動制御部
６０    無線通信部
７０    バッテリ
８０    対象検知部
９０    周辺状態検知部
Ｃ      カメラ（視覚センサ）
ＭＣ    マイク（音声入力部）
Ｓ      スピーカ（音声出力部）
ＳＲ１  ジャイロセンサ
ＳＲ２  ＧＰＳ受信器
【図１】
0005411789.tif 000002
【図２】
0005411789.tif 000003
【図３】
0005411789.tif 000004
【図４】
0005411789.tif 000005
【図５】
0005411789.tif 000006
【図６】
0005411789.tif 000007
【図７】
0005411789.tif 000008
【図８】
0005411789.tif 000009
【図９】
0005411789.tif 000010
【図１０】
0005411789.tif 000011
【図１１】
0005411789.tif 000012
【図１２】
0005411789.tif 000013
【図１３】
0005411789.tif 000014