(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-13
(45)【発行日】2023-02-21
(54)【発明の名称】コミュニケーションロボット、制御方法及び制御プログラム
(51)【国際特許分類】
B25J 13/00 20060101AFI20230214BHJP
A63H 11/00 20060101ALI20230214BHJP
G10L 13/00 20060101ALI20230214BHJP
G10L 15/00 20130101ALI20230214BHJP
G06F 3/16 20060101ALI20230214BHJP
【FI】
B25J13/00 Z
A63H11/00 Z
G10L13/00 100M
G10L13/00 100A
G10L15/00 200H
G10L15/00 200G
G06F3/16 650
G06F3/16 690
(21)【出願番号】P 2018182049
(22)【出願日】2018-09-27
【審査請求日】2021-06-10
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】江藤 祐
(72)【発明者】
【氏名】清水 雅芳
(72)【発明者】
【氏名】神田 真司
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2016-126293(JP,A)
【文献】国際公開第2016/072116(WO,A1)
【文献】特開2013-132748(JP,A)
【文献】特開2011-000681(JP,A)
【文献】特開2017-204231(JP,A)
【文献】国際公開第2018/163648(WO,A1)
【文献】米国特許出願公開第2010/0153317(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/00-19/02
A63H 11/00
G06F 3/01- 3/16
(57)【特許請求の範囲】
【請求項1】
コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測する予測部と、
予測された応答遅延時間長に対応する
、前記コミュニケーションロボットの
身体の駆動であるフィラー動作を決定する決定部と、
決定したフィラー動作が実行される前の元の姿勢が前記フィラー動作によって変化し、前記フィラー動作の完了後に前記元の姿勢に復帰するまでの時間と、前記応答遅延時間とを一致させるように、前記フィラー動作を前記コミュニケーションロボットに実行させる動作制御部と、
を有することを特徴とするコミュニケーションロボット。
【請求項2】
前記決定部は、前記応答遅延時間長の予測値が長いほど前記コミュニケーションロボットのシルエットの変化が大きい動作を実行対象として決定することを特徴とする請求項1に記載のコミュニケーションロボット。
【請求項3】
前記決定部は、前記予測された応答遅延時間長の経過後に、前記コミュニケーションロボットにより応答が出力できない場合、決定された動作よりも短時間の動作を更に実行対象として決定することを特徴とする請求項1または2に記載のコミュニケーションロボット。
【請求項4】
前記予測部は、前記情報の量および応答遅延時間長の予測値の対応関係が定義された対応関係データを参照して、前記コミュニケーションロボットに入力される情報の量に対応する前記応答遅延時間長の予測値を予測に用いることを特徴とする請求項1、2または3に記載のコミュニケーションロボット。
【請求項5】
前記対応関係データに含まれる前記応答遅延時間長の予測値を前記応答遅延時間長の実測値に基づいて更新する更新部をさらに有することを特徴とする請求項4に記載のコミュニケーションロボット。
【請求項6】
コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測し、
予測された応答遅延時間長に対応する
、前記コミュニケーションロボットの
身体の駆動であるフィラー動作を決定し、
決定したフィラー動作が実行される前の元の姿勢が前記フィラー動作によって変化し、前記フィラー動作の完了後に前記元の姿勢に復帰するまでの時間と、前記応答遅延時間とを一致させるように、前記フィラー動作を前記コミュニケーションロボットに実行させる、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項7】
コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測し、
予測された応答遅延時間長に対応する
、前記コミュニケーションロボットの
身体の駆動であるフィラー動作を決定し、
決定したフィラー動作が実行される前の元の姿勢が前記フィラー動作によって変化し、前記フィラー動作の完了後に前記元の姿勢に復帰するまでの時間と、前記応答遅延時間とを一致させるように、前記フィラー動作を前記コミュニケーションロボットに実行させる、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コミュニケーションロボット、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
プレゼンテーションや展示、フロント業務等の様々な現場で対人のコミュニケーションを実現するコミュニケーションロボットの普及が進んでいる。例えば、コミュニケーションロボットには、音声認識や機械翻訳、音声感情分析などの音声処理の他、顔認識や表情認識などの画像処理に関するAI(Artificial Intelligence)技術を活用したプラットフォームが導入される。
【0003】
このようにコミュニケーションロボットが音声処理や画像処理などの情報処理を実行する場合、コミュニケーションロボットに情報が入力されてからコミュニケーションロボットが処理結果を応答するまでに時間差が応答遅延時間として発生する。さらに、コミュニケーションロボットに接続された外部のコンピュータにより情報処理が実行される場合、ネットワークの伝送遅延が加わる分、コミュニケーションロボットの内部で情報処理が実行される場合よりも応答遅延時間が拡大する。
【0004】
ところで、音声認識機能を備えた車載ナビゲーション装置等の車載システムへの適用を想定した技術として、応答遅延時間に応じた時間長のフィラー、例えば「ええと」や「あの」などのつなぎ言葉を発話する音声認識端末装置が提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2006-88276号公報
【文献】特開2014-110558号公報
【文献】特開2015-135420号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記の音声認識端末装置は、あくまで音声UI(User Interface)の機能を提供するものに過ぎず、対人のコミュニケーションを実現するコミュニケーションロボットへの適用はそもそも想定されていない。
【0007】
1つの側面では、本発明は、コミュニケーションロボットに処理の待ち時間中にフィラー動作を行わせつつ、処理結果を出力する際には、とるべき姿勢で処理結果を出力できるようにするコミュニケーションロボット、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一態様では、コミュニケーションロボットは、コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測する予測部と、予測された応答遅延時間長に対応する前記コミュニケーションロボットの動作を決定する決定部と、決定した前記動作を前記コミュニケーションロボットに実行させる動作制御部と、を有する。
【発明の効果】
【0009】
一実施形態によれば、ロボットの応答遅延中の動作に発生する不自然さを抑制できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例1に係るコミュニケーションロボットのユースケースの一例を示す図である。
【
図2】
図2は、応答遅延時間の一例を示す図である。
【
図3】
図3は、実施例1に係るコミュニケーションロボット1の機能的構成の一例を示すブロック図である。
【
図7】
図7は、ルックアップテーブル13Aの一例を示す図である。
【
図8】
図8は、ルックアップテーブル14Aの一例を示す図である。
【
図9】
図9は、実施例1に係るフィラー動作の制御処理の手順を示すフローチャートである。
【
図10】
図10は、実施例2に係るコミュニケーションロボット2の機能的構成の一例を示すブロック図である。
【
図11】
図11は、動作区間の設定方法の一例を示す図である。
【
図12】
図12は、動作と違和感の有無の対応関係の一例を示す図である。
【
図13】
図13は、各動作区間で実行が許可される動作の一例を示す図である。
【
図14】
図14は、実施例2に係るフィラー動作の制御処理の手順を示すフローチャートである。
【
図15】
図15は、実施例3に係るコミュニケーションロボット4の機能的構成の一例を示すブロック図である。
【
図16】
図16は、実施例1~実施例3に係る制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して本願に係るコミュニケーションロボット、制御方法及び制御プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0012】
[ユースケースの一例]
図1は、実施例1に係るコミュニケーションロボットのユースケースの一例を示す図である。
図1には、ユースケースのあくまで一例として、多言語のコミュニケーションを実現する側面から、音声認識や機械翻訳を併用することにより、対象者U1の発話を母国語から外国語へ翻訳して読み上げる音声UIの機能を提供するコミュニケーションロボット1を示す。
【0013】
[応答遅延時間]
ここで、コミュニケーションロボット1に対する発話が対象者U1により行われてからその発話が目的とする外国語でコミュニケーションロボット1により読み上げられるまでの間には、応答遅延時間が発生する。このような応答遅延時間が発生する一因として、音声認識や機械翻訳等の音声処理が実行されることが挙げられる。
【0014】
図2は、応答遅延時間の一例を示す図である。
図2には、コミュニケーションロボット1で発生するイベントが時系列に示されている。
図2に示すように、コミュニケーションロボット1は、対象者U1の発話を待機し(ステップS1)、発話の開始を検出してから当該発話の終了を検出する(ステップS2及びステップS3)。続いて、コミュニケーションロボット1は、ステップS2及びステップS3で検出された発話区間の音声データの翻訳を開始する(ステップS4)。そして、コミュニケーションロボット1は、発話区間の音声データの翻訳が終了すると(ステップS5)、対象者U1の発話が目的とする外国語に翻訳された合成音声の再生を開始し(ステップS6)、その後、再生が終了する(ステップS7)。
【0015】
これら一連のイベントにおいて、ステップS3で発話の終了が検出された時点からステップS6で翻訳後の合成音声の再生が開始される時点までの応答遅延時間Tは、対象者U1にとっては空白の期間、いわゆる待ち時間となる。なお、ここでは、コミュニケーションロボット1の内部で音声処理が実行される場合を例示したが、次のような場合、さらに応答遅延時間が拡大する。例えば、コミュニケーションロボット1に接続された外部のコンピュータにより音声処理がクラウドサービス等として実行される場合、ネットワークの伝送遅延が加わる分、さらに応答遅延時間が拡大する。
【0016】
[課題の一側面]
このような応答遅延時間Tに直面して、コミュニケーションロボット1が停止していたのでは、対象者U1およびコミュニケーションロボット1の間のインタラクションの親和性が損なわれる。
【0017】
そうであるからと言って、背景技術の欄で挙げた音声認識端末装置のように、コミュニケーションロボット1につなぎ言葉を発話させたとしても、依然として、動作に不自然さが残る。あくまで一例として、コミュニケーションロボット1に情報が入力されたタイミングからコミュニケーションロボット1が応答を出力するまでの間につなぎ言葉の発話が終了することによりつなぎ言葉が途切れることがある。この場合、つなぎ言葉が途切れたタイミングからコミュニケーションロボット1が応答を出力するまでに生じる時間差が継ぎ目となって不自然に感じられる場合がある。
【0018】
また、背景技術の欄で挙げた音声認識端末装置以外の文献に記載の技術を用いて、応答遅延時のインタラクションに発生する違和感を抑制することも困難である。このような文献の一例として、相手の状態に応じて適切な模倣動作や同調動作のような協力的動作をコミュニケーションロボットに実行させる動作生成システムがある。
【0019】
上記の動作生成システムでは、次のような課題が設定されている。すなわち、「人間14が何かを行うときに、ロボット12がこの種の模倣動作や同調動作(たとえば、人間14が指差しをするときに、ロボット12の頭がすぐに同じ方向を向く)を即座に実行するならば、明らかに不自然である。」という課題が設定されている。このような課題設定の下、上記の動作精製システムでは、所定の反応の遅延時間経過後に協力的動作をコミュニケーションロボットに行わせる。このように、上記の文献では、「反応の遅延時間」という用語が含まれているが、その意味合いが上記の「応答遅延時間」との間で根本的に異なる。
【0020】
すなわち、上記の動作生成システムが「反応の遅延時間」は、コミュニケーションロボットが即座に動作を行うことができる状態であるにもかかわらず、人の反応に合わせてあえて待機することを目的とするものである。このため、上記の「反応の遅延時間」には、コミュニケーションロボット1が音声処理等の情報処理を完了して応答できる状態になるまでインタラクションに違和感がない雰囲気をつなぐというが動機付けが入りこむ余地がない。
【0021】
このような動機付けがない「反応の遅延時間」は、上記の「応答遅延時間T」に対応し得ない。それ故、人が不自然に感じない反応時間よりも応答遅延時間が長くなる状況が一例として発生しうる。このよう状況下で上記の「反応の遅延時間」がコミュニケーションロボットの動作の制御に用いられたとしても、音声処理等が完了する前に動作が途切れるので、ロボットの応答遅延時のインタラクションに違和感が発生する。
【0022】
[課題解決のアプローチの一側面]
そこで、本実施例に係るコミュニケーションロボット1は、コミュニケーションロボット1に対する情報入力完了から応答の再生開始までの応答遅延時間を予測し、予測された応答遅延時間に対応する動作の実行を決定する。これによって、コミュニケーションロボット1が音声処理等の情報処理を完了して応答できる状態になるまでインタラクションに違和感がない雰囲気をつなげることができる。この際、予測された応答遅延時間に対応する動作がコミュニケーションロボット1により行われるので、コミュニケーションロボット1の動作が終了するタイミングと、コミュニケーションロボット1が応答を出力するタイミングとの時間差を抑えることができる。このため、コミュニケーションロボット1の動作と、コミュニケーションロボット1の応答出力とをシームレスに近付けることができる結果、タイミングの時間差から生じる不自然さを抑制できる。したがって、本実施例に係るコミュニケーションロボット1によれば、ロボットの応答遅延時間中のインタラクション(挙動)に発生する違和感を抑制することが可能になる。
【0023】
[コミュニケーションロボット1の構成]
図3は、実施例1に係るコミュニケーションロボット1の機能的構成の一例を示すブロック図である。
図3に示すコミュニケーションロボット1は、所定のネットワークを介して、音声認識や機械翻訳、音声感情分析などの音声処理の他、顔認識や表情認識などの画像処理などをバックエンドで実行するサーバ装置50と接続される。このようにフロントエンドとして機能するコミュニケーションロボット1がサーバ装置50と接続されることにより、一例として、各種の音声処理や各種の画像処理がクラウドサービス等を通じて提供される。
【0024】
図3に示すように、コミュニケーションロボット1は、頭部3、胴部5、右腕部7R、左腕部7L、音声入力部9A、音声出力部9Bと、通信部9Cと、モータ9Mと、制御部10とを有する。なお、
図3に示す機能部は、あくまで例示であり、コミュニケーションロボット1の機能的構成が
図3に示す例以外の機能的構成を有することを妨げない。
【0025】
図3に示すコミュニケーションロボット1では、制御部10が出力する制御信号に従ってモータ9Mが動力を発生させることにより、頭部3、胴部5、右腕部7Rおよび左腕部7Lを駆動させることができる。
【0026】
頭部3は、モータ9Mの動力によって頭部3を駆動させるアクチュエータ31と、光を点灯または点滅する発光部32とを有する。このうち、発光部32は、コミュニケーションロボット1の感情表現に用いることができる。例えば、発光部32は、喜怒哀楽の感情ごとに当該感情に対応する色で点灯または点滅することにより、コミュニケーションロボット1の喜怒哀楽を表現することができる。
【0027】
図4は、頭部3の駆動例を示す図である。例えば、
図4の上段に示すように、X軸回りのトルクを発生させる制御信号をモータ9Mに出力して頭部3のアクチュエータ31を駆動することにより、頭部3をチルト方向に回転させることができる。このように左右のX軸を回転軸として頭部3を下方向および上方向に回転駆動させることにより、頷き動作等を行うことができる。また、
図4の中段に示すように、Y軸回りのトルクを発生させる制御信号をモータ9Mに出力して頭部3のアクチュエータ31を駆動させることにより、頭部3をパン方向に回転させることができる。このように上下のY軸を回転軸として頭部3を左方向および右方向に回転駆動させることにより、首振り動作等を行うことができる。さらに、また、
図4の下段に示すように、Z軸回りのトルクを発生させる制御信号をモータ9Mに出力して頭部3のアクチュエータ31を駆動させることにより、頭部3をロール方向に回転させることができる。このように頭部3を前後のZ軸回りに回転駆動させることにより、首傾げ動作等を行うことができる。
【0028】
胴部5は、モータ9Mの動力によって胴部5を駆動させるアクチュエータ51を有する。
図5は、胴部5の駆動例を示す図である。例えば、
図5の上段に示すように、X軸回りのトルクを発生させる制御信号をモータ9Mに出力して胴部5のアクチュエータ51を駆動することにより、胴部5をチルト方向に回転させることができる。このように左右のX軸を回転軸として胴部5を前方向および後方向に回転駆動させることにより、お辞儀動作や仰け反り動作などを行うことができる。また、
図5の下段に示すように、Y軸回りのトルクを発生させる制御信号をモータ9Mに出力して胴部5のアクチュエータ51を駆動することにより、胴部5をパン方向に回転させることができる。このように上下のY軸を回転軸として胴部5を左方向および右方向に回転駆動させることにより、胴ひねり動作等を行うことができる。さらに、また、
図5の下段に示すように、Z軸回りのトルクを発生させる制御信号をモータ9Mに出力して胴部5のアクチュエータ51を駆動させることにより、胴部5をロール方向に回転させることができる。このように胴部5を前後のZ軸回りに回転駆動させることにより、胴部5を左方に倒れる動作等を行うことができる。
【0029】
右腕部7Rおよび左腕部7Lは、モータ9Mの動力によって右腕部7Rまたは左腕部7Lを駆動させるアクチュエータ71R及びアクチュエータ71Lと、光を点灯または点滅する発光部72Rおよび発光部72Lとを有する。このうち、発光部72Rおよび発光部72Lは、右腕部7Rおよび左腕部7Lの先端部に設けることにより、方向指示器として機能させることができる。例えば、発光部72Rを点灯することにより、右腕部7Rが指す方向に視線を誘導することができる。また、発光部72Lを点灯することにより、左腕部7Lが指す方向に視線を誘導することができる。
【0030】
図6は、腕部7の駆動例を示す図である。例えば、
図6に示すように、X軸回りのトルクを発生させる制御信号をモータ9Mに出力して右腕部7Rのアクチュエータ71Rを駆動することにより、右腕部7Rを上下方向に回転させることができる。このように左右のX軸を回転軸として右腕部7Rを下方向および上方向に回転駆動させることにより、右腕の振り上げ動作や振り下げ動作などを行うことができる。ここで、
図6には、右腕部7Rの駆動例を抜粋して示したが、左腕部7Lについてもアクチュエータ71Lを駆動することにより、左腕部7Lを上下方向に回転させることができ、左腕の振り上げ動作や振り下げ動作などを行うことができる。これら右腕および左腕を連動させることにより、例えば、気を付けの姿勢や前にならえの姿勢をとらせることもできる。
【0031】
音声入力部9Aは、音信号を入力する機能部である。
【0032】
一実施形態として、音声入力部9Aは、音を電気信号に変換する1または複数のマイクロフォン等により実装することができる。例えば、音声入力部9Aは、マイクロフォンを介して音を採取することにより得られたアナログ信号をデジタル信号へ変換した上で音声データとして音声処理部11へ入力する。
【0033】
音声出力部9Bは、各種の音声を出力する機能部である。
【0034】
一実施形態として、音声出力部9Bは、1つまたは複数のスピーカを含むスピーカユニットとして実装することができる。例えば、音声出力部9Bは、制御部10からの指示にしたがって、プレゼンテーションやナビゲーションに関するメッセージを読み上げる合成音声等を出力することができる。
【0035】
制御部10は、コミュニケーションロボット1の全体制御を行う処理部である。
【0036】
一実施形態として、制御部10は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばDSP(Digital Signal Processor)やGPU(Graphics Processing Unit)などにより実装することができる。この他、制御部10は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
【0037】
制御部10は、図示しない主記憶装置として実装されるDRAM(Dynamic Random Access Memory)などのRAMのワークエリア上に、コミュニケーションロボット1を制御する制御プログラムを展開することにより、下記の処理部を仮想的に実現する。
【0038】
制御部10は、
図3に示すように、音声処理部11と、伝送処理部12と、予測部13と、決定部14と、動作制御部15とを有する。
【0039】
音声処理部11は、音声データを取得する処理部である。
【0040】
一実施形態として、音声処理部11は、音声入力部9Aから音声データを取得する。ここで音声入力部9Aから取得される音声データは、ストリーム形式で入力されることとしてもよいし、ファイル形式で入力されることとしてもかまわない。このように取得される音声データには、各種の音声処理を実行することができる。
【0041】
このような音声処理の一例として、音声処理部11は、音声データから発話区間を検出することができる。例えば、音声処理部11は、音声データの波形の振幅および零交差に基づいて発話開始および発話終了を検出することとしてもよいし、音声データのフレームごとにGMM(Gaussian mixture model)にしたがって音声の尤度および非音声の尤度を算出してこれらの尤度の比から発話開始および発話終了を検出することもできる。
【0042】
この他、音声処理部11は、音声データから検出された発話区間にワードスポッティングを始めとする音声認識を実行することもできる。例えば、音声処理部11は、発話区間の音声データを所定の言語モデルや所定の音素モデルと照合することにより、当該音声データをテキストへ変換する。
【0043】
なお、ここでは、コミュニケーションロボット1が発話区間の検出や発話区間の音声認識を実行する例を挙げたが、必ずしもコミュニケーションロボット1が発話区間の検出や発話区間の音声認識を実行せずともかまわない。例えば、コミュニケーションロボット1に接続されたサーバ装置50が発話区間の検出や発話区間の音声認識を実行することとしてもかまわない。
【0044】
伝送処理部12は、外部装置にデータを伝送する処理部である。
【0045】
1つの側面として、伝送処理部12は、音声処理部11により発話区間に対する音声認識が実行された場合、音声認識結果として得られたテキストの翻訳依頼をサーバ装置50に伝送する。この翻訳依頼が伝送されたサーバ装置50では、コミュニケーションロボット1から伝送されたテキストに機械翻訳を実行することにより、対象者U1の発話に対応するテキストを母国語から外国語へ翻訳する。このように母国語から外国語へ翻訳されたテキストがサーバ装置50からコミュニケーションロボット1へ応答される。
【0046】
なお、ここでは、あくまで一例として、テキストの翻訳がサーバ装置50により実行される例を挙げたが、テキストの翻訳もコミュニケーションロボット1により実行されることとしてもかまわない。
【0047】
予測部13は、コミュニケーションロボット1に入力される情報量に基づいて応答遅延時間を予測する処理部である。
【0048】
一実施形態として、予測部13は、音声処理部11により検出された発話区間の時間長から応答遅延時間を予測する。以下、発話区間の時間長のことを「発話時間」と記載する場合がある。例えば、予測部13は、発話時間と応答遅延時間Tの対応関係が定義されたルックアップテーブル13Aを参照して、音声処理部11により検出された発話時間に対応する値を応答遅延時間Tとして予測することができる。
図7は、ルックアップテーブル13Aの一例を示す図である。
図7に示すルックアップテーブル13Aによれば、発話時間が0秒以上0.5秒未満の範囲である場合、応答遅延時間が0.6秒と予測される。また、発話時間が0.5秒以上1.0秒未満の範囲である場合、応答遅延時間が1.0秒と予測される。また、発話時間が1.0秒以上1.5秒未満の範囲である場合、応答遅延時間が1.6秒と予測される。また、発話時間が1.5秒以上2.0秒未満の範囲である場合、応答遅延時間が2.5秒と予測される。
【0049】
このように、ルックアップテーブル13Aには、発話時間が短くなるにしたがって短い応答遅延時間Tが予測される一方で、発話時間が長くなるにしたがって長い応答遅延時間Tが予測される。このような応答遅延時間Tを定義するのは、発話時間が長くなるにつれて翻訳処理、例えば形態素解析や機械翻訳などの所要時間が長くなることが一因にある。さらに、発話時間が長くなるにつれてテキストのサイズが大きくなることから、ネットワークの伝送遅延も大きくなることも一因にある。
【0050】
なお、ここでは、あくまで一例としてルックアップテーブル13Aを用いる場合を例示したが、発話時間が長くなるにしたがって長い応答遅延時間Tを導出する関数を用いて、発話時間に対応する応答遅延時間Tを算出することとしてもかまわない。例えば、応答遅延時間Tを導出する関数の一例として、発話時間を「x」としたとき、T=1.3*xを採用することができる。また、発話時間および応答遅延時間Tの両者の関係は、必ずしも線形でなくともよく、非線形であってかまわない。例えば、応答遅延時間Tを導出する非線形の関数の一例として、発話時間を「x」としたとき、シグモイド関数σ(x)を採用することができる。この場合、シグモイド関数のゲインには、一例として、人が一呼吸で発話する発話時間の推定上限値などを設定することができる。
【0051】
決定部14は、応答遅延時間に応じてコミュニケーションロボット1のフィラー動作を決定する処理部である。以下、コミュニケーションロボット1に実行させる動作の中でも、コミュニケーションロボット1に対する情報入力から応答出力までの応答遅延時間をつなぐ動作のことを「フィラー動作」と記載する場合がある。
【0052】
一実施形態として、決定部14は、予測部13により予測された応答遅延時間からコミュニケーションロボット1のフィラー動作を決定する。ここで言う「フィラー動作」には、コミュニケーションロボット1の身体の駆動のみならず、その他の表現、例えばメッセージ等の音声出力やLED点滅等の表示などもその範疇に含まれる。例えば、決定部14は、応答遅延時間と動作の対応関係が定義されたルックアップテーブル14Aを参照して、予測部13により予測された応答遅延時間Tに対応する動作をコミュニケーションロボット1のフィラー動作として決定することができる。
【0053】
図8は、ルックアップテーブル14Aの一例を示す図である。
図8に示すルックアップテーブル14Aによれば、応答遅延時間Tが0秒以上1秒未満の範囲である場合、LED点滅で表現を行う動作が定義されている。この動作は、一例として、頭部3に発光部32として組み込まれたリング状のLEDを点滅させることにより実現できる。また、応答遅延時間Tが1秒以上2秒未満の範囲である場合、コミュニケーションロボット1に目線を上に向ける動作を実行させることが定義されている。この動作は、一例として、コミュニケーションロボット1の頭部3の中で顔の正面に対応する部分を水平方向よりも上側に向く姿勢へ駆動させることにより実現できる。また、応答遅延時間Tが2秒以上5秒未満の範囲である場合、コミュニケーションロボット1に首をかしげる動作を実行させることが定義されている。この動作は、一例として、コミュニケーションロボット1の頭部3をロール方向へ回転して駆動させることにより実現できる。また、応答遅延時間Tが5秒以上の範囲である場合、コミュニケーションロボット1に両手を上げる動作を実行すると共に、メッセージ「少々お待ち下さい」の音声出力で表現を行うことが定義されている。この動作は、一例として、コミュニケーションロボット1の右腕部7Rおよび左腕部7Lを上方向に回転して駆動させることにより実現できる。
【0054】
このように、ルックアップテーブル14Aには、応答遅延時間Tが短いほどコミュニケーションロボット1の外形形状、いわゆるシルエットの変化が小さい動作がフィラー動作として定義されている。これは、フィラー動作が実行されることで変化した姿勢のままで情報入力、例えば対象者U1の発話等に対する応答を出力する事態を避け、フィラー動作前の姿勢に速やかに戻して応答を出力するためである。一方で、ルックアップテーブル14Aには、応答遅延時間Tが長いほどコミュニケーションロボット1のシルエットの変化が大きい動作がフィラー動作として定義されている。これは、コミュニケーションロボット1のフィラー動作が小さい場合、次のような不安を対象者U1に与えやすい側面があるからである。例えば、応答遅延時間が長引くにつれて情報入力がコミュニケーションロボット1により受け付けられていない、あるいは情報入力に対応する情報処理が実行されていない等の不安を対象者U1に与えやすい側面があるからである。
【0055】
なお、ここでは、あくまで一例としてルックアップテーブル14Aを用いる場合を例示したが、応答遅延時間Tが長くなるにしたがってシルエットの変化が大きい動作を導出する関数を用いて、応答遅延時間Tに対応する動作を出力することとしてもかまわない。例えば、右腕部7R及び左腕部7Lの少なくとも1つの振り上げ動作や振り下げ動作の回転角度の大きさを「θ」としたとき、θ=(π*T)/4を採用することができる。また、応答遅延時間Tの長さおよび動作のシルエットの変化の大きさの両者の関係は、必ずしも線形でなくともよく、非線形であってかまわない。例えば、右腕部7R及び左腕部7Lの少なくとも1つの振り上げ動作や振り下げ動作の回転角度の大きさを「θ」としたとき、シグモイド関数σ(θ)を採用することができる。この場合、シグモイド関数のゲインには、一例として、腕部7が上限まで振り上げられた方位と腕部7が下限まで振り下げられた方位との差、すなわち腕部7の可動域などを設定することができる。
【0056】
動作制御部15は、コミュニケーションロボット1の動作を制御する処理部である。
【0057】
一実施形態として、動作制御部15は、フィラー動作が実行される前の元の姿勢がフィラー動作によって変化し、フィラー動作の完了後に元の姿勢に復帰するまでの時間と、応答遅延時間Tとを一致させることとする。この場合、動作制御部15は、応答遅延時間Tが経過した時点で各部位の姿勢が元の姿勢に復帰できるように、コミュニケーションロボット1の各部位の駆動量および駆動速度などの駆動パラメータを決定し、駆動パラメータにしたがってフィラー動作および元の姿勢への復帰動作を実行する。
【0058】
例えば、フィラー動作が「LED点滅」である場合、動作制御部15は、コミュニケーションロボット1の頭部3に発光部32として組み込まれたリング状のLEDを点滅させる。また、フィラー動作が「目線を上に向ける」である場合、動作制御部15は、コミュニケーションロボット1の左右方向のX軸回りに頭部3を上方向へ回転駆動させる。また、フィラー動作が「首をかしげる」である場合、動作制御部15は、コミュニケーションロボット1の前後方向のZ軸回りに頭部3をロール方向、左方向または右方向へ回転駆動させる。また、フィラー動作が「両手を上げる+音声メッセージ」である場合、コミュニケーションロボット1の左右方向のX軸回りに右腕部7Rおよび左腕部7Lを上方向へ回転駆動させると共に、音声出力部9Bからメッセージ「少々お待ち下さい」を音声出力させる。このようなフィラー動作の実行後、動作制御部15は、駆動系のフィラー動作が行われていた場合、フィラー動作の実行前の元の姿勢に復帰する復帰動作を実行する。
【0059】
[処理の流れ]
図9は、実施例1に係るフィラー動作の制御処理の手順を示すフローチャートである。この処理は、一例として、コミュニケーションロボット1に対する情報入力を受け付けた場合、例えば音声処理部11により発話区間が検出された場合に起動する。
【0060】
図9に示すように、音声入力部9Aから取得された音声データから発話区間が検出されると(ステップS101Yes)、音声処理部11は、当該発話区間にワードスポッティングを始めとする音声認識を実行する(ステップS102)。続いて、伝送処理部12は、ステップS102の音声認識結果として得られたテキストの翻訳依頼をサーバ装置50に伝送する(ステップS103)。
【0061】
このようにテキストの翻訳依頼が伝送されたサーバ装置50では、コミュニケーションロボット1から伝送されたテキストに機械翻訳が実行される。そして、対象者U1の発話に対応するテキストが母国語から外国語へ翻訳された段階でテキストの翻訳結果がコミュニケーションロボット1へ返信される。
【0062】
これらステップS102又はステップS103と並行するか、あるいはステップS102及びステップS103と前後して、予測部13は、ステップS101で検出された発話区間の時間長から応答遅延時間を予測する(ステップS104)。そして、決定部14は、ステップS104で予測された応答遅延時間からコミュニケーションロボット1のフィラー動作を決定する(ステップS105)。
【0063】
なお、ステップS104で予測される応答遅延時間は、ステップS105におけるフィラー動作の決定に用いられる。このため、ステップS104の処理は、ステップS105の処理が実行されるまでの任意のタイミングで実行することができる。例えば、ステップS104の処理がステップS103の処理の後に実行されたとしても、ステップS102又はステップS103と並行して実行されたとしても、ステップS105以降の処理内容に変更はない。
【0064】
その上で、動作制御部15は、ステップS104で予測された応答遅延時間Tの間、ステップS105で決定されたフィラー動作および元の姿勢への復帰動作を実行する(ステップS106)。
【0065】
そして、元の姿勢へ復帰した段階でテキストの翻訳結果がサーバ装置50から受信されない場合(ステップS107No)、動作制御部15は、追加のフィラー動作、例えばシルエットの変化が小さいフィラー動作を優先して実行し(ステップS108)、ステップS107へ移行する。
【0066】
一方、元の姿勢へ復帰した段階でテキストの翻訳結果がサーバ装置50から受信された場合(ステップS107Yes)、動作制御部15は、サーバ装置50によるテキストの翻訳結果を合成音声等で音声出力し(ステップS109)、処理を終了する。
【0067】
なお、
図9に示すフローチャートでは、発話区間が検出された後にフィラー動作を実行する場合を例示したが、発話終了が検出される前にフィラー動作を開始することもできる。例えば、発話開始が検出されてから所定の閾値以上、例えば3秒以上経過しても発話終了が検出されない場合、シルエットの変化が大きいフィラー動作を優先して発話終了が検出される前に先行してフィラー動作を開始することもできる。
【0068】
この他、
図9に示すフローチャートでは、元の姿勢へ復帰されてからサーバ装置50によるテキストの翻訳結果を音声出力する場合を例示したが、これに限定されない。例えば、元の姿勢への復帰前にサーバ装置50からテキストの翻訳結果が受信された場合、復帰動作を実行しながらサーバ装置50によるテキストの翻訳結果を音声出力することとしてもかまわない。
【0069】
[効果の一側面]
上述してきたように、本実施例に係るコミュニケーションロボット1は、コミュニケーションロボット1に対する情報入力から応答出力までの応答遅延時間を予測し、予測された応答遅延時間に対応する動作の実行を決定する。これによって、コミュニケーションロボット1が音声処理等の情報処理を完了して応答できる状態になるまでインタラクションに違和感がない雰囲気をつなげることができる。したがって、本実施例に係るコミュニケーションロボット1によれば、ロボットの応答遅延時のインタラクションに発生する違和感を抑制することが可能である。
【実施例2】
【0070】
さて、上記の実施例1では、応答遅延時間Tの間に1つのフィラー動作をコミュニケーションロボット1に実行させる場合を例示したが、応答遅延時間の間に実行できるフィラー動作が必ずしも1つに限定される訳ではない。そこで、本実施例では、2つ以上のフィラー動作を組み合わせて実行する例について説明する。
【0071】
図10は、実施例2に係るコミュニケーションロボット2の機能的構成の一例を示すブロック図である。
図10に示すように、コミュニケーションロボット2は、
図3に示すコミュニケーションロボット1に比べて、制御部20の機能の一部が異なる。すなわち、コミュニケーションロボット2は、設定部21をさらに有すると共に、
図3に示す決定部14の機能と一部の機能が異なる決定部22を有する。なお、
図3に示すコミュニケーションロボット1と同様の機能を発揮する機能部には同一の符号を付与し、その説明を省略する。
【0072】
設定部21は、応答遅延時間に基づいて複数の動作区間を設定する処理部である。ここでは、あくまで一例として、2つの動作区間で2種類のフィラー動作が実行される例を挙げて説明することとする。以下、2つの動作区間のうち先行する動作区間のことを「第1の動作区間」と記載すると共に、第1の動作区間に後続する動作区間のことを「第2の動作区間」と記載する場合がある。
【0073】
このように第1の動作区間および第2の動作区間を設定するのは、応答遅延時間の近傍でフィラー動作から応答出力の動作へつなげる際の違和感を低減する側面がある。すなわち、予測部13により予測される応答遅延時間の予測値が応答遅延時間の実測値と必ずしも一致するとは限らないが、そうであるからと言って、応答遅延時間の予測値が的外れであるケースは稀であり、応答遅延時間の実測値は予測値の近傍に収束しやすい。
【0074】
この知見を利用して、設定部21は、応答遅延時間の予測値に基づいて第1の動作区間および第2の動作区間を設定する。
図11は、動作区間の設定方法の一例を示す図である。
図11に示すように、設定部21は、応答遅延時間の予測値T
予測の経過時点の所定時間前、例えば1秒前までの区間を第1の動作区間に設定する。さらに、設定部21は、第1の動作区間の終了から応答遅延時間の予測値T
実測の経過時点を超えて所定時間後、例えば1秒後までを第2の動作区間に設定する。ここで、応答遅延時間の予測値T
予測が応答遅延時間の実測値T
実測との間でずれが生じたとしても、第2の動作区間の範囲内で応答遅延時間の予測値T
予測および応答遅延時間の実測値T
実測のずれが収束するように、上記の所定時間が設定される。例えば、応答遅延時間の予測値T
予測および応答遅延時間の実測値T
実測のずれの実績のうち所定の割合、例えば8割以上が含まれる区間長を第2の動作区間として設定することができる。この他、応答遅延時間の予測値T
予測および応答遅延時間の実測値T
実測のずれの統計値、例えば中央値や最頻値、平均値などに安全マージンが加算された区間長を第2の動作区間として設定することができる。なお、
図11には、応答遅延時間の予測値T
予測の経過時点の前および後で同一の区間長を持つ第2の動作区間を設定する例を説明したが、上記の実績や上記の統計値に基づいて異なる区間長を設定することもできる。
【0075】
これによって、応答遅延時間の予測値の経過時点を含む前後の所定時間が第2の動作区間に設定されることになる。このような第2の動作区間において、情報入力に対する応答を出力する動作、例えばテキストの翻訳結果に対応する発話の音声出力を割り込ませて実行する場合、動作が中断、あるいは継続されても違和感が少ないフィラー動作を実行させる。これによって、フィラー動作から応答出力の動作へつなげる際の違和感の軽減を図る。
【0076】
決定部22は、
図3に示す決定部14と同様、コミュニケーションロボット2に実行させるフィラー動作を決定する処理部である。
【0077】
1つの側面として、決定部22は、
図3に示す決定部14に比較して、設定部21により設定された複数の動作区間ごとに当該動作区間で実行させるフィラー動作を決定する点が異なる。例えば、上述の通り、設定部21により第1の動作区間および第2の動作区間が設定される場合、決定部22は、第1の動作区間および第2の動作区間ごとにフィラー動作を決定する。
【0078】
ここで、情報入力に対する応答を出力する動作をフィラー動作に割り込ませる状況を想定する場合、応答出力の動作の割込み時に動作が中断、あるいは継続されても違和感が少ないフィラー動作とそうでないフィラー動作がある。
【0079】
図12は、動作と違和感の有無の対応関係の一例を示す図である。
図12に示す例では、コミュニケーションロボット2のフィラー動作が駆動系の動作とその他の表現系の動作、すなわち表示および音声による動作とに分類して示されている。さらに、
図12に示す例では、駆動系の動作が対象者U1に目線を合わせた状態で実行される動作と目線を外す動作とにさらに分類されている。このような分類ごとに、各々の動作が中断された場合と継続された場合とに分けてコミュニケーションロボット2がテキストの翻訳結果に対応する発話を音声出力する応答出力の動作を割り込ませる際の違和感の有無が示されている。
【0080】
図12に示す通り、対象者U1に目線を合わせた状態では、駆動系の動作が中断された場合も、あるいは駆動系の動作が継続された場合のいずれの場合においても、上記の音声出力の割込みに対象者U1が持つ違和感は少ないことがわかる。例えば、
図8に例示する駆動系の動作の中でも、両手を上げる動作は、対象者U1に目線を合わせた状態で行われる。このように両者の目線が合った状態であれば、コミュニケーションロボット2がテキストの翻訳結果に対応する発話を音声出力しても、当該発話が対象者U1に向けられたものであることが明らかである。したがって、コミュニケーションロボット2の腕部7を上げる動作、あるいは上げた腕部7を戻す動作が継続されようが途中で中断されようが、さほどの違和感はない。
【0081】
一方、対象者U1から目線が外された状態では、駆動系の動作が中断される場合も、あるいは駆動系の動作が継続される場合のいずれの場合においても、上記の音声出力の割込みに対象者U1が違和感を持つことがわかる。例えば、
図8に例示する駆動系の動作の中でも、目線を上げる動作は、対象者U1から目線が外される。これを対象者U1の視点から見れば、目線を外しながらの状態、あるいは目線が外された状態でコミュニケーションロボット2がテキストの翻訳結果に対応する発話を音声出力することになる。この場合、当該発話が対象者U1に向けられたものかどうかに疑問が生じるので、対象者U1に違和感が生じる。
【0082】
また、表現系の動作のうち表示が中断される場合、応答遅延時間が経過して対象者U1にとっての待ち時間が終了したことをLED点滅の終了によって表現できる。このため、コミュニケーションロボット2がテキストの翻訳結果に対応する発話を音声出力しても対象者U1が持つ違和感は少ないことがわかる。その一方で、表示が継続される場合、LED点滅の表現が継続することによって待ち時間が終了していないとの錯誤を対象者U1に与える可能性があるので、対象者U1に違和感が生じる。
【0083】
さらに、表示系の動作のうち音声の表現が中断される場合も、あるいは音声の表現が継続される場合のいずれの場合においても、コミュニケーションロボット2がテキストの翻訳結果に対応する発話を音声出力すると、対象者U1が違和感を持つことがわかる。例えば、
図8に例示する表現系の動作の中でも、メッセージ「少々お待ち下さい」の音声出力が中断されてテキストの翻訳結果に対応する発話が即座に音声出力されれば、デジタルに音声出力が切り替わる様子が人間の振る舞いから逸脱するので、対象者U1に違和感が生じる。また、メッセージ「少々お待ち下さい」の音声出力を継続すれば、テキストの翻訳結果に対応する発話を音声出力できる状態であるにもかかわらず、無意味なフィラー動作を行うことになるので、本末転倒である。
【0084】
これらのことから、決定部22は、第1の動作区間で実行される第1のフィラー動作を決定する場合、上記の実施例1と同様、ルックアップテーブル14Aを参照して、第1の動作区間の区間長に対応する動作を第1のフィラー動作として決定する。その一方で、決定部22は、第2の動作区間で実行される第2のフィラー動作を決定する場合、コミュニケーションロボット2が実行可能な動作のうち、応答出力の動作の割込み時に動作が中断、あるいは継続されても違和感が少ない動作を第2のフィラー動作として決定する。
【0085】
図13は、各動作区間で実行が許可される動作の一例を示す図である。
図13に示すように、第1の動作区間には、第1の動作区間の区間長に対応する動作であれば、駆動系の動作のいずれであっても、あるいは表現系の動作のいずれであっても、第1のフィラー動作として決定することが許可されるので、制限は課されない。その一方で、第2の動作区間には、駆動系の動作の中でも、対象者U1から目線が外される動作を第2のフィラー動作として決定することは許可されない。すなわち、第2の動作区間には、対象者U1に目線を合わせた状態で実行される動作に絞って第2のフィラー動作として決定することが許可されるといった制限が課される。さらに、第2の動作区間には、表現系の動作の中でも、応答出力の動作の割込み時に動作が中断されても違和感が少ない表示による動作に絞って第2のフィラー動作として決定することが許可されるといった制限が課される。
【0086】
このように、情報入力に対する応答を出力する動作、例えばテキストの翻訳結果に対応する発話の音声出力を第2のフィラー動作に割り込ませて実行する場合、動作が中断、あるいは継続されても違和感が少ない動作を第2のフィラー動作として決定する。これによって、第2のフィラー動作から応答出力の動作へつなげる際の違和感の軽減を図る。すなわち、コミュニケーションロボット2の動作が終了するまでの段階で当該動作が中断されて応答が出力される場合、当該動作の中断によって動作が途切れる継ぎ目が違和感となって現れることがある。この違和感の現れ方は、
図12に示す通り、駆動系および表現系の動作の種類が変わることによって程度に差が生じる。このことから、中断によって途切れる継ぎ目が違和感となって現れにくい駆動系および表現系の動作を第2のフィラー動作として実行することで、第2のフィラー動作から応答出力の動作へつなげる際の違和感を軽減することができる。
【0087】
[処理の流れ]
図14は、実施例2に係るフィラー動作の制御処理の手順を示すフローチャートである。この処理も、一例として、コミュニケーションロボット2に対する情報入力を受け付けた場合、例えば音声処理部11により発話区間が検出された場合に起動する。
【0088】
図14に示すように、音声入力部9Aから取得された音声データから発話区間が検出されると(ステップS201Yes)、音声処理部11は、当該発話区間にワードスポッティングを始めとする音声認識を実行する(ステップS202)。続いて、伝送処理部12は、ステップS202の音声認識結果として得られたテキストの翻訳依頼をサーバ装置50に伝送する(ステップS203)。
【0089】
このようにテキストの翻訳依頼が伝送されたサーバ装置50では、コミュニケーションロボット1から伝送されたテキストに機械翻訳が実行される。そして、対象者U1の発話に対応するテキストが母国語から外国語へ翻訳される段階でテキストの翻訳結果がコミュニケーションロボット2へ返信される。
【0090】
これらステップS202又はステップS203と並行するか、あるいはステップS202及びステップS203と前後して、予測部13は、ステップS201で検出された発話区間の時間長から応答遅延時間を予測する(ステップS204)。続いて、設定部21は、ステップS204で予測された応答遅延時間の予測値に基づいて第1の動作区間および第2の動作区間を設定する(ステップS205)。
【0091】
なお、ステップS204で予測される応答遅延時間は、ステップS205における第1の動作区間および第2の動作区間の設定に用いられる。このため、ステップS204の処理は、ステップS205の処理が実行されるまでの任意のタイミングで実行することができる。例えば、ステップS204の処理がステップS203の処理の後に実行されたとしても、ステップS202又はステップS203と並行して実行されたとしても、ステップS205以降の処理内容に変更はない。
【0092】
さらに、決定部22は、ルックアップテーブル14Aを参照して、第1の動作区間の区間長に対応する動作を第1のフィラー動作として決定する。さらに、決定部22は、応答出力の動作の割込み時に動作が中断、あるいは継続されても違和感が少ない動作を第2のフィラー動作として決定する(ステップS206)。
【0093】
そして、動作制御部15は、ステップS205で設定された第1の動作区間の間、ステップS206で決定された第1のフィラー動作および元の姿勢への復帰動作を実行する(ステップS207)。
【0094】
その後、動作制御部15は、ステップS206で決定された第2のフィラー動作および元の姿勢への復帰動作を開始する(ステップS208)。そして、サーバ装置50からテキストの翻訳結果が受信される前に第2のフィラー動作が完了した場合(ステップS209NoかつステップS210Yes)、動作制御部15は、追加のフィラー動作、例えばシルエットの変化が小さいフィラー動作を開始し(ステップS211)、ステップS209へ移行する。
【0095】
また、テキストの翻訳結果がサーバ装置50から受信された場合(ステップS209Yes)、動作制御部15は、実行中の第2のフィラー動作または追加のフィラー動作を中断するか、あるいは継続し(ステップS212)、サーバ装置50によるテキストの翻訳結果を合成音声等で音声出力し(ステップS213)、処理を終了する。
【0096】
なお、
図14に示すフローチャートでは、無条件に第1の動作区間および第2の動作区間が設定される例を示したが、応答遅延時間が短いほど複数の動作を行うことは困難となるので、一定の条件を課すこともできる。例えば、ステップS204で予測された応答遅延時間が所定の閾値、例えば5秒以上であるか否かを判定する。このとき、応答遅延時間が閾値以上である場合に絞ってステップS205以降の処理を実行する一方で、応答遅延時間が閾値未満である場合、上記の実施例1で
図9を用いて説明したステップS105以降の処理を実行することもできる。
【0097】
[効果の一側面]
上述してきたように、本実施例に係るコミュニケーションロボット2によれば、上記の実施例1に係るコミュニケーションロボット1と同様、ロボットの応答遅延時のインタラクションに発生する違和感を抑制することが可能である。
【0098】
さらに、本実施例に係るコミュニケーションロボット2では、応答遅延時間に基づいて第1の動作区間および第2の動作区間を設定する。その上で、本実施例に係るコミュニケーションロボット2では、第1の動作区間の区間長に対応する動作を第1のフィラー動作として決定する。さらに、本実施例に係るコミュニケーションロボット2では、応答出力の動作の割込み時に動作が中断、あるいは継続されても違和感が少ない動作を第2のフィラー動作として決定する。それ故、応答遅延時間の予測値および応答遅延時間の実績値にずれが発生する場合でも、フィラー動作から応答出力の動作へつなげる際の違和感を軽減することが可能である。
【実施例3】
【0099】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0100】
[応答遅延時間1]
上記の実施例1および上記の実施例2では、応答遅延時間の予測に発話時間を用いる例を説明したが、発話時間に限定されず、他の情報を用いることができる。例えば、コミュニケーションロボット1及び2は、発話区間から音声認識により得られたテキストにおけるモーラや音素の数の他、テキストにおける表音文字の数、テキストに対する自然言語処理、例えば形態素解析で得られた単語の数などを応答遅延時間の予測に用いることができる。これらモーラ数、音素数、表音文字数、単語数のいずれの数値を用いる場合においても、数値が大きいほど翻訳処理の所要時間も長くなる。このため、
図7に示すルックアップテーブル13Aに準拠して、数値が小さいほど短い応答遅延時間を予測し、数値が大きいほど長い応答遅延時間を予測するルックアップテーブルや関数などを用いて、応答遅延時間を予測することができる。
【0101】
[応答遅延時間2]
例えば、コミュニケーションロボット1及び2は、応答遅延時間の実測値に基づいて応答遅延時間の予測値を更新することもできる。すなわち、コミュニケーションロボット1及び2は、
図9や
図14に示す処理が実行されるバックグラウンドにおいて、情報入力から応答出力までの応答遅延時間を実測値として計測する。このような応答遅延時間の一例として、上記の実施例1及び上記の実施例2の例で従えば、発話区間が検出されてからテキストの翻訳結果が出力されるまでの期間が挙げられる。その上で、コミュニケーションロボット1及び2は、当該実績値と当該実測値が計測された時の発話時間が対応付けられたログを蓄積する。このログを参照して、コミュニケーションロボット1及び2は、ルックアップテーブル13Aに含まれるレコードごとに、次のような処理を実行する。すなわち、コミュニケーションロボット1及び2は、上記のログに含まれる応答遅延時間の実測値のうち当該レコードの発話時間に対応する応答遅延時間の実測値と、レコード内の応答遅延時間の予測値との間でずれを算出する。このように算出されたずれの統計値、例えば最頻値や中央値、平均値を求め、コミュニケーションロボット1及び2は、ずれの統計値に基づいて当該レコードの応答遅延時間の予測値を更新する。例えば、予測値から実測値を減算することによりずれが算出される場合、ずれの統計値の符号が正であるならば、予測値からずれの統計値を減算する更新を実行する一方で、ずれの統計値の符号が負であるならば、予測値にずれの統計値を加算する更新を実行する。
【0102】
[応答遅延時間3]
上記の実施例1および上記の実施例2では、情報処理の一例として実行される翻訳処理による応答遅延時間を発話時間から動的に予測し、これ以外の応答遅延の要因、例えばネットワークや駆動については一定値を静的に含めて加味する例を説明した。しかしながら、上記の実施例1および上記の実施例2で示された例に限定されず、応答遅延の要因ごとに応答遅延時間を動的に予測することもできる。例えば、コミュニケーションロボット1又は2は、PING等のコマンドを用いてサーバ装置50の応答時間を測定してその応答時間からネットワークに関する応答遅延時間を個別に予測することができる。また、コミュニケーションロボット1又は2は、各部位のアクチュエータへ送信する制御信号の伝送時間から駆動に関する応答遅延時間を予測することができる。
【0103】
[スタンドアローン]
上記の実施例1および上記の実施例2では、コミュニケーションロボット1及び2がサーバ装置50により提供されるプラットフォームを利用する例を説明したが、コミュニケーションロボット1又は2は、スタンドアローンで情報処理を実行することとしてもかまわない。
図15は、実施例3に係るコミュニケーションロボット4の機能的構成の一例を示すブロック図である。
図15に示すように、コミュニケーションロボット4は、
図3に示すコミュニケーションロボット1および
図10に示すコミュニケーションロボット2に比べて、通信部9Cが不要であると共に、制御部40の機能の一部が異なる。すなわち、コミュニケーションロボット4は、音声処理部11や伝送処理部12の代わりに、音声区間検出部41、音声認識部42および翻訳部43を有する点が異なる。このように発話区間の検出、音声認識、自然言語処理および機械翻訳の全てがコミュニケーションロボット4により実行される場合、ネットワークの伝送遅延が発生する代わりに、音声処理の所要時間が変わる。例えば、音声区間検出部41、音声認識部42および翻訳部43による音声処理がコミュニケーションロボット1又は2の側で実行される分、音声処理の所要時間が増加する。このように音声処理の所要時間が増加する程度は、コミュニケーションロボット4のプロセッサ及びメモリ等のマシンパワーによって変化する。このため、コミュニケーションロボット4の予測部13が用いるルックアップテーブル13Aにおける応答遅延時間の予測値には、音声区間検出部41、音声認識部42および翻訳部43による翻訳処理の所要時間に基づく値が設定される。この際、コミュニケーションロボット4のプロセッサ及びメモリ等の性能の高低に応じて応答遅延時間の予測値を変化させることができる。
【0104】
[コミュニケーションロボットの情報処理]
上記の実施例1および上記の実施例2では、発話区間の検出、音声認識、自然言語処理および機械翻訳等の音声処理が情報処理として実行される例を挙げたが、コミュニケーションロボット1又は2が実行する情報処理は音声処理に限定されない。例えば、コミュニケーションロボット1、2又は4は、画像を入力とし、他の情報処理、例えば画像処理、例えば顔認識や表情認識などを実行することとしてもかまわない。この場合、画像処理の所要時間から応答遅延時間を予測することとすればよい。
【0105】
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、音声処理部11、伝送処理部12、予測部13、決定部14または動作制御部15をコミュニケーションロボット1の外部装置としてネットワーク経由で接続するようにしてもよい。また、音声処理部11、伝送処理部12、予測部13、設定部21、決定部22または動作制御部15をコミュニケーションロボット2の外部装置としてネットワーク経由で接続するようにしてもよい。また、音声区間検出部41、音声認識部42、翻訳部43、予測部13、設定部21、決定部22または動作制御部15をコミュニケーションロボット4の外部装置としてネットワーク経由で接続するようにしてもよい。また、音声処理部11、伝送処理部12、予測部13、決定部14または動作制御部15を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のコミュニケーションロボット1の機能を実現するようにしてもよい。また、音声処理部11、伝送処理部12、予測部13、設定部21、決定部22または動作制御部15を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のコミュニケーションロボット2の機能を実現するようにしてもよい。また、音声区間検出部41、音声認識部42、翻訳部43、予測部13、設定部21、決定部22または動作制御部15を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のコミュニケーションロボット4の機能を実現するようにしてもよい。
【0106】
[制御プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図16を用いて、上記の実施例と同様の機能を有する制御プログラムを実行するコンピュータの一例について説明する。
【0107】
図16は、実施例1~実施例3に係る制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
図16に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
【0108】
HDD170には、
図16に示すように、上記の実施例1で示した音声処理部11、伝送処理部12、予測部13、決定部14及び動作制御部15と同様の機能を発揮する制御プログラム170aが記憶される。また、HDD170には、上記の実施例2で示した音声処理部11、伝送処理部12、予測部13、設定部21、決定部22及び動作制御部15と同様の機能を発揮する制御プログラム170aが記憶されることとしてもよい。また、HDD170には、本実施例で示した音声区間検出部41、音声認識部42、翻訳部43、予測部13、設定部21、決定部22及び動作制御部15と同様の機能を発揮する制御プログラム170aが記憶されることとしてもよい。このような制御プログラム170aは、
図3に示した制御部10、
図10に示した制御部20または
図15に示した制御部40の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
【0109】
このような環境の下、CPU150は、HDD170から制御プログラム170aを読み出した上でRAM180へ展開する。この結果、制御プログラム170aは、
図16に示すように、制御プロセス180aとして機能する。この制御プロセス180aは、RAM180が有する記憶領域のうち制御プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、制御プロセス180aが実行する処理の一例として、
図9や
図14に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【0110】
なお、上記の制御プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に制御プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から制御プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに制御プログラム170aを記憶させておき、コンピュータ100がこれらから制御プログラム170aを取得して実行するようにしてもよい。
【0111】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0112】
(付記1)コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測する予測部と、
予測された応答遅延時間長に対応する前記コミュニケーションロボットの動作を決定する決定部と、
決定した前記動作を前記コミュニケーションロボットに実行させる動作制御部と、
を有することを特徴とするコミュニケーションロボット。
【0113】
(付記2)前記決定部は、前記応答遅延時間長の予測値が長いほど前記コミュニケーションロボットのシルエットの変化が大きい動作を実行対象として決定することを特徴とする付記1に記載のコミュニケーションロボット。
【0114】
(付記3)前記決定部は、前記予測された応答遅延時間長の経過後に、前記コミュニケーションロボットにより応答が出力できない場合、決定された動作よりも短時間の動作を更に実行対象として決定することを特徴とする付記1に記載のコミュニケーションロボット。
【0115】
(付記4)前記予測部は、前記情報の量に基づいて前記応答遅延時間長を予測することを特徴とする付記1に記載のコミュニケーションロボット。
【0116】
(付記5)前記予測部は、前記情報の量および応答遅延時間長の予測値の対応関係が定義された対応関係データを参照して、前記コミュニケーションロボットに入力される情報の量に対応する前記応答遅延時間長の予測値を予測に用いることを特徴とする付記4に記載のコミュニケーションロボット。
【0117】
(付記6)前記対応関係データに含まれる前記応答遅延時間長の予測値を前記応答遅延時間長の実測値に基づいて更新する更新部をさらに有することを特徴とする付記5に記載のコミュニケーションロボット。
【0118】
(付記7)前記予測部により予測された応答遅延時間長に基づいて第1の動作区間および第2の動作区間を設定する設定部をさらに有し、
前記決定部は、前記第1の動作区間の区間長に対応する動作を前記第1の動作区間で実行することを決定すると共に、前記コミュニケーションロボットと前記情報の入力を行う対象者との目線が合った状態で行われる動作を前記第2の動作区間で実行することを決定することを特徴とする付記1に記載のコミュニケーションロボット。
【0119】
(付記8)前記第2の動作区間は、前記応答遅延時間長の予測値の経過時点を含むことを特徴とする付記7に記載のコミュニケーションロボット。
【0120】
(付記9)コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測し、
予測された応答遅延時間長に対応する前記コミュニケーションロボットの動作を決定し、
決定した前記動作を前記コミュニケーションロボットに実行させる、
処理をコンピュータが実行することを特徴とする制御方法。
【0121】
(付記10)前記決定する処理は、前記応答遅延時間長の予測値が長いほど前記コミュニケーションロボットのシルエットの変化が大きい動作を実行対象として決定することを特徴とする付記9に記載の制御方法。
【0122】
(付記11)前記決定する処理は、前記予測された応答遅延時間長の経過後に、前記コミュニケーションロボットにより応答が出力できない場合、決定された動作よりも短時間の動作を更に実行対象として決定することを特徴とする付記9に記載の制御方法。
【0123】
(付記12)前記予測する処理は、前記情報の量に基づいて前記応答遅延時間長を予測することを特徴とする付記9に記載の制御方法。
【0124】
(付記13)前記予測する処理は、前記情報の量および応答遅延時間長の予測値の対応関係が定義された対応関係データを参照して、前記コミュニケーションロボットに入力される情報の量に対応する前記応答遅延時間長の予測値を予測に用いることを特徴とする付記12に記載の制御方法。
【0125】
(付記14)前記対応関係データに含まれる前記応答遅延時間長の予測値を前記応答遅延時間長の実測値に基づいて更新する処理を前記コンピュータがさらに実行することを特徴とする付記13に記載の制御方法。
【0126】
(付記15)前記予測された応答遅延時間長に基づいて第1の動作区間および第2の動作区間を設定する処理を前記コンピュータがさらに実行し、
前記決定する処理は、前記第1の動作区間の区間長に対応する動作を前記第1の動作区間で実行することを決定すると共に、前記コミュニケーションロボットと前記情報の入力を行う対象者との目線が合った状態で行われる動作を前記第2の動作区間で実行することを決定することを特徴とする付記9に記載の制御方法。
【0127】
(付記16)前記第2の動作区間は、前記応答遅延時間長の予測値の経過時点を含むことを特徴とする付記15に記載の制御方法。
【0128】
(付記17)コミュニケーションロボットに対して入力された情報に基づいて、前記情報が入力されたタイミングから前記コミュニケーションロボットにより応答を出力するまでの応答遅延時間長を予測し、
予測された応答遅延時間長に対応する動作を決定し、
決定した前記動作を前記コミュニケーションロボットに実行させる、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【0129】
(付記18)前記決定する処理は、前記応答遅延時間長の予測値が長いほど前記コミュニケーションロボットのシルエットの変化が大きい動作を実行対象として決定することを特徴とする付記17に記載の制御プログラム。
【0130】
(付記19)前記決定する処理は、前記予測された応答遅延時間長の経過後に、前記コミュニケーションロボットにより応答が出力できない場合、決定された動作よりも短時間の動作を更に実行対象として決定することを特徴とする付記17に記載の制御プログラム。
【0131】
(付記20)前記予測する処理は、前記情報の量に基づいて前記応答遅延時間長を予測することを特徴とする付記17に記載の制御プログラム。
【符号の説明】
【0132】
1 コミュニケーションロボット
3 頭部
5 胴部
7R 右腕部
7L 左腕部
9A 音入力部
9B 音出力部
9C 通信部
9M モータ
10 制御部
11 音声処理部
12 伝送処理部
13 予測部
14 決定部
15 動作制御部
50 サーバ装置