(57)【要約】【課題】受容体の位置を検出してから実際に噴出口から流体が噴出されるまでに時間遅れがあっても、システムの大型化を招くことなく受容体に対し噴出空気を常に的確に当てることができるようにする。【解決手段】受容体位置予測プログラム１３２ａにより、ある時点で検出された受容器８２の現在位置と、データメモリ１４に保存されている受容器８２の過去の移動状態を表す情報とに基づいて、予め設定した噴出遅延時間後における上記受容器８２の位置を予測する。そして、噴出口選択プログラム１３３により、その予測位置データと、データメモリ１４に記憶されている各噴出口３，３，…の配置位置データをもとに、上記噴出遅延時間後に空気を噴出させるべき噴出口を少なくとも１つ選択し、この選択された噴出口に対応する電磁弁を開成させて空気を噴出させる。【選択図】図３
2008305208.tif 000002
【特許請求の範囲】
【請求項１】
各々が流体を噴出する複数の噴出口を規則性を有して配置した噴出ユニットと、
前記複数の噴出口の配置面に対向して移動しながら当該複数の噴出口から噴出される流体を受け止める受容体の、前記移動の状態を検出する受容体検出手段と、
前記複数の噴出口による流体の噴出を選択的に制御する噴出制御ユニットと
を具備し、
前記噴出制御ユニットは、
前記受容体検出手段による前記受容体の移動の状態の検出結果に基づいて、当該移動の状態の検出時点から予め設定した噴出遅延時間後における前記受容体の位置を予測する予測手段と、
前記予測手段による受容体の位置の予測結果と、前記複数の噴出口の配置位置に基づいて、前記複数の噴出口の中から流体を噴出させるべき噴出口を選択する選択手段と、
前記選択手段により選択された噴出口から流体を噴出させるべく前記噴出ユニットを制御する噴出制御手段と
を備えることを特徴とする力覚提示装置。
【請求項２】
前記噴出制御ユニットは、
前記受容体検出手段による前記受容体の移動の状態の検出結果に基づいて、当該受容体の移動の状態に連動する仮想オブジェクトの状態の変化を算出する手段を、さらに具備し、
前記予測手段は、前記算出された仮想オブジェクトの状態変化と、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの状態及びその変化とのうちの少なくとも一方と、前記受容体検出手段による前記受容体の移動の状態の検出結果とに基づいて、前記受容体の移動状態の検出時点から予め設定した噴出遅延時間後における当該受容体の位置及び流体の噴出量を予測することを特徴とする請求項１記載の力覚提示装置。
【請求項３】
前記予測手段は、前記受容体の移動状態の検出時点から予め設定した噴出遅延時間後における前記受容体の位置を予測すると共に、当該予測位置までの移動経路を予測し、
前記選択手段は、前記予測手段による受容体の位置の予測結果及び当該予測位置までの移動経路の予測結果と、前記複数の噴出口の配置位置に基づいて、前記複数の噴出口の中から流体を噴出させるべき噴出口を複数個選択することを特徴とする請求項１記載の力覚提示装置。
【請求項４】
前記噴出制御ユニットは、
前記予測手段による受容体の位置の予測結果を保存する手段と、
前記受容体の移動状態の検出時点から前記噴出遅延時間が経過した後の、前記受容器の実際の位置を前記受容体検出手段に検出させる手段と、
前記検出された受容器の実際の位置と前記保存された受容体の予測位置とを比較して予測の的中度合いを算出する手段と、
前記算出された的中度合いに基づいて、前記選択手段による噴出口の選択結果を補正する手段と
を、さらに備えることを特徴とする請求項１又は２記載の力覚提示装置。
【請求項５】
前記噴出制御ユニットは、前記受容体検出手段が受容体の移動状態を検出するために必要な時間と、当該受容体の移動状態が検出されてから前記噴出ユニットに対し噴出命令を出力するまでに必要な時間と、前記噴出命令が出力されてから前記噴出ユニットが流体を噴出させるまでに必要な時間と、噴出口から噴出された流体が受容体に到達するまでに必要な時間の少なくとも１つを遅延パラメータとし、この遅延パラメータと、前記受容体の次回の移動状態検出時点までのインターバル時間とをもとに、前記噴出遅延時間を設定することを特徴とする請求項１又は２記載の力覚提示装置。
【請求項６】
前記噴出制御ユニットは、
前記予測手段、選択手段及び噴出制御手段がそれぞれ処理を実行する際の処理負荷を検出する手段と、
前記検出された処理負荷に応じて、前記受容体の移動状態が検出されてから前記噴出ユニットに対し噴出命令を出力するまでに必要な時間を表す遅延パラメータの値を可変制御する手段と
を、さらに備えることを特徴とする請求項５記載の力覚提示装置。
【請求項７】
複数の噴出口を規則性を有して配置した噴出ユニットを用い、制御ユニットの制御の下で前記複数の噴出口から選択的に流体を噴出させることにより、前記複数の噴出口の配置面に対向して移動する受容体に対し触感を与える力覚提示方法において、
任意の検出タイミングで前記受容体の移動の状態を検出する検出過程と、
前記検出された受容体の移動の状態に基づいて、当該移動の状態の検出時点から予め設定した噴出遅延時間後における前記受容体の位置を予測する予測過程と、
前記予測過程による受容体の位置の予測結果と、前記複数の噴出口の配置位置に基づいて、前記複数の噴出口の中から流体を噴出させるべき噴出口を選択する選択過程と、
前記選択過程により選択された噴出口から流体を噴出させるべく前記噴出ユニットを制御する噴出制御過程と
を備えることを特徴とする力覚提示方法。
【請求項８】
前記受容体の移動の状態の検出結果に基づいて、当該受容体の移動の状態に連動する仮想オブジェクトの状態の変化を算出する過程を、さらに具備し、
前記予測過程は、前記算出された仮想オブジェクトの状態変化と、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの状態及びその変化とのうちの少なくとも一方と、前記受容体検出手段による前記受容体の移動の状態の検出結果とに基づいて、前記受容体の移動状態の検出時点から予め設定した噴出遅延時間後における当該受容体の位置及び流体の噴出量を予測することを特徴とする請求項７記載の力覚提示方法。
【請求項９】
前記予測過程は、前記受容体の移動状態の検出時点から予め設定した噴出遅延時間後における前記受容体の位置を予測すると共に、当該予測位置までの移動経路を予測し、
前記選択過程は、前記予測過程による受容体の位置の予測結果及び当該予測位置までの移動経路の予測結果と、前記複数の噴出口の配置位置に基づいて、前記複数の噴出口の中から流体を噴出させるべき噴出口を複数個選択することを特徴とする請求項７又は８記載の力覚提示方法。
【請求項１０】
前記予測過程による受容体の位置の予測結果を保存する過程と、
前記受容体の移動状態の検出時点から前記噴出遅延時間が経過した後の、前記受容器の実際の位置を検出する過程と、
前記検出された受容器の実際の位置と前記保存された受容体の予測位置とを比較して予測の的中度合いを算出する過程と、
前記算出された的中度合いに基づいて、前記選択過程による噴出口の選択結果を補正する過程と
を、さらに備えることを特徴とする請求項７又は８記載の力覚提示方法。
【請求項１１】
前記受容体の移動状態を検出するために必要な時間と、当該受容体の移動状態が検出されてから前記噴出ユニットに対し噴出命令を出力するまでに必要な時間と、前記噴出命令が出力されてから前記噴出ユニットが流体を噴出させるまでに必要な時間と、噴出口から噴出された流体が受容体に到達するまでに必要な時間のうちの少なくとも１つを遅延パラメータとし、この遅延パラメータと、受容体の次回の移動状態検出時点までのインターバル時間とをもとに、前記噴出遅延時間を設定することを特徴とする請求項７又は８記載の力覚提示方法。
【請求項１２】
前記予測過程、選択過程及び噴出制御過程を実行する際の前記制御ユニットの処理負荷を検出する過程と、
前記検出された処理負荷に応じて、前記受容体の移動状態が検出されてから前記噴出ユニットに対し噴出命令を出力するまでに必要な時間を表す遅延パラメータの値を可変制御する過程と
を、さらに備えることを特徴とする請求項１１記載の力覚提示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザに対し力覚を用いて仮想空間を提示する力覚提示装置及び力覚提示方法に関する。
【背景技術】
【０００２】
日常の生活環境にＶＲ技術（Virtual reality technologies）を適用するためには、利用者を拘束しないインタフェースの開発が必要であり、その一つとして空気等の流体の圧力を利用した力覚提示方式が提案されている。この力覚提示方式は、例えば空気を噴出する多数の噴出口（噴出ノズル）をマトリクス状に二次元平面に配列する。そして、これらの噴出ノズルから選択的に空気を噴出させ、この噴出空気をユーザが手に持った風受容器８２で受けることにより、ユーザが三次元オブジェクトの表面を知覚できるようにしたものである（例えば、非特許文献１を参照。）。
【０００３】
【非特許文献１】鈴木由里子ほか、「風圧によるUntethered力覚提示インタフェース：３次元オブジェクトの表現」、電子情報通信学会技術研究報告［画像工学］、ｐｐ．７１−７６、２００３年７月１７日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前記力覚提示方式において、受容体に３次元オブジェクト表面を精度良く知覚させるには、受容体に対し噴出空気を的確に当てる必要がある。そのためには受容体の位置に対応する噴出ノズルを適切に選択する必要があるが、受容体はユーザの操作により噴出口の配置面上方で任意に移動し、かつ選択した噴出ノズルが空気を噴出するまでには時間遅れがあるため、受容体に対し噴出空気を常に的確に当てることは困難である。
【０００５】
一方、受容体に対し噴出空気を常に的確に当てるために、すべての噴出ノズルから流体を噴出させるという方法も考えられる。しかし、このようにすると単位時間当たりの空気の総噴出量が膨大となり、この総噴出量に見合ったコンプレッサを用意しなければならなくなってシステムの大型化及びコストアップを招く。
【０００６】
この発明は上記事情に着目してなされたもので、その目的とするところは、受容体の位置を検出してから実際に噴出口から流体が噴出されるまでに時間遅れがあっても、システムの大型化を招くことなく受容体に対し噴出流体を常に的確に当てることができるようにした力覚提示装置及び力覚提示方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためにこの発明の一観点は、各々が流体を噴出する複数の噴出口を規則性を有して配置した噴出ユニットと、上記複数の噴出口の配置面に対向して移動しながら当該複数の噴出口から噴出される流体を受け止める受容体の、上記移動の状態を検出する受容体検出手段と、上記複数の噴出口による流体の噴出を選択的に制御する噴出制御ユニットとを具備する力覚提示装置にあって、上記噴出制御ユニットにより、上記受容体検出手段による上記受容体の移動の状態の検出結果に基づいて、当該移動の状態の検出時点から予め設定した噴出遅延時間後における上記受容体の位置を予測し、この受容体の位置の予測結果と上記複数の噴出口の配置位置に基づいて上記複数の噴出口の中から流体を噴出させるべき噴出口を選択し、この選択された噴出口から流体を噴出させるべく上記噴出ユニットを制御するように構成したものである。
【０００８】
したがって、受容体の位置を検出してから実際に噴出口から流体が噴出されるまでに時間遅れがあっても、この噴出遅延時間の経過後における受容体の位置が予測され、この受容体の位置の予測結果と上記複数の噴出口の配置位置に基づいて流体を噴出させるべき噴出口が選択される。このため、すべての噴出口から流体を噴出させることなく、受容体に対し流体を常に的確に当てることが可能となり、これによりシステムの大型化及びコストアップを防ぐことができる。
【０００９】
この発明の一観点は、以下のような各種構成要素をさらに備えることも特徴とする。  
第１の構成要素は、噴出制御ユニットにより、上記受容体検出手段による上記受容体の移動の状態の検出結果に基づいて、当該受容体の移動の状態に連動する仮想オブジェクトの状態の変化を算出する。そして、上記算出された仮想オブジェクトの状態変化と、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの状態及びその変化とのうちの少なくとも一方と、上記受容体の移動状態の検出結果とに基づいて、上記受容体の移動状態の検出時点から予め設定した噴出遅延時間後における当該受容体の位置及び流体の噴出量を予測するものである。  
したがって、受容体の移動の状態に連動する仮想オブジェクトが存在する場合や、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトが存在する場合に、これらの仮想オブジェクトの状態変化を予測パラメータに加えて受容体の位置及び流体の噴出量を予測することが可能となる。
【００１０】
第２の構成要素は、受容体の移動状態の検出時点から予め設定した噴出遅延時間後における受容体の位置を予測すると共に、当該予測位置までの受容体の移動経路を予測し、この受容体の位置の予測結果及び当該予測位置までの移動経路の予測結果と、予め記憶した複数の噴出口の配置位置に基づいて、複数の噴出口の中から流体を噴出させるべき噴出口を複数個選択するものである。  
したがって、例えば予測位置を中心とするその周辺の噴出口と受容体の移動経路上の噴出口を含む複数の噴出口から流体が噴出される。この結果、予測誤差を吸収して受容体に流体が当たる確率を高めることができる。
【００１１】
第３の構成要素は、噴出制御ユニットにより、受容体の位置の予測結果を保存すると共に、上記噴出遅延時間が経過した後の当該受容体の実際の位置を検出し、この検出された受容体の実際の位置と上記保存された受容体の予測位置とを比較して予測の的中度合いを算出し、この算出された的中度合いに基づいて噴出口の選択結果を補正する。  
したがって、受容体の位置の予測結果と実際の位置との間にずれが発生しても、当該ずれが縮小する方向に噴出口の選択数を調整することができ、これにより流体の無駄な噴出を抑えつつ受容体に対しより的確に流体を当てることが可能となる。
【００１２】
第４の構成要素は、噴出制御ユニットにおいて、受容体の移動状態を検出するために必要な時間と、当該受容体の移動状態が検出されてから上記噴出ユニットに対し噴出命令を出力するまでに必要な時間と、上記噴出命令が出力されてから上記噴出ユニットが流体を噴出させるまでに必要な時間と、噴出口から噴出された流体が受容体に到達するまでに必要な時間の少なくとも１つを遅延パラメータとし、この遅延パラメータと、上記受容体の次回の移動状態検出時点までのインターバル時間とをもとに、上記噴出遅延時間の値を設定する。  
したがって、遅延パラメータとインターバル時間とを共に考慮した、適切な時間後における受容体の位置を予測することが可能となる。
【００１３】
第５の構成要素は、上記噴出遅延時間の値を設定する際に、噴出制御ユニットにより上記予測手段、選択手段及び噴出制御手段がそれぞれ処理を実行する際の処理負荷を検出する。そして、この検出された処理負荷に応じて、上記受容体の移動状態が検出されてから上記噴出ユニットに対し噴出命令を出力するまでに必要な時間を表す遅延パラメータの値を可変設定するものである。  
このようにすると、処理負荷の状態により予測計算処理時間が変化しても、それに応じて常に適切な噴出遅延時間を設定することができる。
【発明の効果】
【００１４】
要するにこの発明によれば、受容体の位置を検出してから実際に噴出口から流体が噴出されるまでに時間遅れがあっても、システムの大型化を招くことなく受容体に対し噴出空気を常に的確に当てることができるようにした力覚提示装置及び力覚提示方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
（第１の実施形態）  
図１は、この発明の第１の実施形態における力覚提示装置の概略構成図である。この装置は噴出ユニット１を備えている。噴出ユニット１は、支持台２上に水平テーブルを載置し、この水平テーブルに複数の噴出口（噴出ノズル）３，３，…を配設したものである。噴出口３，３，…の配置構成は、図２に示すように隣接するもの同士の位置関係が正方形をなすようにマトリクス状に設定されている。
【００１６】
上記各噴出口３，３，…はそれぞれチューブを介してコンプレッサ５に接続される。コンプレッサ５は上記各噴出口３，３，…に対しチューブを通して圧縮空気を送る。またコンプレッサ５と上記各噴出口３，３，…との間には電磁弁ユニット４が設けてある。この電磁弁ユニット４は上記各噴出口３，３，…に対し１対１に対応して設けられた複数の電磁弁を有する。これらの電磁弁は、制御ユニット６から発生される開閉制御信号に応じて個別に開閉動作し、これにより上記コンプレッサ５から送り出された圧縮空気を上記各噴出口３，３，…に選択的に供給して噴出させる。
【００１７】
上記噴出ユニット１の上方の空間には受容体８が配置される。受容体８はユーザが把持する取手８１の先端部に椀型をなす受容器８２を取着したもので、この受容器８２が上記噴出口３の一つから噴出される空気を受け止める役割を果たす。図２はその様子を示したもので、ユーザは受容器８２を水平方向に移動させながら受容器８２で受け止めた空気Ａの噴出を取手８１を介して知覚することにより、噴出ユニット１上に想定される３次元オブジェクトを力覚により認識可能となる。なお、受容器８２の外形寸法は上記各噴出口３，３，…の配列間隔と同等か又はそれより若干大きく設定されており、これにより受容器８２が噴出ユニット１の上方のどの位置にあっても上記噴出口３，３，…の少なくとも１つから噴出される空気Ａを受け止めることができるようになっている。
【００１８】
また、上記噴出ユニット１の上方位置にはカメラ７が配置されている。このカメラ７は上記受容器８２の水平方向の位置を検出するためのもので、上方から上記受容器８２を撮像してその画像信号を制御ユニット６に送る。このとき、上記受容器８２の上面中央部には図１に示すようにマーカＭが表示されている。このマーカＭは、制御ユニット６が上記画像信号中から受容器８２の位置を検出するために使用する。
【００１９】
ところで、制御ユニット６は例えばパーソナル・コンピュータからなり、次のように構成される。図４はその機能構成を示すブロック図である。  
すなわち、制御ユニット６は中央処理ユニット（ＣＰＵ：Central Processing Unit）１１を備え、このＣＰＵ１１にはバス１２を介してプログラムメモリ１３とデータメモリ１４が接続され、さらにカメラインタフェース（カメラＩ／Ｆ）１５、外部インタフェース（外部Ｉ／Ｆ）１６及び入出力インタフェース（入出力Ｉ／Ｆ）１７がそれぞれ接続されている。
【００２０】
このうち先ずカメラＩ／Ｆ１５は、ＣＰＵ１１の制御の下でカメラ７から画像信号を取り込む。外部Ｉ／Ｆ１６は、ＣＰＵ１１の制御の下で電磁弁ユニット４に対し開閉制御信号を出力する。入出力Ｉ／Ｆ１７には、入力デバイス１８及び表示デバイス１９が接続される。入力デバイスは例えばキーボードとマウスからなる。表示デバイス１９は液晶表示器からなる。入出力Ｉ／Ｆ１７は、上記入力デバイス１８の操作情報を入力情報として取り込んでＣＰＵ１１に渡す。またそれと共に、ＣＰＵ１１の制御の下で表示データを表示デバイス１９に供給して表示させる。
【００２１】
データメモリ１４は記憶媒体としてハードディスク等の随時書き込み読み出しが可能な
メモリを使用したもので、噴出口位置情報の記憶領域１４１と、受容体変化情報の記憶領域１４２を備えている。噴出口位置情報は、上記噴出ユニット１における各噴出口３，３，…の配置位置を表す座標データと、各噴出口３，３，…と電磁弁ユニット４の各電磁弁との対応関係を表すテーブルデータとを含む。受容体変化情報は、過去から現在までの受容体８２の移動状態の変化履歴を表すもので、例えば受容体８２の移動中の位置の変化や速度または加速度の変化を表す情報を含む。またデータメモリ１４には、カメラＩ／Ｆ１５を介して取り込んだ画像データ、受容体８２の位置の予測結果を表す情報等を一時記憶するためにも用いられる。
【００２２】
プログラムメモリ１３には、受容体位置検出プログラム１３１と、受容体位置予測プログラム１３２ａと、噴出口選択プログラム１３３と、噴出制御プログラム１３４がそれぞれ格納されている。  
受容体位置検出プログラム１３１は、カメラ７により撮像された画像データをカメラＩ／Ｆ１５に一定の周期で受信させ、この受信された画像データをデータメモリ１４内の作業領域に一時保存させる。そして、この画像データに対し画像のパターン認識処理等を行って受容器８２の上面中心部に表示されているマーカＭの位置を検出する処理を、上記ＣＰＵ１１に実行させる。
【００２３】
受容体位置予測プログラム１３２ａは、上記受容体位置検出プログラム１３１により検出された受容器８２の現在位置と、上記データメモリ１４に保存されている受容器８２の過去の移動状態を表す情報とに基づいて、予め設定した噴出遅延時間後における上記受容器８２の位置を予測する処理を、上記ＣＰＵ１１に実行させる。
【００２４】
噴出口選択プログラム１３３は、上記受容体位置予測プログラム１３２ａにより求められた受容器８２の予測位置データと、上記データメモリ１４に記憶されている各噴出口３，３，…の配置位置データをもとに、上記噴出遅延時間後に空気を噴出させるべき噴出口を少なくとも１つ選択する処理を、上記ＣＰＵ１１に実行させる。
【００２５】
上記噴出制御プログラム１３４は、上記噴出口選択プログラム１３３の選択結果に基づいて、この選択された噴出口に対応する電磁弁をデータメモリ１４に記憶されている噴出口と電磁弁との対応テーブルをもとに選択し、この選択した電磁弁を開成させるための開閉制御信号を外部Ｉ／Ｆ１６から電磁弁ユニット４へ出力させる処理を、上記ＣＰＵ１１に実行させる。
【００２６】
次に、以上のように構成された力覚提示装置による力覚提示動作を制御ユニット６の制御手順に従って説明する。図５は制御ユニット６による制御手順と制御内容を示すフローチャートである。  
カメラ７では、噴出ユニット１の垂直上方位置から受容器８２を含む水平テーブル上を撮像する動作が常時行われており、その画像データはカメラＩ／Ｆ１５に入力されている。
【００２７】
制御ユニット６は、受容器８２の位置検出タイミングになると、先ずステップＳ４１において、上記カメラ７から出力される画像データをカメラＩ／Ｆ１５を介して取り込む。そして、この取り込んだ画像データをデータメモリ１４に一時保存させたのち、画像パターン認識処理を行って上記受容器８２に表示されているマーカＭの水平テーブル上における位置座標を検出する。このとき、マーカＭは受容器８２の中心部に表示されているので、上記検出処理により受容器８２の中心位置の二次元座標を検出できる。
【００２８】
次に制御ユニット６は、ステップＳ４２において、上記検出された受容器８２の現在位置の座標データと、上記データメモリ１４に保存されている当該受容器８２の過去の移動履歴を表す情報、つまり位置の変化軌跡（移動方向）と速度または加速度の変化軌跡に基づいて、予め設定した噴出遅延時間後に上記受容器８２が到達すると予想される位置座標（予測位置データ）を算出する。続いて制御ユニット６は、ステップＳ４３に移行し、上記算出された受容器８２の予測位置データと、上記データメモリ１４に記憶されている各噴出口３，３，…の配置位置データをもとに、上記噴出遅延時間後に空気を噴出させるべき噴出口を少なくとも１つ選択する。
【００２９】
以上述べた受容器８２の位置予測処理及び予測した位置に応じた噴出口の選択処理をより具体的に説明する。  
制御開始に先立ち、制御ユニット６にはユーザが把持する受容器８２に対し力覚提示する必要がある領域または位置が設定される。なお、この領域や位置は時間軸方向に変化する場合もある。また、受容器８２の位置の検出周期またはインターバルを考慮して決められた噴出遅延時間も設定される。この噴出遅延時間は、例えば１００msec後に設定される。
【００３０】
受容器８２の位置を予測計算する例としては、受容器８２がその位置の検出後に等速度またはそれに近い速度で進むと仮定した場合と、等加速度またはそれに近い加速度で進むと仮定した場合と、その両者を組み合わせた場合とがある。等速度で進むと仮定した場合のＸ座標値の予測算出式を例としてあげると、ｔ時点に検出したＸ座標値Ｘ_ｔ、ｔ時点より過去のｔ−ａ時点に検出したＸ座標値Ｘ_ｔ−ａに対して、予測したいｔ＋ｂ時点でのＸ座標値Ｘ_ｔ＋ｂは、  
Ｘ_ｔ＋ｂ＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−ａ）＊（ｂ／ａ）＊Ｃ    （Ｃは定数）
として算出することができる。
【００３１】
さらにその具体例をあげると、検出した受容器８２の速度は実際には常に変化しているが、直近に検出した受容器８２の速度に近い速度でその後も進むと仮定し、検出時点から実際に噴出が発生するまでの遅れが、検出時点の座標値Ｘ_ｔと、その一つ前の検出時点で検出した座標値Ｘ_ｔ−１の定数倍に近い値となると仮定して予測位置を算出する場合がある。この場合には、検出時点では常にそのときの位置Ｘ_ｔとその一つ前の検出時点での位置Ｘ_ｔ−１の２つの値を保持し、この２つの値を定数倍して予測値を算出する。  
Ｘ_ｔ＋ｂ＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−１）＊ｂ＊Ｃ    （Ｃは定数）。
【００３２】
ただし、実際には速度は常に変化しているので、どの過去の時間Ｘ_ｔ−ａを選ぶのかによって異なり、Ｘ_ｔ−ａの時点を複数用意することで、複数の予測位置が算出される。また、検出時点から実際に噴出が発生するまでの時間遅れは、種々の条件によって異なるためＣの値を複数用意し、複数の予測位置を算出することもある。同様に他の座標も予測計算し、その位置に存在すると仮定した受容器８２に噴出空気が当たるように、対応する１つ以上の噴出口から空気を噴出させる。
【００３３】
また、検出時点の受容器８２位置に対して、そのまま進む場合といきなり動く方向を変える場合などを考慮し、予測位置はある一定の距離の範囲内に受容器８２が存在すると仮定して、予測値を算出することも考えられる。この場合のＸ座標値を算出するための計算式の例をあげると、  
Ｘ_ｔ＋ｂ＝Ｘ_ｔ±ｂ＊Ｃ    （Ｃは定数）
となる。
【００３４】
この場合も、Ｃの値を複数用意し、複数の予測位置を算出することもある。結果として、受容器８２を検出した時点の受容器８２の位置を中心として、その周囲の複数の噴出口を噴出対象とする。また、噴出口の配置が一定間隔Ｄで配置されている場合、上記定数ＣをＤの定数倍とすることで、受容器８２を検出した時点での受容器８２位置に対応した噴出口とその両隣に位置する噴出口を無条件に選択するように設定すると、噴出口の選択処理を簡単にすることができる。
【００３５】
また、上記の２つの手法を組み合わせ、受容器８２が等速度で動くと予測した位置を中心とするある一定距離の範囲内に受容器８２が存在すると仮定し、予測値を算出することも考えられる。算出式の例としては、  
Ｘ_ｔ＋ｂ＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−ａ）＊（ｂ／ａ）＊Ｃ１±ｂ＊Ｃ２    （Ｃ１，Ｃ２は定数）
となる。
【００３６】
以上述べた各手法によれば、コンプレッサ５の負荷が大きくなり過ぎない範囲内で、受容器８２の予測位置に対応する噴出口を含むその周辺の複数の噴出口から同時に空気が噴出されることになるが、これによってユーザが受ける力覚に混乱が生じる心配はない。なぜなら、予測が当たっている受容器８２の位置に噴出空気が当たるように対応する噴出口から噴出することに加えて、受容器８２が存在しないところに位置する噴出口から空気を噴出しても、これらの同時に噴出された空気によりお互いの力覚提示を乱さないようにすることができ、これにより利用者への力覚提示に悪影響を及ぼす心配がないからである。
【００３７】
なお、噴出口３，３，…からの空気の噴出方向を垂直上方以外に可変可能な場合や、複数の噴出口が配置された複数の噴出口アレイを直交配置した場合、さらには複数の受容体８２，８２，…を用いる場合には、複数の予測位置に対する複数の噴出口３，３，…からの同時噴出がお互いの力覚提示を混乱させる場合もある。例えば、予測が外れている受容器８２の位置に噴出空気が当たるよう制御した噴出口からの噴出に対して、予測が外れた位置には受容器８２は存在しないが、その噴出方向上に受容器８２が存在してその噴出空気が当たることで力を受けてしまう場合である。
【００３８】
具体例としては、ある噴出方向上に受容器８２が存在し、噴出口に近い方の予測位置に受容器８２が存在した場合は力覚提示が必要でなく、遠いほうの予測位置に存在した場合は力覚提示が必要な場合である。このような、予測により算出した噴出口からの噴出方向上に２つ以上の受容器８２の予測位置が存在する場合には、受容器８２の位置や向きと、または噴出口３，３，…の配置に基づき、お互いが提示の邪魔にならない噴出口からの噴出となるように噴出口を変更して制御することが考えられる。
【００３９】
その他、複数の受容器８２を使用し、別の受容器８２が予測により算出した噴出口からの噴出方向上にいる場合や近くにいる場合に、別の受容器８２に対する噴出が当たらないようにするために、受容器８２の位置や向きと噴出口３，３，…の配置に基づき、お互いの噴出空気が力覚提示の邪魔にならない噴出口から噴出されるように、噴出口を変更制御することが考えられる。
【００４０】
また、受容器８２の位置または向きを示す座標空間の受容器８２の位置座標値に対して、全ての座標軸の値を予測計算するのではなく、その一部の座標軸の値のみを予測計算し、残りの座標軸の値は受容器８２を検出した時点での位置データを使用して受容器８２の位置を予測する方法も考えられる。例えば、噴出口が配置された水平テーブルと平行する方向の受容器８２の動きに対応してのみ予測計算を行い、水平テーブルに対し垂直の方向への受容器の動きに対しては予測計算を行わない方法である。
【００４１】
その具体例としては、水平テーブル面上に配置された噴出口３，３，…が垂直上方等の一方向にのみ空気を噴出可能なように構成された場合をあげる。例えば、図２に示したような噴出口３，３，…が平面状の上向きに配置され、受容器８２は噴出口３，３，…が並ぶ面の上空を移動させる場合や、噴出口３，３，…が球面上の外側に放射状に配置された場合である。
【００４２】
図２に示したような構成において、噴出による力覚提示が必要となった時、受容器８２の位置を予測するための計算方法としては、受容器８２の座標値のうちの平面に対し平行な座標値についてのみを予測計算をし、噴出方向（平面に対し垂直な方向）の座標値については検出時点の値をそのまま使用して受容器８２の予測位置を決定する。この場合、受容器８２が１つであれば、噴出口３，３，…の配置面に対し垂直な方向について予測計算をしないことで、噴出方向上に２つ以上の予測位置が存在することがない。したがって、複数の予測位置に対応する複数の噴出口から同時に空気が噴出しても、お互いの力提示を乱さない。
【００４３】
以上のように受容器８２の位置の予測計算処理と、その結果に基づく噴出口の選択処理が終了すると、制御ユニット６はステップＳ４４に移行し、上記選択された噴出口又は噴出口群が力覚提示の制御対象となっているか否かを判定する。この判定の結果、上記選択された噴出口または噴出口群が力覚提示の制御対象となっていれば、上記選択された噴出口または噴出口群に対応する電磁弁をデータメモリ１４に記憶されている噴出口と電磁弁との対応テーブルをもとに選択する。
【００４４】
そして、上記選択した電磁弁を開成させるための開閉制御信号を、受容器８２の位置を検出してから実際に噴出口３から空気が噴出されるまでの時間遅れを考慮して、この噴出遅延時間が経過する前の一定時間前のタイミングで外部Ｉ／Ｆ１６から電磁弁ユニット４へ出力させる。この結果、上記選択された電磁弁が一定期間開成し、コンプレッサ５の圧縮空気が上記電磁弁を介して上記選択された噴出口に供給されて、この噴出口から受容器８２に向け噴出される。
【００４５】
かくして、ユーザには受容器８２を介して力覚が提示される。なお、噴出口ごとに空気の噴出圧力を可変設定することで、噴出口３，３，…が配設された二次元平面上において３次元オブジェクトを表現することができる。  
以上の制御動作はユーザが終了操作を行い、この操作がステップＳ４５で検出されるまで繰り返し実行される。
【００４６】
以上説明したように第１の実施形態では、ある時点で検出された受容器８２の現在位置と、データメモリ１４に保存されている受容器８２の過去の移動状態を表す情報とに基づいて、予め設定した噴出遅延時間後における上記受容器８２の位置を予測する。そして、その予測位置データと、データメモリ１４に記憶されている各噴出口３，３，…の配置位置データをもとに、上記噴出遅延時間後に空気を噴出させるべき噴出口を少なくとも１つ選択し、この選択された噴出口に対応する電磁弁を開成させて空気を噴出させるようにしている。
【００４７】
したがって、受容器８２の位置を検出してから実際に噴出口３から空気が噴出されるまでの時間遅れがあっても、この噴出遅延時間の経過後における受容器８２の位置が予測され、この受容器８２の位置の予測結果と複数の噴出口３，３，…の配置位置データとに基づいて気体を噴出させるべき噴出口が選択される。このため、すべての噴出口３，３，…から同時に空気を噴出させることなく、受容器８２に対し空気を常に的確に当てることが可能となり、これによりシステムの大型化及びコストアップを防ぐことができる。
【００４８】
また、受容器８２の位置を予測すると共に、当該予測位置までの受容器８２の移動経路を予測し、この受容器８２の位置の予測結果及び当該予測位置までの移動経路の予測結果と、予め記憶した複数の噴出口の配置位置データに基づいて、複数の噴出口３，３，…の中から空気を噴出させるべき噴出口を複数個選択する。このようにすると、例えば予測位置を中心とするその周辺の噴出口と受容体の移動経路上の噴出口を含む複数の噴出口から気体が噴出される。この結果、予測誤差を吸収して受容体に流体が当たる確率を高めることができる。
【００４９】
（第２の実施形態）  
この発明の第２の実施形態は、受容器８２の移動状態の検出結果に基づいて、当該受容器８２に連動する仮想オブジェクトの状態の変化を算出する。そして、この算出された受容器８２に連動する仮想オブジェクトの状態変化と、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの状態及びその変化を予測パラメータに加えて、上記受容器８２の噴出遅延時間後における位置及び噴出量を予測するようにしたものである。
【００５０】
図５は、この発明の第２の実施形態に係わる力覚提示装置で使用される制御ユニットの機能構成を示すブロック図である。なお、同図において前記図３と同一部分には同一符号を付して詳しい説明は省略する。  
プログラムメモリ１３には、受容体位置検出プログラム１３１、受容体位置予測プログラム１３２ｂ、噴出口選択プログラム１３３及び噴出制御プログラム１３４に加え、仮想オブジェクト状態算出プログラム１３５が新たに格納されている。
【００５１】
仮想オブジェクト状態算出プログラム１３５は、受容体位置検出プログラム１３１の実行により検出された受容器８２の移動状態（例えば位置や向き）に対応して変化する、仮想空間内における仮想オブジェクトの状態を算出するとともに、その算出結果に基づき仮想オブジェクトを含む仮想空間を仮想空間表示装置としての役割を持つ表示デバイス１９に表示させる処理を、ＣＰＵ１１に実行させる。例えば、受容器８２の位置に対応した仮想オブジェクトを仮想空間内に用意し、受容器８２の位置または向きに連動させて対応する仮想空間内の仮想オブジェクトの位置または向きなどの仮想オブジェクトの属性を変化させる。
【００５２】
受容体位置予測プログラム１３２ｂは、上記受容体位置検出プログラム１３１の実行により検出された受容器８２の位置または向きのデータに基づいて、また上記受容器８２に連動して変化する仮想オブジェクトの位置または形状或いはそれらの変化情報に基づいて、さらには当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの位置または形状或いはそれらの変化情報に基づいて、受容器８２の位置検出時点から予め決められた時間後の受容器８２の位置や向きを１つ以上予測して算出する処理を、上記ＣＰＵ１１に実行させる。
【００５３】
噴出口選択プログラム１３３は、上記算出された予測位置データと、データメモリ１４に記憶された噴出口３，３，…の配置位置に基づき、予測位置および予測位置までの経路に沿った１つ以上の噴出口を選択する処理を、上記ＣＰＵ１１に実行させる。
【００５４】
噴出制御プログラム１３３は、上記検出された受容器８２の位置または向きを用いて、または上記仮想オブジェクトの状態に対して、噴出口から噴出させる空気の噴出量を制御する処理を、上記ＣＰＵ１１にさらに実行させる。なお、上記空気の噴出量は電磁弁ユニット４の電磁弁の開成量を可変することにより制御可能である。
【００５５】
次に、以上のように構成された装置による力覚提示動作を制御ユニット６の制御手順に従い説明する。図６は、制御ユニット６による制御手順と制御内容を示すフローチャートである。なお、同図において前記図４と同一ステップには同一符号を付して説明を行う。
【００５６】
制御ユニット６は、受容器８２の位置検出タイミングになると、先ずステップＳ４１において、上記カメラ７から出力される画像データをカメラＩ／Ｆ１５を介して取り込む。そして、この取り込んだ画像データをデータメモリ１４に一時保存させたのち、画像パターン認識処理を行って上記受容器８２に表示されているマーカＭの水平テーブル上における位置座標を検出する。
【００５７】
次に制御ユニット６は、ステップＳ６１おいて、上記受容器８２の移動に応じて変化する仮想オブジェクトの状態を算出し、この算出結果を表示デバイス１９に表示する。そして、ステップＳ６２において、上記受容器８２の移動に応じて変化する仮想オブジェクトの状態と、当該仮想オブジェクトと別の仮想オブジェクトとの接触の有無及び予め定められた時間後までの期間における接触の可能性の有無を判定する。続いて制御ユニット６は、ステップＳ６３において、検出された受容器８２の位置または向きのデータに基づいて、また仮想空間における仮想オブジェクトの位置または形状或いはそれらの変化情報に基づいて、受容器８２の位置検出時点から予め決められた時間後の受容器８２の位置を１つ以上予測して算出する。
【００５８】
続いて制御ユニット６は、ステップＳ６４において、データメモリ１４に記憶された噴出口の配置位置データに基づいて、上記算出された受容器８２の予測位置に対応する噴出口を選択する。そして、ステップＳ６５において、上記選択された噴出口から空気を噴出させ、さらにその噴出量を制御するための処理を実行する。
【００５９】
以上述べた仮想オブジェクトの状態算出処理から、受容器８２の位置予測処理、予測した位置に応じた噴出口の選択処理及び空気の噴出制御処理までの動作をより具体的に説明する。  
上記仮想空間システム内の仮想オブジェクトの状態変化に対して、例えば受容器８２の位置に連動して動く仮想空間内の仮想オブジェクトが別の仮想オブジェクトに接触したとき、上記検出された受容器８２の位置または向きと、受容器８２の過去から現在までの位置の移動軌跡や速度または加速度の変化の情報を用いて、さらに上記仮想空間内の仮想オブジェクトの状態情報を用いて、検出時点の受容器８２の位置または向きに応じた噴出口からの空気の噴出量を制御する。
【００６０】
また、上記受容器８２の位置検出時点から予め決められた噴出遅延時間経過後の受容器８２の位置または向きを１つ以上予測計算し、この算出された予測位置に対応する噴出口と、当該予測位置に至るまでの経路上に位置する噴出口を選択して、これらの噴出口から空気を噴出させると共にその噴出量を制御する。これによりユーザは、上記噴出した空気を受容器８２で受け止めることで仮想オブジェクトを力覚により認識することが可能となる。
【００６１】
なお、仮想オブジェクトの状態の算出に時間がかかる場合があるので、仮想オブジェクトの状態の算出の結果、噴出することが決まった時点で、受容器８２の位置を再度検出して受容器８２の現在位置、または噴出遅延時間後の受容器８２の予測位置を計算し直し、この再計算後の位置に基づいて噴出口を選択し直すようにしてもよい。
【００６２】
具体例としては、ユーザが把持する受容器８２の動きに仮想空間内の仮想オブジェクトの動きを連動させ、受容器８２が動くことでその動きに連動して仮想空間内の仮想オブジェクトが動くものとし、その仮想オブジェクトが仮想空間内のある領域内やある条件の位置に存在したときに、または仮想空間内の別の仮想オブジェクトに接触したときに、ユーザに力覚提示をする必要があると予め定義しておく。
【００６３】
また、前記第１の実施形態と同様に、どれだけの時間後の受容器８２の位置を予測するのかを予め決めておく。この状態で受容器８２の位置を検出し、仮想オブジェクトの位置がユーザに力覚提示をする必要がある位置に存在すれば、噴出による力覚提示を行うために制御ユニット６は、受容器８２の位置等の検出情報を用いて、または仮想空間内の仮想オブジェクトの位置や向き、属性等の状態情報を用いて、位置検出時点の受容器８２の位置、または当該位置検出時点から噴出遅延時間後における受容器８２の予測位置に対応した噴出口から空気を噴出させる。この場合、受容器８２の位置等は仮想オブジェクトの位置に連動させるが、予測計算した受容器８２の位置は仮想オブジェクトには連動させず噴出制御のみに使用するので、仮想オブジェクトと噴出位置の対応がずれることがある。
【００６４】
また、空気を噴出させるべき噴出口を選択する時点で、受容器８２の位置を再度検出し直し、この検出し直した位置をもとに上記噴出口の選択結果を補正するようにしてもよい。ただし、この場合仮想オブジェクトと噴出位置がさらにずれることがある。
さらに、検出時点の位置から予測した受容器８２の位置までの経路上に位置する噴出口を選択して空気を噴出させる。仮想オブジェクトの位置または形状の状態情報を用いて予測位置を算出する方法としては、例えば早く動く仮想オブジェクトの場合と動かない仮想オブジェクトの場合とで予測方法を変えたり、または速度等を予測のパラメータとして利用する場合も考えられる。また、速度を変更することや、予め決めていた時間後を予測するとしていた時間を変化させる方法もある。
【００６５】
以上説明したように第２の実施形態では、受容器８２の移動状態の検出結果に基づいて、当該受容器８２に連動する仮想オブジェクトの状態の変化を算出する。そして、この算出された受容器８２に連動する仮想オブジェクトの状態変化と、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトの状態及びその変化を予測パラメータに加えて、上記受容器８２の噴出遅延時間後における位置及び噴出量を予測するようにしている。  
【００６６】
したがって、受容器８２の移動状態に連動して変化する仮想オブジェクトが存在する場合や、当該仮想オブジェクトとの接触が予想される他の仮想オブジェクトが存在する場合に、これらの仮想オブジェクトの状態を予測パラメータに加えて受容体の位置及び噴出量を予測することができる。このため、受容器８２の移動状態ばかりでなく、受容器８２の動きに連動する仮想オブジェクトや、当該仮想オブジェクトとの接触が予想される仮想オブジェクトの状態も考慮して、より適切な位置の噴出口を選択して空気を噴出させることができ、この結果受容器８２に対しより的確に空気を当てることが可能となる。
【００６７】
（第３の実施形態）  
この発明の第３の実施形態は、予測計算により求めた受容器８２の位置の予測データを保存すると共に、上記噴出遅延時間が経過した時点での当該受容器８２の実際の位置を検出し、この検出された受容器８２の実際の位置と上記保存された受容器８２の予測位置とを比較して予測の的中度合いを算出し、この算出された的中度合いに基づいて噴出口の選択結果を補正するものである。
【００６８】
図７は、この発明の第３の実施形態に係わる力覚提示装置で使用される制御ユニットの機能構成を示すブロック図である。なお、同図において前記図３または図５と同一部分には同一符号を付して詳しい説明は省略する。  
プログラムメモリ１３には、受容体位置検出プログラム１３１、受容体位置予測プログラム１３２ｃ、噴出口選択プログラム１３３、噴出制御プログラム１３４及び仮想オブジェクト状態算出プログラム１３５に加え、予測補正プログラム１３６が新たに格納されている。
【００６９】
予測補正プログラム１３６は、受容器８２の実際の検出位置に対する予測位置の的中度合いを判定するため、過去に予測した位置座標データとその算出条件、そして空気を噴出させるべき噴出口の選択数を、予測先のタイミングになるまでデータメモリ１４に保持しておく。そして、上記予測先のタイミングになったところで受容器８２の実際の位置を検出し、この検出された実際の位置座標データを上記保持されている予測位置の座標データと比較することで、予測の的中度合いを調べる。そして、その的中度合いに応じて、選択対象の噴出口の数を補正する処理を、ＣＰＵ１１に実行させる。
【００７０】
次に、以上のように構成された装置による力覚提示動作を制御ユニット６の制御手順に従い説明する。図８は、制御ユニット６による制御手順と制御内容を示すフローチャートである。なお、同図において前記図６と同一ステップには同一符号を付して詳しい説明は省略する。
【００７１】
制御ユニット６は、ステップＳ６３により受容器８２の予測位置データの算出が終了し、さらにステップＳ６４により空気を噴出させるべき噴出口の選択処理が終了すると、ステップＳ８１により上記噴出口の選択結果をデータメモリ１４内の所定の領域に保存させる。なお、噴出口の選択結果の代わりに上記受容器８２の予測位置データをデータメモリ１４に保存させるようにしてもよい。
【００７２】
次に制御ユニット６は、上記予測先のタイミングになると、ステップＳ８２においてカメラＩ／Ｆ１５を介してカメラ７の撮像画像データを取り込んで、この画像データをもとに受容器８２の実際の位置座標データを検出する。そして、ステップＳ８３により、上記検出された受容器８２の実際の位置座標データを、上記データメモリ１４に保持されている予測位置座標データと比較し、これにより予測の的中度を判定する。続いて、この予測の的中度の判定結果に従い、ステップＳ８４により噴出口の選択数を調整する。
【００７３】
例えば、受容器８２の実際の位置座標データと予測位置座標データとの間のずれが予め設定されたしきい値より大きければ的中度合いは低いと判定し、一方上記ずれがしきい値以下であれば的中度合いは高いと判定する。そして、的中度合いが高いと判定した場合には、噴出口の選択数を維持するかまたは一定数減らす。一方、的中度合いが低いと判定した場合には、噴出口の選択数を一定数増やす。
【００７４】
具体的には、ある計算式を用いてある時点で受容器８２の位置を予測するとし、その予測位置に対応した噴出口近傍の任意の半径の範囲内に存在する噴出口を選択するとしたとき、予測の的中度合いに対して、その半径を変化させることがあげられる。的中度合いがしきい値より高ければ半径を小さくするかまたはそのまま維持し、一方的中度合いがしきい値以下であれば半径を大きくする。また、複数の計算方法を用いてその的中度合いをそれぞれ調べ、的中度合いの高い方法を採用する。
【００７５】
また、予測位置のずれだけでなく、速度のずれを比較して噴出口の選択数を変化させることも考えられる。例えば、等速度またはそれに近い速度で進むと仮定して予測位置を算出するが、受容器８２が等速度またはそれに近い速度で進んでいなかったときに、予測候補を増やす方法もある。その結果として、受容器８２を把持したユーザの腕が等速度またはそれに近い速度で例えば左右に弧を描くように同じような速度で動いている場合には、受容器８２の予測数は少なく噴出口の選択数も少ない。これに対し、ユーザが腕の動く方向を変えるときまたはその状態に近くなった時には、受容器８２の予測位置を増加させ、また噴出口の選択数を増やす。
【００７６】
その他、複数の受容器８２，８２′を使用し、予測計算により算出した受容器８２の近傍に別の受容器８２′が存在する場合に、この別の受容器８２′に対し噴出された空気が上記受容器８２に影響を及ぼさないように、受容器８２の予測位置数、延いては噴出口の選択数を減らすようにしてもよい。
【００７７】
以上説明したように第３の実施形態では、予測計算により求めた受容器８２の位置の予測データ又はそれに対応する噴出口の選択数を保存すると共に、噴出遅延時間が経過した時点での当該受容器８２の実際の位置を検出し、この検出された受容器８２の実際の位置と上記保存された受容器８２の予測位置とを比較して予測の的中度合いを算出し、この算出された的中度合いに基づいて噴出口の選択結果を補正するようにしている。  
したがって、受容器８２の位置の予測データと実際の位置の検出データとの間にずれが発生しても、当該ずれが縮小する方向に噴出口の選択数を調整することができ、これにより空気の無駄な噴出を抑えつつ受容器８２に対しより的確に空気を当てることが可能となる。
【００７８】
（第４の実施形態）  
この発明の第４の実施形態は、受容器８２の移動状態を検出するために必要な時間と、当該受容器８２の移動状態が検出されてから電磁弁ユニット４に対し電磁弁の開成制御信号を出力するまでに必要な時間と、上記開成制御信号が出力されてから噴出口３，３，…が空気を噴出するまでに必要な時間と、噴出口３，３，…から噴出された空気が受容器８２に到達するまでに必要な時間をそれぞれ遅延パラメータとして定義し、これらの遅延パラメータと、上記受容器８２の次回の移動状態検出時点までのインターバル時間とをもとに、噴出遅延時間の値を設定するようにしたものである。
【００７９】
図９は、この発明の第４の実施形態に係わる力覚提示装置で使用される制御ユニットの機能構成を示すブロック図である。なお、同図において前記図７と同一部分には同一符号を付して詳しい説明は省略する。  
【００８０】
データメモリ１４には、噴出口位置情報の記憶領域１４１及び受容体変化情報の記憶領域１４２に加え、遅延パラメータの記憶領域１４３が設けられている。この記憶領域１４３には、遅延パラメータとして、カメラ７の画像データを取り込んでこの画像データをもとに受容器８２の移動状態（位置と向き）を検出するために必要な時間（Ｈ_ａ）と、当該受容器８２の移動状態が検出されてから電磁弁ユニット４に対し電磁弁の開成制御信号を出力するまでに必要な時間（Ｈ_ｂ）と、上記開成制御信号が出力されてから噴出口３，３，…が空気を噴出するまでに必要な時間（Ｈ_ｃ）と、噴出口３，３，…から噴出された空気が受容器８２に到達するまでに必要な時間（Ｈ_ｄ）が記憶される。また、上記記憶領域１４３には、上記受容器８２の次回の移動状態検出時点までのインターバル時間、つまり受容器８２の位置検出周期（Ｐ）も記憶される。
【００８１】
受容体位置予測プログラム１３２ｄは、上記記憶領域１４３に記憶された各遅延パラメータ（Ｈ_ａ），（Ｈ_ｂ），（Ｈ_ｃ），（Ｈ_ｄ）と、受容器８２の位置検出周期（Ｐ）とをもとに予測先のタイミングまでの時間、つまり噴出遅延時間を設定し、この設定された噴出遅延時間後の受容器８２の位置を予測する処理を、ＣＰＵ１１に実行させる。
【００８２】
このような構成であるから、本実施形態の力覚提示装置では以下のような動作が行われる。  
いま、位置検出時点後に受容器８２は等速度またはそれに近い速度で進むと仮定する。位置検出時点後の予測時点ｔ’における予測位置Ｘ_ｔ’は、上記位置検出時点での受容器８２の座標値Ｘ_ｔと、１つ前の位置検出タイミングで検出した座標値Ｘ_ｔ−１の定数倍に近い
Ｘ_ｔ’＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−１）＊Ｃ    （Ｃは定数）
として計算できる。
【００８３】
ここで、位置検出時点から実際に噴出口が空気を噴出して受容器８２に当たるまでにかかる時間（Ｈ_delay）を、次式により求める。  
Ｈ_delay＝Ｈ_ａ＋Ｈ_ｂ＋Ｈ_ｃ＋Ｈ_ｄ
すなわち、遅延時間（Ｈ_delay）は、上記データメモリ１４の記憶領域１４３に記憶された各遅延パラメータ（Ｈ_ａ），（Ｈ_ｂ），（Ｈ_ｃ），（Ｈ_ｄ）の合計値として算出する。
【００８４】
さらに、受容器検出プログラム１３１は上記時間間隔（Ｐ）ごとに受容器の位置を検出するので、受容体位置予測プログラム１３２ｄは上記位置検出時点から実際に噴出口が空気を噴出して受容器８２に当たるまでに要する時間である噴出遅延に対して、検出時点に検出した位置のＨ_delay／Ｐである、
（Ｈ_ａ＋Ｈ_ｂ＋Ｈ_ｃ＋Ｈ_ｄ）／Ｐ  
先の位置を予測計算する。
【００８５】
すなわち、ｔ時点に検出したＸ座標値Ｘ_ｔ、ｔ−１時点に検出したＸ座標値Ｘ_ｔ−１に対して、予測したいｔ’時点でのＸ座標値Ｘ_ｔ’は、次式により算出される。  
Ｘ_ｔ’＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−１）
＊｛（Ｈ_ａ＋Ｈ_ｂ＋Ｈ_ｃ＋Ｈ_ｄ）／Ｐ−Ｃ｝    （Ｃは定数）
なお、｛（Ｈ_ａ＋Ｈ_ｂ＋Ｈ_ｃ＋Ｈ_ｄ）／Ｐ−Ｃ｝は予め算出しておいてもよく、また整数として５または６などと決定して、５個先または６個先を算出するとしておくこともできる。
【００８６】
さらに、具体的な数字をあげて本実施形態の動作を説明する。  
受容体位置検出プログラム１３１が受容器８２の位置を検出するまでに要する時間の長さ（Ｈ_ａ）を約３０msec、上記受容器８２の移動状態が検出されてから電磁弁ユニット４に対し電磁弁の開成制御信号を出力するまでに必要な時間（Ｈ_ｂ）を約２０msec、上記開成制御信号が出力されてから噴出口３，３，…が空気を噴出するまでに必要な時間（Ｈ_ｃ）と噴出口３，３，…から噴出された空気が受容器８２に到達するまでに必要な時間（Ｈ_ｄ）との合計時間を約５０msecとし、さらに受容器８２の位置を検出する時間間隔（Ｐ）を約２０msecとしたとき、Ｈ_delay／Ｐは  
Ｈ_delay／Ｐ＝（３０＋２０＋５０）／２０＝５
となる。
【００８７】
そこで、先読みする位置を約５個先とし、予測算出式を以下のように設定する。  
Ｘ_ｔ’＝Ｘ_ｔ＋（Ｘ_ｔ−Ｘ_ｔ−１）×５  
この結果、検出時点の受容器の位置（Ｘ_ｔ）と、１つ前に検出した受容器８２の位置（Ｘ_ｔ−１）を保持しておき、その両方の位置座標データを上式に代入すれば、予測位置を求めることができる。
【００８８】
以上説明したように第４の実施形態では、受容器８２の移動状態を検出するために必要な時間（Ｈ_ａ）と、当該受容器８２の移動状態が検出されてから電磁弁ユニット４に対し電磁弁の開成制御信号を出力するまでに必要な時間（Ｈ_ｂ）と、上記開成制御信号が出力されてから噴出口３，３，…が空気を噴出するまでに必要な時間（Ｈ_ｃ）と、噴出口３，３，…から噴出された空気が受容器８２に到達するまでに必要な時間（Ｈ_ｄ）と、上記受容器８２の次回の移動状態検出時点までのインターバル時間（Ｐ）とをもとに予測先のタイミングを設定する。そして、この設定した予測先のタイミングにおける受容器８２の位置を予測するようにしている。  
したがって、複数の遅延パラメータ（Ｈ_ａ），（Ｈ_ｂ），（Ｈ_ｃ），（Ｈ_ｄ）ともれなく考慮し、さらに位置検出のインターバル時間（Ｐ）を考慮した、適切な時間後における受容器８２の位置を予測することが可能となる。
【００８９】
（その他の実施形態）  
前記第４の実施形態では、遅延パラメータ（Ｈ_ａ），（Ｈ_ｂ），（Ｈ_ｃ），（Ｈ_ｄ）を固定値として予め設定した場合について述べた。しかし、それに限定されるものではなく、受容体位置予測プログラム１３２ｄ、噴出口選択プログラム１３３及び噴出制御プログラム１３４をそれぞれ実行する際のＣＰＵ１１の処理負荷量を、ＣＰＵ１１自身が検出する。そして、この検出された処理負荷量に応じて、上記予測先タイミングを設定する噴出遅延時間の値（Ｈ_ｂ）を可変設定するようにしてもよい。
【００９０】
例えば、ＣＰＵ１１が、上記受容体位置検出プログラム１３１により受容器８２の移動状態が検出されてから電磁弁ユニット４に対し電磁弁の開成制御信号を出力するまでに必要な時間（Ｈ_ｂ）を計時する。そして、この計時時間が予め設定したしきい値より長くなった時に、その差分に対応する時間だけＨ_ｂを長くし、この長さが変更されたＨ_ｂを用いて予測計算式を変更する。
【００９１】
また、前記実施形態ではカメラ７の撮像画像データをもとに受容器８２の位置を検出するようにしたが、受容器８２に加速度センサやジャイロ等の位置検出センサを内蔵させ、この位置検出センサの検出信号をもとに受容器の位置を検出するようにしてもよい。
さらに、前記実施形態では複数の噴出口３，３，…を二次元平面に配置した場合を例にとって説明した。しかし、これに限定されるものではなく、例えば立方体や直方体、球体、半球体、柱体、錐体などの３次元表面に複数の噴出口を規則性をもって配置するようにしてもよい。
【００９２】
さらに、仮想オブジェクトが三次元仮想空間で動き、また受容器８２も３次元方向に移動する場合を想定し、受容器８２の位置の予測計算を３次元座標（Ｘ，Ｙ，Ｚ座標）に従って実行するようにしてもよい。このようにすると、上記仮想オブジェクトの三次元仮想空間での動きと受容器８２の３次元方向への移動を共に考慮して、噴出遅延時間後における受容器８２の３次元位置を予測することができる。
【００９３】
その他、噴出ユニットにおける噴出口の配置パターンや、噴出制御ユニットにおける受容体位置検出プログラム、受容体位置予測プログラム、噴出口選択プログラム、噴出制御プログラム、仮想オブジェクト状態算出プログラム及び予測補正プログラムの処理手順とその処理内容、流体の種類やその噴出方向等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００９４】
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００９５】
【図１】この発明の第１の実施形態に係わる力覚提示装置の全体構成を示す図である。
【図２】図１に示した力覚提示装置による空気噴出動作と受容体によるその受圧動作を示す図である。
【図３】図１に示した力覚提示装置における制御ユニットの機能構成を示すブロック図である。
【図４】図３に示した制御ユニットによる力覚提示制御の手順と内容を示すフローチャートである。
【図５】この発明の第２の実施形態に係わる力覚提示装置における制御ユニットの機能構成を示すブロック図である。
【図６】図５に示した制御ユニットによる力覚提示制御の手順と内容を示すフローチャートである。
【図７】この発明の第３の実施形態に係わる力覚提示装置における制御ユニットの機能構成を示すブロック図である。
【図８】図７に示した制御ユニットによる力覚提示制御の手順と内容を示すフローチャートである。
【図９】この発明の第４の実施形態に係わる力覚提示装置における制御ユニットの機能構成を示すブロック図である。
【符号の説明】
【００９６】
１…噴出ユニット、２…支持台、３…噴出口、４…電磁弁ユニット、５…コンプレッサ、６…制御ユニット、７…カメラ、８…受容体、Ｍ…マーカ、Ａ…噴出空気、１１…中央処理ユニット（ＣＰＵ）、１２…バス、１３…プログラムメモリ、１４…データメモリ、１５…カメラインタフェース、１６…外部インタフェース、１７…入出力インタフェース、１８…入力デバイス、１９…表示デバイス、８１…取手、８２…受容器、１３１…受容体位置検出プログラム、１３２ａ，１３２ｂ，１３２ｃ，１３２ｄ…受容体位置予測プログラム、１３３…噴出口選択プログラム、１３４…噴出制御プログラム、１３５…仮想オブジェクト状態算出プログラム、１３６…予測補正プログラム、１４１…噴出口位置情報、１４２…受容体変化情報、１４３…遅延パラメータ。
【図１】
2008305208.tif 000003
【図２】
2008305208.tif 000004
【図３】
2008305208.tif 000005
【図４】
2008305208.tif 000006
【図５】
2008305208.tif 000007
【図６】
2008305208.tif 000008
【図７】
2008305208.tif 000009
【図８】
2008305208.tif 000010
【図９】
2008305208.tif 000011