IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特開2024-135494情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法
<>
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図1
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図2
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図3
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図4
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図5
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図6
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図7
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図8
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図9
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図10
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図11
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図12
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図13
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図14
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図15
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図16
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図17
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図18
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図19
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図20
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図21
  • 特開-情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135494
(43)【公開日】2024-10-04
(54)【発明の名称】情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法
(51)【国際特許分類】
   G10L 13/047 20130101AFI20240927BHJP
   G06F 3/16 20060101ALI20240927BHJP
   G06F 3/01 20060101ALI20240927BHJP
   G10L 15/22 20060101ALI20240927BHJP
【FI】
G10L13/047 Z
G06F3/16 540
G06F3/01 510
G10L15/22 300U
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023046205
(22)【出願日】2023-03-23
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「企業連携実証実験基盤の開発・ 運営と企業コンソーシアム活動支援」委託研究、産業技術力強化法第17条の適用を受ける特許出願。/ 令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「利用者モニタリングと経験管理の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願。
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(72)【発明者】
【氏名】西村 祥吾
(72)【発明者】
【氏名】宮下 敬宏
(72)【発明者】
【氏名】内海 章
(72)【発明者】
【氏名】太田 陽
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA16
5E555AA27
5E555AA71
5E555AA80
5E555BA11
5E555BA15
5E555BA38
5E555BA87
5E555BB15
5E555BB38
5E555BD01
5E555BD07
5E555CA47
5E555CB64
5E555DA23
5E555DB32
5E555DB57
5E555FA00
(57)【要約】
【課題】 操作者が交代してもアバターを用いたサービスを円滑に提供することができる。
【解決手段】 情報処理システム10では、ネットワーク14によって、サーバ12、操作者端末16およびロボット18が連係する。ロボットは、表示装置30に操作者のアバター画像28を表示し、操作者であるサービスユーザに所定のサービスを提供する。このとき、操作者は、ロボットを通して対話エージェントと対話する。操作者の発話内容および対話エージェントの音声はサーバを介してロボットまたは操作者端末から出力される。他の操作者の個性を反映する場合には、この他の操作者の音響モデルを用いた合成音声が生成され、ロボットから出力され、他の操作者の癖動作がロボットによって実行される。
【選択図】 図1
【特許請求の範囲】
【請求項1】
ロボットまたはコンピュータグラフィックスのアバター、
前記アバターの動作および発話を制御する操作者が使用する操作者端末、および
前記アバターおよび前記操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムであって、
前記情報処理装置は、
前記アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定手段、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、
前記設定手段によって設定された個性情報に含まれる音響モデルを用いて、前記第1受信手段によって受信された前記操作者発話内容を、前記他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成手段、
前記制御信号および前記他者音声発話内容の少なくとも一方を前記アバターに送信する第1送信手段、
前記操作者の対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信手段、および
前記第2受信手段によって受信された記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第2送信手段を備え、
前記アバターは、
前記第1送信手段によって送信された前記制御信号および前記他者音声発話内容の少なくとも一方を受信する第3受信手段、
前記第3受信手段によって受信された前記制御信号に従う動作を実行する動作実行手段、
前記第3受信手段によって受信された前記他者音声発話内容を出力するアバター音声出力手段、および
前記操作者の対話相手の映像および音声の少なくとも一方を検出して前記情報処理装置に送信する第3送信手段を備え、
前記操作者端末は、
前記操作者によって入力された前記アバターの動作を制御する前記制御信号を検出して前記情報処理装置に送信する第4送信手段、
前記操作者によって入力された前記アバターの発話を制御する発話内容を検出して前記情報処理装置に送信する第5送信手段、
前記第2送信手段によって送信された前記対話相手の映像および音声の少なくとも一方を受信する第4受信手段、
前記第4受信手段によって受信された前記対話相手の映像を表示する表示手段、および
前記第4受信手段によって受信された前記対話相手の音声を出力する出力手段を備える、情報処理システム。
【請求項2】
複数の操作者の各々についての個性情報を記憶する記憶手段を備え、
前記情報処理装置の前記設定手段は、前記操作者端末からの指示に応じて、前記記憶手段に記憶された複数の個性情報のうちから選択した1の前記他の操作者についての個性情報を設定する、請求項1記載の情報処理システム。
【請求項3】
前記複数の操作者の各々が使用する複数の前記操作者端末をさらに備え、
前記情報処理装置の前記設定手段は、前記アバターの動作および発話を制御する前記操作者が他の操作者が使用する他の前記操作者端末に変更された場合に、設定されている前記個性情報を変更しない、請求項2記載の情報処理システム。
【請求項4】
前記個性情報は、前記操作者が前記アバターの動作および発話を制御している場合の癖動作の情報をさらに含み、
前記情報処理装置の前記第1送信手段は、前記癖動作についての制御信号を前記アバターにさらに送信し、
前記アバターの前記第3受信手段は、前記第1送信手段によって送信された前記癖動作についての前記制御信号をさらに受信し、
前記動作実行手段は、前記第3受信手段によって受信された前記癖動作についての前記制御信号に従う動作を実行する、請求項1から3までのいずれかに記載の情報処理システム。
【請求項5】
ロボットまたはコンピュータグラフィックスのアバター、および前記アバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置であって、
前記アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定手段、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、
前記設定手段によって設定された個性情報に含まれる音響モデルを用いて、前記第1受信手段によって受信された前記操作者発話内容を、前記他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成手段、
前記制御信号および前記他者音声発話内容の少なくとも一方を前記アバターに送信する第1送信手段、
前記操作者の対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信手段、および
前記第2受信手段によって受信された前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第2送信手段を備える、情報処理装置。
【請求項6】
ロボットまたはコンピュータグラフィックスのアバター、および前記アバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置の情報処理プログラムであって、
前記情報処理装置のプロセッサに、
前記アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定ステップ、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信ステップ、
前記設定ステップにおいて設定した個性情報に含まれる音響モデルを用いて、前記第1受信ステップにおいて受信した前記操作者発話内容を、前記他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成ステップ、
前記制御信号および前記他者音声発話内容の少なくとも一方を前記アバターに送信する第1送信ステップ、
前記操作者の対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信ステップ、および
前記第2受信ステップにおいて受信した前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第2送信ステップを実行させる、情報処理プログラム。
【請求項7】
ロボットまたはコンピュータグラフィックスのアバター、
前記アバターの動作および発話を制御する操作者が使用する操作者端末、および
前記操作者端末および前記操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムの情報処理方法であって、
前記情報処理装置は、
前記アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定し、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信し、
設定された個性情報に含まれる音響モデルを用いて、前記操作者端末から受信した前記操作者発話内容を、前記他の操作者の音声の発話内容である他者音声発話内容として生成し、
前記制御信号および前記他者音声発話内容の少なくとも一方を前記アバターに送信し、
前記操作者の対話相手の映像および音声の少なくとも一方を前記アバターから受信し、
受信した前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信し、
前記アバターは、
前記情報処理装置から送信された前記制御信号および前記他者音声発話内容の少なくとも一方を受信し、
受信した前記制御信号に従う動作を実行し、
受信した前記他者音声発話内容を出力し、
前記操作者の対話相手の映像および音声の少なくとも一方を検出して前記情報処理装置に送信し、
前記操作者端末は、
前記操作者によって入力された前記アバターの動作を制御する前記制御信号を検出して前記情報処理装置に送信し、
前記操作者によって入力された前記アバターの発話を制御する発話内容を検出して前記情報処理装置に送信し、
送信した前記対話相手の映像および音声の少なくとも一方を受信し、
受信した前記対話相手の映像を表示し、
受信した前記対話相手の音声を出力する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、操作者のアバターとして機能するロボットまたはCGキャラクタを用いた所定のサービスを提供する、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
この種の従来の情報処理システムの一例が特許文献1に開示されている。この特許文献1に開示された移動ロボットは、動作部と、第1の動作基準を適用して動作部を自律的に動作させるロボットモードと第2の動作基準を適用して動作部を遠隔操作者からの操作指示に基づいて動作させるアバターモードとを表出させて、ロボットモード、アバターモードおよびサービス利用者の三者間のコミュニケーションを調停するコミュニケーション調停部とを備える。移動ロボットは、アバターモードであるときには、遠隔操作者の操作指示に基づいて動作する。このとき、動作部は、第2の動作基準を記述したルックアップテーブル(第2テーブル)に従って移動ロボットを動作させる。
【0003】
また、この種の従来の情報処理システムの他の例が特許文献2に開示されている。この特許文献2に開示されたロボットシステムは、身体動作を実行するロボットを含み、モーションキャプチャシステムを用いて操作者の動作を計測し、ロボット制御装置により操作者の動作をロボットに再現させる。分解済動作DBは各人間に対応付けて、特定動作を複数の人間に共通の動作成分から構成される一般動作と或る人間に特有の動作成分から構成される癖動作とに分解して記憶している。ロボットの遠隔操作を行うときには、操作者は、分解済動作DBに記憶した人間の中から、癖動作を使用する人間を指定する。ロボット制御装置は、操作者の動作に対応する一般動作と指定された人間の癖動作とを合成した動作をロボットの動作コマンドに変換し、その動作コマンドをロボットに送信する。ロボットは送信された動作コマンドに基づいて自身の身体動作を制御する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-067799号
【特許文献2】特開2008-080431号
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1では、アバターモードでは、遠隔操作者自身に設定された第2の動作基準を適用するだけであり、他の遠隔操作者に設定された第2の動作基準を適用することは何ら考慮されていない。したがって、途中で遠隔操作者が交代した場合に、第2の動作基準も変更される。このため、利用者は同じ移動ロボットを介して遠隔操作者と対話しているにも関わらず、移動速度やジェスチャーの大きさが変化し、利用者は違和感を覚える可能性がある。また、遠隔操作者の声音が転送される場合には、声音の変化によって遠隔操作者が交代したことを利用者が認識する。
【0006】
この点、特許文献2では、他人の個性を選択することができる。このため、仮に、操作者が交代した場合であっても、直前にロボットを操作していた操作者の個性を選択することで、ロボットの癖動作が変化することはない。このため、ロボットとコミュニケーションを取る人間がロボットの身体動作によって操作者が変わったことを認識することはほとんど無いと考えられる。ただし、特許文献2では、操作者の発話はロボットのスピーカから出力されるため、ロボットとコミュニケーションを取る人間は、ロボットの癖動作が変化しなくても、音声の違いで操作者が交代したことを認識する。
【0007】
このように、背景技術では、利用者等は、音声の変化により、操作者が交代したことを認識するため、交代したことを利用者等に気づかせずにロボットが提供するサービスを継続することができない。したがって、改善の余地がある。
【0008】
それゆえに、この発明の主たる目的は、新規な、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【0009】
また、この発明の他の目的は、操作者が交代してもアバターを用いたサービスを円滑に提供することができる、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0010】
第1の発明は、ロボットまたはコンピュータグラフィックスのアバター、アバターの動作および発話を制御する操作者が使用する操作者端末、およびアバターおよび操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムである。情報処理装置は、アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定手段、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、設定手段によって設定された個性情報に含まれる音響モデルを用いて、第1受信手段によって受信された操作者発話内容を、他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成手段、制御信号および他者音声発話内容の少なくとも一方をアバターに送信する第1送信手段、操作者の対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信手段、および第2受信手段によって受信された対話相手の映像および音声の少なくとも一方を操作者端末に送信する第2送信手段を備える。アバターは、第1送信手段によって送信された制御信号および他者音声発話内容の少なくとも一方を受信する第3受信手段、第3受信手段によって受信された制御信号に従う動作を実行する動作実行手段、第3受信手段によって受信された他者音声発話内容を出力するアバター音声出力手段、および操作者の対話相手の映像および音声の少なくとも一方を検出して情報処理装置に送信する第3送信手段を備える。操作者端末は、操作者によって入力されたアバターの動作を制御する制御信号を検出して情報処理装置に送信する第4送信手段、操作者によって入力されたアバターの発話を制御する発話内容を検出して情報処理装置に送信する第5送信手段、第2送信手段によって送信された対話相手の映像および音声の少なくとも一方を受信する第4受信手段、第4受信手段によって受信された対話相手の映像を表示する表示手段、および第4受信手段によって受信された対話相手の音声を出力する出力手段を備える。
【0011】
第2の発明は、第1の発明に従属し、複数の操作者の各々についての個性情報を記憶する記憶手段を備え、情報処理装置の設定手段は、操作者端末からの指示に応じて、記憶手段に記憶された複数の個性情報のうちから選択した1の他の操作者についての個性情報を設定する。
【0012】
第3の発明は、第2の発明に従属し、複数の操作者の各々が使用する複数の操作者端末をさらに備え、情報処理装置の設定手段は、アバターの動作および発話を制御する操作者が他の操作者が使用する他の操作者端末に変更された場合に、設定されている個性情報を変更しない。
【0013】
第4の発明は、第1から第3の発明までのいずれかに従属し、個性情報は、操作者がアバターの動作および発話を制御している場合の癖動作の情報をさらに含み、情報処理装置の第1送信手段は、癖動作についての制御信号をアバターにさらに送信し、アバターの第3受信手段は、第1送信手段によって送信された癖動作についての制御信号をさらに受信し、動作実行手段は、第3受信手段によって受信された癖動作についての制御信号に従う動作を実行する。
【0014】
第5の発明は、ロボットまたはコンピュータグラフィックスのアバター、およびアバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置であって、アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定手段、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、設定手段によって設定された個性情報に含まれる音響モデルを用いて、第1受信手段によって受信された操作者発話内容を、他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成手段、制御信号および他者音声発話内容の少なくとも一方をアバターに送信する第1送信手段、操作者の対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信手段、および第2受信手段によって受信された対話相手の映像および音声の少なくとも一方を操作者端末に送信する第2送信手段を備える、情報処理装置である。
【0015】
第6の発明は、ロボットまたはコンピュータグラフィックスのアバター、およびアバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置の情報処理プログラムであって、情報処理装置のプロセッサに、アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定する設定ステップ、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信ステップ、設定ステップにおいて設定した個性情報に含まれる音響モデルを用いて、第1受信ステップにおいて受信した操作者発話内容を、他の操作者の音声の発話内容である他者音声発話内容として生成するアバター音声生成ステップ、制御信号および他者音声発話内容の少なくとも一方をアバターに送信する第1送信ステップ、操作者の対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信ステップ、および第2受信ステップにおいて受信した対話相手の映像および音声の少なくとも一方を操作者端末に送信する第2送信ステップを実行させる、情報処理プログラムである。
【0016】
第7の発明は、ロボットまたはコンピュータグラフィックスのアバター、アバターの動作および発話を制御する操作者が使用する操作者端末、および操作者端末および操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムの情報処理方法であって、情報処理装置は、アバターの動作および発話を制御する操作者とは異なる他の操作者の少なくとも音響モデルを含む個性情報を設定し、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信し、設定された個性情報に含まれる音響モデルを用いて、操作者端末から受信した操作者発話内容を、他の操作者の音声の発話内容である他者音声発話内容として生成し、制御信号および他者音声発話内容の少なくとも一方をアバターに送信し、操作者の対話相手の映像および音声の少なくとも一方をアバターから受信し、受信した対話相手の映像および音声の少なくとも一方を操作者端末に送信し、アバターは、情報処理装置から送信された制御信号および他者音声発話内容の少なくとも一方を受信し、受信した制御信号に従う動作を実行し、受信した他者音声発話内容を出力し、操作者の対話相手の映像および音声の少なくとも一方を検出して情報処理装置に送信し、操作者端末は、操作者によって入力されたアバターの動作を制御する制御信号を検出して情報処理装置に送信し、操作者によって入力されたアバターの発話を制御する発話内容を検出して情報処理装置に送信し、送信した対話相手の映像および音声の少なくとも一方を受信し、受信した対話相手の映像を表示し、受信した対話相手の音声を出力する、情報処理方法である。
【発明の効果】
【0017】
この発明によれば、操作者が交代してもアバターを用いたサービスを円滑に提供することができる。
【0018】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0019】
図1図1はこの発明の一実施例の情報処理システムを示す図である。
図2図2図1に示すサーバの電気的な構成の一例を示すブロック図である。
図3図3図1に示す操作者端末の電気的な構成の一例を示すブロック図である。
図4図4図1に示すロボットの電気的な構成の一例を示すブロック図である。
図5図5は操作者端末に表示されるUI画面の一例を示す図である。
図6図6は操作者端末に表示される選択画面の一例を示す図である。
図7図7は個性情報DBに記憶される個性情報のテーブルの一例を示す図である。
図8図8図2に示すサーバのRAMのメモリマップの一例を示す図である。
図9図9図3に示す操作者端末のRAMのメモリマップの一例を示す図である。
図10図10図4に示すロボットのRAMのメモリマップの一例を示す図である。
図11図11図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第1の一部を示すフロー図である。
図12図12図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第2の一部であって、図11に後続するフロー図である。
図13図13図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第3の一部であって、図11に後続するフロー図である。
図14図14図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第4の一部であって、図13に後続するフロー図である。
図15図15図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第5の一部であって、図14に後続するフロー図である。
図16図16図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第6の一部であって、図11および図15に後続するフロー図である。
図17図17図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第7の一部であって、図16に後続するフロー図である。
図18図18図3に示した操作者端末のCPUの情報処理の一例の第1の一部を示すフロー図である。
図19図19図3に示した操作者端末のCPUの情報処理の一例の第2の一部であって、図18に後続するフロー図である。
図20図20図3に示した操作者端末のCPUの情報処理の一例の第3の一部であって、図19に後続するフロー図である。
図21図21図4に示したロボットのCPUの制御処理の一例の一部を示すフロー図である。
図22図22図4に示したロボットのCPUの制御処理の一例の他の一部であって、図21に後続するフロー図である。
【発明を実施するための形態】
【0020】
図1を参照して、この実施例の情報処理システム10はサーバ12を含み、サーバ12は、ネットワーク14を介して、複数の操作者端末16およびロボット18に通信可能に接続される。
【0021】
複数の操作者端末16は、それぞれ、操作者によって操作され、主として、ロボット18を遠隔操作するために使用される。この実施例では、操作者は、サーバ12によって提供されるアバターを用いた所定のサービスを利用する者(サービスユーザ)である。ロボット18は、操作者のアバターとして機能する。この実施例の情報処理システム10では、複数の操作者端末16のうちの1台の操作者端末16およびロボット18がネットワーク14を介して連係して、その1台の操作者端末16の操作者が、ロボット18を通して、後述する対話エージェントと対話する。ただし、ロボット18と連係する操作者端末16は、サーバ12にログインして、当該ロボット18を使用することを割り当てられた操作者端末16である。
【0022】
所定のサービスは、所定の環境(たとえば、企業のオフィス、店舗、博物館、美術館、水族館または科学館など)に配置されるロボット18を、遠隔に存在する操作者のアバターとして機能させ、アバターすなわちロボット18が所定の環境内を自由に動き回って利用されるサービスである。ただし、ロボット18は、受付サービスを行う場合には、所定の環境内の所定の場所に固定的に配置されてもよい。
【0023】
この場合、操作者は、ロボット18を通して、オフィス内に存在する人間と対話する。また、操作者は、ロボット18を通して、店舗、博物館、美術館、水族館または科学館などに存在する案内人である人間の説明を聞いたり、案内人である人間と対話したりする。つまり、操作者と対話する人間は、操作者の対話相手(すなわち、対話エージェント)である。
【0024】
なお、図1では、1台のロボット18を示してあるが、実際には、複数のロボット18が設けられる。操作者が所定のサービスを利用する場合に、サーバ12によって、当該操作者(操作者端末16)に対して1台のロボット18が割り当てられる。以下、1台のロボット18を用いて説明するが、同じ内容が他のロボット18にも当てはまる。
【0025】
サーバ12は、情報処理装置の一例であり、汎用のサーバを用いることができる。この実施例では、サーバ12は、アバターを用いた所定のサービスを提供するウェブサイトを運営する。履歴データベース(以下、「履歴DB」という)12aおよび個性情報データベース(以下「個性情報DB」という)12bがサーバ12に接続されている。
【0026】
履歴DB12aは、操作者端末16とロボット18の間で、サーバ12を介して送受信される、対話エージェントの画像データおよび音声データと、操作者の画像データ、発話データおよび操作者が指示した動作コマンドの履歴を記憶する。
【0027】
個性情報DB12bは、操作者毎の個性についてのデータすなわち個性情報を記憶する。この実施例では、個性についてのデータすなわち個性データは、音響モデルのパラメータのデータ、視線情報のデータ、頷き情報のデータ、顔の表情情報のデータおよび顔画像情報のデータを含む。個性データは、各操作者の識別情報(操作者ID)に対応して、操作者毎に個性情報DB12bに記憶される。音響モデル、視線情報、頷き情報、表情情報および顔画像情報は、ロボット18を操作する操作者の固有の情報であって、ロボット18を操作するときの操作者の個性ないし特徴である。音響モデル、視線情報、頷き情報、表情情報および顔画像情報については、後で詳細に説明することにする。
【0028】
なお、履歴DB12aおよび個性情報DB12bは、サーバ12に内蔵されるHDDに設けてもよいし、ネットワーク14を介して通信可能に設けてもよい。
【0029】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0030】
複数の操作者端末16の各々は、サーバ12とは異なる他の情報処理装置であり、一例として、デスクトップ型PCである。他の例では、操作者端末16として、スマートフォン、タブレットPCまたはノート型PCなどの汎用の端末を用いることもできる。各操作者端末16は、同じ種類または異なる種類の情報処理装置である。
【0031】
ロボット18は、自律行動可能な、いわゆるテレプレゼンス(または、テレイグジステンス)ロボットであり、市販の移動型のロボットを用いることができる。一例として、ロボット18としては、Double Robotics, Incが販売するロボットDouble 3を使用することができる。ただし、ロボット18は、このような特定のロボットに限られることなく、特開2020-004182号に開示されるようなロボットも利用可能である。
【0032】
ロボット18を自律行動させる方法としては、一例として、特開2009-131914号に開示された方法を採用することができる。ただし、自律行動とは、ロボット18が、操作者の操作によらないで、移動を含む動作および発話の少なくとも一方を含むコミュニケーション行動を行うことを意味する。また、この実施例では、サーバ12によってコミュニケーション行動が決定され、サーバ12がコミュニケーション行動についての動作コマンドおよび音声データ(後述する、「アバター音声データ」)の少なくとも一方をロボット18に送信する。コミュニケーション行動を決定する方法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。また、この実施例では、操作者が居ない場合には、ロボット18はサーバ12の制御で自律行動を行う。
【0033】
また、ロボット18は、操作者によって遠隔操作することもできる。この実施例においては、操作者は、操作者端末16を操作して、ロボット18にタスク(動作)を実行させるためのコマンド(以下、「動作コマンド」という)を、サーバ12を介してロボット18に送信する。
【0034】
また、操作者端末16は、操作者の音声をマイク82で検出し、検出した音声を、サーバ12を介してロボット18に送信する。したがって、ロボット18のスピーカ112から操作者の音声が出力される。ただし、操作者の音声は、他の操作者の音声に変換されて出力されてもよい。また、操作者の音声に対応する音声データは後述する操作者発話データに含まれる。
【0035】
さらに、操作者端末16は、操作者の画像(以下、「操作者画像」という)をカメラ88で撮影し、撮影した操作者画像を、サーバ12に送信する。この実施例では、操作者画像は、操作者の顔を含む動画像(静止画像でもよい)である。サーバ12は、操作者画像に含まれる操作者の顔画像から操作者の感情を推定し、推定した感情に応じた顔の表情を表現するためのデータ(顔の表情についてのデータ)を生成し、ロボット18に送信する。
【0036】
ロボット18は、所定のCG(Computer Graphics)キャラクタの画像を表示装置30に表示する。この実施例では、CGキャラクタの顔を含む上三身分または上半身の画像が表示装置30に表示される。この場合、CGキャラクタの顔画像は、操作者自身の顔画像または他の操作者の顔画像を用いて表示することができる。また、CGキャラクタの顔の表情は、サーバ12から送信された顔の表情についてのデータ(後述する、アバター表情データ)に従って制御される。
【0037】
なお、操作者の顔画像から感情を推定する方法としては、公知の技術を用いることができる。たとえば、「小林 宏、原 文雄:ニューラルネットワークによる人の基本表情認識、計測自動制御学会論文集 Vol.29, No.1, 112/118(1993)」、「小谷中陽介、本間経康、酒井正夫、阿部健一:ニューラルネットワークを用いた顔表情認識、東北大医保健学科紀要 13(1):23~32, 2004」および「西銘 大喜、遠藤 聡志、當間 愛晃、山田 孝治、赤嶺 有平:畳み込みニューラルネットワークを用いた表情表現の獲得と顔特徴量の分析、人工知能学会論文誌 32巻5号FZ(2017年)」などに開示された技術を用いることができる。
【0038】
また、他の公知の技術では、顔画像から抽出した特徴点に基づいて人間の感情を推定する手法としては、特開2020-163660号公報に開示された技術を用いることもできる。
【0039】
また、音声から人間の感情を推定することもできる。音声から人間の感情を推定する手法としては、公知の技術を用いることができる。たとえば、特開2021-12285号および「森 大毅:音声から感情・態度の理解、電子情報通信学会誌 Vol. 101, No. 9, 2018」などに開示された技術を用いることができる。
【0040】
顔画像または音声に基づいて感情を推定する手法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。ただし、顔画像または音声に基づいて感情を推定する装置(以下、「推定装置」という)をクラウド上に設けて、推定装置に顔画像または音声を送信し、感情の推定結果を推定装置から受け取るようにしてもよい。
【0041】
一方、ロボット18は、対話エージェントを含む画像をカメラ122で撮影し、撮影した画像(以下、「ロボット画像」という)を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16では、ロボット18から見た画像すなわち対話エージェントの画像が表示装置80に表示される。また、ロボット18は、対話エージェントの音声を含む周囲の音をマイク110で検出し、検出した音声を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16のスピーカ112から対話エージェントの音声を含む音が出力される。
【0042】
したがって、操作者は、対話エージェントの顔を見ながら対話したり、環境を見ながらロボット18を操作したりすることができる。
【0043】
また、ロボット18は、ベース20を含み、このベース20の正面には移動用センサの1つである超音波センサ22が設けられる。このベース20の両端には車輪(左車輪)24Lおよび車輪(右車輪)24Rが回転自在に設けられる。
【0044】
ベース20の上面には、上方に延びるポール26が設けられ、そのポール26の上端には、操作者に対応する画像(以下、「アバター画像」という)28(上述した、CGキャラクタの画像)を表示する表示装置30が設けられる。人間(ここでは、操作者)の顔画像を用いてCGキャラクタの顔画像すなわちアバター画像28の顔画像を生成する方法としては、特許第7200439号に開示された公知の技術を用いることができる。アバター画像28の顔画像を生成する手法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜ロボット18に設けられる。
【0045】
なお、この表示装置30には、タッチパネル、カメラ、マイクおよびスピーカ等が設けられるが、詳細は図4に示すブロック図を参照して説明する。また、このロボット18は、バッテリ駆動型のロボットであり、バッテリはたとえばポール26の中に収容されている。
【0046】
図2図1に示したサーバ12の電気的な構成を示すブロック図である。図2に示すように、サーバ12はCPU50を含み、CPU50は、内部バスを介して、RAM52、通信部54および入出力インタフェース(以下、「入出力I/F」という)56に接続される。
【0047】
CPU50は、サーバ12の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。RAM52は、サーバ12の主記憶装置(メインメモリ)であり、CPU50のワーク領域およびバッファ領域として用いられる。
【0048】
図示は省略するが、サーバ12は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0049】
通信部54は、CPU50の制御の下、ネットワーク14を介して、操作者端末16およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部54としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0050】
入出力I/F56には、入力装置58および表示装置60が接続されている。入力装置58として、キーボードおよびコンピュータマウスが用いられる。表示装置60は、LCDまたは有機ELディスプレイである。
【0051】
入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。
【0052】
なお、図2に示すサーバ12の電気的な構成は一例であり、限定される必要はない。
【0053】
図3図1に示した操作者端末16の電気的な構成を示すブロック図である。図3に示すように、操作者端末16はCPU70を含み、CPU70は、内部バスを介して、RAM72、通信部74および入出力I/F76に接続される。
【0054】
CPU70は、操作者端末16の全体的な制御を司る。ただし、CPU70に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM72は、操作者端末16の主記憶装置であり、CPU70のワーク領域およびバッファ領域として用いられる。
【0055】
図示は省略するが、操作者端末16は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0056】
通信部74は、CPU70の制御の下、ネットワーク14を介して、サーバ12およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部74としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0057】
入出力I/F76には、入力装置78および表示装置80、マイク82およびスピーカ84が接続されている。入力装置78として、キーボードおよびコンピュータマウスが用いられる。さらに、タッチパネルが設けられる場合もある。表示装置80は、LCDまたは有機ELディスプレイである。
【0058】
ただし、操作者端末16として、スマートフォンが用いられる場合には、入力装置78は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0059】
入出力I/F76は、マイク82で検出された操作者の音声をデジタルの音声データ(以下、「操作者音声データ」という)に変換してCPU70に出力するとともに、CPU70によって出力される音声データをアナログの音声信号に変換してスピーカ84から出力させる。ただし、実施例では、CPU50から出力される音声データは、サーバ12を介してロボット18から受信した音声データ(以下、「ロボット音声データ」という)である。また、入出力I/F76は、入力装置78から入力された操作データ(または、操作情報)をCPU70に出力するとともに、CPU70によって生成された画像データを表示装置80に出力して、画像データに対応する画面または画像を表示装置80に表示させる。ただし、この実施例では、表示装置80に表示されるUI画面200(図5参照)には、サーバ12を介してロボット18から受信したロボット画像データも出力される。ただし、ロボット画像データは、ロボット18のカメラ122で撮影された画像(動画像または静止画像)の画像データである。
【0060】
また、操作者端末16は、センサI/F86およびカメラ88を備えている。CPU70は、バスおよびセンサI/F86を介してカメラ88に接続される。カメラ88は、CCDまたはCMOSのような撮像素子を用いたカメラである。図示は省略するが、カメラ88は、表示装置80の近傍に設けられ、表示装置80の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ88は、表示装置80に対面する操作者を撮影する。
【0061】
なお、図3に示す操作者端末16の電気的な構成は一例であり、限定される必要はない。上述したように、各操作者端末16が異なる種類の情報処理装置である場合には、電気的な構成も異なる場合がある。
【0062】
また、操作者端末16がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この実施例では、そのような通話は行わないため、図示は省略してある。
【0063】
図4図1に示したロボット18の電気的な構成を示すブロック図である。図4に示すように、ロボット18はCPU100を含み、CPU100は、内部バスを介して、RAM102、通信部104および入出力I/F106に接続される。
【0064】
CPU100は、ロボット18の全体的な制御を司る。ただし、CPU100に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM52は、操作者端末16の主記憶装置であり、CPU100のワーク領域およびバッファ領域として用いられる。
【0065】
図示は省略するが、ロボット18は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0066】
通信部104は、CPU100の制御の下、ネットワーク14を介して、サーバ12および操作者端末16などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部104としては、無線LANまたはBluetooth(登録商標)等を使用することができる。
【0067】
入出力I/F106には、入力装置108および表示装置30、マイク110およびスピーカ112が接続されている。入力装置108として、緊急停止用のハードウェアのボタンなどが設けられる。さらに、入力装置108として、表示装置30の表示面に重ねてタッチパネルが設けられる。表示装置30は、LCDまたは有機ELディスプレイである。一例として、タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0068】
入出力I/F106は、マイク110で検出された対話エージェントの音声をデジタルの音声データに変換してCPU100に出力するとともに、CPU100によって出力される音声データをアナログの音声信号に変換してスピーカ112から出力させる。
【0069】
ただし、実施例では、CPU100から出力される音声データは、サーバ12から受信した音声データである。サーバ12は、操作者端末16から受信した発話データ(以下、「操作者発話データ」という)に基づいて音声データを生成し、ロボット18に送信する。この実施例では、操作者発話データは、操作者の音声、または、操作者が入力した発話コマンドに従って発話される発話内容のテキストのデータである。
【0070】
また、入出力I/F106は、入力装置108から入力された操作データ(または、操作情報)をCPU100に出力するとともに、CPU100によって生成(または、出力)された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。
【0071】
ただし、この実施例では、デフォルトで設定されている表情を表現するロボット18の顔画像、また、操作者端末16の操作者または他の操作者の感情に応じた顔の表情を表現する顔画像を含み、サーバ12から送信される動作コマンドに応じた動作を行うアバター画像28の画像データがロボット18で生成され、画像データに対応するアバター画像28が表示装置30に表示される。
【0072】
ただし、動作コマンドに応じた動作には、操作者の癖に応じた動作(以下、「癖動作」という)も含まれる。また、サーバ12から送信される動作コマンドとしては、サーバ12自身によってロボット18に送信される動作コマンドと、サーバ12が操作者端末16から受信してロボット18に送信される動作コマンドがある。
【0073】
また、ロボット18は、モータドライバ114を備え、モータドライバ114はバスを介してCPU100に接続される。モータドライバ114は、CPU100の命令に従って、ロボット18の右車輪24Rを回転させる右車輪モータ116の駆動を制御するとともに、ロボット18の左車輪24Lを回転させる左車輪モータ118の駆動を制御する。
【0074】
また、ロボット18は、センサI/F120、カメラ122、レーザ距離計(LRF)124、LRF126、超音波センサ22および慣性計測ユニット128を備えている。
【0075】
CPU100は、バスおよびセンサI/F120を介して、カメラ122、LRF124、LRF126、超音波センサ22および慣性計測ユニット128にそれぞれ接続される。
【0076】
カメラ122は、CCDまたはCMOSのような撮像素子を用いたカメラである。図1では省略したが、カメラ122は、表示装置30の上端部または下端部に設けられ、ロボット18の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ122は、ロボット18に対面し、ロボット18を通して操作者と対話する対話エージェントまたは/およびロボット18が配置されたり移動したりする環境を撮影する。
【0077】
LRF124は、一般に、レーザ光を照射し、それが対象(物体や人体など)で反射して戻ってくるまでの時間から距離を計測する。この実施例のLRF124(後述する、LRF126も同じ)は、軸の周りをたとえば±45度の範囲で回転するミラー(図示せず)を含み、レーザ光の進路をこの回転ミラーでたとえば0.6度ずつ変化させながら計測を行う(レーザ光でスキャンする)ことができる。以下では、LRF124によってレーザ光でスキャン(走査)される平面をスキャン面と呼ぶ。また、LRF124で計測可能な距離は、レーザ光が人間の目に影響を与えないよう、所定距離R(たとえば15m)以下に制限されている。このため、LRF124の計測領域(すなわち、スキャン面)は、たとえば扇形、つまり所定距離Rの半径で中心角90度の扇形となる。なお、スキャン面(扇形)の中心角は90度とは限らず、たとえば180度や360度などでもよい。
【0078】
この実施例では、LRF124は、特定の人間を追跡するためなどの目的で設けられるものである。LRF126は、このロボット18の自律移動のためのものである。LRF124は、LRF126と兼用されてもよい。つまり、ロボット18の移動中と、ロボット18の移動を停止してアバターの画像(以下、「アバター画像」という)28による対話中とで、1つのLRFを使い分けるようにしてもよい。
【0079】
ロボット18は、LRF124の出力に基づいて、ロボット18またはLRF124に対する対象物までの距離および向きを検出することができる。したがって、ロボット18は、検出した自身の現在位置と、LRF124を用いて検出される対象物までの距離および向きに基づいて、対象物の現在位置を検出(算出)することができる。
【0080】
また、ロボット18は、LRF126の出力に基づいて、SLAM(Simultaneous Localization and Mapping)により、ロボット18が移動する環境の地図を作成するとともに、作成する環境の地図内における現在位置を推定し、それらに基づいて自身のナビゲーションを行う。この実施例では、LRF126は水平方向における障害物との距離を計測するため、ロボット18の周辺の障害物についての2次元の地図が作成される。したがって、ロボット18が作成する環境の地図は、ロボット18(LRF126)を真上方向から見た2次元の地図である。以下、ロボット18が作成する環境の地図を「作成地図」と呼ぶことにする。また、ロボット18は、自身が配置される環境について予め作成された環境の地図(この実施例では、「設定地図」)を記憶している。作成地図における原点と設定地図における原点を合わせるとともに、作成地図における方位と設定地図における方位を合わせておくことにより、設定地図(または、作成地図)におけるロボット18の現在位置が推定される。
【0081】
超音波センサ22は、超音波を用いた汎用の距離センサである。超音波センサ22は、ロボット18の前方に存在する対象物(人間または物)までの距離を計測する。一例として、超音波センサ22の水平方向における検知範囲は10度-45度であり、計測可能な距離は5m-15mである。上記のとおり、LRF128が設けられるため、超音波センサ22は設けなくてもよい。
【0082】
慣性計測ユニット128は3次元の慣性運動(直交3軸方向の並進運動および回転運動)を検出する装置であって、加速度センサによって並進運動を検出し、角速度(ジャイロ)センサによって回転運動を検出する。
【0083】
なお、図4に示すロボット18の電気的な構成は一例であり、限定される必要はない。
【0084】
上述したように、ロボット18は、自律行動可能であり、配置された環境において予め決定されたスタート地点(移動開始地点)からゴール地点(目標地点)まで経路探索を行いながら移動することができる。ただし、スタート地点とゴール地点の間に、1または複数の経由地点が設定されてもよい。また、経路探索の方法としては、標準的な方法、すなわち、ウォーシャルフロイド法、ダイクストラ法、A*アルゴリズム、ポテンシャル法、RRT (Rapidly exploring Random Tree)などを用いることができる。スタート地点、ゴール地点および1または複数の経由地点は、サーバ12の管理者または操作者によって予め指定されている。
【0085】
また、ロボット18は、操作者の遠隔操作に従って、配置された環境において自由に移動することも可能である。操作者端末16でロボット18の移動等を操作することは既に周知であり、ここではその遠隔操作についての詳細な説明は省略する。
【0086】
図5に示すUI画面200は、ロボット18を遠隔操作するための画面である。UI画面200には、表示領域202、204、206および208が設けられる。また、UI画面200には、表示領域206および208の下方に、表示領域250およびボタン252が設けられ、これらの下方に、ボタン254、256a、256bおよび258がさらに設けられる。
【0087】
表示領域202は、ロボット18に設けられたカメラ124で撮影された映像(動画像または静止画像)を表示するための領域である。
【0088】
表示領域204は、ロボット18の移動を制御するコマンド(すなわち、動作コマンド)を入力するための複数のボタンを表示する。この実施例では、表示領域204には、ボタン210、212、214、216および218が表示される。ボタン210は、ロボット18を前進させるためのボタンである。ボタン212は、ロボット18を左折または左旋回させるためのボタンである。ボタン214は、ロボット18を右折または右旋回させるためのボタンである。ボタン216は、ロボット18を停止させるためのボタンである。ボタン218は、ロボット18を後進させるためのボタンである。
【0089】
詳細な説明は省略するが、ボタン210またはボタン218がオンされている状態で、ボタン212がオンされと、ロボット18は前進または後進しながら左に曲がる。また、ボタン210またはボタン218がオンされている状態で、ボタン214がオンされると、ロボット18は前進または後進しながら右に曲がる。ロボット18が停止している状態で、ボタン212がオンされると、ロボット18は反時計回りに進行方向を変える。また、ロボット18が停止している状態で、ボタン214がオンされると、ロボット18は時計回りに進行方向を変える。
【0090】
この実施例では、表示領域204に表示されたボタン210、212、214、216および218などが操作されると、各ボタン210、212、214、216および218に割り当てられた動作コマンドがサーバ12に送信される。
【0091】
表示領域206は、ロボット18のコミュニケーション行動を制御する動作コマンドを入力するための複数のボタンを表示する。この実施例では、表示領域206には、ボタン220、222、224、226および228などが表示される。ボタン220は、ロボット18を頷かせるためのボタンである。ボタン222は、ロボット18に首を振らせるためのボタンである。ボタン224は、ロボット18にお辞儀させるためのボタンである。ボタン226は、ロボット18に手を振らせるためのボタンである。ボタン228は、ロボット18に右手を挙げさせるためのボタンである。
【0092】
ただし、この実施例のロボット18は、手腕に相当する部位を有しておらず、また、腰および首に相当する関節も有していないため、アバター画像28を動作させることで、頷かせる、首を振らせる、お辞儀させる、手を振らせる、右手を挙げさせるなどのコミュニケーション行動が実行される。
【0093】
図示は省略するが、他のコミュニケーション行動を制御する動作コマンドを入力するための他の複数のボタンが設けられ、他の複数のボタンは表示領域206をスクロールすることで表示される。
【0094】
この実施例では、表示領域206に表示されたボタン220、222、224、226および228などが操作されると、各ボタン220、222、224、226および228に割り当てられた動作コマンドがサーバ12に送信される。
【0095】
表示領域208は、ロボット18の発話を制御するコマンド(すなわち、発話コマンド)を入力するための複数のボタンを表示する。表示領域208に表示された(設けられた)複数のボタンには、挨拶および呼び掛けなどの定型の言葉または文をロボット18に発話させるための発話コマンドが割り当てられる。この実施例では、表示領域208には、ボタン230、232、234、236および238などが表示される。ボタン230は、ロボット18に挨拶“おはよう”を発話させるためのボタンである。ボタン232は、ロボット18に挨拶“こんにちは”を発話させるためのボタンである。ボタン234は、ロボット18に挨拶“お久ぶりです”を発話させるためのボタンである。ボタン236は、ロボット18に呼び掛け“検温をお願いします”を発話させるためのボタンである。ボタン238は、ロボット18に呼び掛け“アルコール消毒をお願いします”を発話させるためのボタンである。ボタン230-238などがオンされると、オンされたボタン(230-238など)に割り当てられた定型の言葉または文についてテキストおよび当該テキストをロボット18に発話させることがサーバ12に指示される。
【0096】
図示は省略するが、他の発話を制御する発話コマンドを入力するための複数の他のボタンが設けられ、複数の他のボタンは表示領域208をスクロールすることで表示される。
【0097】
この実施例では、表示領域208に表示されたボタン230、232、234、236および238などが操作されると、各ボタン230、232、234、236および238に割り当てられた発話コマンドがサーバ12に送信される。
【0098】
また、表示領域250は、定型の言葉および文以外の発話内容をテキストで入力するための領域である。ボタン252は、表示領域250に入力または表示された発話内容すなわちテキストの内容をロボット18に発話させる発話コマンドを入力するためのボタンである。
【0099】
この実施例では、ボタン252が操作されると、表示領域250に表示されたテキストの内容をロボット18に発話させる発話コマンドがサーバ12に送信される。
【0100】
ボタン254は、他の操作者の個性を選択および決定するためのボタンである。一例として、ボタン254がオンされると、他の操作者を選択および決定するための選択画面300(図6参照)がUI画面200の前面に、または、UI画面200に代えて表示され、操作者が決定した他の操作者の個性を反映することがサーバ12に指示される。他の操作者の個性を反映することについては後で詳細に説明することにする。
【0101】
ボタン256aは、ロボット18を半自動で制御する状態(以下、「半自動モード」という)に設定することを指示するためのボタンである。一例として、ボタン256aがオンされると、半自動モードの設定指示がサーバ12に送信される。ロボット18は、半自動で制御される場合、自動で動作すなわち移動、コミュニケーション行動および癖動作を行い、操作者によって入力される音声または発話コマンドすなわち操作者発話データに基づいて発話を行う。また、ボタン256bは、ロボット18を半自動で制御することを解除し、遠隔操作で制御することを指示するためのボタンである。一例として、ボタン256bがオンされると、半自動モードの解除指示がサーバ12に送信される。
【0102】
ただし、半自動モードが設定されている場合には、ボタン256aはオンできない状態にされ、半自動モードが設定されている場合には、ボタン256bはオンできない状態にされる。一例として、オンできない状態においては、ボタン256aおよびボタン256bは、それぞれ、グレーアウトされる。
【0103】
ボタン258は、ロボット18の遠隔操作の終了を指示するためのボタンである。一例として、ボタン258がオンされると、UI画面200が表示された操作者端末16の操作者がロボット18の遠隔操作を終了することがサーバ12に指示(または、通知)される。
【0104】
図6は選択画面300の一例を示す図である。選択画面300には、複数(図6では、8個)のボタン302が2列に並んで表示され、複数のボタン302の下方に、ボタン310およびボタン312が横に並んで表示される。
【0105】
複数のボタン302の各々は、他の操作者を選択するためのボタンである。一例として、ボタン302には、他の操作者の名称または識別情報(操作者ID)が記載される。ただし、図6では、他の操作者の名称等に代えて、アルファベット(A-H)を用いて、操作者A、操作者B、…、操作者Hなどと記載してある。
【0106】
なお、選択画面300では、他の操作者を選択および決定するため、操作者自身を選択するためのボタンは設けられない。
【0107】
ボタン310は、選択した操作者の個性を反映することを決定するためのボタンである。操作者が、選択画面300を用いて、所望の他の操作者の名称等が記載されたボタン302をオンし、さらに、ボタン310をオンすると、オンされた状態のボタン302に割り当てられた他の操作者の個性を反映することがサーバ12に指示される。
【0108】
なお、オンされた状態のボタン302が再度オンされると、当該ボタン302はオフされる(つまり、選択されていない状態にされる)。
【0109】
ボタン312は、操作者の選択を中断(または、キャンセル)するためのボタンである。操作者がボタン312をオンすると、選択画面300が非表示され、UI画面200が表示される。
【0110】
ロボット18が半自動でコミュニケーション行動する場合(すなわち、半自動モード)および遠隔操作に従ってコミュニケーション行動する場合(以下、「遠隔モード」という)には、上述したように、ロボット18から送信されるロボット画像データおよびロボット音声データがサーバ12を介して、ロボット18を遠隔操作する操作者が使用する操作者端末16で受信され、この操作者端末16でロボット画像データおよびロボット音声データが出力されることにより、操作者は、ロボット18の周囲を見たり、ロボット18の周囲の状況を把握したり、ロボット18の表示装置30に対面している対話エージェントと対話したりすることができる。
【0111】
ただし、ロボット画像データおよびロボット音声データには、ロボット18の識別情報(ロボットID)が付加されている。したがって、サーバ12は、ロボット画像データおよびロボット音声データに付加されたロボットIDから当該ロボットIDを付与されたロボット18を特定するとともに、当該ロボット18を操作する操作者およびこの操作者が使用する操作者端末16を特定する。
【0112】
同様に、操作者の画像データ(以下、「操作者画像データ」という)および操作者発話データには、操作者の識別情報(操作者ID)が付加されている。したがって、サーバ12は、操作者画像データおよび操作者発話データに付加された操作者IDから操作者を特定する。
【0113】
サーバ12では、ロボット18と操作者を特定することで、画像データ、音声データまたは操作者発話データおよび動作コマンドをRAM52に記憶する場合に、対話中の対話エージェントおよび操作者についての画像データ、対話中の対話エージェントの音声データおよび操作者発話データ、および、対話中に指示された動作コマンドをまとめた履歴として履歴DB12aに記録することができる。ただし、対話中の対話エージェントの画像データおよび音声データは、特定されたロボット18から送信されるロボット画像データおよびロボット音声データである。
【0114】
この実施例では、上述したように、操作者すなわちサービスユーザが所定のサービスを利用する場合に、対話エージェントと操作者は対話する。つまり、所定のサービスは、対話エージェントと操作者がロボット18を介して対話するサービス(対話サービス)を含む。また、サーバ12は、対話エージェントと操作者の対話の履歴、操作者の操作(この実施例では、動作コマンド)の履歴、対話エージェントおよび操作者の画像の履歴を履歴DB12aに記憶する。
【0115】
一例として、対話の履歴、操作の履歴、対話エージェントおよび操作者の画像の履歴は、操作者が対話エージェントに応対している場合に記録される。これは、操作者がロボット18を遠隔操作している場合の癖動作を抽出するためである。たとえば、操作者の癖動作は、対話エージェントに応対している場合に、視線(または、顔の向き)を変化させる方向および時間間隔、対話エージェントの話を聞く場合に頷く時間間隔のおよび顔の表情(表出する感情)である。
【0116】
なお、対話の履歴および画像の履歴には、対話エージェントの音声および画像を含めなくてもよい。
【0117】
また、この実施例では、ロボット18は、操作者によらないで自律行動する場合(以下、「完全自律モード」という)、半自動モードまたは遠隔モードで動作等を行う。完全自律モード、半自動モードまたは遠隔モードは、サーバ12によって設定される。
【0118】
サーバ12は、所定のサービスを提供するロボット18を遠隔操作する操作者が居ない場合に、完全自律モードを設定する。この場合、サーバ12は、完全自律モードで動作等を行うことをロボット18に指示する。したがって、ロボット18は、完全自律モードで動作等を行う。
【0119】
完全自律モードでは、情報処理システム10またはサーバ12の管理者によって設定された他の操作者の個性を反映させることができる。完全自律モードにおいて他の操作者の個性が反映される場合には、サーバ12は、ロボット18の移動およびコミュニケーション行動を自動で制御し、この他の操作者の顔およびこの他の操作者の顔の表情でアバター画像28を表示するとともに、この他の操作者の癖動作を行うようにアバター画像28を制御し、この他の操作者の音声でロボット18の発話を自動で制御する。
【0120】
なお、完全自律モードでは、情報処理システム10またはサーバ12の管理者によって他の操作者の個性を反映することが設定されていない場合には、ロボット18は、デフォルトで設定されているロボット18の顔画像のアバター画像28が表示装置30に表示され、デフォルトで設定されているロボット18の音声で発話される。ただし、デフォルトで設定されているロボット18の顔画像は所定の表情で表現されている。また、この場合、サーバ12は、デフォルトの顔画像を用いることをロボット18に指示する。
【0121】
なお、完全自律モードにおいては操作者が居ないため、厳密には、「他の操作者の個性が反映」される訳ではないが、説明の便宜上、この明細書においては、遠隔モードおよび半自動モードの場合と同様に「他の操作者の個性が反映」されると記載することとする。
【0122】
完全自律モードにおいて、他の操作者の個性が反映される場合には、他の操作者の音声でロボット18が発話するため、対話エージェントに、他の操作者が操作していると認識させることができる。さらに、他の操作者の顔およびその表情のアバター画像28を表示するとともに、癖動作をアバター画像28に行わせるため、音声だけでなく、顔およびその表情と癖動作も他の操作者と同じにさせるので、より他の操作者が操作している状態に近似させることができる。したがって、円滑に対話することができる。これらのことは遠隔モードおよび半自動モードについても同様である。
【0123】
また、サーバ12は、所定のサービスを提供するロボット18を遠隔操作する操作者を当該ロボット18に割り当てると、遠隔モードを設定する。ただし、操作者は、自身の操作者端末を用いてサーバ12にログインし、所定のサービスを利用することを選択した操作者である。遠隔モードでは、他の操作者の個性が反映されない場合には、サーバ12は、ロボット18を遠隔操作することを割り当てた操作者の操作者端末16から送信される動作コマンドに従ってロボット18の動作を制御し、操作者端末16から送信される操作者発話データに従ってロボット18の発話を制御し、操作者端末16から送信される操作者画像データに従ってアバター画像28の表示を制御する。つまり、サーバ12は、アバター画像28の顔の表情、顔の向きおよび手腕の動きを制御する。ただし、他の操作者の個性が反映されない場合には、サーバ12は、ロボット18を遠隔操作することを割り当てた操作者の顔画像データを個性情報DB12bから読み出し、ロボット18に送信する。したがって、ロボット18は、ロボット18を遠隔操作することを割り当てた操作者の顔画像データを用いてアバター画像28の顔画像を生成する。また、遠隔モードでは、他の操作者の個性が反映されない場合には、操作者の音声またはロボット18の音声(合成音声)がロボット18のスピーカ112から出力される。また、遠隔モードでは、アバター画像28は操作者画像データに従って顔の表情および頭部または首の動きを制御される。
【0124】
ただし、アバター画像28は、音声を出力するとき、リップシンクされる。また、操作者画像データから顔の表情を推定する方法は上述したとおりである。さらに、アバター画像28の顔の各パーツの動きおよび頭部または首の動きを制御するための動作コマンドは、一例として、MediaPipe Holisticのような画像処理ライブラリを用いて生成することができる。他の例では、特開2021-56940号に開示された方法を用いることもできる。
【0125】
遠隔モードにおいて、他の操作者の個性が反映される場合には、サーバ12は、他の操作者の個性が反映されない場合と同様に、ロボット18を遠隔操作することを割り当てた操作者の操作者端末16から送信される動作コマンドに従ってロボット18の動作を制御する。ただし、この場合、サーバ12は、この他の操作者の顔およびこの他の操作者の顔の表情でアバター画像28を表示するとともに、この他の操作者の癖動作を行うようにアバター画像28を制御し、この他の操作者の音声でロボット18の発話を制御する。
【0126】
さらに、サーバ12は、遠隔モードにおいて、操作者によって半自動モードを設定することが指示されると、半自動モードを設定する。この場合、サーバ12は、ロボット18を半自動で制御する。上述したように、半自動モードでは、サーバ12は、ロボット18の移動およびコミュニケーション行動を自動で制御し、操作者発話データに基づいてロボット18の発話を制御する。半自動モードにおいては、上述したように、操作者の指示に応じて、他の操作者の個性を反映することができる。
【0127】
半自動モードにおいて他の操作者の個性が反映されない場合には、サーバ12は、ロボット18の移動およびコミュニケーション行動を自動で制御し、遠隔モードにおいてロボット18を遠隔操作することを割り当てた操作者の顔画像データを個性情報DB12bから読み出し、ロボット18に送信する。したがって、ロボット18は、当該ロボット18を遠隔操作することを割り当てた操作者の顔画像データを用いてアバター画像28の顔画像を生成する。また、この場合、サーバ12は、この操作者の顔の表情でアバター画像28を表示するとともに、この操作者の癖動作を行うようにアバター画像28を制御する。また、半自動モードでは、他の操作者の個性が反映されない場合には、操作者の音声またはロボット18の音声(合成音声)がロボット18のスピーカ112から出力される。
【0128】
また、半自動モードにおいて他の操作者の個性が反映される場合には、サーバ12は、他の操作者の個性が反映されない場合と同様に、ロボット18の移動およびコミュニケーション行動を自動で制御する。ただし、この場合、サーバ12は、この他の操作者の顔およびこの他の操作者の顔の表情でアバター画像28を表示するとともに、この他の操作者の癖動作を行うようにアバター画像28を制御し、この他の操作者の音声でロボット18の発話を制御する。この場合、サーバ12は、操作者発話データに従ってロボット18の発話を制御する。
【0129】
サーバ12は、他の操作者の音声でロボット18に発話させる場合には、この他の操作者の音響モデルを用いて合成音声を生成する。この合成音声は、一例として、特開2021-157145号に開示された学習済みの推論器を用いて生成される。この学習済みの推論器では、入力されたテキストから合成音声が生成される。したがって、遠隔モードおよび半自動モードにおいては、操作者発話データが操作者音声データである場合には、操作者音声データに対応する操作者音声を音声認識した結果であるテキストが推論器に入力される。
【0130】
なお、推論器の学習は、特開2021-157145号に開示された方法を用いることができる。また、この推論器を用いることで操作者音声を音声認識することもできる。
【0131】
遠隔モードおよび半自動モードで他の操作者の個性を反映してロボット18を制御するために、個性情報DB12bには、各操作者についての個性情報が記憶されており、記憶された個性情報を用いて他の操作者の個性が、操作者が遠隔操作するロボット18すなわちアバターの制御に反映される。
【0132】
図7は個性情報DB12bに記憶された個性情報の限定しない一例を示す。図7に示すように、個性情報は、操作者IDを含み、操作者IDに対応して、音響モデル、視線情報、頷き情報、表情情報および顔画像情報が記憶される。
【0133】
操作者IDは、操作者の識別情報であり、図7では3文字の同じアルファベットで示される。これは一例であり、操作者IDは操作者の名称でもよい。
【0134】
音響モデルは、操作者IDの操作者について学習された音響モデルのパラメータセットである。上述した推論器を用いて操作者毎に音響モデルが学習され、学習済みの音響モデルのパラメータセットが操作者IDに対応して記憶される。
【0135】
視線情報は、操作者IDの操作者が顔または視線を変化させる方向および時間間隔(つまり、周期)についての情報である。視線情報は、履歴DB12aに記憶された操作者画像データを解析することで生成される。
【0136】
頷き情報は、操作者IDの操作者が対話エージェントの話を聞く場合に頷く時間間隔(つまり、周期)についての情報である。頷き情報は、履歴DB12aに記憶された操作者画像データを解析することで生成される。
【0137】
顔の表情情報は、操作者IDの操作者が対話エージェントに応対するときの平均的な顔の表情についての情報である。ただし、顔の表情は、操作者が発話する場合および対話エージェントの話を聞く場合の各々に分けて記憶されてもよい。また、顔の表情は、上述したように、顔画像または音声に基づいて推定される。
【0138】
顔画像情報は、操作者IDの操作者自身の顔画像である。一例として、顔画像は、操作者自身の顔を正面から撮影した静止画像である。
【0139】
この実施例では、上述したように、ロボット18は、完全自律モード、遠隔モードまたは半自動モードのいずれかの動作モードで制御される。したがって、ロボット18が所定のサービスの提供中に、動作モードが変化したり、操作者端末16すなわち操作者が交代したりした場合に、ロボット18から出力される音声が変化すると、対話エージェントは違和感を覚える可能性がある。したがって、この実施例では、他の操作者の個性を反映することが設定されている場合には、所定のサービスの動作モードが変化したり、操作者が交代したりしても、この他の操作者の個性を反映することの設定を変更(または、解除)しないようにしてある。また、操作者が交代した場合に、交代前に、他の操作者の個性を反映することが設定されていない場合には、直前の他の操作者についての個性を反映することが自動的に設定される。
【0140】
図8はサーバ12に内蔵されるRAM52のメモリマップ400の一例を示す。図8に示すように、RAM52は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、この実施例のサーバ12で実行される情報処理プログラムが記憶されている。
【0141】
情報処理プログラムは、通信プログラム402a、履歴記憶プログラム402b、動作モード設定プログラム402c、個性設定プログラム402d、感情推定プログラム402eおよび音声変換プログラム402fなどを含む。
【0142】
通信プログラム402aは、外部の機器、この実施例では、操作者端末16およびロボット18とネットワーク14を介して通信(データの送信および受信)するためのプログラムである。
【0143】
履歴記憶プログラム402bは、操作者毎の応対履歴を記憶するためのプログラムである。この実施例では、応対履歴として、対話エージェントに応対している場合の動作コマンド、操作者画像データおよび操作者発話データと、ロボット画像データおよびロボット音声のデータが時系列に従って記憶される。詳細な説明は省略するが、情報処理システム10またはサーバ12の管理者が、対話履歴に基づいて、対応する操作者の個性データすなわち個性情報を生成および更新する。
【0144】
動作モード設定プログラム402cは、ロボット18の動作モードを設定および管理するためのプログラムである。この実施例では、遠隔操作する操作者が居ない場合には、動作モードとして完全自律モードが設定され、遠隔操作する操作者が割り当てられた場合には、遠隔モードが設定され、さらに、遠隔モードにおいて操作者端末16から半自動モードを設定することが指示された場合には、動作モードとして半自動モードが設定される。また、半自動モードにおいて操作者端末16から半自動モードを解除することが指示された場合には、動作モードとして遠隔モードが設定される。ただし、遠隔モードまたは半自動モードにおいて操作者端末16がログアウトした場合、すなわち、いずれの操作者端末16もログインしていない場合には、遠隔操作する操作者が居ないため、動作モードとして完全自律モードが設定される。
【0145】
個性設定プログラム402dは、操作者の要求に応じて、要求された他の操作者に対応する個性データを、要求元の操作者が遠隔操作するロボット18の表示装置30に表示されるアバター画像28、ロボット18の動作および発話に反映することを設定するためのプログラムである。この場合、個性設定プログラム402dは、要求された他の操作者の顔画像データをロボット18に送信するためのプログラムでもある。
【0146】
また、この実施例では、個性設定プログラム402dは、他の操作者の個性を反映することが要求(または、設定)されていない場合には、ロボット18を遠隔操作する操作者を割り当てたときに、この操作者の個性データに含まれる顔画像データを個性情報DB12bから読み出してロボット18に送信するためのプログラムでもある。
【0147】
感情推定プログラム402eは、操作者の感情を推定するためのプログラムである。この実施例では、感情推定プログラム402eは、操作者の感情を推定し、推定した感情を表現する顔の表情についてのデータ(後述する、アバター表情データ404h)をロボット18に送信するためのプログラムである。
【0148】
音声変換プログラム402fは、他の操作者の個性を反映することが指示されている場合に、当該他の操作者の音響モデルを用いて操作者の発話内容についての合成音声のデータ(後述する、アバター音声データ404i)を生成し、ロボット18に送信するためのプログラムである。
【0149】
なお、顔画像データ、アバター表情データ404hおよびアバター音声データ404iを送信する場合には、通信プログラム402aも実行される。
【0150】
図示は省略するが、プログラム記憶領域402には、サーバ12のオペレーティングシステムおよびミドルウェアとは別に所定のサービスを提供するために必要な他のプログラムも記憶される。
【0151】
また、データ記憶領域404には、ロボット画像データ404a、ロボット音声データ404b、操作者画像データ404c、操作者発話データ404d、動作コマンドデータ404e、動作モードデータ404f、個性データ404g、アバター表情データ404hおよびアバター音声データ404iなどが記憶される。
【0152】
ロボット画像データ404aは、ロボット18に設けられたカメラ124で撮影され、ロボット18から受信したカメラ画像のデータである。ロボット画像データ404aは、操作者端末16に送信された後にRAM52から消去される。
【0153】
ロボット音声データ404bは、ロボット18に設けられたマイク110で検出され、ロボット18から受信した音声のデータである。この音声には、対話エージェントの音声が含まれる。ロボット音声データ404bは、操作者端末16に送信された後にRAM52から消去される。
【0154】
操作者画像データ404cは、ロボット18を遠隔操作している操作者が使用する操作者端末16に設けられたカメラ88で撮影され、この操作者端末16から受信した操作者の画像のデータである。
【0155】
操作者発話データ404dは、ロボット18を遠隔操作している操作者が使用する操作者端末16に設けられたマイク82で検出され、この操作者端末16から受信した音声のデータ、または、操作者端末16の表示装置80に表示されたUI画面200を用いて発話することが指示されたテキストのデータである。ただし、音声のデータは、基本的には、ロボット18を遠隔操作している操作者の音声のデータすなわち操作者音声データである。
【0156】
動作コマンドデータ404eは、遠隔モードでは、操作者端末16から受信した、ロボット18を遠隔操作している操作者によって入力された動作コマンドのデータである。また、動作コマンドデータ404eは、完全自律モードまたは半自動モードでは、サーバ12で決定したコミュニケーション行動に含まれる動作の動作コマンドまたは癖動作についての動作コマンドのデータである。
【0157】
動作モードデータ404fは、ロボット18の動作モードを識別するためのデータであり、この実施例では、完全自律モード、半自動モードまたは遠隔モードの別を示すデータである。
【0158】
個性データ404gは、ロボット18を遠隔操作している操作者によって指示(または、要求)された他の操作者すなわち個性を反映することが設定された他の操作者についての個性データ、または、他の操作者についての個性を反映することが設定されていない場合に、ロボット18を遠隔操作することが割り当てられた操作者についての個性データであって、個性情報DB12bから読み出される。
【0159】
アバター表情データ404hは、アバター画像28の顔の表情を制御するためのデータである。
【0160】
アバター音声データ404iは、アバター画像28に発話させる合成音声のデータである。ただし、合成音声は、ロボット18を遠隔操作している操作者によって指示された他の操作者についての音響モデルを用いて生成される。
【0161】
図示は省略するが、データ記憶領域404には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0162】
図9は操作者端末16に内蔵されるRAM72のメモリマップ500の一例を示す。図9に示すように、RAM72は、プログラム記憶領域502およびデータ記憶領域504を含む。プログラム記憶領域502には、この実施例の操作者端末16で実行される情報処理プログラムが記憶されている。
【0163】
情報処理プログラムは、通信プログラム502a、操作検出プログラム502b、撮影画像取得プログラム502c、画像表示プログラム502d、音検出プログラム502eおよび音出力プログラム502fなどを含む。
【0164】
通信プログラム502aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0165】
操作検出プログラム502bは、操作者の操作に従って入力装置78から入力される操作データを検出し、データ記憶領域504に記憶するためのプログラムである。ただし、UI画面200に設けられたボタン210-238、252-258が操作された場合には、操作されたボタン210-238、252-258に割り当てられた操作情報(動作コマンドを含む)のデータが操作データとして検出される。同様に、選択画面300に設けられた複数のボタン302、ボタン310およびボタン312が操作された場合には、操作されたボタン302、310または312に割り当てられた操作情報のデータが操作データとして検出される。
【0166】
撮影画像取得プログラム502cは、カメラ88で撮影された操作者画像データ504eを取得し、取得した操作者画像データ504eをデータ記憶領域504に記憶するためのプログラムである。
【0167】
画像表示プログラム502dは、各種の画面(この実施例では、UI画面200、選択画面300)の表示画像データを生成し、生成した表示画像データを表示装置80に出力するためのプログラムである。ただし、UI画面200の表示画像データには、サーバ12から受信したロボット画像データ504cも含まれる。
【0168】
音検出プログラム502eは、マイク82から入力される操作者の音声を検出し、検出した音声に対応する操作者発話データ504fをデータ記憶領域504に記憶するためのプログラムである。
【0169】
音出力プログラム502fは、サーバ12から受信したロボット音声データ504dをスピーカ84に出力するためのプログラムである。また、音出力プログラム502fは、操作者発話データ504fをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム502aも実行される。ただし、音出力プログラム502fは、ボタン252がオンされた場合に、表示領域250に表示されたテキストに対応する操作者発話データ504fもサーバ12に送信(または、出力)する。
【0170】
図示は省略するが、プログラム記憶領域502には、操作者端末16のオペレーティングシステム、任意のミドルウェアおよび任意のアプリケーションを実行するためのプログラムも記憶される。
【0171】
また、データ記憶領域504には、操作データ504a、UI画面データ504b、ロボット画像データ504c、ロボット音声データ504d、操作者画像データ504e、操作者発話データ504fおよび動作コマンドデータ504gなどが記憶される。
【0172】
操作データ504aは、操作検出プログラム502bに従って検出された操作データである。操作データ504aは、サーバ12に送信されたり、操作者端末16の処理に利用されたりした後に消去される。
【0173】
UI画面データ504bは、表示装置80に表示する画面についての画像データであって、この実施例では、図5に示したUI画面200および図6に示した選択画面300を表示するための画像データである。
【0174】
ロボット画像データ504cは、サーバ12から受信したロボット画像データである。ロボット画像データ504cは、CPU70の処理に使用された後に消去される。
【0175】
ロボット音声データ504dは、サーバ12から受信したロボット音声データである。ロボット音声データ504dは、CPU70の処理に使用された後に消去される。
【0176】
操作者画像データ504eは、カメラ88から取得した撮影画像データであり、サーバ12に送信された後に消去される。
【0177】
操作者発話データ504fは、マイク82で検出された音声データまたは入力された発話コマンドのデータであり、サーバ12に送信された後に消去される。
【0178】
動作コマンドデータ504gは、入力された動作コマンドのデータであり、サーバ12に送信された後に消去される。
【0179】
図示は省略するが、データ記憶領域504には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0180】
図10はロボット18に内蔵されるRAM102のメモリマップ600の一例を示す。図10に示すように、RAM102は、プログラム記憶領域602およびデータ記憶領域604を含む。プログラム記憶領域602には、この実施例のロボット18で実行される制御プログラムが記憶されている。
【0181】
制御プログラムは、通信プログラム602a、移動制御プログラム602b、撮影画像取得プログラム602c、アバター画像生成プログラム602d、画像表示プログラム602e、音検出プログラム602fおよび音出力プログラム602gなどを含む。
【0182】
通信プログラム602aは、外部の機器、この実施例では、サーバ12および操作者端末16と無線で通信(データの送信および受信)するためのプログラムである。
【0183】
移動制御プログラム602bは、サーバ12から受信した移動についての動作コマンド604gに従って環境内を移動および停止するためのプログラムである。
【0184】
撮影画像取得プログラム602cは、カメラ122で撮影された撮影画像データを取得するためのプログラムである。
【0185】
アバター画像生成プログラム602dは、画像生成データ604aを用いて、サーバ12から受信したアバター表情データ604eおよび動作コマンドデータ604gに従ってアバター画像データ604hを生成するためのプログラムである。
【0186】
画像表示プログラム602eは、アバター画像生成プログラム602dに従って生成したアバター画像データ604hに対応するアバター画像28を表示装置30に出力するためのプログラムである。
【0187】
音検出プログラム602fは、マイク110から入力される対話エージェント等の音声を検出し、検出した音声に対応するロボット音声データ604cをデータ記憶領域604に記憶するためのプログラムである。
【0188】
音出力プログラム602gは、サーバ12から受信したアバター音声データ604fをスピーカ112に出力するためのプログラムである。また、音出力プログラム602gは、音検出プログラム602fで検出したロボット音声データ604cをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム602aも実行される。
【0189】
図示は省略するが、プログラム記憶領域602には、ロボット18のオペレーティングシステムおよび任意のミドルウェアに加えて、距離を検出するプログラムおよび慣性情報を検出するプログラムも記憶される。
【0190】
また、データ記憶領域604には、画像生成データ604a、ロボット画像データ604b、ロボット音声データ604c、顔画像データ604d、アバター表情データ604e、アバター音声データ604f、動作コマンドデータ604gおよびアバター画像データ604hなどが記憶される。
【0191】
画像生成データ604aは、アバター画像28を生成するためのポリゴンデータおよびテクスチャデータなどのデータである。この画像生成データ604aはデフォルトの顔画像データを含み、完全自律モードにおいて、他の操作者の個性を反映することが設定されていない場合に、この顔画像データを用いてアバター画像28の顔画像が生成される。
【0192】
ロボット画像データ604bは、ロボット18が備えるカメラ122で撮影されたカメラ画像のデータである。ロボット画像データ604bは、サーバ12に送信された後に消去される。
【0193】
ロボット音声データ604cは、ロボット18が備えるマイク110で検出された対話エージェント等の音声のデータである。ロボット音声データ604cは、サーバ12に送信された後に消去される。
【0194】
顔画像データ604dは、アバター画像28の顔画像を生成するための操作者の顔画像のデータである。具体的には、顔画像データ604dは、他の操作者の個性を反映することが設定されている場合には、当該他の操作者についての顔画像データである。顔画像データ604dは、遠隔モードにおいて、他の操作者の個性を反映することが設定されていない場合には、ロボット18を遠隔操作する操作者についての顔画像データである。
【0195】
アバター表情データ604eは、サーバ12から受信したアバター表情データである。この実施例では、アバター表情データ604eは、アバター画像28の顔の各部位のパラメータについてのデータである。アバター表情データ604eは、CPU100の処理に使用された後に消去される。各部位のパラメータは、目、鼻、口および眉毛の位置、目および口の開き具合、目、口角および眉毛の上り(または、下がり)具合などを意味する。
【0196】
アバター音声データ604fは、サーバ12から受信したアバター音声データである。アバター音声データ604fは、CPU100の処理に使用された後に消去される。
【0197】
動作コマンドデータ604gは、サーバ12から受信した動作コマンドのデータである。この動作コマンドに従ってロボット18の移動およびアバター画像28の動作が制御される。動作コマンドデータ604gは、CPU100の処理に使用された後に消去される。
【0198】
アバター画像データ604hは、アバター画像生成プログラム602dに従って生成されたアバター画像28の画像データである。
【0199】
図示は省略するが、データ記憶領域604には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0200】
図11図17図2に示したサーバ12のCPU50の所定のサービス実行時における情報処理の一例を示すフロー図である。図示は省略するが、サーバ12のCPU50は、操作者端末16からの要求に応じて、操作者端末16または操作者のログインおよびログアウトの処理を、情報処理と並行して実行する。
【0201】
図11に示すように、CPU50は、情報処理を開始すると、ステップS1で、ロボット18の動作モードが完全自律モードであるかどうかを判断する。ここでは、CPU50は、動作モードデータ404fを参照して、動作モードとして完全自律モードが設定されているかどうかを判断する。
【0202】
なお、CPU50は、ロボット18を操作する操作者が居ない場合に、つまり、いずれの操作者端末16もログインしていない場合に、完全自律モードを設定する。また、CPU50は、完全自律モードを設定した場合に、他の操作者の個性を反映することが設定されていない場合には、デフォルトの顔画像を使用することをロボット18に指示する。
【0203】
ただし、CPU50は、情報処理を開始したときに、ロボット18を遠隔操作する操作者が既に割り当てられている場合には、動作モードとして遠隔モードを設定する。
【0204】
動作モードとして完全自律モードおよび遠隔モードのいずれが設定された場合にも、他の操作者の個性を反映することが設定されている場合には、CPU50は、この他の操作者についての個性データ404gを個性情報DB12bから読み出し、RAM52に書き込む(または、更新する)。また、CPU50は、個性データ404gに含まれる顔画像データをロボット18に送信する。
【0205】
また、動作モードとして遠隔モードが設定された場合に、他の操作者の個性を反映することが設定されていない場合には、CPU50はロボット18を遠隔操作することが割り当てられた操作者の個性データに含まれる顔画像データを個性情報DB12bから読み出してロボット18に送信する。
【0206】
さらに、いずれの動作モードが設定されている場合にも、他の操作者の個性を反映することが設定されていない場合には、CPU50は個性データをRAM52に記憶しない、または、消去する。
【0207】
ステップS1で“NO”であれば、つまり、動作モードが完全自律モードでなければ、図13に示すステップS25に進む。一方、ステップS1で“YES”であれば、つまり、動作モードが完全自律モードであれば、ステップS3で、ロボット18が待機中であるかどうかを判断する。ここでは、CPU50は、ロボット18が対話エージェントに応対していないかどうかを判断する。一例として、CPU50は、ロボット18から音声データを受信しない状態が一定時間以上継続しているかどうかを判断する。
【0208】
ステップS3で“YES”であれば、つまり、ロボット18が待機中であれば、ステップS5で、癖動作を実行するかどうかを判断する。ここでは、CPU50は、設定されている他の操作者の個性データに基づいて、アバター(アバター画像28)が視線の向きを変えるタイミングであるかどうかを判断する。ただし、他の操作者の個性を反映することが設定されていない場合には、ロボット18を自律行動させるプログラムに従ってアバターが視線を変えるタイミングであるかどうかを判断する。
【0209】
ステップS5で“NO”であれば、つまり、癖動作を実行しない場合には、図16に示すステップS79に進む。一方、ステップS5で“YES”であれば、つまり、癖動作を実行する場合には、ステップS7で、癖動作についての動作コマンドデータをロボット18に送信してステップS79に進む。
【0210】
上述したように、ステップS3で“NO”であれば、図12に示すステップS9で、ロボット画像データを受信したかどうかを判断する。ステップS9で“NO”であれば、つまり、ロボット画像データを受信していなければ、ステップS13に進む。一方、ステップS9で“YES”であれば、つまり、ロボット画像データを受信していれば、ステップS11で、ロボット画像データ404aをRAM52に記憶して、ステップS13に進む。
【0211】
ステップS13では、ロボット音声データを受信したかどうかを判断する。ステップS13で“NO”であれば、つまり、ロボット音声データを受信していなければ、ステップS16に進む。図示は省略するが、ロボット音声データを受信していない場合には、その時間が計測される。一方、ステップS13で“YES”であれば、つまり、ロボット音声データを受信していれば、ステップS15で、ロボット音声データ404bをRAM52に記憶して、ステップS16に進む。
【0212】
ステップS16では、ロボット18のコミュニケーション行動を決定する。ただし、コミュニケーション行動の決定は、上述した特開2009-131914号に開示された方法に従って行われる。
【0213】
次のステップS17では、他の操作者の個性を反映するかどうかを判断する。ステップS17で“NO”であれば、つまり、他の操作者の個性を反映しない場合には、ステップS18で、ステップS16で決定されたコミュニケーション行動に含まれる身振りすなわち動作についての動作コマンドデータをロボット18に送信する。ただし、コミュニケーション行動に動作が含まれない場合には、動作コマンドデータは送信されない。
【0214】
続くステップS19では、ステップS16で決定されたコミュニケーション行動に含まれる発話のアバター音声データをロボット18に送信して、ステップS79に進む。ただし、ステップS19では、アバター音声データは、デフォルトで設定されたロボット18の音声の音響モデルを用いて、コミュニケーション行動に含まれる発話のテキストから生成した合成音声のデータである。
【0215】
一方、ステップS17で“YES”であれば、つまり、他の操作者の個性を反映する場合には、ステップS20で、他の操作者の表情に基づくアバター表情データをロボット18に送信し、ステップS21で、ステップS16で決定されたコミュニケーション行動に含まれる身振りすなわち動作についての動作コマンドデータをロボット18に送信する。ただし、コミュニケーション行動に動作が含まれない場合には、動作コマンドデータは送信されない。
【0216】
続いて、ステップS22で、ステップS16で決定されたコミュニケーション行動に含まれる発話に、設定された他の操作者の個性を反映する。つまり、個性を反映することが設定された他の操作者の音響モデルを用いて、アバター音声データが生成される。
【0217】
そして、ステップS23で、アバター音声データをロボット18に送信してステップS79に進む。
【0218】
ただし、コミュニケーション行動に発話が含まれない場合には、アバター音声データは生成および送信されない。
【0219】
上述したように、ステップS1で“NO”であれば、図13に示すステップS25で、操作者端末16から操作者画像データを受信したかどうかを判断する。ステップS25で“NO”であれば、つまり、操作者画像データを受信していなければ、ステップS35に進む。
【0220】
一方、ステップS25で“YES”であれば、つまり、操作者画像データを受信すれば、ステップS26で、操作者画像データ404cをRAM52のデータ記憶領域404に記憶し、ステップS27で、他の操作者の個性を反映するかどうかを判断する。ステップS27で“YES”であれば、つまり、他の操作者の個性を反映する場合には、ステップS28で、他の操作者の感情に基づくアバター表情データ404hをロボット18に送信して、ステップS33に進む。
【0221】
一方、ステップS27で“NO”であれば、つまり、他の操作者の個性を判定しない場合には、ステップS29で、操作者の感情を推定し、ステップS31で、アバター表情データ404hをロボット18に送信し、ステップS33で、操作者画像データを履歴DB12aに記憶して、ステップS35に進む。
【0222】
ステップS35では、動作モードデータ404fを参照して、ロボット18の動作モードが半自動モードであるかどうかを判断する。ステップS35で“NO”であれば、つまり、ロボット18の動作モードが半自動モードでなければ、図14に示すステップS41に進む。
【0223】
一方、ステップS35で“YES”であれば、つまり、ロボット18の動作モードが半自動モードであれば、ステップS37で、癖動作の実行かどうかを判断する。ここでは、CPU50は、個性を反映することが設定された他の操作者の視線の向きの変更または頷きのタイミングであるかどうかを判断する。
【0224】
ステップS37で“NO”であれば、つまり、癖動作の実行でなければ、ステップS41に進む。一方、ステップS37で“YES”であれば、つまり、癖動作の実行であれば、ステップS39で、実行させる癖動作の動作コマンドデータをロボット18に送信して、ステップS41に進む。
【0225】
図14に示すように、ステップS41では、操作者端末16から操作者発話データを受信したかどうかを判断する。ステップS41で“NO”であれば、つまり、操作者発話データを受信していなければ、図15に示すステップS55に進む。一方、ステップS41で“YES”であれば、つまり、操作者発話データを受信すれば、ステップS43で、操作者発話データ404dをRAM52のデータ記憶領域404に記憶し、ステップS45で、他の操作者の個性を反映するかどうかを判断する。
【0226】
ステップS45で“NO”であれば、つまり、他の操作者の個性を反映しない場合には、ステップS47で、操作者発話データをアバター音声データ404iとしてロボット18に送信し、ステップS53で、操作者発話データ404dを履歴DB12aに記憶して、ステップS55に進む。
【0227】
一方、ステップS45で“YES”であれば、つまり、他の操作者の個性を反映する場合には、ステップS49で、操作者発話データに他の操作者の個性を反映する。つまり、操作者によって入力された発話が他の操作者の音響モデルに変換され、他の操作者の合成音声についてのアバター音声データ404iが生成される。次のステップS51では、アバター音声データ404iをロボット18に送信して、ステップS53に進む。
【0228】
図15に示すように、ステップS55で、ロボット18からロボット画像データを受信したかどうかを判断する。ステップS55“NO”であれば、つまり、ロボット画像データを受信していなければ、ステップS63に進む。一方、ステップS55で“YES”であれば、つまり、ロボット画像データを受信すれば、ステップS57で、ロボット画像データ404aをRAM52のデータ記憶領域404に記憶し、ステップS59で、ロボット画像データ404aを操作者端末16に送信し、ステップS61で、ロボット画像データ404aを履歴DB12aに記憶して、ステップS63に進む。
【0229】
ステップS63では、ロボット18からロボット音声データを受信したかどうかを判断する。ステップS63で“NO”であれば、つまり、ロボット音声データを受信していなければ、図16に示すステップS71に進む。一方、ステップS63で“YES”であれば、つまり、ロボット音声データを受信すれば、ステップS65で、ロボット音声データ404bをデータ記憶領域404に記憶し、ステップS67で、ロボット音声データ404bを操作者端末16に送信し、ステップS69で、ロボット音声データ404bを履歴DB12aに記憶して、ステップS71に進む。
【0230】
図16に示すように、ステップS71では、操作者端末16から動作コマンドデータを受信したかどうかを判断する。ステップS71で“NO”であれば、つまり、動作コマンドデータを受信していなければ、ステップS79に進む。一方、ステップS71で“YES”であれば、つまり、動作コマンドデータを受信すれば、ステップS73で、動作コマンドデータ404eをRAM52のデータ記憶領域404に記憶し、ステップS75で、動作コマンドデータ404eをロボット18に送信し、ステップS77で、動作コマンドデータ404eを履歴DB12aに記憶して、ステップS79に進む。
【0231】
ステップS79では、操作者が交代したかどうかを判断する。ステップS79で“NO”であれば、つまり、操作者が交代していなければ、図17に示すステップS85に進む。一方、ステップS79で“YES”であれば、つまり、操作者が交代すれば、ステップS81で、他の操作者の個性を反映することが設定されているかどうかを判断する。
【0232】
ステップS81で“YES”であれば、つまり、他の操作者の個性を反映することが設定されていれば、ステップS85に進む。ステップS81で“NO”であれば、つまり、他の操作者の個性を反映することが設定されていなければ、ステップS83で、直前の他の操作者の個性を反映することを設定して、ステップS85に進む。
【0233】
したがって、操作者が交代しても、先の操作者によって設定されていた、または、完全自律モードのロボット18に設定されていた他の操作者の個性を反映する。また、操作者が交代した場合に、交代前に、他の操作者の個性を反映することが設定されていない場合には、直前の他の操作者についての個性を反映することが自動的に設定される。したがって、交代後の操作者が個性を反映する他の操作者を変更しない限り、同一の操作者が対応していると対話エージェントに認識(または錯覚)させることができる。
【0234】
図示は省略するが、操作者が交代した場合には、交代後の操作者の操作者端末16に現在の動作モード、すなわち、遠隔モードまたは半自動モードと、他の操作者の個性を反映することが設定されていることを通知するようにしてもよい。このようにすれば、交代後の操作者は動作モードおよび他の操作者の個性を反映することが設定されていることを認識して、適切に対話エージェントに応対することができる。
【0235】
図17に示すように、ステップS85では、操作者端末16から他の操作者の個性を反映する指示が有るかどうかを判断する。ステップS85で“NO”であれば、つまり、操作者端末16から他の操作者の個性を反映する指示が無ければ、ステップS89に進む。
【0236】
一方、ステップS85で“YES”であれば、つまり、操作者端末16から他の操作者の個性を反映する指示が有れば、ステップS87で、指示された他の操作者の個性を反映することを設定して、ステップS97に進む。ステップS87では、CPU50は、指示された他の操作者の個性についての個性データ404gを個性情報DB12bから読み出し、RAM52に書き込む、または、更新する。このとき、CPU50は、書き込まれた、または、更新された個性データ404gに含まれる顔画像データをロボット18に送信する。
【0237】
ステップS89では、操作者端末16から半自動モードの設定指示が有るかどうかを判断する。ステップS89で“NO”であれば、つまり、操作者端末16から半自動モードの設定指示が無ければ、ステップS93に進む。
【0238】
一方、ステップS89で“YES”であれば、つまり、操作者端末16から半自動モードの設定指示が有れば、ステップS91で、動作モードとして半自動モードを設定して、ステップS97に進む。
【0239】
ステップS93では、操作者端末16から半自動モードの解除指示が有るかどうかを判断する。ステップS93で“NO”であれば、つまり、操作者端末16から半自動モードの解除指示が無ければ、ステップS97に進む。
【0240】
一方、ステップS93で“YES”であれば、つまり、操作者端末16から半自動モードの解除指示が有れば、ステップS95で、動作モードとして遠隔モードを設定して、ステップS97に進む。ただし、ステップS95で遠隔モードが設定された場合には、他の操作者の個性を反映することの設定が解除される。
【0241】
ステップS97では、サービスの終了かどうかを判断する。ここでは、CPU50は、サービスの終了時刻になったり、サービスの提供をすべて終了したりしたかどうかを判断する。ステップS97で“NO”であれば、つまり、サービスの終了でなければ、ステップS1に戻る。一方、ステップS97で“YES”であれば、つまり、サービスの終了であれば、ステップS99で、サービスの終了通知を操作者端末16およびロボット18に送信して、情報処理を終了する。
【0242】
図18図20図3に示した操作者端末16のCPU70の情報処理の一例を示すフロー図である。なお、図示は省略するが、操作者端末16のCPU70は、操作データ504aを検出したり、操作者画像データ504eを検出したり、操作者発話データ504fを取得したりして、各データをサーバ12に送信する処理(すなわち、送信処理)を実行したり、サーバ12から送信されたロボット画像データ404aおよびロボット音声データ404bを受信する処理(すなわち、受信処理)を実行したりする。
【0243】
図18に示すように、CPU70は、情報処理を開始すると、ステップS201で、サーバ12と接続状態を確立する。次のステップS203で、図5に示したようなUI画面200を表示装置80に表示する。ただし、情報処理を開始した当初では、ロボット画像データを受信していないため、表示領域202には何も画像が表示されない。また、このとき、動作モードとして遠隔モードが設定される。
【0244】
次のステップS205では、動作コマンドの入力が有るかどうかを判断する。ここでは、CPU70は、ボタン210-224、220-228…が操作されたかどうかを判断する。
【0245】
ステップS205で“NO”であれば、つまり、動作コマンドの入力が無ければ、ステップS209に進む。一方、ステップS205で“YES”であれば、つまり、動画コマンドの入力が有れば、ステップS207で、動作コマンドデータ504gをサーバ12に送信して、ステップS209に進む。
【0246】
ステップS209では、発話が有るかどうかを判断する。ここでは、CPU70は、操作者の音声が入力されたり、発話コマンドが入力されたりしたかどうかを判断する。
【0247】
ステップS209で“YES”であれば、つまり、発話が有れば、ステップS211で、操作者画像データおよび操作者発話データをサーバ12に送信して、図19に示すステップS215に進む。
【0248】
一方、ステップS209で“NO”であれば、つまり、発話が無ければ、ステップS213で、操作者画像データをサーバ12に送信して、ステップS215に進む。
【0249】
図19に示すように、ステップ215では、サーバ12から対話データを受信したかどうかを判断する。ステップS215で“NO”であれば、つまり、サーバ12から対話データを受信していなければ、ステップS225に進む。一方、ステップS215で“YES”であれば、つまり、サーバ12から対話データを受信すれば、ステップS217で、ロボット音声データが有るかどうかを判断する。
【0250】
ステップS217で“YES”であれば、つまり、ロボット音声データ504dが有れば、ステップS219で、ロボット音声データ504dを出力し、ステップS221で、ロボット画像データ504cを出力して、ステップS225に進む。したがって、ロボット18を通して操作者と対話する対話エージェントの音声が操作者端末16のスピーカ84から出力され、ロボット18を通して操作者と対話する対話エージェント等を含むカメラ画像がUI画面200の表示領域202に表示される。
【0251】
一方、ステップS217で“NO”であれば、つまり、ロボット音声データ504dが無ければ、ステップS223で、ロボット画像データ504cを出力して、ステップS225に進む。
【0252】
ステップS225では、個性を反映する他の操作者の選択かどうかを判断する。ここでは、CPU70は、UI画面200において、ボタン254がオンされたかどうかを判断する。
【0253】
ステップS225で“NO”であれば、つまり、個性を反映する他の操作者の選択でなければ、図20に示すステップS235に進む。一方、ステップS225で“YES”であれば、つまり、個性を反映する他の操作者の選択であれば、ステップS227で、図6に示したような選択画面300を表示装置80に表示する。
【0254】
次のステップS229では、決定かどうかを判断する。ここでは、CPU70は、ボタン302(他の操作者)のいずれかがオン(選択)された状態で、ボタン310がオンされたかどうかを判断する。
【0255】
ステップS229で“NO”であれば、つまり、決定でなければ、ステップS231で、その他の処理を実行して、ステップS229に戻る。その他の処理では、操作者の操作に従ってボタン302がオンまたはオフされる。図示は省略するが、ボタン312がオンされた場合には、CPU70は、操作者の選択を中断(または、キャンセル)し、選択画面300を非表示して、UI画面200を表示する。
【0256】
一方、ステップS229で“YES”であれば、つまり、決定であれば、ステップS233で、選択画面300で選択された他の操作者の個性の反映をサーバ12に指示して、ステップS235に進む。
【0257】
図20に示すように、ステップS235では、動作モードを半自動モードに設定するかどうかを判断する。ここでは、CPU70は、ボタン256aがオンされたかどうかを判断する。
【0258】
ステップS235で“NO”であれば、つまり、動作モードを半自動モードに設定しない場合には、ステップS239に進む。一方、ステップS235で“YES”であれば、つまり、動作モードを半自動モードに設定する場合には、ステップS237で、半自動モードの設定指示をサーバ12に送信して、ステップS247に進む。
【0259】
ステップS239では、半自動モードを解除するかどうかを判断する。ここでは、CPU70は、ボタン256bがオンされたかどうかを判断する。ステップS239で“NO”であれば、つまり、半自動モードを解除しない場合には、ステップS243に進む。一方、ステップS239で“YES”であれば、つまり、半自動モードを解除する場合には、ステップS241で、半自動モードの解除指示をサーバ12に送信して、ステップS247に進む。
【0260】
ステップS243では、発話内容のテキスト入力かどうかを判断する。ステップS243で“NO”であれば、つまり、発話内容のテキスト入力でなければ、ステップS247に進む。一方、ステップS243で“YES”であれば、つまり、発話内容のテキスト入力であれば、ステップS245で、入力されたテキストを表示領域250に表示して、ステップS247に進む。
【0261】
ステップS247では、サービスの終了かどうかを判断する。ここでは、CPU70は、サーバ12からサービスの終了通知を受信したかどうかを判断する。ステップS247で“YES”であれば、つまり、サービス終了であれば、情報処理を終了する。
【0262】
一方、ステップS247で“NO”であれば、つまり、サービス終了でなければ、ステップS249で、ログアウトするかどうかを判断する。ここでは、CPU70は、操作者がログアウトを指示したかどうかを判断する。ステップS249で“NO”であれば、つまり、ログアウトしない場合には、ステップS203に戻る。一方、ステップS249で“YES”であれば、つまり、ログアウトする場合には、ステップS251で、ログアウトの指示をサーバ12に送信して、情報処理を終了する。
【0263】
図21および図22図4に示したロボット18のCPU100の制御処理の一例を示すフロー図である。なお、図示は省略するが、ロボット18のCPU100は、ロボット画像データ604bを検出したり、ロボット音声データ604cを検出したり、各データをサーバ12に送信する送信処理を実行したり、サーバ12から送信された顔画像データ604d、アバター表情データ604e、アバター音声データ604fおよび動作コマンドデータ604gを受信する受信処理を実行したりする。
【0264】
図21に示すように、CPU100は、制御処理を開始すると、ステップS301で、サーバ12と接続状態を確立する。次のステップS303では、アバター画像データを生成および出力する。つまり、アバター画像28が表示装置30に表示される。
【0265】
ただし、サーバ12からデフォルトの顔画像を使用することが指示された場合には、画像生成データ604aに含まれる顔画像データを用いてアバター画像28の顔画像が生成される。
【0266】
また、サーバ12から受信した顔画像データ604dがRAM102に記憶されている場合には、顔画像データ604dに基づいてアバター画像28の顔画像が生成される。
【0267】
これらのことは、後述するステップS317およびS319においても同じである。
【0268】
なお、制御処理を開始した当初では、アバター表情データ604eを受信していないため、アバター画像28の表情は初期状態の表情(たとえば、笑顔または無表情)に設定される。
【0269】
図示は省略するが、CPU100は、制御処理の実行中に、サーバ12から送信された顔画像データ604dを受信すると、RAM102の顔画像データ604dを更新する。また、CPU100は、制御処理の実行中に、サーバ12からデフォルトの顔画像を使用することが指示された場合には、RAM102の顔画像データ604dを消去する。
【0270】
続いて、ステップS305では、サービス終了であるかどうかを判断する。ここでは、CPU100は、サーバ12からサービスの終了通知を受信したかどうかを判断する。ステップS305で“YES”であれば、つまり、サービス終了であれば、制御処理を終了する。一方、ステップS305で“NO”であれば、つまり、サービス終了でなければ、ステップS307で、サーバ12から対話データを受信したかどうかを判断する。
【0271】
ステップS307で“NO”であれば、つまり、サーバ12から対話データを受信していなければ、図22に示すステップS323に進む。一方、ステップS307で“YES”であれば、つまり、サーバ12から対話データを受信すれば、ステップS309で、アバター音声データ604fが有るかどうかを判断する。
【0272】
ステップS309で“NO”であれば、つまり、アバター音声データ604fが無ければ、図22に示すステップS313に進む。ステップS309で“YES”であれば、つまり、アバター音声データ604fが有れば、ステップS311で、アバター音声データ604fをスピーカ112に出力して、ステップS313に進む。
【0273】
図22に示すように、ステップS313では、動作コマンドデータ604gが有るかどうかを判断する。ステップS313で“NO”であれば、つまり、動作コマンドデータ604gが無ければ、ステップS317に進む。一方、ステップS313で“YES”であれば、つまり、動作コマンドデータ604gが有れば、ステップS315で、動作コマンドデータ604gが移動の指示を含むかどうかを判断する。
【0274】
ステップS315で“NO”であれば、つまり、動作コマンドデータ604gが移動の指示を含まない場合には、ステップS317で、画像生成データ604aに含まれる顔画像データまたは顔画像データ604d、アバター表情データ604eと動作コマンドデータ604gに従う動作を行うアバター画像データ604hを生成および出力して、ステップS323に進む。一方、ステップS315で“YES”であれば、つまり、動作コマンドデータ604gが移動を含む場合には、ステップS319で、画像生成データ604aに含まれる顔画像データまたは顔画像データ604d、アバター表情データ604eと動作コマンドデータ604gに従う動作を行うアバター画像データ604hを生成および出力し、ステップS321で、動作コマンドデータ604gに従って移動処理を実行して、ステップS323に進む。
【0275】
ステップS323では、音声の入力が有るかどうかを判断する。ステップS323で“YES”であれば、つまり、音声の入力が有れば、ステップS325で、ロボット画像データ604bとロボット音声データ604cをサーバ12に送信して、ステップS305に戻る。一方、ステップS323で“NO”であれば、つまり、音声の入力が無ければ、ステップS327で、ロボット画像データ604bをサーバ12に送信して、ステップS305に戻る。
【0276】
この実施例によれば、他の操作者の個性を反映して操作者のアバターであるロボットを操作するので、他の操作者として対話エージェントに応対することができる。したがって、たとえば、操作者が交代しても対話エージェントは同じ操作者が応対していると認識するため、アバターを用いたサービスを円滑に提供することができる。
【0277】
また、この実施例によれば、操作者が交代した場合に、他の操作者の個性を反映することが既に設定されている場合には、その設定を解除しないため、対話エージェントに操作者が交代したことを認識し難い。したがって、操作者が交代したとしても円滑に対話することができる。
【0278】
さらに、この実施例によれば、ロボットが完全自律モードで動作する場合にも他の操作者の個性を反映するので、操作者が交代してもアバターを用いたサービスを円滑に提供することができる。
【0279】
なお、この実施例では、他の操作者の個性を反映することが設定されている場合には、この他の操作者の音響モデルを使用した合成音声を生成して、ロボットから出力するようにしたが、定型の言葉または文については、予め録音しておいた当該他の操作者の音声を再生するようにしてもよい。
【0280】
また、この実施例では、反映する他の操作者の個性として、音声の他に、視線の切り替え、頷き、顔の表情および顔画像について説明したが、反映する個性の数および内容について限定される必要はない。たとえば、視線の切り替え、頷き、顔の表情および顔画像の少なくとも1つ反映されればよい。また、視線の切り替え、頷き、顔の表情および顔画像の全部または一部に代えて、あるいは、それらに追加して他の個性が反映されてもよい。他の個性としては、瞬き、対話エージェントに応対する場合の反応速度および手の動きも該当する。反応速度は、たとえば、対話エージェントが発話した場合に、それに対して応答するまでの時間間隔である。また、手の動きとしては、たとえば、手を振る、手招きする、顔を触る、髪をかき上げる、頭を掻くなどが考えられる。
【0281】
なお、この実施例では、表示装置にアバター画像が表示されたロボットを用いるようにしたが、これに限定される必要はない。
【0282】
本件出願人が販売等を行うコミュニケーションロットのロボビー(登録商標)を使用することができる。かかる場合には、手の動き、頭部(首)の動きは、ロボットによって実現することができる。ただし、操作者の顔画像からアバター画像の顔画像を生成することと顔の表情については表現することができない。
【0283】
また、本件出願人が販売等を行うアンドロイド(登録商標)のエリカを使用することもできる。かかる場合には、手の動き、頭部(首)の動き、顔の表情および口の動きは、ロボットによって実現することができる。ただし、操作者の顔画像からアバター画像の顔画像を生成することと移動することができない。
【0284】
したがって、実施例で説明したロボット、他のロボットは提供するサービスの種類によって使い分けされてもよい。
【0285】
なお、この実施例では、対話の履歴として、画像データと音声データを記憶するようにしたが、音声データのみを記憶するようにしてもよい。かかる場合には、音声データに基づいて操作者の感情が推定される。
【0286】
また、この実施例では、操作者端末は、操作者画像データ、操作者音声データおよび動作コマンドデータを、サーバに送信し、サーバで他の操作者の個性を反映するようにしたが、これに限定される必要はない。操作者端末またはロボットで、他の操作者の個性を反映するようにしてもよい。この場合、他の操作者の個性データは、操作者端末またはロボットからの指示で、サーバから操作者端末またはロボットに送信される。
【0287】
操作者端末で他の操作者の個性を反映する場合には、当該操作者端末において、操作者発話データから他の操作者の音響モデルに変換したアバター音声データが生成されるとともに、癖動作についての動作コマンドに対応する動作コマンドデータが発行され、アバター音声データおよび癖動作についての動作コマンドデータが操作者端末からロボットに送信される。また、操作者端末は、サーバから取得した他の操作者の個性データに含まれる表情情報すなわちアバター表情データおよび顔画像データをロボットに送信する。
【0288】
また、ロボットで他の操作者の個性を反映する場合には、当該ロボットにおいて、操作者端末から受信した操作者発話データから他の操作者の音響モデルに変換したアバター音声データが生成されるとともに、癖動作についての動作コマンドをロボット自身が発行し、アバター音声データを出力するとともに、癖動作についての動作コマンドを実行する。
【0289】
また、操作者端末またはロボットで他の操作者の個性を反映する場合には、操作者の応対の履歴を記憶するために、操作者端末から、操作者画像データ、操作者発話データおよび動作コマンドデータはサーバにも送信される。
【0290】
なお、この実施例では、他の操作者の個性を反映することを設定することができる場合について説明したが、他の操作者の個性を反映することを解除することができるようにしてもよい。他の操作者の個性を反映することを解除した場合には、完全自律モードでは、デフォルトで設定された顔画像のアバター画像がロボットの表示装置に表示され、ロボットの合成音声がロボットのスピーカから出力される。また、他の操作者の個性を反映することを解除した場合には、半自動モードおよび遠隔モードでは、ロボットを遠隔操作する操作者の顔画像データから生成されたアバター画像がロボットの表示装置に表示され、ロボットを遠隔操作する操作者の音声がロボットのスピーカから出力される。
【0291】
また、この実施例では、デフォルトで設定されたロボット18の顔画像、操作者自身の顔画像または他の操作者の顔画像を用いてアバター画像の顔画像を生成するようにしてあるが、予め用意された1種類の顔画像を用いてアバター画像の顔画像を生成するようにしてもよい。
【0292】
また、この実施例では、ロボットのアバターを用いた対話サービスについて説明したが、CGのアバターを用いた対話サービスにも適用可能である。かかる場合には、ロボットに代えて、CGのアバターを表示する表示装置を備えるとともに、カメラ、マイクおよびスピーカをさらに備えるコンピュータが設けられる。一例として、コンピュータとしては、汎用のPC、スマートフォン、タブレットPCなどを用いることができる。この場合、CGのアバターは、操作者によって動作および発話を制御される。
【0293】
また、上述の実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0294】
さらに、上述の実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
【符号の説明】
【0295】
10 …情報処理システム
12 …サーバ
14 …ネットワーク
16 …操作者端末
18 …ロボット
50、70、100 …CPU
52、72、102 …RAM
54、74、104 …通信I/F
56、76、106 …入出力I/F
58、78、108 …入力装置
30、60、80 …表示装置
82、110 …マイク
84、112 …スピーカ
86、120 …センサI/F
88、122 …カメラ
124、126 …LRF
128 …慣性計測ユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22