JP3722992B2 - Object contact feeling simulation device - Google Patents
Object contact feeling simulation device Download PDFInfo
- Publication number
- JP3722992B2 JP3722992B2 JP22545898A JP22545898A JP3722992B2 JP 3722992 B2 JP3722992 B2 JP 3722992B2 JP 22545898 A JP22545898 A JP 22545898A JP 22545898 A JP22545898 A JP 22545898A JP 3722992 B2 JP3722992 B2 JP 3722992B2
- Authority
- JP
- Japan
- Prior art keywords
- force
- virtual object
- reaction force
- action point
- simulation apparatus
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は物体の接触感シミュレーション装置に関し、特に、物体表面に触れる際の硬軟感を疑似的に体験させることのできるシミュレーション装置に関する。
【0002】
【従来の技術】
コンピュータを利用したシミュレーションは、種々の分野で採り入れられており、特に近年では、コンピュータの画像処理機能の向上により、いわゆるバーチャル・リアリティーと呼ばれている仮想現実の世界をディスプレイ画面上に表示するシミュレーション装置が普及してきている。この種のシミュレーション装置では、通常、オペレータは仮想の空間内を自由に移動することができ、オペレータの移動に伴ってディスプレイの表示画面がリアルタイムで描き換えられてゆく。
【0003】
【発明が解決しようとする課題】
しかしながら、従来のシミュレーション装置は、ディスプレイ上の映像などを利用して、オペレータの視覚を通じて仮想の世界を提示することに主眼が置かれており、オペレータの触覚を通じて仮想の世界を提示する機能に乏しい。ところが、今後は、物体表面に触れた際の硬さあるいは軟らかさといった感触を疑似的に提供することができるシミュレーション装置の需要が見込まれており、特に、市販のパソコン程度の処理機能をもったコンピュータを利用した安価なシミュレーション装置が望まれている。
【0004】
そこで本発明は、物体表面に対する接触感を疑似的に体験させることができるシミュレーション装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
(1) 本発明の第1の態様は、所定の仮想物体を定義し、この仮想物体に対する接触感を疑似的に体験させるためのシミュレーションを行う物体の接触感シミュレーション装置において、
仮想物体を定義するための情報を設定する物体情報設定手段と、
オペレータから加えられた力に基いて三次元の任意方向に移動可能な作用点を有する作用部と、作用点の三次元座標系上での位置を検出する位置検出部と、与えられた力制御ベクトルに基いて作用点に加える力を発生させる力発生部と、を有する力トランスデューサと、
位置検出部が検出した作用点の位置と物体情報設定手段内の情報とに基づいて、作用点に加えるべき制御力を示す力制御ベクトルを求め、求めた力制御ベクトルを力トランスデューサへ与える制御を行う演算制御手段と、
を設け、
演算制御手段に、
位置検出部が検出した作用点の位置と物体情報設定手段内の情報により定義された仮想物体の位置とに基いて、作用点と仮想物体との相互位置関係を認識する相互位置関係認識部と、
相互位置関係認識部により作用点が仮想物体の表面位置に到達したと認識された時点から現時点に至るまでの時間を計測する時間計測部と、
相互位置関係認識部により作用点が仮想物体の内部にあると判断されたときに、時間計測部の計測値として与えられる内部滞在時間に基づいて作用点に生じるべき反力を演算により求める反力演算部と、
求めた反力に基いて作用点に加えるべき制御力を示す力制御ベクトルを求める力制御ベクトル演算部と、
を設けるようにしたものである。
【0006】
(2) 本発明の第2の態様は、上述の第1の態様に係る物体の接触感シミュレーション装置において、
反力演算部が、内部滞在時間が長くなればなるほど反力の大きさが大きくなる演算を行うようにしたものである。
【0007】
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る物体の接触感シミュレーション装置において、
物体情報設定手段が、時間tを変数とする所定の関数f(t)を仮想物体の表面状態を定義するための情報として物体情報設定手段内に設定し、
反力演算部が、関数f(t)に内部滞在時間tを代入して得られる関数値に基づいて反力の大きさを決定するようにしたものである。
【0008】
(4) 本発明の第4の態様は、上述の第3の態様に係る物体の接触感シミュレーション装置において、
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の硬さを示すパラメータKを設定し、
反力演算部が、反力の大きさを、関数値f(t)とパラメータKとの積K・f(t)に基いて決定するようにしたものである。
【0009】
(5) 本発明の第5の態様は、上述の第4の態様に係る物体の接触感シミュレーション装置において、
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の表面を二次元多角形の集合体として表現する形状データを設定し、
力制御ベクトル演算部が、作用点Pが仮想物体の内部に位置する場合に、この作用点Pに最も近い二次元多角形αに垂直な法線ベクトルNを求め、この法線ベクトルNを単位ベクトルとし、反力演算部で演算された反力に応じた大きさをもつベクトルを力制御ベクトルとするようにしたものである。
【0010】
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る物体の接触感シミュレーション装置において、
反力演算部が、作用点の内部滞在時間に基づいて定まる第1の反力と、仮想物体の表面と作用点との距離に基づいて定まる第2の反力と、を演算する機能を有し、第1の反力と第2の反力との合成力を作用点に生じるべき反力とするようにしたものである。
【0011】
(7) 本発明の第7の態様は、上述の第6の態様に係る物体の接触感シミュレーション装置において、
反力演算部が、仮想物体の表面と作用点との距離dが大きくなればなるほど第2の反力が大きくなる演算を行うようにしたものである。
【0012】
(8) 本発明の第8の態様は、上述の第7の態様に係る物体の接触感シミュレーション装置において、
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の硬さを示すパラメータkを設定し、
反力演算部が、第2の反力の大きさを、パラメータkと距離dとの積(k・d)に基いて決定するようにしたものである。
【0013】
(9) 本発明の第9の態様は、上述の第1〜第8の態様に係る物体の接触感シミュレーション装置において、
仮想物体を表示するためのディスプレイと、
物体情報設定手段内に設定された情報および位置検出部が検出した作用点の位置の情報に基いて、ディスプレイの画面上の所定の表示位置に仮想物体の形状および作用点を描画する物体形状描画手段と、
を更に設け、オペレータに仮想物体の形状および位置ならびに作用点の位置を提示できるようにしたものである。
【0014】
(10) 本発明の第10の態様は、上述の第9の態様に係る物体の接触感シミュレーション装置において、
物体情報設定手段が、仮想物体を定義するための情報として、更に、仮想物体の表面の質感を示す質感データおよび仮想物体を照明するための光源の性質を示す光源データを設定し、
物体形状描画手段が、質感データおよび光源データを考慮して仮想物体の形状を描画するようにしたものである。
【0015】
(11) 本発明の第11の態様は、コンピュータを、上述の第1〜第10の態様に係る物体の接触感シミュレーション装置として動作させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【0016】
(12) 本発明の第12の態様は、上述の第1〜第10の態様に係る物体の接触感シミュレーション装置において、
力トランスデューサの作用部を、オペレータの指先に嵌めて固定できる指サックにより構成したものである。
【0017】
【発明の実施の形態】
§1. 装置の基本構成
以下、本発明を図示する実施形態に基いて説明する。図1は本発明の一実施形態に係る物体の接触感シミュレーション装置の基本構成を示すブロック図である。この装置では、所定の仮想物体を定義し、この仮想物体に対する接触感を疑似的に体験させるためのシミュレーションを行うことができる。この装置の構成要素は、図示のとおり、物体情報設定手段10と、ディスプレイ20と、物体形状描画手段30と、演算制御手段40と、力トランスデューサ50とである。
【0018】
物体情報設定手段10は、仮想物体を定義するための情報を設定する機能を有する。オペレータが、この物体情報設定手段10に対してデータやパラメータなどの情報を入力すると、入力された情報は、この物体情報設定手段10内に格納され保持される。オペレータは、物体情報設定手段10に対して設定したデータやパラメータを変更することにより、シミュレーションの条件設定を適宜変えることができる。この実施形態では、仮想物体を定義するための情報として、図示のように、形状データ,質感データ,光源データなる3種類のデータと、時間tを変数とする所定の関数f(t)と、仮想物体の硬さを示すパラメータKとを設定できるようにしている。
【0019】
ディスプレイ20は、仮想物体を表示するための手段であり、図1では立方体形状の仮想物体Bが所定位置に表示されている状態が示されている。物体形状描画手段30は、物体情報設定手段10内に設定された情報(形状データ,質感データ,光源データ)に基いて、ディスプレイ20の画面上の所定位置に仮想物体Bの形状を描画する機能を有する。なお、物体形状描画手段30は、仮想物体Bだけでなく、後述する作用点Pの位置を、ディスプレイ20の画面上に描画する機能を有しており、図示のとおり、ディスプレイ20の画面上には、仮想物体Bとともに、作用点Pの位置が表示される。
【0020】
力トランスデューサ50は、作用部51、位置検出部52、力発生部53を有しており、演算制御手段40に接続されている。力トランスデューサ50は、オペレータに対するマン・マシン・インターフェイスとして機能し、オペレータから与えられる操作量を入力するとともに、オペレータに対して力を返す働きをする。この実施形態では、力トランスデューサ50は、1本の指としての機能を果たすことになり、仮想物体に対する接触感は、この指を介して体験することになる。
【0021】
作用部51上には、作用点Pが定義されており、この作用点Pはオペレータから加えられた力に基いて三次元の任意方向に移動可能となっている。図1のディスプレイ20上に表示されている作用点Pは、この作用部51上の作用点の位置である。位置検出部52は、作用部51上の作用点Pの三次元座標系上での位置を検出する機能を有する。具体的には、作用点Pの位置は、x座標,y座標,z座標の3つの座標値として検出されることになる。ここでは、この3つの座標値によって示された作用点Pの位置をP(x,y,z)なるデータで表わすことにする。
【0022】
この作用点の位置を示すデータP(x,y,z)は、演算制御手段40に与えられ、更に、物体形状描画手段30へと与えられる。物体形状描画手段30は、前述したように、この位置を示すデータに基いて、ディスプレイ20の画面上に作用点Pの位置を描画することになる。一方、演算制御手段40は、位置検出部52が検出した作用点Pの位置と物体情報設定手段10内の情報により定義された仮想物体の位置とに基いて、作用点Pと仮想物体Bとの相互位置関係を認識し、その認識結果に応じて作用点Pに生じるべき反力(仮想物体側からオペレータ側へと返される力)を求める演算を行う。ここで行われる具体的な演算内容については後に詳述する。こうして、作用点Pに生じるべき反力が得られたら、この反力に基いて作用点Pに加えるべき制御力を示す力制御ベクトルCが求められ、この力制御ベクトルCを示すデータは、力トランスデューサ50へ与えられる。力トランスデューサ50内の力発生部53は、演算制御手段40から与えられた力制御ベクトルCに基いて作用点Pに加える力を発生させる機能を有する。
【0023】
§2. 物体情報設定手段に設定される情報
続いて、図1に示すシミュレーション装置において、物体情報設定手段10内に設定される具体的な情報について説明する。前述したように、この実施形態では、形状データ,質感データ,光源データ,時間tの関数f(t),硬度を示すパラメータKが設定される。
【0024】
形状データは、仮想物体の三次元形状を特定するためのデータである。ここでは、仮想物体の表面を二次元多角形の集合体として表現するようにしており、二次元多角形の頂点座標を示す頂点テーブルと、各二次元多角形を構成する頂点の連結関係を示す面テーブルと、によって形状データを構成するようにしている。たとえば、図2(a) に示すような立方体からなる仮想物体を定義する場合を考える。この立方体は、6つの正方形の集合体として表現することができ、図に1〜8の番号を付した合計8個の頂点によって構成される。このような立方体についての形状データは、図2(b) に示す頂点テーブルと図2(c) に示す面テーブルによって構成できる。図2(a) に示す頂点テーブルは、8個の頂点のそれぞれについて、XYZ三次元座標系における位置座標を示している。図示の例では、図2(a) に示す立方体は、頂点1が座標系の原点に位置し、頂点1−2に沿った辺がX軸上、頂点1−4に沿った辺がY軸上、頂点1−5に沿った辺がZ軸上に位置しており、一辺の長さが1となる立方体である。図2(b) の頂点テーブルは、単に8個の頂点の位置座標を示すものであり、仮想物体の形状は、実際には、図2(c) の面テーブルによって定義されることになる。この面テーブルは、この立方体を構成する6個の面▲1▼〜▲6▼の頂点構成を示しており、たとえば、面▲1▼は、頂点1−2−6−5を連結することにより形成される面になる。
【0025】
このように、頂点テーブルと面テーブルとを用いれば、任意形状の仮想物体の表面を定義することができる。図2の例では、仮想物体の表面を四角形の集合体として定義したが、三角形や六角形など、用いる多角形はどのようなものでもかまわない。また、本発明を実施する上では、仮想物体の形状定義は必ずしも二次元多角形を用いる必要はない。たとえば、球や円錐などであれば、方程式を用いて定義することも可能であり、物体情報設定手段10に設定される形状データは、数値、式を問わず、形状を定義することができる情報であればどのようなものでもかまわない。なお、ここに示す実施形態では、形状データは座標を示す情報(図2の例では、頂点テーブル内の各座標値)を含んでいるため、形状とともに位置を定義する情報として機能する。もちろん、形状データとは別個に位置を示すための位置データを設定するようにしてもよい。
【0026】
物体情報設定手段10に設定される質感データは、形状データによって定義された仮想物体の表面の質感を示すためのデータである。具体的には、仮想物体を構成する各面(図2の例では、面▲1▼〜▲6▼)についての環境色,拡散色,鏡面色,鏡面係数などの値が質感データとして設定される。また、光源データは、この仮想物体を照明するための光源の性質を示すデータであり、光源の形状(点,線,面),光源の位置,光源色などを示すデータが光源データとして設定される。この質感データおよび光源データは、ディスプレイ20の画面上に、定義した仮想物体を表示するために利用されるデータである。物体形状描画手段30は、この質感データおよび光源データを考慮して、仮想物体Bの形状を描画することになる。
【0027】
一方、時間tの関数f(t)および硬度を示すパラメータKは、仮想物体の表面状態を定義する情報である。関数f(t)もパラメータKも、いずれも物体表面の硬さあるいは柔らかさを左右する要素であるが、パラメータKが作用点Pに作用する反力の大きさを決定する係数として機能するのに対し、関数f(t)は反力の大きさの時間変化を決定する機能を果たす。これらの機能については後述する。関数f(t)もパラメータKも、仮想物体の個々の表面ごとにそれぞれ異なる関数あるいはパラメータ値を設定することも可能であるが、本実施形態では、1つの仮想物体に対しては1つの関数f(t)のみ、1つのパラメータKのみを設定するようにしている。したがって、1つの仮想物体については、どの面についての接触感も同じであるが、異なる仮想物体については、それぞれ異なる関数f(t)およびパラメータKを設定しているので、物体ごとに接触感の相違を体験することができる。もちろん、1つの仮想物体の面ごとに、これらの設定を変えれば、同一の仮想物体であっても、面ごとに異なる接触感を体験することができるようになる。
【0028】
§3. 具体的な装置構成
図1に示すブロック図は、説明の便宜上、本発明に係る装置を機能要素の集合としてとらえ、個々の機能要素をブロックで示したものであり、実際には、このシミュレーション装置はコンピュータを利用して構築される。すなわち、図1に示す装置における物体情報設定手段10、物体形状描画手段30、演算制御手段40は、汎用のコンピュータに、上述した各処理を実行するためのプログラムを組み込むことにより構成することができる。たとえば、物体情報設定手段10に対するデータやパラメータの設定は、キーボードやマウスなどのコンピュータ用入力機器を用いて行うことができ、設定されたデータやパラメータはメモリや種々の記憶装置に格納されることになる。また、物体形状描画手段30による描画機能や、演算制御手段40による演算処理機能は、コンピュータに組み込まれたプログラムによって実現されることになり、このプログラムは、コンピュータ読み取り可能な記録媒体に記録して配布することが可能である。なお、ディスプレイ20は、コンピュータ用の一般的なディスプレイ装置によって構成できる。
【0029】
一方、力トランスデューサ50は、オペレータの物理的操作をデジタルデータ(作用点の位置を示すデータ)に変換する第1の機能と、演算制御手段40から与えられるデジタルデータ(力制御ベクトルCを示すデータ)を物理的な力に変換してオペレータに与える第2の機能とを実行する物理的な構成要素である。一般的な物体に対する接触動作には、通常、指が用いられる。そこで、この実施形態では、上記機能が効果的に実行されるように、力トランスデューサ50の作用部51を、オペレータの指先に嵌めて固定できる指サックにより構成し、オペレータの指の動きに基いて作用点Pを移動できるようにするとともに、力制御ベクトルCに基く制御力がこの指サックを介してオペレータの指に伝達されるように構成した。
【0030】
図3は、この指サックの形態をした作用部51を用いて構成される力トランスデューサ50の機能を示すブロック図である。作用部51は、ゴムなどの弾力性をもった材料で構成されており、オペレータは、この作用部51を指の先端に装着して固定することができる。図示の例では、この作用部51の先端部分に作用点Pが定義されている(もちろん、作用点Pは作用部51のいずれの部分に定義してもかまわないが、操作性を向上する上では、指先位置に定義するのが好ましい)。本発明では、このような力トランスデューサを少なくとも1組用意する必要がある。
【0031】
この力トランスデューサ50において、作用部51は三次元の自由度をもって移動可能な状態に支持されている必要がある。すなわち、作用点Pは、オペレータから加えられた力に基いて三次元の任意方向に移動可能な状態になっている必要がある(もちろん、作用点Pの移動可能空間は、所定の範囲内に制限されていてかまわない)。したがって、オペレータは、作用部51を指先に装着した状態で、指先を三次元空間内の任意の方向に移動させることができる。位置検出部52は、前述したように、作用点Pの三次元空間内の位置を、P(x,y,z)なる3つの座標値からなるデータとしてリアルタイムで逐次検出する機能を有している。一方、力発生部53は、演算制御手段40からリアルタイムで逐次与えられる力制御ベクトルCに基いて、力Fを発生させ、これを作用点Pに逐次加える機能を果たす。ここで、作用点Pに加えられる力Fは、力制御ベクトルCの向きおよび大きさをもった力である。
【0032】
結局、オペレータは、作用部51を装着した指を任意の方向に動かすことが可能ではあるが、逆に、作用点Pに加わる力Fを常に指先に受け、物体からの反力を感じることになる(もちろん、F=0の場合は、何ら反力は感じない)。
【0033】
図4は、このような力トランスデューサ50の具体的構成例を示す斜視図である。図では、力トランスデューサ50の作用部51(指サック)を右手の人差し指に装着した状態が示されている。この指の先端部分に作用点Pが定義されており、オペレータは、作用部51を任意の方向に移動させながら、仮想物体に対する接触感を体感することができる。図示の力トランスデューサ50では、複数のリンク機構を用いて、上述した2つの機能を実現している。すなわち、作用部51は、複数の自在アームによって支持されているため、ある程度の範囲の空間内では、三次元の任意の方向に自由に移動させることが可能である。しかも、各自在アームの回転位置を検出する機構が備わっており、作用点Pの三次元座標値P(x,y,z)を検出することができる。更に、各自在アームに力を加えるためのモータが用意されており、これらのモータを駆動することにより、作用点Pに任意の方向、任意の大きさの力を作用させることができる。
【0034】
このような複数のリンク機構を用いた力トランスデューサは、既に公知の装置であるため、その構造や機構についての詳細な説明は省略する。市販の製品としては、たとえば、米国のセンサブル・デバイス社(SensAble Device Inc.)が「PHANToM」なる商品名で販売している装置を利用することができる。結局、本発明に係る液体の接触感シミュレーション装置は、図4に示すような力トランスデューサを、汎用コンピュータに接続し、所定のプログラムをこのコンピュータに組み込むことにより実現することが可能になる。
【0035】
§4. 演算制御手段の動作
続いて、上述した実施形態に係るシミュレーション装置の具体的な動作、特に、演算制御手段40において行われる反力の演算処理動作について詳述する。いま、三次元座標系上の図5に示すような位置に、仮想物体B(αおよびβは、この仮想物体Bの表面を示す)が存在するものとする。もちろん、この仮想物体は、実在の物体ではないので、たとえば、図4に示すような力トランスデューサ50を用いた場合、この力トランスデューサ50が設置されている三次元空間内のいずれかの位置に、仮想物体の存在が定義されているに過ぎない。ここで、オペレータが図4のような指サック状の作用部51を人差し指に装着し、この作用部51の先端に定義された作用点Pを、図5の矢印Mで示されている方向に動かしたとしよう。すなわち、作用点Pは、図示の点P1→P2→P3→P4→P5→P6なる軌跡に沿って移動することになる。仮想物体Bは、実在の物体ではないので、もし、力トランスデューサ50に対して何ら力制御ベクトルが与えられていなければ、オペレータは、図5に示すように作用点を自由に移動させることができる。
【0036】
このような作用点Pの動きは、仮想物体Bが実在の物体であった場合には矛盾する。すなわち、図示の点P1→P2→P3までの移動は、仮想物体Bが実在の物体であった場合でも可能であるが、点P3→P4→P5→P6なる移動は、指先が物体の内部に侵入していることになり、物体が変形をしない限り、そのような作用点の移動は現実的には不可能である。もちろん、物体が弾性変形や塑性変形を生じるものとして、作用点が物体の内部に侵入した場合には、それに応じて物体の形状をリアルタイムで補正するという手法を採れば、図5に示すような作用点の移動に、現実的な矛盾は生じない。しかしながら、物体形状をリアルタイムで補正するには、膨大な演算処理が必要になり、特に、ディスプレイ20上にリアルタイムで物体を描画する場合、かなり高機能なコンピュータが要求されることになる。そこで、本実施形態では、仮想物体Bは剛体から構成されており、形状は一切変化しないものとして取り扱っている。
【0037】
このように、仮想物体Bを剛体として取り扱うと、図5における点P3→P4→P5→P6なる移動は、指先が剛体中にめり込んでいる状態に相当するため、現実の物理現象を忠実にシミュレートするという意味では、矛盾した移動になる。しかしながら、本発明の主眼は、オペレータに物体に対する接触感を体験させることにあるので、必ずしも現実の物理現象を忠実にシミュレートする必要はない。したがって、本発明では、図5に示すように、作用点Pが仮想物体Bの内部に侵入するような事象も認めることにする。ただし、オペレータに接触感を感じさせるためには、作用点Pが仮想物体Bの内部に侵入した際に、何らかの反力を作用点Pに戻してやる必要がある。本願発明者は、この反力の大きさを、作用点の内部滞在時間に基いて決定するようにすれば、仮想物体Bの表面における硬さあるいは柔らかさをオペレータに効果的に伝達させることができることを発見した。
【0038】
たとえば、図5において、作用点Pが点P1の位置あるいは点P2の位置にある場合、オペレータの指先はまだ仮想物体Bに触れていないので、何ら反力を戻す必要はない。ところが、作用点Pが点P3の位置(仮想物体Bの表面α上の位置)に到達した後、点P4→P5→P6へと移動してゆく間は、物体に接触したことを知らしめるために、何らかの反力を戻す必要がある。そこで、作用点Pと仮想物体Bとの相互位置関係を認識し、作用点Pが仮想物体Bの内部にあると判断された場合には、作用点Pが仮想物体Bの表面位置に到達した時点から現時点に至るまでの内部滞在時間tに基づいて、作用点Pに生じるべき反力を演算により求め、この反力に基いて作用点Pに加えるべき制御力を示す力制御ベクトルCを求め、求めた力制御ベクトルCを力トランスデューサ50へ与える制御を行うようにしたのである。
【0039】
図5の例では、作用点が点P3の位置に到達した時点が基準時刻0となり、点P4に到達した時点では内部滞在時間t=t1となり、点P5に到達した時点では内部滞在時間t=t2となり、点P6に到達した時点では内部滞在時間t=t3となる。この実施形態では、作用点の内部滞在時間が長くなればなるほど大きな反力が得られるようにしているため、反力の大きさは時間の経過とともに大きくなる。反力の大きさを定義するためには、時間tを変数とする所定の関数f(t)を用いるようにすればよい。既に述べたように、この関数f(t)は、物体情報設定手段10内に設定しておくことができる。いわば、関数f(t)は、仮想物体Bの表面状態を定義するための情報ということになる。
【0040】
図6に、関数f(t)の具体例をいくつか示しておく。いずれも、時間tの増加とともに関数値f(t)も増加している。図6(a) は、線形関数を用いた例を示しており、この場合、所定の係数Aを用いて、f(t)=A・tなる簡単な式で表現される。図6(b) は、時間tが小さいうちは急激な増加を示すが、徐々に増加率が低下するような関数を用いた例であり、比較的硬い接触感を与えることが可能である。これに対し、図6(c) は、時間tの増加とともに関数値は緩慢な増加を示し、最後は関数値が飽和してしまうような関数を用いた例であり、比較的柔らかい接触感を与えることが可能である。
【0041】
なお、本実施形態では、物体情報設定手段10内に、関数f(t)とともに硬さを示すパラメータKを設定しており、反力の大きさを、関数値f(t)とパラメータKとの積K・f(t)に基いて決定するようにしている。たとえば、図5に示す例では、作用点Pが点P4の位置に到達した時点では、内部滞在時間t=t1であるから、関数f(t)に内部滞在時間t1を代入して得られる関数値f(t1)に、パラメータKを乗じることにより得られる値K・f(t1)に基づいて反力の大きさが決定されることになる。同様に、作用点Pが点P5の位置に到達した時点では、値K・f(t2)に基いて反力の大きさが決定され、作用点Pが点P6の位置に到達した時点では、値K・f(t3)に基いて反力の大きさが決定される。関数f(t)が時間変化を示すファクターであるのに対し、パラメータKは絶対値として乗じられるファクターであり、これら両ファクターを併用することにより、バリエーション豊かな表面状態を設定することが可能になる。
【0042】
以上、反力の大きさを求める方法について述べたが、実際の反力は力制御ベクトルCとして、力発生部53によって作用点Pに対して与えられることになる。そこで、本実施形態では、物体情報設定手段10内の仮想物体Bを定義するための情報として、仮想物体の表面を二次元多角形の集合体として表現する形状データを設定しておくようにし、作用点Pが仮想物体Bの内部に位置する場合に、この作用点Pに最も近い二次元多角形に垂直な法線ベクトルNを求め、この法線ベクトルNを単位ベクトルとして大きさK・f(t)のベクトルを力制御ベクトルCとするようにしている。
【0043】
たとえば、図7に示す例の場合、仮想物体Bの内部に作用点Pが位置している。ここで、仮想物体Bの表面は多数の二次元多角形α,β,…によって定義されているが、作用点Pに最も近い二次元多角形αに立てた法線を向いた単位ベクトルを法線ベクトルNとし、この法線ベクトルNと同じ向きを向いており、大きさがK・f(t)のベクトルを力制御ベクトルCとすることになる。別言すれば、力制御ベクトルCは、法線ベクトルN(単位ベクトル)を用いて、C=K・f(t)・Nで与えられることになる。演算制御手段は、このような力制御ベクトルCを演算により求め、力トランスデューサ50内の力発生部53に与える処理を行う。力発生部53は、作用部51の作用点Pに対して、この力制御ベクトルCの方向に、この力制御ベクトルCの大きさに応じた力を作用させることになる。
【0044】
結局、オペレータの指先が仮想物体の表面位置を通過して内部に侵入すると、その時間経過(内部滞在時間)に応じて定まる大きさをもった反力が、仮想物体の表面に対して垂直な方向に制御力として加わることになる。オペレータは、この制御力を物体側からの抵抗力として感じることになり、物体表面の接触感を認識することになる。したがって、図5に示す例の場合、オペレータは、指先が点P3の位置に到達した時点から、矢印Mとは逆方向に押し戻される反力(正確には、表面αから垂直に押し戻される反力)を感じ始め、指先が点P4→P5→P6と移動するにしたがって、反力の大きさが徐々に大きくなるのを感じることができる(関数f(t)として、tとともに増加する関数を用いた場合)。
【0045】
このように、作用点が仮想物体の表面位置に到達した時点から現時点に至るまでの内部滞在時間に基いて反力の大きさを求める手法を採ると、演算制御手段40の演算負担を極めて少なくできるというメリットが得られる。すなわち、演算制御手段40は、作用点が仮想物体の外部にある場合は、反力に関する演算は一切行う必要がなく、作用点が仮想物体の内部にある場合は、作用点の内部滞在時間tを計測し、C=K・f(t)・Nなる単純な演算を行うだけでよい。
【0046】
§5. 作用点の深さも考慮して反力を求める手法
ところで、上述した§4の手法で反力を求めた場合、厳密には、現実の接触感とは矛盾する現象も起こり得る。たとえば、図5において、矢印Mに沿って点P1〜点P6へと作用点を移動させた後、今度は作用点を矢印Mとは逆方向に点P6〜点P1へと移動させたとしよう。この場合、作用点が物体表面の浅い位置へ向かっているにもかかわらず、内部滞在時間tは常に大きくなるため、反力は徐々に大きくなり続ける(あるいは、最大値に飽和した状態になる)。もちろん、作用点が点P3の位置まで到達すれば、以後は反力は全く作用しなくなるが、実際の作用点の位置にかかわらず、内部滞在時間tのみで反力の大きさを決定してしまうと、現実の接触感と比べて違和感が生じる可能性がある。また、図5において、同じ矢印Mに沿って指先を動かした場合でも、指先の移動速度によって、異なる接触感が得られることになる。もちろん、現実の世界においても、ゆっくりと触れた場合と、急いで触れた場合とでは、実際の接触感も異なるであろうから、指先の移動速度によって異なる接触感が得られること事態は、必ずしも現実と矛盾するものではない。ただ、より現実的な接触感を体験させる上では、以下に述べるように、作用点の深さをも考慮して反力を求めるようにするのが好ましい。
【0047】
たとえば、図8に示す例の場合、作用点Pの深さd(仮想物体Bの表面αとの距離)を求め、これに硬さを示すパラメータk(ここでは、前述したパラメータKと区別するために、小文字のkを用いている。)を乗じることにより、k・dなる大きさの反力を想定する。そして、力制御ベクトルCとして、C=(K・f(t)+k・d)・Nなる式で表されるベクトルを用いるのである。ここで、右辺第1項のK・f(t)は、§4で述べたとおり、作用点Pの内部滞在時間tに基づいて定まる第1の反力の大きさを示しており、右辺第2項のk・dは、上述したとおり、仮想物体Bの表面αと作用点Pとの距離dに基づいて定まる第2の反力の大きさを示している。また、右辺の法線ベクトルNは、前述したように、作用点Pに最も近い二次元多角形αに垂直な単位ベクトルである。結局、第1の反力と第2の反力との合成力に基いて作用点Pに加えるべき制御力を示す力制御ベクトルCが求められている。なお、合成力を求める際に、第1の反力と第2の反力との大きさの積をとるようにし、C=(K・f(t)×k・d)・Nなる式で力制御ベクトルCを求めてもかまわない。
【0048】
ここで併用した第2の反力は、仮想物体の表面と作用点との距離dが大きくなればなるほど大きな値を採ることになるので、指先を仮想物体の表面から内部に深く入れれば入れるほど、第2の反力は大きくなることになる。また、仮想物体の硬さを示すパラメータkと距離dとの積(k・d)に基いて第2の反力の大きさを決定するようにしているので、物体の硬さの設定情報を反映させることができる。
【0049】
以上、本発明を図示する実施形態に基いて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。
【0050】
たとえば、上述の例では、1組の力トランスデューサ50のみを用いているが、複数組の力トランスデューサ50を用意すれば、仮想物体に対する把持動作を体験させることも可能である。図9には、2組の力トランスデューサ50を用い、両作用部51(指サック)をそれぞれ親指と人差し指とに装着した状態が示されている。いずれも指の先端部分に作用点Pが定義されており、オペレータは、両作用部51を任意の方向に移動させながら、仮想物体Bを把持する動作を体感することができる。
【0051】
また、上述の実施形態では、関数f(t)は時間tの増加とともに関数値が増加するタイプの関数を用いているが、特殊な接触感(たとえば、現実には存在しないような不思議な材質の物体に対する接触感)を与える上では、時間tの増加とともに関数値が減少するようなタイプの関数を用いることも可能である。
【0052】
【発明の効果】
以上のとおり本発明に係る物体の接触感シミュレーション装置によれば、作用点の内部滞在時間に基いて反力の大きさを決定するようにしたため、物体表面に対する接触感を疑似的に体験させることができるシミュレーション装置を提供することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る物体の接触感シミュレーション装置の基本構成を示すブロック図である。
【図2】図1に示すシミュレーション装置において定義された仮想物体およびその形状データの一例を示す図である。
【図3】図1に示すシミュレーション装置における力トランスデューサの機能を示すブロック図である。
【図4】図3に示す力トランスデューサの具体的な構成例を示す斜視図である。
【図5】本発明における反力の求め方の基本概念を説明するための物体の側断面図である。
【図6】本発明において反力を求める際に用いられる時間tの関数f(t)の具体例を示すグラフである。
【図7】本発明における反力の方向の基本概念を説明するための物体の側断面図である。
【図8】本発明において2種類の反力を用いる基本概念を説明するための物体の側断面図である。
【図9】2組の力トランスデューサを用いた本発明の具体的な構成例を示す斜視図である。
【符号の説明】
1〜8…頂点
10…物体情報設定手段
20…ディスプレイ
30…物体形状描画手段
40…演算制御手段
50…力トランスデューサ
51…作用部
52…位置検出部
53…力発生部
B…仮想物体
C…力制御ベクトル
d…作用点と仮想物体の表面との距離
f(t)…時間tの関数
F…作用点に加わる力
K,k…硬さを示すパラメータ
M…作用点の移動方向
N…法線ベクトル
P…作用点
P1〜P6…作用点Pの位置
P(x,y,z)…作用点Pの位置
α,β…仮想物体の表面を構成する多角形[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an object contact feeling simulation apparatus, and more particularly to a simulation apparatus that allows a user to experience a feeling of hardness when touching an object surface.
[0002]
[Prior art]
Computer-based simulations have been adopted in various fields, and in recent years, the simulation of displaying a virtual reality world called a so-called virtual reality on a display screen by improving the computer's image processing function. Devices are becoming popular. In this type of simulation apparatus, the operator can usually move freely in a virtual space, and the display screen of the display is redrawn in real time as the operator moves.
[0003]
[Problems to be solved by the invention]
However, the conventional simulation apparatus focuses on presenting the virtual world through the operator's vision using the image on the display, etc., and lacks the function of presenting the virtual world through the operator's sense of touch. . However, in the future, it is expected that there will be a demand for a simulation device that can provide a pseudo-feel such as hardness or softness when touching the surface of an object. An inexpensive simulation apparatus using a computer is desired.
[0004]
Therefore, an object of the present invention is to provide a simulation apparatus that allows a user to experience a feeling of contact with an object surface in a pseudo manner.
[0005]
[Means for Solving the Problems]
(1) According to a first aspect of the present invention, there is provided an object contact sensation simulation apparatus that performs a simulation for defining a predetermined virtual object and causing the user to experience the contact feeling with the virtual object in a simulated manner.
Object information setting means for setting information for defining a virtual object;
An action part having an action point movable in an arbitrary three-dimensional direction based on a force applied by an operator, a position detection part for detecting the position of the action point on the three-dimensional coordinate system, and given force control A force transducer that generates a force applied to the point of action based on a vector;
Based on the position of the action point detected by the position detector and the information in the object information setting means, a force control vector indicating a control force to be applied to the action point is obtained, and control for giving the obtained force control vector to the force transducer is performed. Arithmetic control means to perform;
Provided,
In the calculation control means,
A mutual positional relationship recognition unit for recognizing a mutual positional relationship between the action point and the virtual object based on the position of the action point detected by the position detection unit and the position of the virtual object defined by the information in the object information setting unit; ,
A time measurement unit that measures the time from when the point of action is recognized as having reached the surface position of the virtual object by the mutual positional relationship recognition unit;
Reaction force for calculating the reaction force to be generated at the action point based on the internal stay time given as the measurement value of the time measurement unit when the action point is determined to be inside the virtual object by the mutual positional relationship recognition unit An arithmetic unit;
A force control vector computing unit for obtaining a force control vector indicating a control force to be applied to the action point based on the obtained reaction force;
Is provided.
[0006]
(2) According to a second aspect of the present invention, in the object touch simulation apparatus according to the first aspect described above,
The reaction force calculator increases the amount of reaction force the longer the internal stay time is.An operation is performed.
[0007]
(3) According to a third aspect of the present invention, in the object contact feeling simulation device according to the first or second aspect described above,
Object information setting meansA predetermined function f (t) having time t as a variable is stored in the object information setting means as information for defining the surface state of the virtual object.Set,
The reaction force calculation unitThe magnitude of the reaction force is determined based on a function value obtained by substituting the internal residence time t into the function f (t).
[0008]
(4) According to a fourth aspect of the present invention, in the object touch simulation device according to the third aspect described above,
Object information setting meansAs information for defining a virtual object, a parameter K indicating the hardness of the virtual object is used.Set,
The reaction force calculation unitThe magnitude of the reaction force is determined based on the product K · f (t) of the function value f (t) and the parameter K.
[0009]
(5) According to a fifth aspect of the present invention, in the object contact feeling simulation device according to the fourth aspect described above,
Object information setting meansAs the information for defining the virtual object, set the shape data that represents the surface of the virtual object as an aggregate of two-dimensional polygons,
Force control vector calculation unitWhen the action point P is located inside the virtual object, a normal vector N perpendicular to the two-dimensional polygon α closest to the action point P is obtained, and this normal vector N is determined as a unit vector.And the force control vector is a vector having a magnitude corresponding to the reaction force calculated by the reaction force calculation unit.It is what I did.
[0010]
(6) According to a sixth aspect of the present invention, in the object touch simulation device according to the first to fifth aspects described above,
The reaction force calculation unitA function of calculating a first reaction force determined based on an internal stay time of the action point and a second reaction force determined based on a distance between the surface of the virtual object and the action point; Force of force and second reaction forceIs the reaction force to be generated at the point of actionIt is what I did.
[0011]
(7) According to a seventh aspect of the present invention, in the object touch simulation device according to the sixth aspect described above,
The reaction force calculation unitThe greater the distance d between the surface of the virtual object and the point of action, the greaterSecond reaction force increasesAn operation is performed.
[0012]
(8) According to an eighth aspect of the present invention, in the object touch simulation device according to the seventh aspect described above,
Object information setting meansAs information for defining a virtual object, a parameter k indicating the hardness of the virtual object is set.Set,
The reaction force calculation unitThe magnitude of the second reaction force is determined based on the product (k · d) of the parameter k and the distance d.
[0013]
(9) A ninth aspect of the present invention is the object contact feeling simulation device according to the first to eighth aspects described above.
A display for displaying virtual objects;
Object shape drawing that draws the shape and action point of the virtual object at a predetermined display position on the display screen based on the information set in the object information setting means and the action point position information detected by the position detector Means,
Is further provided so that the shape and position of the virtual object and the position of the action point can be presented to the operator.
[0014]
(10) According to a tenth aspect of the present invention, in the object touch simulation apparatus according to the ninth aspect described above,
Object information setting meansAs information for defining a virtual object, texture data indicating the surface texture of the virtual object and light source data indicating the nature of the light source for illuminating the virtual object are further included.Set,
The object shape drawing means draws the shape of the virtual object in consideration of the texture data and the light source data.
[0015]
(11) According to an eleventh aspect of the present invention, a program for causing a computer to operate as the object contact feeling simulation apparatus according to the first to tenth aspects is recorded on a computer-readable recording medium. It is a thing.
[0016]
(12) In a twelfth aspect of the present invention, in the object contact feeling simulation device according to the first to tenth aspects described above,
A finger sack that allows the action part of the force transducer to be fixed to the operator's fingertipConfiguredIs.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
§1. Basic configuration of the device
Hereinafter, the present invention will be described based on the illustrated embodiments. FIG. 1 is a block diagram showing a basic configuration of an object contact feeling simulation apparatus according to an embodiment of the present invention. In this apparatus, a predetermined virtual object can be defined, and a simulation can be performed so as to simulate a feeling of contact with the virtual object. The components of this apparatus are an object information setting means 10, a
[0018]
The object information setting means 10 has a function of setting information for defining a virtual object. When the operator inputs information such as data and parameters to the object information setting means 10, the input information is stored and held in the object information setting means 10. The operator can appropriately change the simulation condition setting by changing the data and parameters set for the object information setting means 10. In this embodiment, as information for defining a virtual object, as shown in the figure, three types of data such as shape data, texture data, and light source data, a predetermined function f (t) having a time t as a variable, A parameter K indicating the hardness of the virtual object can be set.
[0019]
The
[0020]
The
[0021]
An action point P is defined on the
[0022]
Data P (x, y, z) indicating the position of the action point is given to the calculation control means 40 and further given to the object shape drawing means 30. As described above, the object shape drawing means 30 draws the position of the action point P on the screen of the
[0023]
§2. Information set in the object information setting means
Next, specific information set in the object
[0024]
The shape data is data for specifying the three-dimensional shape of the virtual object. Here, the surface of the virtual object is expressed as an aggregate of two-dimensional polygons, and the vertex table indicating the vertex coordinates of the two-dimensional polygons and the connection relationship between the vertices constituting each two-dimensional polygon are shown. The shape data is constituted by the surface table. For example, consider a case where a virtual object composed of a cube as shown in FIG. This cube can be expressed as an aggregate of six squares, and is composed of a total of eight vertices numbered 1 to 8 in the figure. The shape data for such a cube can be composed of a vertex table shown in FIG. 2 (b) and a surface table shown in FIG. 2 (c). The vertex table shown in FIG. 2A shows the position coordinates in the XYZ three-dimensional coordinate system for each of the eight vertices. In the illustrated example, the cube shown in FIG. 2A has a
[0025]
As described above, by using the vertex table and the surface table, the surface of a virtual object having an arbitrary shape can be defined. In the example of FIG. 2, the surface of the virtual object is defined as an aggregate of rectangles, but any polygon such as a triangle or a hexagon may be used. In implementing the present invention, it is not always necessary to use a two-dimensional polygon for the shape definition of the virtual object. For example, if it is a sphere or a cone, it can be defined using an equation, and the shape data set in the object information setting means 10 is information that can define a shape regardless of a numerical value or an expression. Anything can be used. In the embodiment shown here, since the shape data includes information indicating coordinates (in the example of FIG. 2, each coordinate value in the vertex table), the shape data functions as information defining the position together with the shape. Of course, position data for indicating the position may be set separately from the shape data.
[0026]
The texture data set in the object information setting means 10 is data for indicating the texture of the surface of the virtual object defined by the shape data. Specifically, values such as environmental color, diffusion color, specular color, and specular coefficient for each surface constituting the virtual object (surfaces (1) to (6) in the example of FIG. 2) are set as the texture data. The The light source data is data indicating the properties of the light source for illuminating the virtual object. Data indicating the shape of the light source (point, line, surface), light source position, light source color, etc. is set as the light source data. The The texture data and the light source data are data used for displaying the defined virtual object on the screen of the
[0027]
On the other hand, the function f (t) of the time t and the parameter K indicating the hardness are information defining the surface state of the virtual object. Both the function f (t) and the parameter K are factors that affect the hardness or softness of the object surface, but the parameter K functions as a coefficient that determines the magnitude of the reaction force acting on the action point P. On the other hand, the function f (t) fulfills the function of determining the time change of the magnitude of the reaction force. These functions will be described later. Although it is possible to set different functions or parameter values for each surface of the virtual object, both the function f (t) and the parameter K can be set. In this embodiment, one function is used for one virtual object. Only one parameter K is set for f (t) only. Therefore, the touch feeling on any surface is the same for one virtual object, but since different functions f (t) and parameter K are set for different virtual objects, the touch feeling is different for each object. You can experience the difference. Of course, if these settings are changed for each surface of one virtual object, different touch feelings can be experienced for each surface even for the same virtual object.
[0028]
§3. Specific device configuration
The block diagram shown in FIG. 1 shows the apparatus according to the present invention as a set of functional elements for convenience of explanation, and shows each functional element as a block. In practice, this simulation apparatus uses a computer. Built. That is, the object
[0029]
On the other hand, the
[0030]
FIG. 3 is a block diagram showing the function of the
[0031]
In this
[0032]
Eventually, the operator can move the finger wearing the
[0033]
FIG. 4 is a perspective view showing a specific configuration example of such a
[0034]
Since the force transducer using such a plurality of link mechanisms is already a known device, a detailed description of its structure and mechanism will be omitted. As a commercially available product, for example, a device sold by the US Sensable Device Inc. under the trade name “PHANToM” can be used. Eventually, the liquid contact feeling simulation apparatus according to the present invention can be realized by connecting a force transducer as shown in FIG. 4 to a general-purpose computer and incorporating a predetermined program into the computer.
[0035]
§4. Operation of arithmetic control means
Subsequently, a specific operation of the simulation apparatus according to the above-described embodiment, particularly a reaction force calculation processing operation performed in the calculation control means 40 will be described in detail. Assume that a virtual object B (α and β indicate the surface of the virtual object B) is present at a position as shown in FIG. 5 on the three-dimensional coordinate system. Of course, since this virtual object is not a real object, for example, when a
[0036]
Such movement of the action point P is contradictory when the virtual object B is a real object. That is, the movement from the point P1 → P2 → P3 is possible even when the virtual object B is a real object, but the movement of the point P3 → P4 → P5 → P6 is performed when the fingertip is inside the object. As long as the object is invading and the object is not deformed, such a movement of the action point is practically impossible. Of course, assuming that the object undergoes elastic deformation or plastic deformation, and if the point of action enters the inside of the object, a method of correcting the shape of the object in real time accordingly, as shown in FIG. There is no practical contradiction in the movement of the action point. However, in order to correct the object shape in real time, an enormous amount of arithmetic processing is required. In particular, when an object is drawn on the
[0037]
When the virtual object B is treated as a rigid body in this way, the movement of the points P3 → P4 → P5 → P6 in FIG. 5 corresponds to the state where the fingertip is recessed in the rigid body, and thus the actual physical phenomenon is faithfully simulated. In the sense that it does However, since the main point of the present invention is to let the operator experience a sense of contact with an object, it is not always necessary to faithfully simulate actual physical phenomena. Therefore, in the present invention, as shown in FIG. 5, an event in which the action point P enters the inside of the virtual object B is also recognized. However, in order for the operator to feel a touch, it is necessary to return some reaction force to the action point P when the action point P enters the inside of the virtual object B. The inventor of the present application can effectively transmit the hardness or softness on the surface of the virtual object B to the operator if the magnitude of the reaction force is determined on the basis of the internal residence time of the action point. I found it possible.
[0038]
For example, in FIG. 5, when the action point P is at the position of the point P1 or the position of the point P2, the fingertip of the operator has not yet touched the virtual object B, so there is no need to return any reaction force. However, after the action point P reaches the position of the point P3 (position on the surface α of the virtual object B) and moves from the point P4 → P5 → P6, it is informed that the object has been touched. It is necessary to return some reaction force. Therefore, when the mutual positional relationship between the action point P and the virtual object B is recognized and it is determined that the action point P is inside the virtual object B, the action point P has reached the surface position of the virtual object B. Based on the internal residence time t from the time point to the present time point, a reaction force to be generated at the action point P is obtained by calculation, and a force control vector C indicating a control force to be applied to the action point P is obtained based on the reaction force. Thus, the control for giving the obtained force control vector C to the
[0039]
In the example of FIG. 5, the time point when the action point reaches the position of the point P3 is the
[0040]
FIG. 6 shows some specific examples of the function f (t). In any case, the function value f (t) increases with the increase of time t. FIG. 6A shows an example using a linear function, and in this case, using a predetermined coefficient A, it is expressed by a simple expression f (t) = A · t. FIG. 6B shows an example using a function that shows a rapid increase while the time t is small but gradually decreases the increase rate, and can provide a relatively hard contact feeling. On the other hand, FIG. 6 (c) is an example using a function in which the function value shows a slow increase as time t increases and the function value is saturated at the end. It is possible to give.
[0041]
In the present embodiment, the parameter K indicating the hardness is set together with the function f (t) in the object information setting means 10, and the magnitude of the reaction force is expressed by the function value f (t), the parameter K, and the like. Is determined based on the product K · f (t). For example, in the example shown in FIG. 5, since the internal stay time t = t1 when the action point P reaches the position of the point P4, the function obtained by substituting the internal stay time t1 into the function f (t). The magnitude of the reaction force is determined based on the value K · f (t1) obtained by multiplying the value f (t1) by the parameter K. Similarly, when the action point P reaches the position of the point P5, the magnitude of the reaction force is determined based on the value K · f (t2), and when the action point P reaches the position of the point P6, The magnitude of the reaction force is determined based on the value K · f (t3). While the function f (t) is a factor indicating a change with time, the parameter K is a factor that is multiplied as an absolute value. By using these two factors together, it is possible to set a surface state rich in variation. Become.
[0042]
The method for obtaining the magnitude of the reaction force has been described above, but the actual reaction force is given to the action point P by the
[0043]
For example, in the case of the example shown in FIG. 7, the action point P is located inside the virtual object B. Here, the surface of the virtual object B is defined by a large number of two-dimensional polygons α, β,..., And a unit vector directed to the normal line set to the two-dimensional polygon α closest to the action point P is used as a modulus. The vector is a line vector N and faces the same direction as the normal vector N, and a vector having a magnitude of K · f (t) is used as the force control vector C. In other words, the force control vector C is given by C = K · f (t) · N using a normal vector N (unit vector). The calculation control means obtains such a force control vector C by calculation, and performs processing to be given to the
[0044]
Eventually, when the fingertip of the operator passes through the surface position of the virtual object and enters the inside, a reaction force having a magnitude determined according to the passage of time (internal stay time) is perpendicular to the surface of the virtual object. It will be added as a control force in the direction. The operator feels this control force as a resistance force from the object side, and recognizes the contact feeling on the object surface. Therefore, in the example shown in FIG. 5, the operator presses the reaction force pushed back in the direction opposite to the arrow M from the point when the fingertip reaches the position of the point P3 (more precisely, the reaction force pushed back vertically from the surface α). ), And as the fingertip moves from point P4 → P5 → P6, it can be felt that the magnitude of the reaction force gradually increases (a function that increases with t is used as function f (t)). If you have).
[0045]
As described above, when the method of obtaining the magnitude of the reaction force based on the internal stay time from the time when the action point reaches the surface position of the virtual object to the present time is taken, the calculation load of the calculation control means 40 is extremely reduced. The advantage that you can do it. That is, the calculation control means 40 does not need to perform any calculation regarding the reaction force when the action point is outside the virtual object, and when the action point is inside the virtual object, the operation staying time t at the action point. Is simply measured and C = K · f (t) · N is simply calculated.
[0046]
§5. Method for obtaining reaction force considering depth of action point
By the way, when the reaction force is obtained by the method of §4 described above, strictly speaking, a phenomenon that contradicts the actual contact feeling may occur. For example, in FIG. 5, it is assumed that after moving the action point along the arrow M from the point P1 to the point P6, this time, the action point is moved from the point P6 to the point P1 in the direction opposite to the arrow M. In this case, the internal stay time t always increases despite the point of action toward the shallow position on the surface of the object, so the reaction force continues to increase gradually (or is saturated to the maximum value). . Of course, once the action point reaches the position of the point P3, the reaction force does not act at all thereafter, but the magnitude of the reaction force is determined only by the internal stay time t regardless of the actual position of the action point. As a result, there is a possibility that a sense of incongruity may occur compared to the actual touch feeling. In FIG. 5, even when the fingertip is moved along the same arrow M, different touch feelings are obtained depending on the moving speed of the fingertip. Of course, even in the real world, when you touch slowly, when you touch quickly, the actual contact feeling will also be different, so it is not necessarily the case that different touch feelings are obtained depending on the moving speed of the fingertip. It does not contradict reality. However, in order to experience a more realistic contact feeling, it is preferable to obtain the reaction force in consideration of the depth of the action point as described below.
[0047]
For example, in the case of the example shown in FIG. 8, the depth d of the action point P (distance from the surface α of the virtual object B) is obtained, and this is distinguished from the parameter k indicating the hardness (here, the parameter K described above). Therefore, a reaction force having a magnitude of k · d is assumed. As the force control vector C, a vector represented by the equation C = (K · f (t) + k · d) · N is used. Here, K · f (t) of the first term on the right side indicates the magnitude of the first reaction force determined based on the internal stay time t of the action point P as described in §4. The second term k · d indicates the magnitude of the second reaction force determined based on the distance d between the surface α of the virtual object B and the action point P as described above. Further, the normal vector N on the right side is a unit vector perpendicular to the two-dimensional polygon α closest to the action point P as described above. Eventually, a force control vector C indicating the control force to be applied to the action point P is obtained based on the combined force of the first reaction force and the second reaction force. It should be noted that when the resultant force is obtained, the product of the magnitudes of the first reaction force and the second reaction force is taken, and C = (K · f (t) × k · d) · N The force control vector C may be obtained.
[0048]
The second reaction force used here takes a larger value as the distance d between the surface of the virtual object and the action point becomes larger. Therefore, as the fingertip is inserted deeper into the interior from the surface of the virtual object, the second reaction force is used. The second reaction force is increased. In addition, since the magnitude of the second reaction force is determined based on the product (k · d) of the parameter k indicating the hardness of the virtual object and the distance d, the setting information of the hardness of the object is obtained. It can be reflected.
[0049]
As mentioned above, although this invention was demonstrated based on embodiment shown in figure, this invention is not limited to these embodiment, In addition, it can implement in a various aspect.
[0050]
For example, in the above-described example, only one set of
[0051]
In the above-described embodiment, the function f (t) uses a type of function whose function value increases as the time t increases. However, a special touch feeling (for example, a strange material that does not exist in reality). It is also possible to use a function of a type in which the function value decreases as the time t increases.
[0052]
【The invention's effect】
As described above, according to the object touch sensation simulation apparatus according to the present invention, since the magnitude of the reaction force is determined based on the internal stay time of the action point, it is possible to simulate a touch feeling on the object surface. It is possible to provide a simulation apparatus capable of
[Brief description of the drawings]
FIG. 1 is a block diagram showing a basic configuration of an object contact feeling simulation apparatus according to an embodiment of the present invention.
2 is a diagram showing an example of a virtual object and its shape data defined in the simulation apparatus shown in FIG. 1; FIG.
FIG. 3 is a block diagram showing functions of a force transducer in the simulation apparatus shown in FIG.
4 is a perspective view showing a specific configuration example of the force transducer shown in FIG. 3; FIG.
FIG. 5 is a side sectional view of an object for explaining a basic concept of how to obtain a reaction force in the present invention.
FIG. 6 is a graph showing a specific example of a function f (t) of time t used for obtaining a reaction force in the present invention.
FIG. 7 is a side sectional view of an object for explaining the basic concept of the direction of reaction force in the present invention.
FIG. 8 is a side sectional view of an object for explaining a basic concept using two kinds of reaction forces in the present invention.
FIG. 9 is a perspective view showing a specific configuration example of the present invention using two sets of force transducers.
[Explanation of symbols]
1-8 ... vertices
10: Object information setting means
20 ... Display
30 ... Object shape drawing means
40. Calculation control means
50 ... Force transducer
51. Action part
52 ... Position detection unit
53 ... Force generator
B ... Virtual object
C: Force control vector
d: Distance between the point of action and the surface of the virtual object
f (t) ... function of time t
F ... Force applied to the point of action
K, k ... Parameters indicating hardness
M: Direction of movement of action point
N ... Normal vector
P: Action point
P1 to P6 ... position of the action point P
P (x, y, z) ... position of the action point P
α, β: Polygons that make up the surface of a virtual object
Claims (12)
仮想物体を定義するための情報を設定する物体情報設定手段と、
オペレータから加えられた力に基いて三次元の任意方向に移動可能な作用点を有する作用部と、前記作用点の三次元座標系上での位置を検出する位置検出部と、与えられた力制御ベクトルに基いて前記作用点に加える力を発生させる力発生部と、を有する力トランスデューサと、
前記位置検出部が検出した作用点の位置と前記物体情報設定手段内の情報とに基づいて、前記作用点に加えるべき制御力を示す力制御ベクトルを求め、求めた力制御ベクトルを前記力トランスデューサへ与える制御を行う演算制御手段と、
を備え、
前記演算制御手段が、
前記位置検出部が検出した作用点の位置と前記物体情報設定手段内の情報により定義された仮想物体の位置とに基いて、作用点と仮想物体との相互位置関係を認識する相互位置関係認識部と、
前記相互位置関係認識部により作用点が仮想物体の表面位置に到達したと認識された時点から現時点に至るまでの時間を計測する時間計測部と、
前記相互位置関係認識部により作用点が仮想物体の内部にあると判断されたときに、前記時間計測部の計測値として与えられる内部滞在時間に基づいて前記作用点に生じるべき反力を演算により求める反力演算部と、
前記反力に基いて作用点に加えるべき制御力を示す力制御ベクトルを求める力制御ベクトル演算部と、
を有することを特徴とする物体の接触感シミュレーション装置。A device that defines a predetermined virtual object and performs a simulation to simulate a sense of contact with the virtual object,
Object information setting means for setting information for defining a virtual object;
An action part having an action point movable in an arbitrary three-dimensional direction based on a force applied by an operator, a position detection part for detecting the position of the action point on a three-dimensional coordinate system, and the given force A force generation unit that generates a force to be applied to the action point based on a control vector;
Based on the position of the action point detected by the position detector and the information in the object information setting means, a force control vector indicating a control force to be applied to the action point is obtained, and the obtained force control vector is obtained as the force transducer. Arithmetic control means for performing control given to
With
The arithmetic control means is
Reciprocal relationship recognition for recognizing the mutual positional relationship between the action point and the virtual object based on the position of the action point detected by the position detection unit and the position of the virtual object defined by the information in the object information setting means And
A time measuring unit that measures the time from when the action point is recognized as having reached the surface position of the virtual object by the mutual positional relationship recognition unit to the present time;
When the action point is determined to be inside the virtual object by the mutual positional relationship recognition unit, the reaction force to be generated at the action point is calculated based on the internal stay time given as the measurement value of the time measurement unit. The desired reaction force calculator,
A force control vector computing unit for obtaining a force control vector indicating a control force to be applied to the action point based on the reaction force;
An apparatus for simulating contact feeling of an object, comprising:
反力演算部が、内部滞在時間が長くなればなるほど反力の大きさが大きくなる演算を行うことを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 1,
An apparatus for simulating the contact feeling of an object, characterized in that the reaction force calculation unit performs a calculation in which the magnitude of the reaction force increases as the internal residence time becomes longer .
物体情報設定手段が、時間tを変数とする所定の関数f(t)を仮想物体の表面状態を定義するための情報として設定し、
反力演算部が、前記関数f(t)に内部滞在時間tを代入して得られる関数値に基づいて反力の大きさを決定することを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 1 or 2,
The object information setting means sets a predetermined function f (t) with time t as a variable as information for defining the surface state of the virtual object ,
An object contact feeling simulation device , wherein the reaction force calculation unit determines the magnitude of the reaction force based on a function value obtained by substituting the internal stay time t into the function f (t).
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の硬さを示すパラメータKを設定し、
反力演算部が、反力の大きさを、関数値f(t)とパラメータKとの積K・f(t)に基いて決定することを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 3,
The object information setting means sets a parameter K indicating the hardness of the virtual object as information for defining the virtual object ,
Reaction force calculation unit, the magnitude of the reaction force, the function value f (t) and the contact feeling simulation apparatus of an object and determining based on the product K · f (t) with the parameters K.
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の表面を二次元多角形の集合体として表現する形状データを設定し、
力制御ベクトル演算部が、作用点Pが仮想物体の内部に位置する場合に、この作用点Pに最も近い二次元多角形αに垂直な法線ベクトルNを求め、この法線ベクトルNを単位ベクトルとし、反力演算部で演算された反力に応じた大きさをもつベクトルを力制御ベクトルとすることを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 4,
The object information setting means sets shape data representing the surface of the virtual object as an aggregate of two-dimensional polygons as information for defining the virtual object,
When the action point P is located inside the virtual object , the force control vector calculation unit obtains a normal vector N perpendicular to the two-dimensional polygon α closest to the action point P, and the normal vector N An object contact feeling simulation apparatus, characterized in that a vector having a magnitude corresponding to a reaction force calculated by a reaction force calculation unit is used as a force control vector .
反力演算部が、作用点の内部滞在時間に基づいて定まる第1の反力と、仮想物体の表面と作用点との距離に基づいて定まる第2の反力と、を演算する機能を有し、前記第1の反力と前記第2の反力との合成力を作用点に生じるべき反力とすることを特徴とする物体の接触感シミュレーション装置。In the simulation apparatus in any one of Claims 1-5,
The reaction force calculation unit has a function of calculating a first reaction force determined based on the internal stay time of the action point and a second reaction force determined based on the distance between the surface of the virtual object and the action point. An object contact sensation simulation apparatus characterized in that a combined force of the first reaction force and the second reaction force is a reaction force to be generated at an action point .
反力演算部が、仮想物体の表面と作用点との距離dが大きくなればなるほど第2の反力が大きくなる演算を行うことを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 6,
The object contact feeling simulation device, wherein the reaction force calculation unit performs a calculation in which the second reaction force increases as the distance d between the surface of the virtual object and the action point increases.
物体情報設定手段が、仮想物体を定義するための情報として、仮想物体の硬さを示すパラメータkを設定し、
反力演算部が、第2の反力の大きさを、パラメータkと距離dとの積(k・d)に基いて決定することを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 7, wherein
Object information setting means, as information for defining a virtual object, and set the parameter k indicating the hardness of the virtual object,
Reaction force calculation unit, the size of the second reaction force, contact sensation simulation apparatus of an object and determining based on a product (k · d) between the parameter k and the distance d.
仮想物体を表示するためのディスプレイと、
物体情報設定手段内に設定された情報および位置検出部が検出した作用点の位置の情報に基いて、前記ディスプレイの画面上の所定の表示位置に仮想物体の形状および作用点を描画する物体形状描画手段と、
を更に設けたことを特徴とする物体の接触感シミュレーション装置。In the simulation apparatus according to any one of claims 1 to 8,
A display for displaying virtual objects;
Based on the information set in the object information setting means and the information on the position of the action point detected by the position detector, the shape of the virtual object and the object shape that draws the action point at a predetermined display position on the screen of the display Drawing means;
An apparatus for simulating contact feeling of an object , further comprising:
物体情報設定手段が、仮想物体を定義するための情報として、更に、仮想物体の表面の質感を示す質感データおよび仮想物体を照明するための光源の性質を示す光源データを設定し、
物体形状描画手段が、前記質感データおよび前記光源データを考慮して仮想物体の形状を描画することを特徴とする物体の接触感シミュレーション装置。The simulation apparatus according to claim 9, wherein
Object information setting means, as information for defining the virtual objects, further sets the light source data indicating a source properties for illuminating the texture data and the virtual object showing the surface texture of the virtual object,
The object shape drawing means draws the shape of a virtual object in consideration of the texture data and the light source data.
力トランスデューサの作用部を、オペレータの指先に嵌めて固定できる指サックにより構成したことを特徴とする物体の接触感シミュレーション装置。In the simulation apparatus in any one of Claims 1-10,
An object touch sensation simulation apparatus characterized in that the action portion of the force transducer is configured by a finger sack that can be fixed by being fitted to an operator's fingertip.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22545898A JP3722992B2 (en) | 1998-07-24 | 1998-07-24 | Object contact feeling simulation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22545898A JP3722992B2 (en) | 1998-07-24 | 1998-07-24 | Object contact feeling simulation device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000047565A JP2000047565A (en) | 2000-02-18 |
| JP3722992B2 true JP3722992B2 (en) | 2005-11-30 |
Family
ID=16829664
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22545898A Expired - Lifetime JP3722992B2 (en) | 1998-07-24 | 1998-07-24 | Object contact feeling simulation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3722992B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020073890A (en) * | 2001-03-16 | 2002-09-28 | 한국전자통신연구원 | Three - Dimensional Modeling System Using Hand-Fumble and Modeling Method |
| JP4687957B2 (en) * | 2005-03-29 | 2011-05-25 | マツダ株式会社 | Vehicle planning support system |
| JP4926799B2 (en) * | 2006-10-23 | 2012-05-09 | キヤノン株式会社 | Information processing apparatus and information processing method |
| JP6499900B2 (en) * | 2015-04-06 | 2019-04-10 | 日本放送協会 | Haptic control device and haptic presentation device |
| JP2017182495A (en) * | 2016-03-30 | 2017-10-05 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
| CN110047343B (en) * | 2019-03-27 | 2021-07-20 | 北京市理化分析测试中心 | Method for operating VR (virtual reality) simulation microhardness meter |
-
1998
- 1998-07-24 JP JP22545898A patent/JP3722992B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000047565A (en) | 2000-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Murakami et al. | Direct and intuitive input device for 3-D shape deformation | |
| Salisbury et al. | Haptic rendering: introductory concepts | |
| US7084884B1 (en) | Graphical object interactions | |
| Burdea | Haptics issues in virtual environments | |
| CN101819462B (en) | Image texture haptic representation system based on force/haptic interaction equipment | |
| Massie | Initial haptic explorations with the phantom: Virtual touch through point interaction | |
| Romat et al. | Flashpen: A high-fidelity and high-precision multi-surface pen for virtual reality | |
| US20060119578A1 (en) | System for interfacing between an operator and a virtual object for computer aided design applications | |
| KR100906576B1 (en) | Hand Haptic Interface Device and Method | |
| CN111665933A (en) | Method and device for operating object in virtual or augmented reality | |
| JP3722994B2 (en) | Object contact feeling simulation device | |
| JP3722992B2 (en) | Object contact feeling simulation device | |
| Stewart et al. | CAD data representations for haptic virtual prototyping | |
| JP3713381B2 (en) | Object gripping motion simulation device | |
| JP3722993B2 (en) | Hair texture contact simulation device | |
| Pihuit et al. | Hands on virtual clay | |
| JP6088208B2 (en) | Haptic display device | |
| JP6386781B2 (en) | Haptic display device | |
| McGee et al. | Haptic perception of virtual roughness | |
| Murakami et al. | DO-IT: deformable object as input tool for 3-D geometric operation | |
| Sener et al. | Towards' virtual clay'modelling-challenges and recommendations: a brief summary of the literature | |
| JP2000047563A (en) | Object gripping motion simulation device | |
| Salsedo et al. | Architectural design of the haptex system | |
| Magnenat-Thalmann et al. | Haptic sensing of virtual textiles | |
| Han et al. | Ar pottery: Experiencing pottery making in the augmented space |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050520 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
| 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: 20050913 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050914 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 7 |