(57)【要約】      （修正有）【課題】干渉の発生を予測し確実にこの干渉を防止することができる数値制御装置を提供する。【解決手段】干渉チェック部２１を有し、干渉が予測されたとき減速停止する数値制御装置１０において、プログラムを先読みし先読みブロック指令データ１３に変換する先読み手段１２と、可動部の実際の機械位置と該先読みブロック指令データに基づいて一定周期毎に一定時間後の先行した機械位置を算出する先行位置算出部１９と、算出された該先行した機械位置の進行方向ベクトルを算出し、最初に算出された該先行した機械位置を基準位置とし、該基準位置である機械位置の進行方向ベクトルと、その後、算出される先行した機械位置における進行方向ベクトルとを順次比較し、その角度差が許容値を超えた機械位置を新たな基準位置とすると共に、該許容値を超えた機械位置を先行した移動軌跡として干渉チェック部２１に出力する。【選択図】図１
2010244256.tif 000002
【特許請求の範囲】
【請求項１】
プログラムからの指令に基づいて機械の可動部を駆動制御する数値制御装置であって、可動部と他の物との干渉をチェックする干渉チェック手段を有し、該干渉チェック手段で干渉が予測されたとき可動部の移動を減速停止するようにした数値制御装置において、
前記プログラムを先読みし、先読みブロック指令データに変換する先読み手段と、
可動部の実際の機械位置と該先読みブロック指令データに基づいて一定周期毎に一定時間後の先行した機械位置を算出する先行位置算出手段と、
算出された該先行した機械位置の進行方向ベクトルを算出し、最初に算出された該先行した機械位置を基準位置とし、該基準位置である機械位置の進行方向ベクトルと、その後、算出される先行した機械位置における進行方向ベクトルとを順次比較し、その角度差が予め設定した許容値を超えた機械位置を新たな基準位置とすると共に、該許容値を超えた機械位置を先行した移動軌跡として前記干渉チェック手段に出力する手段と、を備え、
前記干渉チェック手段により前記先行した移動軌跡に基づいて干渉チェックを行うことを特徴とする干渉チェック機能を有する数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具やワーク等の機械可動部の輪郭及び機械の固定部の輪郭を記憶しておき、この記憶した輪郭モデルに基づいて干渉チェックを行う機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置で制御される工作機械とは、予め作成されたＮＣプログラムに基づいて、数値制御装置が機械の可動部（制御軸）を駆動制御し、被加工物のワーク等に加工を行うものである。ＮＣプログラムに間違いがあるような場合や、機械へのワークの取り付け間違いがあるような場合や、工具オフセットの入力に誤りがあるような場合などによって、機械運転中に工具がワークやワークを取り付ける治具等に衝突する等の機械可動部と他の物との干渉が発生する場合がある。
【０００３】
上述の干渉を予測し、アラームを発生させる機能を有する数値制御装置は既に公知である。干渉予測方法は、例えば、ワーク形状、工具形状、機械の干渉チェック面等の機械形状を予め設定しておき、プログラムより移動指令を読み込み、該移動指令と設定したワーク形状、工具形状、機械形状に基づいてワークと工具又は機械が干渉していないかをチェックする。
【０００４】
干渉チェック機能を有する数値制御装置として特許文献１には、干渉チェック装置が自動運転中に機械の干渉チェックを行うために、干渉を検出してから機械を安全に停止させるのに必要な時間分、実際の機械位置より一定時間先行した機械位置を使用する技術が開示されている。
【０００５】
また、特許文献２には、干渉チェックの周期が長くても確実に干渉発生を予測するために、前回の干渉チェック時の可動部の位置から、今回の干渉チェック時の可動部の位置までの移動における各軸の最大位置、最小位置を取得する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２７３７６号公報
【特許文献２】特開２００８−７１０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
背景技術で説明した特許文献１に開示される技術において、干渉チェックを正確に行うために、干渉チェック装置は、数値制御装置が補間周期毎に出力する一定時間先行した全ての機械位置に対して、機械の動作、および素材の切削をシミュレーションしながら干渉チェックを行う必要がある。  
しかし、干渉チェック処理には非常に大量な計算量が必要なため、数値制御装置の補間周期時間内には干渉チェック処理を完了できず、そのため、干渉チェック装置は、前記一定時間先行した機械位置を取りこぼすことがある。その結果、機械の実際の動作と干渉チェック装置が認識した動作に差異が生じ、干渉を検出できない場合や、機械の実際の動作と干渉チェック装置の素材切削のシミュレーションとに差異が生じ、切削された素材の形状が実際と異なり、干渉チェックを正しく行えないという問題があった（図６〜図８参照）。
【０００８】
図６に示される干渉が検出不可能な例を説明する。移動動作が直線移動の早送りの場合で、干渉チェック装置が最初に干渉チェックを行うために取得した位置をＰ１とし、干渉チェック装置ではＰ１に対する干渉チェック処理時間に、数値制御装置の補間周期時間の１０倍の時間を要した場合、数値制御装置は干渉チェック装置が干渉チェック処理を行う間にＰ２、Ｐ３、・・・Ｐ１０、Ｐ１１の位置を出力する。干渉チェック装置はＰ１の位置で干渉チェックを行い、次の干渉チェックを行うために機械位置を取得すると、Ｐ１１の位置が取得される。この結果、干渉チェック装置は移動経路をＰ１→Ｐ１１への早送り移動とみなすため、干渉を検出することはできない。
【０００９】
図７に示される誤って干渉を検出する例を説明する。微小動作または円弧動作の場合、最初に干渉チェックを行うために取得した位置をＰ１とし、干渉チェック装置ではＰ１に対する干渉チェック処理時間に、数値制御装置の補間周期時間の１０倍の時間を要した場合、数値制御装置では干渉チェック装置が干渉チェック処理を行う間にＰ２、Ｐ３、・・・、Ｐ１０、Ｐ１１の位置を出力する。  
干渉チェック装置がＰ１の位置で干渉チェックを行い次の干渉チェックを行うために機械位置を取得すると、Ｐ１１の位置が取得される。この結果、干渉チェック装置は移動経路をＰ１→Ｐ１１への切削移動とみなすため、切削すべき部分（Ｐ２、Ｐ３、・・・、Ｐ１０、Ｐ１１の移動動作部分）が切削されず、実際の素材形状と干渉チェック装置が認識している素材に差異が生じる。そのため、続いて、実際には切削済みの部分に早送りでアプローチしてＰ１２の位置へ移動する際、干渉チェック装置が認識している素材形状と実際の素材形状とに差異が生じているため素材に干渉したと誤検出される。
【００１０】
図８に示される誤って干渉を検出する例を説明する。一点鎖線の部分を加工する穴加工または溝加工の干渉チェックを行う際、最初に干渉チェックを行うために取得した位置をＰ１とし、干渉チェック装置はＰ１に対する干渉チェック処理時間に、数値制御装置の補間周期時間の１０倍の時間を要した場合、数値制御装置は干渉チェック装置が干渉チェック処理を行う間にＰ２、Ｐ３、・・・、Ｐ１０、Ｐ１１の位置を出力する。なお、Ｐ１からＰ８は切削動作、Ｐ８からＰ１１は早送り動作である。そのため、干渉チェック装置がＰ１の位置で干渉チェックを行い、次の干渉チェックを行うために機械位置を取得すると、Ｐ１１の位置が早送り位置として取得される。この結果、干渉チェック装置は移動経路をＰ１→Ｐ１１への早送り移動と見なし、早送りで素材に干渉したと誤検出される。
【００１１】
また、特許文献２に開示される技術では、干渉チェックを確実に実行できるものの、各軸の最大位置と最小位置の範囲内の移動経路が特定できない。そのため、干渉が発生しない移動に対しても干渉を検出してしまう場合が生じる問題があった。
【００１２】
そこで本発明の目的は、上記従来技術の問題点に鑑み、数値制御装置によって機械を自動運転中に干渉チェックを行うために、加工プログラムに基づいて一定時間先行した機械位置を補間周期毎に出力する数値制御装置において、干渉の発生を予測し確実にこの干渉を防止することができる機械位置のみを出力するための数値制御装置を提供することである。  
また、他の目的は、可動物の動作に従って切削される素材の切削シミュレーションを行うために必要な機械位置を機械の可動部の軌跡として求め、干渉チェックにおいて正確なシミュレーションが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【００１３】
本願の請求項１に係る発明は、
プログラムからの指令に基づいて機械の可動部を駆動制御する数値制御装置であって、可動部と他の物との干渉をチェックする干渉チェック手段を有し、該干渉チェック手段で干渉が予測されたとき可動部の移動を減速停止するようにした数値制御装置において、
前記プログラムを先読みし先読みブロック指令データに変換する先読み手段と、
可動部の実際の機械位置と該先読みブロック指令データに基づいて一定周期毎に一定時間後の先行した機械位置を算出する先行位置算出手段と、
算出された該先行した機械位置の進行方向ベクトルを算出し、最初に算出された該先行した機械位置を基準位置とし、該基準位置である機械位置の進行方向ベクトルと、その後、算出される先行した機械位置における進行方向ベクトルとを順次比較し、その角度差が予め設定した許容値を超えた機械位置を新たな基準位置とすると共に、該許容値を超えた機械位置を先行した移動軌跡として前記干渉チェック手段に出力する手段と、を備え、
前記干渉チェック手段により前記先行した移動軌跡に基づいて干渉チェックを行うことを特徴とする干渉チェック機能を有する数値制御装置である。  
【発明の効果】
【００１４】
本発明により、数値制御装置によって機械を自動運転中に干渉チェックを行うために、加工プログラムに基づいて一定時間先行した機械位置を補間周期毎に出力する数値制御装置において、干渉の発生を予測し確実にこの干渉を防止することができる先行した機械位置のみを出力する数値制御装置を提供でき、可動物の動作に従って切削される素材のシミュレーションを行うために必要な機械位置を機械の可動部の軌跡として求め、干渉チェックにおいて正確なシミュレーションが可能な数値制御装置を提供できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の数値制御装置の機能ブロック図である。
【図２】本発明の一実施形態における数値制御装置が実行する処理のアルゴリズムを示すフローチャートである。
【図３】干渉チェックが必要な機械位置算出部における処理のアルゴリズムを示すフローチャートである。
【図４】数値制御装置によって制御される機械によって素材を加工する例を説明する図である。
【図５】実際の切削素材と類似した形状を認識でき、干渉チェックでの誤検出を防止できることを説明する図である。
【図６】従来技術における干渉チェックが不可能な例を説明する図である。
【図７】従来技術における干渉チェックが誤ってなされる例を説明する図である。
【図８】従来技術における干渉チェックが誤ってなされる例を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について図面とともに説明する。  
図１は、本発明の一実施形態の数値制御装置の機能ブロック図である。数値制御装置１０は、前処理と実行に分けられる。前処理では、前処理を行う先読み手段１２が加工プログラム格納部に格納された加工プログラム１１から１ブロック毎その指令を読み出し、実行形式のデータに変換し、先読みブロック指令データ１３を作成し、先読みブロック指令データを格納する記憶手段に格納する。
【００１７】
実行処理を行う補間、移動指令の分配処理部１４では、この先読みブロック指令データ１３を１ブロック毎読み出し、該ブロックで指令された各軸移動量、各軸速度、及び送り速度オーバライド指令部２３からのオーバライド値（％）に基づいて、分配周期毎の各軸可動部（各軸のサーボモータ２２）へ指令する分配移動量を求め、該分配移動量を現在位置レジスタ１５に加算して現在座標位置（以下、「現在位置」）を更新する。また、移動指令である該分配移動量は移動指令出力部１６に出力され、該移動指令出力部１６を介して加減速処理部１７に出力される。加減速処理部１７は、移動指令出力部１６からの移動指令を受けて加減速処理を行い、サーボモータ２２を制御するサーボ制御部１８に、この加減速処理部により加減速処理された移動量の移動指令を出力する。
【００１８】
サーボ制御部１８では、この移動指令とサーボモータ２２（又は、該サーボモータで駆動される可動部）に取り付けられた位置・速度検出器からの位置、速度のフィードバックに基づいて、位置、速度のフィードバック制御及び駆動電流を検出する電流検出器からの電流フィードバックに基づいた電流のフィードバック制御を行い、アンプ（図示せず）を介してサーボモータ２２を駆動制御する。なお、図１では、１つのサーボモータ２２のみを示しているが、工作機械が有する各軸（各可動部）のサーボモータに対して同様の制御がなされ、各可動部は位置・速度の制御がなされる。送り速度オーバライド指令部２３はオーバライド値を指定する入力手段である。
【００１９】
上述した数値制御装置１０の構成は、従来から機械を制御する数値制御装置の公知の構成である。本発明の一実施形態では、従来公知の構成に更に、数値制御装置１０は、一定時間後の先行位置算出部１９、干渉チェックが必要な機械位置算出部２０、および干渉チェック部２１を備えている。
【００２０】
一定時間後の先行位置算出部１９は、先読みブロック指令データ１３内の情報、または、補間移動指令の分配処理部１４、または現在位置レジスタ１５に格納されている機械の現在位置から実際の機械の現在位置データを取得し、先読みブロック指令データ１３を元に一定時間後の機械位置を一定時間後の先行位置算出部１９によって算出する。  
さらに、一定時間後の先行位置の算出を行う際には、送り速度オーバライド指令部２３からの指令を元に補正する。可動部の移動速度は加工プログラム上で指定された速度、送り速度オーバライド指令部２３からの指令（％）により補正される。この補正された移動速度と実際の機械の機械位置と先読みブロック指令データを用いて、一定時間後の機械位置を算出することができる。
【００２１】
干渉チェックが必要な機械位置算出部２０は、干渉チェック部２１が可動部の動作に従って干渉チェックを行うために必要な機械位置と切削される素材のシミュレーションを行うために必要な最低限の機械位置を算出し、干渉チェック部２１に先行移動軌跡として干渉チェック部２１へ出力する。干渉チェックが必要な機械位置算出部２０における処理は図３に示すフローチャートを用いて後述する。
【００２２】
また、干渉チェック部２１は、工具やワークの輪郭形状、機械の構造物などの輪郭形状を記憶し、機械位置算出部２０から送られてくる干渉チェックが必要な可動部の位置に基づいて、可動部と他の物との干渉チェックが発生するか否かをチェックする手段である。本発明の実施形態では、干渉チェック部２１は、干渉チェックが必要な機械位置算出部２０から送られてくる先行移動軌跡に基づいて干渉チェックを行う。なお、干渉チェック部２１の干渉チェック方法、処理は従来から行われている方法、処理と同じであり、詳細な説明は省略する。なお、図１では、干渉チェック部２１は、数値制御装置１０内に設けられているが、例えば、パーソナルコンピュータ等の情報処理装置として数値制御装置１０の外部に設けてもよい。この場合には、図示しないインタフェースを介して該情報処理装置と数値制御装置１０との間で干渉チェックのための情報の授受を行う。
【００２３】
図２は、本発明の一実施形態における数値制御装置が実行する処理のアルゴリズムを示すフローチャートである。数値制御装置は動作を開始すると、加工プログラムを読み出し、ステップ１００以下の処理を行う。まず、前処理（ステップ１００）を行って、実行データを作成し、先読みブロック指令データとして記憶する（ステップ１０１）。  
この先読みブロック指令データに基づいて、各軸への移動指令の分配を行う実行処理を行う。まず、先頭より１ブロックの先読みブロック指令データを読み取り（ステップ１０２）、読み取った指令がプログラム終了指令でなければ（ステップ１０３）、ステップ１０４の移動指令の分配処理を実行する。なお、指令が移動指令でない場合には、その指令を実行するものである。
【００２４】
ステップ１０４の移動指令の分配処理は、読み出した先読みブロックで指令された位置（移動量）および送り速度と、送り速度オーバライド指令部２３で指令されている速度オーバライド値に基づいて、各軸への分配周期毎の分配移動量を求める。こうして求めた分配移動量を現在位置レジスタ１５に加算して現在位置を更新する（ステップ１０５）。  
次に、先読みブロック指令データより、干渉チェック部２１に干渉チェックさせるための一定時間後の位置（指令位置）を算出し出力する処理を行う（ステップ１０６）（図１に示される一定時間後の先行位置算出部１９の処理）。この処理は、各軸への分配移動量とは直接関係しないが、この移動指令の分配周期毎に、現在の機械位置から一定時間後の位置を算出し、干渉チェックが必要な機械位置算出部２０へ出力する。
【００２５】
次に、干渉チェックが必要な機械位置算出部２０で、干渉チェックが必要な機械位置を算出し干渉チェック部２１へ出力する（ステップ１０７）。なお、干渉チェックが必要な機械位置の算出処理は図３に示すフローチャートを用いて後述する。次に、干渉チェック部２１から軸停止指令が指令されているか判別し（ステップ１０８）、指令されていなければ、ステップ１０４で求めた分配移動量を加減速処理部１７に出力し、加減速処理した後の移動量をサーボ制御部１８へ出力する（ステップ１０９〜１１１）。  
一方、ステップ１０８で干渉チェック部２１から軸停止指令が指令されているとすると軸停止処理を行い（ステップ１１３）、加減速処理部１７は、加減速処理を停止しサーボ制御部１８への加減速処理された移動量のサーボ制御部１８への出力を停止し、可動部の停止処理がなされる。
【００２６】
図３は、本発明の一実施形態における数値制御装置の干渉チェックが必要な機械位置算出部２０が行う処理のアルゴリズムを示すフローチャートである。  
●［ステップＳＡ１］ｎを１、ｍを２に初期設定し、ステップＳＡ２へ移行する。
●［ステップＳＡ２］位置Ｐｎは最終位置か否か判断し、最終位置である場合にはステップＳＡ１０へ移行し、最終位置でない場合にはステップＳＡ３へ移行する。最終位置か否かの判断は、ｎの数に基づいて行うことができる。ｎの最大数は、干渉チェック部２１での直前の干渉チェック周期中に数値制御装置が一定時間後の先行位置算出部１９で算出した先行位置の個数であり、この最大数をｎが超えたか否かで位置Ｐｎは最終位置か否か判断できる。また、干渉チェック部２１での干渉チェックは周期的に繰り返される。
●［ステップＳＡ３］位置Ｐｎに対する進行方向ベクトルＶｎを求め、ステップＳＡ４へ移行する。位置Ｐｎにおける進行方向ベクトルは、位置Ｐｎにおける各可動軸の移動速度指令データ（送り速度の指定データ）を用いて進行方向ベクトルを算出する。  
●［ステップＳＡ４］位置Ｐｍは最終位置か判断し、最終位置の場合にはステップＳＡ１０へ移行し、最終位置でない場合にはステップＳＡ５へ移行する。  
●［ステップＳＡ５］位置Ｐｍに対する進行方向ベクトルＶｍを求め、ステップＳＡ６へ移行する。  
●［ステップＳＡ６］進行方向ベクトルＶｎと進行方向ベクトルＶｍの角度差Ｔｎｍは、許容値より大きいか否か判断し大きい場合にはステップＳＡ８へ移行し、大きくない場合にはステップＳＡ７へ移行する。  
●［ステップＳＡ７］ｍを１つ増加し、ステップＳＡ４へ戻り処理を継続する。  
●［ステップＳＡ８］Ｐｍを干渉チェックが必要な位置として干渉チェック部へ出力し、ステップＳＡ９へ移行する。干渉チェック部へ出力される位置Ｐｍのデータには、切削指令のデータであるのか、早送りのデータであるのかを識別するためのデータも併せて干渉チェック部へ出力する。この識別するためのデータは先読みブロック指令データ１３に含まれるデータである。
●［ステップＳＡ９］ｎ＝ｍとし、ステップＳＡ２へ移行する。  
●［ステップＳＡ１０］最終位置を干渉チェック部へ出力し、処理を終了する。
【００２７】
なお、干渉チェック部２１は、早送りの処理であるのか切削送りの処理であるのかは加工プログラムの指令に基づいて判断することができるので、切削送りのとき干渉チェック部２１に入力する先行移動軌跡に基づいて、干渉チェック部２１に記憶されている素材の形状データを更新する。
【００２８】
図４は、数値制御装置によって制御される機械によって素材を加工する例を説明する図である。図７の移動に対して、Ｐ１の干渉チェックを処理後、Ｐ１１が取得される間に数値制御装置が出力した各補間位置（Ｐ２、Ｐ３、・・・、Ｐ１１）を例にとって示す。なお、Ｐ１、Ｐ２、・・・、Ｐ１１は先行位置を示し、それぞれの先行位置は、図１に示される先読みブロック指令データ１３内の情報、または、補間移動指令の分配処理部１４、または現在位置レジスタ１５に格納されている機械の現在位置から実際の機械の現在位置を取得し、先読みブロック指令データ１３を元に一定時間後の機械位置を一定時間後の先行位置算出部１９で算出する。ここで、Ｐ１、Ｐ２、・・・、Ｐ１０の位置における進行方向ベクトルは、それぞれＶ１、Ｖ２、・・・、Ｖ１０とし、また、あらかじめパラメータなどに許容値（ｔ）（２点の方向ベクトルの角度差）を設定しておく。
【００２９】
図３に示すフローチャートの処理を、図４の各位置において処理することを例として説明する。  
（１）まず、Ｐ１を基準位置とし、その進行方向ベクトル（Ｖ１）とＰ２に対する進行方向ベクトル（Ｖ２）の角度差（Ｔ１２）を算出する。  
（２）Ｔ１２とｔを比較し、Ｔ１２＞ｔの場合、干渉チェックが必要な位置とする。Ｔ１２≦ｔであるため、Ｐ２は干渉チェックが必要な位置ではない。  
（３）同様に、基準位置Ｐ１の進行方向ベクトルＶ１に対し、Ｖ３、Ｖ４、・・・を順次比較すると図４（ｃ）に示されるようにＴ１４＞ｔとなり、進行方向ベクトルＶ４の位置すなわちＰ４の位置を第１の干渉チェックが必要な位置として干渉チェック部２１へ出力する。
（４）基準位置をＰ１からＰ４に更新し、Ｐ４を基準位置としＰ４の進行方向ベクトルＶ４に対して以降のＶ５、Ｖ６、・・・を比較し、同じ処理をＶ１０まで続け、Ｔ４５＞ｔであるので、干渉チェックが必要な位置Ｐ５を算出する。  
（５）干渉チェック部２１は結果的にＰ１１を取得する際、Ｐ４およびＰ５の位置を同時に取得する。
【００３０】
以上により、干渉チェック部２１は従来取得した点（Ｐ１、Ｐ１１）に加え、本発明により新たに取得できる点（Ｐ４、Ｐ５）で切削シミュレーションを行うことで、図５に示す太線のように実際の切削素材と類似した形状を認識でき、そのため、干渉チェックでの誤検出を防止することができる。  
つまり、前述したように干渉チェック部２１は、工具やワークの輪郭形状、機械の構造物などの輪郭形状を記憶し、干渉チェックが必要な機械位置算出部２０から送られてくる干渉チェックが必要な可動部の位置に基づいて、可動部と他の物との干渉チェックが発生するか否かをチェックする手段であり、干渉チェック部２１は、素材であるワークの輪郭形状を上述の方法により新たに取得した点を含めて更新することができる。
【００３１】
同様に、図３に示すアルゴリズムのフローチャートの処理を図６に適用した場合を説明する。  
（１）まず、Ｐ１を基準位置とし、その進行方向ベクトル（Ｖ１）とＰ２に対する進行方向ベクトル（Ｖ２）の角度差（Ｔ１２）を算出する。  
（２）Ｔ１２とｔを比較し、Ｔ１２＞ｔの場合、干渉チェックが必要な位置とする。Ｔ１２≦ｔであるため、Ｐ２は干渉チェックが必要な位置ではない。  
（３）同様にＶ１に対し、Ｖ３、Ｖ４、・・・、順次比較するとＴ１６＞ｔとなりＶ６すなわちＰ６の位置を第１の干渉チェックが必要な位置として干渉チェック部２１に出力する。  
（４）さらに、Ｐ６を基準とし、進行方向Ｖ６に対して以降のＶ７、Ｖ８、・・・を比較し、同じ処理をＶ１０まで続け、干渉チェックが必要な位置を算出する。  
（５）結果的にＰ１１を取得する際、Ｐ６の位置を同時に取得する。  
以上により、干渉チェック部２１は従来取得した点（Ｐ１、Ｐ１１）に加え、本発明により新たに取得できる点（Ｐ６）で干渉チェックを行うことが可能となり、干渉を検出することが可能となる。
【００３２】
また、同様に、図３に示すアルゴリズムのフローチャートの処理を図８に適用した場合を説明する。  
（１）まず、Ｐ１を基準位置とし、その進行方向ベクトル（Ｖ１）とＰ２に対する進行方向ベクトル（Ｖ２）の角度差（Ｔ１２）を算出する。  
（２）Ｔ１２とｔを比較し、Ｔ１２＞ｔの場合、干渉チェックが必要な位置とする。Ｔ１２≦ｔであるため、Ｐ２は干渉チェックが必要な位置ではない。  
（３）同様にＶ１に対し、Ｖ３、Ｖ４、・・・、順次比較するとＴ１８＞ｔとなりＶ８すなわちＰ８の位置を第１の干渉チェックが必要な位置として干渉チェック部２１に出力する。  
（４）さらに、Ｐ８を基準とし、Ｖ８に対して以降のＶ９、Ｖ１０、・・・を比較し、同じ処理をＶ１１まで続け、干渉チェックが必要な位置を算出する。  
（５）結果的にＰ１１を取得する際、Ｐ８の位置を同時に取得する。  
以上により、干渉チェック部２１は従来取得した点（Ｐ１，Ｐ１１）に加え、本発明により新たに取得できる切削指令位置である点（Ｐ８）に基づいて素材であるワークの輪郭形状を更新することが可能となり、干渉チェックの誤検出を防止することが可能となる。
【符号の説明】
【００３３】
１０  数値制御装置
１１  加工プログラム
１２  先読み手段
１３  先読みブロック指令データ
１４  補間移動指令の分配処理部
１５  現在位置レジスタ
１６  移動指令出力部
１７  加減速処理部
１８  サーボ制御部
１９  一定時間後の先行位置算出部
２０  干渉チェックが必要な機械位置算出部
２１  干渉チェック部
２２  サーボモータ
２３  送り速度オーバライド指令部
【図１】
2010244256.tif 000003
【図２】
2010244256.tif 000004
【図３】
2010244256.tif 000005
【図４】
2010244256.tif 000006
【図５】
2010244256.tif 000007
【図６】
2010244256.tif 000008
【図７】
2010244256.tif 000009
【図８】
2010244256.tif 000010