(57)【要約】  エンターテインメントシステム１は、現実世界において自律行動モードで行動可能なロボット装置２０と、ロボット装置２０に対応付けられた仮想ロボット４０を仮想世界において行動させるサーバ装置１０と、仮想ロボット４０が行動する仮想世界の画像を表示可能な端末装置１２とを備える。サーバ装置１０は、仮想世界の画像を端末装置１２に提供する。サーバ装置１０は、仮想ロボット４０の要求をロボット装置２０に送信し、ロボット装置２０は、仮想ロボット４０の要求を取得すると、仮想ロボット４０と連携する連携行動モードで行動する。
2019116521.tif 000002
【特許請求の範囲】
【請求項１】
現実世界において自律行動モードで行動可能なロボット装置と、前記ロボット装置に対応付けられた仮想ロボットが自律的に行動する仮想世界を構築するためのサーバ装置と、前記仮想ロボットが行動する仮想世界の画像を表示可能な端末装置と、を備えたエンターテインメントシステムであって、
前記サーバ装置は、仮想世界の画像を前記端末装置に提供するものであって、
前記サーバ装置は、前記仮想ロボットからの要求を前記ロボット装置に送信し、
前記ロボット装置は、前記仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードで行動する、
ことを特徴とするエンターテインメントシステム。
【請求項２】
前記サーバ装置は、複数の仮想ロボットが行動し、仮想ロボット同士が出会うことでコミュニケーションをとる仮想世界を構築する、
ことを特徴とする請求項１に記載のエンターテインメントシステム。
【請求項３】
自律行動モードで行動可能なロボット装置であって、
仮想世界において当該ロボット装置に対応付けられた仮想ロボットからの要求を取得する要求取得部と、
前記要求取得部が仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードを設定するモード設定部と、
連携行動モードが設定されると、仮想ロボットからの要求に応じた行動を決定する行動決定部と、
前記行動決定部が決定した行動をとるように、当該ロボット装置の動作を制御する制御部と、
を備えることを特徴とするロボット装置。
【請求項４】
当該ロボット装置の性格に関する状態情報を管理する状態管理部をさらに備え、
前記行動決定部は、自律行動モードにおいて、状態情報にしたがって当該ロボット装置の行動を決定する、
ことを特徴とする請求項３に記載のロボット装置。
【請求項５】
前記状態管理部は、管理している状態情報を、仮想ロボットの状態情報と同期させる、
ことを特徴とする請求項４に記載のロボット装置。
【請求項６】
当該ロボット装置が自律行動モードで行動中に、前記要求取得部が仮想ロボットからの要求を取得すると、前記モード設定部は、自律行動モードを連携行動モードに切り替える、
ことを特徴とする請求項３から５のいずれかに記載のロボット装置。
【請求項７】
当該ロボット装置がスタンバイモード中に、前記要求取得部が仮想ロボットからの要求を取得すると、当該ロボット装置は自動起動されて、前記モード設定部は、連携行動モードを設定する、
ことを特徴とする請求項３から６のいずれかに記載のロボット装置。
【請求項８】
現実世界のロボット装置に対応付けられた仮想ロボットを仮想世界において行動させるサーバ装置であって、
仮想ロボットからの要求をロボット装置に送信する要求送信部と、
ロボット装置から、ユーザの応答を取得する応答取得部と、
ユーザの応答を、仮想ロボットの動作に反映させる仮想ロボット制御部と、
を備えることを特徴とするサーバ装置。
【請求項９】
当該仮想ロボットの性格に関する状態情報を管理する状態管理部をさらに備え、
前記仮想ロボット制御部は、状態情報にしたがって当該仮想ロボットを行動させる、
ことを特徴とする請求項８に記載のサーバ装置。
【請求項１０】
前記状態管理部は、管理している状態情報を、ロボット装置の状態情報と同期させる、
ことを特徴とする請求項９に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンターテインメントシステム、ロボット装置およびサーバ装置に関する。
【背景技術】
【０００２】
特許文献１は、電子ペットの肉体をペット型ロボットと画面上に電子ペットの画像を表示する仮想ペット装置とで実現し、電子ペットの魂をＩＣカードで実現する電子ペットシステムを開示する。ペット型ロボットおよび仮想ペット装置は、魂であるＩＣカードを装着することで、電子ペットとして機能する。仮想ペット装置がＩＣカードを装着すると、そのモニタに電子ペットが表示され、電子ペットがＩＣカードに記憶された遺伝子データにもとづいてアクションを起こす。またペット型ロボットもＩＣカードを装着すると、ＩＣカードに記憶された遺伝子データにもとづいてアクションを起こす。【０００３】
特許文献１に開示される電子ペットシステムでは、仮想ペット装置とペット型ロボットとが同一構成の内部状態のモデルを有し、ＩＣカードを仮想ペット装置とペット型ロボットとの間で相互に入れ替えても、電子ペットの特徴やアクションが同一となるように制御される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１２６０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
技術の発達により、ロボットの機能は大きく進化している。近年ではペット型ロボットだけでなく、ダンスなど様々な動作を行うことのできる人型ロボットも市販されている。また音声処理機能および画像処理機能が向上し、これらの機能を搭載したロボットが人間の発話内容を理解して人間と会話したり、また人間の表情変化を検知して人間の感情を推測する研究も行われている。本発明者は、このようなロボット機能の進化に着目し、ロボットを利用したエンターテインメントを実現する環境を提案する。【０００６】
本発明の目的は、人間がロボットと触れ合う新しい環境を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のエンターテインメントシステムは、現実世界において自律行動モードで行動可能なロボット装置と、ロボット装置に対応付けられた仮想ロボットが自律的に行動する仮想世界を構築するためのサーバ装置と、仮想ロボットが行動する仮想世界の画像を表示可能な端末装置とを備える。サーバ装置は、仮想世界の画像を端末装置に提供する。サーバ装置は仮想ロボットからの要求をロボット装置に送信し、ロボット装置は仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードで行動する。【０００８】
本発明の別の態様は、自律行動モードで行動可能なロボット装置である。この態様のロボット装置は、仮想世界において当該ロボット装置に対応付けられた仮想ロボットからの要求を取得する要求取得部と、要求取得部が仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードを設定するモード設定部と、連携行動モードが設定されると、仮想ロボットからの要求に応じた行動を決定する行動決定部と、行動決定部が決定した行動をとるように、当該ロボット装置の動作を制御する制御部とを備える。【０００９】
本発明のさらに別の態様は、現実世界のロボット装置に対応付けられた仮想ロボットを仮想世界において行動させるサーバ装置である。この態様のサーバ装置は、仮想ロボットからの要求をロボット装置に送信する要求送信部と、ロボット装置からユーザの応答を取得する応答取得部と、ユーザの応答を、仮想ロボットの動作に反映させる仮想ロボット制御部とを備える。【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【図面の簡単な説明】
【００１１】
【図１】エンターテインメントシステムの概略構成を示す図である。
【図２】ロボット装置の外観例を示す図である。
【図３】ロボット装置の入出力系統を示す図である。
【図４】仮想世界の一例を示す図である。
【図５】状態情報の一例を示す図である。
【図６】ロボット装置の動作を制御する構成を示す図である。
【図７】サーバ装置の構成を示す図である。
【図８】端末装置の構成を示す図である。
【図９】アスレチックアクティビティの実施空間に入るためのゲートを示す図である。
【発明を実施するための形態】
【００１２】
実施例では、ユーザが現実世界にいるロボット装置と触れ合い、仮想世界にいる仮想ロボットの様子を見ることのできるエンターテインメントシステムを提供する。
図１は、実施例のエンターテインメントシステム１の概略構成を示す。エンターテインメントシステム１は、現実世界において自律行動モードで行動可能なロボット装置２０と、ロボット装置２０に対応付けられた仮想ロボット４０を仮想世界において行動させるサーバ装置１０と、仮想ロボット４０が行動する仮想世界の画像を表示可能な端末装置１２とを備える。ロボット装置２０および端末装置１２は、アクセスポイント（ＡＰ）３を介して、インターネットなどのネットワーク２経由でサーバ装置１０に接続し、サーバ装置１０は、仮想世界の画像を端末装置１２に提供する。
【００１３】
ロボット装置２０は、ユーザによって所有される。ロボット装置２０は人型やペット型のロボットであって、腕や脚、首などの関節部分にアクチュエータを有し、移動を含む様々な行動をとることができるように構成されている。ロボット装置２０は、顔の表情なども変化可能であることが好ましい。またロボット装置２０は、ユーザの発話内容を解析する音声処理機能や、カメラでユーザを撮影した画像やタッチセンサなどの情報からユーザの行動を認識する機能を備える。
【００１４】
図２は、人型ロボットであるロボット装置２０の外観例を示す。実施例のエンターテインメントシステム１は、ユーザがロボット装置２０と触れ合う環境を提供することを目的とするため、ロボット装置２０は人型やペット型のように、生命体であることをユーザに感じさせる形態をとることが好ましいが、特に形状を限定するものではない。
【００１５】
図３は、ロボット装置２０の入出力系統を示す。処理部３０は、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。処理部３０は、駆動機構３４を駆動してロボット装置２０を動かし、またスピーカ３６から音声を出力させる。駆動機構３４は、ロボット装置２０の可動部である関節部分に組み込まれたモータおよびモータ間を連結するリンク機構、モータの回転角を検出する回転角センサを含み、モータが駆動されることで、ロボット装置２０の腕や脚、首などが動かされる。なお処理部３０は、サーバ装置１０で生成された動作データにもとづいて、駆動機構３４を駆動し、またスピーカ３６から音声を出力させることもある。
【００１６】
マイク２２は周囲の音声を集音して音声信号に変換し、カメラ２４は周囲を撮影して、撮影画像を取得する。センサ２６は、ユーザによる接触を検知するタッチセンサや、ロボット装置自身の向きや姿勢、移動量などを検知する３軸の加速度センサ、ジャイロセンサ、測位センサなどを含む。記憶部２８は、処理部３０が処理するデータや命令などを記憶する。通信部３２はアンテナを介して、処理部３０から出力されるデータを無線通信によりサーバ装置１０に送信し、またサーバ装置１０から動作データや各種情報などを無線通信により受信し、処理部３０に出力する。
【００１７】
ロボット装置２０は、ロボット個体の性格や感情などを表現する状態情報と、ロボット個体の機能を表現する機能情報とを有する。ロボット装置２０の状態情報および機能情報は記憶部２８に記憶され、ロボット装置２０の体験によって適宜更新されて、サーバ装置１０との間で同期される。処理部３０は状態情報および／または機能情報にもとづいて、ロボット装置２０を自律行動させるとともに、ロボット装置２０がとる行動および／または現実世界のロボット装置２０に対する外部からの入力に応じて、状態情報および／または機能情報を更新する。
【００１８】
ユーザは、自分が所有するロボット装置２０をサーバ装置１０に登録することで、エンターテインメントシステム１に参加する。サーバ装置１０は、ロボット装置２０をユーザに紐付けて登録すると、ロボット装置２０に対応する仮想ロボット４０を作成し、仮想世界において行動させる。ユーザは、スマートフォンやタブレットなどの端末装置１２を通じて、仮想ロボットが行動する仮想世界の様子を見ることができる。
【００１９】
サーバ装置１０は、仮想ロボット４０を、現実世界のロボット装置２０と同じ外観をもつ仮想オブジェクトモデルとして作成する。これによりユーザは端末装置１２を通じて、３次元ＣＧ（コンピュータグラフィックス）で形成される仮想世界を、ロボット装置２０と同じ外観をもつ仮想ロボット４０が行動する様子を見ることができる。なおサーバ装置１０は、仮想ロボット４０の身体機能を、ロボット装置２０の身体機能と合わせることが好ましい。
【００２０】
たとえばロボット装置２０が脚部を、腰部に対して直立状態から前後に９０度までしか回転させられないという機構上の制約をもつ場合、サーバ装置１０は、同様の制約を仮想ロボット４０に課すことが好ましい。つまりロボット装置２０の腰部に対する脚部の回転角度の上限が９０度であれば、サーバ装置１０は、仮想ロボット４０の腰部に対する脚部の回転角度の上限を同じく９０度に設定する。サーバ装置１０は、ロボット装置２０の駆動機構３４の各関節の可動域や、ロボット装置２０の最大歩行速度などの仕様情報を取得し、仮想ロボット４０の身体機能を設定する。ロボット装置２０の仕様情報は、たとえばロボット装置２０のメーカから取得してよい。仮想ロボット４０の身体機能をロボット装置２０の身体機能と合わせることで、ユーザが端末装置１２で仮想ロボット４０を見たときに、自身が所有するロボット装置２０が仮想世界で行動していることを実感できるようになる。
【００２１】
エンターテインメントシステム１では、ロボット装置２０および仮想ロボット４０の機能情報が同期して管理される。ここで機能情報は、実施可能または実施不能な機能に関する情報であり、ロボット装置２０は、アプリケーションプログラム（以下、「アプリ」とも呼ぶ）をインストールすることで、当該アプリの機能を獲得する。たとえばロボット装置２０は、ダンスを踊るアプリケーションプログラム（「ダンスアプリ」）をインストールすることで、ダンスを踊れるようになる。このときロボット装置２０において、ダンス機能が、実施可能であることを示す機能値「オン」として管理される。一方、ダンスアプリをインストールしていなければ、ロボット装置２０はダンスを踊れず、ダンス機能は、実施不能であることを示す機能値「オフ」として管理される。
【００２２】
ロボット装置２０においてダンス機能の機能値が更新されると、その更新情報がサーバ装置１０に送信されて、サーバ装置１０で、ダンス機能の機能値を更新する同期処理が実施される。サーバ装置１０は、仮想ロボット４０のダンス機能を、ダンス機能の機能値にしたがって制御する。つまりダンス機能値が「オン」であれば、サーバ装置１０は、仮想世界で仮想ロボット４０にダンスをさせることができ、ダンス機能値が「オフ」であれば、仮想世界で仮想ロボット４０にダンスをさせない。このように機能値は、現実世界と仮想世界の両方にて有効とされ、したがってロボット装置２０が現実世界で実施可能な機能と、仮想ロボット４０が仮想世界で実施可能な機能とが等しくされる。そのためロボット装置２０においてダンスアプリがアンインストールされると、ダンス機能値が「オフ」となることで、ロボット装置２０および仮想ロボット４０ともにダンスを踊れなくなる。
【００２３】
仮想ロボット４０は、仮想世界で、ダンスを踊れる別の仮想ロボットからダンスを教えてもらうことで、ダンスを覚えることもできる。仮想ロボット４０がダンスを覚えると、サーバ装置１０は、ロボット装置２０にダンスアプリを配信する。なおサーバ装置１０以外のアプリケーションサーバが、ロボット装置２０にダンスアプリを配信してもよい。ロボット装置２０の処理部３０が、配信されたダンスアプリをインストールすると、ダンス機能値を「オン」に設定し、ダンス機能値の更新情報をサーバ装置１０に送信する。これによりサーバ装置１０は、仮想ロボット４０のダンス機能値を「オン」に設定する。
【００２４】
なおダンスアプリは機能の一例である。仮想ロボット４０がじゃんけんを仮想世界で学習すると、ロボット装置２０にじゃんけんのアプリケーションプログラム（「じゃんけんアプリ」）がインストールされて、ロボット装置２０が、現実世界でユーザとじゃんけんできるようになる。また逆に、ロボット装置２０がじゃんけんアプリをインストールすると、仮想世界で仮想ロボット４０が他の仮想ロボットとじゃんけんできるようになる。
【００２５】
なお機能値は「オン」、「オフ」の二値をとるだけでなく、「ロウ」、「ミドル」、「ハイ」など達成度のレベルを示す値で表現されたり、所定の範囲において設定される数値で段階的に機能の習熟度や経験量を表現されたりしてもよい。機能値の種類は、アプリケーションプログラムの種類に応じて適宜設定されてよい。
【００２６】
このようにロボット装置２０および仮想ロボット４０の機能は、機能情報としてロボット装置２０とサーバ装置１０との間で同期して管理される。機能情報がロボット装置２０およびサーバ装置１０において同期して管理されることで、ロボット装置２０ができることは仮想ロボット４０でもできるようになり、また仮想ロボット４０ができることはロボット装置２０でもできるようになる。
【００２７】
実施例のサーバ装置１０は、複数のユーザの仮想ロボットが参加して、それぞれが自律的に行動する仮想世界を提供する。サーバ装置１０は、各仮想ロボットを、それぞれの状態情報および機能情報にしたがって、仮想世界で自律行動させる。仮想世界には、３次元ＣＧで形成される街が構築されており、様々なユーザの仮想ロボットが自律的に行動して生活を営んでいる。
【００２８】
図４は、仮想世界の一例を示す。仮想ロボット４０は、ユーザが所有するロボット装置２０に対応付けられたＣＧキャラクタであり、ロボット装置２０と同様の外観を有している。サーバ装置１０は、複数の仮想ロボットが行動し、仮想ロボット同士が出会うことでコミュニケーションをとることのできる仮想世界を構築する。仮想ロボット４０は仮想世界の中で様々な体験をすることで新たな機能を獲得し、また性格や感情を表現する状態情報（状態値）を更新する。
【００２９】
図５は、状態情報の一例を示す。以下、ロボット装置２０および仮想ロボット４０を、まとめて「ロボット」と呼ぶこともある。実施例の状態情報は、「感情」、「性格」、「行動特性」のロボット内部状態に関する情報を含む。「感情」は、「怒り」、「悲しみ」、「驚き」、「恐れ」、「嬉しさ」のパラメータで構成され、「性格」は、「積極的」、「感情的」、「気の強さ」、「行動力」、「好戦的」、「好奇心」、「優しさ」のパラメータで構成され、「行動特性」は、「口調」、「話すスピード」、「動作速度」のパラメータで構成される。各パラメータには、１〜５の範囲の整数値をとる状態値を設定される。状態値１は、その状態の程度が最も低いこと、状態値５は、その状態の程度が最も高いことを示す。なお内部状態のカテゴリ、および各内部状態のパラメータは、これらに限定されるものではない。
【００３０】
「感情」のパラメータは、ロボットの感情を表現する指標である。たとえば「怒り」の状態値１は、全く怒っていない状態を示し、状態値５は、怒りが最大である状態を示す。ロボット装置２０がユーザから、ひどい言葉を受けたり、意地悪をされたりすると、「怒り」の状態値は高くなるように更新され、また仮想世界において仮想ロボット４０が他の仮想ロボットから、ひどい言葉を受けたり、意地悪をされたりすると、「怒り」の状態値は高くなるように更新される。なお、このとき「嬉しさ」の状態値が低くなる（または、悲しさが増す）ように更新されてもよい。「感情」のパラメータの状態値は、現実世界における外部からの入力および仮想世界で発生するイベントに応じて、単独または組合せでその値が上下するように管理される。
【００３１】
「性格」のパラメータは、ロボットの性格を表現する指標である。「性格」のパラメータの状態値も、現実世界における外部からの入力および仮想世界で発生するイベントに応じて、単独または組合せでその値が上下するように管理される。
【００３２】
いくつかのパラメータについて説明すると、たとえば「積極的」パラメータは、人や他の仮想ロボットに対する積極性を表現し、状態値１は、人や他の仮想ロボットに近づこうとしない消極的な状態を、状態値５は、人や他の仮想ロボットに接触しようとする積極的な状態を示す。仮想ロボット４０の「積極的」パラメータが状態値１である場合に、「積極的」パラメータが状態値５の別の仮想ロボットとコミュニケーションをとると、仮想ロボット４０の「積極的」パラメータの状態値は高くなるように更新される。「積極的」パラメータの状態値が高くなると、ロボット装置２０は、ユーザに近づくような自律行動をとるようになり、また仮想ロボット４０は、他の仮想ロボットに話しかけるような行動をとりやすくなる。
【００３３】
「行動力」パラメータは、新しい場所を冒険しようとする行動力の強弱を表現し、状態値１は、行動範囲が狭い状態を、状態値５は、行動範囲が広く、新しい場所を冒険しようとする状態を示す。たとえばユーザがロボット装置２０を家から屋外に持ち出すと、「行動力」パラメータの状態値が高くなるように更新されてよい。状態値はサーバ装置１０において同期されるため、サーバ装置１０は、仮想ロボット４０を広い範囲で行動させるようになる。
【００３４】
「行動特性」のパラメータは、ロボットの行動特性を表現する指標である。「口調」パラメータは、言葉遣いが乱暴であるか、または丁寧であるかを表現し、状態値１は言葉遣いが最も乱暴な状態を、状態値５は言葉遣いが最も丁寧な状態を示す。「話すスピード」パラメータの状態値１は、話すスピードが最もゆっくりな状態を、状態値５は、話すスピードが最も速い状態を示す。「動作速度」パラメータの状態値１は、手や足の動きが最もゆっくりである状態を、状態値５は最も速い状態（きびきび動く状態）を示す。「行動特性」の各パラメータの状態値は、現実世界における外部からの入力および仮想世界で発生するイベントに応じて、上下するように管理される。
【００３５】
図６は、ロボット装置２０の動作を制御する構成を示す。ロボット装置２０は、動作制御構成として、入出力インタフェース１００、状態管理部１２０、行動管理部１３０および記憶部２８を備える。入出力インタフェース１００、状態管理部１２０および行動管理部１３０の機能は、処理部３０により実現される。
【００３６】
入出力インタフェース１００は、サーバ装置１０との間で各種データや、要求や応答などのメッセージの送受信を行うインタフェースであって、更新情報送信部１０２、更新情報取得部１０４、アプリケーション取得部１０６、要求取得部１０８、応答送信部１１０および動作データ取得部１１２を有する。状態管理部１２０は、ロボット装置２０の状態および機能を管理し、状態決定部１２２、更新部１２４および同期部１２６を有する。行動管理部１３０は、ロボット装置２０の行動を管理し、モード設定部１３２、行動決定部１３４および制御部１３６を有する。
【００３７】
記憶部２８は、状態情報記憶部１５０、機能情報記憶部１５２、アプリケーション記憶部１５４および行動プログラム記憶部１５６を有する。状態情報記憶部１５０は、ロボット装置２０の状態情報を記憶する。機能情報記憶部１５２は、ロボット装置２０の機能情報を記憶する。アプリケーション記憶部１５４は、ロボット装置２０の機能を実現するアプリケーションプログラムを記憶する。機能情報記憶部１５２は原則として、アプリがロボット装置２０にインストールされていれば当該アプリの機能値をオン、インストールされていなければ当該アプリの機能値をオフとして機能情報を管理するが、インストールされていてもアプリを実行できない場合には、当該アプリの機能値をオフとして記憶する。行動プログラム記憶部１５６は、ロボット装置２０に自律行動させるためのプログラムを記憶する。
【００３８】
図６において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３９】
図７は、サーバ装置１０の構成を示す。サーバ装置１０は、通信部２００、入出力インタフェース２１０、状態管理部２３０、仮想ロボット制御部２４０、画像処理部２５０および記憶装置２６０を備える。入出力インタフェース２１０は、ロボット装置２０および端末装置１２との間で各種データや、要求や応答などのメッセージの送受信を行うインタフェースであって、更新情報送信部２１２、更新情報取得部２１４、要求送信部２１６、応答取得部２１８、動作データ送信部２２０、画像要求取得部２２２および画像配信部２２４を有する。
【００４０】
記憶装置２６０は、エンターテインメントシステム１に参加するユーザおよびロボットに関する情報をユーザごとに記憶する個別情報記憶部２６２ａ〜２６２ｚ（以下、区別しない場合には「個別情報記憶部２６２」と呼ぶ）、行動プログラム記憶部２８０および仮想空間モデル記憶部２８２を有する。各ユーザに関する個別情報記憶部２６２は、状態情報記憶部２６４、機能情報記憶部２６６、ユーザ情報記憶部２６８および仮想ロボット情報記憶部２７０を含む。状態情報記憶部２６４は、仮想ロボット４０の状態情報を記憶する。機能情報記憶部２６６は、仮想ロボット４０の機能情報を記憶する。ユーザ情報記憶部２６８は、ユーザに関する情報、たとえばユーザが所有するロボット装置２０および端末装置１２のアドレス情報や、ユーザ識別情報（ユーザＩＤ）、ユーザの氏名、住所などの個人情報を記憶する。仮想ロボット情報記憶部２７０は、ロボット装置２０に対応付けられて作成された仮想オブジェクトの形状および外観データ、腕や脚、首などの関節の位置や、その可動範囲など、仮想ロボット４０を仮想空間にて動作および表示させるために必要なモデルデータを記憶する。
【００４１】
上記したとおり、ユーザは、所有するロボット装置２０をサーバ装置１０に登録することで、エンターテインメントシステム１に参加する。サーバ装置１０は、ユーザに関する情報をユーザ情報記憶部２６８に記憶し、また作成した仮想ロボット４０のモデルデータを仮想ロボット情報記憶部２７０に記憶する。
【００４２】
行動プログラム記憶部２８０は、仮想ロボット４０を仮想空間で行動させるためのプログラムを記憶する。仮想空間モデル記憶部２８２は、３次元仮想空間を構築する仮想空間モデルデータを記憶する。このモデルデータは、基本的に位置情報などが更新されない静的なオブジェクトデータにより構成され、たとえば街の仮想空間を表現するモデルデータは、相対的な位置関係を定義された建物オブジェクト、道路オブジェクト、信号機オブジェクト、店舗オブジェクトなどを含む。なお仮想空間内で、ロボット装置に対応付けられた仮想ロボット以外の動的なオブジェクト、たとえば物を販売する商人ロボットや、仮想ロボットを誘導する係員ロボット、仮想ロボットの移動手段となる乗り物オブジェクトなどが存在してもよい。
【００４３】
３次元仮想空間は、現実の世界地図をベースとして形成されて、仮想ロボットは、ユーザの住所に対応する仮想世界の住所に初期配置されてよい。たとえばユーザの住所が日本であれば、その仮想ロボットは、仮想世界における日本に対応する場所に初期配置され、またユーザの住所が米国であれば、その仮想ロボットは、仮想世界における米国に対応する場所に初期配置される。上記したように「行動力」パラメータは、新しい場所を冒険しようとする行動力の強弱を表現するため、「行動力」パラメータの状態値が高い仮想ロボットは、飛行機に乗って別の国に移動する傾向があり、一方で状態値が低い仮想ロボットは、初期配置位置の周辺のみで行動する傾向がある。
【００４４】
図７において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４５】
＜状態情報の管理＞
エンターテインメントシステム１では、ロボット装置２０およびサーバ装置１０において、ロボットの状態情報は同期して管理される。以下、ロボット状態情報の管理手法について説明する。
【００４６】
ユーザがロボット装置２０をサーバ装置１０に登録すると、サーバ装置１０の状態管理部２３０は、ロボット装置２０および仮想ロボット４０に共通利用される状態情報の初期値を設定する。状態管理部２３０は、図５に示す各項目の状態値をランダムに決定した初期値を定めてもよい。また状態情報の初期値は、ユーザによって指定できるようにしてもよい。実施例において、状態情報（状態値）は、ロボット装置２０がとる行動および／または現実世界のロボット装置２０に対する外部からの入力に応じて更新され、また仮想ロボット４０がとる行動および／または仮想世界の仮想ロボット４０に対する外部からの入力に応じて更新される。
【００４７】
仮想ロボット制御部２４０は、複数のユーザの仮想ロボットを、行動プログラム記憶部２８０に記憶された行動プログラムにもとづいて、仮想空間内で自律行動させる。このとき各仮想ロボットの行動には、状態情報記憶部２６４に記憶されている状態情報（状態値）および機能情報記憶部２６６に記憶されている機能情報（機能値）が反映される。
【００４８】
たとえば仮想ロボット４０が仮想空間において他の仮想ロボットと出会ったとき、「積極的」パラメータの状態値が１であれば、仮想ロボット４０は、他の仮想ロボットとコミュニケーションをとろうとせずに素通りするように行動する。このとき他の仮想ロボットの「積極的」パラメータの状態値も１であれば、両者が互いに素通りするように行動するため、コミュニケーションは発生しない。
【００４９】
しかしながら他の仮想ロボットの「積極的」パラメータの状態値が５であると、他の仮想ロボットは、仮想ロボット４０に積極的に近づくように行動し、結果として、仮想ロボット４０は、他の仮想ロボットとコミュニケーションをとることになる。
【００５０】
行動プログラム記憶部２８０に記憶される行動プログラムは、仮想ロボット４０が他の仮想ロボットとコミュニケーションをとるように行動するか否かを決定するために参照する状態情報を、予め定めている。参照する状態情報の一つは、上記した「積極的」パラメータの状態値であるが、たとえば「楽しみ」パラメータの状態値が含まれていてもよく、また「好奇心」パラメータの状態値が含まれていてもよい。この場合、仮想ロボット制御部２４０は、「積極的」パラメータ、「楽しみ」パラメータ、「好奇心」パラメータのそれぞれの状態値を勘案して、仮想ロボット４０が他の仮想ロボットとコミュニケーションをとるように行動するか否かを決定する。
【００５１】
仮想世界において、仮想ロボット４０が他の仮想ロボットとコミュニケーションをとることは、一つのイベントとして定義される。また仮想ロボット４０が仮想ロボットとコミュニケーションをとることで、ダンスを教えてもらったり、教えたり、またじゃんけんを教えてもらったり、教えたりすることも、それぞれイベントとして定義される。仮想ロボット４０の行動中に発生するイベントは、仮想ロボット４０の状態情報および／または機能情報を更新するためのトリガとなり、仮想ロボット制御部２４０は、イベントの発生を検知すると、検知したイベントの内容を状態管理部２３０に通知する。
【００５２】
状態管理部２３０は、仮想ロボット制御部２４０から通知されるイベント情報にもとづいて、状態情報記憶部２６４および／または機能情報記憶部２６６に記憶されている情報を更新する。たとえば仮想ロボット４０が他の仮想ロボットとコミュニケーションをとったことを示すイベント情報を通知されると、状態管理部２３０は仮想ロボット４０の「積極的」パラメータの状態値を１つ高くするように更新する。これは、仮想ロボット４０が他の仮想ロボットと触れ合ったことにより、自身の積極性が向上したことを意味する。
【００５３】
コミュニケーションをとった他の仮想ロボットの「好戦的」パラメータの状態値が高く、意地悪された場合、仮想ロボット制御部２４０は、意地悪されたことを示すイベント情報を、状態管理部２３０に通知する。状態管理部２３０は、このイベント情報をもとに、仮想ロボット４０の「怒り」パラメータ、「恐れ」パラメータの状態値を１つ高くし、また「積極的」パラメータの状態値を２つ低くするように更新する。これは、仮想ロボット４０が意地悪されたことで、感情的には、それに反発して怒りの程度が増すとともに、恐れの気持ちも生じ、性格的には、他の仮想ロボットと触れ合おうとする積極性が減ったことを意味する。
【００５４】
またコミュニケーションをとった他の仮想ロボットの「口調」パラメータの状態値が低く、言葉遣いが乱暴であった場合、仮想ロボット制御部２４０は、乱暴な口調で話されたことを示すイベント情報を、状態管理部２３０に通知する。状態管理部２３０は、このイベント情報をもとに、仮想ロボット４０の「口調」パラメータの状態値を１つ下げるように更新する。これは、仮想ロボット４０が他の仮想ロボットと触れ合ったことにより、悪い言葉遣いが少しだけうつったことを意味する。
【００５５】
以上、いくつかのイベントについて例示したが、行動プログラム記憶部２８０は、様々なイベントに関して、反映する状態情報の変化を規定した状態変化情報を記憶している。状態管理部２３０は、通知されたイベント情報に応じて状態変化情報を参照し、状態情報記憶部２６４に記憶されている仮想ロボット４０の状態情報を逐次更新する。状態管理部２３０は、状態情報記憶部２６４の状態情報を更新すると、更新情報送信部２１２から更新した最新の状態情報をロボット装置２０に送信させる。
【００５６】
次に図６を参照して、ロボット装置２０の状態情報の更新手法について説明する。
ロボット装置２０は動作モードとして、スタンバイモードと、行動モードをもち、モード設定部１３２が、ロボット装置２０の動作モードを設定する。
【００５７】
スタンバイモードは、外部と通信可能な待機状態であって、状態管理部１２０や行動管理部１３０などの処理機能がオフとされるモードである。スタンバイモードでは、ユーザからのメイン電源オン操作や、サーバ装置１０から送信されるメイン電源のオン指示が監視され、メイン電源がオンされると、モード設定部１３２が動作モードを、スタンバイモードから行動モードに切り替える。
【００５８】
行動モードは、ロボット装置２０が自律行動する自律行動モードと、ロボット装置２０が仮想ロボット４０と連携する連携行動モードを含む。
モード設定部１３２は、ユーザによりメイン電源がオン操作されると、自律行動モードを設定して、その旨を行動決定部１３４および制御部１３６に通知する。自律行動モードにおいて行動決定部１３４は、ロボット装置２０がとる行動を、行動プログラム記憶部１５６に記憶された行動プログラムにもとづいて決定し、制御部１３６は、行動決定部１３４が決定した行動にしたがって、駆動機構３４およびスピーカ３６を制御する。行動決定部１３４は、ロボット装置２０がとる行動を決定する際、状態情報記憶部１５０に記憶されている状態情報を参照する。
【００５９】
たとえばロボット装置２０は、「積極的」パラメータの状態値が１であれば、ユーザとコミュニケーションをとろうとせずに一人で遊ぶように行動する。一方で、ロボット装置２０は、「積極的」パラメータの状態値が５であれば、ユーザに積極的に近づき、ユーザとコミュニケーションをとるように行動する。このとき行動決定部１３４は、ユーザに近づいて話しかけたり、またじゃんけんをするなどの行動を決定し、制御部１３６が駆動機構３４およびスピーカ３６を制御して、決定した行動を実施する。
【００６０】
行動プログラム記憶部１５６に記憶される行動プログラムは、ロボット装置２０がユーザとコミュニケーションをとるように行動するか否かを決定するために参照する状態情報を、予め定めている。参照する状態情報の一つは、上記した「積極的」パラメータの状態値であるが、たとえば「楽しみ」パラメータの状態値が含まれていてもよく、また「好奇心」パラメータの状態値が含まれていてもよい。この場合、行動決定部１３４は、「積極的」パラメータ、「楽しみ」パラメータ、「好奇心」パラメータのそれぞれの状態値を勘案して、ロボット装置２０がユーザとコミュニケーションをとるように行動するか否かを決定する。行動決定部１３４は、決定したロボット装置２０の行動を、状態管理部１２０に通知する。
【００６１】
状態決定部１２２は、通知されたロボット装置２０の行動にもとづいて、状態情報記憶部１５０に記憶されている状態情報の更新を決定する。たとえばロボット装置２０がユーザに話しかけるように行動することが通知されると、状態決定部１２２は、ロボット装置２０の「積極的」パラメータの状態値を１つ高くすることを決定する。これは、ロボット装置２０がユーザと触れ合うことにより、ロボット装置２０の積極性が向上したことを意味する。状態決定部１２２が決定する状態更新情報は、更新部１２４に通知されて、更新部１２４が、状態情報記憶部１５０に記憶された状態情報を更新する。
【００６２】
また状態決定部１２２は、現実世界のロボット装置２０に対する外部からの入力に応じて、状態情報記憶部１５０に記憶されている状態情報の更新を決定する。状態決定部１２２は、マイク２２からの入力音声データ、カメラ２４からの撮影画像データ、センサ２６からのセンサデータを取得して、外部入力データを処理する機能を有する。
【００６３】
状態決定部１２２は音声処理機能を有して、マイク２２に入力された音声データから、ユーザの感情を推定する。具体的に状態決定部１２２は音声認識機能により、ユーザの発話内容を特定して、ロボット装置２０に対してポジティブな感情を抱いているか、またはネガティブな感情を抱いているかを推定する。状態決定部１２２は、ユーザがポジティブな感情を抱いていることを推定すると、ロボット装置２０の「嬉しさ」パラメータの状態値を１つ高くすることを決定して、更新部１２４に通知する。一方で状態決定部１２２は、ユーザがネガティブな感情を抱いていることを推定すると、「嬉しさ」パラメータの状態値を１つ低くすることを決定して、更新部１２４に通知する。
【００６４】
また状態決定部１２２は画像処理機能を有して、カメラ２４の撮影画像データに含まれるユーザの表情や態度からユーザの感情を推定してもよい。状態決定部１２２は、ユーザがロボット装置２０に対してポジティブな感情を抱いているか、またはネガティブな感情を抱いているかを推定することで、状態情報の更新を決定する。
【００６５】
状態決定部１２２は、センサ２６の一つであるタッチセンサのセンサデータから、ユーザのロボット装置２０に対する行動を検知して、状態情報の更新を決定してもよい。たとえば状態決定部１２２が、ロボット装置２０の頭部に設けられたタッチセンサのセンサデータから、ロボット装置２０の頭を撫でる動作を検出すると、「嬉しさ」パラメータの状態値を１つ高くすることを決定して、更新部１２４に通知する。一方で状態決定部１２２が、ロボット装置２０の頭部に設けられたタッチセンサのセンサデータから、ロボット装置２０の頭を叩く動作を検出すると、「嬉しさ」パラメータの状態値を１つ低くし、「怒り」パラメータの状態値を１つ高くすることを決定して、更新部１２４に通知する。
【００６６】
更新部１２４は、状態決定部１２２から通知される状態更新情報にしたがって、状態情報記憶部１５０に記憶された状態情報を更新する。このように状態情報記憶部１５０に記憶された状態情報は、動的に更新される。たとえばユーザがネガティブな態度をとり続けると、ロボット装置２０の「怒り」パラメータの状態値は次第に高くなるように更新されるため、行動決定部１３４は、ロボット装置２０がユーザに対して怒っていることを示す行動をとることを決定する。そのためユーザは、自分の態度によってロボット装置２０が怒っていることを認識することとなり、すぐにロボット装置２０に対して謝るなどして、ロボット装置２０の怒りを和らげるように努める。このように状態情報が即時に更新されて、ロボット装置２０の行動に反映されることで、ユーザは、自身の対応がロボット装置２０に与える影響を認識できる。
【００６７】
更新部１２４が、状態情報記憶部１５０の状態情報を更新すると、同期部１２６が、更新情報送信部１０２から、更新した最新の状態情報をサーバ装置１０に送信させる。サーバ装置１０において、更新情報取得部２１４が、状態値の更新情報をロボット装置２０から取得すると、状態管理部２３０が、状態情報記憶部２６４に記憶された状態情報を更新する。これによりロボット装置２０における状態情報記憶部１５０と、サーバ装置１０における状態情報記憶部２６４との間で、状態情報が同期されるようになる。
【００６８】
なお上記したように、サーバ装置１０において、更新情報送信部２１２は、仮想世界において更新された仮想ロボット４０の最新の状態情報をロボット装置２０に送信する。ロボット装置２０において、更新情報取得部１０４が、状態値の更新情報をサーバ装置１０から取得すると、更新部１２４が、状態情報記憶部１５０に記憶された状態情報を更新する。これによりサーバ装置１０における状態情報記憶部２６４と、ロボット装置２０における状態情報記憶部１５０との間で、状態情報が同期されるようになる。
【００６９】
以上のようにロボット装置２０における状態管理部１２０と、サーバ装置１０における状態管理部２３０とが連携することで、ロボット装置２０およびサーバ装置１０においてロボット装置２０および仮想ロボット４０の状態情報が同期して管理される。自律行動モードにあるロボット装置２０において、行動決定部１３４は、状態情報にしたがってロボット装置２０の行動を決定する。またサーバ装置１０において、仮想ロボット制御部２４０は、状態情報にしたがって仮想ロボット４０を行動させる。これによりロボット装置２０と仮想ロボット４０は、同じ感情、性格、行動特性のもとで、それぞれの世界で自律行動するようになる。
【００７０】
＜機能情報の管理＞
ロボット装置２０およびサーバ装置１０において、ロボットの機能情報は同期して管理される。以下、ロボット機能情報の管理手法について説明する。
【００７１】
ロボット装置２０において、アプリケーション取得部１０６は、エンターテインメントシステム１において使用するアプリケーションプログラム（アプリ）を取得する。アプリケーション取得部１０６はアプリを、たとえばアプリを記録したＵＳＢメモリなどから取得してもよく、またサーバ装置１０ないしはアプリケーションサーバからネットワーク２を介して取得してもよい。更新部１２４は、取得したアプリをアプリケーション記憶部１５４に記憶させるとともに、機能情報記憶部１５２の当該アプリにより実施可能となるアプリ機能の機能値を「オン」に設定する。
【００７２】
更新部１２４が、機能情報記憶部１５２の機能情報を更新すると、同期部１２６が、更新情報送信部１０２から、更新した最新の機能情報をサーバ装置１０に送信させる。サーバ装置１０において、更新情報取得部２１４が、機能値の更新情報をロボット装置２０から取得すると、状態管理部２３０が、機能情報記憶部２６６に記憶された機能情報を更新する。これによりロボット装置２０における機能情報記憶部１５２と、サーバ装置１０における機能情報記憶部２６６との間で、機能情報が同期されるようになる。
【００７３】
なお仮想世界において、仮想ロボット４０は、他の仮想ロボットからダンスやじゃんけんを教えてもらうことで、新たな機能を獲得できる。仮想ロボット４０が新たな機能を獲得すると、状態管理部２３０は、更新情報送信部２１２から、獲得した新たな機能に対応するアプリケーションプログラムをロボット装置２０に送信する。なお状態管理部２３０は、別のアプリケーションサーバから、アプリケーションプログラムをロボット装置２０に送信させるようにしてもよい。
【００７４】
これによりロボット装置２０では、アプリケーション取得部１０６がアプリを取得し、更新部１２４がアプリケーション記憶部１５４にインストールして、当該アプリ機能の機能値を「オン」に設定する。このとき同期部１２６は、更新した機能情報を更新情報送信部１０２からサーバ装置１０に送信させ、サーバ装置１０において更新情報取得部２１４が、機能値の更新情報を取得すると、状態管理部２３０が、機能情報記憶部２６６の機能情報を更新する。このように仮想世界において仮想ロボット４０が新たな機能を獲得した場合、すぐには当該機能を実施できず、ロボット装置２０において該当するアプリがインストールされたことを条件として、仮想ロボット４０が、新たな機能を実施できるようにする。これにより、ロボット装置２０と仮想ロボット４０の機能情報を、同期して管理することが可能となる。
【００７５】
なお現実世界において、ロボット装置２０が新たな機能を獲得すると、その機能は仮想ロボット４０にも反映される。ロボット装置２０とユーザとのインタラクションによりアプリケーション取得部１０６がアプリを取得すると、更新部１２４がアプリケーション記憶部１５４にインストールして、当該アプリ機能の機能値を「オン」に設定する。このとき同期部１２６は、更新した機能情報を更新情報送信部１０２からサーバ装置１０に送信させ、サーバ装置１０において更新情報取得部２１４が、機能値の更新情報を取得すると、状態管理部２３０が、機能情報記憶部２６６の機能情報を更新する。このようにして、ロボット装置２０が仮想ロボット４０よりも先に、新たな機能を獲得した場合であっても、ロボット装置２０と仮想ロボット４０の機能情報が、同期して管理される。
【００７６】
以上は、ロボット装置２０が現実世界において自律行動モードで行動し、また仮想ロボット４０が仮想世界において自律行動しているときの状態情報および機能情報の同期処理に関する説明である。
【００７７】
ロボット装置２０および仮想ロボット４０は、それぞれの世界において独立して行動する。ロボット装置２０は、メイン電源がオンとなったときのみ行動するが、仮想ロボット４０は、仮想世界で常時行動するように制御される。仮想世界において昼夜の時間設定があってもよく、この場合、夜間は仮想ロボット４０が睡眠をとるようにしてもよい。なお仮想ロボット４０が夜間に睡眠をとるかどうかは、状態情報にもとづいて制御される。実施例のサーバ装置１０は、仮想世界の画像を端末装置１２に提供し、ユーザは端末装置１２を通じて、仮想世界で活動する仮想ロボット４０の様子をいつでも見ることができる。
【００７８】
図８は、端末装置１２の構成を示す。端末装置１２は、通信部３００および処理部３１０を備え、処理部３１０は、画像要求送信部３２０、画像取得部３２２、画像出力部３２４、通知部３２６および表示部３２８を備える。表示部３２８は、液晶パネルや有機ディスプレイなどの表示装置であって、表面にはタッチパネルが設けられ、ユーザが入力を行えるようになっている。端末装置１２はスマートフォンやタブレットなどの通信機能を有する情報処理装置であって、ビューワアプリケーションをインストールすることで、画像要求送信部３２０、画像取得部３２２、画像出力部３２４、通知部３２６などの機能が実現されてよい。
【００７９】
ユーザが画像の配信要求を端末装置１２に入力すると、画像要求送信部３２０が、サーバ装置１０に、仮想世界の画像の配信要求を送信する。配信要求には、ユーザＩＤが含まれる。サーバ装置１０において画像要求取得部２２２が配信要求を取得し、画像処理部２５０が、ユーザＩＤに紐付けられた仮想ロボット４０が行動する仮想世界の画像を生成する。
【００８０】
仮想ロボット制御部２４０は、仮想空間モデル記憶部２８２に記憶された仮想空間モデルをもとに仮想空間を構築し、仮想空間内にて複数の仮想ロボットを行動させる。画像処理部２５０は、仮想ロボット４０が存在する仮想空間をレンダリングして、ユーザに提供する画像を生成し、画像配信部２２４から端末装置１２に配信させる。ユーザは任意の視点からの画像を要求することができ、たとえば仮想ロボット４０の視線方向の画像や、仮想ロボット４０を俯瞰的に視る視点からの画像などを、画像要求送信部３２０を通じて要求できる。画像要求取得部２２２は、視点の変更要求を取得すると、画像処理部２５０が、要求された視点からの画像を生成し、画像配信部２２４が、生成された画像を配信する。
【００８１】
端末装置１２において、画像取得部３２２が、画像配信部２２４から配信された画像を取得し、画像出力部３２４が、表示部３２８に画像を表示させる。これによりユーザは、仮想世界で行動する仮想ロボット４０の様子を確認できる。エンターテインメントシステム１では、仮想ロボット４０が様々な体験をすると、ユーザの知らないところで、仮想ロボット４０およびロボット装置２０の感情、性格、行動特性を含む内部状態が変化する。そのためユーザが会社に出勤する前のロボット装置２０はフレンドリーであったにも関わらず、会社から帰宅後はロボット装置２０が近寄ってくれないこともある。ユーザがいつでも端末装置１２から仮想ロボット４０の様子を確認できるようにすることで、帰宅後のロボット装置２０の機嫌を想像することも可能となる。なおサーバ装置１０は、大きなイベントが発生したときには、端末装置１２に通知してもよい。通知部３２６がユーザに所定の通知を行うことで、ユーザは配信要求を入力して、ただちに仮想ロボット４０の様子を確認できる。
【００８２】
ユーザは、基本的には仮想ロボット４０の行動に対して介入せず、端末装置１２から仮想ロボット４０の行動を見て楽しむだけであるが、若干の介入は許容するようにしてもよい。たとえばサーバ装置１０は、仮想世界において様々なアクティビティを日々開催し、端末装置１２に「本日のロボットアクティビティ」と称するアクティビティ情報を送信する。通知部３２６は表示部３２８にアクティビティ情報を表示し、ユーザはアクティビティ情報を見て、仮想ロボット４０に対してアクティビティへの参加を促すような提案をしてもよい。
【００８３】
この提案は、ユーザがロボット装置２０に対して話しかけ、ロボット装置２０がサーバ装置１０に対して、ユーザの発話を言語解析した内容を送信することで、サーバ装置１０に伝えられる。サーバ装置１０は、状態情報記憶部２６４に記憶された状態情報および／または機能情報記憶部２６６に記憶された機能情報にしたがって、仮想ロボット４０がユーザの提案に応じるか否かを決定する。たとえばユーザが、アクティビティの一つである「ロボットサッカー大会」への参加を提案した場合、サーバ装置１０は、仮想ロボット４０がサッカープレイ機能を有していなければ、ロボットサッカー大会に参加できないことを判定する。このときサーバ装置１０は、ロボット装置２０に「サッカーアプリを持ってないので、サッカー大会に参加できません」という音声データを送信し、ロボット装置２０のスピーカ３６から出力させてよい。これを受けて、ユーザはサッカープレイアプリをロボット装置２０にインストールし、仮想ロボット４０がロボットサッカー大会に参加できるようにしてもよい。
【００８４】
エンターテインメントシステム１では、ユーザがロボット装置２０と触れ合っている間も、仮想ロボット４０は、仮想世界において常時行動している状態にある。以下、仮想ロボット４０が、アスレチックのアクティビティに参加する例について説明する。なおアスレチックアクティビティは、仮想ロボット４０が自律的に実施するものであり、ユーザの介入は必要としない。そのためアクティビティの内容については特に説明しないが、仮想ロボット４０がアクティビティの実施空間に入るためには、鍵がかかったゲートを通過する必要がある。仮想ロボット４０は、ユーザの協力を得ることで、鍵を解除して、ゲートを通過できるようになる。
【００８５】
図９は、アスレチックアクティビティの実施空間に入るためのゲートを示す。ここでは２つのゲート１、２が用意されている。各ゲートの鍵を解除するためには、仮想ロボット４０は、各ゲートに用意されているミッションをクリアしなければならない。
【００８６】
（ミッション１）
ゲート１では、鍵を解除するミッション１として、ユーザが鍵を仮想ロボット４０に渡すことが設定されている。このミッション１は、ユーザがロボット装置２０のカメラ２４に、自身が持っている鍵（車の鍵でも、家の鍵でも何でもよい）を撮影させることで、クリアされる。
【００８７】
仮想ロボット４０がゲート１に到着すると、仮想ロボット制御部２４０は、ゲート１の鍵を解除するための仮想ロボット４０の要求を生成する。この要求は、ユーザの鍵をカメラ２４で撮影する、というものである。仮想ロボット制御部２４０は、仮想ロボット４０による「鍵が欲しいので、カメラに鍵を見せてください」とする音声データを生成し、要求送信部２１６が、仮想ロボット４０からの要求をロボット装置２０に送信する。この要求は、ユーザの協力を求める要求であるため、「介入要求」と呼んでもよい。送信される要求には、ユーザの鍵をカメラ２４で撮影することを示すミッション情報と、「鍵が欲しいので、カメラに鍵を見せてください」とする音声データが含まれる。
【００８８】
ロボット装置２０において、要求取得部１０８が、仮想ロボット４０からの要求を取得する。このときロボット装置２０は、自律行動モードで行動中であり、要求取得部１０８が仮想ロボット４０の要求を取得すると、モード設定部１３２は、ロボット装置２０の自律行動モードを、仮想ロボット４０と連携する連携行動モードに切り替える。モード設定部１３２は、連携行動モードに切り替えると、行動決定部１３４および制御部１３６にその旨を通知する。これにより行動決定部１３４は、自律行動モードにおける行動決定を一時停止する。
【００８９】
なお、この例ではロボット装置２０のメイン電源がオンであって、自律行動モードで行動中であることを前提としたが、仮想ロボット４０はロボット装置２０とは独立して動作しているため、ゲート１に到着したときに、ロボット装置２０のメイン電源がオフとなっている可能性もある。そのためサーバ装置１０において要求送信部２１６は、送信する要求に、ロボット装置２０のメイン電源のオン指示も含ませる。スタンバイモードにあるロボット装置２０は、仮想ロボット４０の要求に含まれるメイン電源のオン指示を取得すると、メイン電源をオンに切り替えて起動する。つまりロボット装置２０がスタンバイモード中に、要求取得部１０８が仮想ロボット４０からの要求を取得すると、メイン電源がオンに設定されて、ロボット装置２０が自動起動する。ロボット装置２０が起動されると、モード設定部１３２は動作モードとして、連携行動モードを設定する。なお起動済のロボット装置２０は、仮想ロボット４０の要求に含まれるメイン電源のオン指示を無視すればよい。
【００９０】
連携行動モードが設定されると、行動決定部１３４は、仮想ロボット４０からの要求に応じた行動を決定する。ここで要求には、ユーザの鍵をカメラ２４で撮影することを示すミッション情報と、「鍵が欲しいので、カメラに鍵を見せてください」とする音声データが含まれている。行動決定部１３４は、この要求を受けて、カメラ２４をオンにして、カメラ２４の撮影画像をサーバ装置１０に送信し、またスピーカ３６から当該音声データを出力させる行動を決定する。制御部１３６は、行動決定部１３４が決定した行動をとるように、ロボット装置２０の動作を制御し、具体的には、カメラ２４の撮影画像を応答データとして応答送信部１１０からサーバ装置１０に送信させ、スピーカ３６から「鍵が欲しいので、カメラに鍵を見せてください」の音声を出力する。
【００９１】
ユーザは、ロボット装置２０から出力される音声を聞き、自身が持っている鍵をカメラ２４の前にかざす。応答送信部１１０は、仮想ロボット４０の要求に対するユーザの応答データとして、カメラ２４の撮影画像をサーバ装置１０に送信する。サーバ装置１０において、応答取得部２１８は、ロボット装置２０からユーザの応答データとして、カメラ２４の撮影画像を取得する。仮想ロボット制御部２４０は、撮影画像に「鍵」が撮影されていることを認識すると、ミッション１のクリアを判定してゲート１を開け、仮想ロボット４０を通過させる。このように仮想ロボット制御部２４０は連携行動モードにおいて、ユーザの応答を、仮想ロボット４０の動作に反映させる。ユーザは端末装置１２を通じて、ゲート１が開き、仮想ロボット４０が通過する様子を見ることができる。
【００９２】
なおカメラ２４により「鍵」が撮影されたことは、ロボット装置２０側で判定されてもよい。制御部１３６は、物体認識機能により、撮影画像に「鍵」が含まれていることを判定すると、応答送信部１１０は、ミッション１がクリアされたことをユーザの応答データとして送信する。なお応答送信部１１０は、「鍵」が撮影されたことを、ユーザの応答データとして送信してもよい。これによりサーバ装置１０の仮想ロボット制御部２４０は、ゲート１を開き、仮想ロボット４０を通過させる。ミッション１をクリアすると、モード設定部１３２は、ロボット装置２０の連携行動モードを、自律行動モードに切り替え、ロボット装置２０は、再び自律行動するように制御される。
【００９３】
（ミッション２）
ミッション１をクリアすると、仮想ロボット４０は、ゲート１の奥にあるアスレチックにチャレンジする。ユーザは、端末装置１２から、この様子を見ることができる。このアスレチックを無事終了すると、仮想ロボット４０は、ゲート２に到着する。
【００９４】
ゲート２では、鍵を解除するミッション２として、仮想ロボット４０がゲート２の係員ロボットと同じポーズをとることが設定されている。このミッション２は、ユーザがロボット装置２０の腕などを動かして係員ロボットと同じポーズをとらせ、そのポーズを仮想ロボット４０に反映させることで、クリアされる。
【００９５】
仮想ロボット４０がゲート２に到着すると、仮想ロボット制御部２４０は、ゲート２の鍵を解除するための仮想ロボット４０の要求を生成する。この要求は、ロボット装置２０と仮想ロボット４０の動きを同期させて、係員ロボットと同じポーズをとらせる、というものである。仮想ロボット制御部２４０は、仮想ロボット４０による「ロボット装置に係員と同じポーズをとらせてください」とする音声データを生成し、要求送信部２１６が、仮想ロボット４０からの要求をロボット装置２０に送信する。送信される要求には、ロボット装置２０と仮想ロボット４０の動きを同期させて、係員ロボットと同じポーズをとらせることを示すミッション情報と、「ロボット装置に係員と同じポーズをとらせてください」とする音声データが含まれる。
【００９６】
ロボット装置２０において、要求取得部１０８が、仮想ロボット４０からの要求を取得する。このときロボット装置２０は、自律行動モードで行動中であり、要求取得部１０８が仮想ロボット４０の要求を取得すると、モード設定部１３２は、ロボット装置２０の自律行動モードを連携行動モードに切り替える。モード設定部１３２は、連携行動モードに切り替えると、行動決定部１３４および制御部１３６にその旨を通知する。これにより行動決定部１３４は、自律行動モードにおける行動決定を一時停止する。
【００９７】
連携行動モードが設定されると、行動決定部１３４は、仮想ロボット４０の要求に応じた行動を決定する。ここで要求には、ロボット装置２０と仮想ロボット４０の動きを同期させて、係員ロボットと同じポーズをとらせることを示すミッション情報と、「ロボット装置に係員と同じポーズをとらせてください」とする音声データが含まれている。行動決定部１３４は、この要求を受けて、駆動機構３４の各モータに設けられた回転角センサの検出値をサーバ装置１０に送信し、またスピーカ３６から当該音声データを出力させる行動を決定する。制御部１３６は、行動決定部１３４が決定した行動をとるように、ロボット装置２０の動作を制御し、具体的には、回転角センサの検出値を応答データとして応答送信部１１０からサーバ装置１０に送信させ、スピーカ３６から「ロボット装置に係員と同じポーズをとらせてください」の音声を出力する。
【００９８】
ユーザは、ロボット装置２０から出力される音声を聞き、ミッション２を理解すると、端末装置１２に表示される係員ロボットのポーズを確認する。図９に示す例では、係員ロボットが右手を斜めに上げ、左手を斜めに下げているポーズをとっており、ユーザはロボット装置２０の腕を動かして、同じポーズをとらせる。応答送信部１１０は、仮想ロボット４０の要求に対するユーザの応答データとして、駆動機構３４における各モータに設けられた回転角センサの検出値をサーバ装置１０に送信する。
【００９９】
サーバ装置１０において、応答取得部２１８は、ロボット装置２０から回転角センサの検出値を取得する。仮想ロボット情報記憶部２７０は、ロボット装置２０における回転角センサの検出値と、モータの回転角の対応関係を記憶している。したがって仮想ロボット制御部２４０は、各回転角センサの検出値から、仮想ロボット４０の各関節の回転角を導出できる。仮想ロボット制御部２４０は、回転角センサの検出値に応じて仮想ロボット４０の関節の回転角を変化させ、仮想ロボット４０の姿勢が係員ロボットのポーズと同じになったことを認識すると、ミッション２のクリアを判定し、ゲート２を開けて仮想ロボット４０を通過させる。ミッション２をクリアすると、モード設定部１３２は、ロボット装置２０の連携行動モードを、自律行動モードに切り替え、ロボット装置２０は、再び自律行動するように制御される。
【０１００】
以上のように、エンターテインメントシステム１では、仮想ロボット４０が介入要求をロボット装置２０に対して送信することで、ユーザは、仮想ロボット４０の行動を手助けする。連携行動モードでユーザは、仮想ロボット４０に頼られる充足感によって仮想ロボット４０に対する愛着を深めるようになる。
【０１０１】
なお上記した例では、仮想ロボット４０が、ロボット装置２０と同じ動作をするように制御されたが、ロボット装置２０が、仮想ロボット４０と同じ動作をするように制御されてもよい。たとえば仮想ロボット４０がボクシング大会に出場する場合に、仮想ロボット制御部２４０は、仮想ロボット４０とロボット装置２０の動きを同期させる、という仮想ロボット４０の要求を生成する。要求送信部２１６が、仮想ロボット４０からの要求をロボット装置２０に送信すると、ロボット装置２０において、要求取得部１０８が、仮想ロボット４０の要求を取得する。
【０１０２】
要求取得部１０８が仮想ロボット４０の要求を取得すると、モード設定部１３２は、ロボット装置２０の動作モードを連携行動モードに設定する。連携行動モードが設定されると、行動決定部１３４は、仮想ロボット４０の要求に応じた行動を決定する。ここで要求には、仮想ロボット４０とロボット装置２０の動きを同期させることを示す情報が含まれている。行動決定部１３４は、この要求を受けて、制御部１３６に、サーバ装置１０から送信される動作データにしたがって行動することを指示する。
【０１０３】
ボクシング大会が始まると、仮想ロボット制御部２４０は、仮想ロボット４０の動きに同期したロボット装置２０の動作データを生成し、動作データ送信部２２０が、動作データをロボット装置２０に送信する。ロボット装置２０において動作データ取得部１１２は動作データを取得し、制御部１３６は、動作データにしたがって駆動機構３４を制御する。これによりロボット装置２０は、仮想ロボット４０の動きに同期して、ユーザの前でボクシングの動きをする（ただし相手はいない）。ユーザは端末装置１２を通じて、仮想ロボット４０がボクシングをしている様子を見ることができるが、目の前でロボット装置２０がパンチを繰り出す姿を見ることで、仮想ロボット４０を応援する気持ちが高まる。仮想ロボット４０がダウンすると、ロボット装置２０もダウンするが、ロボット装置２０が自力で起き上がれない場合には、ユーザがロボット装置２０を立たせてあげるのがよい。
【０１０４】
以上、本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１０５】
実施例では、ロボット装置２０とサーバ装置１０との間で、更新された状態情報および／または機能情報を即時に同期させることを説明したが、変形例では所定時間ごとに同期させるようにしてもよい。また変形例では、ロボット装置２０のメイン電源がオンされてからオフされるまでの間、サーバ装置１０における状態情報および／または機能情報の更新をロボット装置２０に反映させないようにしてもよい。この場合、ロボット装置２０の行動中、仮想ロボット４０の状態値変化の影響を受けないため、ロボット装置２０がユーザと遊んでいる最中に突然乱暴になったりすることもなく、ユーザは安心してロボット装置２０と触れ合うことができる。
【０１０６】
また実施例では、仮想ロボット４０が常時行動していることを前提としたが、ロボット装置２０と仮想ロボット４０は、いずれか一方のみが行動するように制御されてもよい。つまりロボット装置２０のメイン電源がオンされてからオフされるまでの間は、仮想ロボット制御部２４０は、仮想世界において仮想ロボット４０を行動させず、ロボット装置２０のメイン電源がオフされてからオンされるまでの間のみ、仮想世界において仮想ロボット４０を行動させるように制御してもよい。
【０１０７】
図５には、状態情報として、感情、性格、行動特性の内部状態を示したが、それ以外にも、体調などの状態情報が含まれてもよい。
たとえば体調のパラメータとして、「風邪を引いた」というパラメータを用意し、風邪の重症度に応じて、仮想ロボット４０およびロボット装置２０の動きが制限されるようにしてもよい。仮想ロボット４０が別の仮想ロボットから風邪を移されると、仮想ロボット４０の動きが鈍くなり、同様にロボット装置２０の動きも鈍くなるように制御されてよい。風邪は時間がたつと治るが、ユーザが仮想ロボット４０に風邪薬を与えることで、風邪が治ってもよい。同様に、仮想ロボット４０が体の一部に怪我をすると、ロボット装置２０においても、該当する箇所を動かせないようにしてもよい。たとえば体の一部が動かせないことで、ダンスアプリなどの体を動かすアプリの機能値がオフに自動更新されてもよい。
【符号の説明】
【０１０８】
１・・・エンターテインメントシステム、１０・・・サーバ装置、１２・・・端末装置、２０・・・ロボット装置、４０・・・仮想ロボット、１００・・・入出力インタフェース、１０２・・・更新情報送信部、１０４・・・更新情報取得部、１０６・・・アプリケーション取得部、１０８・・・要求取得部、１１０・・・応答送信部、１１２・・・動作データ取得部、１２０・・・状態管理部、１２２・・・状態決定部、１２４・・・更新部、１２６・・・同期部、１３０・・・行動管理部、１３２・・・モード設定部、１３４・・・行動決定部、１３６・・・制御部、１５０・・・状態情報記憶部、１５２・・・機能情報記憶部、１５４・・・アプリケーション記憶部、１５６・・・行動プログラム記憶部、２００・・・通信部、２１０・・・入出力インタフェース、２１２・・・更新情報送信部、２１４・・・更新情報取得部、２１６・・・要求送信部、２１８・・・応答取得部、２２０・・・動作データ送信部、２２２・・・画像要求取得部、２２４・・・画像配信部、２３０・・・状態管理部、２４０・・・仮想ロボット制御部、２５０・・・画像処理部、２６０・・・記憶装置、２６２・・・個別情報記憶部、２６４・・・状態情報記憶部、２６６・・・機能情報記憶部、２６８・・・ユーザ情報記憶部、２７０・・・仮想ロボット情報記憶部、２８０・・・行動プログラム記憶部、２８２・・・仮想空間モデル記憶部、３００・・・通信部、３１０・・・処理部、３２０・・・画像要求送信部、３２２・・・画像取得部、３２４・・・画像出力部、３２６・・・通知部、３２８・・・表示部。
【産業上の利用可能性】
【０１０９】
本発明は、ロボット分野に利用できる。
【図１】
2019116521.tif 000003
【図２】
2019116521.tif 000004
【図３】
2019116521.tif 000005
【図４】
2019116521.tif 000006
【図５】
2019116521.tif 000007
【図６】
2019116521.tif 000008
【図７】
2019116521.tif 000009
【図８】
2019116521.tif 000010
【図９】
2019116521.tif 000011
【手続補正書】
【提出日】令和2年6月12日(2020.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現実世界において自律行動モードで行動可能なロボット装置と、前記ロボット装置に対応付けられた仮想ロボットが自律的に行動する仮想世界を構築するためのサーバ装置と、前記仮想ロボットが行動する仮想世界の画像を表示可能な端末装置と、を備えたエンターテインメントシステムであって、
前記サーバ装置は、仮想世界の画像を前記端末装置に提供するものであって、
前記サーバ装置は、前記仮想ロボットからの要求を前記ロボット装置に送信し、
前記ロボット装置は、前記仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードで行動する、
ことを特徴とするエンターテインメントシステム。
【請求項２】
前記サーバ装置は、複数の仮想ロボットが行動し、仮想ロボット同士が出会うことでコミュニケーションをとる仮想世界を構築する、
ことを特徴とする請求項１に記載のエンターテインメントシステム。
【請求項３】
自律行動モードで行動可能なロボット装置であって、
複数の仮想ロボットが行動する仮想世界において当該ロボット装置に対応付けられた仮想ロボットからの要求を取得する要求取得部と、
前記要求取得部が仮想ロボットからの要求を取得すると、仮想ロボットと連携する連携行動モードを設定するモード設定部と、
連携行動モードが設定されると、仮想ロボットからの要求に応じた行動を決定する行動決定部と、
前記行動決定部が決定した行動をとるように、当該ロボット装置の動作を制御する制御部と、
を備えることを特徴とするロボット装置。
【請求項４】
当該ロボット装置の性格に関する状態情報を管理する状態管理部をさらに備え、
前記行動決定部は、自律行動モードにおいて、状態情報にしたがって当該ロボット装置の行動を決定する、
ことを特徴とする請求項３に記載のロボット装置。
【請求項５】
前記状態管理部は、管理している状態情報を、仮想ロボットの状態情報と同期させる、
ことを特徴とする請求項４に記載のロボット装置。
【請求項６】
当該ロボット装置が自律行動モードで行動中に、前記要求取得部が仮想ロボットからの要求を取得すると、前記モード設定部は、自律行動モードを連携行動モードに切り替える、
ことを特徴とする請求項３から５のいずれかに記載のロボット装置。
【請求項７】
当該ロボット装置がスタンバイモード中に、前記要求取得部が仮想ロボットからの要求を取得すると、当該ロボット装置は自動起動されて、前記モード設定部は、連携行動モードを設定する、
ことを特徴とする請求項３から６のいずれかに記載のロボット装置。
【請求項８】
現実世界のロボット装置に対応付けられた仮想ロボットを仮想世界において行動させるサーバ装置であって、
仮想ロボットからの要求をロボット装置に送信する要求送信部と、
ロボット装置から、ユーザの応答を取得する応答取得部と、
ユーザの応答を、仮想ロボットの動作に反映させる仮想ロボット制御部と、
を備えることを特徴とするサーバ装置。
【請求項９】
当該仮想ロボットの性格に関する状態情報を管理する状態管理部をさらに備え、
前記仮想ロボット制御部は、状態情報にしたがって当該仮想ロボットを行動させる、
ことを特徴とする請求項８に記載のサーバ装置。
【請求項１０】
前記状態管理部は、管理している状態情報を、ロボット装置の状態情報と同期させる、
ことを特徴とする請求項９に記載のサーバ装置。
【国際調査報告】
2019116521.tif 000012
2019116521.tif 000013
2019116521.tif 000014
2019116521.tif 000015