(57)【特許請求の範囲】
【請求項１】
複数のクライアントが通信回線を介してサーバに接続され、前記サーバにより定義される仮想空間内に、実空間の任意の物体に対応する仮想オブジェクトを描画して、各クライアントに表示し、前記クライアントからの操作情報により前記仮想オブジェクトの描画位置又は方向を変更する遠隔会議システムであって、
少なくとも２以上の前記物体間の相対位置及び／又は相対方向に関する実空間情報を検出する物体検出手段と、
前記サーバからの動作指令に基づいて前記物体の少なくとも１つを移動させる物体移動手段とを備え、
前記サーバは、
前記実空間情報に基づき、前記物体間の相対位置及び／又は相対方向と、当該物体に対応する前記仮想オブジェクト間の相対位置及び／又は相対方向との相違量が所定量以上であるか否かを検出する矛盾検出部と、
前記相違量が所定量以上のとき、当該相違量が所定量未満となるように前記物体を移動させる前記動作指令を求める制御部と
を有することを特徴とする遠隔会議システム。
【請求項２】
前記サーバから取得した情報を出力する情報提示手段を更に備え、
前記サーバの制御部は、
前記相違量が所定量以上のとき、実空間と仮想空間との間に矛盾が生じている旨の情報を前記情報提示手段に出力することを特徴とする請求項１記載の遠隔会議システム。
【請求項３】
前記サーバの制御部は、
前記相違量が所定量以上のとき、当該相違量が所定量未満となる前記物体の位置及び／又は方向に関する情報を前記情報提示手段に出力することを特徴とする請求項２記載の遠隔会議システム。
【請求項４】
前記サーバの制御部は、
前記物体を移動させる前記動作指令を出力し、所定時間経過後、前記相違量が所定量以上の場合、当該相違量が所定量未満となる前記物体の位置及び／又は方向に関する情報を前記情報提示手段に出力することを特徴とする請求項２又は３記載の遠隔会議システム。
【請求項５】
前記物体検出手段は、
前記物体の任意の位置を原点とする２次元又は３次元座標を定義して、前記原点位置と前記各物体の少なくとも１つの計測点との距離に応じた座標を付し、当該座標情報を前記実空間情報として出力し、
前記サーバの矛盾検出部は、
前記実空間における原点位置に対応する仮想空間での位置を原点とする２次元又は３次元座標を定義して、前記仮想オブジェクトにおける前記物体の計測点に対応する箇所の座標を求め、
仮想空間での前記計測点間の距離と、実空間での前記計測点間の距離とを比較して、前記相違量が所定量以上であるか否かを検出することを特徴とする請求項１〜４の何れかに記載の遠隔会議システム。
【請求項６】
前記サーバの制御部は、
移動対象となる前記物体に対応する仮想オブジェクトの計測点の座標ベクトルから、当該物体の計測点の座標ベクトルを減算して求めた座標ベクトルに基づき、当該物体を移動させる前記動作指令を求めることを特徴とする請求項５記載の遠隔会議システム。
【請求項７】
前記物体に取り付けられ、当該物体の重さ、大きさ、及び動かしにくさに関する情報の少なくとも１つが記録される情報タグと、
前記物体移動手段に設けられ、前記情報タグに記録された情報を読み取るタグ読み取り部とを更に備え、
前記物体移動手段は、
前記動作指令に応じて移動させる前記物体の前記情報タグの情報を読み取り、該情報に基づいて、当該物体が移動可能か否かを判断し、
移動可能と判断したとき、前記動作指令に基づいて前記物体を移動させることを特徴とする請求項１〜６の何れかに記載の遠隔会議システム。
【請求項８】
前記物体に取り付けられ、当該物体の識別情報が記録される情報タグと、
前記物体移動手段に設けられ、前記情報タグに記録された情報を読み取り、前記物体の識別情報及び当該物体移動手段の識別情報を前記サーバに送信するタグ読み取り部と、
前記サーバに設けられ、前記物体移動手段の動作内容に関する動作データが、前記物体の識別情報及び前記物体移動手段の識別情報に応じて記録された動作情報データベースと
を更に備え、
前記サーバの制御部は、
移動させる前記物体の前記識別情報と、動作指令を出力する前記物体移動手段の前記識別情報とに対応する動作データを前記動作情報データベースから取得し、取得した前記動作データに基づいて前記動作指令を求めることを特徴とする請求項１〜６の何れかに記載の遠隔会議システム。
【請求項９】
複数のクライアントが通信回線を介してサーバに接続され、前記サーバにより定義される仮想空間内に、実空間の任意の物体に対応する仮想オブジェクトを描画して、各クライアントに表示し、前記クライアントからの操作情報により前記仮想オブジェクトの描画位置又は方向を変更する遠隔会議システムの制御方法であって、
少なくとも２以上の前記物体間の相対位置及び／又は相対方向に関する実空間情報を検出するステップと、
前記実空間情報に基づき、前記物体間の相対位置及び／又は相対方向と、当該物体に対応する前記仮想オブジェクト間の相対位置及び／又は相対方向との相違量が所定量以上であるか否かを検出するステップと、
前記相違量が所定量以上のとき、当該相違量が所定量未満となるように前記物体を移動させる前記動作指令を求めるステップと、
前記物体の少なくとも１つを移動する物体移動手段を、前記動作指令に基づいて動作させるステップと
を有することを特徴とする遠隔会議システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内に実空間に対応する仮想オブジェクトを描画する遠隔会議システム及びその制御方法に関する。
【背景技術】
【０００２】
従来の遠隔会議システムとしては、例えば「各ユーザー・ステーション２〜１４において、出席者を表すアバターを含む３次元コンピュータモデルの画像が表示される。一対のカメラ２６、２８を使用して、ボディ・マーカー７０、７２とライト５６〜６４が取り付けられたヘッドホン３０を着用したユーザーの画像データを処理して、ユーザーの動きと注視している表示画像中の点とを決定する。この情報はその他のユーザー・ステーションへ伝送され、アバターの頭部の動きがユーザーの頭部の換算された動きに対応するようにアニメ化される。」ものが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２０００−２４４８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年情報通信ネットワークの発達を受けて、通信技術を用いて遠隔地に存在する人が会議に参加できるようにする遠隔会議システムが開発されている。
【０００５】
そのような遠隔会議システムの中でも、例えば上記特許文献１のように、サーバによって管理される仮想空間に、遠隔地に存在する会議参加者がネットワークを介して情報を通信することで、仮想空間内にアバターとして存在する自身のキャラクターを動作させることができ、仮想空間内の会議場を参加者のアバターで共有することにより、遠隔会議の臨場感を高めたり、通常のビデオのみの会議で発生しがちな視線が共有できないなどの問題を回避することができるというシステムが開発されている。
ここで、アバターとは会議の参加者（以下「ユーザ」ともいう。）の身体的な動きや、装置に対する指示入力によって動作する、仮想空間内に存在するユーザを表現するモデルである。アバターは通常３次元モデルで表現されることが多い。
【０００６】
上記のようなシステムを利用して遠隔に離れた場所同士で遠隔会議を行う場合、実空間にある程度類似した部屋や設備などを用意し、それらの部屋や設備に似せた内容の仮想空間を作成し、その仮想空間にアクセスすることで会議に参加して、現実に会議室に集まって会議を行う状況と類似した会議環境を得ることができると考えられる。
またさらに、実空間に存在している物体を、仮想空間内に仮想オブジェクトとして対応付けるようにすることで、より類似した会議環境を得ることができると考えられる。
【０００７】
しかしながら、上記のような構成を実現する場合、仮想空間内で動かされた仮想オブジェクトと実際に実空間に存在する物体の位置や姿勢（向き）とが相違（以下「矛盾」ともいう。）する場合があり、違和感を感じる場合ある、という問題点があった。
【０００８】
この矛盾を生じさせない方法として、例えば、仮想空間内のデータ（仮想オブジェクト）を完全に実空間に従って決定されるものとしてシステムを構成し、実空間で実際に物を動かし、そのセンシング結果のみによって、仮想空間内のデータを動かすような構成とする方法が考えられる。
【０００９】
しかしながら、このような構成とすると、例えばクライアント（ＰＣ）上でのマウス操作による簡便な操作によって仮想空間上の物体を動かすなど、仮想空間を用いたシステムならではの操作が利用できなくなる、という問題点があった。
【００１０】
したがって、仮想空間内で動かされた仮想オブジェクトと実空間に存在する物体との位置や姿勢（向き）の相違を軽減することができる遠隔会議システム及びその制御方法が望まれていた。
【課題を解決するための手段】
【００１１】
本発明に係る遠隔会議システムは、複数のクライアントが通信回線を介してサーバに接続され、前記サーバにより定義される仮想空間内に、実空間の任意の物体に対応する仮想オブジェクトを描画して、各クライアントに表示し、前記クライアントからの操作情報により前記仮想オブジェクトの描画位置又は方向を変更する遠隔会議システムであって、少なくとも２以上の前記物体間の相対位置及び／又は相対方向に関する実空間情報を検出する物体検出手段と、前記サーバからの動作指令に基づいて前記物体の少なくとも１つを移動させる物体移動手段とを備え、前記サーバは、前記実空間情報に基づき、前記物体間の相対位置及び／又は相対方向と、当該物体に対応する前記仮想オブジェクト間の相対位置及び／又は相対方向との相違量が所定量以上であるか否かを検出する矛盾検出部と、前記相違量が所定量以上のとき、当該相違量が所定量未満となるように前記物体を移動させる前記動作指令を求める制御部とを有するものである。
【００１２】
本発明に係る遠隔会議システムの制御方法は、複数のクライアントが通信回線を介してサーバに接続され、前記サーバにより定義される仮想空間内に、実空間の任意の物体に対応する仮想オブジェクトを描画して、各クライアントに表示し、前記クライアントからの操作情報により前記仮想オブジェクトの描画位置又は方向を変更する遠隔会議システムの制御方法であって、少なくとも２以上の前記物体間の相対位置及び／又は相対方向に関する実空間情報を検出するステップと、前記実空間情報に基づき、前記物体間の相対位置及び／又は相対方向と、当該物体に対応する前記仮想オブジェクト間の相対位置及び／又は相対方向との相違量が所定量以上であるか否かを検出するステップと、前記相違量が所定量以上のとき、当該相違量が所定量未満となるように前記物体を移動させる前記動作指令を求めるステップと、前記物体の少なくとも１つを移動する物体移動手段を、前記動作指令に基づいて動作させるステップとを有するものである。
【発明の効果】
【００１３】
本発明は、物体間の相対位置及び／又は相対方向と、当該物体に対応する前記仮想オブジェクト間の相対位置及び／又は相対方向との相違量が所定量以上のとき、当該相違量が所定量未満となるように物体を移動させるので、仮想空間内の仮想オブジェクトと実空間に存在する物体との位置や向きの相違を軽減することができる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
実施の形態１における遠隔会議システムは、コンピュータを利用して構築された仮想空間をネットワーク経由で利用して会議を行う遠隔会議システムに関するもので、仮想空間と実空間に同時に存在する会議資料やマイクなどの物体を仮想空間上での動作に同期させ、ロボットを用いて実空間でも動作させるものである。そして、実空間に存在する物体と共通する仮想オブジェクトを持つ仮想空間を利用し、実空間と仮想空間との物体の矛盾を検知することができ、実空間に存在する物体の少なくとも１つを動かすことができる物体移動手段を持ち、また上記物体移動手段が上記物体を動かせないことを検知でき、ユーザに矛盾が生じている旨を通知でき、ユーザに上記物体の矛盾を解消するための情報を通知できるものである。
【００１５】
図１は実施の形態１に係る遠隔会議システムの構成図である。図１において、遠隔会議システムは、ネットワーク１０１、仮想空間提供サーバ１０２、クライアント１０３、ロボット１０４から構成される。この遠隔会議システムは、クライアント１０３がネットワーク１０１を介して仮想空間提供サーバ１０２に接続され、仮想空間提供サーバ１０２により定義される仮想空間内に、実空間の任意の物体１０１９又はユーザに対応する、オブジェクト又はアバター（以下、総称して「仮想オブジェクト」ともいう）を描画して、クライアント１０３に表示し、クライアント１０３からの操作情報により仮想オブジェクトの描画位置又は方向を変更するものである。尚、クライアント１０３、ロボット１０４及び物体１０１９は複数存在する構成が一般的だが、図１においては図示は省略する。
【００１６】
仮想空間提供サーバ１０２は、仮想空間データ作成部１０５、制御部１０６、データ通信部１０７、仮想空間データ１０８、矛盾検出部１０９から構成され、クライアント１０３と各種データを送受信して、仮想空間上でのサービスを提供する。
【００１７】
仮想空間データ作成部１０５は、制御部１０６からの指令を受けて仮想空間データ１０８を作成し、更新する。
【００１８】
制御部１０６は、仮想空間提供サーバ１０２内の各構成部と通信し、各部に指令を伝えるものである。また制御部１０６は、仮想空間データ作成部１０５と通信して仮想空間データ１０８の作成、更新を指令したり、データ通信部１０７と通信して仮想空間データ１０８をクライアント１０３に送信したり、クライアント１０３又はロボット１０４から受信した各種データから、仮想空間データ１０８の更新を指令する。また、制御部１０６は、後述する動作により、ロボット１０４から取得した物体１０１９の位置、姿勢（向き）に関する実空間データと、仮想空間での位置、姿勢に関するデータとから、実空間における物体１０１９と仮想空間における仮想オブジェクトとを対応させるために必要となる、ロボット１０４への動作指令を作成する。
【００１９】
データ通信部１０７は、ネットワーク１０１を介してロボット１０４、クライアント１０３と通信してデータの送受信を行う。データ通信部１０７から送受信されるデータは複数種類のデータを含む。例を挙げると、クライアント１０３から送信され、仮想空間提供サーバ１０２を経由して他クライアント１０３へ送信されるデータには、仮想空間データ１０８に加え、会議を構成するのに必要な音声、映像ストリーミングデータ等が含まれる。
【００２０】
仮想空間データ１０８は、仮想空間を構成する要素の位置、大きさ及び外形の情報、仮想空間内に存在する各ユーザのアバターの位置、姿勢及び外形の情報、並びに仮想空間内に存在する各物体１０１９の位置、姿勢及び外形の情報などを含むものである。この仮想空間データ１０８は、クライアント１０３が仮想空間を表示したり、ロボット１０４が仮想空間内に配置された物体１０１９の位置を知ったりするのに必要なデータである。実際のデータ形式は利用される３ＤＣＧ（３  Ｄｉｍｅｎｓｉｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）の技術等によって変化するが、既存の一般的な技術を利用することすることができる。
【００２１】
矛盾検出部１０９は、ロボット１０４から送信された物体１０１９の実空間情報と仮想空間上で表現されている仮想オブジェクトの情報とを比較し、その結果から、実空間と仮想空間との矛盾を検出する。
【００２２】
物体１０１９は、例えば遠隔会議を行う会議室に設置された机や椅子、クライアント１０３のマイクやカメラなど、実空間上に存在するものであって、また仮想空間内にもデータとして存在する要素である。
【００２３】
クライアント１０３は、データ通信部１０１０、制御部１０１１、情報入力部１０１２、情報提示部１０１３から構成される。このクライアント１０３は、ユーザの指示によって又は自動的に仮想空間提供サーバ１０２と通信し、ユーザに対し仮想空間を利用した遠隔会議環境を提供するためのものである。ユーザはこのクライアント１０３を用いて仮想空間提供サーバ１０２にアクセスし、仮想空間内のアバターや物体を操作したり、音声や映像を送信したりする。
【００２４】
データ通信部１０１０は、仮想空間提供サーバ１０２と通信して、後述する各種データを送受信する。
【００２５】
制御部１０１１は、データ通信部１０１０、情報入力部１０１２、情報提示部１０１３と通信し、情報入力部１０１２からのユーザの入力を受け付けてデータ通信部１０１０に対して仮想空間データ更新用データ（後述）を仮想空間提供サーバ１０２に送信させる。また、データ通信部１０１０経由で受信した仮想空間表示用データ（後述）を情報提示部１０１３に送信して情報を提示させる。
【００２６】
情報入力部１０１２は、例えばキーボードやマウスなどユーザの入力を受け付ける装置や、モーションキャプチャなどのユーザの身体動作を常時計測してその結果を入力とすることができる装置等から構成される。この情報入力部１０１２により、クライアント１０３を利用するユーザからの情報入力を受け付けて、例えば仮想空間上のアバターを動作させる。また情報入力部１０１２は、ユーザの音声または映像を取得するマイクやカメラなどを要素として持ち、ユーザの映像や音声を仮想空間提供サーバ１０２経由で別クライアントに送信できる形式で送信する。
【００２７】
情報提示部１０１３は、例えばディスプレイやスピーカなどから構成され、仮想空間提供サーバ１０２から受信した仮想空間表示用データ（後述）や、音声データ、映像データ等を提示するものである。またヘッドマウントディスプレイのようにユーザが装着して使用するような構成も可能である。
【００２８】
図２は実施の形態１に係るロボットの外形図である。
ロボット１０４は、図１に示すように、少なくとも、データ通信部１０１４、制御部１０１５、センサ部１０１６、情報提示部１０１７、駆動部１０１８から構成される。このロボット１０４は、例えば図２に示す形態を有し、後述する動作により、実空間に存在する物体１０１９を動かしたり、またはユーザに対して物体１０１９を動作させるように促す情報を提示したりして、実空間の物体１０１９と仮想空間内の仮想オブジェクトとの位置や向きの矛盾を軽減するものである。尚、本実施の形態１におけるロボット１０４は、机上や床上を走行して、実空間に存在する少なくとも１つの物体１０１９を、例えば「押す」ことによって移動させることが可能なものである。
【００２９】
尚、制御部１０１５及びセンサ部１０１６は本発明における物体検出手段に相当し、情報提示部１０１７は本発明における情報提示手段に相当し、制御部１０１５及び駆動部１０１８は本発明における物体移動手段に相当する。
【００３０】
データ通信部１０１４は、ネットワーク１０１を介して仮想空間提供サーバ１０２と通信して各種データの送受信を行う。
【００３１】
制御部１０１５は、データ通信部１０１４経由で仮想空間提供サーバ１０２から送信されてきた動作指令を受信して、駆動部１０１８に動作命令を送信する。また実空間データの送信指令を受信したとき、センサ部１０１６により取得した物体１０１９の位置、姿勢に関する情報を加工して送信できる形にして送る。
【００３２】
センサ部１０１６は、制御部１０１５からの指令を受けて、実空間に存在する物体１０１９の位置、姿勢（向き）を取得できる機能を有するものである。このセンサ部１０１６は、例えば赤外線センサ、レーザレンジファインダ、又は画像計測装置などを用いて実装することが可能である。
【００３３】
情報提示部１０１７は、制御部１０１５からの指令を受けて、物体１０１９の位置、姿勢が仮想空間と実空間とで一致しておらず矛盾が生じている旨の情報、及び矛盾を解消するために、物体１０１９の位置、姿勢をユーザが修正するべきであることをユーザに対して提示する。
【００３４】
駆動部１０１８は、例えばモータで駆動される車輪や足状の機構から構成され、制御部１０１５からの動作指令によって動作する。ロボット１０４を実空間のなかで動作させたり、その動作によって実空間の中にある物体１０１９を移動させたりする。
【００３５】
次に、本実施の形態１における遠隔会議システムを利用して、遠隔に離れた場所同士で遠隔会議を行う場合に、仮想空間提供サーバ１０２とクライアント１０３との間で送受信されるデータの例について図３を用いて説明する。
【００３６】
図３は実施の形態１に係る送受信データの構造を示す図である。図３（ａ）は仮想空間表示用データを示しており、仮想空間提供サーバ１０２から送信され、クライアント１０３で仮想空間を表示するのに必要なデータである。図３（ｂ）音声データを示し、図３（ｃ）映像データを示しており、仮想空間提供サーバ１０２を介して各クライアント１０３間で送受信され、ユーザの音声や映像を遠隔に離れた場所のユーザに提供するためのデータである。図３（ｄ）は仮想空間データ更新用データを示しており、クライアント１０３から送信され、仮想空間提供サーバ１０２で仮想空間データ１０８を更新するのに必要とされるものである。このデータには、各クライアント１０３でユーザが操作するアバターの位置、姿勢、表情、外形などを変更するのに必要な各種変更データが含まれる。
【００３７】
ここで、ＯｂｊｅｃｔＩＤとは、仮想空間内に存在する物体１０１９（オブジェクト）を識別するためのＩＤである。仮想空間を構成する外壁等も物体の一種として統一的に扱うことができる。また、ＡｖａｔａｒＩＤとは、各アバターのＩＤである。また、ＵｓｅｒＩＤとは、クライアント１０３を操作するユーザを一意に識別するためのＩＤである。また、操作ＩＤとは、ＯｂｊｅｃｔＩＤに関連付けられた仮想空間内の物体に対して実行することが可能な操作を示すＩＤである。
【００３８】
上記仮想空間データ更新用データにより、仮想空間上のアバター又はオブジェクトを動作させることができる。例えばオブジェクトを動作させる場合、ＯｂｊｅｃｔＩＤに操作ＩＤを送信することで、そのオブジェクトの仮想空間内での状態（位置や向き）を変更することができる。具体的な例としては、ユーザ（ＵｓｅｒＩＤ＝ｕｓｅｒＡ）が、仮想会議室内に存在するキャビネット（ＯｂｊｅｃｔＩＤ＝ｃａｂｉｎｅｔ１）に対して“開ける”（操作ＩＤ＝ｏｐｅｎ）操作を実行すると、仮想空間提供サーバ１０２に対して、図３（ｅ）に示すような仮想空間データ更新用データが送信され、これを受信した仮想空間提供サーバ１０２により仮想空間データが更新され、仮想空間内でキャビネットが開くことになる。
【００３９】
図４は実施の形態１に係る遠隔会議システムの動作説明図、図５は実施の形態１に係る動作フローチャート、図６は実施の形態１に係る動作指令の生成方法を示す図、図７は実施の形態１に係るロボットが物体を動作させられない場合を示す図である。以下、本実施の形態１における動作について図を参照しながら説明する。
【００４０】
まず、図４を用いて動作の概略を説明する。
図４（ａ）に示されるように、上述した音声データや仮想空間表示用データを、仮想空間提供サーバ１０２とクライアント１０３とで送受信することで、例えば、実空間地点１に存在するユーザＡ，Ｂと、実空間地点２に存在するユーザＣ，Ｄとが、共有仮想空間Ｖ内にアバターＡ’Ｂ’Ｃ’Ｄ’として存在しているかのように、クライアント１０３の情報提示部１０１３に情報が提示される。このような表示により、各ユーザは実空間上では離れた位置にいるユーザとも、臨場感をもってコミュニケーションすることが可能となる。尚、このような仮想空間の生成及び表示の動作については一般的な仮想空間提供装置と同様の構成であるため、詳細な説明は省略する。
【００４１】
次に仮想空間と実空間との間で生じる矛盾を解消する動作の概略について説明する。
図４において、実空間地点１及び地点２の机上にはそれぞれ、情報入力部１０１２のひとつとして、ユーザの音声を入力するマイクが設置されている。ここでマイクは物体１０１９の一つであり共有仮想空間Ｖ上にも仮想オブジェクトとして存在している。
【００４２】
図４（ａ）に示すように、例えばユーザＣがクライアント１０３を操作して、共有仮想空間Ｖ上でのマイクの位置を実空間２の机上と同様の状態に変更したとする。この場合、共有仮想空間Ｖと実空間地点２とにおけるマイクの位置は一致する。しかし実空間地点１では、実空間でのマイクの位置と仮想空間での位置とに矛盾が生じる。つまり、共有仮想空間Ｖ上では、マイクは机上におけるユーザＡ’の前方に配置されているのに対し、実空間地点１では、マイクは机上におけるユーザＢの左前方に配置されており、実空間地点１における机及びユーザとマイクとの相対位置と、仮想空間上の机及びユーザとマイクとの相対位置とが対応していないことになる。尚、例えば仮想空間上でのマイクの姿勢（向き）を変更した場合も、同様に実空間と仮想空間との間に矛盾が生じることとなる。
【００４３】
遠隔会議システムはこの状態を検知し、実空間地点１に存在するロボット１０４を動作させて矛盾を軽減させるように動作する。矛盾軽減の動作としては、ロボット１０４がマイクを動作させられる場合、図４（ｂ）に示すように、ロボット１０４が机上を移動してマイクを押すことで共有仮想空間Ｖと一致する位置に動かす。また、マイクが重過ぎてロボット１０４が動作させられないような場合や、マイクの位置によっては動作させられないような場合には、図４（ｃ）示すように、実空間でのマイクのあるべき位置を、ロボット１０４の情報提示部１０１７を用いて実空間上に投射し、ユーザに対してマイクの位置の変更を促す。これによりユーザはロボット１０４からの情報提示をうけて実空間でのマイクの位置の変更を行う。このような動作によって実空間と仮想空間での矛盾が軽減される。
【００４４】
このような動作の詳細について図５に基づき、図６及び図７を参照しつつ説明する。尚、図５においては、左側が仮想空間提供サーバ１０２の動作、右側がクライアント１０３及びロボット１０４の動作を示している。
【００４５】
ステップＳ３００１でユーザが例えばマウスなどの情報入力部１０１２を用いて仮想空間内の物体を動かすなどの操作を行うと、クライアント１０３の制御部１０１１は仮想空間データ更新用データを作成し、ステップＳ３００２で仮想空間提供サーバ１０２へ送信する。
【００４６】
ステップＳ３０１で仮想空間提供サーバ１０２はクライアント１０３からの仮想空間データ更新用データを受信する。ステップＳ３０２で仮想空間データ作成部１０５は仮想空間データ更新用データに応じて仮想空間データ１０８を変更する。ついで仮想空間提供サーバ１０２は、ステップＳ３０３で実空間データ送信指令をロボット１０４に対して送信する。
【００４７】
ステップＳ３０４でロボット１０４は実空間データ送信指令を受信する。ステップＳ３０５で、センサ部１０１６は、位置や姿勢（向き）を計測すべき実空間上の物体１０１９、例えばマイクの位置や姿勢を計測する。ステップＳ３０６でロボット１０４は仮想空間提供サーバ１０２に対して、計測した物体１０１９の位置や姿勢に関する実空間データを送信する。
【００４８】
ステップＳ３０７で仮想空間提供サーバ１０２は実空間データを受信し、ステップＳ３０８で実空間と仮想空間との物体のデータを比較し、距離を計算する。そしてステップＳ３０９で矛盾検出部１０９は、距離の値が一定値以上かを判定する。
【００４９】
このロボット１０４の計測動作と仮想空間提供サーバ１０２の比較動作の一例として、例えば物体１０１９及び仮想オブジェクトの位置データを平面状の座標で表し、仮想空間と実空間との二つの位置のユークリッド距離を計算する場合には、次のような動作を行う。
【００５０】
ロボット１０４は、実空間における机の任意位置（例えば縁端部）を原点とする２次元又は３次元座標を定義し、当該原点位置、及びマイク上の任意の計測点までの距離をそれぞれ計測し、計測した距離に応じた座標を付す。ここでは簡単化のために運動が平面状に限られているとする。そしてロボット１０４の移動可能範囲は机上に限るものとする。この場合、例えばロボット１０４は、図６に示すように、計測した原点位置を基準として、机上の平面を碁盤上に区切り、図示されるようにｘｙ方向の座標値を割り当てる。そして計測した原点位置及びマイクの距離に応じた座標値を、マイク位置の座標値として付する。例えば図６（ａ）の場合、マイク位置は（ｘ，ｙ）＝（２，２）である。そしてロボット１０４は当該座標情報を実空間データとして仮想空間提供サーバ１０２に送信する。
【００５１】
仮想空間提供サーバ１０２の矛盾検出部１０９は、仮想空間データ１０８を参照して、仮想空間内での上記原点位置、つまり上記例では机の仮想オブジェクトの縁端部を原点とする座標を定義して、上記と同様に原点位置を基準として、机上の平面を碁盤上に区切り、ｘｙ方向の座標値を割り当てる。そして、仮想空間上におけるマイクの計測点での座標を求める。
【００５２】
次に矛盾検出部１０９は、実空間データが示すマイクの座標と、仮想空間でのマイクの座標とを比較することにより、両者の距離の相違量が所定量以上であるか否かを判断し、所定量以上である場合は実空間と仮想空間とに矛盾が生じていると判断する。本実施の形態では、上述した碁盤上に区切った座標内であるか否かにより矛盾が生じているか否かを判断するものとする。尚、座標間隔はこれに限らず、より細目な座標を付しても良い。
尚、マイクの姿勢（向き）を計測する場合には、上述したマイクの計測点を２以上とし、当該複数の計測点を比較することにより、姿勢の矛盾を検知することができる。例えば、マイクが地面に接する足の部分の１点とマイクの風除け部分の１点を計測点として計測し、これら２点間を結んだ直線の角度と、仮想空間内での物体の角度とを比較することで姿勢の矛盾を検知することができる。
【００５３】
次に仮想空間提供サーバ１０２の制御部１０６は、上記ステップＳ３０９により矛盾が生じていると判断した場合には、ステップＳ３１０で、実空間及び仮想空間における上記の二つの座標値からロボット１０４に対する動作指令を作成し、ステップＳ３１１でロボット１０４に対し送信する。
【００５４】
この動作指令の作成方法について図６を用いて説明する。
今、図６（ａ）でロボット１０４の移動対象となる物体であるマイク（情報入力部１０１２）が、実空間上の座標位置（２，２）に存在し、仮想空間内でのマイクの位置、すなわちマイクが移動するべき位置が（３，２）であらわされているとする。
【００５５】
座標をベクトルと考え、二つのベクトルの減算を行うと、
（３，２）−（２，２）＝（１，０）
となり、（１，０）という値が得られる。
【００５６】
これがそのままロボット１０４に対する動作指令となる。ロボット１０４はマイクを現在の位置から、ｘ座標で１つ分増加する方向へ動作させればよい。これにより、上述した距離の相違量が所定量未満となるようマイクを移動させる動作指令を求めることができる。
【００５７】
また、物体の向きを計測する場合には、例えば上述した物体の計測点の２点間を結ぶ直線と座標軸との角度を、例えば４５°刻みの精度で求め、仮想空間での角度から実空間での物体角度を減算することにより、回転動作指令を求めることができる。例えば仮想オブジェクトの角度がｘ軸に対して４５°であり、実空間での計測点間角度が９０°（ｙ軸と並行）の場合、回転動作指令は−４５°となる。
【００５８】
尚、減算の結果が一定値以下の場合には、例えば（０，０）の場合にはそのままステップＳ３１２で終了する。
【００５９】
ステップＳ３１３でロボット１０４は動作指令を受信し、駆動部１０１８を動作させステップＳ３１４で動作を試みる。動作終了後、ステップＳ３１５で、再び物体の位置をセンサ部１０１６で計測し、ステップＳ３１６で、予定した位置へ移動させることができたかを確認する。移動できた場合はステップＳ３１８で終了し、移動できなかった場合は、ステップＳ３１７で、情報提示部１０１７により、ユーザにマイク（物体）を動かすべき位置、つまり矛盾が解消するマイク位置に関する情報を提示して、矛盾の解消を促す。例えば、情報提示部１０１７として備えたプロジェクタを用いて、実空間でマイクを動かすべき位置にマイク画像を投影する。尚、情報の提示はこれに限らず、音声によりマイク（物体）を動かすべき位置の情報を提示しても良い。
【００６０】
次に、ロボット１０４が物体を移動させることができない場合の例について図７を用いて説明する。図７に示されるように物体（マイク）が座標位置（３，１）に存在して、動かすべき位置が（３，２）である場合であって、ロボット１０４に物体を引く機能がない場合には、ロボット１０４の動作によっては物体を（３，２）に移動させることができない。このような場合、ロボット１０４は、矛盾の解消を促す情報として、座標位置（３，２）が物体を動かすべき場所であることを示す情報を提示する。
【００６１】
尚、上記説明では、ロボット１０４がステップＳ３１６で移動できたか否かを判断したが、これに限らず、仮想空間提供サーバ１０２が、ステップＳ３１１の動作指令を送信して所定時間経過後、再度、実空間データを取得して、ステップＳ３１６で移動できたか否かを判断するようにしても良い。これによりロボット１０４の構成を簡素化することができる。
【００６２】
また、上記説明では、ロボット１０４の情報提示部１０１７に物体を動かすべき情報を提示する場合を説明したが、これに限らず、クライアント１０３の情報提示部１０１３に当該情報を提示するようにしても良い。
【００６３】
尚、本実施の形態１では、ロボット１０４が物体を移動させることができない場合に、矛盾の解消を促す情報を提示する場合を説明したが、これに限らず、矛盾検出部１０９が矛盾の発生を検知したときに、ユーザに対し、実空間と仮想空間との間に矛盾が生じている旨の情報を提示するようにしても良い。
【００６４】
以上のように本実施の形態においては、実空間と仮想空間との間で、物体の配置の矛盾を検知して、矛盾が生じている場合に、ロボット１０４を用いて物体を移動することにより、仮想空間内の仮想オブジェクトと実空間に存在する物体との位置や向きの相違を軽減することができる。
【００６５】
また、ロボット１０４が移動対象となる物体を動かすことができない場合であっても、矛盾の解消を促す情報をユーザに提示するので、ユーザは当該情報に従い、仮想空間内の仮想オブジェクトと実空間に存在する物体との位置や向きの相違を軽減することができる。
【００６６】
また、仮想空間内の仮想オブジェクトと実空間に存在する物体との位置や向きの相違を軽減することにより、多様な要素（物体、ユーザ等）の仮想空間と実空間への同期的な配置を可能とし、各ユーザは実空間上では離れた位置にいるユーザとも、臨場感をもってコミュニケーションすることが可能となる。
【００６７】
実施の形態２．
上記実施の形態１においては、ロボット１０４が実際に実空間にある物体を動かす動作を試みてから、物体の動作の可否を確認したため、矛盾を解消するために時間を要した。本実施の形態２においては、物体の重さ、大きさに関係する値を送信することができるＩＤタグを実空間にある物体に備え、またロボットにＩＤタグを読み取る機能を付加することで、実空間にある物体がロボットに動かせるか否かを実際に動作を試みること無しに確認でき、より迅速に実空間と仮想空間との矛盾を解消できるものである。
【００６８】
図８は実施の形態２に係る遠隔会議システムの構成図である。図８を用いて本実施の形態の遠隔会議システムの構成について説明する。尚、上記実施の形態１と同様の構成には同じ符号を付し、詳細な説明は省略する。また、仮想空間提供サーバ１０２及びクライアント１０３は図８においては図示は省略する。
【００６９】
本実施の形態２に係る遠隔会議システムのロボット４０１は、新たにタグ読み取り部４０２を備え、実空間上の物体４０４に備えられたタグ４０３から、当該物体の重さ、大きさに関する値を読み取ることができるものである。
【００７０】
タグ読み取り部４０２は、タグ４０３から重さ、大きさ、動かしにくさに関する値を読み取ることができるものである。またタグ読み取りを試みてそれが失敗した場合、その状態を検知できるものである。
【００７１】
情報タグであるタグ４０３は、例えば、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、バーコード、二次元コードなどで実現され、タグ４０３を備える物体の重さ、大きさ、ロボットによる動かしにくさに関する情報が記録される。そして当該情報をタグ読み取り部４０２に送信するものである。尚、ロボットによる動かしにくさに関する情報としては、例えば物体表面の材質（摩擦係数等）や形状などの情報が挙げられる。
【００７２】
物体４０４は、上記実施の形態１と同様に、実空間上に存在するものであって、仮想空間内にもデータとして存在する要素である。さらに物体４０４には、タグ４０３を備えている。
【００７３】
図９は実施の形態２に係る動作フローチャートである。以下、図９を用いて本実施の形態の動作について説明する。尚、上記実施の形態１と同様の動作については同一の符号を付して示し、説明を省略する。
【００７４】
上述した実施の形態１と同様にステップＳ３０１〜Ｓ３１４の動作（図５）の後、ステップＳ５０１でロボット４０１は、タグ読み取り部４０２を用いて、動作対象の物体４０４に設けられたタグ４０３が読めるかを確認する。読めない場合にはステップＳ５０４で動作指令に基づく移動動作をし、再度ステップＳ５０１に戻る。
【００７５】
読める場合にはステップＳ５０２でタグを読み取り、当該タグ４０３に記録された重さ、大きさ、ロボットによる動かしにくさに関する値を得る。
【００７６】
ステップＳ５０３で、ロボット４０１は、あらかじめ定められた当該ロボット４０１が動作可能な物体の重さ、大きさ、動かしにくさに関する値との差から、移動対象の物体４０４が動作させることができるか否かを判定する。この判断は、例えばタグ情報に対応する各値に閾値を定め、当該閾値を超えた場合は動作不可と判断することができる。
【００７７】
動作できると判断した場合は、上記実施の形態１と同様に、ステップＳ３１４で動作を実施し、ステップＳ３１５で実空間データの計測をした後、ステップＳ３１６で移動させることができたかを確認する。一方、動作できないと判断した場合には、ステップＳ３１７で上記実施の形態１と同様に、実空間に対して情報提示を行う。
【００７８】
以上のように本実施の形態においては、物体４０４に備えられたタグ４０３を読み取ることにより、ロボット４０１がタグ４０３を備えた物体４０４を動かすことができない場合に早期の判断をし、ユーザに対する情報提示を実施するので、実際に物体に対する動作を試みる必要が無く、より迅速に実空間と仮想空間との矛盾を軽減できる。
【００７９】
実施の形態３．
上記実施の形態１及び２においては、ロボットは単純な駆動部を持ち、実空間上の物体を押すなど単純な動作だけが可能であった。一方、ロボットをアームやグリッパなど物体に働きかけができる複雑な駆動部を持つ構成とした場合、ロボットが扱える物体と、物体に対して可能な動作の種類が増えるという利点があるが、どの物体に対してどの種類の操作を行うかをロボット単体で判断させることは困難であった。つまり、握る、持ち上げるなどロボットの機構で可能な動作が複数ある場合であっても、厚みが薄い物体は握ることが難しく、重量が重い物体は持ち上げることが難しいなど、物体によって許容される動作には制限があるため、物体によってどういった動作を行うべきかを決めることが困難である。
【００８０】
本実施の形態３においては、仮想空間提供サーバ１０２上にタグによって指定される物体の種類とロボットの可能な動作指令とを関係付けるためのデータベースを配置し、ネットワークを介してロボットに、操作の対象となる物体に対して可能な動作を指示するためのデータを送信することで、ロボットが複雑な構造をしていても実施を試みるべき動作を決定することができるものである。
【００８１】
図１０は実施の形態３に係る遠隔会議システムの構成図である。図１０を用いて本実施の形態の遠隔会議システムの構成について説明する。尚、上記実施の形態１と同様の構成には同じ符号を付し、詳細な説明は省略する。
【００８２】
仮想空間提供サーバ６０１は、オブジェクト動作データベース６０２を新たに備え、ロボット６０３から送られてくる物体４０４のＩＤ（識別情報）を用いて、オブジェクト動作データベース６０２を検索し、物に対応するロボット６０３が可能な動作データを送信する機能を更に有するものである。
【００８３】
オブジェクト動作データベース６０２は、ロボット６０３の動作内容に関する動作データが、物体のＩＤ（識別情報）及びロボット６０３のＩＤ（識別情報）に応じて記録された動作情報データベースである。
【００８４】
ロボット６０３は例えば図２（ｂ）に示す形態を有し、物体を握る、持ち上げるなどの機構を備えるものである。ロボット６０３の制御部６０４は、上記実施の形態１又は２の動作に加え、タグ読み取り部４０２が読み取った物体ＩＤ及び当該ロボット６０３のＩＤをネットワーク１０１経由で仮想空間提供サーバ６０１に対して送信し、仮想空間提供サーバ６０１から、物体４０４に対してロボット６０３が可能な動作データを受信するものである。
【００８５】
情報タグであるタグ６０６は、例えば、ＲＦＩＤ、バーコード、二次元コードなどで実現され、タグ６０６を備える物体４０４を一意に検出するためのＩＤ情報が記録される。そして当該情報をタグ読み取り部４０２に送信するものである。
【００８６】
タグ読み取り部４０２は、タグ６０６から物体４０４のＩＤを読み取ることができるものである。またタグ読み取りを試みてそれが失敗した場合、その状態を検知できるものである。
【００８７】
図１１は実施の形態３に係る動作フローチャート、図１２は実施の形態３に係る送受信データの構造を示す図、図１３は実施の形態３に係るロボットの動作を示す図である。以下、図１１〜図１３を用いて動作の具体例と送受信するデータ構造について説明する。尚、上記実施の形態１又は２と同様の動作については同一の符号を付し、詳細な説明は省略する。
【００８８】
上述した実施の形態１，２と同様にステップＳ３０１〜Ｓ３１４の動作（図５）の後、ステップＳ５０１でロボット６０３は、タグ読み取り部４０２を用いて、動作対象の物体４０４に設けられたタグ６０６が読めるかを確認する。読めない場合にはステップＳ５０４で動作指令に基づく移動動作をし、再度ステップＳ５０１に戻る。読める場合にはステップＳ５０２でタグを読みとり、当該タグ６０６に記録されたＩＤを得る。
【００８９】
ステップＳ７０１で、ロボット６０３は仮想空間提供サーバ６０１に対して、読み取ったタグのＩＤを含んだデータを送信する。送信されるデータは少なくとも図１２（ａ）に示すようなデータを含むものとする。ここで、図１２（ａ）において、ロボットＩＤとはロボット６０３の種類を一意に示すためのデータである。このＩＤによって機構などロボットのもつ特徴に適したデータを検索することができる。
【００９０】
ステップＳ７０２で、仮想空間提供サーバ６０１は、ロボット６０３から受信したタグのＩＤと、ロボットＩＤを用いて、オブジェクト動作データベース６０２を検索し、当該ロボットＩＤをもつロボットがタグのＩＤをもつ物体に対して可能な動作データを取得する。
【００９１】
ここで、オブジェクト動作データベース６０２内のレコードは少なくとも図１２（ｂ）に示すようなデータを含むものとする。図１２（ｂ）において、一つのオブジェクトＩＤは複数個のロボットＩＤとそれに関連付けられる複数の動作データレコードを含む。動作データは物体を持ち上げる、引くなどというロボットに対する命令のレベルで表現されていてもかまわないし、具体的にロボットの関節角度を指定する数値データのようなレベルで表現されていてもかまわない。
【００９２】
ステップＳ７０３で、制御部６０４は、オブジェクト動作データベース６０２から取得したこれらの動作データを用いて、ロボット６０３への動作指令となる、動作のためのデータを作成する。すなわち物体を操作するために、つかむ、持ち上げるなどの操作を含めて動作データを作成する。
【００９３】
動作データの生成の方法について図１３を用いて説明する。
図１３に示されるように物体（マイク）が座標位置（３，１）に存在して、動かすべき位置が（３，２）である場合を考える。本実施の形態のロボット６０３は、例えば物体４０４を持ち上げる、下ろすという動作が可能であることがオブジェクト動作データベース６０２に記載されているものとする。上記実施の形態１（図５）のステップＳ３１０と同様にベクトル計算を行い、さらにオブジェクト動作データベース６０２に記載されている動作データを用いることにより、実施の形態１の単純な構成のロボット１０４とは異なり、本実施の形態３のロボット６０３は、物体（マイク）に対し、座標位置（３，１）で物体を持ち上げ、その後座標位置（３，２）に移動させ、物体をおろすという動作データを生成することが可能になる。尚、これらのデータ生成にはロボット工学の分野で利用される既存技術である軌道生成技術を用いることができる。
【００９４】
ステップＳ７０４で、仮想空間提供サーバ６０１は作成した動作データをロボット６０３に対して送信する。この際に送信されるデータは一つまたは複数あるものとする。
【００９５】
ステップＳ７０５で、ロボット６０３は動作データを受信し、ステップＳ７０６で複数ある動作データから一つを選び出し、上記実施の形態１と同様に、ステップＳ３１４で動作を実施し、ステップＳ３１５で実空間データの計測を行う。
【００９６】
ステップＳ３１６で上記実施の形態１と同様に、計画した通りの動作が可能であったかを判定する。動作できていないと判断した場合には、ステップＳ７０７に進み、実施したデータ以外に他の動作データが残っているかを確認し、残っている場合にはステップＳ７０５に戻る。他の動作データが残っていない場合には、ロボットの動作による矛盾の解決を断念し、ステップＳ３１７に進み、上記実施の形態１と同様に実空間に対して情報提示を行う。
【００９７】
以上のように本実施の形態においては、移動させる物体４０４のＩＤとロボット６０３のＩＤとに対応する動作データをオブジェクト動作データベース６０２から取得し、取得したデータに基づいてロボット６０３を動作させることにより、多様な物体４０４（要素）の形状性質に対応するべく、ロボット６０３の構造が複雑である場合でも、仮想空間と実空間との間の矛盾を軽減することができる。
【００９８】
尚、上記の動作データの生成は、仮想空間提供サーバ１０２でなく、ロボット６０３側で行ってもかまわない。その場合には仮想空間データ１０８及びオブジェクト動作データベース６０２のデータをロボット６０３に転送する必要がある。
【００９９】
尚、上記実施の形態１〜３において、例として示したデータ構造は一例に過ぎず、同様の機能を実現する他の構造でもかまわない。
【０１００】
尚、上記実施の形態１〜３においては、ロボットを仮想空間内に配置しない場合を説明したが、これに限らず、ロボットに物体としての性質を持たせ、仮想空間上に配置してもかまわない。
【０１０１】
尚、上記実施の形態１〜３においては、情報提示部１０１７によるユーザに対する矛盾解消の指令は、映像のプロジェクションの場合を説明したが、これに限らず、例えば音声によるものであってもかまわない。
【０１０２】
尚、上記実施の形態１〜３においては、本発明における物体検出手段、情報提示手段、及び物体移動手段をロボットに備える場合を説明したが、これに限らず、各手段が物理的に分割されていてもかまわない。また、ロボットが複数台あってもかまわない。
【０１０３】
尚、上記実施の形態１〜３においては、遠隔地同士をネットワーク経由で接続して会議を行う遠隔会議システムについて説明したが、これに限らず、類似した要素を持つ複数拠点の空間に複数のユーザ又は物が存在し、同時に実際の空間と類似した要素を持つ仮想空間を共有し、実空間の情報および仮想空間の情報を送受信、共有、及び利用することで遠隔地に存在しているユーザ同士が円滑に情報交換、共同作業をすることを可能にする情報システムに用いることができる。
【図面の簡単な説明】
【０１０４】
【図１】実施の形態１に係る遠隔会議システムの構成図である。
【図２】実施の形態１に係るロボットの外形図である。
【図３】実施の形態１に係る送受信データの構造を示す図である。
【図４】実施の形態１に係る遠隔会議システムの動作説明図である。
【図５】実施の形態１に係る動作フローチャートである。
【図６】実施の形態１に係る動作指令の生成方法を示す図である。
【図７】実施の形態１に係るロボットが物体を動作せられない場合を示す図である。
【図８】実施の形態２に係る遠隔会議システムの構成図である。
【図９】実施の形態２に係る動作フローチャートである。
【図１０】実施の形態３に係る遠隔会議システムの構成図である。
【図１１】実施の形態３に係る動作フローチャートである。
【図１２】実施の形態３に係る送受信データの構造を示す図である。
【図１３】実施の形態３に係るロボットの動作を示す図である。
【符号の説明】
【０１０５】
１０１  ネットワーク、１０２  仮想空間提供サーバ、１０３  クライアント、１０４  ロボット、１０５  仮想空間データ作成部、１０６  制御部、１０７  データ通信部、１０８  仮想空間データ、１０９  矛盾検出部、１０１０  データ通信部、１０１１  制御部、１０１２  情報入力部、１０１３  情報提示部、１０１４  データ通信部、１０１５  制御部、１０１６  センサ部、１０１７  情報提示部、１０１８  駆動部、１０１９  物体、４０１  ロボット、４０２  タグ読み取り部、４０３  タグ、４０４  物体、６０１  仮想空間提供サーバ、６０２  オブジェクト動作データベース、６０３  ロボット、６０４  制御部、６０６  タグ。
【図１】
0005050919.tif 000002
【図２】
0005050919.tif 000003
【図３】
0005050919.tif 000004
【図４】
0005050919.tif 000005
【図５】
0005050919.tif 000006
【図６】
0005050919.tif 000007
【図７】
0005050919.tif 000008
【図８】
0005050919.tif 000009
【図９】
0005050919.tif 000010
【図１０】
0005050919.tif 000011
【図１１】
0005050919.tif 000012
【図１２】
0005050919.tif 000013
【図１３】
0005050919.tif 000014