JP2008134990A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2008134990A
JP2008134990A JP2007106367A JP2007106367A JP2008134990A JP 2008134990 A JP2008134990 A JP 2008134990A JP 2007106367 A JP2007106367 A JP 2007106367A JP 2007106367 A JP2007106367 A JP 2007106367A JP 2008134990 A JP2008134990 A JP 2008134990A
Authority
JP
Japan
Prior art keywords
stimulus
human body
virtual
virtual object
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007106367A
Other languages
English (en)
Other versions
JP4926799B2 (ja
JP2008134990A5 (ja
Inventor
Tetsutoshi Sonoda
哲理 園田
Atsushi Nogami
敦史 野上
Naoki Nishimura
直樹 西村
Toshinobu Tokita
俊伸 時田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007106367A priority Critical patent/JP4926799B2/ja
Priority to EP07118796.7A priority patent/EP1916592A3/en
Priority to US11/875,549 priority patent/US20080094351A1/en
Publication of JP2008134990A publication Critical patent/JP2008134990A/ja
Publication of JP2008134990A5 publication Critical patent/JP2008134990A5/ja
Application granted granted Critical
Publication of JP4926799B2 publication Critical patent/JP4926799B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user

Abstract

【課題】 人体と仮想物体との衝突に起因する刺激を人体に対して提示する際に、刺激の広がりや、刺激による仮想物体についての情報の付加をも考慮した刺激提示に係る技術を提供すること。
【解決手段】 人体に対して刺激を与える為の刺激発生部110を、ユーザの人体に複数配置した場合における、それぞれの刺激発生部110を制御する。位置判定部108は、ユーザが存在する仮想空間を構成する仮想物体と、人体とが接触したか否かを判定する。接触が生じた場合、制御部103は、接触したと判定した箇所の近傍に位置する複数の刺激発生部110のそれぞれについて、仮想物体と刺激発生部との位置関係に基づいた駆動制御を行う。
【選択図】 図1

Description

本発明は、人体と仮想物体との接触に基づいた刺激を人体に対して与えるための技術に関するものである。
バーチャルリアリティの分野では、仮想物体に触れたり、操作したりするために触覚ディスプレイの検討が行われている。触覚ディスプレイは大きく分類して、人体に物体からの反力を提示する力覚ディスプレイ(フォース・フィードバック・ディスプレイ)と、物体の手触り感を提示するタクタイルディスプレイに分類される。しかし、従来の力覚ディスプレイは、大型で可搬性に乏しい物が多く、また構成が複雑で高価になりやすい。タクタイルディスプレイについても装置の構成が複雑になりやすく、また現状の技術では十分に手触り感を提示するまでに至っていない。
そこで、仮想物体からの十分な反力や、物体表面の正確な手触り感を提示するのではなく、単純に仮想物体に「接触したかどうか」を提示する接触提示装置が検討されている。係る技術では、振動モータを人体に複数装着し、仮想物体と触れた時に適切な位置の振動モータを振動させ、仮想物体との接触をユーザに知覚させる。振動モータの振動により、ユーザは身体のどの部分が仮想物体に触れているかを知覚することができる。また、振動モータは小型、安価、軽量であることから、人体の全体に装着することも比較的容易で、移動自由度の高いバーチャルリアリティシステムでの仮想物体とのインタラクションには特に有効である。
振動モータを用いた従来の接触提示装置には、次のようなものがある。
特許文献1には、指先の位置を取得するためのデータグローブに振動モータを設置し、指先に振動を与えることで、指先と仮想物体との接触をユーザに知覚させる為の技術が開示されている。
また、非特許文献1には、全身に計12個の振動モータを装着し、仮想壁との接触時に振動モータを振動させることで、ユーザに壁を認知させる装置が開示されている。係る文献における振動モータ装着位置は、人体感覚図から判断し、頭、手の甲、肘、胴回り(3個)、膝、足首に装着している。
また、非特許文献2には、腕4カ所、脚4カ所に振動モータを装着し、振動モータの振動を変化させて、異なる質感の物体への接触について開示されている。
また、非特許文献3には、戦場シミュレータ用に、振動モータを人体に装着した装置が開示されている。係る技術は、振動モータ制御を無線で行うことが特徴である。
図13は、従来の振動モータを使用した接触提示装置の機能構成を示すブロック図である。同図では、ユーザの人体1300には振動モータ309が複数配されている。また、ユーザは仮想物体を見るためにヘッドマウントディスプレイ(HMD)300を装着している。また、仮想物体との接触を検知するためには、人体の位置情報が必要であるため、人体の各部位には位置検出用のマーカ302が配されていると共に、このマーカを読み取るためのカメラ6が情報処理装置5に接続されている。
マーカ302には従来の手法では光学マーカや画像マーカが使われている。また、マーカ以外の手法で人体の位置や形状を求める方法としては、磁気センサによる位置検出や、光ファイバなどを用いたデータグローブなどが用いられている。
情報処理装置5には、位置検出部7、記録装置9、位置判定部8、制御部3、画像出力部303が備わっている。
位置検出部7は、カメラ6から入力された画像中におけるマーカを用いて人体部位の位置を求める。記録装置9には、仮想空間を構成している各仮想物体の位置や形状についての情報が記録されている。位置判定部8は、位置検出部7が求めた人体部位の位置と、記録装置9に記録されているそれぞれの仮想物体の位置とを用いて、人体を構成する各部位のうち何れが仮想物体に接触しているのかを判定する。画像出力部303は、記録装置9に記録されている情報を用いて仮想空間の画像を生成し、生成した画像をHMD300に出力する。制御部3は、位置判定部8による判定結果に基づいて、振動モータ301の駆動制御を行う。
このような構成によれば、人体部位の位置情報を検出し、検出した位置情報に基づいて仮想物体と人体部位との接触判定を行うことができる。そして、接触部位に最も近い部位に装着している振動モータ301を振動させることができる。ユーザは振動した部分が、仮想物体と接触していることを知覚する。
上記のような接触提示装置では、力覚ディスプレイのように、物体からの反力を発生することはできないが、物体との接触を簡易的に知覚することができる。また、その表現力を向上させる試みがいくつか行われている。
例えば、非特許文献2には、予め実際の物体と衝突した時の振動波形を測定し、仮想物体との衝突時に、この測定した振動波形を模倣して振動モータを駆動することが開示されている。実際の物体と衝突した時の振動波形は材質ごとに異なるので、このような制御を行うことにより、衝突した仮想物体の材質を表現している。
特表2000−501033 矢野 博明,小木 哲朗、廣瀬 通孝:"振動モータを用いた全身触覚提示デバイスの開発",日本バーチャルリアリティ学会論文誌, Vol.3, No.3,1998 Jonghyun Ryu, Gerard JounghyunKim:"Using a Vibro−tactile Display for Enhanced Collision Perception and Presence",VRST’04, November 10−12, 2004,Hongkong R.W.Lindeman, Y.Yanagida, H.Noma,K.Hosaka,K.Kuwabara:"Towards Full−Body Haptic Feedback:The Design and Deployment of a Spatialized Vibrotactile Feedback System",VRST’04,November 10−12,2004,Hongkong
しかし、従来の接触提示装置では、仮想物体との衝突点のみに刺激を発生させていたので、仮想物体と衝突したときの衝突感の提示が十分でなかった。人体と実際の物体とが衝突する場合には、物体との衝突点のみならず、衝突時の衝撃が伝搬することで周囲の人体も振動する。従来では、衝突時の波形で振動モータを駆動しているが、1つの振動モータしか動作させていないので、周囲の振動を模倣して刺激を発生させることが考慮されていなかった。また、複数の振動モータが有効に活用されておらず、接触した仮想物体の表面の向きの提示、衝突した仮想物体の形状の提示、仮想物体に人体が侵入した時に干渉から離脱する方向の提示等が十分に行えていなかった。
本発明は以上の問題に鑑みてなされたものであり、人体と仮想物体との衝突に起因する刺激を人体に対して提示する際に、刺激の広がりの提示や、接触した時の仮想物体についての情報の提示をも考慮した刺激提示に係る技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置であって、
前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定手段と、
前記判定手段が接触したと判定した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記箇所と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置であって、
前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定手段と、
前記判定手段が接触したと判定した場合、前記仮想物体と前記人体が接触した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記仮想物体と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置が行う情報処理方法であって、
前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定工程と、
前記判定工程で接触したと判定した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記箇所と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置が行う情報処理方法であって、
前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定工程と、
前記判定工程で接触したと判定した場合、前記仮想物体と前記人体が接触した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記仮想物体と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御工程と
を備えることを特徴とする。
本発明の構成により、人体と仮想物体との衝突に起因する刺激を人体に対して提示する際に、刺激の広がりをも考慮した刺激提示を行うことができる。
また、本発明の構成により、人体と仮想物体との衝突に起因する刺激を人体に対して提示する際に、接触した時の仮想物体についての情報をも考慮した刺激提示を行うことができる。
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
[第1の実施形態]
<システムの構成について>
本実施形態は、ユーザに対して仮想空間を提示するためのシステムであって、仮想空間中の仮想物体とユーザの人体との衝突が発生した場合には、係る衝突の感触を、衝突時における刺激の広がりをも考慮して、ユーザの人体に提示するためのものである。
図1は、本実施形態に係るシステムの機能構成を示すブロック図である。
100は仮想空間を体感するユーザであり、ユーザ100の頭部には、HMD130が装着されている。ユーザ100はこのHMD130が有する表示部に表示されている画像を眼前に見ることで、仮想空間を体感する。
なお、仮想空間の体感のための具体的な構成については以下の説明における趣旨ではないので、簡単に説明しておく。情報処理装置105は、HMD130に備わっているセンサにより計測されたHMD130の位置姿勢を取得する。そしてこの取得した位置姿勢を有する視点から見える仮想空間の画像を生成する。そして、生成した仮想空間画像を画像出力部113を介してHMD130が有する表示部に出力する。なお、HMD130の位置姿勢の取得方法や、仮想空間画像を生成するための具体的な方法については様々なものがあるし、以下の説明の趣旨ではないので、これ以上の説明は省略する。
1は、ユーザ100の手であり、この手1には、1以上のマーカ199が配されていると共に、装着部104が取り付けられている。この装着部104には、複数の刺激発生部110が装着されている。この刺激発生部110は、刺激を人体(図1の場合、手1)に対して与えるものである。刺激発生部110で発生する刺激は、機械的な振動刺激であることが好ましい。また、刺激発生部110としては、例えば振動モータが、小型・軽量で複数個を装着することが比較的容易であることや、人体が知覚するために十分な刺激を発生することにより、好ましい。
機械的な振動刺激を与える刺激発生部110には様々なものが考えられる。例えば、機械的な振動刺激を発生するボイスコイル型の刺激発生部110を用いても良いし、圧電素子や高分子アクチュエータ等のアクチュエータにより人体に接触したピンを動作させて刺激を与える刺激発生部110を用いても良い。また、空気圧力により皮膚表面を圧迫する刺激発生部110を用いても良い。
また、刺激は機械的刺激に限らず、皮膚感覚を刺激するものであれば、電気的刺激や温度刺激などを刺激発生部110として用いても良い。電気的刺激では、微小電極アレイを用いて刺激を与えるものなどがあり、温度刺激では、熱電素子を用いるものなどがある。
このように、装着部104には、装着部104を装着する部位に対して刺激を提供することができる刺激発生部110が複数配される。この装着部104は、例えば手袋やバンド形状のような着脱容易なものであるが、刺激発生部110から発生する刺激が人体に伝わるように適切に装着できるものであれば、何を用いても良い。また、同図では、装着部104は手1に対して装着するものとして説明したが、他の部位(腕、胴回り、脚等)に対して装着部104を装着するようにしても良い。また、装着部104に配する刺激発生部110の数についても、特に限定するものではない。本実施形態では、ユーザの各部位には、複数の刺激発生部110が取り付けられているものとして説明する。
なお、ここで「部位」とは、単に腕や足などのものをさすが、場合よっては、腕と胴体というように、複数の部位を含めたものを総称して「部位」と解釈しても良い。
カメラ106は、現実空間中の所定の箇所に複数配置されているものであり、ユーザの各部位に取り付けられたマーカを撮像するものである。カメラ106の配置位置については特に限定するものではないし、その位置姿勢は適宜変更しても良い。カメラ106により撮像された各フレームの画像(現実空間画像)は情報処理装置105が有する位置検出部107に出力される。
記録装置109は、仮想空間を構成する各仮想物体の形状情報や位置姿勢情報を保持するものである。例えば、仮想物体がポリゴンでもって構成されている場合には、各ポリゴンの法線ベクトルや色のデータ、ポリゴンを構成する各頂点の座標値データ、テクスチャデータ、仮想物体の配置位置姿勢などのデータが記録装置109に保持されている。また、記録装置109には、ユーザの人体(各部位)を模した仮想物体(以下仮想人体と呼称する)の形状情報や、各部位間の相対的な位置姿勢関係を示す情報も保持されている。
位置検出部107は、カメラ106から入力された現実空間画像中におけるマーカ199を検出し、検出したマーカを用いて、手1を含むユーザの各部位の位置姿勢を求める。そして、求めた各部位の位置姿勢に、人体の各部位を模した仮想人体を配置する処理を行う。これにより、仮想空間中には、ユーザの各部位を模した仮想人体が、実際の各部位と同じ位置姿勢でもって配置されていることになる。係る技術には、例えば、モーションキャプチャ技術があり、周知の技術である。なお、各部位を模した仮想人体については表示しなくても良い。
尚、ここで仮想人体を設定した理由は、人体、例えば、手の形状データを予め用意し、現実の手にその形状データを重畳させれば、後に示す情報処理装置上において、手と仮想物体との干渉(接触)を計算することができる。これにより、マーカを設置した以外の人体の部位において仮想物体との干渉が生じても、人体のどの部分で干渉が生じたかが判明する。
マーカの位置でのみ干渉を検出する場合もしくはマーカを多数配置する場合においては、必ずしも仮想人体を設定する必要は無い。しかしながら、人体のさまざまな場所において仮想物体との干渉が検出できる、または、マーカ数を減らすために、仮想人体を設定して仮想物体との干渉を判定することがより望ましい。
位置判定部108は、仮想人体と、それ以外の仮想物体(人体以外の仮想物体であり、以下では単に、仮想物体と呼称する)との干渉判定処理を行う。係る処理については周知の技術であるので、係る処理についての説明は省略する。なお、以下の説明では、「人体と仮想物体との衝突」という表現を行う場合があるが、実質的には「人体の部位を模した仮想物体とその他の仮想物体との衝突」である。
制御部3は、仮想物体と干渉(衝突)している仮想人体が模している部位に配されている刺激発生部110を駆動させる制御処理を行う。
図14は、情報処理装置105に適用可能なコンピュータのハードウェア構成を示すブロック図である。
1401はCPUで、RAM1402やROM1403に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、情報処理装置105が行うものとして説明する後述の各処理を実行する。即ち、図1に示した位置検出部107、位置判定部108、制御部103、画像出力部113のそれぞれをソフトウェアでもって実装した場合、CPU1401がこのソフトウェアを実行することで、CPU1401はこれら各部の機能を実現することになる。なお、これら各部を実現するソフトウェアのプログラムは、例えば、後述する外部記憶装置1406に保存されている。
1402はRAMで、外部記憶装置1406からロードされたプログラムやデータを一時的に記憶するためのエリアや、I/F(インターフェース)1407を介して外部から受信した各種の情報を一時的に記憶するためのエリアを有する。また、RAM1402は、CPU1401が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1402は各種のエリアを適宜提供することができる。
1403はROMで、設定データやブートプログラムなどを格納する。
1404は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU1401に対して入力することができる。
1405は表示部で、CRTや液晶画面等により構成されており、CPU1401による処理結果を画像や文字などでもって表示することができる。
1406は外部記憶装置で、ハードディスクドライブに代表される大容量情報記憶装置である。ここにはOS(オペレーティングシステム)や、情報処理装置105が行うものとして説明する後述の各処理をCPU1401に実行させるためのプログラムやデータが保存されている。また、上記記録装置109が保持しているものとして説明した各種の情報もまた、この外部記憶装置1406に保存されている。また、既知の情報として説明している情報についてもまた、この外部記憶装置1406に保存されている。
外部記憶装置1406に保存されているプログラムやデータは、CPU1401による制御に従って適宜RAM1402にロードされる。そして、CPU1401が、このロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは、情報処理装置105が行うものとして後述する各処理を実行することになる。
1407はI/Fで、上記カメラ106、それぞれの刺激発生部110、HMD130はこのI/F1407に接続されている。なお、カメラ106、刺激発生部110、HMD130のそれぞれに固有のI/Fを設けるようにしても良い。
1408は上述の各部を繋ぐバスである。
<人体と現実物体との衝突について>
次に、人体と現実物体とが衝突した場合に、人体に対して生じる振動状況について説明する。以下の説明では、人体の一例として「手」を用いるが、以下の説明は、部位が如何なるものであっても実質的に同様である。
図2は、手201と現実物体304とが衝突した場合における、手201への振動状況を説明する図である。同図においてP0は、手201と現実物体304とが衝突した箇所(衝突点)を示す。衝突点P0は手201のひらの小指側の縁であり、点P1は手201のひら中央、点P2は親指部分である。
更に同図には、手201と現実物体304とが衝突点P0において衝突した場合における各点P0、P1、P2における皮膚の振動状況を、横軸を時刻、縦軸を加速度としてそれぞれ示している。グラフ中で、時刻t0が手201と現実物体304とが衝突した時刻を示す。衝突点P0では、時刻t0で衝突による皮膚振動が発生する。また、時刻t0から遅れた時刻t1では点P1で振動が発生し、それよりも遅れた時刻t2では点P2で皮膚表面の振動が発生する。
このように、現実物体との衝突時には、衝突点の位置のみならず、その周囲に衝突の衝撃が伝搬している。また、衝突点位置周囲の振動は、所定時間の遅れと、振動の減衰を伴う。振動の発生の遅れは、衝突点位置からの距離により決まる。図2では、点P0から点P1、点P2と遠くなるにつれて、振動の開始時刻がt1、t2と遅れている。一方、振動強度についても、衝突点P0から離れるに従って、振動強度が減衰している。図2では、点P0から点P1、点P2と遠くなるにつれて、振動の強度(振幅)が小さくなっている。
図2では、衝突時の基本的な振動伝達について示したが、実際には、人体各部位での振動の起こりやすさや、振動の伝達しやすさにより伝達時間や振動強度に変化が生じる。従って、より正確には、衝突点からの距離に加え、人体各部位の特性を考慮する方が良い。また、衝突時の衝撃は、衝突時の人体または物体の速度・加速度、さらに物体の硬さなどの特性により変化する。
以上のことを鑑み、本実施形態では、ユーザの仮想人体と仮想物体との衝突時における衝撃を、複数の刺激発生部110を用いて模倣することにより、よりリアルな衝突感覚をユーザに与えることを目的とする。
以下の説明では、ユーザの手1と、仮想物体との衝突を例に取り説明するが、ユーザの他の部位と仮想物体との衝突についても同様の説明が当てはまる。
<仮想人体と仮想物体との衝突について>
先ず、仮想人体と仮想物体との衝突の検知について説明する。係る検知は上述の通り、位置判定部108により行われる。上述の通り、位置検出部107は、手1を含むユーザの各部位の位置姿勢を求める。そして、求めた各部位の位置姿勢に、各部位を模した仮想物体を配置する処理を行う。従って当然、ユーザの手1の位置姿勢には、手1を模した仮想人体が配置されていることになる。
位置判定部108は、この手1を模した仮想人体と仮想物体との干渉判定処理を行う。そして干渉していると判定した場合には、その干渉している箇所(衝突点)の位置を特定する。
また、手1には上述の通り複数の刺激発生部110が配されており、その配されている位置は、予め測定されている。従って、手1を模した仮想人体上における刺激発生部110の位置は特定できる。
従って、制御部103は、衝突点の位置と、それぞれの刺激発生部110の位置とを用いて、どの刺激発生部110に対してどのような駆動制御を行うのかを決定する。
図9は、手1を模した仮想人体上における衝突点の位置と、複数の刺激発生部110の位置との関係に基づく、複数の刺激発生部110の制御について説明する図である。
同図において900は、手1を模した仮想人体である。16、17、18、19は何れも、手1に配された刺激発生部を示す。なお、同図では、刺激発生部16〜19は以下の説明のために示しているものであり、仮想人体900上に配置されているものではない。
刺激発生部19は、手の甲側に配置された刺激発生部である。以下の説明では、衝突点の位置を、刺激発生部16の位置であるとして説明するが、以下の説明は、衝突点の位置が如何なる位置であったとしても実質的には同じである。
先ず制御部103は、衝突点の位置16と、各刺激発生部16〜19の位置との間の距離を求める。係る距離は、2点間の直線距離として求めても良いし、仮想人体900に沿って求めてもよい。仮想人体に沿った距離を求める方法では、仮想物体を予め複数の部位に分割し、複数の部位にまたがる点間の距離を求める場合には、部位間の接合点を介した距離を求めれば良い。例えば、仮想人体900に沿った距離を求める方法について説明する。衝突点の位置16と刺激発生部16との距離は0である。衝突点の位置16と、刺激発生部17との距離は、2点間の直線距離からaである。衝突点の位置16と刺激発生部18との距離は、まず、衝突点の位置16から手のひらと親指の接合点までの距離b1を求める。さらに、接合点から刺激発生部18までの距離b2を求め、この合計である距離bを衝突点の位置16と刺激発生部18との距離とする。衝突点の位置16と刺激発生部19との距離は、仮想人体900の内部を貫通する方向に距離を求めれば良いので、同図ではcとなる。上記の例では、手のひら部分と親指部分に分割したが、関節ごとに部位を分割しても良い。
そして制御部103は、衝突点の位置16から各刺激発生部への距離に基づいて、各刺激発生部による刺激を制御すべく、各刺激発生部の駆動制御を行う。以下では、制御部103による各刺激発生部への制御例について説明する。
<刺激制御について>
図3は、手1を模した仮想人体301と仮想物体2との衝突について示す図である。同図において110a、110b、110cはそれぞれ、手1に配された刺激発生部である。刺激発生部110aは手1のひらの小指側の縁にあり、刺激発生部110bは手1のひら中央にあり、刺激発生部110cは親指部分にある。
ここで、仮想人体301上における刺激発生部110aの位置と、仮想物体2とが衝突したとする。この場合、衝突点の位置(刺激発生部110aの位置)からの距離は、刺激発生部110b、刺激発生部110cの順に近い。
このような状況において、各刺激発生部110a〜110cに対する制御例を幾つか以下に示す。
<刺激制御例1>
図4は、衝突点からの距離に応じた、各刺激発生部110a〜110cにおける刺激の発生タイミングを示す図である。図4(a)は、刺激発生部110aにおける刺激の発生タイミングを示すグラフを示している。図4(b)は、刺激発生部110bにおける刺激の発生タイミングを示すグラフを示している。図4(c)は、刺激発生部110cにおける刺激の発生タイミングを示すグラフを示している。何れのグラフも、横軸に時刻、縦軸に加速度(ここでの刺激発生部110a〜110cは、機械的な振動刺激を発生するもので振動などの動作を行うため)をとっている。
同図に示す如く、衝突点に位置する刺激発生部110aは、衝突の発生と共に(衝突時刻に)振動を開始するのに対し、衝突点から離れている刺激発生部110bは、衝突時刻から所定の時間が経過してから振動を開始する。そして更に衝突点から離れている刺激発生部110cは、刺激発生部110bによる振動開始タイミングよりも更に所定時間経過してから振動を開始する。
このように、各刺激発生部110a〜110cは、衝突点からの距離が遠いほど、衝突時刻から遅れて振動を開始する。これにより、衝突点からの振動の広がりを、それぞれの刺激発生部110a〜110cにより表現することができる。
従って、制御部103は、衝突点に位置する刺激発生部110aに対しては、衝突の発生と共に(衝突時刻に)振動を開始させるよう、駆動制御する。そして所定時間の経過後、刺激発生部110bを駆動制御し、刺激発生部110bによる振動を開始させる。そして更に所定時間の経過後、刺激発生部110cを駆動制御し、刺激発生部110cによる振動を開始させる。
<刺激制御例2>
図5は、衝突点からの距離に応じた、各刺激発生部110a〜110cにおける刺激の強度を示す図である。図5(a)は、刺激発生部110aにおける刺激の強度を示すグラフを示しており、図5(b)は、刺激発生部110bにおける刺激の強度を示すグラフを示しており、図5(c)は、刺激発生部110cにおける刺激の強度を示すグラフを示している。何れのグラフも、横軸に時刻、縦軸に加速度をとっている。
同図に示す如く、衝突点は、最も衝突の影響を受けている。従って、衝突点に設けられた刺激発生部110aによる振動は、衝突点以外の地点に設けられた刺激発生部110b、110cよりも大きいものとなる。更に、刺激発生部110cよりも刺激発生部110bの方が、衝突点に近いので、刺激発生部110bによる振動は、刺激発生部110cよりも大きいものとなる。
このように、各刺激発生部110a〜110cによる振動は、衝突点からの距離(手1の表面上を経路とした場合における距離)が遠いほど、その振動は小さい。
従って、制御部103は、衝突点に位置する刺激発生部110aに対しては、ある決められた強度の刺激を発生させるべく、振動幅を大きくする。刺激発生部110bについては刺激発生部110aによる刺激の強度よりも小さい強度の刺激を発生させるべく、振動幅を刺激発生部110aよりも小さくする。刺激発生部110cについては刺激発生部110bによる刺激の強度よりも小さい強度の刺激を発生させるべく、振動幅を刺激発生部110bよりも小さくする。
<刺激制御例3>
図4、5では、機械的刺激(振動刺激)の場合について説明したが、電気的刺激や、温度刺激等でも、刺激タイミングや刺激強度を変化させる制御を行うことで、同様の効果を得ることができる。その一例として、各刺激発生部110a〜110cに入力する駆動波形を変更させることで、それぞれの刺激発生部110a〜110cによる駆動を異ならせる場合について説明する。
図6は、それぞれの刺激発生部110a〜110cに対する制御部103からの駆動制御信号の波形を示す図である。図6(a)は、刺激発生部110aに対する入力信号の波形を示すグラフで、図6(b)は、刺激発生部110bに対する入力信号の波形を示すグラフで、図6(c)は、刺激発生部110cに対する入力信号の波形を示すグラフである。何れのグラフも、横軸に時刻、縦軸に信号レベルをとっている。
同図に示す如く、刺激発生部110aは衝突点に位置するものであるので、衝突時刻に駆動する必要がある。従って同図では、刺激発生部110aに対しては衝突時刻に立ち上がるパルス信号を入力信号として入力する。また、刺激発生部110bは、衝突点から離れていることから、刺激発生部110bに対する入力信号において衝突時刻における立ち上がりは刺激発生部110aにおける入力信号よりも緩やかとなっている。同様に、信号レベルの減衰についても、刺激発生部110aにおける入力信号よりも緩やかとなっている。更に、刺激発生部110cについては、更に衝突点から離れているので、衝突時刻における立ち上がりは刺激発生部110bよりも更に緩やかとなっている。同様に、信号レベルの減衰についても、刺激発生部110bにおける入力信号よりも緩やかとなっている。
なお、係る入力信号を受ける刺激発生部110a〜110cは何れもどのような刺激を提示するものであっても良い。即ち、刺激発生部110a〜110cがどのような刺激を与えるものであったとしても、入力信号の形状をこのように異ならせることにより、刺激発生部による刺激の増減パターンを制御することができる。
なお、図4〜図6に示したグラフにおける波形の形状や振動回数については説明上図示したものであり、本実施形態はこれに限定するものではない。従って、例えば、手への衝突時における各箇所の振動波形を予め計測しておき、その計測した波形が再現されるように、各刺激発生部110a〜110cを制御しても良い。
<刺激発生部110の駆動制御について>
次に、衝突点と、各刺激発生部110a〜110cとの距離関係に基づいた、各刺激発生部110a〜110cの駆動制御について、簡単な例を挙げて説明する。
図7は、人体上において直線上に3つの刺激発生部110a〜110cが配されている場合における、この3つの刺激発生部110a〜110cに対する駆動制御について説明する図である。更に同図では、「×」で示した箇所が、仮想人体と仮想物体との衝突点であるとしている。
また、同図を用いた説明では、刺激発生部110a〜110cの制御例として、衝突点からの距離に応じて、各刺激発生部110a〜110cによる刺激強度を変更させる。なお、刺激開始タイミングや入力信号の波形をそれぞれの刺激発生部110a〜110cで異ならせる場合における各刺激発生部110a〜110cの制御例は、以下の説明を適宜変更すればよい。
先ず制御部103は、衝突点の位置(衝突位置)から、それぞれの刺激発生部110a〜110cの位置までの距離を算出する。同図の場合、衝突位置から刺激発生部110aまでの距離は4センチ、衝突位置から刺激発生部110bまでの距離は2センチ、衝突位置から刺激発生部110cまでの距離は6センチとなっている。即ち、刺激発生部110b、刺激発生部110a、刺激発生部110cの順に衝突位置に近い。
そこで、刺激発生部110b、刺激発生部110a、刺激発生部110cの順に、発生する刺激が強いように、それぞれの刺激発生部110a〜110cを駆動制御する。例えば、刺激発生部が振動モータにより構成されている場合、係る振動モータをより早く回転させることで、より強い刺激を人体に対して与えることができる。また、刺激発生部が空気圧力により皮膚表面を圧迫することで人体に刺激を与えるものである場合には、この空気圧力をより大きくすることで、より強い刺激を人体に対して与えることができる。
即ち、衝突位置からrの距離に位置する刺激発生部によって発生させる刺激強度I(例えば振動波形の最大振幅)は、単調減少関数fを用いてI=f(r)と表される。
なお、図7には、衝突位置に衝突時の速度あるいは加速度を考慮して決定した刺激強度(仮想的な最大振動強度)を点線で示している。
図8は、人体上において直線上に3つの刺激発生部110a〜110cが配されている場合における、この3つの刺激発生部110a〜110cに対する駆動制御の別の形態について説明する図である。更に同図では、「×」で示した箇所が、仮想人体と仮想物体との衝突点であるとしている。
また、同図を用いた説明では、刺激発生部110a〜110cの制御例として、衝突点からの距離に応じて、各刺激発生部110a〜110cによる刺激強度を変更させる。なお、刺激開始タイミングや入力信号の波形をそれぞれの刺激発生部110a〜110cで異ならせる場合における各刺激発生部110a〜110cの制御例は、以下の説明を適宜変更すればよい。これにより、衝突点に対してより近い位置への刺激を行うことが出来る。
先ず制御部103は、衝突点の位置(衝突位置)から、それぞれの刺激発生部110a〜110cの位置までの距離を算出する。同図の場合、衝突位置から刺激発生部110aまでの距離は4センチ、衝突位置から刺激発生部110bまでの距離は2センチ、衝突位置から刺激発生部110cまでの距離は6センチとなっている。即ち、刺激発生部110b、刺激発生部110a、刺激発生部110cの順に衝突位置に近い。そこで、刺激発生部110bの位置を基準位置とし、この基準位置に仮想の刺激強度を設定する。そして、この基準位置からの距離が近い順に、発生する刺激が強いように、周囲の刺激発生部110a、110cを駆動制御する。即ち、基準位置(刺激発生部110bの位置)からrの距離に位置する刺激発生部によって発生させる刺激強度I(例えば振動波形の最大振幅)は、単調減少関数fを用いてI=f(r)と表される。
図8の場合、基準位置(刺激発生部110bの位置)から刺激発生部110aまでの距離と、基準位置から刺激発生部110cまでの距離とは同じであるので、この場合刺激発生部110aによる刺激強度と、刺激発生部110cによる刺激強度は同じにする。
また、上記の方法を組み合わせて用いても良い。例えば、図8を用いて説明したように、衝突位置に最も近い刺激発生部を、衝突の速度または加速度から決定した刺激強度で駆動制御させる。そして、その他の刺激発生部については、図7を用いて説明したように衝突位置からの絶対的な距離に応じた刺激強度で駆動制御させる。これにより、衝突時に必要となる刺激量に応じた刺激を行うことが出来る。
なお、以上の説明では、衝突点の位置と刺激発生部との間の距離に応じて刺激強度を求めた。しかし、予め測定した衝突時の衝撃伝達状況や、皮膚、骨、筋肉などの介在を考慮して、刺激発生部による刺激強度を求めても良い。例えば、予め測定した人体と実物体の衝突時の振動伝搬により、衝突点からの距離と振動の関係を数式や対応表として表し、刺激強度を決定するようにしても良い。また、衝突点位置と刺激発生部との間に介在する皮膚、骨、筋肉の量から、刺激量の伝達を算出しても良い。
例えば皮膚の影響を表す変数s、骨の影響を表す変数b、筋肉の影響を表す変数m、衝突位置から刺激発生部までの距離を表す変数rを用いて、この刺激発生部によって発生させる刺激強度Iを、関数fを用いてI=f(r、s、b、m)としても良い。
各変数には、衝突点位置から刺激発生部までの経路に介在する皮膚、骨、筋肉の厚さ(距離)を入力し、各人体要素で振動伝搬が減衰する影響を考慮して刺激強度を決定する。人体の衝撃伝達を考慮した要素を加えて、衝突点位置周囲の刺激発生部を制御することにより、さらに感触の向上した衝突感を表現することができるようになる。また、以上では刺激強度を用いて説明したが、同様に刺激発生の遅れ時間なども決定することができる。
なお、以上説明した例は、手1を模した仮想人体と仮想物体との衝突点から、手1に配した各刺激発生部に対する距離に基づいて、各刺激発生部に対する駆動制御を行うものであった。従って、仮想物体が他の部位(例えば足)を模した仮想人体と衝突した場合には、この衝突点から、足に配した各刺激発生部に対する距離に基づいて、各刺激発生部に対する駆動制御を行う。また、手1に配した全ての刺激発生部について駆動することに限定するものではなく、衝突点からある決められた距離以内の刺激発生部についてのみ、駆動制御対象とするようにしても良い。
<情報処理装置105が行う処理全般について>
上述の通り、情報処理装置105は、HMD130に対して仮想空間画像を提示する処理を行うと共に、このHMD130を頭部に装着しているユーザの仮想人体と仮想物体との衝突による刺激を刺激発生部110によってユーザに与える処理を行っている。
図15は、情報処理装置105が仮想空間画像を提示している処理と並行して行う、刺激発生部110の駆動制御処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU1401に実行させるためのプログラムやデータは、外部記憶装置1406に保存されている。このプログラムやデータは、CPU1401による制御に従って適宜RAM1402にロードされる。そしてCPU1401はこのロードされたプログラムやデータを用いて処理を実行するので、情報処理装置105は、以下説明する各処理を実行することになる。
先ずステップS1501では、CPU1401は、ユーザの人体の各部位に対応する仮想人体と、仮想物体との衝突があったか否かをチェックする。係る処理は、位置判定部108が行うものとして上述した処理に相当する。そして衝突がなかった場合には、同図のフローチャートに従った処理は終了し、仮想空間画像を提示する処理にリターンする。一方、衝突があった場合には、衝突点の位置を特定し、処理をステップS1502に進める。
なお、一般に触覚用デバイスの制御は視覚デバイスの制御よりも高速レートが必要である。従って上述したように図15のフローチャートに従った処理を終える度に仮想空間画像を提示する処理にリターンするのではなく、一定回数又は所定時間図15のフローチャートの処理を行った後に仮想空間画像を提示する処理にリターンするようにしても良い。また、図15の処理と、仮想空間画像の処理を並列処理するようにしても良い。
ステップS1502では、衝突点の位置と、衝突した部位に装着されている複数の刺激発生部との距離を求める。上述の例では、手1に配されたそれぞれの刺激発生部の、手1を模した仮想人体上における各位置と、手1を模した仮想人体上における衝突点の位置との距離を求める。
次にステップS1503では、距離に応じた刺激の提示を行うべく、各刺激発生部の駆動制御を行う。係る制御は、上述の例では、衝突点からの距離が長いほど、刺激開始タイミングを遅らせたり、刺激の強度を弱めたりする制御である。
<効果と変形例について>
刺激発生部に対する駆動制御によって人体に与える刺激の広がりの範囲について説明する。まず、衝突点位置と刺激発生部との位置関係によって刺激強度を変化させる場合、衝突点位置から遠くなるほど刺激強度が弱くなり、ある一定以上離れた刺激発生部では、人体が感じる刺激以下の刺激を発生することになる。またさらに離れた刺激発生部では、刺激の強度がゼロになる、あるいは近似的にゼロになるため刺激発生部は動作しなくなる。このように、衝突点位置と刺激発生部の位置関係によって刺激強度を変化させる場合では、自然に衝突時に刺激を発生させる刺激発生部の範囲が定まる。
一方、別の制御方法としては、予め刺激発生部を動作させる範囲を定めておいても良い。例えば、仮想物体との衝突点位置が手の範囲内であった場合、少なくとも手に装着した刺激発生部を動作させるようにしても良い。衝突点位置からの距離により、人体が感じる刺激強度以下の刺激が設定された刺激発生部が存在した場合でも、それが手の範囲内に装着されている場合には、所定の刺激量で刺激を発生させるようにする。
また逆に、所定の範囲内のみの刺激発生部を動作させるように予め定めても良い。例えば、仮想物体との衝突点位置が手の範囲内であった場合、手の範囲のみの刺激発生部を動作させるようにし、それ以上の周囲の刺激発生部は駆動しないようにする。この場合では、衝突点位置が手の範囲であった場合には、腕に装着した刺激発生部は動作しない。
以上のように衝突時の衝撃伝達を模倣する構成について説明したが、仮想人体と仮想物体との衝突速度・加速度の値が小さい場合には、以上の制御を行わないようにしても良い。仮想人体と仮想物体とがゆっくりと衝突した場合には、衝撃の力も弱いため、周囲の刺激発生部を駆動する必要性は必ずしもない。そのため、仮想人体または仮想物体の速度または加速度を予め設定しておき、その値以上で仮想人体と仮想物体とが衝突した場合には、衝撃感を模倣するため周囲の刺激発生部も駆動するようにする。所定の速度または加速度以下の衝突の場合には、衝突点位置、または衝突点位置近傍の一つの刺激発生部のみを動作させる制御を行う。
また、衝撃を模倣するために、衝突点位置周囲の複数の刺激発生部を動作させた後、仮想人体と仮想物体の接触が継続している場合には、接触点位置をユーザに知覚させるため、一定の刺激を発生させる。
図11は、手1を模した仮想人体301と仮想物体との接触を検知した後、それぞれが接触を続けている場合における、上記各刺激発生部110a〜110cによる刺激を示す図である。図11(a)は、刺激発生部110aにおける刺激の強度を示すグラフを示しており、図11(b)は、刺激発生部110bにおける刺激の強度を示すグラフを示しており、図11(c)は、刺激発生部110cにおける刺激の強度を示すグラフを示している。何れのグラフも、横軸に時刻、縦軸に加速度をとっている。
同図に示す如く、各刺激発生部110a〜110cを駆動制御させてから所定時間が経過したり、刺激発生部110cによる刺激の強度が所定量以下になったりした場合には、刺激提示のための各刺激発生部110a〜110cの駆動制御は終了させる。そして、次に、接触が継続していることをユーザに刺激でもって通知するために、例えば、接触点位置に最も近い刺激発生部のみを駆動制御する。どのように駆動制御するのかについては特に限定するものではない。同図では、接触点位置に最も近い位置に刺激発生部110aが位置しているので、刺激発生部110aのみについて、駆動制御している。
<変形例2>
本実施形態は、人体位置を検出する方法と合わせて、実際の人体位置と実空間中に仮想的に存在する仮想物体の位置関係に基づいて、仮想物体表面に接触した感覚を人体に提示する技術に適用することが好適である。ここで、人体位置姿勢(部位)の検出方法としては、マーカとカメラを用いる方法や、カメラで撮影した映像を画像処理することで人体形状や位置を得る方法を用いても良い。また、磁気センサや加速度・角速度センサを用いた方法、光ファイバなどを用いたデータグローブにより手形状を取得する方法など、どのような方法を用いても良い。以上の計測方法によって、人体の動きを仮想人体に反映させることが出来る。
また、刺激発生部による刺激強度を決定する要素として、衝突時の仮想人体または仮想物体の速度・加速度、さらに物体の硬さなどの特性を加えても良い。例えば、仮想人体と仮想物体との衝突時の仮想人体の動きが早い場合には、強い刺激を発生するように刺激発生部を駆動し、仮想人体の動きが遅い場合には、弱い刺激を発生するように刺激発生部を駆動する。この場合、仮想人体の速度・加速度は、人体位置を検出する方法から算出しても良いし、各部位に速度センサや加速度センサを装着しておき、速度センサや加速度センサの値を用いて各部位の速度や加速度を検出しても良い。
また、衝突した仮想物体の物性が硬いものであれば、強い刺激を発生するように刺激発生部を駆動し、柔らかいものであれば、弱い刺激を発生するように刺激発生部を駆動する。このようにして決定する刺激強度の増減は、複数の刺激発生部にバイアスをかけることで実現しても良いし、衝突点位置(若しくは最近傍)にある刺激発生部の刺激強度を決定する場合にのみ用いても良い。この場合、仮想物体の硬度に係るパラメータを予め決めておき、外部記憶装置1406に保存しておく必要がある。
また、衝突の速度・加速度または仮想物体の硬さの特性で変化させる刺激のパラメータは強度のみでなく、刺激発生のタイミングを変化させるようにしても良い。例えば、早い速度で衝突した場合や、硬い仮想物体に衝突した場合には、各刺激発生部による刺激発生の開始タイミング差を比較的短い時間にしても良い。
また、さらに、人体が刺激に対して慣れることを考慮して、刺激強度を変更するようにしても良い。例えば、短時間の内に、何度も仮想人体と仮想物体とが衝突し、刺激発生部による刺激発生が連続的に起こると、人体が刺激に対して慣れてしまい、刺激を十分に感じなくなってしまう恐れがある。このような場合には、それ以前と同じ速度または加速度で仮想物体に衝突したとしても、刺激の強度を強くして、より明確に人体に刺激を感じさせるようにする。
また、以上説明した制御方法は、単独で用いても良いし、組み合わせて用いても良い。例えば、図4と図5で説明した、刺激発生タイミングを遅らせる制御と刺激強度を減衰させる制御を組み合わせて、衝突位置から離れた場所にある刺激発生部では、刺激のタイミングが遅れるとともに、刺激強度が弱い刺激を与えるようにすればよい。
また、前述したように皮膚、骨、筋肉などの影響による刺激変化を考慮する場合には、各刺激発生部までの経路中に存在する皮膚、骨、筋肉などの量に基づいた計算を行えばよい。その場合には、予め皮膚、骨、筋肉などと人体形状のモデルを用意しておく必要がある。
また、特定の人体部位に特有の刺激決定方法を設定するようにしても良い。例えば、指などの人体末端では、衝突時の衝撃伝達により指全体が大きく振動する。皮膚の振動伝達のみでなく、このような衝撃の影響も模倣して人体に提示するために、指先に装着した刺激発生部では、衝突位置から算出された刺激よりも、振動量を大きくしても良い。
また、衝突点位置と各刺激発生部との位置関係を求める別の方法として、予め人体の各部位の仮想物体を複数の領域に区切っておき、仮想物体の衝突点位置と周囲の刺激発生部との位置関係を、区切った領域に基づいて決定するようにしても良い。
図10(a)は、手を模した仮想人体の表面をセル状に区切った例を示す図である。図10(a)では、セルの区切りを点線で表している。この例では、四角で各セルを区切っているが、区切る形状はこれに限らず、任意の多角形や、自由形状でも良い。図10(a)では、刺激発生部を装着したセル21や、空のセル22があるが、全てのセル上に対応する手の位置に刺激発生部を備えるようにしても良い。
図10(b)は、衝突点位置とその周囲における刺激強度の関係の対応表を示す図である。係る対応表では、中心のマス30が衝突点位置である。
マス内の1から3の数値は、刺激強度を相対的な値として表している。すなわち、衝突点位置近傍の3マス×3マスに対応するセル内に刺激発生部が存在する場合には、この刺激発生部による刺激の強度を「3」に対応するものとして設定する。同図に示す如く、係る対応表では、衝突点位置から離れるにつれて、刺激強度の値が減少していく。
対応表に相対的な値を記述しておく方法では、衝突時の速度・加速度により衝突点位置あるいは衝突点位置近傍の刺激発生部による刺激を変化させたい場合に有効である。またこの例では、相対値を1から3の3段階にしているがこの値に限ることはない。また、相対的な値でなく、加速度などの具体的な刺激量を絶対的な値として設定しておいても良い。また、対応表で定める値は、刺激強度に限ることなく、刺激の発生遅れ時間や入力信号における周波数成分、刺激波形などを用いても良い。また、対応表の値は、常に同じ値を用いることなく、衝突時の速度・加速度や衝突位置によって動的に変更するようにしても良い。
例えば、セル20で仮想物体との衝突が生じたとする。この場合、衝突点位置に最も近い刺激発生部14の位置を、マス30に当てはめ、刺激発生部14による刺激の強度を「3」に対応するものとして設定する。また、刺激発生部15は、刺激発生部14の2つ上のセルに位置しているので、マス30から2つ上のマスに相当する。従って、刺激発生部15による刺激の強度は、「2」に対応する刺激の強度に設定する。
このように、部位を模した仮想人体を複数のセルに分割し、衝突点と各刺激発生部の相対的な位置関係をセル単位で決定する。そして、衝突点の位置近傍における刺激の強度を記した対応表を用いて、衝突点近傍における刺激発生部による刺激の強度を決定する。
図10では、どのセルで衝突が生じても同じ対応表を用いる場合について説明したが、各セルに独自の対応表を設けるようにしても良い。各セルに独自の対応表を設定することにより、各セルが存在する人体位置の周囲形状や皮膚、骨、筋肉などの状況に応じて、衝突時の衝撃伝搬を模倣することができるようになる。
また、以上では人体表面を予め複数の領域に分割しておく方法について説明したが、領域の分割は衝突時に行い、衝突位置や衝突の速度・加速度または衝突の方向などに応じて動的に変化させても良い。
[第2の実施形態]
本実施形態では、人体の形状の変化に伴って、衝突点と刺激発生部との距離が変化する場合について説明する。
図12は、人体の一例としての手の形状が変化した場合における、衝突点と刺激発生部との距離の変化を示す図である。同図において1200は手を模した仮想人体であり、1250、1251は、手に配された刺激発生部を示す。
手を握った状態と開いた状態とでは、手の形状は全く異なる。例えば、図12(a)に示すように、刺激発生部1250の位置が衝突点である場合、衝突点から刺激発生部1251までの距離は、手を握った状態と、開いた状態とでは異なってしまう。図12(a)では、手を模した仮想人体に沿って、衝突点から刺激発生部1251までの距離dを求めている。同図ではd=d1+d2+d3+d4+d5となっている。ここで、d1〜d5はそれぞれ、衝突点の位置から人差し指の仮想人体の根本までの距離、人差し指を構成する各部分の仮想人体の長さに相当する。
しかし、実際には、衝突点からの刺激は手のひらを介して刺激発生部1251の位置に対して伝わるものもあるので、この距離dを用いて刺激発生部1251を制御すると、刺激の発生タイミングが遅すぎたり、刺激が弱すぎたりする可能性がある。そこで、このような場合には、手のひらから直接指先に伝わる衝撃を提示することが望ましい。
そこで、図12(b)に示す如く、人体が相互に接触していることを検知した場合には、その連続性を考慮して衝突点位置からの距離を求めるようにする。図12(b)では、衝突点から手のひらを介して刺激発生部1251の位置までの距離eを求めている。そして、この距離eを用いて刺激発生部1251を制御することで、正確に衝撃伝達を模倣した刺激を発生させることができるようになる。
なお、手を握っていない状態、すなわち指が手のひらなど他の人体部位に接触していない場合には、第1の実施形態のように人体の自然な形状に沿った方向で距離を求めれば良い。この制御の切り替えは、位置検出部107で人体の状態を判定することによって行えばよい。具体的には、人体の状態を判定し、人体同士で接触がある場合には、上記のように接触点を連続的な形状と見なして、衝突点位置から刺激発生部までの距離を求めればよい。
以上の説明では手の形状が異なる場合について説明したが、本実施形態は、手部分のみに限らず、前腕と上腕、腕と胴体など人体中で接触が起こる部分ならば、どの部分に適用しても良い。
[第3の実施形態]
本実施形態では、仮想人体と仮想物体が衝突した際、仮想人体と仮想物体との位置関係に基づいて複数の刺激発生部を駆動させることで、衝突点における仮想物体の表面方向をユーザに提示する場合について説明する。
図16は、仮想人体の一例としての手と、仮想物体と、が衝突した場合における、衝突点と刺激発生部との位置関係を示す図である。同図において161は手を模した仮想人体であり、162は仮想物体、163、164、165は、手に配された刺激発生部を示す。仮想人体161と仮想物体162とが衝突した場合、仮想物体162上における衝突点の表面方向は様々である。
例えば、図17Bに示すように、仮想人体161が仮想物体162において水平な部分と衝突する場合もあれば、図17Aに示すように、仮想人体161が仮想物体162において傾斜した部分に衝突する場合もある。本実施形態では、図18に示すように接触点181を通過し、仮想物体162上(仮想物体上)の接触点における法線182を垂線として持つ平面183(基準面)を定義する。そして、この平面183から各刺激発生部184,185,186までの直線距離g1,g2,g3を求める。
人体を模した仮想人体や仮想物体として、表面方向の概念が無いボリュームデータ、例えばボクセルを使用している場合もある。このような場合は、ボリュームデータに対して例えば公知のマーチングキューブ法を用いて等値面を再構成することができ、これにより、表面方向を知ることが出来る。
このようにして求めた距離g1〜g3を用いると、例えば、距離g1〜g3の大きさに比例して対応する刺激発生部184〜186の刺激開始時間を遅らせる、刺激強度を減衰させる等の制御ができる。以上の制御により、ユーザの手の表面上を仮想物体162の表面が通過したような感覚が得られ、面の方向をユーザに提示することが出来る。
[第4の実施形態]
本実施形態では、仮想人体と仮想物体とが衝突した際の、仮想人体と仮想物体との位置関係に基づいて、複数の刺激発生部を駆動させることで、衝突した仮想物体の形状をユーザに提示する場合について説明する。
図19は、仮想人体の一例としての手と、仮想物体が衝突した場合における、衝突点と刺激発生部との距離を説明する図である。同図において191は手を模した仮想人体であり、192は仮想物体、193、194、195は、手に配された刺激発生部を示す。
仮想人体191と仮想物体192とが衝突した場合、第3の実施形態のように、仮想物体の表面方向を提示するだけでなく、詳細な物体形状を示しても良い。本実施形態では、図19で示すように、「距離」の大きさ(長さ)を、仮想人体191の各刺激発生部193〜195と仮想物体192とをそれぞれ結ぶ、仮想人体の移動方向196と平行なベクトルの大きさとして定義する。
図19の場合、仮想人体191と仮想物体192とが衝突したとき、各刺激発生部193、194、195のそれぞれと仮想物体192との距離h1,h2,h3に応じて刺激発生部で刺激を与える。例えば、距離の大きさに比例して刺激開始時間を遅らせる、刺激強度を減衰させるなどの制御が出来る。移動方向に仮想物体192が存在しないと判断する場合、例えば他の仮想物体との距離が所定の大きさ以上となる刺激発生部193には、刺激を与えないようにしても良い。以上の制御によって、仮想物体の大きさも含めた、詳細な形状を示すことが出来るようになる。
また、図20に示すように、各刺激発生部2001、2002、2003と仮想物体2004の表面との最短距離となる距離を用いても良い。図20では、仮想物体2004から刺激発生部2001までの距離をi1、刺激発生部2002までの距離をi2、刺激発生部2003までの距離をi3としている。このような距離を用いた場合も、何れかの距離が衝突したとされる距離(例えば、0)になるときに、各刺激発生部の距離に応じた刺激を与える。
また、それぞれの距離計算手段は、刺激によって示したい情報、刺激発生部の種類、刺激発生部の位置などによって、適宜変化させても良い。
[第5の実施形態]
以上の実施形態では、仮想人体と仮想物体とが接触した時点での制御について述べた。本実施形態では、各刺激発生部と仮想物体との位置関係に基づいて各刺激発生部を駆動することにより、仮想人体が仮想物体内に侵入する時に、係る侵入による仮想人体と仮想物体との干渉から離脱する方向をユーザに提示する。
図21は、仮想人体の一例としての手と仮想物体とが干渉した場合における、仮想物体の表面と刺激発生部との位置関係を示す図である。同図において2101は手を模した仮想人体であり、2102は仮想物体、2103、2104、2105は、手に配された刺激発生部を示す。
図21に示す如く、仮想人体2101が仮想物体2102内に侵入することも生じ得る。そして係る侵入によって、仮想人体2101と仮想物体2102との間に干渉が生じる。ユーザがこのような干渉状態から離脱するために、本実施形態では各刺激発生部で干渉から離脱する方向を教示する。
本実施形態で用いる「距離」として、第1乃至4の実施形態のそれぞれで説明した様々な「距離」を用いることができる。以下では、本実施形態に適用可能な「距離」を求めるための処理のいくつかの例について説明する。
図22は、本実施形態で用いる「距離」を求める処理を説明する図である。図22において2201は手を模した仮想人体、2202は仮想物体、2204,2205,2206は手に配された刺激発生部である。また、2203は、仮想人体2201において、最も仮想物体2202の内部に深く位置する1点を示す。係る点を求めるための処理については周知の通りであるが、例えば、仮想物体2202の表面を構成する各点からの距離の平均が最も遠い仮想人体2201上の点をこの1点として求める。
この場合、位置2203から各刺激発生部2204〜2206への直線距離j1〜j3を求める。そしてそれぞれの刺激発生部2204〜2206に対する制御をそれぞれ距離j1〜j3を用いて行う。
図23は、本実施形態で用いる「距離」を求める処理を説明する図である。図23において2300は手を模した仮想人体、2399は仮想物体、2305,2306,2307は手に配された刺激発生部である。また、2301は、仮想人体2300において、最も仮想物体2399の内部に深く位置する1点を示す。係る点を求めるための処理については上述の通りである。また、2302は、係る1点2301から最短距離となる仮想物体2399の表面上の1点を示す。そして係る1点2302における仮想物体2399上の法線は2303で示しており、係る法線2303を有し、1点2302に接する平面を2304で示す。
この場合、各刺激発生部2305〜2307の位置から垂直に平面2304上におろした線分の長さ(距離)k1〜k3を求める。そしてそれぞれの刺激発生部2305〜2307に対する制御をそれぞれ距離k1〜k3を用いて行う。
図24は、本実施形態で用いる「距離」を求める処理を説明する図である。図24において2400は手を模した仮想人体、2499は仮想物体、2404,2405,2406は手に配された刺激発生部である。また、2401は、仮想人体2400において、最も仮想物体2499の内部に深く位置する1点を示す。係る点を求めるための処理については上述の通りである。また、2402は、係る1点2401から最短距離となる仮想物体2499の表面上の1点を示す。
この場合、各刺激発生部2404〜2406の位置から、1点2402から1点2401に向かうベクトルに沿った方向に延長した場合に、仮想物体2499の表面と交差する位置までの距離をそれぞれ、l1,l2,l3として求める。そしてそれぞれの刺激発生部2404〜2406に対する制御をそれぞれ距離l1〜l3を用いて行う。
図25は、本実施形態で用いる「距離」を求める処理を説明する図である。図25において251は手を模した仮想人体、252は仮想物体、253,254,255は手に配された刺激発生部である。
この場合、各刺激発生部253〜255の位置から、仮想物体2499の表面に対する最短距離をそれぞれ、m3,m1,m2として求める。そしてそれぞれの刺激発生部253〜255に対する制御をそれぞれ距離m3,m1,m2を用いて行う。
なお、図22から図25の何れも、仮想物体内に存在する刺激発生部に対してのみ、制御としている。
このように、図22から図25に示した各距離の大きさに比例して刺激強度を減衰させる、刺激発生時間を距離に応じて遅らせながら、断続的に刺激する、距離が一定以上の場合は刺激にパターンを付加する、もしくは刺激しない、などの制御を行えば良い。
また、上記各距離計算方法は、仮想人体と仮想物体とが干渉している刺激発生部のみで行い、干渉していない部分の刺激発生部では刺激しないように制御しても良い。以上の制御によって、仮想人体と仮想物体とが干渉を生じたときに、離脱の補助とすることが出来る。
また、それぞれの距離計算手段は、刺激発生部の種類、刺激発生部の位置などによって、適宜変化させても良い。
ここで、上記各実施形態において、第2の実施形態は他の実施形態を実施するか否かにかかわらず同時に実施するか、若しくは、人体および人体と仮想物体との位置関係に応じて切り替えることが出来る。また、第1の実施形態、第3の実施形態、第4の実施形態は同時に実施することは出来ないが、示したい刺激の内容によって切り替えても良い。例えば、刺激の広がりを示したい場合は、第1の実施形態を使用する。仮想物体の表面方向を示したい場合は、第3の実施形態を使用する。仮想物体の形状を示したい場合には、第4の実施形態を使用する。
または、人体と仮想物体との関係に応じて、随時切り替えるなどの使用方法も有効である。例えば、通常は第1の実施形態を用いて仮想物体を見ながら干渉した感覚をよりリアルに表現する。そして、人体と干渉する仮想物体が他の仮想物体の陰に隠れて見えなくなれば、第3、若しくは第4の実施形態に切り替え、干渉した仮想物体の表面方向や形状を把握する等の方法により、仮想環境を用いた作業性検証等をより効果的に行うことが可能となる。
また、第5の実施形態は、第1の実施形態、第3の実施形態、第4の実施形態と同時に実施することも可能である。しかし、刺激の重畳により刺激強度が必要以上に大きくなってしまうことなどから、人体と仮想物体との干渉の度合いが大きくなった場合に、第1もしくは第3もしくは第4の実施形態、から第5の実施形態に切り替えるなどの方法が望ましい。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体(コンピュータ読み取り可能な記録媒体)は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係るシステムの機能構成を示すブロック図である。 手201と現実物体304とが衝突した場合における、手201への振動状況を説明する図である。 手1を模した仮想人体301と仮想物体2との衝突について示す図である。 衝突点からの距離に応じた、各刺激発生部110a〜110cにおける刺激の発生タイミングを示す図である。 衝突点からの距離に応じた、各刺激発生部110a〜110cにおける刺激の強度を示す図である。 それぞれの刺激発生部110a〜110cに対する制御部103からの駆動制御信号の波形を示す図である。 人体上において直線上に3つの刺激発生部110a〜110cが配されている場合における、この3つの刺激発生部110a〜110cに対する駆動制御について説明する図である。 人体上において直線上に3つの刺激発生部110a〜110cが配されている場合における、この3つの刺激発生部110a〜110cに対する駆動制御の別の形態について説明する図である。 手1を模した仮想人体上における衝突点の位置と、複数の刺激発生部110の位置との関係に基づく、複数の刺激発生部110の制御について説明する図である。 (a)は、手を模した仮想人体の表面をセル状に区切った例を示す図、(b)は、衝突点位置とその周囲における刺激強度の関係の対応表を示す図である。 手1を模した仮想人体301と仮想物体との接触を検知した後、それぞれが接触を続けている場合における、上記各刺激発生部110a〜110cによる刺激を示す図である。 人体の一例としての手の形状が変化した場合における、衝突点と刺激発生部との距離の変化を示す図である。 従来の振動モータを使用した接触提示装置の機能構成を示すブロック図である。 情報処理装置105に適用可能なコンピュータのハードウェア構成を示すブロック図である。 情報処理装置105が仮想空間画像を提示している処理と並行して行う、刺激発生部110の駆動制御処理のフローチャートである。 仮想人体の一例としての手と、仮想物体と、が衝突した場合における、衝突点と刺激発生部との位置関係を示す図である。 仮想人体161と仮想物体162との衝突例を示す図である。 仮想人体161と仮想物体162との衝突例を示す図である。 仮想人体161と仮想物体162との衝突における表面方向をユーザに提示するための処理について説明する図である。 仮想人体の一例としての手と、仮想物体が衝突した場合における、衝突点と刺激発生部との距離を説明する図である。 仮想人体の一例としての手と、仮想物体が衝突した場合における、衝突点と刺激発生部との距離を説明する図である。 仮想人体の一例としての手と、仮想物体と、が干渉した場合における、仮想物体の表面と、刺激発生部との位置関係を示す図である。 本発明の第5の実施形態で用いる「距離」を求める処理を説明する図である。 本発明の第5の実施形態で用いる「距離」を求める処理を説明する図である。 本発明の第5の実施形態で用いる「距離」を求める処理を説明する図である。 本発明の第5の実施形態で用いる「距離」を求める処理を説明する図である。

Claims (19)

  1. ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置であって、
    前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定手段と、
    前記判定手段が接触したと判定した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記箇所と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記判定手段は、前記人体を模した仮想物体である仮想人体と、前記仮想物体と、が接触したか否かを判定し、接触していると判定した場合には、接触している箇所を特定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記駆動制御手段は、
    前記仮想人体における前記箇所と、前記箇所の近傍に位置する複数の刺激発生部のそれぞれの位置との距離を求める距離計算手段と、
    前記箇所の近傍に位置する複数の刺激発生部のそれぞれを、求めた距離に基づいて駆動制御する手段と
    を備えることを特徴とする請求項2に記載の情報処理装置。
  4. 前記距離計算手段は、前記仮想人体における前記箇所から、前記仮想人体に沿って複数の刺激発生部までの距離を計算することを特徴とする請求項3に記載の情報処理装置。
  5. 前記距離計算手段は、前記箇所と前記刺激発生部との直線距離を計算することを特徴とする請求項3に記載の情報処理装置。
  6. 前記距離計算手段は、前記仮想物体上の前記箇所における法線を垂線として持つ基準面を設定し、設定した基準面と前記刺激発生部のそれぞれの位置との直線距離を計算することを特徴とする請求項3に記載の情報処理装置。
  7. 前記距離計算手段は、前記仮想人体の移動方向に平行な方向に前記距離を計算することを特徴とする請求項3に記載の情報処理装置。
  8. 前記駆動制御手段は、前記仮想物体の内部に前記仮想人体の一部、若しくは全部が侵入している場合には、前記刺激発生部のうち、前記仮想物体の内部に位置する刺激発生部に対して駆動制御を行い、前記仮想物体の外部に位置する刺激発生部に対しては駆動制御は行わないことを特徴とする請求項3に記載の情報処理装置。
  9. 前記駆動制御手段は、前記箇所と前記刺激発生部との間の距離が大きいほど、当該刺激発生部による刺激開始タイミングを遅らせることを特徴とする請求項1に記載の情報処理装置。
  10. 前記駆動制御手段は、前記箇所と前記刺激発生部との距離が大きいほど、当該刺激発生部による刺激を弱めることを特徴とする請求項1に記載の情報処理装置。
  11. 前記駆動制御手段は、前記箇所と前記刺激発生部との距離に応じて、当該刺激発生部による刺激の増減パターンを制御することを特徴とする請求項1に記載の情報処理装置。
  12. 前記刺激発生部は、機械的な振動刺激を発生する刺激発生部、機械的な振動刺激を発生するボイスコイル型の刺激発生部、アクチュエータにより人体に接触したピンを動作させて刺激を与える刺激発生部、空気圧力により皮膚表面を圧迫する刺激発生部、電気的刺激を人体に対して与える刺激発生部、温度刺激を人体に対して与える刺激発生部の何れかにより構成されていることを特徴とする請求項1に記載の情報処理装置。
  13. 更に、前記仮想空間の画像を生成し、前記ユーザに対して提示する手段を備えることを特徴とする請求項1に記載の情報処理装置。
  14. ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置であって、
    前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定手段と、
    前記判定手段が接触したと判定した場合、前記仮想物体と前記人体が接触した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記仮想物体と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御手段と
    を備えることを特徴とする情報処理装置。
  15. 前記駆動制御手段は、
    前記箇所の近傍に位置する複数の刺激発生部のそれぞれの前記仮想物体の表面からの距離を求める距離計算手段と、
    前記箇所の近傍に位置する複数の刺激発生部のそれぞれを、求めた距離に基づいて駆動制御する手段と
    を備えることを特徴とする請求項14に記載の情報処理装置。
  16. ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置が行う情報処理方法であって、
    前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定工程と、
    前記判定工程で接触したと判定した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記箇所と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御工程と
    を備えることを特徴とする情報処理方法。
  17. ユーザの人体に対して刺激を与える為の刺激発生部を、当該人体に複数配置した場合における、それぞれの刺激発生部を制御するための情報処理装置が行う情報処理方法であって、
    前記ユーザが存在する仮想空間を構成する仮想物体と、前記人体とが接触したか否かを判定する判定工程と、
    前記判定工程で接触したと判定した場合、前記仮想物体と前記人体が接触した箇所の近傍に位置する複数の刺激発生部のそれぞれについて、前記仮想物体と前記刺激発生部との位置関係に基づいた駆動制御を行う駆動制御工程と
    を備えることを特徴とする情報処理方法。
  18. コンピュータに請求項16又は17に記載の情報処理方法を実行させるためのコンピュータプログラム。
  19. 請求項18に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2007106367A 2006-10-23 2007-04-13 情報処理装置、情報処理方法 Active JP4926799B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007106367A JP4926799B2 (ja) 2006-10-23 2007-04-13 情報処理装置、情報処理方法
EP07118796.7A EP1916592A3 (en) 2006-10-23 2007-10-18 Haptic feedback apparatus and method
US11/875,549 US20080094351A1 (en) 2006-10-23 2007-10-19 Information processing apparatus and information processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006288042 2006-10-23
JP2006288042 2006-10-23
JP2007106367A JP4926799B2 (ja) 2006-10-23 2007-04-13 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2008134990A true JP2008134990A (ja) 2008-06-12
JP2008134990A5 JP2008134990A5 (ja) 2010-05-27
JP4926799B2 JP4926799B2 (ja) 2012-05-09

Family

ID=38969543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007106367A Active JP4926799B2 (ja) 2006-10-23 2007-04-13 情報処理装置、情報処理方法

Country Status (3)

Country Link
US (1) US20080094351A1 (ja)
EP (1) EP1916592A3 (ja)
JP (1) JP4926799B2 (ja)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108054A (ja) * 2006-10-25 2008-05-08 Canon Inc 接触提示装置及び方法
WO2010024030A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 情報入力装置,情報入力方法及び情報入力用プログラム
JP2013524351A (ja) * 2010-03-31 2013-06-17 イマージョン コーポレーション 位置に基づいて触覚刺激を提供するシステム及び方法
JP2013137659A (ja) * 2011-12-28 2013-07-11 Nikon Corp 表示装置
JP2014519669A (ja) * 2011-06-16 2014-08-14 フォンダツィオーネ・イスティトゥート・イタリアーノ・ディ・テクノロジャ 人間と機械の相互作用のためのインターフェースシステム
JP2015103250A (ja) * 2013-11-27 2015-06-04 イマージョン コーポレーションImmersion Corporation 身体媒介デジタルコンテンツ転送及び触覚フィードバックの方法並びに装置
JP2015130169A (ja) * 2013-12-31 2015-07-16 イマージョン コーポレーションImmersion Corporation 触覚コンテンツを伴う視点動画を記録及び再生するシステム並びに方法
WO2016181469A1 (ja) * 2015-05-11 2016-11-17 富士通株式会社 シミュレーションシステム
JP2016197376A (ja) * 2015-04-06 2016-11-24 日本放送協会 力覚制御装置及び力覚提示装置
WO2017043400A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
JP2018512643A (ja) * 2015-02-20 2018-05-17 株式会社ソニー・インタラクティブエンタテインメント 周辺デバイスを伴うグローブの指先の磁気追跡
JP2018097850A (ja) * 2016-12-08 2018-06-21 イマージョン コーポレーションImmersion Corporation ハプティックサラウンド機能
JP2018110625A (ja) * 2017-01-06 2018-07-19 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置およびゲーム制御方法
JP2018124859A (ja) * 2017-02-02 2018-08-09 日本電信電話株式会社 体感装置、その方法、およびデータ構造
JP2018526722A (ja) * 2015-06-29 2018-09-13 トムソン ライセンシングThomson Licensing 触力覚効果の知覚駆動符号化のための方法及びスキーム
JP2019003007A (ja) * 2017-06-14 2019-01-10 三徳商事株式会社 痛覚再現装置及び疑似体験提供システム
JP2019096347A (ja) * 2009-07-22 2019-06-20 イマージョン コーポレーションImmersion Corporation 操作ジェスチャの入力中に,及び,仮想装置の操作に関連して,複雑な触覚刺激を提供するシステム及び方法
US10509488B2 (en) 2015-05-11 2019-12-17 Fujitsu Limited Simulation system for operating position of a pointer
JP2020021225A (ja) * 2018-07-31 2020-02-06 株式会社ニコン 表示制御システム、表示制御方法、及び、表示制御プログラム
JP2020030845A (ja) * 2014-05-19 2020-02-27 イマージョン コーポレーションImmersion Corporation 没入型環境における非コロケートな触覚キュー
JP2022028692A (ja) * 2017-04-28 2022-02-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理装置の制御方法、及びプログラム
WO2022254732A1 (ja) * 2021-06-04 2022-12-08 国立大学法人東北大学 振動分配制御装置,振動分配制御プログラム及び振動分配制御方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990639B2 (en) 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US8745541B2 (en) 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7665041B2 (en) * 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7907117B2 (en) * 2006-08-08 2011-03-15 Microsoft Corporation Virtual controller for visual displays
US9526946B1 (en) * 2008-08-29 2016-12-27 Gary Zets Enhanced system and method for vibrotactile guided therapy
US8009022B2 (en) * 2009-05-29 2011-08-30 Microsoft Corporation Systems and methods for immersive interaction with virtual objects
US8811938B2 (en) 2011-12-16 2014-08-19 Microsoft Corporation Providing a user interface experience based on inferred vehicle state
WO2014106823A2 (en) 2013-01-03 2014-07-10 Meta Company Extramissive spatial imaging digital eye glass apparatuses, methods and systems for virtual or augmediated vision, manipulation, creation, or interaction with objects, materials, or other entities
US20140198130A1 (en) * 2013-01-15 2014-07-17 Immersion Corporation Augmented reality user interface with haptic feedback
US9466187B2 (en) * 2013-02-04 2016-10-11 Immersion Corporation Management of multiple wearable haptic devices
US9367136B2 (en) * 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
US9293015B2 (en) * 2013-09-09 2016-03-22 Immersion Corporation Electrical stimulation haptic feedback interface
US9690370B2 (en) 2014-05-05 2017-06-27 Immersion Corporation Systems and methods for viewport-based augmented reality haptic effects
WO2015185389A1 (en) * 2014-06-02 2015-12-10 Thomson Licensing Method and device for controlling a haptic device
US10389992B2 (en) 2014-08-05 2019-08-20 Utherverse Digital Inc. Immersive display and method of operating immersive display for real-world object alert
US10088895B2 (en) * 2015-03-08 2018-10-02 Bent Reality Labs, LLC Systems and processes for providing virtual sexual experiences
US20170097680A1 (en) * 2015-10-02 2017-04-06 Oculus Vr, Llc Using anisotropic weaves of materials in input interfaces for a virtual reality system
US10013055B2 (en) * 2015-11-06 2018-07-03 Oculus Vr, Llc Eye tracking using optical flow
US10025386B2 (en) 2015-11-09 2018-07-17 Oculus Vr, Llc Providing tactile feedback to a user through actuators moving a portion of the user's skin
US10585479B2 (en) * 2015-11-10 2020-03-10 Facebook Technologies, Llc Control for a virtual reality system including opposing portions for interacting with virtual objects and providing tactile feedback to a user
US10025387B2 (en) * 2015-12-08 2018-07-17 Oculus Vr, Llc Resisting user movement using actuated tendons
US10026232B2 (en) * 2016-01-04 2018-07-17 Meta Compnay Apparatuses, methods and systems for application of forces within a 3D virtual environment
US11841920B1 (en) 2016-02-17 2023-12-12 Ultrahaptics IP Two Limited Machine learning based gesture recognition
US11714880B1 (en) 2016-02-17 2023-08-01 Ultrahaptics IP Two Limited Hand pose estimation for machine learning based gesture recognition
US11854308B1 (en) 2016-02-17 2023-12-26 Ultrahaptics IP Two Limited Hand initialization for machine learning based gesture recognition
US10318004B2 (en) * 2016-06-29 2019-06-11 Alex Shtraym Apparatus and method for providing feedback at a predetermined distance
DE102016215481A1 (de) * 2016-08-18 2018-02-22 Technische Universität Dresden System und Verfahren zur haptischen Interaktion mit virtuellen Objekten
US9741216B1 (en) 2016-10-14 2017-08-22 Oculus Vr, Llc Skin stretch instrument
CN106843475A (zh) * 2017-01-03 2017-06-13 京东方科技集团股份有限公司 一种实现虚拟现实交互的方法及系统
CN108209865A (zh) * 2017-01-22 2018-06-29 深圳市未来健身衣科技有限公司 体感检测与模拟系统及方法
US20180232051A1 (en) * 2017-02-16 2018-08-16 Immersion Corporation Automatic localized haptics generation system
KR101926074B1 (ko) * 2017-02-28 2018-12-06 주식회사 비햅틱스 촉각자극 제공 방법 및 컴퓨터로 읽을 수 있는 기록매체
US10825350B2 (en) * 2017-03-28 2020-11-03 Wichita State University Virtual reality driver training and assessment system
US10362296B2 (en) * 2017-08-17 2019-07-23 Microsoft Technology Licensing, Llc Localized depth map generation
US10845876B2 (en) * 2017-09-27 2020-11-24 Contact Control Interfaces, LLC Hand interface device utilizing haptic force gradient generation via the alignment of fingertip haptic units
GB2573091B (en) * 2018-02-19 2020-11-18 Valkyrie Industries Ltd Haptic feedback for virtual reality
WO2020175199A1 (ja) * 2019-02-26 2020-09-03 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11132058B1 (en) * 2019-09-12 2021-09-28 Facebook Technologies, Llc Spatially offset haptic feedback

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04291289A (ja) * 1991-03-20 1992-10-15 Nec Corp 3次元物体接触体感方式
JPH11203040A (ja) * 1998-01-16 1999-07-30 Fuji Xerox Co Ltd 触力覚呈示装置
JP2000047567A (ja) * 1998-07-24 2000-02-18 Dainippon Printing Co Ltd 物体の接触感シミュレーション装置
JP2000047565A (ja) * 1998-07-24 2000-02-18 Dainippon Printing Co Ltd 物体の接触感シミュレーション装置
JP2003199974A (ja) * 2000-09-28 2003-07-15 Immersion Corp 触覚フィードバックインターフェースデバイス用の方向接触フィードバック

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1328597A (en) * 1995-11-30 1997-06-19 Virtual Technologies, Inc. Tactile feedback man-machine interface device
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
EP1504416B1 (en) * 2002-05-03 2019-06-12 Koninklijke Philips N.V. Method of producing and displaying an image of a 3 dimensional volume

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04291289A (ja) * 1991-03-20 1992-10-15 Nec Corp 3次元物体接触体感方式
JPH11203040A (ja) * 1998-01-16 1999-07-30 Fuji Xerox Co Ltd 触力覚呈示装置
JP2000047567A (ja) * 1998-07-24 2000-02-18 Dainippon Printing Co Ltd 物体の接触感シミュレーション装置
JP2000047565A (ja) * 1998-07-24 2000-02-18 Dainippon Printing Co Ltd 物体の接触感シミュレーション装置
JP2003199974A (ja) * 2000-09-28 2003-07-15 Immersion Corp 触覚フィードバックインターフェースデバイス用の方向接触フィードバック

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108054A (ja) * 2006-10-25 2008-05-08 Canon Inc 接触提示装置及び方法
WO2010024030A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 情報入力装置,情報入力方法及び情報入力用プログラム
US10185356B2 (en) 2008-08-29 2019-01-22 Nec Corporation Information input device, information input method, and information input program
JP2019096347A (ja) * 2009-07-22 2019-06-20 イマージョン コーポレーションImmersion Corporation 操作ジェスチャの入力中に,及び,仮想装置の操作に関連して,複雑な触覚刺激を提供するシステム及び方法
JP2013524351A (ja) * 2010-03-31 2013-06-17 イマージョン コーポレーション 位置に基づいて触覚刺激を提供するシステム及び方法
JP2018125007A (ja) * 2010-03-31 2018-08-09 イマージョン コーポレーションImmersion Corporation 位置に基づいて触覚刺激を提供するシステム及び方法
US9987555B2 (en) 2010-03-31 2018-06-05 Immersion Corporation System and method for providing haptic stimulus based on position
JP2014519669A (ja) * 2011-06-16 2014-08-14 フォンダツィオーネ・イスティトゥート・イタリアーノ・ディ・テクノロジャ 人間と機械の相互作用のためのインターフェースシステム
JP2013137659A (ja) * 2011-12-28 2013-07-11 Nikon Corp 表示装置
JP2015103250A (ja) * 2013-11-27 2015-06-04 イマージョン コーポレーションImmersion Corporation 身体媒介デジタルコンテンツ転送及び触覚フィードバックの方法並びに装置
JP2015130169A (ja) * 2013-12-31 2015-07-16 イマージョン コーポレーションImmersion Corporation 触覚コンテンツを伴う視点動画を記録及び再生するシステム並びに方法
JP2020030845A (ja) * 2014-05-19 2020-02-27 イマージョン コーポレーションImmersion Corporation 没入型環境における非コロケートな触覚キュー
JP2018512643A (ja) * 2015-02-20 2018-05-17 株式会社ソニー・インタラクティブエンタテインメント 周辺デバイスを伴うグローブの指先の磁気追跡
JP2016197376A (ja) * 2015-04-06 2016-11-24 日本放送協会 力覚制御装置及び力覚提示装置
JPWO2016181469A1 (ja) * 2015-05-11 2018-03-08 富士通株式会社 シミュレーションシステム
WO2016181469A1 (ja) * 2015-05-11 2016-11-17 富士通株式会社 シミュレーションシステム
US10509488B2 (en) 2015-05-11 2019-12-17 Fujitsu Limited Simulation system for operating position of a pointer
JP2018526722A (ja) * 2015-06-29 2018-09-13 トムソン ライセンシングThomson Licensing 触力覚効果の知覚駆動符号化のための方法及びスキーム
US11314333B2 (en) 2015-09-08 2022-04-26 Sony Corporation Information processing device, method, and computer
WO2017043400A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
US10331214B2 (en) 2015-09-08 2019-06-25 Sony Corporation Information processing device, method, and computer program
US10353470B2 (en) 2015-09-08 2019-07-16 Sony Corporation Information processing device, method, and computer
US10838500B2 (en) 2015-09-08 2020-11-17 Sony Corporation Information processing device, method, and computer program
US10942573B2 (en) 2015-09-08 2021-03-09 Sony Corporation Information processing device, method, and computer
JP2018097850A (ja) * 2016-12-08 2018-06-21 イマージョン コーポレーションImmersion Corporation ハプティックサラウンド機能
US11045728B2 (en) 2017-01-06 2021-06-29 Nintendo Co., Ltd. Game system, non-transitory storage medium having stored therein game program, information processing apparatus, and game control method
JP2018110625A (ja) * 2017-01-06 2018-07-19 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置およびゲーム制御方法
JP2018124859A (ja) * 2017-02-02 2018-08-09 日本電信電話株式会社 体感装置、その方法、およびデータ構造
JP2022028692A (ja) * 2017-04-28 2022-02-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理装置の制御方法、及びプログラム
US11617942B2 (en) 2017-04-28 2023-04-04 Sony Interactive Entertainment Inc. Information processing device, control method of information processing device, and program
US11896893B2 (en) 2017-04-28 2024-02-13 Sony Interactive Entertainment Inc. Information processing device, control method of information processing device, and program
JP2019003007A (ja) * 2017-06-14 2019-01-10 三徳商事株式会社 痛覚再現装置及び疑似体験提供システム
JP2020021225A (ja) * 2018-07-31 2020-02-06 株式会社ニコン 表示制御システム、表示制御方法、及び、表示制御プログラム
WO2022254732A1 (ja) * 2021-06-04 2022-12-08 国立大学法人東北大学 振動分配制御装置,振動分配制御プログラム及び振動分配制御方法

Also Published As

Publication number Publication date
EP1916592A3 (en) 2016-04-20
JP4926799B2 (ja) 2012-05-09
US20080094351A1 (en) 2008-04-24
EP1916592A2 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
JP4926799B2 (ja) 情報処理装置、情報処理方法
JP4989383B2 (ja) 情報処理装置、情報処理方法
US10509468B2 (en) Providing fingertip tactile feedback from virtual objects
JP4921113B2 (ja) 接触提示装置及び方法
CN107949818B (zh) 信息处理设备、方法和计算机程序
US11287892B2 (en) Haptic information presentation system
JP2009276996A (ja) 情報処理装置、情報処理方法
CN110096131B (zh) 触感交互方法、装置、以及触感可穿戴设备
JP6566603B2 (ja) 触覚効果を用いてユーザインタフェース上で表面フィーチャをシミュレートする方法及び装置
KR100812624B1 (ko) 입체영상 기반 가상현실장치
JP6328448B2 (ja) 表面触覚感覚を有するユーザインタフェース装置
JP5164226B2 (ja) タッチパネル入力補助装置、同装置を用いたコンピュータ動作方法、および触感連動型プログラム
KR101174450B1 (ko) 버추얼 리얼리티 환경 생성 장치 및 콘트롤러 장치
Martínez et al. Identifying virtual 3D geometric shapes with a vibrotactile glove
KR101917101B1 (ko) 진동식 촉각 자극 생성 장치, 시스템 및 방법
KR20200000803A (ko) 가상 현실 사용자를 위한 실세계 햅틱 상호작용
JP2005509903A (ja) マルチ触覚ディスプレイハプティックインタフェース装置
KR20190059234A (ko) 햅틱 액세서리 장치
KR20190017010A (ko) 멀티모덜 햅틱 효과
JP2008134697A (ja) 接触提示装置
JP2000047563A (ja) 物体の把持動作シミュレーション装置
WO2023100268A1 (ja) 切削訓練補助システム
JPWO2019043787A1 (ja) 振動制御装置
CN115885239A (zh) 信息处理装置、触感提供系统和程序

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4926799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3