(57)【要約】【課題】ユーザにおける実空間での移動と仮想空間での移動とのシンクロを実現し得る、仮想現実体感装置、仮想現実体感方法及びプログラムを提供する。【解決手段】仮想現実体感装置１００は、表示部２０、力覚提示部材１３、力覚提示部材の位置を検出する提示位置検出部３０、力覚提示部材に引張力を伝達する伝達部材１２、引張力を発生させる駆動部１１、情報処理部４０及び制御部１４を備える。情報処理部は、当該装置の実空間に重ね合わされた仮想空間での位置及び向きを特定し、これと力覚提示部材の位置とから、力覚提示部材の仮想空間での位置を特定し、これに対応して仮想空間内に変化を与え、ユーザが受ける外力を算出し、当該装置の仮想空間での位置及び向きに応じて仮想空間に視点を設定し、表示部２０に、この視点で表示を行なわせる。制御部１４は、駆動部１１に初期力を発生させ、外力が力覚として伝達されるように初期力を増加又は減少させる。【選択図】図５
2015153387.tif 000002
【特許請求の範囲】
【請求項１】
特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示する装置であって、
前記仮想空間を画面に表示する、表示部と、
前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、
当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、
前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、
前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、
情報処理部と、
前記駆動部を制御する制御部と、を備え、
前記情報処理部は、当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定し、
特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を更に特定し、特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出し、
更に、特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させ、
前記制御部は、予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記情報処理部によって算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、
ことを特徴とする仮想現実体感装置。
【請求項２】
タブレット状の筐体と、複数の前記伝達部材と、複数の前記伝達部材それぞれに対応した複数の前記駆動部と、を更に備え、
複数の前記伝達部材それぞれは、前記筐体の背面側における異なる位置から前記力覚提示部材へと伸びる紐状の部材であり、
複数の前記駆動部は、それぞれ、前記筐体の内部に配置され、対応する前記伝達部材を巻き取ることによって、対応する前記伝達部材に、前記引っ張り方向の力を与え、
前記制御部は、複数の駆動部それぞれが前記伝達部材に与える前記引っ張り方向の力の合力を、前記力覚として、前記ユーザに伝達する、
請求項１に仮想現実体感装置。
【請求項３】
前記力覚提示部材が、ヘラ状に形成され、且つ、前記仮想空間内に、造形物の仮想オブジェクトが構築されている場合において、
前記情報処理部は、前記仮想空間内で、前記造形物の仮想オブジェクトと前記力覚提示部材とが接触すると、特定した前記力覚提示部材の前記仮想空間での位置に応じて、前記造形物の仮想オブジェクトに変化を与える、
請求項１または２に記載の仮想現実体感装置。
【請求項４】
前記情報処理部は、特定した前記力覚提示部材の前記仮想空間での位置から、更に、前記力覚提示部材の前記仮想空間での動きを特定し、そして、
特定した動きが、前記造形物の仮想オブジェクトの表面を削り取るような動きである場合に、前記造形物の仮想オブジェクトの前記力覚提示部材と接触した部分が削られるように、前記造形物の仮想オブジェクトに変化を与え、
特定した動きが、前記造形物の仮想オブジェクトの表面をなぞるような動きである場合に、前記造形物の仮想オブジェクトのなぞられた部分が盛り上がるように、前記造形物の仮想オブジェクトに変化を与える、
請求項３に記載の仮想現実体感装置。
【請求項５】
前記実空間に予めマーカーが配置されており、
前記外部情報取得部が、当該装置の実空間での位置及び向きを特定するための情報として、当該装置に取り付けられた撮像装置によって撮影された前記実空間の画像を取得し、
前記情報処理部が、前記外部情報取得部で取得された前記画像から、前記マーカーの画像を抽出し、抽出した画像の大きさ及び形状に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、
請求項１〜４のいずれかに記載の仮想現実体感装置。
【請求項６】
前記表示部が、前記仮想空間を立体画像によって前記画面に表示する、請求項１〜３のいずれかに記載の仮想現実体感装置。
【請求項７】
特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示するための方法であって、
前記仮想空間を画面に表示する、表示部と、前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、を備える装置を用い、
（ａ）当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を特定する、ステップと、
（ｃ）前記（ｂ）のステップで特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出する、ステップと、
（ｄ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させる、ステップと、
（ｅ）予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記（ｃ）のステップで算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、ステップと、
を有することを特徴とする仮想現実体感方法。
【請求項８】
特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示するため、
前記仮想空間を画面に表示する、表示部と、前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、コンピュータと、を備える装置において、
前記コンピュータに、
（ａ）当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を特定する、ステップと、
（ｃ）前記（ｂ）のステップで特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出する、ステップと、
（ｄ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させる、ステップと、
（ｅ）予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記（ｃ）のステップで算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、ステップと、
を実行させるプログラム。
【請求項９】
実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示する装置であって、
前記仮想空間を画面に表示する、表示部と、
前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、
前記力覚提示部材の位置を検出する、提示位置検出部と、
前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、
前記引っ張り方向の力を発生させる駆動部と、
情報処理部と、
前記駆動部を制御する制御部と、を備え、
前記情報処理部は、当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定し、
特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を更に特定し、特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受ける外力を算出し、
更に、前記表示部に、特定した当該装置の前記仮想空間での位置及び向きに応じた視点で前記仮想空間を前記画面に表示させ、
前記制御部は、予め、前記駆動部に、前記引っ張り方向の力を発生させておき、前記情報処理部によって算出された前記外力が、前記力覚提示部材を介して前記ユーザに伝達されるように、前記引っ張り方向の力を増加又は減少させる、
ことを特徴とする仮想現実体感装置。
【請求項１０】
実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示するための方法であって、
前記仮想空間を画面に表示する、表示部と、前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、前記力覚提示部材の位置を検出する、提示位置検出部と、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、前記引っ張り方向の力を発生させる駆動部と、を備える装置を用い、
（ａ）当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を特定する、ステップと、
（ｃ）前記（ｂ）のステップで特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受ける外力を算出する、ステップと、
（ｄ）前記表示部に、前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きに応じた視点で前記仮想空間を前記画面に表示させる、ステップと、
（ｅ）予め、前記駆動部に、前記引っ張り方向の力を発生させておき、前記（ｃ）のステップで算出された前記外力が、前記力覚提示部材を介して前記ユーザに伝達されるように、前記引っ張り方向の力を増加又は減少させる、ステップと、
を有することを特徴とする仮想現実体感方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーチャルリアリティ（仮想現実）において、ユーザにリアルな力覚を提示する、仮想現実体感装置、仮想現実体感方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータの性能の向上に伴い、バーチャルリアリティ（仮想現実）の研究開発が進んでいる。バーチャルリアリティは、仮想空間内でユーザに様々な擬似的体験を提供する技術であり、ユーザには、映像及び音声に加え、力覚が提示される。そして、仮想空間内で力覚を提示するため、種々の装置が提案されている（例えば、特許文献１及び２参照）。
【０００３】
具体的には、特許文献１は、異なる方向から、８本のワイヤーで引っ張られた状態にあるグリップによって力覚を提示する力覚提示装置を開示している。特許文献１に開示された力覚提示装置では、ユーザがグリップを介して入力を行うと、それに合わせて各ワイヤーに引っ張り力が与えられるので、ユーザはグリップを介して力覚を感じることができる。
【０００４】
また、特許文献２は、操作者の手首に取り付けられる力覚提示装置を開示している。特許文献２に開示された力覚提示装置は、手首に取り付けられた支点部と、ユーザが握る把持部と、これらを連結する複数本のワイヤーとで構成されている。そして、特許文献２に開示された力覚提示装置では、支点部はワイヤーを引っ張る機能を備えており、各ワイヤーの引張力が調整されて、ユーザに把持部を介して力覚が提示される。
【０００５】
このような上記特許文献１及び２に開示された装置を用いれば、ユーザは、仮想空間内において、力覚を感じることができる。バーチャルリアリティは、今後、種々の分野での利用が期待されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２８２４４８号公報
【特許文献２】特開２００２−３０４２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、バーチャルリアリティの用途の拡大を図るためには、仮想空間内をユーザが自由に動き回れる必要がある。そして、このとき、ユーザの実空間での移動に合わせて、画面に表示される仮想空間の状況が変化すれば、即ち、実空間での移動と仮想空間での移動とをシンクロさせることができれば、ユーザは仮想空間内を実際に移動しているという感覚を得ることができる。また、この場合、ユーザは、実空間を移動しながら、仮想空間内に存在するオブジェクトを、様々な角度から見ることもできる。
【０００８】
しかしながら、特許文献１に開示された力覚提示装置は、移動を前提としておらず、固定した状態でしか使用できないため、この力覚提示装置では、実空間での移動と仮想空間での移動とをシンクロさせることは不可能である。
【０００９】
一方、特許文献２に開示された力覚提示装置は、ユーザの腕に装着されるため、ユーザが移動した状態でも使用することができる。また、特許文献２に開示されている表示装置は、ユーザの顔面に装着されるタイプである。
【００１０】
しかし、特許文献２には、実空間での移動と仮想空間での移動とをシンクロさせる技術は開示されていないので、ユーザの実空間での移動に応じて、表示装置に表示される仮想空間の状況が変化することはない。特許文献２に開示された力覚提示装置と表示装置とを用いただけでは、実空間での移動と仮想空間での移動とのシンクロは困難である。
【００１１】
［発明の目的］
本発明の目的の一例は、上記問題を解消し、ユーザにおける実空間での移動と仮想空間での移動とのシンクロを実現し得る、仮想現実体感装置、仮想現実体感方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面における仮想現実体感装置は、特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示する装置であって、
前記仮想空間を画面に表示する、表示部と、
前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、
当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、
前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、
前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、
情報処理部と、
前記駆動部を制御する制御部と、を備え、
前記情報処理部は、当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定し、
特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を更に特定し、特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出し、
更に、特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させ、
前記制御部は、予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記情報処理部によって算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、
ことを特徴とする。
【００１３】
また、上記目的を達成するため、本発明の一側面における仮想現実体感方法は、特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示するための方法であって、
前記仮想空間を画面に表示する、表示部と、前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、を備える装置を用い、
（ａ）当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を特定する、ステップと、
（ｃ）前記（ｂ）のステップで特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出する、ステップと、
（ｄ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させる、ステップと、
（ｅ）予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記（ｃ）のステップで算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、ステップと、
を有することを特徴とする。
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、特定の実空間に重ね合わされた仮想空間での状況に応じてユーザに力覚を提示するため、
前記仮想空間を画面に表示する、表示部と、前記ユーザに保持又は装着されて、前記力覚を提示する際のインターフェイスとなる、力覚提示部材と、当該装置を基準とした前記力覚提示部材の位置を検出する、提示位置検出部と、前記装置から、前記力覚提示部材へと伸びて、前記力覚提示部材に引っ張り方向の力を伝達する伝達部材と、前記引っ張り方向の力を発生させ、それを前記伝達部材に与える駆動部と、コンピュータと、を備える装置において、
前記コンピュータに、
（ａ）当該装置の前記実空間での位置及び向きを特定するための情報を取得し、取得した前記情報に基づいて、当該装置の前記仮想空間での位置及び向きを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きと、前記提示位置検出部によって検出された前記力覚提示部材の位置とに基づいて、前記力覚提示部材の前記仮想空間での位置を特定する、ステップと、
（ｃ）前記（ｂ）のステップで特定した前記力覚提示部材の前記仮想空間での位置に対応して前記仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出する、ステップと、
（ｄ）前記（ａ）のステップで特定した当該装置の前記仮想空間での位置及び向きに応じて、前記画面に前記仮想空間を表示する際の視点を設定し、前記表示部に、設定した視点で前記仮想空間を前記画面に表示させる、ステップと、
（ｅ）予め、前記駆動部に、設定された大きさの前記引っ張り方向の力を初期力として発生させておき、前記（ｃ）のステップで算出された前記外力が、力覚として、前記力覚提示部材を介して前記ユーザに伝達されるように、前記初期力を増加又は減少させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように本発明によれば、ユーザにおける実空間での移動と仮想空間での移動とのシンクロを実現することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態における仮想現実体感装置の外観を示す斜視図である。
【図２】図２は、本発明の実施の形態における仮想現実体感装置の使用態様を示す図である。
【図３】図３は、本発明の実施の形態における仮想現実体感装置の各構成部品を示す分解斜視図である。
【図４】図４は、図３に示す仮想現実体感装置の背面を示す斜視図である。
【図５】図５は、本発明の実施の形態における仮想現実体感装置の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態における仮想現実体感装置の動作を示すフロー図である。
【図７】図７は、図６に示したステップＳ１０３を説明するための図である。
【図８】図８は、図６に示したステップＳ１０６を説明するための図である。
【図９】図９（ａ）は、引張力の算出処理を説明するための図であり、図９（ｂ）は、引張力の算出処理に用いられる座標軸を示す図である。
【図１０】図１０は、提示力の再設定処理を説明するための図である。
【図１１】図１１は、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。
【図１２】図１２は、本発明の実施の形態における仮想現実体感装置がヘッドマウントディスプレイに組み込まれている例を示す図である。
【図１３】図１３は、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。
【図１４】図１４も、図１３に示した変形例８と同様に、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態における、仮想現実体感装置、仮想現実体感方法、及びプログラムについて、図１〜図１４を参照しながら説明する。
【００１８】
［装置構成］
最初に、図１及び図２を用いて、本実施の形態における仮想現実体感装置の外観構成及び使用態様について説明する。図１は、本発明の実施の形態における仮想現実体感装置の外観を示す斜視図である。図２は、本発明の実施の形態における仮想現実体感装置の使用態様を示す図である。
【００１９】
まず、図１を用いて、本実施の形態における仮想現実体感装置１００の外観構成について説明する。図１に示す仮想現実体感装置１００は、仮想空間での状況に応じて、ユーザ２００に力覚を提示する機能を備えている。図１に示すように、仮想現実体感装置１００は、ユーザに保持又は装着されて、力覚を提示する際のインターフェイスとなる、力覚提示部材１３を備えている。本実施の形態では、力覚提示部材１３は、ユーザ２００の力覚の提示を受ける部分、例えば、指に装着可能に形成されている。
【００２０】
また、仮想現実体感装置１００は、それを基準とした力覚提示部材１３の位置を検出することができる。具体的には、仮想現実体感装置１００は、装置の背面（画面１０１が設けられた側の反対側）の空間において、力覚提示部材１３の位置を検出することができる。これにより、ユーザ２００は、力覚提示部材１３を装着した指の位置を動かすことによって、仮想現実体感装置１００に対して入力操作を行うことができる。
【００２１】
また、仮想現実体感装置１００は、画面１０１上に、仮想空間を表示することができ、更に、力覚提示部材１３に相当するオブジェクト（以下「ユーザオブジェクト」と表記する。）１０２を、検出された位置に合わせて仮想空間内に表示することもできる。そして、仮想空間内に配置されている仮想オブジェクト１０３とユーザオブジェクト１０２とが接触した場合は、仮想現実体感装置１００は、ユーザ２００の指に、力覚提示部材１３を介して、仮想オブジェクト１０３に触れた感触を伝達する。
【００２２】
つまり、仮想現実体感装置１００を用いれば、ユーザ２００が指を動かして仮想オブジェクト１０３に働きかけを行なうことにより、ユーザ２００に、仮想空間内で生じた変化が、力覚として提示される。
【００２３】
また、図２に示すように、本実施の形態では、仮想空間は、特定の実空間３００に重ね合わされた状態で構築される。このため、仮想現実体感装置１００は、それ自体の実空間３００での位置及び向きを特定するための情報（以下「外部情報」と表記する。）を外部から取得し、取得した外部情報に基づいて、それ自体の仮想空間での位置及び向きを特定する。なお、図２において、５１は、外部情報を取得するために実空間３００に配置されたマーカーである。マーカー５１を用いた外部情報の取得方法については後述する。
【００２４】
また、仮想現実体感装置１００は、特定した仮想空間での位置及び向きと、それを基準とした力覚提示部材１３の位置に基づいて、力覚提示部材１３の仮想空間での位置（ユーザオブジェクト１０２の位置）も特定する。更に、仮想現実体感装置１００は、それ自体の仮想空間での位置及び向きに応じて、画面１０１に仮想空間を表示する際の視点を設定し、画面１０１上に、設定した視点で仮想空間を表示する。
【００２５】
この結果、図２に示すように、ユーザ２００が仮想現実体感装置１００を持って実空間を移動すると、ユーザ２００の位置に応じて、仮想空間に設定される視点が連続して切り替わることになる。仮想現実体感装置１００によれば、ユーザにおける実空間での移動と仮想空間での移動とのシンクロが実現される。そして、これにより、ユーザ２００は、目の前に、仮想オブジェクトが存在していると感じることができる。なお、図１及び図２においては、ユーザ２００と仮想オブジェクト１０３との位置関係を示すため、実空間３００中に、仮想オブジェクト１０３が破線で示されている。
【００２６】
ここで、図１及び図２に示す例について具体的に説明する。図１及び図２の例では、仮想オブジェクト１０３として、自動車の形状を模した造形物（クレイモデル）の仮想オブジェクトが用いられている。更に、図１及び図２の例では、仮想現実体感装置１００は、ユーザ２００が、力覚提示部材１３を操作して、ユーザオブジェクト１０２を仮想オブジェクト１０３に接触させると、この仮想オブジェクト１０３の形状に変化を与えることができる。
【００２７】
具体的には、仮想現実体感装置１００は、ユーザオブジェクト１０２の位置から、更に、力覚提示部材１３の仮想空間での動き、即ち、ユーザオブジェクト１０２の動きを特定する。そして、特定した動きが、仮想オブジェクト１０３の表面を削り取るような動きである場合は、仮想現実体感装置１００は、仮想オブジェクト１０３の力覚提示部材１３（ユーザオブジェクト１０２）と接触した部分が削られるように、仮想オブジェクト１０３に変化を与えることができる。また、特定した動きが、仮想オブジェクト１０３の表面をなぞるような動きである場合は、仮想現実体感装置１００は、仮想オブジェクト１０３のなぞられた部分が盛り上がるように、仮想オブジェクト１０３に変化を与えることもできる。
【００２８】
つまり、図１及び図２の例では、ユーザ２００は、仮想現実体感装置１００を用いることによって、仮想空間内でクレイモデルの形状変更（微修正）を行なうことができる。このため、実際のクレイモデルを作成する必要がなくなるため、これを作成する場合に比べて低コストで、デザイン開発を行なうことが可能となる。また、図１及び図２の例では、ユーザ２００における作業のし易さを考慮して、仮想オブジェクト１０３のサイズ（スケール）を自由に設定できるので、デザイン開発の効率化が図られると考えられる。
【００２９】
また、ユーザ１００におけるリアリティを向上させるため、図１及び図２の例では、ユーザオブジェクト１０２として、ヘラ状に形成されたオブジェクトが用いられている。加えて、ユーザ１００における更なるリアリティの向上のため、力覚提示部材１３は、ユーザ２００がデザイン開発で使用するツールの形状、例えばヘラ状に形成されていても良い。
【００３０】
また、本実施の形態では、図２に示すように、複数の仮想現実体感装置１００を用い、装置間で、互いに通信させて仮想空間を共有させることもできる。この場合は、複数のユーザ２００が、１つの仮想オブジェクト１０３に対して形状を変化させることができるので、チームによるデザイン開発が可能となる。
【００３１】
続いて、図３を用いて、本実施の形態における仮想現実体感装置の具体的構成について説明する。図３は、本発明の実施の形態における仮想現実体感装置の各構成部品を示す分解斜視図である。
【００３２】
図３に示すように、仮想現実体感装置１００は、力覚提示部１０と、表示部２０と、提示位置検出部３０と、情報処理部４０とを備えている。
【００３３】
このうち、力覚提示部１０は、ユーザ２００（図１及び図２参照）に力覚を提示する。力覚提示部１０については更に後述する。表示部２０は、仮想空間を画面に表示する表示装置である。具体的には、表示装置２０は、液晶表示パネル、有機ＥＬパネルといった薄型の表示パネルである。
【００３４】
また、提示位置検出部３０は、仮想現実体感装置１００を基準とした、ユーザ２００が操作する力覚提示部材１３の位置を検出する。情報処理部４０は、まず、仮想現実体感装置１００の実空間３００での位置及び向きを特定するための外部情報を外部から取得する。次に、情報処理部４０は、取得した外部情報に基づいて、仮想現実体感装置１００の仮想空間での位置及び向きを特定する。
【００３５】
更に、情報処理部４０は、特定した仮想空間での位置及び向きと、提示位置検出部３０によって検出された力覚提示部材１３の位置とに基づいて、力覚提示部材１３の仮想空間での位置も特定する。
【００３６】
続いて、情報処理部４０は、特定した力覚提示部材１３の仮想空間での位置に対応して仮想空間内に変化を与え、この変化によってユーザが受けることになる外力を算出する。更に、情報処理部４０は、先に特定した仮想現実体感装置１００の仮想空間での位置及び向きに応じて、画面に仮想空間を表示する際の視点を設定し、表示部２０に、設定した視点で仮想空間を画面に表示させる。
【００３７】
そして、本実施の形態では、情報処理部４０による処理の結果、ユーザ２００が仮想現実体感装置１００を持って移動すると、ユーザ２００の位置に応じて、仮想空間に設定される視点が連続して切り替わる。これにより、ユーザにおける実空間での移動と仮想空間での移動とのシンクロが実現される。
【００３８】
また、図３に示すように、力覚提示部１０は、駆動部１１と、伝達部材１２と、力覚提示部材１３と、制御部１４とを備え、これらによって、ユーザ２００に、力覚提示部材１３を介して、力覚を提示することができる。
【００３９】
伝達部材１２は、仮想現実体感装置１００から力覚提示部材１３へと伸びて、力覚提示部材１３に引っ張り方向の力（以下、「引張力」と表記する。）を伝達する部材である。また、駆動部１１は、引張力を発生させ、それを伝達部材１２に与えている。
【００４０】
また、制御部１４は、まず、駆動部１１に、予め、設定された大きさの引張力を初期力として発生させる。そして、制御部１４は、情報処理部４０によって算出された外力が、力覚として、力覚提示部材１３を介してユーザ２００（図２参照）に伝達されるように、駆動部１１における初期力を増加又は減少させる。
【００４１】
このように、力覚提示部１０は、仮想現実体感装置１００の背面側に位置するユーザ２００の指に、力覚提示部材１３及び伝達部材１２を介して引っ張り方向の力を伝達することによって力覚を提示する。また、力覚提示部１０の構成は、コンパクトにできるので、装置の小型化も図られる。なお、本発明でいう「力覚」とは、ユーザが感じる、反発力、抵抗力、外力、感触、等を意味する。
【００４２】
ここで、図３に加えて図４を用いて、本実施の形態における仮想現実体感装置１００の構成について更に具体的に説明する。図４は、図３に示す仮想現実体感装置の背面を示す斜視図である。
【００４３】
図３及び図４に示すように、本実施の形態では、仮想現実体感装置１００は、更に、撮像装置５０を備えている。撮像装置５０は、仮想現実体感装置１００の周囲を撮影できるように配置されている。また、図２に示すように、本実施の形態では、実空間に予めマーカー５１が配置されている。このため、情報処理部４０は、外部情報として、撮像装置５０によって撮影された実空間の画像を取得する。
【００４４】
そして、本実施の形態では、情報処理部４０は、この取得した画像から、マーカー５１の画像を抽出し、抽出した画像の大きさ及び形状に基づいて、仮想現実体感装置１００の実空間での位置及び向きを特定する。続いて、情報処理部４０は、予め設定されている実空間３００と仮想空間との位置関係に、特定した実空間での位置及び向きを照らし合わせて、仮想現実体感装置１００の仮想空間での位置及び向きを特定する。
【００４５】
また、図３に示すように、仮想現実体感装置１００は、ユーザ側から順に、枠状に形成されたカバー６０と、表示部２０と、箱状の筐体６１とを備えている。カバー６０は、表示部２０の画面が露出するように、筐体６１の開口部分に取り付けられる。
【００４６】
上述した、駆動部１１、制御部１４、提示位置検出部３０、情報処理部４０及び撮像装置５０は、表示部２０の背面側となる筐体６１の内部に配置されている。また、図３に示すように、本実施の形態では、３本の伝達部材１２が用いられており、これに対応して３つの駆動部１１が配置されている。
【００４７】
本実施の形態では、伝達部材１２それぞれは、仮想現実体感装置１００の背面側の異なる位置から力覚提示部材１３へと伸びる紐状の部材、例えば、ワイヤーである。また、各伝達部材１２の先端は、力覚提示部材１３に固定されている。
【００４８】
また、本実施の形態では、各駆動部１１は、プーリ１５が軸に取り付けられたモータであり、対応する伝達部材１２をプーリ１５で巻き取ることによって、対応する伝達部材１２に、引っ張り方向の力を与えている。伝達部材１２の一端はプーリに固定されている。
【００４９】
更に、筐体６１の底面には、伝達部材１２毎に、通し穴１６が設けられており、各伝達部材１２は、通し穴１６を経由して、仮想現実体感装置１００の背面側へと伸びる。なお、各通し穴１６の位置は、特に限定されないが、後述するように、力覚の提示範囲は各通し穴１６の位置によって決定される（図１０の領域Ｘ参照）。よって、各通し穴１６の位置は、求められる提示範囲を考慮した上で決定される。
【００５０】
このように、本実施の形態においては、３本の伝達部材１２によって、力覚提示部材１２が引っ張られることによって、ユーザ２００に力覚が提示される（図１及び図２参照）。つまり、各駆動部１１が力覚提示部材１３に与える引張力の合力によって、力覚が提示される。
【００５１】
また、本実施の形態では、提示位置検出部３０は、駆動部１１毎に、その軸に設けられたエンコーダである。このため、提示位置検出部３０は、力覚提示部材１３の位置を検出するためのデータ（以下、「位置検出データ」と表記する。）として、モータの軸の回転数を特定するデータを、情報処理部４０に出力する。
【００５２】
そして、情報処理部４０は、各提示位置検出部３０から出力された位置検出データを受け取ると、予め登録されている、伝達部材１２の全長、プーリ１５の直径、プーリ１５から通し穴１６までの距離等に基づいて、各伝達部材１２の通し穴１６から力覚提示部材１３までの長さを算出する。また、情報処理部４０は、後述するように、算出された各伝達部材１２の長さに基づいて、力覚提示部材１３の位置を算出する。
【００５３】
また、本実施の形態では、制御部１４、情報処理部４０、及び外部情報取得部５０は、それぞれ、マイコン等のコンピュータによって実現されている。また、両者は、それぞれ別々のコンピュータによって実現されていても良いし、同一のコンピュータによって実現されていても良い。
【００５４】
以上、図３に示すように、本実施の形態では、駆動部１１として機能するモータによる力の伝達機構として、紐状の部材（伝達部材１２）が用いられる。従って、力覚提示部１０において、構成部材の軽量化と、力覚を提示するための機構の単純化とが図られるので、仮想現実体感装置１００の小型軽量化が達成される。
【００５５】
また、本実施の形態では、駆動部材１２による引張力の伝達方向は、プーリ１５及び通し穴１６の位置によって、自由に設定できる。更に、伝達部材１２の通し穴から力覚提示部材１３までの距離は、プーリ１５での巻き取り量によって、自由に設定できる。従って、ユーザが操作できる範囲を大きくできるので、広い範囲での３次元的な力覚の提示が可能となる。また、伝達部材１２として、軽量な紐状の部材が用いられているので、ユーザは、指を動かす際に、機械的な抵抗などを感じ難いといえる。
【００５６】
続いて、図５を用いて、仮想現実体感装置１００でやり取りされるデータについて説明する。図５は、本発明の実施の形態における仮想現実体感装置の構成を示すブロック図である。
【００５７】
図３に示すように、情報処理部４０は、表示部２０、提示位置検出部３０、撮像装置５０、及び制御部１４に接続されている。また、制御部１４は、駆動部（モータ）１１に接続されている。
【００５８】
この構成では、ユーザ２００が、力覚提示部材１３を装着した指を、仮想現実体感装置１００の背面側で動かすと、各提示位置検出部３０が、位置検出データを情報処理部４０に出力する。情報処理部４０は、各位置検出データを受け取ると、これらに基づいて、仮想現実体感装置１００を基準とした力覚提示部材１３の位置を特定する。
【００５９】
また、情報処理部４０は、撮像装置５０から、外部情報として、実空間の画像（画像データ）を取得すると、マーカー５１の画像を抽出し、抽出した画像の大きさ及び形状に基づいて、仮想現実体感装置１００の実空間での位置及び向きを特定する。なお、撮像装置５０からの画像データの出力は、例えば、設定されたフレームレートで連続して行なわれている。
【００６０】
続いて、情報処理部４０は、仮想現実体感装置１００の実空間での位置及び向きから、仮想現実体感装置１００の仮想空間での位置及び向きを特定し、更に、力覚提示部材１３の仮想空間での位置も特定する。そして、情報処理部４０は、力覚提示部材１３の仮想空間での位置を特定すると、特定した位置に応じて、ユーザオブジェクト１０２（図１参照）の位置を変更する。
【００６１】
また、情報処理部４０は、力覚提示部材１３の仮想空間での位置を特定すると、仮想オブジェクト１０３のデータを格納しているコンテンツデータデータベース４１にアクセスする。更に、情報処理部４０は、仮想オブジェクトのデータを用い、必要に応じて、仮想オブジェクト１０３に変化を与える処理を行なう。
【００６２】
そして、情報処理部４０は、仮想現実体感装置１００の仮想空間での現在の位置及び向きに対応するように視点を設定し、その視点を基準に、処理後の仮想オブジェクト１０３を表示させる表示データを作成して、表示部２０に出力する。
【００６３】
なお、コンテンツデータデータベース４１は、仮想現実体感装置１００に備えられた記憶装置に構築されていても良いし、インターネットで接続された別の機器（コンピュータ）の記憶装置に構築されていても良い。
【００６４】
また、このとき、情報処理部４０は、力覚提示部材１３（ユーザオブジェクト１０２）に仮想空間内で発生した力を算出し、算出した力を特定するデータ（以下「提示データ」と表記する。）を、制御部１４に出力する。この算出された力は、ユーザオブジェクト１０２に発生した反発力等であり、ユーザに伝達すべき力覚に相当する。
【００６５】
制御部１４は、提示データを受け取ると、提示データによって特定される力覚がユーザ２００に伝達されるように、各駆動部１１が出力すべき引張力を算出する。そして、制御部１４は、各駆動部１１に目的の引張力を発揮させる制御データを生成し、これを各駆動部１１に出力する。
【００６６】
具体的には、制御部１４は、電源回路（図示せず）を用いて、駆動部１１として機能するモータを駆動するためのパルス信号を生成し、これを制御データとして出力する。これにより、各駆動部（モータ）１１は、計算された引張力で伝達部材１２を引っ張り、ユーザ２００の指先には、提示データによって特定される力覚が提示される。
【００６７】
［装置動作］
次に、本発明の実施の形態における仮想現実体感装置１００の動作について図６を用いて説明する。図６は、本発明の実施の形態における仮想現実体感装置の動作を示すフロー図である。なお、以下の説明においては、適宜図１〜図５を参酌する。また、本実施の形態では、仮想現実体感装置１００を動作させることによって、仮想現実体感方法が実施される。よって、本実施の形態における仮想現実体感方法の説明は、以下の仮想現実体感装置１００の動作説明に代える。
【００６８】
最初に、情報処理部４０は、撮像装置５０から出力されてくる画像データを取得し、画像データから、マーカー５１の画像を抽出し、抽出した画像の大きさ及び形状に基づいて、仮想現実体感装置１００の実空間での位置及び向きを特定する（ステップＳ１０１）。
【００６９】
次に、情報処理部４０は、予め設定されている実空間３００と仮想空間との位置関係に、ステップＳ１０１で特定した実空間での位置及び向きを照らし合わせて、仮想現実体感装置１００の仮想空間での位置及び向きを特定する（ステップＳ１０２）。
【００７０】
次に、情報処理部４０は、各位置検出部３０が出力した位置検出データから、各伝達部材１２の通し穴１６から力覚提示部材１３までの長さを算出し、更に、算出された各伝達部材１２の長さに基づいて、力覚提示部材１３の仮想現実体感装置１００を基準とした位置を特定する。
【００７１】
そして、情報処理部４０は、力覚提示部材１３の仮想現実体感装置１００を基準とした位置と、ステップＳ１０２で特定した仮想現実体感装置１００の仮想空間での位置及び向きとを用いて、力覚提示部材１３の仮想空間での位置、即ち、ユーザオブジェクト１０２の位置を特定する（ステップＳ１０３）。また、情報処理部４０は、特定した位置に応じて、ユーザオブジェクト１０２（図１参照）の位置を変更する。
【００７２】
次に、情報処理部４０は、ステップＳ１０３で特定したユーザオブジェクト１０２の位置に応じて、仮想オブジェクト１０３に変化を与えると共に、ユーザオブジェクト１０２に仮想空間内で発生した提示力を算出し、更に提示データを制御部１４に出力する（ステップＳ１０４）。
【００７３】
次に、情報処理部４０は、ステップＳ１０２で特定した、想現実体感装置１００の仮想空間での位置及び向きに対応するように、画面１０１に仮想空間を表示する際の視点を設定する（ステップＳ１０５）。更に、ステップＳ１０５では、情報処理部４０は、設定した視点を基準に、ステップＳ１０４の処理後の仮想オブジェクト１０３を表示させる表示データを作成し、これを表示部２０に出力する。これにより、表示部２０の画面１０１には、ユーザ２００の位置に対応した視点で、処理後の仮想オブジェクトが表示される。
【００７４】
次に、制御部１４は、情報処理部４０から提示データを受け取ると、提示データで特定される提示力を提示する上で各駆動部１１が出力すべき引張力を算出する（ステップＳ１０６）。また、ステップＳ１０６では、制御部１４は、更に、各駆動部１１によって、算出された引張力が発生するように制御データを生成し、これを各駆動部１１に出力する。
【００７５】
ステップＳ１０６が実行されると、各駆動部１１を構成するモータは、出力されてきた制御データに応じて回転して伝達部材１２を引っ張り、ユーザ２００の指先に、力覚提示部材１３を介して力覚を提示する（ステップＳ１０７）。
【００７６】
また、本実施の形態においては、ステップＳ１０１〜Ｓ１０７は、繰り返し実行される。よって、ユーザ２００が、力覚提示部材１３を、ある位置から別の位置まで指を動かした場合は、その開始から終了までの間に、ステップＳ１０１〜Ｓ１０７は繰り返し実行されるので、その間、ユーザ２００は、連続して、力覚の提示を受けることができる。
【００７７】
ここで、図６に示したステップＳ１０３、Ｓ１０４、及びステップＳ１０６について、図５〜図８を用いて更に詳細に説明する。
【００７８】
［ステップＳ１０３］
まず、図７を用いて、図６に示したステップＳ１０３について説明する。図７は、図６に示したステップＳ１０３を説明するための図である。ステップＳ１０３における処理では、まず、上述したように、仮想現実体感装置１００を基準とした力覚提示部材１３の位置が、伝達部材１２の長さによって特定される。また、伝達部材１２の長さは、位置検出部３０によって特定される。
【００７９】
具体的には、図６に示すように、各伝達部材１２の通し穴１６から力覚提示部材１３までの長さを、それぞれ、ｌ１、ｌ２、ｌ３とし、画面の水平方向において隣り合う通し穴間の間隔をｗとし、画面の垂直方向において隣り合う通し穴間の間隔をｈとする。この場合、情報処理部４０は、ｌ１、ｌ２、ｌ３、ｗ、及びｈを用いて、力覚提示部材１３の座標（ｘ、ｙ、ｚ）を幾何的に算出する。
【００８０】
その後、情報処理部４０は、ステップＳ１０２で特定した仮想現実体感装置１００の仮想空間での位置及び向きに、算出した力覚提示部材１３の座標（ｘ、ｙ、ｚ）を当てはめることによって、ユーザオブジェクト１０２の位置を特定する。
【００８１】
［ステップＳ１０４］
次に、図１及び図２を参照しながら、図６に示したステップＳ１０４について説明する。ステップＳ１０４では、上述したように、ユーザ２００による力覚提示部材１３の動きに合せて、仮想空間内でユーザオブジェクト１０２が動き、仮想空間内の仮想オブジェクト１０３に変化が与えられる。
【００８２】
具体的には、情報処理部４０は、まず、ステップＳ１０３で特定したユーザオブジェクト１０２の位置と、それ以前のユーザオブジェクト１０２の位置とを比較して、ユーザオブジェクト１０２の動きを特定する。続いて、情報処理部４０は、コンテンツデータデータベース４１から、仮想オブジェクト１０３のデータを取得し、これに、ユーザオブジェクト１０２の動きを当てはめて、どのような動きであるかを判定する。
【００８３】
例えば、情報処理部４０は、ユーザオブジェクト１０２の現在の位置と過去の位置とを結ぶ軌跡が、仮想オブジェクト１０３の表面より内側に存在しているときは、ユーザオブジェクト１０２の動きは「表面を削り取る」動きであると判定する。また、情報処理部４０は、ユーザオブジェクト１０２の現在の位置と過去の位置とを結ぶ軌跡が、仮想オブジェクト１０３の表面より外側にあり、且つ、軌跡と表面との距離が設定範囲内であれば、、ユーザオブジェクト１０２の動きは「表面をなぞる」動きであると判定する。
【００８４】
そして、判定の結果、ユーザオブジェクト１０２の動きが、仮想オブジェクト１０３の表面を削り取る動きである場合は、情報処理部４０は、仮想オブジェクト１０３のユーザオブジェクト１０２と接触した部分が削られるように、仮想オブジェクト１０３に変化を与える。一方、判定の結果、ユーザオブジェクト１０２の動きが、仮想オブジェクト１０３の表面をなぞる動きである場合は、情報処理部４０は、仮想オブジェクト１０３のなぞられた部分が盛り上がるように、仮想オブジェクト１０３に変化を与える。
【００８５】
また、この場合において、仮想オブジェクト１０３の削られる部分の形状及び量と、盛り上げられる部分の形状及び量とは、仮想オブジェクト１０３とユーザオブジェクト１０２との位置関係に応じて決定される。このため、ユーザ２００の感覚と仮想オブジェクト１０３の変化とが一致することになる。
【００８６】
更に、ステップＳ１０４において、提示力の算出は、例えば、仮想空間内の物理シミュレータを用いて、ユーザオブジェクト１０２が仮想オブジェクト１０３に接触した場合にうける反力をシミュレートすることによって行なわれる。また、上述したように、仮想オブジェクト１０３を削ったり、盛り上げたりする場合においては、提示力は、削られる部分の量又は盛り上げられる部分の量が大きい程、大きくなるように算出されるのが良い。この結果、ユーザ２００は、力覚によって、削り加減と盛り上げ加減とを判断することができる。
【００８７】
また、算出された提示力（以下「提示力Ｆ」と表記する。）は、ユーザ２００に提示すべき力覚に相当する（後述の図８及び図９参照）。よって、情報処理部４０は、提示力Ｆが提示されるようにするため、提示力Ｆを特定する提示データを制御部１４に出力する。
【００８８】
［ステップＳ１０６］
次に、図８及び図９を用いて、図６に示したステップＳ１０６について説明する。
【００８９】
図８は、図６に示したステップＳ１０６を説明するための図である。図８に示すように、目的の提示力Ｆを提示するために必要となる各伝達部材１２の引張力を、それぞれ、τ１、τ２、τ３とすると、提示力Ｆは、基本的には、引張力τ１、τ２、及びτ３の合力に相当する。
【００９０】
そして、提示力Ｆが、外部から仮想現実体感装置１００に向かう方向の力である場合には、提示力Ｆの方向は、引張力τ１〜τ３の合力の方向と一致する。しかし、図８に示すように、提示力Ｆが仮想現実体感装置１００から離れる方向の力である場合には、伝達部材１２は、紐状の部材であり、仮想現実体感装置１００側へと引っ張る方向の力しか伝達できないため、力覚の提示ができなくなる可能性がある。
【００９１】
そのため、本実施の形態では、制御部１４は、上述したように、力覚を提示しない場合において、予め、力覚提示部材１３に一定の力を常に初期力Ｆ０として提示する。そして、制御部１４は、提示力Ｆが、仮想現実体感装置１００から離れる方向の力である場合は、初期力Ｆ０を緩めることにより、仮想現実体感装置１００から離れる方向への力覚を提示している。
【００９２】
一般に、ヒトの触感覚には、その時間特性として、順応と呼ばれる現象がある。順応は、ヒトに一定の刺激を提示し続けると、刺激に対する感度が低下する現象である。つまり、ヒトの皮膚は、圧力に対してきわめて順応しやすく、指輪及び腕時計を装着した場合、その装着感は失われやすい。
【００９３】
また、重力に対しても同様であり、ヒトは、普段、その力を意識することはない。例えば、電車に乗っている際の加速時又は減速時において、ヒトには、その慣性力と重力との合力が力として加わっているが、電車に乗っているヒトは、合力を感じず、移動方向への慣性力のみを感じる。
【００９４】
このように、本実施の形態では、ヒトの順応性が利用され、初期力Ｆ０を増加又は減少させることによって、仮想現実体感装置１００に向かう方向の力覚と離れる方向の力覚との提示が可能となっている。
【００９５】
続いて、図９を用いて、伝達部材１２に与える引張力τ１〜τ３の算出処理について具体的に説明する。図９（ａ）は、引張力の算出処理を説明するための図であり、図９（ｂ）は、引張力の算出処理に用いられる座標軸を示す図である。
【００９６】
図９（ａ）及び図９（ｂ）において、引張力τ１〜τ３は、初期力Ｆ０を発生させるために必要となる引張力を除いた引張力であり、初期力Ｆ０に対して加算又は減算させる引張力である。また、図９（ａ）及び図９（ｂ）において、座標軸の原点は、各伝達部材１２の先端の位置とする。更に、ｘ軸は画面の水平方向に平行な軸、ｙ軸は画面の垂直方向に平行な軸、ｚ軸は画面の法線に平行な軸とする。図９（ｂ）において、単位ベクトルｒの座標を、（ｒ，ψｉ，θｉ）とする。この場合、引張力τ１〜τ３は、目的の提示力を発揮するためには、下記の数１の関係を満たす必要がある。
【００９７】
【数１】
2015153387.tif 000003
【００９８】
また、上記数１において、伝達部材１２の引張力τ１〜τ３はスカラー量であり、引張力τ１〜τ３の方向ベクトルΦｉは、数２によって表わされる。
【００９９】
【数２】
2015153387.tif 000004
【０１００】
制御部１４は、上記数１及び数２を用いることで、引張力τ１〜τ３を算出することができる。また、上記数１に示すように、目的の提示力Ｆは、各伝達部材１２の引張力から初期力Ｆ０を減算することによって得られている。このため、提示力Ｆが、仮想現実体感装置１００から離れる方向（−ｚ方向）の、初期力Ｆ０を超える力でない限りは、仮想現実体感装置１００から離れる方向（−ｚ方向）においても力覚の提示が可能となる。
【０１０１】
なお、各伝達部材１２の引張力の条件として、引張力τ１、τ２、τ３は、引っ張る方向にしか力を提示できないため、これらは必ず正の値をとる。また、各引張力の最低値をτｍｉｎとした場合は、下記の数３が成立する。
【０１０２】
【数３】
2015153387.tif 000005
【０１０３】
ところで、伝達部材１２は、引っ張り方向の力しか伝達できないため、引張力τ１、τ２、τ３の合力によって、提示すべき力覚を提示できない状況が発生することがある（図１０参照）。具体的には、力覚提示部材１３が、画面の法線に平行な方向（ｚ軸方向）において、隣接する通し穴１６を直線で結んで得られる領域（図１０の領域Ｘ参照）と重ならない位置にある場合は、上記数１では、目的の提示力Ｆを算出できなくなる可能性がある。このような場合、本実施の形態では、制御部１４は、提示すべき力覚（提示力Ｆ）を設定し直し、設定し直した提示力Ｆｒが提示されるように、初期力Ｆ０を増加又は減少させる。以下に、上記再設定処理について具体的に説明する。
【０１０４】
図１０は、提示力の再設定処理を説明するための図である。図１０に示すように、例えば、力覚提示部材１３の位置（ｘ、ｙ、ｚ）が、隣接する通し穴１６を直線で結んで得られる領域Ｘとｚ軸方向において重ならない位置にある場合を想定する。
【０１０５】
図１０に示す場合において、提示力Ｆのｘ軸方向の成分が正でない限り、各伝達部材１２の張力をどのように設定しても、上記数１及び数２によって提示力Ｆを算出することは不可能である。一方、このような状況であっても、ユーザは、指を領域Ｘとｚ軸方向において重なる位置に移動させることはできる。従って、制御部１４は、このような場合において、上記数１及び数２によって、引張力τ１、τ２、τ３を算出できるように、提示力Ｆｒを再設定する。
【０１０６】
図１０の例では、実際に、引張力τ１、τ２、及びτ３によって引っ張りたい方向は、提示力Ｆと初期力Ｆ０との合力の方向である。しかし、この方向は、各伝達部材１２の合力によって引っ張ることができる方向ではない。このため、制御部１４は、提示力Ｆと初期力Ｆ０との合力に最も近い力を、新たな提示力Ｆｒとして再設定する。
【０１０７】
図１０の例では、引張力τ１と引張力τ２とで発生させる提示力Ｆｒが、元の提示力Ｆと初期力Ｆ０との合力に近くなる。そこで、制御部１４は、引張力τ１と引張力τ２とを発生させる２本の伝達部材１２によって作られる面に、元の提示力Ｆと初期力Ｆ０との合力を回転射影することで、新しい提示力Ｆｒを再設定する。
【０１０８】
具体的には、引張力τ１と引張力τ２とを発生させる２本の伝達部材１２によって作られる面への射影ベクトルＶは、下記の数４によって表すことができる。下記の数４において変数「ａ」は、図１０に示すように、回転射影を行なった場合の回転角度ωを最も小さくする位置、即ち、領域Ｘの画面の垂直方向における辺上の位置を割合で表わしている（０＜ａ＜１）。また、Φ１は通し穴１６を基準にしたτ１の方向ベクトルである。Φ２は通し穴１６を基準にしたτ２の方向ベクトルである。Φ１及びΦ２は、上述の数２から求められる。
【０１０９】
【数４】
2015153387.tif 000006
【０１１０】
従って、制御部１４は、下記数５を用いて、射影ベクトルＶと元の提示力Ｆ及び初期力Ｆ０の合力との内積を、最も小さくする射影ベクトルを算出する。そして、制御部１４は、算出した射影ベクトルを、下記の数６に適用して、新たな提示力Ｆｒを算出する。その後、制御部１４は、新たな提示力Ｆｒを用いて、各伝達部材１２の引張力τ１、τ２、τ３を算出し、これらが発生するように制御データｄを生成し、各駆動部１１に出力する。
【０１１１】
【数５】
2015153387.tif 000007
【０１１２】
【数６】
2015153387.tif 000008
【０１１３】
［変形例１］
上述した例では、伝達部材１２は三本であるが、本実施の形態では、伝達部材１２の数は特に限定されるものではない。伝達部材１２の数は、仮想現実体感装置１００を大型化させない範囲で設定されていれば良い。
【０１１４】
［変形例２］
上述した例では、駆動部１１としてモータが用いられているが、本実施の形態では、駆動部はモータに限定されない。駆動部１１は、駆動部材を引っ張ることが可能なアクチュエータであれば良く、駆動部１１としては、他に、伸張動作を行なう人工筋肉アクチュエータ、繊維状の形状記憶合金アクチュエータ、などが挙げられる。
【０１１５】
［変形例３］
また、上述した例では、位置検出部３０として、伝達部材の長さを特定するエンコーダが用いられているが、本実施の形態では、位置検出部３０は、エンコーダ以外であっても良い。例えば、位置検出部３０として、撮像装置５０を用いることができる。この場合は、力覚提示部材１３の位置が光学的に検出される。また、位置検出部３０として、仮想現実体感装置１００の背面に設置された磁気センサを用いることもできる。この場合は、磁気を発する材料で力覚提示部材１３を形成することによって、力覚提示部材１３の位置検出が可能となる。
【０１１６】
［変形例４］
また、上述した例では、図７に示したように、伝達部材１２を引張し始める位置である通し穴１６の位置は、縦方向をｈ、横方向をｗとした直角三角形の頂点位置に設定されているが、本実施の形態において、通し穴１６の位置は特に限定されるものではない。また、全ての通し穴は、同一平面内に配置されていなくても良い。通し穴１６の位置は、仮想現実体感装置１００の厚みが許す範囲で適宜設定される。
【０１１７】
［変形例５］
また、上述した例では、仮想現実体感装置１００の背面側を操作空間にして、力覚が提示されているが、本実施の形態では、仮想現実体感装置１００の画面側の空間が操作空間となっていても良い。但し、この場合は、初期力Ｆ０の方向は、ｚ軸において負の方向となる（図９参照）。
【０１１８】
［変形例６］
また、図１１は、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。図１１に示すように、本実施の形態では、仮想現実体感装置１００を構成している筐体には、力覚提示部材１３を収容するための凹部１７と、伝達部材１２を収容するための溝１８とが形成されているのが好ましい。図１１に示す態様とした場合は、ユーザにおいて、仮想現実体感装置１００の持ち運びが容易なものとなる。
【０１１９】
［変形例７］
上述した例では、仮想現実体感装置は、タブレット状に形成されているが、本実施の形態は、これに限定されるものではない。本実施の形態では、例えば、図１２に示すように、仮想現実体感装置は、ユーザの顔面に装着されるヘッドマウントディスプレイに組み込まれていても良い。
【０１２０】
図１２は、本発明の実施の形態における仮想現実体感装置がヘッドマウントディスプレイに組み込まれている例を示す図である。図１２の例では、ユーザは、ヘッドマウントディスプレイ７０の内側に取り付けられている表示パネル（図示せず）に映し出されている仮想空間を見ながら、ヘッドマウントディスプレイ７０の前方で、力覚提示部材１３を装着した指を動かすことで、仮想オブジェクトに変化を与えることができる。
【０１２１】
また、図１２の例では、ユーザに力覚を提示するための力覚提示部１０（図３参照）は、ヘッドマウントディスプレイ７０に組み込まれているが、本実施の形態は、これに限定されるものではない。例えば、本実施の形態における仮想現実体感装置は、ヘッドマウントディスプレイと、力覚提示部１０として機能する装置とで構成された態様であっても良い。この場合、力覚提示部１０として機能する装置は、ユーザの腕等に取り付けられても良い。
【０１２２】
［変形例８］
本実施の形態実施では、図１３に示すように、力覚提示部材１３には、切換スイッチ１９が備えられていてもよい。図１３は、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。この例では、ユーザが切換スイッチ１９の切り換え操作を行なうと、操作に応じて、スイッチ１９から情報処理部４０へと信号を出力することが可能となるので、ユーザによる仮想空間へのアクションの自由度が向上することになる。
【０１２３】
例えば、スイッチがあるポジションにある場合は、仮想オブジェクトのユーザオブジェクトに接触した部分が削られ、スイッチが別のポジションにある場合は、仮想オブジェクトのユーザオブジェクトに接触した部分が盛り上がる、ように設定されていても良い。
【０１２４】
また、本実施の形態では、力覚提示部材１３には、図１３に示す切換スイッチ１９に加えて、鉛直方向に対する傾きを検出する３軸加速度センサが備えられていても良い。この場合は、情報処理部４０は、３軸加速度センサからの信号に基づいて、力覚提示部材１３の向きを検出することができ、向きに応じて、仮想オブジェクトに変化を与えたり、提示力を算出したりすることができる。このため、ユーザにおけるリアリティをいっそう向上させることができる。また、この態様は、力覚提示部材１３が、ユーザがデザイン開発で使用するツールの形状に形成されている場合に、特に有用である。
【０１２５】
更に、力覚提示部材１３において切換スイッチ１９及び３軸加速度センサを備えさせる場合は、伝達部材１２の内部に導電性の線材を組み込む等して、伝達部材１２を、配線として用いるのが好ましい。
【０１２６】
［変形例９］
本実施の形態では、図１４に示すように、仮想現実体感装置１００の筐体６１の側面に、接触センサ８０が備えられていても良い。図１４も、図１３に示した変形例８と同様に、本発明の実施の形態における仮想現実体感装置の他の例を示す斜視図である。図１４に示す例では、ユーザが接触センサ８０に触れて操作を行なうと、操作に応じて、接触センサ８０から情報処理部４０へと信号を出力することが可能となる。よって、図１４に示す例でも、変形例８と同様に、ユーザによる仮想空間へのアクションの自由度が向上することになる。
【０１２７】
具体的には、図１４の例では、接触センサ８０は、ユーザ２０が接触すると、接触位置に応じて異なる信号を出力するように構成されている。このため、情報処理部４０は、接触センサ８０からの信号を受け取ると、受け取った信号に基づいて、ユーザの接触位置を特定することができる。この場合、情報処理部４０は、例えば、仮想オブジェクト１０３のサイズを、接触位置が上方である程大きくしたり、下方である程小さくしたりすることができる。
【０１２８】
［変形例１０］
上述した例では、仮想現実体感装置１００の実空間での位置及び向きの特定は、それ自体に備えられた撮像装置の撮影画像に基づいて行なわれているが、本実施の形態は、これに限定されるものではない。その他、実空間に幾つかの定点カメラが設置されている場合は、仮想現実体感装置１００の情報処理部４０は、各定点カメラからの画像を取得し、そこに写っている当該装置の画像から、当該装置の実空間での位置及び向きを特定することもできる。
【０１２９】
［適用例］
図１及び図２の例では、仮想現実体感装置１００は、自動車のデザイン開発におけるクレイモデルの作成に用いられているが、本実施の形態において、仮想現実体感装置１００の用途は特に限定されるものではない。仮想現実体感装置１００は、建築物、自動車以外の工業製品（例えば、船舶、家電、コンピュータ、情報端末、服飾等）のデザイン開発にも用いることができる。また、本実施の形態では、図２に示したように、複数人が協力してデザイン開発を行なう場合に有用であることから、特に、大型の工業製品や建築物に有用である。更に、仮想現実体感装置１００は、デザイン開発以外の用途、例えば、仮想空間に構築された街を体験するといった用途にも有用である。
【０１３０】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図６に示すステップＳ１０１〜Ｓ１０６を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、コンピュータのＣＰＵ（Central Processing Unit）は、情報処理部４０及び制御部１４として機能し、処理を行なう。また、この場合のコンピュータは、特に限定されず、上述したマイコンであっても良いし、汎用のパーソナルコンピュータであっても良い。更に、携帯電話、スマートフォン、又はタブレット型の情報端末に備えられているコンピュータであっても良い。
【０１３１】
本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体に記録された状態で提供されても良いし、インターネット介して送信されても良い。なお、記録媒体の具体例としては、ＣＦ（Compact Flash）及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１３２】
［実施の形態における効果］
以上のように、本実施の形態では、ユーザは、力覚提示部材を操作することで、仮想空間内に与えた変化に応じて、力覚を感じることができる。本実施の形態では、十分に大きな操作範囲が確保でき、二次元的に広いだけでなく、奥行き方向も含めた広い範囲での三次元的な力覚の提示が可能となる。
【０１３３】
また、本実施の形態では、力覚の発生は、ヒトの知覚特性を考慮して行なわれているため、発生した力覚は、ユーザにとって違和感のないものとなる。更に、伝達部材の長さを確保することで、ユーザは指を大きく動かすことができ、この点からも、力覚は、ユーザにとって違和感のないものとなる。
【０１３４】
更に、本実施の形態によれば、仮想空間は実空間に重ね合わされているので、ユーザが仮想現実体感装置を持って実空間を移動すると、それに応じて、仮想空間に設定される視点が連続して切り替わる。このため、ユーザにおける実空間での移動と仮想空間での移動とのシンクロが実現される。また、この結果、ユーザは、目の前に、仮想オブジェクトが存在していると感じることができる。
【産業上の利用可能性】
【０１３５】
以上のように本発明によれば、ユーザにおける実空間での移動と仮想空間での移動とのシンクロを実現することができる。本発明は、仮想現実が利用される全ての分野に有用である。
【符号の説明】
【０１３６】
１０  力覚提示部
１１  駆動部
１２  伝達部材
１３  力覚提示部材
１４  制御部
１５  プーリ
１６  通し穴
１７  力覚提示部材収納用の凹部
１８  伝達部材収納用の凹部
１９  切換スイッチ
２０  表示部
３０  提示位置検出部
４０  情報処理部
５０  撮像装置
５１  マーカー
６０  カバー
６１  筐体
７０  ヘッドマウントディスプレイ
８０  接触センサ
１００  仮想現実体感装置
１０１  画面
１０２  ユーザオブジェクト
１０３  仮想オブジェクト
２００  ユーザ
【図１】
2015153387.tif 000009
【図２】
2015153387.tif 000010
【図３】
2015153387.tif 000011
【図４】
2015153387.tif 000012
【図５】
2015153387.tif 000013
【図６】
2015153387.tif 000014
【図７】
2015153387.tif 000015
【図８】
2015153387.tif 000016
【図９】
2015153387.tif 000017
【図１０】
2015153387.tif 000018
【図１１】
2015153387.tif 000019
【図１２】
2015153387.tif 000020
【図１３】
2015153387.tif 000021
【図１４】
2015153387.tif 000022