以下に、本発明の実施の形態に係る数値制御パラメータ調整装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1に係る数値制御パラメータ調整装置の構成を示す図である。図1に示す数値制御パラメータ調整装置は、数値制御プログラム解析部101と、移動経路範囲出力部102と、数値制御シミュレーション部103と、駆動制御シミュレーション部104と、加工シミュレーション部105と、形状誤差計算部106と、パラメータ調整部107と、数値制御シミュレーション実行範囲計算部108とを備える。
数値制御プログラム解析部101は、数値制御プログラム121を読み取って解析することで、工具及び加工対象物の移動経路を生成する。数値制御プログラム121は、加工対象物の加工経路を指令するプログラムである。数値制御プログラム121には、CAM(Computer Aided Manufacturing)から出力されるプログラム及び数値制御工作機械ユーザから入力されるプログラムを例示することができる。
移動経路範囲出力部102は、数値制御プログラム解析部101で生成された工具及び加工対象物の移動経路を、数値制御シミュレーション実行範囲122で指定された範囲分だけ出力する。数値制御シミュレーション実行範囲122の初期値には、全ての移動経路範囲を指定しておく。
数値制御シミュレーション部103は、移動経路範囲出力部102から出力された移動経路の範囲に対して、パラメータ123に設定された数値制御パラメータを用いて、移動経路を制御周期ごとに補間及び加減速して補間点データを生成する。
駆動制御シミュレーション部104は、数値制御シミュレーション部103で生成した補間点データに対して、パラメータ123に設定された駆動制御パラメータを用いて、数値制御工作機械の各軸の移動を模擬することで、工具先端位置データを生成する。
加工シミュレーション部105は、加工対象物の形状を表す素材形状データ124を読み込んで加工対象物の仮想的なモデルを構築し、駆動制御シミュレーション部104で生成した工具先端位置データに沿って仮想的に工具を移動させ、仮想加工対象物との交差領域を仮想加工対象物から除去することで加工形状を推定し、推定加工形状データ125を生成する。素材形状データ124は、立方体及び円柱に代表される単純な形状から加工シミュレーション後の複雑な加工形状までの形状データを含む。
形状誤差計算部106は、加工シミュレーション部105で生成した推定加工形状データ125と、目標とする加工形状を表す目標加工形状データ126とを比較し、推定加工形状と目標加工形状との誤差を計算し、形状誤差データ127を生成する。
パラメータ調整部107は、形状誤差データ127を用いて数値制御パラメータ及び駆動制御パラメータを調整し、調整したパラメータをパラメータ123に設定する。
数値制御シミュレーション実行範囲計算部108は、形状誤差データ127を用いて形状誤差が許容誤差に収まらない工具の移動経路範囲を算出する。そして、算出した工具の移動経路範囲が数値制御シミュレーション実行範囲122に設定される。
図2は、本実施の形態における数値制御パラメータ調整装置の動作を示すフローチャートである。まず、処理をスタートして数値制御プログラム及び素材形状データを入力する(S11)。すなわち、加工対象物の加工経路を指令する数値制御プログラムが外部から入力されて数値制御プログラム121に格納される。ここで、外部入力は、CAMからの出力又は数値制御工作機械ユーザによる入力により行われる。また、加工対象物の初期形状を表す素材形状データが外部から入力されて素材形状データ124に格納される。ここで、初期形状を表す素材形状データは、代表的には立方体及び円柱である。また、外部入力は、CAD(Computer Aided Design)データの読み込み又は数値制御工作機械ユーザによる選択によって行われる。
次に、指定された範囲の工具先端位置データを生成する(S12)。すなわち、まず、数値制御プログラム解析部101が数値制御プログラム121を読み取って解析することで、工具及び加工対象物の移動経路を生成する。次に、移動経路範囲出力部102が数値制御シミュレーション実行範囲122に設定された範囲に該当する工具及び加工対象物の移動経路範囲を生成する。なお、数値制御シミュレーション実行範囲122の初期値は全ての移動経路範囲に設定されているので、初回のシミュレーション実行時には全ての移動経路範囲に渡ってシミュレーションが行われる。また、数値制御シミュレーション部103が、移動経路範囲出力部102から出力された工具及び加工対象物の移動経路範囲に対して、パラメータ123に設定された数値制御パラメータを用いて、工具及び加工対象物の移動経路を制御周期ごとに補間及び加減速して補間点データを生成する。最後に、駆動制御シミュレーション部104が、数値制御シミュレーション部103から出力された工具及び加工対象物の移動経路範囲を制御周期ごとに補間した補間点データに対して、パラメータ123に設定された駆動制御パラメータを用いて、数値制御工作機械の各軸を仮想的に動作させることで、工具先端位置及び加工対象物の移動軌跡を生成する。
図3は、数値制御シミュレーション部103で行われる補間及び加減速のイメージを示す図である。図3には、R201からR202まで直線で加工し、R202からR203まで直線で加工するように加工経路を指令した数値制御プログラムを制御周期ごとに補間及び加減速した補間点Ii(201≦i≦213)が示されている。ここで、正しく指令に従って数値制御工作機械を動作させるためには、R202においてX軸の速度を0にしてからY軸の速度を増加させねばならない。しかしながら、実際の加工においては加工時間を短縮する必要があるため、X軸の速度を0にせず、X軸を減速しつつY軸の速度を増加させる。そのため、補間点I205からI208の間では指令経路に対してズレが生じる。このようなズレをどこまで許容するかによって加工時間及び加工精度が変化し、このような許容される誤差を数値制御パラメータとして設定する。
図4は、駆動制御シミュレーション部104で数値制御工作機械の駆動特性を考慮することによる工具先端位置の変化のイメージを示す図である。図4には、数値制御工作機械内の1つの対象軸の速度の変化の様子が示されている。点線C201は対象軸の速度の指令値を示し、実線C202は対象軸の速度の推定値を示している。数値制御工作機械の駆動特性によっても変化するが、一般に、各軸の速度は指令の速度に対して時間的な遅れC 203及び定常偏差C204を生じ、この時間的な遅れC203及び定常偏差C204が工具先端位置及び加工対象物の位置に偏差を生じる原因となる。これら指令速度に対する誤差は、数値制御工作機械内の各軸を制御するために設定されたパラメータに影響して変化する。このようなパラメータを駆動制御パラメータと呼ぶ。
次に、加工形状の推定を行う(S13)。すなわち、加工シミュレーション部105が、S11で格納された素材形状データ124を読み込んで仮想的な加工対象物を生成し、またS12で生成された工具先端位置データに従って仮想的に工具を動作させ、仮想工具と仮想加工対象物との交差した領域を仮想加工対象物から除去することで加工形状を推定する。そして、推定した加工形状のデータが推定加工形状データ125に格納される。
図5は、加工シミュレーション部105で行われる加工形状推定の例を示す図である。図5には、素材形状データ302を立方体とし、工具301をフラットエンドミルとし、工具301を動作させた際の素材形状データ302の変化が示されている。なお、図5では工具301をフラットエンドミルにしているが、これに限定されるものではなく、工具301は、ボールエンドミル及びドリルに代表される形状が定義されたものであればよい。
また、加工シミュレーション中に複数の工具を使用することも可能である。工具情報を番号で管理し、工具交換のタイミングを加工シミュレーション部105に伝えればよい。また、加工シミュレーション後の推定加工形状を次の加工シミュレーションの素材形状データ302に用いることも可能である。荒加工の数値制御プログラムと仕上げ加工の数値制御プログラムとを分けておくことで、荒加工での加工形状をチェックした後に、仕上げ加工での加工形状を推定することができる。
次に、形状誤差の計算を行う(S14)。すなわち、形状誤差計算部106が、推定加工形状データ125と目標加工形状データ126とを比較して形状の誤差を計算し、形状誤差データ127に格納する。目標加工形状データ126は、数値制御プログラム121及び素材形状データ124を用いて加工シミュレーションを行うことにより得られる。また、数値制御工作機械ユーザが作成したCADデータを目標加工形状データ126としてもよい。なお、数値制御パラメータ調整装置が表示部を備える構成とし、数値制御工作機械ユーザに対して、推定加工形状データ125、目標加工形状データ126及び形状誤差データ127が表示部に表示されてもよい。
図6は、形状誤差計算部106で行われる形状誤差の計算のイメージを示す図である。図6には、素材形状データ401から推定加工形状データ402を推定し、推定加工形状データ402と目標加工形状データ403とを比較することで、形状誤差データ404を計算する様子が示されている。また、図6には、削り残し領域405及び削り過ぎ領域406が示されている。
次に、形状誤差が許容誤差に収まっているか否かを判定する(S15)。形状誤差データが許容誤差に収まっているか否かの判定は、形状誤差計算部106において形状誤差データ127を計算する際に、形状誤差領域の体積をそれぞれ計算しておき、形状誤差データ127に誤差量として値を記憶させておき、その誤差量と許容誤差量の大小比較をすることで、実行する。また、形状誤差領域の体積以外にも、形状誤差領域に含まれる移動経路の数を誤差量としてもよい。形状誤差データ127が許容誤差に収まっている場合(S15:Yes)には処理を終了する。
形状誤差データ127が許容誤差に収まっていない場合(S15:No)には、パラメータを調整し(S16)、シミュレーションを実行する範囲を計算する(S17)。ここで、処理時間を短縮するため、S16の処理とS17の処理は並列に処理する。なお、S16の処理とS17の処理は、順序は問わず直列に処理してもよい。すなわち、パラメータ調整部107は、形状誤差データ127を読み込んでパラメータの調整を行い、調整したパラメータをパラメータ123に格納する。なお、ここで調整後のパラメータは、現在まで未設定のパラメータとする。そして、数値制御シミュレーション実行範囲計算部108は、形状誤差データ127を読み込んで形状誤差が存在し、且つ許容誤差に収まらない領域を抽出する。そして、抽出した領域内を通過した工具の移動経路範囲を抜き出し、数値制御シミュレーション実行範囲122に格納する。
図7は、数値制御シミュレーション実行範囲計算部108で行われる形状誤差が許容誤差に収まらない移動経路範囲の抽出方法のイメージを示す図である。図7では、数値制御プログラムの指令経路をRi(501≦i≦505)とし、シミュレーションで得た工具先端位置をIj(501≦j≦513)としている。
I501からI505の間及びI509からI513の間の工具先端位置は、数
値制御プログラムの指令経路に一致しており、許容誤差に収まっている範囲A501,A 511と表すことができる。I505からI509の間の工具先端位置は、数値制御プログラムの指令経路からズレがあり、その誤差が許容誤差を上回っているため、パラメータを変更して許容誤差に収まる経路に変更する必要がある。このような経路のズレは、加工シミュレーションにおいて推定加工形状に転写されるため、I505からI509の間は形状誤差を生む領域となる。よって、I505からI509の間は、許容誤差に収まらない範囲A502と表すことができ、その工具先端位置に対応した数値制御プログラムの指令経路R502からR503及びR503からR504が数値制御シミュレーション実行範囲A503となる。
なお、求めた数値制御シミュレーション実行範囲A503が短い場合には、パラメータ変更による影響が数値制御シミュレーション実行範囲外に渡る可能性があるため、前後の指令経路を含めて数値制御シミュレーション実行範囲A503としてもよい。図7では、R502からR503、及びR503からR504の数値制御シミュレーション実行範囲A503を、R501からR502、R502からR503及びR503からR504と広げてもよいし、R502からR503、R503からR504及びR504からR50 5と広げてもよいものとする。そして、加工シミュレーション部105が、加工形状を推定する際に領域ごとに通過する工具の経路番号を記憶しておくと、形状誤差領域に対応した移動経路を容易に取り出すことができる。パラメータの調整が進むと形状誤差の領域が狭まっていき、数値制御シミュレーション実行範囲A503も同様に狭まっていく。そのため、数値制御シミュレーションの実行時間を短くしていくことが可能となる。
図8は、数値制御シミュレーション実行範囲計算部108における形状誤差が許容誤差に収まる範囲のパラメータ設定方法のイメージを示す図である。図8には、数値制御プログラム121の指令経路をB501,B503,B505の範囲に分割した様子が示されている。指令経路範囲B501は、初期のパラメータで形状誤差が許容誤差に収まっているとし、また、指令経路範囲B503,B505は、初期のパラメータでは形状誤差が許容誤差に収まらず、パラメータ変更1,2において、パラメータ調整部107により異なるパラメータに調整されたものとする。数値制御プログラム1,2が含まれる指令経路範囲B501は、初期のパラメータで形状誤差が許容誤差に収まっているため、パラメータ変更を行わないが、数値制御プログラムmが含まれる指令経路範囲B503は、初期のパラメータで形状誤差が許容誤差に収まっていないため、パラメータ変更1に示すように、B502で調整されたパラメータに変更されている。同様に、数値制御プログラムnが含まれる指令経路範囲B505は、初期のパラメータで形状誤差が許容誤差に収まっていないため、パラメータ変更2に示すように、B504で調整されたパラメータに変更されている。なお、数値制御プログラム121中に一度パラメータ変更を行うと、初期のパラメータから変更されるため、初期のパラメータで形状誤差が許容誤差に収まっている指令経路範囲であっても、その指令経路範囲の先頭部で初期パラメータへの変更を行うことを要する。ただし、数値制御プログラム121の先頭部では特に変更を行わなくてもよい。
そして、S16及びS17の実行後には、S12へ戻ることになる。なお、S17で数値制御シミュレーション実行範囲122が設定されるので、その後の数値制御シミュレーションでは移動経路範囲が限定される。そのため、S17で移動経路範囲の始点、図7におけるR502の位置、速度及び加速度の情報を記憶しておき、初期状態の値として用いると、数値制御シミュレーション部103及び駆動制御シミュレーション部104が移動経路範囲を限定したシミュレーションを行うことができる。
また、移動経路範囲が複数に分かれる場合には、各移動経路範囲の始点情報を記憶しておけばよい。
本実施の形態にて説明したように、本実施の形態に係る数値制御パラメータ調整装置は、パラメータ変更後に形状誤差が許容誤差に収まらなかった範囲のみ数値制御シミュレーション及び駆動制御シミュレーションを実行する。そのため、パラメータ変更の結果を得るまでの時間を短くすることができ、数値制御工作機械ユーザがパラメータを調整する時間を短くすることができる。
また、本実施の形態では、数値制御工作機械の有無を問わないため、数値制御工作機械のオペレータが調整したパラメータを遠隔地の数値制御工作機械ユーザに提供することも可能である。そこで、数値制御工作機械の扱いに熟練したオペレータを拠点に配して、遠隔地の各所の数値制御工作機械ユーザに対して調整したパラメータを提供することも可能である。
また、本実施の形態に係る数値制御パラメータ調整装置がネットワーク上に構築されて、インターネットを介してパラメータを取得可能な構成としてもよい。ネットワーク上の計算リソースを使用すると、パラメータを調整する時間を更に短くすることが可能となる。例えば、グリッドコンピューティング又はクラウドコンピューティングを用いることができる。
実施の形態2.
本実施の形態では、実施の形態1とは異なる動作を行う数値制御パラメータ調整装置について説明する。なお、本実施の形態に係る数値制御パラメータ調整装置の構成は、図1で示した構成と同じである。
図9は、本実施の形態における数値制御パラメータ調整装置の動作を示すフローチャートである。まず、パラメータ、すなわち数値制御パラメータ及び駆動制御パラメータを入力する(S21)。次に、シミュレーションを実行する(S22)。すなわち、図2におけるS11からS14と同じく形状誤差の計算までを行う。そして、S22で格納された形状誤差データ127が許容誤差に収まっているか否かの判定を行う(S23)。S22で格納された形状誤差データ127が許容誤差に収まっている場合(S23:Yes)には処理を終了する。S22で格納された形状誤差データ127が許容誤差に収まっていない場合(S23:No)にはS22で格納された形状誤差データ127がより小さいか、すなわちS22で格納された形状誤差データ127が現在において最も小さな形状誤差データよりも小さいか否かを判定する(S24)。形状誤差データ間の比較は、一例として、形状誤差計算部106において形状誤差データ127を計算する際に、形状誤差領域の体積を計算しておき、形状誤差データ127に誤差量として値を記憶させておき、その誤差量の大小比較をすることで、容易に実行することができる。また、形状誤差領域の体積以外にも、形状誤差領域に含まれる移動経路の数を誤差量としてもよい。このようにして、形状誤差が小さくなるようにパラメータを調整することができる。
形状誤差データ127が現在において最も小さな形状誤差データよりも小さい場合(S24:Yes)には、数値制御シミュレーション実行範囲及び最適パラメータを更新する(S25)。すなわち、現在設定されているパラメータが最適パラメータであるとして更新し、図2と同様の処理により数値制御シミュレーション実行範囲の更新を行う。なお、1回目のシミュレーション実行時は比較対象が存在しないため、この場合には数値制御シミュレーション実行範囲及び最適パラメータを更新する(S25)。
パラメータの更新では、設定したパラメータ及びそれに対応した形状誤差データを記憶しておき、その中で最も形状誤差データの誤差量が小さなパラメータを最適パラメータとして記憶しておく。これにより、現在において最も形状誤差データの誤差量が小さなパラメータ及びその誤差量が分かるため、S24における形状誤差データ間の比較が容易となる。
そして、数値制御シミュレーション実行範囲の更新では、現在において最も形状誤差データの誤差量が小さな形状誤差データを用いて数値制御シミュレーション実行範囲を計算する。そのため、形状誤差データの誤差量が小さくなるときにのみ数値制御シミュレーション実行範囲の計算が行われるので、数値制御シミュレーション実行範囲が狭まっていき、シミュレーションの実行時間を更に短くすることが可能となる。
そして、数値制御シミュレーション実行範囲及び最適パラメータを更新した場合(S25)又は形状誤差データ127が現在において最も小さな形状誤差データよりも小さくない場合(S24:No)には、パラメータを調整する(S26)。すなわち、現在において最も形状誤差データの誤差量が小さな形状誤差データに対応したパラメータを用いて各パラメータの調整を行って更新する。
図10は、S26に示すパラメータ調整の処理を示す図である。まず、調整するパラメータが範囲をもつか否かの判定を行う(S31)。調整するパラメータが範囲をもつ場合(S31:Yes)には、パラメータを下限値に設定し、シミュレーションを実行後にパラメータを上限値に設定して、シミュレーションを実行する(S32)。なお、下限値及び上限値が定まっていない場合には、数値制御工作機械ユーザが設定した値を用いてもよい。
調整するパラメータが範囲をもたない場合(S31:No)には、パラメータをオン又はオフに設定し、現在設定しているパラメータと異なるパラメータを設定してシミュレーションを実行する(S36)。
そして、形状誤差が小さい方のパラメータと現在のパラメータで上下限を設定する(S33)。すなわち、下限値に設定したパラメータの形状誤差と、上限値に設定したパラメータの形状誤差とを比較し、下限値のパラメータの形状誤差の方が小さければ、現在のパラメータを新たな上限値として設定し、上限値のパラメータの形状誤差の方が小さければ、現在のパラメータを新たな下限値として設定する。
そして、パラメータを中間値に設定し、シミュレーションを実行する(S34)。すなわち、S33で設定した下限値と上限値の中間値にパラメータを設定し、シミュレーションを実行する。S34の実行後には、現在のパラメータを中間値に設定しておくことで、二分的にパラメータの範囲を絞りつつ形状誤差の小さいパラメータを探索することが可能であり、効果的にパラメータの調整が可能である。
そして、上下限範囲がしきい値を下回っているか否かを判定する(S35)。パラメータの上下限範囲がしきい値を下回っている場合(S35:Yes)又はS36においてシミュレーションを実行した場合には、調整したパラメータの中で最小の形状誤差に対応したパラメータを設定して(S37)、処理を終了する。
パラメータの上下限範囲がしきい値を下回っていない場合(S35:No)には、S33へ戻る。
本実施の形態にて説明したように、本実施の形態に係る数値制御パラメータ調整装置は、現在における最適なパラメータ及び形状誤差データを記憶し、形状誤差がより小さくなる場合にのみパラメータ、形状誤差データ及び数値制御シミュレーション実行範囲を更新することで、パラメータを効果的に調整することができる。また、パラメータが最適な方向に調整されていくと、形状誤差の領域が狭まっていき、シミュレーションの実行範囲も同様に狭まっていく。そのため、パラメータ変更の結果を得るまでの時間を短くすることができ、数値制御工作機械ユーザがパラメータを調整する時間を短くすることができる。
また、本実施の形態においても、オペレータが調整したパラメータを遠隔地の数値制御工作機械ユーザに提供することも可能であるので、数値制御工作機械の扱いに熟練したオペレータを拠点に配して、遠隔地の各所の数値制御工作機械ユーザに調整したパラメータを提供することも可能である。また、本実施の形態においても、インターネットを介してパラメータを取得可能な構成としてもよい。また、ネットワーク上の計算リソースを使用してパラメータを調整する時間を更に短くしてもよい。
実施の形態3.
図11は、本発明の実施の形態3に係る数値制御パラメータ調整装置の構成を示す図である。図11に示す数値制御パラメータ調整装置は、図1に示す数値制御パラメータ調整装置に対して素材形状データ更新部109が追加された構成である。そのため、素材形状データ更新部109以外の構成については説明を省略する。
素材形状データ更新部109は、形状誤差計算部106で計算した形状誤差データ127を用いて、素材形状データ124を更新する。
図12は、本実施の形態における数値制御パラメータ調整装置の動作を示すフローチャートである。なお、図12に示すフローチャートは、S18の素材形状データを更新する処理以外は図2に示すフローチャートと同じである。そのため、S18以外の処理については説明を省略する。
素材形状データ更新部109は、推定加工形状データ125に対して、形状誤差データ127が存在する領域を補正した結果を素材形状データ124に更新する(S18)。なお、数値制御パラメータ調整装置が表示部を備える構成として、数値制御工作機械ユーザに対して、更新した素材形状データ124が表示部に表示されてもよい。ここで、処理時間を短縮するため、S16の処理と、S17の処理と、S18の処理は並列に処理する。なお、S16の処理と、S17の処理と、S18の処理は順序を問わず直列に処理してもよい。
図13は、素材形状データ更新部109で行われる素材形状データの更新のイメージを示す図である。図13では、素材形状データ更新部109が、素材形状データ601と推定加工形状データ602とを比較し、素材形状データ603を更新している。形状誤差データが含まれない領域では推定加工形状データのまま残し、形状誤差データが含まれる領域ではS14で削り残しと判断された部分は推定加工形状データのまま残し、削り過ぎと判断された部分は形状誤差と補正量分の補正を行う。ここで、補正量は、削り過ぎた領域の形状誤差体積の誤差量を係数倍したものとなる。なお、この係数は数値制御工作機械ユーザが設定するものである。
このように素材形状データを更新すると、次回以降の加工シミュレーションでは形状誤差データが含まれない領域ではすでに形状が推定されているため、加工シミュレーションの実行時間を短くすることができる。また、形状誤差データが含まれる領域では削り残しと判断された部分については再度削り残しがないか否かを判断でき、削り過ぎと判断された部分については削り過ぎがないか否かを判断することができる。そのため、新たに設定したパラメータが有効に機能しているか否かの検証を行うこともできる。
本実施の形態にて説明したように、本実施の形態に係る数値制御パラメータ調整装置は、パラメータ変更後に形状誤差が許容誤差に収まらなかった範囲のみ数値制御シミュレーション、駆動制御シミュレーション及び加工シミュレーションを実行する。そのため、パラメータ変更の結果を得るまでの時間を短くすることができ、数値制御工作機械ユーザがパラメータを調整する時間を短くすることができる。
また、本実施の形態においても、オペレータが調整したパラメータを遠隔地の数値制御工作機械ユーザに提供することも可能であるので、数値制御工作機械の扱いに熟練したオペレータを拠点に配して、遠隔地の各所の数値制御工作機械ユーザに調整したパラメータを提供することも可能である。また、本実施の形態においても、インターネットを介してパラメータを取得可能な構成としてもよい。また、ネットワーク上の計算リソースを使用してパラメータを調整する時間を更に短くしてもよい。
従来技術では、数値制御パラメータを設定するごとに指定した工具及び加工対象物の移動経路の全てに対し、シミュレーションを行わなければならない。そのため、パラメータの調整に時間を要し、作業能率が低下する。また、設定したパラメータの全てにおいて要求する加工精度を満たしていない場合、再度設定した数値制御パラメータの分シミュレーションが必要となり、さらにパラメータの調整に時間を要してしまう。そのため、数値制御工作機械ユーザによるパラメータの設定が必要となり、作業能率が低下するという問題があった。
実施の形態1から3にて説明したように、数値制御シミュレーション及び駆動制御シミュレーションを行って生成した工具先端位置を用いて加工シミュレーションを行い、推定した加工形状と、数値制御プログラムに記述された工具及び加工対象物の移動経路とを用いて、加工シミュレーションを行った目標加工形状を比較することで、現在設定されている数値制御パラメータ及び駆動制御パラメータでは加工精度が要求に満たない範囲を抽出する。そして、加工精度が要求に満たない範囲が存在する場合には、数値制御パラメータを変更して、その範囲内のみ更なるシミュレーションを行う。こうして、数値制御パラメータを変更した際に、数値制御シミュレーションと駆動制御シミュレーションとを行う工具及び加工対象物の移動経路の範囲が狭くなるため、繰り返し行う数値制御シミュレーション及び駆動制御シミュレーションの時間を短くしていくことができる。
実施の形態4.
図14は、本発明の実施の形態4に係る数値制御パラメータ調整装置の構成を示す図である。図14に示す数値制御パラメータ調整装置1401は、数値制御プログラム分割部1431と、加工対象物部分領域指定部1432と、指定領域内分割プログラム抽出部1433と、数値制御パラメータ設定部1434と、切削変形処理部1435と、切削変形結果表示部1436と、最適数値制御プログラム出力部1437とを有する制御部1402を備える。また、数値制御パラメータ調整装置1401は、分割プログラム1441と、部分領域1442と、分割パラメータ1443とを含む数値制御パラメータ調整情報1445を格納する格納部1403を備える。また、格納部1403は、加工対象物の三次元モデル1444を格納している。
数値制御パラメータ調整装置1401には、これらの他、入力デバイス1411及び表示デバイス1412を備える。表示デバイス1412には、切削変形結果の表示出力先であるディスプレイを例示することができる。入力デバイス1411には、オペレータが部分領域を選択し、数値制御パラメータを設定するためのキーボード及びマウスを例示することができる。なお、入力デバイス1411及び表示デバイス1412は、数値制御パラメータ調整装置1401の外部に設けられていてもよい。
さらに、数値制御パラメータ調整装置1401には、数値制御プログラム分割部1431の入力である数値制御プログラム1421と、分割パラメータ1443の初期値となる数値制御パラメータ1422と、指定領域内分割プログラム抽出部1433及び切削変形処理部1435の入力である工具モデル1423とが外部入力され、最適数値制御プログラム出力部1437の出力である最適数値制御プログラム1424が外部出力される。
図15は、本発明の実施の形態4に係る数値制御パラメータ調整装置を実現するハードウェアの構成を示す図である。図14に示す制御部1402は、プロセッサ1501及びメモリ1502を備えた処理装置であり、制御部1402が備える各機能部は、ソフトウェア処理によってプロセッサ1501で実現される。格納部1403は、データを不揮発に保持するストレージ1503である。また、制御部1402の各機能部を実現するソフトウェアもストレージ1503に保持されている。
分割プログラム1441は、数値制御プログラム分割部1431により格納部1403に格納される。数値制御プログラム分割部1431は、数値制御プログラム1421を入力とし、数値制御工作機械の全軸が停止するブロック毎に数値制御プログラム1421を1つ以上の分割プログラム1441に分割する。具体的には、数値制御プログラム分割部1431は、数値制御プログラム1421の先頭から1ブロックずつ、数値制御工作機械の全軸が停止するブロックであるか否か判定し、該当ブロックから次に該当するブロックまでを1分割プログラムとして、数値制御プログラム1421を分割する。なお、ここで数値制御工作機械の全軸が停止するブロックには、数値制御プログラム1421の先頭部及び終了部の他、早送り指令G0及びデュエル指令G4を例示することができる。
部分領域1442は、オペレータが数値制御パラメータを調整したい加工対象物の一部の領域を示す情報であり、加工対象物部分領域指定部1432により格納部1403に格納される。加工対象物部分領域指定部1432は、入力デバイス1411を介してオペレータに部分領域1442を指定させる。なお、表示デバイス1412を介してオペレータに加工対象物の三次元モデル1444及び選択している部分領域1442を表示しておくことで、オペレータに部分領域1442を容易に選択させることができる。また、部分領域1442は複数選択してもよい。部分領域1442には、矩形領域及び球状領域を例示することができる。
指定領域内分割プログラム抽出部1433は、分割プログラム1441と、部分領域1442と、工具モデル1423とを入力とし、部分領域1442を工具モデル1423が通過する分割プログラム1441を抽出する。なお、ここで抽出される分割プログラム1441は、分割プログラム1441の各々のうち1ブロックでも部分領域1442を工具が通過したものである。工具モデル1423が部分領域1442を通過するか否かの判定は、工具モデル1423及び当該ブロックの移動指令により形成されるスイープ形状と部分領域1442との間に交差する領域があるか否かにより行えばよい。
分割パラメータ1443は、分割プログラム1441毎に対応する数値制御パラメータを表し、数値制御パラメータ設定部1434により格納部1403に格納される。数値制御パラメータ設定部1434は、入力デバイス1411におけるオペレータの操作に従って分割パラメータ1443を設定する。なお、ここで設定する数値制御パラメータには、コーナー減速角度及び加減速係数をはじめとする加工時間又は加工精度に関するパラメータを例示することができる。
数値制御パラメータ調整情報1445は、分割プログラム1441、部分領域1442及び分割パラメータ1443を含むデータベースである。
加工対象物の三次元モデル1444は、切削変形後の加工対象物の形状を表す三次元データであり、切削変形処理部1435によって格納部1403に格納される。三次元モデルの具体的な例は、三角形若しくは多角形の面の集合で対象形状の表面形状を表現した境界表現モデル、対象形状を微小な立方体の集合で表現したボクセルモデル及びこれに類する他の離散モデルである。切削変形処理部1435は、工具モデル1423と数値制御パラメータ調整情報1445とを入力とし、加工対象物の三次元モデル1444を切削変形する処理を行う。具体的には、まず、加工対象物の三次元モデル1444のうち、切削変形情報に含まれる部分領域1442に対応する領域を切削変形前の加工対象物の三次元モデル1444に復元する。次に、工具モデル1423、及び切削変形情報に含まれる数値制御パラメータ調整情報1445のうち部分領域1442に対応する数値制御プログラムの各範囲とそれら範囲毎に設定された数値制御パラメータに基づく移動軌跡から形成されるスイープ形状と加工対象物の三次元モデル1444との共通領域を加工対象物の三次元モデル1444から除去することで切削後の加工対象物の形状として加工対象物の三次元モデル1444を更新する。
切削変形結果表示部1436は、加工対象物の三次元モデル1444を入力とし、指定の視線方向と表示尺度とに基づき、その投影イメージを生成して表示デバイス1412に出力する。
最適数値制御プログラム出力部1437は、数値制御パラメータ調整情報1445の分割プログラム1441及び分割パラメータ1443を入力とし、分割プログラム1441の先頭に分割プログラム1441毎に設定した分割パラメータ1443へ変更するブロックを挿入し、それら分割プログラム1441を統合した最適数値制御プログラム1424を出力する。なお、数値制御パラメータの変更ブロックには、プログラマブルパラメータ入力機能G10,L70を例示することができる。
次に、数値制御パラメータ調整装置1401を用いた数値制御パラメータの調整方法及び各処理部の動作について、図16を用いて説明する。
図16は、実施の形態4に係る数値制御パラメータ調整装置1401を用いた数値制御パラメータ調整方法を示すフローチャートである。
まず、加工の先頭から終了までの切削変形が加工対象物全体を示す加工対象物の三次元モデル1444に対してオペレータによって入力される。
数値制御パラメータ調整装置1401の内部では、数値制御プログラム分割部1431、切削変形処理部1435及び切削変形結果表示部1436の各処理部が動作することで、数値制御プログラム1421の分割並びに加工対象物全体を示す加工対象物の三次元モデル1444に対する切削変形及び表示が実行される(ステップS41)。数値制御プログラム分割部1431は、数値制御プログラム1421を1つ以上の分割プログラム1441へ分割する。部分領域1442の初期値には加工対象物全体の形状が設定され、分割プログラム1441の各々に対する分割パラメータ1443の初期値には数値制御パラメータ1422が設定されており、切削変形処理部1435は、数値制御パラメータ調整情報1445と工具モデル1423とを入力とし、加工対象物全体を示す加工対象物の三次元モデル1444を切削変形する。切削変形結果表示部1436は、加工対象物全体を示す加工対象物の三次元モデル1444を視線方向と表示尺度とに基づき表示デバイス1412にグラフィック表示する。
次に、オペレータは、切削変形結果の表示を参照しつつ、加工上の問題箇所の近傍を含む部分領域1442を、入力デバイス1411を介して入力する。数値制御パラメータ調整装置1401の内部では、加工対象物部分領域指定部1432により部分領域1442の設定(ステップS42)が行われ、指定領域内分割プログラム抽出部1433が動作する。これにより、指定領域内分割プログラム抽出部1433は、部分領域1442と工具モデル1423と分割プログラム1441とを入力とし、部分領域1442を工具モデル1423が通過する分割プログラム1441の抽出を行う(ステップS43)。
次に、オペレータは、抽出した分割プログラム毎に分割パラメータ1443を、入力デバイス1411を介して入力する。数値制御パラメータ調整装置1401の内部では、数値制御パラメータ設定部1434、切削変形処理部1435及び切削変形結果表示部1436が動作し、抽出した分割プログラムの数値制御パラメータの設定(ステップS44)と、部分領域1442の切削変形結果の更新(ステップS45)とが実行される。数値制御パラメータ設定部1434は、抽出した分割プログラムを入力とし、それら分割プログラム毎に数値制御パラメータを設定する。切削変形処理部1435は、工具モデル1423と、数値制御パラメータ調整情報1445とを入力とし、部分領域1442に対応する加工対象物の三次元モデル1444の領域を再度切削変形処理し、切削変形結果を更新する。切削変形結果表示部1436は、加工対象物全体を示す加工対象物の三次元モデル1444を視線方向と表示尺度とに基づき表示デバイス1412にグラフィック表示する。
部分領域1442に対応する加工対象物の三次元モデル1444を目視確認することで、設定した数値制御パラメータに問題がない場合には、調整の繰り返しをせずに数値制御パラメータの調整を終了する。設定した数値制御パラメータに問題がある場合、すなわち設定した数値制御パラメータで求める加工精度を満たしていない場合には、調整の繰り返しを要するとして数値制御パラメータの設定(S44)に戻る。
他に加工上の問題箇所がない場合には、最適数値制御プログラム1424が出力される(ステップS46)。数値制御パラメータ調整装置1401の内部では、最適数値制御プログラム出力部1437が動作し、分割プログラム1441の先頭でそれら分割プログラム1441毎に調整した分割パラメータ1443へ変更するブロックが挿入され、それら分割プログラム1441を統合した最適数値制御プログラム1424が出力される。他に加工上の問題箇所が存在する場合には、部分領域1442の設定(S42)に戻る。
以上のように、本実施の形態によれば、加工対象物に設定した領域のうち、工具が通過する範囲に該当する数値制御プログラムについてのみ、切削変形結果を更新する。また、数値制御パラメータの変更による切削変形結果への影響がその範囲内にのみ限定されているため、それら範囲毎に数値制御パラメータを調整することができる。従って、オペレータが数値制御パラメータの変更の結果を得るまでの時間を短くすることができ、数値制御パラメータの調整作業の効率を向上させることができる。
また、本実施の形態4では、数値制御工作機械の有無を問わないため、オペレータが数値制御パラメータ調整後の数値制御プログラムを遠隔地の数値制御工作機械ユーザに提供することも可能である。
また、本実施の形態4に係る数値制御パラメータ調整装置が、ネットワークに接続されて、インターネットを介して数値制御パラメータ調整後の数値制御プログラムを取得可能な構成としてもよい。ネットワーク上の計算リソースを使用すると、オペレータが所有する計算リソースの性能によらない数値制御パラメータ調整装置を提供することができる。一例として、グリッドコンピューティング又はクラウドコンピューティングを用いることができる。
実施の形態5.
図17は、本発明の実施の形態5に係る数値制御パラメータ調整装置の構成を示す図である。本実施の形態5においては、数値制御パラメータ調整装置1701は、数値制御プログラム分割部1731が実施の形態4における数値制御プログラム分割部1431とは異なる動作をし、加えて、新たに数値制御プログラムの各ブロックが切削変形に寄与するか否かを判定する切削変形判定部1732を制御部1702に備える点が実施の形態4の数値制御パラメータ調整装置1401とは異なる。その他のデータ及び処理部の個別動作については実施の形態4と同様である。
切削変形判定部1732は、数値制御プログラム1421と、工具モデル1423とを入力とし、数値制御プログラム1421の先頭から1ブロックずつ切削変形に寄与するか否かを判定する。具体的には、切削変形処理部1435と同様に、工具モデル1423と数値制御プログラム1421の各ブロックに基づく移動軌跡からなるスイープ形状と、加工対象物の三次元モデル1444との共通領域を加工対象物の三次元モデル1444から除去していき、共通領域が存在するか否かにより各ブロックが切削変形に寄与するか否かを判定する。
数値制御プログラム分割部1731は、数値制御プログラム1421と、切削変形判定部1732の結果とを入力とし、数値制御プログラム1421を1つ以上の分割プログラム1441に分割する。具体的には、加工対象物を切削変形するブロックを切削ブロックとし、それ以外のブロックを空走ブロックとし、且つ数値制御プログラム1421の先頭から末尾に向かう方向を後、数値制御プログラム1421の末尾から先頭に向かう方向を前としたとき、数値制御工作機械の全軸が停止するブロックに加えて、空走ブロックと当該空走ブロックの前の切削ブロック間の距離と、空走ブロックと当該空走ブロックの後の切削ブロック間の距離とが、各々加減速距離以上となる空走ブロックで数値制御プログラム1421を分割する。つまり、当該ブロックで数値制御工作機械の全軸が停止しても、当該ブロックの前の切削ブロックと、当該ブロックの後の切削ブロックとにおける数値制御工作機械の各軸の速度が停止しない場合と変わらないことが保証される。そのため、当該ブロックで数値制御パラメータ変更のために停止しても、切削変形結果に影響されない。なお、ここで加減速距離は、送り速度、機械の加速度、時定数から定まる最大送り速度に到達するまでに必要な移動距離である。
一連の数値制御パラメータ調整の繰り返しにおける各部の動作フローについても、実施の形態4とは一部が異なり、数値制御プログラム1421の分割前に、切削変形判定部1732で数値制御プログラム1421の各ブロックが切削変形に寄与するか否かが判定される。この判定結果に基づき、数値制御プログラム分割部1731で数値制御プログラム1421の分割が行われる。
実施の形態5に係る数値制御パラメータ調整装置は、実施の形態4に係る数値制御パラメータ調整装置と比べて、分割プログラムがより細かく分割される。すなわち、より細かな範囲で最適な数値制御パラメータへの調整が可能となるため、加工精度をより向上させることができる。
以上のように、本実施の形態によれば、加工対象物に設定した領域のうち、工具が通過する範囲に該当する数値制御プログラムについてのみ、切削変形結果を更新する。また、数値制御パラメータの変更による移動軌跡への影響がその範囲内にのみ限定されているため、それら範囲毎に数値制御パラメータを調整することができる。従って、オペレータが数値制御パラメータの変更の結果を得るまでの時間を短くすることができ、数値制御パラメータの調整時間を短くすることができる。
また、本実施の形態5では、数値制御工作機械の有無を問わないため、オペレータが数値制御パラメータ調整後の数値制御プログラムを遠隔地の数値制御工作機械ユーザに提供することも可能である。
また、本実施の形態5に係る数値制御パラメータ調整装置が、ネットワークに接続されて、インターネットを介して数値制御パラメータ調整後の数値制御プログラムを取得可能な構成としてもよい。ネットワーク上の計算リソースを使用すると、オペレータが所有する計算リソースの性能によらない数値制御パラメータ調整装置を提供することができる。一例として、グリッドコンピューティング又はクラウドコンピューティングを用いることができる。
実施の形態6.
図18は、本発明の実施の形態6に係る数値制御パラメータ調整装置の構成を示す図である。本実施の形態6においては、数値制御パラメータ調整装置1801は、加工対象物部分領域指定部1831と、数値制御パラメータ設定部1832と、最適数値制御プログラム出力部1833と、が実施の形態4における加工対象物部分領域指定部1432と、数値制御パラメータ設定部1434と、最適数値制御プログラム出力部1437とは異なる動作をし、加えて、新たに目標形状の三次元モデル1821と加工対象物の三次元モデル1444とを比較して形状誤差を算出する形状誤差計算部1834を制御部1802に備え、形状誤差計算部1834で算出される形状誤差データ1841と、複数の数値制御パラメータを記憶する数値制御パラメータ調整テーブル1842とを格納部1803に備える点が実施の形態4の数値制御パラメータ調整装置とは異なる。その他のデータ及び処理部の個別動作については実施の形態4と同様である。
形状誤差計算部1834は、目標形状の三次元モデル1821と加工対象物の三次元モデル1444とを比較して、形状誤差データ1841を算出する。なお、形状誤差計算部1834は、形状誤差を比較する指標として、両者の体積誤差である形状誤差体積も合わせて算出しておく。
加工対象物部分領域指定部1831は、新たに形状誤差データ1841を入力とし、形状誤差が存在し、且つその形状誤差体積が許容誤差体積を超える領域を、部分領域1442に設定する。なお、許容誤差体積は、オペレータにより入力デバイス1411を介して設定される。
数値制御パラメータ設定部1832は、新たに数値制御パラメータ調整テーブル1842を入力とし、指定領域内分割プログラム抽出部1433で抽出された分割プログラムに対する数値制御パラメータとして、数値制御パラメータ調整テーブル1842に登録されている数値制御パラメータの1つを分割パラメータ1443に設定する。また、分割パラメータ1443の設定後、切削変形処理を通した切削変形結果に基づき、形状誤差計算部1834で形状誤差の計算を行い、形状誤差データ1841を算出する。
図19は、本発明の実施の形態6に係る数値制御パラメータ調整装置の最適数値制御プログラム出力部1833の動作を示す図である。数値制御パラメータ調整情報1843は、分割プログラム1441毎に、複数の分割パラメータ1443と、対応した形状誤差データ1841とを関連付けて参照できるように保持される。最適数値制御プログラム出力部1833は、まず、分割プログラム1441毎に最小の形状誤差体積を持つ分割パラメータ1443を抽出し、分割プログラム1441の先頭にその分割パラメータへ変更するブロックを挿入する。次に、それら分割プログラムを統合した最適数値制御プログラム1424を出力する。
一連の数値制御パラメータ調整の繰り返しにおける各部の動作フローについても、実施の形態4とは一部が異なっている。まず、切削変形処理後には、新たに形状誤差計算部1834による形状誤差データ1841の計算が行われる。そして、形状誤差データ1841に基づき、許容誤差体積を超える形状誤差体積を有する領域が、オペレータの操作を介さずに部分領域1442として設定される。数値制御パラメータの調整作業では、まず、数値制御パラメータ調整テーブル1842に登録されている数値制御パラメータが、オペレータの操作を介さずに分割パラメータ1443に設定される。そして、切削変形処理後、新たに形状誤差計算部1834による形状誤差データ1841の計算を行う。そして、数値制御パラメータ調整テーブル1842に登録されているすべての数値制御パラメータを設定していなければ、数値制御パラメータ設定へ戻る。最適数値制御プログラム出力部1833は、分割プログラム1441の先頭で分割プログラム1441毎に最小の形状誤差体積を有する数値制御パラメータへ変更するブロックを挿入し、それら分割プログラムを統合した最適数値制御プログラム1424を出力する。
本実施の形態6に係る数値制御パラメータ調整装置は、予め数値制御パラメータ調整テーブルに複数の数値制御パラメータを登録しておけば、オペレータによる部分領域の設定操作を介さず、最小の形状誤差体積となる数値制御パラメータに調整することができる。従って、より作業能率の高い数値制御パラメータ調整装置を提供することができる。
以上のように、本実施の形態6によれば、加工対象物に設定した領域のうち、工具が通過する範囲に該当する数値制御プログラムについてのみ、切削変形結果を更新する。また、数値制御パラメータの変更による移動軌跡への影響がその範囲内にのみ限定されているため、それら範囲毎に数値制御パラメータを調整することができる。従って、オペレータが数値制御パラメータの変更の結果を得るまでの時間を短くすることができ、数値制御パラメータを調整する時間を短くすることができる。
また、本実施の形態6では、数値制御工作機械の有無を問わないため、オペレータが数値制御パラメータ調整後の数値制御プログラムを遠隔地の数値制御工作機械ユーザに提供することも可能である。
また、本実施の形態6に係る数値制御パラメータ調整装置が、ネットワークに接続されて、インターネットを介して数値制御パラメータ調整後の数値制御プログラムを取得可能な構成としてもよい。ネットワーク上の計算リソースを使用すると、オペレータが所有する計算リソースの性能によらない数値制御パラメータ調整装置を提供することができる。一例として、グリッドコンピューティング又はクラウドコンピューティングを用いることができる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
上述した課題を解決し、目的を達成するために、本発明は、加工対象物の三次元モデルの切削変形結果に基づいて数値制御パラメータを調整する数値制御パラメータ調整装置であって、工具モデルに基づき、さらに工具及び加工対象物の移動経路を示す数値制御プログラム並びに加工精度及び加工時間に寄与する切削条件を表す数値制御パラメータに基づいて補間及び加減速処理を行った移動経路に基づいて加工対象物の三次元モデルを切削変形する手段と、数値制御プログラムのうち、数値制御工作機械の全軸が停止するブロック毎に数値制御プログラムを1つ以上の分割プログラムに分割する数値制御プログラム分割手段と、加工対象物の三次元モデルの一部の領域を表す部分領域を指定する加工対象物部分領域指定手段と、指定された部分領域を工具モデルが通過する分割プログラムを抽出する手段と、抽出した分割プログラムに対する数値制御パラメータを設定する数値制御パラメータ設定手段と、分割プログラム毎に設定した数値制御パラメータへの変更指令を挿入し、それら分割プログラムを統合した数値制御プログラムを出力する手段とを備えることを特徴とする。