(57)【要約】【課題】工具とワークとの干渉の誤検出を回避する干渉監視装置を提供する。【解決手段】干渉監視装置１００は、プログラムに基づいて工具及びワークを相対的に移動させて、ワークに所定の処理を施す機械において、工具とワークとの干渉チェックを行う干渉監視装置であって、プログラムに基づいて、工具又はワークの所定時間先の先行位置を算出する先行位置算出部１５と、先行位置に基づいて加工後のワークの加工部形状を予測描画し、予測描画したワークの加工部形状に基づいて干渉チェックを行う干渉チェック部２と、予測描画したワークの加工部形状と加工後の実際のワークの加工部形状との誤差分を、予測描画したワークの加工部形状における削残領域として算出する削残領域算出部１６とを備え、干渉チェック部は、削残領域では干渉チェックを行わない。【選択図】図１
2019192103.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに基づいて工具及びワークを相対的に移動させて、前記ワークに所定の処理を施す機械において、前記工具と前記ワークとの干渉チェックを行う干渉監視装置であって、
前記プログラムに基づいて、前記工具又は前記ワークの所定時間先の先行位置を算出する先行位置算出部と、
前記先行位置に基づいて加工後のワークの加工部形状を予測描画し、予測描画したワークの加工部形状に基づいて前記干渉チェックを行う干渉チェック部と、
前記予測描画したワークの加工部形状と加工後の実際のワークの加工部形状との誤差分を、前記予測描画したワークの加工部形状における削残領域として算出する削残領域算出部と、
を備え、
前記干渉チェック部は、前記削残領域では前記干渉チェックを行わない、
干渉監視装置。
【請求項２】
前記削残領域算出部は、前記削残領域における最大幅を算出し、
前記干渉チェック部は、前回の指令経路の先行位置に基づく予測経路と今回の指令経路の先行位置に基づく予測経路とのずれ幅が前記削残領域における最大幅以下である場合に、今回の指令経路は前記削残領域を通過すると判断し、前記干渉チェックを行わない、
請求項１に記載の干渉監視装置。
【請求項３】
前記削残領域算出部は、
時刻ｔＮで算出された先行位置から複数の指令位置までの進行方向ベクトルｖｉａ、及び、時刻ｔＮで算出された先行位置から時刻ｔＮ＋１で算出された先行位置までの進行方向ベクトルｖｉｂを算出し、ここで、複数の指令位置は、時刻ｔＮで算出された先行位置と時刻ｔＮ＋１で算出された先行位置との間の指令位置であり、
前記進行方向ベクトルｖｉｂを単位ベクトルに変換し、
前記単位ベクトルと前記進行方向ベクトルｖｉａとの外積の絶対値を各々計算することにより、前記進行方向ベクトルｖｉｂに対する前記進行方向ベクトルｖｉａの法線方向のずれ幅を求め、
ずれ幅の中の最大値を、前記削残領域における最大幅とする、
請求項２に記載の干渉監視装置。
【請求項４】
前記削残領域算出部は、前記削残領域における面積を算出し、
前記干渉チェック部は、今回の加工面積が前記削残領域における面積以下である場合に、今回の加工は前記削残領域の加工であると判断し、前記干渉チェックを行わない、
請求項１に記載の干渉監視装置。
【請求項５】
前記削残領域算出部は、
時刻ｔＮで算出された先行位置から複数の指令位置までの進行方向ベクトルｖｉ、及び、時刻ｔＮで算出された先行位置から時刻ｔＮ＋１で算出された先行位置までの進行方向ベクトルｖｉを算出し、ここで、複数の指令位置は、時刻ｔＮで算出された先行位置と時刻ｔＮ＋１で算出された先行位置との間の指令位置であり、
隣接する進行方向ベクトルｖｉと進行方向ベクトルｖｉ＋１とで囲まれる領域の面積ｓｉを求め、
時刻ｔＮから時刻ｔＮ＋１までの面積ｓｉの総和を、前記削残領域における面積とする、
請求項４に記載の干渉監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムに基づいて工具及びワークを相対的に移動させて、前記ワークに所定の処理を施す機械において、工具とワークとの干渉チェックを行う干渉監視装置に関する。
【背景技術】
【０００２】
例えば工作機械では、予め作成されたプログラムに基づいて、工具及びワークを相対的に移動させて、ワークの加工を行う。プログラムにミスがあるような場合、又は機械へのワークの取り付けミスがあるような場合、機械運転中に工具がワークやワークを取り付ける治具等に衝突する等の干渉が発生する場合がある。
【０００３】
この点に関し、プログラムを先読みして工具又はワークの所定時間先の先行位置を算出し、算出した先行位置に基づいて工具とワークとの干渉チェックを行い、干渉が予測されたときに工具又はワークの移動を減速停止させる干渉監視装置が考案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２２１０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明者は、干渉監視装置において、ワークの削り取りの予測描画、換言すれば加工後のワークの加工部形状の予測描画を行いながら、予測描画したワークの加工部形状に基づいて干渉チェックを行うことを考案する。この考案では、以下の問題がある。
【０００６】
例えば、図３Ａに示すように、実際の制御では、指令経路１において指令終点（微小な連続ブロック）Ｐａ１が指令される。一方、干渉監視装置は、プログラムを先読みし、所定時間先の時刻ｔ１Ｎ，ｔ１Ｎ＋１毎に先行位置Ｐｂ１を算出するので、先行位置Ｐｂ１の点列の間隔が指令終点Ｐａ１の間隔よりも大きくなり、指令終点Ｐａ１に対応するような中間座標が算出されない。
【０００７】
干渉監視装置が、先行位置Ｐｂ１に基づいて加工後のワークＷの加工部形状の予測描画を行う場合、図３Ｂに示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）とに誤差（以下、削残領域Ｒともいう。）が生じる。削残領域Ｒは、加工後の実際のワークＷの加工部形状では切削されるが、予測描画したワークＷの加工部形状では削り残しとして誤認識される領域である。
【０００８】
その後、図３Ｃに示すように、前回の指令経路１に隣接する指令経路２による切削が指令される場合がある。図３Ｄに示すように、指令経路２において、干渉監視装置が、時刻ｔ２Ｎ，ｔ２Ｎ＋１毎に先行位置Ｐｂ２を算出し、先行位置Ｐｂ２間を結ぶ直線上において干渉チェックを行うと、削残領域Ｒにおいて切削ボリュームが所定値以上であると誤認識してしまう。そのため、図３Ｅに示すように、干渉監視装置は、工具ＴとワークＷとの干渉が発生したと誤検出してしまい、実際には工具ＴとワークＷとの干渉が発生しないにも関わらず、例えば工作機械の運転を停止してしまう。
【０００９】
本発明は、工具とワークとの干渉の誤検出を回避する干渉監視装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）  本発明に係る干渉監視装置（例えば、後述の干渉監視装置１００）は、プログラムに基づいて工具及びワークを相対的に移動させて、前記ワークに所定の処理を施す機械において、前記工具と前記ワークとの干渉チェックを行う干渉監視装置であって、前記プログラムに基づいて、前記工具又は前記ワークの所定時間先の先行位置を算出する先行位置算出部（例えば、後述の先行位置算出部１５）と、前記先行位置に基づいて加工後のワークの加工部形状を予測描画し、予測描画したワークの加工部形状に基づいて前記干渉チェックを行う干渉チェック部（例えば、後述の干渉チェック装置２）と、前記予測描画したワークの加工部形状と加工後の実際のワークの加工部形状との誤差分を、前記予測描画したワークの加工部形状における削残領域として算出する削残領域算出部（例えば、後述の削残領域算出部１６）とを備え、前記干渉チェック部は、前記削残領域では前記干渉チェックを行わない。
【００１１】
（２）  （１）に記載の干渉監視装置において、前記削残領域算出部は、前記削残領域における最大幅を算出してもよいし、前記干渉チェック部は、前回の指令経路の先行位置に基づく予測経路と今回の指令経路の先行位置に基づく予測経路とのずれ幅が前記削残領域における最大幅以下である場合に、今回の指令経路は前記削残領域を通過すると判断し、前記干渉チェックを行わなくてもよい。
【００１２】
（３）  （２）に記載の干渉監視装置において、前記削残領域算出部は、時刻ｔＮで算出された先行位置から複数の指令位置までの進行方向ベクトルｖｉａ、及び、時刻ｔＮで算出された先行位置から時刻ｔＮ＋１で算出された先行位置までの進行方向ベクトルｖｉｂを算出してもよく、ここで、複数の指令位置は、時刻ｔＮで算出された先行位置と時刻ｔＮ＋１で算出された先行位置との間の指令位置であり、前記進行方向ベクトルｖｉｂを単位ベクトルに変換してもよく、前記単位ベクトルと前記進行方向ベクトルｖｉａとの外積の絶対値を各々計算することにより、前記進行方向ベクトルｖｉｂに対する前記進行方向ベクトルｖｉａの法線方向のずれ幅を求めてもよく、ずれ幅の中の最大値を、前記削残領域における最大幅としてもよい。
【００１３】
（４）  （１）に記載の干渉監視装置において、前記削残領域算出部は、前記削残領域における面積を算出してもよいし、前記干渉チェック部は、今回の加工面積が前記削残領域における面積以下である場合に、今回の加工は前記削残領域の加工であると判断し、前記干渉チェックを行わなくてもよい。
【００１４】
（５）  （４）に記載の干渉監視装置において、前記削残領域算出部は、時刻ｔＮで算出された先行位置から複数の指令位置までの進行方向ベクトルｖｉ、及び、時刻ｔＮで算出された先行位置から時刻ｔＮ＋１で算出された先行位置までの進行方向ベクトルｖｉを算出してもよく、ここで、複数の指令位置は、時刻ｔＮで算出された先行位置と時刻ｔＮ＋１で算出された先行位置との間の指令位置であり、隣接する進行方向ベクトルｖｉと進行方向ベクトルｖｉ＋１とで囲まれる領域の面積ｓｉを求めてもよく、時刻ｔＮから時刻ｔＮ＋１までの面積ｓｉの総和を、前記削残領域における面積としてもよい。
【発明の効果】
【００１５】
本発明によれば、干渉監視装置において、工具とワークとの干渉の誤検出を回避することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る干渉監視装置の構成を示す図である。
【図２】第１実施形態に係る干渉監視装置による干渉チェック動作を示すフローチャートである。
【図３Ａ】干渉監視装置の課題を説明するための図である。
【図３Ｂ】干渉監視装置の課題を説明するための図である。
【図３Ｃ】干渉監視装置の課題を説明するための図である。
【図３Ｄ】干渉監視装置の課題を説明するための図である。
【図３Ｅ】干渉監視装置の課題を説明するための図である。
【図４】第１実施形態に係る干渉監視装置における削残領域算出部の機能を説明するための図である。
【図５】第１実施形態に係る干渉監視装置における削残領域算出部の機能を説明するための図である。
【図６】第１実施形態に係る干渉監視装置における干渉チェック装置の機能を説明するための図である。
【図７】第２実施形態に係る干渉監視装置による干渉チェック動作を示すフローチャートである。
【図８】第２実施形態に係る干渉監視装置における削残領域算出部の機能を説明するための図である。
【図９】第２実施形態に係る干渉監視装置における削残領域算出部の機能を説明するための図である。
【図１０】第２実施形態に係る干渉監視装置における干渉チェック装置の機能を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１８】
（第１実施形態）
図１は、第１実施形態に係る干渉監視装置の構成を示す図である。図１に示す干渉監視装置１００は、数値制御装置１と干渉チェック装置（干渉チェック部）２とを備える。なお、干渉監視装置１００は、このような２つの装置構成に限定されず、１つの装置として構成されていてもよい。
数値制御装置１は、プログラムに基づいて工具を移動させて、ワークの切削等の加工を行う工作機械（例えば、サーボモータ３）を制御する。
また、数値制御装置１は、プログラムに基づいて工具の先行位置を算出し、干渉チェック装置２は、この先行位置に基づいて工具とワークとの干渉チェックを行う。
【００１９】
数値制御装置１は、指令解析部１０と、分配処理部１１と、移動指令出力部１２と、加減速処理部１３と、サーボ制御部１４と、先行位置算出部１５と、削残領域算出部１６とを備える。
【００２０】
指令解析部１０は、プログラム２０から１ブロック毎に指令を読み出し、指令を実行形式のデータに変換して先読みブロック指令データ２１を作成する。指令解析部１０は、先読みブロック指令データ２１を、例えば作業用のメモリ等（図示省略）に格納する。
【００２１】
分配処理部１１は、先読みブロック指令データ２１を１ブロックずつ読み出し、該ブロックで指令された各軸移動量及び速度、及び送り速度オーバライド指令部４を介して指令されるオーバライド値（％）に基づいて、分配周期毎の各軸可動部（各軸のサーボモータ）へ指令する分配移動量を求める。分配処理部１１は、該分配移動量を、例えば現在位置レジスタ（図示省略）に加算して現在座標位置（以下現在位置という）を更新する。
【００２２】
また、分配処理部１１は、求めた分配移動量を移動指令出力部１２を介して加減速処理部１３に出力する。移動指令出力部１２は、後述するように、干渉チェック装置２から、軸停止指令が入力されたとき、移動指令の分配処理部１１から出力された移動指令の分配移動量を加減速処理部１３に出力することを停止させるものであり、干渉チェック装置２から軸停止指令が入力されない限り、移動指令を加減速処理部１３に出力するものである。
【００２３】
加減速処理部１３は、移動指令を受けて加減速処理を行い、サーボ制御部１４にこの加減速処理された移動量の移動指令を出力する。
サーボ制御部１４では、この移動指令とサーボモータ３（又はサーボモータ３で駆動される可動部）に取り付けられた位置・速度検出器からの位置及び速度のフィードバックに基づいて位置及び速度のフィードバック制御を行うと共に、駆動電流を検出する電流検出器からの電流フィードバックに基づいた電流のフィードバック制御を行い、アンプを介してサーボモータ３を駆動制御する。なお、図１では、１つのサーボモータ３のみ表しているが、工作機械が有する各軸（各可動部）のサーボモータに対して同様の制御がなされ、各可動部は位置及び速度の制御がなされるものである。
【００２４】
先行位置算出部１５は、サーボモータ３により駆動される可動部が、現在位置から先行時間後に移動する位置である先行位置を求める機能手段である。先行位置は、可動部の現在位置、設定された先行時間、先読みブロック指令データ２１、及び送り速度オーバライド指令部４を介して入力されるオーバライド値（％）に基づいて算出される。そして、先行位置算出部１５は、先行時間と先行位置の座標値を干渉チェックのために干渉チェック装置２へと出力する。
【００２５】
先行位置算出部１５が用いる先行時間は、干渉チェック装置２が干渉チェック処理に要する時間ＴＰ１、先行位置算出部１５と干渉チェック装置２との通信に要する時間ＴＰ２、移動中の可動部の減速停止にかかる時間ＴＰ３を加算した値（ＴＰ１＋ＴＰ２＋ＴＰ３）に所定の余裕時間αを加算した値としている。一般に、先行位置算出部１５と干渉チェック装置２との通信時間ＴＰ２は、このシステムの構成が決まると変動はほとんどなく一定な値であり、測定で求めることができる。また、減速停止にかかる時間ＴＰ３は加減速処理部１３の構成によって決まる一定の値である。一方、干渉チェック装置２が干渉チェック処理に要する時間ＴＰ１は複数の可動部の動作位置によって変動するが、通常、これから干渉チェックをしようとする可動部の位置は前回干渉チェックをした可動部の位置の近傍にあることに着目し、例えば干渉チェック装置２で直前に実行した干渉チェックに要した時間を先行時間分の先行位置算出部１５にフィードバックし、この時間を干渉チェックに要する時間ＴＰ１とすることができる。なお、干渉チェックに要する時間ＴＰ１として、直前の過去数回分の平均（１回前、２回前、３回前…等の過去数回分の平均）を、干渉チェック装置２又は先行時間分の先行位置算出部１５で求めて、これを用いてもよい。
【００２６】
先行位置算出部１５から先行時間と先行位置の座標値を受けた干渉チェック装置２は、工具やワークの輪郭形状、機械の輪郭形状等を記憶しており、先行位置算出部１５から送られてくる各可動部の位置に基づいて工具とワークとの干渉が発生するか否かをチェックし、その結果に基づいて移動指令出力部１２に対して軸停止指令を出力するものである。干渉チェック装置２は、パーソナルコンピュータ等の情報処理装置で構成されている。
なお、更なる先行位置算出部１５、干渉チェック装置２の処理の詳細については、特許文献１などの従来技術で公知となっているため、本明細書では省略する。
【００２７】
ここで、干渉チェック装置２として、ワークの削り取りの予測描画、換言すれば加工後のワークの加工部形状の予測描画を行いながら、予測描画したワークの加工部形状に基づいて干渉チェックを行う装置がある。この場合、以下の問題がある。
【００２８】
例えば、図３Ａに示すように、分配処理部１１，加減速処理部１３及びサーボ制御部１４による実際の制御では、指令経路１において指令終点（微小な連続ブロック）Ｐａ１が指令される。一方、先行位置算出部１５は、先読みブロック指令データ２１に基づいて、時刻ｔ１Ｎ，ｔ１Ｎ＋１毎に所定時間先の先行位置Ｐｂ１を算出するので、先行位置Ｐｂ１の点列の間隔が指令終点Ｐａ１の間隔よりも大きくなり、指令終点Ｐａ１に対応するような中間座標が算出されない。
【００２９】
干渉チェック装置２が、先行位置Ｐｂ１に基づいて加工後のワークＷの加工部形状の予測描画を行う場合、図３Ｂに示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）との誤差（以下、削残領域Ｒともいう。）が生じる。削残領域Ｒは、加工後の実際のワークＷの加工部形状では切削されるが、予測描画したワークＷの加工部形状では削り残しとして誤認識される領域である。
【００３０】
その後、図３Ｃに示すように、前回の指令経路１に隣接する指令経路２による切削が指令される場合がある。図３Ｄに示すように、指令経路２において、先行位置算出部１５が時刻ｔ２Ｎ，ｔ２Ｎ＋１毎に先行位置Ｐｂ２を算出し、干渉チェック装置２が、先行位置Ｐｂ２間を結ぶ直線上において干渉チェックを行うと、削残領域Ｒにおいて切削ボリュームが所定値以上であると誤認識してしまう。そのため、図３Ｅに示すように、干渉チェック装置２は、工具ＴとワークＷとの干渉が発生したと誤検出してしまい、実際には工具ＴとワークＷとの干渉が発生しないにも関わらず、例えば工作機械の運転を停止してしまう。
【００３１】
そこで、削残領域算出部１６は、図４に示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）との誤差分を、予測描画したワークＷの加工部形状における削残領域Ｒとして算出する。
例えば、削残領域算出部１６は、削残領域Ｒにおける最大幅Ｗ’を算出する。
【００３２】
より具体的には、削残領域算出部１６は、図５に示すように、時刻ｔ１Ｎで算出された先行位置Ｐｂ１から複数の指令終点Ｐａ１までの進行方向ベクトルｖｉ（例えば、ｖｉ＝ｖｉａ＝ｖ１〜ｖ６）、及び、時刻ｔ１Ｎで算出された先行位置Ｐｂ１から時刻ｔ１Ｎ＋１で算出された先行位置Ｐｂ１までの進行方向ベクトルｖｉ（例えば、ｖｉ＝ｖｉｂ＝ｖ７）を算出する。なお、指令経路１における指令終点Ｐａ１は、先読みブロック指令データ２１から先行位置算出部１５を介して取得されればよい。
削残領域算出部１６は、時刻ｔ１Ｎで算出された先行位置Ｐｂ１から時刻ｔ１Ｎ＋１で算出された先行位置Ｐｂ１までの進行方向ベクトルｖ７を単位ベクトルｅ７に変換し、下式のように単位ベクトルｅ７と各進行方向ベクトルｖｉ（例えば、ｖ１〜ｖ６）との外積の絶対値を計算することにより、ｖ７に対する各ｖ１〜ｖ６の法線方向のずれ幅ｗｉを求める。
ｗｉ＝|ｅ７×ｖｉ|
削残領域算出部１６は、ずれ幅ｗｉの中の最大値を、削残領域Ｒにおける最大幅Ｗ’として、干渉チェック装置２に出力する。
【００３３】
干渉チェック装置２は、削残領域Ｒでは干渉チェックを行わない。換言すれば、干渉チェック装置２は、削残領域Ｒを干渉チェックしない領域として取り扱う。これにより、工具ＴとワークＷの干渉の誤検出を回避することができる。
【００３４】
例えば、干渉チェック装置２は、図６に示すように、前回の指令経路１に対する時刻ｔ１Ｎ，ｔ１Ｎ＋１で算出された先行位置Ｐｂ１に基づく予測経路（Ｐｂ１間の直線上の破線）と、今回の指令経路２に対する時刻ｔ２Ｎ，ｔ２Ｎ＋１で算出された先行位置Ｐｂ２に基づく予測経路（Ｐｂ２間の直線上の破線）とのずれ幅Ｗｐが、削残領域算出部１６から取得した削残領域Ｒにおける最大幅Ｗ’以下である場合に、今回の指令経路２は削残領域Ｒを通過すると判断し、工具ＴとワークＷとの干渉チェックを行わない。
ずれ幅Ｗｐは、先行位置Ｐｂ１に基づく予測経路（Ｐｂ１間の直線上の破線）と先行位置Ｐｂ２に基づく予測経路（Ｐｂ２間の直線上の破線）との距離の最大値であってもよい。また、最大幅Ｗ’は、工具形状を考慮して補正されてもよい。
【００３５】
次に、図２を参照して、第１実施形態に係る干渉監視装置１００による干渉チェック動作について説明する。図２は、第１実施形態に係る干渉監視装置１００による干渉チェック動作を示すフローチャートである。
【００３６】
（前処理）
まず、前処理において、指令解析部１０は、プログラム２０から１ブロック毎に指令を読み出し、指令を実行形式のデータに変換して先読みブロック指令データ２１を作成する。指令解析部１０は、先読みブロック指令データ２１を作業用のメモリ等に格納する。
（実行処理）
その後、実行処理において、分配処理部１１は、先読みブロック指令データ２１を１ブロックずつ読み込む。また、分配処理部１１は、送り速度オーバライド指令部４を介してオーバライド値を取得する。分配処理部１１は、読み出したブロックで指令された各軸移動量及び速度、及び取得したオーバライド値に基づいて、分配周期毎の各軸可動部（各軸のサーボモータ）へ指令する分配移動量を算出し、移動指令出力部１２へと出力する。また、分配処理部１１は、算出した分配移動量を現在位置レジスタに加算して現在座標位置を更新する。
【００３７】
先行位置算出部１５は、可動部の現在位置、設定された先行時間、先読みブロック指令データ２１、及び送り速度オーバライド指令部４を介して入力されるオーバライド値（％）に基づいて、指令経路１に対する時刻ｔ１Ｎ，ｔ１Ｎ＋１における所定時間先の先行位置Ｐｂ１を算出する（Ｓ１１）（図４参照）。
次に、削残領域算出部１６は、図４及び図５に示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）との誤差分を、予測描画したワークＷの加工部形状における削残領域Ｒとし、削残領域Ｒにおける最大幅Ｗ’を算出する（Ｓ１２）。
【００３８】
次に、干渉チェック装置２は、図６に示すように、前回の指令経路１に対する時刻ｔ１Ｎ，ｔ１Ｎ＋１で算出された先行位置Ｐｂ１に基づく予測経路（Ｐｂ１間の直線上の破線）と、今回の指令経路２に対する時刻ｔ２Ｎ，ｔ２Ｎ＋１で算出された先行位置Ｐｂ２に基づく予測経路（Ｐｂ２間の直線上の破線）とのずれ幅Ｗｐを算出する（Ｓ１３）。
干渉チェック装置２は、算出したずれ幅Ｗｐが、削残領域算出部１６から取得した削残領域Ｒにおける最大幅Ｗ’以下であるか否かの判定を行う（Ｓ１４）。
【００３９】
ずれ幅Ｗｐが最大幅Ｗ’以下である場合、干渉チェック装置２は、今回の指令経路２は削残領域Ｒを通過すると判断し、工具ＴとワークＷの干渉チェックを行うことなく、軸停止指令を移動指令出力部１２に出力しない。
これにより、移動指令出力部１２は分配移動量を出力し（Ｓ１５）、加減速処理部１３が加減速処理を行い、サーボ制御部１４がサーボモータ３に駆動指令を行う。
【００４０】
一方、ずれ幅Ｗｐが最大幅Ｗ’よりも大きい場合、干渉チェック装置２は、今回の加工は削残領域Ｒ以外の加工であると判断し、先行位置Ｐｂ２における工具ＴとワークＷの干渉チェックを行い、切削ボリュームが所定値以上である場合（Ｓ１６においてＹＥＳ）、軸停止指令を移動指令出力部１２に出力する。
これにより、移動指令出力部１２は移動指令の出力を停止し（Ｓ１７）、サーボモータ３への駆動指令が停止される。
なお、干渉チェック装置２が、先行位置Ｐｂ２における工具ＴとワークＷの干渉チェックを行い、切削ボリュームが所定値未満である場合（Ｓ１６においてＮＯ）、軸停止指令を移動指令出力部１２に出力しない。これにより、上述したステップＳ１５の処理が行われる。
以上の動作は、プログラムにおけるすべてのブロックごとに、及び分配周期ごとに繰り返し行われる。
【００４１】
以上説明したように、第１実施形態の干渉監視装置１００によれば、数値制御装置１における削残領域算出部１６が、予測描画したワークＷの加工部形状と加工後の実際のワークＷの加工部形状との誤差分を、予測描画したワークの加工部形状における削残領域Ｒとして算出し、干渉チェック装置２が、削残領域Ｒでは干渉チェックを行わない。これにより、削残領域Ｒにおいて、実際には工具ＴとワークＷとの干渉が発生しないにも関わらず、工具ＴとワークＷとの干渉を誤検出してしまうことを回避することができる。
【００４２】
（第２実施形態）
第１実施形態では、削残領域Ｒにおける最大幅Ｗ’を算出して工具ＴとワークＷとの干渉の誤検出を回避した。第２実施形態では、削残領域Ｒにおける面積Ｓを算出して工具ＴとワークＷとの干渉の誤検出を回避する。
【００４３】
第２実施形態に係る数値制御装置１は、図１に示す数値制御装置１において、削残領域算出部１６の機能及び動作が異なる。
削残領域算出部１６は、図８に示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）との誤差分を、予測描画したワークＷの加工部形状における削残領域Ｒとして算出する。
例えば、削残領域算出部１６は、削残領域Ｒにおける面積Ｓを算出する。
【００４４】
より具体的には、削残領域算出部１６は、図９に示すように、時刻ｔ１Ｎで算出された先行位置Ｐｂ１から複数の指令終点Ｐａ１までの進行方向ベクトルｖｉ（例えば、ｖ１〜ｖ６）、及び、時刻ｔ１Ｎで算出された先行位置Ｐｂ１から時刻ｔ１Ｎ＋１で算出された先行位置Ｐｂ１までの進行方向ベクトルｖｉ（例えば、ｖ７）を算出する。なお、指令経路１における指令終点Ｐａ１は、先読みブロック指令データ２１から先行位置算出部１５を介して取得されればよい。
削残領域算出部１６は、下式のように、隣接する進行方向ベクトルｖｉと進行方向ベクトルｖｉ＋１とで囲まれる領域の面積ｓｉを求める。
ｓｉ＝|ｖｉ×ｖｉ＋１|／２
削残領域算出部１６は、下式のように、時刻ｔ１Ｎから時刻ｔ１Ｎ＋１までの面積ｓｉの総和を、削残領域Ｒにおける面積Ｓとして、干渉チェック装置２に出力する。
Ｓ＝Σｓｉ
ただし、Σ：ｉ＝１〜６までの和
【００４５】
干渉チェック装置２は、削残領域Ｒでは干渉チェックを行わない。換言すれば、干渉チェック装置２は、削残領域Ｒを干渉チェックしない領域として取り扱う。これにより、工具ＴとワークＷの干渉の誤検出を回避することができる。
例えば、干渉チェック装置２は、今回の指令経路２に対する時刻ｔ２Ｎ，ｔ２Ｎ＋１で算出された先行位置Ｐｂ２に基づく予測経路を通過した場合の切削面積Ｓｐが、削残領域算出部１６から取得した削残領域Ｒにおける面積Ｓ以下である場合に、今回の指令経路２は削残領域Ｒを通過すると判断し、工具ＴとワークＷとの干渉チェックを行わない。
切削面積Ｓｐは、図１０に示すように、切削ボリュームＶを長さＬで除算した単位長さあたりの面積であってもよいし、単位長さあたりの面積の平均値であってもよい。また、面積Ｓは、工具形状を考慮して補正されてもよい。
【００４６】
次に、図７を参照して、第２実施形態に係る干渉監視装置１００による干渉チェック動作について説明する。図７は、第２実施形態に係る干渉監視装置１００による干渉チェック動作を示すフローチャートである。
【００４７】
上述したステップＳ１１と同様に、先行位置算出部１５は、可動部の現在位置、設定及び算出された先行時間、先読みブロック指令データ２１、及び送り速度オーバライド指令部４を介して入力されるオーバライド値（％）に基づいて、指令経路１に対する所定時間先の時刻ｔ１Ｎ，ｔ１Ｎ＋１における先行位置Ｐｂ１を算出する（Ｓ１１）（図８参照）。
次に、削残領域算出部１６は、図８及び図９に示すように、予測描画したワークＷの加工部形状（例えば、先行位置Ｐｂ１間の直線上の破線）と、加工後の実際のワークＷの加工部形状（例えば、指令終点Ｐａ１に沿う実線）との誤差分を、予測描画したワークＷの加工部形状における削残領域Ｒとし、削残領域Ｒにおける面積Ｓを算出する（Ｓ２２）。
【００４８】
次に、干渉チェック装置２は、今回の指令経路２に対する時刻ｔ２Ｎ，ｔ２Ｎ＋１で算出された先行位置Ｐｂ２に基づく予測経路での切削面積Ｓｐを算出する（Ｓ２３）。
干渉チェック装置２は、算出した切削面積Ｓｐが、削残領域算出部１６から取得した削残領域Ｒにおける面積Ｓ以下であるか否かの判定を行う（Ｓ２４）。
【００４９】
切削面積Ｓｐが面積Ｓ以下である場合、干渉チェック装置２は、今回の加工は削残領域Ｒの加工であると判断し、工具ＴとワークＷの干渉チェックを行うことなく、軸停止指令を移動指令出力部１２に出力しない。
これにより、移動指令出力部１２は分配移動量を出力し（Ｓ１５）、加減速処理部１３が加減速処理を行い、サーボ制御部１４がサーボモータ３に駆動指令を行う。
【００５０】
一方、切削面積Ｓｐが面積Ｓよりも大きい場合、干渉チェック装置２は、今回の加工は削残領域Ｒ以外の加工であると判断し、先行位置Ｐｂ２における工具ＴとワークＷの干渉チェックを行い、切削ボリュームが所定値以上である場合（Ｓ１６においてＹＥＳ）、軸停止指令を移動指令出力部１２に出力する。
これにより、移動指令出力部１２は移動指令の出力を停止し（Ｓ１７）、サーボモータ３への駆動指令が停止される。
なお、干渉チェック装置２が、先行位置Ｐｂ２における工具ＴとワークＷの干渉チェックを行い、切削ボリュームが所定値未満である場合（Ｓ１６においてＮＯ）、軸停止指令を移動指令出力部１２に出力しない。これにより、上述したステップＳ１５の処理が行われる。
以上の動作は、プログラムにおけるすべてのブロックごとに、及び分配周期ごとに繰り返し行われる。
【００５１】
以上説明したように、第２実施形態の数値制御装置１でも、第１実施形態の数値制御装置１と同様の利点を得ることができる。
【００５２】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、工具を移動させる工作機械について説明した。しかし、本発明の特徴はこれに限定されず、ワークを移動させる工作機械にも適用可能である。
【００５３】
また、上述した実施形態では、工作機械において工具とワークとの干渉チェックを行う干渉監視装置１００について説明した。しかし、本発明の特徴はこれに限定されず、産業機械又は産業ロボット等の種々の機械において工具とワークとの干渉チェックを行う干渉監視装置に適用可能である。
【符号の説明】
【００５４】
１  数値制御装置
２  干渉チェック装置（干渉チェック部）
３  サーボモータ
４  送り速度オーバライド指令部
１０  指令解析部
１１  分配処理部
１２  移動指令出力部
１３  加減速処理部
１４  サーボ制御部
１５  先行位置算出部
１６  削残領域算出部
２０  プログラム
２１  先読みブロック指令データ
１００  干渉監視装置
【図１】
2019192103.tif 000003
【図２】
2019192103.tif 000004
【図３Ａ】
2019192103.tif 000005
【図３Ｂ】
2019192103.tif 000006
【図３Ｃ】
2019192103.tif 000007
【図３Ｄ】
2019192103.tif 000008
【図３Ｅ】
2019192103.tif 000009
【図４】
2019192103.tif 000010
【図５】
2019192103.tif 000011
【図６】
2019192103.tif 000012
【図７】
2019192103.tif 000013
【図８】
2019192103.tif 000014
【図９】
2019192103.tif 000015
【図１０】
2019192103.tif 000016