(57)【要約】【課題】ロボットが離れた場所にいるユーザの助けを必要とする時のユーザの手間を削減できるホームロボットを提供する。【解決手段】ユーザから離れる必要があるタスクの実行要求を検知し、該実行要求の検知により前記家電機器を用いたユーザとの対話方法を選択し、選択した対話方法に従ってユーザに対する問い合わせ及びユーザからの回答を含む、ユーザとの対話を実行する。【選択図】  図４
2007061970.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される少なくとも一つの家電機器が設置された家庭内で使用されるホームロボットにおける処理方法において、
ユーザから離れる必要があるタスクの実行要求を検知するステップと、
前記実行要求の検知により前記家電機器を用いたユーザとの対話方法を選択するステップと、
選択された対話方法に従ってユーザに対する問い合わせ及びユーザからの回答を含む、ユーザとの対話を実行するステップとを具備するホームロボットにおける処理方法。
【請求項２】
前記対話方法の選択は、ユーザに対する問い合わせを行う出力デバイス及びユーザからの回答を受け取る入力デバイスの選択を含む請求項１に記載のホームロボットにおける処理方法。
【請求項３】
ネットワークに接続される少なくとも一つの家電機器が設置された家庭内で使用されるホームロボットにおいて、
ユーザから離れる必要があるタスクの実行要求を検知する検知手段と、
前記実行要求の検知により前記家電機器を用いたユーザとの対話方法を選択する対話方法選択手段と、
選択された対話方法に従ってユーザに対する問い合わせ及びユーザからの回答を含む、ユーザとの対話を実行する対話実行手段とを具備するホームロボット。
【請求項４】
前記対話方法選択手段は、ユーザに対する問い合わせを行う出力デバイス及びユーザからの回答を受け取る入力デバイスの選択を含む対話方法の選択を行う請求項３に記載のホームロボット。
【請求項５】
前記対話方法選択手段は、ユーザに対する問い合わせを行う出力デバイス及びユーザからの回答を受け取る入力デバイスの選択を含む対話方法の選択を行うものであって、前記出力デバイス及び入力デバイスの少なくとも一方として前記家電機器を選択する請求項３に記載のホームロボット。
【請求項６】
前記対話方法選択手段は、前記出力デバイス及び入力デバイスの両方に使用可能な家電機器を優先的に選択する請求項５に記載のホームロボット。
【請求項７】
前記会話実行手段は、ユーザに対する回答方法を示す説明文を付加したメッセージとして前記問い合わせを出力する請求項３に記載のホームロボット。
【請求項８】
前記対話実行手段が前記選択された対話方法に従ってユーザからの回答を行う際に、前記家電機器に対する操作を無視する手段をさらに具備する請求項３に記載のホームロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームネットワークを通して家電機器の制御などを行うホームロボットに関する。
【背景技術】
【０００２】
近年、家庭内ロボット、いわゆるホームロボットの実用化が進み、家庭内を移動して掃除をしたり、留守番をしたりすることができるロボットが実現している。しかしながら、ロボットが自律的に行動するには家庭環境は複雑である。例えば、椅子が障害物となってロボットが通路を通ることができない時には人に椅子をどかしてもらう必要があったり、あるいは落ちている物をゴミと判断してよいのかわからない時には人に判断してもらう必要があったり、といった人に助けてもらわなければならない状況が発生する。
【０００３】
特許文献１には、ロボットが人間に助けを求める際に状況の重要度に応じて助けを求めるかどうかを変更する技術が開示されている。
【特許文献１】特開２００４−２４９３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複雑な家庭環境で作業するロボットでは完全な自律動作は困難であり、前述のような人に作業あるいは判断を求める場面の発生を無くすことは難しい。この場合、ロボットが人に助けを求めた時に、人の手間をいかに削減するかが重要である。特許文献１には、このような観点からの工夫は開示されていない。
【０００５】
ロボットが人に助けを求める方法としては、音声でメッセージを出力するのが一般的である。助けを求める内容が、椅子をどけて欲しいといったような人の作業を伴うことであれば、ユーザはロボットの所に行って作業を行う必要があり、これは避けられない作業である。一方、落ちている物がゴミかどうかといった判断を求める問い合わせをロボットが行う場合、離れた場所にいるユーザに画像を送って見せることができれば、ユーザはわざわざロボットのいる場所まで出向かなくても済むはずである。一部のホームロボットでは、留守宅の異常を検出すると外出中のユーザが所持する携帯電話に撮影した画像をメールとして通知する機能を有するものがある。
【０００６】
家庭内においても、携帯電話や専用のコントローラなどの小型端末をユーザが常に所持していれば、ロボットは当該端末を介してユーザに問い合わせを行うことができる。作業を伴わないことであれば、ロボットが人に助けを求める場合の人の手間を削減することができる。しかし、家庭内ではユーザが常に携帯電話や端末を所持していることは考えにくい。また、高齢者におけるインターネット機能を有した携帯電話の所持率は低く、小型端末による操作も困難な場合が多い。
【０００７】
一方で家庭内には多くの電化製品があり、どこに居ても何らかの家電製品とそのリモコンが近くにある。これらの身近にある家電製品を介してロボットとの間で対話を行うことができれば、端末を持ち歩かなくてもロボットからの問い合わせにどこに居てもその場で回答することができる。
【０００８】
本発明は、ロボットが離れた場所にいるユーザの助けを必要とする時のユーザの手間を削減するためのホームロボットにおける処理方法及びホームロボットを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一観点では、ネットワークに接続される少なくとも一つの家電機器が設置された家庭内で使用されるホームロボットにおいて、ユーザから離れる必要があるタスクの実行要求を検知し、該実行要求の検知により前記家電機器を用いたユーザとの対話方法を選択し、選択した対話方法に従ってユーザに対する問い合わせ及びユーザからの回答を含む、ユーザとの対話を実行する。
【００１０】
対話方法の選択は、例えばユーザに対する問い合わせを行う出力デバイス及びユーザからの回答を受け取る入力デバイスの選択を含む。出力デバイス及び入力デバイスの一方または両方として家電機器を選択してもよい。この場合、出力デバイス及び入力デバイスの両方に使用可能な家電機器を優先的に選択することが好ましい。
【００１１】
ユーザとの会話実行手段は、ユーザに対する回答方法を示す説明文を付加したメッセージとして問い合わせを出力することが好ましい。
【００１２】
さらに、対話実行時に選択された対話方法に従ってユーザからの回答を行う際には、家電機器に対する通常の操作を無視するようにする。
【発明の効果】
【００１３】
ユーザから離れる必要があるタスクの実行要求時には家電機器を介してユーザとの対話を実行することにより、ロボットが離れた場所にいるユーザの助けを必要とする時のユーザの手間を削減することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の一実施形態に係る概要を示す図であり、家庭内の間取りと家電機器の配置を表している。ロボット１１は、家庭内のユーザ１０によって使用されるホームロボットであり、車輪や手足を備えて自律移動可能に構成される。アクセスポイント（ＡＰ）１２は、家電機器１３〜１５をネットワーク接続する基地局であり、家電機器１３〜１５との間で通信を行う。家電機器１３〜１５には、通信のために無線アダプタなどと呼ばれる通信端末が備えられる。
【００１５】
アクセスポイント１２は、本実施形態では家電機器１３〜１５とロボット１１との間もネットワーク接続している。アクセスポイント１２を含む通信システムとしては、例えばIEEE 802.11a/b/g などの無線ＬＡＮや、Bluetooth（登録商標）と呼ばれる近接無線通信システムなどが使用される。ロボット１１とアクセスポイント１２との間の通信方式は、ロボット１１が移動を行うことから無線方式であることが望ましいが、アクセスポイント１１と家電機器１３〜１６との間の通信は有線ネットワークや電灯線でもかまわない。
【００１６】
家電機器１３〜１５は、この例ではテレビジョン受像機（ＴＶ１，ＴＶ２）及びエアコンを含み、ホームネットワークに対応している。すなわち、家電機器１３〜１５はいわゆる情報家電あるいはネットワーク家電と呼ばれる機器であり、ロボット１１はネットワーク経由で家電機器１３〜１５の操作や状態確認を行うことができる。本実施形態でいう家電機器は、ネットワーク接続可能な家電機器をいう。リモートコントローラ（以下、リモコンという）１６は、家電機器１３〜１５の専用リモコンか、あるいは全てに共通のリモコンである。以下、家電機器１３をＴＶ１、家電機器１４をＴＶ２、家電機器１５をエアコン１として説明する。
【００１７】
ロボット１１は、通常はユーザ１０の側（そば）に待機しており、ユーザ１０からの命令を受けて各種のタスクを実行する。例えば、ユーザ１０から「ＴＶ点けて」と音声で命令されるとロボット１１は発話内容を音声認識により理解し、ネットワーク経由でＴＶ１を操作してＴＶ１の電源を入れる。このようにロボット１１に対する命令は音声を用いて行われることが多い。
【００１８】
ユーザ１０がロボット１１に対しキッチンの様子を見てくるように命令すると、ロボット１１はリビングからキッチンへ移動し、画像認識技術などを使用してキッチン内の異常の有無を調べる。
【００１９】
ロボット１１がユーザ１０から離れてキッチンにいる時にロボット１１がユーザ１０に判断を求める場合、従来ではロボット１１は音声合成などにより「この荷物を移動させてもいいですか？」のようなメッセージを出力する。現在の音声認識技術ではユーザ１０とロボット１１との間の距離は１ｍ以内程度の近距離である必要があるので、ユーザ１０はロボット１１からの当該音声メッセージを聞いてキッチンまで移動し、音声認識が可能な距離までロボット１１に近づいてから「いいよ」というような回答を発声する。または、ロボット１１はユーザ１０のいる場所まで戻り、音声認識が可能な距離までユーザ１０に近づいて質問をし、ユーザ１０からの回答を得て再びキッチンまで戻って、命じられたタスクの実行を続ける。
【００２０】
これに対し、本実施形態ではユーザ１０とロボット１１が位置的に離れている場合には、ユーザ１０の側にあるＴＶ１やエアコン１などの家電機器を介してユーザ１０とロボット１１との間で対話を行うことにより、ユーザ１０がロボット１１の所に出向くことなく、またロボット１１がユーザ１０の側に戻ることなく、ロボット１１がユーザ１０に何らかの問い合わせ、すなわち判断を求めるような対話を行うことができる。
【００２１】
図２は、ロボット１１のシステム構成を示すブロック図である。人抽出部１０２はロボット１１の周囲にいる人（ユーザ１０）を見つけるデバイスであり、例えば動体抽出や顔認識などの公知の画像処理により実現される。
【００２２】
位置測定部１０３は、ロボット１１の位置（現在位置）を測定するデバイスである。ロボット１１は、例えば図１に示したような家庭内の地図をマップメモリ１１０に記憶しており、家庭内の適当な目印をステレオ視で計測することなどにより、ロボット１１自身の現在位置を常に把握している。また、位置測定部１０３は本実施形態では主制御部１０１がユーザ１０の位置を測定するための補助にも用いられる。
【００２３】
タスクデータベース１０４は、ロボット１１が実行すべきタスクの実行方法を記憶する装置である。音声認識部１０７は、図示しないマイクなどにより入力された周囲の音からユーザ１０の命令発話を認識する。音声合成部１０９は、ユーザ１０へメッセージを伝達するためにテキストから音声波形を生成しスピーカから出力する。エアコン１１１、ＴＶ１１２、照明１１Ｎは家庭内にあるネットワーク経由で制御可能な家電機器であり、UPnPやEchonet（登録商標）などのホームネットワーク規格に対応している。
【００２４】
家電機器制御部１０８は、家庭内にある家電機器を検出し、ネットワーク経由で家電機器を制御したり、機器の動作状態を調べたりする機能を有し、ホームネットワーク規格におけるコントローラに対応する。UPnPやEchonetでは、コントローラは対象となる機器の制御を行うことができるだけでなく、機器の動作状態の変化をイベント通知として逐次把握することができる。
【００２５】
入力制御部１０５は、音声認識部１０７や家電機器制御部１０８などの複数のデバイスの中から、対話方法選択部１００からの指示に従って一つのデバイスを入力デバイスとして選択し、選択した入力デバイスにより入力された内容を入力デバイスに応じて変換した後、主制御部１０１に通知する。出力制御部１０６は、音声合成部１０９や家電機器制御部１０８などの複数のデバイスの中から、対話方法選択部１００からの指示に従って一つのデバイスを出力デバイスとして選択する。
【００２６】
対話方法選択部１００は、主制御部１０１からの対話方法選択指示を受けると、家電機器制御部１０８から家庭内にある家電機器の情報を取得し、ロボット１１が持つ入出力デバイスである音声認識部１０７及び音声合成部１０９も含めて、利用できる入出力デバイスから使用する入出力デバイスを認識し、入力制御部１０５と出力制御部１０５に使用するデバイスの選択を指示する。
【００２７】
さらに、対話方法選択部１００は特にロボット１１がユーザ１０から離れる必要のあるタスクの実行要求を検知すると、家電機器を介したユーザ１０との対話方法の選択、具体的にはユーザ１０に対する問い合わせを行うための出力デバイス、及びユーザ１０からの回答を行うための入力デバイスの選択を行う。
【００２８】
主制御部１０１は、ユーザ１０からのタスクの実行要求などに対して、タスクデータベース１０４に記憶されているタスクの実行を行う。その際、主制御部１０１はタスクデータベース１０４に記憶されているタスクの内容や、人抽出部１０２及び位置測定部１０３の出力から求められるユーザ１０の位置に基づき、ロボット１１が要求されたタスク実行のためにユーザ１０の側を離れる必要があると判断すると、対話方法選択部１００に対し対話方法の選択を指示する。
【００２９】
次に、図３及び図４のフローチャートを用いて本実施形態における動作の流れを説明する。
【００３０】
図３は、全体の大まかな処理を示している。まず、電源ＯＮでロボット１１の初期化が行われる（ステップＳ３０１）。すなわち、ロボット１１のＯＳ（オペレーティングシステム）が起動し、次いで駆動系の制御プログラム、センサ系の制御プログラム及びヒューマンインタフェース系の制御プログラムが起動し、最後にユーザ１０にサービスを行うためのアプリケーションプログラムが起動し、次のステップＳ３０２に移行する。ステップＳ３０２では、ユーザ１０により指示されたタスク、すなわちアプリケーションプログラムを実行する。
【００３１】
ステップＳ３０２で実行されるアプリケーションプログラムは、ロボット１１の利用の仕方によって変わる。本実施形態では、ユーザ１０の側に居てユーザ１０に指示されたタスクを実行するためのプログラムを例に図４に示すフローチャートに従って実行する。
【００３２】
ステップＳ３０２の実行中に、ユーザ１０から終了を指示されるか、電源ＯＦＦの指示が割込み指示されるとステップＳ３０３へ移行し、アプリケーションプログラムの終了、制御プログラムの終了が順次行われ、最後にＯＳが終了して電源がＯＦＦになる。
【００３３】
以下、図３のステップＳ３０２の詳細を図４により説明する。  
（ステップＳ４０１）  
ロボット１１は、ユーザ１０の側で待機する。ステップＳ４０１では、ユーザ１０からの命令もしくは予め定められたスケジュールに従ったタスクの実行要求があるかどうかを主制御部１０１が判断する。例えば、ロボット１１がユーザ１０から「出迎えに行って」という命令を音声で受けると、音声認識部１０７がその命令を認識し、認識結果が入力制御部１０５を介して主制御部１０１に通知される。主制御部１０１は、この通知を受けて「出迎え」というタスクの実行が要求されたと判断し、これにより処理はステップＳ４０２へ移行する。
【００３４】
（ステップＳ４０２）  
主制御部１０１は、ステップＳ４０１によりタスクの要求があったと判断されると、要求されたタスクの内容をタスクデータベース１０４から抽出し、ロボット１１が当該タスクを実行するためにユーザ１０の側を離れる必要があるか否かを判定する。この判定の結果、ロボット１１がユーザ１０の側を離れる必要がある場合には家電機器を介した対話方法を選択するためにステップＳ４０３へ進み、離れる必要がない場合には対話方法を切り替えることなく、すなわち家電機器を介した対話方法を選択することなく、タスク実行のためにステップＳ４０５へ進む。
【００３５】
タスクデータベース１０４には、ロボット１１が実行可能な種々のタスクについての情報が例えば図５に示すように記憶されている。図５の各行はそれぞれのタスクに関する情報を表しており、「タスク」欄にタスク名が記載され、「基本動作」欄にロボット１１に実装されている基本動作プログラムのプログラムが指定され、「対象」欄に基本動作を実行する対象が指定され、「場所」欄には基本動作を実行する場所が指定されている。
【００３６】
例えば１行目の「出迎え」というタスクでは、玄関で人を対象に“greet”というプログラムを実行することが示されている。従って、ユーザ１０からの「出迎え」というタスクの実行要求を受けると、タスクデータベース１０４に記憶された情報から「玄関」に移動する必要があることがわかり、位置測定部１０３で測定されているロボット１１の現在位置を比較してユーザ１０の側を離れる必要があるかを判断する。ここでは図５のような表形式でタスク情報が記憶されている例で説明したが、プランニング技術を用いてタスク実行のプランを生成し、生成されたプランの過程で行う移動の有無から判断するようにしてもよい。
【００３７】
（ステップＳ４０３）  
前述したように、ステップＳ４０２でロボット１１がユーザ１０の側を離れる必要があると判定された場合には、ユーザ１０とロボット１１との対話方法を選択するためにステップＳ４０３へ進む。ステップＳ４０３では、家電機器を使った対話方法を選択する。対話方法選択部１００は、主制御部１０１から対話方法の選択が指示されると、まず家電機器制御部１０８に対して家庭内にある家電機器の中からロボット１１との対話に使用できそうな入出力デバイスのリストを要求する。
【００３８】
家電機器制御部１０８は、家庭内の家電機器の機器情報を調べ、ロボット１１との対話のための入出力デバイスとして利用できる機能をリストアップする。Echonetなどに代表されるホームネットワークの規格では、ＴＶやエアコンなどの家電機器の種別毎にネットワークから機器にアクセスするためのインタフェース仕様が決められている。図６は、UPｎP規格に準拠した家電機器から家電機器制御部１０８が受け取る機器情報の例である。図６によると、機器情報はＸＭＬ(extended markup language)形式で表現され、家電機器制御部１０８に対して家電機器を制御するのに必要な情報を提供する。例えば、＜Device＞は機器の名称、＜DeviceType＞は機器の種類、＜Action＞は機器の操作を行うコマンド、＜Event＞は機器の状態変化を通知するイベントを表している。家電機器制御部１０８は記憶している既規格仕様の情報と機器情報を比較することにより、家庭内にどんな機器があり、それらにどんな機能があるかをリストアップすることができる。
【００３９】
家電機器制御部１０８は、リストアップした家電機器の機能の中から入出力デバイスとして使用できそうなコマンドとイベントを例えば図７のように記憶している。図７の行が一つの手段を表しており、「機器種別」はＴＶやエアコンなどの機器の種類、「手段」はコマンドあるいはイベント、「手段名」はコマンドあるいはイベントの説明、「手段種別」はコマンドかイベントかをそれぞれ表す。「入力／出力」はそれが入力と出力のどちらの手段に使用するか、「入力方法は」その手段の使い方をそれぞれ表している。「UP/DOWN」はイベント通知の値の上下を二者択一に使用することを表し、「SELECT」はイベント通知された値で複数選択に使用することを表している。
【００４０】
家電機器制御部１０８は、家庭内にある家電機器から受信した図６のような機器情報と図７の情報に基づいて、現在の家庭内の環境で入出力方法として使用できそうな入出力デバイスのリスト（図８）を対話方法選択部１００に渡す。対話方法選択部１００は、家電機器制御部１０８から受け取った入出力デバイスのリストを基に、ロボット１１がユーザ１０の側を離れている間の対話方法をユーザ１０に提示し、ユーザ１０の了解を取る。対話方法の選択手順を以下に述べる。
【００４１】
まず、家電機器制御部１０８から受け取ったリストの中から、マップメモリ１１０に記憶されているユーザ１０の位置と家電機器の位置からユーザ１０の側にある家電機器を選別する。図１の例では、ユーザ１０の側にある家電機器として、ＴＶ１とエアコン１に対象を絞り込む。
【００４２】
次に、一つの家電機器で入力デバイスと出力デバイスの両方を持つ機器があれば、その機器を入力デバイス及び出力デバイスとして使用する機器に決定する。入力デバイスと出力デバイスの両方を持つ機器がなければ、入力デバイスに使用する機器と出力デバイスに使用する機器を別々に選択する。出力デバイスとして使用できる機器が無い場合には、ロボット１１内の音声合成部１０９を出力デバイスとする。入力デバイスとして使用できる機器が無い場合には、ロボット１１内の音声認識部１０７を入力デバイスとする。入力デバイス、出力デバイスあるいは入出力デバイスとして使用できる家電機器が複数ある場合には、機器の種類に応じて優先順位を決めるか、あるいは該当する機器が家電機器として使用中かどうかを考慮していずれかの機器を選択する。
【００４３】
以上の処理により、ここでは最終的にＴＶ１が入出力デバイスとして図９のように選択される。これが対話方法の選択である。
【００４４】
（ステップＳ４０４）  
対話方法選択部１００は、選択した対話方法に変更する旨のメッセージをユーザ１０に通知して、対話方法を確認する。ユーザ１０に通知するメッセージ文は、図９の情報から以下のような式で生成される。
【００４５】
（実行タスク）＋“を行います。私からの連絡は以後、”＋（出力の機器名）＋“に出しますので、”＋（入力の機器名）＋“の操作で答えてください。”  
この結果、「出迎えを行います。私からの連絡は以後、ＴＶ１に出しますので、ＴＶ１の操作で答えてください」というメッセージを音声合成部１０９から出力する。この後、ユーザ１０からの変更を了解した旨を表す「わかった」などの発話を音声認識部１０７で確認する。
【００４６】
（ステップＳ４０５）  
ステップＳ４０４の後、ステップＳ４０１で要求されたタスクを実行する。
【００４７】
（ステップＳ４０６）  
ステップＳ４０５のタスクの実行中に、ロボット１１がユーザ１０の判断を仰ぎたい状況が発生した場合、ステップＳ４０７に進み、そうでなければタスクの実行を継続する。
【００４８】
（ステップＳ４０７）  
ユーザ１０への問い合わせを実行する。主制御部１０１は、ユーザ１０への問い合わせを行う際に例えばDialogという命令を実行する。Dialogには、以下の３つのオプションがある。  
［オプション１］Dialog(Message, MB_OK)  
［オプション２］Dialog(Message, MB_YESNO)  
［オプション３］Dialog(MessageList, MB_SELECT)
［オプション１］は、ユーザ１０に対して通知のみを行う場合であり、第１引数のMessageに指定されたテキストの出力のみを行う。通常では音声合成部１０９から合成音で出力するが、本実施形態では図１０のようにＴＶ１の画面にテキストを表示したりする。［オプション２］は、ユーザ１０からYES/NOの回答を入力してもらう場合であり、第１引数のMessageに指定されたテキストを出力し、ユーザ１０からの回答を受け取る。通常では音声合成部１０９から合成音でMessageを出力し、音声認識部１０７からユーザ１０の「はい」または「いいえ」の返事を入力してもらう。本実施形態では例えば図１１のようにＴＶ１の画面にテキストを表示し、ＴＶ１のリモコン１６による音量操作でYES/NOを入力してもらう。［オプション３］は、第１引数に指定された複数行のテキストを出力し、何行目のテキストを選択するかユーザ１０から選択してもらう場合である。通常では音声合成部１０９から合成音で例えば「飲み物は、お茶、ジュース、コーヒーのどれにしますか？」といった問い合わせが出力され、ユーザ１０の「お茶」といった返事を音声認識部１０７から入力する。本実施形態では例えば図１２のようにＴＶ１の画面に選択肢を表示し、ＴＶ１のチャンネルボタンで入力してもらう。
【００４９】
［オプション２］の問い合わせを例に、以下の問い合わせの実行手順を説明する。例えば図１１の例に従うと、「Ret＝Dialog(“玄関の照明点けてもいいですか？”， MB_YESNO)」という問い合わせ命令に対して、主制御部１０１は出力制御部１０６に「玄関の照明点けてもいいですか？」というメッセージの出力を指示し、入力制御部１０５にYES/NOの回答を得るように指示する。出力制御部１０６は、ステップＳ４０３で決定した図９の出力方法にしたがって、ＴＶ１に対してｏｕｔｐｕｔＴｅｘｔコマンドの実行を指示すればよいことを判断し、ｏｕｔｐｕｔＴｅｘｔの引数として渡すメッセージの生成を行う。［オプション２］では、回答方法の指定がMB_YESNOの二者択一の問い合わせであることから、図９の入力方法の中からVolumeの上げ下げを使用することを決定し、回答方法を説明するメッセージを生成して図１１に示した問い合わせをＴＶ１に出力する。
【００５０】
図１１の問い合わせに従ってユーザ１０がＴＶ１のリモコンで音量操作を行うと、ＴＶ１の内部状態（Volume値）が変更され、これに伴いＴＶ１から家電機器制御部１０８に対してvolumeイベントが通知される。家電機器制御部１０８は、通知されたvolumeイベントを入力制御部１０５に転送する。入力制御部１０５は、ＴＶ１のVolume値変更をユーザ１０からの入力とするように対話方法選択部１００に指示されているので、Volume値変更の内容、すなわちvolumeイベントの内容を図９に照らし合わせ、音量上げのイベントであれば“YES”、音量下げのイベントであれば“NO”に変換して主制御部１０１に通知する。
【００５１】
このようにして、主制御部１０１は［オプション２］の問い合わせに対する戻り値としてユーザ１０からの回答を取得し、ユーザ１０からの回答に基づいてタスクの実行を継続する。以上により、互いに離れた場所にいるユーザ１０とロボット１１が家電機器、この例ではＴＶ１を介して対話を行うことができる。
【００５２】
なお、主制御部１０１はユーザ１０が回答する際に行った家電機器に対する操作を元に戻す命令を家電機器に対して行い、家電機器の状態を自動的に元に戻すようにしてもよい。ここでユーザ１０がTV１の音量を上げる操作を行ったのはロボット１１への回答として行った行為であるからユーザ１０はTV１の音量を上げたいという意図は無いので、ロボット１１が音量を下げる命令をTV１に指示することにより、ユーザ１０の回答によって発生してしまうTV１の状態変化を自動的に元に戻しておくことが望ましい。また、ステップＳ４０７以外の時に家電機器制御部１０８に通知された家電からのイベントは無視され、ユーザ１０による通常の家電操作として処理される。
【００５３】
（ステップＳ４０８）  
ステップＳ４０５で実行されるタスクが終了したか否かを判断し、終了したらステップＳ４０９へ進む。
【００５４】
（ステップＳ４０９）  
タスクが終了すると、ロボット１１はユーザ１０の側へ戻り、対話方法選択部１００は入力デバイス及び出力デバイスを標準である音声認識部１０７及び音声合成部１０８にそれぞれ戻し、ユーザ１０に対して音声での対話に戻ったことを通知する。この後、ステップＳ４０１に戻り、ロボット１１は再びユーザ１０の側で待機する。
【００５５】
以上説明したように本実施形態によれば、ユーザ１０の側を離れたロボット１１がユーザ１０に助けを求める場合、ＴＶのような家電機器を介してユーザ１０とロボット１１が対話を行うことにより、ユーザ１０がロボット１１の居る位置まで出向く手間や、逆にロボット１１がユーザ１０の所まで戻るという無駄を省くことができる。
【００５６】
ＴＶは入力デバイスと出力デバイスの両機能を有するが、エアコンは入力デバイスの機能しかない。ユーザ１０とロボット１１との対話に使用できる家電機器がエアコンのような入力デバイスの機能のみの機器である場合には、出力デバイスとして通常通りロボット１１内の音声合成部１０９を使用する。この場合、図１１に示したメッセージは音声合成部１０９から音声として出力され、ユーザ１０はエアコンの風量の上げ下げの操作によって回答を行うようにすればよい。
【００５７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係るホームロボットが適用される家庭内の家電機器配置の例を示す図
【図２】本発明の一実施形態に係るホームロボットのシステム構成を示すブロック図
【図３】同実施形態における概略的な処理手順を示すフローチャート
【図４】図３中のユーザタスク実行ステップの詳細な処理手順を示すフローチャート
【図５】図２中のタスクデータベースの内容の例を示す図
【図６】図２中の家電機器の機器情報の例を示す図
【図７】入出力デバイスに使用される家電機器の機能定義の例を示す図
【図８】図１の例で利用できる入出力デバイスのリストを示す図
【図９】選択された入出力デバイスの例を示す図
【図１０】ユーザへの問い合わせ画面の例を示す図
【図１１】ユーザへの問い合わせ画面の例を示す図
【図１２】ユーザへの問い合わせ画面の例を示す図
【符号の説明】
【００５９】
１０・・・ユーザ；
１１・・・ホームロボット；
１２・・・アクセスポイント；
１３〜１５・・・家電機器；
１６・・・リモコン；
１００・・・対話方法選択部；
１０１・・・主制御部；
１０２・・・人抽出部；
１０３・・・位置測定部；
１０４・・・タスクデータベース；
１０５・・・入力制御部；
１０６・・・出力制御部；
１０７・・・音声認識部；
１０８・・・家電機器制御部；
１０９・・・音声合成部；
１１０・・・マップメモリ；
１１１〜１１Ｎ・・・家電機器
【図１】
2007061970.tif 000003
【図２】
2007061970.tif 000004
【図３】
2007061970.tif 000005
【図４】
2007061970.tif 000006
【図５】
2007061970.tif 000007
【図６】
2007061970.tif 000008
【図７】
2007061970.tif 000009
【図８】
2007061970.tif 000010
【図９】
2007061970.tif 000011
【図１０】
2007061970.tif 000012
【図１１】
2007061970.tif 000013
【図１２】
2007061970.tif 000014