(57)【要約】【課題】隣接する工具経路間における段差が生じないようにすることで、被加工品の品質を向上させる。【解決手段】加工プログラムに基づいて工具経路を示す点列を生成する点列生成部２１と、生成された点列に対して平滑化を施す平滑化部２２と、を備え、平滑化部２２が、点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、各点に対して適用されるフィルタ長を設定するフィルタ長設定部２２１と、点列上の互いに隣接する点の夫々に対して適用されるフィルタ長の差の絶対値が第２の閾値以下となるように、設定されたフィルタ長を変更するフィルタ長変更部２２２と、変更されたフィルタ長に基づいてフィルタ処理を行うフィルタ処理部２２３と、を備える工具経路生成装置を提供する。【選択図】図１
2018073097.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて工具経路を示す点列を生成する点列生成部と、
前記生成された点列に対して平滑化を施す平滑化部と、
を備え、
前記平滑化部が、
前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定するフィルタ長設定部と、
前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更するフィルタ長変更部と、
前記変更されたフィルタ長に基づいてフィルタ処理を行うフィルタ処理部と、
を備える工具経路生成装置。
【請求項２】
前記フィルタ長変更部が、前記互いに隣接する点の夫々に対して適用される前記フィルタのうちの一方を、その長さが小さくなるように変更する請求項１に記載の工具経路生成装置。
【請求項３】
前記点列生成部が、前記加工プログラムに含まれる点列と、該点列上の各点の間を補間する付加点とからなる前記点列を生成する請求項１又は２に記載の工具経路生成装置。
【請求項４】
加工プログラムに基づいて工具経路を示す点列を生成する点列生成工程と、
前記生成された点列に対して平滑化を施す平滑化工程と、
を含み、
前記平滑化工程が、
前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定する工程と、
前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更する工程と、
前記変更されたフィルタ長に基づいてフィルタ処理を行う工程と、
を含む工具経路生成方法。
【請求項５】
加工プログラムに基づいて工具経路を示す点列を生成する点列生成処理と、
前記生成された点列に対して平滑化を施す平滑化処理と、
をコンピュータに実行させる工具経路生成プログラムであって、
前記平滑化処理が、
前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定する処理と、
前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更する処理と、
前記変更されたフィルタ長に基づいてフィルタ処理を行う処理と、
を含む工具経路生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置において利用される工具経路を生成するのに好適な工具経路生成装置、工具経路生成方法及び工具経路生成プログラムに関する。
【背景技術】
【０００２】
従来、工作機械の数値制御装置において、指令点によって与えられる工具経路に平滑化処理を施すことにより、滑らかな工具経路を生成する技術が知られている。平滑化の手法としては、ベジェ曲線、B‐スプライン曲線、ＮＵＲＢＳ曲線、単純平均、加重平均等が用いられる。
【０００３】
ところが、往復加工や等高線加工等の曲面加工を行う際に、ピックフィード分の間隔が空いた工具経路に対して平滑化処理が行われると、互いに隣接する工具経路の間に段差が生じ、加工品質に悪影響を与えることがある。これは、隣接する工具経路のブロック端点間の線分距離の僅かな違いや工具経路の折れ曲がり具合等の形状の僅かな違いによって近似曲線の経路が大きく変化するというスムージング処理の特性に起因するものである。
【０００４】
特許文献１には、加工プログラムから読み出した工具経路上に等間隔で複数の目標点を設定し、これらの複数の目標点に基づいてスムージング処理を施すことにより新たな工具経路を生成する装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−９６０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１においても、加工プログラムから読み出した工具経路の形状によっては、依然として、隣接する工具経路間でスムージング結果が大きく変動し段差が生じてしまうことがある。
【０００７】
本発明は、上述した事情に鑑みてなされたものであって、隣接する工具経路間において段差が生じないようにすることで、被加工品の加工品質を向上させることのできる工具経路生成装置、工具経路生成方法及び工具経路生成プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の第一の態様は、加工プログラムに基づいて工具経路を示す点列を生成する点列生成部と、前記生成された点列に対して平滑化を施す平滑化部と、を備え、前記平滑化部が、前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定するフィルタ長設定部と、前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更するフィルタ長変更部と、前記変更されたフィルタ長に基づいてフィルタ処理を行うフィルタ処理部と、を備える工具経路生成装置である。
【０００９】
上記本発明の第一の態様に係る工具経路生成装置によれば、点列生成部によって、加工プログラムに基づいて工具経路を示す点列が生成される。次に、平滑化部に備えらえるフィルタ長設定部によって、点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、各点に対して適用されるフィルタ長が設定される。続いて、平滑化部に備えらえるフィルタ長変更部によって、点列上の互いに隣接する点の夫々に対して適用されるフィルタ長の差の絶対値が第２の閾値以下となるように、設定されたフィルタ長が変更される。最後に、平滑化部に備えられるフィルタ処理部によって、変更されたフィルタ長に基づいてフィルタ処理が行われる。
このようにすることで、より滑らかな平滑処理結果を得ることができ、隣接する工具経路間における段差が生じないようすることができる。
【００１０】
上記本発明の第一の態様に係る工具経路生成装置において、前記フィルタ長変更部が、前記互いに隣接する点の夫々に対して適用される前記フィルタのうちの一方を、その長さが小さくなるように変更する構成であってもよい。
この構成によれば、平滑化前後での乖離量が第１の閾値以下となることを担保しつつ、フィルタ長を変更することができるので、さらに滑らかな平滑処理結果を得ることができる。
【００１１】
上記本発明の第一の態様に係る工具経路生成装置において、前記点列生成部が、前記加工プログラムに含まれる点列と、該点列上の各点の間を補間する付加点とからなる前記点列を生成する構成であってもよい。
この構成によれば、加工プログラムに含まれる点列からなる工具経路における隣接するブロック端点間の線分距離の僅かな違いによって生じる平滑化処理結果の変動を低減することができる。
【００１２】
本発明の第二の態様は、加工プログラムに基づいて工具経路を示す点列を生成する点列生成工程と、前記生成された点列に対して平滑化を施す平滑化工程と、を含み、前記平滑化工程が、前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定する工程と、前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更する工程と、前記変更されたフィルタ長に基づいてフィルタ処理を行う工程と、を含む工具経路生成方法である。
【００１３】
本発明の第三の態様は、加工プログラムに基づいて工具経路を示す点列を生成する点列生成処理と、前記生成された点列に対して平滑化を施す平滑化処理と、をコンピュータに実行させる工具経路生成プログラムであって、前記平滑化処理が、前記点列上の各点における平滑化前後での乖離量が第１の閾値以下となるように、前記各点に対して適用されるフィルタ長を設定する処理と、前記点列上の互いに隣接する点の夫々に対して適用される前記フィルタ長の差の絶対値が第２の閾値以下となるように、前記設定されたフィルタ長を変更する処理と、前記変更されたフィルタ長に基づいてフィルタ処理を行う処理と、を含む工具経路生成プログラムである。
【発明の効果】
【００１４】
本発明によれば、隣接する工具経路間における段差が生じないようにすることで、被加工品の品質を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る数値制御装置の概略構成を示すブロック図である。
【図２】加工プログラムに含まれる指令点と点列生成部において付加された付加点とからなる点列の一例を示す図である。
【図３】平滑化処理前の点列及び平滑化処理後の点列の一例を示す図である。
【図４】図１に示される数値制御装置で実行される処理を示したフローチャートである。
【発明を実施するための形態】
【００１６】
以下に、本発明の一実施形態に係る数値制御装置について図面を参照して説明する。
図１に示されるように、数値制御装置１は、入力された加工プログラムに基づいて、工作機械等に備えられるサーボモータを駆動するサーボ駆動部４及び主軸用モータを駆動する主軸駆動部５を制御するように構成されている。
【００１７】
数値制御装置１は、不図示のＣＰＵ（中央演算処理装置）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の補助記憶装置、キーボード等の入力装置、モニタ等の出力装置、外部機器との間で種々のデータのやりとりを行う外部インタフェース及びＣＰＵからの軸移動指令を受けて工作機械のサーボ駆動部４及び主軸駆動部５を制御する制御機構等を備えて構成されている。補助記憶装置にはプログラム等が格納されており、ＣＰＵが補助記憶装置からこのプログラムを主記憶装置に読み出し実行することで、本実施形態で説明する各機能が実現される。
【００１８】
図１に示されるように、数値制御装置１は、機能ブロックとして、工具経路生成部（工具経路生成装置）２と、サーボ駆動部４及び主軸駆動部５を制御するためのパルスを生成するパルス生成部３と、を備えている。
【００１９】
工具経路生成部２は、入力された加工プログラムに基づいて点列を生成する点列生成部２１と、生成された点列に対して平滑化処理を施す平滑化部２２と、を備えている。
点列生成部２１は、加工プログラムに含まれる複数の指令点を抽出することで、工具経路となる点列を生成するように構成されている。この場合において、図２に示されるように、各指令点の間を補間する付加点を付加し、複数の指令点と付加点とからなるより点数の多い点列が生成されるようにしてもよい。付加点は、各指令点の間にどのように付加されてもよいが、例えば、加工プログラム内で指定された指令速度に応じて、所定の時間間隔で進む分の距離毎に付加点が付加される。
【００２０】
平滑化部２２は、フィルタにより平滑化処理を行うように構成されている。本実施形態では、フィルタとして単純平均が用いられる。フィルタによる平滑化処理は、スプライン曲線等による平滑化処理と比較して、工具経路の折れ曲がり具合等の形状の僅かな違いによって平滑化処理後の結果に大きな変動が生じないため好適である。これは、フィルタによる平滑化処理は、平滑化処理前の経路に対して必ず内回る方向に値が変化するという性質によるものである。
【００２１】
単純平均による平滑化処理後のＮ点からなる点列Ｑ上のｎ番目の点の座標値Ｑｎは、点列生成部２１によって生成された平滑化処理前のＮ点からなる点列Ｐ上のｎ番目の点の座標値をＰｎとすると、式（１）により表すことができる。
【００２２】
【数１】
2018073097.tif 000003
ここで、Ｌ＜ｎ≦Ｎ−Ｌであり、Ｌは、平均化する範囲、すなわち、フィルタ長を示している。図３には、Ｌ＝２の場合の例が示されている。
【００２３】
平滑化部２２は、より具体的には、図１に示されるように、フィルタ長設定部２２１と、フィルタ長変更部２２２と、フィルタ処理部２２３と、を備えている。
フィルタ長設定部２２１は、点列生成部２１で生成された点列Ｐ上の点毎のフィルタ長Ｌを設定するように構成されている。
【００２４】
ここで、フィルタ長Ｌｎで平滑化処理が施された後の点列Ｑ上のｎ番目の点の座標値ＱｎをＱｎ（Ｌｎ）と表すこととする。式（２）で示される平滑化処理前後における乖離量は、フィルタ長Ｌｎが大きくなるほど大きくなる傾向にあり、フィルタ長Ｌｎが小さくなるほど小さくなる傾向にある。
【００２５】
【数２】
2018073097.tif 000004
そして、フィルタ長Ｌｎ＝０の場合に、
【数３】
2018073097.tif 000005
となる。フィルタ長設定部２２１は、平滑化処理前後における乖離量にトレランス（第１の閾値）を設け、式（４）を満たす最も大きいフィルタ長Ｌｎを点列Ｐ上の各点について設定するように構成されている。
【００２６】
【数４】
2018073097.tif 000006
ここで、ｔｏｌｅｒａｎｃｅとして表記されるトレランスはゼロ以上の値であり、任意に設定することができる。
【００２７】
式（４）を満たさない場合には、Ｌｎを小さくすることにより、式（４）を満たすＬｎを得ることができる。なお、式（３）及びトレランスがゼロ以上の値であることから、必ず式（４）を満たすＬｎが存在することが保証される。
【００２８】
フィルタ長変更部２２２は、互いに隣接する点の夫々に設定されたフィルタ長Ｌの差の絶対値が、所定の閾値（第２の閾値）以下となるように、点列Ｐ上の各点について設定されたフィルタ長Ｌを変更するように構成されている。より具体的には、例えば、ｎ−１番目のフィルタ長Ｌｎ−１とｎ番目のフィルタ長Ｌｎが式（５）を満たすようにフィルタ長Ｌｎを変更するように構成されている。
【００２９】
【数５】
2018073097.tif 000007
ここで、１＜ｎ≦Ｎである。
【００３０】
フィルタ長変更部２２２は、フィルタ長Ｌｎが式（５）を満たさない場合には、フィルタ長Ｌｎ又はＬｎ−１のうち値が大きい方を小さくすることで式（５）を満たすように構成されている。
フィルタ処理部２２３は、フィルタ長変更部２２２で変更されたフィルタ長Ｌ１〜ＬＮに基づいて単純平均フィルタによる平滑化処理を行って、座標値Ｑ１（Ｌ１）〜ＱＮ（ＬＮ）を算出するように構成されている。
【００３１】
パルス生成部３は、フィルタ処理部２２３で算出された座標値Ｑ１（Ｌ１）〜ＱＮ（ＬＮ）からパルスを生成し、サーボ駆動部４及び主軸駆動部５を制御するように構成されている。
【００３２】
次に、上記構成を備える工具経路生成部２において実行される本実施形態の工具経路生成方法を含む数値制御方法について、図１及び図４を参照しながら説明する。
まず、点列生成部２１に加工プログラムが読み込まれ（図４のステップＳ１）、点列生成部２１によって加工プログラムから指令点からなる点列が抽出される（図４のステップＳ２）。そして、必要に応じて、点列生成部２１によって、指令点間を補間するように付加点が挿入される（図４のステップＳ３）。これによって、加工プログラムに含まれる指令点からなる工具経路における隣接するブロック端点間の線分距離の僅かな違いによって生じる平滑化処理結果の変動を低減することができる。
【００３３】
ステップＳ３において新たに生成されたＮ個の点からなる点列Ｐのバッファリングが行われる（図４のステップＳ４）。
続いて、フィルタ長設定部２２１によって、Ｎ個の点の夫々について初期フィルタ長Ｌｎが設定される（図４のステップＳ５）。これらの初期フィルタ長は、上記の点列Ｐのバッファリングのサイズによって制限されるが、できるだけ大きくなるように設定される。
【００３４】
次に、点列Ｐ上の１番目からＮ番目の各点について、ステップＳ６〜ステップＳ９までの処理が行われる。まず、平滑化処理後の点の座標値Ｑｎ（Ｌｎ）が計算され（図４のステップＳ６）、トレランスのチェックが行われる（図４のステップＳ７）。式（４）を満たさない場合には、当該点に設定された初期フィルタ長Ｌｎを減少させながら（図４のステップＳ９）、ステップＳ６及びステップＳ７が繰り返される。トレランスのチェックで式（４）が満たされた場合には、その時の平滑化処理後の点の座標値Ｑｎ（Ｌｎ）がバッファリングされる（図４のステップＳ８）。
【００３５】
次に、フィルタ長変更部２２２によって、点列Ｐ上の各点について、互いに隣接する点の夫々に設定されたフィルタ長Ｌｎが式（５）を満たしているか否かの条件チェックが行われる（図４のステップＳ１０）。互いに隣接する点の夫々に設定されたフィルタ長が式（５）を満たしていない場合には、式（５）を満たすように、フィルタ長Ｌｎ−１又はＬｎのうち値が大きい方を減少させる（図４のステップＳ１１）。
【００３６】
このようにすることで、平滑化前後での乖離量が第１の閾値以下となることを担保しつつ、互いに隣接する点の夫々に設定されたフィルタ長の差が所定の閾値よりも大きく変化することがないようにフィルタ長を変更することができるので、より滑らかな平滑化結果を得ることができる。
【００３７】
こうして得られた点列Ｐ上の各点におけるフィルタ長Ｌｎに基づいて、フィルタ処理部２２３によって単純平均によるフィルタ処理が施されて平滑化処理後のＱｎ（Ｌｎ）が再計算される（図４のステップＳ１２）。
そして、数値制御装置１のパルス生成部３によって、移動指令であるＱｎ（Ｌｎ）−Ｑｎ−１（Ｌｎ−１）がパルスとして出力されて、サーボ駆動部４及び主軸駆動部５が制御される（図４のステップＳ１３）。
【００３８】
このように、点列Ｐ上の各点に施されるフィルタのフィルタ長が個別に決定され、決定されたフィルタ長に基づいてフィルタ処理が施されるため、より滑らかな平滑化処理を行うことができ、隣接する経路との間の段差が生じないようにすることができる。
【００３９】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上記実施形態では、フィルタ長Ｌを整数としていたが、フィルタ長Ｌを実数としてもよい。この場合、式（６）により点列Ｑ上のｎ番目の点の座標値Ｑｎを算出できる。
【００４０】
【数６】
2018073097.tif 000008
ここで、ＭはＬを超えない最大の整数である。
また、平滑化部２２で適用されるフィルタとして単純平均フィルタを用いたが、これに限定されず、例えば、加重平均フィルタ等のフィルタを適用してもよい。
【００４１】
また、上記実施形態では、工具経路生成部２は、ソフトウェアである工具経路生成プログラムをプロセッサが実行することにより各機能が実装されているが、これに限定されず、シリコンチップ上の回路等、ハードウェアとして各機能が実装されていてもよい。
【符号の説明】
【００４２】
２  工具経路生成部（工具経路生成装置）
２１  点列生成部
２２  平滑化部
２２１  フィルタ長設定部
２２２  フィルタ長変更部
２２３  フィルタ処理部
【図１】
2018073097.tif 000009
【図２】
2018073097.tif 000010
【図３】
2018073097.tif 000011
【図４】
2018073097.tif 000012