(57)【要約】【課題】  仮想空間での仮想物体の接触を状態を、ユーザに提示する接触提示装置を提供する。【解決手段】  位置検出部１１０により検出したユーザ１の位置に基づき、位置判定部１３０は、仮想空間におけるユーザ１と仮想物体の接触を検出する。検出した接触状態をユーザに提示するために、制御部１４０は、接触状態に応じた刺激発生部１０の制御を行う。【選択図】  図１
2008108054.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに仮想物体との接触を知覚させる接触提示装置であって、
ユーザに装着される複数の刺激発生手段と、
ユーザと仮想物体の異なる面が接触した場合に、前記刺激発生手段で異なる刺激を発生させるように制御を行う制御部を備えることを特徴とする接触提示装置。
【請求項２】
前記異なる面に対して発生させる異なる刺激は、前記刺激発生手段で発生する刺激のパターン、周波数、強度のうち、少なくとも一つが異なることを特徴とする請求項１に記載の接触提示装置。
【請求項３】
前記異なる面は、予め仮想物体の表面を分割して定義してあることを特徴とする請求項１に記載の接触提示装置。
【請求項４】
前記異なる面は、仮想物体中の異なるポリゴンにより規定されることを特徴とする請求項１に記載の接触提示装置。
【請求項５】
ユーザに仮想物体との接触を知覚させる接触提示装置であって、
ユーザに装着される刺激発生手段と、
ユーザと仮想物体が接触した場合に、接触した位置の仮想物体表面の法線方向に基づいて前記刺激発生手段で発生する刺激を決定する前記制御部を備えることを特徴とする接触提示装置。
【請求項６】
予め角度を設定し、複数の前記接触した位置の仮想物体表面の法線方向を比較して、前記角度よりも角度差が大きな場合に、前記刺激発生手段に異なる刺激を発生させることを特徴とする請求項５に記載の接触提示装置。
【請求項７】
ユーザに仮想物体との接触を知覚させる接触提示方法であって、
ユーザと仮想物体の接触を検出する検出工程と、
ユーザと仮想物体の異なる面が接触したことが検出された場合に、ユーザに装着された複数の刺激発生手段で異なる刺激を発生させるように制御を行う制御工程を備えることを特徴とする接触提示方法。
【請求項８】
ユーザに仮想物体との接触を知覚させる接触提示方法であって、
ユーザと仮想物体の接触を検出する検出工程と、
ユーザと仮想物体が接触した場合に、接触した位置の仮想物体表面の法線方向に基づいて、ユーザに装着された刺激発生手段で発生する刺激を決定する前記制御工程を備えることを特徴とする接触提示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は接触提示装置及び方法に関し、特に、仮想空間における仮想物体との接触をユーザに知覚させるための接触提示装置及び方法に関する。
【背景技術】
【０００２】
バーチャルリアリティの分野では、ユーザが仮想物体に触れたり、操作したりするために触覚ディスプレイの検討が行われている。触覚ディスプレイは大きく分類して、人体に物体からの反力を提示する力覚ディスプレイ（フォース・フィードバック・ディスプレイ）と、物体の手触り感を提示するタクタイルディスプレイに分類される。
【０００３】
しかしながら、従来の力覚ディスプレイは、大型で可搬性に乏しい物が多く、また、構成が複雑で高価になりやすい。タクタイルディスプレイについても装置の構成が複雑になりやすく、また、現状の技術では十分に手触り感を提示するまでに至っていない。
【０００４】
そこで、仮想物体からの十分な反力や、物体表面の正確な手触り感を提示するのではなく、単純に仮想物体に「接触したかどうか」を提示する接触提示装置が検討されている。
【０００５】
この方法では、振動モータを人体に複数装着し、仮想物体と触れた時に適当な位置の振動モータを振動させ、物体との接触をユーザに知覚させる。振動モータの振動により、ユーザは身体のどの部分が物体に触れているかを知覚することができる。また、振動モータは小型、安価、軽量であることから、人体の全体に装着することも比較的容易で、移動自由度の高いバーチャルリアリティシステムでの仮想物体とのインタラクションには特に有効である。
【０００６】
振動モータを用いた従来の接触提示装置には、次のようなものがある。
【０００７】
特許文献１は、指先の位置を取得するためのデータグローブに振動モータを設置し、指先に振動を与えることで、指先と仮想物体の接触をユーザに知覚させるものである。また、非特許文献１は、全身に計１２個の振動モータを装着し、仮想壁との接触時に振動モータを振動させることで、ユーザに壁を認知させる装置を提案している。この研究での振動モータ装着位置は、人体感覚図から判断し、頭、手の甲、肘、胴回り（３個）、膝、足首に装着している。また、非特許文献２では、腕４カ所、脚４カ所に振動モータを装着し、振動モータの振動を変化させて、異なる質感の物体への接触を提示している。また、非特許文献３では、戦場シミュレータ用に、振動モータを人体に装着した装置を開発している。この例では、振動モータ制御を無線で行うことが特徴である。
【０００８】
振動モータを使用した従来の接触提示装置の構成例を図１６に示す。
【０００９】
図１６では、複数の振動モータ３０１を人体に装着している。また、ユーザは、仮想物体を見るためにヘッドマウントディスプレイ３００を装着している。また、仮想物体との接触を検知するため、人体の各部位に位置検出用のマーカ３０２とマーカ読み取りのためのカメラ６を設置し、人体の位置情報を取得している。マーカは、従来の手法では光学マーカや画像マーカが使われている。また、マーカ以外の手法で人体の位置や形状を求める方法では、磁気センサによる位置検出や、光ファイバなどを用いたデータグローブなどが用いられている。
【００１０】
情報処理装置３１０には、カメラ６の情報を処理し人体の位置を求める位置検出部３０３と、仮想物体の形状・位置などを記録している記録装置３０４と、ヘッドマウントディスプレイ３００に映像を送信するための画像出力部３０７と、仮想物体と人体位置の関係を求める位置判定部３０５と、仮想物体と人体位置の関係から振動モータ３０１を制御する制御部３０６を備える。
【００１１】
これらの構成により、ユーザの位置姿勢を検出し、仮想物体との接触を判定した後に、接触部位に最も近い部位に装着している振動モータ３０１を振動させる。ユーザは振動した部分が、仮想物体と接触していることを知覚する。
【００１２】
例えば、図１７のように仮想物体と手及び腕が接触する場合を考える。図１７では、人体１に刺激発生手段として振動モータ３０１を複数備え、仮想物体２と接触した状態を示している。振動モータ３０１は、図に示すように、手の周り、腕の周りに円周上に配置するものとする。人体１は異なる面方向を有する仮想物体２に接触する。
【００１３】
図１８では、図１７の状態を人体１の断面方向で説明する図である。楕円で示した人体１は、図１７の振動モータ３０１を装着した前腕部の断面図であり、この部位で仮想物体２と接触している状態である。また、振動モータ３１１〜３１４の４つを前腕部の円周方向に装着している。図１８では、図中の左側の仮想物体に接触しており、その方向に装着している振動モータ３１３を振動させ、人体に刺激２１を与える。接触提示装置のユーザは、振動モータ３１３の刺激２１により、その部位で仮想物体２と接触していることを知覚する。
【００１４】
次に、図１９には図中の左側と下側の仮想物体２に同時に接触した場合を示している。この場合、仮想物体２と接触している部位の振動モータ３１２及び３１３を動作させて人体に刺激２１を与え、仮想物体２との接触をユーザに知覚させる。しかし、図１９では同じ刺激２１を人体に与えているため、仮想物体２と接触している部分は判断できるが、その形状が正確に判別できない。
【００１５】
すなわち、振動モータ３１２と振動モータ３１３の刺激が同じであることにより、図１９の接触で受ける刺激と、図２０のように傾いた面に埋没した場合の刺激は同じになる。
【特許文献１】特表２０００−５０１０３３号公報
【非特許文献１】矢野  博明，小木  哲朗，廣瀬  通孝：“振動モータを用いた全身触覚提示デバイスの開発”，日本バーチャルリアリティ学会論文誌，Ｖｏｌ．３，Ｎｏ．３，１９９８
【非特許文献２】Ｊｏｎｇｈｙｕｎ  Ｒｙｕ，Ｇｅｒａｒｄ  Ｊｏｕｎｇｈｙｕｎ  Ｋｉｍ：“Ｕｓｉｎｇ  ａ  Ｖｉｂｒｏ−ｔａｃｔｉｌｅ  Ｄｉｓｐｌａｙ  ｆｏｒ  Ｅｎｈａｎｃｅｄ  Ｃｏｌｌｉｓｉｏｎ  Ｐｅｒｃｅｐｔｉｏｎ  ａｎｄ  Ｐｒｅｓｅｎｃｅ”，ＶＲＳＴ‘０４，Ｎｏｖｅｍｂｅｒ１０−１２，２００４，Ｈｏｎｇｋｏｎｇ
【非特許文献３】Ｒ．Ｗ．Ｌｉｎｄｅｍａｎ，Ｙ．Ｙａｎａｇｉｄａ，Ｈ．Ｎｏｍａ，Ｋ．Ｈｏｓａｋａ，Ｋ．Ｋｕｗａｂａｒａ：“Ｔｏｗａｒｄｓ  Ｆｕｌｌ−Ｂｏｄｙ  Ｈａｐｔｉｃ  Ｆｅｅｄｂａｃｋ：Ｔｈｅ  Ｄｅｓｉｇｎ  ａｎｄ  Ｄｅｐｌｏｙｍｅｎｔ  ｏｆ  ａ  Ｓｐａｔｉａｌｉｚｅｄ  Ｖｉｂｒｏｔａｃｔｉｌｅ  Ｆｅｅｄｂａｃｋ  Ｓｙｓｔｅｍ”ＶＲＳＴ‘０４，Ｎｏｖｅｍｂｅｒ１０−１２，２００４，Ｈｏｎｇｋｏｎｇ
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかし、上記従来技術では、振動モータという力覚を伴わない簡単な刺激により接触をユーザに知覚させているため、詳細な接触の方向性が判断できないという問題があった。
【００１７】
例えば、ユーザは触覚のみでは接触部分周囲の形状が図１９のように２面で構成されているのか、図２０のように傾いた面に埋没しているのかを知ることができない。このような場合、視覚情報に頼って物体形状を把握するしかなく、視覚情報が得られない仮想物体部位の形状を知覚することができなかった。
【００１８】
以上の課題は、振動モータのような単純な刺激方法やタクタイルディスプレイを人体に複数装着して、仮想物体との接触を知覚させる場合に発生する。一方、複数の力覚ディスプレイを備える装置の場合、複数の面に接触したことは、それぞれの接触点で与えられる仮想物体からの反力の方向から判断することができる。タクタイルディスプレイの刺激は皮膚刺激のみであるため、力覚ディスプレイで発生する反力とは異なり方向性を持たず、ユーザは接触方向が判断できない。
【００１９】
本発明の目的は、簡単な構成で接触した仮想物体との接触状態を提示することができるようにすることにある。
【００２０】
また、本発明の他の目的は、力覚提示能力が無く、皮膚刺激のみの刺激発生手段により構成される接触提示装置において、物体や空間の形状を判断することができるようにすることにある。
【課題を解決するための手段】
【００２１】
上記の課題を解決するために、本発明の接触提示装置は、ユーザに仮想物体との接触を知覚させる接触提示装置であって、ユーザに装着される複数の刺激発生手段と、ユーザと仮想物体の異なる面が接触した場合に、前記刺激発生手段で異なる刺激を発生させるように制御を行う制御部を備えることを特徴とする。
【００２２】
また、本発明の接触提示装置は、ユーザに仮想物体との接触を知覚させる接触提示装置であって、ユーザに装着される刺激発生手段と、ユーザと仮想物体が接触した場合に、接触した位置の仮想物体表面の法線方向に基づいて前記刺激発生手段で発生する刺激を決定する前記制御部を備えることを特徴とする。
【００２３】
更に、本発明の接触提示方法は、ユーザに仮想物体との接触を知覚させる接触提示方法であって、ユーザと仮想物体の接触を検出する検出工程と、ユーザと仮想物体の異なる面が接触したことが検出された場合に、ユーザに装着された複数の刺激発生手段で異なる刺激を発生させるように制御を行う制御工程を備えることを特徴とする。
【００２４】
また、本発明の接触提示方法は、ユーザに仮想物体との接触を知覚させる接触提示方法であって、ユーザと仮想物体の接触を検出する検出工程と、ユーザと仮想物体が接触した場合に、接触した位置の仮想物体表面の法線方向に基づいて、ユーザに装着された刺激発生手段で発生する刺激を決定する前記制御工程を備えることを特徴とする。
【発明の効果】
【００２５】
本発明によると、接触した仮想物体との接触形状を提示することのできる接触提示装置及び方法を提供できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の一実施の形態を、図面を用いて詳細に説明する。
【００２７】
（実施の形態１）
図１は、本発明の実施の形態１に係る接触提示装置の構成を示す図である。
【００２８】
図１に示す接触提示装置は、刺激発生部１０を複数備える。刺激発生部１０は、人体に装着部材４により装着されている。装着部材４は、例えばゴムバンドのような着脱容易なものであるが、刺激発生部を適切に装着できるものであれば、何を用いても良い。
【００２９】
実施の形態１では、腕周りに等間隔に４つ、手のひら周りに等間隔に４つの刺激発生部１０を装着している。装着の部位や個数はこれに限らず、指先や胴回りや脚など人体のどの部位に装着しても良い。
【００３０】
刺激発生部としては、例えば周知の振動モータが、小型・軽量で複数個を装着することが比較的容易であり、さらに人体が知覚するために十分な刺激を発生するため好ましい。また、刺激発生部は振動モータに限らず、刺激の内容についても、振動刺激を始めとする機械的刺激の他に、電気的刺激や温度刺激など皮膚感覚に刺激を与えるものであれば何を用いても良い。
【００３１】
皮膚感覚に刺激を与える手段として機械的刺激では、ボイスコイルを用いたもの、圧電素子や高分子アクチュエータなどのアクチュエータにより人体に接触したピンを動作させて刺激を与えるもの、空気圧力により皮膚表面を圧迫するもの、などがある。また、電気的刺激では、微小電極アレイを用いて刺激を与えるものなどがあり、温度刺激では、熱電素子を用いるものなどがある。
【００３２】
また、情報処理装置１００は、一般的なパーソナルコンピュータで構成され、ＣＰＵ、メモリ（ＲＯＭ、ＲＡＭ）、外部インターフェース等を備える。このメモリに記憶されたプログラムを実行することにより、位置検出部１１０、位置判定部１３０、画像出力部１５０として機能する。更に、情報処理装置１００内には、刺激発生部の駆動を制御する制御部１４０を備える。
【００３３】
画像出力１５０から外部のディスプレイに画像が出力され、ディスプレイに視覚的に表示された仮想物体をユーザが見ながら使用することが好適である。ディスプレイには、液晶やプラズマ、ＣＲＴ、プロジェクター、ヘッドマウントディスプレイ（ＨＭＤ）などを用いることができる。
【００３４】
更に、人体位置を検出する方法と合わせて、実際の人体位置と仮想物体の位置関係に応じて、物体表面に触れた感覚を提示しても良い。人体位置の検出方法としては、マーカとカメラを用いる方法や、カメラで撮影した映像を画像処理することで人体形状や位置を得る方法、磁気センサや加速度・角速度センサや地磁気センサなどを用いた手法などがあり、何れの方法を用いても良い。
【００３５】
図１では、例としてカメラ６と、カメラ６により撮影された画像を画像処理することにより人体の位置と形状を求める方法を示している。
【００３６】
情報処理装置１００内には、位置検出用のカメラ６の情報を処理する位置検出部１１０を備える。位置検出部１１０では、予め用意した人体モデル（人体アバタ）に、カメラ６で撮影した画像に基づく人体位置計測結果を合わせることにより、仮想空間中での人体の位置を検出する（図１５のステップＳ１５１）。
【００３７】
また、記録装置１２０には、仮想物体の位置や外観、形状の情報が記録されている。
【００３８】
位置判定部１３０では、位置検出部１２０により出力される人体の位置と、記録装置１２０に記録している仮想物体との位置関係を判定する（図１５のステップＳ１５２）。これにより、人体と仮想物体との距離や、接触の有無を判定する。なお、これらは公知の技術を用いればよいのでその詳細については省略する。
【００３９】
そして、制御部１４０は、位置判定部１３０の接触判定結果に基づいて、刺激発生部の駆動制御を行い、ユーザに仮想物体との接触を知覚させる（図１５のステップＳ１５３）。以上のステップＳ１５１〜Ｓ１５３を繰返す。
【００４０】
以下、制御部１４０で行うユーザと仮想物体との接触に伴う刺激を与えるための駆動制御について、詳細に説明する。
【００４１】
まず、図２に、人体１と仮想物体２が１カ所で接触している状態を説明するための図を示す。説明のため、図２では、人体と仮想物体の接触を２次元の断面図で示している。楕円で示した人体１は、図１の前腕部の円周方向に装着した振動モータ１０の部位の断面図であり、この部位で仮想物体２と接触している状態を示している。図２では、人体１と仮想物体２の接触位置にある刺激発生部１１（振動モータ１０）を動作させて刺激２０を人体１に与える。ユーザは刺激２０により、刺激発生部１１の位置で、仮想物体２と接触していることを知覚する。以上の図２を用いて説明した制御は、従来行われていたものと同じで処理である。
【００４２】
なお、仮想物体２と人体１の接触は、刺激発生部を装着した部位で発生するとは限らない。仮想物体２との接触位置に刺激発生部が存在しない場合には、複数備える刺激発生部の内、接触位置に最も近い刺激発生手段部を動作させるようにすれば良い。この方法により、ユーザは、近似的に仮想物体との接触位置を判断することができるようになる。効果的に接触位置を知覚させるためには、高密度で刺激発生部を配置することが好ましい。ただし、刺激発生部の数を増やすと、装着やキャリブレーション及び制御が困難になるので、実際に使用できる数には限りがある。
【００４３】
次に、図３に、人体１が仮想物体２の異なる面６１、６２に同時に接触している状態を説明するための図を示す。図３では、人体１と仮想物体２の接触位置にある刺激発生部１１と刺激発生部１２を動作させて刺激を人体１に与える。ここで、刺激発生部１１で発生する刺激２１と刺激発生部１２で発生する刺激２２を異なる刺激にすることで、ユーザは異なる面に接触していることを知覚することができるようになる。なお、予めユーザには、異なる面に接触した場合には、異なる刺激が発生することを教示しておくことが好ましい。
【００４４】
図３では９０°異なる方向を向いた面に人体が接触した場合を示したが、これに限らず０°や１８０°以外の角度の２つの面に対して接触した場合にも、同様に異なる刺激を発生させる。刺激の変化は、２つの面の角度に応じて変化させると好ましく、例えば、２つの面の角度が９０°の場合には大きな刺激変化とし、１８０°に近づけば、相対的に小さな刺激変化とする制御を行う。
【００４５】
次に、接触する面によって変化させる刺激について、機械的な振動刺激を変化させる例を説明する。図４は、人体１と仮想物体２の接触状態と、各々の接触状態における刺激発生部の振動状態について説明する図である。
【００４６】
図４では、接触面によって、振動のパターンを変化させることにより異なる刺激を発生させる例を示している。以下、図４について詳細に説明する。
【００４７】
図４（Ａ）では、人体１と仮想物体２は一つの面で接触している。よって、刺激発生部１１で発生する刺激２１は他の刺激発生部での刺激を考慮する必要はなく、単純に連続的な刺激を人体に与える。ここで、図４においては、横軸は時間を表し、縦軸は刺激発生部（振動モータ）が発生する振動を示している。
【００４８】
次に、図４（Ｂ）では、人体１が仮想物体２の二つの面に同時に接触している状態を示している。ここで、２つの異なる面に接触していることをユーザに知覚させるため、刺激発生部１１と刺激発生部１２では異なる刺激を発生させる。図４（Ｂ）に示すように、刺激発生部１１の刺激２１と刺激発生部１２の刺激２２を、それぞれの振動時間が重ならないように調整する。このように異なるタイミングで刺激を人体１に与えるようにした刺激パターンにより、ユーザは異なる刺激を受け、異なる面に接触していることを知覚できるようになる。
【００４９】
さらに、図４（Ｃ）では、同時に仮想物体２の３つの面に対して人体１が接触している状態を示している。この場合でも、図４（Ｂ）と同様に、３つの刺激発生部で発生する刺激が異なるように、刺激のタイミングを変更する。
【００５０】
図４を用いた振動変化の例では、各々の刺激発生部の振動時間が重ならないように、接触面が増えるごとに振動時間を調整する例を示したが、振動の変化はこれに限定しない。例えば、接触面が増えるごとに刺激を調整するのではなく、予め複数の刺激パターンを用意しておき、接触面の数に応じて刺激を選択するようにしても良い。各々の刺激発生部で発生する刺激が異なるものであることをユーザが知覚できれば、どのような種類の振動パターンを用いても良い。このような場合の振動パターンの例を図５に示す。図５では、図４（Ｃ）で、刺激発生部１１、１２、１３に入力する振動パターンの例を示しており、それぞれ振動の繰り返し、開始時間が異なっている。図５のように、ユーザがそれぞれ異なる刺激と判断できれば、各刺激発生部の振動時間に重なりがあっても良い。
【００５１】
以上では、人体と仮想物体の接触状態によって、刺激を動的に変化させる場合について示したが、後述するように、仮想物体に予め異なる面を設定し、各々の面に予め特定の刺激パターンを関連づけても良い。
【００５２】
また、以上では、人体が同時に異なる面に接触した場合について、それぞれの面で異なる刺激を発生させる例について説明したが、異なる刺激を発生させる制御は同時に仮想物体の異なる面に接触した場合に限らない。ユーザが異なる刺激により異なる面を感じる作用は、異なる面への接触が時間的にずれていても効果があるので、常に面ごとに異なる刺激を発生させるように制御を行っても良い。この場合、仮想物体の異なる面ごとに面に予め特定の刺激を設定しても良いし、人体の近傍にあり接触が予想される仮想物体の複数の面に、それぞれ異なる刺激を動的に割り当てても良い。
【００５３】
また、２つ以上の刺激発生部で仮想物体の同じ面への接触を表現する場合には、同じ刺激を発生させれば良い。この場合の例を図６に示す。本実施の形態で用いる刺激発生部は、仮想物体からの反力を返さないので、人体が仮想物体中に入り込んでしまうケースがある。図６では、そのような状態を示しており、仮想物体２に人体１の一部が入り込んでいる。図６の状態では、仮想物体２との接触を知覚させるために、刺激発生部１１と刺激発生部１２を動作させれば良い。また、二つの刺激発生部で表現する接触面が同一の面であるため、図６の下部に示すように同一の刺激パターンを発生させる。この制御方法は２つ以上の刺激発生部の場合でも同様で、例えば、図６で人体が仮想物体２に完全に埋没した場合には、刺激発生部１１〜１４全てで同一の刺激を発生させると良い。
【００５４】
以上の同一平面を表現する刺激発生の制御と、前述した複数面との接触を表現するために異なる刺激を発生させる制御を用いることにより、ユーザは仮想物体の形状、接触状態を知覚することができるようになる。
【００５５】
また、異なる面との接触を知覚させるための、異なる刺激は上記の刺激のパターンのみならず、刺激の周波数や、刺激の強度などを変化させて用いても良い。
【００５６】
図７に、接触面に応じて、振動刺激の周波数を変化させた例を示す。具体的には、刺激発生部１１では周期ｆ１の振動刺激を発生させ、刺激発生部１２では周期ｆ２の振動刺激を発生させている。
【００５７】
また、図８には、接触面に応じて、振動刺激の振幅（強度）を変化させた例を示している。具体的には、刺激発生部１１では振幅Ｉ１の振動刺激を発生させ、刺激発生部１２では振幅Ｉ２の振動刺激を発生させている。
【００５８】
変化させる刺激について、刺激のパターン、周波数、強度について個別に説明したが、これらを組み合わせて異なる刺激を発生させても良い。これにより、ユーザが知覚する接触状態を数を増やすことができる。
【００５９】
以上では、振動パターン、振動強度、振動周波数を変化させて異なる刺激を発生させる方法を示したが、異なる刺激はこれらに限定されることはない。
【００６０】
例えば、各刺激発生部に異なる刺激発生方法を備え、接触した面に応じて異なる刺激を人体に与えるようにしても良い。具体的な例を、図９を用いて説明する。図９では、電気的刺激発生部３５と機械的刺激発生部３６を備える刺激発生部３１〜３４を人体に装着した状態で、仮想物体２の２つの面に接触している。電気的刺激発生部３５は、例えば突起状の電極であり、機械的刺激発生部３６は、例えば振動モータである。ここで、刺激発生部３１では電気的刺激発生部３５を動作させ電気的刺激２４を、刺激発生部３２では機械的刺激発生部３６を動作させ機械的刺激２５を人体１に与える。ユーザは機械的刺激と電気的刺激という異なる刺激を受けることで、異なる面への接触を知覚することができるようになる。
【００６１】
次に、異なる刺激を与える面の定義について説明する。上述の図面では、９０°異なる方向を向いた面を異なる面として、異なる面に接触した場合に異なる刺激を与えるとしていた。
【００６２】
このような、異なる刺激を与える面は、予め設定しておくことが簡便である。異なる刺激を与える面を予め設定した例を図１０に示す。図１０は、ポリゴンで構成された仮想物体であり、台座の上に円柱が乗っている形状である。図１０では、図面の見える範囲においては面２０１〜２０６の６つの面が予め設定されており、これらの面の内、複数の面に同時に接触があった場合に、異なる刺激を与えるようにする。
【００６３】
また、図中の面２０３、２０４に示すように、円柱の側面の部分（曲面）でも所定の面に分割した扱いにすることで、厳密な意味で正確ではないが曲面形状をユーザに知覚させることができるようになる。曲面を分割して複数の面として扱う場合には、可能な限り細かく分割して面を設定した方が正確に曲面をユーザに知覚させることができるようになる。
【００６４】
また、異なる刺激を与える面の定義は、上記のように、予め面を設定するだけではなく、異なる複数のポリゴンに接触したときに、異なる刺激を与える制御を行っても良い。
【００６５】
図１１にポリゴンで構成された仮想物体を示す。図１１の仮想物体に複数点で接触し、その接触点のポリゴンが異なる場合、各接触点で異なる刺激を発生させるように制御を行う。このような、ポリゴンの違いを異なる面との接触と定義する方法は、曲面を持つ仮想物体との接触を扱う場合や、ポリゴン数が少なく粗い形状の仮想物体との接触を扱うときに用いると好適である。
【００６６】
また、前述の予め異なる刺激を与える面を定義する方法と、ポリゴンごとに異なる刺激を与える方法を組み合わせて使用しても良い。例えば、連続的な平面部分や曲率の小さな部分は予め同一平面と定義し、定義した面に従って同じ刺激または異なる刺激を与えることを決定する。一方、曲率の大きな部分については、異なるポリゴンに接触した場合に異なる刺激を与えるように制御する。
【００６７】
（実施の形態２）
実施の形態１では、異なる面との接触を判定する方法として、予め面を設定しておく場合と、接触するポリゴンの違いを用いる場合を説明した。
【００６８】
実施の形態２では、異なる面の定義として、人体と仮想物体が接触した点で仮想物体表面の法線方向を算出し、法線方向が異なる場合に異なる刺激を与えるように制御する場合について説明する。
【００６９】
図１２は、実施の形態１の説明で用いた図３及び図６に、法線方向により異なる面を定義する場合を説明するための図である。図１２（Ａ）及び（Ｂ）では、刺激発生部１１、１２の人体部位で仮想物体２と接触しており、刺激発生部１１、１２を動作させて人体１に仮想物体２と接触があることを知覚させる。
【００７０】
ここで、それぞれの接触点での仮想物体表面の法線方向を求める。まず、図１２（Ａ）の接触点での法線方向は、方向４１と４２である。図１２（Ａ）の例では、法線方向の角度が９０°異なっており、異なる角度であると判定し、刺激発生部１１と１２にそれぞれ異なる刺激を発生するように制御する。一方、図１２（Ｂ）では、接触点の仮想物体表面の法線方向４３、４４は同じ角度であるため、同一の平面と判定し、刺激発生部１１と１２には同じ刺激を発生するように制御する。仮想物体表面の法線方向の角度を比較する場合には、法線方向が完全に同じ場合にのみ、同じ刺激を発生するように制御を行えばよい。または、予め所定の角度を設定し、所定の角度よりも異なる場合には、それぞれの位置の刺激発生部で異なる刺激を発生し、所定の角度以下の差異であれば、同じ刺激を発生するようにしてもよい。
【００７１】
このように、仮想物体表面の法線方向に基づいて、異なる刺激を発生させるかどうかを判断することにより、予め異なる刺激を発生させるための面を定義する必要がなくなり、事前の準備が簡便になる。また、特に曲面への接触を扱う場合には好適である。
【００７２】
図１３は曲面への接触と法線方向による刺激の決定について説明するための図である。図１３（Ａ）では、曲面状の凹形状を有する仮想物体２と、刺激発生部１５〜１９を指先に装着した人体１の接触を表す図である。これまでの説明では、腕や手のひら周りに装着した刺激発生部の制御について説明してきたが、前述したように刺激発生部は人体のどの部位に装着しても良い。また、異なる刺激を発生させる刺激発生部は、図１３の様に各指のように離れた部分でも良い。
【００７３】
図１３（Ｂ）は、図１３（Ａ）の状態を説明のため断面図として示したものである。人体１０１〜１０４は図１３（Ａ）に対応してそれぞれ、人差し指１０１、中指１０２、薬指１０３、小指１０４を示している。各指には刺激発生部１５〜１８をそれぞれ装着している。各指の仮想物体２との接触点での法線方向を方向４５〜４８として、図中に示している。各指での仮想物体との接触点の法線方向を比較して、刺激発生部１５〜１８のそれぞれの刺激を決定する。ここでは所定の角度差以上の場合に、異なる刺激を発生させる方法により制御を行う。
【００７４】
例えば、図１３の例では、人差し指１０１と中指１０２での法線方向４５、４６は予め定めた所定の角度差以内であるとして、刺激発生部１５、１６には同じ刺激を発生させる。また、薬指１０３の仮想物体２との接触の法線方向４７は、人差し指１０１と中指１０２での法線方向４５、４６と比較して、所定の角度よりも差があるので、刺激発生部１７には、刺激発生部１５、１６とは異なる刺激を発生させる。
【００７５】
またさらに、小指１０４の仮想物体２との接触点の法線方向４８は、前述の法線方向４５、４６、４７と異なるので、小指１０４に装着した刺激発生部１８では、刺激発生部１５、１６、１７とは異なる刺激を発生させる。
【００７６】
以上のような制御を行うことで、図１３の仮想物体２の曲面をユーザに知覚させることができるようになる。
【００７７】
人体の接触点における仮想物体表面の法線方向は、例えば、接触点でのポリゴンの法線ベクトルから定義すればよい。また、複数のポリゴンに接触している場合には、それぞれのポリゴンの法線方向の平均値を用いても良く、複数の法線方向の内の代表値を用いても良い。
【００７８】
また、さらに、ＮＵＲＢＳ（ＮＯＮ−ＵＮＩＦＯＲＭ  ＲＡＴＩＯＮＡＬ  Ｂ−ＳＰＬＩＮＥ：非一様有理Ｂ−ｓｐｌｉｎｅ面）などの自由曲面を用いて仮想物体を表現し、人体と仮想物体との接触を判定している場合には、接触点での法線方向を自由曲面から直接求めるようにしても良い。
【００７９】
また、Ｂｏｕｎｄｉｎｇ  Ｂｏｘを用いるタイプの干渉判定を行っている場合には、接触点のＢｏｕｎｄｉｎｇ  Ｂｏｘ表面の法線方向を用いても良い。
【００８０】
なお、各刺激発生部での異なる刺激については、実施の形態１と同様に、刺激パターンや、刺激の強度、刺激の周波数などを変化させることにより実現することができる。また、特定の方向には特定の刺激を予め関連づけておくようにしても良い。
【００８１】
また、法線方向により異なる面を定義することについて説明したが、方向のみでなく接触の深度の情報を合わせた情報を使うことにより、接触面の方向と接触深さも提示できるようになる。
【００８２】
図１４を用いて具体的に説明を行う。図１４では、図３などと同様に、人体１の円周方向に刺激発生部１１〜１４を装着し、仮想物体２と２箇所で接触した状態を示している。また、本実施の形態で用いる刺激発生部は力覚（仮想物体からの反力）を発生させないので、人体１が仮想物体２中に侵入する場合がある。図１４では、刺激発生部１１付近の人体１が、仮想物体２中に侵入している。
【００８３】
一方、刺激発生部１２の部分では、人体１は仮想物体２とわずかに接触しているのみの状態である。各接触点での仮想物体表面での法線方向を求めると共に、人体と仮想物体の干渉深度を求める。
【００８４】
図１４には、接触点の法線方向と干渉深度を合わせたベクトルを表しており、刺激発生部１１の人体部位でのベクトル５１は、刺激発生部１２の人体部位でのベクトル５２よりも大きなスカラー量を持つ。人体の仮想物体への侵入量と、スカラー量の大きさの関係は、ばねモデルなどで算出すればよい。
Ｆ＝−ｋ△ｘ    （１）
Ｆ：スカラー量の大きさ（反力の大きさ）
ｋ：ばね定数
△ｘ：人体の物体への侵入量
物体への侵入量に対して、ばねモデルで力を算出する方法は、一般にペナルティ法と呼ばれており、反力計算では公知の技術である。
【００８５】
上記のスカラー量の大きさの算出には、ペナルティ法を含む公知の技術を用いれば良く、詳細な説明は割愛する。
【００８６】
以上のように求められた、法線方向と干渉深度からなるベクトルにより、刺激発生部を駆動する。
【００８７】
まず、法線方向が異なる接触点がある場合には、それぞれの刺激発生部で異なる刺激を発生させる。また、さらに、干渉深度の度合いに応じて、異なる刺激を発生させる。
【００８８】
より具体的には、法線方向が異なる接触では、刺激のパターンまたは周波数を異なるものにして、干渉深度については干渉の深さによって刺激の強度を増加させるようにする。図１４の例では、刺激発生部１１と刺激発生部１２において、刺激パターンが異なり、刺激発生部１１の方が強い刺激を発生するように各刺激発生部を制御すればよい。
【図面の簡単な説明】
【００８９】
【図１】実施の形態１に係る接触提示装置の構成を示す図である。
【図２】人体と仮想物体が１つの面でのみ接触している状態を説明するための図である。
【図３】人体と仮想物体が異なる面で接触している状態を説明するための図である。
【図４】人体と仮想物体が異なる面で接触した場合に、刺激発生部で発生させる刺激の概念を示す図である。
【図５】異なる刺激について説明するための図である。
【図６】複数の刺激発生部で同一面への接触を表現する場合について説明するための図である。
【図７】異なる刺激の一例を説明するための図である。
【図８】異なる刺激の一例を説明するための図である。
【図９】異なる刺激を発生するために、電気的刺激と機械的刺激を用いる例を説明するための図である。
【図１０】予め設定する面について説明するための図である。
【図１１】ポリゴンによる仮想物体を説明するための図である。
【図１２】仮想物体表面の法線方向により刺激制御を行うことを説明するための図である。
【図１３】仮想物体の曲面に触れた場合を説明するための図である。
【図１４】接触深度の情報を使用する場合について説明するための図である。
【図１５】情報処理装置の動作フロー図である。
【図１６】振動モータを使用した一般的な接触提示装置について説明するための図である。
【図１７】仮想物体と人体について説明するための図である。
【図１８】人体と仮想物体が１つの面でのみ接触している場合を示す図である。
【図１９】人体と仮想物体が２つの面で接触している場合を示す図である。
【図２０】人体と仮想物体が１つの面でのみ接触している場合を示す図である。
【符号の説明】
【００９０】
１  人体
２  仮想物体
１０〜１９  刺激発生部
１００  情報処理装置
１１０  位置検出部
１２０  記憶装置
１３０  位置判定部
１４０  制御部
１５０  画像出力部
【図１】
2008108054.tif 000003
【図２】
2008108054.tif 000004
【図３】
2008108054.tif 000005
【図４】
2008108054.tif 000006
【図５】
2008108054.tif 000007
【図６】
2008108054.tif 000008
【図７】
2008108054.tif 000009
【図８】
2008108054.tif 000010
【図９】
2008108054.tif 000011
【図１０】
2008108054.tif 000012
【図１１】
2008108054.tif 000013
【図１２】
2008108054.tif 000014
【図１３】
2008108054.tif 000015
【図１４】
2008108054.tif 000016
【図１５】
2008108054.tif 000017
【図１６】
2008108054.tif 000018
【図１７】
2008108054.tif 000019
【図１８】
2008108054.tif 000020
【図１９】
2008108054.tif 000021
【図２０】
2008108054.tif 000022