(57)【要約】【課題】各制御対象機器の制御を現実空間ではなく仮想空間においてソフトウエア主体の制御システムで実行可能とすることで、現実空間におけるハードウェアへの依存度を低減し、簡易な構成でより高度な機器制御機能を実現することができる、仮想空間利用型機器制御システム等を提供すること。【解決手段】  仮想空間利用型機器制御システム１は、現実空間に配置された現実機器６１、６２に対応する仮想機器７１、７２を仮想空間の内部において利用者が認識可能となるように配置するものであって、仮想機器７１、７２に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御システム１０と、この仮想空間制御システム１０から出力された制御データに基づいて、現実機器６１、６２を制御する現実空間制御システム２０とを備える。【選択図】図１
2011039731.tif 000002
【特許請求の範囲】
【請求項１】
現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置するものであって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段と、
前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段と、
を備える仮想空間利用型機器制御システム。
【請求項２】
前記仮想空間制御手段は、前記仮想空間の内部における前記仮想機器から所定範囲以内の位置において仮想的に発話された内容に基づいて、当該仮想機器に対する制御を行うと共に、前記制御データの出力を行う、
請求項１に記載の仮想空間利用型機器制御システム。
【請求項３】
前記仮想空間制御手段は、前記仮想機器に対する制御が行われた場合に、当該制御の内容に基づいて、当該仮想機器と連携制御すべき他の仮想機器の連携制御内容を特定し、当該特定した連携制御内容に基づいて当該他の仮想機器を制御する、
請求項１又は２に記載の仮想空間利用型機器制御システム。
【請求項４】
現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置する仮想空間制御手段であって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段に対して、通信可能に接続された現実空間制御システムであって、
前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段、
を備える現実空間制御システム。
【請求項５】
コンピュータを、
現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置するものであって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段と、
前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段と、
して機能させる仮想空間利用型機器制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間に配置された制御対象機器を、仮想空間を介して制御するための仮想空間利用型機器制御システム、現実空間制御システム、及び仮想空間利用型機器制御プログラムに関する。
【背景技術】
【０００２】
建物の内部や外部に配置された各種機器をコンピュータ制御することで、これらの機器の遠隔操作や一元管理を行うことが可能となってきている。また、機器の状態等を検知するセンサ技術や、家電を含むあらゆる機器に対する通信制御を可能とするユビキタス技術が浸透してきており、機器制御技術の実用化が進んでいる。
【０００３】
特に、近年では、制御対象となる各機器の機能が高度化したり、各機器を単体ではなく複数連携させることで利用者に新たな価値を提供しようとする傾向が強くなっており、このような傾向に伴って、これらの機器を制御する制御システム自体も一層複雑化する傾向にある。例えば、特許文献１には、複数の電子機器を組み合わせて制御する機器制御サービスの要求をネットワーク経由で受け付け、当該受け付けた機器制御サービスに基づいて、各電子機器を制御する機器制御サーバに対して機器制御処理の実行を自動的に依頼するシステム等が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２８０６３（段落０００７等）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のシステムでは、制御対象機器の単体制御や連携制御を、ハードウェア中心の制御システムによって行っていたので、各制御対象機器の機能の複雑性、制御対象機器の数、あるいは各制御対象機器の相互間で要求される連携制御の複雑性が増大するに伴って、制御システム自体も極端に複雑化するという問題があった。特に、様々なメーカーによって提供された複数の制御対象機器に対しては、相互に異なるプロトコルが実装されていることも多く、プロトコルのデファクトスタンダードが定まっていないために、制御対象機器を実際に連携させることが困難な場合も多かった。
【０００６】
本発明は、上記に鑑みてなされたものであって、各制御対象機器の制御を現実空間ではなく仮想空間においてソフトウエア主体の制御システムで実行可能とすることで、現実空間におけるハードウェアへの依存度を低減し、簡易な構成でより高度な機器制御機能を実現することができる、仮想空間利用型機器制御システム、現実空間制御システム、及び仮想空間利用型機器制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１に記載の仮想空間利用型機器制御システムは、現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置するものであって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段と、前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段とを備える。
【０００８】
また、請求項２に記載の仮想空間利用型機器制御システムは、請求項１に記載の仮想空間利用型機器制御システムにおいて、前記仮想空間制御手段は、前記仮想空間の内部における前記仮想機器から所定範囲以内の位置において仮想的に発話された内容に基づいて、当該仮想機器に対する制御を行うと共に、前記制御データの出力を行う。
【０００９】
また、請求項３に記載の仮想空間利用型機器制御システムは、請求項１又は２に記載の仮想空間利用型機器制御システムにおいて、前記仮想空間制御手段は、前記仮想機器に対する制御が行われた場合に、当該制御の内容に基づいて、当該仮想機器と連携制御すべき他の仮想機器の連携制御内容を特定し、当該特定した連携制御内容に基づいて当該他の仮想機器を制御する。
【００１０】
また、請求項４に記載の現実空間制御システムは、現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置する仮想空間制御手段であって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段に対して、通信可能に接続された現実空間制御システムであって、前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段を備える。
【００１１】
また、請求項５に記載の仮想空間利用型機器制御プログラムは、コンピュータを、現実空間に配置された現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置するものであって、前記仮想機器に対する制御が行われた場合に当該制御の内容を特定する制御データを出力する仮想空間制御手段と、前記仮想空間制御手段から出力された制御データに基づいて、前記現実機器を制御する現実空間制御手段として機能させる。
【発明の効果】
【００１２】
請求項１に記載の仮想空間利用型機器制御システム、請求項４に記載の現実空間制御システム、あるいは請求項５に記載の仮想空間利用型機器制御プログラムによれば、仮想機器に対する制御を行うことで現実機器を制御することが可能となるので、各現実機器の制御を現実空間ではなく仮想空間においてソフトウエア主体の制御システムで実行可能とすることで、現実空間におけるハードウェアへの依存度を低減し、簡易な構成でより高度な機器制御機能を実現することができる。
このことにより、現実空間に配置するハードウェアを極力簡易化しつつ、現実機器に対する高度で複雑な制御を行うことが可能となる。
また、ソフトウエア主体の制御システムは機能の変更や組替えが簡単であるため、現実機器の追加や変更にも容易に対応することが可能となる。
【００１３】
また、請求項２に記載の仮想空間利用型機器制御システムによれば、仮想機器に対する仮想的な発話によって、仮想機器に対する制御等を行うと共に制御データの出力を行うので、仮想機器に対する制御を一層容易に行うことができ、ひいては現実機器に対する制御を一層容易に行うことができる。
【００１４】
また、請求項３に記載の仮想空間利用型機器制御システムによれば、仮想機器に対する制御が行われた場合に他の仮想機器を連携制御するので、従来は連携制御を行うことで一層複雑となっていたハードウェアへの依存度を低減し、簡易な構成でより高度な機器連携制御機能を実現することができる。
特に、ソフトウエア主体の制御システムによって現実機器の連携制御を行うことができるので、現実機器におけるハードウェア的なインターフェースや機構の相違を吸収することができ、従来のハードウェア主体の制御システムでは困難であった様々な機器の連携制御を比較的容易に実現することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係る仮想空間利用型機器制御システムの電気的構成を機能概念的に示したブロック図である。
【図２】実施の形態１に係る仮想空間利用型機器制御処理のフローチャートである。
【図３】実施の形態２に係る仮想空間利用型機器制御システムの電気的構成を機能概念的に示したブロック図である。
【図４】実施の形態２に係る仮想空間利用型機器制御処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明に係る仮想空間利用型機器制御システム、現実空間制御システム、及び仮想空間利用型機器制御プログラムの各実施の形態を詳細に説明する。ただし、各実施の形態によって本発明が限定されるものではない。
【００１７】
〔実施の形態１〕
最初に、実施の形態１について説明する。この形態は、仮想空間制御システムと現実空間制御システムの通信を、ＨＴＴＰ通信とＸＭＬ−ＲＰＣ通信で行う形態である。
【００１８】
〔概要〕
実施の形態１に係る仮想空間利用型制御（以下「本制御」）の概要について説明する。本制御は、各種の制御対象機器を制御することを目的とする。制御対象機器の具体的な種類や構成は、特記する場合を除いて任意であり、建物の内部に配置された機器（例えば、屋内照明機器、空調機器、防犯若しくは防火設備、又はエレベータやエスカレータ等の建築付帯機械機器、テレビや冷蔵庫等の家電、あるいはコンピュータ）、建物の外部に配置された機器（例えば、屋外照明機器）、あるいは建物と直接的な関連性を持たない機器（例えば、携帯電話、携帯用ゲーム機、自動車）を含む。以下では、建物の内部に配置された空調機器と照明機器を制御する場合について説明する。
【００１９】
本制御におけるステップは、概略的に、以下の４ステップを含む。
１）現実空間に配置されている制御対象機器（以下「現実機器」）に対応する仮想的な制御対象機器（以下「仮想機器」）を、仮想空間の内部において利用者が認識可能となるように配置するステップ。
２）現実機器と仮想機器が相互に連動して動作することを可能にするステップ。
３）仮想機器を仮想空間におけるメッセージ（チャットシステム）によって制御するステップ。
４）仮想機器を相互に連携させるステップ。
【００２０】
これら４ステップを実行することで、現実空間、現実空間における建物（以下、現実空間の建物を「現実建物」、仮想空間の建物を「仮想建物」）、あるいは現実機器の機能を仮想化し、当該仮想化した機能に基づいて仮想機器を単体で又は連携させて制御し、この制御結果等を現実空間の現実機器に反映する。このような制御では、仮想機器を単体で又は連携させて制御するための機能は、仮想空間で仮想機器を制御するためのソフトウエア主体の制御システムとして構築できるので、現実空間で現実機器を制御するためのシステムを簡素化することが可能となる。特に、仮想機器を連携させて制御した場合でも、その結果を現実空間の現実機器に個別的に反映させることで、現実空間では現実機器を単体で制御すればよいため、現実空間で現実機器を連携させるためのハードウェアシステムは不要となる。したがって、複数の現実機器に異なるプロトコルが実装されている場合であっても、このように複数のプロトコルが混在する状態を構造的に許容することが可能となり、現実機器の追加やプロトコルの変更にも柔軟に対応することが可能となる。さらに、連携に必要な機能は仮想空間側に実装するので、現実機器の組込みハードウエアの性能（ＣＰＵ、メモリ、通信速度など）に依存しない、スケーラブルな連携システムを構築することが可能となる。
【００２１】
〔概要−仮想空間〕
ここで、仮想空間とは、コンピュータにて生成された仮想的な空間であり、代表的には、インターネット上に形成された電子的な３次元仮想空間（メタバース）である。この３次元仮想空間では、利用者が、直接的に又はアバター（利用者の仮想的な分身）を用いて間接的に、仮想機器を制御することができる。また、制御された仮想機器に連携して、他の仮想機器が制御される。このような３次元仮想空間を用いた場合には、仮想機器の場所（３次元的な位置）を利用者が容易に把握することができるので、仮想機器をツリー構造等の２次元構造で表示した場合に比べて、仮想機器を利用者が容易に特定して操作することが可能となる。ただし、仮想空間は、必ずしも３次元仮想空間には限定されず、例えば、２次元仮想空間を用いてもよい。また、２次元仮想空間を用いる場合において、３次元仮想空間に表現した場合と比べて欠落している次元（例えば高さ）を利用者の操作に応じて切替可能とすることで、２次元仮想空間において３次元の位置を把握するができるようにしてもよい。このような切替例としては、Ｇｏｏｇｌｅ  Ｍａｐ（登録商標）による表示縮尺の切替を挙げることができる。
【００２２】
この３次元仮想空間に求められる機能（仕様）としては、少なくとも、現実空間と３次元仮想空間のネットワークによる双方向の通信が可能であることがある。また、仮想空間や仮想機器を明確に識別できる機能が必要であり、現実機器と仮想機器を対応付けるためには、同じ仮想機器が多数同時に存在できる仮想空間であってはならない。さらに、他者によって提供される３次元仮想空間をプラットフォームとして用いて本制御を行う場合、本制御の継続性を担保するためには、３次元仮想空間を提供するシステムがオープンなシステムであってサービス提供の終了などによって使用できない状況に陥らないことや、利用者の管理とアクセス制限機能が備わっているものであって、特に複数の利用者が操作を行う状況を想定した場合には当該複数の利用者間の優先度を管理できる仕組みがあることが好ましい。このような機能を満たす３次元仮想空間の代表的な例として、Ｌｉｎｄｅｎ  Ｌａｂ社が提供しているＳｅｃｏｎｄ  Ｌｉｆｅ（登録商標）（以下「ＳＬ」）や、ＢＳＤ  Ｌｉｃｅｎｓｅ（Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｌｉｃｅｎｓｅ）に基づいて提供されているＯｐｅｎＳｉｍがある。以下では、このＳＬによって提供される３次元仮想空間において本制御を行う場合について説明するが、ＯｐｅｎＳｉｍによって提供される３次元仮想空間においてもほぼ同様に本制御を行うことができる。なお、このような３次元仮想空間を生成するためのシステムやプログラムについては、公知のシステムやプログラムを用いることができるので、その詳細な説明は省略する。
【００２３】
〔概要−仮想空間における仮想機器の表現〕
現実機器に対応する仮想機器を仮想空間の内部において利用者が認識可能となるように配置するとは、仮想空間内において利用者が仮想機器を「知覚できる状態にする」処理を意味しており、代表的には、現実空間における現実機器の位置及び外観を仮想空間に再現することであり、現実機器と同一の外観を持った仮想機器を、現実機器と同一の位置（例えば、現実建物に対する現実機器の相対的な位置や、複数の現実機器の相互間の位置）で仮想空間に表示することである。つまり、現実機器を含んだ現実空間をそのまま仮想的に反映させた仮想空間を生成することである。
【００２４】
ただし、特記する場合を除いて、現実空間における現実機器の位置及び外観は、仮想空間において必ずしも厳密な同一性を保持して再現される必要はなく、例えば、現実機器の外観を抽象化した外観で仮想機器を仮想空間に表示したり、現実機器の位置とは若干異なる位置で仮想機器を仮想空間に表示してもよい。また、具体的な出力形態としては、代表的には、仮想機器を表示装置４３に「表示」することが考えられるが、聴覚や触覚にて知覚できるようにしてもよい。以下では、３次元空間としての仮想空間に、現実機器とほぼ同一の外観を持った仮想機器を、現実機器と同一の位置で表示する例について説明する。
【００２５】
〔構成〕
実施の形態１に係る仮想空間利用型機器制御システム（以下「本システム」）の構成について説明する。図１は、本システムの電気的構成を機能概念的に示したブロック図である。この図１に示すように、本システム１は、仮想空間制御システム１０に対して、現実空間制御システム２０をネットワーク３０を介して通信可能に接続すると共に、利用者端末４０をネットワーク５０を介して通信可能に接続して構成されている。現実空間制御システム２０には、現実建物６０の内部に配置された現実機器６１、６２と現実センサ６３、６４が接続されている。
【００２６】
これら仮想空間制御システム１０、現実空間制御システム２０、利用者端末４０、ネットワーク３０、５０、現実機器６１、６２、及び現実センサ６３、６４は、現実空間に配置されている。また、仮想空間制御システム１０によって仮想空間が生成されており、この仮想空間に配置された仮想建物７０の内部には、仮想機器７１、７２、仮想コントローラ７３、７４、連携エージェント７５、及びアバター７６（以下、必要に応じてこれらを「仮想オブジェクト」と総称する）が配置されている。なお、この仮想空間及び仮想オブジェクトは、利用者端末４０の後述する表示装置４３のみを介して利用者に認識されるものであり、物理的に実存するものではないが、これらも図１には説明の都合上により図示している。
【００２７】
〔構成−仮想空間制御システム〕
仮想空間制御システム１０は、現実空間に配置された現実機器６１、６２に対応する仮想機器７１、７２を仮想空間の内部において利用者が認識可能となるように配置する仮想空間制御手段である。この仮想空間制御システム１０は、例えば、スペースサーバ１１、複数のシミュレータ１２、アセットサーバ１３、ＸＭＬ−ＲＰＣサーバ１４、ＨＴＴＰサーバ１５、及び仮想空間データベース１６（以下、データベースを「ＤＢ」と称する）を備え、これら各部を図示しない通信機構を介して相互に通信可能に接続して構成されている。
【００２８】
スペースサーバ１１は、仮想空間全体の位置情報を保持する。複数のシミュレータ１２は、仮想空間の一部の区域と当該区域内における各種の仮想環境を保持すると共に、後述するチャット処理を行う。アセットサーバ１３は、仮想オブジェクトを生成するためのデータや当該仮想オブジェクトの動作を規定するためのデータを保持する。ＸＭＬ−ＲＰＣサーバ１４は、現実空間制御システム２０から仮想空間制御システム１０におけるプログラムの呼び出し等を行うため、現実空間制御システム２０との間においてＸＭＬ−ＲＰＣプロトコルにて通信行う。ＨＴＴＰサーバ１５は、仮想空間制御システム１０から現実空間制御システム２０へ各種データの送信等を行うため、現実空間制御システム２０との間においてＨＴＴＰプロトコルにて通信行う。仮想空間ＤＢ１６は、仮想空間の生成及び制御に必要な各種の情報を保持するデータベースである。この他にも、仮想空間制御システム１０は、利用者のログイン処理を行う利用者サーバ等を備えることができるが、この仮想空間制御システム１０の構成としては、特記する点を除いて公知の構成を採用することができるために、その説明を省略する。
【００２９】
〔構成−現実空間制御システム〕
現実空間制御システム２０は、仮想空間制御システム１０から出力された制御データに基づいて、現実機器６１、６２を制御する現実空間制御手段である。この現実空間制御システム２０は、例えば、ＸＭＬ−ＲＰＣサーバ２１、ＨＴＴＰサーバ２２、Ｗｅｂサーバ２３、複数のドライバ２４、２５、及び現実空間ＤＢ２６を備え、これら各部を図示しない通信機構を介して相互に通信可能に接続して構成されている。この現実空間制御システム２０は、例えば、現実建物６０の中央監視室に設置される。
【００３０】
ＸＭＬ−ＲＰＣサーバ２１は、現実空間制御システム２０から仮想空間制御システム１０におけるプログラムの呼び出し等を行うため、仮想空間制御システム１０との間においてＸＭＬ−ＲＰＣ（ＸＭＬ  Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）にて通信行う。
【００３１】
ＨＴＴＰサーバ２２は、仮想空間制御システム１０から現実空間制御システム２０へ各種データの送信等を行うため、仮想空間制御システム１０との間においてＨＴＴＰプロトコルにて通信行う。これらＸＭＬ−ＲＰＣサーバ２１やＨＴＴＰサーバ２２のプログラムは、例えばＰＨＰ（Ｈｙｐｅｒｔｅｘｔ  Ｐｒｅｐｒｏｃｅｓｓｏｒ）にて記述される。
【００３２】
Ｗｅｂサーバ２３は、仮想空間制御システム１０との間においてＸＭＬ−ＲＰＣサーバ２１やＨＴＴＰサーバ２２を介して通信を行うもので、仮想空間制御システム１０から出力された制御データに基づいて、ドライバ２４、２５を介して現実機器６１、６２に制御データを送信することで当該現実機器６１、６２を制御し、現実センサ６３、６４からの検知出力を受信して仮想空間制御システム１０に送信する。
【００３３】
ドライバ２４、２５は、現実機器６１、６２を制御するためのもので、Ｗｅｂサーバ２３及び現実機器６１、６２に電気的に接続されており、現実機器６１、６２への制御情報を、現実機器６１、６２に実装されたプロトコルに応じた内容に変換して、現実機器６１、６２に出力する。ここでは、現実機器６１、６２に異なるプロトコルが実装されていることを想定し、現実機器６１、６２の各々に対して異なるドライバ２４、２５（対応する現実機器６１、６２に実装されたものと同じプロトコルを備えるドライバ２４、２５）を配置している。ただし、複数の現実機器６１、６２に対して共通のプロトコル（例えば、ＢＡＣｎｅｔ）で通信を行うことが可能となっている場合には、当該プロトコルを実装した共通のドライバ２４、２５にて複数の現実機器６１、６２を制御してもよい。また、ドライバ２４、２５は、必ずしも直接的に現実機器６１、６２を制御するものでなくともよく、例えば、公知のゲートウェイを介して現実機器６１、６２を制御するものであってもよい。あるいは、ドライバ２４、２５は、現実機器６１、６２に対して通信を行うものではなく、現実機器６１、６２に制御信号を出力するものとして構成することもでき、例えば、現実機器６１、６２が有するインターフェースに対して接点信号を出力することで当該現実機器６１、６２を制御してもよい。
【００３４】
現実空間ＤＢ２６は、仮想機器７１、７２と現実機器６１、６２とを相互に対応付けると共に、仮想コントローラ７３、７４と現実センサ６３、６４とを相互に対応付けるための対応情報を格納する。この対応情報の具体的構成は任意であるが、例えば、仮想機器７１、７２と現実機器６１、６２とを相互に対応付けるための対応情報は、仮想機器７１、７２を一意に識別する仮想機器ＩＤ、現実機器６１、６２を一意に識別する現実機器ＩＤ、現実機器６１、６２に対応するドライバ２４、２５を一意に識別するドライバＩＤを相互に関連付けて構成される。また、仮想コントローラ７３、７４と現実センサ６３、６４とを相互に対応付けるための対応情報は、仮想コントローラ７３、７４を一意に識別する仮想コントローラＩＤと、現実センサ６３、６４を一意に識別する現実センサＩＤを相互に関連付けて構成される。この他にも、現実空間制御システム２０は、利用者のログイン処理を行う利用者サーバ等を備えることができる。
【００３５】
このような現実空間制御システム２０の各部の機能は、本実施の形態１に係るものであって、後述する仮想空間利用型機器制御処理をコンピュータとしての現実空間制御システム２０の各部に実行させるための仮想空間利用型機器制御プログラム(以下「本プログラム」）によって記述されている。すなわち、本プログラムをネットワーク３０や任意の媒体を用いて現実空間制御システム２０の各部にインストールすることで、現実空間制御システム２０の各部の機能が構成される。
【００３６】
〔構成−利用者端末〕
利用者端末４０は、利用者が、仮想空間制御システム１０にログインし、仮想機器７１、７２を制御することで現実機器６１、６２を制御する装置である。この利用者端末４０は、例えば、公知のパーソナルコンピュータと同様に構成することができるので、その構成についての詳細な説明は省略するが、少なくとも、仮想空間制御システム１０との間において各種操作や表示を行うための機能（以下「Ｖｉｅｗｅｒ」）４１と、操作内容を入力する入力装置（例えばマウス及びキーボード）４２と、仮想空間及び当該仮想空間の内部に表現されたオブジェクトを表示する表示装置（例えば液晶モニタ）４３を備える。
【００３７】
〔構成−ネットワーク〕
ネットワーク３０、５０としては、インターネットや次世代ネットワーク（ＮＧＮ：Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）の他、仮想空間制御システム１０に対して、現実空間制御システム２０や利用者端末４０を通信可能に接続可能な任意のネットワークを用いることができる。なお、図１では、便宜上、仮想空間制御システム１０と現実空間制御システム２０を接続するネットワーク３０と、仮想空間制御システム１０と利用者端末４０を接続するネットワーク５０を別々のものとして図示しているが、共通のネットワークを用いてもよい（図３において同じ）。
【００３８】
〔構成−現実機器〕
現実機器６１、６２の具体的な種類や構成は上述の通り任意であるが、ここでは、現実機器６１は現実建物６０の内部に配置された空調機器であり、この空調機器をドライバ２４からの制御情報によってＯＮ／ＯＦＦ切替及び温度変更することで、現実建物６０の内部の空調を行うことができる。また、現実機器６２は現実建物６０の内部に配置された照明機器であり、この照明機器をドライバ２５からの制御情報によってＯＮ／ＯＦＦ切替及び照度変更することで、現実建物６０の内部の照明を行うことができる。
【００３９】
〔構成−現実センサ〕
現実センサ６３、６４は、現実空間における各種の状態を検知して出力するものであり、その具体的な種類や構成は、現実機器６１、６２の種類や構成に応じて任意に決定することができる。ここでは、現実センサ６３は、現実機器６１によって空調された現実建物６０の内部の温度を検知して出力する温度センサであり、現実センサ６４は、現実機器６２によって照明された現実建物６０の内部の照度を検知して出力する照度センサであるものとする。
【００４０】
〔構成−仮想空間〕
仮想空間は、上述のように、コンピュータ（ここでは、仮想空間制御システム１０）にて生成された仮想的な空間である。この仮想空間は、仮想オブジェクトと共に、利用者端末４０の表示装置４３に表示されることにより、利用者に認識される。
【００４１】
〔構成−仮想機器〕
仮想機器７１、７２は、仮想空間制御システム１０にて生成された仮想的な機器である。仮想機器７１は、現実機器６１に対応するものとして表現されており、仮想機器７２は、現実機器６２に対応するものとして表現されている。すなわち、仮想空間には、現実機器６１、６２が配置された現実建物６０も仮想的に表現されており、この現実建物６０に対する現実機器６１、６２の相対的な位置が、仮想空間に仮想的に表現された仮想建物７０に対する仮想機器７１、７２の相対的な位置として再現されており、現実機器６１、６２の相互間の相対的な位置が、仮想機器７１、７２の相互間の相対的な位置として再現されている。また、仮想機器７１は現実機器６１とほぼ同一の外観を備え、仮想機器７２は現実機器６２とほぼ同一の外観を備える。
【００４２】
〔構成−仮想コントローラ〕
仮想コントローラ７３、７４は、仮想空間制御システム１０にて生成された仮想的なコントローラである。ここでは、仮想コントローラ７３は、仮想機器７１を操作するためのコントローラ（リモコン）として表現されており、仮想機器７１のＯＮ／ＯＦＦを操作するためのＯＮ／ＯＦＦボタン、仮想機器７１の温度を変更するための温度変更ボタン、及び現実センサ６３にて検知された温度を表示する温度表示部を備える。仮想コントローラ７４は、仮想機器７２を操作するためのコントローラ（リモコン）として表現されており、仮想機器７２のＯＮ／ＯＦＦを操作するためのＯＮ／ＯＦＦボタン、仮想機器７２の照度を変更するための照度変更ボタン、及び現実センサ６４にて検知された照度を表示する照度表示部を備える。
【００４３】
〔構成−連携エージェント〕
連携エージェント７５は、仮想空間制御システム１０にて生成された仮想的な連携制御手段である。ここでは、連携エージェント７５は、仮想機器７１、７２を相互に連携するためのオブジェクトであり、仮想空間における仮想機器７１、７２の近傍位置において、任意の形状で配置されている。この連携エージェント７５は、他の仮想オブジェクトと同様に構成することができ、利用者に認識可能に生成することもできるが、必ずしも認識可能とする必要はなく、例えば、透過オブジェクトとして構成することができる。
【００４４】
〔構成−アバター〕
アバター７６は、仮想空間制御システム１０にて生成された仮想的なキャラクターである。ここでは、アバター７６は、仮想機器７１、７２を制御する主体としての利用者を仮想的に表現したものである。なお、図１及び後述する図３においては、アバター７６を人形で示しているが、犬、ネコ、石、箱、車、ロボット等の任意の外観で表現することができる。このアバター７６は、他の仮想オブジェクトに対して、仮想空間制御システム１０における取扱いに関しては厳密には異なるものであるが、後述するチャットによるメッセージを行う点に関しては共通する。
【００４５】
これら仮想オブジェクトは、例えば、所定プログラム言語（ＳＬにおいては、ＬＳＬ：Ｌｉｎｄｅｎ  Ｓｃｒｉｐｔ  Ｌａｎｇｕａｇｅ）にて記述されたもので、ＳＬにおいては、一つ以上のプリムから構成されるオブジェクトである。例えば、コンパイル済みのＬＳＬバイナリデータをアセットサーバ１３に格納しておき、このＬＳＬバイナリデータを必要に応じてアセットサーバ１３から呼び出してインタプリタすることで、仮想オブジェクトが生成されて仮想空間に表現される。また、仮想機器７１、７２の記述時に、仮想空間内における当該仮想機器７１、７２の３次元位置を特定する位置データを当該仮想機器７１、７２に関連付けることで、仮想空間における仮想機器７１、７２の３次元位置を、現実空間における現実機器６１、６２の３次元位置を反映したものとすることができる。また、この仮想機器７１、７２の記述時に、仮想機器７１、７２の外観を現実機器６１、６２の外観に極力近いものとする。
【００４６】
さらに、この所定プログラム言語を用いて、仮想オブジェクトの動作（以下「イベント」）を記述することも可能である。ここでは、仮想機器７１、７２におけるイベントとして、当該仮想機器７１、７２がアバター７６からのチャットによるメッセージを受け取った時に、当該仮想機器７１、７２自体を制御する動作と、現実空間制御システム２０に対して現実機器６１、６２の制御を要求する動作が記述されており、この記述内容が当該仮想機器７１、７２のＬＳＬバイナリデータに含められている。また、連携エージェント７５におけるイベントとして、仮想機器７１、７２の一部が制御された場合には、この制御内容に基づいて、当該連携エージェント７５が他の仮想機器７１、７２を制御するためのチャットによるメッセージを出力する動作が記述されており、この記述内容が当該連携エージェント７５のＬＳＬバイナリデータに含められている。このような仮想オブジェクトのイベントの内容の詳細は、仮想空間利用型機器制御処理の説明において後述する。
【００４７】
〔処理〕
次に、このように構成された本システム１において行われる仮想空間利用型機器制御処理（以下「本処理」）について説明する。図２は、本処理のフローチャートである（以下の各処理の説明ではステップを「Ｓ」と略記する）。ここでは、本処理に先だって、仮想空間と仮想オブジェクトが公知の方法で生成されており、現実空間ＤＢ２６には利用者等によって任意の方法で対応情報が格納されているものとする。なお、以下の処理では、最初に仮想機器７１を制御し、この仮想機器７１に連動して仮想機器７２を制御するものとするが、この順番は逆であってもよく（この場合には、以下の説明中、仮想機器７１を仮想機器７２、仮想コントローラ７３を仮想コントローラ７４、「温度」を「照度」等と読み替えればよい）、あるいは、仮想機器７１、７２を同時に制御してもよい。
【００４８】
最初に、利用者は、利用者端末４０のＶｉｅｗｅｒ４１を入力装置４２を介して起動し、このＶｉｅｗｅｒ４１を介して仮想空間制御システム１０にアクセスして、仮想空間及びアバター７６を利用者端末４０の表示装置４３に表示させるための表示要求を行う（ＳＡ１）。この表示要求を受けた仮想空間制御システム１０は、仮想空間及びアバター７６を生成して利用者端末４０の表示装置４３に表示させる（ＳＡ２、ＳＡ３）。
【００４９】
そして、利用者は、利用者端末４０の入力装置４２を介した公知の方法でアバター７６を仮想空間内に移動させることで、アバター７６を、仮想空間に表現させた仮想建物７０の内部に入らせ、この仮想建物７０の内部に表現された仮想機器７１及び仮想コントローラ７３に近づける。この際、仮想空間における仮想機器７１の３次元位置及び外観は、上述したように、現実空間における現実機器６１の３次元位置及び外観を反映したものとなっているので、利用者は、現実機器６１に対応する仮想機器７１を容易に把握することが可能となる。
【００５０】
次いで、利用者は、利用者端末４０の入力装置４２を介して公知の方法でアバター７６を操作することで、アバター７６を用いて仮想コントローラ７３を操作し、仮想機器７１のＯＮ／ＯＦＦや仮想機器７１の温度変更の如き操作を行う（ＳＡ４）。例えば、仮想コントローラ７３には、イベントとして、自己が備えるＯＮ／ＯＦＦボタンがアバター７６に押される毎に、仮想機器７１のＯＮ／ＯＦＦを切り替える旨の制御内容を受け付けることや、自己が備える温度変更ボタンがアバター７６に押される毎に、仮想機器７１の温度変更を行う旨の制御内容を受け付けることが記述されており、このようなアバター７６の動作を介して、仮想機器７１に対する制御内容を受け付ける（ＳＡ５）。
【００５１】
あるいは、利用者は、利用者端末４０の入力装置４２を介して公知の方法でアバター７６を操作することで、アバター７６を介したチャットによるメッセージ（ＳＬにおいては、ＳＬＭＳ：Ｓｅｃｏｎｄ  Ｌｉｇｅ  Ｍｅｓｓａｇｅ  Ｓｙｓｔｅｍによるメッセージ）の出力を行い、仮想コントローラ７３を操作することも可能である。例えば、利用者は、「温度を２５℃に設定する」とのテキスト文字をチャットとしてアバター７６から出力する。例えば、仮想コントローラ７３には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「温度」というテキスト文字を含むメッセージの出力が行われた場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる温度（上記の例では「２５℃」）を仮想機器７１の温度として設定することが記述されている。したがって、仮想コントローラ７３は、このようなメッセージを介して、仮想機器７１に対する制御内容を受け付ける（再びＳＡ５）。
【００５２】
このように制御内容を受け付けた仮想コントローラ７３は、当該制御内容に基づいて、自己の状態を変化させる（ＳＡ６）。例えば、仮想コントローラ７３には、イベントとして、制御内容が「仮想機器７１をＯＮに切り替えること」であれば、自己の一部として表示されている電源表示灯を点灯させることや、制御内容が「仮想機器７１の温度を２５℃に設定すること」であれば、自己の一部として表示されている温度表示部における表示温度を「２５℃」とすることが記述されており、当該イベントを実行する。そして、このように仮想コントローラ７３が自己の状態を変化させると、仮想コントローラ７３の制御結果が利用者端末４０の表示装置４３に反映して表示されるので（ＳＡ７）、利用者は、仮想コントローラ７３が操作されたことを容易に把握することができる。
【００５３】
また、仮想コントローラ７３は、当該制御内容に基づいて、仮想機器７１を制御するためのチャットによるメッセージを出力することで、仮想機器７１を制御する（再びＳＡ６）。例えば、仮想コントローラ７３には、イベントとして、制御内容が「仮想機器７１をＯＮに切り替えること」であれば、「仮想機器７１をＯＮにする」というメッセージを出力し、あるいは、制御内容が「仮想機器７１の温度を２５℃に設定すること」であれば、「仮想機器７１の温度を２５℃に設定する」というメッセージを出力することが記述されており、当該メッセージを出力する。
【００５４】
このメッセージを受けた仮想機器７１は、当該メッセージに示された制御内容に基づいて、自己の状態を変化させる。例えば、仮想機器７１には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「温度」というテキスト文字を含むメッセージが出力された場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる温度（上記の例では「２５℃」）を自己の温度として設定することが記述されている。したがって、仮想機器７１は、このようなメッセージを介して、自己に対する制御内容を受け付ける。そして、制御内容に基づく状態変化として、例えば、制御内容が「仮想機器７１をＯＮに切り替えること」であれば、自己の一部として表示されている電源表示灯を点灯させる。そして、このように仮想機器７１が自己の状態を変化させると、仮想機器７１の制御結果が利用者端末４０の表示装置４３に反映して表示されるので（再びＳＡ７）、利用者は、仮想機器７１が操作されたことを容易に把握することができる。
【００５５】
あるいは、仮想コントローラ７３を介することなく仮想機器７１を直接制御してもよく、この場合、利用者は、利用者端末４０の入力装置４２を介して公知の方法でアバター７６を操作することで、アバター７６を用いて仮想機器７１の一部として表示されている操作部を直接操作し、あるいは、アバター７６を介したチャットによるメッセージの出力を仮想機器７１に向けて出力してもよい。この場合にも、仮想機器７１のイベントとして、このような直接制御を制御内容として受け付け、当該受け付けた制御内容に基づいて自己を制御する動作を記述しておくことで、仮想機器７１の制御を行うことが可能となる。
【００５６】
また、上述のようにアバター７６や仮想コントローラ７３からのチャットによるメッセージの出力が仮想機器７１に対して行われた場合、当該メッセージは、連携エージェント７５によっても受け付けられ、この連携エージェント７５によって他の仮想機器７２が連携制御される（ＳＡ８）。例えば、連携エージェント７５には、イベントとして、自己の所定範囲（例えば５ｍ以内）で「温度」というテキスト文字を含むメッセージが出力された場合には、当該メッセージが、仮想機器７１に対する制御であること、及び当該メッセージに含まれる温度（上記の例では「２５℃」）に仮想機器７１の温度を設定することを認識することが記述されている。さらに、連携エージェント７５には、イベントとして、仮想機器７１に対する制御があった場合には、この制御内容に基づいて、仮想機器７２を制御するためのメッセージ出力を行うことが記述されている。このような連携制御の具体的内容は任意であるが、例えば、仮想機器７１に設定された温度に応じて異なる照度を仮想機器７２に設定することとし、このために連携エージェント７５は、仮想機器７１に設定された温度に応じた照度を所定ロジックで算定し、当該算定した照度に基づいて、「仮想機器７２の照度を７００ｌｘに設定する」というメッセージを出力する。
【００５７】
このメッセージを受けた仮想機器７２は、当該メッセージに示された制御内容に基づいて、自己の状態を変化させる。例えば、仮想機器７２には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「照度」というテキスト文字を含むメッセージが出力された場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる照度（上記の例では「７００ｌｘ」）に自己の温度を設定することが記述されている。したがって、仮想機器７２は、このようなメッセージを介して、自己に対する制御内容を受け付ける。そして、制御内容に基づく状態変化として、例えば、制御内容が「仮想機器７２をＯＮに切り替えること」であれば、自己の一部として表示されている電源表示灯を点灯させる。そして、このように仮想機器７２が自己の状態を変化させると、仮想機器７２の制御結果が利用者端末４０の表示装置４３に反映して表示されるので（ＳＡ９）、利用者は、仮想機器７２が操作されたことを容易に把握することができる。
【００５８】
その後、このように制御された各仮想機器７１、７２は、ＨＴＴＰサーバ１５を介したＨＴＴＰ通信により、現実空間制御システム２０に制御データを送信する（ＳＡ１０）。すなわち、仮想機器７１、７２には、イベントとして、自己に予め設定された仮想機器ＩＤと自己に入力された制御内容を特定する制御情報とを含んだ制御データを生成し、この制御データを、現実空間制御システム２０に割り当てられた所定のアドレス宛てにＨＴＴＰ送信することが記述されている。
【００５９】
このように送信された制御データは、ネットワーク３０を介して現実空間制御システム２０のＨＴＴＰサーバ２２にて受信され、ＨＴＴＰサーバ２２からＷｅｂサーバ２３に送信される。このＷｅｂサーバ２３は、制御データに基づいて現実機器６１、６２を制御する（ＳＡ１１）。すなわち、Ｗｅｂサーバ２３は、制御データに含まれる仮想機器ＩＤに基づいて現実空間ＤＢ２６を参照することで、仮想機器ＩＤに関連付けられている現実機器ＩＤ及びドライバＩＤを取得し、当該取得したドライバＩＤによって特定されるドライバ２４、２５に対して、当該取得した現実機器ＩＤとＨＴＴＰサーバ２２から送信された制御データに含まれる制御内容を含んだ制御データを送信する。
【００６０】
この制御データの送信を受けたドライバ２４、２５は、当該制御データを、自己に接続された現実機器６１、６２に実装されたプロトコルで、当該現実機器６１、６２に送信する。そして、現実機器６１、６２は、当該制御データに含まれる現実機器ＩＤが、自己に予め設定された現実機器ＩＤと一致する場合には、当該制御データに含まれる制御内容に基づく制御を実行する。例えば、現実機器６１、６２は、制御内容が「仮想機器７１、７２をＯＮに切り替えること」であれば、現実機器６１、６２をＯＮに切替え、現実機器６１は、制御内容が「仮想機器７１の温度を２５℃に設定すること」であれば、現実機器６１の温度を２５℃に設定し、あるいは現実機器６２は、制御内容が「仮想機器７２の照度を７００ｌｘに設定する」であれば、現実機器６２の照度を７００ｌｘに設定する（なお、制御内容における「仮想機器」の部分は、ＳＡ１０において各仮想機器７１、７２が制御データを送信する際に「現実機器」に置換してもよく、あるいは省略してもよい）。なお、ドライバ２４、２５と現実機器６１、６２が一対一で対応している場合には、現実機器ＩＤの送信や照合を省略してもよい。このような制御を行うことで、仮想空間を介した現実機器６１、６２の制御が実現する。
【００６１】
このように現実機器６１、６２の制御を行った結果として、現実空間の環境が変化した場合、その変化が現実センサ６３、６４によって検知されることになる。例えば、現実機器６１の温度を２５℃に設定した場合、当該現実機器６１の近傍位置に配置された現実センサ６３によって温度２５℃が検知され、あるいは、現実機器６２の照度を７００ｌｘに設定した場合、当該現実機器６２の近傍位置に配置された現実センサ６４によって照度７００ｌｘが検知される。これら現実センサ６３、６４の検知出力は、現実センサ６３、６４に予め付与された現実センサＩＤと共に、現実センサ６３、６４から現実空間制御システム２０に入力される。
【００６２】
現実空間制御システム２０のＷｅｂサーバ２３は、現実センサ６３、６４から検知出力と共に入力された当該現実センサ６３、６４の現実センサＩＤに基づいて現実空間ＤＢ２６を参照することで、現実センサＩＤに関連付けられている仮想コントローラＩＤを取得し、当該取得した仮想コントローラＩＤと現実センサ６３、６４の検知出力を含んだ制御データを生成し、当該生成した制御データをＸＭＬ−ＲＰＣサーバ２１に送信する。このＸＭＬ−ＲＰＣサーバ２１は、この制御データを、ＸＭＬ−ＲＰＣ通信により仮想空間制御システム１０に送信する（ＳＡ１２）。
【００６３】
このように送信された制御データは、ネットワーク３０を介して仮想空間制御システム１０のＸＭＬ−ＲＰＣサーバ１４にて受信される。ＸＭＬ−ＲＰＣサーバ１４は、制御データに含まれた仮想コントローラＩＤ及び検知出力を含んだ制御データを生成し、この制御データを、ＸＭＬ−ＲＰＣ通信によって仮想コントローラ７３に出力する。この仮想コントローラ７３は、当該制御データに含まれる仮想コントローラＩＤが、自己に予め設定された仮想コントローラＩＤと一致する場合には、当該制御データに含まれる検知出力に基づく制御を実行する。例えば、仮想コントローラ７３は、イベントとして、検知出力によって示される数値を、自己の一部として表示されている温度表示部における表示温度とし、あるいは、仮想コントローラ７４は、イベントとして、検知出力によって示される数値を、自己の一部として表示されている照度表示部における表示照度とする。そして、このように仮想コントローラ７３、７４が自己の状態を変化させると、仮想コントローラ７３、７４の状態変化が利用者端末４０の表示装置４３に反映して表示されるので（ＳＡ１４）、利用者は、現実空間の現実センサ６３、６４の検知結果を仮想空間の仮想コントローラ７３、７４の検知結果として把握することができる。これにて本処理が終了する。
【００６４】
〔本実施の形態１の効果〕
このように、本実施の形態１によれば、仮想機器７１、７２に対する制御を行うことで現実機器６１、６２を制御することが可能となるので、各現実機器６１、６２の制御を現実空間ではなく仮想空間においてソフトウエア主体の制御システムで実行可能とすることで、現実空間におけるハードウェアへの依存度を低減し、簡易な構成でより高度な機器制御機能を実現することができる。
このことにより、現実空間に配置するハードウェアを極力簡易化しつつ、現実機器６１、６２に対する高度で複雑な制御を行うことが可能となる。
また、ソフトウエア主体の制御システムは機能の変更や組替えが簡単であるため、現実機器６１、６２の追加や変更にも容易に対応することが可能となる。
【００６５】
また、仮想機器７１、７２に対する仮想的な発話によって、仮想機器７１、７２に対する制御等を行うと共に制御データの出力を行うので、仮想機器７１、７２に対する制御を一層容易に行うことができ、ひいては現実機器６１、６２に対する制御を一層容易に行うことができる。
【００６６】
また、仮想機器７１、７２に対する制御が行われた場合に他の仮想機器７１、７２を連携制御するので、従来は連携制御を行うことで一層複雑となっていたハードウェアへの依存度を低減し、簡易な構成でより高度な機器連携制御機能を実現することができる。
特に、ソフトウエア主体の制御システムによって現実機器６１、６２の連携制御を行うことができるので、現実機器６１、６２におけるハードウェア的なインターフェースや機構の相違を吸収することができ、従来のハードウェア主体の制御システムでは困難であった様々な機器の連携制御を比較的容易に実現することが可能となる。
【００６７】
〔実施の形態２〕
次に、実施の形態２について説明する。この形態は、仮想空間制御システム１０と現実空間制御システムの通信を、ＳＬＭＳで行う形態である。なお、実施の形態２の構成は、特記する場合を除いて実施の形態１の構成と略同一であり、実施の形態１と略同一の構成についてはこの実施の形態１で用いたものと同一の符号及び／又は名称を必要に応じて付して、その説明を省略する。
【００６８】
〔構成〕
実施の形態２に係る仮想空間利用型機器制御システム（以下「本システム」）の構成について説明する。図３は、本システムの電気的構成を機能概念的に示したブロック図である。この図３に示すように、本システム１は、図１とほぼ同様に構成されているが、現実空間制御システム２０においては、ＸＭＬ−ＲＰＣサーバ２１及びＷｅｂサーバ２３に代えて、空間連動サーバ２７とＷｅｂサーバ２８が配置されている。また、仮想空間には、ロボット７７が配置されている。
【００６９】
〔構成−現実空間制御システム〕
空間連動サーバ２７は、利用者端末４０のＶｉｅｗｅｒ４１と同様に、仮想空間制御システム１０との間においてＳＬＭＳによる通信を行うサーバである。Ｗｅｂサーバ２８は、現実空間ＤＢ２６に対する対応情報の登録を行うサーバである。
【００７０】
〔構成−ロボット〕
ロボット（又はボット（ＢＯＴ））７７は、仮想空間制御システム１０にて生成された仮想的なエージェントであり、仮想機器７１、７２又は仮想コントローラ７３と空間連動サーバ２７との間の通信を中継する。このロボット７７は、上述したアバタ−６６と同様に構成することができ、利用者に認識可能に生成することもできるが、必ずしも認識可能とする必要はなく、例えば、不可視のアバタ−として構成することができ、あるいは、単なるプログラムとして生成される。ただし、このロボット７７は、人によって操作されるものではなく、プログラムによって操作されるものである点において、アバター７６と異なる。
【００７１】
〔処理〕
次に、このように構成された本システムにおいて行われる仮想空間利用型機器制御処理（以下「本処理」）について説明する。図４は、本処理のフローチャートである。ただし、特記する処理を除く、ＳＢ１〜ＳＢ５は図２のＳＡ１〜ＳＡ５とそれぞれ同じであり、ＳＢ８〜ＳＢ１６は図２のＳＡ６〜ＳＡ１４にそれぞれ同じであるため、その説明を省略する。
【００７２】
利用者が、利用者端末４０のＶｉｅｗｅｒ４１を入力装置４２を介して、仮想機器７１、７２を直接又は仮想コントロールからのメッセージによって操作した場合、仮想機器７１、７２は、現実空間ＤＢ２６に対する自己の登録要求を行う（ＳＢ６）。すなわち、仮想機器７１、７２には、イベントとして、自己が最初に操作（呼び出し）された時に、自己に予め設定された仮想機器ＩＤを含んだ登録要求データを生成し、この登録要求データを、現実空間制御システム２０に割り当てられた所定のアドレス宛てにＨＴＴＰ送信することが記述されている。
【００７３】
このようにＨＴＴＰサーバ１５を介して送信された登録要求データは、ネットワーク３０を介して現実空間制御システム２０のＨＴＴＰサーバ２２にて受信され、ＨＴＴＰサーバ２２からＷｅｂサーバ２８に送信される。このＷｅｂサーバ２８は、登録要求データに基づいて仮想機器７１、７２を現実空間ＤＢ２６に登録する（ＳＢ７）。すなわち、Ｗｅｂサーバ２８は、登録要求データに含まれる仮想機器ＩＤと、ドライバＩＤに関連付けて現実空間ＤＢ２６に格納する。この際、仮想機器ＩＤに対応するドライバＩＤの取得方法は任意であるが、例えば、ＨＴＴＰサーバ２２が登録要求データを受信した後の任意のタイミングで、利用者等が利用者端末４０の入力装置４２等を介して入力してもよい。
【００７４】
その後、ＳＢ８〜ＳＢ１１を経て制御された各仮想機器７１、７２は、自己の制御内容をロボット７７を介して現実空間制御システム２０に出力する（ＳＢ１２）。すなわち、仮想機器７１、７２には、イベントとして、制御内容が「仮想機器７１、７２をＯＮに切り替えること」であれば、「仮想機器７１、７２をＯＮにする」というメッセージを出力し、あるいは、制御内容が「仮想機器７１の温度を２５℃に設定すること」であれば、「仮想機器７１の温度を２５℃に設定する」というメッセージを出力することが記述されており、当該メッセージを出力する。また、ロボット７７には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「温度」というテキスト文字を含むメッセージの出力が行われた場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる温度（上記の例では「２５℃」）を仮想機器７１の温度として設定することが記述されている。したがって、ロボット７７は、このようなメッセージを介して、仮想機器７１、７２に対する制御内容を受け付ける。さらに、ロボット７７には、イベントとして、仮想機器７１、７２に対する制御内容を受け付けた場合には、当該仮想機器７１、７２の仮想機器ＩＤと、当該受け付けた制御内容を特定する制御情報とを含んだ制御データを生成し、この制御データを、ＳＬＭＳにて空間連動サーバ２７に送信する。なお、仮想機器ＩＤの取得方法は任意であるが、例えば、仮想機器７１、７２は、メッセージの中に自己の仮想機器ＩＤを含めて出力し、このロボット７７は、このメッセージの中から仮想機器ＩＤを抽出することで取得する。次いで、ＳＢ１３〜ＳＢ１４が実行される（ただし、実施の形態１のＷｅｂサーバ２８の処理は本実施の形態２では空間連動サーバ２７により実行される）。
【００７５】
その後、現実センサ６３、６４から、現実センサ６３、６４の検知出力と現実センサ６３、６４に予め付与された現実センサＩＤとが現実空間制御システム２０に入力された場合、現実空間制御システム２０の空間連動サーバ２７は、現実センサ６３、６４から検知出力と共に入力された当該現実センサ６３、６４の現実センサＩＤに基づいて現実空間ＤＢ２６を参照することで、現実センサＩＤに関連付けられている仮想コントローラＩＤを取得し、当該取得した仮想コントローラＩＤと現実センサ６３、６４の検知出力を含んだ制御データを生成し、当該生成した制御データをＳＬＭＳにて仮想空間制御システム１０に送信する（ＳＢ１５）。
【００７６】
このように送信された制御データは、ネットワーク３０を介して仮想空間制御システム１０のロボット７７にて受信される。ロボット７７は、制御データに含まれた仮想コントローラＩＤ及び検知出力を含んだメッセージを出力し、このメッセージに基づいて仮想コントローラ７３、７４が自己の状態を変化させることで、仮想コントローラ７３、７４の状態変化が利用者端末４０の表示装置４３に反映して表示される（ＳＢ１６）。例えば、仮想コントローラ７３には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「温度」というテキスト文字を含むメッセージの出力が行われた場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる温度を、自己の一部として表示されている温度表示部における表示温度とすることが記述されている。あるいは、仮想コントローラ７４には、イベントとして、自己の所定範囲（例えば１ｍ以内）で「照度」というテキスト文字を含むメッセージの出力が行われた場合には、当該メッセージが自己に対する入力であることを認識し、当該メッセージに含まれる照度を、自己の一部として表示されている照度表示部における表示照度とすることが記述されている。そして、このように仮想コントローラ７３が自己の状態を変化させる。これにて本処理が終了する。
【００７７】
〔本実施の形態２の効果〕
このように、本実施の形態２によれば、実施の形態１と同様の効果を得ることができ、さらに、後述の実施例３で実証したように、実施の形態１の場合よりも現実機器６１、６２の応答速度を向上させることができる。
【００７８】
〔実施例１−実装実験１〕
次に、本願発明者による実装実験の結果について説明する。この実験では、実施の形態１で説明したシステム構成を採用し、現実機器として１台の照明器具のみを用意し、この照明器具を仮想空間を介して制御できることを実証した。照明器具は、無線ＬＡＮ（ＩＥＥＥ  ８０２．１１ｂ）内蔵のＬＥＤテーブルライトであり、ＴＣＰ／ＩＰプロトコルに対応し、ＰＯＲＴ番号８０に対してＧＥＴ或いはＰＯＳＴ命令でデータを送信すると、ＬＥＤライトが動作するものである。照明器具に対して送信するデータは、ＵＲＬ文字コードで、ＲＧＢ色空間と色の変わる速度を秒単位で指定する仕様とした。
【００７９】
仮想空間には、仮想機器として上記照明器具を仮想化して設置した。現実空間の照明器具と、仮想空間の照明器具は、連動して常に同じ色で光るように設定した。現実空間の照明器具には、操作ボタンなどのユーザインタフェースは設けていないが、仮想空間の照明器具を触ると色を選択するダイアログが表示され、操作できる仕組みを設けた。仮想空間の照明器具はチャットによるメッセージから操作することも可能とした。
【００８０】
このような環境において、仮想空間の照明器具をアバターで触り、表示されたダイアログを介して色を選択した結果、現実空間の照明器具の色が、ダイアログで選択された色に制御できた。また、仮想空間の照明器具の色をチャットによるメッセージで変更した結果、現実空間の照明器具の色が、メッセージで変更された色に制御できた。このことにより、現実空間の照明器具を仮想空間を介して制御できることが実証された。
【００８１】
〔実施例２−応答速度評価１〕
本制御を用いると、制御信号が物理的に長距離のネットワークを経由してから現実機器に到達することになるため、現実機器を操作する上での反応速度が懸念材料になる。これを検証するために、本願発明者は、照明器具の遠隔操作を想定した応答速度計測実験を行った。
【００８２】
実験に使用した機器の基本構成は以下の通りである。この実験では、実施の形態１で説明したシステム構成を採用した。
（１）照明器具（上記実施例１の照明器具に同じ）
ＣＰＵ：ＳＨ２／ＳＨ７０８４、８０ＭＨｚ
メモリ：３２Ｍバイト
ＯＳ：ＭＥＳ（Ｍｉｃｒｏ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍ）２．４
ネットワーク：ＵＳＢ無線ＬＡＮアダプタ
（２）ドライバ
ＣＰＵ：Ｐｅｎｔｉｕｍ（登録商標）３、８００ＭＨｚ
メモリ：２５６Ｍバイト
ＯＳ：Ｖｉｎｅ  Ｌｉｎｕｘ  ３．２
（３）現実空間ＤＢ
ＭｙＳＱＬ  ４．０
（４）Ｗｅｂサーバ
Ａｐａｃｈｅ２．０  ＋  Ｐｅｒｌ  ５．８
（５）仮想空間（ＳＬ内に設定した土地区画）
Ｐｒｉｖａｔｅ  ＳＩＭ（ＴＡＫＥＮＡＫＡ  ＲＤＩ）
設置場所：  米国
【００８３】
実験方法は、以下の通りである。すなわち、仮想空間に、仮想化した照明器具と、その色を変えるための仮想コントローラを配置した。仮想空間の仮想コントローラを操作すると、仮想化された照明器具に対して、色変更を制御内容とするチャットによるメッセージが送信される。メッセージを受け取った仮想化された照明器具は、ＨＴＴＰ通信で現実空間制御システム２０へ制御データを送る。ドライバは、現実空間の照明器具に対して制御信号を送信する。この実験では、仮想コントローラを操作してから現実空間に置かれた照明器具の色が変化するまでの時間を計測した。利用者が入力装置４２であるマウスをクリックして仮想コントローラを操作した時点を起点に、物理的には非常に長い通信経路を辿って、最終的に現実空間に置かれた照明器具の色が変更される。計測はストップウォッチを用いて計１０回実施し、その平均である平均応答時間を実験結果として算出した。計測の間隔は３０秒以上とした。実験を行った結果、平均応答時間は、平均２．６秒であった。
【００８４】
〔実施例３−応答速度評価２〕
さらに、本願発明者は、上記の応答速度評価１の応答時間の短縮を目的として、二種類の通信方式を実装して実験を行った。一つ目の通信方式（以下「通信方式Ａ」）は、実施の形態１で説明したシステム構成による通信方式であり、ＨＴＴＰ通信及びＸＭＬ−ＲＰＣ通信を組み合わせた方式である。２つ目の通信方式（以下「通信方式Ｂ」）は、実施の形態２で説明したシステム構成による通信方式であり、ＳＬＭＳによる方式である。通信方式Ａ、Ｂは、同じ機材と回線で実装した。
【００８５】
実験方法は、以下の通りである。すなわち、現実空間には、制御信号を発する現実センサを配置し、仮想空間には、現実機器を仮想化した仮想機器を配置し、現実センサから信号が発せられてから仮想機器に到達するまでの時間を計測した。するものである。通信方式Ａ、Ｂのそれぞれについて、５秒の間隔で１０回計測し、その平均である平均応答時間を実験結果として算出した。実験を行った結果、平均応答時間は、通信方式Ａの場合は９４５ｍｓ、通信方式Ｂの場合は３３０ｍｓであった。
【００８６】
通信方式Ａの場合の平均応答時間は、上記の応答速度評価１と同様の方式で得られた時間であるにも関わらず、応答速度評価１の結果に比べて平均応答時間が大幅に短縮されている。この要因として考えられるのは、Ｗｅｂ  Ｓｅｒｖｅｒが動作するＰＣを高速なもの（ＣＰＵ：Ｃｏｒｅ２Ｄｕｏ  ２ＧＨｚ）に変更したことと、ＳＬ上で動作するスクリプトの実行速度が８倍程に改善されたことが大きく影響したと推測される。
【００８７】
通信方式Ｂの場合の平均応答時間は、通信方式Ａの場合の平均応答時間と比較して３分の１程に短く、優位な通信方式であることが示された。そもそもＳＬＭＳはＣＨＡＴメッセージの通信用に開発されたため応答時間が短いことが知られており、今回の実験でもその特性が顕著に現われた結果と言える。応答時間に対する要求性能は制御対象機器によって異なるが、照明機器を想定した場合には経験値として０．５秒以下が目安になると考えられるので、今回の実験でその目標値を達成したことにより、本制御の実用性が実証された。
【００８８】
〔変形例〕
以上、実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
【００８９】
（解決しようとする課題や発明の効果について）
まず、発明が解決しようとする課題や発明の効果は、前記した内容に限定されるものではなく、本発明によって、前記に記載されていない課題を解決したり、前記に記載されていない効果を奏することもでき、また、記載されている課題の一部のみを解決したり、記載されている効果の一部のみを奏することがある。
【００９０】
（構成及び制御について）
また、本実施の形態で自動的に行われるものとして説明した制御の全部または任意の一部を手動で行っても良く、逆に、手動で行われるものとして説明した制御の全部または任意の一部を公知技術または上述した思想に基づいて自動化しても良い。また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成できる。例えば、現実空間制御システム２０を構成する各サーバは、実際には一つのサーバ装置内にプログラムによって生成することが可能である。あるいは、図１におけるＷｅｂサーバ２３の機能をＨＴＴＰサーバ２２に包含することで当該Ｗｅｂサーバ２３を省略したり、図３におけるＷｅｂサーバ２８の機能をＨＴＴＰサーバ２２に包含することで当該Ｗｅｂサーバ２８を省略してもよい。この他、前記文書中や図面中で示した処理手順、または、制御手順については、特記する場合を除いて任意に変更できる。
【００９１】
（現実センサの利用方法について）
現実センサによる検出結果を利用する方法としては、上記説明した方法以外にも各種の方法を採用することができる。例えば、仮想空間には、仮想オブジェクトとしての仮想センサを配置し、利用者が仮想空間の仮想機器を操作して温度や照度を変更した場合、当該変更後の温度や照度を仮想センサで検出し、当該検出結果を上記と同様のメッセージによって現実空間制御システムに送信し、現実センサにて検出される現実空間の温度や照度が、仮想センサで検出されたものと同じ温度や照度になるように、Ｗｅｂサーバ及びドライバを介して現実機器を制御してもよい。
【００９２】
（現実機器の制御に起因する仮想機器の制御について）
上記説明では、仮想機器を制御することで現実機器を制御しているが、現実機器を制御することで仮想機器を制御してもよい。このような制御は、上記説明した制御とほぼ逆の手順にて行うことができ、例えば、利用者が現実機器を制御した場合には、この現実機器の現実機器ＩＤと制御内容を現実機器から現実空間制御システムに送信し、現実機器ＩＤに対応する仮想機器ＩＤと制御内容を現実空間制御システムから仮想空間制御システムに送信し、仮想空間制御システムでは、仮想機器ＩＤにて特定される仮想機器に対して、制御内容を含んだメッセージを出力することで仮想機器を制御する。
【００９３】
（仮想機器等の登録処理について）
実施の形態２で説明した仮想機器等の登録処理（具体的には、図４のＳＢ６、ＳＢ７に関する処理）は、仮想空間利用型機器制御処理の起動前に事前に実行するようにしてもよい。その他、仮想空間利用型機器制御処理における各処理は、その処理機能が維持できる限りにおいて、上記説明とは異なる順序で実行することができる。
【符号の説明】
【００９４】
１    仮想空間利用型機器制御システム（本システム）
１０  仮想空間制御システム
１１  スペースサーバ
１２  シミュレータ
１３  アセットサーバ
１４  ＸＭＬ−ＲＰＣサーバ
１５  ＨＴＴＰサーバ
１６  仮想空間データベース
２０  現実空間制御システム
２１  ＸＭＬ−ＲＰＣサーバ
２２  ＨＴＴＰサーバ
２３、２８  Ｗｅｂサーバ
２４、２５  ドライバ
２６  現実空間ＤＢ
２７  空間連動サーバ
３０、５０  ネットワーク
４０  利用者端末
４１  Ｖｉｅｗｅｒ
４２  入力装置
４３  表示装置
６０  現実建物
６１、６２  現実機器
６３、６４  現実センサ
７０  仮想建物
７１、７２  仮想機器
７３、７４  仮想コントローラ
７５  連携エージェント
７６  アバター
【図１】
2011039731.tif 000003
【図２】
2011039731.tif 000004
【図３】
2011039731.tif 000005
【図４】
2011039731.tif 000006