(57)【要約】【課題】  現実物体に触れた場合の感触と、仮想物体に触れた場合の感触とを近づけることで、より没入感のある触覚複合現実環境を提供するための技術を提供すること。【解決手段】  接触判定部１０３は、触覚提示装置１０が装着された部位の位置姿勢情報、現実空間を構成する各現実物体の位置姿勢、形状を示す第１情報、仮想空間を構成する各仮想物体の位置姿勢、形状を示す第２情報、を取得する。そして接触判定部１０３はこれらの情報を用いて、上記部位と接触している対象が現実物体であるのか、仮想物体であるのかを判定する。刺激制御部１０８は、上記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて、触覚提示装置１０を駆動制御するための基準値を設定し、設定した基準値に基づいて触覚提示装置１０の駆動制御を行う。【選択図】  図４
2009276996.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮像された現実空間の画像と、当該撮像装置の位置姿勢に応じて生成された仮想空間の画像と、を合成した合成画像をユーザに提示する為の処理を行うと共に、当該ユーザの人体に対して刺激を与える為に当該人体に装着された刺激発生部を制御する為の処理を行う情報処理装置であって、
前記刺激発生部が装着された部位の位置姿勢情報を取得する手段と、
前記現実空間を構成する各現実物体の位置姿勢、形状を示す第１情報と、前記仮想空間を構成する各仮想物体の位置姿勢、形状を示す第２情報と、前記位置姿勢情報と、を用いて、前記部位と接触している対象が現実物体であるのか、仮想物体であるのかを判定する判定手段と、
前記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて、前記刺激発生部を駆動制御するための基準値を設定する設定手段と、
前記基準値に基づいて前記刺激発生部の駆動制御を行う制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記部位を模した仮想物体と、前記第１情報に基づく各仮想物体及び前記第２情報に基づく各仮想物体との接触判定を行い、
前記部位を模した仮想物体が前記第１情報に基づく仮想物体と接触していると判定した場合には、前記部位と接触している対象が現実物体であると判定し、前記部位を模した仮想物体が前記第２情報に基づく仮想物体と接触していると判定した場合には、前記部位と接触している対象が仮想物体であると判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、
前記部位と接触している対象が現実物体であると判定された場合に設定する基準値を、前記部位と接触している対象が仮想物体であると判定された場合に設定する基準値よりも高い値に設定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記設定手段は更に、設定した基準値を調整する手段を有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記部位と接触している対象が現実物体であると判定された場合、当該現実物体の物性に対応する基準値を設定することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記設定手段は、前記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて決定した基準値と、前回決定した基準値とを用いて補間した結果を、今回用いる基準値として設定することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記部位には更に圧力センサが装着されており、
前記設定手段は、設定した基準値を更に、前記圧力センサによる計測結果に基づいて調整することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記設定手段は、前記圧力センサが計測した圧力が高いほど、基準値を増加させることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
撮像装置により撮像された現実空間の画像と、当該撮像装置の位置姿勢に応じて生成された仮想空間の画像と、を合成した合成画像をユーザに提示する為の処理を行うと共に、当該ユーザの人体に対して刺激を与える為に当該人体に装着された刺激発生部を制御する為の処理を行う情報処理装置が行う情報処理方法であって、
前記刺激発生部が装着された部位の位置姿勢情報を取得する工程と、
前記現実空間を構成する各現実物体の位置姿勢、形状を示す第１情報と、前記仮想空間を構成する各仮想物体の位置姿勢、形状を示す第２情報と、前記位置姿勢情報と、を用いて、前記部位と接触している対象が現実物体であるのか、仮想物体であるのかを判定する判定工程と、
前記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて、前記刺激発生部を駆動制御するための基準値を設定する設定工程と、
前記基準値に基づいて前記刺激発生部の駆動制御を行う制御工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の情報処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間と仮想空間とを合成した空間を観察するユーザに対して与える刺激の制御技術に関するものである。
【背景技術】
【０００２】
仮想現実感システム（ＶＲシステム）は、コンピュータが生成した三次元ＣＧ（コンピュータグラフィクス）をディスプレイやＨＭＤ（ヘッドマウントディスプレイ）等に表示することで、仮想空間をあたかも現実であるかのように感じさせるシステムである。一方で、仮想空間内で仮想物体に触れた時の仮想の感触をユーザに提示する試みが行われている。
【０００３】
特許文献１には、指先の位置を取得するためのデータグローブに振動モータを設置し、指先に振動を与えることで、指先と仮想物体との接触をユーザに知覚させる為の技術が開示されている。また、特許文献２では、触覚と力覚を提示するグローブ型デバイスにより、仮想物体に触れた感触をユーザに提示する為の技術が開示されている。特許文献２では、ワイヤ駆動のピンアレイによる触覚提示と、リンク機構による力覚提示が開示されている。
【０００４】
これらのデバイスでは、グローブを装着した手と仮想物体との位置関係を計測し、仮想物体との接触を検出した場合に刺激を発生させることで、ユーザに仮想物体との接触を知覚させる。ただし、特許文献１に開示の構成では、力覚を提示していないので、仮想物体からの反力を得ることができず、ユーザは仮想物体との接触を振動刺激により知覚するのみである。この場合、仮想物体に接触している指先が仮想物体に埋没するなどといった問題があるが、力覚発生部を持たないため構成が簡素になるという利点もある。
【０００５】
ところで、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる複合現実空間映像をユーザに提供する複合現実感システム（ＭＲシステム）が従来から提供されている。ＭＲシステムでは、現実空間中に仮想物体が実在しているかのように観察者に提示することが可能であり、従来のＶＲシステムに比べてよりリアルに、実寸感覚を伴った観察が可能である（特許文献３）。視覚情報に関するＭＲシステムでは、仮想物体に照射される光の光源を現実空間における光源と同じにするなど、現実と仮想の情報に整合性をとる試みが行われてきた。
【特許文献１】特表２０００−５０１０３３号公報
【特許文献２】特開２００４−３１８４００号公報
【特許文献３】特開２０００−３５０８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来の触覚デバイスでは、仮想環境での使用のみを前提としており、現実物体と仮想物体とを同時に取り扱う複合現実空間での使用は考慮されていなかった。
【０００７】
このため、上記の従来のデバイスでは、仮想物体に触れるために特別なグローブ型デバイスを装着するが、現実物体に触れる場合のことは考慮されていない。例えば、グローブ型デバイスでは、直接現実物体に手が触れることができないため、現実物体に触れている感触が低減されてしまう。
【０００８】
また、仮想物体に触れた場合に発生する刺激について、現実物体に触れた感触を完全に模倣するのは難しい。但し、仮想物体のみが存在する環境では、デバイスが提供する刺激に慣れてしまうことで違和感をある程度低減できる。しかし、仮想物体と現実物体とが混在する複合現実感環境では、現実物体に触れた場合の感触と仮想物体に触れた場合の感触との間に大きな差があり、これが新たな違和感を生じさせる原因となる。
【０００９】
従って、従来の仮想触覚提示方法を、現実物体と仮想物体とが混在する複合現実空間に適用した場合、現実物体と仮想物体との間の感触をシームレスに繋げることができなかった。
【００１０】
本発明は以上の問題に鑑みてなされたものであり、現実物体に触れた場合の感触と、仮想物体に触れた場合の感触とを近づけることで、より没入感のある触覚複合現実環境を提供するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１２】
即ち、撮像装置により撮像された現実空間の画像と、当該撮像装置の位置姿勢に応じて生成された仮想空間の画像と、を合成した合成画像をユーザに提示する為の処理を行うと共に、当該ユーザの人体に対して刺激を与える為に当該人体に装着された刺激発生部を制御する為の処理を行う情報処理装置であって、
前記刺激発生部が装着された部位の位置姿勢情報を取得する手段と、
前記現実空間を構成する各現実物体の位置姿勢、形状を示す第１情報と、前記仮想空間を構成する各仮想物体の位置姿勢、形状を示す第２情報と、前記位置姿勢情報と、を用いて、前記部位と接触している対象が現実物体であるのか、仮想物体であるのかを判定する判定手段と、
前記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて、前記刺激発生部を駆動制御するための基準値を設定する設定手段と、
前記基準値に基づいて前記刺激発生部の駆動制御を行う制御手段と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１４】
即ち、撮像装置により撮像された現実空間の画像と、当該撮像装置の位置姿勢に応じて生成された仮想空間の画像と、を合成した合成画像をユーザに提示する為の処理を行うと共に、当該ユーザの人体に対して刺激を与える為に当該人体に装着された刺激発生部を制御する為の処理を行う情報処理装置が行う情報処理方法であって、
前記刺激発生部が装着された部位の位置姿勢情報を取得する工程と、
前記現実空間を構成する各現実物体の位置姿勢、形状を示す第１情報と、前記仮想空間を構成する各仮想物体の位置姿勢、形状を示す第２情報と、前記位置姿勢情報と、を用いて、前記部位と接触している対象が現実物体であるのか、仮想物体であるのかを判定する判定工程と、
前記部位と接触している対象が現実物体であるのか仮想物体であるのかに応じて、前記刺激発生部を駆動制御するための基準値を設定する設定工程と、
前記基準値に基づいて前記刺激発生部の駆動制御を行う制御工程と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の構成によれば、現実物体に触れた場合の感触と、仮想物体に触れた場合の感触とを近づけることで、より没入感のある触覚複合現実環境を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１７】
［第１の実施形態］
本実施形態では、ＨＭＤを頭部に装着して複合現実空間を観察しているユーザの人体の一部としての手に、振動モータを内蔵したグローブを装着することで、係るユーザに視覚的な複合現実空間の体験だけでなく、触覚的な複合現実空間の体験を提供する。
【００１８】
図１は、本実施形態に係るシステムの外観例を示す図である。
【００１９】
ユーザの手には、振動モータを内蔵したグローブである触覚提示装置１０が装着されていると共に、係るユーザの頭部には、ビデオシースルー型ＨＭＤ２０が装着されている。これにより、ユーザは、ビデオシースルー型ＨＭＤ２０を介して現実物体３００や仮想物体２００を観察することができると共に、触覚提示装置１０を介して、現実物体３００や仮想物体２００との接触を感知することができる。
【００２０】
ビデオシースルー型ＨＭＤ２０には、ビデオシースルー型ＨＭＤ２０の位置姿勢を計測するためのマーカ１１１ａが装着されている。触覚提示装置１０についても同様に、触覚提示装置１０の位置姿勢を計測するためのマーカ１１１ｂが装着されている。それぞれのマーカ１１１ａ、１１１ｂは、位置姿勢センサ１１０ａ、１１０ｂにより計測され、位置姿勢センサ１１０ａ、１１０ｂは、それぞれのマーカ１１１ａ、１１１ｂの位置姿勢を示す情報を、コンピュータ１００に送出する。
【００２１】
位置姿勢センサ１１０ａ、１１０ｂとマーカ１１１ａ、１１１ｂとを用いた位置姿勢計測は、光学式の位置姿勢取得方法を用いたものである。例えば、位置姿勢センサ１１０ａ、１１０ｂは、赤外線照射機能付きのカメラで構成される位置姿勢センサであり、マーカ１１１ａ、１１１ｂは、再帰性反射材で構成されるマーカである。
【００２２】
コンピュータ１００は、本実施形態に係る情報処理装置として機能するものである。コンピュータ１００は、位置姿勢センサ１１０ａ、１１０ｂからの情報に基づいて、仮想物体２００を含む仮想空間の画像を生成すると共に、ビデオシースルー型ＨＭＤ２０が有する不図示のビデオカメラ（撮像装置）により撮像された現実空間の画像を取得する。そして、生成した仮想空間の画像と、取得した現実空間の画像とを合成した合成画像（複合現実空間の画像）を生成し、生成した合成画像を、ビデオシースルー型ＨＭＤ２０が有する表示部に対して送出する。これにより、視覚的な複合現実空間の体感をユーザに提供することができる。更に、コンピュータ１００は、位置姿勢センサ１１０ａ、１１０ｂからの情報や、現実空間及び仮想空間に関する後述の様々な情報を用いて、触覚提示装置１０を駆動制御して刺激を発生させるための各種処理を行う。
【００２３】
本実施形態では、係る構成において、触覚提示装置１０を装着したユーザの手が、現実物体３００に接触しても、仮想物体２００に接触しても、触覚提示装置１０を介してユーザの手に対して刺激を発生させる。更に、触覚提示装置１０を装着したユーザの手が、現実物体３００に接触しても、仮想物体２００に接触しても、ユーザが感じる感覚ができるだけ同じになるように、触覚提示装置１０による刺激発生を制御する。
【００２４】
次に、触覚提示装置１０について、図２を用いて説明する。図２は、触覚提示装置１０の構成例を示す図である。
【００２５】
触覚提示装置１０は上述の通り、刺激発生部としての振動モータを内蔵したグローブである。図２において１１は振動モータであり、触覚提示装置１０は複数の振動モータ１１を内蔵したグローブ１２として提供される。図２に示すように、グローブ１２は、人体（手）１３に振動モータ１１が密着するように人体１３の周囲を覆っている。なお、図２では、振動モータ１１は１つのみしか示していないが、実際には、各指先を始め、掌や手の甲等の位置に振動モータ１１が位置するように、それぞれの振動モータ１１をグローブ１２に装着する。もちろん、振動モータ１１の数や装着位置は適宜決めて良いものであり、特定の数や特定の装着位置に限定するものではない。
【００２６】
次に、振動モータ１１について説明する。
【００２７】
振動モータ１１は、モータの回転軸に取り付けられた偏心重量が回転することで振動を発生する。振動モータ１１には、一般的にシリンダー型（円筒型）とコイン型（扁平型）があり、どちらを用いても良いが、図２ではコイン型の振動モータ１１を示している。振動モータ１１は、小型でも強い刺激を発生することができるため、本実施形態のように、人体の複数箇所に刺激を与える場合に好適である。ただし、皮膚感覚に刺激を与えるものであれば、振動モータ１１の代わりに如何なるものを用いても良い。皮膚感覚に刺激を与える方法としては例えば、機械刺激、電気刺激、温度刺激があり、刺激を与えるための構成には様々な構成が考えられる。例えば機械的な振動刺激を発生するボイスコイル型のデバイスを振動モータ１１の代わりに用いても良いし、圧電素子や高分子アクチュエータ等のアクチュエータにより人体に接触したピンを動作させて刺激を与える機構を振動モータ１１の代わりに用いても良い。また、空気圧力により皮膚表面を圧迫する機構を振動モータ１１の代わりに用いても良い。また、電気刺激として、微小電極アレイを用いて刺激を与えるものなどがあり、温度刺激では、熱電素子を用いるものなどがある。
【００２８】
また、本実施形態では、触覚提示装置１０は、ユーザの手に装着するグローブであるとしているが、装着形態についてはこれに限定するものではなく、ユーザの人体の何れの箇所に装着しても良いし、装着方法も何れの形態を用いても良い。
【００２９】
本実施形態では、ユーザは頭部にビデオシースルー型ＨＭＤ２０を装着して自由に動き回ることができるため、小型ディスプレイを用いたＶＲシステムでは困難な広い空間を表現することができる。このような場合に、手のみではなく、腕や足、さらに胴体などの部位に触覚提示装置１０を装着することは、好適な実施形態となる。手以外の部分では、身体への固定用のバンドに振動モータ１１を内蔵する形態で触覚提示装置１０を構成すればよい。もちろん、係る形態においても、振動モータ１１以外の刺激発生機構を用いても良い。
【００３０】
次に、コンピュータ１００について説明する。コンピュータ１００には、一般のＰＣ（パーソナルコンピュータ）を適用することができる。
【００３１】
図３は、コンピュータ１００のハードウェア構成例を示すブロック図である。
【００３２】
ＣＰＵ１００１は、ＲＡＭ１００２やＲＯＭ１００３に格納されているコンピュータプログラムやデータを用いて、コンピュータ１００全体の制御を行うと共に、コンピュータ１００が行うものとして後述する各処理を実行する。
【００３３】
ＲＡＭ１００２は、データ記録部１００５からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１００７を介して外部から受信したデータ等を一時的に記憶するためのエリアを有する。更に、ＲＡＭ１００２は、ＣＰＵ１００１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ１００２は、各種のエリアを適宜提供することができる。
【００３４】
ＲＯＭ１００３には、コンピュータ１００の設定データや、ブートプログラムなどが格納されている。
【００３５】
操作部１００４は、キーボードやマウスなどにより構成されており、コンピュータ１００の操作者が操作することで、各種の指示をＣＰＵ１００１に対して入力することができる。
【００３６】
データ記録部１００５は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。データ記録部１００５には、ＯＳ（オペレーティングシステム）や、コンピュータ１００が行うものとして後述する各処理をＣＰＵ１００１に実行させる為のコンピュータプログラムやデータが保存されている。また、後述の説明において、既知の情報として取り扱うものについても、このデータ記録部１００５に保存されている。
【００３７】
データ記録部１００５に保存されているコンピュータプログラムやデータは、ＣＰＵ１００１による制御に従って適宜ＲＡＭ１００２にロードされ、ＣＰＵ１００１による処理対象となる。
【００３８】
表示部１００６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１００１による処理結果を画像や文字などでもって表示することができる。
【００３９】
Ｉ／Ｆ１００７は、ビデオシースルー型ＨＭＤ２０を接続する為のアナログビデオポートやＩＥＥＥ１３９４等のデジタル入出力ポートを有する。更にＩ／Ｆ１００７は、位置姿勢センサ１１０ａ、１１０ｂや触覚提示装置１０を接続する為のＲＳ２３２ＣやＵＳＢ等のシリアルポート若しくはイーサネット等を有する。これにより、コンピュータ１００は係るＩ／Ｆ１００７を介してこれらの外部機器とのデータ通信を行うことができる。
【００４０】
上述した各部は、バス１００８に接続されている。
【００４１】
次に、コンピュータ１００の動作について、図４を用いて説明する。図４は、コンピュータ１００の機能構成例を示すブロック図である。なお、図４において、図１、３に示したものと同じ部分については同じ参照番号を付けている。更に、図４では、位置姿勢センサ１１０ａ、１１０ｂをまとめて「位置姿勢センサ１１０」としている。また、ビデオシースルー型ＨＭＤ２０に対する処理、即ち、複合現実空間の画像を生成してビデオシースルー型ＨＭＤ２０に送出するための処理については、ここでの主眼ではないため、図４ではそのための構成については省略し、説明もまた省略している。
【００４２】
位置姿勢センサ１１０は、触覚提示装置１０に取り付けられたマーカ１１１ｂを読み取り、読み取った結果を信号として、コンピュータ１００が有する位置姿勢情報入力部１０１に入力する。
【００４３】
位置姿勢情報入力部１０１は、位置姿勢センサ１１０から受けた信号をデータとして後段の位置姿勢演算部１０２に送出する。
【００４４】
位置姿勢演算部１０２は、位置姿勢情報入力部１０１から受けたデータを用いて、触覚提示装置１０の位置姿勢を求める。触覚提示装置１０に取り付けられたマーカ１１１ｂを用いて触覚提示装置１０の位置姿勢を求めるための技術については周知であるので、これについての詳細な説明は省略する。そして、位置姿勢演算部１０２は、求めた位置姿勢を示す位置姿勢情報を、後段の接触判定部１０３に送出する。
【００４５】
接触判定部１０３は、データ記録部１００５から「現実空間を構成する各現実物体の位置姿勢及び形状を示す第１情報、仮想空間を構成する各仮想物体の位置姿勢及び形状を示す第２情報」を取得する。そして接触判定部１０３は、データ記録部１００５から取得した第１情報、第２情報に加え、位置姿勢演算部１０２から受けた位置姿勢情報を用いて、触覚提示装置１０が現実物体と接触したのか、仮想物体と接触したのかを判定する。
【００４６】
ここで、接触判定部１０３による接触判定処理について、より詳細に説明する。
【００４７】
先ず、本実施形態では、説明を簡単にするために、触覚提示装置１０の形状は固定形状のものであるとする。即ち、ユーザの手の形状は予め決められた（固定された）形状であるとする。この前提に基づき、本実施形態では先ず、接触判定部１０３は、予め作成された「触覚提示装置１０（の外観）を模した仮想物体」のデータをデータ記録部１００５から読み出し、係るデータに基づいて、「触覚提示装置１０を模した仮想物体」を構築する。本実施形態では、触覚提示装置１０は、グローブであるとしているので、係る仮想物体は、グローブの形状を有している。しかし、係る仮想物体の形状は、厳密に触覚提示装置１０の形状を模したものでなくても良く、手の形状を模した簡単な円形状であっても良いし、その形状は特に限定するものではない。
【００４８】
そして、この構築した仮想物体を、位置姿勢演算部１０２から受けた位置姿勢情報が示す位置姿勢でもって仮想空間中に配置する。ここで、現実空間と仮想空間とは座標系を一致させておくので、現実空間中の触覚提示装置１０の位置には、係る仮想物体が、触覚提示装置１０の姿勢でもって仮想的に配置されていることになる。もちろん、係る仮想物体の配置は、計算上行うものであって、表示対象ではないが、必要に応じて表示しても良い。
【００４９】
また、上述の通り、触覚提示装置１０の形状は固定されたものであるとしているので、「触覚提示装置１０を模した仮想物体」の形状についても固定されている。従って、例えユーザが、触覚提示装置１０を装着した手の指を動かしても、その手の形状変化は、係る仮想物体には反映されない。
【００５０】
次に、接触判定部１０３は、データ記録部１００５から、「現実空間を構成する各現実物体の位置姿勢及び形状を示す第１情報」と、「仮想空間を構成する各仮想物体の位置姿勢及び形状を示す第２情報」とを取得する。
【００５１】
ここで第１情報について説明する。現実空間中には、壁や床、机や椅子など、様々な現実物体が存在する。そこで、それぞれの現実物体について予め寸法を計測することで、それぞれの現実物体の形状を模した仮想物体を作成しておくと共に、それらの配置位置姿勢についても測定しておく。そして、現実物体毎の、仮想物体のデータ、配置位置姿勢のデータ、のセットによって第１情報を作成する。従って、第１情報に基づいて各仮想物体を構築し、構築したそれぞれの仮想物体を仮想空間中に配置すると、現実空間と仮想空間とは座標系が一致しているので、係る現実空間を模した仮想空間が現実空間と一致して生成されることになる。
【００５２】
次に、第２情報について説明する。第２情報は、仮想空間を構成するそれぞれの仮想物体のデータと、それぞれの仮想物体の配置位置姿勢のデータと、のセットによって構成されている。なお、第２情報については、ビデオシースルー型ＨＭＤ２０に対して提示する複合現実空間画像の生成時に用いる仮想空間のデータにおいて、仮想物体の形状とその位置姿勢の情報のみを抜粋したものを用いても良い。また、より形状を荒くした、より情報量の少ない仮想物体のデータを別途作成し、これと配置位置姿勢のデータとのセットを第２の情報として用いても良い。
【００５３】
なお、第１情報、第２情報は予め作成されており、データ記録部１００５に保存されている。
【００５４】
従って、接触判定部１０３はデータ記録部１００５から第１情報、第２情報を読み出し、これらの情報に基づいて空間を構築する。係る空間は、現実空間と仮想空間とを合成した複合現実空間を、仮想物体でもって構築した空間であり、以下では、係る空間を、合成空間と呼称する。
【００５５】
上述の通り、合成空間は仮想物体で構成されたものであるので、「触覚提示装置１０を模した仮想物体」と同空間で取り扱うことができる。従って、接触判定部１０３は、合成空間を構成する各仮想物体と、「触覚提示装置１０を模した仮想物体」との間の接触判定を行う。仮想物体同士が接触しているか否かを判定するための技術については、一般に３ＤＣＧを用いたゲームの分野で広く用いられているものであるので、係る技術についての説明は省略する。
【００５６】
なお、複合現実感では、ある現実物体に仮想物体を完全に重畳し、現実物体の外観を仮想物体でオーバーレイすることも行われている。この場合には、重畳されている部分について、仮想物体の情報を接触判定に使用すればよい。
【００５７】
以上の処理により、接触判定部１０３は、触覚提示装置１０が現実物体を模した仮想物体と接触しているのか、仮想空間を構成する仮想物体と接触しているのかを判定することができる。そして、「触覚提示装置１０を模した仮想物体」と「現実物体を模した仮想物体」とが接触していると判定した場合には、接触判定部１０３は、接触対象が現実物体であることを示す情報を、後段の刺激制御部１０８に送出する。一方、「触覚提示装置１０を模した仮想物体」と「仮想空間を構成する仮想物体」とが接触していると判定した場合には、接触判定部１０３は、接触対象が仮想物体であることを示す情報を、後段の刺激制御部１０８に送出する。
【００５８】
なお、第１情報に基づいて構築した合成空間の部分空間と、第２情報に基づいて構築した合成空間の部分空間のそれぞれには固有のＩＤを予め付しておく。これにより、触覚提示装置１０を模した仮想物体が何れか仮想物体と接触したと判定した場合、接触対象の仮想物体のＩＤを参照する。そして参照したＩＤから、接触対象の仮想物体が、第１情報から構築した部分空間を構成する仮想物体（現実物体を模した仮想物体）、第２情報から構築した部分空間を構成する仮想物体（仮想空間を構成する仮想物体）、の何れであるのかを判定する。なお、触覚提示装置１０を模した仮想物体と接触した対象が、現実物体をもした仮想物体であるのか、仮想空間を構成する仮想物体であるのかを識別するための機構については様々なものが考えられ、係る技術に限定するものではない。
【００５９】
また、接触判定部１０３が刺激制御部１０８に送出する情報はこれに限定するものではなく、接触の位置、接触の深度、接触の方向等、更に詳細な接触情報を送出しても良い。また、接触判定部１０３はもちろん、触覚提示装置１０が現実物体、仮想物体の何れとも接触していないと判定した場合には、その旨を示す情報を、後段の刺激制御部１０８に送出する。
【００６０】
次に、刺激制御部１０８は、接触判定部１０３から受けた情報を参照し、触覚提示装置１０を模した仮想物体との接触対象が現実物体であるのか仮想物体であるのかに応じて、振動モータ１１を駆動制御するために設定する設定値を切り替える。係る振動モータ１１の駆動制御では、現実物体への接触時における振動モータ１１の駆動制御により発生する人体への刺激と、仮想物体への接触時における振動モータ１１の駆動制御により発生する人体への刺激と、の差をできるだけ小さくする。これにより、現実物体に接触した場合と、仮想物体に接触した場合とで、ユーザが感じる感触の差を低減させ、両者が混在する環境での触覚の違和感を低減する。従って、刺激制御部１０８は、係る目的が達成できるように、設定値を切り替える。
【００６１】
刺激制御部１０８は、基準値調整部１０５と刺激調整部１０６とで構成されている。
【００６２】
基準値調整部１０５は、触覚提示装置１０が接触した対象が現実物体である場合と、触覚提示装置１０が接触した対象が仮想物体である場合とで、振動モータ１１を駆動制御する為の設定値の基準として用いる基準値を切り替える。より具体的には、データ記録部１００５には、触覚提示装置１０が現実物体と接触した場合に用いる基準値と、触覚提示装置１０が仮想物体と接触した場合に用いる基準値と、が登録されている。従って、基準値調整部１０５は、接触判定部１０３から「現実物体と接触した」ことを示す情報を受けると、「触覚提示装置１０が現実物体と接触した場合に用いる基準値」をデータ記録部１００５から取得する。また、基準値調整部１０５は、接触判定部１０３から「仮想物体と接触した」ことを示す情報を受けると、「触覚提示装置１０が仮想物体と接触した場合に用いる基準値」をデータ記録部１００５から取得する。これらの基準値について詳しくは後述する。
【００６３】
これにより、基準値調整部１０５は、触覚提示装置１０と接触した対象が現実物体であるのか仮想物体であるのかに応じて、以降の処理で用いる基準値を切り替えることができる。
【００６４】
次に、刺激調整部１０６は、基準値調整部１０５が選択した基準値を更に調整することで、振動モータ１１を駆動制御するために設定する設定値を決定する処理を行う。例えば、接触位置に応じて、触覚提示装置１０に備わっている複数の振動モータ１１のうち、実際に動作させる振動モータ１１を決定する。そして、実際に動作させるものとして決定した振動モータ１１のそれぞれに設定する基準値を次のようにして調整する。例えば、接触位置からの距離が遠い振動モータ１１ほど、基準値をより小さく（刺激量を小さく）することで、それぞれの振動モータ１１に対する設定値を決定する。もちろん、接触位置からの距離が最も近い振動モータ１１のみ動作させるようにしても良い。なお、触覚提示装置１０上におけるそれぞれの振動モータ１１の位置情報は、予め測定され、データ記録部１００５に記録されている。
【００６５】
他にも例えば、接触判定部１０３からの情報と合わせて、接触の侵入深さによって基準値を増加させる処理、衝突速度によって基準値を変化させる処理、複数の振動モータ１１に対して接触方向に応じた基準値（刺激量）分配を行う処理などを行っても良い。また、接触対象の情報をデータ記録部１００５から読み出し、物体のテクスチャ情報などにより、振動モータ１１の動作周波数を変更するなどの処理を行っても良い。
【００６６】
このようにして、刺激調整部１０６は、基準値調整部１０５が選択した基準値を更に調整することで、設定値を決定する処理を行う。そして、刺激調整部１０６は、この調整した設定値を、刺激出力部１０９を介して、目的の振動モータ１１に送出する。即ち、この調整した設定値に基づいて、目的の振動モータ１１の駆動制御を行う。
【００６７】
ここで、振動モータ１１による刺激発生と、人体における刺激の知覚と、について説明する。振動モータ１１の駆動制御は、通常のモータと同様に、電圧制御、ＰＷＭ制御などの制御方法で行う。電圧を上げる、あるいはデューティー比を高くすることにより、振動モータの回転数（振動周波数）が高くなり、同時に振幅も大きくなる。刺激制御部１０８では、電圧、デューティー比などを制御することで、振動モータ１１を制御する。具体的には、基準値調整部１０５で、基準値として所定の電圧値、デューティー比などを設定し、刺激調整部１０６で、基準値とした電圧値、デューティー比を元に、刺激のレンダリングを行う。以下では、説明を簡単にするため、電圧制御を行うことで振動モータ１１を駆動制御する場合について説明する。即ち、基準値は、振動モータ１１を駆動制御するための電圧値を示しているものとして説明する。
【００６８】
ここで、触覚提示装置１０が仮想物体と接触した場合に選択される基準値、触覚提示装置１０が現実物体と接触している場合に選択される基準値について、図６，７を用いて説明する。
【００６９】
図６は、触覚提示装置１０と仮想物体２００とが接触している様子を示す図である。図７は、触覚提示装置１０と現実物体３００とが接触している様子を示す図である。図６，７において、図１，２と同じ部分については同じ参照番号を付けており、その説明は省略する。
【００７０】
触覚提示装置１０と仮想物体２００とが接触している場合であっても、図６に示す如く、触覚提示装置１０には何も物理的には接触していないので、振動モータ１１はグローブ１２で拘束されるのみで、所定の電圧を加えた場合には、所定の振幅で振動する。
【００７１】
一方、触覚提示装置１０と現実物体３００とが接触している場合、図７に示す如く、振動モータ１１は、現実物体３００と人体１３とに挟まれた状態で拘束されている。従って、例えば、触覚提示装置１０が仮想物体２００と接触している場合に用いる基準値を、触覚提示装置１０が現実物体３００と接触している場合に用いても、振動モータ１１は、図６に示した状態ほどは振動しない。これは、図６の場合には振動モータ１１はグローブ１２上で自由に振動できるのに対し、図７の場合には、振動モータ１１はグローブ１２と現実物体３００とに挟まれて拘束されているので、図６に示した状態よりは振動は押さえられてしまうからである。
【００７２】
即ち、図６に示した状態と図７に示した状態とを比較すると、同じ電圧で振動モータ１１を動作させたとしても、人体は図６の状態における振動強度を強く感じることになる。本実施形態では、仮想物体に触れた場合でも、現実物体に触れた場合でも、同様の刺激をユーザが感じることで、仮想と現実とが融合した環境を構築することを目的としている。従って、図６に示した状態と図７に示した状態とで感じる振動強度を近づけるために、現実物体に触れている場合の電圧値を仮想物体に触れている場合の電圧値よりも高く設定することで、接触対象によらず同程度の振動を知覚できるようにする。
【００７３】
従って、本実施形態では、「触覚提示装置１０が現実物体と接触した場合に用いる基準値」を、「触覚提示装置１０が仮想物体と接触した場合に用いる基準値」よりも高い値に設定しておく。
【００７４】
なお、基準値の設定方法についてはこれ以外にも考えられる。触覚提示装置１０が仮想物体と接触している場合、ユーザは振動モータ１１による振動刺激のみを知覚するが、現実物体と接触している場合には、振動刺激と現実物体の感触の両方を知覚する。そこで、触覚提示装置１０が現実物体と接触している場合には、知覚する刺激の中で振動刺激の割合を大きくし、現実の触感の割合を減少させる。つまり、触覚提示装置１０が現実物体と接触している場合の電圧値を大幅に増加させることで、振動刺激の知覚を支配的にし、複合現実空間での触覚を振動感覚で統一させる。
【００７５】
次に、刺激制御部１０８が行う処理動作について、図５のフローチャートを用いて説明する。図５は、刺激制御部１０８が行う処理のフローチャートである。
【００７６】
先ずステップＳ５０２では、基準値調整部１０５は、接触判定部１０３から送出された情報、即ち、触覚提示装置１０が接触した対象が現実物体であるのか、仮想物体であるのか、それとも何れとも接触していないのかを示す情報を取得する。
【００７７】
次に、基準値調整部１０５は、接触判定部１０３から送出された情報を参照する。そして、参照の結果、係る情報が、「触覚提示装置１０が現実物体、仮想物体の何れとも接触していない旨を示す情報」であれば、処理をステップＳ５０３を介してステップＳ５０２に戻す。
【００７８】
一方、接触判定部１０３から送出された情報が「現実物体と接触した旨を示す情報」である場合、若しくは「仮想物体と接触した旨を示す情報」である場合には、処理をステップＳ５０３を介してステップＳ５０４に進める。
【００７９】
更に、接触判定部１０３から送出された情報が「現実物体と接触した旨を示す情報」である場合には、ステップＳ５０４を介してステップＳ５０５に処理を進める。一方、接触判定部１０３から送出された情報が「仮想物体と接触した旨を示す情報」である場合には、処理をステップＳ５０４を介してステップＳ５０６に進める。
【００８０】
ステップＳ５０５では、基準値調整部１０５は、「触覚提示装置１０が現実物体と接触した場合に用いる基準値」をデータ記録部１００５から取得する。
【００８１】
一方、ステップＳ５０６では、基準値調整部１０５は、「触覚提示装置１０が仮想物体と接触した場合に用いる基準値」をデータ記録部１００５から取得する。
【００８２】
そしてステップＳ５０７では、基準値調整部１０５は、ステップＳ５０５，ステップＳ５０６の何れかで取得した基準値を、以降の処理で用いるものとして設定する。
【００８３】
次に、ステップＳ５０８では、刺激調整部１０６は、基準値調整部１０５が選択した基準値を更に調整することで、設定値を決定する処理を行う。
【００８４】
次に、ステップＳ５０９では、刺激調整部１０６は、この調整した設定値を、刺激出力部１０９を介して、目的の振動モータ１１に送出する。即ち、この調整した設定値に基づいて、目的の振動モータ１１の駆動制御を行う。
【００８５】
以上の説明により、本実施形態によれば、次のような効果を奏することができる。
【００８６】
即ち、触覚提示装置１０にグローブを用いた場合には、現実物体に触れたことを知覚しにくい状況が生じ得る。そこで、本実施形態では、現実物体に接触した場合でも、仮想物体と接触した場合と同様に、刺激を発生させているので、触覚提示装置１０を介して現実物体に触れる場合にも、十分に接触を知覚することができるようになる。
【００８７】
また、現実物体に触れた場合でも仮想物体触れた場合でも、同様に触覚提示装置１０からの刺激を受けることにより、感触の差を低減することができ、違和感を減らして複合現実空間を体験することができるようになる。
【００８８】
＜補足説明＞
第１の実施形態では、振動モータ１１は、皮膚感覚刺激を与えるデバイスを用いている。ここで、皮膚感覚刺激は、マイスナー小体、パチニ小体、メルケル触盤、ルフィニ終末などの皮膚の受容細胞を刺激する刺激である。これらの細胞では、皮膚への圧力、物体表面のテクスチャ感を感じ取る。一方、物体からの力（力覚）は主に筋紡錘で知覚するため、振動モータ１１による刺激では、力覚を知覚することはできない。
【００８９】
本来、手で直接的に現実物体に触れた場合には、皮膚感覚と力覚が複合した感触を得ることになる。一方、第１の実施形態では、仮想物体に触れた場合には皮膚感覚のみを提供し、現実物体に触れた場合にも仮想物体と同じ皮膚感覚を提供する。ここで、第１の実施形態の趣旨は、現実物体に触れた場合でも仮想物体に触れた場合でも、知覚する皮膚感覚を同じにすることで、現実物体と仮想物体とで知覚する感触を近づけるということにある。
【００９０】
ただし、現実物体に触れた場合には、力覚も知覚するという点において、仮想物体に触れた場合とは完全に同じ感覚にはならない。しかし、振動モータ１１による振動刺激を用いることにより、この点も若干の改善を行うことが可能である。振動刺激は筋紡錘を興奮させ、位置感覚を狂わせることが知られている。このことから、現実物体に触れた場合に振動刺激を与えることにより、力覚を曖昧にする効果がある。この効果によって、さらに現実物体と仮想物体の感触を近づけることができる。
【００９１】
また、グローブ１２のような構成は、現実物体に直接触れることを妨げるので、現実物体の感触を減少させ、現実物体と仮想物体とで知覚する感触を近づけるためには有効に働く。
【００９２】
＜システム構成の変形例＞
上記説明では、ビデオシースルー型ＨＭＤ２０や触覚提示装置１０の位置姿勢を、位置姿勢センサ１１０ａ、１１０ｂ、マーカ１１１ａ、１１１ｂを用いて行っていた。しかし、ビデオシースルー型ＨＭＤ２０や触覚提示装置１０の位置姿勢を計測するための方法はこれに限定するものではなく、様々な技術を用いても良い。例えば、ビデオシースルー型ＨＭＤ２０に取り付けた磁気センサを用いてビデオシースルー型ＨＭＤ２０の位置姿勢を計測しても良い。また、ビデオシースルー型ＨＭＤ２０が有する撮像部が撮像した画像中の二次元マーカや自然特徴を用いてビデオシースルー型ＨＭＤ２０の位置姿勢を計測しても良い。
【００９３】
また、触覚提示装置１０の位置姿勢については、例えば、公知のモーションキャプチャ技術を用いて計測しても良い。第１の実施形態のように、グローブ型の触覚提示装置１０を用いる場合には、手の位置姿勢を光学式センサで取得し、さらに指先の位置姿勢を機械式センサや光ファイバを用いた指先位置取得方法で取得するようにしても良い。
【００９４】
＜触覚提示装置１０を模した仮想物体の変形例＞
第１の実施形態では、説明を簡単にするために、触覚提示装置１０を模した仮想物体の形状は固定されているものとして説明した。しかし、グローブ型の触覚提示装置１０の場合、指の自由動作に、触覚提示装置１０を模した仮想物体も対応することが好ましい。
【００９５】
この場合、まず、位置姿勢センサ１１０ａ、１１０ｂに指の三次元位置を取得するための構成を加える必要がある。指の三次元位置取得には、光学センサ以外に、機械式センサや光ファイバを用いたセンサが使用できることは既に述べた。位置姿勢演算部１０２では、手全体の位置姿勢に加え、各指の位置を計算する。このとき、接触判定部１０３で用いる触覚提示装置１０の仮想物体については、指部分と掌部分に分割した仮想物体を準備し、それぞれを組み合わせて「触覚提示装置１０を模した仮想物体」を構成する。
【００９６】
指部分については、必要に応じて関節ごとに分割した仮想物体を準備すればよい。そして、接触判定部１０３による判定処理では、関節、掌、のそれぞれについて、独立した接触判定を行えばよい。これにより、手の形状の動的変化に対応した接触判定を行うことができる。
【００９７】
また、指の仮想物体、掌の仮想物体、のそれぞれの上における振動モータ１１の３次元位置を予め計測し、データとしてデータ記録部１００５に保存しておくことで、手の形状変化に対応した刺激発生を行うことができる。
【００９８】
また、触覚提示装置１０を模した仮想物体を用いずに接触判定処理を行っても良い。この場合、触覚提示装置１０上における振動モータ１１の位置を、触覚提示装置１０の位置から推定し、振動モータ１１と現実物体及び仮想物体との接触を判定する。そして、刺激制御部１０８は、接触が生じている振動モータ１１に対して、駆動命令を行う。この構成であれば、触覚提示装置１０を模した仮想物体を用いないため、接触判定部１０３での演算が簡単になる。しかし、振動モータ１１が存在しない部位での接触は判定できない。
【００９９】
また、前述したように、触覚提示装置１０はグローブ形状に限定するものではない。例えば、触覚提示装置１０を手以外の部位に装着するのであれば、その装着部位に装着しやすいように適宜形状を変えても良い。この場合、触覚提示装置１０を模した仮想物体の代わりに、触覚提示装置１０を装着する部位の形状を模した仮想物体を用いることになる。
【０１００】
［第２の実施形態］
第１の実施形態では、触覚提示装置１０を模した仮想物体が接触する対象が現実物体であるのか仮想物体であるのかに応じて基準値を決定していた。即ち、基準値は２種類しかなかった。しかし、触覚提示装置１０が現実物体と接触している場合、更に、係る現実物体の物性をも判定し、判定した物性に応じて基準値を切り替えても良い。
【０１０１】
例えば、図７に示すように、触覚提示装置１０が現実物体３００に接触している場合には上述のように、振動モータ１１の振動が拘束され、ユーザが知覚する振動強度に変化が生じる。しかし、現実物体３００の硬軟に応じて振動モータ１１の拘束力が異なる為に、ユーザが知覚する振動強度も異なる。例えば、硬く変形しにくい現実物体に触れている場合、振動モータ１１は強く拘束されるので、その振幅は大幅に制限される。一方、布材のような柔らかく変形しやすい現実物体に触れている場合には、比較的拘束力が弱く、振幅の減少も小さくなる。従って、このような物体特性に合わせて、それぞれ基準値を設定することにより、さらに物体間での感触差を減らすことができるようになる。
【０１０２】
この場合、第１情報には、各現実物体に対応する仮想物体には、係る現実物体の物性を示す属性ＩＤを付しておくと共に、データ記録部１００５には、各属性ＩＤに対応する基準値を登録しておく。これにより、触覚提示装置１０を模した仮想物体が現実物体と接触した場合には、係る現実物体の属性ＩＤを取得し、取得した属性ＩＤに対応する基準値を取得することになる。
【０１０３】
［第３の実施形態］
現実物体と仮想物体とが隣接して存在している複合現実空間において、触覚提示装置１０が現実物体から仮想物体に連続して接触する場合等では、基準値は現実物体と仮想物体との境界付近で急変することになる。これにより、係る境界付近では、振動モータ１１により発生する刺激も急変することになり、ユーザに違和感を与える恐れがある。そこで、刺激制御部１０８に基準値記録部１０７を加えることで、基準値を変更する場合に、変更前の基準値と変更後の基準値の変化を滑らかにする処理を行う。
【０１０４】
図８は、本実施形態に係るコンピュータ１００の機能構成例を示すブロック図である。なお、図８において、図４と同じ部分については同じ参照番号を付けており、その説明は省略する。図８に示した構成は、図４に示した構成において、刺激制御部１０８に基準値記録部１０７を加えたのみである。
【０１０５】
係る構成において、基準値調整部１０５は、第１の実施形態と同様に、用いる基準値を決定するのであるが、本実施形態では、基準値調整部１０５はその後、この基準値を基準値記録部１０７に記録する処理を行う。そして例えば、それまでは触覚提示装置１０を模した仮想物体は現実物体を模した仮想物体と接触していたのに、いきなり仮想空間を構成する仮想物体と接触したとする。このような場合、基準値調整部１０５は、それまで用いていた基準値とは異なる基準値（第１の基準値）を選択することになるのであるが、係る選択の後、基準値記録部１０７に記録した最新の基準値（第２の基準値）を参照する。そして、いきなり第１の基準値を用いて刺激を発生させるのではなく、係る選択のタイミングから所定期間内では、第２の基準値から滑らかに第１の基準値に変化するように補間し、補間された基準値を用いて刺激を発生させる。これにより、急激な刺激変化を防ぐことができる。
【０１０６】
次に、刺激制御部１０８が行う処理動作について、図９のフローチャートを用いて説明する。図９は、刺激制御部１０８が行う処理のフローチャートである。なお、図９において、図５と同じ部分については、同じ参照番号を付けており、その説明は省略する。
【０１０７】
ステップＳ９００では、基準値調整部１０５は、ステップＳ５０５，若しくはステップＳ５０６において取得した基準値をデータとして基準値記録部１０７に記録する。
【０１０８】
次に、ステップＳ９０１では、基準値調整部１０５は、ステップＳ９００で記録した基準値Ｐと、ステップＳ９００で記録する直前に基準値記録部１０７に記録されていた（前回決定した）基準値Ｑとの差分αを計算する。そしてαの絶対値が、予め設定された閾値以上であるのか否かを判定する。係る判定の結果、αの絶対値が、予め設定された閾値以上であれば、処理をステップＳ９０２に進める。一方、αの絶対値が、予め設定された閾値未満である場合には、処理をステップＳ５０７に進める。ステップＳ５０７以降は、第１の実施形態で説明したとおりである。
【０１０９】
ステップＳ９０２では、現時点で用いる基準値を次のようにして時間の経過と共に変更し、刺激調整部１０６に送出する基準値を、基準値Ｑから所定時間を掛けて基準値Ｐに変更する。ステップＳ９０１からステップＳ９０２に移行したタイミングｔ＝ｔ０とすると、現時点ｔで刺激調整部１０６に送出する（今回用いる）基準値Ｒ（ｔ）は、前回刺激調整部１０６に送出した基準値Ｒ（ｔ−１）を用いて以下のように求める。
【０１１０】
Ｒ（ｔ−１）＋ｋ×（Ｐ−Ｑ）  →  Ｒ（ｔ）
なお、０＜ｋ＜１、Ｒ（ｔ０）＝Ｑであり、ｔ＝ｔ０＋１，ｔ０，…，Ｔである。ここで、ｋ、Ｔは、Ｒ（Ｔ）≒Ｐとなるように決定する。また、Ｔは、人体が刺激強度の急激な変化を知覚しないような時間に設定する。例えば、振動モータ１１を用いる場合、急激な入力電圧変化により発生するトルクを人体が知覚しないようにするために、Ｔは１秒から２秒程度に設定すると良い。
【０１１１】
以上のことから、ステップＳ９０２では、Ｒ（ｔ０）、Ｒ（ｔ０＋１）、…、Ｒ（Ｔ）を順次、刺激調整部１０６に送出する。
【０１１２】
なお、補間の方法についてはこれに限定するものではなく、様々なものが考えられる。なお、補間の最中に、触覚提示装置１０が他の物体と接触した場合には、係る補間処理を中断し、ステップＳ５０２以降の処理を行うようにしても良い。
【０１１３】
刺激調整部１０６における処理は、第１の実施形態で説明したとおりである。
【０１１４】
次に、本実施形態について、図１０を用いて説明する。図１０は、本実施形態の処理動作を模式的に示す図である。
【０１１５】
図１０（ａ）に示す如く、現実物体３００と仮想物体２００とは隣接して配されており、触覚提示装置１０は、紙面左から右に移動することで、現実物体３００から仮想物体２００へと連続的に接触する。
【０１１６】
図１０（ｂ）には、横軸が時刻、縦軸が各時刻における基準値を示すグラフが示されている。時刻ｔ０までは、触覚提示装置１０は現実物体３００に接触しており、その際に用いられる基準値はＩｒとなっている。ここで、時刻ｔ０にて現実物体３００と仮想物体２００との境界を越え、最初に仮想物体２００に触れると、図１０（ｂ）に示す如く、用いる基準値は、目的の基準値であるＩｖへと滑らかに変化する。そして時刻Ｔで目的の基準値Ｉｖとなる。
【０１１７】
［第４の実施形態］
本実施形態では、現実空間をリアルタイムにセンシングし、そのセンシング結果に基づいて、触覚提示装置１０と現実物体との接触判定処理を行う。即ち、本実施形態では、触覚提示装置１０と現実物体との接触判定処理には、現実物体を模した仮想物体は用いない。
【０１１８】
例えば、「現実物体の位置姿勢が変化した場合に、触覚提示装置１０は係る現実物体と接触したと判定する」という判定方法について説明する。現実物体の位置姿勢が変化したということは、ユーザがその現実物体に触れた、と判断できる。例えば、ユーザが手に持つように準備された現実物体が複合現実空間に存在したとする。ユーザがその現実物体に触れて操作したとすれば、現実物体の位置姿勢には変化が生じる。
【０１１９】
本実施形態では、第１の実施形態で説明したマーカ（１１１ａ、１１１ｂ）を現実物体３００にも設置し、このマーカを撮影することで、この現実物体３００の位置姿勢を取得する。そして取得した位置姿勢と、前回取得した位置姿勢との間に閾値以上の変化があった場合には、係る現実物体３００は移動したものと判断し、触覚提示装置１０は現実物体３００と接触があったと判断する。係る判断の後の処理については第１の実施形態と同じである。
【０１２０】
この場合、図４において、位置姿勢センサ１１０は、触覚提示装置１０についてだけでなく、現実物体３００についての情報をも位置姿勢情報入力部１０１に入力する。従って、位置姿勢演算部１０２は、係る位置姿勢情報入力部１０１を介して取得した情報を用いて、触覚提示装置１０だけでなく、現実物体３００の位置姿勢をも計算する。
【０１２１】
そして接触判定部１０３は、位置姿勢演算部１０２が計算した現実物体３００の位置姿勢と、前回計算した位置姿勢との間に閾値以上の差が生じているか否かを判断する。そして差が生じていると判断した場合には、触覚提示装置１０と現実物体３００とには接触があったと判断する。
【０１２２】
なお、現実空間をセンシングする方法については他の方法も考え得る。
【０１２３】
例えば、触覚提示装置１０に、現実物体３００との接触を感知可能な圧力センサを取り付ける。そして、係る圧力センサが所定量以上の圧力を計測した場合に、触覚提示装置１０は現実物体３００との接触があったと判定する。圧力センサには、静電容量式や歪みゲージなど薄くフレキシブルなセンサを用いることが望ましい。そしてこのような圧力センサを更に、触覚提示装置１０上に複数配置することで、詳細な接触位置を取得することができる。
【０１２４】
以上のように、現実物体３００と触覚提示装置１０との接触判定処理を、現実空間のセンシングに基づいて行うことで、現実物体を模した仮想物体を用いた接触計算処理を行う必要はなくなる（計算負荷の軽減）。
【０１２５】
また、「現実物体の位置姿勢が変化した場合に、触覚提示装置１０は係る現実物体と接触したと判定する」という判定方法を用いることは、現実空間における状況に基づいて接触判定を行うことになるので、より正確な接触判定処理を行うことができる。
【０１２６】
ただし、いずれの場合にも、触覚提示装置１０と仮想物体２００との接触判定処理は、上記実施形態と同様にして行う。
【０１２７】
［第５の実施形態］
第４の実施形態では、圧力センサによる計測結果を接触判定に用いることについて説明したが、係る計測結果は、基準値の調整にも用いることができる。
【０１２８】
即ち、以上の実施形態では、基準値のデータは予め作成され、データ記録部１００５に登録されていたが、圧力センサによる計測結果に基づいて詳細な接触状態を把握することで、基準値をより細かく設定することができる。前述したように、現実物体３００で触覚提示装置１０が圧迫されると、人体が知覚する刺激量に変化が生じる。そこで、接触時の圧迫状況を圧力センサによってセンシングし、圧力が高い場合には基準値の値も上昇させるという処理を行う。
【０１２９】
図１１は、圧力センサを触覚提示装置１０に装着した場合における、本実施形態に係るシステムの機能構成例を示すブロック図である。なお、図１１において、図８と同じ部分については同じ参照番号を付けており、その説明は省略する。
【０１３０】
触覚提示装置１０に取り付けられた圧力センサ１２０は触覚提示装置１０が何らかの物体と接触した場合には、その際の圧力を計測するので、その計測結果は信号として圧力情報入力部１２１に入力される。圧力情報入力部１２１は、圧力センサ１２０から受けた信号を整形し、整形後の信号を後段の圧力情報演算部１２２に送出する。
【０１３１】
圧力情報演算部１２２は、圧力情報入力部１２１から受けた整形後の信号に基づいて、圧力を示す圧力情報を生成する。若しくは圧力情報演算部１２２は、複数の圧力センサ１２０による計測結果を整理するなどの処理を行う。
【０１３２】
基準値調整部１０５は、第１の実施形態と同様に基準値を設定した後（接触した現実物体に応じて基準値を取得した後）に、圧力情報演算部１２２から受け取った圧力情報に基づいて基準値を微調整する。微調整は、圧力値に応じて基準値の値を増加させる処理などを行えばよい。微調整による基準値Ｖｆの設定は、データ記録部１００５から取得した基準値をＶｄ、圧力センサ１２０から取得した圧力値をＰ、所定の係数をｋ、Ｐ０とすると、例えば、以下の式に従って行う。
【０１３３】
Ｖｆ＝ｋ×（Ｐ−Ｐ０）＋Ｖｄ
［第６の実施形態］
上記実施形態では、グローブの形状を有する触覚提示装置１０を用いていたが、上述の通り、触覚提示装置１０として他の形状のものを用いても良い。
【０１３４】
図１２は、ペンの形状を有する触覚提示装置３０を用いたシステムの外観例を示す図である。図１２において、図１，２と同じ部分については同じ参照番号を付けており、その説明は省略する。触覚提示装置３０には、少なくとも１つの振動モータ１１を装着し、コンピュータ１００は係る振動モータ１１を上記実施形態で説明したように駆動制御する。もちろん、振動モータ１１以外のものを刺激発生部として用いても良い。図１２では、三次元ＣＡＤデータに基づく仮想物体を複合現実空間において観察することで、係る三次元ＣＡＤデータの検証を行っている様子を示してる。
【０１３５】
通常、三次元ＣＡＤデータの検証は、完全に仮想世界で行うか、実際に全てのモックアップを作製するかの手法が取られる。しかし、完全な仮想物体では、直感的な検証が難しいという問題がある。一方、モックアップでは形状が固定されてしまうので、変更をすぐに再現することが困難である。そこで、変更を加えることのない部分には、現実のモックアップを使用し、随時変更を行う部分は仮想物体を使用することで、検証作業が行いやすくなる。
【０１３６】
図１２では、テーブル３０１と、ラピッド・プロトタイピング造形装置などで整形したモックアップ３０２が現実物体である。モックアップ３０２は、全体の形状の一部のみの簡易的なモックアップである。検証を行う仮想的なパーツ２０１は、仮想物体であり、コンピュータ１００側で保持しているデータを操作することで任意に変更可能である。ユーザは、視覚的にはビデオシースルー型ＨＭＤ２０により、触覚的には触覚提示装置３０により、テーブル３０１、モックアップ３０２、パーツ２０１が混在する空間を体験することができる。
【０１３７】
なお、図１２の場合には、テーブル３０１、モックアップ３０２のそれぞれの位置姿勢を計測するために、マーカ３００ａ、３００ｂが取り付けられている。
【０１３８】
本実施形態で説明したような目的でシステムを利用する場合、手で直接触れながら検証する場合にはグローブ型の触覚提示装置を使用し、装着型の煩雑さを避けて簡易的に検証を行う場合にはペン型の触覚提示装置を用いればよい。また、車などの組立性を検証する応用では、実際の作業に合わせて、工具などの形状を模した形状の触覚提示装置を準備しても良い。
【０１３９】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１４０】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の第１の実施形態に係るシステムの外観例を示す図である。
【図２】触覚提示装置１０の構成例を示す図である。
【図３】コンピュータ１００のハードウェア構成例を示すブロック図である。
【図４】コンピュータ１００の機能構成例を示すブロック図である。
【図５】刺激制御部１０８が行う処理のフローチャートである。
【図６】触覚提示装置１０と仮想物体２００とが接触している様子を示す図である。
【図７】触覚提示装置１０と現実物体３００とが接触している様子を示す図である。
【図８】本発明の第３の実施形態に係るコンピュータ１００の機能構成例を示すブロック図である。
【図９】刺激制御部１０８が行う処理のフローチャートである。
【図１０】本発明の第３の実施形態の処理動作を模式的に示す図である。
【図１１】圧力センサを触覚提示装置１０に装着した場合における、本発明の第５の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１２】ペンの形状を有する触覚提示装置３０を用いたシステムの外観例を示す図である。
【図１】
2009276996.tif 000003
【図２】
2009276996.tif 000004
【図３】
2009276996.tif 000005
【図４】
2009276996.tif 000006
【図５】
2009276996.tif 000007
【図６】
2009276996.tif 000008
【図７】
2009276996.tif 000009
【図８】
2009276996.tif 000010
【図９】
2009276996.tif 000011
【図１０】
2009276996.tif 000012
【図１１】
2009276996.tif 000013
【図１２】
2009276996.tif 000014