(57)【特許請求の範囲】
【請求項１】
利用者の音声を認識して外部機器の制御を行う外部機器制御装置であって、
音声を受信する受信部と、
前記受信部が受信した音声を文字列に変換する音声認識部と、
前記音声認識部が変換した文字列を含む状態情報を記憶する状態情報記憶領域と、
前記外部機器制御装置の動作と前記状態情報における条件とを関連付ける動作情報を記憶する動作情報記憶領域と、
前記状態情報記憶領域と前記動作情報記憶領域とを参照して、前記文字列を含む状態情報が外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定する動作計画部と、
前記文字列を含む状態情報が前記条件を満たしていると前記動作計画部が判定した場合、前記外部機器操作に対応する音声波形及び／又はジェスチャのパターンを生成するパターン生成部と、
前記パターンに従って前記音声波形及び／又はジェスチャの出力動作を行う出力部と、
前記外部機器とデータ通信を行うためのネットワークインタフェースと、を含み、
前記動作計画部は、
前記ネットワークインタフェースを用いて、前記外部機器に対して、前記外部機器操作に対応する動作の指示を送信し、
前記出力部による出力動作の前に、前記ネットワークインタフェースを用いて、前記外部機器に対して、前記出力動作を認識して対応する動作を実行する機能の停止を指令することを特徴とする外部機器制御装置。
【請求項２】
請求項１に記載の外部機器制御装置であって、
前記パターン生成部は、前記外部機器操作に対応する自然言語の文字列を音声波形に変換し、
前記出力部は、前記音声波形を空気振動として出力することを特徴とする外部機器制御装置。
【請求項３】
請求項２に記載の外部機器制御装置であり、
利用者の声の特徴を示す情報を含む利用者声質情報を記憶する利用者声質記憶領域をさらに備え、
前記パターン生成部は、前記利用者声質情報が示す利用者の声の特徴に近づけるように前記文字列を前記音声波形に変換することを特徴とする外部機器制御装置。
【請求項４】
請求項３に記載の外部機器制御装置であり、
前記音声認識部は、利用者の発した音声から声の特徴を抽出して前記利用者声質情報記憶領域の情報を更新することを特徴とする外部機器制御装置。
【請求項５】
請求項２に記載の外部機器制御装置であり、
前記パターン生成部が文字列を音声波形に変換する際に用いるパラメータを指定する合成プロファイルを記憶する記憶領域をさらに備え、
前記パターン生成部は、入力された文字列を、前記合成プロファイルに基づき音声波形に変換することを特徴とする外部機器制御装置。
【請求項６】
利用者の音声を認識して外部機器の制御を行う外部機器制御装置であって、
音声を受信する受信部と、
前記受信部が受信した音声を文字列に変換する音声認識部と、
前記音声認識部が変換した文字列を含む状態情報を記憶する状態情報記憶領域と、
前記外部機器制御装置の動作と前記状態情報における条件とを関連付ける動作情報を記憶する動作情報記憶領域と、
前記状態情報記憶領域と前記動作情報記憶領域とを参照して、前記文字列を含む状態情報が外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定する動作計画部と、
前記文字列を含む状態情報が前記条件を満たしていると前記動作計画部が判定した場合、前記外部機器の操作に対応するジェスチャシーケンスを生成するパターン生成部と、
複数の可動部を含み、前記ジェスチャシーケンスに応じて前記複数の可動部を動かすことによってジェスチャを行う出力部を含むことを特徴とする外部機器制御装置。
【請求項７】
利用者の音声を認識して外部機器の制御を行う外部機器制御装置であって、
音声を受信する受信部と、
前記受信部が受信した音声を文字列に変換する音声認識部と、
前記音声認識部が変換した文字列を含む状態情報を記憶する状態情報記憶領域と、
前記外部機器制御装置の動作と前記状態情報における条件とを関連付ける動作情報を記憶する動作情報記憶領域と、
前記状態情報記憶領域と前記動作情報記憶領域とを参照して、前記文字列を含む状態情報が外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定する動作計画部と、
前記文字列を含む状態情報が前記条件を満たしていると前記動作計画部が判定した場合、前記外部機器操作に対応する音声波形及び／又はジェスチャのパターンを生成するパターン生成部と、
前記パターンに従って前記音声波形及び／又はジェスチャの出力動作を行う出力部と、
移動機構と前記外部機器に対する出力動作の推奨位置を示す情報を記憶する領域を含み、
前記移動機構は、前記外部機器に対する前記出力動作推奨位置に前記外部機器制御装置を移動し、
前記出力部は、前記出力動作推奨位置において、前記出力動作を実行することを特徴とする外部機器制御装置。
【請求項８】
利用者の音声を認識して外部機器の制御を行う制御装置による外部機器の制御方法であって、
利用者の音声を受信し、
前記受信した音声を文字列に変換し、
前記変換した文字列を含む状態情報をデータ記憶装置に格納し、
前記データ記憶装置に格納されており前記制御装置の動作と前記状態情報における条件とを関連付ける動作情報と、前記文字列を含む状態情報とを比較して、前記文字列を含む状態情報が外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定し、
前記文字列を含む状態情報が前記条件を満たしている場合、前記外部機器操作に対応する音声波形及び／又はジェスチャのパターンを生成し、
前記パターンに従って前記音声波形及び／又はジェスチャの出力動作を行い、
前記外部機器と通信を行うためのネットワークインタフェースを用いて、前記外部機器に対して、前記外部機器操作に対応する動作の指示を送信し、
前記出力動作の前に、前記ネットワークインタフェースを用いて、前記外部機器に対して、前記出力動作を認識して対応する動作を実行する機能の停止を指令することを特徴とする方法。
【請求項９】
プロセッサ及びデータ記憶装置を含み利用者の音声を認識して外部機器の制御を行う外部機器制御装置、の動作を制御する処理を前記プロセッサに実行させるプログラムであって、
利用者の受信音声から変換された文字列を含む状態情報を取得し、
前記記憶装置に記憶されており、前記制御装置の動作と前記状態情報における条件とを関連付ける動作情報を参照し、
前記文字列を含む状態情報と前記動作情報とを比較して、前記文字列を含む状態情報が、外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定し、
前記文字列を含む状態情報が前記条件を満たしている場合、前記外部機器操作に対応する音声波形及び／又はジェスチャのパターンを生成し、前記パターンに従って前記音声波形及び／又はジェスチャの出力動作を行うことを決定し、
前記外部機器と通信を行うためのネットワークインタフェースを用いて、前記外部機器に対して、前記外部機器操作に対応する動作の指示を送信し、
前記出力動作の前に、前記ネットワークインタフェースを用いて、前記外部機器に対して、前記出力動作を認識して対応する動作を実行する機能を停止する指令を送信する、
ステップを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器制御装置、その外部機器制御方法及びプログラムに関し、特に、利用者の音声を認識しその認識した音声に従って外部機器を操作する技術に関する。
【背景技術】
【０００２】
近年、人間の生活を支援するロボットが数多く開発されてきている。ロボットの一種であるヒューマノイドロボットは人間と同じ形をしたロボットであり、人間にかかる心理的負担が少ないことや、人間向けに設計された生活空間に容易に順応できることなどが利点とされる。このようなロボットは音声認識機能やジェスチャ機能などにより、人間とのコミュニケーションを自然な形で行えるように工夫されているものが多い。
【０００３】
一方で、音声認識機能を備えた電子機器も普及しつつある。カーナビゲーションシステムでは、リモコンやタッチパネルなどの手段に比べてハンズフリー入力が可能という圧倒的なメリットが音声認識にあるため、音声認識機能が比較的早期から普及している。携帯電話やスマートフォンなどの携帯端末ではキーボードなどの入力装置が小型になるため使いづらく、音声入力はそれに比べれば簡便であることから徐々に普及しつつある。
【０００４】
エアコンやテレビなどの電化製品においては、機能の多様化が進む一方で操作が複雑化し利用者がその機能を十分に使いこなせないという問題がある。音声認識や音声理解などの技術での解決が望まれているが、認識精度などの技術面やコスト面の問題があり普及が進んでいないのが現状である。
【０００５】
また、現在利用されている電子機器を別の観点からみると、さらなる利便性の追求、消費者の購買意欲の刺激、ユニバーサルデザインなどの理由により、多種多様な機能が盛り込まれる傾向にある。例えば、ネットワークを介した外出先からの機器の遠隔操作や、利用者やその環境の情報をセンサで取得して分析することで、テレビ番組の推薦やエアコンの省エネ運転などを行う技術が開発されている。
【０００６】
現在、このような機能の大部分は電子機器ごとに個別に実現されているが、将来的には全ての電子機器がネットワークに接続され、たがいに情報を交換してより高度な機能を実現することが可能になると考えられる。その一つの実現形態として、センタサーバが各電子機器の情報を集約して分析し、各機器の制御を適切に行うという中央集権型の構成が考えられる。
【０００７】
これらの背景を踏まえると、ロボットがセンタサーバの役割を果たして各電子機器の情報収集を行い、利用者と対話を行うことで利用者の潜在的な要求を明確化し、それらの結果を総合的に用いて電子機器の制御を行うというシステムが有用と考えられる。例えば特許文献１では、ロボットが利用者と対話を行い、ネットワークに接続された他の電子機器を制御する発明が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３３３４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上に述べたロボットと電子機器の連携方法については、他にも様々な方法が考えられる。しかし、電子機器自身にも音声認識機能が搭載され、さらにロボットが家庭に普及したとき、既知の方法はいずれも音声認識機能が十分に活用されているとはいえない。例えば特許文献１のようにロボットが他の電子機器の制御を司るシステムを構成した場合、様々な課題が浮上する。
【００１０】
１つの課題は、利用者の要求がある電子機器を操作したいという明確なものである場合にある。利用者がロボットを介して電子機器を操作しようとすると、ロボットが遠くにいる場合は自分の近くに呼ぶ必要があったり、ロボットがこちらが退屈していると判断して雑談を持ちかけ電子機器の操作が妨げられるなど、不都合な状況が起こりうる。
【００１１】
このような場合は、ロボットを無視して直接電子機器を操作しようと考えるだろう。しかし、電子機器への音声入力は一般にロボットよりも貧弱な言語理解しかなされず、特定の言葉以外は受け付けられないことが多い。従って、普段ロボットを介して電子機器を操作している利用者が適切な音声入力の言葉を発して操作に成功する確率は低い。このような状況は、ロボットが有効に活用されているとはいいがたい。
【００１２】
他の課題は、ロボットが電子機器をネットワーク経由でコントロールすることに利用者が違和感を覚える可能性があることである。ロボットの機能や見た目が人間に近付くことで、利用者がロボットを人間と同等の存在として捉えやすくなるが、いざそう捉えたとき、電子機器の操作においても人間と同じ方法で行うほうが利用者にはごく自然にうつる。
【課題を解決するための手段】
【００１３】
本発明の一態様は、利用者の音声を認識して外部機器の制御を行う外部機器制御装置であって、音声を受信する受信部と、前記受信装置が受信した音声を文字列に変換する音声認識部と、前記音声認識部が変換した文字列を含む状態情報を記憶する状態情報記憶領域と、前記外部機器制御装置の動作と前記状態情報における条件とを関連付ける動作情報を記憶する動作情報記憶領域と、前記状態情報記憶領域と前記動作情報記憶領域とを参照して、前記文字列を含む状態情報が外部機器の音声及び／又はジェスチャによる操作と関連付けられている条件を満たすか否かを判定する動作計画部と、前記文字列を含む状態情報が前記条件を満たしていると前記動作計画部が判定した場合、前記外部機器操作に対応する音声波形及び／又はジェスチャのパターンを生成するパターン生成部と、前記パターンに従って前記音声波形及び／又はジェスチャの出力動作を行う出力部を含むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、利用者が外部機器の音声及び／又はジェスチャによる適切な操作方法を学習することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第一の実施形態に係るサービスロボットの構成を模式的に示すブロック図である。
【図２】本発明の第一の実施形態に係るサービスロボットの外部装置管理プログラムの動作を示すフローチャートである。
【図３】本発明の第一の実施形態に係るサービスロボットの機器データベースの例を示す図である。
【図４】本発明の第一の実施形態に係るサービスロボットの語彙データベースの例を示す図である。
【図５Ａ】本発明の第一の実施形態に係るサービスロボットの動作計画プログラムの動作を示すフローチャートである。
【図５Ｂ】本発明の第一の実施形態に係るサービスロボットの動作計画プログラムの動作を示すフローチャートである。
【図６】本発明の第一の実施形態に係るサービスロボットの音声認識プログラムの動作を示すフローチャートである。
【図７】本発明の第一の実施形態に係るサービスロボットの利用者音声合成プログラムの動作を示す図である。
【図８】本発明の第一の実施形態に係るサービスロボットのシステム音声合成プログラムの動作を示すフローチャートである。
【図９】本発明の第一の実施形態に係るサービスロボットの内部状態データベースの例を示す図である。
【図１０】本発明の第一の実施形態に係るサービスロボットの動作データベースの例を示す図である。
【図１１】本発明の第一の実施形態に係るサービスロボットの動作キューの例を示す図である。
【図１２】本発明の第一の実施形態に係るサービスロボットの内部状態データベースの例を示す図である。
【図１３】本発明の第一の実施形態に係るサービスロボットの内部状態データベースの例を示す図である。
【図１４】本発明の第一の実施形態に係るサービスロボットの動作キューの例を示す図である。
【図１５】本発明の第一の実施形態に係るサービスロボットの動作キューの例を示す図である。
【図１６】本発明の第二の実施形態に係るサービスロボットの構成を模式的に示すブロック図である。
【図１７】本発明の第二の実施形態に係るサービスロボットのジェスチャデータベースの例を示す図である。
【図１８Ａ】本発明の第二の実施形態に係るサービスロボットの動作計画プログラムの動作を示すフローチャートである。
【図１８Ｂ】本発明の第二の実施形態に係るサービスロボットの動作計画プログラムの動作を示すフローチャートである。
【図１９】本発明の第二の実施形態に係るサービスロボットの動作キューの例を示す図である。
【発明を実施するための形態】
【００１６】
以下において、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００１７】
本実施形態の本実施形態のサービスロボットは、外部の電子機器の制御機能に特徴を有している。電子機器としては、エアコン、テレビ、電子レンジ、ステレオセット、照明装置、ドアや窓などの開閉部材の駆動制御装置などがある。
【００１８】
サービスロボットは音声認識機能を有し、利用者の発した言葉を認識する。サービスロボットは、利用者から音声によって外部機器の操作を指示されると、その外部機器を操作する。好ましい構成において、サービスロボットは利用者と対話し、利用者とコミュニケーションをとりながら外部機器を操作する。
【００１９】
その外部機器の操作において、サービスロボットは、人間の音声及び／又はジェスチャによるその外部機器の操作を模倣した動作を行う。サービスロボットは、操作対象の外部機器の機能に応じて、音声、ジェスチャ又はそれらを組み合わせた動作を行う。これにより、利用者が外部機器の音声及び／又はジェスチャによる適切な操作方法を学習することができる。また、利用者がサービスロボットに非人間的な面を見出す可能性を小さくすることができる。
【００２０】
＜第一の実施形態＞
最初に、本発明の第一の実施形態を説明する。本実施形態においては、サービスロボットは、外部機器操作のための音声を出力する。図１は、本実施形態のサービスロボットの構成を模式的に示すブロック図である。サービスロボットは、本実施形態の特徴である外部器制御機能を備えており、外部機器制御装置である。本実施形態は、特に、サービスロボットにおける外部機器制御機能について説明を行う。
【００２１】
サービスロボット１０は、ＣＰＵ（中央演算装置）２０、記憶装置３０、バス４０を備え、さらに入出力デバイスとしてＮＩＦ（ネットワークインタフェース）５０、スピーカ６０、マイク７０、温度センサ８０、タイマ８１、移動機構制御装置９０及び移動機構９１を備える。
【００２２】
ＣＰＵ２０は、記憶装置３０が備える後述の各プログラムを実行する演算装置である。記憶装置３０は、ＤＲＡＭやＳＲＡＭなどの揮発性媒体を有するデータ記憶装置、ハードディスクドライブなどの不揮発性媒体を有する記憶装置又はその組み合わせである記憶装置である。
【００２３】
記憶装置３０は、外部機器制御のためのデータとして、機器データベース（ＤＢ）３１１、動作ＤＢ３１２、語彙ＤＢ３１３、内部状態ＤＢ３１４、動作キュー３１５、システム声質ＤＢ３１６及び利用者声質ＤＢ３１７を格納している。これらのＤＢは、それぞれ、記憶装置３０における対応する記憶領域に格納されている。
【００２４】
本実施形態において、記憶装置３０に格納される情報は、データ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベースあるいはキューから適切に選択したデータ構造体が、情報を格納することができる。上記ＤＢのいくつかにより一つのＤＢを構成してもよく、一つのＤＢを複数のファイルで構成してもよい。
【００２５】
記憶装置３０は、さらに、プログラムとして、外部装置管理プログラム３２１、動作計画プログラム３２２、音声認識プログラム３２３、システム音声合成プログラム３２４及び利用者音声合成プログラム３２５を格納している。プログラムはＣＰＵ２０によって実行されることで、定められた処理を行う。
【００２６】
従って、以下においてプログラムを主語とする説明は、ＣＰＵ２０を主語とした説明でもよい。上記プログラムに従って動作するＣＰＵ２０は、動作計画部、音声認識部、出力パターン生成部として機能する。プログラムが実行する処理は、そのプログラムが動作するサービスロボット１０が行う処理でもある。プログラムの一部又は全部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、計算機読み取り可能媒体によってサービスロボット１０にインストールすることができ、記憶装置３０に格納することができる。
【００２７】
バス４０には、ＣＰＵ２０、記憶装置３０、ＮＩＦ５０、スピーカ６０、マイク７０、温度センサ８０、タイマ８１及び移動機構制御装置９０が接続されており、各装置が相互にデータを通信するために利用される。
【００２８】
ＮＩＦ５０は、サービスロボット１０と外部機器との間においてデータを送受信するために用いられる装置である。具体的な通信内容については後述する。スピーカ６０は、バス４０を介して受信した音声データを空気振動に変換して出力する。マイク７０は、空気振動を検出して音声データに変換し、バス４０に出力する。温度センサ８０は、温度を検出してバス４０に出力する。タイマ８１は、現在時刻をバス４０に出力する。
【００２９】
移動機構制御装置９０は、バス４０を介して他のプログラムから受けた指令に従い、移動機構９１の駆動制御を実行する。移動機構９１は本実施形態では車輪を想定するが、脚、モータ、ステアリングなど、移動機構９１はサービスロボット１０を移動するためのどのような手段でもよい。
【００３０】
次に、外部装置管理プログラム３２１の動作を、図２を参照して説明する。外部装置管理プログラム３２１は、機器ＤＢ３１１及び語彙ＤＢ３１３により、外部機器の管理を行う。外部装置管理プログラム３２１は、機器ＤＢ３１１及び語彙ＤＢ３１３のエントリの追加、変更及び削除を行う。機器ＤＢ３１１及び語彙ＤＢ３１３の一例は、それぞれ、図３及び図４に示されている。これらについては後述する。
【００３１】
図２のフローチャートに示すように、外部装置管理プログラム３２１は、サービスロボット１０の起動後に起動される（Ｓ１０１）。ＮＩＦ５０を介して外部機器から参加イベントパケットを受信した場合（Ｓ１０２におけるＹ）、外部装置管理プログラム３２１は、参加イベントパケットの内容に従い、機器ＤＢ３１１にエントリを追加する（Ｓ１０３）。
【００３２】
ＮＩＦ５０から離脱イベントパケットを受信した場合（Ｓ１０４におけるＹ）、外部装置管理プログラム３２１は、離脱イベントパケットが指定する機器ＩＤに該当するエントリを機器ＤＢ３１１から削除する（Ｓ１０５）。また、ＮＩＦ５０から語彙データパケットを受信した場合（Ｓ１０６におけるＹ）、語彙データパケットの内容に従い語彙ＤＢ３１３の内容を更新する（Ｓ１０７）。外部装置管理プログラム３２１は、サービスロボット１０の稼働中、このように常にＮＩＦ５０の受信パケットを監視し、機器ＤＢ３１１及び語彙ＤＢ３１３を更新しつづける。
【００３３】
図３は、機器ＤＢ３１１の好ましい一例を示している。本例は、外部装置管理プログラム３２１が３つの外部機器からそれぞれ参加イベントパケットを受信した場合の機器ＤＢ３１１の内容を示している。参加イベントパケットには、図３の機器ＤＢ３１１の列に対応した内容、すなわち、「機器ＩＤ」、「機器の種別」、「音声機能の対応／非対応」、「合成プロファイル」、「位置」、「音声認識推奨位置」が記述されている。
【００３４】
「機器ＩＤ」は、外部機器固有の識別子である。「機器の種別」は、外部機器の種別を表す識別子である。「音声機能の対応／非対応」は、外部機器が音声認識により操作可能かどうかを表す情報である。「合成プロファイル」は、外部機器に対しサービスロボット１０がシステム音声合成プログラム３２４により音声を出力するのに用いる情報である。詳細は後述する。
【００３５】
「位置」は、外部機器が存在する物理空間内での座標であり、外部機器自身の位置判別機能が取得した情報あるいは利用者が設定した情報に基づいて決まる。「音声認識推奨位置」は、外部機器を音声で操作する際に推奨される利用者の位置であり、外部機器からの相対位置で決定する。
【００３６】
図４は、語彙ＤＢ３１３の好ましい一例を示している。語彙ＤＢ３１３は、外部機器の操作内容とその操作のための語彙とを関連付けて記憶している。操作内容は、語彙に応答して外部機器が行う動作である。図４の例においては、３つの操作内容（外部機器の動作）と、操作内容のそれぞれに対応する語彙とが、語彙ＤＢ３１３に登録されている。
【００３７】
サービスロボット１０は、参加イベントパケットによって外部機器の属性情報（機器ＤＢ３１１及び語彙ＤＢ３１３に格納する情報）を取得するのではなく、記憶装置３０に、別途機器ＩＤと関連付けて予め記憶されている外部機器情報を用いてもよい。この構成においては、参加イベントパケットには、外部機器情報が記述されていなくともよい。サービスロボット１０は、外部ネットワークを介して外部機器の情報を取得する又はユーザがその情報をサービスロボット１０に登録してもよい。
【００３８】
次に、動作計画プログラム３２２の動作を、図５Ａ及図５Ｂを参照して説明する。動作計画プログラム３２２は、サービスロボット１０の動作を制御する。動作計画プログラム３２２は、サービスロボット１０の今後の動作を決定し（計画し）、他のプログラム及び装置に対して決定した動作を指示する。
【００３９】
動作計画プログラム３２２は、内部状態ＤＢ３１４に登録されている状態情報が規定の条件を満足している場合、外部機器を操作することを決定する。内部状態ＤＢ３１４は、状態情報として、利用者音声の認識結果（音声からの変換文字列）の他、温度センサ８０の検出温度、タイマ８１の計測時間及び利用者の設定情報などを格納することができる。内部状態ＤＢ３１４が格納する情報は、サービスロボット１０の設計及び動作に依存する。
【００４０】
動作ＤＢ３１２は、内部状態ＤＢ３１４の状態情報における規定条件と外部機器操作とを関連付けた情報を格納している。上述のように、本実施形態の状態情報は、利用者の音声の認識結果を含む。動作ＤＢ３１２は、内部状態ＤＢ３１４に利用者の音声による外部機器操作の指示が含まれている場合に、外部機器を操作する。
【００４１】
図５Ａ及び図５Ｂは、本実施形態における動作計画プログラム３２２の動作を示すフローチャートである。図５Ｂは、図５Ａにおけるステップ２０７の詳細を示す。動作計画プログラム３２２は、これらに示す動作を繰り返し実行する。図５Ａに示すように、動作計画プログラム３２２はサービスロボット１０の起動後に起動される（Ｓ２０１）。
【００４２】
動作計画プログラム３２２は、まず、サービスロボット１０の各センサ（温度センサ８０、タイマ８１）から情報を取得し、内部状態ＤＢ３１４を更新する（Ｓ２０２）。次に、動作計画プログラム３２２は、動作ＤＢ３１２及び内部状態ＤＢ３１４を参照し、動作ＤＢ３１２の各項目の条件と内部状態ＤＢ３１４の内容を照合し、条件を満たしているかを調べる（Ｓ２０３）。条件を満たす項目があれば（Ｓ２０３におけるＹ）、動作計画プログラム３２２は、動作ＤＢ３１２においてその項目の動作の欄に記述された動作を動作キュー３１５に追加する（Ｓ２０４）。
【００４３】
次に、動作計画プログラム３２２は、動作キュー３１５に動作が一つ以上登録されているかを調べる（Ｓ２０５）。登録されているものがない場合（Ｓ２０５におけるＮ）、動作計画プログラム３２２は、ステップ２０２に戻る。登録されているものがある場合（Ｓ２０５におけるＹ）、動作計画プログラム３２２は、動作キュー３１５の先頭の動作を表すデータを取り出し、その動作の種類を特定する（Ｓ２０６）。動作計画プログラム３２２は、以降のステップにおいて、その特定した種類に応じた処理を実行する。
【００４４】
ステップ２０６で特定した種類が「外部機器操作」以外の場合（Ｓ２０６における他の種類）、動作計画プログラム３２２は、ステップ２０７を実行する。動作計画プログラム３２２は、特定した動作の種類に対応する処理を複数の処理から選択して実行する。図５Ｂは、ステップ２０７において選択的に実行される複数の処理を示している。
【００４５】
図５Ｂに示すように、動作の種類が「移動」の場合、動作計画プログラム３２２は、移動機構制御装置９０に指令を出す（Ｓ２０７ａ）。動作の種類が「システム音声出力」の場合、動作計画プログラム３２２は、システム音声合成プログラム３２４に指令を出す（Ｓ２０７ｂ）。動作の種類が「状態変更」の場合、動作計画プログラム３２２は、内部状態ＤＢ３１４を更新する（Ｓ２０７ｃ）。
【００４６】
動作計画プログラム３２２は、種類が「ネットワーク送信」の場合、ＮＩＦ５０に送信指令を出す（Ｓ２０７ｄ）。動作の種類が「利用者音声出力」の場合、動作計画プログラム３２２は、利用者音声合成プログラム３２５に指令を出す（Ｓ２０７ｅ）。動作の種類が「操作完了」の場合、動作計画プログラム３２２は、対象の外部機器に音声認識ＯＮを指令するネットワーク送信動作を追加する（Ｓ２０７ｆ）。「操作完了」は、外部機器の操作の完了を意味する。ステップ２０７ａ〜ステップ２０７ｆについては後述する。
【００４７】
次に、ステップ２０６において動作の種類が「外部機器操作」の場合について説明する。動作キュー３１５に「外部機器操作」が登録される条件として、内部状態ＤＢ３１４に、外部機器操作の指示に相当する利用者音声の認識結果が格納されている。本構成例においては、音声認識プログラム３２３が、音声認識結果の文字列を内部状態ＤＢ３１４に格納する。この点は後述する。外部機器操作に対応付けられている内部状態ＤＢ３１４の項目は、利用者の認識音声のみであることもあれば、他の項目を含むこともある。
【００４８】
動作計画プログラム３２２は、まず機器ＤＢ３１１を参照して、操作対象となる外部機器を選択する（Ｓ２０８）。さらに、動作計画プログラム３２２は、その外部機器の音声認識推奨位置を機器ＤＢ３１１から取得し、上記推奨位置へサービスロボット１０を移動させるための「移動」動作を、動作キュー３１５に追加する（Ｓ２０９）。
【００４９】
次に、動作計画プログラム３２２は、対象の外部機器に対して「音声認識ＯＦＦ」を指令する「ネットワーク送信」動作を、動作キュー３１５に追加する（Ｓ２１０）。次に、対象の外部機器の語彙ＤＢ３１３を参照して、操作内容に対応する語彙を選択する。さらに、その語彙を音声出力するための「利用者音声出力」動作を、動作キュー３１５に追加する（Ｓ２１１）。最後に外部機器に対して操作内容の実行を指令するパケットを送信させるための「ネットワーク送信」動作を、動作キュー３１５に追加する（Ｓ２１２）。
【００５０】
動作計画プログラム３２２は、ステップ２０２〜ステップ２０６を実行して後、動作キュー３１５に追加された動作に応じた処理を行う（Ｓ２０７）。上述のように、動作キュー３１５に登録された動作は、推奨位置への「移動」（Ｓ２０９）、「音声認識ＯＦＦ」を指令する「ネットワーク送信」（Ｓ２１０）、登録語彙の「利用者音声出力」（Ｓ２１１）及び操作実行指令パケットの「ネットワーク送信」（Ｓ２１２）である。
【００５１】
動作計画プログラム３２２は、上記動作を上記の順で実行する。具体的には、まず、動作計画プログラム３２２は、機構制御装置９０に推奨位置への移動を指令する（Ｓ２０７ａ）。機構制御装置９０は、指令に従って移動機構９１を制御し、サービスロボット１０を推奨位置に移動する。
【００５２】
次に、動作計画プログラム３２２は、ＮＩＦ５０に対象の外部機器に対して「音声認識ＯＦＦ」の指示を送信することを指令する（Ｓ２０７ｄ）。ＮＩＦ５０は、その指令に応じて、「音声認識ＯＦＦ」の指示を対象の外部機器に送信する。指示を受けた外部機器は、その音声認識機能をＯＦＦする。
【００５３】
次に、動作計画プログラム３２２は、外部機器操作に対応する語彙を出力することを、利用者音声合成プログラム３２５に指令する（Ｓ２０７ｅ）。利用者音声合成プログラム３２５は、動作計画プログラム３２２からの指令に応じて、上記語彙を表す音声波形を生成し、スピーカ６０を介して出力する。
【００５４】
次に、動作計画プログラム３２２は、ＮＩＦ５０に対象の外部機器に対して操作実行の指示パケットを送信することを指令する（Ｓ２０７ｄ）。ＮＩＦ５０は、その指示に応じて、対象の外部機器に上記パケットを送信する。指示を受けた外部機器は、パケットが示す指示に従った動作を行う。
【００５５】
利用者音声合成プログラム３２５は、音声出力の後、「音声操作完了」の動作を動作キュー３１５に追加する（図７のＳ４０５）。動作計画プログラム３２２は、「音声認識ＯＮ」の指示を対象の外部機器に対して送信する動作を動作キュー３１５に追加する（Ｓ２０７ｆ）。
【００５６】
その後、利用者音声合成プログラム３２５は、動作キュー３１５に登録されている指示に従って、ＮＩＦ５０に「音声認識ＯＮ」の指示を対象の外部機器に対して送信することを指令する（Ｓ２０７ｄ）。ＮＩＦ５０は、その指示に応じて、「音声認識ＯＮ」の指示を対象の外部機器に送信する。指示を受けた外部機器は、その音声認識機能をＯＮする。これにより、この一連の動作の後は利用者自身が再度音声認識で外部機器を制御できる準備が整う。
【００５７】
このように、サービスロボット１０は、利用者の音声を認識し、音声による外部機器操作の指示に従って、外部機器を操作する。本実施形態において、音声認識プログラム３２３が、利用者の音声認識を行う。音声認識プログラム３２３の動作を、図６を参照して説明する。
【００５８】
音声認識プログラム３２３はサービスロボット１０の起動後に起動される（Ｓ３０１）。音声認識プログラム３２３は、まず、マイク７０から音声データを取得する（Ｓ３０２）。音声データから利用者の声を検出するまで、音声データを順次取得する（Ｓ３０３）。利用者の声が検出されたかどうかを判断する技術は広く知られている。例えば、音声認識プログラム３２３は、「“音声認識の基礎”Lawrence Rabiner, Biing-Hwang Juang著、古井貞煕監訳、ＮＴＴアドバンステクノロジ株式会社発行」に示されているような一般的な音声検出方法を用いる。
【００５９】
次に、音声認識プログラム３２３は、取得した音声データから利用者の声の特徴を抽出し、利用者声質ＤＢ３１７に登録する（Ｓ３０４）。声の特徴とは、音素ごとの波形そのものや、基本周波数、継続長などであり、これらのパラメータを音声合成プログラム３２４で利用することで利用者の声に近い合成音声を作成しうるものである。声の特徴を抽出する技術は広く知られたものであり、例えば、HMM-based Speech Synthesis System (HTS)のような、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）音声合成法による話者適応を用いて実現できる。
【００６０】
次に、音声認識プログラム３２３は、利用者の音声認識処理を行い、音声が認識された場合（Ｓ３０５におけるＹ）、音声認識結果の文字列を内部状態ＤＢ３１４に登録する。音声が認識されない場合（Ｓ３０５におけるＮ）、音声認識プログラム３２３は最初のステップ３０２に戻る。
【００６１】
図５を参照して説明したように、好ましい構成において、サービスロボット１０は、利用者の声で外部機器に操作指示の音声を出力する。本構成例において、利用者音声合成プログラム３２５が、利用者の声による出力音声（の波形）を合成する。以下において、図７のフローチャートを参照して、利用者音声合成プログラム３２５の動作を説明する。
【００６２】
利用者音声合成プログラム３２５は、利用者音声合成プログラム３２５はサービスロボット１０の起動後に起動される（Ｓ４０１）。利用者音声合成プログラム３２５は、まず、音声出力の指令を受信するまで待機する（Ｓ４０２）。指令を受信したら、合成音声の波形を計算する（Ｓ４０３）。文字列から音声を合成する様々な技術が知られており、利用者音声合成プログラム３２５は、例えば、「"An Introduction to Text-to-Speech Synthesis", by Thierry Dutoit, KLUWER ACADEMIC PUBLISHERS」に示されているような一般的な音声合成方法を用いることができる。
【００６３】
このとき、利用者音声合成プログラム３２５は、機器ＤＢ３１１に記述された合成プロファイル及び利用者声質ＤＢ３１７に基づき、音声合成に用いるパラメータを変更する。例えば、図３に示した機器ＤＢでは、合成プロファイルとして「声質」及び「推奨発話速度」が登録されている。「声質」は声道特性など合成音声の声質を指定するパラメータである。「推奨発話速度」は合成音声の発話速度を示したものである。
【００６４】
例えば、「ＨＴＣ＿ＡＣ＿１０Ａ」に対する合成音声を作成する場合、「声質」が指定されているので、利用者音声合成プログラム３２５は、指定されたパラメータを用いる。また「発話速度」がｓｌｏｗなので、利用者音声合成プログラム３２５は、通常よりも発話速度が遅い（例えば通常４モーラ毎秒に対して３モーラ毎秒）合成音声を作成する。また、「音量」が「＋３ｄＢ」なので、利用者音声合成プログラム３２５は、通常よりも音量が３ｄＢ大きい合成音声を作成する。
【００６５】
次に、利用者音声合成プログラム３２５は、作成した合成音声の波形をスピーカ６０に出力する（Ｓ４０４）。スピーカ６０への出力が完了したら、「音声操作完了」の種類の動作を動作キュー３１５に追加する（Ｓ４０５）。
【００６６】
好ましい構成において、サービスロボット１０は、利用者との対話においては、利用者の声とは異なるシステム音声を使用する。本構成において、システム音声は、システム音声合成プログラム３２４によって生成される。図８は、システム音声合成プログラム３２４の動作を示すフローチャートである。
【００６７】
システム音声合成プログラム３２４は、サービスロボット１０の起動後に起動される（Ｓ５０１）。まず、音声出力の指令を受信するまで待機する（Ｓ５０２）。指令を受信したら（Ｓ５０２におけるＹ）、システムの声の特徴が示されたシステム声質ＤＢ３１６に基づき合成音声の波形を計算する（Ｓ５０３）。
【００６８】
文字列から音声を合成する方法としては、システム音声合成プログラム３２４は、"An Introduction to Text-to-Speech Synthesis", by Thierry Dutoit, KLUWER ACADEMIC PUBLISHERSに示されているような一般的な音声合成方法を用いることができる。システム音声合成プログラム３２４は、作成した合成音声の波形をスピーカ６０に出力する（Ｓ５０４）。
【００６９】
以下において、サービスロボット１０による外部機器操作の具体例を説明する。本例において、サービスロボット１０は、利用者の音声による指示に従って、エアコンの冷房機能を操作する。図９は、動作計画プログラム３２２により更新（図５ＡにおけるＳ２０２）された内部状態ＤＢ３１４を示している。
【００７０】
この内部状態ＤＢ３１４において、温度センサ８０の情報（検出温度）が状態名「温度センサ」のフィールドに、タイマ８１の情報（時刻）が、状態名「現在時刻」の項目に反映されている。そのほかに、「ユーザ上限温度」が２８℃と別途設定されており、これは、利用者自身が設定することができる任意の項目の１つである。
【００７１】
動作計画プログラム３２２は、図１０に示す動作ＤＢ３１２と図９に示す内部状態ＤＢ３１４とを比較する（Ｓ２０３）。図１０の動作ＤＢ３１２に登録されている条件において、「温度センサ感知温度＞ユーザ上限温度」の条件が満足している。従って、動作計画プログラム３２２は、対応する動作を動作キュー３１５に追加する（Ｓ２０４）。
【００７２】
図１１は、条件「温度センサ感知温度＞ユーザ上限温度」に対応する動作が登録された動作キュー３１５を示している。先頭の動作の種類は「システム音声出力」である。従って、動作計画プログラム３２２は、システム音声合成プログラム３２４に「クーラつけますか？」という音声を出力するよう指令する（図５ＢにおけるＳ２０７ｂ）。
【００７３】
図１１の動作キュー３１５の２番目、３番目の動作の種類は「状態変更」なので、動作計画プログラム３２２は、内部状態ＤＢ３１４を更新する（Ｓ２０７ｃ）。図１２は、更新され内部状態ＤＢ３１４を示している。「クーラ質問」の状態値は「１」であり、「待機時間」の状態値は、「現在時刻」の状態値に１０を可算した値である。
【００７４】
次に、利用者が「おねがいします」と発話したとする。音声認識プログラム３２３が利用者の音声認識処理を行い（図６を参照）、利用者の「おねがいします」という言葉を認識する。音声認識プログラム３２３は、その認識結果に応じて内部状態ＤＢ３１４を更新する（図６におけるＳ３０６）。図１３は、この更新された内部状態ＤＢ３１４を示している。「音声入力」の状態値は、「おねがいします」である。
【００７５】
動作計画プログラム３２２は、図１３の内部状態ＤＢ３１４と図１０の動作ＤＢ３１２とを比較する。動作ＤＢ３１２の３番目の項目の条件が満たされている。従って、動作計画プログラム３２２は、対応する動作を動作キュー３１５に追加する（Ｓ２０４）。図１４は、この動作キュー３１５を示している。１番目の動作種類は「システム音声出力」であり、その動作内容は「了解しました」である。２番目の動作種類は外部機器操作であり、その動作内容は「エアコンＯＮ、設定温度２６℃」である。
【００７６】
動作計画プログラム３２２は、図１４に示す動作キュー３１５に登録されている指示に従って、まず、システム音声合成プログラム３２４にシステム音声の出力を指令する（Ｓ２０７ｂ）。音声合成プログラ３２４の処理により、「了解しました」という音声がスピーカ６０から出力される。具体的には、システム音声合成プログラム３２４は、指示に応じて、「了解しました」という合成音声をシステム声質ＤＢ３１６に基づき計算し（図８におけるＳ４０３）、合成した音声波形をスピーカに出力する（Ｓ４０４）。
【００７７】
次に、動作計画プログラム３２２は、「外部機器操作」の処理を実行する（Ｓ２０８〜Ｓ２１２）。具体的には、動作計画プログラム３２２は、エアコン操作のための一連の動作を動作キュー３１５に追加する（Ｓ２０９〜Ｓ２１２）。図１５は、新たな動作が追加され動作キュー３１５を示している。
【００７８】
動作計画プログラム３２２は、図１５の動作キュー３１５に登録されている、「移動」、「ネットワーク出力」、「音声出力」及び「ネットワーク出力」の動作を、逐次処理する。具体的には、音声認識推奨位置（１０、１２、１０）への移動を機構制御装置９０に指示し、「ＨＴＣ＿ＡＣ＿１０Ａ」への「音声認識ＯＦＦ」の指示を送信するようにＮＩＦ５０に指示し、「エアコンを２６℃に設定してください」という利用者音声出力を利用者音声合成プログラム３２５に指示し、そして、「ＨＴＣ＿ＡＣ＿１０Ａ」への「エアコンＯＮ、設定温度２６℃」の指示を送信するようにＮＩＦ５０に指令する。
【００７９】
その結果、サービスロボット１０はエアコン「ＨＴＣ＿ＡＣ＿１０Ａ」の前に移動し、エアコン「ＨＴＣ＿ＡＣ＿１０Ａ」の音声認識機能はＯＦＦになる。その後、サービスロボット１０は、利用者音声合成プログラム３２５により利用者の声に近い声の「エアコンを２６℃に設定してください」という音声をスピーカ６０から発し、ネットワークを介して、エアコン「ＨＴＣ＿ＡＣ＿１０Ａ」に「エアコンＯＮ、設定温度２６℃」にするよう指令を与える。
【００８０】
サービスロボット１０のこの一連の動きを見た利用者は、自分がエアコンをつけるとき、サービスロボット１０がやってみせたように、その位置で「エアコンを２６℃に設定してください」と言うことでエアコンを操作できることを、知ることができる。
【００８１】
以上のように、本実施形態によれば、音声入力対応の電子機器を操作する場合に、人間と同様の方法で行うことができ、利用者がサービスロボットに非人間的な面を見出す可能性を軽減できる。また、サービスロボットが電子機器の音声入力方法を日ごろ実演するため、利用者が利用時の立ち位置や使用可能な語彙を知ることができる。将来利用者が電子機器を操作する際は、ロボットが過去に行った作法を思い出せばよいだけであり、利便性が高くなる。
【００８２】
サービスロボット１０は、上記好ましい構成とは異なる構成を有することができる。サービスロボット１０は、移動機構９１により、外部機器の音声認識推奨位置に移動することができることが好ましいが、サービスロボット１０は、移動機構９１を備えなくともよい。または、移動機構９１を有していても音声認識推奨位置に異動することなく、音声を出力してもよい。その構成において、サービスロボット１０は、定位置において、外部機器を操作のための音声を発する。
【００８３】
上述のように、サービスロボット１０は、外部機器操作のために音声出力を行う一方で、ネットワークを介して外部機器に指示を送ることが好ましい。これにより確実に外部機器を操作することができる。設計によっては、サービスロボット１０は、出力音声のみで外部機器を操作してもよい。
【００８４】
ネットワークを介して外部機器に指令を送信する構成において、上述のように、サービスロボット１０は、音声認識に応じて動作する外部機器の機能を停止させることが好ましい。これにより、音声指令とネットワークを介した指令との競合を避けることができる。外部機器の動作に問題が生じないのであれば、外部機器は、上記２つの指令を受けても良い。
【００８５】
上記好ましい構成において、サービスロボット１０は利用者と対話を行い、その対話の中で利用者の音声が外部機器操作の指示を含むか否かを判定し、その指示を含む場合には、その指示に応じて外部機器操作に対応した音声を出力する。利用者の言葉が外部機器操作指示であるか否かは、その利用者の言葉のみではなく、状態情報の他の項目の値にも依存している。サービスロボット１０は、利用者との自然な対話の中で、外部機器を操作することができる。外部機器操作の指示は、利用者の言葉のみを条件とすることもある。利用者からサービスロボット１０への外部機器操作の直接的な指示は、その一例である。
【００８６】
上記好ましい構成において、サービスロボット１０は、温度センサ８０やタイマ８１からの情報を内部状態ＤＢに格納する。設計によっては、サービスロボット１０は、これらのデータを使用することなく、利用者の言葉のみを条件として外部機器操作を行ってもよい。また、サービスロボット１０は、温度センサ８０やタイマ８１などのデバイスを備えず、ネットワークを介してそれらデバイスの情報を取得してもよい。
【００８７】
上述のように、サービスロボット１０は、外部機器操作のための音声出力において、利用者の音声を使用する。これにより、利用者は、サービスロボット１０による対話のための音声と外部機器のための音声とを明確に識別することができる。また、外部機器の話者適応機能を有している場合には、利用者の声を使用することで、外部機器の音声認識を利用者に適切に適応させることができる。
【００８８】
なお、利用者の声をより正確に模倣するため、サービスロボット１０は、利用者声質ＤＢを更新し続けることが好ましいが、更新機能を有してなくともよい。また、対話の音声と外部機器の音声の識別ためには、サービスロボット１０は異なるシステム音声を使用してもよい。
【００８９】
上述のように、サービスロボット１０は、合成プロファイルを使用して、外部機器操作のための音声を生成することが好ましい。これにより、外部機器操作のためにより適切な音声を生成することができる。上記合成プロファイルは一例であって、合成プロファイルは他の特性を含むことができる。また、設計によっては、サービスロボット１０は、合成プロファイルを使用することなく音声を生成してもよい。
【００９０】
本実施形態における他の構成についての以上の説明は、音声出力に関する事項以外について、下記の第二の実施形態に対しても適用することができる。
【００９１】
＜第二の実施形態＞
本発明の第二の実施形態を説明する。本実施形態のサービスロボットを図１６に示す。第一の実施形態の図１に示す構成との相違は、サービスロボット１０の機構制御装置９０がさらにジェスチャ機構９２を備え、記憶装置３０に語彙ＤＢ３１３の代わりにジェスチャＤＢ３１３ｂが格納されており、サービスロボット１０が、利用者音声合成プログラム３２５の代わりに、ジェスチャ生成プログラム３２５ｂを備える点である。
【００９２】
ジェスチャ機構９２は、人間の身体のうちジェスチャに利用する頭部、腕部、胸部、脚部に相当する、それぞれ人間に近い見た目と動作機能を備えた機械部品である。これら部品のうちの一部のみが実装されていてもよい。また一部が移動機構９１と共有されていてもよい。その構成においては、機構制御装置９０が移動機構９１とジェスチャ機構９２を適切に制御し、移動動作とジェスチャ動作の競合を避け、さらに、それらの動作によりサービスロボット１０が危険な状態にならないようにする。
【００９３】
次に、外部装置管理プログラム３２１の動作を説明する。外部装置管理プログラム３２１の動作は図２で説明した第一の実施形態とほぼ同様であり、ここでは差分のみ説明する。ステップ１０６、ステップ１０７において、外部装置管理プログラム３２１はＮＩＦ５０から語彙データパケットではなくジェスチャデータパケットを受信し、ジェスチャデータパケットの内容に従い。ジェスチャＤＢ３１３ｂの内容を更新する。
【００９４】
ジェスチャＤＢ３１３ｂは、図１７に示すように、動作とそれに対応するジェスチャシーケンスの情報を含む。図１７の例において、「［０−１０］関節Ａ：（３０〜５０、５）」は、タイムフレーム０から１０において、ジェスチャ機構９２の「関節Ａ」を３０度から５０度まで、角速度上限５で動かすことを意味する。外部装置管理プログラム３２１は、ジェスチャデータパケットによりジェスチャＤＢ３１３ｂを更新するのではなく、記憶装置３０に、予め記憶されているジェスチャ情報を用いてもよい。
【００９５】
次に、動作計画プログラム３２２の動作を図１８で説明する。動作計画プログラム３２２の動作は、図５Ａ及び図５Ｂで説明した第一の実施形態と実質的に同様であり、ここでは差分のみ説明する。ステップ２０６においては、動作計画プログラム３２２は、種類が「ジェスチャ出力」の動作について、ジェスチャ生成プログラム３２５ｂに指令を送る（Ｓ６０７ｅ）。
【００９６】
種類が「操作完了」の場合、動作計画プログラム３２２は、対象の外部機器にジェスチャ認識ＯＮを指令するネットワーク送信動作を動作キュー３１５に追加する（Ｓ６０７ｆ）。ステップ６０９において、動作計画プログラム３２２は、機器ＤＢ３１１からはジェスチャ認識推奨位置を取得し、その位置への移動動作を追加する。機器ＤＢ３１１は、図３で示したものと同様の形式で、音声認識推奨位置の代わりにジェスチャ認識推奨位置を保持する。
【００９７】
Ｓ６１０において、動作計画プログラム３２２は、対象の外部機器にジェスチャ認識ＯＦＦを指令するネットワーク送信動作を追加する。Ｓ６１１において、動作計画プログラム３２２は、対象の外部機器のジェスチャＤＢ３１３ｂに基づいて、ジェスチャ出力するシーケンスを作成し、ジェスチャ出力動作を追加する。
【００９８】
動作計画プログラム３２２の動作例の説明は、「外部機器操作」動作が処理された後の動作が実施の形態一の構成と異なり、動作キュー３１５は、図１９の示すようになる。動作計画プログラム３２２は、これらの動作、「移動」、「ネットワーク出力」、「ジェスチャ生成」、「ネットワーク出力」を逐次処理する。
【００９９】
その結果、サービスロボット１０はエアコン「ＨＴＣ＿ＡＣ＿１０Ａ」の前に移動し、エアコン「ＨＴＣ＿ＡＣ＿１０Ａ」の音声認識機能はＯＦＦになる。その後、サービスロボット１０は、ジェスチャ生成プログラム３２５ｂが生成したパターンに従って、ジェスチャ動作を行う。具体的には、図１７の「エアコンＯＮ、設定温度２６℃」に対応するジェスチャシーケンスに従いジェスチャ機構９２が動き、人間のジェスチャを模倣する。最後に、サービスロボット１０は、エアコン「ＨＴＣ＿ＡＣ＿１０Ａ」に「エアコンＯＮ、設定温度２６℃」にするよう指令を与える。
【０１００】
以上により、サービスロボット１０のこの一連の動きを見た利用者は、自分がエアコンをつけるとき、サービスロボット１０がやってみせたように、その位置でサービスロボット１０と同様のジェスチャを行うことでエアコンを操作できることを知ることができる。
【０１０１】
以上、本発明の好ましい実施形態を説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、外部機器が音声認識機能と画像認識機能を備え、その外部機器の操作が音声とジェスチャの双方で構成されている場合には、サービスロボットは、音声出力とジェスチャ動作の双方を実行する。
【産業上の利用可能性】
【０１０２】
本発明は、主に家庭やオフィスなどで活躍するロボットに適用できる。
【符号の説明】
【０１０３】
１０  サービスロボット、３０  記憶装置、４０  バス、６０  スピーカ
７０  マイク、８０  温度センサ、８１  タイマ、９０  移動機構制御装置
９１  移動機構、９２  ジェスチャ機構、３１１  機器ＤＢ、３１２  動作ＤＢ
３１３  語彙ＤＢ、３１３  語彙ＤＢ、３１３ｂ  ジェスチャＤＢ
３１４  内部状態ＤＢ、３１５  動作キュー、３１６  システム声質ＤＢ
３１７  利用者声質ＤＢ、３２１  外部装置管理プログラム
３２２  動作計画プログラム、３２３  音声認識プログラム
３２４  システム音声合成プログラム、３２５  利用者音声合成プログラム
３２５ｂ  ジェスチャ生成プログラム
【図１】
0005610283.tif 000002
【図２】
0005610283.tif 000003
【図３】
0005610283.tif 000004
【図４】
0005610283.tif 000005
【図５Ａ】
0005610283.tif 000006
【図５Ｂ】
0005610283.tif 000007
【図６】
0005610283.tif 000008
【図７】
0005610283.tif 000009
【図８】
0005610283.tif 000010
【図９】
0005610283.tif 000011
【図１０】
0005610283.tif 000012
【図１１】
0005610283.tif 000013
【図１２】
0005610283.tif 000014
【図１３】
0005610283.tif 000015
【図１４】
0005610283.tif 000016
【図１５】
0005610283.tif 000017
【図１６】
0005610283.tif 000018
【図１７】
0005610283.tif 000019
【図１８Ａ】
0005610283.tif 000020
【図１８Ｂ】
0005610283.tif 000021
【図１９】
0005610283.tif 000022