(57)【要約】【課題】干渉領域を考慮した速度制御が可能な数値制御装置を提供する。【解決手段】軸制御により可動物を移動させる数値制御装置１は、可動物の進入が禁じられる干渉領域と、前記可動物と、の距離に応じ、送り速度又はインポジション幅の少なくとも一方を設定する距離判定部１０３を有する。【選択図】図４
2020003958.tif 000002
【特許請求の範囲】
【請求項１】
軸制御により可動物を移動させる数値制御装置であって、
可動物の進入が禁じられる干渉領域と、前記可動物と、の距離に応じ、送り速度又はインポジション幅の少なくとも一方を設定する距離判定部を有することを特徴とする
数値制御装置。
【請求項２】
前記距離判定部は、前記干渉領域の周囲の一定範囲に設けられた干渉領域近傍に前記可動物が位置する場合、送り速度オーバライド又はインポジション幅を、干渉領域近傍外に前記可動物が位置する場合よりも小さく設定することを特徴とする
請求項１記載の数値制御装置。
【請求項３】
前記距離判定部は、前記干渉領域の周囲に、前記干渉領域からの距離が異なる複数の領域を設け、前記可動物が位置する前記領域が前記干渉領域に近いほど、送り速度オーバライド又はインポジション幅を小さく設定することを特徴とする
請求項１記載の数値制御装置。
【請求項４】
前記距離判定部は、現在の前記可動物の位置と、次の制御サイクルにおける前記可動物の位置と、に基づき前記可動物の移動方向を判定し、前記移動方向に応じ、送り速度又はインポジション幅の少なくとも一方を設定することを特徴とする
請求項１記載の数値制御装置。
【請求項５】
前記距離判定部は、前記干渉領域からの距離が広がる方向へ前記可動物が移動する場合、送り速度又はインポジション幅にかかる前記設定を行わないことを特徴とする
請求項４記載の数値制御装置。
【請求項６】
前記距離判定部は、前記干渉領域からの距離が狭まる方向へ前記可動物が移動する場合、前記距離が小さいほど、送り速度オーバライド又はインポジション幅を小さく設定することを特徴とする
請求項４記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に干渉領域を考慮した速度制御が可能な数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置により制御される機械（工作機械をはじめとする産業用機械）では、通常、プログラム（加工プログラム。以下、単にプログラムという）指令が出力されてからサーボが動作するまでにタイムラグが生じる。このタイムラグをサーボの遅れと称する。サーボの遅れにより、プログラムが想定する加工経路と、実際の加工経路と、の間にはズレが生じる。サーボの遅れは、送り速度に比例して大きくなる。そのため、送り速度が大きいと、図１左図に示すように、コーナ部分などでサーボの遅れによる内回りが発生しやすく、ワークや機械各部を含む干渉物が存在するなど、工具を立ち入らせたくない領域（干渉領域）に工具が進入することがある。
【０００３】
このような問題に対処するため、従来は、サーボの遅れによる内回りなどを予め考慮して、人手により、干渉領域近傍での送り速度やインポジション幅（工具がプログラムで規定されたブロック終点に到達したとみなす範囲）を設定していた（図１右図参照）。なお、送り速度やインポジション幅を小さくするほどサーボの遅れによるズレを小さくできるが、サイクルタイムは相反して延びていく。
【０００４】
干渉物との衝突回避に関する従来技術として、特許文献１がある。特許文献１記載の数値制御装置は、ブロック間のコーナー角度に応じてインポジション幅を変更することにより、コーナー誤差を許容範囲内に収める。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−３１３７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
人手により送り速度やインポジション幅を設定する手法では、干渉領域近傍における加工を実施する度にこれらの設定を考慮しなければならず、非常に煩雑である。
【０００７】
特許文献１記載の手法を採用すると、送り速度やインポジション幅は、コーナー部における許容誤差を満足するよう自動的に設定される。このような制御は、例えば干渉領域近傍（図２参照）のコーナー部において実施されれば、サイクルタイムとのトレードオフで干渉を回避できるため有用といえる。しかしながら、干渉領域近傍外（図２参照）においてはこのような制御は不要であるばかりか、実施するとサイクルタイムが不必要に延びてしまうという問題がある。
【０００８】
本発明はこのような課題を解決するためのものであり、干渉領域を考慮した速度制御が可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態にかかる数値制御装置は、軸制御により可動物を移動させる数値制御装置であって、可動物の進入が禁じられる干渉領域と、前記可動物と、の距離に応じ、送り速度又はインポジション幅の少なくとも一方を設定する距離判定部を有することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記距離判定部は、前記干渉領域の周囲の一定範囲に設けられた干渉領域近傍に前記可動物が位置する場合、送り速度オーバライド又はインポジション幅を、干渉領域近傍外に前記可動物が位置する場合よりも小さく設定することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記距離判定部は、前記干渉領域の周囲に、前記干渉領域からの距離が異なる複数の領域を設け、前記可動物が位置する前記領域が前記干渉領域に近いほど、送り速度オーバライド又はインポジション幅を小さく設定することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記距離判定部は、現在の前記可動物の位置と、次の制御サイクルにおける前記可動物の位置と、に基づき前記可動物の移動方向を判定し、前記移動方向に応じ、送り速度又はインポジション幅の少なくとも一方を設定することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記距離判定部は、前記干渉領域からの距離が広がる方向へ前記可動物が移動する場合、送り速度又はインポジション幅にかかる前記設定を行わないことを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記距離判定部は、前記干渉領域からの距離が狭まる方向へ前記可動物が移動する場合、前記距離が小さいほど、送り速度オーバライド又はインポジション幅を小さく設定することを特徴とする。
【発明の効果】
【００１０】
本発明により、干渉領域を考慮した速度制御が可能な数値制御装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】従来の数値制御装置における課題を説明する図である。
【図２】従来の数値制御装置における課題を説明する図である。
【図３】数値制御装置１のハードウェア構成例を示す図である。
【図４】数値制御装置１の機能構成例を示す図である。
【図５】数値制御装置１の動作例を示す図である。
【図６】数値制御装置１の動作例を示す図である。
【図７】数値制御装置１の動作例を示す図である。
【図８】数値制御装置１の動作例を示す図である。
【図９】数値制御装置１の動作例を示す図である。
【図１０】数値制御装置１の動作例を示す図である。
【図１１】数値制御装置１の動作例を示す図である。
【発明を実施するための形態】
【００１２】
図３は、本発明の一実施形態による数値制御装置１の要部を示す概略的なハードウェア構成図である。数値制御装置１は、プログラムを読み込んで機械の制御を行う装置である。数値制御装置１は、プロセッサ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、インタフェース１８、バス１０、軸制御回路１６、サーボアンプ１７を有する。インタフェース１８には、例えば入出力装置６０が接続される。
【００１３】
プロセッサ１１は、数値制御装置１を全体的に制御するプロセッサである。プロセッサ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス１０を介して読み出し、システム・プログラムに従って数値制御装置１全体を制御する。
【００１４】
ＲＯＭ１２は、機械の各種制御等を実行するためのシステム・プログラムを予め格納している。
【００１５】
ＲＡＭ１３は、一時的な計算データや表示データ、後述する入出力装置６０を介してオペレータが入力したデータ等を一時的に格納する。
【００１６】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされており、数値制御装置１の電源が遮断されても記憶状態を保持する。例えばプログラムは不揮発性メモリ１４に格納される。
【００１７】
軸制御回路１６は、機械の動作軸を制御する。軸制御回路１６は、プロセッサ１１が出力する軸の移動指令量を受けて、軸の移動指令をサーボアンプ１７に出力する。
【００１８】
サーボアンプ１７は、軸制御回路１６が出力する軸の移動指令を受けて、サーボモータ５０を駆動する。
【００１９】
サーボモータ５０は、サーボアンプ１７により駆動されて機械の動作軸を動かす。サーボモータ５０は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路１６にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【００２０】
なお、図３では軸制御回路１６、サーボアンプ１７、サーボモータ５０は１つずつしか示されていないが、実際には機械が備える軸の数だけ用意される。例えば、６軸を備えたロボットを制御する場合、それぞれの軸に対応する軸制御回路１６、サーボアンプ１７、サーボモータ５０が合計６セット用意される。
【００２１】
入出力装置６０は、ディスプレイやハードウェアキー等を備えたデータ入出力装置である。入出力装置６０は、インタフェース１８を介してプロセッサ１１から受けた情報をディスプレイに表示する。入出力装置６０は、ハードウェアキー等から入力された指令やデータ等をインタフェース１８を介してプロセッサ１１に渡す。
【００２２】
図４は、本実施形態における数値制御装置１の概略的な機能ブロック図である。数値制御装置１は、前処理部１０１、先行位置算出部１０２、距離判定部１０３、補間移動指令分配処理部１０４、移動指令出力部１０５、加減速処理部１０６、サーボ制御部１０７、インポジション幅指令部１０８、送り速度オーバライド指令部１０９、現在位置レジスタ１１０を有する。
【００２３】
前処理部１０１は、プログラムを読み込んで解釈する。
【００２４】
先行位置算出部１０２は、プログラムを先読みし、次の制御周期における工具位置を算出する。
【００２５】
距離判定部１０３は、干渉領域と工具との距離などに基づいて、インポジション幅や送り速度を変更すべきか否かの判定を行う。
【００２６】
補間移動指令分配処理部１０４は、プログラムを必要に応じて先読みし、補間処理及び軸分配処理を行う。
【００２７】
移動指令出力部１０５は、機械の各軸の移動指令を出力する。
【００２８】
加減速処理部１０６は、移動指令出力部１０５が出力する移動指令に対し加減速処理を行う。
【００２９】
サーボ制御部１０７は、加減速処理部１０６により加減速処理が行われた移動指令に基づき、機械の各軸のサーボモータ５０を駆動する。
【００３０】
インポジション幅指令部１０８は、距離判定部１０３がインポジション幅を変更すべきと判定したときに、所定の条件に従ってインポジション幅の設定値を変更する。
【００３１】
送り速度オーバライド指令部１０９は、距離判定部１０３が送り速度を変更すべきと判定したときに、所定の条件に従って送り速度のオーバライドを変更する。
【００３２】
現在位置レジスタ１１０は、現在の制御周期における工具位置を保持する。
【００３３】
＜実施例１＞
本実施の形態にかかる数値制御装置１は、干渉領域との距離に応じて送り速度やインポジション幅を制御する。図５は、実施例１における数値制御装置１の動作の概要を示す図である。実施例１にかかる数値制御装置１は、工具が干渉領域近傍（図５右図）に存在する場合には、送り速度及びインポジション幅の少なくとも一方を、工具が干渉領域近傍外（図５左図）に存在する場合よりも小さく設定する。
【００３４】
図４に従って、数値制御装置１の動作を時間を追って説明する。数値制御装置１は、制御周期ごとにステップ１乃至ステップ３の処理を繰り返し実行する。
【００３５】
ステップ１：前処理部１０１は、不揮発性メモリ１４などからプログラムを読み込んで解釈する。
【００３６】
ステップ２：補間移動指令分配処理部１０４は、補間処理及び軸分配処理を行う。このとき、補間移動指令分配処理部１０４は、インポジション幅指令部１０８が出力するインポジション幅、及び送り速度オーバライド指令部１０９が出力する送り速度オーバライドを取得できるならば、当該インポジション幅及び速度オーバライドを移動指令に反映させる。
【００３７】
これを受けて移動指令出力部１０５は、機械の各軸の移動指令を出力する。加減速処理部１０６は、移動指令出力部１０５が出力する移動指令に対し加減速処理を行う。サーボ制御部１０７は、加減速処理部１０６により加減速処理が行われた移動指令に基づき、機械の各軸のサーボモータ５０を駆動する。
【００３８】
ステップ３：ステップ２の処理に並行して、先行位置算出部１０２は、プログラムを先読みし、次の制御周期における工具位置を算出する。
【００３９】
距離判定部１０３は、次の制御周期における工具位置が干渉領域近傍内であるか、又は干渉領域近傍外であるかに応じて、送り速度及びインポジション幅の少なくとも一方を制御する。具体的な制御手法の一例を示す。
【００４０】
距離判定部１０３は、工具位置が干渉領域近傍にある場合の送り速度のオーバライドＯｉｎ及びインポジション幅Ｉｉｎ、並びに工具位置が干渉領域近傍外にある場合のオーバライドＯｏｕｔ及びインポジション幅Ｉｏｕｔを、予めデータベースや設定ファイル等に保持しているものとする。ここでＯｉｎ＜Ｏｏｕｔ、Ｉｉｎ＜Ｉｏｕｔである。
【００４１】
また距離判定部１０３は、予め干渉領域及び干渉領域近傍を特定しておくものとする。例えば距離判定部１０３は、次に示す領域を干渉領域として特定できる。
・機械の一部が存在する領域。典型的には、数値制御装置１が保持している。
・加工物が存在する領域。典型的には、プログラム内に記述されている。
・オペレータが入力した干渉領域。
距離判定部１０３は、こうして特定した干渉領域の周囲に一定のマージンを加算することにより、干渉領域近傍を算出する。
【００４２】
距離判定部１０３は、次の制御周期における工具位置が干渉領域近傍に位置する場合、送り速度オーバライド指令部１０９に、次の制御周期における送り速度のオーバライドとしてＯｉｎを出力させる。一方、次の制御周期における工具位置が干渉領域近傍外に位置する場合、送り速度オーバライド指令部１０９に、次の制御周期における送り速度のオーバライドとしてＯｏｕｔを出力させる。これにより、干渉領域近傍では、干渉領域近傍外に比べて送り速度が小さく設定されるので、サーボの遅れによるズレは小さくなり、干渉を回避することができる。あるいは仮に干渉したとしても、干渉時のダメージを抑制することができる。他方、干渉領域近傍外では、干渉領域近傍に比べて送り速度が大きく設定されるので、サイクルタイムを短縮することができる（図６左図参照）。
【００４３】
又は距離判定部１０３は、次の制御周期における工具位置が干渉領域近傍内に位置する場合、インポジション幅指令部１０８に、次の制御周期におけるインポジション幅としてＩｉｎを出力させる。一方、次の制御周期における工具位置が干渉領域近傍外に位置する場合、インポジション幅指令部１０８に、次の制御周期におけるインポジション幅としてＩｏｕｔを出力させる。これにより、干渉領域近傍では、干渉領域近傍外に比べてインポジション幅が小さく設定されるので、サーボの遅れによるズレは小さくなり、干渉を回避することができる。あるいは仮に干渉したとしても、干渉時のダメージを抑制することができる。他方、干渉領域近傍外では、干渉領域近傍に比べてインポジション幅が大きく設定されるので、サイクルタイムを短縮することができる（図６右図参照）。
【００４４】
インポジション幅指令部１０８が出力するインポジション幅、及び送り速度オーバライド指令部１０９が出力する送り速度オーバライドは、次の制御周期のステップ２の処理において使用される。
【００４５】
実施例１にかかる数値制御装置１は、工具が干渉領域近傍に存在する場合には、送り速度オーバライド及びインポジション幅の少なくとも一方を比較的小さく設定する。この方式は、工具の位置のみに基づいて送り速度オーバライドやインポジション幅を決定でき、簡便に干渉領域を考慮した速度制御を実現できるという利点がある。
【００４６】
＜実施例２＞
図７は、実施例２における数値制御装置１の動作の概要を示す図である。実施例２にかかる数値制御装置１は、干渉領域からの距離に応じて複数の領域を設定し、当該領域ごとに送り速度オーバライド及びインポジション幅の少なくとも一方を制御する点に特徴を有する。すなわち実施例２では、工具が存在する領域が干渉領域に近いほど、送り速度及びインポジション幅の少なくとも一方がより小さく設定される。
【００４７】
図４に従って、数値制御装置１の動作を時間を追って説明する。数値制御装置１は、制御周期ごとにステップ１乃至ステップ３の処理を繰り返し実行する。なお、実施例１と同じ動作をする部分については説明を適宜省略する。
【００４８】
ステップ１：前処理部１０１は、不揮発性メモリ１４などからプログラムを読み込んで解釈する。
【００４９】
ステップ２：補間移動指令分配処理部１０４は、補間処理及び軸分配処理を行う。このとき、補間移動指令分配処理部１０４は、インポジション幅指令部１０８が出力するインポジション幅、及び送り速度オーバライド指令部１０９が出力する送り速度オーバライドを取得できるならば、当該インポジション幅及び速度オーバライドを移動指令に反映させる。
【００５０】
これを受けて移動指令出力部１０５、加減速処理部１０６により機械の各軸のサーボモータ５０が駆動される。
【００５１】
ステップ３：ステップ２の処理に並行して、先行位置算出部１０２は、プログラムを先読みし、次の制御周期における工具位置を算出する。
【００５２】
距離判定部１０３は、次の制御周期における工具位置が存在する領域に応じて、送り速度及びインポジション幅の少なくとも一方を制御する。具体的な制御手法の一例を示す。
【００５３】
本実施例では図７のように、干渉領域の外側に、干渉領域から距離が異なる２以上の領域を定義する。例えば干渉領域のすぐ外側に領域Ａ、領域Ａの外側に領域Ｂ、領域Ｂの外側に領域Ｃが定義される。この場合、距離判定部１０３は、工具位置が領域Ａにある場合の送り速度のオーバライドＯａ及びインポジション幅Ｉａ、工具位置が領域Ｂにある場合の送り速度のオーバライドＯｂ及びインポジション幅Ｉｂ、並びに工具位置が領域Ｃにある場合の送り速度のオーバライドＯｃ及びインポジション幅Ｉｃを、予めデータベースや設定ファイル等に保持しているものとする。ここでＯａ＜Ｏｂ＜Ｏｃ、Ｉａ＜Ｉｂ＜Ｉｃである。
【００５４】
また距離判定部１０３は、予め干渉領域、領域Ａ、領域Ｂ及び領域Ｃを特定しておくものとする。例えば距離判定部１０３は、実施例１と同様に干渉領域を特定する。そして干渉領域の周囲にマージンＭａを加算した領域Ａ、領域Ａの周囲にマージンＭｂを加算した領域Ｂ、領域Ｂの外側の領域Ｃをそれぞれ算出する。
【００５５】
距離判定部１０３は、次の制御周期における工具位置が領域Ａ内にある場合は送り速度オーバライドＯａを、領域Ｂ内にある場合は送り速度オーバライドＯｂを、領域Ｃ内にある場合は送り速度オーバライドＯｃを、次の制御周期における送り速度のオーバライドとして送り速度オーバライド指令部１０９に出力させる。これにより、干渉領域により近い領域ではより小さい送り速度が設定されるので、サーボの遅れによるズレはより小さくなり、干渉をより回避しやすくなる。あるいは仮に干渉したとしても、干渉時のダメージをより抑制することができる。他方、干渉領域からより遠い領域では、送り速度がより大きく設定されるので、サイクルタイムをより短縮することができる。
【００５６】
又は距離判定部１０３は、次の制御周期における工具位置が領域Ａ内にある場合はインポジション幅Ｉａを、領域Ｂ内にある場合はインポジション幅Ｉｂを、領域Ｃ内にある場合はインポジション幅Ｉｃを、次の制御周期におけるインポジション幅としてインポジション幅指令部１０８に出力させる。これにより、干渉領域により近い領域ではより小さいインポジション幅が設定されるので、サーボの遅れによるズレはより小さくなり、干渉をより回避しやすくなる。あるいは仮に干渉したとしても、干渉時のダメージをより抑制することができる。他方、干渉領域からより遠い領域では、インポジション幅がより大きく設定されるので、サイクルタイムをより短縮することができる。
【００５７】
インポジション幅指令部１０８が出力するインポジション幅、及び送り速度オーバライド指令部１０９が出力する送り速度オーバライドは、次の制御周期のステップ２の処理において使用される。
【００５８】
実施例２にかかる数値制御装置１は、工具が存在する領域が干渉領域に近いほど、送り速度及びインポジション幅の少なくとも一方をより小さく設定する。この方式は、工具の位置のみに基づいて送り速度オーバライドやインポジション幅を決定できるとともに、実施例１よりも緻密な速度制御を実現できるという利点がある。
【００５９】
＜実施例３＞
図８は、実施例３における数値制御装置１の動作の概要を示す図である。実施例３にかかる数値制御装置１は、干渉領域からの距離が広がる方向へ工具が移動する場合は、送り速度オーバライドやインポジション幅を、実施例１や実施例２で算出される値よりも大きく設定する。好ましくは、送り速度オーバライドやインポジション幅を小さく抑える制御を一切行わない。
【００６０】
図４に従って、数値制御装置１の動作を時間を追って説明する。実施例２と比較しながら説明するが、実施例２と同じ動作をする部分については説明を適宜省略する。
【００６１】
ステップ１及びステップ２：数値制御装置１は実施例２と同様に動作する。
【００６２】
ステップ３：実施例２と同様に、数値制御装置１は、工具が存在する領域が干渉領域に近いほど、送り速度及びインポジション幅の少なくとも一方をより小さく設定する。すなわち、次の制御周期における工具位置が領域Ａ内にある場合は送り速度オーバライドＯａ及びインポジション幅Ｉａを、領域Ｂ内にある場合は送り速度オーバライドＯｂ及びインポジション幅Ｉｂを、領域Ｃ内にある場合は送り速度オーバライドＯｃ及びインポジション幅Ｉｃを設定する。ここでＯａ＜Ｏｂ＜Ｏｃ、Ｉａ＜Ｉｂ＜Ｉｃである。
【００６３】
なお数値制御装置１の距離判定部１０３は、干渉領域からの距離が広がる方向へ工具が移動する場合は、上述した送り速度オーバライドやインポジション幅の設定に関わらず、変更可能な最も大きな値に設定する。例えば図８に示す例では、工具は領域Ｃ→領域Ｂ→領域Ａ→領域Ｂ（２回目）→・・・と移動する。このうち領域Ｂ（２回目）において、工具は干渉領域からの距離が広がる方向、つまり干渉領域から遠ざかる方向へ移動している。この場合、距離判定部１０３は、送り速度オーバライドやインポジション幅を最大値に設定する。すなわち、実施例２によれば領域Ｂ（２回目）における送り速度オーバライドはＯｂであるところ、本実施例では変更可能な最大の値であるＯｃ（Ｏｂ＜Ｏｃ）に変更される。
【００６４】
距離判定部１０３は、例えば図９乃至図１１、及びステップ（１）乃至ステップ（３）に示す処理により、干渉領域からの距離が広がる方向へ工具が移動するか否かを判定することができる。
【００６５】
ステップ（１）：距離判定部１０３は、現在の工具位置と、次の制御周期における工具位置と、を取得する。工具の現在位置は現在位置レジスタ１１０から取得できる。次の制御周期における工具位置は、先行位置算出部１０２により算出される。
【００６６】
ステップ（２）：距離判定部１０３は、干渉領域と現在の工具位置との距離Ｃ１、及び干渉領域と次の制御サイクルにおける工具位置との距離Ｃ２を求める。
【００６７】
図９を用いて、干渉領域と工具位置との距離Ｃの求め方について説明する。距離判定部１０３は、干渉領域の中心点から工具位置までの直線距離Ａを求める。次に、干渉領域の中心点から干渉領域の外縁までの距離Ｂを求める。距離ＣはＡからＢを引くことで算出できる。
【００６８】
ステップ（３）：距離判定部１０３は、干渉領域と現在の工具位置との距離Ｃ１と、干渉領域と次の制御サイクルにおける工具位置との距離Ｃ２と、を比較する。Ｃ１＞Ｃ２であれば、干渉領域からの距離が狭まる方向へ工具が移動すると判定する（図１０参照）。一方、Ｃ１＜Ｃ２であれば、干渉領域からの距離が広がる方向へ工具が移動すると判定する（図１１参照）。
【００６９】
実施例３にかかる数値制御装置１は、干渉領域からの距離が広がる方向へ工具が移動する場合には、干渉領域からの距離に応じて送り速度やインポジション幅を小さくする制御を行わない。工具が干渉領域から遠ざかっているならば干渉は生じないと考えられるためである。これにより、サイクルタイムをより短縮することができる。
【００７０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００７１】
例えば、上述の実施の形態では、干渉領域からの距離に応じて１又は複数の領域を設定し、工具がそれらの領域のいずれに位置しているかによって、送り速度オーバライドやインポジション幅を決定した。しかしながら、本発明はこれに限定されるものでなく、干渉領域からの距離に基づく他の計算方法により送り速度やインポジション幅を決定しても良い。例えば距離判定部１０３は、干渉領域と工具位置との距離Ｃ（図９参照）と、送り速度オーバライドやインポジション幅と、の対応関係を数式やテーブルなどの形で保持していても良い。この場合、距離判定部１０３はまず距離Ｃを算出し、上記対応関係に照らして算出した距離Ｃに対応する送り速度オーバライドやインポジション幅を求めることができる。
【００７２】
また、上述の実施の形態では主に工具と干渉領域との関係について論じたが、本発明は工具に限定されるものではなく、任意の可動物（典型的には主軸に取り付けられて移動するもの）と干渉領域との関係に適用することが可能である。
【符号の説明】
【００７３】
１  数値制御装置
１１  プロセッサ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８  インタフェース
１０  バス
１６  軸制御回路
１７  サーボアンプ
５０  サーボモータ
６０  入出力装置
１０１  前処理部
１０２  先行位置算出部
１０３  距離判定部
１０４  補間移動指令分配処理部
１０５  移動指令出力部
１０６  加減速処理部
１０７  サーボ制御部
１０８  インポジション幅指令部
１０９  送り速度オーバライド指令部
１１０  現在位置レジスタ
【図１】
2020003958.tif 000003
【図２】
2020003958.tif 000004
【図３】
2020003958.tif 000005
【図４】
2020003958.tif 000006
【図５】
2020003958.tif 000007
【図６】
2020003958.tif 000008
【図７】
2020003958.tif 000009
【図８】
2020003958.tif 000010
【図９】
2020003958.tif 000011
【図１０】
2020003958.tif 000012
【図１１】
2020003958.tif 000013