(57)【特許請求の範囲】
【請求項１】
周囲状況としての外部情報を取得する外部情報取得手段と、発話情報に基づいて音声を出力する音声出力部と、対話対象が知覚可能な動作をそれぞれ行う複数の可動部とを有するコミュニケーションロボットであって、
前記外部情報取得手段の取得結果を周囲状況として含む状況を示すデータを格納した状況データベースを記憶した状況データベース記憶手段と、
状況に応じた発話および動作のうちの少なくとも１つの実行命令と、前記実行命令で示される発話および動作のうちの少なくとも１つの発現に関連付けられた興味度を示す動作発現パラメータとを含むルールを複数格納したルールデータベースを記憶したルールデータベース記憶手段と、
前記状況データベースへの書き込みを状況変化として検出する状況変化検出手段と、
前記状況データベースへの書き込みを検出したときに、前記状況データベースに登録されているデータで示される状況に応じたルールを前記ルールデータベースから検出するルール検出手段と、
前記検出されたルールに含まれる動作発現パラメータを、前記状況データベースにおいて、前記可動部のそれぞれおよび前記音声出力部のうちの少なくとも１つの部位に対して独立に設定する動作発現パラメータ設定手段と、
前記状況データベースにおいて前記少なくとも１つの部位に設定された前記動作発現パラメータを個別に変化させるパラメータ変更手段と、
前記状況データベースに設定された前記動作発現パラメータを含むルールで示される実行命令を、前記動作発現パラメータが設定された前記少なくとも１つの部位に対して実行させる指令手段とを備え、
前記ルールデータベースは、前記ルールごとに前記動作発現パラメータの初期値および減衰率を含み、
前記動作発現パラメータ設定手段は、前記検出したルールに含まれる動作発現パラメータの初期値を前記状況データベースに設定し、
前記パラメータ変更手段は、前記状況データベースに設定された動作発現パラメータの値を、時間に応じて前記減衰率の割合で減少させると共に、前記ルールの実行回数に応じて、前記ルールデータベースに登録されている前記減衰率を変更することを特徴とするコミュニケーションロボット。
【請求項２】
前記ルールデータベースは、前記ルールごとに優先度を含み、
前記動作発現パラメータ設定手段は、
前記検出されたルールに含まれる優先度と、実行中のルールに含まれる優先度とを比較する優先度比較手段と、
前記検出されたルールに含まれる優先度の方が高い場合に、前記検出されたルールに含まれる動作発現パラメータの初期値と、実行中のルールについて設定されている動作発現パラメータの現在値とを比較するパラメータ比較手段と、
前記検出されたルールに含まれる動作発現パラメータの初期値が、実行中のルールについて設定されている動作発現パラメータの現在値以上である場合に、前記検出されたルールに含まれる動作発現パラメータの初期値を前記状況データベースに設定するルール変更手段とを備えることを特徴とする請求項１に記載のコミュニケーションロボット。
【請求項３】
前記状況データベースは、内部状況を示すデータとしてバッテリを充電中であるか否かを示すデータをさらに格納し、
前記状況変化検出手段は、当該ロボットがバッテリの充電器に嵌合されたことをトリガに、前記状況データベースの変化を検出する処理を開始することを特徴とする請求項１または請求項２に記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間とコミュニケーションをとることが可能なコミュニケーションロボットに係り、特に、発話や可動部の動きを自然に発現させるコミュニケーションロボットに関するものである。
【背景技術】
【０００２】
従来、ペットロボット装置としてのアミューズメント性を向上させることを目的として外部状況及び内部状態に応じて行動を決定するロボットが知られている（例えば、特許文献１参照）。特許文献１に記載されたロボットは、「探索する」、「食べる」、「遊ぶ」等の目的に応じた行動が記述された行動記述モジュール（スキーマ）を複数有している。各スキーマは、ロボットの内部状態の変化及び外部刺激に基づき、所定の関数を用いて、そのスキーマの実行優先度を示す活動度レベルとして、アクティベーションレベル（AL：activation level）を算出する。このロボットは、通常は、ALが高いスキーマを選択し、それに応じた動作を発現する。
【０００３】
また、このロボットは、所定の外部刺激として、例えば、ユーザに「ボールを蹴って！」と言われた場合には、「ボールを蹴る」という行動が記述されたスキーマを選択する。この選択されたスキーマは、ALを算出し、自身がその行動をどれだけやりたいか把握し、ALの値に応じて指示に従うか否かを判断する。これにより、ロボットは、ALの値が正である場合に指示に従い、ALの値が負である場合に、予め定められた発話として、「えー、いやだなあ」という拒否をユーザに通知する音声を発生し、やりたくないという負の欲求を有していることを表現する。つまり、ロボットは、ALの値によっては、ユーザの指示に従わないことで、エンターテイメント性を向上させる。
【特許文献１】特開２００４−２８３９５８号公報（段落０１３６−０１４８、図１８）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたロボットは、予め定められた複数のスキーマの中から実行すべきスキーマを選択し、選択したスキーマに定められている行動を行うので、発現される動作が単調になってしまう。また、このロボットは、スキーマで定められた行動を行わない場合には静止状態となるため不自然な振る舞いに感じられる場合があった。
【０００５】
また、ロボット（コミュニケーションロボット）においては、例えば人間とコミュニケーションをとりながら、荷物の運搬業務や案内業務などの各種の作業（以下、総称して「タスク」という）を効率よく実行するために動作しなければならない。このとき、ロボットに発現される動作が単調なものであると、ユーザは、ロボットに対して人間らしさや親しみを感じることができず、不自然な感じや違和感を受け、その結果、コミュニケーションに支障をきたす場合も想定される。したがって、コミュニケーションロボットは、タスク遂行のための効率のよい動作以外に、多様な動作を発現することが望まれていた。
【０００６】
そこで、本発明では、前記した問題を解決し、多様な動作を発現することができるコミュニケーションロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記目的を達成するために創案されたものであり、本発明のうち請求項１に記載のコミュニケーションロボットは、周囲状況としての外部情報を取得する外部情報取得手段と、発話情報に基づいて音声を出力する音声出力部と、対話対象が知覚可能な動作をそれぞれ行う複数の可動部とを有するコミュニケーションロボットであって、前記外部情報取得手段の取得結果を周囲状況として含む状況を示すデータを格納した状況データベースを記憶した状況データベース記憶手段と、状況に応じた発話および動作のうちの少なくとも１つの実行命令と、前記実行命令で示される発話および動作のうちの少なくとも１つの発現に関連付けられた興味度を示す動作発現パラメータとを含むルールを複数格納したルールデータベースを記憶したルールデータベース記憶手段と、前記状況データベースへの書き込みを状況変化として検出する状況変化検出手段と、前記状況データベースへの書き込みを検出したときに、前記状況データベースに登録されているデータで示される状況に応じたルールを前記ルールデータベースから検出するルール検出手段と、前記検出されたルールに含まれる動作発現パラメータを、前記状況データベースにおいて、前記可動部のそれぞれおよび前記音声出力部のうちの少なくとも１つの部位に対して独立に設定する動作発現パラメータ設定手段と、前記状況データベースにおいて前記少なくとも１つの部位に設定された前記動作発現パラメータを変化させるパラメータ変更手段と、前記状況データベースに設定された前記動作発現パラメータを含むルールで示される実行命令を、前記動作発現パラメータが設定された前記少なくとも１つの部位に対して実行させる指令手段とを備え、前記ルールデータベースは、前記ルールごとに前記動作発現パラメータの初期値および減衰率を含み、前記動作発現パラメータ設定手段は、前記検出したルールに含まれる動作発現パラメータの初期値を前記状況データベースに設定し、前記パラメータ変更手段は、前記状況データベースに設定された動作発現パラメータの値を、時間に応じて前記減衰率の割合で減少させると共に、前記ルールの実行回数に応じて、前記ルールデータベースに登録されている前記減衰率を変更することを特徴とする。
【０００８】
かかる構成によれば、コミュニケーションロボットは、状況データベースへの書き込みに応じて検出されたルールに含まれる動作発現パラメータを、状況データベースにおいて可動部や音声出力部に対して独立に設定する。ここで、ルールに含まれる動作発現パラメータを設定することにより、検出したルールを設定することになる。そして、コミュニケーションロボットは、状況データベースにおいて設定された動作発現パラメータを個別に変化させる。そして、コミュニケーションロボットは、状況データベースに設定された動作発現パラメータを含むルールで示される実行命令を実行する。したがって、コミュニケーションロボットが、状況データベースにおいて設定された動作発現パラメータを変化させたときには、再び、状況データベースへの書き込みに応じたルールが検出されて、そのルールに含まれる動作発現パラメータが設定される。その結果、実行命令で示される発話や動作の発現に多様性を持たせることができる。ここで、動作の実行命令は、例えば、可動部の関節を動かす命令を含む。また、外部情報取得手段は、例えば、視覚センサを介して取得された画像を処理する画像処理部、音声入力部に入力された音声を認識する音声認識部、電波等の受信した信号を処理する信号処理部等を含む。また、状況データベースは、外部情報取得手段により取得する周囲状況のほか、内部状況を示すデータを格納することができる。
【００１０】
かかる構成によれば、コミュニケーションロボットは、状況データベースに設定された動作発現パラメータの値を、時間に応じて初期値から減衰率の割合で減少させる。ここで、動作発現パラメータは、可動部や音声出力部に対して設定されているので、ルールが変更されていない間は、動作発現パラメータの値が減衰率に応じて減少する。また、発話や動作の実行中にルールが変更された場合に、変更後のルールに応じた動作発現パラメータが、可動部や音声出力部に対して既に設定されている場合には、その値を新ルールの減衰率に応じて減少させることができる。
【００１２】
かかる構成によれば、コミュニケーションロボットは、ルールの実行回数に応じて、動作発現パラメータの減衰率を変更するので、ルールに対応した発話または動作の履歴に基づく減衰率を設定することができる。例えば、実行回数の多いルールほど減衰率を大きくすると、そのルールの発話や動作の発現時間を短くすることができる。この場合、同じ期間内で変更前と比較すると、実行されるルールが多様化されることになる。
【００１３】
また、請求項２に記載のコミュニケーションロボットは、請求項１に記載のコミュニケーションロボットであって、前記ルールデータベースが、前記ルールごとに優先度を含み、前記動作発現パラメータ設定手段が、前記検出されたルールに含まれる優先度と、実行中のルールに含まれる優先度とを比較する優先度比較手段と、前記検出されたルールに含まれる優先度の方が高い場合に、前記検出されたルールに含まれる動作発現パラメータの初期値と、実行中のルールについて設定されている動作発現パラメータの現在値とを比較するパラメータ比較手段と、前記検出されたルールに含まれる動作発現パラメータの初期値が、実行中のルールについて設定されている動作発現パラメータの現在値以上である場合に、前記検出されたルールに含まれる動作発現パラメータの初期値を前記状況データベースに設定するルール変更手段とを備えることを特徴とする。
【００１４】
かかる構成によれば、コミュニケーションロボットは、状況データベースへの書き込みに応じて検出したルールを、実行中のルールの代わりに設定する条件として、まず、その優先度が高いか否か、次に、その動作発現パラメータの値が現在値以上であるか否かを比較検討する。そして、現在値以上である場合に、検出したルールを採用する。したがって、ルールに異なる優先度を付与することで、選択されるルールを多様化することができる。また、ルールに付与する優先度を同一にして動作発現パラメータの初期値に差をつけることで、選択されるルールを多様化することができる。
【００１５】
また、請求項３に記載のコミュニケーションロボットは、請求項１または請求項２に記載のコミュニケーションロボットであって、前記状況データベースが、内部状況を示すデータとしてバッテリを充電中であるか否かを示すデータをさらに格納し、前記状況変化検出手段が、当該ロボットがバッテリの充電器に嵌合されたことをトリガに、前記状況データベースの変化を検出する処理を開始することを特徴とする。
【００１６】
かかる構成によれば、コミュニケーションロボットは、バッテリの充電器に嵌合されたことをトリガに状況データベースへの書き込みを状況変化として検出する処理を開始する。このとき、コミュニケーションロボットは、バッテリ充電中であるため、予め定められた作業の実行には支障をきたすことなく、バッテリ充電中に可動部や音声出力部を有効に活用できる。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、コミュニケーションロボットは、可動部や音声出力部について動作発現パラメータを独立に設定し、それらのパラメータを個別に変動させるので、多様性に富んだ動作を発現することができる。
請求項１に記載の発明によれば、コミュニケーションロボットは、状況データベースに設定された動作発現パラメータの値を、時間に応じて初期値から減衰率の割合で減少させるので、時間に応じて、多様性に富んだ動作を発現することができる。
請求項１に記載の発明によれば、コミュニケーションロボットは、ルールの実行回数に応じて減衰率を変更するので、多様性に富んだ動作を発現可能な減衰率を設定できる。
請求項２に記載の発明によれば、コミュニケーションロボットは、優先度および動作発現パラメータの値に応じてルールを変更するので、優先度や動作発現パラメータの初期値に差をつけることで、実行される動作を多様化することができる。
請求項３に記載の発明によれば、コミュニケーションロボットは、バッテリ充電中においてタスクに支障なく多様性に富んだ動作を発現することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明のコミュニケーションロボット（以下「ロボット」という）を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。まず、本発明の実施形態に係るロボットを含むロボット制御システムＡの全体構成について図１を参照して説明する。図１は、本発明の実施形態に係るロボットを含むロボット制御システムの構成を模式的に示す図である。
【００１９】
（ロボット制御システムＡの構成）
図１に示すように、ロボット制御システムＡは、ロボットＲと、このロボットＲと無線通信によって接続された基地局１と、この基地局１とロボット専用ネットワーク２を介して接続された管理用コンピュータ３と、この管理用コンピュータ３にネットワーク４を介して接続された端末５とから構成される。
【００２０】
図１に示すように、このロボット制御システムＡは、移動機能を備えた複数のロボットＲA，ＲB，ＲC（ただし、ロボットを特定しない場合は、単にロボットＲという）を有しており、各ロボットＲは、管理用コンピュータ３においてロボットＲ毎に予め設定されたタスクの実行計画（タスクスケジュール）に従って、タスクを実行する。
【００２１】
ここでは、自律移動型の２足歩行ロボットを一例として説明する。
ロボットＲは、管理用コンピュータ３から入力された実行命令に従ってタスクを実行するものであり、ロボットＲがタスクを実行する領域として予め設定されたタスク実行エリア内に、少なくとも一台配置されている。
ここで、図１には、来訪者を会議室などの所定の場所に案内するという内容のタスク（案内タスク）を実行中のロボットＲAと、荷物をある人に渡すという内容のタスク（荷物配達タスク）を実行中のロボットＲBと、新たなタスクが割り当てられるまで待機中のロボットＲCとが、例示されている。また、この例では、タスク実行エリア内に、３箇所のバッテリ補給エリアＢ1，Ｂ2，Ｂ3が設けられており、ロボットＲは必要に応じてバッテリ充電（バッテリ充電タスク）を行うことができる。
【００２２】
ロボットＲは、図２に示すように、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３、胴部Ｒ４および背面格納部Ｒ５を有しており、胴部Ｒ４にそれぞれ接続された頭部Ｒ１、腕部Ｒ２、脚部Ｒ３は、それぞれアクチュエータ（駆動手段）により駆動され、自律移動制御部５０（図６参照）により２足歩行の制御がなされる。この２足歩行についての詳細は、例えば、特開２００１−６２７６０号公報に開示されている。
【００２３】
このロボットＲは、例えば、案内タスクを実行するときには、人物Ｈを所定の案内領域（オフィスや廊下などの移動領域）で案内する。ここでは、ロボットＲは、周囲に光（例えば、赤外光、紫外光、レーザ光など）および電波を発信して周辺領域に、タグＴを備えた人物Ｈが存在するか否かを検知し、検知した人物Ｈの位置を特定して接近し、タグＴに基づいて、人物Ｈが誰であるのかという個人識別を行う。このタグＴは、ロボットＲが人物の位置（距離および方向）を特定するために発する赤外光および電波を受信する。このタグＴは、受信した赤外光に含まれる受光方向を示す信号と、受信した電波に含まれるロボットＩＤとに基づいて、タグ識別番号を含む受信報告信号を生成し、当該ロボットＲに返信する。この受信報告信号を受信したロボットＲは、受信報告信号に基づいて、タグＴを装着した人物Ｈまでの距離と方向とを認識し、当該人物Ｈに接近することができる。
【００２４】
ロボットＲは、あるタスク（例えば案内タスクや荷物配達タスクなど）を実行するために案内領域内を自律移動する場合に、レーザスリット光または赤外線を照射して、路面状態あるいは路面上のマークを探索するようになっている。すなわち、ロボットＲは、自己が移動領域内のどこを移動しているかを把握し、通常の移動領域内にいる場合はレーザスリット光を路面に照射して路面の段差、うねり、障害物の有無などを検出し、マークＭの設置領域内にいる場合は、赤外線を路面に照射してマークＭを検出し、自己位置の確認・補正などを行うようになっている。ここで、マークＭは、例えば赤外線を再帰的に反射する反射材料で構成された部材である。また、マークＭは位置データを有しており、当該位置データは地図データに含まれる形で記憶部３０（図６参照）に記憶されている。なお、地図データは、案内領域内の特定の場所に設置されたマークＭの位置データと、当該位置データに所定の幅（範囲）を持たせたマークＭの設置領域に関するデータとを含んでいる。また、マークＭの設置領域とは、マークＭから所定距離の範囲内にある領域をいい、例えば、マークＭを中心とした半径が１〜３ｍの円形領域や、マークＭの手前（ロボット側）３ｍの矩形領域などのように任意に設定される。
【００２５】
図１に戻って、ロボット制御システムＡの構成の説明を続ける。
基地局１は、ロボットＲと管理用コンピュータ３との間のデータ交換を仲介するものである。
具体的には、基地局１は、管理用コンピュータ３から出力された実行命令をロボットＲに送信すると共に、ロボットＲから送信されたロボットＲの状態に関するデータ（ステータス情報）やロボットＲが実行命令を受信したことを示す信号（受信報告信号）を受信して、管理用コンピュータ３に出力するものである。
基地局１は、ロボットＲと管理用コンピュータ３との間のデータ交換を確実に行えるようにするために、タスク実行エリア内に少なくとも一つ設けられている。
なお、タスク実行エリアが建物の数フロアに亘って設定されている場合には、フロア毎に設けられていることが好ましく、一つの基地局１では総てのタスク実行エリアをカバーできない場合には、複数の基地局１がタスク実行エリア内に設けられていることが好ましい。
【００２６】
ロボット専用ネットワーク２は、基地局１と、管理用コンピュータ３と、ネットワーク４とを接続するものであり、ＬＡＮ（Local Area Network）などにより実現されるものである。
【００２７】
管理用コンピュータ３は、複数のロボットＲを管理するものであり、基地局１、ロボット専用ネットワーク２を介してロボットＲの移動・発話などの各種制御を行うと共に、ロボットＲに対して必要な情報を提供する。ここで、必要な情報とは、検知された人物の氏名や、ロボットＲの周辺の地図（ローカル地図）などがこれに相当し、これらの情報は、管理用コンピュータ３の記憶部３ａに記憶されている。
【００２８】
図３は、図１に示したロボットシステムで用いられるローカル地図の一例を示す図である。ここでは、案内領域３０１は、図３（ａ）に示すように、建物のあるフロアの長方形の領域である。ロボットＲやロボットＲが案内すべき人物は、案内領域３０１の出入口３０２の外側の廊下３０３を通って案内領域３０１に入る。出入口３０２の内側には、ホール３０４が広がっており、ホール３０４の奥の隅には受付３０５が配置され、案内領域３０１の壁側には個室として仕切られた複数の会議室３０６（３０６ａ，３０６ｂ，３０６ｃ）が設けられている。受付３０５は、Ｌ字型のカウンタテーブル３０５ａと、受付スタッフが配置されるカウンタスペース３０５ｂとから成る。カウンタスペース３０５ｂには、基地局１が設置されている。なお、管理用コンピュータ３は、通路や部屋などのローカル地図の情報を位置座標データと関連づけて登録したローカルマップ（ローカル地図データ）と、ローカルマップを集積したタスク実行エリアの地図情報であるグローバルマップとを記憶部３ａ（図１参照）に保持している。
【００２９】
また、管理用コンピュータ３は、ロボットＲに実行させるタスクに関する情報（タスクデータ）を記憶するタスク情報データベースを記憶部３ａ（図１参照）に保持している。
図４に示すように、タスク情報データベース４００には、タスク毎に割り当てられた固有の識別子であるタスクＩＤ、タスクの優先度、タスクの重要度、タスクを実行させるロボットの識別子であるロボットＩＤ、案内や運搬（荷物配達）などのタスクの内容、タスク実行エリア内におけるタスクを開始する位置（開始位置）、タスク実行エリア内におけるタスクを終了する位置（終了位置）、タスクの実行に要する時間（所要時間）、そしてタスクの開始予定時刻（開始時刻）、タスクの終了予定時刻（終了時刻）、そしてタスクの状態などが、情報項目として含まれている。
【００３０】
また、管理用コンピュータ３は、ロボットＲに実行させるタスクの実行計画（タスクスケジュール）を、ロボットＲ毎に設定するものである。
図５に示すように、タスクスケジュールテーブル５００は、ロボットＲに実行させるタスクの実行順位、タスク情報データベース４００（図４参照）に登録されたタスクを特定するためのタスクＩＤ、タスクの優先度、タスクの内容、そしてタスクの状態を情報項目として含むテーブルである。
このタスクスケジュールテーブル５００では、これら情報項目が、タスク実行エリア内に配置されたロボットＲ毎に整理されており、どの様なタスクが、どのような順番で各ロボットＲに割り当てられているのかを把握できるようになっている。
【００３１】
再び、図１に戻って、ロボット制御システムＡの構成の説明を続ける。
端末５は、ネットワーク４を介して管理用コンピュータ３に接続し、管理用コンピュータ３の記憶部３ａに、人物に関する情報などを登録する、もしくは登録されたこれらの情報を修正するものである。また、端末５は、ロボットＲに実行させるタスクの登録や、管理用コンピュータ３において設定されるタスクスケジュールの変更や、ロボットＲの動作命令の入力などを行うものである。
【００３２】
以下、ロボットＲについて詳細に説明する。
【００３３】
［ロボット］
ロボットＲは、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３、胴部Ｒ４および背面格納部Ｒ５に加えて、これら各部Ｒ１〜Ｒ５の適所に、図６に示すように、カメラＣ，Ｃ、スピーカＳ、マイクＭＣ，ＭＣ、画像処理部１０、音声処理部２０、記憶部３０、主制御部４０、自律移動制御部５０、無線通信部６０、バッテリ７０、対象検知部８０、および周辺状態検知部９０を有する。
さらに、ロボットＲは、ロボットＲの向いている方向を検出するジャイロセンサＳＲ１や、予め設定された地図上におけるロボットＲの存在する位置座標を取得するためのＧＰＳ（Global Positioning System）受信器ＳＲ２を有している。
【００３４】
［カメラ］
カメラ（視覚センサ）Ｃ，Ｃは、ロボットＲの前方移動方向側の映像をデジタルデータとして取り込むことができるものであり、例えば、カラーＣＣＤ(Charge-Coupled  Device)カメラが使用される。カメラＣ，Ｃは、左右に平行に並んで配置され、撮影した画像は画像処理部１０に出力される。このカメラＣ，Ｃと、スピーカＳおよびマイク（音声入力部）ＭＣ，ＭＣは、いずれも頭部Ｒ１の内部に配設される。スピーカ（音声出力部）Ｓは、音声処理部２０で音声合成された所定の音声を発することができる。
【００３５】
［画像処理部］
画像処理部１０は、カメラＣ，Ｃが撮影した画像（撮影画像）を処理して、撮影された画像からロボットＲの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部１０は、ステレオ処理部１１ａ、移動体抽出部１１ｂおよび顔認識部１１ｃを含んで構成される。この画像処理部１０はカメラＣ，Ｃと共に外部情報取得手段として機能することができる。
ステレオ処理部１１ａは、左右のカメラＣ，Ｃが撮影した２枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像および元の画像を移動体抽出部１１ｂに出力する。なお、この視差は、ロボットＲから撮影された物体までの距離を表すものである。
【００３６】
移動体抽出部１１ｂは、ステレオ処理部１１ａから出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体（移動体）を抽出するのは、移動する物体が人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部１１ｂは、過去の数フレーム（コマ）の画像を記憶しており、最も新しいフレーム（画像）と、過去のフレーム（画像）を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラＣ，Ｃから所定の距離範囲内で、移動量の多い画素がある場合に、人物があると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部１１ｃへ移動体の画像を出力する。
【００３７】
顔認識部１１ｃは、抽出した移動体の一部分の大きさ、形状などから顔領域および顔の位置を認識する。なお、同様にして、抽出した移動体の一部分の大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットＲが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部４０に出力される。
【００３８】
［音声処理部］
音声処理部２０は、音声合成部２１ａと、音声認識部２１ｂおよび音源定位部２１ｃを有する。
音声合成部２１ａは、主制御部４０が決定し、出力してきた発話行動の指令に基づき、文字情報（テキストデータ）から音声データを生成し、スピーカＳに音声を出力する部分である。音声データの生成には、予め記憶部３０に記憶している文字情報（テキストデータ）と音声データとの対応関係を利用する。なお、音声データは、管理用コンピュータ３から取得され、記憶部３０に保存される。
音声認識部２１ｂは、マイクＭＣ，ＭＣから音声データが入力され、入力された音声データから文字情報（テキストデータ）を生成し、主制御部４０に出力するものである。なお、音声データと文字情報（テキストデータ）との対応関係は、記憶部３０に予め記憶されている。この音声認識部２１ｂはマイクＭＣ，ＭＣと共に外部情報取得手段として機能することができる。
音源定位部２１ｃは、マイクＭＣ，ＭＣ間の音圧差および音の到達時間差に基づいて音源位置（ロボットＲが認識する平面状の位置）を特定し、主制御部４０に出力するものである。音源位置は、例えば、ロボットＲの立っている方向（ｚ軸方向）周りの回転角θzで表される。
【００３９】
[記憶部]
記憶部３０は、例えば、一般的なハードディスク等から構成され、管理用コンピュータ３から送信された必要な情報（ローカル地図データ、会話用データなど）を記憶するものである。また、記憶部３０は、後記するように、主制御部４０の各種動作を行うために必要な情報を記憶している。
【００４０】
[主制御部]
主制御部４０は、画像処理部１０、音声処理部２０、記憶部３０、自律移動制御部５０、無線通信部６０、対象検知部８０、および周辺状態検知部９０を統括制御するものである。また、ジャイロセンサＳＲ１、およびＧＰＳ受信器ＳＲ２が検出したデータは、主制御部４０に出力され、ロボットＲの行動を決定するために利用される。この主制御部４０は、例えば、管理用コンピュータ３と通信を行うための制御、管理用コンピュータ３から取得したタスク実行命令に基づいて所定のタスクを実行するための制御、ロボットＲを目的地に移動させるための制御、人物を識別するための制御、人物と対話するための制御を行うために、種々の判断を行ったり、各部の動作のための指令を生成したりする。
【００４１】
［自律移動制御部］
自律移動制御部５０は、主制御部４０の指示に従い頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４を駆動するものである。この自律移動制御部５０は、図示を省略するが、頭部Ｒ１の首関節を駆動させる首制御部、腕部Ｒ２の手の先の指関節を駆動させる手制御部、腕部Ｒ２の肩関節、肘関節、手首関節を駆動させる腕制御部、脚部Ｒ３に対して胴部Ｒ４を水平方向に回転駆動させる腰制御部、脚部Ｒ３の股関節、膝関節、足首関節を駆動させる足制御部を有している。これら首制御部、手制御部，腕制御部、腰制御部および足制御部は、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４を駆動するアクチュエータに駆動信号を出力する。
【００４２】
［無線通信部］
無線通信部６０は、管理用コンピュータ３とデータの送受信を行う通信装置である。無線通信部６０は、公衆回線通信装置６１ａおよび無線通信装置６１ｂを有する。
公衆回線通信装置６１ａは、携帯電話回線やＰＨＳ(Personal  Handyphone  System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置６１ｂは、IEEE802.11b規格に準拠するワイヤレスＬＡＮなどの、近距離無線通信による無線通信手段である。
無線通信部６０は、管理用コンピュータ３からの接続要求に従い、公衆回線通信装置６１ａまたは無線通信装置６１ｂを選択して管理用コンピュータ３とデータ通信を行う。
【００４３】
バッテリ７０は、ロボットＲの各部の動作や処理に必要な電力の供給源である。このバッテリ７０は、充填式の構成をもつものが使用される。ロボットＲは、バッテリ補給エリア（図１参照）でバッテリ７０の充電器に嵌合され、バッテリ充電される。
【００４４】
［対象検知部］
対象検知部８０は、ロボットＲの周囲にタグＴを備える人物が存在するか否かを検知するものである。対象検知部８０は、複数の発光部８１（図６では１つのみ表示した）を備える。これら発光部８１は、例えば、ＬＥＤから構成され、ロボットＲの頭部Ｒ１外周に沿って前後左右などに配設される（図示は省略する）。対象検知部８０は、発光部８１から、各発光部８１を識別する発光部ＩＤを示す信号を含む赤外光をそれぞれ発信すると共に、この赤外光を受信したタグＴから受信報告信号を受信する。いずれかの赤外光を受信したタグＴは、その赤外光に含まれる発光部ＩＤに基づいて、受信報告信号を生成するので、ロボットＲは、この受信報告信号に含まれる発光部ＩＤを参照することにより、当該ロボットＲから視てどの方向にタグＴが存在するかを特定することができる。また、対象検知部８０は、タグＴから取得した受信報告信号の電波強度に基づいて、タグＴまでの距離を特定する機能を有する。したがって、対象検知部８０は、受信報告信号に基づいて、タグＴの位置（距離および方向）を、人物の位置として特定することができる。さらに、対象検知部８０は、発光部８１から赤外光を発光するだけではなく、ロボットＩＤを示す信号を含む電波を図示しないアンテナから発信する。これにより、この電波を受信したタグＴは、赤外光を発信したロボットＲを正しく特定することができる。なお、対象検知部８０およびタグＴについての詳細は、例えば、特開２００６−１９２５６３号公報に開示されている。この対象検知部８０は、外部情報取得手段として機能することができる。
【００４５】
［周辺状態検知部］
周辺状態検知部９０は、ロボットＲの周辺状態を検知するものであり、ジャイロセンサＳＲ１やＧＰＳ受信器ＳＲ２によって検出された自己位置データを取得可能になっている。また、周辺状態検知部９０は、探索域に向かってスリット光を照射するレーザ照射部９１と、探索域に向かって赤外線を照射する赤外線照射部９２と、スリット光または赤外線が照射された探索域を撮像する床面カメラ９３とを有する。この周辺状態検知部９０は、床面カメラ９３で撮像したスリット光画像（スリット光が照射されたときの画像）を解析して路面状態を検出する。また、周辺状態検知部９０は、床面カメラ９３で撮像した赤外線画像（赤外線が照射されたときの画像）を解析してマークＭ（図２参照）を検出し、検出されたマークＭの位置（座標）からマークＭとロボットＲとの相対的な位置関係を計算する。なお、周辺状態検知部９０についての詳細は、例えば、特開２００６−１６７８４４号公報に開示されている。この周辺状態検知部９０は、外部情報取得手段として機能することができる。
【００４６】
［主制御部の構成］
図７は、図６に示したロボットの主制御部の構成を示すブロック図である。
主制御部４０は、静止障害物統合部４１と、オブジェクトデータ統合部４２と、行動パターン部４３と、身振り統合部４４と、内部状態検出部４５と、行動計画管理部４６と、反射動作制御部４７とを備えている。
【００４７】
静止障害物統合部４１は、周辺状態検知部９０で検知されたロボットＲの周辺状態に関する情報を統合し、行動パターン部４３に出力するものである。例えば、静止障害物統合部４１が、ロボットＲの進路の床面に段ボール箱などの障害物を検知した場合や、床面の段差を検知した場合には、行動パターン部４３は、この統合された障害物情報に基づいて、図示しない局所回避モジュールによって迂回経路を探索する。
【００４８】
オブジェクトデータ統合部４２は、ロボットＲの姿勢データ、画像処理部１０、対象検知部８０および音源定位部２１ｃからの入力データに基づいて、対象物（オブジェクト）に関する識別データ（オブジェクトデータ）を統合し、この統合したオブジェクトデータを記憶部３０のオブジェクトデータ記憶手段３１に出力するものである。これにより、オブジェクトデータ記憶手段３１には、オブジェクトデータをオブジェクト別かつ時刻別に記録したデータであるオブジェクトマップが生成される。
【００４９】
行動パターン部４３は、行動パターンを実行するための各種プログラム（モジュール）を格納すると共に、この行動パターンを実行するときに、記憶部３０を参照して、行動パターンに反映するものである。
【００５０】
本実施形態では、図７に示すように、記憶部３０に、オブジェクトデータ記憶手段３１のほかに、ローカル地図データ記憶手段３２と、ルールＤＢ記憶手段３３と、状況ＤＢ記憶手段３４と、発話情報記憶手段３５とを備えている。
【００５１】
ローカル地図データ記憶手段３２は、図３を参照して説明したロボットＲの周辺の地図（ローカル地図）を記憶するものである。このローカル地図は、例えば、管理用コンピュータ３から取得される。
【００５２】
ルールＤＢ記憶手段３３は、各種行動パターンに対応したシナリオ（台本）、状況に応じたルール（ルールＤＢ）、ルールを実行するための具体的な動作内容や発話内容（動作ＤＢ）等を記憶するものである。ここで、ルールとは、ロボットＲが発現する動作の生成についての決まりごとを示す。また、シナリオは、例えば、歩行中に人物や障害物（オブジェクト）に遭遇したときにオブジェクトの１ｍ手前で立ち止まるといったもの、立ち止まってから１０秒後に腕部Ｒ２を所定位置まで上げるといったものなど動作に関するものと、発話に関するものとがある。また、ルールＤＢ記憶手段３３は、所定の発話を行うときに頭部Ｒ１、腕部Ｒ２、脚部Ｒ３および胴部Ｒ４のうちの少なくとも１つの部位を移動させる身体動作である身振りを指定する予め作成されたシナリオを記憶する。なお、ルールＤＢ記憶手段３３の記憶するルールＤＢや動作ＤＢについては後記する。
【００５３】
状況ＤＢ記憶手段３４は、現在状況に関する情報（状況ＤＢ）を記憶するものである。本実施形態では、状況ＤＢは、カメラＣ，Ｃを介して取得された画像を処理する画像処理部１０の処理結果、マイクＭＣ，ＭＣに入力された音声を認識する音声認識部２１ｂの処理結果、対象検知部８０によるタグＴの認識結果等を周囲状況として含む状況を示すデータを格納する。状況ＤＢ記憶手段３４の記憶する情報は、ルールＤＢ記憶手段３３に記憶されたルールの選択時に利用される。また、状況ＤＢ記憶手段３４には、選択されたルールに関する情報が書き込まれる。この状況ＤＢ記憶手段３４に記憶される状況ＤＢの具体例については後記する。
【００５４】
発話情報記憶手段３５は、ロボットＲの発話に用いられる情報を記憶するものである。発話情報記憶手段３５は、各種行動パターンに対応したシナリオで定められた会話情報を記憶する。ここで、会話情報は、例えば、挨拶を示す定型文「○○さん、こんにちは」、確認を示す定型文「これを、△△さんへ渡すのですね」等が含まれる。また、発話情報記憶手段３５は、ルールＤＢ記憶手段３３に記憶されたルールを実行時の発話内容の情報等を記憶している。ここで、ルールを実行時の発話内容の情報は、例えば、返事を示す「ハイ」、時刻を示す定型文「□時□分です」等が含まれる。これらの情報（会話用データ）は、例えば、管理用コンピュータ３から送信される。
【００５５】
行動パターン部４３は、オブジェクトデータ記憶手段３１、ローカル地図データ記憶手段３２、ルールＤＢ記憶手段３３、状況ＤＢ記憶手段３４および発話情報記憶手段３５を適宜利用して様々な場面や状況に応じた行動パターンを実行するモジュールを備えている。モジュールの例としては、目的地移動モジュール、局所回避モジュール、デリバリモジュール、案内モジュール、人対応モジュール、反射動作モジュール等がある。
【００５６】
目的地移動モジュールは、ロボットＲの現在位置から、例えば、タスク実行エリア内のタスク実行位置等の目的地までの経路探索（例えばノード間の経路を探索）及び移動を行うものである。この目的地移動モジュールは、地図データと現在位置とを参照しつつ、目的地までの最短距離を求める。
局所回避モジュールは、歩行中に障害物が検知されたときに、静止障害物統合部４１で統合された障害物情報に基づいて、障害物を回避する迂回経路を探索するものである。
【００５７】
デリバリモジュールは、荷物配達タスクを実行するときに動作するものであり、物品の運搬を依頼する人物（依頼人）から物品を受け取る（把持する）動作や、受け取った物品を受取人に渡す（物品を手放す）動作を実行するものである。
案内モジュールは、例えば、タスク実行エリア内の案内開始地点に来訪した来訪客を案内領域３０１（図３参照）の受付３０５にいる受付スタッフのもとへ案内するタスクを実行するものである。
【００５８】
人対応モジュールは、例えば、物品運搬タスクや案内タスクの実行時に所定のシナリオに基づいて、発話、姿勢の変更、腕部Ｒ２の上下移動や把持等を行うものである。なお、人対応モジュールは、タスクの実行にかかわらず、軽い挨拶やお天気の話題等を、目的をもって意図的に発話することもできる。
反射動作モジュールは、自然な動作（意味のある動作）や人間らしさを醸し出すような動作としての反射動作を行うものである。ここで、反射動作とは、例えば、ロボットＲがその正面にいる人間と対話中に、横から大きな音を認識したときに、あたかも人間のように、対話への集中が途切れてその音源方向を向く動作等を示す。また、反射動作には、例えば、ロボットＲが呼びかけられたときに、意図をもたずに「ハイ」と返事をする発話も含まれる。
【００５９】
身振り統合部４４は、対象とする人物に対して行う発話に対応した身振りをルールＤＢ記憶手段３３から抽出し、抽出した身振りを指定するコマンドを自律移動制御部５０に出力するものである。頭部Ｒ１の動作による身振りは、例えば、頭部Ｒ１を下方に傾けることで「お辞儀」、「礼」、「同意」、「謝罪」等を表示する動作や、頭部Ｒ１を左右に傾ける（かしげる）ことで「分からない」という意思表示を伝える動作が含まれる。また、腕部Ｒ２の動作による身振りは、例えば、腕部Ｒ２を上げることで「喜び」、「賞賛」等を表示する動作や、腕部Ｒ２を下方左右に広げることや握手を行うことで「歓迎」という意思表示を伝える動作が含まれる。また、脚部Ｒ３の動作による身振りは、例えば、その場で駆け足をすることで「喜び」、「元気」等の意思表示を伝える動作が含まれる。
【００６０】
内部状態検出部４５は、ロボットＲの内部状態を検出するものである。本実施形態では、内部状態検出部４５は、充電状況（充電器に嵌合されたか否かを示す情報）およびバッテリ７０の残量を検出する。また、内部状態検出部４５は、ロボットＲの状態（現在位置、充電状況、バッテリ残量、タスク実行状況など）に関するデータを所定時間間隔毎にステータス情報として生成し、生成したステータス情報を反射動作制御部４７に出力する。また、内部状態検出部４５は、生成したステータス情報を無線通信部６０を介して管理用コンピュータ３に出力する。そして、管理用コンピュータ３は、入力されたステータス情報を記憶部３ａに格納された図示しないロボット情報データベースにロボットＲ毎に登録する。
【００６１】
行動計画管理部４６は、行動パターン部４３が備える各種モジュールを所定のスケジュールで実行する行動計画を管理するものである。本実施形態では、行動計画管理部４６は、管理用コンピュータ３から取得したタスク実行命令に基づいて予め定められたタスクを実行するための行動計画を管理し、現在実行すべき作業に必要なモジュールを適宜選択する。
【００６２】
反射動作制御部４７は、人物等の対話対象が知覚可能な動作をそれぞれ行う複数の可動部（例えば、頭、掌、腰、腕）とスピーカ（音声出力部）Ｓとのうちの少なくとも１つの部位を使用して対話対象が知覚可能な動作を行うものである。この反射動作制御部４７は、多様性に富んだ動作や発話を実行すると共に、反射動作とその他の行動パターン（例えば、人対応モジュール）とを切り替えることで、ロボットＲと人物とのコミュニケーションを潤滑に実行させる。
【００６３】
［反射動作制御部の構成］
図８は、図７に示した反射動作制御部の構成を示すブロック図である。
反射動作制御部４７は、図８に示すように、状況変化検出手段１１０と、ルール検出手段１２０と、動作発現パラメータ設定手段１３０と、パラメータ変更手段１４０と、指令手段１５０とを備え、これらによって記憶部３０に記憶された各種の情報やデータに基づいて後記する制御を行う。
【００６４】
記憶部３０に備えられたルールＤＢ記憶手段（ルールデータベース記憶手段）３３は、前記したようにルールＤＢ（ルールデータベース）と、動作ＤＢ（動作データベース）とを記憶している。
ルールＤＢ（ルールデータベース）は、状況に応じた発話および動作のうちの少なくとも１つの実行命令と、その実行命令で示される発話および動作のうちの少なくとも１つの発現に関連付けられた動作発現パラメータとを含むルールを複数格納したものである。以下では、動作発現パラメータのことを興味度と呼ぶ。本実施形態では、ルールＤＢは、ルールごとに興味度の初期値および減衰率を含むと共に、ルールごとに優先度を含むこととした。
【００６５】
ここで、ルールＤＢおよび動作ＤＢの具体例について図９および図１０を参照して説明する。図９は、図８に示したルールＤＢ記憶手段に記憶されたルールＤＢの一例を示す図であり、図１０は、図８に示したルールＤＢ記憶手段に記憶された動作ＤＢの一例を示す図である。
【００６６】
図９に示すように、ルールＤＢ９００は、項目として、ルールＩＤ９０１、ルール内容９０２、優先度（priority）９０３、ルール式数９０４、ルール式９０５、動作ＩＤ９０６、興味度（interest）９０７、興味減衰率（damping＿ratio）９０８を有している。
優先度（priority）９０３は、数値が高いほど優先すべきルールであることを示す。
ルール式９０５は、ルール内容９０２と、状況ＤＢ（図１１参照）の状況内容との関連を示す。例えば、ルールＩＤ＝「１」のルールで示される状況は、状況ＤＢ（図１１参照）の状況ＩＤ＝「５」の現在表示が「１」であるものに相当することを示す。これは、状況ＤＢ（図１１参照）において、「マイククリップ（＝大きな音がした）」を示している。
【００６７】
ルール式数９０４は、ルールに該当するルール式の個数を示す。すべてのルール式が満たされる状況のときに、そのルールは状況に適合した選択候補となる。
動作ＩＤ９０６は、ルール内容９０２と、動作ＤＢ（図１０参照）の動作内容との関連を示す。例えば、ルールＩＤ＝「１」のルールで示される動作は、動作ＤＢ（図１０参照）の動作ＩＤ＝「４」に相当することを示す。これは、動作ＤＢ（図１０参照）において、「驚く（＝びっくりする）」を示している。
興味度（interest）９０７は、興味度の初期値を示すものである。
興味減衰率（damping＿ratio）９０８は、興味度の減衰率を示すものである。
なお、ルールＩＤ＝「Ｘ」のルールは、ルール内容として「何もしない」ことを示す特別ルールである。
【００６８】
図１０に示すように、動作ＤＢ１０００は、項目として、動作ＩＤ１００１と、動作内容１００２と、可動部の部位の一例として、首１００３、掌１００４、腰１００５、腕１００６および口１００７とを有している。ここで、部位は、例えば、首（頭部Ｒ１）、掌や腕（腕部Ｒ２）、腰（脚部Ｒ３、胴部Ｒ４）、口（スピーカＳ）を指す。
例えば、動作ＩＤ＝「５」は、首、腰および腕を使用することで、「顔や体をターゲットに向けて手を挙げる」動作を、反射動作として行うことを示す。
【００６９】
また、動作ＩＤ＝「７」，「８」については、詳細は図示していないが、自律移動制御部５０によって動かす腕部Ｒ２の関節の自由度や各関節の回転角度ごとに動作を定めたため、異なる動作ＩＤを付与した。ここで、関節の自由度は、関節を前後方向に曲げる、上下方向に曲げる、回転させる等の動きを示す。なお、腕部Ｒ２以外の部位にも同様に設定できる。
また、動作ＩＤ＝「９」，「１０」については、詳細は図示していないが、音声合成部２１ａによって合成する音声の音量ごとに、異なる動作ＩＤを付与した。なお、図１０に示した動作以外に、例えば、「腰をひねる」、「腕をぶらぶら振る」、「手指を閉じたり開いたりする」、「把持した旗等の物品を振る」等の動作を含んでもよい。
【００７０】
記憶部３０に備えられた状況ＤＢ記憶手段（状況データベース記憶手段）３４は、前記したように状況ＤＢ（状況データベース）を記憶している。状況ＤＢは、画像処理または音声認識処理の結果を周囲状況として含む状況を示すデータを格納したものである。本実施形態では、状況ＤＢは、周囲状況のほかに、内部状況を示すデータとしてバッテリを充電中であるか否かを示すデータを格納している。
【００７１】
ここで、状況ＤＢの具体例について図１１を参照して説明する。図１１は、図８に示した状況ＤＢ記憶手段に記憶された状況ＤＢの説明図であって、（ａ）は状況ＤＢに登録された状況内容についての現在状況の一例、（ｂ）は状況に応じて状況ＤＢに書き込む内容の候補の一例をそれぞれ示している。図１１（ａ）に示すように、状況ＤＢ１１００は、現在状況の項目として、状況ＩＤ１１０１、状況内容１１０２、現在表示１１０３を有している。現在表示１１０３は、状況内容１１０２の現在値を示すものである。ここで、ｏｎは「１」を示し、ｏｆｆは「０」を示すこととした。現在表示１１０３の項目への情報の書き込みは、オブジェクトデータ統合部４２や内部状態検出部４５が行う。
【００７２】
具体的には、オブジェクトデータ統合部４２は、図１１（ａ）に示す状況ＩＤ＝「０」，「３」で示される状況について、画像処理部１０からの画像処理結果に基づいて、該当する情報を状況ＤＢに書き込む。これにより、後記する状況変化検出手段１１０は、状況ＤＢへの書き込みを状況変化として検出する。なお、状況ＩＤ＝「３」に示す「接近してくる人物がいる」という状況を認識する方法は、例えば、画像処理部１０による画像処理の結果、認識された顔画像の画素数が増加した場合にそのように認識することができる。また、オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「１」，「２」で示される状況について、対象検知部８０からの入力データに基づいて、該当する情報を状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「４」，「５」で示される状況について、音声がマイクＭＣ，ＭＣから入力したときに状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「７」で示される状況について、音源定位部２１ｃからの入力データに基づいて、該当する情報を状況ＤＢに書き込む。オブジェクトデータ統合部４２は、例えば、状況ＩＤ＝「８」で示される状況について、オブジェクトデータ記憶手段３１（図７参照）に記憶されたオブジェクトマップに基づいて、該当する情報を状況ＤＢに書き込む。例えば、状況ＩＤ＝「６」で示される状況について、内部状態検出部４５が該当する情報を状況ＤＢに書き込む。
【００７３】
図１１（ｂ）は、動作発現パラメータ設定手段１３０が、状況ＤＢの図示しないデータ書込領域に書き込む書込内容候補の一例を模式的に示すものである。状況ＤＢに書き込まれる内容は、状況（または状況ＩＤ）や選択されたルール（または動作ＩＤ）に関連付けられており、情報項目として、例えば、「優先度（priority）」、「興味度（interest）」、「興味減衰率（damping＿ratio）」を含んでいる。なお、優先度、興味度および興味減衰率は、ルールＤＢに記述されたものと同様である。また、選択されたルール（または動作ＩＤ）に対応した部位も合わせて示した。ここで、ルール１（ルールＩＤ＝「１」）が１回目に選択され、以下、ルール５（ルールＩＤ＝「５」）、ルール４（ルールＩＤ＝「４」）、ルール６（ルールＩＤ＝「６」）、特別ルールＸ（ルールＩＤ＝「Ｘ」）が順次選択されたものとする。なお、特別ルールＸは、興味度の現在値（残存興味度）が「０」となった場合に、それまで実行していた動作または発話を終了（リセット）するためのものである。リセット後、そのときの状況に応じて動作または発話をリスタートすることができる。つまり、本実施形態では、ロボットＲが動作または発話し続けることを前提としつつ、一時停止も動作の多様性のうちの１つとしている。
【００７４】
図８に戻って、反射動作制御部４７の構成の説明を続ける。
状況変化検出手段１１０は、状況ＤＢの変化を検出するものである。本実施形態では、状況変化検出手段１１０は、当該ロボットＲがバッテリの充電器に嵌合されたことをトリガに、状況ＤＢへの書き込みを状況変化として検出する処理を開始する。例えば、状況変化検出手段１１０は、内部状態検出部４５で検出されたロボットＲの状態（現在位置、充電状況、バッテリ残量、タスク実行状況など）に関するデータを示すステータス情報に基づいて、当該ロボットＲがバッテリの充電器に嵌合されたことを検出する。
ルール検出手段１２０は、状況ＤＢへの書き込みが状況変化として検出されたときに、状況ＤＢに登録されているデータで示される状況に応じたルールをルールＤＢから検出するものである。
【００７５】
動作発現パラメータ設定手段１３０は、検出されたルールに含まれる興味度（動作発現パラメータ）を、状況ＤＢにおいて可動部（例えば、首、掌、腰、腕）のそれぞれおよびスピーカＳ（音声出力部）のうちの少なくとも１つの部位に対して独立に設定するものである。本実施形態では、動作発現パラメータ設定手段１３０は、検出したルールに含まれる興味度の初期値を状況ＤＢに設定する。この動作発現パラメータ設定手段１３０は、優先度比較手段１３１と、パラメータ比較手段１３２と、ルール変更手段１３３とを備えている。
【００７６】
優先度比較手段１３１は、検出されたルールに含まれる優先度と、実行中のルールに含まれる優先度とを比較するものである。本実施形態では、優先度比較手段１３１は、選択されたルールの優先度が、実行中の現ルールの優先度よりも高いか否かを判別する。
パラメータ比較手段１３２は、検出されたルールに含まれる優先度の方が高い場合に、検出されたルールに含まれる興味度（動作発現パラメータ）の初期値と、実行中のルールについて設定されている興味度（動作発現パラメータ）の現在値とを比較するものである。本実施形態では、パラメータ比較手段１３２は、選択されたルールの興味度（初期値）が、実行中の現ルールの興味度（現在値）以上であるか否かを判別する。
【００７７】
ルール変更手段１３３は、検出されたルールに含まれる興味度（動作発現パラメータ）の初期値が、実行中のルールについて設定されている興味度（動作発現パラメータ）の現在値以上である場合に、検出されたルールに含まれる興味度（動作発現パラメータ）の初期値を状況ＤＢに設定するものである。本実施形態では、ルール変更手段１３３は、選択されたルールの興味度（初期値）が現ルールの興味度（現在値）よりも大きい場合に、現ルールに代えて、選択されたルールとして、優先度、興味度（初期値）、興味減衰率（減衰率）を状況ＤＢに設定する。なお、ルール変更手段１３３は、初回には、選択されたルールの優先度、興味度（初期値）、興味減衰率をそのまま設定する。
【００７８】
パラメータ変更手段１４０は、状況ＤＢにおいて少なくとも１つの部位に設定された興味度（動作発現パラメータ）を変化させるものである。本実施形態では、パラメータ変更手段１４０は、状況ＤＢに設定された興味度（動作発現パラメータ）の値を、時間に応じて減衰率の割合で減少させる。具体的には、パラメータ変更手段１４０は、所定の周期（例えば、制御クロックの周期や１秒ごと）で興味度の値を減少させる。
【００７９】
指令手段１５０は、状況ＤＢに設定された興味度（動作発現パラメータ）を含むルールで示される実行命令を、興味度（動作発現パラメータ）が設定された少なくとも１つの部位に対して実行させるものである。本実施形態では、指令手段１５０は、状況ＤＢに設定されたルールの動作ＩＤで示される動作または発話を該当する部位が実行するように、身振り統合部４４、行動パターン部４３または音声処理部２０に動作指令を出力する。これにより、身振り統合部４４は、頭部Ｒ１や腕部Ｒ２を用いた動作（身振り）を実行させる。また、行動パターン部４３や音声処理部２０は、発話情報記憶手段３５に記憶された情報をスピーカＳから発話させる。
【００８０】
本実施形態では、前記したパラメータ変更手段１４０が興味度の値を初期値から減少させ始めるタイミングは、発話については指令を出力した直後とし、動作については、指令を出力した後も興味度の値を維持しておき、しばらくしてから興味度を減少させるものとする。ここで、その具体例について図１２を参照して説明する。
【００８１】
図１２は、興味度を減衰させるタイミングの一例を示す説明図である。図１２は、ロボットＲの真上から見た平面図を示している。図１２（ａ）に示すように、ロボットＲの右方向から小さな音がした場合に（状況ＩＤ＝「４」，「７」）、動作発現パラメータ設定手段１３０は、例えば「レベル５以下の音がした方を見る（ルールＩＤ＝「４」）」を選択し、興味度を変動させずに固定させておくことを示すフラグをオン状態にセットする（例えば、フラグ＝１）。ここで、仮に稼動中の部位があったとしてもすべての部位について興味度の減衰を停止させることが好ましい。そして、動作発現パラメータ設定手段１３０は、選択したルールを指令手段１５０に通知する。指令手段１５０は、状況ＤＢに設定されたルールを参照して、「腰つきで音源方向を見る動作（動作ＩＤ＝「３」）を身振り統合部４４に出力する。これにより、ロボットＲは音源１２０１の方を向く動作を開始する。そして、動作発現パラメータ設定手段１３０は、指令位置への動作が開始したことを確認して、選択したルールとして、優先度、興味度（初期値）、興味減衰率（減衰率）を状況ＤＢに設定する。なお、動作発現パラメータ設定手段１３０は、ルールを選択したときに、優先度、興味度（初期値）、興味減衰率（減衰率）を状況ＤＢに設定するようにしてもよい。そこで、後記する動作フローにおいては、そのように設定するものとして説明することとする。
【００８２】
続いて、図１２（ｂ）に示すように、ロボットＲは音源１２０１の正面を向き、指令位置まで回転する。続いて、動作発現パラメータ設定手段１３０は、指令位置までの回転動作が終了したことを確認してから、興味度を変動させずに固定させておくことを示すフラグをオフ状態にセットする（例えば、フラグ＝０）。これにより、パラメータ変更手段１４０は、選択されたルール（ルールＩＤ＝「４」）の興味度を減衰させ始める。なお、指令位置までの動作の開始または終了については、例えば、身振り統合部４４、行動パターン部４３、オブジェクトデータ統合部４２等のいずれかから動作発現パラメータ設定手段１３０に直接通知してもよいし、それら各部４２〜４４のいずれかが状況ＤＢに開始または終了したことを書き込んでもよい。このようにすることで、以下の効果を奏する。すなわち、仮に、動作開始直後から興味度を減衰開始してしまうと、動作の開始位置によって動作後の姿勢維持時間が変化してしまう。例えば、図１２に示す例では、指令位置まで９０°回転するものであるが、指令位置まで１８０°回転する場合には、動作後の姿勢維持時間が短くなってしまう。しかしながら、本実施形態では、動作指令を出力した後も興味度の値を維持しておき、しばらくしてから興味度を減少させることもできるので、指令位置に達した後の姿勢維持時間を一定にすることができる。
【００８３】
［ロボットの動作］
図６に示したロボットＲの動作について主に反射動作制御部４７の動作を中心に図１３を参照（適宜図１、図６および図７参照）して説明する。図１３は、図７に示した反射動作制御部の動作を示すフローチャートである。反射動作制御部４７は、例えば、ロボットＲがバッテリの充電器に嵌合されたことをトリガに、状況変化検出手段１１０によって、状況ＤＢへの書き込みを状況変化として検出する処理を開始する。そして、反射動作制御部４７は、状況変化検出手段１１０によって、状況ＤＢへの書き込みを状況変化として検出した場合（ステップＳ１：Ｙｅｓ）、ルール検出手段１２０によって、状況ＤＢに登録されているデータで示される状況に応じたルールをルールＤＢから検出する（ステップＳ２）。そして、ルール検出手段１２０は、状況に応じたルールとして複数のルールが適合した場合（ステップＳ３：Ｙｅｓ）、１つに絞り込み（ステップＳ４）、状況に応じたルールが１つだけ適合した場合（ステップＳ３：Ｎｏ）、ステップＳ４をスキップする。
【００８４】
続いて、反射動作制御部４７は、優先度比較手段１３１によって、選択されたルールの優先度が、実行中の現ルールの優先度よりも高いか否かを判別する（ステップＳ５）。選択されたルールの優先度が現ルールの優先度よりも高い場合（ステップＳ５：Ｙｅｓ）、反射動作制御部４７は、パラメータ比較手段１３２によって、選択されたルールの興味度（初期値）が、実行中の現ルールの興味度（現在値）以上であるか否かを判別する（ステップＳ６）。選択されたルールの興味度（初期値）が現ルールの興味度（現在値）以上である場合（ステップＳ６：Ｙｅｓ）、反射動作制御部４７は、ルール変更手段１３３によって、状況ＤＢに設定されている現ルールを、選択されたルールに変更し、選択されたルールの興味度（初期値）を設定する（ステップＳ７）。なお、ルール変更手段１３３は、初回には選択されたルールを設定する。
【００８５】
続いて、反射動作制御部４７は、指令手段１５０によって、状況ＤＢに設定されたルールの動作ＩＤで示される動作を該当する部位が実行するように、身振り統合部４４等に動作指令を出力する（ステップＳ８）。そして、反射動作制御部４７は、状況ＤＢに設定されたルールの興味度を変更するタイミングである場合（ステップＳ９：Ｙｅｓ）、パラメータ変更手段１４０によって、興味度の値を変更し（ステップＳ１０）、ステップＳ１１に進む。一方、興味度を変更するタイミングではない場合（ステップＳ９：Ｎｏ）、反射動作制御部４７は、ステップＳ１０をスキップしてステップＳ１１に進む。ステップＳ１１において、反射動作制御部４７は、状況ＤＢに設定されたルールの興味度が０でない場合（ステップＳ１１：Ｎｏ）、ステップＳ１に戻り、興味度が０である場合（ステップＳ１１：Ｙｅｓ）、処理を終了する。
【００８６】
前記したステップＳ１において、反射動作制御部４７は、状況変化検出手段１１０によって、状況ＤＢへの書き込みを状況変化として検出しなかった場合（ステップＳ１：Ｎｏ）、ステップＳ９に進み、変更タイミングであれば興味度を変更する。また、前記したステップＳ５において、反射動作制御部４７は、優先度比較手段１３１によって、選択されたルールの優先度が、実行中の現ルールの優先度以下であると判別された場合（ステップＳ５：Ｎｏ）、ステップＳ９に進む。また、前記したステップＳ６において、反射動作制御部４７は、パラメータ比較手段１３２によって、選択されたルールの興味度（初期値）が、実行中の現ルールの興味度（現在値）よりも小さいと判別された場合（ステップＳ６：Ｎｏ）。ステップＳ９に進む。
【００８７】
［減衰率の履歴の具体例］
次に、減衰率の履歴の具体例について図１４を参照（適宜図９〜１１参照）して説明する。図１４は、状況ＤＢに書き込まれる減衰率の履歴の一例を示す説明図である。この具体例においては、減衰率の履歴に絞って簡略に説明するため、優先度は等しく、かつ、ルールが１回だけ変更するものとして説明する。まず、図１１（ｂ）に示したルール５が適合した場合を想定する。ルール５（ルールＩＤ＝「５」）では、興味度（初期値）が「８０」、興味減衰率（減衰率）が「１．０」であり、動作に用いる部位が「首、腰および腕」なので、ｔ＝０において、「首、腰および腕」について、興味度および減衰率として、８０［１．０］が設定される。ここで、トータルの欄は、ルールの興味度および減衰率を示す。また、「首、腰および腕」は、ｔ＝０には、指令位置にあるものとする。
【００８８】
そして、ｔ＝１のときには、興味度（初期値）から減衰率が減算され、「首、腰、腕およびトータル」について、興味度および減衰率として、７９［１．０］が設定される。以下、同様にして興味度は変動し、ｔ＝２０のときには、「首、腰、腕およびトータル」について、興味度および減衰率として、６０［１．０］が設定される。このとき、図１１（ｂ）に示したルール４が適合した場合を想定する。ルール４（ルールＩＤ＝「４」）では、興味度（初期値）が「５０」、興味減衰率（減衰率）が「０．８」であり、動作に用いる部位が「首」である。この時点では、選択されたルールの興味度（５０）は、現ルールの興味度（６０）よりも小さいので（５０＜６０）、ルールは変更されない。
【００８９】
しかし、ｔ＝３０の時点では、選択されたルールの興味度（５０）は、現ルールの興味度（５０）と等しいので（５０＝５０）、ルールは変更される。新ルールは、「首」に関するので、ｔ＝３１のときには、「首およびトータル」について、興味度および減衰率として、４９．２［０．８］が設定される。一方、「腰および腕」について、興味度および減衰率として、４９［１．０］が設定される。つまり、「首」は新ルールで定められた動作を行い、「腰および腕」は前ルールで定められた動作を続ける。ｔ＝８０のときには、「腰および腕」は前ルールで定められた動作を終了する。一方、「首」については、ｔ＝９３のときに残存興味度が０となって、動作を終了する。なお、動作内容によっては、残存興味度が０となる前に動作が終了するものもある。
【００９０】
本実施形態によれば、ロボットＲは、状況ＤＢの変化に応じて検出したルールに含まれる興味度を、状況ＤＢにおいて、動作や発話に用いる首、掌、腰、腕および口（スピーカ）に対して独立に設定し、設定された興味度を個別に変化させる。そして、ロボットＲは、状況ＤＢに設定された興味度を含むルールで示される実行命令を実行するので、興味度を変化させたときに検出された新ルールで定められた発話や動作を随時実行することができる。その結果、ロボットの行動の発現に多様性を持たせることができる。
【００９１】
以上、本発明の好ましい実施形態について説明したが、本発明は前記した実施形態に限定されるものではない。例えば、本実施形態では、図９を参照してルールＤＢを説明したが、ルールＤＢはこれに限定されるものではない。例えば、図１５に示すルールＤＢ１５００は、項目として、ルールＩＤ１５０１、優先度（priority）１５０２、ルール式１５０３、動作ＩＤ１５０４、興味度（interest）１５０５、興味減衰率（damping＿ratio）１５０６を有している。ここで、ルール式１５０３は、ルールが選択されるための条件を示すものである。その他の項目は、図９に示したものと同様である。ルールＤＢ１５００を用いた場合には、ルール式を満たすルールが選択候補となる。具体的には、図１５に示した各ルールは優先度が同じである。このようにすることで、各ルール（動作）をランダムに発現させることが可能となる。また、ルールＩＤ＝「２０」，「２１」，「２２」については、ルール式も同じである。なお、単位はミリ秒である。この場合、周囲に人がいなくなって５〜１０秒の間に、いずれかのルールがランダムに適合する。また、周囲に人がいなくなって１０秒経過後には、ルールＩＤ＝「２０」，「２１」，「２２」のいずれかのルールがランダムに適合する。ここで、「何もしない」ルールに興味度や興味減衰率を設けておくことで、「何もしない」ルールが適合したときにも状況ＤＢのトータルの興味度のみをセットできるので、動作しないように確実にブロックすることができる。また、ルールＤＢの編集や動作ＤＢの編集は容易に行うことができるので、編集により興味度を変更することもできる。このとき、ストロークの小さい部位から順に動かすように編集することもできる。なお、ルール式は、ランダム動作の最短開始時刻や最遅開始時刻を示すものとすることもできる。
【００９２】
また、本実施形態では、図１１（ｂ）に５つのルールを例示したが、これらは独立に設定されるものである。つまり、部位毎に興味度（動作設定パラメータ）が独立に設定され、興味度の減衰は、部位ごとに個別に行われる。したがって、複数のルールにまたがって、異なる部位を使用する動きを同時に実行することが可能である。具体的には、図１１（ｂ）に示した複数のルールの優先度をすべて等しくした場合を想定すると、例えば、ルール６において、呼吸をしているような動作をしている最中に、横で大きな昔がした場合にルール１が適合し、興味度によっては、腕についてはその動きを続けながら、首だけビクっと音源の方に向くことができる。さらに、呼吸をしているような動作を行っている最中に他のルールが適合した場合に、その呼吸のリズムを変更させることによって次の動作の前触れとすることができるため、より自然な動作発現を行わせることも可能である。
【００９３】
パラメータ変更手段１４０は、ルールの実行回数に応じて、ルールＤＢに登録されている減衰率を変更するようにしてもよい。このようにすることで、ルールに対応した発話または動作の履歴に基づく減衰率を設定することができる。例えば、実行回数の多いルールほど減衰率を大きくすると、そのルールの発話や動作の発現時間を短くすることができる。この場合、同じ期間内で変更前と比較すると、実行されるルールが多様化されることになる。また、例えば、実行回数の多いルールほど人とのコミュニケーションにおいて評価の高い動作、または発話であるものとして減衰率を小さく設定することもできる。このようにすることで、ルールＤＢの編集時において、実行回数の多いルールを残し、そうではないルールを削除することもできる。
【００９４】
また、ステータス情報（現在位置、充電状況、バッテリ残量、タスク実行状況など）や、学習状況（管理用コンピュータ３から取得した情報の多寡やコミュニケーションで取得した情報）などによって、ロボットＲ毎に予め定めた所定値を、興味度や減衰率に掛けることで、ロボットＲに発現される動作の多様性をロボットＲ毎に変動させてもよい。これによれば、発現される動作の多様性が人間の性格のように異なるのでロボットＲに対して親近感を感じられ易くなる。
【００９５】
また、本実施形態においては、状況ＤＢを単独で格納する状況ＤＢ記憶手段３４を備えることとしたが、オブジェクトマップを格納するオブジェクトデータ記憶手段３１と共用にしてもよい。オブジェクトマップは、オブジェクトデータをオブジェクト別かつ時刻別に記録したデータであるので、オブジェクトマップの一部を状況ＤＢとして活用することができる。
【００９６】
また、本実施形態においては、動作ＤＢ１０００において、ロボットＲの動作を実現する可動部の部位を、首、掌、腰、腕および口（スピーカ）として説明したが、これは一例であって、指、肩、足を含めてもよい。さらに、これらの部位をさらに細分化して定義するようにしてもよい。
【００９７】
また、本実施形態では、ロボットＲがバッテリ７０の充電器に嵌合されている場合（タスクを実行していない場合）について反射動作を例示したが、タスク実行中に反射動作を実行できることはもちろんである。例えば、デリバリモジュールによって荷物配達タスクとして歩行しているときにすれ違った人物から話しかけられた場合に、「ハイ」という返事をしたり、「配達中なので応答できません」という返事をしたりすることができる。
【００９８】
また、本実施形態では、ロボットを、２足歩行可能な自律移動型ロボットとして説明したが、これに限定されず、車輪で移動する自律移動型ロボットへの応用も可能である。この場合には、２足歩行可能な自律移動型ロボットの「足」に該等する可動部が「車輪」となる点を除いて、本実施形態と同等の効果を奏することができる。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施形態に係るロボットを含むロボットシステムの構成を模式的に示す図である。
【図２】ロボットによる自己位置検出およびオブジェクト検出の一例を模式的に示す図である。
【図３】図１に示したロボットシステムで用いられるローカル地図の一例を示す図である。
【図４】図１に示した管理用コンピュータの記憶手段に記憶されたタスク情報データベースの一例を示す図である。
【図５】図１に示した管理用コンピュータの記憶手段に記憶されたタスクスケジュールテーブルの一例を示す図である。
【図６】本発明の実施形態に係るロボットの構成を示すブロック図である。
【図７】図６に示したロボットの主制御部の構成を示すブロック図である。
【図８】図７に示した反射動作制御部の構成を示すブロック図である。
【図９】図８に示したルールＤＢ記憶手段に記憶されたルールＤＢの一例を示す図である。
【図１０】図８に示したルールＤＢ記憶手段に記憶された動作ＤＢの一例を示す図である。
【図１１】図８に示した状況ＤＢ記憶手段に記憶された状況ＤＢの説明図であって、（ａ）は状況ＤＢに登録された状況内容についての現在状況の一例、（ｂ）は状況に応じて状況ＤＢに書き込む内容の候補の一例をそれぞれ示している。
【図１２】興味度を減衰させるタイミングの一例を示す説明図である。
【図１３】図７に示した反射動作制御部の動作を示すフローチャートである。
【図１４】状況ＤＢに書き込まれる減衰率の履歴の一例を示す説明図である。
【図１５】ルールＤＢの他の例を示す図である。
【符号の説明】
【０１００】
Ａ      ロボットシステム
Ｒ      ロボット（コミュニケーションロボット）
Ｒ１    頭部
Ｒ２    腕部
Ｒ３    脚部
Ｒ４    胴体部
Ｒ５    背面格納部
１      基地局
２      ロボット専用ネットワーク
３      管理用コンピュータ
３ａ    記憶部
４      ネットワーク
５      端末
１０    画像処理部
２０    音声処理部
２１ａ  音声合成部
２１ｂ  音声認識部
２１ｃ  音源定位部
３０    記憶部
３１    オブジェクトデータ記憶手段
３２    ローカル地図データ記憶手段
３３    ルールデータベース記憶手段（ルールＤＢ記憶手段）
３４    状況データベース記憶手段（状況ＤＢ記憶手段）
３５    発話情報記憶手段
４０    主制御部
４１    静止障害物統合部
４２    オブジェクトデータ統合部
４３    行動パターン部
４４    身振り統合部
４５    内部状態検出部
４６    行動計画管理部
４７    反射動作制御部
５０    自律移動制御部
６０    無線通信部
７０    バッテリ
８０    対象検知部
９０    周辺状態検知部
１１０  状況変化検出手段
１２０  ルール検出手段
１３０  動作発現パラメータ設定手段
１３１  優先度比較手段
１３２  パラメータ比較手段
１３３  ルール変更手段
１４０  パラメータ変更手段
１５０  指令手段
Ｃ      カメラ（視覚センサ）
ＭＣ    マイク（音声入力部）
Ｓ      スピーカ（音声出力部）
ＳＲ１  ジャイロセンサ
ＳＲ２  ＧＰＳ受信器
【図１】
0004560078.tif 000002
【図２】
0004560078.tif 000003
【図３】
0004560078.tif 000004
【図４】
0004560078.tif 000005
【図５】
0004560078.tif 000006
【図６】
0004560078.tif 000007
【図７】
0004560078.tif 000008
【図８】
0004560078.tif 000009
【図９】
0004560078.tif 000010
【図１０】
0004560078.tif 000011
【図１１】
0004560078.tif 000012
【図１２】
0004560078.tif 000013
【図１３】
0004560078.tif 000014
【図１４】
0004560078.tif 000015
【図１５】
0004560078.tif 000016