(57)【要約】【課題】加工プログラムにおいてトレランスを設定するコーナ点とその値を自動的に決定する数値制御装置を得る。【解決手段】工作機械を制御する数値制御装置において、加工物を加工する工具の加工物に対する移動指示が記述された加工プログラムに基づいて、前記工具の前記加工物上における移動経路を算出する移動経路算出部と、前記移動経路からトレランスを設定するコーナ部の点であるコーナ点を抽出するトレランス設定コーナ点抽出部と、前記コーナ点を含む前記コーナ部の前記移動経路を前記コーナ点を含まないように変位させた修正経路に沿って前記工具を移動させたときに、前記加工物の削り残しが発生しないように前記コーナ点における前記トレランスの最大値であるトレランス最大値を算出するトレランス最大値算出部と、前記トレランス最大値に基づいて、前記加工プログラムを修正する加工プログラム修正部と、を有する。【選択図】図１
2015022640.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の送り軸の移動を制御する数値制御装置において、
加工物を加工する工具の加工物に対する移動指示が記述された加工プログラムに基づいて、前記工具の前記加工物上における移動経路を算出する移動経路算出部と、
前記移動経路からトレランスを設定するコーナ部の点であるコーナ点を抽出するトレランス設定コーナ点抽出部と、
前記コーナ点を含む前記コーナ部の前記移動経路を前記コーナ点を含まないように変位させた修正経路に沿って前記工具を移動させたときに、前記加工物の削り残しが発生しないように前記コーナ点における前記トレランスの最大値であるトレランス最大値を算出するトレランス最大値算出部と、
前記トレランス最大値に基づいて、前記加工プログラムを修正する加工プログラム修正部と、
を有する
ことを特徴とする数値制御装置。
【請求項２】
前記トレランス設定コーナ点抽出部は、
前記移動経路から幾何的な閉ループを抽出し、抽出した複数の前記閉ループを包含関係に基づいて構造化し、構造化された閉ループのうち最外郭閉ループまたは最内郭閉ループまたはその両方の前記閉ループに含まれる前記移動経路を前記壁面加工経路として抽出し、
前記移動経路の前記壁面加工経路以外の点から、経路の接線方向または曲率が不連続となるコーナ部の点であるコーナ点を前記トレランスを設定するトレランス設定コーナ点として抽出する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記移動経路から前記工具の移動形状を求める加工シミュレーションを実行する加工シミュレーション部をさらに備え、
前記トレランス設定コーナ点抽出部は、前記加工シミュレーションに基づいて、前記加工物の壁面を形成する前記移動形状に対応する移動経路を前記壁面加工経路として抽出する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記トレランス設定コーナ点抽出部は、
前記加工物の加工形状をモデリングした３次元形状モデルと前記工具との最近接距離に基づいて、前記壁面加工経路を抽出する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項５】
前記加工プログラム修正部は、
前記コーナ部における加工中の前記加工物に対する前記工具の接触角が予め設定された値以下となる前記変位量、または前記接触角が予め設定された値以上のまま前記工具が移動する距離が予め設定された許容値を超えない前記変位量、であって前記トレランス最大値以下の値をトレランス値として前記加工プログラムに設定して修正する、
ことを特徴とする請求項１〜４のいずれか１項に記載の数値制御装置。
【請求項６】
前記トレランス最大値算出部は、
前記コーナ点を含む前記コーナ部の前記移動経路である第１経路において前記コーナ部に隣接する前記移動経路である第２経路と、前記コーナ点を含まないように前記第１経路を変位させた修正経路に沿って、前記工具を移動させたときに前記コーナ点と前記修正経路の最近接距離を前記加工物の削り残しが発生しない前記コーナ点における前記トレランスの最大値であるトレランス最大値として算出する、
ことを特徴とする請求項１〜５のいずれか１項に記載の数値制御装置。
【請求項７】
工作機械の送り軸の移動を制御する数値制御方法において、
加工物を加工する工具の加工物に対する移動指示が記述された加工プログラムに基づいて、前記工具の前記加工物上における移動経路を算出するステップと、
前記移動経路からトレランスを設定するコーナ部の点であるコーナ点を抽出するステップと、
前記コーナ点を含む前記コーナ部の前記移動経路を前記コーナ点を含まないように変位させた修正経路に沿って前記工具を移動させたときに、前記加工物の削り残しが発生しないように前記コーナ点における前記トレランスの最大値であるトレランス最大値を算出するステップと、
前記トレランス最大値に基づいて、前記加工プログラムを修正するステップと、
を有する
ことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指令された経路に沿って加工物または工具を移動する工作機械に対して指令を与えるコントローラに適用可能な数値制御装置および数値制御方法に関するものである。
【背景技術】
【０００２】
従来、一般的な数値制御装置では加工物または加工する工具を所定の経路に沿って移動させるための移動経路と速度の指令が記述されるＮＣ加工プログラムが用いられる。そして、ＮＣ加工プログラムにより指令された移動経路に対して補間計算を行い、加工物または工具の加減速制御を行うという方法がとられている。このとき、数値制御装置としては指令された移動経路からの軌跡誤差が小さく、かつ短時間に移動することが要求される。
【０００３】
しかしこれら２つの要求はトレードオフの関係にあり、例えばコーナ部等を高速に移動すると機械振動が発生したり工作機械が追従できなかったりして軌跡誤差が増大するため、減速しなければならない。軌跡誤差は小さいほど望ましいが実用上では指令される移動経路からの許容誤差であるトレランスが与えられ、軌跡誤差がその範囲内に収まるように制御が行われる。一方、ＮＣ加工プログラム中の荒加工を行う工程においては、トレランスの範囲に収まっていれば軌跡誤差が比較的大きくても問題とならないことが多く、むしろ高速に移動することが望まれている。
【０００４】
そこで例えば、ＮＣ加工プログラムのブロック毎にトレランスを明示し、そのトレランスに基づいて補間計算を行う方法が提案されている（例えば、特許文献１参照）。特許文献１に記載の技術では、短い範囲でトレランスを変化させることによりＮＣ加工プログラムの段階で荒い精度の加工を指令でき、無駄な減速処理を省略して荒加工における加工時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１６６８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術によれば、短い範囲でトレランスを変化させてＮＣ加工プログラムを記述することが可能となっているものの、従来技術を活用するためにはＮＣ加工プログラムのどのブロックにどの程度のトレランスの値を設定するかという適応的な決定をオペレータが実施する必要があり大きな手間を要するという問題があった。さらに、削り残しが生じないことを保証しつつトレランスの値を決定することにはまた大きな手間を要するという問題があった。
【０００７】
本発明は、上記のような問題点を解決するためになされたものであり、ＮＣ加工プログラムにおいてトレランスを設定すべきコーナ部と設定するトレランスの値を自動的に決定し、ＮＣ加工プログラムを修正することが可能な数値制御装置および方法を得ることを目的としたものである。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、工作機械の送り軸の移動を制御する数値制御装置において、加工物を加工する工具の加工物に対する移動指示が記述された加工プログラムに基づいて、前記工具の前記加工物上における移動経路を算出する移動経路算出部と、前記移動経路からトレランスを設定するコーナ部の点であるコーナ点を抽出するトレランス設定コーナ点抽出部と、前記コーナ点を含む前記コーナ部の前記移動経路を前記コーナ点を含まないように変位させた修正経路に沿って前記工具を移動させたときに、前記加工物の削り残しが発生しないように前記コーナ点における前記トレランスの最大値であるトレランス最大値を算出するトレランス最大値算出部と、前記トレランス最大値に基づいて、前記加工プログラムを修正する加工プログラム修正部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＮＣ加工プログラムに記述される移動経路からトレランスを設定するコーナ点を抽出し、これに従い各コーナ点でのトレランス最大値を算出し、これに基づいてＮＣ加工プログラムを修正する。これにより、トレランスの値をオペレータが予めＮＣ加工プログラムに設定しておく必要がなく、ＮＣ加工プログラムにおいてトレランスを設定すべきコーナ点と設定するトレランスの値を自動的に決定することができるためオペレータが要する手間を省略できるという効果を奏する。
【００１０】
さらに、トレランスを設定するコーナ点ごとにトレランスを計算しトレランス最大値として削り残しを生じない制約を満たす値を算出するため、削り残しが生じないことを保証しながらブロック毎に適応的なトレランスの値を設定することができるという効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１に係る数値制御装置の構成を示す図である。
【図２】図２は、実施の形態１〜４に係る数値制御装置のフローチャートを示す図である。
【図３−１】図３−１は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図３−２】図３−２は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図３−３】図３−３は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図４−１】図４−１は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図４−２】図４−２は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図４−３】図４−３は、実施の形態１に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図５】図５は、実施の形態１に係るトレランス最大値算出部がトレランス最大値を算出する方法を説明する図である。
【図６−１】図６−１は、実施の形態１に係るＮＣ加工プログラム修正部にて修正される前のＮＣ加工プログラムの例を示す図である。
【図６−２】図６−２は、実施の形態１に係るＮＣ加工プログラム修正部にて修正された後のＮＣ加工プログラムの例を示す図である。
【図７−１】図７−１は、実施の形態１に係るＮＣ加工プログラム修正部がトレランス値を設定して移動経路を修正する様子を説明する図である。
【図７−２】図７−２は、実施の形態１に係るＮＣ加工プログラム修正部がトレランス値を設定して移動経路を修正する様子を説明する図である。
【図８−１】図８−１は、実施の形態１に係る数値制御装置において、トレランス最大値の算出とＮＣ加工プログラムの修正を交互に実行する様子を示した図である。
【図８−２】図８−２は、実施の形態１に係る数値制御装置において、トレランス最大値の算出とＮＣ加工プログラムの修正を交互に実行する様子を示した図である。
【図８−３】図８−３は、実施の形態１に係る数値制御装置において、トレランス最大値の算出とＮＣ加工プログラムの修正を交互に実行する様子を示した図である。
【図９】図９は、実施の形態２に係る数値制御装置の構成を示す図である。
【図１０−１】図１０−１は、実施の形態２に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図１０−２】図１０−２は、実施の形態２に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図１１】図１１は、実施の形態３に係る数値制御装置の構成を示す図である。
【図１２−１】図１２−１は、実施の形態３に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図１２−２】図１２−２は、実施の形態３に係るトレランス設定コーナ点抽出部の壁面加工経路を除外する方法の説明をする図である。
【図１３−１】図１３−１は、実施の形態４に係るＮＣ加工プログラム修正部がトレランス値を設定して移動経路を修正する様子を説明する図である。
【図１３−２】図１３−２は、実施の形態４に係るＮＣ加工プログラム修正部がトレランス値を設定して移動経路を修正する様子を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる数値制御装置および数値制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１に係る数値制御装置１００の構成を示す図である。数値制御装置１００は、ＮＣ加工プログラム入力部１０１、工具データ記憶部１０２、トレランス設定コーナ点抽出部１０３、トレランス設定コーナ点記憶部１０４、トレランス最大値算出部１０５、トレランス最大値記憶部１０６、ＮＣ加工プログラム修正部１０７、および補間・加減速部１０８を備えている。数値制御装置１００は、ＮＣ加工プログラムおよび工具データを入力とし、サーボアンプへの指令を出力とする。
【００１４】
図２は、実施の形態１に係る数値制御装置１００による数値制御方法のフローチャートを示した図である。以下このフローチャートに基づいて説明する。
【００１５】
まず、ステップＳ１において、ＮＣ加工プログラムがＮＣ加工プログラム入力部１０１に入力され、ＮＣ加工プログラム入力部１０１はＮＣ加工プログラムを読込む。ＮＣ加工プログラムには、加工物を加工する工具または加工物への移動指示が記述されている。ＮＣ加工プログラム入力部１０１は、読込んだＮＣ加工プログラムから工具が加工物に対して移動する経路を算出する。すなわち、ＮＣ加工プログラム入力部１０１は、加工物上に設定された座標系での工具の（中心の）移動経路を算出する移動経路算出部として機能する。また、工具データ記憶部１０２には工具データが入力される。工具データ記憶部１０２は入力された工具データを記憶する。
【００１６】
次に、ステップＳ２において、トレランス設定コーナ点抽出部１０３は、ＮＣ加工プログラム入力部１０１より算出された移動経路を受け取る。なお、ＮＣ加工プログラムから工具の移動経路を算出することは、トレランス設定コーナ点抽出部１０３が実行しても構わない。
【００１７】
トレランス設定コーナ点抽出部１０３は、抽出された移動経路から加工物の壁面を加工する経路である壁面加工経路を除外する。さらに、トレランス設定コーナ点抽出部１０３は壁面加工経路を除外した移動経路から、当該経路の接線方向または曲率が不連続となる当該経路上の点をトレランス設定コーナ点として抽出する（ステップＳ２）。抽出されたトレランス設定コーナ点は、トレランス設定コーナ点記憶部１０４に記憶される。なお、ここで壁面加工経路を除外した移動経路から抽出するトレランス設定コーナ点は加速度等が不連続となる移動経路の終点としても良い。
【００１８】
ここで、トレランス設定コーナ点抽出部１０３においてＮＣ加工プログラム入力部１０１より受け取った移動経路から加工物壁面を加工する壁面加工経路を除外する方法としては、例えば、図３−１〜図３−３および図４−１〜図４−３に示す方法がある。
【００１９】
図３−１は、素材形状４１に対して与えられた移動経路２１に沿って工具１１を移動させて加工領域３１を加工する場合を示すものである。このときまずトレランス設定コーナ点抽出部１０３は、図３−１に示す移動経路によって幾何的に作られる閉ループ形状を、図３−２に示すように、閉ループ１、閉ループ２、閉ループ３、閉ループ４として抽出する。続いて、トレランス設定コーナ点抽出部１０３は、抽出した閉ループ１、閉ループ２、閉ループ３、閉ループ４について、それぞれの閉ループ同士の包含関係により構造化を行う。さらにトレランス設定コーナ点抽出部１０３は、図３−３に示すように、構造化された閉ループのうち最外郭閉ループとなる閉ループ４を壁面加工経路５１と判断して除外することができる。
【００２０】
なお、上記方法は加工形状に島残し形状がある場合でも同様に適用可能である。図４−１は、素材形状４２に対して与えられた移動経路２２に沿って工具１２を移動させて島残し形状１０の加工を回避しながら加工領域３２を加工する場合の様子を示すものである。
【００２１】
このときまずトレランス設定コーナ点抽出部１０３は、図４−１に示す移動経路２２によって幾何的に作られる閉ループ形状を、図４−２に示すように、閉ループ５、閉ループ６、閉ループ７、閉ループ８として抽出する。続いて、トレランス設定コーナ点抽出部１０３は、抽出した閉ループ５、閉ループ６、閉ループ７、閉ループ８をそれぞれの閉ループ同士の包含関係により構造化を行う。さらにトレランス設定コーナ点抽出部１０３は、図４−３に示すように、構造化された閉ループのうち最外郭閉ループとなる閉ループ８を壁面加工経路５２と判断して除外し、また、最内郭閉ループとなる閉ループ５を壁面加工経路５３と判断して除外することができる。
【００２２】
以上の方法によりトレランス設定コーナ点抽出部１０３においてＮＣ加工プログラム入力部１０１より受け取った移動経路から加工物壁面を加工する壁面加工経路を除外することができる。すなわち、本実施の形態によるトレランス設定コーナ点抽出部１０３によれば、入力されたＮＣ加工プログラムに記述される移動経路が作る閉ループの包含関係に従って、自動的に加工物壁面を加工する移動経路を抽出できるという効果がある。その後、トレランス設定コーナ点抽出部１０３は壁面加工経路を除外した移動経路から、当該経路の角度または曲率が不連続となる当該経路上の点をトレランス設定コーナ点として抽出する。トレランス設定コーナ点の具体例は、以下のステップＳ３の説明および図５以降で示す。
【００２３】
次に、ステップＳ３において、トレランス最大値算出部１０５は、トレランス設定コーナ点抽出部１０３により抽出されたトレランス設定コーナ点を受け取る。さらに、工具データ記憶部１０２に記憶されている工具データをトレランス最大値算出部１０５は受け取る。トレランス最大値算出部１０５は、受け取ったトレランス設定コーナ点におけるトレランス最大値を算出し（ステップＳ３）、算出されたトレランス最大値はトレランス最大値記憶部１０６に記憶される。
【００２４】
なお、ここで算出するトレランス最大値は、トレランス設定コーナ点を含むコーナ部の経路を変位させた修正経路に沿って工具が移動した場合に、当該コーナ部近傍で削り残しを生じない経路の変位量（トレランス値）の最大値（すなわち、トレランス最大値）となるように算出する。
【００２５】
ここで、トレランス設定コーナ点抽出部１０３より受け取ったトレランス設定コーナ点におけるトレランス最大値を、与えられたトレランス値（変位量）を用いてトレランス設定コーナ点を含むコーナ部の経路を変位させた修正経路に沿って工具が移動した場合に、当該コーナ部近傍で削り残しを生じないトレランスの最大値となるようにトレランス最大値算出部１０５において算出する算出方法としては、例えば、図５に示す方法がある。
【００２６】
図５にトレランス設定コーナ点抽出部１０３より受け取ったトレランス設定コーナ点６１を含む移動経路１１１（第１経路）および移動経路１１１に沿って工具が移動するときの工具移動領域７１を示す。さらに、移動経路１１１の外側に隣接する移動経路１１２（第２経路）および移動経路１１２に沿って工具が移動するときの工具移動領域７２を示す。
【００２７】
このときトレランス設定コーナ点６１の近傍で削り残しを生じないためには工具移動領域７１の外側境界と工具移動領域７２の内側境界の最近接距離が０以上であればよい。そのため、トレランス設定コーナ点６１におけるトレランスの最大値を上記最近接距離以下とすれば、トレランス設定コーナ点６１の近傍で削り残しを生じない。そこで、トレランス設定コーナ点６１に設定可能なトレランスの最大値は、工具移動領域７１の外側境界と工具移動領域７２の内側境界の最近接距離ｄとでき、移動経路および工具データからその値を算出することができる。
【００２８】
以上の方法によりトレランス最大値算出部１０５においてトレランス設定コーナ点抽出部１０３より受け取ったトレランス設定コーナ点におけるトレランス最大値を、このトレランス最大値を用いてトレランス設定コーナ点を含むコーナ部の経路を変位させた修正経路に沿って工具が移動した場合に、すなわち、例えば、トレランス設定コーナ点からトレランス最大値だけ離れた位置を経路が通ることになったとしても、当該コーナ部近傍で削り残しを生じないように算出することができる。
【００２９】
次に、ステップＳ４において、ＮＣ加工プログラム修正部１０７は、ＮＣ加工プログラム入力部１０１により読み込んだＮＣ加工プログラムとトレランス設定コーナ点記憶部１０４に記憶されたトレランス設定コーナ点とトレランス最大値記憶部１０６に記憶されたトレランス最大値を受け取る。ＮＣ加工プログラム修正部１０７は、受け取ったＮＣ加工プログラムとトレランス設定コーナ点およびトレランス最大値を用いてＮＣ加工プログラムにトレランス値を設定することによりＮＣ加工プログラムを修正して、修正ＮＣ加工プログラムを生成する（ステップＳ４）。
【００３０】
ここで、図６−１および図６−２にＮＣ加工プログラムの例を示す。まず、図６−１は、ＮＣ加工プログラム修正部１０７にて修正される前のＮＣ加工プログラムの例である。一方で、図６−２は、図６−１に示したＮＣ加工プログラムをＮＣ加工プログラム修正部１０７により修正した後のＮＣ加工プログラムの例である。図６−２に示すように、ここではトレランスに基づいて修正したい移動経路の終点が記述されるブロックに特定のコード（ＴＲ）に続けて設定したいトレランス値を示す数値を記述する。図６−２の例では、数値「２」がトレランス値として記載されている。
【００３１】
また、受け取ったトレランス最大値を用いてトレランス設定コーナ点にトレランス値を設定する方法としては、例えば図７−１および図７−２に示す方法がある。図７−１および図７−２は、ＮＣ加工プログラム修正部１０７がトレランス値を設定して移動経路を修正する様子を説明する図である。
【００３２】
図７−１および図７−２は、ステップＳ３において算出したトレランス最大値をｄとすれば、ｄを用いてトレランス設定コーナ点６２を含むコーナ部の移動経路を修正する例を示したものである。
【００３３】
図７−１においては、移動経路（第１経路）上のトレランス設定コーナ点６２におけるトレランス値ｔ１を算出したトレランス最大値ｄと同値として設定し、修正した移動経路１１３と元の移動経路（第１経路）との誤差がｔ１となるように、トレランス設定コーナ点６２を含むコーナ部において円弧経路を移動させる移動経路１１３として修正した場合を示す。
【００３４】
なお、コーナ部において移動させる経路は、図７−１および図７−２に例として示した円弧経路に限定されず例えば高次スプライン曲線などの移動経路であっても良い。
【００３５】
図７−１において、ｄとｔ１の関係は以下の式（１）で表される。
ｔ１＝ｄ      ・・・（１）
【００３６】
このとき工具移動領域７３の外側境界と工具移動領域７４の内側境界の最近接距離は０となり幾何的に削り残しが生じない移動経路に修正することができる。また、トレランス設定コーナ点６２に設定するトレランス値としては上記のように算出したｄに限らずｄ以下の正数であれば良い。
【００３７】
例えば、図７−２においては、トレランス設定コーナ点６２におけるトレランス値をトレランスの最大値ｄにある一定のマージン値ｍをとったｔ２として設定する。図７−２では、修正した移動経路と元の移動経路との誤差がｔ２となるように、トレランス設定コーナ点６２を含むコーナ部において円弧経路を移動させる移動経路１１３Ｎとして修正した場合を示す。
【００３８】
図７−２において、ｄとｍおよびｔ２の関係は以下の式（２）で表される。
ｔ２＝ｄ−ｍ  ・・・（２）
【００３９】
このとき工具移動領域７３Ｎの外側境界と工具移動領域７４の内側境界の最近接距離はｍとなり、幾何的に削り残しが生じず、かつ一定の余裕をもった移動経路に修正できることがわかる。すなわち、トレランス設定コーナ点６２からの移動経路の変位量である修正量は、トレランス最大値ｄ以下の値であれば一定のマージンを考慮して決定してもかまわない。
【００４０】
以上の方法によりＮＣ加工プログラム修正部１０７は受け取ったＮＣ加工プログラムとトレランス設定コーナ点とトレランス最大値を用いてＮＣ加工プログラムにトレランス値を設定することにより修正し修正ＮＣ加工プログラムを生成できる。
【００４１】
なお、ステップＳ３およびステップＳ４において、全てのトレランス設定コーナ点で既に説明した方法でトレランス最大値を算出した後にＮＣ加工プログラムの修正を行っても良いし、図８−１〜図８−３に示すように、ステップＳ３とステップＳ４を交互に行うような方法とすることもできる。
【００４２】
図８−１は、トレランス設定コーナ点６３を含む移動経路１１５とその外側に隣接するトレランス設定コーナ点６４を含む移動経路１１６とさらにその外側に隣接する移動経路１１７、およびそれら移動経路１１５〜１１７に沿って工具を移動させたときの工具移動領域７５と工具移動領域７６と工具移動領域７７を示したものである。
【００４３】
このときまず、トレランス設定コーナ点６４におけるトレランス最大値はトレランス設定コーナ点６４近傍の工具移動領域７６の外側境界と工具移動領域７７の内側境界の最近接距離であるｄ１として求めることができる。
【００４４】
次に、図８−２にトレランス設定コーナ点６４に設定するトレランス値を求めたｄ１とし、ｄ１に基づいてトレランス設定コーナ点６４を含むコーナ部において円弧経路を移動させる移動経路１１８として仮定する場合を示す。また、仮定した移動経路１１８に沿って工具を移動させたときの工具移動領域７８を示す。
【００４５】
このとき、トレランス設定コーナ点６３におけるトレランス最大値はトレランス設定コーナ点６３近傍の工具移動領域７５の外側境界と工具移動領域７８の内側境界の最近接距離であるｄ２として求めることができる。
【００４６】
図８−３にトレランス設定コーナ点６３に設定するトレランス値を求めたｄ２とし、ｄ２に基づいてトレランス設定コーナ点６３を含むコーナ部において円弧経路を移動させる移動経路１１９として仮定する場合を示す。
【００４７】
これにより外側の移動経路のトレランス設定コーナ点から順にトレランス最大値の算出と設定するトレランス値に基づく移動経路の仮定を交互に行うことにより、内側の移動経路のトレランス設定コーナ点では元の経路からトレランス最大値を算出した場合と比較して大きな値を算出できる可能性がある。
【００４８】
そして、ステップＳ５において、補間・加減速部１０８はＮＣ加工プログラム修正部１０７より修正ＮＣ加工プログラムを受け取り、受け取った修正ＮＣ加工プログラムに基づいて補間と加減速を行い、サーボアンプへの指令を出力する。
【００４９】
以上が、本発明の実施の形態１に係る数値制御装置１００による数値制御方法の説明である。
【００５０】
このように、実施の形態１に係る数値制御装置１００は、トレランス設定コーナ点抽出部１０３とトレランス最大値算出部１０５とＮＣ加工プログラム修正部１０７を備えることにより、入力されたＮＣ加工プログラムからトレランス設定コーナ点およびトレランス最大値を求め、それらに基づいてトレランス値を設定することにより自動的にＮＣ加工プログラムを修正することができる。
【００５１】
また、実施の形態１に係る数値制御装置１００は、トレランス設定コーナ点ごとにトレランス最大値を計算しトレランス最大値として削り残しを生じない制約を満たす値を算出するため、トレランス設定コーナ点ごとに削り残しが生じないことを保証しながら適応的なトレランスの値を設定することができる。
【００５２】
以上説明したように、実施の形態１に係る数値制御装置１００は、入力される加工プログラムに記述される移動経路に基づいてトレランスを設定するコーナ点とトレランス最大値を算出し、トレランスを設定するコーナ点および算出したトレランス最大値を用いて加工プログラムを自動的に修正することができる。そのため、オペレータが要する手間を省略できるという効果が得られる。
【００５３】
さらに、トレランスを設定するコーナ点ごとにトレランスを計算しトレランス最大値として削り残しを生じない制約を満たす値を算出するため、削り残しが生じないことを保証しながらトレランスを設定するコーナ点毎に適応的なトレランスの値を設定できるという効果が得られる。
【００５４】
実施の形態２．
図９は、本発明の実施の形態２に係る数値制御装置２００の構成を示す図である。実施の形態２に係る数値制御装置２００の構成は、加工シミュレーション部１０９を備える点以外は図１に示した数値制御装置１００と同じであるので、加工シミュレーション部１０９にかかる動作以外の説明を以下では省略する。また、本実施の形態に係る数値制御装置２００による数値制御方法のフローチャートも図２を用いる。
【００５５】
本実施の形態の実施の形態１との相違点は、図２に示すフローチャートのステップＳ２において、トレランス設定コーナ点抽出部１０３において加工物の壁面を加工する壁面加工経路を除外する手段に加工シミュレーションを用いる点である。残りのステップについては実施の形態１において示したものと同じであるため説明を省略する。
【００５６】
本実施の形態のステップＳ２においては、トレランス設定コーナ点抽出部１０３は、ＮＣ加工プログラム入力部１０１よりＮＣ加工プログラムから抽出した移動経路を受け取り、さらに工具データ記憶部１０２により記憶されている工具データを受け取る。
【００５７】
加工シミュレーション部１０９は、トレランス設定コーナ点抽出部１０３より移動経路および工具データを受け取り、受け取った移動経路および工具データを用いて加工シミュレーションを実施する。
【００５８】
トレランス設定コーナ点抽出部１０３は、加工シミュレーション部１０９が実施した加工シミュレーションの結果を受け取り、受け取った加工シミュレーションの結果を用いて移動経路から加工物壁面を加工する壁面加工経路を除外する。
【００５９】
ここでトレランス設定コーナ点抽出部１０３において加工物の壁面を加工する壁面加工経路を除外する手段に加工シミュレーション部１０９による加工シミュレーションを用いる方法として、例えば、図１０−１および図１０−２に示す例を用いて説明する方法がある。
【００６０】
図１０−１は、移動経路２３および工具１３を用いてシミュレーション素材形状４３から加工領域形状３３を除去するための、加工シミュレーション部１０９による加工シミュレーションを示すものである。ここで、移動経路２３に含まれる移動経路Ｔｉおよび移動経路Ｔｊに着目する。
【００６１】
図１０−２は、移動経路Ｔｉに沿って工具１３が移動することにより生成される工具移動形状Ｓｉと、移動経路Ｔｊに沿って工具１３が移動することにより生成される工具移動形状Ｓｊを示した図である。
【００６２】
このとき、工具移動形状Ｓｉおよび工具移動形状Ｓｊと加工シミュレーション終了後のシミュレーション素材形状４３の表面に着目すると、工具移動形状Ｓｉは加工シミュレーション後にシミュレーション素材形状４３の表面を形成しないのに対し、工具移動形状Ｓｊは加工シミュレーション後にシミュレーション素材形状４３の表面を形成する。
【００６３】
このことにより、工具移動形状Ｓｊを生成する移動経路Ｔｊは、加工物壁面を加工する壁面加工経路であることがわかる。
【００６４】
加工シミュレーション部１０９による加工シミュレーションを利用した以上の方法により、トレランス設定コーナ点抽出部１０３においてＮＣ加工プログラム入力部１０１より受け取った移動経路から加工物の壁面を加工する壁面加工経路を除外することができる。
【００６５】
本発明の実施の形態２に係る数値制御装置２００の構成によれば、入力されたＮＣ加工プログラムの移動経路が閉ループを作らない場合でも加工シミュレーションを実施することにより加工物の壁面を加工する壁面加工経路を抽出することが可能となる。さらに、加工領域の形状が開いている場合など加工物の壁面が連続していない場合でも壁面加工経路を抽出することが可能となる。
【００６６】
なお、実施の形態１で説明したような、入力されたＮＣ加工プログラムの移動経路が閉ループを形成する場合や加工物の壁面が連続している場合であっても、加工シミュレーションを利用することができることは言うまでもない。従って、移動経路の閉ループについては、包含関係に基づいて階層化して実施の形態１の手法で壁面加工経路を抽出し、移動経路が閉ループを作らないところでは本実施の形態のように加工シミュレーションを利用するようにして併用してもよい。
【００６７】
実施の形態３．
図１１は、本発明の実施の形態３に係る数値制御装置３００の構成を示す図である。実施の形態３に係る数値制御装置３００の構成は、３次元形状モデル入力部１１０を備える点以外は図１に示した数値制御装置１００と同じであるので、３次元形状モデル入力部１１０にかかる動作以外の説明を以下では省略する。また、本実施の形態に係る数値制御装置３００による数値制御方法のフローチャートも図２を用いる。
【００６８】
本実施の形態の実施の形態１及び２との相違点は、図２に示すフローチャートのステップＳ１において、３次元形状モデル入力部１１０が加工物の加工形状をモデリングした３次元形状モデルを読込む点と、ステップＳ２において、トレランス設定コーナ点抽出部１０３において加工物の壁面を加工する壁面加工経路を除外する手段に３次元形状モデルを用いる点である。残りのステップについては実施の形態１において示したものと同じであるため説明を省略する。
【００６９】
本実施の形態のステップＳ１においては、３次元形状モデル入力部１１０は、入力される３次元形状モデルを読込む。
【００７０】
さらに本実施の形態のステップＳ２においては、トレランス設定コーナ点抽出部１０３は、ＮＣ加工プログラム入力部１０１よりＮＣ加工プログラムから抽出した移動経路を受け取り、また工具データ記憶部１０２により記憶されている工具データを受け取る。さらにトレランス設定コーナ点抽出部１０３は、３次元形状モデル入力部１１０により読込んだ３次元形状モデルを受け取る。
【００７１】
トレランス設定コーナ点抽出部１０３は受け取った移動経路と工具データおよび３次元形状モデルを用いて受け取った移動経路から加工物壁面を加工する壁面加工経路を除外する。
【００７２】
ここでトレランス設定コーナ点抽出部１０３において加工物の壁面を加工する壁面加工経路を除外する手段に３次元形状モデル入力部１１０が読み込んだ３次元形状モデルを用いる方法として、例えば、図１２−１および図１２−２に示す例を用いて説明する方法がある。
【００７３】
図１２−１は、３次元形状モデル８０と移動経路２４を重ね合わせて配置した状態を示した図である。ここで移動経路Ｔｍに着目する。工具データに基づいて移動経路Ｔｍ上に工具１４を仮想的に配置したとき、３次元形状モデル８０と移動経路Ｔｍ上の工具１４の最近接距離Ｌｍを得る。
【００７４】
また、図１２−２に示すように、移動経路Ｔｎに着目した場合、工具データに基づいて移動経路Ｔｎ上に工具１４を仮想的に配置したとき、３次元形状モデル８０と移動経路Ｔｎ上の工具１４の最近接距離Ｌｎを得る。
【００７５】
このとき、ある移動経路に沿って移動する工具１４と３次元形状モデル８０の壁面との間の最近接距離が数値制御装置に予め設定された許容値以下であれば当該移動経路は、加工物の壁面を加工する壁面加工経路であるとする。
【００７６】
図１２−１および図１２−２に示す例においては、予め設定された許容値をＬＴとして、以下の式（３）が成り立つとする。
Ｌｎ＜ＬＴ＜Ｌｍ     ・・・（３）
【００７７】
このとき、移動経路Ｔｍは壁面加工経路ではなく、移動経路Ｔｎは壁面加工経路であると判断できる。
【００７８】
３次元形状モデル８０を利用した以上の方法により、トレランス設定コーナ点抽出部１０３においてＮＣ加工プログラム入力部１０１より受け取った移動経路から加工物の壁面を加工する壁面加工経路を除外することができる。
【００７９】
本発明の実施の形態３に係る数値制御装置３００の構成によれば、入力されたＮＣ加工プログラムの移動経路が閉ループを作らない場合でも３次元形状モデルと移動経路を用いることにより加工物壁面を加工する壁面加工経路を抽出することが可能となる。さらに、同時３軸加工を行う移動経路等においても加工物壁面を加工する壁面加工経路を抽出することが可能となる。なお、入力されたＮＣ加工プログラムから抽出された移動経路が閉ループを形成する場合も、３次元形状モデルを利用して壁面加工経路を抽出することができることは言うまでもない。
【００８０】
実施の形態４．
本発明の実施の形態４に係る数値制御装置１００の構成は、図１に示したものと同じであるので説明を省略する。また、本実施の形態に係る数値制御装置１００による数値制御方法のフローチャートも図２を用いる。
【００８１】
本実施の形態の実施の形態１〜３との相違点は、図２に示すフローチャートのステップＳ４において、ＮＣ加工プログラム修正部１０７がＮＣ加工プログラムに設定するトレランス値を求める手段として素材領域に対する工具の接触角の許容値または接触角の許容値以上となる移動距離を用いる点である。残りのステップについては実施の形態１において示したものと同じであるため説明を省略する。
【００８２】
本実施の形態のステップＳ４においても、ＮＣ加工プログラム修正部１０７は、ＮＣ加工プログラム入力部１０１により読み込んだＮＣ加工プログラムとトレランス設定コーナ点記憶部１０４に記憶されたトレランス設定コーナ点とトレランス最大値記憶部１０６に記憶されたトレランス最大値を受け取る。ＮＣ加工プログラム修正部１０７は、受け取ったＮＣ加工プログラムとトレランス設定コーナ点およびトレランス最大値を用いてＮＣ加工プログラムにトレランス値を設定することにより修正して、修正ＮＣ加工プログラムを生成する（ステップＳ４）。
【００８３】
ここで、ＮＣ加工プログラム修正部１０７が、受け取ったＮＣ加工プログラムとトレランス設定コーナ点とトレランス最大値を用いてＮＣ加工プログラムに設定するトレランス値を求める手段に工具と素材領域の接触角の許容値を用いる方法として、例えば、図１３−１および図１３−２を用いて説明する方法がある。
【００８４】
図１３−１は、移動経路のトレランス設定コーナ点６５にトレランス値ｔ３を設定し、トレランス設定コーナ点６５を含むコーナ部をトレランス値ｔ３に従って移動経路１２０として修正し、移動経路１２０に沿って工具１４が通過することにより除去される領域を素材から除き素材領域４５として示したものである。
【００８５】
図１３−１において、さらに移動経路１２０に隣接する移動経路である移動経路１２１に沿って工具１４が移動すると工具１４が素材領域４５を除去していく。このときまだ除去されていない加工中の素材領域４５に対する工具１４の接触角θはコーナ点６６に接近するに従って増加し、ある地点からコーナ点６６までの間では１８０度となり、例えば、接触角θが１８０度の状態での工具１４の移動量はＬ３となる。図１３−１では、接触角θが１８０度の場合の位置での工具１４を示してあるが、工具１４がこれより左に位置する場合は、工具１４の進行方向側面（半円周側面）の全面がまだ除去されていない素材領域４５と接触してはいないので、接触角θは１８０度より小さくなっている。
【００８６】
ここで、接触角θが１８０度となる移動量の許容移動量を予めＬＳとして設定しておき、Ｌ３がＬＳ以下となるようにトレランス最大値以下のトレランス値を選択して設定することができる。工具１４の中心がコーナ点６６まで移動し、その後移動経路に沿って上方向へ移動した場合の削り残しを防ぐためには、例えば、ＬＳは工具１４の半径、或いはそれ以下の値である必要がある。
【００８７】
図１３−２においては、上記方法に基づいてトレランス値をｔ３より小さいｔ４として求めた場合のトレランス設定コーナ点６５を含むコーナ部をトレランス値ｔ４に従って移動経路１２２として修正し、移動経路１２２に沿って工具１４が通過することにより除去される領域を素材から除き素材領域４６として示す。
【００８８】
図１３−２では、素材領域４６と工具１４の接触角θが１８０度の状態での工具１４の移動量はＬ４となりＬ３と比較してその値は小さくなることが分かる。なお工具１４の移動中に維持すべきθは１８０度に限定されるものではなく、例えば１２０度以上等としてもよい。すなわち、１８０度以下の所定の角度を定め、上記移動量を接触角θが所定の角度以上を維持する工具１４の移動量として定義してもよい。
【００８９】
いずれにせよ、ＮＣ加工プログラム修正部１０７は、このようにして求めた移動量が予め定めた許容移動量ＬＳ以下の範囲となるように定めた（トレランス最大値以下の）トレランス値をＮＣ加工プログラムに設定することにより、トレランス設定コーナ点６５を含むコーナ部の移動経路を変化させた修正ＮＣ加工プログラムを生成する。
【００９０】
また、ＮＣ加工プログラム修正部１０７が、ＮＣ加工プログラムに設定するトレランス値の別の決定方法としては、トレランス設定コーナ点６５を含むコーナ部における接触角θの許容値である許容接触角を予めθＬとして設定しておき、θがθＬ以下となるようなトレランス値の中のトレランス最大値以下の値をトレランス値として選択してＮＣ加工プログラムに設定することもできる。
【００９１】
本実施の形態による上記した方法によれば、算出したトレランス最大値のみに基づいて設定するトレランス値を決定するのではなく、入力される加工プログラムに記述される移動経路に基づいて、素材領域に対する工具の接触角や予め設定された許容接触角以上での移動量を算出しトレランス値を設定することにより工具への影響を所望の範囲に抑えることができるという効果が得られる。なお、本実施の形態によるトレランス値の決定方法は実施の形態１〜３で説明した数値制御装置および方法と併用可能であることは言うまでもない。
【００９２】
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【００９３】
以上のように、本発明にかかる数値制御装置および数値制御方法は、指令された経路に沿って加工物または工具を移動する工作機械に対して指令を与えるコントローラに適用可能な数値制御装置および数値制御方法に有用であり、特に、ＮＣ加工プログラムにおいてトレランスを設定すべきコーナ部と設定するトレランスの値を自動的に決定し、ＮＣ加工プログラムを修正することに適している。
【符号の説明】
【００９４】
１〜８  閉ループ、１０  島残し形状、１１，１２，１３，１４  工具、３１，３２  加工領域、３３  加工領域形状、４１，４２  素材形状、４３  シミュレーション素材形状、４５，４６  素材領域、５１，５２，５３  壁面加工経路、６１，６２，６３，６４，６５  トレランス設定コーナ点、６６  コーナ点、７１，７２，７３，７３Ｎ，７４，７５，７６，７７，７８，７９  工具移動領域、８０  ３次元形状モデル、２１，２２，２３，２４，１１１，１１２，１１３，１１３Ｎ，１１４，１１５，１１６，１１７，１１８，１１９，１２０，１２１，１２２  移動経路、１００，２００，３００  数値制御装置、１０１  ＮＣ加工プログラム入力部、１０２  工具データ記憶部、１０３  トレランス設定コーナ点抽出部、１０４  トレランス設定コーナ点記憶部、１０５  トレランス最大値算出部、１０６  トレランス最大値記憶部、１０７  ＮＣ加工プログラム修正部、１０８  補間・加減速部、１０９  加工シミュレーション部、１１０  ３次元形状モデル入力部、Ｓ１〜Ｓ５  ステップ。
【図１】
2015022640.tif 000003
【図２】
2015022640.tif 000004
【図３−１】
2015022640.tif 000005
【図３−２】
2015022640.tif 000006
【図３−３】
2015022640.tif 000007
【図４−１】
2015022640.tif 000008
【図４−２】
2015022640.tif 000009
【図４−３】
2015022640.tif 000010
【図５】
2015022640.tif 000011
【図６−１】
2015022640.tif 000012
【図６−２】
2015022640.tif 000013
【図７−１】
2015022640.tif 000014
【図７−２】
2015022640.tif 000015
【図８−１】
2015022640.tif 000016
【図８−２】
2015022640.tif 000017
【図８−３】
2015022640.tif 000018
【図９】
2015022640.tif 000019
【図１０−１】
2015022640.tif 000020
【図１０−２】
2015022640.tif 000021
【図１１】
2015022640.tif 000022
【図１２−１】
2015022640.tif 000023
【図１２−２】
2015022640.tif 000024
【図１３−１】
2015022640.tif 000025
【図１３−２】
2015022640.tif 000026