<第1実施形態>
以下、本発明の第1実施形態を図面に基づいて説明する。図1は、本実施形態に係る仮想現実空間表示システム1に関連する装置、部材の物理的構成例および配置例を単純化して模式的に示す図である。仮想現実空間表示システム1は、ユーザーに火の取り扱い方を教育することを目的の1つとするシステムであり、安全な環境でユーザーが火の取扱いに関する疑似的な体験をすることを可能とし、その体験を通して現実感および具体性をもって火の取扱いを学習できることを可能とする。特に、本実施形態に係る仮想現実空間表示システム1は、10歳代前後の教育を受けている世代の子どもに、ガスコンロを用いた火の取り扱い方を教育することを目的の1つとしている。
図1に示すように、本実施形態では、ユーザーの学習が行われる空間である対象空間2(特許請求の範囲の「現実空間」に相当)が用意される。対象空間2は、学校や消防署、ショッピングセンター等の施設の一室の内部空間や、イベント会場等の会場に設けられたブースの内部空間等であり、必ずしも閉じられたものである必要はない。対象空間2は、一例として家庭の台所である。
対象空間2には、疑似ガスコンロ3(特許請求の範囲の「熱源疑似物体」に相当)および疑似レンジフード4が設置されている。疑似ガスコンロ3は、ガスを燃料として火を実際に出力することができるガスコンロ(以下、疑似ガスコンロ3と区別するために「本物ガスコンロ」という)に準じて製作された疑似的なガスコンロであり、実際には火を出力する機能を有していない。つまり、疑似ガスコンロ3に対してどのような操作を行ったとしても、実際には疑似ガスコンロ3から火は発生しない。なお、ガス管やガスボンベと接続されていない本物ガスコンロ、あるいは火を発生させる機能をなくしたものを疑似ガスコンロ3としてもよい。図1に示すように、疑似ガスコンロ3は、キッチンカウンターを模した設置台5に、本物ガスコンロがキッチンカウンターに設置される態様と同様の態様で収納されている。
本実施形態では、疑似ガスコンロ3は、ビルトインタイプの特定の機種の本物ガスコンロを模して製作されており、その本物ガスコンロの本体の外形寸法と略同一の外形寸法の本体6を有する。この本体6には、本物ガスコンロに設けられた部品に対応する疑似的な部品が、本物ガスコンロにおける位置と略同一の位置に設けられている。より詳細には、本体6の上面には、2つの疑似的なバーナーである疑似バーナー7が離間して設けられている。各疑似バーナー7に対応する位置には、疑似バーナー7に付随する部品(疑似的なバーナーリングや五徳等)が設けられている。また、本体6の正面には、中央部に疑似的なグリルである疑似グリル8が設けられていると共に、疑似グリル8の左側に1個、右側に2個、疑似的な点火スイッチである疑似点火スイッチ9が設けられている。これら疑似点火スイッチ9のそれぞれの上方には、疑似的な火力調整レバーである疑似火力調整レバー10のそれぞれが設けられている。疑似グリル8の左側にある疑似点火スイッチ9L、および、この疑似点火スイッチ9Lの上方に設けられた疑似火力調整レバー10Lは、本体6の上面の左側に設けられた疑似バーナー7Lに対応している。また、一番右側に配置された疑似点火スイッチ9および疑似火力調整レバー10は、右側の疑似バーナー7に対応しており、その左隣に配置された疑似点火スイッチ9および疑似火力調整レバー10は、疑似グリル8に対応している。なお、本実施形態では、疑似ガスコンロ3をビルトインタイプとしているが、他のタイプとしてもよい。
疑似点火スイッチ9は、本物ガスコンロに係る点火スイッチと略同一の操作感で操作可能な構成となっている。すなわち、スイッチを指で押下したときにスイッチの操作面に加わる力の態様とスイッチの挙動との関係や、スイッチの押し始め、押している途中、押し終わりにユーザーの指に生じる感覚等は、疑似点火スイッチ9と、本物ガスコンロに係る点火スイッチとで略同一である。従って、ユーザーは、あたかも本物ガスコンロに係る点火スイッチを操作しているかのように、疑似点火スイッチ9を操作することができる。疑似火力調整レバー10も、本物ガスコンロに係る火力調整レバーと略同一の操作感で操作可能な構成となっている。
疑似レンジフード4は、本物のレンジフードを模して製作された疑似的なレンジフードである。疑似レンジフード4は、換気扇を回す機能は実際には有していない。疑似レンジフード4の疑似的なカバーの所定の位置には、疑似風量調整ボタン群12が設けられている。疑似風量調整ボタン群12は、換気扇の停止を疑似的に指示するボタンのほか、小、中、大の風量で換気扇を回すことを疑似的に指示するボタンを含んでおり、疑似風量調整ボタン群12の何れかのボタンを操作することによって、換気扇の停止、および、特定の風量での換気扇の運転を疑似的に指示することができる。疑似レンジフード4は、疑似ガスコンロ3との関係で、本物のレンジフードが通常設けられる位置に設置されている。
図1では描画されていないが、疑似ガスコンロ3の内部には、プロセッサーが実装された制御基板を有するガスコンロ制御ユニット15(図2)が設けられており、疑似レンジフード4の内部には、プロセッサーが実装された制御基板を有するレンジフード制御ユニット16(図2)が設けられている。また、設置台5の横には情報処理装置17が設けられている。図1では、情報処理装置17は、説明の便宜上、設置台5の横に設置されているが、情報処理装置17が設置される場所はどこでもよく、対象空間2の外に設置されていてもよい。また、疑似ガスコンロ3の所定の位置には複数の受光センサー18(図2)が設けられた第1トラッカー19が設けられ、疑似レンジフード4の所定の位置には複数の受光センサー20(図2)が設けられた第2トラッカー21が設けられている。また、対象空間2の所定の位置には、2つのトラッキングセンサー23が設けられている。なお、トラッキングセンサー23の個数は2個に限定されるものではなく、トラッキングセンサー23の仕様や、求められる精度に応じて、適切な個数のトラッキングセンサー23が配置される。
また、図1に示すように、ユーザーの頭部にはヘッドマウントディスプレイ25(以下、「HMD25」という)が装着される。HMD25は、ユーザーの頭部に装着して使用される非透過型の視覚装置であり、ユーザーの両目を覆うアイマスク26とヘッドフォン型のスピーカー27とを備えている。アイマスク26の内部において右目、左目に対応する位置にはそれぞれ、画像を表示する小型の右目用ディスプレイ28および左目用ディスプレイ29(いずれも図2)が設けられており、HMD25を装着するユーザーは、スピーカー27が出力する音声を聴取しつつ、外界の光景を視界に含まない状態で各ディスプレイに表示された画像に基づく仮想現実空間(詳細は後述)を視認することができる。HMD25の所定の位置には、複数の受光センサー30(図2)が設けられている。
また、図1に示すように、ユーザーの手(本実施形態では利き手のみとする)には、コントローラー32が装着されている。コントローラー32は、手袋や、腕時計のようなリング、手に引き回される専用の部材等の介在部材を介してユーザーの手に装着される。コントローラー32の所定の位置には、複数の受光センサー33(図2)が設けられている。
また、対象空間2には、疑似フライパン35が事前に用意される。疑似フライパン35は、本物のフライパンを模して製作された疑似的なフライパンである。ただし、疑似フライパン35は、本物のフライパンと同様の柄が設けられた物体であればよく、柄のみの物体であってもよい。また、本物のフライパンを疑似フライパン35としてもよい。疑似フライパン35の所定の位置には複数の受光センサー36(図2)が設けられた第3トラッカー37が設けられている。疑似フライパン35は、特許請求の範囲の「被加熱対応物体」に相当する。
また、対象空間2には、疑似キッチンペーパー箱38が事前に用意される。疑似キッチンペーパー箱38は、本物のキッチンペーパー箱を模して製作された疑似的なキッチンペーパー箱(可燃物)である。ただし、本物のキッチンペーパー箱を疑似キッチンペーパー箱38としてもよい。疑似キッチンペーパー箱38の所定の位置には複数の受光センサー39(図2)が設けられた第4トラッカー40が設けられている。
仮想現実空間表示システム1に関連する装置、部材が以上のように配置された状態で、HMD25を装着するユーザーに対して、仮想現実空間表示システム1を用いて火の取扱いに関する教育が行われる。本実施形態では、火の取扱いに関する教育において、3個の体験メニューが計画された体験プログラム(詳細は後述)が用意されており、ユーザーは、体験プログラムで計画された3個の体験メニューを順次実行することにより、ガスコンロの使用方法(ガスコンロを使用した火の取り扱い方)が体系的に効率よく学べるようになっている。
図2は、本実施形態に係る仮想現実空間表示システム1を構成する各装置の機能構成例を示すブロック図である。図2に示すように、仮想現実空間表示システム1は、情報処理装置17、HMD25、ガスコンロ制御ユニット15、レンジフード制御ユニット16、第1トラッカー19、第2トラッカー21、第3トラッカー37、第4トラッカー40およびコントローラー32を含んで構成されている。
図2に示すように、情報処理装置17は、機能構成として、通信部45、HMD姿勢検出部46、表示対象物体姿勢検出部47、表示制御部48、アクション検出部49、影響算出部50、被加熱物***置関係検出部51、音声出力制御部52、可燃物位置関係検出部53および可燃物燃焼判定部54を備えている。また、HMD25は、機能構成として、通信部59、表示実行部60、音声出力実行部61およびHMD姿勢情報送信部62を備えている。また、ガスコンロ制御ユニット15は、機能構成として、通信部63およびガスコンロ操作検出部64を備えている。また、レンジフード制御ユニット16は、機能構成として、通信部65およびレンジフード操作検出部66を備えている。
また、第1トラッカー19は、機能構成として、通信部70および第1トラッカー姿勢情報送信部71を備えている。第2トラッカー21は、機能構成として、通信部72および第2トラッカー姿勢情報送信部73を備えている。第3トラッカー37は、機能構成として、通信部74および第3トラッカー姿勢情報送信部75を備えている。第4トラッカー40は、機能構成として、通信部76および第4トラッカー姿勢情報送信部77を備えている。コントローラー32は、機能構成として、通信部78およびコントローラー姿勢情報送信部79を備えている。
上記各機能ブロック45~54、59~66、70~77は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック45~54、59~66、70~77は、実際にはコンピュータのCPU、RAM、ROM等を備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。以上のことは、第2実施形態の各機能ブロックについても同様である。
図2に示すように、情報処理装置17は、記憶手段として、記憶部80を備えている。記憶部80には、仮想現実空間表示用データ81および表示対象物体表示用データ82が記憶されている。これらデータの内容については後述する。なお、これらデータの一部または全部を、情報処理装置17と通信可能な装置(例えば、外部記憶装置)が記憶する構成としてもよい。
図2に示すように、情報処理装置17は、仮想現実空間表示システム1の他の装置のそれぞれと通信可能に接続されている。仮想現実空間表示システム1を構成する各装置の通信部は、接続された外部装置と所定の通信プロトコルに従って通信する。本実施形態では、情報処理装置17と、仮想現実空間表示システム1の他の装置のそれぞれとは無線通信するものとする。ただし、接続された2つの装置間の接続形態は有線接続であっても無線接続であってもよく、また、装置間通信で用いられる通信プロトコルは何であってもよい。有線接続の場合、通信プロトコルとして例えばUSBを用いることができ、無線接続の場合、通信プロトコルとして例えば、Bluetooth(登録商標)を用いることができる。
以下、仮想現実空間表示システム1の基本的な機能である仮想現実空間表示機能を説明し、その後、体験プログラムで計画されている各体験メニューがユーザーにより行われるときの各装置の動作をユーザーの行動と併せて説明する。
<仮想現実空間表示機能>
まず、仮想現実空間表示機能、および、仮想現実空間表示機能を実行するときの各装置の動作について説明する。仮想現実空間表示機能は、トラッキングの対象(具体的には、疑似ガスコンロ3、疑似レンジフード4、ユーザーの手、疑似フライパン35および疑似キッチンペーパー箱38)に対応する仮想オブジェクトが配置された仮想現実空間をHMD25に表示し、ユーザーに視認させる機能である。HMD25が装着された後、所定のモードがオンとなると仮想現実空間表示機能が実行される。ユーザーによって体験メニューが実行されている間は、基本的には仮想現実空間表示機能が実行され、ユーザーは、あたかも仮想現実空間へ入り込んだような没入感を得つつ体験メニューを実行することができる。
仮想現実空間表示機能の実行中、2つのトラッキングセンサー23はそれぞれ、同期用のフラッシュと赤外線レーザーとを規則に従って所定の態様で照射する。一例として、2つのトラッキングセンサー23は、同期用のフラッシュの照射、赤外線レーザーの第1の方向への走査、同期用フラッシュの照射、赤外線レーザーの第2方向への走査を繰り返し実行する。
HMD25のHMD姿勢情報送信部62は、複数の受光センサー30によるフラッシュおよび赤外線レーザーの受光結果に基づいて、所定周期でHMD姿勢情報を生成する。HMD姿勢情報は、情報処理装置17のHMD姿勢検出部46が対象空間2におけるHMD25の位置および姿勢を算出する際に使用する情報を含んでいる。例えば、HMD姿勢情報は、受光センサー30のそれぞれについて、同期用のフラッシュの受信タイミングと赤外線レーザーの受信タイミングとの時間差を算出するために必要な情報を含んでいる。HMD姿勢情報送信部62は、所定周期で生成したHMD姿勢情報を情報処理装置17のHMD姿勢検出部46に送信する。
また、第1トラッカー19の第1トラッカー姿勢情報送信部71は、複数の受光センサー18の受光結果に基づいて、第1トラッカー19の対象空間2における位置および姿勢の算出に使用する第1トラッカー姿勢情報を所定周期で生成して情報処理装置17の表示対象物体姿勢検出部47に送信する。同様に、第2トラッカー姿勢情報送信部73は第2トラッカー姿勢情報を、第3トラッカー姿勢情報送信部75は第3トラッカー姿勢情報を、第4トラッカー姿勢情報送信部77は第4トラッカー姿勢情報を、コントローラー姿勢情報送信部79はコントローラー姿勢情報をそれぞれ、所定周期で情報処理装置17の表示対象物体姿勢検出部47に送信する。
情報処理装置17のHMD姿勢検出部46は、HMD25のHMD姿勢情報送信部62から所定周期で受信するHMD姿勢情報に基づいて、対象空間2におけるHMD25の位置および姿勢を検出する。以下、HMD姿勢検出部46の処理について詳述する。
本実施形態では、対象空間2における3次元的な任意の位置を座標によって特定するための3次元座標系が予め定義されている。3次元座標系が展開される範囲は、対象空間2に属する範囲と同一である必要はないが、本実施形態では同一であるものとする。そして、対象空間2におけるHMD25の位置とは、3次元座標系においてHMD25が位置する座標を意味する。本実施形態では、HMD25の位置は、HMD25の3次元的な中心部の「点」の3次元座標系における座標で定義されるものとする。このことは、他のトラッキング対象のデバイスについても同様である。HMD25の姿勢とは、3次元座標系において、HMD25の位置を示す点を始点としてHMD25が向いている方向を意味する。HMD25の物理的構成との関係で、何をもってHMD25が向いている方向とするかは事前に定められている。一例として、アイマスク26の面の中心部から、この面に対して略垂直に外側に向かう方向が、HMD25が向いている方向とされる。
HMD姿勢検出部46は、所定周期で受信するHMD姿勢情報を継続的に分析する。HMD姿勢検出部46は、受光センサー30のそれぞれについて、同期用のフラッシュや赤外線レーザーを受信するタイミングや、フラッシュと赤外線レーザーとの受信タイミングの時間差を認識し、同期用のフラッシュと赤外線レーザーとが照射される規則、態様を反映して、既存の技術により、HMD25の位置および姿勢(3次元座標系における座標および方向)を算出する。HMD姿勢検出部46は、所定周期でHMD25の位置および姿勢を算出し、算出したHMD25の位置および姿勢を示す情報を所定周期で表示制御部48に出力する。
なお、本実施形態で例示したHMD25の位置および姿勢を算出する方法はあくまで一例であり、どのような方法でHMD25の位置および姿勢が検出されてもよい。例えば、HMD25に角速度センサーや、角センサー、磁気センサー等の各種センサーを設け、HMD25の位置および姿勢の検出に各種センサーの検出結果を反映する構成としてもよい。また、例えば、HMD25に受光センサーに代えて赤外線LEDを設け、トラッキングセンサー23を赤外線カメラによって構成し、赤外線カメラであるトラッキングセンサー23の撮影結果に基づいてHMD25の位置および姿勢を検出する構成でもよい。
情報処理装置17の表示対象物体姿勢検出部47は、HMD姿勢検出部46と同様の方法で、第1トラッカー姿勢情報送信部71から受信する第1トラッカー姿勢情報に基づいて第1トラッカー19の位置および姿勢を算出する。同様に、表示対象物姿勢検出部47は、受信する第2トラッカー姿勢情報に基づいて第2トラッカー21の位置および姿勢を算出し、受信する第3トラッカー姿勢情報に基づいて第3トラッカー37の位置および姿勢を算出し、受信する第4トラッカー姿勢情報に基づいて第4トラッカー40の位置および姿勢を算出し、受信するコントローラー姿勢情報に基づいてコントローラー32の位置および姿勢を算出する。表示対象物姿勢検出部47は、算出した各デバイスの位置および姿勢(3次元座標系における座標および方向)を示す情報を、所定周期で表示制御部48に出力する。なお、表示対象物体姿勢検出部47は、疑似ガスコンロ3に設けられた第1トラッカー19の位置および姿勢を検出する点で、特許請求の範囲の「熱源疑似物体姿勢検出部」に相当し、疑似レンジフード4に設けられた第2トラッカー21の位置および姿勢を検出する点で、特許請求の範囲の「疑似レンジフード姿勢検出部」に相当し、疑似フライパン35に設けられた第3トラッカー37の位置および姿勢を検出する点で、特許請求の範囲の「被加熱対応物体姿勢検出部」に相当し、疑似キッチンペーパー箱38に設けられた第4トラッカー40の位置及び姿勢を検出する点で、特許請求の範囲の「可燃物対応物体姿勢検出部」に相当する。
情報処理装置17の表示制御部48は、HMD姿勢検出部46および表示対象物体姿勢検出部47から所定周期で入力する情報に基づいて、HMD25に所定の態様で仮想現実空間を表示する。より正確には、表示制御部48は、入力する情報に基づいて、HMD25の右目用ディスプレイ28に画像を表示させる表示データ、および、左目用ディスプレイ29に画像を表示させる表示データを所定周期で生成し、HMD25に送信し、HMD25に一対の表示データに記録された画像を表示させる。以下、あるタイミングで表示制御部48が実行する処理について詳述する。
ここで、本実施形態では、HMD25により表示する仮想現実空間として、特定の仮想現実空間(以下、「第1仮想現実空間」という)が用意されている。第1仮想現実空間は、少なくとも、対象空間2における設置台5の位置に対応する位置に仮想的なキッチンカウンターである仮想キッチンカウンター90(図3(A))が設けられた空間とされる。ただし、例えば、ガスコンロの使用方法を学ぶという観点で、ユーザーの没入感が促されるように、第1仮想現実空間を仮想的な食器棚や、仮想的な冷蔵庫が設けられた仮想的なキッチンを表現した空間としてもよい。
表示制御部48は、トラッキング対象のデバイスの位置および姿勢を示す情報(上述の通り、全てのデバイスについて位置および姿勢は3次元座標系の点の座標およびその点を始点とする方向によって表されている)と、記憶部80に記憶された仮想現実空間表示用データ81および表示対象物体表示用データ82とに基づいて、一対の表示データを生成する。表示制御部48が生成する一対の表示データは、第1仮想現実空間において、HMD25の位置および姿勢により規定されるユーザーの「視界」に映る仮想的な光景をHMD25に表示するためのデータである。
対象空間2におけるユーザーの視界(HMD25の位置および姿勢により規定される視界と同等の範囲であるものとする)の中に疑似ガスコンロ3が存在する場合には、一対の表示データによって表示される仮想的な光景の中に、疑似ガスコンロ3の位置および姿勢を反映した状態で仮想ガスコンロ91(図3(A))が表示される。仮想ガスコンロ91とは、対象空間2において疑似ガスコンロ3が配置された位置に、疑似ガスコンロ3が配置された態様と同様の態様で、第1仮想現実空間に配置される仮想オブジェクトであり、本物ガスコンロを模した外観をしている。仮想ガスコンロ91は、特許請求の範囲の「熱源仮想オブジェクト」に相当する。疑似レンジフード4、疑似フライパン35および疑似キッチンペーパー箱38についても同様である。また、対象空間2におけるユーザーの視界の中にユーザーの手(コントローラー32が装着された方の手)が存在する場合には、一対の表示データによって表示される仮想的な光景の中に、手の位置および姿勢(厳密には、コントローラー32の位置および姿勢)を反映した状態で、ユーザーの手に対応する仮想オブジェクトである仮想手92(図3(B))が表示される。
本実施形態では、第1トラッカー19は、疑似ガスコンロ3の特定の位置に特定の姿勢で取り付けられている。つまり、疑似ガスコンロ3に対する第1トラッカー19の位置および姿勢は一定である。従って、第1トラッカー19の位置および姿勢によって、対象空間2における疑似ガスコンロ3の位置および姿勢を特定可能であり、これにより、第1仮想現実空間において仮想ガスコンロ91をどのような位置にどのような姿勢で配置すべきかを特定可能である。同様の理由で、他のトラッキング対象のデバイスに基づいて、対応する仮想オブジェクトのそれぞれの第1仮想現実空間における位置および姿勢を特定可能である。
表示制御部48は、記憶部80に記憶された仮想現実空間表示用データ81を利用して、HMD25の位置および姿勢によって規定される視界に映る第1仮想現実空間の光景を表示する一対の背景データを生成する。背景データは、仮想ガスコンロ91等の仮想オブジェクトが表示されていない背景を表示するデータである。仮想現実空間表示用データ82には、HMD25の位置および姿勢を示す情報に基づいて背景データを生成するための情報(例えば、3次元座標系と第1仮想現実空間との対応関係を定義する情報や、第1仮想現実空間を描画するための情報等)が不足なく含まれており、表示制御部48は、HMD25の位置および姿勢を示す情報と、仮想現実空間表示用データとを入力パラメーターとし、一対の背景データを出力するプログラムの機能を利用して、一対の背景データを生成する。
次いで、表示制御部48は、第1トラッカー19の位置および姿勢を示す情報に基づいて、HMD25の位置および姿勢によって規定される視界の中に疑似ガスコンロ3が存在するか否かを認識し、存在する場合には、表示対象物体表示用データ82を利用して、一対の背景データのそれぞれに、仮想ガスコンロ91の画像を表示するための情報を付加する。同様に、表示制御部48は、視界の中に疑似レンジフード4、ユーザーの手、疑似フライパン35または疑似キッチンペーパー箱38が存在する場合には、対応する仮想オブジェクトを適切な状態で表示するための情報を一対の背景データに付加する。以上により、背景データに対して、全ての仮想オブジェクトを表示するための情報が付加されることにより、一対の表示データの生成が完了する。表示制御部48は、生成した一対の表示データを、HMD25の表示実行部60に送信する。
なお、表示対象物体表示用データ8には、HMD25の位置および姿勢を示す情報と、各デバイスの位置および姿勢を示す情報とに基づいて背景データに、各デバイスに対応する仮想オブジェクトに関する情報を記録するための情報(例えば、第1トラッカー19と疑似ガスコンロ3との対応関係を定義する情報や、仮想ガスコンロを描画するための情報等)が不足なく含まれている。
以上が、あるタイミングで表示制御部48が実行する処理である。表示制御部48は、所定周期で一対の表示データを生成する処理を実行し、所定周期で生成した一対の表示データをHMD25の表示実行部60に送信する。
HMD25の表示実行部60は、所定周期で一対の表示データを受信する。表示実行部60は、一対の表示データを受信する度に、右目用の表示データに基づいて右目用ディスプレイ28に画像を表示し、左眼用の表示データに基づいて左目用ディスプレイ29に画像を表示する。この結果、HMD25には適切な位置に仮想オブジェクトが配置された第1仮想現実空間が、ユーザーの顔の位置および向き(=HMD25の位置および姿勢)をリアルタイムで反映した映像として表示される。
図3(A)は、図1の対象空間2においてユーザーの顔が疑似ガスコンロ3に向かう方向を向いている場合に、HMD25に表示され、ユーザーに視認される第1仮想現実空間を単純化して模式的に示す図である。この場合、図3(A)に示すように、ユーザーに視認される第1仮想現実空間には、対象空間2において視界に入る疑似ガスコンロ3と同様の位置に同様の姿勢で、仮想ガスコンロ91が表示される。仮想ガスコンロ91には、仮想的なバーナーである仮想バーナー92Lや、仮想的な点火スイッチである仮想点火スイッチ93L、仮想的な火力調整レバーである仮想火力調整レバー94Lが設けられている。
以下の説明では、表示制御部48が、一対の表示データを所定周期で継続的にHMD25に出力して、各種仮想オブジェクトが配置された第1仮想現実空間をユーザーの視点から見た光景を継続的にHMD25に表示させることを、単に「第1仮想現実空間を表示する」と表現したり、「仮想オブジェクト(例えば、仮想的な火)を表示する」と表現したりする。
<第1体験メニュー>
次に、第1体験メニューがユーザーにより行われるときの各装置の動作をユーザーの行動と併せて説明する。第1体験メニューは、仮想ガスコンロ91の仮想点火スイッチ93L(図3(A)参照)に対して点火を指示する操作を行って、仮想バーナー92L(図3(A)参照)に仮想的な火を点火し、その後、仮想点火スイッチ93Lに対して消火を指示する操作を行って、仮想バーナー92Lが出力する仮想的な火を消すことを内容とする体験メニューである。第1体験メニューによれば、点火/消火というガスコンロの基本的な操作を安全に学ぶことができる。
第1体験メニューにおいて、ユーザーは、HMD25に表示された第1仮想現実空間を視認しつつ、仮想ガスコンロ91の仮想点火スイッチ93Lを操作する動作を実行する。ユーザーが仮想点火スイッチ93Lを操作すべく手を伸ばすと、HMD25の位置および姿勢により規定される視界の中に手が入り込み、ユーザーがHMD25を介して視認する第1仮想現実空間に仮想手92が表示される。なお、仮想手92は、仮想点火スイッチ93Lに対する操作、その他の操作を容易にするという観点から、スイッチを操作する人差し指を伸ばした状態の画像とされている。
本実施形態では、第1仮想現実空間を視認することによって仮想点火スイッチ93Lが存在するとユーザーにより把握される位置に、疑似点火スイッチ9Lが実際に存在しているため、仮想手92の仮想的な指が仮想点火スイッチ93Lに触れたタイミング(多少ずれる場合もある)で、ユーザーの実際の人差し指(他の指でもよいが本例では人差し指であるものとする)が疑似点火スイッチ9Lの操作面に触れる。このとき、ユーザーは、あたかも仮想ガスコンロ91の仮想点火スイッチ93Lに触れたかのように感じる。その後、ユーザーは、点火を指示する操作として、人差し指で疑似点火スイッチ9Lを押し込む操作(仮想点火スイッチ93Lを押し込んでいるとユーザーに認識される操作)を実行する。
図4は、疑似点火スイッチ9Lの動きを説明するための図である。図4に示すように、疑似ガスコンロ3の疑似点火スイッチ9Lは、外力が加わっていない第1状態から、外力により最も移動した状態である第2状態までの範囲で移動する。第2状態は、本物ガスコンロにおいて、点火スイッチが最大まで押し込まれ、ガス弁が開状態となると共に、スパーカーから火花が出力されている状態であり、通常、この状態がある程度継続するとバーナーが点火する。そして、疑似ガスコンロ3の疑似点火スイッチ9Lには、疑似点火スイッチ9Lが第2状態(多少のマージンがあってもよい)であるか否かを検出する点火スイッチ状態検出センサー100(図2)が設けられている。
第1体験メニューに際し、ユーザーには、第1仮想現実空間に表示された仮想点火スイッチ93Lを奥まで押し込んだ後に、仮想ガスコンロ91の仮想バーナー92Lに仮想的な火が点くまでは押し込んだ状態を継続することが事前に教示される。これは、本物ガスコンロについて点火スイッチを操作して点火させる際に実際に行うべき操作に対応するものである。上述したように、疑似点火スイッチ9Lは、本物ガスコンロに係る点火スイッチと略同一の操作感で操作可能な構成となっており、ユーザーは、本物の点火スイッチを操作したときと同様の感触を得つつ、教示された操作を行って仮想的な火の点火を試みる。ユーザーの操作に伴う疑似点火スイッチ9Lの操作面の移動に応じて、点火スイッチ状態検出センサー100の検出値が変化する。
ガスコンロ制御ユニット15のガスコンロ操作検出部64は、点火スイッチ状態検出センサー100の検出値に基づいて、疑似点火スイッチ9が第2状態に移行したとき、および、第2状態ではなくなったときに、その旨を示す情報を情報処理装置17のアクション検出部49に送信する。
情報処理装置17のアクション検出部49は、ガスコンロ操作検出部64から随時、情報を受信する。アクション検出部49は、第2状態となったことを示す情報(以下、「オン情報」という)を受信した場合、点火音開始情報を音声出力制御部52に出力し、その後、第2状態ではなくなったことを示す情報(以下、「オフ情報」という)を受信した場合、点火音終了情報を音声出力制御部52に出力する。
音声出力制御部52は、アクション検出部49から点火音開始情報を入力した後、点火音終了情報を入力するまでの間、点火音音声データをHMD25の音声出力実行部61に送信する。点火音音声データは、本物ガスコンロの点火スイッチが押下されているときに、点火プラグに火花が飛ぶことによって発生する「カチカチカチ…」という音(以下、「点火音」という)が記録された音声データである。通常、点火音は、点火スイッチが押下されているときだけ発生する。
HMD25の音声出力実行部61は、点火音音声データを受信している間、点火音音声データに基づいてスピーカー27から点火音を音声出力する。この結果、ユーザーが疑似点火スイッチ9Lを押し込んでいる間、実際の点火スイッチを押したときと同様に点火音が聞こえることになる。これにより、ユーザーは、本物ガスコンロの点火スイッチをどう操作すると、どういった音が聞こえるのかということを疑似的な体験を通して学習できる。
また、アクション検出部49は、オン情報を受信した場合、受信した時点からの経過時間を計測する。そして、アクション検出部49は、経過時間の計測を開始した後、閾値T1が経過する前にオフ情報を受信した場合、経過時間の計測を停止し、再び、オン情報の受信を待機する。一方、アクション検出部49は、経過時間の計測を開始した後、オフ情報を受信することなく閾値T1が経過した場合、閾値T1が経過したタイミングで、条件成立通知情報を表示制御部48に出力する。
ここで、閾値T1は、本物ガスコンロの点火スイッチを利用して実際に点火する場合に、点火スイッチが奥まで押し込まれた後、点火が成功するのに要する時間と同等の時間とされている。従って、アクション検出部49がオン信号を受信した後、閾値T1が経過する前にオフ信号を受信した場合は、点火が成功するのに要すると想定されている時間を待たずに疑似点火スイッチ9に対する押圧が解除されたということである。一方、アクション検出部49がオン信号を受信した後、オフ信号を受信することなく閾値T1が経過した場合は、点火が成功するのに要すると想定されている時間以上、疑似点火スイッチ9の押圧が継続して行われたということである。つまり、アクション検出部49は、本物ガスコンロについて点火が成功するような態様で疑似点火スイッチ9に対する操作が行われたか否かを判定している。なお、「オン情報を受信した後、オフ信号を受信することなく閾値T1が経過する」という条件は、特許請求の範囲の「現実のガスコンロで点火が成功するときの条件に準じた所定の条件」に相当する。
表示制御部48は、アクション検出部49から条件成立通知情報を入力すると、HMD25に表示している第1仮想現実空間において、仮想ガスコンロ91の仮想バーナー92Lから仮想的な火が出力される様子を表示する。その際、表示制御部48は、仮想的な火を表示するためのデータを用いて、表示用のアルゴリズムが実装されたプログラムの機能により、HMD25の位置および姿勢を反映して、本物ガスコンロのバーナーから火が出力されるときの態様と同様の態様で、仮想的な火を表示する。
ここで、本物ガスコンロにおいてバーナーに実際に火が点く場合、通常、スパーカーを基点としてバーナーの側面に形成された複数の炎孔に火が順次、移っていくような動作をする。表示制御部48は、このような動作を再現しつつ、仮想バーナー92Lに仮想的な火が点火される様子を描画する。また、本物ガスコンロのバーナーに実際に火が点く場合、通常、中火(特許請求の範囲の「所定のレベルの火力」に相当)で火が点く。これを踏まえ、表示制御部48は、点火直後に仮想バーナー92Lが出力する仮想的な火の火力を「中火」とする。図3(B)は、ユーザーに視認される第1仮想現実空間において、仮想的な火Fが表示された様子を仮想手92と共に、単純化して模式的に示している。
第1仮想現実空間において仮想バーナー92Lから仮想的な火が出力された後、ユーザーは、仮想的な火を消火することを意図して、第1仮想現実空間で自身の視界に映る仮想点火スイッチ93Lに対して操作面を押し込んで離す操作を行う。これにより、現実世界において、疑似点火スイッチ9Lに対しても、操作面を押し込んで離す操作が行われる。この操作は、現実世界において、点火中のバーナーを消す操作に相当する。ユーザーによりこの操作が行われた場合には、ガスコンロ制御ユニット15のガスコンロ操作検出部64から情報処理装置17のアクション検出部49に対して、オン情報およびオフ情報が連続して送信される。
アクション検出部49は、条件成立通知情報を出力した後、後述する消火指示情報を出力する前に、換言すれば、仮想的な火が点火している間に、オン情報を受信した場合(=ユーザーにより疑似点火スイッチ9Lが押下された場合)、消火通知情報を表示制御部48に出力する。表示制御部48は、アクション検出部49から消火通知情報を入力すると、第1仮想現実空間に表示していた仮想的な火を消滅させる。
以上のように、第1体験メニューでは、点火スイッチを用いて実際に点火または消火するときの態様と同様の態様で操作が行われて初めて第1仮想現実空間において仮想バーナー92Lが点火しまたは消火する。このため、ユーザーは、どのように点火スイッチを操作すれば点火しまたは消火することができるかということを疑似的な体験を通して現実感をもって学習できる。特に、点火に関し、点火スイッチを十分に押下されない操作(=点火が成功しない操作)が行われた場合、スイッチが押下状態にならないことからスパーカーに操作情報が伝わらず、エラー音を発報させる事態となり得る。一方で、点火スイッチを押下してから点火が成功するまでにはタイムラグがあり、点火を成功させるためには、スパーク音を聴き、点火していたか否かを視認しなければならない。このことは、テキストや口頭によって教示しても身に付きにくい。そして、第1体験メニューによれば、ユーザーは、これらのことを、疑似的な体験を通して効果的に学習することができる。
なお、第1体験メニューにおいて、情報処理装置17が以下の処理を実行する構成としてもよい。すなわち、アクション検出部49は、閾値T1だけ疑似点火スイッチ9Lが第2状態となった場合(=閾値T1以上の間、継続して疑似点火スイッチ9Lが押し込まれる操作が行われた場合)、条件成立通知情報を表示制御部48に出力する点は同一である。更に、アクション検出部49は、閾値T1未満の間、疑似点火スイッチ9Lが第2状態となった場合(=閾値T1未満の間、疑似点火スイッチLが押し込まれる操作が行われた場合)、失敗操作通知情報を表示制御部48に出力する。つまり、アクション検出部49は、「点火が成功したとみなす条件」を満たさない操作が行われたと判定した場合には、失敗操作通知情報を表示制御部48に出力する。上述したように、点火スイッチを短く押下する操作(=点火が成功しない操作)が行われた場合、スイッチが押下状態にならないことからスパーカーに操作情報が伝わらず、エラー音を発報させる事態となり得る。
表示制御部48は、条件成立通知情報を入力した場合、この条件成立通知情報を入力する前に所定の態様で失敗操作通知情報を入力したか否かを判定する。所定の態様とは、現実世界においてガス種に応じた燃焼範囲を満たすガスが流れず、点火が成功しない操作が行われた場合の態様であり、一例として、条件成立通知情報を入力したタイミングから遡って所定期間内に所定回数以上の失敗操作通知情報を入力するという態様である。表示制御部48は、所定の態様で失敗操作通知情報を入力していない場合、点火時の仮想的な火の火力を中火(所定のレベル)とする。一方、表示制御部48は、所定の態様で失敗操作通知情報を入力している場合、点火時の仮想的な火の火力を一時的に中火を上回るレベルとし、点火のため流れたガスにより一時的に火力が増大する様子を演出する。これによれば、ユーザーは、点火スイッチを短く押下する操作に起因してガスが流れ得ること、ガスが流れた状態で点火すると火力が強くなり得ることを、体験を通して学習することができる。
<第2体験メニュー>
次に、第2体験メニューがユーザーにより行われるときの各装置の動作をユーザーの行動と併せて説明する。第2体験メニューは、加熱を伴う調理を行うときのガスコンロの使い方を学ぶことを内容とする体験メニューである。
まず、ユーザーは、第1仮想現実空間の仮想レンジフードの仮想的な風量調整ボタン群を操作して、「中」の風量(風量は何でもよいが本例では「中」とする)で換気扇を回すことを指示する。この操作に伴って、対象空間2において、疑似レンジフード4の疑似風量調整ボタン群12の「中」の風量に対応するボタンが実際に操作される。ここで、疑似レンジフード4の疑似風量調整ボタン群12には、何れかのボタンが操作されたことを検出する風量調整ボタン状態検出センサー101(図2)が設けられている。レンジフード制御ユニット16のレンジフード操作検出部66は、「中」の風量に対応するボタンが操作された場合、風量調整ボタン状態検出センサー101の検出値に基づいて、そのことを検出し、その旨を示す情報を情報処理装置17のアクション検出部49に送信する。
情報処理装置17のアクション検出部49は、当該情報を受信した場合、中換気扇音開始情報を音声出力制御部52に出力する。なお、同様の手段により、ユーザーによって疑似風量調整ボタン群12のボタンのうち、換気扇の停止を指示するボタンが操作された場合は、レンジフード操作検出部66がその旨を示す情報をアクション検出部49に出力し、アクション検出部49は、換気扇音終了情報を音声出力制御部52に出力する。
音声出力制御部52は、アクション検出部49から中換気扇音開始情報を入力した後、換気扇音終了情報を入力するまでの間、中換気扇音音声データをHMD25の音声出力実行部61に送信する。中換気扇音音声データは、本物のレンジフードの換気扇が「中」の風量で動作しているときに発生する運転音が記録された音声データである。HMD25の音声出力実行部61は、中換気扇音音声データを受信している間、中換気扇音音声データに基づいてスピーカー27から運転音を音声出力する。この結果、ユーザーにとって実際のレンジフードのボタンを押したときと同様に運転音が聞こえることになる。これにより、ユーザーは、ガスコンロを使って加熱を伴う調理を行うときは、レンジフードのボタンを操作して換気扇を回すことや、換気扇が回るとどういった音が聞こえるのか、また、換気扇が回っていることを音によって確認でき、知識によって得られたレンジフードをつけることで調理排気による室内空気汚染を防ぐことができることと共に、疑似的な体験を通して学習できる。
その後、ユーザーは、第1体験メニューと同様の方法で、第1仮想現実空間における仮想点火スイッチ93Lに対する操作(対象空間2における疑似点火スイッチ9Lに対する操作)を行って、第1仮想現実空間の仮想ガスコンロ91の仮想バーナー92Lに点火する。次いで、ユーザーは、第1仮想現実空間の仮想フライパン102(図5(A))の柄を把持する操作を行って、対象空間2において疑似フライパン35の柄を実際に把持する。ユーザーは、第1仮想現実空間において、柄を握っているという感触や、手に伝わる物体の質量を感じつつ、実際にフライパンを把持しているとの感覚を得る。
第2体験メニューでは、表示制御部48は、第1仮想現実空間の仮想フライパン102の仮想的な鍋の中に、仮想フライパンを介して加熱される具材の仮想オブジェクト(特許請求の範囲の「具材仮想オブジェクト」に相当)を表示する。本例では、具材は、未加熱の赤いハンバーグのタネであるものとする。図5(A)は、第1仮想現実空間においてユーザーの眼に映る仮想フライパン102およびハンバーグのタネに係る仮想オブジェクトを単純化して模式的に示している。
ユーザーは、第1仮想現実空間において、仮想フライパン102を把持しつつ、仮想的フライパンの鍋の部分を、仮想的な火を出力する仮想バーナー92Lに近づけたり遠ざけたりする。つまり、ユーザーは、第1仮想現実空間において、仮想フライパン102と、仮想バーナー92Lとの位置関係を自由に変化させ、これに伴って、対象空間2における疑似フライパン35と、疑似バーナー7Lとの位置が様々に変化する。なお、ユーザーは、疑似フライパン35の柄の部分を実際に把持しているため、現実感をもって仮想フライパン102を操作できる。
情報処理装置17の被加熱物***置関係検出部51は、第2体験メニューが行われている間、随時、疑似フライパン35と疑似バーナー7Lとの位置関係を検出する。より詳細には、被加熱物***置関係検出部51は、第1トラッカー19が送信する第1トラッカー姿勢情報、および、第3トラッカー37が送信する第3トラッカー姿勢情報を所定周期で取得する。被加熱物***置関係検出部51は、これら情報を取得する度に、これら情報に基づいて、3次元座標系における疑似フライパン35と疑似バーナー7Lとの離間距離を算出する。つまり、本実施形態では、3次元座標系における疑似フライパン35と疑似バーナー7Lとの対象空間2における離間距離が、疑似フライパン35と疑似バーナー7Lとの位置関係に相当する。被加熱物***置関係検出部51は、疑似フライパン35と疑似バーナー7Lとの離間距離を算出する度に、離間距離を示す情報を影響算出部50に出力する。
影響算出部50は、被加熱物***置関係検出部51の検出結果に基づいて、疑似バーナー7Lから実際に火が発生したと仮定し、更に、疑似フライパン35の位置に本物のフライパンが存在していると仮定した場合に、その本物のフライパンに対して火が及ぼす影響および当該影響によってフライパンおよびフライパンにより温められる具材(本例では、ハンバーグのタネ)に生じる状態の変化を算出する。特に、本実施形態では、影響算出部50は、仮想的な火の火力を反映して、火が及ぼす影響および状態の変化を算出する。以下、影響算出部50の処理について詳述する。
ここで、本実施形態では、仮想フライパン102の鍋に収容された仮想的なハンバーグのタネは、4つの段階で状態が変化する。つまり、表示制御部48は、HMD25に表示する仮想的なハンバーグのタネについて、4つの段階に状態を変化させつつ表示することができる。4つの状態は、火が通っていない生の赤い状態、少し火が通り部分的に茶色(茶色が火が通ったときの肉の色であるものとする)となった状態、完全に火が通り全体が灰色となった状態、火が通り過ぎて全体が焦げた黒色となった状態である。なお、本例では、説明の便宜のため、仮想的なハンバーグのタネが取り得る状態を非常に単純化している。そして、熱影響量という仮想的なポイントが定義されており、この熱影響量が一定以上溜まると、一の段階から次の段階に仮想的なハンバーグのタネの状態が変化するように定められている。
また、本実施形態では、仮想ガスコンロ91の仮想的な火力調整レバーの操作(=対象空間2における疑似的な火力調整レバーの操作)によって、仮想的なバーナーが出力する仮想的な火の火力を調整することができるようになっている。仮想火力調整レバー94Lおよび疑似火力調整レバー10Lに着目して詳述すると、疑似ガスコンロ3の疑似火力調整レバー10Lには、レバーの位置を検出するレバー状態検出センサー103(図2)が設けられている。ユーザーは、第1仮想現実空間で仮想的な火が点火している状態において、火力を調整した場合は、目に映る仮想火力調整レバー94Lを操作することによって、現実世界において疑似火力調整レバー10Lを操作する。疑似火力調整レバー10Lは、本物ガスコンロに係る火力調整レバーと略同一の操作感で操作可能な構成となっており、ユーザーは、本物の火力調整レバーを操作したときと同様の感触を得つつレバーを操作できる。
ユーザーの操作に伴う疑似火力調整レバー10Lのレバーの移動に応じて、レバー状態検出センサー103の検出値が変化する。ガスコンロ制御ユニット15のガスコンロ操作検出部64は、レバー状態検出センサー103の検出値に基づいて、レバーの位置を示す情報を情報処理装置17のアクション検出部49に送信する。情報処理装置17のアクション検出部49は、レバーの位置を示す情報を受信した場合、この情報に基づいて、レバーの位置が示す仮想的な火の火力を示す火力通知情報を表示制御部48に出力する。更に、アクション検出部49は、火力通知情報を影響算出部50に出力する。表示制御部48は、アクション検出部49から火力通知情報を入力すると、第1仮想現実空間に表示していた仮想的な火の火力を、火力通知情報が示す火力へと変化させる(仮想的な火をそのような火力の火として表示する)。
さて、影響算出部50は、所定周期で、熱影響量の加算ポイントを算出する。その際、影響算出部50は、疑似フライパン35と疑似バーナー7Lとの対象空間2における離間距離が小さいほど加算ポイントの値が大きくなるように、また、仮想的な火の火力が大きいほど加算ポイントの値が大きくなるように、予め定められた計算式によって計算する。影響算出部50は、算出した加算ポイントを累積的に熱影響量に加算していく。
更に、影響算出部50は、一の状態となった後(最初の状態を含む)に蓄積された熱影響量を継続して監視する。影響算出部50は、一の状態となった後に蓄積された熱影響量が一定以上となった場合、状態変化通知情報を表示制御部48に出力する。影響算出部50は、状態変化通知情報を出力した後、再び、熱影響量をクリアーし、所定周期での加算ポイントの算出および加算と、熱影響量の値の継続的な監視とを実行する。表示制御部48は、影響算出部50から状態変化通知情報を入力すると、第1仮想現実空間に表示していたハンバーグのタネに係る仮想オブジェクトの状態を、次の段階の状態へと変化させる。
ここで、現実世界では、火を出力するバーナーとフライパンとの距離が近いほど、フライパンによって加熱される具材に対して単位時間あたりに加わる熱量は大きいと言える。また、バーナーが出力する火の火力が大きいほど、フライパンによって加熱される具材に対して単位時間あたりに加わる熱量は大きいと言える。これを踏まえ、影響算出部50は、上述した処理を行うことにより、仮に疑似バーナー7Lから実際に火が出ており、ユーザー操作する疑似フライパンが本物のフライパンであった場合に、その本物のフライパンに対して火が及ぼす影響および当該影響によってフライパンおよびフライパンにより温められる具材(本例では、ハンバーグのタネ)に生じる状態の変化を算出している。
以上の処理が行われる結果、仮想フライパン102と仮想バーナー92Lとの距離が近いほど、また、仮想的な火の火力が大きいほど、仮想的なハンバーグのタネは早いペースで状態が変化する。ユーザーは、第2体験メニューを通して、バーナーにフライパンを使づければより早く具材の状態が変化し、また、火力を大きくすればより早く具材の状態が変化することを疑似的に体験できる。また、ユーザーは、加熱しすぎると、具材が焦げることも体験できる。これにより、ユーザーは、火の性質や、具材を加熱するときの留意点を現実感をもって具体的に学習できる。
<第3体験メニュー>
次に、第3体験メニューがユーザーにより行われるときの各装置の動作をユーザーの行動と併せて説明する。第3体験メニューは、ガスコンロを使用するときに、火元(バーナー)の近くに可燃物があることの危険性を学習することを内容とする体験メニューである。
第3体験メニューでは、疑似キッチンペーパー箱38が、設置台5の上面に載置されている。疑似キッチンペーパー箱38は、可燃性の紙からできているキッチンペーパー箱に対応する疑似的な物体である。対象空間2においてHMD25の位置および姿勢により規定されるユーザーの視界に疑似キッチンペーパー箱38が入ると、ユーザーが視認する第1仮想現実空間内に、キッチンペーパー箱の仮想オブジェクトである仮想キッチンペーパー箱105が表示される。図5(B)では、HMD25を装着するユーザーの眼に映る第1仮想現実空間における仮想キッチンペーパー箱105の様子を単純化して模式的に示している。
第3体験メニューにおいて、まず、ユーザーは、設置台5に対応する仮想キッチンカウンター90に載置された仮想キッチンペーパー箱105を、仮想ガスコンロ91の仮想バーナー92Lから遠ざける作業を行う。この作業に伴って、対象空間2において疑似キッチンペーパー箱38が、疑似バーナー7Lから遠ざかる。次いで、ユーザーは、第1体験メニューと同様の方法で、第1仮想現実空間における仮想点火スイッチ93Lに対する操作(対象空間2における疑似点火スイッチ9Lに対する操作)を行って、第1仮想現実空間の仮想ガスコンロ91の仮想バーナー92Lに点火する。
情報処理装置17の可燃物位置関係検出部53は、第3体験メニューが行われている間、随時、疑似キッチンペーパー箱38と疑似バーナー7Lとの位置関係を検出する。より詳細には、被加熱物***置関係検出部51は、第1トラッカー19が送信する第1トラッカー姿勢情報、および、第4トラッカー40が送信する第4トラッカー姿勢情報を所定周期で取得する。可燃物位置関係検出部53は、これら情報を取得する度に、これら情報に基づいて、3次元座標系における疑似キッチンペーパー箱38と疑似バーナー7Lとの離間距離を算出する。つまり、本実施形態では、3次元座標系における疑似キッチンペーパー箱38と疑似バーナー7Lとの対象空間2における離間距離が、疑似キッチンペーパー箱38と疑似バーナー7Lとの位置関係に相当する。可燃物位置関係検出部53は、疑似キッチンペーパー箱38と疑似バーナー7Lとの離間距離を算出する度に、離間距離を示す情報を可燃物燃焼判定部54に出力する。
可燃物燃焼判定部54は、可燃物位置関係検出部53の検出結果に基づいて、疑似バーナー7Lから火が発生したと仮定し、更に、疑似キッチンペーパー箱38の位置に実際に可燃物が存在していると仮定した場合に、その可燃物に火が移るか否かを判定する。本実施形態では、可燃物燃焼判定部54は、疑似キッチンペーパー箱38と疑似バーナー7Lとの離間距離が閾値T2以下となった場合に、可燃物に火が移ると判定する。これは、現実世界では、可燃物が火に近ければ近いほど、その可燃物に火が移る可能性が高くなることを考慮したものである。なお、本例では、仮想的な火の火力は「中火」で一定であるものとする。ただし、火力を変えることができるようにし、可燃物燃焼判定部54が、火力を考慮して可燃物に火が移るか否かを判定する構成でもよい。可燃物燃焼判定部54は、火が移ると判定した場合、燃焼判定通知情報を表示制御部48に出力する。
表示制御部48は、可燃物燃焼判定部54から燃焼判定通知情報を入力すると、第1仮想現実空間に表示していた仮想可燃物が燃える様子を描画する。例えば、表示制御部48は、仮想キッチンペーパー箱105が炎で包まれる様子を描画する。その際、仮想キッチンペーパー箱105の状態が変化する様子を描画するようにしてもよい。
以上の処理が行われる結果、ユーザーが、仮想キッチンペーパー箱105を仮想バーナー92Lから遠ざける作業を行った際に、仮想キッチンペーパー箱105と仮想バーナー92Lとの離間距離が十分でないと、仮想キッチンペーパー箱105が(仮想的に)燃えることになる。第3体験メニューによれば、ユーザーは、バーナーの近くにある可燃物に火が燃え移るという体験を疑似的に経験できる。これにより、ユーザーは、バーナーの近くに可燃物があると、その可燃物に火が燃え移る可能性があり、コンロ周囲を確認することの重要性を現実感をもって具体的に学習できる。
以上詳しく説明したように、本実施形態では、本物ガスコンロに準じた疑似ガスコンロ3の対象空間2における位置および姿勢を反映した状態で、仮想ガスコンロ91を仮想現実空間に表示すると共に、ユーザーが疑似ガスコンロ3に対して行ったアクション(例えば、疑似点火スイッチ9Lの操作や、疑似火力調整レバー10Lの操作等)の内容に応じて、仮想ガスコンロ91から発生する仮想的な火の表示を制御するようにしている。
この構成によれば、ユーザーが疑似ガスコンロ3に対して行ったアクションの内容に応じて仮想現実空間内に表示された火の表示が制御されるため、ユーザーは、対象空間2で所定のアクションを行ったときに、その所定のアクションに起因して火がどのような状態となるのかを具体性をもってイメージしつつ、現実感をもって火の取り扱い方に関する知識を習得できる。すなわち、本実施形態によれば、仮想現実空間を提供する仮想現実空間表示システム1について、火の取り扱い方の教育という観点で適切な処理を実行し、安全にかつ効果的に教育を行えるようにすることができる。
<第2実施形態>
次に、第2実施形態について説明する。図6は、本実施形態に係る仮想現実空間表示システム1Aに関連する部材の物理的構成例を単純化して模式的に示す図である。仮想現実空間表示システム1Aは、第1実施形態と同様、ユーザーに火の取り扱い方を教育することを目的の1つとするシステムであるが、特に、本実施形態に係る仮想現実空間表示システム1Aは、木炭を収容する火鉢の取り扱い方を教育することを目的の1つとしている。以下の第2実施形態の説明において、第1実施形態と同一の要素については同一の符号を付し、その詳細な説明を省略する。
図6に示すように、本実施形態では、ユーザーの学習が行われる空間である対象空間2Aには、疑似火鉢110(特許請求の範囲の「熱源疑似物体」に相当)、疑似火バサミ111、疑似ウチワ112および疑似木炭113が準備されている。疑似火鉢110、疑似火バサミ111、疑似ウチワ112および疑似木炭113はそれぞれ、本物の火鉢、火バサミ、ウチワおよび木炭に準じて製作された疑似的な物体である。ただし、疑似火鉢110、疑似火バサミ111および疑似ウチワ112については、それぞれ、本物の物体を使用してもよい(例えば、疑似ウチワ112として本物のウチワを用いてもよい)。
疑似火鉢110、疑似火バサミ111、疑似ウチワ112および疑似木炭113には、それぞれ対象空間2Aにおける位置および姿勢の検出に使用する第5トラッカー117、第6トラッカー118、第7トラッカー119および第8トラッカー120が設けられている。また、疑似火鉢110には、プロセッサーが実装された制御基板を有する火鉢制御ユニット125(図7)が設けられている。
図7は、本実施形態に係る仮想現実空間表示システム1Aを構成する各装置の機能構成例を示すブロック図である。図7に示すように、仮想現実空間表示システム1Aは、情報処理装置17A、HMD25、火鉢制御ユニット125、第5トラッカー117、第6トラッカー118、第7トラッカー119および第8トラッカー120を含んで構成されている。また、情報処理装置17Aは、機能構成として、HMD姿勢検出部46A、表示対象物体姿勢検出部47A、表示制御部48A、アクション検出部49Aおよび気流状態検出部123を備えており、記憶手段として記憶部80を備えている。また、火鉢制御ユニット125は、通信部121および火鉢状態検出部122を備えている。通信部121は、情報処理装置17Aと所定の通信規格に従って通信する。
本実施形態では、ユーザーは、火鉢の取扱いを学習するための体験メニューを実行する。体験メニューの実行中、仮想現実空間表示システム1Aは、仮想現実空間表示機能を実行する。詳細は省略するが、仮想現実空間表示機能の実行中は、HMD姿勢検出部46A、表示対象物体姿勢検出部47Aおよび表示制御部48Aが連携してHMD25に特定の仮想現実空間(以下、「第2仮想現実空間」という)を表示する。図8は、HMD25に表示され、ユーザーに視認される第2仮想現実空間の一例を示している。特に、図8は、疑似火鉢110の収容スペースを上から覗き込むような姿勢をユーザーがとったときにHMD25に表示される第2仮想現実空間を示している。
図8に示すように、第2仮想現実空間には、疑似火鉢110の位置および姿勢を反映して火鉢の仮想オブジェクトである仮想火鉢130が配置され、疑似火バサミ111の位置および姿勢を反映して火バサミの仮想オブジェクトである仮想火バサミ131が配置され、疑似ウチワ112の位置および姿勢を反映してウチワの仮想オブジェクトである仮想ウチワ132が配置され、疑似木炭113の位置および姿勢を反映して木炭の仮想オブジェクトである仮想木炭133が配置される。また、図8に示すように、第2仮想現実空間では、仮想火鉢130の収容スペースに、赤熱した複数の木炭を表す仮想オブジェクト(以下、「仮想赤熱木炭群134」という)が収容される。本実施形態では、仮想赤熱木炭群134に対応する疑似的な物体は設けられていないが、これを設けるようにしてもよい。なお、詳細は省略するが、第1実施形態と同様、必要に応じてユーザーが視認する第2仮想現実空間に仮想手が表示される。
体験メニューにおいて、ユーザーは、第2仮想現実空間における仮想火バサミ131を通常の使用態様で操作して、仮想火バサミ131で仮想木炭133をつかみ、仮想木炭133を仮想火鉢130の仮想的な収容スペースに収容する。この操作に応じて、現実の対象空間2Aでは、実際にユーザーによって疑似火バサミ111が使用されて疑似木炭113が疑似火鉢110の収容スペースに収容される。ユーザーは、火鉢への木炭の収容には火バサミを使用すべきことを的確に認識できる。
疑似火鉢110の収容スペースの底部には、圧力センサー140(図7)が設けられている。圧力センサー140は、疑似火鉢110の収容スペースの底部に作用する圧力を検出するセンサーであり、特に、疑似木炭113が収容スペースに収容されているときと、されていないときとで、異なる検出値を出力する。
疑似火鉢110に疑似木炭113が新たに収容された場合、火鉢制御ユニット125の火鉢状態検出部122は、圧力センサー140の検出値に基づいて、そのことを検出し、その旨を示す情報を情報処理装置17Aのアクション検出部49Aに送信する。
情報処理装置17Aのアクション検出部49Aは、疑似火鉢110に疑似木炭113が新たに収容されたことを示す情報を受信した場合、そのことを検出し、木炭追加通知情報を表示制御部48Aに出力する。
表示制御部48Aは、アクション検出部49Aから木炭追加通知情報を入力すると、HMD25に表示している特定仮想現実空間において、仮想火鉢130の仮想的な収容スペースの仮想赤熱木炭群134から、収容スペースに新たに収容された仮想木炭133に熱が伝わり、仮想木炭133が徐々に赤熱していく様子を表示する。ユーザーは、この様子を視認することにより、火鉢に木炭を収容すると、その木炭も赤熱するため、十分に気を付ける必要があることを疑似的な体験を通して的確に学習できる。
更に、体験メニューにおいて、ユーザーは、仮想ウチワ132の柄を把持し、仮想ウチワ132で仮想火鉢130の仮想的な収容スペースをあおぐ作業をする。この作業に応じて、現実の対象空間2Aでは、実際にユーザーによって疑似ウチワ112により、疑似木炭113の収容スペースをあおぐ作業が行われる。
疑似火鉢110の収容スペースの所定の位置には、気流センサー141(図7)が設けられている。気流センサー141は、疑似火鉢110の収容スペースに発生した気流を検出するセンサーであり、特に、収容スペース内に第1風速以上の気流が発生した場合と、第1風速未満であり第2風速(<第1風速)以上の気流が発生した場合と、第2風速未満の気流が発生した場合(気流が発生していない場合も含む)とで異なる検出値を出力する。なお、第2風速未満の気流は、非常に速度の遅い気流であり、収容スペース内の気流が第2風速未満の場合は、疑似ウチワ112があおがれていないことが想定される。一方、収容スペース内の気流が第2風速以上の場合は、疑似ウチワ112があおがれていることが想定される。
火鉢制御ユニット125の火鉢状態検出部122は、所定周期で、気流センサー141の検出値を示す情報を情報処理装置17Aの気流状態検出部123に送信する。
情報処理装置17Aの気流状態検出部123は、所定周期で、火鉢状態検出部122から気流センサーの検出値を示す情報を受信する。気流状態検出部123は、第1風速以上の気流に係る検出値を示す情報を受信している期間は、ユーザーによって強く疑似ウチワ112があおがれていることを検出し、この期間の間、強赤熱通知情報を継続的に表示制御部48Aに出力する。また、気流状態検出部123は、第1風速未満で第2風速以上の気流に係る検出値を示す情報を受信している期間は、ユーザーによって軽く疑似ウチワ112があおがれていることを検出し、この期間の間、弱赤熱通知情報を継続的に表示制御部48Aに出力する。
表示制御部48Aは、気流状態検出部123から強赤熱通知情報を入力している期間は、仮想火鉢130の仮想的な収容スペースに収容された仮想木炭133について、赤熱が大きく増大する様子を表示する。例えば、表示制御部48は、仮想木炭133の赤熱している部分が、大きな程度で明るく、大きな程度で広範囲になるように表示を制御する。また、表示制御部48Aは、気流状態検出部123から弱赤熱通知情報を入力している期間は、仮想火鉢130の仮想的な収容スペースに収容された仮想木炭133について、赤熱が小さく増大する様子を表示する。例えば、表示制御部48は、仮想木炭133の赤熱している部分が、少しだけ明るく、少しだけ広範囲になるように表示を制御する。
以上の処理が行われる結果、ユーザーが第2仮想現実空間において仮想ウチワ132をあおいでいる間(=対象空間2で疑似ウチワ112をあおいでいる間)だけ、仮想木炭133の赤熱が増大する。特に、ユーザーにより強く仮想ウチワ132があおがれている間は、赤熱が大きく増大し、ユーザーにより弱く仮想ウチワ132があおがれている間は、赤熱が小さく増大する。これは、現実世界において、赤熱する木炭を収容している火鉢をあおいだ際の木炭の状態と同じである。ユーザーは、強弱を変えて仮想ウチワ132をあおいだ場合に、仮想木炭133の赤熱がどのように変化するかを視認することにより、木炭の取扱いについて疑似的な体験を通して的確に学習できる。
更に、体験メニューにおいて、ユーザーは、仮想木炭を仮想火鉢の仮想的な収容スペースに収容し、仮想火鉢が赤熱した後、しばらくしてから、第2仮想現実空間における仮想火バサミ131を通常の使用態様で操作して、仮想火バサミ131で仮想木炭133をつかみ、仮想木炭133を収容スペースから取り出す。この操作に応じて、現実の対象空間2Aでは、実際にユーザーによって疑似火バサミ111が使用されて疑似木炭113が疑似火鉢110の収容スペースから取り出される。ユーザーは、火鉢から木炭を取り出す際は、火バサミを使用すべきことを的確に認識できる。
収容スペースから疑似木炭113が取り出されると、火鉢制御ユニット125の火鉢状態検出部122は、圧力センサー140の検出値に基づいてそのことを検出し、その旨を示す情報を情報処理装置17Aのアクション検出部49Aに送信する。
情報処理装置17Aのアクション検出部49Aは、疑似木炭113が取り出されたことを示す情報を受信した場合、そのことを検出し、木炭追加削除情報を表示制御部48Aに出力する。
表示制御部48Aは、アクション検出部49Aから木炭削除通知情報を入力すると、HMD25に表示している特定仮想現実空間において、仮想火バサミ131の先端で挟まれている仮想木炭133が赤熱している状態を維持する。つまり、表示制御部48Aは、仮想木炭133が取り出された後も、仮想木炭133に対応する赤熱を継続して表示する。ユーザーは、この様子を視認することにより、火鉢から木炭を取り出した場合も、木炭は熱を持っているため、十分に気を付ける必要があることを疑似的な体験を通して的確に学習できる。なお、第2仮想現実空間において火鉢から取り出した仮想木炭133に仮想的な可燃物を近づけると、表示制御部48Aが、その仮想的な可燃物が燃えたり、熱で状態が変化したりする様子を表示する構成としてもよい。
以上の通り、第2実施形態によれば、ユーザーは、火鉢の取り扱い方について疑似的な体験を通して安全な環境で適切に学ぶことができる。特に、火鉢は、今日、身近に存在するようなものではなく、実際に使用することが少ない部材ということができるが、ユーザーは、実際に使用しているかのような具体的な体験を通して火鉢の取り扱い方を学習することができる。また、木炭や火鉢を準備して実地で取扱いを教育する場合には、危険性が伴うだけでなく、準備や後片付けに相当の労力を要することが想定されるが、本実施形態によれば、安全かつ、このような労力を要せず、教育を実施できる。
以上、2つの実施形態を説明したが、各実施形態は何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、取り扱い方を学習するために、疑似的な物体が用意され、かつ、仮想オブジェクトが表示される対象は、第1実施形態ではガスコンロであり、第2実施形態では、火鉢であった。しかしながら、このような対象は、各実施形態で例示したものに限られず、火や赤熱を発生したり、火や赤熱の発生源を収容する物体であればよい。一例として、花火や、アルコールランプ、マッチ、ライター等を対象とすることができる。例えば、対象が花火の場合は、仮想現実空間において、ユーザーが仮想的な花火本体の所定箇所に火を点けるという作業を行ったときに、実際の花火が出力する火と同様の態様で仮想的な火を出力する(仮想現実空間に表示する)ことにより、ユーザーは、花火のやり方を適切に学ぶことができる。
また、第1実施形態において、情報処理装置17は、他の装置と直接通信する構成であったが、情報処理装置17をネットワークを介して他の装置と接続する装置としてもよい。例えば、情報処理装置17をLANに接続されたサーバー、インターネット上のサーバーとしてもよい。第2実施形態についても同様である。
また、第1実施形態では、デバイス(HMD25や、各トラッカー、コントローラー32)の位置および姿勢を情報処理装置側で算出したが、これを各デバイス側で算出する構成としてもよい。