本発明の実施形態に係るワークの加工機(工作機械)1は、工具(加工工具;たとえばボールエンドミル)3を用いて被加工物としてのワーク5を加工するものであり、図1や図2で示すように、ワーク保持部7と工具保持部9と移動部11と制御部13(制御装置)とを備えて構成されている。
ここで、空間における所定の一方向をX方向(X軸方向;横方向)とし、空間における所定の他の一方向であってX方向に対して直交する方向をY方向(Y軸方向;前後方向)とし、X方向とY方向とに対して直交する方向をZ方向(Z軸方向;上下方向)する。なお、この定義では、X方向とY方向とが水平方向であってZ方向が上下方向になるがこれに限定されるものではなく、X方向もしくはY方向が上下方向となってもよいし、X方向、Y方向、Z方向が、水平方向や上下方向に対して斜めになっていてもよい。
ワーク保持部7は、ワーク5を保持するように構成されており、工具保持部9は、工具3を保持するように構成されている。工具保持部9で保持されている保持済み工具3(以下、単に「工具3」という)は、ワーク保持部7で保持されている保持済みワーク5(以下、単に「ワーク5」という)を加工(切削加工)するようになっている。
工具3としての(ボールエンドミル)は、外周に切れ刃部が設けられている。さらに説明すると、ボールエンドミル3は、円柱状の基端部15(図1)と半球状の先端部17とを備えて構成されている。基端部15の外径と先端部17の直径とはお互いが一致しており、基端部15の中心軸C1の延伸方向の一方の端に、先端部17がくっついた形状になっている。なお、先端部17の中心軸と基端部15の中心軸C1とはお互いが一致している。
ここで、先端部17の円形の端面(基端部15の円形の端面にくっついている端面)の中心を、先端部17の中心C2とする。この中心C2は、工具3の中心軸C1上に存在している。
ボールエンドミル3の切れ刃は、先端部17の外周と基端部15の端部(先端部17側の端部)とに形成されている。ボールエンドミル3は、基端部15の他方の端部が工具保持部9に係合して工具保持部で保持されるようになっている。
そして、工具保持部9で保持されている工具3は、回転(中心軸C1を回転中心にして自転)することで、切れ刃でワーク5を切削加工するようになっている。
移動部11は、ワーク5を保持済み工具3で加工するために、ワーク5に対して工具3を相対的に移動するように構成されている。なお、工具3に対してワーク5を移動しても良い。
制御部13は、NCプログラムに基づいて移動部11を制御し、ワーク5に対し工具3を移動するように構成されている。
さらに説明すると、図2で示すように、ワーク5の加工機1は、ベッド19とテーブル21とコラム23と主軸支持体25と主軸筐体27とスピンドル29と備えて構成されている。
テーブル21は、図示しないリニアガイドベアリングを介してベッド19に支持されており、図示しないリニアモータ等のアクチュエータにより、X方向でベッド19に対して相対移動されるようになっている。
コラム23はベッド19に一体的に設けられている。主軸支持体25は、図示しないリニアガイドベアリングを介してコラム23に支持されており、図示しないリニアモータ等のアクチュエータにより、Y方向でコラム23に対して相対移動されるようになっている。
主軸筐体27は、図示しないリニアガイドベアリングを介して主軸支持体25に支持されており、図示しないリニアモータ等のアクチュエータにより、Z方向で主軸支持体25に対して相対移動されるようになっている。
スピンドル29は、ベアリングを介して主軸筐体27に支持されており、図示しないモータ等のアクチュエータにより、中心軸(Z方向に延びている工具3と共通の中心軸)C1を回転中心にして主軸筐体27に対し回転自在になっている。
スピンドル29には、工具保持部9が設けられており、テーブル21の上面には、ワーク保持部7が設けられている。これにより、ワーク5に対し保持済み工具3がX方向、Y方向、Z方向で相対的に移動するようになっている。
NCプログラムには、工具3の位置(ワーク5に対する座標)を算出するための演算式(たとえば、四則演算等を用いた数式式)が組み込まれている。すなわち、保持済み工具3が移動するときの位置座標は、演算式の解によって決定されるようになっている。
また、NCプログラムは、工具3の輪郭誤差によるワーク5の加工誤差の発生を抑えるために、演算式を用いて、工具3の位置を補正するように構成されている
工具3の位置の補正は、該工具3の加工点T1(詳細は後述する)における加工面に対する法線ベクトルV1と、工具3との輪郭誤差とを用いてなされる。これにより、X方向、Y方向、Z方向のうちの少なくともいずれかの方向(法線ベクトルV1の形態で決まる)で、工具3の三次元的な位置が補正される。
ここでは、まず、図2に示す工具形状測定装置31により測定される輪郭誤差の補正である初期校正処理(後述する図12のステップS102)について説明する。
工具3の輪郭誤差は、工具形状測定装置31によって、ワーク5を実際に加工する前に、事前に求められる。なお、以下では、「工具形状測定装置31」を用いて初期的に工具3の輪郭誤差を算出する処理を、「初期校正処理」という。
工具形状測定装置31は、ワークの加工機1の所定の位置に設置されている。そして、保持済み工具3の形状を工具形状測定装置31(レーザやカメラなど)で測定可能な位置に保持済み工具3を位置させて、保持済み工具3を回転(中心軸C1まわりで自転)させておくことで、保持済み工具3の外形を機上(ワークの加工機1の機上)で測定するようになっている。
この測定した保持済み工具3の外形と、理想的な形状の(形状誤差の無い)保持済み工具の外形との差(工具3の部位毎の差)を、工具3の「輪郭誤差」とする。
図3(a)に破線で示すものは、理想的な形状の工具の外形形状であり、図3(a)に実線で示すものは、形状誤差のある実際の工具3の外形形状である。図3(a)では、中心軸C1まわりで工具の回転をしていない。また、図3(a)に実線で示す保持済み工具3は、中心軸C1に対してごく僅かに右側に偏って位置している。
図3(b)に破線で示すものは、理想的な形状の工具の外形形状であり、図3(b)に実線で示すものは、形状誤差のある実際の工具3(図3(a)に実線で示した工具3)を中心軸C1のまわりで回転させたときの外形形状である。
図3(b)に実線で示す工具3の形状は、当然のことであるが中心軸C1に対して線対称になっている。ワーク5の加工が、ボールエンドミル3の先端部17でされるとすれば、ボールエンドミル3の輪郭誤差は、図3で示すように、先端部17の1/4の円弧(即ち、角度が90°の範囲)で求めればよいことになる。
なお、工具形状測定装置として、たとえば、特開昭63-233403号公報で示されているものを掲げることができる。
ここで、工具(ボールエンドミル)3の輪郭誤差を、図4を参照しつつさらに詳しく説明する。
図4に二点鎖線で示す半円弧状のものは、形状誤差の無い工具の外形形状である。図4に実線で示すものは、工具形状測定装置31で測定された工具3の先端部17の外形形状である。なお、図では理解を容易にするために、輪郭誤差を誇張して記載している。
工具3の半球状の先端部17の中心C2から工具3の、1/4円弧状の外形に向かって延びる複数本の半直線L00~L90を、角度10°間隔で引く。工具3の中心軸C1と半直線L00と交差角度は「0°」になっている。保持済み工具3の中心軸C1と半直線L10と交差角度は「10°」になっている。同様にして、保持済み工具3の中心軸C1と半直線L20~半直線L90と交差角度は「20°」~「90°」になっている。
ここで、半直線L00と理想形状の工具の外形との交点を交点Q00aとする。同様に、半直線L10、L20、・・L90と、理想形状の工具の外形との交点を交点Q10a、Q20a・・Q90aとする。一方、半直線L00、L10、L20、・・L90と、工具形状測定装置31で測定した実際の工具3の外形との交点を交点Q00b、Q10b、Q20b・・Q90bとする。
そして、それぞれの差分を参照符号「#500~#590」としてメモリなどに記憶する。具体的に、「#500=Q00b-Q00a」とし、「#510=Q10b-Q10a」とし、以下同様にして、「#590=Q90b-Q90a」とする。
参照符号(プログラム変数番号になる)#500~#590で示す寸法の値は、半直線L00~L90において、理想形状の工具の外形との交点Q00a~Q90aと、実際の工具3の外形との交点Q00b~Q90bとの間の距離であり、それぞれの半直線における工具3の輪郭誤差の値を示している。
なお、図4では、工具3の中心軸C1に対する半直線L00~L90の交差角度が10°の間隔で刻まれていることで、工具3の輪郭誤差が10カ所で求められて存在していることになるが、交差角度がさらに細かい間隔(たとえば、1°の間隔)で刻まれていてもよい。
すなわち、たとえば、工具3の中心軸C1との交差角度が「64°」になっている半直線L64のところにおける工具3の輪郭誤差(交点Q64aと交点Q64bとの間の距離;#564)という具合に、工具3の輪郭誤差が91カ所で求められて存在していてもよい。
これらの各輪郭誤差の値は、工具形状測定装置31を用いて上述した「初期校正処理」を実施することにより、工具3の輪郭誤差を示すデータとして、工具3によるワーク5の加工がされる前に、予め、図2で示すPC33aのメモリ(PC33や制御部13のメモリ35でもよい)に記憶されている。なお、図2に符号47で示すものは、工具3の輪郭誤差を示すデータである。
ここで、工具3の輪郭誤差によるワーク5の加工精度の悪化を防ぐためのNCプログラム(補正有NCプログラム)について説明する。
図2で示すように、CADデータ(完成品としてワークの形状を示すデータ)37と、CAM39で作成された加工パス(工具の輪郭誤差が「0」であるとするCADデータに基づいたNCプログラム)とから、工具3の加工点T1(図5参照)における法線ベクトル(単位法線ベクトル)V1を、たとえば、PC33(PC33aでもよい。)で求める。
工具3の半球状の先端部17の切れ刃部がワーク5を切削加工しているときに、工具3とワーク5との接触点が加工点T1になる。
さらに説明すると、ワーク5を工具3を用い所定の切り込み量で切削加工しているときに、ワーク5に対して工具3がX方向やY方向やZ方向に移動しているのであるが、この加工をしているときに、たとえば、工具3がこの移動方向の最も後端で、ワーク5に接している点(加工後にワークの外形形状を決める箇所)が加工点T1になる。
加工点T1を中心とした加工点T1の近傍は曲面であるが、平面とみなせるごく微小な面が存在しているとみなすこともできる。法線ベクトルV1は、上記ごく微小な曲面に対して直交しているベクトルであり、X方向の成分とY方向の成分とZ方向の成分とを備えている。また、法線ベクトルV1は、このスカラー量が「1」になっている。
即ち、法線ベクトルV1は単位ベクトルである。そして、本実施形態では、初期校正処理により、工具3のずれ量(スカラー量)を演算する。更に、法線ベクトルV1を演算する。そして、後述するように、法線ベクトルV1をX方向、Y方向、Z方向のそれぞれの方向に分解し、更に、ずれ量を乗算して、X方向、Y方向、Z方向のずれ量を演算する。
ワーク5を切削加工するときの保持済み工具3の位置の補正についてさらに説明する。
図5に示すように、ワーク5を切削加工するとき、工具3は、X方向、Y方向、Z方向のうちの少なくともいずれかの方向で、保持済みワーク5に対して移動する。このときの工具3の座標値は、たとえば、図6で示すように、座標値f51(X-1.60657 Y-0.42583 Z-1.09809)から、座標値f52(X-1.62951 Y-0.6141 Z-1.09809)に所定の僅かな時間をかけてたとえば直線的に移動する。同様にして、座標値f52から座標値f53に移動し、さらに、座標値f53から座標値f54に、座標値f54から座標値f55に・・・・移動する。また、加工点T1も当然に移動する。
なお、図6で示すものは、工具3の輪郭誤差に対する補正がされていないときの(理想的な工具で切削加工するときに)工具3の座標値(NCプログラムの一部)を示している。
図7は、図6に示した座標値f51~f55に、補正値を加算した座標値f61~f65を示している。工具3の輪郭誤差に対する補正がされることで、図7で示すような、・・・座標値f61、座標値f62、座標値f63、座標値f64、座標値f65・・・を、この順に工具3が通ることとなる。
なお、座標値f61、座標値f62・・・は、演算式を備えており、PC33で作成され、ワークの加工機1の制御部13に送られる。そして、制御部13で演算式の計算が行われるようになっている。なお、PC33を用いることなく、制御部13で、演算式を備えている座標値f61、座標値f62・・・が作成される構成であってもよい。
工具3の輪郭誤差に対する補正をするときの保持済み工具3の座標値を、座標値f61を例に掲げて説明する。
座標値f61におけるX座標の「-1.60657」は、補正がされる前の(輪郭誤差の補正の無い)保持済み工具3のX方向の座標値である。座標値f61における「-0.89101」は、加工点T1における法線ベクトルV1のX方向成分である。座標値f61における「*」は、掛け算の記号(×)である。座標値f61における参照符号「#564」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。
座標値f61におけるY座標の「-0.42583」は、補正がされる前の(輪郭誤差の補正の無い)工具3のY方向の座標値である。座標値f61における「0.11528」は、加工点T1における法線ベクトルV1のY方向成分である。座標値f61における参照符号「#564」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。
座標値f61におけるZ座標の「-1.09809」は、補正がされる前の(輪郭誤差の補正の無い)工具3のZ方向の座標値である。座標値f61における「-0.4391」は、加工点T1における法線ベクトルV1のZ方向成分である。座標値f61における参照符号「#564」は、図4を用いて説明したような、保持済み工具3の加工点T1における輪郭誤差(スカラー量)である。
なお、座標値f61におけるX方向成分とY方向成分とZ方向成分とを有する法線ベクトルV1の大きさは「1」になる。すなわち、「((-0.89101・・・)2+(0.11528・・・)2+(-0.4391・・・)2)1/2=1」になる。
ここで、図2で示すような、ワーク5の加工機1、PC33、CAM39を備えたワークの加工システムの動作について説明する。
初期状態では、工具3が工具保持部9で保持されており、ワーク5がワーク保持部7で保持されており、保持済み工具3の輪郭誤差が測定されている。
上記初期状態で、CAM39で加工パス41を作成し、CADデータ37と加工パス41とで、PC33により工具3の輪郭誤差に基づいた補正がされた加工パス(補正済み加工パス)43を作成し、補正済み加工パス43をワークの加工機1の制御装置(制御部13)に送る。
ワークの加工機1は、制御部13の制御の下、補正済み加工パス43に基づき移動部11を制御して、保持済み工具3を回転させつつ保持済みワーク5に対して適宜移動し、保持済みワーク5の切削加工を行う。
ワークの加工機1によれば、NCプログラムに、工具3の位置(座標値)を算出するための演算式が組み込まれているので、工具を交換したり、工具が摩耗したとき等に、その都度、NCプログラムを作り直す必要を無くすことができる。
すなわち、具体的な数字を使うと、工具を交換したり工具が摩耗したりしたとき等に、その都度、NCプログラムを作り直さなければいけないが、演算式にすることで、その時々に変化する工具輪郭誤差に随時対処することができる。
また、演算式を用いることで、測定した工具輪郭値を変数に格納しておき、加工時に計算(演算)が行われるので、NCプログラムを一度作成すればその後ずっと利用することができる。また、NCプログラムの演算式の演算を制御部13で行うので、専用の装置が不要になる。
また、ワークの加工機1によれば、NCプログラムが、工具3の輪郭誤差によるワーク5の加工誤差の発生を抑えるために、演算式を用いて、工具3の位置を補正するように構成されているので、NCプログラムの構成を簡素化することができる。
また、ワークの加工機1によれば、CADデータ37と加工パス41とを用いて工具3の加工点T1における法線ベクトルV1を求め、この法線ベクトルV1と加工点T1における工具3の輪郭誤差とを含む演算式を用いて工具3の位置を補正しているので、保持済み工具3の位置を確実に精度良く補正をすることができる。
ところで、上記説明では、ワークの加工機1へのNCプログラムの供給を外部のPC33から送信で行っているが、ワークの加工機1へのNCプログラムの供給をメモリカード等のメディアを介して行ってもよい。
ところで、図4で示す態様では、工具3の輪郭誤差が1°単位で求められている。すなわち、輪郭誤差が求められている工具3の部位は、非連続(連続していない)、たとえば1°毎のとびとびの状態で存在している。
そこで、加工点T1が、輪郭誤差が存在していない工具3の部位になっている場合には、加工点T1を間にしてお互いが隣接している2つの部位の輪郭誤差を用いて、加工点T1の輪郭誤差を算出し、この算出した輪郭誤差を用いて、工具3の位置の補正をするようになっている。
詳しく説明すると、工具3の輪郭誤差は、図4を用いて説明したように、工具3の回転中心軸C1に対する交差角度を1°毎の間隔にして求められている。しかし、実際には、工具3の加工点T1が、図8で示すように、たとえば、63.9°の角度のところになる事態が当然に発生する。
この場合、63.9°の角度(中途の角度)のところの工具3の輪郭誤差は、中途の角度に隣接している一方の角度63°のところの工具3の輪郭誤差を示す参照符号「#563」と、中途の角度に隣接している他方の角度64°のところの工具3の輪郭誤差を示す参照符号「#564」とを用いて求められる。この場合、一方の角度63°、他方の角度64°のうちで、上記中途の角度63.9°に近い角度64°のところにおける輪郭誤差を示す参照符号「#564」を偏重して用いる。
具体例を掲げて説明すると、中途の角度63.9°と一方の角度63°との第1の差0.9°を求め、他方の角度64°と中途の角度63.9°と第2の差0.1°を求める。
また、他方の角度64°と一方の角度63°との差である1°に対する第1の差0.9°の第1の割合である「0.9」と、他方の角度64°と一方の角度63°との差である1°に対する第2の差0.1°の第2の割合である「0.1」とを求める。
中途の角度63.9°のところにおける工具の輪郭誤差は、第1の割合0.9×他方の角度64°のところの工具の輪郭誤差を示す参照符号「#564」と、第2の割合0.1×一方の角度63°のところの工具の輪郭誤差を示す参照符号「#563」との和で求められる。
中途の角度63.9°のところの工具の輪郭誤差で補正をするときの保持済み工具3の座標値を、図9に示す座標値f81を例に掲げて説明する。
座標値f81における「-1.60657」は、補正がされる前の(輪郭誤差の補正の無い)保持済み工具のX方向の座標値である。座標値f81における「-0.89101」は、座標値f81の加工点T1における法線ベクトルのX方向成分である。
座標値f81における参照符号「#563」は、図4を用いて説明したような、保持済み工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.046」は、上述した第2の割合「0.1」に相当する値(割合)である。
座標値f81における参照符号「#564」は、図4を用いて説明したような、保持済み工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.954」は、上述した第1の割合「0.9」に相当する値(割合)である。
座標値f81における「-0.42583」は、補正がされる前の(輪郭誤差の補正の無い)工具3のY方向の座標値である。座標値f81における「0.11528」は、座標値f81の加工点T1における法線ベクトルのY方向成分である。
座標値f81における参照符号「#563」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.046」は、上述した第2の割合「0.1」に相当する値(割合)である。
座標値f81における参照符号「#564」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.954」は、上述した第1の割合「0.9」に相当する値(割合)である。
座標値f81における「-1.09809」は、補正がされる前の(輪郭誤差の補正の無い)工具3のZ方向の座標値である。座標値f81における「-0.4391」は、座標値f81の加工点T1における法線ベクトルのZ方向成分である。
座標値f81における参照符号「#563」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.046」は、上述した第2の割合「0.1」に相当する値(割合)である。
座標値f81における参照符号「#564」は、図4を用いて説明したような、工具3の加工点T1における輪郭誤差(スカラー量)である。座標値f81における「0.954」は、上述した第1の割合「0.9」に相当する値(割合)である。
座標値f82、座標値f83、座標値f84、座標値f85・・・も座標値f81と同様に解釈される。
工具3の輪郭誤差に対する補正(中途の角度のところの工具3の輪郭誤差で補正)がされることで、図9で示すような、・・・座標値f81、座標値f82、座標値f83、座標値f84、座標値f85・・・をこの順に工具3が通って、ワーク5の切削加工がなされる。
なお、図8、図9では、具体的な数字を掲げているが、図8で示す態様を一般化すると図10(a)で示すようになり、図9で示す態様を一般化すると図10(b)で示すようになる。
ワークの加工機1によれば、輪郭誤差が求められている保持済み工具3の部位が非連続のとびとびの状態で存在しており、加工点T1が、輪郭誤差が存在していない工具3の部位になっていても、加工点T1を間にしてお互いが隣接している2つの部位の輪郭誤差を用いて、加工点T1の輪郭誤差を算出し、この算出した輪郭誤差を用いて、工具3の位置の補正をするので、被加工面における段差等の発生が防止され、より形状精度のよいワーク5を得ることができる。
上述のように、初期校正処理では、工具形状測定装置31を用いて工具3(保持済み工具)の輪郭誤差を演算して、初期構成処理を実施することにより、工具3の輪郭誤差を相殺するように補正する処理について説明した。
次に、上記初期校正処理に加えて、工具3の摩耗や撓みにより生じる輪郭誤差の補正処理について説明する。
本願発明は、上述した工具形状測定装置31により測定される輪郭誤差の補正に加えて、工具3によるワーク5の加工を開始してから終了するまでの間の工具3の摩耗量および撓み量を測定し、この摩耗量および撓み量に起因して変化する工具3の形状を考慮してNCプログラムを補正し、より高精度なワーク5の加工を実施する。
図11は工具3の先端部の形状を示す説明図であり、図11(a)に示すように、f0は理想的な工具形状を示し、f1は、実工具形状を示し、f2は、撓み量を合成した工具形状を示す。図11(b)に示すように、斜線部分Rは、摩耗による消失量を示す。なお、摩耗による消失量Rおよび撓みによる歪み量f2の算出については、後で詳しく説明する。
図11から理解されるように、工具3は、加工を継続することにより摩耗および撓みにより形状が変化する。本願発明では、摩耗および撓みによる形状の変化を考慮して、NCプログラムを補正する。
摩耗量のデータを収集する処理として、工具3を用いて実際にワーク5を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。
この処理では、任意の加工処理において、工具3がワーク5の加工を開始してから加工が終了するまでの間の、加工パスを取得する。そして、加工パス中で、工具3がワーク5と接触している場所、及び接触していない場所を算出し、工具3とワーク5が接触している場所における移動距離を「切削移動距離」とする。
ここで、図12に示すフローチャートを参照して、本発明の実施形態に係るワークの加工機の処理手順について説明する。
初めに、図12のステップS101において、市販のCAMに基づいて、ワーク5を加工する際のNCプログラム、即ち、工具3による加工パスの3次元座標を生成する。ステップS102において、前述した初期校正処理を行う。
ステップS103において、NCプログラムと、加工機のCADデータを比較し、工具3の各領域R1~R5の切削移動距離を算出する。
ここで、図13、図14を参照して、「切削移動距離」の算出方法について説明する。たとえば、図13に示す如くの、表面が曲面形状を有するワーク5を工具を用いて切削する場合には、図14(a)に示すように、工具3を第1の方向(ここでは、矢印Y1に示す方向)に向けて移動させ、更に、第1の方向に直交する方向にスライド移動させて、再度矢印Y1の方向に移動させて切削するという処理を連続的に実施する。この際、加工形状に応じて、たとえば図14(b)に示す加工点A、図14(c)に示す加工点Bのように、加工点に応じて、工具3の先端部がワーク5に接触する部位を認識できる。
即ち、工具3による加工を開始してから終了するまでに、工具3が移動する際に、工具3の先端がワーク5と接触して移動する距離、即ち切削移動距離を算出することができる。なお、接触、非接触の判断は、たとえば、ワーク5の表面から、工具3による加工の深さが0.5[μm]以上である場合を、工具3とワーク5が接触しているものと判断する。或いは、他の判断基準として、工具3とワーク5の仕上がり形状の表面との距離が一定値以下の場合に、工具3とワーク5が接触しているものと判断する。しかし、これらに限定されるものではない。
ステップS104において、各領域R1~R5の切削移動距離毎の摩耗量Mを予測する。具体的に、図15に示したグラフを作成し、各領域R1~R5毎の、進捗率に応じた摩耗量Mを予測する。
ここでは、切削移動距離と工具3の摩耗量との関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具3が摩耗により形状変化した量を推定し、NCプログラムを補正する。以下に一例をあげて詳細に説明する。
図16は、工具3を用いてワーク5を加工する手順、及び工具3の切削移動距離を示す説明図である。図16(a)は、ワーク5の形状を示しており、表面に平面部及び曲面部を有している。図16(b)は、工具3によりワーク5を加工する際の、加工経路を示す説明図である。図16(b)に示すように、工具3を第1の方向(トラバース方向)に移動させながらワーク5を加工し、更に、第1の方向に直交する第2の方向(ピックフィード方向)にスライドさせて、更に、第1の方向に移動させるという動作を繰り返しながら、ワーク5を加工する。
図16(c)は、工具3の先端部の領域を示す図、図16(d)は、NCプログラムの進捗率[%]と、工具3の先端部の各部位の切削移動距離との関係を示すグラフである。
図16(c)に示すように、工具3の軸方向を「0°」とし、工具3の軸と直交する方向を「90°」と定義し、0°付近を領域R1とし、90°付近を領域R5として、工具3の先端部を5つの領域R1、R2、R3、R4、R5に分割する。すると、NCプログラムのデータから、各領域R1~R5によりワーク5を切削する距離を算出することができ、たとえば、図16(d)に示すグラフのようになる。なお、本実施形態では、5つの領域R1~R5に区分する例について説明するが、本発明はこれに限定されるものではない。
従って、ワーク5の加工を実施する際に、NCプログラムの進捗率に対する、各領域R1~R5の切削移動距離のデータが得られる。即ち、本実施形態では、実際にワーク5を加工する際の工具3の加工パス中で、該工具3がワーク5と接触しているときの、切削移動距離を算出する。この際、CADデータを参照して、工具3がワーク5に接触している領域R1~R5を特定し、更に、各領域R1~R5の切削距離を求める。
図17は、工具3をNCプログラムに従って作動させて、ワーク5を加工したときの、切削移動距離と各領域R1~R5の摩耗量Mとの関係を示すグラフである。
この切削移動距離と各領域R1~R5の摩耗量Mとの関係は、以下のように求められる。
まず、摩耗量Mのデータを収集する処理としては、工具3を用いて実際にワーク5を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具3の摩耗量を得る。
そして、工具3がワーク5の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具3がワーク5と接触している場所、及び接触していない場所を算出し、工具3とワーク5が接触している場所における移動距離を「切削移動距離」とする。
このようにして、切削移動距離と各領域R1~R5の摩耗量Mとの関係が得られる。
図17のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具3の先端の「0°」付近の領域R1では摩耗量が小さく、領域R2では摩耗量が大きくなり、更に、領域R5に向かうほど摩耗量が小さくなることが理解される。即ち、概して言えば、摩耗量の大きさはR2>R3>R4>R5>R1となっている。
そして、制御部13では、図16(d)に示したグラフと、図17に示したグラフに基づいて、NCプログラムの進捗率に対する各領域R1~R5の摩耗量を推定することができる。たとえば、図15に示すグラフが得られる。
そして、図15に示すグラフを参照することにより、NCプログラムの進捗率に対する、各領域R1~R5の摩耗量Mを推定することができる。この推定結果を用いて、工具3の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理による輪郭誤差を演算し、更に、上述した摩耗量Mを考慮して、NCプログラムを補正すれば良い。
具体的に、工具3の先端の0°から90°までの91個の角度についてそれぞれ、摩耗量Mを演算し、NCプログラムの進捗率が100%のときの工具3の形状(即ち、摩耗量Mを考慮した工具3の形状)を基準とした輪郭誤差を参照符号「#600~690」として制御部13のメモリに記憶する。即ち、「#500~#590」は摩耗量Mを考慮しない輪郭誤差による参照符号であり、「#600~#690」は摩耗量Mを考慮した輪郭誤差による参照符号である。
そして、加工の進捗率に応じて、参照符号#500~#590、及び参照符号#600~#690を配分して補正値を演算し、NCプログラムを補正する。
ステップ105において、各領域R1~R5の切削移動距離毎の撓み量Lを予測する。具体的に、図19に示したグラフを作成し、各領域R1~R5毎の、進捗率に応じた撓み量Lを予測する。
ここでは、切削移動距離と工具3の撓み量Lとの関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具3が撓みにより形状変化した量を推定し、NCプログラムを補正する。以下、詳細に説明する。
図16には、工具3を用いてワーク5を加工する手順、及び工具3の切削移動距離が示されている。
前述したように、NCプログラムのデータから、各領域R1~R5によりワーク5を切削する距離を算出することができ、たとえば、図16(d)に示すグラフのようになる。なお、本実施形態では、5つの領域R1~R5に区分する例について説明するが、本発明はこれに限定されるものではない。
従って、ワーク5の加工を実施する際に、NCプログラムの進捗率に対する、各領域R1~R5の切削移動距離のデータが得られる。
図18は、工具3をNCプログラムに従って作動させて、ワーク5を加工したときの、切削移動距離と各領域R1~R5の撓み量Lとの関係を示すグラフである。
ここで、この切削移動距離と各領域R1~R5の撓み量Lとの関係は、以下のように求められる。
まず、工具3の摩耗量Mのデータを収集する。ここでは、工具3を用いて実際にワーク5を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具3の摩耗量を得る。
次に、加工後のワーク形状を測定し、本来加工する予定の形状(CADデータ等)と比較して削り残しの量を得る。すなわち、削り残しの原因は、摩耗と撓みであるので、削り残しの量が摩耗より多い場合は、その多い分が撓みとなる。
従って、削り残しの量-摩耗量=撓み量の式から撓み量が得られる。
そして、工具3がワーク5の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具3がワーク5と接触している場所、及び接触していない場所を算出し、工具3とワーク5が接触している場所における移動距離を「切削移動距離」とする。
このようにして、切削移動距離と各領域R1~R5の撓み量Lとの関係が得られる。
図18のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具3の先端の「0°」付近の領域R1では撓み量Lが小さく、領域R2では撓み量Lが大きくなり、更に、領域R5に向かうほど撓み量Lが小さくなることが理解される。即ち、概して言えば、撓み量Lの大きさはR2>R3>R4>R5>R1となっている。
そして、制御部13では、図16(d)に示したグラフと、図18に示したグラフに基づいて、NCプログラムの進捗率に対する各領域R1~R5の撓み量Lを推定することができる。たとえば、図19に示すグラフが得られる。
そして、図19に示すグラフを参照することにより、NCプログラムの進捗率に対する、各領域R1~R5の撓み量Lを推定することができる。この推定結果を用いて、工具3の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理によって輪郭誤差を演算し、更に、上述した撓み量Lを考慮して、NCプログラムを補正すれば良い。
具体的に、工具3の先端の0°から90°までの91個の角度についてそれぞれ、撓み量Lを演算し、NCプログラムの進捗率が100%のときの工具3の形状(即ち、撓み量Lを考慮した工具3の形状)を基準とした輪郭誤差を参照符号「#600~690」として制御部13のメモリに記憶する。即ち、「#500~#590」は撓み量Lを考慮しない輪郭誤差による参照符号であり、「#600~#690」は撓み量Lを考慮した輪郭誤差による参照符号である。
そして、加工の進捗率に応じて、参照符号#500~#590、及び参照符号#600~#690を配分して補正値を演算し、NCプログラムを補正する。
図20は、0°~90°までの各角度毎の、参照符号#500と参照符号#600の配分率を示す説明図である。工具3による加工が開始されてから、終了するまでの配分率が設定されている。
図20から理解されるように、加工開始前においては、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#500~#590を100%、摩耗量Mおよび撓み量Lを考慮した輪郭誤差による参照符号#600~#690を0%とする。その後、進捗率が高まるにつれて参照符号#600~#690の比率を増加させ、参照符号#500~#590の比率を低下させる。加工終了時において、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#500~#590を0%、摩耗Mおよび撓み量Lを考慮した輪郭誤差による参照符号#600~#690を100%とする。
たとえば、前述した図9の(f85)に記載したX成分である、[-1.68077+[-0.90974*[#565*0.227+#566*0.773]]]を例に挙げると、参照符号「#565」を「#565」と「#665」を所定の比率で配分した数値とする。同様に、参照点「#566」を「#566」と「#666」を所定の比率で配分した数値とする。
具体的に、図9の(f85)に示した「#565」を、「(0.667)*(#565)+(0.333)*(#665)」とする。この場合は、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#565の比率は「0.667」で、摩耗量Mおよび撓み量Lを考慮した輪郭誤差による参照符号#665の比率は「0.333」である。
即ち、角度65°の場合には、図21の式に示すように、X座標を演算する。なお、Y座標、Z座標は記載を省略しているが、X座標と同様の演算式となる。
摩耗および撓みにより変化した後の実際の工具の形状は、加工が終了して測定を実施するまで知ることができない。しかし、前述した図15および図19に示したグラフを参照することにより、摩耗量および撓み量を推定することができる。
ステップS106において、NCプログラムに、摩耗予測および撓み予測を加えたベクトル演算式を付加し、更に、加工終了時点での工具3の各角度(0°~90°)における総摩耗量を専用のファイルなどに保存する。
ステップS107において、加工機1の制御部13にNCプログラムを読み込ませる。
ステップS109において、ステップS102の処理で採取した工具形状に基づいて、NCプログラムの補正量を算出し、参照符号(#500~#590)を制御部13のメモリ等にセットする。
ステップS110において、工具3の摩耗量および撓み量のデータに基づいて、NCプログラムの補正量を算出し、参照符号(#600~#690)を制御部13のメモリ等にセットする。その後、ステップS111において、工具3による加工を開始する。
こうして、工具3の摩耗量Mおよび撓み量Lを考慮した輪郭誤差に基づいてNCプログラムを補正して工具3を作動させ、ワーク5の加工を実施することができるのである。
このようにして、ワークの加工機では、ワーク5の加工が進むにつれて変動する工具3の摩耗量および撓み量を予め測定し、切削移動距離に応じた摩耗量および撓み量を推定する。そして、工具3によるワーク5の加工が開始されてから加工が進捗するにつれて、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号「#500~#590」と、摩耗量Mおよび撓み量Lを考慮した輪郭誤差による参照符号「#600~#690」の比率を変化させて、NCプログラムを補正している。従って、工具3の輪郭誤差、及び工具3の摩耗量に応じた適切なNCプログラムの補正が可能となり、ワーク5を高精度に加工することが可能となる。
なお、参照符号#500~#590と、参照符号#600~#690の比率は、一例として図20に示した比率を例に挙げて説明したが、本発明はこれに限定されるものではなく、ワーク5、工具3の形状、状況に応じて適宜の変更が可能である。
ところで、上記記載内容を、ワークの加工方法として把握してもよい。
すなわち、ワークを保持するワーク保持段階と、前記ワーク保持段階で保持された保持済みワークを加工する工具を保持する工具保持段階と、前記保持済みワークを前記工具保持段階で保持された保持済み工具で加工するために、前記保持済みワークに対し前記保持済み工具を移動する移動段階とを有し、前記移動段階は、NCプログラムに基づいて、前記保持済みワークに対し前記保持済み工具を移動する段階であり、前記NCプログラムには、前記保持済み工具の位置を算出するための演算式が組み込まれているワークの加工方法として把握してもよい。
上記ワークの加工方法において、前記NCプログラムは、前記保持済み工具の輪郭誤差による前記保持済みワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記保持済み工具の位置を補正するようにしてもよい。
また、上記ワークの加工方法において、前記輪郭誤差が求められている前記保持済み工具の部位は、非連続のとびとびの状態で存在しており、前記加工点が、前記輪郭誤差が存在していない前記保持済み工具の部位になっている場合には、前記加工点を間にしてお互いが隣接している2つの部位の輪郭誤差を用いて、前記加工点の輪郭誤差を算出し、この算出した輪郭誤差を用いて、前記保持済み工具の位置の補正をするようにしてもよい。
また、上記ワークの加工方法において、前記NCプログラムに基づいて、前記保持済み工具が前記ワークの加工を開始してから加工が終了するまでの間に、前記ワークに対して移動する経路である加工パスを演算し、前記保持済み工具における各部位が、前記ワークを切削する距離である切削移動距離を算出し、且つ、前記保持済み工具による加工が終了したときの、前記各部位の摩耗量および撓み量に応じて、前記各部位毎の切削移動距離と摩耗量および撓み量との関係を取得し、前記保持済み工具の輪郭誤差に加え、前記切削移動距離と摩耗量および撓み量との関係に基づいて、前記NCプログラムを補正するようにしてもよい。
また、上記ワークの加工方法において、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させるようにしてもよい。
また、上記記載内容を、プログラム(NCプログラム;ワークの加工プログラム)として把握してもよい。
すなわち、ワーク保持部で保持されている保持済みワークを、工具保持部で保持されている保持済み工具で加工するために、前記保持済みワークに対し前記保持済み工具を移動する移動手順を、ワークの加工機に実行させるためのプログラムであって、前記プログラムには、前記保持済み工具の位置を算出するための演算式が組み込まれているプログラムとして把握してもよい。
上記プログラムにおいて、前記保持済み工具の輪郭誤差による前記保持済みワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記保持済み工具の位を補正するようにしてもよい。
また、上記プログラムにおいて、前記輪郭誤差が求められている前記保持済み工具の部位は、非連続のとびとびの状態で存在しており、前記加工点が、前記輪郭誤差が存在していない前記保持済み工具の部位になっている場合には、前記加工点を間にしてお互いが隣接している2つの部位の輪郭誤差を用いて、前記加工点の輪郭誤差を算出し、この算出した輪郭誤差を用いて、前記保持済み工具の位置の補正をするようにしてもよい。
また、上記プログラムにおいて、NCプログラムに基づいて、前記保持済み工具が前記ワークの加工を開始してから加工が終了するまでの間に、前記ワークに対して移動する経路である加工パスを演算し、前記保持済み工具における各部位が、前記ワークを切削する距離である切削移動距離を算出し、且つ、前記保持済み工具による加工が終了したときの、前記各部位の摩耗量および撓み量に応じて、前記各部位毎の切削移動距離と摩耗量および撓み量との関係を取得し、前記保持済み工具の輪郭誤差に加え、前記切削移動距離と摩耗量および撓み量との関係に基づいて、前記NCプログラムを補正するようにしてもよい。
また、上記プログラムにおいて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させるようにしてもよい。
次に、図22および図23に示すフローチャートを参照して、本発明に係るワークの加工機の処理手順の他の実施形態について説明する。この他の実施形態では、サンプル加工から本加工に至るまでの加工機の処理手順を説明する。
図22および図23は、本発明に係るワークの加工機の処理手順の他の実施形態のフローチャートである。
まず、図22のステップS201において、CAM39により、ワーク5をサンプル加工する際のNCプログラム、即ち、工具3による加工パスの3次元座標を生成される。ステップS202において、前述した初期校正処理のために、工具形状測定装置31により、保持済み工具3の形状が測定される。
次に、ステップ203において、PC33により、サンプル加工用のNCプログラムに、工具3の形状を考慮したベクトル演算式が付加される。すなわち、例えば、図21に示すような、工具3の座標を補正するための演算式が、NCプログラムに組み込まれる。
このように、NCプログラムに、工具3の位置(座標値)を補正するための演算式が組み込まれているので、工具を交換したり、工具が摩耗したとき等に、その都度、NCプログラムを作り直す必要を無くすことができる。
すなわち、具体的な数字を使うと、工具を交換したり工具が摩耗したりしたとき等に、その都度、NCプログラムを作り直さなければいけないが、演算式にすることで、その時々に変化する工具輪郭誤差に随時対処することができる。
また、この演算式を用いることで、測定した工具輪郭値を変数に格納しておき、加工時に計算(演算)が行われるので、NCプログラムを一度作成すればその後ずっと利用することができる。また、NCプログラムの演算式の演算を制御部13で行うので、専用の装置が不要になる。
また、ワークの加工機1によれば、NCプログラムが、工具3の輪郭誤差によるワーク5の加工誤差の発生を抑えるために、演算式を用いて、工具3の位置を補正するように構成されているので、NCプログラムの構成を簡素化することができる。
また、ワークの加工機1によれば、CADデータ37と加工パス41とを用いて工具3の加工点T1における法線ベクトルV1を求め、この法線ベクトルV1と加工点T1における工具3の輪郭誤差とを含む演算式を用いて工具3の位置を補正しているので、保持済み工具3の位置を確実に精度良く補正をすることができる。
次に、ステップ204において、制御部13により、サンプル加工用のNCプログラムが読み込まれ、ステップ205において、PC33により、上記ステップ202において採取された工具形状に基づいて、NCプログラムにおける工具形状補正量が算出され、制御部13のメモリ等に演算変数としてセットされる。
次に、ステップ206において、加工機1により、ワークとしてワーク5のサンプル加工が行われ、ステップ207において、上記サンプル加工の1工程目が終了した時点で、加工が中断され、ステップ208において、工具形状測定装置31により、加工機1上の工具3の形状が測定され、ステップ209において、ワーク5の形状が測定される。
次に、ステップ210において、PC33により、NCプログラムと、加工機1のCADデータとが比較され、工具3の各領域R1~R5の切削移動距離が算出される。すなわち、工具角度毎の切削移動距離が算出される。
ここで、図13、図14を参照して、「切削移動距離」の算出方法について説明する。たとえば、図13に示す如くの、表面が曲面形状を有するワーク5を工具を用いて切削する場合には、図14(a)に示すように、工具3を第1の方向(ここでは、矢印Y1に示す方向)に向けて移動させ、更に、第1の方向に直交する方向にスライド移動させて、再度矢印Y1の方向に移動させて切削するという処理を連続的に実施する。この際、加工形状に応じて、たとえば図14(b)に示す加工点A、図14(c)に示す加工点Bのように、加工点に応じて、工具3の先端部がワーク5に接触する部位を認識できる。
即ち、工具3による加工を開始してから終了するまでに、工具3が移動する際に、工具3の先端がワーク5と接触して移動する距離、即ち切削移動距離を算出することができる。なお、接触、非接触の判断は、たとえば、ワーク5の表面から、工具3による加工の深さが0.5[μm]以上である場合を、工具3とワーク5が接触しているものと判断する。或いは、他の判断基準として、工具3とワーク5の仕上がり形状の表面との距離が一定値以下の場合に、工具3とワーク5が接触しているものと判断する。しかし、これらに限定されるものではない。
次に、ステップS211において、PC33により、上記ステップ208において工具形状測定装置31により測定された工具3の形状から、各領域R1~R5の切削移動距離毎の摩耗量Mが算出される。すなわち、工具角度毎の切削移動距離毎の摩耗量Mが算出される。
具体的には、図15に示したグラフを作成し、各領域R1~R5毎の、進捗率に応じた摩耗量Mが算出され、PC33に記憶される。
ここでは、切削移動距離と工具3の摩耗量との関係を算出し、この関係を対応テーブルとしてPC33のメモリなどに記憶する。そして、実加工時において、工具3が摩耗により形状変化した量を推定し、NCプログラムを補正する。以下に一例をあげて詳細に説明する。
図16は、工具3を用いてワーク5を加工する手順、及び工具3の切削移動距離を示す説明図である。図16(a)は、ワーク5の形状を示しており、表面に平面部及び曲面部を有している。図16(b)は、工具3によりワーク5を加工する際の、加工経路を示す説明図である。図16(b)に示すように、工具3を第1の方向(トラバース方向)に移動させながらワーク5を加工し、更に、第1の方向に直交する第2の方向(ピックフィード方向)にスライドさせて、更に、第1の方向に移動させるという動作を繰り返しながら、ワーク5を加工する。
図16(c)は、工具3の先端部の領域を示す図、図16(d)は、NCプログラムの進捗率[%]と、工具3の先端部の各部位の切削移動距離との関係を示すグラフである。
図16(c)に示すように、工具3の軸方向を「0°」とし、工具3の軸と直交する方向を「90°」と定義し、0°付近を領域R1とし、90°付近を領域R5として、工具3の先端部を5つの領域R1、R2、R3、R4、R5に分割する。すると、NCプログラムのデータから、各領域R1~R5によりワーク5を切削する距離を算出することができ、たとえば、図16(d)に示すグラフのようになる。なお、本実施形態では、5つの領域R1~R5に区分する例について説明するが、本発明はこれに限定されるものではない。
従って、ワーク5の加工を実施する際に、NCプログラムの進捗率に対する、各領域R1~R5の切削移動距離のデータが得られる。即ち、本実施形態では、実際にワーク5を加工する際の工具3の加工パス中で、該工具3がワーク5と接触しているときの、切削移動距離を算出する。この際、CADデータを参照して、工具3がワーク5に接触している領域R1~R5を特定し、更に、各領域R1~R5の切削距離を求める。
図17は、工具3をNCプログラムに従って作動させて、ワーク5を加工したときの、切削移動距離と各領域R1~R5の摩耗量Mとの関係を示すグラフである。
この切削移動距離と各領域R1~R5の摩耗量Mとの関係は、以下のように求められる。
まず、摩耗量Mのデータを収集する処理としては、工具3を用いて実際にワーク5を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具3の摩耗量を得る。
そして、工具3がワーク5の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具3がワーク5と接触している場所、及び接触していない場所を算出し、工具3とワーク5が接触している場所における移動距離を「切削移動距離」とする。
このようにして、切削移動距離と各領域R1~R5の摩耗量Mとの関係が得られる。
図17のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具3の先端の「0°」付近の領域R1では摩耗量が小さく、領域R2では摩耗量が大きくなり、更に、領域R5に向かうほど摩耗量が小さくなることが理解される。即ち、概して言えば、摩耗量の大きさはR2>R3>R4>R5>R1となっている。
そして、PC33では、図16(d)に示したグラフと、図17に示したグラフに基づいて、NCプログラムの進捗率に対する各領域R1~R5の摩耗量を推定することができる。たとえば、図15に示すグラフが得られる。
そして、図15に示すグラフを参照することにより、PC33では、NCプログラムの進捗率に対する、各領域R1~R5の摩耗量Mを算出することができる。この算出結果を用いて、工具3の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理による輪郭誤差を演算し、更に、上述した摩耗量Mを考慮して、NCプログラムを補正すれば良い。
具体的には、工具3の先端の0°から90°までの91個の角度についてそれぞれ、摩耗量Mを演算し、NCプログラムの進捗率が100%のときの工具3の形状(即ち、摩耗量Mを考慮した工具3の形状)を基準とした輪郭誤差を参照符号「#600~690」として制御部13のメモリに記憶する。即ち、「#500~#590」は摩耗量Mを考慮しない輪郭誤差による参照符号であり、「#600~#690」は摩耗量Mを考慮した輪郭誤差による参照符号である。
そして、PC33により、加工の進捗率に応じて、参照符号#500~#590、及び参照符号#600~#690を配分して補正値が演算され、NCプログラムが補正される。
次に、ステップS212において、PC33により、各領域R1~R5の切削移動距離毎の撓み量Lが算出される。すなわち、工具角度毎の撓み量Lと切削移動距離の対応関係が算出される。
具体的には、図19に示したグラフを作成し、各領域R1~R5毎の、進捗率に応じた撓み量Lが算出され、PC33に記憶される。
ここでは、切削移動距離と工具3の撓み量Lとの関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具3が撓みにより形状変化した量を推定し、NCプログラムを補正する。以下、詳細に説明する。
図16には、工具3を用いてワーク5を加工する手順、及び工具3の切削移動距離が示されている。
前述したように、NCプログラムのデータから、各領域R1~R5によりワーク5を切削する距離を算出することができ、たとえば、図16(d)に示すグラフのようになる。なお、本実施形態では、5つの領域R1~R5に区分する例について説明するが、本発明はこれに限定されるものではない。
従って、ワーク5の加工を実施する際に、NCプログラムの進捗率に対する、各領域R1~R5の切削移動距離のデータが得られる。
図18は、工具3をNCプログラムに従って作動させて、ワーク5を加工したときの、切削移動距離と各領域R1~R5の撓み量Lとの関係を示すグラフである。
ここで、この切削移動距離と各領域R1~R5の撓み量Lとの関係は、以下のように求められる。
まず、工具3の摩耗量Mのデータを収集する。ここでは、工具3を用いて実際にワーク5を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具3の摩耗量を得る。
次に、加工後のワーク形状を測定し、本来加工する予定の形状(CADデータ等)と比較して削り残しの量を得る。すなわち、削り残しの原因は、摩耗と撓みであるので、削り残しの量が摩耗より多い場合は、その多い分が撓みとなる。
従って、削り残しの量-摩耗量=撓み量の式から撓み量が得られる。
そして、工具3がワーク5の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具3がワーク5と接触している場所、及び接触していない場所を算出し、工具3とワーク5が接触している場所における移動距離を「切削移動距離」とする。
このようにして、切削移動距離と各領域R1~R5の撓み量Lとの関係が得られる。
図18のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具3の先端の「0°」付近の領域R1では撓み量Lが小さく、領域R2では撓み量Lが大きくなり、更に、領域R5に向かうほど撓み量Lが小さくなることが理解される。即ち、概して言えば、撓み量Lの大きさはR2>R3>R4>R5>R1となっている。
そして、制御部13では、図16(d)に示したグラフと、図18に示したグラフに基づいて、NCプログラムの進捗率に対する各領域R1~R5の撓み量Lを推定することができる。たとえば、図19に示すグラフが得られる。
そして、図19に示すグラフを参照することにより、NCプログラムの進捗率に対する、各領域R1~R5の撓み量Lを推定することができる。この推定結果を用いて、工具3の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理によって輪郭誤差を演算し、更に、上述した撓み量Lを考慮して、NCプログラムを補正すれば良い。
具体的に、工具3の先端の0°から90°までの91個の角度についてそれぞれ、撓み量Lを演算し、NCプログラムの進捗率が100%のときの工具3の形状(即ち、撓み量Lを考慮した工具3の形状)を基準とした輪郭誤差を参照符号「#600~690」として制御部13のメモリに記憶する。即ち、「#500~#590」は撓み量Lを考慮しない輪郭誤差による参照符号であり、「#600~#690」は撓み量Lを考慮した輪郭誤差による参照符号である。
そして、加工の進捗率に応じて、参照符号#500~#590、及び参照符号#600~#690を配分して補正値を演算し、NCプログラムを補正する。
図20は、0°~90°までの各角度毎の、参照符号#500と参照符号#600の配分率を示す説明図である。工具3による加工が開始されてから、終了するまでの配分率が設定されている。
図20から理解されるように、加工開始前においては、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#500~#590を100%、摩耗量Mおよび撓み量Lを考慮した輪郭誤差による参照符号#600~#690を0%とする。その後、進捗率が高まるにつれて参照符号#600~#690の比率を増加させ、参照符号#500~#590の比率を低下させる。加工終了時において、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#500~#590を0%、摩耗Mおよび撓み量Lを考慮した輪郭誤差による参照符号#600~#690を100%とする。
たとえば、前述した図9の(f85)に記載したX成分である、[-1.68077+[-0.90974*[#565*0.227+#566*0.773]]]を例に挙げると、参照符号「#565」を「#565」と「#665」を所定の比率で配分した数値とする。同様に、参照点「#566」を「#566」と「#666」を所定の比率で配分した数値とする。
具体的に、図9の(f85)に示した「#565」を、「(0.667)*(#565)+(0.333)*(#665)」とする。この場合は、摩耗量Mおよび撓み量Lを考慮しない輪郭誤差による参照符号#565の比率は「0.667」で、摩耗量Mおよび撓み量Lを考慮した輪郭誤差による参照符号#665の比率は「0.333」である。
即ち、角度65°の場合には、図21の式に示すように、X座標を演算する。なお、Y座標、Z座標は記載を省略しているが、X座標と同様の演算式となる。
摩耗および撓みにより変化した後の実際の工具の形状は、加工が終了して測定を実施するまで知ることができない。しかし、前述した図15および図19に示したグラフを参照することにより、摩耗量および撓み量を算出することができる。
そして、ステップS213において、PC33により、加工終了時点での工具3の各角度(0°~90°)における撓み量Lと摩擦量Mと切削移動距離の対応関係が記憶される。
そして、総摩耗量および総撓み量が、PC33により、加工機1の制御部13に読み込まれる。なお、加工終了時点での工具3の各角度(0°~90°)における総摩耗量総撓み量を専用のファイルなどに保存しても良い。
次に、ステップ214において、PC33により、全てのサンプル加工工程が終了したか否かが判定され、全てのサンプル加工工程が終了していない場合、全てのサンプル加工工程が終了するまで、上記ステップ206~213が繰り替えされる。
そして、上記ステップ214において全てのサンプル加工工程が終了したと判定された場合、図23のステップ215において、PC33により、全てのサンプル加工工程が終了した時点における工具角度毎の摩耗量と切削移動距離との対応グラフデータが作成され、PC33のメモリ等に記憶され、ステップ216において、PC33により、全てのサンプル加工工程が終了した時点における工具角度毎の撓み量と切削移動距離との対応グラフデータが作成され、PC33のメモリ等に記憶される。
次に、ステップS217において、CAM39により、ワーク5を本加工する際のパスであるNCプログラムが生成され、ステップS218において、PC33により、工具形状測定装置31により、本加工における保持済み工具3の形状が測定される。
そして、ステップS219において、PC33により、本加工用のNCプログラムとCADデータとが比較され、工具角度毎の切削移動距離が算出され、ステップ220において、PC33により、工具角度毎の摩耗量が予測され、ステップ221において、PC33により、工具角度毎の撓み量が予測される。
次に、ステップS222において、PC33により、本加工用のNCプログラムに、工具形状、摩耗量、撓み量を考慮したベクトル演算式が付加され、ステップ223において、PC33により、本加工用のNCプログラムが、加工機1の制御部13へ読み込まれ、ステップ224において、PC33により、工具形状、摩耗量、撓み量による補正量が算出され、加工機1の制御部13における演算式の演算変数にセットされる。なお、上記ステップ217~224の処理内容は、サンプル加工の場合と同様である。
そして、ステップS225において、上記本加工用のNCプログラムによる制御部13の制御に基づいて、加工機1によりワークの本加工が開始され、ステップ226において、連続する他の本加工があるか否かが判定され、連続する他の本加工がある場合、ステップ217に戻り、連続する他の本加工がない場合は処理を終了する。
また、工具の撓みには、工具自身の撓みの他に、工具の軸受けの姿勢変化が考えられる。
図24は、工具の軸受けの姿勢変化のようすを示す概略図である。
図24に示すように、工具3を取り付けた軸受け3aを空気静圧により工具保持部材3b内に保持する場合に、その工具保持部材3b内において軸受け3aが姿勢変化を起こしてしまう場合があった。
図24において、軸受け3aの正常な状態は点線で示し、軸受け3aの姿勢変化を起こした状態は実線で示している。
このように、工具保持部材3b内において軸受け3aが姿勢変化を起こした場合にも、前述した本願発明による図12あるいは図22、23に示した処理手順を適用して輪郭誤差を補正したワーク5の加工を実施することができる。