(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、刺激子に対応する位置周辺の高さをどのように変更するか開示されていないが、例えば、以下のように変更することが想定される。
すなわち、刺激子に対応する位置周辺の範囲を設定し、刺激子に対応する位置で変更した高さ位置を通るようなサインカーブを用いて、刺激子に対応する位置周辺の高さの変更量を算出する。そして、前記算出結果に基づいて、刺激子に対応する位置周辺の高さを変更する。
【0007】
このようなサインカーブを用いた場合には、前記算出結果およびCADデータ上の位置により描かれるグラフにおいて、立ち上がり位置(高さの変更が開始される部分)における曲率が0とならない。この場合、立ち上がり位置において、表面起伏の曲率半径が不連続に変化してしまう可能性がある。(
図14参照)。なお、
図14は、曲率半径が一定となる表面起伏の頂点に対して所定の修正量を設定するとともに、表面起伏の断面線が対称となるような修正範囲を設定し、サインカーブを用いて修正範囲における修正量を算出し、表面起伏を修正した結果を示す図である。
また、表面起伏の断面線が非対称となるような修正範囲を設定した場合等においては、異なる形状のサインカーブを組み合わせて、刺激子に対応する位置周辺の高さの変更量を算出する。このため、異なる形状のサインカーブの連結部分において、表面起伏の曲率半径が不連続に変化してしまう可能性がある(
図15参照)。なお、
図15は、曲率半径が一定となる表面起伏の頂点に対して所定の修正量を設定するとともに、表面起伏の断面線が非対称となるような修正範囲を設定し、サインカーブを用いて修正範囲における修正量を算出し、表面起伏を修正した結果を示す図である。
【0008】
このように、表面起伏の曲率半径が不連続に変化した場合には、表面起伏がなだらかな形状とならない。
すなわち、特許文献1に開示されるCADシステムでは、表面起伏を正確に修正できない可能性があった。
【0009】
本発明は、以上の如き状況を鑑みてなされたものであり、CADデータ上の表面起伏を正確に修正できる形状修正方法を提供するものである。
【課題を解決するための手段】
【0010】
本発明に係る形状修正方法は、CADデータ上の表面起伏を修正する形状修正方法であって、前記表面起伏の頂点での修正量を設定する第一設定工程と、前記第一工程で設定した修正量に基づいて、前記表面起伏の修正範囲を設定する距離を算出する第一算出工程と、前記頂点における接平面から前記表面起伏までの、前記接平面と直交する方向に沿った距離が、前記修正範囲を設定する距離以下となる前記頂点周辺の範囲を、前記表面起伏の修正範囲として設定する第二設定工程と、前記接平面から前記表面起伏までの前記接平面と直交する方向に沿った距離、および前記修正範囲を設定する距離の比に応じた前記修正範囲における修正量の関係式を用いて、前記修正範囲における修正量を算出する第二算出工程と、を行い、前記関係式は、前記距離の比および前記関係式の値により描かれるグラフが滑らかな曲線を描くとともに、前記距離の比が1である位置における前記グラフの曲率が0となる式によって規定される、ものである。
【0011】
本発明に係る形状修正方法は、前記CADデータを読み込んで、前記CADデータ上の表面起伏を擬似的に知覚させる触覚ディスプレイによって、前記CADデータ上の表面起伏の中から修正する表面起伏を検出する、ものである。
【0012】
本発明に係る形状修正方法は、前記修正工程において、前記修正範囲における修正量Nは、例えば、以下の式1によって算出され、前記関係式f(h/H)は、以下の式2によって規定されるとともに、以下の式3で算出した変数tを前記式2に代入することで算出される、ものである。
(式1)N=L*f(h/H)
(式2)f(h/H)=(1−t)
3
(式3)|h/H|=t+at(1−t)
ここで、前記式1から前記式3までにおいて、Lは前記頂点での修正量、hは前記接平面から前記表面起伏までの前記接平面と直交する方向に沿った距離、Hは前記修正範囲を設定する距離、aは定数を表す。
【0013】
本発明に係る形状修正方法は、前記修正工程において、前記式3における定数aには、−0.2以上、かつ0以下の範囲の数値が設定される、ものである。
【発明の効果】
【0014】
本発明は、CADデータ上の表面起伏を正確に修正できる、という効果を奏する。
【発明を実施するための形態】
【0016】
以下では、本実施形態の形状修正方法について説明する。
【0017】
本実施形態の形状修正方法は、触覚ディスプレイ10によって、CAD(Computer Aided Design)データ上の表面起伏Wを修正するものである(
図1および
図5参照)。
【0018】
まず、触覚ディスプレイ10の構成について説明する。
図1に示すように、触覚ディスプレイ10は、CADデータを読み込んで、CADデータ上の表面起伏Wを擬似的に知覚させるものである。触覚ディスプレイ10は、液晶画面11、触覚デバイス12、ダイヤルスイッチ13、フットペダル14、カメラ15、およびPC16等を具備する。
【0019】
液晶画面11は、PC16と接続され、PC16からの出力に基づいてCADデータを表示する。
【0020】
なお、本実施形態の形状修正方法は、金型の面歪を修正するときに用いられるものとする。すなわち、CADデータは、金型のキャビティ面を設計するためのCADデータである。
ただし、形状修正方法の用途は、本実施形態に限定されるものでない。
【0021】
触覚デバイス12は、指関節に局所的な刺激を与えるためのものである。触覚デバイス12は、液晶画面11に載置される。
図2に示すように、触覚デバイス12は、刺激子12a等を備える。
【0022】
刺激子12aは、触覚デバイス12の上面に設けられる。刺激子12aは、例えば、人差し指、中指、および薬指の第一関節から第三関節までに対向する位置に配置され、ピエゾ素子によって上下動可能に構成される。
図1および
図2に示すように、触覚デバイス12は、PC16と接続され、PC16からの出力に基づいて刺激子12aを上下動させる。
【0023】
図1および
図3に示すように、ダイヤルスイッチ13は、表面起伏Wの修正量を設定するためのものである。
人(熟練作業者)は、ダイヤルスイッチ13を操作することで、液晶画面11に表示されるカーソルに対応する位置において、表面起伏Wの修正量を設定する。
ダイヤルスイッチ13は、PC16と接続され、人が操作した内容(表面起伏Wの修正量)をPC16に入力する。
【0024】
フットペダル14は、前記カーソルを移動させるためのものである。人は、フットペダル14を操作することで、前記カーソルを表面起伏Wの頂点P(表面起伏Wにおいて最も突出している部分)に移動させ、高さを修正する表面起伏Wを選択する。
フットペダル14は、PC16と接続され、人が操作した内容(前記カーソルを移動させる位置)をPC16に入力する。
【0025】
カメラ15は、触覚デバイス12の位置を検出するものである。カメラ15は、PC16と接続され、検出した触覚デバイス12の位置情報をPC16に入力する。このようなカメラ15には、触覚デバイス12の位置を測定可能な市販のカメラが用いられる。
【0026】
なお、触覚ディスプレイ10は、必ずしもカメラ15を具備する必要はない。すなわち、触覚デバイス12の移動量を検出するセンサ等により、触覚デバイス12の位置を特定しても構わない。
【0027】
PC16は、CADデータを読み込んでCADデータ上の表面形状を仮想空間内に配置する。PC16は、カメラ15から触覚デバイス12の位置情報を取得して触覚デバイス12の位置を特定する。そして、PC16は、
図1および
図2に示すように、仮想空間において、触覚デバイス12の位置に対応する位置における表面起伏Wの高さを特定し、当該特定した表面起伏Wの高さに対応する距離だけ触覚デバイス12の刺激子12aを上下動させる。
また、PC16は、
図1および
図3に示すように、ダイヤルスイッチ13の操作に応じて、表面起伏Wの頂点Pの高さを修正する。このとき、PC16は、形状修正方法を用いて表面起伏Wの頂点P周辺の高さも修正する。
【0028】
なお、触覚ディスプレイ10の構成は、本実施形態に限定されるものでなく、CADデータを読み込んで、CADデータ上の表面起伏Wを人に擬似的に知覚させることができる構成であればよい。
【0029】
次に、形状修正方法の手順について説明する。
【0030】
まず、
図1および
図2に示すように、形状修正方法は、触覚ディスプレイ10のPC16にCADデータを読み込ませ、CADデータを液晶画面11に表示させる。人は、触覚デバイス12の上面に掌を載せた状態で、液晶画面11をなぞるように触覚デバイス12を移動させることで、刺激子12aから刺激を受け、CADデータ上の表面起伏Wを擬似的に知覚する。
【0031】
図1および
図3に示すように、人は、触覚ディスプレイ10によって知覚する情報に基づいて、CADデータ上の表面起伏Wの中から修正する表面起伏Wを検出する。人は、フットペダル14を操作して、検出した表面起伏Wの頂点Pに前記カーソルを移動させ、ダイヤルスイッチ13を操作する。
これにより、検出した表面起伏Wの頂点Pに対して、修正量が設定される(
図3に示す符号L参照)。
【0032】
このように、形状修正方法は、表面起伏Wの頂点Pでの修正量Lを設定する第一設定工程を行う。
【0033】
なお、形状修正方法は、必ずしも触覚ディスプレイ10を用いて表面起伏Wを検出する必要はない。
【0034】
頂点Pでの修正量Lを設定した後で、
図4(a)に示すように、形状修正方法は、表面起伏Wの修正範囲Rを設定する。
このとき、形状修正方法は、仮想空間内において、頂点Pにおける接平面S1から、表面起伏Wの基端側(
図4(a)では下側)に接平面S1と直交する方向に沿って所定の距離だけ離れた位置に、修正範囲Rを設定する平面S2を作成する。
そして、形状修正方法は、接平面S1から修正範囲Rを設定する平面S2までの範囲に含まれる頂点P周辺の範囲を、表面起伏Wの修正範囲Rとして設定する。
【0035】
以下では、接平面S1から修正範囲Rを設定する平面S2までの、接平面S1と直交する方向に沿った距離を「修正範囲Rを設定する距離H」と表記する。
また、接平面S1から表面起伏Wまでの、接平面S1と直交する方向に沿った距離を「接平面S1から表面起伏Wまでの距離h」と表記する。
【0036】
図4に示すように、形状修正方法は、このような修正範囲Rを設定する距離Hを、頂点Pでの修正量Lに比例して変化させる。すなわち、形状修正方法は、頂点Pでの修正量Lと、所定の比例定数との積により、修正範囲Rを設定する距離Hを算出する。
これにより、修正範囲Rを設定する距離Hは、頂点Pでの修正量Lが多い場合に前記比例定数に応じて長くなり、頂点Pでの修正量Lが少ない場合に前記比例定数に応じて短くなる。つまり、修正範囲Rは、頂点Pでの修正量Lが多い場合に広くなり、頂点Pでの修正量Lが少ない場合に狭くなる。
【0037】
このように、形状修正方法は、頂点Pでの修正量Lに基づいて、表面起伏Wの修正範囲Rを設定する距離Hを算出する第一算出工程を行う。
また、形状修正方法は、接平面S1から表面起伏Wまでの距離hが、修正範囲Rを設定する距離H以下となる頂点P周辺の範囲を、表面起伏Wの修正範囲Rとして設定する第二設定工程を行う。
【0038】
修正範囲Rを設定した後で、形状修正方法は、
図5に示すように、修正範囲Rにおける修正量Nを算出する第二算出工程を行う。このとき、形状修正方法は、例えば、以下の式1によって、修正範囲Rにおける修正量Nを算出する。
(式1)N=L*f(h/H)
【0039】
ここで、前記式1において、f(h/H)は、接平面S1から表面起伏Wまでの距離h、および修正範囲Rを設定する距離Hの比h/Hに応じた修正範囲Rにおける修正量Nの関係式を表す。
【0040】
すなわち、形状修正方法は、関係式f(h/H)を用いて、修正範囲Rにおける修正量Nを算出する。
【0041】
ここで、
図6を参照しながら関係式f(h/H)で算出される値について説明する。
図6に示すグラフGは、距離の比h/Hを横軸にとり、関係式f(h/H)の値を縦軸にとったグラフである。
【0042】
距離の比h/Hが0である場合、つまり、頂点Pでの修正量を算出するとき、関係式f(h/H)の値は、1となる。すなわち、頂点Pでの修正量は、ダイヤルスイッチ13によって設定される頂点Pでの修正量Lのままである。
【0043】
グラフGにおいて、距離の比h/Hが0から増加するにつれて、関係式f(h/H)の値は、徐々に減少する。
【0044】
距離の比h/Hが1である場合、つまり、立ち上がり位置P1(修正が開始される部分、
図5参照)における修正量を算出するとき、関係式f(h/H)の値は、0となる。すなわち、立ち上がり位置P1での修正量は、0である。
【0045】
形状修正方法では、このような距離の比h/Hおよび関係式f(h/H)の値により描かれるグラフGが滑らかな曲線を描くような式によって、関係式f(h/H)を規定している。
【0046】
また、形状修正方法では、距離の比h/Hが1である位置における曲率が0となる式によって、関係式f(h/H)を規定している。
従って、グラフGにおいて、距離の比h/Hが1である位置周辺における傾きは、0あるいは0とみなせることができる程度に充分小さい値となる。
【0047】
本実施形態の形状修正方法では、このような式1における関係式f(h/H)を、例えば、以下の式2によって規定している。
(式2)f(h/H)=(1−t)
3
【0048】
ここで、前記式2におけるtは、例えば、以下の式3によって決定する変数を表す。
(式3)|h/H|=t+at(1−t)
【0049】
ここで、前記式3におけるaは、定数を表す。
本実施形態において、前記式3における定数aには、−0.2以上、かつ0以下の範囲の数値が設定される。
【0050】
なお、前記式1における関係式f(h/H)は、以下の式2−1ように一般化できる。
(式2−1)f(h/H)=p(1−t)+q(1−t)
2+r(1−t)
3
【0051】
ここで、前記式2−1におけるp、q、およびrは、定数を表す。
【0052】
図5に示すように、形状修正方法は、表面起伏Wの修正範囲Rに対応する部分において、接平面S1から表面起伏Wまでの距離hを算出することで、前記式3の変数tを算出する。そして、形状修正方法は、前記式3で算出した変数tを前記式2に代入することで、関係式f(h/H)の値を算出する。
【0053】
形状修正方法は、このような前記式1から前記式3を用いた修正範囲Rにおける修正量Nの算出結果に基づいて、表面起伏Wを修正する(
図5に点線で示す修正後の表面起伏W参照)。
【0054】
以下では、形状修正方法を用いて、表面起伏Wを修正した結果について説明する。
【0055】
図7は、形状修正方法を用いて、曲率半径が一定となる表面起伏Wの頂点Pを、所定量だけ持ち上げる修正を行った結果を示す図である。すなわち、
図7は、前記式1から前記式3を用いて、修正範囲Rにおける修正量Nを算出して、表面起伏Wを修正した結果を示す図である。
また、
図14は、
図7の場合と同じ形状の表面起伏Wに対して、
図7の場合と同じ修正範囲Rを設定し、修正後の表面起伏Wの頂点Pが
図7の場合と同じ位置を通るようなサインカーブを用いて、修正範囲Rにおける修正量を算出し、表面起伏Wを修正した結果を示す図である。
【0056】
なお、
図7、
図9〜
図15に示すグラフの横軸は、断面線に沿った表面起伏Wの位置情報を示すものである。また、Pは頂点の位置であり、P1は立ち上がり位置P1である。
【0057】
図14(c)に示すように、サインカーブを用いた場合には、立ち上がり位置P1において、修正後の表面起伏Wの曲率半径が不連続に変化している。
これは、サインカーブを用いて算出される修正量のグラフでは、立ち上がり位置P1における曲率が0とならないこと起因する(
図14(a)参照)。
【0058】
ここで、
図5および
図6に示すように、立ち上がり位置P1における距離の比h/Hは、1である。
前述のように、形状修正方法では、距離の比が1である位置における曲率が0となる式(前記式2および前記式3)によって、関係式f(h/H)を規定している。
【0059】
また、前述のように、形状修正方法は、修正範囲Rを設定するときに、頂点Pでの修正量Lに応じて修正範囲Rを変化させている(
図4参照)。
このとき、形状修正方法は、
図7(a)に示す修正量Nのグラフにおいて、立ち上がり位置P1における曲率が0となる程度に広い範囲となるように、修正範囲Rを設定している。
【0060】
これにより、
図7に示すように、形状修正方法は、
図7(a)に示す修正量Nのグラフにおいて、立ち上がり位置P1における曲率を0にしている。
これによれば、形状修正方法は、修正後の表面起伏Wの曲率半径が不連続に変化することを防止できる。
【0061】
また、前述のように、形状修正方法は、
図6に示すように、グラフGが滑らかな曲線を描くような式によって、関係式f(h/H)を規定している。
これによれば、
図7に示すように、形状修正方法は、どの位置においても修正後の表面起伏Wの曲率半径が不連続に変化することを防止できる。
【0062】
従って、形状修正方法によれば、表面起伏Wをなだらかな形状に修正できる。つまり、形状修正方法は、表面起伏Wを正確に修正できる。
【0063】
なお、形状修正方法は、
図8に示すように、修正範囲Rを設定する平面S2を接平面S1に対して傾斜させても構わない。このとき、形状修正方法は、頂点Pから修正範囲Rを設定する距離Hだけ、接平面S1と直交する方向に沿って離れた位置を支点として、修正範囲Rを設定する平面S2を接平面S1に対して傾斜させる。
つまり、修正範囲Rを設定する距離Hは、表面起伏Wの位置に応じて変化させても構わない。
【0064】
修正範囲Rを設定する平面S2を傾斜させる場合、触覚ディスプレイ10は、例えば、立ち上がり位置P1を示す線分を液晶画面11に表示させ、ダイヤルスイッチ13の操作に応じて、修正範囲Rを設定する平面S2の傾斜度合いを調整可能に構成される。
【0065】
図9は、修正範囲Rを設定する平面S2を傾斜させ、形状修正方法を用いて曲率半径が一定となる表面起伏Wの頂点Pを、所定量だけ持ち上げる修正を行った結果を示す図である。
また、
図15は、
図9の場合と同じ形状の表面起伏Wに対して、
図9の場合と同じ修正範囲Rを設定し、修正後の表面起伏Wの頂点Pが
図9の場合と同じ位置を通るようなサインカーブを用いて、修正範囲Rにおける修正量を算出して、表面起伏Wを修正した結果を示す図である。
【0066】
図15(c)に示すように、サインカーブを用いた場合には、立ち上がり位置P1に加えて、頂点P付近でも修正後の表面起伏Wの曲率半径が不連続に変化している。
これは、
図15(a)に示す修正量のグラフにおいて、頂点Pより右側と、頂点Pより左側とで、異なるサインカーブを用いて修正範囲Rにおける修正量を算出していることに起因する。
【0067】
形状修正方法は、前記式1〜前記式3を用いて全ての修正量を算出するため、修正範囲Rを設定する平面S2を傾斜させた場合でも、頂点P付近で修正後の表面起伏Wの曲率半径が不連続に変化することを防止できる。
つまり、形状修正方法は、表面起伏Wの断面線が非対称となるような範囲を設定した場合でも、表面起伏Wを正確に修正できる。
【0068】
図10および
図11は、形状修正方法を用いて、曲率半径が一定とならない表面起伏Wの頂点Pを、所定量だけ持ち上げる修正を行った結果を示す図である。
なお、
図11の頂点Pでの修正量Lは、
図10の場合と比較して、少ない値が設定されている。また、
図11は、修正範囲Rを設定する距離Hを算出するための比例定数を大きくすることで、
図10の場合と同じ修正範囲Rを設定している。
【0069】
図10および
図11に示すように、形状修正方法は、曲率半径が一定とならない表面起伏Wを修正する場合でも、修正範囲Rを設定する平面S2を傾斜させた場合と同様に、前記式1〜前記式3を用いて全ての修正量を算出する。
【0070】
このため、形状修正方法は、表面起伏Wの形状に関わらず、修正後の表面起伏Wの曲率半径が不連続に変化することを防止できる。
また、頂点Pでの修正量Lの大きさに関わらず、修正後の表面起伏Wの曲率半径が不連続に変化することを防止できる。
【0071】
図12および
図13は、形状修正方法を用いて、曲率半径が一定となる表面起伏Wの頂点Pを、所定量だけ持ち上げる修正を行った結果を示す図である。
図12および
図13は、前記式3における定数aが異なっている。具体的には、
図12は定数aを0に設定した場合の結果であり、
図13は定数aを−0.5に設定した場合の結果である。
【0072】
図12(b)および
図13(b)に示すように、定数aを−0.5に設定した場合、定数aを0に設定した場合と比較して、修正後の表面起伏Wが鋭くなる。
【0073】
すなわち、本実施形態のように、定数aを−0.2以上、かつ0以下の範囲の数値に設定することで、形状修正方法は、表面起伏Wが鋭くなりすぎることを防止できる。つまり、表面起伏Wをよりなだらかな形状に修正できる。
【0074】
なお、関係式f(h/H)を規定する式は、前記式2に限定されるものでない。すなわち、関係式f(h/H)は、例えば、以下の式2−2によって規定されても構わない。
(式2−2)f(h/H)=(1−t)
5
また、関係式f(h/H)を規定する式は、以下の式2−3によって一般化されるようなn次多項式で規定しても構わない。
(式2−3)f(h/H)=p(1−t)+q(1−t)
2+r(1−t)
3・・・v(1−t)
n+・・・
【0075】
ここで、前記式2−3におけるp、q、r、およびvは、定数を表す。