(57)【特許請求の範囲】
【請求項１】
ロボットの動作を定義するモーションファイルに従って前記ロボットを制御するためのプログラムであって、コンピュータを、
通信ネットワークを介して接続された外部格納装置に格納された複数の前記モーションファイルから少なくとも１つのモーションファイルを選択する選択部、
前記通信ネットワークを介して、前記少なくとも１つのモーションファイルを受信するモーションファイル受信部、
前記少なくとも１つのモーションファイルから、前記少なくとも１つのモーションファイルで定義される動作を前記ロボットに実行させるための制御命令を生成する命令生成部、
前記ロボットを制御するロボット制御部に対して、前記命令生成部が生成した前記制御命令を出力する出力部、
前記通信ネットワークを介して、入力音声に対する出力音声を決定する対話装置に、マイクを介して入力された入力音声を示す入力音声情報を送信する入力音声情報送信部、
前記通信ネットワークを介して、前記入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち前記少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて前記対話装置が決定した出力音声情報を受信する出力音声情報受信部、
前記出力音声情報受信部が受信した前記出力音声情報に基づいてスピーカから出力される出力音声を制御する出力音声制御部、
前記マイクを介して入力される入力音声の音量を検出する音量検出部、
前記マイクを介して入力される入力音声を示す入力音声情報を生成する入力音声情報生成部、および
前記音量検出部により検出された音量が基準音量を超えた場合、前記入力音声情報生成部に前記入力音声情報を生成させる入力音声情報生成制御部
として機能させ、
前記入力音声情報送信部は、前記通信ネットワークを介して、前記入力音声情報生成部が生成した前記入力音声情報を前記対話装置に送信する、プログラム。
【請求項２】
ロボットの動作を定義するモーションファイルに従って前記ロボットを制御するためのプログラムであって、コンピュータを、
通信ネットワークを介して接続された外部格納装置に格納された複数の前記モーションファイルから少なくとも１つのモーションファイルを選択する選択部、
前記通信ネットワークを介して、前記少なくとも１つのモーションファイルで定義される動作を前記ロボットに実行させるための制御命令を受信する制御命令受信部、
前記ロボットを制御するロボット制御部に対して、前記制御命令受信部が受信した前記制御命令を出力する出力部、
前記通信ネットワークを介して、入力音声に対する出力音声を決定する対話装置に、マイクを介して入力された入力音声を示す入力音声情報を送信する入力音声情報送信部、
前記通信ネットワークを介して、前記入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち前記少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて前記対話装置が決定した出力音声情報を受信する出力音声情報受信部、
前記出力音声情報受信部が受信した前記出力音声情報に基づいてスピーカから出力される出力音声を制御する出力音声制御部、
前記マイクを介して入力される入力音声の音量を検出する音量検出部、
前記マイクを介して入力される入力音声を示す入力音声情報を生成する入力音声情報生成部、および
前記音量検出部により検出された音量が基準音量を超えた場合、前記入力音声情報生成部に前記入力音声情報を生成させる入力音声情報生成制御部
として機能させ、
前記入力音声情報送信部は、前記通信ネットワークを介して、前記入力音声情報生成部が生成した前記入力音声情報を前記対話装置に送信する、
として機能させるためのプログラム。
【請求項３】
前記入力音声情報送信部は、前記通信ネットワークを介して、前記少なくとも１つのモーションファイルを識別する識別情報が関連付けられた前記入力音声情報を前記対話装置に送信し、
前記出力音声情報受信部は、前記通信ネットワークを介して、前記入力音声情報に関連付けられた前記識別情報に対応する前記対話ファイルに基づいて前記対話装置が決定した前記出力音声情報を受信する、請求項１または２に記載のプログラム。
【請求項４】
前記通信ネットワークを介して、カメラにより撮像された顔画像を前記対話装置に送信する顔画像送信部として、前記コンピュータをさらに機能させ、
前記出力音声情報受信部は、前記通信ネットワークを介して、前記入力音声情報に対する出力音声情報を示す複数の対話ファイルの中から前記少なくとも１つのモーションファイルに関連付けられ、かつ前記顔画像に関連付けられた前記対話ファイルに基づいて前記対話装置が決定した出力音声情報を受信する、請求項１から請求項３のいずれか１つに記載のプログラム。
【請求項５】
前記ロボットの異なる位置に設けられた複数の前記マイクから入力される入力音声に基づいて、前記入力音声が発せられた前記ロボットに対する方向を検出する方向検出部として、前記コンピュータをさらに機能させ、
前記出力部は、前記方向に基づく動作を前記ロボットに実行させるための制御命令を前記ロボット制御部に対して出力する、請求項１から請求項４のいずれか１つに記載のプログラム。
【請求項６】
前記ロボットに設けられたタッチセンサからのタッチ検出信号を取得するタッチ検出信号取得部として、前記コンピュータを機能させ、
前記出力部は、前記タッチ検出信号に基づく動作を前記ロボットに実行させるための制御命令を前記ロボット制御部に対して出力する、請求項１から請求項５のいずれか１つに記載のプログラム。
【請求項７】
モーションファイルに従って動作するロボットを備えるロボットシステムであって、
通信ネットワークを介して接続された外部格納装置に格納された複数の前記モーションファイルから少なくとも１つのモーションファイルを選択する選択部と、
前記通信ネットワークを介して、前記少なくとも１つのモーションファイルを受信するモーションファイル受信部と、
前記少なくとも１つのモーションファイルから、前記少なくとも１つのモーションファイルで定義される動作を前記ロボットに実行させるための制御命令を生成する命令生成部と、
前記ロボットを制御するロボット制御部に対して、前記命令生成部が生成した前記制御命令を出力する出力部と、
前記通信ネットワークを介して、入力音声に対する出力音声を決定する対話装置に、マイクを介して入力された入力音声を示す入力音声情報を送信する入力音声情報送信部と、
前記通信ネットワークを介して、前記入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち前記少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて前記対話装置が決定した出力音声情報を受信する出力音声情報受信部と、
前記出力音声情報受信部が受信した前記出力音声情報に基づいてスピーカから出力される出力音声を制御する出力音声制御部と、
前記マイクを介して入力される入力音声の音量を検出する音量検出部と、
前記マイクを介して入力される入力音声を示す入力音声情報を生成する入力音声情報生成部と、
前記音量検出部により検出された音量が基準音量を超えた場合、前記入力音声情報生成部に前記入力音声情報を生成させる入力音声情報生成制御部と
を備え、
前記入力音声情報送信部は、前記通信ネットワークを介して、前記入力音声情報生成部が生成した前記入力音声情報を前記対話装置に送信する、ロボットシステム。
【請求項８】
モーションファイルに従って動作するロボットを備えるロボットシステムであって、
通信ネットワークを介して接続された外部格納装置に格納された複数の前記モーションファイルから少なくとも１つのモーションファイルを選択する選択部と、
前記通信ネットワークを介して、前記少なくとも１つのモーションファイルで定義される動作を前記ロボットに実行させるための制御命令を受信する制御命令受信部と、
前記ロボットを制御するロボット制御部に対して、前記制御命令受信部が受信した前記制御命令を出力する出力部と、
前記通信ネットワークを介して、入力音声に対する出力音声を決定する対話装置に、マイクを介して入力された入力音声を示す入力音声情報を送信する入力音声情報送信部と、
前記通信ネットワークを介して、前記入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち前記少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて前記対話装置が決定した出力音声情報を受信する出力音声情報受信部と、
前記出力音声情報受信部が受信した前記出力音声情報に基づいてスピーカから出力される出力音声を制御する出力音声制御部と、
前記マイクを介して入力される入力音声の音量を検出する音量検出部と、
前記マイクを介して入力される入力音声を示す入力音声情報を生成する入力音声情報生成部と、
前記音量検出部により検出された音量が基準音量を超えた場合、前記入力音声情報生成部に前記入力音声情報を生成させる入力音声情報生成制御部と
を備え、
前記入力音声情報送信部は、前記通信ネットワークを介して、前記入力音声情報生成部が生成した前記入力音声情報を前記対話装置に送信する、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御するためのプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ロボットの近傍にいる視聴者の数に基づいて、ロボットが視聴者に対して行う動作パターンを選択し、選択された動作パターンに基づいてロボットの動作を決定するロボット制御システムが記載されている。
【０００３】
特許文献１  特開２００７−５０４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなロボット制御システムは、汎用性に乏しく比較的高価なものが多い。そこで、汎用性の高いロボットを安価に提供可能にすることが望まれている。
【課題を解決するための手段】
【０００５】
本発明の一態様に係るプログラムは、ロボットの動作を定義するモーションファイルに従ってロボットを制御するためのプログラムであって、コンピュータを、通信ネットワークを介して接続された外部格納装置に格納された複数のモーションファイルから少なくとも１つのモーションファイルを選択する選択部、通信ネットワークを介して、少なくとも１つのモーションファイルを受信するモーションファイル受信部、少なくとも１つのモーションファイルから、少なくとも１つのモーションファイルで定義される動作をロボットに実行させるための制御命令を生成する命令生成部、およびロボットを制御するロボット制御部に対して、命令生成部が生成した制御命令を出力する出力部として機能させるためのプログラムである。
【０００６】
本発明の一態様に係るプログラムは、ロボットの動作を定義するモーションファイルに従ってロボットを制御するためのプログラムであって、コンピュータを、通信ネットワークを介して接続された外部格納装置に格納された複数のモーションファイルから少なくとも１つのモーションファイルを選択する選択部、通信ネットワークを介して、少なくとも１つのモーションファイルで定義される動作をロボットに実行させるための制御命令を受信する制御命令受信部、およびロボットを制御するロボット制御部に対して、制御命令受信部が受信した制御命令を出力する出力部として機能させるためのプログラムである。
【０００７】
上記プログラムは、通信ネットワークを介して、入力音声に対する出力音声を決定する対話装置に、マイクを介して入力された入力音声を示す入力音声情報を送信する入力音声情報送信部、通信ネットワークを介して、入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて対話装置が決定した出力音声情報を受信する出力音声情報受信部、および出力音声情報受信部が受信した出力音声情報に基づいてスピーカから出力される出力音声を制御する出力音声制御部としてコンピュータをさらに機能させてもよい。
【０００８】
上記プログラムは、入力音声情報送信部は、通信ネットワークを介して、少なくとも１つのモーションファイルを識別する識別情報が関連付けられた入力音声情報を対話装置に送信し、出力音声情報受信部は、通信ネットワークを介して、入力音声情報に関連付けられた識別情報に対応する対話ファイルに基づいて対話装置が決定した出力音声情報を受信してもよい。
【０００９】
上記プログラムは、マイクを介して入力される入力音声の音量を検出する音量検出部、マイクを介して入力される入力音声を示す入力音声情報を生成する入力音声情報生成部、音量検出部により検出された音量が基準音量を超えた場合、入力音声情報生成部に入力音声情報を生成させる入力音声情報生成制御部として、コンピュータをさらに機能させ、入力音声情報送信部は、通信ネットワークを介して、入力音声情報生成部が生成した入力音声情報を対話装置に送信してもよい。
【００１０】
上記プログラムは、通信ネットワークを介して、カメラにより撮像された顔画像を対話装置に送信する顔画像送信部として、コンピュータをさらに機能させ、出力音声情報受信部は、通信ネットワークを介して、入力音声情報に対する出力音声情報を示す複数の対話ファイルの中から少なくとも１つのモーションファイルに関連付けられ、かつ顔画像に関連付けられた対話ファイルに基づいて対話装置が決定した出力音声情報を受信してもよい。
【００１１】
上記プログラムは、ロボットの異なる位置に設けられた複数のマイクから入力される入力音声に基づいて、入力音声が発せられたロボットに対する方向を検出する方向検出部として、コンピュータをさらに機能させ、出力部は、方向に基づく動作をロボットに実行させるための制御命令をロボット制御部に対して出力してもよい。
【００１２】
上記プログラムは、ロボットに設けられたタッチセンサからのタッチ検出信号を取得するタッチ検出信号取得部として、コンピュータを機能させ、出力部は、タッチ検出信号に基づく動作をロボットに実行させるための制御命令をロボット制御部に対して出力してもよい。
【００１３】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係るロボットシステムの全体構成の一例を示す図である。
【図２】ロボットの機能ブロックの一例を示す図である。
【図３】通信端末の機能ブロックの一例を示す図である。
【図４】モーションファイルの一例を示す図である。
【図５】対話ファイルの一例を示す図である。
【図６】ロボットの動作手順の一例を示すフローチャートである。
【図７】通信端末のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１６】
図１は、ロボットシステムの全体構成の一例を示す。ロボットシステムは、ロボット１００、通信端末２００、ファイル提供装置３００、対話装置３１０を含む。ロボット１００と通信端末２００とはケーブルを介して通信接続されている。ロボット１００と通信端末２００とは無線を介して通信接続されてもよい。通信端末２００、ファイル提供装置３００、および対話装置３１０は、インターネットなどの通信ネットワーク１０を介して通信接続されている。ファイル提供装置３００および対話装置３１０は、クラウド上に配置されてもよい。
【００１７】
通信端末２００は、通信ネットワーク１０を介して無線または有線によりファイル提供装置３００および対話装置３１０と通信する。通信端末２００は、スマートフォン（多機能携帯電話機）、タブレット（多機能携帯端末）、ノートパソコン、携帯情報端末など通信機能を有する端末である。通信端末２００は、ロボット１００のロボット本体に対して着脱可能に装着される。通信端末２００は、ロボット本体の背面に設けられた固定ホルダなどを介してロボット１００に装着されてもよい。
【００１８】
ファイル提供装置３００は、ロボット１００の動作を定義するモーションファイルを複数格納する外部格納装置の一例である。通信端末２００は、ファイル提供装置３００から通信ネットワーク１０を介して少なくとも１つのモーションファイルを受信し、受信したモーションファイルに従って制御命令をロボット１００に出力する。ロボット１００は、通信端末２００からの制御命令に従ってモーションファイルに従った動作をする。
【００１９】
対話装置３１０は、入力音声情報に対する出力音声情報を示す対話ファイルに基づいて、入力音声に対する出力音声を決定する。対話装置３１０は、例えば、ユーザがロボット１００に対して話しかけた内容を示す入力音声情報を通信ネットワーク１０を介して受信する。対話装置３１０は、入力音声情報に基づいてユーザの音声を認識し、対話ファイルに基づいて、ユーザが話しかけた内容に沿った応答内容である出力音声情報を決定する。対話装置３１０は、通信ネットワーク１０を介して、出力音声情報を通信端末２００に送信する。通信端末２００は、受信した出力音声情報に応じた出力音声を出力する。ロボット１００が、通信端末２００から提供される出力音声情報に応じて出力音声を出力してもよい。
【００２０】
対話装置３１０は、モーションファイルに関連付けられた対話ファイルを保持してもよい。対話装置３１０は、ロボット１００が使用しているモーションファイルに関連付けられた対話ファイルに従って、入力音声情報に対する出力音声情報を決定してもよい。対話装置３１０は、モーションファイルを識別する識別情報が関連付けられた対話ファイルを保持してもよい。対話装置３１０は、識別情報が関連付けられた入力音声情報をロボット１００から受信してもよい。対話装置３１０は、受信した入力音声情報に関連付けられた識別情報を参照して、識別情報に対応する対話ファイルを特定し、特定された対話ファイルに従って、入力音声情報に対する出力音声情報を決定してもよい。
【００２１】
本実施形態によれば、ファイル提供装置３００に格納されている複数のモーションファイルの中から選択されたモーションファイルに従ってロボット１００を動作させることができる。ユーザは、ロボット１００に実行させたい動作に応じて複数のモーションファイルの中から適宜少なくとも１つのモーションファイルを選択できる。モーションファイルを変更することで、ロボット１００は、異なる動作を実行できる。よって、汎用性の高いロボット１００を提供することができる。
【００２２】
また、本実施形態によれば、ロボット１００が使用しているモーションファイルに応じて対話装置３１０が利用する対話ファイルを変更できる。よって、ロボット１００が使用しているモーションファイルに応じて、ロボット１００は、ユーザとの会話の内容を変更できる。ロボット１００は、ロボット１００の動作内容に沿った会話をユーザとの間で実現できる。
【００２３】
本実施形態に係るロボット１００は、スマートフォンなどのユーザが所有している通信端末２００がモーションファイルに従って出力した制御命令に基づいて動作する。ロボット１００を動作させるための一部の機能を、ロボット１００を動作させるための専用端末ではない通信端末２００が提供することで、ロボット１００の製造コストを抑制できる。
【００２４】
例えば、教育、娯楽、または高齢者の癒しなどに用いられる小型サービスロボットあるいは玩具ロボットは、産業用ロボットに比べて、普及していない。幼児への童話読み聞かせまたは語学教育などを行う幼児教育ロボットまたは高齢者と対話を行うロボットは、高度な音声対話機能を搭載することにより、幼児教育効果または癒し効果を向上させることができる。しかし、ロボットに高度な音声対話機能を搭載する場合、ロボットの製造コストが向上し、ロボットの普及の妨げになる可能性がある。これに対して、本実施形態によれば、対話装置３１０と連携した音声認識処理を実行可能なスマートフォンなどの通信端末２００を利用して、ロボット１００による会話動作を実現できる。よって、例えば、幼児教育効果または癒し効果を向上させながら、ロボット本体に音声認識処理を搭載させる場合よりもロボット１００の製造コストを抑制できる。
【００２５】
図２は、ロボット１００の機能ブロックの一例を示す。ロボット１００は、センサ制御部１１０、複数のアクチュエータ１２０、複数のマイク１２２、タッチセンサ１２４、カメラ１２６、および入出力部１３０を備える。
【００２６】
アクチュエータ駆動部１１２は、入出力部１３０を介して通信端末２００から制御命令を取得し、取得した制御命令に従ってアクチュエータ１２０を駆動させる。アクチュエータ駆動部１１２は、ロボット１００を制御するロボット制御部の一例である。
【００２７】
アクチュエータ１２０は、ロボット１００の腕部、脚部、頭部などの関節部などに設けられる駆動機構である。アクチュエータ１２０は、アクチュエータ駆動部１１２からの指令に従って駆動する。
【００２８】
センサ制御部１１０は、複数のマイク１２２、タッチセンサ１２４、およびカメラ１２６を制御する。センサ制御部１１０は、複数のマイク１２２を介して入力される入力音声を示す音声信号を入出力部１３０を介して通信端末２００に出力する。複数のマイク１２２は、ロボット１００の異なる位置に設けられる。一方のマイク１２２は、ロボット１００の頭部の右側面に設けられてもよい。他方のマイク１２２は、ロボットの頭部の左側面に設けられてもよい。
【００２９】
センサ制御部１１０は、タッチセンサ１２４からのタッチセンサ信号を入出力部１３０を介して通信端末２００に出力する。タッチセンサ１２４は、ロボット１００の頭部、腕部、胴体部、脚部などのユーザが接触可能な位置に設けられる。タッチセンサ１２４は、例えばユーザの指がタッチセンサ１２４の接触面に接触したことに対応して、タッチセンサ信号をセンサ制御部１１０に出力する。
【００３０】
カメラ１２６は、ロボット１００の頭部、胴体部などに設けられ、ロボット１００の近傍にいるユーザの顔を含む顔画像を撮像する。カメラ１２６は、顔画像をセンサ制御部１１０に出力する。センサ制御部１１０は、顔画像を入出力部１３０を介して通信端末２００に出力する。
【００３１】
図３は、本実施形態に係る通信端末２００の機能ブロックの一例を示す。通信端末２００は、選択部２０２、選択要求送信部２０３、命令取得部２０７、入出力部２０８、音量検出部２１０、入力音声情報生成部２１２、入力音声情報生成制御部２１４、入力音声情報送信部２１６、出力音声情報受信部２２０、出力音声制御部２２２、スピーカ２２４、方向検出部２３０、タッチ検出信号取得部２３２、顔画像取得部２３３、および顔画像送信部２３４を備える。
【００３２】
通信部２０１は、通信ネットワーク１０を介してファイル提供装置３００および対話装置３１０と通信する。選択部２０２は、通信ネットワーク１０を介して接続されたファイル提供装置３００に格納された複数のモーションファイルから少なくとも１つのモーションファイルを選択する。選択部２０２は、ユーザからの指示に応じて、ファイル提供装置３００に格納された複数のモーションファイルから少なくとも１つのモーションファイルを選択してもよい。選択要求送信部２０３は、選択部２０２により選択された少なくとも１つのモーションファイルを示す選択要求を通信部２０１を介してファイル提供装置３００に送信する。
【００３３】
命令取得部２０７は、モーションファイル受信部２０４および命令生成部２０６を含む。モーションファイル受信部２０４は、通信ネットワーク１０を介して、選択部２０２が選択した少なくとも１つのモーションファイルを受信する。命令生成部２０６は、モーションファイル受信部２０４が受信した少なくとも１つのモーションファイルから、少なくとも１つのモーションファイルで定義される動作をロボット１００に実行させるための制御命令を生成する。命令生成部２０６は、モーションファイルからロボット１００の駆動機構の特性に応じてアクチュエータ１２０の回転量などを示す制御命令を生成するインタプリンタとして機能する。
【００３４】
入出力部２０８は、ＵＳＢケーブルなどの有線またはＢｌｕｅｔｏｏｔｈ（登録商標）などの無線でロボット１００と通信する。入出力部２０８は、ロボット１００の入出力部１３０を介してアクチュエータ駆動部１１２に対して、命令生成部２０６が生成した制御命令を出力する。
【００３５】
音量検出部２１０は、ロボット１００に設けられたマイク１２２を介して入力される入力音声の音量を検出する。音量検出部２１０は、マイク１２２を介して入力された入力音声を示す音声信号を入出力部２０８を介して検出し、音声信号から入力音声の音量を検出する。なお、音量検出部２１０は、通信端末２００に設けられたマイクを介して検出した音声信号から入力音声の音量を検出してもよい。
【００３６】
入力音声情報生成部２１２は、マイク１２２を介して入力された入力音声を示す音声信号を入出力部２０８を介して検出し、音声信号から入力音声を示す入力音声情報を生成する。なお、入力音声情報生成部２１２は、ロボット本体に設けられたマイク１２２ではなく、通信端末２００に設けられたマイクから入力された入力音声を示す音声信号を入出力部２０８から検知し、入力音声情報を生成してもよい。
【００３７】
入力音声情報生成制御部２１４は、音量検出部２１０により検出された音量が予め定められた基準音量を超えた場合、入力音声情報生成部２１２に入力音声情報を生成させる。入力音声情報生成制御部２１４は、音量検出部２１０により検出された音量が予め定められた基準音量を超えた場合、入力音声情報生成部２１２として機能するアプリケーションを起動することで、入力音声情報生成部２１２に入力音声情報を生成させてもよい。
【００３８】
入力音声情報送信部２１６は、通信ネットワーク１０を介して、入力音声に対する出力音声を決定する対話装置３１０に、マイク１２２を介して入力された入力音声を示す入力音声情報を送信する。入力音声情報送信部２１６は、入力音声情報生成部２１２が生成した入力音声情報を対話装置３１０に送信する。
【００３９】
入力音声情報生成部２１２は、音声信号から音声認識処理を実行して、音声認識処理の結果を入力音声情報として生成してもよい。つまり、対話装置３１０が、音声認識処理を実行するのではなく、通信端末２００が音声認識処理を実行して、その結果を示す入力音声情報を入力音声情報送信部２１６が対話装置３１０に送信してもよい。
【００４０】
出力音声情報受信部２２０は、通信ネットワーク１０を介して、入力音声情報に対する出力音声情報を示す複数の対話ファイルのうち少なくとも１つのモーションファイルに関連付けられた対話ファイルに基づいて対話装置３１０が決定した出力音声情報を受信する。
【００４１】
入力音声情報送信部２１６は、通信ネットワーク１０を介して、モーションファイル受信部２０４が受信した少なくとも１つのモーションファイルを識別する識別情報が関連付けられた入力音声情報を対話装置３１０に送信してもよい。この場合、出力音声情報受信部２２０は、通信ネットワーク１０を介して、入力音声情報に関連付けられた識別情報に対応する対話ファイルに基づいて対話装置３１０が決定した出力音声情報を受信してもよい。
【００４２】
出力音声制御部２２２は、出力音声情報受信部２２０が受信した出力音声情報に基づいてスピーカ２２４から出力される出力音声を制御する。なお、出力音声制御部２２２は、通信端末２００が備えるスピーカ２２４でははく、ロボット本体に設けられたスピーカから出力音声情報に基づく音声を出力してもよい。また、モーションファイル受信部２０４が受信したモーションファイルに音声を出力することが定義されている場合には、命令生成部２０６からの指示を受けて、出力音声情報受信部２２０は、モーションファイルで定義された音声をスピーカ２２４を介して出力してもよい。
【００４３】
顔画像取得部２３３は、カメラ１２６により撮像された顔画像を入出力部２０８を介して取得する。顔画像送信部２３４は、通信ネットワーク１０を介して、顔画像取得部２３３が取得した顔画像を対話装置３１０に対して送信する。対話装置３１０は、顔画像に関連付けられた対話ファイルを保持してもよい。対話装置３１０は、受信した顔画像に関連付けられた対話ファイルを特定し、特定された対話ファイルを利用して、入力音声情報に対する出力音声情報を決定してもよい。なお、通信端末２００がカメラを搭載している場合には、顔画像取得部２３３は、通信端末２００に搭載されたカメラから顔画像を取得し、顔画像送信部２３４が、その顔画像を対話装置３１０に送信してもよい。
【００４４】
これにより、対話装置３１０は、ユーザ毎に対話ファイルを選択できる。例えば、対話装置３１０は、ユーザの年齢または性別毎に対話ファイルを保持し、事前にユーザの年齢または性別に応じた対話ファイルを、ユーザの顔画像に関連付けておいてもよい。対話装置３１０は、ロボット１００が使用中のモーションファイルに関連付けられ、かつ受信した顔画像に関連付けられた対話ファイルを利用して、入力音声情報に対する出力音声情報を決定してもよい。
【００４５】
入力音声情報送信部２１６は、顔画像が関連付けられた入力音声情報を対話装置３１０に送信してもよい。出力音声情報受信部２２０は、通信ネットワーク１０を介して、入力音声情報に対する出力音声情報を示す複数の対話ファイルの中から少なくとも１つのモーションファイルに関連付けられ、かつ顔画像に関連付けられた対話ファイルに基づいて対話装置３１０が決定した出力音声情報を受信してもよい。
【００４６】
方向検出部２３０は、ロボット１００の異なる位置に設けられた複数のマイク１２２から入力される入力音声を入出力部２０８を介して取得する。方向検出部２３０は、取得した複数のマイク１２２のそれぞれからの入力音声に基づいて、入力音声が発せられたロボット１００に対する方向を検出する。方向検出部２３０は、複数のマイク１２２のそれぞれから入力される音声信号の音量の差に基づいて、入力音声が発せられたロボット１００に対する方向を検出してもよい。方向検出部２３０は、音量が最も大きい音声が入力されるマイク１２２の方向を、入力音声が発生されたロボット１００に対する方向として検出してもよい。
【００４７】
命令生成部２０６は、音声が発せられた方向を方向検出部２３０が検出した場合、使用中のモーションファイルで定義されるその方向に基づく動作をロボット１００に実行させるための制御命令を生成してもよい。命令生成部２０６は、方向検出部２３０により検出された音声が発生された方向にロボット１００を向けさせる制御命令を生成してもよい。入出力部２０８は、使用中のモーションファイルで定義される方向検出部２３０により検出された方向に基づく動作をロボット１００に実行させるための制御命令を入出力部１３０を介してアクチュエータ駆動部１１２に対して出力してもよい。
【００４８】
タッチ検出信号取得部２３２は、ロボット１００に設けられたタッチセンサ１２４からのタッチ検出信号を入出力部２０８を介して取得する。命令生成部２０６は、タッチ検出信号に基づく動作をロボット１００に実行させるための制御命令を生成してもよい。命令生成部２０６は、使用中のモーションファイルで定義されるタッチ検出信号に基づく動作をロボット１００に実行させるための制御命令を生成してもよい。命令生成部２０６は、タッチ検出信号取得部２３２がタッチ検出信号を取得した場合、モーションファイルに従ってロボット１００の腕を上げる、ジャンプするなどの特定の動作をロボット１００に実行させるための制御命令を生成してもよい。
【００４９】
入出力部２０８は、使用中のモーションファイルで定義されるタッチ検出信号に基づく動作をロボット１００に実行させるための制御命令をアクチュエータ駆動部１１２に対して出力してもよい。
【００５０】
なお、上記の実施形態では、通信端末２００が、通信ネットワーク１０を介してモーションファイルをダウンロードして利用する例について説明した。しかし、通信端末２００は、モーションファイルをダウンロードせずに、ストリーミングを利用して、モーションファイルの内容を受信してもよい。また、インタプリンタとして機能する命令生成部２０６を備えた装置を通信ネットワーク１０上に配置して、通信端末２００が、ストリーミングを利用して、通信ネットワーク１０を介して命令生成部２０６から、モーションファイルで定義される動作をロボット１００に実行させるための制御命令を受信してもよい。この場合、命令取得部２０７は、モーションファイル受信部２０４の代わりに、通信ネットワーク１０を介して、選択部２０２が選択した少なくとも１つのモーションファイルで定義される動作をロボット１００に実行させるための制御命令を受信する制御命令受信部を有する。命令取得部２０７は、モーションファイル受信部２０４および制御命令受信部を有してもよい。
【００５１】
図４は、モーションファイルの一例を示す。モーションファイルは、ロボット１００に実行させるための動作を示す。図４のモーションファイルにおいて、行番号「００００」は、ロボット１００が予め定められた位置を示すホーム位置に移動する動作を示す。行番号「０００１」は、ロボット１００が瞑想の姿勢をして、ゆっくり移動する動作を示す。行番号「０００２」は、タッチセンサ１２４がオフなら、行番号「０００４」に示す「ｊｕｍｐ１」に遷移することを示す。行番号「０００３」は、タッチセンサ１２４がオンなら、行番号「００１２」に示す「ｂａｎｚａｉ」に遷移することを示す。
【００５２】
行番号「０００５」は、ロボット１００が「こんにちは」という音声を出力する動作を示す。行番号「０００６」は、モーションファイルで定義されている表示ファイル群の中から１ページ目の表示ファイルを、通信端末２００が備える表示部またはロボット１００が備える表示部に表示させる動作を示す。行番号「０００７」は、ロボット１００が右腕を６０度移動させる動作を示す。行番号「０００８」は、ロボット１００が左腕を３０度移動させる動作を示す。行番号「０００９」は、ロボット１００が首を水平に４５度回転させる動作を示す。行番号「００１０」は、ロボット１００が首を垂直に−１５度傾ける動作を示す。行番号「００１１」は、モーションファイルによるロボット１００の動作を終了することを示す。
【００５３】
行番号「００１３」は、ロボット１００が万歳の姿勢をして、早く移動する動作を示す。行番号「００１４」は、ロボット１００が予め定められた「微笑１」の表情をする動作を示す。行番号「００１５」は、ロボット１００が右目を閉じる動作を示す。行番号「００１６」は、ロボット１００が現在の状態のまま１秒待機する動作を示す。行番号「００１７」は、ロボット１００が右目を開ける動作を示す。行番号「００１８」は、サブルーチンリターンを示す。
【００５４】
図５は、対話ファイルの一例を示す。対話ファイルには、少なくとも１つのモーションファイルが関連付けられている。対話ファイルは、モーションファイルによるロボット１００の動作の内容に応じた出力音声情報を示す。
【００５５】
図５に示す対話ファイルは、童話の読み聞かせを行うモーションファイルに関連付けられている対話ファイルの一例である。ロボット１００が、鬼が出てくる日本の童話である「桃太郎」の読み聞かせを行うモーションファイルに従って動作している場合、ユーザである幼児が、「鬼って何？」という質問をする場合が考えられる。この場合、対話装置３１０は、入力音声情報に基づいて音声認識を行い、「鬼」および「何」という単語を認識する。そして、対話装置３１０は、認識結果に基づいて、対話ファイルを参照して、認識された入力音声情報に対して、鬼の説明を示す出力音声情報を決定し、ロボット１００に送信する。
【００５６】
上記のように、モーションファイルによって実行されるロボット１００の動作を考慮して、ユーザから発せられる可能性がある質問などを予測して、その予測に沿った回答を示す対話ファイルを対話装置３１０に保持させておく。例えば、対話ファイルは、モーションファイルの内容に沿ったオントロジーに基づいて構成されてもよい。これにより、対話装置３１０は、ロボット１００の動作に適合した音声をロボット１００に出力させることができる。
【００５７】
図６は、ロボット１００の動作手順の一例を示すフローチャートである。まず、ユーザの指示に応じて、通信端末２００の選択部２０２が、ファイル提供装置３００に格納されている複数のモーションファイルからロボット１００に適用するモーションファイルを選択する（Ｓ１００）。
【００５８】
モーションファイル受信部２０４は、通信ネットワーク１０を介して、選択部２０２が選択したモーションファイルをファイル提供装置３００から受信する（Ｓ１０２）。命令生成部２０６は、モーションファイル受信部２０４が受信したモーションファイルで定義される動作をロボット１００に実行させるための制御命令を生成する。入出力部２０８は、命令生成部２０６が生成した制御命令をロボット１００の入出力部１３０を介してアクチュエータ駆動部１１２に出力する（Ｓ１０４）。
【００５９】
制御命令に従ってロボット１００が動作中に、方向検出部２３０がマイク１２２を介して基準音量以上の音量の音声を検出した場合（Ｓ１０６）、入出力部２０８は、モーションファイルに従った制御命令の出力を中断する。また、入力音声情報生成制御部２１４が、入力音声情報生成部２１２を起動させて、入力音声情報生成部２１２がマイク１２２を介して入力される入力音声を示す入力音声情報を生成する（Ｓ１０８）。
【００６０】
次いで、入力音声情報送信部２１６は、入力音声情報生成部２１２が生成した入力音声情報を対話装置３１０に送信する（Ｓ１１０）。入力音声情報送信部２１６は、動作中のモーションファイルを識別する識別情報とともに入力音声情報を対話装置３１０に送信してもよい。出力音声情報受信部２２０は、対話装置３１０が入力音声情報に対して決定した出力音声情報を受信する（Ｓ１１２）。対話装置３１０は、入力音声情報ととともに識別情報を受信した場合に、識別情報に対応する対話ファイルを利用して、出力音声情報を決定してもよい。
【００６１】
出力音声制御部２２２は、出力音声情報受信部２２０が受信した出力音声情報に示される出力音声をスピーカ２２４を介して出力する（Ｓ１１４）。音声の出力が終了した後、入出力部２０８は、モーションファイルに従った制御命令の出力を再開する。
【００６２】
モーションファイルに従った動作が終了するまで、ロボット１００は、ステップＳ１０４からステップＳ１１４までの処理を繰返し、モーションファイルに従った動作が終了した時点で、ロボット１００は処理を終了する（Ｓ１１６）。
【００６３】
以上の通り、本実施形態によれば、ロボット１００がモーションファイルに従って動作中に、マイク１２２から基準音量以上の音量の音声が入力された場合、入力音声情報生成部２１２が起動して、入力音声情報生成部２１２がマイク１２２から入力された入力音声を示す入力音声情報を生成する。
【００６４】
通信端末２００として、ロボット１００を制御するための専用の端末ではないスマートフォンなどが利用された場合、通信端末２００の処理能力が十分でない場合がある。このような場合、通信端末２００が、命令生成部２０６および入出力部２０８による制御命令の生成および出力と、入力音声情報送信部２１６による入力音声情報の生成および入力音声情報送信部２１６による入力音声情報の送信とを同時にまたは並列に実行した場合、通信端末２００の処理負担が増大し、入力音声情報送信部２１６によって生成される入力音声情報の質の低下を招く可能性がある。
【００６５】
そこで、上記のように、入力音声の音量が基準音量以上になった場合に、入力音声情報生成部２１２を起動させて、入力音声情報の生成をさせることで、入力音声情報生成部２１２が起動し続けている場合によりも通信端末２００の処理の負担を低減できる。また、入力音声情報生成部２１２による入力音声情報の生成中に、入出力部２０８が他の制御命令を出力しないことで、制御命令の出力と入力音声情報の生成とを同時に実行することに伴う通信端末２００の処理負担を低減できる。さらに、常に入力音声情報生成部２１２を起動させておくことにより、通信端末２００の処理の負担が増大することを防止できる。
【００６６】
例えば、音量検出部２１０が、マイク１２２により入力された入力音声の音量が基準音量以上になったことを検出したことに対応して、方向検出部２３０が検出した音声の発せられた方向を向くように、命令生成部２０６が制御命令を生成し、入出力部２０８が出力する。次いで、入力音声情報生成制御部２１４が、入力音声情報生成部２１２を起動して、入力音声の生成の準備をする。ロボット１００が、制御命令に従って音声が発せられた方向に向いた後、マイク１２２を介して入力された入力音声に従って、入力音声情報生成部２１２が入力音声情報を生成してもよい。
【００６７】
なお、モーションファイルの中に、音声認識処理を実行するタイミングで入力音声情報生成部２１２を起動させる命令を含めてもよい。モーションファイルに示される動作にあったタイミングで、入力音声情報生成部２１２を起動させることができる。これにより、常に入力音声情報生成部２１２を起動させておくことにより、通信端末２００の処理の負担が増大することを防止できる。
【００６８】
また、モーションファイルの中に、タッチセンサ１２４による接触を検知すべきタイミングで、タッチセンサ１２４をオンにして、タッチ検出信号取得部２３２を起動させる命令を含めてもよい。さらに、タッチセンサ１２４がオンしたことに対応して、入出力部２０８がモーションファイルに従った制御命令の出力を一時中断してもよい。そして、中断している間に、タッチ検出信号取得部２３２がタッチ検出信号を取得した場合、命令生成部２０６が、タッチ検出信号を取得した場合に実行すべく制御命令を生成して、入出力部２０８が、その制御命令を出力してもよい。
【００６９】
図７は、本実施形態に係る通信端末２００ハードウェア構成の一例を示す。本実施形態に係る通信端末２００は、ホストコントローラ９０２により相互に接続されるＣＰＵ９０４、ＲＡＭ９０６を有するＣＰＵ周辺部と、入出力コントローラ９０８によりホストコントローラ９０２に接続されるＲＯＭ９１０、通信インターフェイス９１２、およびアンテナ９１４を有する入出力部とを備える。入出力部は、ハードディスクドライブ、ＣＤ−ＲＯＭドライブ、およびＵＳＢインターフェイスをさらに有してよい。
【００７０】
ホストコントローラ９０２は、ＲＡＭ９０６と、高い転送レートでＲＡＭ９０６をアクセスするＣＰＵ９０４とを接続する。ＣＰＵ９０４は、ＲＯＭ９１０およびＲＡＭ９０６に格納されたプログラムに基づいて動作して、各部を制御する。入出力コントローラ９０８は、ホストコントローラ９０２と、比較的高速な入出力装置である通信インターフェイス９１２と、ＲＯＭ９１０とを接続する。
【００７１】
通信インターフェイス９１２は、アンテナ９１４を介して無線でファイル提供装置３００および対話装置３１０と通信する。また、通信インターフェイス９１２は、有線または無線でロボット本体に設けられたアクチュエータ駆動部１１２と通信する。ＲＯＭ９１０は、通信端末２００内のＣＰＵ９０４が使用するプログラムおよびデータを格納する。また、ＲＯＭ９１０は、通信端末２００が起動時に実行するブート・プログラム、通信端末２００のハードウェアに依存するプログラム等を格納する。
【００７２】
ＲＡＭ９０６を介してＲＯＭ９１０に提供されるプログラムは、通信インターフェイス９１２またはＵＳＢインターフェイスを介して、通信端末２００内のＲＡＭ９０６を介してＲＯＭ９１０にインストールされ、ＣＰＵ９０４において実行される。
【００７３】
通信端末２００にインストールされて実行されるプログラムは、ＣＰＵ９０４等に働きかけて、通信端末２００を、図１から図６にかけて説明した選択部２０２、選択要求送信部２０３、命令取得部２０７、入出力部２０８、音量検出部２１０、入力音声情報生成部２１２、入力音声情報生成制御部２１４、入力音声情報送信部２１６、出力音声情報受信部２２０、出力音声制御部２２２、スピーカ２２４、方向検出部２３０、タッチ検出信号取得部２３２、顔画像取得部２３３、および顔画像送信部２３４として機能させる。
【００７４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７５】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７６】
１０  通信ネットワーク
１００  ロボット
１１０  センサ制御部
１１２  アクチュエータ駆動部
１２０  アクチュエータ
１２２  マイク
１２４  タッチセンサ
１２６  カメラ
１３０  入出力部
２００  通信端末
２０１  通信部
２０２  選択部
２０３  選択要求送信部
２０４  モーションファイル受信部
２０６  命令生成部
２０７  命令取得部
２０８  入出力部
２１０  音量検出部
２１２  入力音声情報生成部
２１４  入力音声情報生成制御部
２１６  入力音声情報送信部
２２０  出力音声情報受信部
２２２  出力音声制御部
２２４  スピーカ
２３０  方向検出部
２３２  タッチ検出信号取得部
２３３  顔画像取得部
２３４  顔画像送信部
３００  ファイル提供装置
３１０  対話装置
【図１】
0005975947.tif 000002
【図２】
0005975947.tif 000003
【図３】
0005975947.tif 000004
【図４】
0005975947.tif 000005
【図５】
0005975947.tif 000006
【図６】
0005975947.tif 000007
【図７】
0005975947.tif 000008