(57)【要約】【課題】表示画面上に表示される画像と関連してユーザとの間で情報の入出力を行う場合に、ユーザの負担を減らすことのできる情報処理システムを提供する。【解決手段】表示画面上に画像を表示する表示装置と、ユーザとの間で情報の入出力を行うロボット装置と、を含み、現実空間における表示画面の位置を取得し、取得される表示画面の位置に基づいて、ロボット装置を移動させる情報処理システムである。【選択図】図１
2009011362.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上に画像を表示する表示装置と、ユーザとの間で情報の入出力を行うロボット装置と、を含む情報処理システムであって、
現実空間における前記表示画面の位置を取得する画面位置取得手段と、
前記画面位置取得手段により取得される前記表示画面の位置に基づいて、前記ロボット装置を移動させる移動制御手段と、
を含むことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
現実空間における前記ユーザの位置を取得するユーザ位置取得手段をさらに含み、
前記移動制御手段は、前記表示画面の位置と、前記ユーザ位置取得手段により取得される前記ユーザの位置と、に基づいて、前記ロボット装置を移動させる
ことを特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
前記移動制御手段は、前記表示画面の位置と、前記ユーザの位置と、に基づいて、前記ロボット装置の移動可能領域を決定し、当該決定した移動可能領域に応じて前記ロボット装置を移動させる
ことを特徴とする情報処理システム。
【請求項４】
請求項３に記載の情報処理システムにおいて、
前記移動可能領域は、前記ユーザの位置から当該移動可能領域内の各点に向かう方向と、前記ユーザの位置から前記表示画面に向かう方向と、のなす角度が所定値以下となる領域である
ことを特徴とする情報処理システム。
【請求項５】
請求項２から４のいずれか一項に記載の情報処理システムにおいて、
前記移動制御手段は、前記ユーザの位置に基づいて、前記ロボット装置が情報の入出力を行う方向を変更する
ことを特徴とする情報処理システム。
【請求項６】
請求項２から５のいずれか一項に記載の情報処理システムにおいて、
前記移動制御手段により移動された前記ロボット装置の位置と、前記ユーザの位置と、に応じて、前記表示画面に表示する表示要素の位置を変化させる手段をさらに含む
ことを特徴とする情報処理システム。
【請求項７】
表示画面上に画像を表示する表示装置と接続され、ユーザとの間で情報の入出力を行うロボット装置であって、
現実空間における前記表示画面の位置を取得する画面位置取得手段と、
前記画面位置取得手段により取得される前記表示画面の位置に基づいて決定される位置に移動する移動手段と、
を含むことを特徴とするロボット装置。
【請求項８】
表示画面上に画像を表示する表示装置と接続され、ユーザとの間で情報の入出力を行うロボット装置の制御方法であって、
現実空間における前記表示画面の位置を取得する画面位置取得ステップと、
前記画面位置取得ステップにより取得される前記表示画面の位置に基づいて、前記ロボット装置を移動させる移動制御ステップと、
を含むことを特徴とするロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとの間で情報の入出力を行うロボット装置、当該ロボット装置を含む情報処理システム、及び当該ロボット装置の制御方法に関する。
【背景技術】
【０００２】
例えば一般家庭の部屋の中などを自律的に移動して、ユーザに対して各種の情報を提示したり、あるいはユーザから各種の情報の入力を受け付けたりするロボット装置がある。また、このようなロボット装置の中には、家庭用ゲーム機などの情報処理装置と接続されることによって、表示装置（例えば家庭用テレビ受像機など）の表示画面上に表示される画像と連携しながら動作するものがある（例えば特許文献１，２参照）。このような技術によれば、例えば画面上にゲームの画像を表示するとともに、当該ゲームに関連した動きをロボット装置に実行させるなどの方法で、ユーザとの間で多様な手段による情報の入出力を行うことができる。
【特許文献１】特許第３０９１１３５号公報
【特許文献２】特開２０００−２１０４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来例の技術において、ロボット装置と表示装置の画面とがユーザから見て違う方向に位置する場合、ユーザは、あるときは画面上に表示される画像を観覧し、あるときはロボット装置によって提示される情報を受け取ったりロボット装置に対して情報を入力したりするために、顔の向きを頻繁に変えるなどの必要が生じることがある。このような問題を解消するために、ユーザは自分自身の位置を変えたり、ロボット装置を置く場所を移動させたりする必要があり、ユーザにとって負担となる場合があった。
【０００４】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、画面上に表示される画像と関連してユーザとの間で情報の入出力を行う場合に、ユーザの負担を減らすことのできるロボット装置、当該ロボット装置を含む情報処理システム及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理システムは、表示画面上に画像を表示する表示装置と、ユーザとの間で情報の入出力を行うロボット装置と、を含む情報処理システムであって、現実空間における前記表示画面の位置を取得する画面位置取得手段と、前記画面位置取得手段により取得される前記表示画面の位置に基づいて、前記ロボット装置を移動させる移動制御手段と、を含むことを特徴とする。
【０００６】
上記情報処理システムは、現実空間における前記ユーザの位置を取得するユーザ位置取得手段をさらに含み、前記移動制御手段は、前記表示画面の位置と、前記ユーザ位置取得手段により取得される前記ユーザの位置と、に基づいて、前記ロボット装置を移動させることとしてもよい。
【０００７】
さらに、上記情報処理システムにおいて、前記移動制御手段は、前記表示画面の位置と、前記ユーザの位置と、に基づいて、前記ロボット装置の移動可能領域を決定し、当該決定した移動可能領域に応じて前記ロボット装置を移動させることとしてもよい。
【０００８】
また、前記移動可能領域は、前記ユーザの位置から当該移動可能領域内の各点に向かう方向と、前記ユーザの位置から前記表示画面に向かう方向と、のなす角度が所定値以下となる領域であってもよい。
【０００９】
また、上記情報処理システムにおいて、前記移動制御手段は、前記ユーザの位置に基づいて、前記ロボット装置が情報の入出力を行う方向を変更することとしてもよい。
【００１０】
また、上記情報処理システムは、前記移動制御手段により移動された前記ロボット装置の位置に応じて、前記表示画面に表示する表示要素の位置を変化させる手段をさらに含むこととしてもよい。
【００１１】
また、本発明に係るロボット装置は、表示画面上に画像を表示する表示装置と接続され、ユーザとの間で情報の入出力を行うロボット装置であって、現実空間における前記表示画面の位置を取得する画面位置取得手段と、前記画面位置取得手段により取得される前記表示画面の位置に基づいて決定される位置に移動する移動手段と、を含むことを特徴とする。
【００１２】
また、本発明に係るロボット装置の制御方法は、表示画面上に画像を表示する表示装置と接続され、ユーザとの間で情報の入出力を行うロボット装置の制御方法であって、現実空間における前記表示画面の位置を取得する画面位置取得ステップと、前記画面位置取得ステップにより取得される前記表示画面の位置に基づいて、前記ロボット装置を移動させる移動制御ステップと、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１４】
図１は、本発明の一実施形態に係る情報処理システム１の使用例を示す概要図である。同図に示すように、情報処理システム１は、ロボット装置２と、コンピュータ３と、表示装置４と、を含んで構成されている。ロボット装置２は、例えば部屋の中などに配置され、コンピュータ３と有線又は無線で通信接続されている。そして、コンピュータ３と連携して、部屋にいるユーザから情報の入力を受け付けたり、ユーザに対して各種の情報を提示したりするなどの機能を実現する。
【００１５】
図２は、ロボット装置２の内部構成の一例について、その概略を示す構成図である。同図に示すように、本実施形態に係るロボット装置２は、大きくインタフェース部１０及び胴体部１２から構成される。インタフェース部１０は、カメラ１４と、マイクロホン１６と、ディスプレイ１８と、スピーカ２０と、インタフェース駆動部２２と、を含んでいる。また、胴体部１２は、本体駆動部２４と、位置検出部２６と、回路部２８と、を含んでいる。
【００１６】
カメラ１４は、ロボット装置２の周囲の画像を撮像する。また、マイクロホン１６は、ロボット装置２の周辺の音声を集音する。なお、マイクロホン１６は、特定方向の音声に対する感度の高い指向性マイクロホンであってもよい。カメラ１４やマイクロホン１６によって、情報処理システム１は、ユーザのジェスチャーや声などによる情報入力を受け付ける。具体的には、カメラ１４によって撮像されたユーザを含む画像や、マイクロホン１６によって集音されたユーザの声などを解析することによって、情報処理システム１はユーザからの情報入力に応じた処理を実現する。
【００１７】
ディスプレイ１８は、各種の情報を画像として表示する。また、スピーカ２０は、各種の音声情報を出力する。ディスプレイ１８及びスピーカ２０は、ユーザに対して各種の情報を出力する情報出力手段として動作する。
【００１８】
インタフェース駆動部２２は、例えばアクチュエータ等を含んで構成され、回路部２８に含まれる制御部３０（後述）の制御に従って、インタフェース部１０全体を胴体部１２に対して回転させる駆動制御を行う。インタフェース駆動部２２の駆動によって、カメラ１４、マイクロホン１６、ディスプレイ１８、及びスピーカ２０の各部は、ロボット装置２本体を中心として任意の方向に向きを変える。なお、インタフェース駆動部２２は、インタフェース部１０の水平方向の向きを変化させるだけでなく、カメラ１４やディスプレイ１８などの垂直方向の向き（仰角）を変化させることとしてもよい。また、インタフェース駆動部２２は、センサ等を含んでおり、駆動制御によって実際にインタフェース部１０が回転した回転量を検出し、制御部３０に対して出力する。
【００１９】
本体駆動部２４は、例えばアクチュエータや駆動輪等を含んで構成され、制御部３０の制御に従って、ロボット装置２全体を駆動する。本体駆動部２４の動作によって、ロボット装置２は室内を移動したり、本体の向きを変えたりすることができる。ロボット装置２は、本体駆動部２４の制御によって移動することによっても、ユーザに情報を提示できる。
【００２０】
位置検出部２６は、ロボット装置２本体の位置に関する情報を検出する。位置検出部２６は、例えば加速度センサやジャイロセンサなどのセンサを含んで構成され、ロボット装置２の運動速度や運動方向に関する情報を検出する。また、位置検出部２６は、ＧＰＳ（Global Positioning System）受信機などを含んでもよい。位置検出部２６の検知結果を用いて、情報処理システム１はロボット装置２の位置や向きの変化を特定できる。
【００２１】
回路部２８は、図３に示すように、制御部３０と、記憶部３２と、通信部３４と、を含んで構成される。
【００２２】
制御部３０は、例えばマイクロプロセッサ等であって、記憶部３２に格納されたプログラムや、コンピュータ３から送信される制御命令などに基づいて、ロボット装置２各部の制御を行う。具体的に、例えば制御部３０は、カメラ１４が撮像した画像情報や、マイクロホン１６が集音した音声情報などを取得し、これらの情報に応じた各種の処理を実行する。また、これら取得した情報や、コンピュータ３から受信したデータに基づいて、ディスプレイ１８やスピーカ２０に対して各種の情報を出力したり、本体駆動部２４を制御してロボット装置２本体を移動させたりする。
【００２３】
記憶部３２は、例えばＲＡＭやＲＯＭ等のメモリ素子を含んで構成され、制御部３０が実行するプログラムを記憶する。また、記憶部３２は、カメラ１４が撮像した画像のデータや、マイクロホン１６が集音した音声のデータなど、ロボット装置２が取得したユーザに関する各種の情報を一時的に記憶する。通信部３４は、例えば無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）規格、ＵＳＢ（Universal Serial Bus）規格などの通信インタフェースであって、制御部３０とコンピュータ３との間の情報の送受信を中継する。
【００２４】
コンピュータ３は、例えば家庭用ゲーム機やパーソナルコンピュータ等であって、図４に示すように、制御部４０と、記憶部４２と、通信部４４と、を含んで構成される。また、コンピュータ３は、表示装置４と接続されている。
【００２５】
制御部４０は、ＣＰＵ等を含んで構成され、記憶部４２に格納されるプログラムに従って各種の情報処理を実行する。記憶部４２は、ＲＡＭやＲＯＭ等のメモリ素子、またハードディスク等のディスクデバイスなどを含んで構成され、制御部４０によって実行されるプログラムを記憶する。通信部４４は、ロボット装置２の通信部３４と通信可能な規格のインタフェースであって、通信部３４を介してロボット装置２との間で各種の情報の送受信を行う。
【００２６】
本実施形態において、制御部４０は、表示装置４による表示用の画像を生成し、所定のメモリ領域（フレームバッファ）に出力する。フレームバッファに出力された画像情報は、映像信号に変換されて表示装置４に対して出力される。表示装置４は、表示画面５を備えており、コンピュータ３が出力する映像信号に応じて、表示画面５に各種の画像を表示する。表示装置４は、例えば家庭用テレビ受像機などであってよい。
【００２７】
以下、本実施形態においてコンピュータ３が実現する機能の具体例について、説明する。コンピュータ３は、図５に示すように、機能的に、画面位置取得部５０と、ユーザ位置取得部５２と、移動制御部５４と、を含んで構成される。これらの機能は、例えばコンピュータ３の制御部４０が記憶部４２に格納されるプログラムを実行することで実現できる。
【００２８】
画面位置取得部５０は、現実空間における表示画面５の位置を取得する。例えば画面位置取得部５０は、ロボット装置２のカメラ１４によって撮像された画像に基づいて、ロボット装置２に対する表示画面５の相対位置を特定する。以下では、画面位置取得部５０が表示画面５の位置を取得する処理の具体例について、図６のフロー図に基づいて説明する。
【００２９】
まず画面位置取得部５０は、表示画面５上に所定の位置検出用画像を表示する（Ｓ１）。この位置検出用画像は、例えば画像内の所定の位置に所定の標識画像が配置された画像である。図７は、このような位置検出用画像が表示された表示画面５の一例を示す図である。図７の例においては、標識画像Ｍ１及びＭ２が、それぞれ位置検出用画像の左右両端に配置されている。これらの標識画像は、単に所定の模様及び色の画像であってもよいし、例えば二次元バーコードなどにより所定の識別コードが埋め込まれた画像であってもよい。
【００３０】
続いて画面位置取得部５０は、ロボット装置２のカメラ１４による撮像画像を利用して、ロボット装置２の現在位置（以下、位置Ｐ１という）から見た標識画像の位置までの方向（方位角）を特定する（Ｓ２）。具体的に、まず画面位置取得部５０は、ロボット装置２に対して制御信号を送信することにより、インタフェース駆動部２２を制御して、カメラ１４の撮像方向を変化させる。そして、カメラ１４によって撮像された画像を、ロボット装置２から受信する。さらに画像位置取得部５０は、受信した撮像画像に対して所定のパターンマッチング処理を実行することにより、撮像画像の中に標識画像が含まれているか否かを判定する。標識画像が含まれていない場合には、さらにインタフェース駆動部２２を制御してカメラ１４の撮像方向を変化させ、再び撮像画像の中から標識画像を検出する処理を繰り返す。
【００３１】
撮像画像内に標識画像を検出できた場合、画面位置取得部５０は、検出した標識画像の撮像画像内における位置に応じて、カメラ１４の撮像方向をさらに変化させることによって、標識画像の位置が撮像画像の中心に一致するよう制御する。そして、標識画像の位置が撮像画像の中心に位置した際のカメラ１４の撮像方向を示す情報（カメラ１４の基準位置に対する回転角度を示す情報）を取得する。この場合の撮像方向を示す情報は、３次元的な方向を特定する情報であって、水平方向の角度を示す情報と、垂直方向の角度を示す情報と、の組によって表される。なお、インタフェース駆動部２２によって変更可能な全ての方向にカメラ１４の撮像方向を変化させても、撮像画像内に標識画像を検出できない場合、画面位置取得部５０は、本体駆動部２４を制御してロボット装置２本体を移動させることにより位置Ｐ１を変更し、変更後の位置Ｐ１を基準として、標識画像の検出を再度実行してもよい。
【００３２】
さらに画面位置取得部５０は、表示画面５に表示された全ての標識画像に対して、Ｓ２の処理が実行されたか否かを判定する（Ｓ３）。全ての標識画像について方向の特定が終わっていなければ、Ｓ２の処理を繰り返して、表示画面５に表示された他の標識画像についても、位置Ｐ１から見た標識画像の位置の方向を特定する。このとき、既に検出された標識画像が、位置検出用画像内のどの位置に配置された標識画像であるかを特定できる場合、特定された情報に応じてカメラ１４の撮像方向を変化させることによって、標識画像の検出を実行してもよい。具体的に、例えば図７に例示した位置検出用画像が表示画面５に表示されている場合において、画面位置取得部５０がまず標識画像Ｍ１を検出したものとする。ここで、検出した標識画像の模様や色、又は埋め込まれた識別コードによって検出した標識画像が標識画像Ｍ１だと識別できれば、画面位置取得部５０は、この標識画像Ｍ１を撮像した方向から、向かって右方向にカメラ１４の撮像方向を変化させて、標識画像Ｍ２の検出を試みる。これにより、複数の標識画像が表示画面に表示されている場合、最初の標識画像を検出できれば、比較的容易に２つ目以降の標識画像を検出できる。
【００３３】
Ｓ３の処理において、表示画面５に表示されている各標識画像の方向を特定したと判定した場合、続いて画面位置取得部５０は、ロボット装置２の本体駆動部２４を制御して、ロボット装置２を位置Ｐ１から所定の方向に所定の距離だけ離れた位置（以下、位置Ｐ２という）まで移動させる（Ｓ４）。この場合の移動方向は、予め定められた方向であってもよいし、Ｓ２で特定された各標識画像までの方向に応じて決定された方向であってもよい。具体的に、例えば画面位置取得部５０は、位置Ｐ１から各標識画像までの方向に対して、略直交する方向にロボット装置２を移動させる。
【００３４】
さらに画面位置取得部５０は、Ｓ４による移動後の新たなロボット装置２の位置Ｐ２を基準として、Ｓ２及びＳ３と同様の処理を実行することにより、位置Ｐ２から見た各標識画像の方向を特定する（Ｓ５）。ここまでの処理で、画面位置取得部５０は、表示画面５上に表示された標識画像のそれぞれについて、位置Ｐ１及び位置Ｐ２の２地点から見た方向を示す情報を取得できる。
【００３５】
続いて画面位置取得部５０は、これらの情報に基づいて、ロボット装置２の位置を基準とした各標識画像の現実空間における位置を算出する（Ｓ６）。具体的に、画面位置取得部５０は、それぞれの標識画像について、Ｓ２で特定された方向とＳ５で特定された方向との間の差と、Ｓ４でロボット装置２が移動した距離及び方位に関する情報と、に基づいて、ロボット装置２の現在位置に対する当該標識画像の位置を算出する。各標識画像の位置は、例えばロボット装置２のカメラ１４の位置を原点位置として、３次元空間内における３つの座標値の組により表される。
【００３６】
図８は、ロボット装置２及び表示画面５の位置関係の一例を示す図であって、ロボット装置２及び表示画面５を上から見た様子を示している。同図において、破線の矢印はロボット装置２の移動経路を示しており、実線の矢印はそれぞれの位置において特定された各標識画像の方向を示している。同図に示すように、位置Ｐ１及び位置Ｐ２のそれぞれから見た各標識画像に対する方向と、位置Ｐ１と位置Ｐ２との間の距離及び方向が分かれば、画面位置取得部５０は、各標識画像の位置を特定できる。
【００３７】
以上説明した処理によって、画面位置取得部５０は、ロボット装置２の位置を基準とした現実空間における表示画面５の３次元的な位置を算出できる。また、図７に示すように表示画面５の左右両端に標識画像が表示されている場合、これら標識画像のそれぞれの位置を算出することで、画面位置取得部５０は、表示画面５の横幅及び表示画面５の向き（表示方向）に関する情報も取得できる。さらに、表示画面５の横幅及び縦横比の情報を用いて、表示画面５の縦方向の幅も算出できる。すなわち、画面位置取得部５０は、Ｓ６で算出された各標識画像の位置に基づいて、現実空間における表示画面５の３次元的な位置、大きさ、及び向きに関する情報を取得できることとなる。さらに、これまで説明した処理の後、位置検出部２６によって検出される情報に基づいてロボット装置２の位置情報を更新し続けることにより、コンピュータ３は、常にロボット装置２に対する表示画面５の位置を特定できる。
【００３８】
なお、以上説明した方法は例示であって、画面位置取得部５０は、他の方法により表示画面５の位置を取得してもよい。例えばロボット装置２が対象物との間の距離を測定する距離測定センサ（例えばレーザレンジファインダなど）やステレオカメラなどのデバイスを備える場合、画面位置取得部５０は、このようなデバイスを用いてロボット装置２から表示画面５までの距離を測定してもよい。こうすれば、画面位置取得部５０は、複数の位置から標識画像までの方向を特定する処理を繰り返さずとも、表示画面５の位置を特定できる。また、画面位置取得部５０は、位置Ｐ１及びＰ２の２箇所だけでなく、さらに多くの位置から各標識画像までの方向を特定する処理を繰り返すことにより、より精度よく標識画像の位置を特定してもよい。また、表示画面５に表示された標識画像に代えて、表示画面５近傍の所定位置に配置された標識や発光デバイスなどに対して、上述した処理を実行してもよい。
【００３９】
また、画面位置取得部５０は、表示画面５の横幅を示す情報として、予めユーザによって入力されるなどして、記憶部４２に記憶されている表示画面５の画面サイズに関する情報を読み出すこととしてもよい。こうすれば、複数の標識画像の位置を特定せずとも、１つの標識画像の位置を特定することで、表示画面５が現実空間において占める範囲を特定できる。なお、この場合において、例えば画面位置取得部５０は、撮像画像内における標識画像の形状の歪みに基づいて、ロボット装置２から見た表示画面５の向き（表示方向）を特定してもよい。
【００４０】
画面位置取得部５０は、以上説明したような表示画面５の位置を取得する処理を、例えばコンピュータ３の起動時に実行する。また、所定時間おきに実行し、実行した結果により前回実行時の情報を更新してもよい。さらに、画面位置取得部５０は、位置検出部２６の検出結果に基づいて、ユーザがロボット装置２を持ち上げたり移動させたりしたと判定した場合に、表示画面５の位置を取得する処理を再実行してもよい。
【００４１】
ユーザ位置取得部５２は、現実空間におけるユーザの位置を取得する。具体的に、例えばユーザ位置取得部５２は、画面位置取得部５０と同様の方法により、ロボット装置２の位置を基準としてユーザの顔がある位置を算出する。すなわち、ユーザ位置取得部５２は、カメラ１４によって撮像された画像に対して、当該画像に含まれる人の顔を認識する顔認識処理を行うことにより、ロボット装置２の位置に対するユーザの顔がある位置の方向を特定する。そして、この処理を任意の２地点を基準として繰り返し、得られた２つの方向を示す情報に基づいて、ユーザの顔がある位置までの方向及び距離を算出する。これにより、ユーザ位置取得部５２は、ロボット装置２の位置を基準としてユーザの顔がある位置を示す情報を取得できる。
【００４２】
ユーザ位置取得部５２は、画面位置取得部５０と同様に、例えばコンピュータ３の起動時や、所定時間おきに、ユーザの位置を取得する処理を実行する。また、ユーザ位置取得部５２は、所定時間おきにカメラ１４の撮像画像によるユーザの検出を実行し、検出されたユーザの方向と、前回取得したユーザの位置との間に所定値以上の差が生じた場合に、他の地点からユーザの方向を検出する処理を実行することにより、ユーザの位置を再取得してもよい。
【００４３】
移動制御部５４は、画面位置取得部５０によって取得される表示画面５の位置と、ユーザ位置取得部５２によって取得されるユーザの位置と、に基づいて、ロボット装置２を移動させる。
【００４４】
具体的に、例えば移動制御部５４は、表示画面５の位置及びユーザの位置に基づいて、ロボット装置２を移動させてもよい位置の範囲（以下、移動可能領域Ａ１という）をまず決定し、当該決定された移動可能領域Ａ１に応じて、移動可能領域Ａ１内を移動させるようにロボット装置２の移動位置を決定する。以下、この場合において、移動制御部５４によって決定される移動可能領域Ａ１の具体例について、説明する。
【００４５】
図９は、移動制御部５４によって決定される移動可能領域Ａ１の一例を示す図であって、表示画面５及びユーザを上から見た様子を示している。また、移動可能領域Ａ１は、図中斜線で示される領域である。この図の例においては、移動可能領域Ａ１は、表示画面５の前方（すなわち、表示画面５の表示方向）に位置し、表示画面５からの距離ｄがｄ１≦ｄ≦ｄ２を満たすような矩形の領域から、ユーザを中心として半径ｒ１の円形の領域を除いた領域となっている。ここで、ｄ１、ｄ２及びｒ１は、いずれも所定の値であってもよいし、あるいはユーザと表示画面５との間の距離に応じて決定される値であってもよい。このような領域を移動可能領域Ａ１として決定することにより、ロボット装置２は、表示画面５及びユーザのいずれにも近づきすぎず、かつ表示画面５の前方の範囲（すなわち、ユーザが表示画面５とともに視認しやすい範囲）内に移動することとなる。
【００４６】
図１０（ａ）は、移動可能領域Ａ１の別の一例を示す図であって、図９と同様に表示装置４及びユーザを上から見た様子を示している。この図の例における移動可能領域Ａ１は、図中斜線で示されるように、上から見た場合に、ユーザを中心とする半径ｒ２の扇形の領域から、ユーザを中心とする半径ｒ３の円形の領域を除いた領域である。ここで扇形の両端は、表示画面５の中心位置Ｃとユーザとを結ぶ直線から、所定の角度θ１だけ傾いた直線となっている。すなわち、移動可能領域Ａ１内の各点は、ユーザから見た表示画面５の中心位置Ｃの方向からの角度のずれが所定値以下であって、ユーザからの距離ｒがｒ３≦ｒ≦ｒ２を満たしている。また、図１０（ｂ）は、図１０（ａ）に示す移動可能領域Ａ１を横から見た様子を示す図である。同図において、角度θ２は、ユーザの顔の位置を基準としてユーザから距離ｒ３だけ離れた床面に対する俯角を表している。また、角度θ３は、ユーザの顔の位置を基準として表示画面５の中心位置Ｃに対する俯角を表している。ここで、距離ｒ３は、例えば角度θ２とθ３との間の差が、所定値以下となるように決定される。すなわち、この図の例における移動可能領域Ａ１は、ユーザの位置から当該移動可能領域内の各点に向かう方向と、ユーザの位置から表示画面５に向かう方向と、のなす角度が所定値以下となる領域になっている。これにより、移動可能領域Ａ１内のどの位置にロボット装置２が移動しても、ユーザがロボット装置２と表示画面５との間で視線を動かす場合に、視線の移動量を少なくすることができる。
【００４７】
また、移動制御部５４は、表示画面５やユーザの周囲の環境に関する他の情報をさらに考慮して、ロボット装置２を移動させる位置を決定してもよい。具体的に、例えば移動制御部５４は、部屋の中に配置された障害物（例えばテーブルなど）の位置を取得し、これまで説明した方法によって決定される移動可能領域Ａ１から、この障害物の位置を除外することによって、移動可能領域Ａ１を決定してもよい。また、ユーザから見てこれらの障害物の陰になる領域も、移動可能領域Ａ１から除外してもよい。この場合において、障害物の位置は、例えば表示装置４に対する相対位置としてユーザにより予め入力されてもよい。あるいは、カメラ１４やロボット装置２に備えられた赤外線センサ（不図示）などの物体検知手段によって検出されることとしてもよい。図１１は、部屋の中に障害物Ｏ１及びＯ２が存在する場合に、このようにして決定された移動可能領域Ａ１の一例を示す図である。
【００４８】
以上説明した方法によって移動可能領域Ａ１が決定されると、移動制御部５４は、当該決定される移動可能領域Ａ１に応じてロボット装置２を移動させる。具体的に、例えば移動制御部５４は、ユーザの操作入力や、コンピュータ３が実行する処理の内容に応じて、ロボット装置２を移動させる移動指示を受け付ける。そして、移動指示に応じてロボット装置２を移動させた場合の移動後の位置が、移動可能領域Ａ１に含まれるか否かを判定する。移動指示に応じた移動後の位置が移動可能領域Ａ１の中に含まれていれば、移動制御部５４はそのまま移動指示の内容に応じてロボット装置２を移動させる。一方、移動指示に応じた移動後の位置が移動可能領域Ａ１の外になってしまう場合、移動制御部５４は、移動指示に応じたロボット装置２の移動を中止する。これにより、ロボット装置２が移動可能領域Ａ１の外に移動することを制限できる。また、移動制御部５４は、移動指示に応じたロボット装置２の移動制御を常に実行し、実行された移動制御の結果、ロボット装置２が移動可能領域Ａ１の外に出てしまった場合には、移動可能領域Ａ１内にロボット装置２を戻す移動制御を実行することとしてもよい。
【００４９】
また、移動制御部５４は、これまで説明した方法によって決定される移動可能領域Ａ１と、コンピュータ３によって実行される処理の内容に応じて決まる移動予定領域Ａ２と、に基づいて、当該処理に応じてロボット装置２が実際に移動する範囲を決定してもよい。具体例として、コンピュータ３がレースゲームのゲーム処理を実行するものとし、ロボット装置２は、コンピュータ３の指示に基づいて、レースゲームにおいて仮想空間内の所定のコースを走行するレースカーの動きを再現することとする。この場合、ロボット装置２は、当該コースの形状に沿って現実空間内を移動する。すなわち、ロボット装置２の移動予定領域Ａ２は、レースゲームにおけるコースの形状に応じて決まる。図１２は、このようなコースの形状に応じた移動予定領域Ａ２の形状の一例を示す図である。
【００５０】
この例において、移動制御部５４は、移動予定領域Ａ２が移動可能領域Ａ１に含まれるように、移動予定領域Ａ２の拡大、縮小、回転などを行うことによって、その大きさや向きを変化させる。具体的に、例えば床面上における移動予定領域Ａ２の基準位置の位置座標を（ｘ，ｙ）、所定の基準軸に対する移動予定領域Ａ２の傾きをφとする。移動制御部５４は、このｘ，ｙ及びφを所定の範囲内で変化させながら、それぞれのｘ，ｙ，φの値の組について、移動予定領域Ａ２が移動可能領域Ａ１内に含まれるという条件を満たす範囲内で、移動予定領域Ａ２が最も大きくなる場合の拡大率を算出する。そして、この拡大率を最も大きくできるｘ，ｙ及びφの値の組み合わせにより、現実空間における移動予定領域Ａ２の位置及び傾きを決定するとともに、この拡大率に従って移動予定領域Ａ２の大きさを決定する。さらに移動制御部５４は、このようにして決定された移動予定領域Ａ２内において、コンピュータ３が実行する処理の内容に応じてロボット装置２を移動させる。
【００５１】
例えば移動制御部５４が移動可能領域Ａ１を図１１に示したように決定し、図１２に示した形状の移動予定領域Ａ２内においてロボット装置２を移動させる場合、図１３に例示するように現実空間における移動予定領域Ａ２の位置、傾き及び大きさを決定する。これにより、ユーザにとって表示画面５とともに見やすい範囲内で、最大限大きな動きでロボット装置２を移動させることができる。
【００５２】
さらに移動制御部５４は、ユーザ位置取得部５２が取得したユーザの位置に応じて、ロボット装置２が情報の入出力を行う方向を変更してもよい。具体的に、例えば移動制御部５４は、ロボット装置２の位置を移動させるとともに、インタフェース駆動部２２を制御して、移動後の位置から見たユーザの方向に応じてインタフェース部１０の方向を変化させる。これにより、カメラ１４やマイクロホン１６、ディスプレイ１８、スピーカ２０がユーザのいる方向に向けられるので、ロボット装置２はユーザへの負担が少ない態様でユーザとの間の情報の入出力を実行できる。
【００５３】
また、コンピュータ３は、ロボット装置２の移動位置を制御するだけでなく、表示画面５、ロボット装置２、及びユーザの間の位置関係に応じて、表示画面５に表示させる画像の内容を変化させてもよい。具体的に、例えばコンピュータ３は、表示画面５内に表示する各種の表示要素の画面上の位置を、移動制御部５４によって移動されたロボット装置２の位置、及びユーザの位置に応じて変化させる。
【００５４】
図１４（ａ）、図１４（ｂ）、図１５（ａ）及び図１５（ｂ）は、このような制御の具体例を示す説明図である。図１４（ａ）は、ユーザ、ロボット装置２及び表示画面５の位置関係の一例を示す図である。この図の例において、例えばコンピュータ３は、漫画の吹き出しのような表示要素Ｅを、表示画面５内の図中に示される位置に表示する。これにより、ユーザは、図１４（ｂ）に示すように、ロボット装置２に対して向かって右側に吹き出しが表示されている様子を閲覧できる。一方、ユーザ、ロボット装置２及び表示画面５の位置関係が図１５（ａ）に示されるような状態にある場合、コンピュータ３は、図１４（ａ）の場合と同じ表示要素Ｅを、表示画面５内の図中に示される位置に表示する。これにより、ユーザは、図１５（ｂ）に示すように、図１４（ｂ）の例と同様に、ロボット装置２に対して向かって右側に吹き出しが表示されている様子を閲覧できる。なお、この場合において、コンピュータ３は、ユーザの位置から見た表示画面５の傾き度合いに応じて、例えば表示させる表示要素Ｅの幅方向の縮尺を変化させるなど、表示要素Ｅの位置だけでなく、その大きさや形状を変化させてもよい。これにより、情報処理システム１は、表示画面５に対するユーザの位置が変化しても、表示画面５に表示される表示要素Ｅと、ロボット装置２と、の間の位置関係が変わらないように制御することができ、ユーザの違和感を減らすことができる。
【００５５】
ここで、以上説明したような情報処理システム１によって実行されるゲーム処理の一例について、説明する。まず第１の例として、「だるまさんが転んだ」ゲームを実行する例について説明する。このゲームにおいては、ユーザがオニ役となり、所定のフレーズ（「だるまさんが転んだ」）を発声する。ロボット装置２は、所定の位置からスタートして、ユーザが発声している間だけ、ユーザの位置に向かって移動する動作を繰り返す。そして、ユーザがフレーズを言い終えた後にロボット装置２が動いてしまえば、ユーザの勝ちとなる。一方、ユーザまでの距離が予め定められた値以下の地点までロボット装置２が到達すれば、ユーザの負けとなる。
【００５６】
このようなゲームを実行する場合に、コンピュータ３は、まずユーザの位置及び表示画面５の位置を取得することによって、ユーザと表示画面５の間の位置であって、表示画面５に近い位置をスタート地点として決定し、当該スタート地点までロボット装置２を移動させる。そして、マイクロホン１６によって取得されるユーザの声の情報に基づいて、ユーザが声を発している間だけロボット装置２をユーザの位置に向かって移動させる。また、コンピュータ３は、ゲームの進行状況や、これまでのゲーム結果に応じた情報を、表示画面５に表示させる。これにより、ユーザは、随時表示画面５に表示された情報を確認しつつ、視線を大きく移動させずにロボット装置２の位置を確認して、ゲームを楽しむことができる。また、繰り返しゲームを実行する場合、ロボット装置２は、１回のゲームが終了した時点における位置から、所定のスタート地点まで、ユーザの明示の指示によらず自動的に移動することができる。
【００５７】
次に、第２の例として、情報処理システム１がゴルフゲームを実行する例について、説明する。この場合において、ロボット装置２は、キャディ役となり、ユーザの位置及び表示画面５の位置に対して所定の条件を満たす位置（例えばユーザと並んで表示画面５に向かう位置）に移動する。そして、ロボット装置２は、ゲームの進行に伴い、ユーザに対するアドバイスなどの情報を、スピーカ２０から音声情報として出力したり、ディスプレイ１８に表示したりする。また、ゲームの進行に応じて、ユーザの注意を表示画面５に向けさせたい場合には、カメラ１４などの方向を表示画面５の方向に変化させ、逆にユーザの注意をロボット装置２自身に向けさせたい場合には、その場の周辺を移動したり、スピーカ２０から音声情報などを出力したりする。これにより、画面内ではなく現実空間上のユーザの近くにキャディがいるかのような演出を行うことができ、ゲームの臨場感を高めることができる。
【００５８】
以上説明したように、本実施形態に係る情報処理システム１によれば、表示画面５の位置及びユーザの位置に応じた位置にロボット装置２を移動させることによって、コンピュータ３の処理内容に応じてユーザが自分自身の位置を変えたりロボット装置２を手作業で移動させたりする手間を省くことができ、ユーザの負荷を軽減できる。
【００５９】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば、以上の説明において、コンピュータ３の制御部４０が実行することとした処理の一部又は全部は、ロボット装置２の制御部３０によって実現されることとしてもよい。また、表示装置４は、例えばプロジェクタなどであってもよい。この場合、表示画面５は、プロジェクタ本体とは別の、画像が投影されるスクリーンとなる。
【００６０】
また、上述したユーザ位置取得部５２の機能は、必須のものではない。通常、ユーザは表示画面５を閲覧するために、表示画面５の表示方向に応じた位置にいると推定される。そこで、例えば画面位置取得部５０が表示画面５の位置及び表示方向を取得できる場合、移動制御部５４は、画面位置取得部５０が取得した表示画面５の位置及び表示方向に応じて、ロボット装置２を移動させる位置を決定する。具体例として、移動制御部５４は、表示画面５から表示方向に向かって所定距離内の位置に、ロボット装置２を移動させる。これにより、本実施形態に係る情報処理システム１は、ユーザの位置を特定せずとも、ユーザにとって表示画面５とともに見やすい位置にロボット装置２を移動させることができる。
【００６１】
また、以上の説明においては、ロボット装置２の周囲にいるユーザは一人であることとしたが、ロボット装置２の周囲には複数のユーザがいてもよい。この場合、例えばユーザ位置取得部５２は、カメラ１４の撮像画像の中から検出された顔の特徴量（例えば、顔を構成する各部位の大きさや位置関係など）を算出することで、検出された複数の顔をそれぞれ識別する。これにより、ユーザ位置取得部５２は、複数のユーザのそれぞれの位置を取得できる。移動制御部５４は、例えばユーザ位置取得部５２によって取得された複数のユーザの位置の重心位置をユーザの位置として用いて、前述した移動制御を実行する。あるいは、ユーザ位置取得部５２によって検出された顔が誰のものであるか識別し、所定の人物であると識別された顔の位置を、ユーザの位置として用いてもよい。
【００６２】
また、以上の説明においては、情報処理システム１はロボット装置２の位置に対する表示画面５及びユーザの相対位置を取得したが、これ以外の位置を基準として、表示画面５及びユーザの位置を取得してもよい。例えば情報処理システム１は、表示装置４上に設けられたカメラを用いてユーザを撮像し、撮像画像に基づいて表示装置４に対するユーザの位置を特定してもよい。この場合、表示画面５の位置は、予め定められた値（例えば、座標系の原点位置を示す値など）となり、記憶部４２に格納された値を読み出すなどの方法で取得できる。さらにこの場合、当該カメラによってロボット装置２を撮像し、その位置を特定することにより、ロボット装置２を表示画面５の位置及びユーザの位置に応じた位置に移動させる制御を実現してもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係るロボット装置の使用例を示す概要図である。
【図２】本発明の実施の形態に係るロボット装置の構成例を示す構成図である。
【図３】本発明の実施の形態に係るロボット装置が備える回路部の構成例を示す構成ブロック図である。
【図４】コンピュータの構成例を示す構成ブロック図である。
【図５】コンピュータの機能例を示す機能ブロック図である。
【図６】コンピュータが表示画面の位置を取得する処理の一例を示すフロー図である。
【図７】位置検出用画像の一例を示す図である。
【図８】コンピュータが表示画面の位置を取得する処理における、ロボット装置と表示画面との位置関係を示す図である。
【図９】コンピュータによって決定される移動可能領域の一例を示す図である。
【図１０】コンピュータによって決定される移動可能領域の別の例を示す図である。
【図１１】コンピュータによって決定される移動可能領域の別の例を示す図である。
【図１２】移動予定領域の形状の一例を示す図である。
【図１３】移動可能領域と移動予定領域との間の位置関係の一例を示す図である。
【図１４】ユーザ、ロボット装置及び表示画面の位置関係と、当該位置関係に応じて表示画面に表示される画像の一例を示す図である。
【図１５】ユーザ、ロボット装置及び表示画面の位置関係と、当該位置関係に応じて表示画面に表示される画像の別の例を示す図である。
【符号の説明】
【００６４】
１  情報処理システム、２  ロボット装置、３  コンピュータ、４  表示装置、５  表示画面、１０  インタフェース部、１２  胴体部、１４  カメラ、１６  マイクロホン、１８  ディスプレイ、２０  スピーカ、２２  インタフェース駆動部、２４  本体駆動部、２６  位置検出部、２８  回路部、３０，４０  制御部、３２，４２  記憶部、３４，４４  通信部、５０  画面位置取得部、５２  ユーザ位置取得部、５４  移動制御部。
【図１】
2009011362.tif 000003
【図２】
2009011362.tif 000004
【図３】
2009011362.tif 000005
【図４】
2009011362.tif 000006
【図５】
2009011362.tif 000007
【図６】
2009011362.tif 000008
【図７】
2009011362.tif 000009
【図８】
2009011362.tif 000010
【図９】
2009011362.tif 000011
【図１０】
2009011362.tif 000012
【図１１】
2009011362.tif 000013
【図１２】
2009011362.tif 000014
【図１３】
2009011362.tif 000015
【図１４】
2009011362.tif 000016
【図１５】
2009011362.tif 000017