〔実施形態1〕
以下、本発明の実施形態1について、図1〜図10に基づいて詳細に説明する。本実施形態では、回転工具2の移動経路(工具経路)情報等が記述された工具経路データ(NCデータ)から、安定限界線図を作成することなく、また一巡伝達関数を用いることなく計算精度の高い時間領域法(離散化法)を用いて後述の減衰度を短時間で計算するびびり振動回避装置1について説明する。また、本実施形態のびびり振動回避装置1は、実際の切削加工においてびびり振動を回避可能なように、算出した減衰度を可視化する。
<びびり振動回避装置1の構成>
まず、図1を用いて、びびり振動回避装置1の構成について説明する。図1は、びびり振動回避装置1の構成の一例を示す機能ブロック図である。また、図2は、びびり振動回避装置1がびびり振動を回避するための処理を行う対象となる工作機械、および被削物3を示す図である。
びびり振動とは、エンドミルの断続切削によって発生する定常的な強制振動ではなく、再生びびりまたはモードカップリングなどの自励振動を示す。びびり振動回避装置1は、切削加工においてよく問題となるこの自励振動を回避することを目的として処理を行う。
びびり振動回避装置1は、被削物3に対する切削加工のシミュレーションを行うことで、回転工具2によって被削物3を加工するときに生じるびびり振動を回避するための装置である。図2に示すように、回転工具2は、工作機械に取り付けられている。工作機械は、例えばNC3軸加工機であり、テーブルなどに固定した被削物3をその上部から側部にかけて回転工具2によって切削する。回転工具2は、その回転軸心(工具軸)がZ軸方向に向くように駆動部(不図示)に取り付けられ、回転工具2の切れ刃4の位置決めを、NCデータに基づいて、XY平面を含めた直交3軸について数値制御(NC制御)によって行う。
びびり振動回避装置1は、図1に示すように、表示部21、操作入力部22、制御部23および記憶部24を備える。表示部21は、表示制御部234の制御を受けて、びびり振動回避装置1が備える各種機能(アプリケーションソフト)が実行されることに起因する画像等の各種画像を表示する。操作入力部22は、入力されたユーザ操作を取得する。制御部23は、びびり振動回避装置1を統括的に制御する。記憶部24は、例えば、制御部23が実行する各種の制御プログラム等を記憶するものである。また、記憶部24には、例えば、操作入力部22が取得したユーザ操作に基づく各種入力データ、制御部23が算出した、被削物3の位置に応じた減衰度を示す減衰度表示画像等が記憶される。
<制御部23の構成>
次に、図1を用いて、制御部23の構成の一例について説明する。制御部23は、切削判定部231、変化量算出部232、減衰度算出部233および表示制御部234(処理実行部)を備える。
切削判定部231は、切れ刃4を仮想的に分割した複数の微小切れ刃5(図4参照)のうちの少なくとも1つの微小切れ刃5が、被削物3の内部に存在するか否かを判定する。
変化量算出部232は、切削判定部231が被削物3の内部に存在すると判定した微小切れ刃5において、回転工具2が所定量変位したときに生じるプロセスゲイン(第1切削力変化量)を算出する。プロセスゲインとは、より具体的には、回転工具2の振動変位によって発生する切削力変化量であり、単位振動変位(現在の振動変位と1刃前の振動変位との差)当たりの切削力変化量である。
また、変化量算出部232は、切削判定部231が被削物3の内部に存在すると判定した微小切れ刃5において、回転工具2の所定量の振動速度により生じるプロセスダンピングゲイン(第2切削力変化量)を算出する。プロセスダンピングゲインとは、より具体的には、単位振動速度当たりの切削力変化量である。
変化量算出部232は、微小切れ刃5ごとに、微小切れ刃5ごとの切削力変化量である微小プロセスゲインを算出していき、最終的に、被削物3の内部に存在する微小切れ刃5すべての微小プロセスゲインを加算することにより、プロセスゲインを算出する。同様に、変化量算出部232は、被削物3の内部に存在する微小切れ刃5ごとに算出した、微小切れ刃5ごとの切削力変化量である微小プロセスダンピングゲインを加算することにより、プロセスダンピングゲインを算出する。
減衰度算出部233は、回転工具2のNCデータに基づいて、被削物3の内部における回転工具2の位置ごとに、回転工具2の所定の回転回数当たりにびびり振動がどの程度減衰するかを示す減衰度を算出する。減衰度は、自励振動の成長のしにくさを表す無次元量(減衰振動量)であるともいえる。
より具体的には、減衰度算出部233は、回転工具2および被削物3の少なくとも一方の振動特性と、変化量算出部232が算出したプロセスゲインおよびプロセスダンピングゲインとに基づいて、モノドロミー行列(総状態遷移行列)を算出する。このモノドロミー行列とは、詳細は後述するが、回転工具2の1周期分の、回転工具2の状態の遷移を示す行列である。
減衰度算出部233は、回転工具2が不等ピッチ工具または不等リード工具の場合には、算出したモノドロミー行列における固有値の最大値の逆数を取った値を、減衰度として算出する。一方、減衰度算出部233は、回転工具2が等ピッチ工具の場合には、算出したモノドロミー行列における固有値の最大値の逆数を切れ刃4の数の分乗じた値を、減衰度として算出する。
そして、減衰度算出部233は、入力されたNCデータが示す工具経路の位置(上記被削物3の内部における回転工具2の位置)ごとに減衰度を算出し、当該位置と減衰度とを対応付けた減衰度データを生成する。
なお、本実施形態では、1回転当たりの減衰度を算出するが、これに限らず、2回転以上当たり(換言すればN回転(Nは正の整数)当たり)の減衰度を算出してもよい。N回転当たりの減衰度を算出する場合には、算出した減衰度をN乗すればよい。
表示制御部234は各種画像を表示部21に表示する。本実施形態では、表示制御部234は、減衰度算出部233が生成した減衰度データに基づいて、工具経路の位置と減衰度とを対応付けた減衰度表示画像(図7、図8参照)を生成し、表示部21に表示する。このように、表示制御部234は、減衰度算出部233が算出した減衰度を用いてびびり振動を回避するための処理として、減衰度表示画像を表示部21に表示する。換言すれば、表示制御部234は、上記処理を実行する処理実行部として機能する。
なお、減衰度表示画像において、減衰度の大きさに応じて色が異なるように設定されてもよい。換言すれば、減衰度表示画像はカラー表示(カラーマップ表示)されてもよい。この場合、ユーザが表示された減衰度表示画像を確認することで、びびり振動の発生し得る箇所を容易に把握できる。
<びびり振動回避装置1の処理>
次に、図3〜図5を用いて、びびり振動回避装置1の処理の一例について説明する。図3は、びびり振動回避装置1の処理の一例を示すフローチャートである。図4は、切取り厚さによって生じる切削力を説明するための図であり、(a)は、回転工具2の一例としてのボールエンドミルの切れ刃4の形状をモデル化した概略図であり、(b)は、微小切れ刃5の第1刃先位置と、その1刃前における、微小切れ刃5の第2刃先位置との関係を示す概略図である。図5は、振動速度によって生じる切削力について説明するための図である。なお、図5は、Z軸に垂直な断面を示したものである。
図3に示すように、まず、制御部23は、操作入力部22を介して、切削加工前の被削物形状データ、回転工具2に関する入力パラメータ、およびNCデータを取得する(ステップ(以降、Sと略記する)1)。換言すれば、これらのデータは、減衰度算出に必要となる入力データである。これらのデータは記憶部24に記憶され、必要に応じて制御部23によって読み出される。
切削加工前の被削物形状データは、CAD等から出力されたSTL(Standard Triangulated Language)データなどの3次元形状データである。
NCデータは、回転工具2の移動経路情報(座標値)、回転数、送り速度などが記述されたデータである。
回転工具2に関する入力パラメータとしては、工具仕様と、工具パラメータとしての切削力係数および動剛性とが挙げられる。工具仕様は、工具の種類、工具径、切れ刃4の数(刃数)、切れ刃4のねじれ角(または、切れ刃4のねじれ形状を定義した数式)を示す。工具の種類としては、ボールエンドミル、スクエアエンドミル、ラジアスエンドミルなどが挙げられる。また、工具の種類として、等ピッチ工具、不等ピッチ工具および不等リード工具のいずれであるかも示される。不等ピッチ工具の場合、工具仕様のデータとして、ピッチ角度も含まれる。また、不等リード工具の場合、工具仕様のデータとして、リード(ねじれ)角度も含まれる。
工具パラメータの切削力係数は、比切削抵抗とも呼ばれ、切取り厚さと切削力との関係を示すものである。
ここで、図4の(a)に示すように、回転工具2としてのボールエンドミルの切れ刃球体部2a(先端部)にある切れ刃4を仮想的に分割し、分割した各箇所を微小切れ刃5とする。被削物3を切削するときに任意の微小切れ刃5に生じる切削力は、回転方向と反対方向に生じる主分力dFt、中心Oの方向に生じる背分力dFr、これらに直交する方向に生じる力dFaの合力として表される。
切削力係数は、切削力の3分力である主分力dFt、背分力dFr、力dFaを算出するための下記式1において用いられる6つの係数(Kte、Ktc、Kre、Krc、Kae、Kac)である。切削力係数は、主として被削物3の材料と回転工具2の種類との組み合わせで決定し、切削試験などから得ることが可能である。なお、式1中のtrは、図4の(b)に示すように切取り厚さ(具体的には、振動変位+静的な切取り厚さ(振動が発生していないときの切取り厚さ))を示し、twは同図に示すように切削幅を示す。
また、本実施形態では、プロセスダンピングと呼ばれる、図5に示す回転工具2の切込み方向への振動速度vrにより発生する切削力(減衰力)も考慮する。そのため、減衰度の算出のために、切削力係数として減衰力成分も必要となる。減衰力dFtd、dFrdは、下記式2に示すとおり、切込み方向の振動速度vrと、切込み方向に直交する方向の切削速度vcとの比に比例する力である。なお、式2中のCte、Creは、切削力係数の減衰力成分である。
工具パラメータの動剛性は、回転工具2および被削物3の少なくともいずれか一方の振動特性を表す伝達関数(周波数特性)である。動剛性は、一般に、下記式3に示すコンプライアンス伝達関数Gで表される。コンプライアンス伝達関数Gは動剛性の逆数である。
上記式3において、Gxxは、図4の(a)に示すX方向に力が作用したときのX方向変位、Gxyは、図4の(a)に示すY方向に力が作用したときのX方向変位、GyxはX方向に力が作用したときのY方向変位、GyyはY方向に力が作用したときのY方向変位である。図4の(a)に示すZ方向も考慮する場合には、Gxz、Gzx、Gyz、Gzy、Gzzも必要となり、コンプライアンス伝達関数Gは3×3の行列サイズとなる。また、回転工具2の工具軸方向(Z軸方向)は、通常、工具径方向と比較して十分剛性が高いため、上記式3では、上記Gxz、Gzx、Gyz、Gzy、Gzzを無視している。
また、コンプライアンス伝達関数Gの説明において、本実施形態では、力と変位とが直交する方向の変位(クロス成分)についても無視する(Gxy=Gyx=0)。また、被削物3の動剛性は回転工具2に対して十分剛性が高いとして無視する。なお、被削物3の動剛性も考慮する場合のコンプライアンス伝達関数Gは、被削物3のコンプライアンス伝達関数を回転工具2のコンプライアンス伝達関数に加えて算出すればよい。
上記式3におけるGxxおよびGyyは、一般に、モーダルパラメータ(m:質量、c:減衰特性、k:剛性)を用いて下記式4で表される。
上記式4において、mxp、myq、cxp、cyq、kxp、kyqはモーダルパラメータである。実質的には、このモーダルパラメータが回転工具2および被削物3の少なくとも一方の振動特性を表す。式4において、p、qはそれぞれ、図4の(a)に示すX、Y方向の自由度の数、ωは角振動数、jは虚数である。
なお、コンプライアンス伝達関数Gは、インパルスハンマを用いたハンマリング試験、またはFEM(Finite Element Method:有限要素法)などのCAE(Computer Aided Engineering)解析などから算出できる。
制御部23は、S1において上記各種データを取得した後、まず、NCデータで示される工具経路を複数のパスに分割し、各パスにパス番号iを設定する。基本的には、NCデータの1ブロック(1行)毎に分割するが、移動距離が短い場合には、連続するパスを1つにまとめてもよいし、反対に移動距離が長い場合には、1つのパスをさらに分割した分割パスを設定してもよい。そして、制御部23は、パス番号iを初期化する(S2)。換言すれば、制御部23は、パス番号i=0に設定する。そして、制御部23は、工具経路の1パス毎にS3〜S5の処理を行う。制御部23は、S2またはS5(後述)を経てパス番号iの設定が完了すると、設定されたパス番号iの1つ前のパス番号iに対応する被削物形状を示す被削物形状データを算出(または取得)する(S3)。S2でパス番号i=0が設定された場合には、入力された切削加工前の被削物形状データを用いる。
S3で取得する、1つ前のパス番号iに対応する被削物形状は、加工前の被削物形状から、減衰度を算出する回転工具2の工具位置に至るまで切削加工において用いられた全ての回転工具の移動軌跡(工具掃引形状)を差し引くことにより算出される。具体的には、被削物形状をXY格子上に高さ情報を有するZ−mapモデルで表した被削物3の加工面の高さに対して、工具掃引形状を用いて当該高さを更新していくことにより算出される。なお、上記回転工具2の工具位置とは、S2またはS5を経て設定されたパス番号iが示す被削物3における位置である。このような計算手法を、被削物3の全体の形状に対してではなく、減衰度を算出する工具位置近傍の領域のみに対して用いることにより、減衰度の算出に必要となる被削物形状を高精度に算出できる。また、グラフィックスハードウェアによる描画機能を用いることで、当該被削物形状を高速に算出できる。なお、当該被削物形状は、CAD(CSG(Constructive Solid Geometry)モデルなど)を用いて算出してもよい。
制御部23は、S3の処理後、切削判定部231、変化量算出部232および減衰度算出部233による処理を行う。そして最終的に、制御部23は、S2またはS5を経て設定されたパス番号iが示す工具経路における減衰度を算出する(S4:減衰度算出工程)。減衰度算出部233は、全工具経路において減衰度の算出を行ったか否か(全パスに対する減衰度の算出処理が終了したか否か)を判定する(S5)。具体的には、減衰度算出部233は、パス番号iが最後のパス番号iの値であるか否かを判定することにより、全パスに対する処理が終了しているか否かを判定する。
減衰度算出部233は、全パスに対する減衰度の算出処理が終了していないと判定した場合には(S5でNO)、パス番号iを1インクリメントして、S3の処理に戻る。一方、減衰度算出部233は、全パスに対する減衰度の算出処理が終了していると判定した場合には(S5でYES)、減衰度データを表示制御部234に送信する。表示制御部234は、減衰度データに基づく減衰度表示画像を生成し、表示部21に表示する(S6:処理実行工程)。
<減衰度算出の具体的処理>
次に、図6を用いて、上記S4の減衰度算出の具体的処理の一例について説明する。図6は、減衰度算出の具体的処理の一例を示すフローチャートである。
制御部23は、S4の処理に入ると、図4の(a)に示す切れ刃球体部2aにある切れ刃4(切れ刃が複数存在する場合には全ての切れ刃4)を仮想的に分割することにより生成される仮想的な切れ刃である複数の微小切れ刃5を、切れ刃4に設定する。そして、各微小切れ刃5に対して微小切れ刃番号hを付与する。例えば、回転工具2が2枚刃で、各切れ刃4に256個の微小切れ刃5を仮想的に生成する場合、1枚目の切れ刃4の各微小切れ刃5については、微小切れ刃番号h=0〜255が付与され、2枚目の切れ刃4の各微小切れ刃5については、微小切れ刃番号h=256〜511が付与される。
また、制御部23は、回転工具2が所定の回転を行うのに要する時間である1周期TをJ個に分割する。回転工具2が等ピッチ工具の場合、1周期Tは、回転工具2が2π/Z角度回転するのに要する時間1/(ZS)として表される。Zは刃数であり、Sは回転数である。また、回転工具2が不等ピッチ工具または不等リード工具の場合、1周期は、1回転(2π)分回転するのに要する時間1/Sとして表される。そして、制御部23は、分割した回転角(微小時間Δt=T/J)ごとに、後述する状態遷移行列Djの算出までの処理(図6に示すS12〜S19)を行う。そのため、制御部23は、分割した回転角ごとに工具回転角番号jを付与する。
上記各番号の付与が終了すると、制御部23は、工具回転角番号j=0(初期値)、微小切れ刃番号h=0(初期値)に設定する(S11)。工具回転角番号jの初期値への設定は、回転工具2の回転角θjを0°にすることを意味する。
次に、切削判定部231は、微小切れ刃番号h=0の微小切れ刃5が、工具回転角番号j=0の位置(回転角θj=0°)において、微小切れ刃5が被削物3の内部(図3のS3で算出された被削物形状内)に存在するか否かを判定する(S12)。換言すれば、切削判定部231は、切削加工のシミュレーションにおいて、微小切れ刃5が回転角θj=0°において切削中であるか否かを判定する。
なお、切削判定部231は、微小切れ刃5が切削加工前の被削物形状内にあり、かつ、上記工具掃引形状内に無いという条件を満たした場合に、微小切れ刃5が切削中であると判定してもよい。
切削判定部231によって微小切れ刃5が切削被削物形状内に存在すると判定された場合(S12でYES)、変化量算出部232は、当該微小切れ刃5について、微小プロセスゲインdPgを算出する(S13)。また、変化量算出部232は、当該微小切れ刃5について、微小プロセスダンピングゲインdPdを算出する(S14)。S13およびS14の処理順序は逆であってもよいし、当該処理が並行して行われてもよい。
一方、切削判定部231は、微小切れ刃5が被削物形状内に存在しないと判定した場合(S12でNO)、微小切れ刃番号hを1インクリメントしてS12の処理を再び行う。
図4の(a)に示すX、Yの2方向のびびり振動を考慮して減衰度を算出する場合、プロセスゲインPgおよびプロセスダンピングゲインPdは、下記式5で表される。
上記式5において、PeE(e、Eはxまたはy)は、E方向への振動変位により発生するe方向の切削力変化量を示し、PdeEは、E方向の振動速度により発生するe方向の切削力変化量を示す。
ここで、変化量算出部232は、図4の(a)に示すように、回転工具2の工具送り方向をXY平面に投影したU方向(U軸)のX軸に対する角度をβとすると、振動変位x、yによるU方向の変位u、およびU方向に直交するV方向(V軸)の変位vを、下記式6を用いて算出する。
また、変化量算出部232は、上記振動変位xによるU、V方向の変位ux、vxによる切取り厚さ増分tx、および、上記振動変位yによるU、V方向の変位uy、vyによる切取り厚さ増分tyを、下記式7を用いて算出する。なお、下記式7におけるqiおよびθiは、図4の(a)に示す微小切れ刃5の位置を表す角度である。
変化量算出部232は、上記切取り厚さ増分tx、tyを考慮して切削力を算出する。具体的には、変化量算出部232は、上記式1に代えて下記式8の切削力モデルを用いて、切削力(主分力dFt、背分力dFr、力dFa)を算出する。なお、tsは静的な切取り厚さである。
回転工具2がボールエンドミルの場合には、変化量算出部232は、静的な切取り厚さtsを下記式9を用いて近似的に算出する。下記式9において、rは回転工具2の半径(図4の(a)に示すXY平面における半径)である。また、fは回転工具2の切り刃4の1刃当たりの送り量である。送り量fは、回転工具2が等ピッチ工具の場合、f=F/S/Zで算出される。Fは送り速度である。φは、図4の(a)に示すように、工具送り方向とU軸とのなす角度である。
変化量算出部232は、上記式8を用いて算出した切削力を、下記式10を用いて、X方向の切削力Fx、およびY方向の切削力Fyのそれぞれに分解する。
微小プロセスゲイン(微小切れ刃5のプロセスゲイン)dPxx、dPyx、dPxy、dPyyは、上述のように、単位振動変位当たりの切削力変化量である。そのため、変化量算出部232は、下記式11に示すように、各切削力Fx、Fyを振動変位x、yに関して、x=y=0にて偏微分することにより、微小プロセスゲインdPxx、dPyx、dPxy、dPyyを算出する。
なお、上記式8の切削力モデルにおいては、切削力(主分力dFt、背分力dFr、力dFa)は、振動変位x、yに対して線形(1次式)である。そのため、上記式6において振動変位x=1とし、上記式8においてKte、Kre、Kae、ts、ty=0として、上記式10において算出したFx、Fyを、微小プロセスゲインdPxx、dPyxとしてもよい。同様に、振動変位y=1とし、Kte、Kre、Kae、ts、tx=0として算出したFx、FyをdPxy、dPyyとしてもよい。
一方、変化量算出部232は、微小プロセスダンピングゲインを以下のように算出する。変化量算出部232は、微小プロセスゲインを算出する場合と同様に、X方向の振動速度xvおよびY方向の振動速度yvによるU、V方向の振動速度uvx、vvx、uvy、vvyを、下記式12を用いて算出する。
変化量算出部232は、上記U、V方向の振動速度uvx、vvxによる切込み方向の振動速度vrx、および、上記U、V方向の振動速度uvy、vvyによる切込み方向の振動速度vryを、下記式13を用いて算出する。
変化量算出部232は、減衰力(切削力)dFtd、dFrdを、上記式2および式13に基づく下記式14を用いて算出する。
変化量算出部232は、上記式14を用いて算出した減衰力dFtd、dFrdを、下記式15を用いてXY方向の切削力Fx、Fyに分解する。
そして、変化量算出部232は、微小プロセスゲインを算出する場合と同様に、各切削力Fx、Fyを、それぞれX、Y方向の振動速度xv、yvで偏微分することにより、微小プロセスダンピングゲインdPdxx、dPdyx、dPdxy、dPdyyを算出する。なお、上記式12においてxv=1、yv=0として、上記式15において算出したFx、Fyを、微小プロセスダンピングゲインdPdxx、dPdyxとし、xv=0、yv=1として、上記式15において算出したFx、Fyを、微小プロセスダンピングゲインdPdxy、dPdyyとしてもよい。
変化量算出部232は、微小切れ刃番号h=0に対する微小プロセスゲインdPgおよび微小プロセスダンピングゲインdPdを算出すると、その旨を切削判定部231に通知する。切削判定部231は、当該通知を受けると、微小切れ刃番号hの最終番号まで(換言すれば、全ての微小切れ刃5について)微小プロセスゲインおよび微小プロセスダンピングゲインを算出されたか否かを判定する(S15)。
全ての微小切れ刃5について微小プロセスゲインおよび微小プロセスダンピングゲインが算出されていない場合には(S15でNO)、切削判定部231は、微小切れ刃番号hを1インクリメントして(現状であれば微小切れ刃番号h=1にして)、S12の処理に戻る。そして、切削判定部231および変化量算出部232は、S12〜S14の処理を行う。具体的には、変化量算出部232は、被削物形状内の全ての微小切れ刃5についての微小プロセスゲインおよび微小プロセスダンピングゲインを算出する。
切削判定部231は、全ての微小切れ刃5について微小プロセスゲインおよび微小プロセスダンピングゲインが算出されたと判定した場合(S15でYES)、その旨を変化量算出部232に通知する。変化量算出部232は、当該通知を受けると、現在の回転角θj(現状であれば工具回転角番号j=0、回転角θj=0°)におけるプロセスゲインおよびプロセスダンピングゲインを算出する。具体的には、変化量算出部232は、下記式16に示すように、全ての微小切れ刃5についての微小プロセスゲインを足し合わせることにより、プロセスゲインを算出する(S16)。
また、変化量算出部232は、下記式17に示すように、全ての微小切れ刃5についての微小プロセスダンピングゲインを足し合わせることにより、プロセスダンピングゲインを算出する(S17)。S16およびS17の処理順序は逆であってもよいし、当該処理が並行して行われてもよい。
変化量算出部232は、算出したプロセスゲインおよびプロセスダンピングゲインを示す変化量データを、減衰度算出部233に送信する。減衰度算出部233は、変化量データを受信すると、当該変化量データと、振動特性を示すモーダルパラメータとを用いて、状態遷移行列Djを算出する(S18)。
また、減衰度算出部233は、全ての回転角θjについて(つまり、回転工具1周期分の)状態遷移行列Djを算出したか否かを判定する(S19)。減衰度算出部233は、全ての回転角θjについて状態遷移行列Djを算出していない場合には(S19でNO)、工具回転角番号jを1インクリメントして(現状であれば工具回転角番号j=1にして)S12の処理に戻る。換言すれば、切削判定部231、変化量算出部232および減衰度算出部233は、全ての回転角θjについてS12〜S18の処理を行う。その結果、減衰度算出部233は、全ての回転角θjについての状態遷移行列Djを算出する。
ここで、減衰度算出部233による状態遷移行列Djの算出処理について具体的に説明する。減衰度算出部233は、コンプライアンス伝達関数に含まれるモーダルパラメータ(mx、my、cx、cy、kx、ky)を下記式18に代入することにより、M−1、Ω、Cを算出する。
なお、ここでは、X、Y方向の自由度がそれぞれ1自由度(合計2自由度)であるものとして説明する。また、mx、myはXY方向それぞれの質量に関するモーダルパラメータ、cx、cyは、XY方向それぞれの減衰特性に関するモーダルパラメータ、kx、kyは、X、Y方向それぞれの剛性に関するモーダルパラメータである。
減衰度算出部233は、次に、上記変化量データが示すプロセスゲインおよびプロセスダンピングゲインを下記式19に代入することにより、A、Bを算出する。下記式19において、0は2×2の零行列、Iは2×2の単位行列、A、Bは4×4の行列である。
次に、減衰度算出部233は、A、Bを下記式20に代入することにより、P、Rを算出する。下記式20において、Δtは、分割した微小時間(Δt=T/J、分割した回転角分回転するのに必要な時間)、expは行列の指数関数、P、Rは4×4の行列である。
次に、減衰度算出部233は、P、Rを下記式21に代入することにより、状態遷移行列Djを算出する。また、上記式21において、Lは下記式22で表される。
また、上記式21において、wa、wbは重み係数である。wa、wbは、以下のように算出される。減衰度算出部233は、まず、整数aを下記式23;
a=int{(τ+Δt/2)/Δt} 式23
を用いて算出する。なお、上記式23において、intは小数点以下の切り捨てを示す記号である。1刃前までの遅れ時間τは、1刃前の切れ刃4とのピッチ角度θp(回転工具2が等ピッチ工具の場合、θp=2π/Z)を下記式24;
τ=(θp/2π)/S 式24
に代入することにより算出される。
減衰度算出部233は、上記式23および上記式24で算出された値を下記式25;
wb=(τ+Δt−aΔt)/Δt、wa=1−wb 式25
に代入することにより、wa、wbを算出する。回転工具2が等ピッチ工具の場合、a=J(J:1周期Tの分割数)、wa=wb=0.5となる。
また、上記式21において、R12は上記式20におけるRの1列目および2列目の行列(4行×2列)を示す。さらに、上記式21において、状態遷移行列Djは、2(a+2)×2(a+2)の行列となる。
減衰度算出部233は、全ての回転角θjについて状態遷移行列Djを算出したと判定した場合(S19でYES)、回転角θjごとに算出した全ての状態遷移行列Dj(D0〜Dj−1)を用いてモノドロミー行列Φを算出する。モノドロミー行列Φは、下記式26で表される。
モノドロミー行列Φは、全ての回転角θjについての(換言すれば、回転角θj=0から1周期後までの)回転工具2の状態遷移を表す行列である。減衰度算出部233は、このモノドロミー行列Φを算出することにより、その固有値λ(複素数)の大きさの最大値であるλmaxを算出する(S20)。λmaxは、回転工具2の1周期後に、振動変位または振動速度(状態変数)がどの程度増大するかを示す値である。λmax=1のときびびり振動の安定限界(振動が減衰も成長もしない状態であり、びびり振動が発生しない限界の状態)を示し、λmax>1のときびびり振動が発生する状態(不安定な状態)を示し、λmax<1のときびびり振動が発生しない状態(安定な状態)を示す。
次に、減衰度算出部233は、モノドロミー行列Φの固有値λの大きさの最大値であるλmaxを用いて、回転工具2の1周期当たりにびびり振動がどの程度減衰するかを示す減衰度Csを算出する(S21)。
減衰度Csは、以下のように、
・等ピッチ工具の場合:Cs=(1/λmax)Z
・不等ピッチ工具、不等リード工具の場合:Cs=1/λmax
と定義される。
等ピッチ工具の場合、回転工具2の1周期が、回転工具2の切れ刃4の1刃回転分に相当する。そのため、減衰度算出部233は、回転工具2の1回転当たりの減衰度Csを算出するために、λmaxの逆数を刃数Z回(刃数Zの数の分)乗じる。このようにして、少なくともNCデータを用いて、被削物3の位置ごとに減衰度Csを算出できる。また、一巡伝達関数または安定限界線図を用いずに減衰度を算出することにより、任意の加工形態において短時間で精度良くびびり振動を評価できる。
減衰度Csは、回転工具2が1回転したときに状態変数がどの程度低下するかを示す値(指標)である。換言すれば、びびり振動の大きさが回転工具2の1回転後に1/Csになることを示している。減衰度Cs=1のときびびり振動の安定限界を示す。減衰度Cs>1のときびびり振動が発生しない状態を示す。減衰度Csの値が大きければ大きいほど、びびり振動が発生したとしても、びびり振動が減衰してなくなるまでの時間が短い。減衰度Cs<1のときびびり振動が発生する状態を示す。減衰度Csの値が小さければ小さいほど、びびり振動が大きく成長する。なお、減衰度Csは、びびり振動に対する安定性(びびり振動の生じにくさ)を示す指標としてのびびり安定度と称することもできる。一方、λmaxは、びびり振動の生じやすさを示すびびり危険度と称することもできる。
なお、例えば特許文献2の技術では、一巡伝達関数を用いてびびり振動増減影響値を算出するため、加工形態によっては当該影響値の計算精度が低下する可能性がある。また、特許文献2の技術では、算出したびびり振動増減影響値を用いて工具経路を最初から生成するところ、工具経路の生成にはびびり振動以外の種々の要素を考慮する必要があるため、このような工具経路の生成手法の場合、実用性に乏しくなる。また、特許文献2の技術は、既存の工具経路の評価を行うものではない。このような点で、びびり振動回避装置1は、特許文献2の技術に比べ有用である。
<変形例>
なお、上記では、X、Y方向の自由度がそれぞれ1(合計2自由度)で、回転工具2が主として等ピッチ工具である場合について説明したが、これに限られない。例えば多自由度(X方向またはY方向の自由度が2以上)の場合には、自由度ごとに、式19のA、Bを算出することになる。この場合、A、Bに示す係数行列のサイズはX、Y方向の自由度の合計をnとすると2n×2nとなる。これに伴い、状態遷移行列Dj、モノドロミー行列Φのサイズはn(a+2)×n(a+2)となる。
また、不等ピッチ工具または不等リード工具の場合、微小切れ刃5ごとに整数aおよびピッチ角度θpが異なる。したがって、この場合には、微小切れ刃5ごとにピッチ角度θpを用いてa(式23参照)、wa、wb(式25参照)を算出することにより、減衰度を算出する。また、aの最大値をamaxとすると、状態遷移行列D、モノドロミー行列Φのサイズはn(amax+2)×n(amax+2)となる。
特に、回転工具2の径方向への切込み量が小さい場合には、単位振動変位は、現在の振動変位と1刃前の振動変位との差と一致せず、正確には1刃前の回転角から少しずれた角度での振動の影響を受ける。そのため、正確に減衰度を算出するためには、1刃前との遅れ時間τを正確に算出することが好ましい。
具体的には、式24においてピッチ角度θpを用いて遅れ時間τを算出するのではなく、正確な1刃前の回転角から遅れ時間τを算出し、微小切れ刃5ごとにa、wa、wbを算出する。正確な1刃前の回転角は、例えば、本出願人の特許文献である特願2015−101389号に示す式(11)を用いて算出できる。また、この式(11)を用いて算出した微小切れ刃5ごとの遅れ時間τについてその平均値を算出し、当該平均値を遅れ時間τとして用いることにより、a、wa、wbを算出してもよい。この場合、正確な遅れ時間τを簡易に算出できる。
また、切削力の切取り厚さへの依存性(切取り厚さ依存)、または切削力の切削速度への依存性(切削速度依存)を考慮する場合には、上記式1に代えて例えば下記式27のように定式化し、プロセスゲインを算出してもよい。
上記式27において、s1は切取り厚さ依存を示す係数、s2、s3、s4は切削速度依存を示す係数である。各値が0のとき、上記式27は上記式1と一致する。この場合、切取り厚さおよび切削速度は減衰度に影響を与えない。実際の現象においては、送り速度が小さい(換言すれば静的な切取り厚さが小さい)ときにびびり振動が生じやすい。この現象を考慮する場合には、切削力係数を切取り厚さ依存で定式化すればよい。具体的には、上記式27においてs1≠0とすればよい。これにより、プロセスゲインは静的な切取り厚さの関数となる。上記式9に示すように、1刃当たりの送り量f(送り速度/回転数/刃数)の値が静的な切取り厚さに影響を与えるため、送り速度を考慮してプロセスゲインを算出できる。つまり、送り速度を考慮して減衰度を算出できる。
ここで、送り速度として、例えばNCデータに示される送り速度(指令送り速度)を用いてもよい。また例えば、実際の工作機械の加減速を示す値(加減速の時定数、最大加速度、コーナー速度(減速度)、法線加速度制限値など)を考慮して実際の送り速度(実送り速度)を算出し、上記送り速度として用いてもよい。実際の送り速度を用いる場合、より精度良く減衰度を算出できる。
また、上記ではプロセスダンピングゲインを算出しているが、プロセスダンピングゲインを算出せずに減衰度を算出してもよい。ただし、実際の切削加工における低切削速度でのびびり振動を考慮する場合には、プロセスダンピングゲインを用いて減衰度を算出することが好ましい。
<表示例>
次に、図7〜図9を用いて、減衰度の表示例について説明する。図7〜図9は減衰度の表示例(減衰度表示画像)を示す図である。この表示例は、振動特性を回転工具2のものとして算出したときの表示結果を示す。
図7の(a)は回転工具2の回転数が10500rpmの場合の表示例、(b)は11500rpmの場合の表示例、(c)は12500rpmの場合の表示例を示す。図7の(a)〜(c)では、各回転数のときの被削物3の各位置における減衰度を、度数バー50に示す濃淡によって表している。つまり、表示制御部234は、減衰度を、各位置においてその違いが視覚的に確認できるように表示部21に表示する。また、図7の(a)〜(c)では、被削物3の加工面の全体において減衰度の濃淡の表示を行っている。
具体的には、本実施形態では、減衰度Cs=1(安定限界)を境にして、減衰度Cs≧1(安定な状態)の位置がライムグリーン〜青色、減衰度Cs<1(不安定な状態)の位置が黄色〜赤色となるように段階的に変化させて表示している。より具体的には、減衰度Cs=0(最小値)のとき赤色、減衰度Cs=2のとき青緑色、減衰度Cs=3のときシアンブルー、減衰度Cs=4(最大値)のとき青色に設定されており、各値の間では色が段階的に変化するように設定されている。
なお、視認性向上のためには、本例のように、減衰度の値ごとに色分けされており、また、減衰度Cs<1には暖色系の色、減衰度Cs>1には寒色系の色を用いるなど、減衰度Cs=1を境に明確な表現の違いがあることが好ましい。なお、減衰度は、その違いが視覚的に確認できればよく、例えば色分けされておらず濃淡のみ(グレースケール)で表されてもよい。
さらに、0≦減衰度Cs≦4の間で表示されているが、減衰度の最小値および最大値は、上述した算出結果に応じて変更されてよい。また、安定限界を示す値も、後述の閾値αと同様に適宜変更されてよい。この場合であっても、例えば上記と同様に各値の色を設定すればよい。
また、表示制御部234は、算出された減衰度の全てを表示部21に表示する必要は必ずしもなく、安定な状態の位置のみ、または不安定な状態の位置のみ等、所定の領域のみの減衰度を表示するものでもよい。
図8は、減衰度の表示の別例を示すものである。図8の(a)は、減衰度を線表示した例であり、具体的には、工具経路の1パス毎に減衰度の濃淡を表示したものである。一方、図8の(b)は、工具経路上において、減衰度を1パス毎の終点の位置に点表示したものである。
図9は、ユーザが選択した箇所の情報を表示した場合の例を示すものである。図9の(a)〜(c)は、図7の(a)〜(c)のシミュレーション結果を、図8の(b)に示す点表示にて表示したものである。
図9に示すように、表示部21において、ユーザが工具経路上の位置Puserを指定する。この指定の操作を操作入力部22が受け付けると、表示制御部234は、NCデータの名称(図中の「NCデータ」)、当該箇所のパス番号、および当該箇所における減衰度(図中の「びびり安定度」)等の情報を表示部21に表示する。このように、減衰度、および当該減衰度を算出した具体的な位置を数値化して表示することも可能である。
このように、算出した減衰度を可視化することにより、ユーザは、どの位置においてびびり振動が生じるかを、実際の切削加工前に判断できる。そのため、実際の切削加工時にびびり振動を回避した処置を講じることが可能となる。
<減衰度と実加工との対比>
次に、図10を用いて、減衰度と実際の加工結果との対比に関して説明する。図10は、実際の加工結果を示す図である。図10の加工結果を得たときの条件は以下のとおりである。図2に示す工作機械において、回転工具2がスクエアエンドミル(直径:20mm、長さ:60mm、刃数:4(等ピッチ工具)、ねじれ角:30°)、1刃当たりの送り量が0.1mm/刃、軸方向切込みが2mm、切削方法がダウンカット、加工形態がポケット繰り広げ加工である。また、切削油を使用している。被削物3はアルミ合金A5052である。なお、びびり振動回避装置1における減衰度の算出においても、上記のパラメータの値が用いられる。
図10の(a)〜(c)の実際の加工結果は、図7の(a)〜(c)のシミュレーション結果(減衰度の表示)と対応している。
図7と図10とを比較すると、実加工領域AA1(図10の(a))、および実加工領域AA3(図10の(c))では、びびり振動が生じ被削物3の表面が粗く切削されていることがわかる。実加工領域AA1、および実加工領域AA3にそれぞれ対応する予想領域PA1(図7の(a))、予想領域PA3(図7の(c))においては、減衰度Cs<1となっており、びびり振動が生じる領域であることが予想されている。一方、実加工領域AA2(図10の(b))では、被削物3の表面が滑らかに切削されていることがわかる。実加工領域AA2に対応する予想領域PA2(図7の(b))においては、減衰度Cs>1となっており、びびり振動が生じない領域であることが予想されている。
また、図10の(c)では、実加工領域AA4およびAA6では、被削物3の表面が比較的滑らかであるが、実加工領域AA5ではその表面が粗いことがわかる。図7において、実加工領域AA4およびAA6のそれぞれに対応する予想領域PA4およびPA6においては、減衰度Cs>1となっており、びびり振動が生じない領域であることが予想されている。一方、実加工領域AA5に対応する予想領域PA5においては、減衰度Cs<1となっており、びびり振動が生じる領域であることが予想されている。
このように、びびり振動回避装置1による減衰度の算出結果と、工作機械による実際の加工結果とは略一致していることがわかる。
〔実施形態2〕
本発明の他の実施形態について、図11〜図14に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。本実施形態のびびり振動回避装置1aは、算出した減衰度を用いて、被削物3の加工条件を修正(変更)する点で実施形態1とは異なる。変更対象となる加工条件は、びびり振動の発生の回避に寄与する条件(パラメータ)であり、例えば、回転工具2の工具経路、または回転工具2の回転数が挙げられる。
<びびり振動回避装置1aの構成>
まず、図11を用いて、びびり振動回避装置1aの構成について説明する。図11は、びびり振動回避装置1aの構成の一例を示す機能ブロック図である。びびり振動回避装置1aは、出力部25を備えている点、また、制御部23aが減衰度比較部235および条件修正部236(処理実行部)を備えている点で、びびり振動回避装置1とは異なる。
出力部25は、修正後のNCデータ(修正後NCデータ)をファイル保存するために、例えば、びびり振動回避装置1aに通信接続される、NCデータを管理する端末のハードディスクに、修正後NCデータを出力する。なお、びびり振動回避装置1aがハードディスクを備え、条件修正部236が修正後NCデータを当該ハードディスクにファイル保存する構成であってもよい。この場合、条件修正部236が出力部25の機能を有するため、びびり振動回避装置1aに出力部25を備えていなくてもよい。
減衰度比較部235は、減衰度算出部233が算出した減衰度を所定の閾値と比較することにより、工具経路の位置ごとにびびり振動が発生するか否かを判定する。具体的には、閾値としては、例えば、びびり振動の安定限界を示す値である「1」が設定される。当該閾値は変更可能であり、加工条件の修正を余裕を見て行いたい場合には、例えば「1.2」等、「1」よりも若干大きい値に閾値が設定されてもよい。
条件修正部236は、減衰度比較部235によってびびり振動が発生すると判定された場合に、びびり振動が発生する位置における回転工具2の加工条件を修正する。このように、本実施形態では、減衰度算出部233が算出した減衰度を用いてびびり振動を回避するための処理として、上記加工条件を修正する。換言すれば、条件修正部236は、上記処理を実行する処理実行部として機能する。
<びびり振動回避装置1aの処理>
次に、図12〜図14を用いて、びびり振動回避装置1aの処理の一例について説明する。ここでは、加工条件としての工具経路を修正する場合を例に挙げて説明する。図12は、びびり振動回避装置1aの処理の一例を示すフローチャートである。図13の(a)〜(c)および図14は、工具経路の具体的な修正について説明するための図である。
図12に示すように、まず、制御部23aは、実施形態1のS1(図3参照)での入力に加え、減衰度の閾値αを示すデータ、および回避方法を示すデータを取得する(S31)。ここでは、閾値αが「1」に設定されるものとする。
回避方法は、びびり振動を回避するための処理を指定するものである。回避方法としては、回転工具2の工具経路および回転数の変更が挙げられる。ユーザは、操作入力部22を介して、回転工具2の工具経路および回転数の変更の少なくともいずれか一方を回避方法として選択できる。また、工具経路の変更については、工具軸(Z軸)方向、径方向(XY平面における方向)、または任意の方向が選択可能となっている。ここでは回避方法として、工具経路の工具軸方向への変更が選択されるものとする。
制御部23aは、S31において上記各種データを取得した後、まず、図3のS2と同様、工具経路を分割し、パス番号i=0に設定する(S32)。そして、制御部23aは、工具経路の1パス毎にS33〜S39の処理を行う。制御部23aは、S32またはS39を経てパス番号iの設定が完了すると、図3のS3と同様、設定されたパス番号iの1つ前のパス番号iに対応する被削物形状を示す被削物形状データを算出する(S33)。このとき、位置変数Lpも初期化する。具体的には、位置変数Lp=0に設定する。
位置変数Lpは、被削物3のどの位置において減衰度の算出を行っているかを示す値である。Lp=0は、元のNCデータが示す位置において減衰度を算出することを示しており、Lp=1、2…となるにつれ、回転工具2の位置が所定量ずつ変更される。
S33またはS36を経て位置変数Lpが設定されると、切削判定部231、変化量算出部232および減衰度算出部233によって、設定されたパス番号iおよび位置変数Lpにおける減衰度が算出される(S34:減衰度算出工程、図6参照)。
減衰度比較部235は、減衰度算出部233によって算出された減衰度が閾値α以上(安定な状態)であるか否かを判定する(S35)。減衰度比較部235は、減衰度が閾値α未満(不安定な状態)であると判定した場合(S35でNO)、その旨を条件修正部236に通知する。条件修正部236は、上記判定結果を受けて、減衰度を算出する回転工具2の位置を変更する(S36)。
具体的には、条件修正部236は、図13の(a)に示すように、Z軸方向の最大の切込み深さZdmaxを算出する。条件修正部236は、各微小切れ刃5のZ軸方向の切込み深さZdを、各微小切れ刃5の位置と被削物形状とを用いて算出する。具体的には、切込み深さZdは、各微小切れ刃5の位置を通る、Z軸に平行な直線と被削物形状との交点から得ることができる。そして、算出した切込み深さZdのうちの最大値を最大の切込み深さZdmaxとして特定する。なお、最大の切込み深さZdmaxは、S34の処理と並行して算出されてよい。
次に、条件修正部236は、算出した最大の切込み深さZdmaxを分割して、回転工具2の位置を、現在の回転工具2の位置(S34において減衰度を算出したときの位置)から所定量だけ被削物3から離れる方向に移動させる。例えば、図13の(b)に示すように、最大の切込み深さZdmaxを8等分にし、Zdmax/8だけ+Z軸方向に上昇させる。そして位置変数Lpを1インクリメントし、S34の処理に戻り、切削判定部231、変化量算出部232および減衰度算出部233によって、設定されたパス番号iおよび位置変数Lpにおける減衰度が再度算出される。
そして、減衰度比較部235による比較の結果、減衰度が閾値α未満であると判定された場合には(S35でNO)、条件修正部236は、S36においてさらに回転工具をZdmax/8だけ上昇させる。減衰度比較部235によって減衰度が閾値α以上であると判定されるまで、これらの処理が繰り返される。
減衰度比較部235によって減衰度が閾値α以上であると判定された場合(S35でYES)、条件修正部236にその旨を通知する。条件修正部236は、当該通知を受けると、位置変数Lp=0(初期値)であるか否かを判定する(S37)。そして、条件修正部236は、位置変数Lp≠0であると判定した場合には(S37でNO)、びびり振動が発生しない回転工具2の位置であると判定し、その位置(位置変数Lpの値)を記憶部24に記憶する。そして、図13の(c)に示すように、その位置に工具経路を修正(追加)する(S38:処理実行工程)。
条件修正部236が工具経路を修正した後、S33の処理に戻り、制御部23aは、再度、修正後の工具経路が反映された被削物形状を取得するとともに、位置変数Lpを初期化し、S34の処理において減衰度を算出する。換言すれば、最初の回転工具2の位置における減衰度が算出される。
そして、S35〜S38の処理が繰り返され、S35で減衰度が閾値α以上で、かつS37でLp=0と判定された場合に(S37でYES)、条件修正部236は、工具経路の追加数と工具経路の追加位置とを記憶部24に記憶する。工具経路の追加数は、NCデータにおいて何個工具経路を追加する必要があるかを示す情報である。工具経路の追加位置は、閾値α以上と判定された各位置変数Lpの値(例:Lp=2、6)と、最大の切込み深さZdmaxとで示される。
条件修正部236は、全工具経路(全パス)において減衰度に基づく工具経路修正処理を行ったか否かを判定する(S39)。条件修正部236は、全パスに対する工具経路修正処理が終了していないと判定した場合には(S39でNO)、パス番号iを1インクリメントして、S33の処理に戻る。一方、条件修正部236は、全パスに対する工具経路修正処理が終了したと判定した場合には(S39でYES)、記憶した工具経路の追加数と工具経路の追加位置とに基づいて、修正NCデータを作成し、出力部25に出力する。(S40)。そして、出力部25は、修正NCデータを上記端末のハードディスクに出力してファイル保存する。また、表示制御部234は、減衰度算出部233によって算出された減衰度を表示部21に表示する(S41)。なお、減衰度の表示としては、工具経路を追加する前の減衰度の表示、および/または追加した後の減衰度の表示を行うことが可能である。これにより、ユーザは、工具経路修正前の減衰度と工具経路修正後の減衰度とを見ることが可能となるため、工具経路の修正の効果がどの程度であったか等を確認することができる。また、S40およびS41の処理順序は問わない。
条件修正部236は、図14に示すように、修正前のNCデータにおいてびびり振動が発生する工具経路(パス、鎖線部分)を、S38で追加した工具経路(太線部分)に修正することで、修正NCデータを生成する。条件修正部236は、例えば、連続してびびり振動が発生するパスについてはグループ化し、グループ化したパスについてびびり振動が発生しない位置を順につなぎ、その後、元の工具経路へつなげる(工具経路が追加されているのでここでもびびりが発生しない)ことで新しい工具経路を作成する。
なお、びびり振動が発生する一つ前のパス、または所定の長さ(例えば、回転工具2の径分の長さ)以前のパスに、修正した工具経路と滑らかにつながるような工具経路(図14では、パス100)を追加してよい。また、パスごとに工具経路の追加数が異なる場合、追加数が同じパスのみ1グループとしてもよいし、修正された全パスにおいて、工具経路の追加数のうちの最大数に当該追加数を合わせて工具経路を追加してもよい。
<変形例>
上記では、加工条件としての工具経路が修正された場合について説明した。ここでは、加工条件としての回転工具2の回転数を修正する場合について説明する。
びびり振動が生じにくい回転数(減衰度が高いとき(1以上であるとき)の回転数であり、安定度の高い回転数であるともいえる)は、動剛性に依存する。具体的には、びびり振動が生じにくい回転数は、動剛性が変化しなければ、加工中に逐次変化する被削物3の加工形態にはあまり依存せずほぼ一定である。そのため、一般によく知られている安定限界線図などを用いてびびり振動が生じにくい回転数を予め選択し、回転工具2の回転数として設定しておくことが好ましい。本例では、このように設定された回転数を、減衰度に基づいて修正する場合について説明する。
エンドミル加工では、上述したように、回転工具2の径方向の切込みが小さいとき、1刃前との遅れ時間τが上記式24で算出される値から少し変化する。具体的には、切削方法がアップカット(微小切れ刃5の位置を表す角度θiが0°付近)の場合、τの値は上記式24で算出される値よりも少し小さくなる。これに伴い、a、wa、wbの値も変化するため、上記びびり振動が生じにくい回転数は少し小さくなる。一方、切削方法がダウンカット(微小切れ刃5の位置を表す角度θiが180°付近)の場合、τの値は上記式24で算出される値よりも少し大きくなり、上記びびり振動が生じにくい回転数は少し大きくなる。そのため、条件修正部236は、上述したように1刃前との遅れ時間τを正確に算出することにより、上記びびり振動が生じにくい回転数の変化を特定できる。
減衰度比較部235が、減衰度算出部233によって算出された減衰度が閾値α未満であると判定した場合に、条件修正部236は、上述したように1刃前との遅れ時間τを正確に算出する。条件修正部236は、この遅れ時間τを上記式24で算出される値と比較することにより、切削方法がアップカットであるかダウンカットであるかを判定する。
条件修正部236は、切削方法がアップカットであると判定した場合には、予め設定された回転数を所定量だけ減少させて、遅れ時間τを正確に算出したときのびびり振動が生じにくい回転数に近づける。一方、条件修正部236は、切削方法がダウンカットであると判定した場合には、予め設定された回転数を所定量だけ増大させて、遅れ時間τを正確に算出したときのびびり振動が生じにくい回転数に近づける。
条件修正部236は、修正後の回転数を示すデータを減衰度算出部233に送信する。当該修正後の回転数に基づいて、減衰度算出部233によって再度減衰度が算出され、減衰度比較部235によって当該減衰度と閾値αとが比較される。減衰度が閾値α以上となるまで上記処理が繰り返され、減衰度が閾値α以上と判定された場合に、条件修正部236は、予め設定された回転数を当該判定時の回転数に修正する。
なお、減衰度が閾値α以上とならない場合であっても、予め設定された回転数を修正した後に工具経路の修正を行うことで、びびり振動を回避することは可能である。例えば、条件修正部236は、所定回、減衰度が閾値α以上とならなかった場合には、それまでに算出した複数の回転数のうち、減衰度が閾値αに最も近い値となったときの回転数に、予め設定された回転数を修正する。そして、条件修正部236は、修正後の回転数に基づき図12に示す処理を行うことにより、工具経路を修正する。このように、条件修正部236は、予め設定された回転数を上記びびり振動が生じにくい回転数に近づけた後に工具経路の修正を行う。そのため、工具経路の修正のみを行う場合に比べ、より少ない工具経路の追加でびびり振動を回避することが可能となる。
〔実施形態3〕
本発明の他の実施形態について、図15〜図16に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。本実施形態のびびり振動回避装置1bは、算出した減衰度に加え実送り速度を用いて、被削物3の加工条件を修正する点で実施形態2とは異なる。
<びびり振動回避装置1bの構成>
まず、図15を用いて、びびり振動回避装置1bの構成について説明する。図15は、びびり振動回避装置1bの構成の一例を示す機能ブロック図である。びびり振動回避装置1bは、制御部23bが送り速度算出部237を備えている点で、びびり振動回避装置1aとは異なる。
送り速度算出部237は、実施形態1で述べた実際の工作機械の加減速を示す値に基づき、公知の手法により回転工具2の実送り速度Frealを算出する。当該公知の手法としては、特開平1−255010号公報、特開平2−219107号公報、特開平2−72414号公報または特開昭63−182707号公報等に開示の手法が挙げられる。
また、変化量算出部232は、送り速度算出部237が算出した実送り速度Frealを用いて、プロセスゲインを算出する。具体的な処理方法は、実施形態1の変形例で説明したとおりである。
また、条件修正部236は、実施形態2で述べた処理に加え、送り速度算出部237が算出した実送り速度Frealと、変化量算出部232が算出したプロセスゲインとに基づいて、回転工具2の回転数を修正する。
具体的には、条件修正部236は、送り速度算出部237が算出した実送り速度FrealとNCデータで設定されている指令送り速度Fsetとの速度比RF(=Freal/Fset)を算出し、算出した速度比RFを所定の閾値と比較する。また、減衰度算出部233は、変化量算出部232によって実送り速度Frealを用いて算出されたプロセスゲインを用いて、減衰度を算出する。減衰度比較部235は、この減衰度(実送り速度Frealが考慮された減衰度)と閾値αとを比較する。条件修正部236は、速度比RFを用いた比較結果と、減衰度を用いた比較結果とに基づいて、回転工具2の回転数を考慮して工具経路を修正するか否かを判定する。
一般に、例えば曲線を描く工具経路(工具経路のコーナー部)では、回転工具2に生じる減速のために、指令送り速度Fsetよりも実送り速度Frealが低下して、びびり振動が生じる場合がある。本実施形態の条件修正部236は、上記比較に基づく工具経路の修正により、実送り速度Frealの低下によってびびり振動が発生することを回避する。
<びびり振動回避装置1bの処理>
次に、図16を用いて、びびり振動回避装置1bの処理の一例について説明する。図16は、びびり振動回避装置1bの処理の一例を示すフローチャートである。
図16に示すように、まず、制御部23bは、実施形態2のS31(図12参照)での入力に加え、工作機械仕様の入力パラメータを取得する(S51)。ここでは、回避方法として少なくとも工具経路の変更が選択されており、閾値αが「1」に設定されるものとする。また、工作機械仕様の入力パラメータとは、工作機械の軸移動に関するパラメータであり、上述した実際の工作機械の加減速を示す値を示す。
制御部23bは、S51において上記各種データを取得した後、まず、図3のS2と同様、パス番号i=0に設定する(S52)。そして、制御部23bは、工具経路の1パス毎にS53〜S60の処理を行う。制御部23bは、S52またはS60を経てパス番号iの設定が完了すると、図3のS3と同様、設定されたパス番号iの1つ前のパス番号iに対応する被削物形状を示す被削物形状データを算出する。
S52またはS60を経てパス番号iが設定されると、送り速度算出部237は、実送り速度Frealを算出し、当該実送り速度Frealを示すデータを変化量算出部232および条件修正部236に送信する(S53)。そして、切削判定部231、変化量算出部232および減衰度算出部233によって、設定されたパス番号iにおける減衰度が算出される(S54:減衰度算出工程、図6参照)。
減衰度比較部235は、減衰度算出部233によって算出された減衰度が閾値α以上であるか否かを判定する(S55)。減衰度比較部235は、減衰度が閾値α未満であると判定した場合(S55でNO)、その旨を条件修正部236に通知する。条件修正部236は、減衰度が閾値α未満である旨の判定結果を受けると、速度比RFが所定の閾値以下であるか否かを判定する(S56)。S57の処理(回転数の修正処理)は、特に、指令送り速度Fsetに対する実送り速度Frealの低下が大きい場合に有効である。そのため、上記閾値としては「0.5」が設定される。但し、上記閾値は、適宜変更可能である。
条件修正部236は、速度比RFが所定の閾値より大きい場合には(S56でNO)、回転数を修正することなく工具経路を修正する(S59:処理実行工程)。工具経路は、上述したとおり、図12に示すS33〜S38の処理を行うことによって修正される。
一方、条件修正部236は、速度比RFが所定の閾値以下である場合には(S56でYES)、回転数を修正する(S57)。具体的には、減衰度が閾値α未満であり、かつ、実送り速度Frealが指令送り速度Fsetよりも所定量低下(ここでは実送り速度Frealが指令送り速度Fsetの半値以下)となっている場合には、条件修正部236は、回転数を所定量低下させる。
より具体的には、条件修正部236は、予め単純な加工形態における安定限界線図を用いて、びびり振動が生じない回転数をいくつか算出しておき、算出した複数の回転数のうち、元の回転数×速度比RFに近い回転数を選択することにより、回転数を低下させる。なお、安定限界線図において、びびり振動が生じない回転数は周期的に存在する。
なお、条件修正部236は、回転数を低下させるために、安定限界線図を用いてびびり振動が生じない回転数を算出する必要は必ずしもない。一般に、回転数を低下させた場合、プロセスダンピングが効いてびびり振動が生じにくくなる(安定度が高くなる)ことが期待される。そのため、1刃当たりの送り量が元の状態(元の回転数と指令送り速度Fsetとにおける1刃当たりの送り量)と変わらないように、条件修正部236は、単純に、元の回転数×速度比RFの値を修正後の回転数としてもよい。
なお、ここでは、速度比RFに基づいて回転数を修正するか否かの判定を行っている。しかしながら、速度比RFではなく、実送り速度Freal、または実1刃当たりの送り量(実送り速度/回転数/刃数)の閾値を設けておき、実送り速度Freal、または実1刃当たりの送り量と閾値との比較結果に基づいて、回転数を修正するか否かの判定を行ってもよい。
回転数の修正後、条件修正部236は、修正後の回転数が許容回転数以上であるか否かを判定する(S58)。許容回転数とは、実際の切削加工において切削可能な回転数を示すものである。許容回転数としては、回転数として許容できる最低回転数(例;元の回転数×0.1)が挙げられる。また、許容できる1刃当たりの最大送り量(=送り速度/回転数/刃数)を予め設定しておき、当該最大送り量となるときの回転数を許容回転数としてもよい。
条件修正部236は、修正後の回転数が許容回転数以上であると判定した場合には(S58でYES)、S54の処理に戻る。そして、再度減衰度が算出され、閾値αとの比較が行われる。一方、条件修正部236は、修正後の回転数が許容回転数未満であると判定した場合には(S58でNO)、当該判定時までに算出した回転数のうち、最もびびり振動が生じにくい安定度が高い回転数を、修正後の回転数として採用する。安定度が高い回転数とは、許容回転数以上であって、減衰度が閾値αに最も近いときの回転数を示す。そして、条件修正部236は、当該回転数を考慮して工具経路を修正する(S59)。
条件修正部236は、工具経路の修正後、全工具経路(全パス)において、減衰度および速度比RFに基づく工具経路修正処理を行ったか否かを判定する(S60)。なお、減衰度比較部235によって減衰度が閾値α以上であると判定された場合(S55でYES)、その旨が条件修正部236に通知される。この場合、びびり振動が発生しない安定な状態であると見做すことができるため、条件修正部236はそのときの回転数を記憶して、S60の処理に移行する。
条件修正部236は、全パスに対する減衰度に基づく工具経路修正処理が終了していないと判定した場合には(S60でNO)、パス番号iを1インクリメントして、S53の処理に戻る。一方、条件修正部236は、上記工具経路修正処理が終了していると判定した場合(S60でYES)、記憶した工具経路の追加数、工具経路の追加位置、および修正した回転数とに基づいて、修正NCデータを作成し、出力部25に出力する(S61)。そして、出力部25は、修正NCデータを上記端末のハードディスクに出力してファイル保存する。また、表示制御部234は、減衰度算出部233によって算出された減衰度を表示部21に表示する(S62)。なお、S61およびS62の処理順序は問わない。
このように、本実施形態では、条件修正部236は、実送り速度Frealが低くなる位置で減衰度が閾値αよりも小さい場合に、回転数を低下させて、静的な切取り厚さtsを大きくすることにより、減衰度が閾値α以上となるようにすることができる。これにより、当該位置におけるびびり振動の発生を回避できる。
なお、実送り速度Frealが指令送り速度Fsetに対してある程度以上小さい場合に、指令送り速度Fsetを大きくしても実送り速度Frealはあまり変化しない。そのため、指令送り速度Fsetを大きくしても減衰度を高めること、換言すればびびり振動の発生を回避できない。そのため、この場合には、上述のように回転数を低下させることにより、びびり振動の発生を回避することが有効である。
〔ソフトウェアによる実現例〕
びびり振動回避装置1、1a、1bの制御ブロック(特に制御部23、23a、23bの各部)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、びびり振動回避装置1、1a、1bは、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
<付記事項>
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。