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

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

Info

Publication number
JP2008059375A
JP2008059375A JP2006236757A JP2006236757A JP2008059375A JP 2008059375 A JP2008059375 A JP 2008059375A JP 2006236757 A JP2006236757 A JP 2006236757A JP 2006236757 A JP2006236757 A JP 2006236757A JP 2008059375 A JP2008059375 A JP 2008059375A
Authority
JP
Japan
Prior art keywords
virtual object
operation target
interference determination
recording
target virtual
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
JP2006236757A
Other languages
English (en)
Other versions
JP2008059375A5 (ja
JP4986543B2 (ja
Inventor
Masakazu Fujiki
真和 藤木
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 JP2006236757A priority Critical patent/JP4986543B2/ja
Priority to PCT/JP2007/067096 priority patent/WO2008026752A1/en
Priority to US12/439,179 priority patent/US8145460B2/en
Publication of JP2008059375A publication Critical patent/JP2008059375A/ja
Publication of JP2008059375A5 publication Critical patent/JP2008059375A5/ja
Application granted granted Critical
Publication of JP4986543B2 publication Critical patent/JP4986543B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Automatic Assembly (AREA)

Abstract

【課題】 操作対象としての仮想物体と、その他の仮想物体との干渉判定処理をより高速に行う為の技術を提供すること。
【解決手段】 記録モードが設定されている間は、操作対象仮想物体に対する操作履歴をメモリに記録する(S301,S302)。記録モードが解除された後、操作対象仮想物体と同じ仮想空間中に存在する複数の仮想要素のうち、操作対象仮想物体との干渉判定の対象とする仮想要素を、操作履歴に基づいて選択する(S303)。選択した1以上の仮想要素のそれぞれと、操作対象仮想物体との干渉判定処理を行う(S304)。干渉判定結果を出力する(S305)。
【選択図】 図3

Description

本発明は、干渉判定技術に関し、特に、仮想物体同士の干渉判定技術に関するものである。
従来より、コンピュータ内の仮想3次元空間において機械装置の組立/分解などの作業シミュレーションを行う技術があり、係る技術では、物体同士の接触を検知するために仮想物体の干渉判定を用いていた(特許文献1を参照)。
また、干渉判定処理の順序を変更して、過去に干渉したことがある物体の組をより先に処理することで、処理の高速化を図る技術があった(特許文献2を参照)。
特開平9−311883号公報 特公平8−5028号公報
干渉判定処理は形状要素の各組み合わせについて干渉の有無を判定するため、一般的に干渉判定処理の対象となるデータ量の増加に対してn!のオーダーで処理時間が増加する。
特に、仮想物体に対して移動・回転などの操作をインタラクティブに行いながら作業シミュレーションを行う場合、干渉判定処理の時間増大は深刻な問題となる。なぜなら、干渉判定処理に大きく時間がかかってしまうと、作業者の操作する物体がこの操作に直ちに反応しなくなり、物体の挙動が現実世界と大きくかけ離れ、現実世界をシミュレートするという目的自体を果たせなくなるからである。
また、干渉判定を行うためには、仮想世界のCG描画のためのデータとは別の構造のデータをメモリ上に展開しなければならないという場合がある。従って、干渉判定の対象となるデータが増加すると、メモリ使用量が著しく増大する。
例えば、上記特許文献2では、形状要素の組み合わせの順番を変更することによって干渉判定処理を高速化する技術を開示しているが、順番の変更が完了するまでは干渉判定処理に時間がかかるという問題がある。また係る技術では、処理の順序を変更するのみであって、データの量は減少していないので、メモリ空間を圧迫するという問題は解決していない。
本発明は以上の問題に鑑みてなされたものであり、操作対象としての仮想物体と、その他の仮想物体との干渉判定処理をより高速に行う為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、記録モードが設定されているときに、操作対象仮想物体に対する操作履歴をメモリに記録する記録工程と、
前記操作対象仮想物体と同じ仮想空間中に存在する複数の仮想要素のうち、前記操作対象仮想物体との干渉判定の対象とする仮想要素を、前記記録工程で記録した操作履歴に基づいて選択する選択工程と、
前記選択工程で選択した1以上の仮想要素のそれぞれと、前記操作対象仮想物体との干渉判定処理を行う干渉判定工程と、
前記干渉判定工程による結果を出力する出力工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、記録モードが設定されているときに、操作対象仮想物体に対する操作履歴をメモリに記録する記録手段と、
前記操作対象仮想物体と同じ仮想空間中に存在する複数の仮想要素のうち、前記操作対象仮想物体との干渉判定の対象とする仮想要素を、前記記録手段が記録した操作履歴に基づいて選択する選択手段と、
前記選択手段が選択した1以上の仮想要素のそれぞれと、前記操作対象仮想物体との干渉判定処理を行う干渉判定手段と、
前記干渉判定手段による結果を出力する出力手段と
を備えることを特徴とする。
本発明の構成によれば、操作対象としての仮想物体と、その他の仮想物体との干渉判定処理をより高速に行うことができる。
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
[第1の実施形態]
本実施形態では、例えば機械装置に部品を取り付ける作業を仮想空間内でシミュレートする。取り付ける部品に相当する仮想物体(操作対象仮想物体)は、3次元現実世界中で自身の位置姿勢が計測可能なセンサと固定の相対位置姿勢を保って動く。従って作業者はこのセンサを移動・回転させることによって、操作対象仮想物体を移動・回転させる作業を模擬することが出来る。
次に、本実施形態の概要について説明する。
図1は、操作対象仮想物体を含む複数の部品の仮想物体が配置された仮想空間の断面図である。同図において101は操作対象仮想物体であり、その周囲には機械部品を模した仮想物体102,104,105,107,109が配置されている。また、その更に外周には、機械部品を模した仮想物体103,106,108,110が配置されている。
係る配置状態の場合、例えば操作対象仮想物体101を仮想物体103に取り付けようとすべく移動させると、操作対象仮想物体101は仮想物体104と干渉(接触)してしまう可能性がある。また、操作対象仮想物体101を仮想物体106に取り付けようとすべく移動させると、操作対象仮想物体101は仮想物体105と干渉(接触)してしまう可能性がある。また、操作対象仮想物体101を仮想物体108に取り付けようとすべく移動させると、操作対象仮想物体101は仮想物体107と干渉(接触)してしまう可能性がある。また、操作対象仮想物体101を仮想物体110に取り付けようとすべく移動させると、操作対象仮想物体101は仮想物体102や仮想物体109と干渉(接触)してしまう可能性がある。
従って、操作対象仮想物体101を仮想物体103,106,108,110の何れかに取り付けようとすべく移動させる際に、操作対象仮想物体101との干渉判定の対象となる仮想物体は、仮想物体群102,104,105,107,109となる。
このように、仮想空間中に配置されている全ての仮想物体を干渉判定の対象とするのではなく、その一部を対象とすると、仮想空間を体感させるための処理全体をより高速に行うことができる。
本実施形態では、仮想空間中に存在する全ての仮想物体のうち操作対象仮想物体101との干渉判定の対象となる仮想物体を、操作対象仮想物体101とその他の仮想物体との配置関係に基づいて選択する。これにより、操作対象仮想物体101との干渉判定の対象としての仮想物体の数を削減する。
以下の説明では、操作対象仮想物体以外の仮想物体は静止しているものとして説明する。ここでの「静止」とは、仮想空間における位置、姿勢、サイズが変更されないという意味である。
図2は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、コンピュータ200と位置姿勢センサ210とで構成されている。
先ず、位置姿勢センサ210について説明する。位置姿勢センサ210は、自身の位置姿勢を計測するものであり、計測した結果はデータとしてコンピュータ200に送出される。位置姿勢センサ210としては磁気センサや光学式センサ、超音波センサなどを用いることができ、例えばPolhemus社のFastrakを用いることができる。しかし、これに限るものではなく6自由度が計測可能な任意のセンサを用いることが可能である。
ユーザは、この位置姿勢センサ210を手に持ち、その位置姿勢を自在に変化させることができる。この位置姿勢センサ210の位置姿勢は後述するように、操作対象仮想物体の位置姿勢に反映される。即ちユーザは、この位置姿勢センサ210を用いて、操作対象仮想物体の位置姿勢を自在に制御することができる。
次に、コンピュータ200について説明する。
CPU201は、メモリ202に格納されているプログラムやデータを用いてコンピュータ200全体の制御を行うと共に、コンピュータ200が行うものとして説明する後述の各処理を実行する。
メモリ202は、外部記憶装置205からロードされたプログラムやデータ、位置姿勢センサ210から取得した位置姿勢データ等を一時的に記憶する為のエリアを有する。更にメモリ202は、CPU201が各種の処理を実行する際に用いるワークエリアも有する。このようにメモリ202は、各種のエリアを適宜提供することができる。203はバスである。
外部記憶装置205には、OS(オペレーティングシステム)や、コンピュータ200が行うものとして説明する後述の各処理をCPU201に実行させるためのプログラムやデータが保存されている。外部記憶装置205に保存されている各種の情報はCPU201による制御に従って適宜メモリ202にロードされ、CPU201による処理対象となる。
キーボード206,マウス207はそれぞれCPU201に対して各種の指示を入力するためのポインティングデバイスの一例であり、これ以外のものを用いることもできる。
表示部208は、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などでもって表示することができる。
I/O209は、位置姿勢センサ210をコンピュータ200に接続するためのものであり、位置姿勢センサ210からの位置姿勢データはこのI/O209を介してメモリ202や外部記憶装置205に送出される。
インターフェース204には、上記外部記憶装置205、キーボード206、マウス207、表示部208、I/O209が接続されていると共に、上記バス203もこのインターフェース204に接続されている。
次に、操作対象仮想物体を仮想空間内で移動させる場合に、この操作対象仮想物体との干渉判定対象としての仮想物体を特定する為の処理について、同処理のフローチャートを示す図3を用いて説明する。なお、同図のフローチャートに従った処理をCPU201に実行させるためのプログラムやデータは外部記憶装置205に保存されている。このプログラムやデータは、CPU201による制御に従って適宜メモリ202にロードされる。そしてCPU201はこのロードされたプログラムやデータを用いて処理を実行することで、コンピュータ200は以下説明する各ステップにおける処理を実行することになる。
先ずステップS300では、操作対象仮想物体やその他の仮想物体に係るデータを、外部記憶装置205からメモリ202にロードする。
図4は、各仮想物体に係るデータの構成例を示す図である。1つの形状モデルは形状要素として少なくとも1つの「部品」から構成され、モデルデータは各部品のデータを並べた形式で記述される。本実施形態では、操作対象仮想物体、操作対象仮想物体以外の仮想物体は、この1つの部品を模した仮想物体のことである。
例えば、形状モデルがn個の部品を持っているとすると、図4では、1番目の部品のデータが領域401、2番目の部品のデータが領域406、3番目から(n−1)番目の部品のデータが領域407、n番目の部品のデータが領域408に登録される。即ち、各部品の仮想物体のデータが、対応する領域内に登録されていることになる。
領域401を例に取り、1番目の部品に対応する仮想物体(仮想物体1)に係るデータについて説明する。
領域402には、仮想物体1に係るデータの開始位置を示す開始デリミタが格納されている。同様に領域405には、仮想物体1に係るデータの終了位置を示す終了デリミタが格納されている。領域403には、仮想物体1に固有の識別情報(部品ID)が格納されている。なお、識別情報としてはこれ以外にも考えられ、例えば、部品ごとに異なる整数値、あるいは部品ごとに異なる部品名称を表す文字列を、この識別情報として用いても良い。領域404には、仮想物体1の幾何的形状情報が格納されている。例えば、仮想物体1がポリゴンでもって構成されている場合、領域404には、ポリゴンを構成する各頂点の位置データ、ポリゴンのカラーデータ、ポリゴンの法線データ、そして、テクスチャマッピングを行う場合には、テクスチャデータ等が格納されている。更に、領域404には、仮想物体1の仮想空間中における配置位置姿勢も格納されている。
このように、各領域内には、各仮想物体について、仮想物体に係るデータが格納されている。
なお、図3に示したフローチャートに従った処理と並行して行われる描画処理では、この幾何的形状情報を用いて各仮想物体の画像を生成し、表示部208の表示画面上に表示する。各仮想物体の画像の生成は、各仮想物体を対応する幾何的形状情報(配置位置姿勢)に従って仮想空間中に配置し、設定された視点から係る仮想空間を見た場合の画像を生成することによりなされるものである。この視点の位置や姿勢は、キーボード206やマウス207を用いて指示する。
なお、視点の位置姿勢の指示についてはこれに限定するものではない。例えば、表示部208が周知のHMD(ヘッドマウントディスプレイ)に搭載されているものである場合には、このHMDを装着したユーザの目の位置近傍に取り付けられた位置姿勢センサにより計測された位置姿勢を、視点の位置姿勢として用いても良い。
なお、設定された視点から見える仮想空間の画像を生成するための技術については周知のものであるので、これ以上の詳細な説明は省略する。
図3に戻って、各仮想物体の画像を表示した後、先ずユーザはキーボード206やマウス207を用いて、記録モードを設定する指示を入力するので、ステップS301では先ず、この入力された指示に従って、記録モードを設定する。また、CPU201は、記録モードの設定と共に後述の「記録時刻」を「0」に初期化した後、記録時刻の計時処理を開始する。
記録モードの設定後、ユーザは位置姿勢センサ210を手に持ち、表示部208の表示画面上に表示されている仮想空間を見ながら、操作対象仮想物体を所望の位置に移動させるべく、位置姿勢センサ210を移動させる。上述の通り、位置姿勢センサ210により計測された自身の位置姿勢を示す位置姿勢データはI/O209を介してメモリ202に送出され、CPU201はこの位置姿勢データに基づいた位置姿勢でもって操作対象仮想物体を配置する。ステップS301では、計時処理開始後所定時間(Δt)毎に、操作対象仮想物体の重心の位置姿勢を操作履歴としてメモリ202上に記録する処理を行う。
ここで、操作対象仮想物体の配置位置と操作対象仮想物体の重心位置との位置関係は固定であるので、係る位置関係は予め測定しておき、オフセットとして外部記憶装置205に登録しておく。従ってステップS301では、位置姿勢センサ210から得られた位置姿勢データに基づいた位置姿勢にこのオフセットを加算した結果を、操作対象仮想物体の重心の位置姿勢として求め、現在の記録時刻とセットにして、操作履歴としてメモリ202に記録する。
なお、記録モードが設定されている間は、操作対象仮想物体とその他の仮想物体との干渉判定は行わない。
次にステップS302では、上記記録処理を終了すべく、キーボード206やマウス207を用いて記録モードの解除が指示されたか否かをチェックする。このチェックの結果、解除されていない場合には、処理をステップS301に戻し、Δt毎の操作対象仮想物体の重心位置姿勢を記録する処理を繰り返す。
一方、記録モードの解除が指示されてる場合には処理をステップS303に進める。ステップS303に進んだ時点で、メモリ202には、記録時刻0における操作対象仮想物体の重心位置、記録時刻Δtにおける操作対象仮想物体の重心位置、記録時刻2Δtにおける操作対象仮想物体の重心位置、…が記録されていることになる。
ステップS303では、仮想空間中に配置した各仮想物体のうち、操作対象仮想物体との干渉判定の対象となる仮想物体を選択する処理を、上記操作履歴に基づいて行う。本ステップにおける処理の詳細については後述する。
次にステップS304では、操作対象仮想物体と、ステップS303で選択した各仮想物体との干渉判定処理を行う。干渉判定処理については周知の技術であるので、係る技術についての説明は省略する。そしてステップS305では、操作対象仮想物体と干渉している仮想物体について、ステップS300でロードされたデータを参照し、このデータ中の部品IDを、メモリ202や外部記憶装置205に出力する。この出力した部品IDの取り扱いについては特に限定するものではないが、例えば、上記描画処理において、ステップS305で出力した部品IDを有する仮想物体の幾何的形状情報を用いてこの仮想物体を変形させたり、移動、回転させたりする。なお、部品IDの出力先についてはこれに限定するものではない。
次にステップS306では、本処理の終了条件が満たされた、若しくはユーザがキーボード206やマウス207を用いて本処理の終了指示を入力したか否かをチェックする。係るチェックの結果、本処理の終了条件が満たされた、若しくはユーザがキーボード206やマウス207を用いて本処理の終了指示を入力した場合には本処理を終了する。一方、本処理の終了条件は満たされていないし、ユーザがキーボード206やマウス207を用いて本処理の終了指示を入力していない場合には、処理をステップS304に戻し、以降の処理を繰り返す。
次に、上記ステップS303における処理の詳細について説明する。図7は、上記ステップS303における処理の詳細を示すフローチャートである。
先ずステップS701では、記録時刻を示す変数tを0に初期化する。次にステップS702では上記操作履歴を参照し、記録時刻tにおける操作対象仮想物体の重心位置Gtを取得する。
次にステップS703では、重心位置Gtを含み、記録時刻t近傍での操作対象仮想物体の重心の移動軌跡に対して垂直な平面Ptを求める。平面Ptを求めるための方法については様々なものが考えられる。
例えば、重心位置Gtにおける操作対象仮想物体の姿勢は記録モードにおいて記録されているので、この姿勢成分を法線ベクトルとし、重心位置Gtを含む平面を平面Ptとして求める。
またその他の方法としては、例えば、重心位置G(t−Δt)から重心位置G(t+Δt)に向かう方向ベクトルを法線ベクトルとし、重心位置Gtを含む平面を平面Ptとして求める。この場合、記録時刻fがf=0〜Fである場合に、重心位置G0における平面P0は、重心位置G0から重心位置GΔtに向かう方向ベクトルを法線ベクトルとし、重心位置G0を含む平面を平面P0として求める。また、重心位置GFにおける平面PFは、重心位置G(F−Δt)から重心位置GFに向かう方向ベクトルを法線ベクトルとし、重心位置GFを含む平面を平面PFとして求める。もちろん、移動軌跡に垂直な平面を求める方法は係る方法に限定するものではない。
図5は、各重心位置Gtにおける平面Ptを示す図である。同図において501は、各重心位置Gtを通る操作対象仮想物体の重心の移動軌跡を示すものであり、502,504がそれぞれ、各記録時刻における重心位置Gtである。また、503,505はそれぞれ、重心位置502を含み、この位置における移動軌跡501の方向ベクトルを法線ベクトルとする平面、重心位置504を含み、この位置における移動軌跡501の方向ベクトルを法線ベクトルとする平面である。
なお、本実施形態では、操作履歴で記録した記録時刻t=0,Δt、2Δt、…のそれぞれについて平面を計算しているが、任意の記録時刻における平面を計算するようにしても良い。この場合、t=0、Δt、2Δt、…の各記録時刻における重心位置を通る曲線をスプライン補間処理などを用いて求め、この曲線上における任意の位置における点を含み、この点における曲線の方向ベクトルを法線ベクトルとする平面を求める。もちろん、この方法に限定するものではない。
図7に戻って次にステップS704では、重心位置Gtから伸びる平面Pt上の半直線Lの方程式を算出する。係る半直線Lは、重心位置Gtから放射状にのびる複数本について求めることになる。
次にステップS705では先ず、ステップS704で求めた複数本の半直線Lのうち1つを選択し、選択した半直線Lと最初に交差する仮想物体の部品IDを特定する。そして、特定した部品IDを、操作対象仮想物体との干渉判定の対象としての仮想物体の部品IDを登録するためのリストに登録する。係るリストは、メモリ202内に保持されている。
図6は、平面Ptによる仮想空間の断面図である。同図において601が重心位置Gtを示す。602〜610はそれぞれ、操作対象仮想物体以外の仮想物体である。650〜657はそれぞれ、重心位置Gtからのびる平面Pt上の半直線である。同図では8本の半直線を求めている。即ち、半直線間を45度ずつあけているが、これに限定するものではなく、半直線の数を増やすことで半直線間の角度をより密にしても良いし、半直線の数を減らすことでより疎にしても良い。
図6の場合、上記ステップS704では、係る8本の半直線について求めることになる。そしてステップS705では、各半直線について、重心位置Gtから最初に交差する仮想物体を特定し、特定した仮想物体の部品IDをリストに登録する。
例えば、半直線650の場合、半直線650と最初に交差するのは仮想物体604である。従ってこの場合、仮想物体604の部品IDをリストに登録する。また、半直線651の場合、半直線651と最初に交差するのは仮想物体605である。従ってこの場合、仮想物体605の部品IDをリストに登録する。また、半直線652,653の場合、半直線652,653と最初に交差するのは仮想物体605である。しかし、仮想物体605の部品IDは既にリストに登録されているので、リストへの部品IDの登録処理は行わない。
このような処理を全ての半直線について行うと、仮想物体602,604,605,607,609の部品IDはリストに登録され、それ以外の仮想物体の部品IDはリストには登録されない。即ち、仮想物体602,604,605,607,609以外の仮想物体については、操作対象仮想物体との干渉判定の対象にはならないことになる。
このようにして、各半直線について、最初に交差する仮想物体を特定し、特定した仮想物体の部品IDをリストに登録する。そしてこのリストに登録された部品IDを有する仮想物体は、上記ステップS304で、操作対象仮想物体との干渉判定処理を行う対象となる。
なお、ステップS705で行う、直線と交差する仮想物体の検出は、例えばMercury社のシーングラフライブラリOpen Inventorを用いて実現することが出来る。
図7に戻って次にステップS706では、ステップS704で求めた複数本の半直線のそれぞれについてステップS705における処理を行ったか否かをチェックする。係るチェックの結果、全てについて行っていない場合には処理をステップS705に戻し、未だ処理対象となっていない半直線を1つを選択し、選択した半直線Lと最初に交差する仮想物体の部品IDを特定する処理を行う。
一方、全てについて行った場合には、処理をステップS707に進める。ステップS707では、変数tにΔtを加算する処理を行う。そしてステップS708では、変数tが示す時刻が、上記ステップS301における記録処理の終了時刻Tよりも前(小さい)か否かをチェックする。このチェックの結果、t>Tである場合には本処理を終了し、t≦Tである場合には処理をステップS702に戻し、以降の処理を繰り返す。
以上の説明により、本実施形態によれば、操作対象仮想物体との干渉判定となる仮想物体の数を軽減させることができるので、干渉判定処理、ひいては、仮想空間を体感させるための処理全体を高速化することが出来る。
また、記録モードの設定時には干渉判定を行わないため、処理の負荷を軽減することができる。
そしてこれらにより、作業者の対話的操作を容易にすることが出来る。
なお、上記説明において操作対象仮想物体の重心位置の代わりに、操作対象仮想物体を包含する直方体などの立体の中心位置を用いても良い。
また、本実施形態では、操作対象仮想物体の重心位置からのびる半直線と交差する全ての仮想物体を、操作対象仮想物体との干渉判定の対象とした。しかし、操作対象仮想物体の重心位置からのびる半直線と交差する全ての仮想物体のうち、操作対象仮想物体の重心位置から所定の距離以内に配置されている仮想物体を、操作対象仮想物体との干渉判定の対象としても良い。
また、1本の半直線と交差する仮想物体を選択するのではなく、所定本数以上の半直線と交差する仮想物体を、操作対象仮想物体との干渉判定の対象として選択するようにしても良い。
また、本実施形態では、記録モードの設定後、Δt毎の操作対象仮想物体の重心位置姿勢を、記録時刻とセットにして操作履歴として記録している。しかし、操作対象仮想物体の重心位置が所定の距離移動する毎に、その位置姿勢と記録時刻とをセットにして操作履歴として記録するようにしても良い。
また、本実施形態では、記録モードの設定時には操作対象仮想物体とその他の仮想物体との干渉判定は行わないものとした。しかし記録モード時には、記録モードが解除された後に行う干渉判定処理よりも簡便な方法を用いた干渉判定処理を行うようにしても良い。そして記録モード時に操作対象仮想物体と干渉した仮想物体の部品IDを上記リストに登録するようにしても良い。
[第2の実施形態]
以下では、本実施形態が第1の実施形態とは異なる点のみについて説明する。
図8は、平面Ptによる仮想空間の断面図である。本実施形態では、操作対象仮想物体との干渉判定の対象とする仮想物体を選択する為の処理が、以下説明する点で第1の実施形態とは異なる。
同図において801は操作対象仮想物体、802〜806はそれぞれ操作対象仮想物体以外の仮想物体である。また、807は操作対象仮想物体の重心位置を示す。
本実施形態でも第1の実施形態と同様に、操作対象仮想物体の重心位置から放射状に半直線を設定する。しかし本実施形態では半直線設定後先ず、半直線が操作対象仮想物体と交差した点の位置と、操作対象仮想物体以外の仮想物体と交差した点の位置とを求める。例えば半直線851の場合、半直線が操作対象仮想物体と交差した点の位置は808で示されており、操作対象仮想物体以外の仮想物体と交差した点の位置は809で示されている。そして次にこの求めた2点間の距離を求める。図8では点808と点809との間の距離を求める。そして求めた距離が距離閾値以下であれば、この仮想物体を操作対象仮想物体との干渉判定の対象とする。同図では、点808と点809との間の距離は距離閾値以下であるので、仮想物体802は操作対象仮想物体との干渉判定の対象として選択される。
一方、半直線852の場合、操作対象仮想物体と交差する点810と、この半直線852が仮想物体805と交差する点811との間の距離は距離閾値以下ではないので、仮想物体805は、操作対象仮想物体との干渉判定の対象としては選択しない。
このように、本実施形態では、操作対象仮想物体の重心位置からのびる半直線が操作対象仮想物体と交差する点と、この半直線が交差する仮想物体におけるこの交差点との間の距離を求める。そして求めた距離が閾値以下であれば、この仮想物体を操作対象仮想物体との干渉判定の対象として選択する。
なお、操作対象仮想物体がその他の仮想物体と既に干渉していた場合には、この仮想物体と操作対象仮想物体との間の距離(それぞれの仮想物体における半直線との交差点間の距離)には負の符号を付ける。このようにすることにより、交点間の距離が必ず距離閾値以下となるので、操作対象仮想物体と干渉している仮想物体は必ず干渉判定対象として選択される。
なお本実施形態では、操作対象仮想物体を仮想空間内で移動させる場合に、この操作対象仮想物体との干渉判定対象としての仮想物体を特定する為には、図3のフローチャートに従った処理を行う。しかし、ステップS303における処理のみが第1の実施形態とは異なる。
図9は、本実施形態に係るステップS303における処理のフローチャートである。同図において図7に示したステップと同じステップについては同じステップ番号を付けており、その説明は省略する。
ステップS901では、ステップS704で設定した複数の半直線のうち1つを選択し、選択した半直線と操作対象仮想物体との交点のうち、重心位置Gtから最も遠い点Mを求める。次にステップS902では、操作対象仮想物体以外の複数の仮想物体のうち、この半直線と交差する仮想物体を特定し、特定した仮想物体の部品IDと、交差した点のうち最も点Mに近い点の座標位置とをセットにしてメモリ202に格納する。
次にステップS903では、ステップS902でメモリ202に格納した1以上のセット中の座標位置を参照し、点Mとの距離が閾値未満である座標位置とセットになっている部品IDを特定する。そしてこの特定した部品IDを第1の実施形態と同様に、操作対象仮想物体との干渉判定の対象としての仮想物体の部品IDを登録するためのリストに登録する。
以上の処理を行うことで、操作対象仮想物体の大きさを考慮して、操作対象仮想物体との干渉判定の対象を選択することができる。従って、操作対象仮想物体と干渉する可能性の高い仮想物体のみを、干渉判定の対象として選択することができるので、更に、処理全体を高速化することが可能である。
なお、上記距離閾値は予め定められた固定値としても良いし、ユーザがキーボード206やマウス207を用いて適宜設定しても良い。
[第3の実施形態]
第1,2の実施形態では、1回の記録モードにおける記録処理の結果得られる操作履歴を用いて、操作対象仮想物体との干渉判定の対象を選択している。しかし、複数回の記録処理により得られる複数の操作履歴を用いて、操作対象仮想物体との干渉判定の対象を選択しても良い。
その場合、それぞれの操作履歴について第1実施形態、若しくは第2の実施形態を適用する。これにより、操作対象仮想物体の動かし方についてより多くのバリエーションを反映して干渉判定対象が選択されることになる。その結果、干渉判定対象を限定したことによる判定の抜けを防ぐことが出来る。
また、操作対象仮想物体以外の仮想物体毎に、何れかの方法でもって干渉判定対象として選択された回数をカウントしておき、そのカウント値が所定値以上の仮想物体を、最終的に操作対象仮想物体との干渉判定対象とするようにしても良い。この場合、操操作対象仮想物体が稀にしか通らない軌跡近傍における仮想物体を干渉判定対象の選定から外すことになり、効率的に干渉判定対象を限定することが出来る。
なお、記録処理回数は固定ではなく、変更可能としてもよい。
[第4の実施形態]
第2の実施形態では、各半直線に対して操作対象物体と静止物体との距離を閾値と比較している。これに替えて、静止物体の各部品について、各部品と操作対象物体との距離の平均を算出し、平均距離が所定の閾値未満の部品を干渉判定対象として選択する。
更に、第3の実施形態で説明したように、複数回の記録処理でもって得られる複数の操作履歴を用いて、各操作履歴に対する平均距離を求め、更に全ての操作履歴について求めた平均距離の更に平均距離(第2の平均距離)を求める。そして、第2の平均距離以下の距離である仮想物体を、操作対象仮想物体との干渉判定対象として選択する。
係る構成によれば、操作対象仮想物体が稀にしか仮想物体の近傍を通らない場合、この仮想物体を干渉判定対象の選定から外すことになり、効率的に干渉判定対象を限定することが出来る。
[第5の実施形態]
上記各実施形態では、操作対象仮想物体との干渉判定対象の単位を、仮想物体とした。しかし、干渉判定対象を、仮想物体の構成要素としても良い。例えば、仮想物体がポリゴンで構成されている場合、操作対象仮想物体との干渉判定対象の単位をポリゴンとしても良い。
例えば第1の実施形態の場合、半直線と交差する点を含むポリゴンを、操作対象仮想物体との干渉判定対象とする。
係る構成によれば、干渉判定対象の範囲をさらに限定することになり、干渉判定処理の高速化が図られる。
また、仮想物体毎に、操作対象仮想物体との干渉判定対象の単位を、仮想物体本体とするのか、構成要素とするのかをユーザが適宜キーボード206やマウス207を用いて設定しても良い。
[第6の実施形態]
操作対象仮想物体との干渉判定対象として選択された仮想物体(構成要素)と、選択されていない仮想物体(構成要素)とを視覚的に区別させるために、前者と後者とで表示方法を異ならせても良い。例えば、一方と他方とで表示色を変えても良いし、前者を不透明、後者を半透明で描画しても良いし、前者のみを平面パッチに赤色でワイヤフレームを重畳表示するようにしても良い。
[第7の実施形態]
上記各実施形態では、操作対象仮想物体以外の仮想物体は静止しているものとしたが、これに限定するものではなく、位置、姿勢、サイズが適宜変更されても良い。
この場合、記録モードでは、操作対象仮想物体の重心位置姿勢、記録時刻に加え、そのときの各仮想物体の位置、姿勢、拡大/縮小率(オリジナルのサイズに対する拡大/縮小率)をセットにして記録する。
そして、記録時刻tにおける「操作対象仮想物体との干渉判定対象」を選択する際、先ず、記録時刻tにおける各仮想物体の位置、姿勢、拡大/縮小率に基づいて各仮想物体の位置姿勢、サイズを変更する。そして、上記各実施形態で説明した「操作対象仮想物体との干渉判定対象選択処理」を行う。
もちろん、記録モードで、操作対象仮想物体の重心位置姿勢、記録時刻に加え、操作対象仮想物体の拡大/縮小率をセットにして記録しても良い。これにより、記録時刻tにおける「操作対象仮想物体との干渉判定対象」を選択する際、先ず、記録時刻tにおける操作対象仮想物体の拡大/縮小率に基づいて操作対象仮想物体のサイズを変更する。そして、上記各実施形態で説明した「操作対象仮想物体との干渉判定対象選択処理」を行う。係る構成によれば、操作対象仮想物体のサイズは適宜変更しても良いことになる。
また、操作対象仮想物体は1つに限定するものではなく、複数であっても良い。この場合、それぞれの操作対象仮想物体に対して上記各実施形態を適用すればよい。
また、上記各実施形態は適宜組み合わせて用いても良い。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
操作対象仮想物体を含む複数の部品の仮想物体が配置された仮想空間の断面図である。 本発明の第1の実施形態に係るシステムのハードウェア構成を示すブロック図である。 操作対象仮想物体を仮想空間内で移動させる場合に、この操作対象仮想物体との干渉判定としての仮想物体を特定する為の処理のフローチャートである。 各仮想物体に係るデータの構成例を示す図である。 各重心位置Gtにおける平面Ptを示す図である。 平面Ptによる仮想空間の断面図である。 ステップS303における処理の詳細を示すフローチャートである。 平面Ptによる仮想空間の断面図である。 本発明の第2の実施形態に係るステップS303における処理のフローチャートである。

Claims (13)

  1. 記録モードが設定されているときに、操作対象仮想物体に対する操作履歴をメモリに記録する記録工程と、
    前記操作対象仮想物体と同じ仮想空間中に存在する複数の仮想要素のうち、前記操作対象仮想物体との干渉判定の対象とする仮想要素を、前記記録工程で記録した操作履歴に基づいて選択する選択工程と、
    前記選択工程で選択した1以上の仮想要素のそれぞれと、前記操作対象仮想物体との干渉判定処理を行う干渉判定工程と、
    前記干渉判定工程による結果を出力する出力工程と
    を備えることを特徴とする情報処理方法。
  2. 前記記録モードの設定は、ユーザ指示によって行われることを特徴とする請求項1に記載の情報処理方法。
  3. 前記操作履歴は前記操作対象仮想物体の移動軌跡であり、
    前記選択工程では、前記移動軌跡の近傍に存在する仮想要素を干渉判定の対象として選択することを特徴とする請求項1に記載の情報処理方法。
  4. 前記記録工程では、記録開始時から記録終了時までの間で予め決められた時間間隔毎に前記操作対象仮想物体の位置を前記メモリに記録することを特徴とする請求項1に記載の情報処理方法。
  5. 前記記録工程では、記録開始時から記録終了時までの間で予め決められた距離間隔毎に前記操作対象仮想物体の位置を前記メモリに記録することを特徴とする請求項1に記載の情報処理方法。
  6. 前記選択工程では、前記記録工程で記録された各位置の近傍に位置する仮想要素を、前記操作対象仮想物体との干渉判定の対象として選択することを特徴とする請求項4又は5に記載の情報処理方法。
  7. 前記仮想要素は、前記操作対象仮想物体以外の仮想物体、若しくは当該仮想物体を構成する構成単位であることを特徴とする請求項1に記載の情報処理方法。
  8. 前記仮想物体がポリゴンでもって構成されている場合、前記構成単位はポリゴンであることを特徴とする請求項7に記載の情報処理方法。
  9. 更に、前記操作対象仮想物体、及び前記操作対象仮想物体以外の仮想要素を表示装置に表示させる表示制御工程を備え、
    前記表示制御工程では、前記選択工程で選択された構成要素と選択されていない構成要素とを異なる表示方法でもって表示することを特徴とする請求項1に記載の情報処理方法。
  10. 更に、
    前記記録モードが設定されている間は、前記干渉判定工程が行う干渉判定処理よりも簡便な方法でもって、前記操作対象仮想物体と前記複数の仮想要素との干渉判定処理を行う第2の干渉判定工程と、
    前記第2の干渉判定工程による結果を出力する第2の出力工程と
    を備えることを特徴とする請求項1に記載の情報処理方法。
  11. 記録モードが設定されているときに、操作対象仮想物体に対する操作履歴をメモリに記録する記録手段と、
    前記操作対象仮想物体と同じ仮想空間中に存在する複数の仮想要素のうち、前記操作対象仮想物体との干渉判定の対象とする仮想要素を、前記記録手段が記録した操作履歴に基づいて選択する選択手段と、
    前記選択手段が選択した1以上の仮想要素のそれぞれと、前記操作対象仮想物体との干渉判定処理を行う干渉判定手段と、
    前記干渉判定手段による結果を出力する出力手段と
    を備えることを特徴とする情報処理装置。
  12. コンピュータに請求項1乃至10の何れか1項に記載の情報処理方法を実行させるためのプログラム。
  13. 請求項12に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2006236757A 2006-08-31 2006-08-31 情報処理方法、情報処理装置 Expired - Fee Related JP4986543B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006236757A JP4986543B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置
PCT/JP2007/067096 WO2008026752A1 (en) 2006-08-31 2007-08-28 Information processing method and information processing apparatus
US12/439,179 US8145460B2 (en) 2006-08-31 2007-08-28 Information processing method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006236757A JP4986543B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置

Publications (3)

Publication Number Publication Date
JP2008059375A true JP2008059375A (ja) 2008-03-13
JP2008059375A5 JP2008059375A5 (ja) 2009-10-15
JP4986543B2 JP4986543B2 (ja) 2012-07-25

Family

ID=39136031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006236757A Expired - Fee Related JP4986543B2 (ja) 2006-08-31 2006-08-31 情報処理方法、情報処理装置

Country Status (3)

Country Link
US (1) US8145460B2 (ja)
JP (1) JP4986543B2 (ja)
WO (1) WO2008026752A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013029931A (ja) * 2011-07-27 2013-02-07 Mazda Motor Corp 部品間隙間自動検証方法及び装置
US10614590B2 (en) 2017-06-27 2020-04-07 Canon Kabushiki Kaisha Apparatus for determination of interference between virtual objects, control method of the apparatus, and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5628083B2 (ja) * 2011-04-13 2014-11-19 株式会社日立製作所 計算機システム、及び組立アニメーション生成方法
KR20140010616A (ko) * 2012-07-16 2014-01-27 한국전자통신연구원 3d 가상 객체에 대한 조작 처리 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307935A (ja) * 1997-05-09 1998-11-17 Hitachi Ltd 3次元モデルの生成方法、および、3次元モデルの干渉検査方法
JPH11175573A (ja) * 1997-12-15 1999-07-02 Hitachi Ltd 近接部品検索方法及び検索装置
JPH11184898A (ja) * 1997-12-18 1999-07-09 Fujitsu Ltd 物体移動シミュレーション装置
JP2001067381A (ja) * 1999-08-30 2001-03-16 Canon Inc 干渉チェック装置、方法、及び記憶媒体
JP2002304425A (ja) * 2001-04-03 2002-10-18 Canon Inc 経路設計支援装置及び経路設計の支援方法
JP2004094750A (ja) * 2002-09-02 2004-03-25 Ricoh Co Ltd 3次元形状処理装置、干渉モデル検出方法、プログラム、及び記憶媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5575636A (en) 1994-06-21 1996-11-19 Praxair Technology, Inc. Porous non-fouling nozzle
US5640335A (en) * 1995-03-23 1997-06-17 Exa Corporation Collision operators in physical process simulation
JP3378726B2 (ja) 1996-05-24 2003-02-17 富士通株式会社 機械装置の設計/製造工程支援装置
JP2000200361A (ja) * 1998-08-07 2000-07-18 Sega Enterp Ltd 画像処理装置及び情報記録媒体
JP2000350865A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実空間のゲーム装置、その画像処理方法およびプログラム記憶媒体
US7191104B2 (en) * 2002-07-11 2007-03-13 Ford Global Technologies, Llc Method of real-time collision detection between solid geometric models
FR2861858B1 (fr) * 2003-10-29 2014-09-05 Snecma Moteurs Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions entre l'objet articule et l'environnement
FR2861857B1 (fr) * 2003-10-29 2006-01-20 Snecma Moteurs Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions internes entre les elements articules de l'objet articule
US20060192852A1 (en) * 2005-02-09 2006-08-31 Sally Rosenthal System, method, software arrangement and computer-accessible medium for providing audio and/or visual information
JP4335160B2 (ja) * 2005-03-02 2009-09-30 任天堂株式会社 衝突判定プログラムおよび衝突判定装置
JP4739002B2 (ja) * 2005-06-30 2011-08-03 キヤノン株式会社 画像処理方法、画像処理装置
JP2007164252A (ja) * 2005-12-09 2007-06-28 Sony Computer Entertainment Inc 仮想空間のオブジェクトを管理するシステム
JP5030132B2 (ja) * 2006-01-17 2012-09-19 任天堂株式会社 ゲームプログラムおよびゲーム装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307935A (ja) * 1997-05-09 1998-11-17 Hitachi Ltd 3次元モデルの生成方法、および、3次元モデルの干渉検査方法
JPH11175573A (ja) * 1997-12-15 1999-07-02 Hitachi Ltd 近接部品検索方法及び検索装置
JPH11184898A (ja) * 1997-12-18 1999-07-09 Fujitsu Ltd 物体移動シミュレーション装置
JP2001067381A (ja) * 1999-08-30 2001-03-16 Canon Inc 干渉チェック装置、方法、及び記憶媒体
JP2002304425A (ja) * 2001-04-03 2002-10-18 Canon Inc 経路設計支援装置及び経路設計の支援方法
JP2004094750A (ja) * 2002-09-02 2004-03-25 Ricoh Co Ltd 3次元形状処理装置、干渉モデル検出方法、プログラム、及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013029931A (ja) * 2011-07-27 2013-02-07 Mazda Motor Corp 部品間隙間自動検証方法及び装置
US10614590B2 (en) 2017-06-27 2020-04-07 Canon Kabushiki Kaisha Apparatus for determination of interference between virtual objects, control method of the apparatus, and storage medium

Also Published As

Publication number Publication date
US20090259443A1 (en) 2009-10-15
JP4986543B2 (ja) 2012-07-25
US8145460B2 (en) 2012-03-27
WO2008026752A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
EP1808210B1 (en) Storage medium having game program stored thereon and game apparatus
US7084869B2 (en) Methods and apparatus for detecting and correcting penetration between objects
US8243061B2 (en) Image processing apparatus and method of controlling operation of same
JP4115188B2 (ja) 仮想空間描画表示装置
US8154544B1 (en) User specified contact deformations for computer graphics
US20080030461A1 (en) Mixed reality presentation apparatus and control method thereof, and program
JPH10247252A (ja) 衝突判定処理装置
JP2019519387A (ja) 拡張現実ロボットシステムの可視化
EP3629302B1 (en) Information processing apparatus, information processing method, and storage medium
US10614590B2 (en) Apparatus for determination of interference between virtual objects, control method of the apparatus, and storage medium
JP2005227876A (ja) 画像処理方法、画像処理装置
JP6291155B2 (ja) プログラム及びサーバ
KR100787952B1 (ko) 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템
JP2007242022A (ja) 衝突感知装置及び方法
JP4986543B2 (ja) 情報処理方法、情報処理装置
JP6676294B2 (ja) 情報処理装置、情報処理方法、プログラム
CA3128614A1 (en) Method and system for displaying a large 3d model on a remote device
JP4334961B2 (ja) 画像生成情報、情報記憶媒体及び画像生成装置
JP2006215750A (ja) 画像処理方法、画像処理装置
JP2005071285A (ja) 空間内のインタラクションに応じて詳細度を変更する衝突検出方法及びその方法を用いた仮想空間生成装置
US20210217250A1 (en) Method and apparatus for providing guide for combining pattern pieces of clothing
JP2006343954A (ja) 画像処理方法、画像処理装置
CN112486319A (zh) 基于触觉渲染设备的vr交互方法、装置、设备及介质
JP2001266175A (ja) 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体
JP2007213437A (ja) 情報処理方法、情報処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

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: 20120420

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: 20120424

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees