(58)【調査した分野】(Int.Cl.,DB名)
前記加工プログラムが、少なくとも2つの直線軸および少なくとも1つの回転軸を有する多軸加工機の動作を制御する多軸加工機用加工プログラムである場合、前記物理量算出部は、前記各指令点に対応する機械位置の位置座標を用いて前記物理量を算出する機能を有する、請求項1から請求項4のいずれかに記載の加工プログラム解析装置。
前記物理量分類部によって分類されたグループを識別可能な態様で、前記各指令点のプロットを出力する解析結果出力部を有する、請求項1から請求項5のいずれかに記載の加工プログラム解析装置。
【図面の簡単な説明】
【0018】
【
図1】本発明に係る加工プログラム解析装置の一実施形態を示すブロック図である。
【
図2】本実施形態において、解析結果記憶部に記憶される解析結果の一例を示す図である。
【
図3】本実施形態の加工プログラム解析方法を示すフローチャートである。
【
図4】実施例1〜5で解析対象としたブレード加工プログラムの工具経路を示す図である。
【
図5】実施例1における、移動量の定義式を示す図である。
【
図6】実施例1において、移動量を算出した結果を示す図である。
【
図7】実施例1において、移動量を3つのグループに分類した結果を示す図である。
【
図8】実施例1において、移動量の分類結果に基づいて、ブレード加工プログラムの加工面を識別した解析結果を示す図である。
【
図9】実施例1における、角度の定義式を示す図である。
【
図10】実施例1において、角度を算出した結果を示す図である。
【
図11】実施例1において、角度を2つのグループに分類した結果を示す図である。
【
図12】実施例1において、角度の分類結果に基づいて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【
図13】実施例1における、曲率半径の定義式を示す図である。
【
図14】実施例1において、曲率半径を算出した結果を示す図である。
【
図15】実施例1において、曲率半径を2つのグループに分類した結果を示す図である。
【
図16】実施例1において、曲率半径の分類結果に基づいて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【
図17】実施例2における、移動量変化量の定義式を示す図である。
【
図18】実施例2において、移動量変化量を算出した結果を示す図である。
【
図19】実施例2において、移動量変化量を3つのグループに分類した結果を示す図である。
【
図20】実施例2において、移動量変化量の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【
図21】実施例2における、移動量変化量の変化量の定義式を示す図である。
【
図22】実施例2において、移動量変化量の変化量を算出した結果を示す図である。
【
図23】実施例2において、移動量変化量の変化量を3つのグループに分類した結果を示す図である。
【
図24】実施例2において、移動量変化量の変化量の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【
図25】実施例2における、移動量の比率の定義式を示す図である。
【
図26】実施例2において、移動量の比率を算出した結果を示す図である。
【
図27】実施例2において、移動量の比率を2つのグループに分類した結果を示す図である。
【
図28】実施例2において、移動量の比率の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【
図29】実施例3において、移動量によって加工面を識別した後、移動量変化量によって不揃い点を抽出した結果を示す図である。
【
図30】実施例3の比較例として、移動量変化量のみによって、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【
図31】実施例4において、位置および移動量を算出した結果を示す図である。
【
図32】実施例4において、位置および移動量を組み合わせて、ブレード加工プログラムにおける加工面を識別した結果を示す図である。
【
図33】実施例5における、指令点の位置座標を示す図である。
【
図34】実施例5における、機械の位置座標を示す図である。
【
図35】実施例5において、指令点の移動量および機械の移動量を4つのグループに分類した際の、指令点の移動量に関する分類結果を示す図である。
【
図36】実施例5において、指令点の移動量および機械の移動量を4つのグループに分類した際の、機械の移動量に関する分類結果を示す図である。
【
図37】実施例5において、指令点の移動量および機械の移動量を用いて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【
図38】加工プログラムの指令点列を構成する指令点およびその刃先経路を示す図である。
【
図39】不揃いの指令点が生じた加工プログラムの工具経路を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明に係る加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法の一実施形態について図面を用いて説明する。
【0020】
本実施形態の加工プログラム解析装置1は、加工プログラムについて様々な解析を行うものであり、パーソナルコンピュータ、タブレット端末またはスマートフォン等の一般的なコンピュータによって構成されている。具体的には、加工プログラム解析装置1は、
図1に示すように、主として、データの入力や解析結果の表示を行うための表示入力手段2と、本実施形態の加工プログラム解析プログラム1aや各種データを記憶するとともに、演算処理手段4が各種処理を行う際のワーキングエリアとして機能する記憶手段3と、記憶手段3にインストールされた加工プログラム解析プログラム1aを実行することにより、各種の演算処理を実行する演算処理手段4とから構成されている。以下、各構成手段について詳細に説明する。
【0021】
なお、本実施形態において、加工プログラム解析装置1は、一般的なコンピュータによって構成されているが、この構成に限定されるものではない。例えば、コンピュータ数値制御(CNC:Computer Numerical Control)可能な数値制御装置や、上述したCAD/CAM装置等の特殊なコンピュータに本発明に係る加工プログラム解析機能を実装し、加工プログラム解析装置1として構成してもよい。
【0022】
表示入力手段2は、タッチパネル等で構成されており、入力機能と表示機能とを兼ね備えたものである。本実施形態において、表示入力手段2は、後述する物理量の選択や、グループ数の設定等を受け付ける入力機能と、加工プログラムの解析結果等を表示する表示機能とを有している。なお、本実施形態では、表示機能および入力機能を兼ね備えた表示入力手段2を使用しているが、この構成に限定されるものではなく、表示機能のみを備えた液晶ディスプレイ等の表示手段、および入力機能のみを備えたキーボードやマウス等の入力手段をそれぞれ別個に有していてもよい。
【0023】
記憶手段3は、ハードディスク、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等で構成されており、各種データを記憶するとともに、演算処理手段4が各種処理を行う際のワーキングエリアとして機能するものである。本実施形態において、記憶手段3は、
図1に示すように、プログラム記憶部31と、加工プログラム記憶部32と、解析結果記憶部33と、物理量定義式記憶部34とを有している。
【0024】
プログラム記憶部31には、本実施形態の加工プログラム解析装置1を制御するための加工プログラム解析プログラム1aがインストールされている。そして、演算処理手段4が、当該加工プログラム解析プログラム1aを実行することにより、加工プログラム解析装置1としてのコンピュータを後述する各構成部として機能させるようになっている。
【0025】
なお、加工プログラム解析プログラム1aの利用形態は、上記構成に限られるものではない。例えば、CD−ROMやUSBメモリ等のように、コンピュータで読み取り可能な非一時的な記録媒体に加工プログラム解析プログラム1aを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やASP(Application Service Provider)方式等で利用してもよい。
【0026】
加工プログラム記憶部32は、解析対象となる加工プログラムを記憶するものである。本実施形態において、加工プログラムは、各種の工作機械を数値制御するためのものであり、CAD/CAM装置によって生成されている。また、加工プログラムには、行番号に対応付けて、工具経路を微小線分に区分する各指令点の位置座標が、指令点列として含まれている。
【0027】
解析結果記憶部33は、加工プログラムの解析結果を記憶するものである。本実施形態において、解析結果記憶部33は、
図2に示すように、データテーブル形式で構成されており、加工プログラムの指令点列を構成する各指令点について、工具経路に沿ってシーケンシャルに振られた指令点番号と、X軸、Y軸およびZ軸の各座標値で表された位置座標と、後述する物理量算出部43によって算出された物理量と、後述する物理量分類部45によって分類されたグループのグループ番号とを記憶するようになっている。
【0028】
なお、
図2に示す例では、実施例1で後述する移動量V
i(=P
i+1−P
i−1)が物理量の一つとして記憶されている。また、物理量の算出に用いる位置座標は、直線軸(X,Y,Z)に限定されるものではなく、回転軸(A,B,C)でもよいし、直線軸(X,Y,Z)と回転軸(A,B,C)の組み合わせでもよい。さらに、
図2の移動量V
iは、前後の指令点の位置座標を用いて算出する物理量であるため、指令点列の先頭および後尾の指令点については物理量は算出されず、グループに分類されることもない。
【0029】
物理量定義式記憶部34は、加工プログラムの解析に用いる所定の物理量を算出するための定義式を記憶するものである。本発明において、物理量とは、物理系の性質を表現し、その測定方法や、大きさの単位が規定された全ての量を含む概念である。また、本発明に係る定義式としては、加工プログラムの指令点列を構成する各指令点について、1または複数の指令点の位置座標を用いて算出される物理量が定義されている。
【0030】
具体的には、所定の物理量としては、実施例1〜5で後述するとおり、移動量、角度、曲率半径、移動量変化量、移動量変化量の変化量または移動量の比率等の物理量が使用可能である。そして、当該物理量を算出するための定義式として、下記式(1)〜(6)等の定義式が、当該物理量に対応付けて物理量定義式記憶部34に記憶されている。なお、物理量定義式記憶部34には、表示入力手段2を介して任意の物理量およびその定義式を設定できるようになっている。
【0031】
つぎに、演算処理手段4は、CPU(Central Processing Unit)等によって構成されており、記憶手段3にインストールされた加工プログラム解析プログラム1aを実行することにより、
図1に示すように、指令点取得部41と、物理量選択部42と、物理量算出部43と、グループ数設定部44と、物理量分類部45と、解析結果出力部46として機能するようになっている。以下、演算処理手段4の各構成部についてより詳細に説明する。
【0032】
指令点取得部41は、加工プログラムから指令点を取得するものである。本実施形態において、指令点取得部41は、加工プログラム記憶部32から加工プログラムを読み出し、当該加工プログラムの指令点列を構成する各指令点の位置座標を取得して、解析結果記憶部33に順次記憶させるようになっている。
【0033】
物理量選択部42は、加工プログラムの解析に使用する1または2以上の物理量を選択するものである。本実施形態において、物理量選択部42は、物理量定義式記憶部34に予め用意されている各種の物理量の中から、表示入力手段2を介して所望の物理量の選択を受け付けると、当該選択された物理量の種別を物理量算出部43に提供するようになっている。また、本実施形態において、物理量選択部42は、後述するとおり、異なる複数の物理量を並列的に用いて解析する場合、2以上の物理量を選択するようになっている。
【0034】
なお、物理量選択部42は、上記構成に限定されるものではなく、予め所定の物理量をデフォルトで選択するように構成されていてもよい。また、使用する物理量が常に固定であれば、物理量選択部42を設ける必要はない。
【0035】
物理量算出部43は、各指令点について物理量を算出するものである。本実施形態において、物理量算出部43は、指令点取得部41によって取得された各指令点の位置座標を解析結果記憶部33から読み出すとともに、物理量選択部42によって選択された物理量に対応する定義式を物理量定義式記憶部34から読み出す。そして、物理量算出部43は、読み出した定義式に基づき、1または複数の指令点の位置座標を用いて、各指令点についての物理量を算出し、解析結果記憶部33に記憶するようになっている。
【0036】
また、本実施形態において、加工プログラム記憶部32に記憶された加工プログラムが、少なくとも2つの直線軸および少なくとも1つの回転軸を有する多軸加工機の動作を制御する多軸加工機用加工プログラムである場合、物理量算出部43は、各指令点に対応する機械位置の位置座標を用いて物理量を算出する機能を有している。詳細については、実施例5で後述する。
【0037】
グループ数設定部44は、各指令点の物理量をクラスター分析する際のグループ数(クラスタ数)を設定するものである。本実施形態において、グループ数設定部44は、表示入力手段2を介して所望のグループ数の入力を受け付けると、当該入力されたグループ数を物理量分類部45に設定するようになっている。なお、最適なグループ数は、解析に使用する物理量や、ワークの形状等によって異なる。よって、本実施形態では、所望の解析結果が得られるまで、グループ数を適宜変更しうるようになっている。
【0038】
物理量分類部45は、各指令点の物理量に対してクラスター分析を行うことにより、物理量を複数のグループに分類するものである。本発明において、クラスター分析とは、いわゆる非階層的クラスター分析に相当するものである。具体的には、分類するグループ数を予め定めておき、互いに性質が類似するものを同一のグループに分類し、そうでないものを異なるグループに分類することで、予め定めたグループ数にグルーピングする手法である。
【0039】
よって、本実施形態において、物理量分類部45は、物理量算出部43によって算出された各指令点の物理量を解析結果記憶部33から読み出し、グループ数設定部44によって設定されたグループ数となるように、各指令点の物理量をクラスター分析し分類する。そして、物理量分類部45は、分類結果として得られたグループ番号を各指令点の物理量に対応付けて解析結果記憶部33に記憶するようになっている。
【0040】
なお、クラスター分析に使用するアルゴリズムとしては、計算時間と分析精度の観点から、K−means法(K平均法)が好ましいが、物理量をグルーピング可能な手法であれば、特に限定されるものではなく、他のクラスタリングアルゴリズムを使用してもよい。
【0041】
また、本実施形態において、物理量分類部45は、同一のグループに分類された物理量を有する各指令点について、先の分類に用いた物理量とは異なる物理量に対してクラスター分析を行うことにより、さらに複数のグループに再分類する機能を有している。これにより、異なる複数の物理量によって指令点列が直列的に評価されるため、解析能力が向上することとなる。詳細については、実施例3で後述する。
【0042】
さらに、本実施形態において、物理量分類部45は、各指令点について算出された異なる複数の物理量からなる物理量群に対してクラスター分析を行うことにより、当該物理量群を複数のグループに分類する機能を有している。これにより、異なる複数の物理量によって指令点列が並列的に評価されるため、解析能力が向上することとなる。詳細については、実施例4で後述する。
【0043】
解析結果出力部46は、物理量分類部45による分類結果を加工プログラムの解析結果として出力するものである。本実施形態において、解析結果出力部46は、物理量分類部45によって分類されたグループを識別可能な態様で、各指令点のプロットを表示するようになっている。具体的には、解析結果出力部46は、解析結果記憶部33から各指令点の位置座標およびグループ番号を読み出し、グループ番号が異なる各グループごとに、互いに識別しうる色や形状またはその組み合わせ等の表示態様を設定する。そして、解析結果出力部46は、各指令点の位置座標に対応する位置に、設定した表示態様のプロット点を表示入力手段2に表示させるようになっている。
【0044】
なお、解析結果の表示方法としては、XYZ空間内に各指令点に対応するプロット点を3次元表示してもよく、XY平面等において2次元表示してもよい。また、本実施形態では、解析結果出力部46が、解析結果を表示入力手段2に表示しているが、この構成に限定されるものではなく、ユーザが理解しうる出力形式であれば、解析結果を紙に印刷して出力してもよい。さらに、本実施形態では、解析結果をユーザに提供するために出力しているが、解析結果を解析結果記憶部33に蓄積するように構成してもよく、この場合、解析結果出力部46を設ける必要はない。
【0045】
つぎに、本実施形態の加工プログラム解析装置1、加工プログラム解析プログラム1aおよび加工プログラム解析方法の作用について、
図3を参照しつつ説明する。
【0046】
まず、本実施形態の加工プログラム解析装置1によって加工プログラムを解析する前段階として、加工プログラム記憶部32に解析対象となる加工プログラムを記憶させておくとともに、物理量定義式記憶部34に各種の定義式を記憶させておく。これにより、加工プログラムを解析する準備が整うこととなる。
【0047】
上記準備が整えられると、
図3に示すように、まず、指令点取得部41が、加工プログラム記憶部32内の加工プログラムから指令点列を構成する指令点を取得する(ステップS1)。これにより、
図2に示すように、各指令点の位置座標が解析結果記憶部33に記憶される。
【0048】
つぎに、表示入力手段2を介したオペレータの選択操作に応じて、物理量選択部42が、1または2以上の物理量を選択すると(ステップS2)、物理量算出部43が、各指令点について、ステップS2で選択された物理量を算出する(ステップS3)。これにより、
図2に示すように、各指令点について1つの物理量または2以上の物理量群が、解析結果記憶部33に記憶される。
【0049】
つづいて、グループ数設定部44が、ステップS3で算出された物理量(群)を複数のグループに分類するためのグループ数を設定すると(ステップS4)、物理量分類部45が、当該物理量(群)に対してクラスター分析を行うことにより、物理量(群)を複数のグループに分類する(ステップS5)。これにより、
図2に示すように、物理量(群)が類似する指令点には同一のグループ番号が付与され、物理量が類似しない指令点には異なるグループ番号が付与される。この分類結果によって、加工プログラムから有用な情報が直接取得され、様々な解析が可能となる。
【0050】
そして、解析結果出力部46が、分類されたグループを識別可能な態様で各指令点のプロットを表示する(ステップS6)。これにより、物理量の種類に応じて、性質が類似する指令点がまとまって表示されるとともに、性質が非類似の指令点が異なる態様で表示される。よって、例えば、実施例1で後述する移動量、角度または曲率半径等を物理量とした場合、
図8、
図12、
図16に示すように、同一のグループに分類された指令点群によって、加工プログラムによって加工されるワークの加工面が識別される。
【0051】
また、実施例2で後述する移動量変化量、移動量変化量の変化量または移動量の比率等を物理量とした場合、
図20、
図24、
図28に示すように、同一のグループに分類された指令点群の中に異なるグループの指令点が不規則・不連続に出現するため、当該指令点が周囲の指令点との位置関係において不揃いの指令点として抽出される。さらに、ステップS2で2以上の物理量を選択した場合、実施例4で後述するように、物理量の次元が増大されるため、解析精度が向上する。
【0052】
なお、ステップS6で出力された解析結果に基づいて、グループ数の変更が必要であれば(ステップS7:YES)、ステップS4に戻り、グループ数設定部44によって新たなグループ数を設定する。これにより、解析結果に応じて適宜グループ数を変更して再分析でき、多種多様な物理量や複雑なワーク形状であっても最適な分析が可能となる。
【0053】
一方、グループ数の変更が不要であれば(ステップS7:NO)、分類された各グループに対して再分類が必要か否かを判断し(ステップS8)、不要であれば(ステップS8:NO)、本処理を終了する。
【0054】
一方、再分類する場合には(ステップS8:YES)、ステップS2へ戻り、表示入力手段2を介したオペレータの選択操作に応じて、物理量選択部42が、先の分類に用いた物理量とは異なる物理量を選択する(ステップS2)。これにより、実施例3で後述するように、同一のグループに分類された各指令点について、上述したステップS3からステップS6の処理が再度実行されるため、解析精度が向上する。
【0055】
以上のような本実施形態によれば、以下のような効果を奏する。
1.加工プログラムから有用な情報を直接取得し、様々な解析を行うことができる。
2.加工プログラムによって加工されるワークがどのような加工面を有するかを識別することができる。
3.加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出することができる。
4.識別された加工面に対して不自然な指令点や、不揃いの指令点を補正することで加工面の品位を向上することができる。
5.異なる物理量を直列的または並列的にクラスター分析することにより、解析精度を向上することができる。
6.解析結果を一目で確認し理解することができる。
【0056】
つぎに、本発明に係る加工プログラム解析装置1、加工プログラム解析プログラム1aおよび加工プログラム解析方法の具体的な実施例について説明する。
【0057】
以下の実施例1〜実施例5では、解析対象の加工プログラムとして、工具刃先を螺旋状に移動させることにより、
図4に示すようなブレード状のワークを削り出すブレード加工プログラムを使用した。また、クラスター分析には、K−meansアルゴリズムを使用した。さらに、以下の説明では、各種の処理を実行する主体としての加工プログラム解析装置1が文言上省略されている場合がある。
【実施例1】
【0058】
本実施例1では、加工プログラムによって加工されるワークがどのような加工面を有するかを識別しうる物理量の検討を行った。具体的には、少なくとも前後の指令点の位置座標を用いる物理量として、下記式(1)で定義される移動量、下記式(2)で定義される角度、および下記式(3)で定義される曲率半径を案出し、各物理量を用いて前記ブレード加工プログラムの解析を行った。以下、各物理量について具体的に説明する。
【0059】
(1)移動量
本実施例1では、1つ目の物理量として、
図5に示すように、第i番目の指令点の移動量V
iを下記式(1)によって定義した。
V
i=P
i+1−P
i−1 ・・・式(1)
ただし、各符号は以下を表す。
i:指令点番号
P
i:第i番目の指令点の位置座標
V
i:第i番目の指令点の移動量
【0060】
なお、上記移動量を言葉で定義すると、指令点における工具の移動方向といえる(時間は入っていないので速度ではない)。本実施例1では、単に隣の指令点との差分によって移動量を定義しているが、何ブロックかにまたがって平均化してもよく、前後の指令点を含む3点について近似曲線を求め、当該近似曲線の接線方向を移動量(移動方向)としてもよい。
【0061】
つぎに、ブレード加工プログラムの各指令点について、上記式(1)を用いてXYZの各軸に対応する3つの移動量(Vx,Vy,Vz)を算出した。その結果を
図6に示す。なお、第i番目の指令点における各軸ごとの移動量(Vx,Vy,Vz)は、第i+1番目の指令点の位置座標(Px
i+1,Py
i+1,Pz
i+1)および第i−1番目の指令点の位置座標(Px
i−1,Py
i−1,Pz
i−1)を用いて下記式(1−1)〜(1−3)によって表される。
Vx
i=Px
i+1−Px
i−1 ・・・式(1−1)
Vy
i=Py
i+1−Py
i−1 ・・・式(1−2)
Vz
i=Pz
i+1−Pz
i−1 ・・・式(1−3)
【0062】
そして、算出した移動量に対してクラスター分析を行うことにより、当該移動量を3つのグループに分類した。その分類結果を
図7に示す。また、当該分類結果に基づいて出力した解析結果を
図8に示す。なお、本実施例1および後述の実施例2〜5における分類結果や解析結果は、ブレード加工プログラムの指令点列を構成する各指令点のうち、所定のXY平面内における指令点を抜粋して表示したものである。
【0063】
図7に示すように、移動量の分布を3つのグループに分類した結果、原点付近に分布する第1グループ(○印)と、第1象限内に分布する第2グループ(△印)と、第3象限内に分布する第3グループ(×印)とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図8に示すように、ブレード加工プログラムの加工面として、エッジ面(○印)と、ブレード表面(×印)と、ブレード裏面(△印)とが明確に識別された。
【0064】
(2)角度
本実施例1では、2つ目の物理量として、
図9に示すように、第i番目の指令点の角度θ
iを下記式(2)によって定義した。
ただし、各符号は以下を表す。
i:指令点番号
P
i:第i番目の指令点の位置座標
θ
i:第i番目の指令点の角度
【0065】
つぎに、ブレード加工プログラムの各指令点について、上記式(2)を用いて角度θを算出した。その結果を
図10に示す。そして、算出した角度に対してクラスター分析を行うことにより、当該角度を2つのグループに分類した。その分類結果を
図11に示す。また、当該分類結果に基づいて出力した解析結果を
図12に示す。なお、
図11におけるグラフの横軸は角度θ(theta)を示し、縦軸は指令点の頻度(frequency)を示している。
【0066】
図11に示すように、角度の分布を2つのグループに分類した結果、右上がりの斜線を付した第1グループと、右下がりの斜線を付した第2グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図12に示すように、ブレード加工プログラムの加工面として、エッジ面(○印)と、ブレード表面・裏面(△印)とが明確に識別された。
【0067】
(3)曲率半径
3つ目の物理量である曲率半径を定義するに際しては、まず、
図13に示すように、加工プログラムの指令点列を構成する4つの指令点P
i−1、P
i、P
i+1、P
i+2に基づいて、P
i、P
i+1間の移動を示す曲線を下記式に示すn次多項式(n:任意の自然数)によって近似した。
ただし、各符号は以下を表す。
i :指令点番号
c
i:係数
u :媒介変数
C(u):P
i、P
i+1間の移動を示す曲線を近似したn次多項式
【0068】
そして、第i番目の指令点における曲率半径ρiを下記式(3)によって定義した。
なお、上記式(3)は、
図13に示すように、C(0)の一階微分の2乗をC(0)の二階微分で除算した値として定義されるものである。また、上記係数c
iは、最小二乗法等の回帰分析によって算出される。さらに、上記近似式は任意の次数でよいが、本実施例3では、3次近似式(n=3)であるC(u)=c
3u
3+c
2u
2+c
1u+c
0を使用した。
【0069】
つぎに、ブレード加工プログラムの各指令点について、上記式(3)を用いて曲率半径ρを算出した。その結果を
図14に示す。そして、算出した曲率半径に対してクラスター分析を行うことにより、当該曲率半径を2つのグループに分類した。その分類結果を
図15に示す。また、当該分類結果に基づいて出力した解析結果を
図16に示す。なお、
図15におけるグラフの横軸は曲率半径(radius)を示し、縦軸は指令点の頻度(frequency)を示している。
【0070】
図15に示すように、曲率半径の分布を2つのグループに分類した結果、右上がりの斜線を付した第1グループと、右下がりの斜線を付した第2グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図16に示すように、ブレード加工プログラムの加工面として、エッジ面(○印)と、ブレード表面・裏面(△印)とが明確に識別された。
【0071】
以上より、本実施例1によれば、上記式(1)〜(3)で定義される移動量、角度または曲率半径を物理量として使用することにより、加工プログラムの指令点列を構成する各指令点が、当該加工プログラムによって加工されるワークのどの加工面に属するかを識別できることが示された。
【実施例2】
【0072】
本実施例2では、加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出しうる物理量の検討を行った。具体的には、少なくとも前後の指令点の位置座標を用いる物理量として、下記式(4)で定義される移動量変化量、下記式(5)で定義される移動量変化量の変化量、および下記式(6)で定義される移動量の比率を案出し、各物理量を用いて前記ブレード加工プログラムの解析を行った。以下、各物理量について具体的に説明する。
【0073】
(4)移動量変化量
本実施例2では、4つ目の物理量として、
図17に示すように、第i番目の指令点の移動量変化量A
iを下記式(4)によって定義した。
A
i=P
i+1−2P
i+P
i−1 ・・・式(4)
ただし、各符号は以下を表す。
i:指令点番号
P
i:第i番目の指令点の位置座標
A
i;第i番目の指令点の移動量変化量
【0074】
つぎに、ブレード加工プログラムの各指令点について、上記式(4)を用いてXYZの各軸に対応する3つの移動量変化量(Ax,Ay,Az)を算出した。その結果を
図18に示す。なお、第i番目の指令点における各軸ごとの移動量変化量(Ax,Ay,Az)は、第i+1番目の指令点の位置座標(Px
i+1,Py
i+1,Pz
i+1)、第i番目の指令点の位置座標(Px
i,Py
i,Pz
i)、および第i−1番目の指令点の位置座標(Px
i−1,Py
i−1,Pz
i−1)を用いて下記式(4−1)〜(4−3)によって表される。
Ax
i=Px
i+1−2Px
i+Px
i−1 ・・・式(4−1)
Ay
i=Py
i+1−2Py
i+Py
i−1 ・・・式(4−2)
Az
i=Pz
i+1−2Pz
i+Pz
i−1 ・・・式(4−3)
【0075】
そして、算出した移動量変化量に対してクラスター分析を行うことにより、当該移動量変化量を3つのグループに分類した。その分類結果を
図19に示す。また、当該分類結果に基づいて出力した解析結果を
図20に示す。
【0076】
図19に示すように、移動量変化量の分布を3つのグループに分類した結果、原点付近に分布する第1グループ(○印)と、第1象限内に分布する第2グループ(△印)と、第3象限内に分布する第3グループ(×印)とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図20に示すように、第1グループ(○印)の指令点群の中に第2グループ(△印)および第3のグループ(×印)の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【0077】
(5)移動量変化量の変化量
本実施例2では、5つ目の物理量として、
図21に示すように、第i番目の指令点の移動量変化量の変化量J
iを下記式(5)によって定義した。
J
i=P
i+1−3P
i+3P
i−1−P
i−2 ・・・式(5)
ただし、各符号は以下を表す。
i:指令点番号
P
i:第i番目の指令点の位置座標
J
i;第i番目の指令点の移動量変化量の変化量
【0078】
つぎに、ブレード加工プログラムの各指令点について、上記式(5)を用いてXYZの各軸に対応する3つの移動量変化量の変化量(Jx,Jy,Jz)を算出した。その結果を
図22に示す。なお、第i番目の指令点における各軸ごとの移動量変化量の変化量(Jx,Jy,Jz)は、第i+1番目の指令点の位置座標(Px
i+1,Py
i+1,Pz
i+1)、第i番目の指令点の位置座標(Px
i,Py
i,Pz
i)、第i−1番目の指令点の位置座標(Px
i−1,Py
i−1,Pz
i−1)、および第i−2番目の指令点の位置座標(Px
i−2,Py
i−2,Pz
i−2)を用いて下記式(5−1)〜(5−3)によって表される。
Jx
i=Px
i+1−3Px
i+3Px
i−1−Px
i−2 ・・・式(5−1)
Jy
i=Py
i+1−3Py
i+3Py
i−1−Py
i−2 ・・・式(5−2)
Jz
i=Pz
i+1−3Pz
i+3Pz
i−1−Pz
i−2 ・・・式(5−3)
【0079】
そして、算出した移動量変化量の変化量に対してクラスター分析を行うことにより、当該移動量変化量の変化量を3つのグループに分類した。その分類結果を
図23に示す。また、当該分類結果に基づいて出力した解析結果を
図24に示す。
【0080】
図23に示すように、移動量変化量の変化量の分布を3つのグループに分類した結果、原点付近に分布する第1グループ(○印)と、第1象限内に分布する第2グループ(△印)と、第3象限内に分布する第3グループ(×印)とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図24に示すように、第1グループ(○印)の指令点群の中に第2グループ(△印)および第3のグループ(×印)の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【0081】
(6)移動量の比率
本実施例2では、6つ目の物理量として、
図25に示すように、第i番目の指令点の移動量の比率k
iを下記式(6)によって定義した。
ただし、各符号は以下を表す。
i:指令点番号
P
i:第i番目の指令点の位置座標
k
i;第i番目の指令点の移動量の比率
【0082】
つぎに、ブレード加工プログラムの各指令点について、上記式(6)を用いて移動量の比率kを算出した。その結果を
図26に示す。そして、算出した移動量の比率に対してクラスター分析を行うことにより、当該移動量の比率を2つのグループに分類した。その分類結果を
図27に示す。また、当該分類結果に基づいて出力した解析結果を
図28に示す。なお、
図27におけるグラフの横軸は移動量の比率(ratio)を示し、縦軸は指令点の頻度(frequency)を示している。
【0083】
図27に示すように、移動量の比率の分布を2つのグループに分類した結果、右上がりの斜線を付した第1グループと、右下がりの斜線を付した第2グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図28に示すように、第2グループ(○印)の指令点群の中に第1グループ(△印)の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【0084】
以上より、本実施例2によれば、上記式(4)〜(6)で定義される移動量変化量、移動量変化量の変化量または移動量の比率を物理量として使用することにより、加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出できることが示された。また、実施例1および実施例2によれば、物理量を適宜選択することにより、様々な解析結果を得られることが示された。
【0085】
なお、指令点は工具経路上を一定の時間間隔で移動するものであるから、上述した移動量を時間で除算すれば速度に相当する。この場合、移動量の差分である移動量変化量は加速度に相当し、移動量変化量の差分である移動量変化量の変化量は加加速度(躍度)に相当するといえる。よって、移動量変化量を用いて解析すれば、加工プログラムにおける加速度の異常箇所が不揃いの指令点として抽出され、移動量変化量の変化量を用いて解析すれば、加工プログラムにおける加加速度の異常箇所が不揃いの指令点として抽出されることとなる。
【実施例3】
【0086】
本実施例3では、異なる物理量を直列的に組み合わせてクラスター分析した場合における、解析結果に及ぼす影響を検討した。なお、直列的とは、所定の物理量によって同一のグループに分類された各グループのそれぞれに対して、当該物理量とは異なる物理量を用いてさらにグルーピングすることをいうものとする。
【0087】
具体的には、まず、実施例1と同様、ブレード加工プログラムの各指令点について移動量を算出し、クラスター分析を行って3つのグループ(エッジ面、ブレード表面、ブレード裏面)に分類した。つづいて、当該3つのグループのうち、いずれかのグループ(面)に分類された各指令点について、移動量変化量を算出し、クラスター分析を行ってさらに3つのグループ(○印、△印、×印)に分類した。そして、当該分類結果に基づいて、不揃いの指令点を抽出した結果を
図29に示す。
【0088】
一方、比較例として、
図29で解析した同一の指令点列について、実施例2と同様、移動量変化量のみを用いて不揃いの指令点を抽出した。その結果を
図30に示す。
図29に示すように、いずれかの加工面に限って不揃いの指令点を抽出した本実施例3では、
図30に示す比較例では抽出されなかった不揃いの指令点(△印、×印)が数多く抽出されており、抽出精度が向上されているのがわかる。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【0089】
以上より、本実施例3によれば、異なる物理量を直列的に組み合わせてクラスター分析することにより、解析精度が向上することが示された。
【実施例4】
【0090】
本実施例4では、異なる物理量を並列的に組み合わせてクラスター分析した場合における、解析結果に及ぼす影響を検討した。なお、並列的とは、異なる複数の物理量によって高次元化された物理量群を用いてグルーピングすることをいうものとする。
【0091】
具体的には、まず、ブレード加工プログラムの各指令点について、位置座標および移動量からなる6次元の物理量群(Px,Py,Pz,Vx,Vy,Vz)を算出した。その結果を
図31に示す。そして、当該6次元の物理量群(Px,Py,Pz,Vx,Vy,Vz)に対してクラスター分析を行い、4つのグループ(○印、△印、×印、◇印)に分類した。そして、当該分類結果に基づいて、加工面を識別した結果を
図32に示す。
【0092】
図32に示すように、高次元化された物理量によって加工面を識別した本実施例4では、移動量のみで加工面を識別した
図8では区別できなかった左エッジ面(○印)と右エッジ面(×印)とが区別されており、識別精度が向上されていた。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【0093】
以上より、本実施例4によれば、異なる物理量を並列的に組み合わせてクラスター分析することにより、解析精度が向上することが示された。また、物理量を算出しようとする指令点の位置座標(Px,Py,Pz)自体も物理量として使用できることが示された。
【実施例5】
【0094】
本実施例5では、多軸加工機用加工プログラムを解析対象として適用できるかの検証を行った。なお、多軸加工機用加工プログラムは、少なくとも2つの直線軸および少なくとも1つの回転軸を有する多軸加工機の動作を制御するものである。また、本実施例5では、多軸加工機用加工プログラムとして、5軸加工機用加工プログラムを使用した。
【0095】
なお、多軸加工機で加工を行う場合、工具先端点制御と呼ばれる数値制御機能を用いて加工を行うことが一般的である。当該工具先端点制御とは、工具の姿勢変化に応じて、常に刃先が指令された経路に沿って移動するように制御する機能である。このため、多軸加工機を構成する各軸の実際の位置(以下、機械位置という)の位置座標は、加工プログラムの指令点列を構成する各指令点の位置座標とは異なる。
【0096】
そこで本実施例5では、まず、ブレード加工プログラムの指令点列を構成する各指令点の位置座標と、当該各指令点に対応する実際の機械位置の位置座標とを用意した。これら指令点の位置座標および機械位置の位置座標をそれぞれ
図33および
図34に示す。
【0097】
つぎに、第i番目の指令点の移動量Vp
i、および当該指令点に対応する実際の機械の移動量Vm
iをそれぞれ下記式(7),(8)によって定義し、各移動量を算出した。
Vp
i=Pp
i+1−Pp
i−1 ・・・式(7)
Vm
i=Pm
i+1−Pm
i−1 ・・・式(8)
ただし、各符号は以下を表す。
i:指令点番号
Pp
i:第i番目の指令点の位置座標
Vp
i:第i番目の指令点の移動量
Pm
i:第i番目の機械位置の位置座標
Vm
i:第i番目の機械の移動量
【0098】
つづいて、算出した6次元の物理量群(Vpx,Vpy,Vpz,Vmx,Vmy,Vmz)に対してクラスター分析を行うことにより、当該物理量群を4つのグループ(○印、△印、×印、◇印)に分類した。当該分類結果のうち、指令点の移動量に関する結果を
図35に示し、機械の移動量に関する結果を
図36に示す。
【0099】
そして、上記分類結果に基づいて、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、
図37に示すように、ブレード加工プログラムの加工面として、ブレード表面(◇印)と、ブレード裏面(△印)と、各エッジ面の右サイド(○印)と、各エッジ面の左サイド(×印)とが明確に識別された。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【0100】
以上より、本実施例5によれば、本発明に係る加工プログラム解析装置1、加工プログラム解析プログラム1aおよび加工プログラム解析方法は、多軸加工機用加工プログラムについても解析対象として適用できることが示された。また、指令点の位置座標から変換された機械位置の位置座標を用いて算出された物理量を使用できることが示された。
【0101】
なお、本発明に係る加工プログラム解析装置1、加工プログラム解析プログラム1aおよび加工プログラム解析方法は、上述した実施形態や実施例に限定されるものではなく、適宜変更することができる。
【0102】
例えば、上述した本実施形態では、少なくとも前後の指令点の位置座標を用いて算出する物理量として、上記式(1)〜式(6)によって定義される物理量を例示したが、これらに限定されるものではなく、各指令点の物理量は、1または複数の指令点の位置座標を用いて算出されるものであればよい。具体的には、実施例4で上述したとおり、ある指令点の位置座標自体や、当該指令点について算出された加工反力等のように、1つの指令点の位置座標を用いて算出された物理量を使用してもよい。また、実施例5で上述したように、指令点の位置座標から変換された機械位置の位置座標を用いて物理量を算出してもよい。さらに、物理量の算出に使用する指令点としては、当該指令点や、当該指令点の前後の指令点のみならず、当該指令点に隣接しない指令点を分散的に使用してもよい。
【0103】
また、上述した各実施例では、ブレード加工プログラムや5軸加工機用加工プログラムを解析対象としているが、他の形状のワークを加工するための加工プログラムや、他の多軸加工機用加工プログラムについても同様に解析可能である。
【0104】
また、上述した実施例3〜5においては、異なる2種類の物理量を直列的または並列的に組み合わせて解析しているが、物理量の組み合わせは各実施例での組み合わせに限定されるものではなく、異なる3種類以上の物理量を直列的または並列的に組み合わせて解析してもよい。