(57)【要約】【課題】高速且つ精度の高い加工を実現できる数値制御装置及び数値制御方法を提供する。【解決手段】加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、許容可能な経路誤差の範囲を規定した設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出する。また、前記加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、切削送り時における限界加速度としての設定加速度を用いて、前記曲率半径の大きさに対応した許容加速度を算出する。【選択図】  図１
2004326238.tif 000002
【特許請求の範囲】
【請求項１】
加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、
前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、
前記切削工具を切削送りする際の、前記切削工具の経路誤差の許容範囲を規定する設定誤差量を保持した誤差量設定部と、
取得された前記曲率半径と前記設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出する許容誤差量算出部と、
算出された前記許容誤差量と前記曲率半径とを用いて、前記所定の経路における前記切削工具の経路誤差を前記許容誤差量以下に抑える許容速度を算出する許容速度算出部と、
前記所定の経路における前記切削送り速度を前記許容速度以下の速度として算出する目標送り速度算出部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記許容誤差量算出部は、前記設定誤差量のどの程度の比率を前記許容誤差量とするかを示す許容誤差量設定比率を前記曲率半径に基づき算出し、算出した前記誤差量設定比率に前記設定誤差量を乗算して前記許容誤差量を算出することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記許容誤差量算出部は、前記許容誤差量の算出対象となる曲率半径の範囲を規定する最大曲率半径値及び最小曲率半径値を保持しており、前記最大曲率半径値及び最小曲率半径値をさらに用いて前記許容誤差量を算出することを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記所定の経路は円弧補間指令による経路であることを特徴とする請求項１乃至３のいずれかに記載の数値制御装置。
【請求項５】
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、
許容可能な経路誤差の範囲を規定した設定誤差量を保持した設定誤差量保持部と、
取得した前記曲率半径と、前記設定誤差量とを用いて、前記曲率半径に対応した許容誤差量を算出する許容誤差量算出部と、
を備えることを特徴とする数値制御装置。
【請求項６】
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、
前記曲率半径と、許容可能な経路誤差の範囲を規定した設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出することを特徴とする数値制御方法。
【請求項７】
加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、
前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、
前記切削工具を切削送りする際の限界加速度としての設定加速度を保持し、前記設定加速度と前記曲率半径とを用いて、前記曲率半径の大きさに対応した許容加速度を算出する許容加速度算出部と、
算出された前記許容加速度と前記曲率半径とを用いて許容速度を算出する許容速度算出部と、
前記所定の経路における前記切削送り速度を前記許容速度以下の速度に最適化した目標送り速度を算出する目標送り速度算出部と、
算出された前記目標送り速度が前記許容加速度以下の加減速となるように加減速処理を行う加減速処理部と、
を備えることを特徴とする数値制御装置。
【請求項８】
前記許容加速度算出部は、前記許容加速度のどの程度の比率を前記許容加速度とするかを示す許容加速度設定比率を前記曲率半径に基づき算出し、算出した前記許容加速度設定比率に前記設定加速度を乗算して前記許容加速度を算出することを特徴とする請求項７に記載の数値制御装置。
【請求項９】
前記許容加速度算出部は、前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持し、前記設定時定数と前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記許容時定数と前記最大切削送り速度とを用いて、前記許容加速度を算出することを特徴とする請求項７又は８に記載の数値制御装置。
【請求項１０】
前記許容加速度算出部は、前記設定時定数のどの程度の比率を前記許容時定数とするかを示す許容時定数設定比率を前記曲率半径に基づき算出し、算出した前記許容時定数設定比率に前記設定時定数を乗算して前記許容時定数を算出することを特徴とする請求項９に記載の数値制御装置。
【請求項１１】
前記許容加速度算出部は、前記許容加速度の算出対象となる曲率半径の範囲を規定する最大曲率半径値及び最小曲率半径値を保持しており、前記最大曲率半径値及び最小曲率半径値さらに用いて前記許容加速度を算出することを特徴とする請求項７乃至１０のいずれかに記載の数値制御装置。
【請求項１２】
前記所定の経路は、円弧補間指令による経路であることを特徴とする請求項７乃至１１のいずれかに記載の数値制御装置。
【請求項１３】
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、
前記切削工具の切削送り時における限界加速度としての設定加速度を保持した設定加速度保持部と、
取得した前記曲率半径と、前記設定加速度とを用いて、前記曲率半径に対応した許容加速度を算出することを特徴とする数値制御装置。
【請求項１４】
前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持した時定数設定部を、前記設定加速度保持部と共にあるいは前記設定加速度保持部の代わりに備え、
前記時定数設定部に保持された前記設定時定数と、前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記最大切削送り速度と前記許容時定数とを用いて、前記許容加速度を算出することを特徴とする請求項１３に記載の数値制御装置。
【請求項１５】
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、
前記曲率半径と、切削送り時における限界加速度としての設定加速度を用いて、前記曲率半径の大きさに対応した許容加速度を算出することを特徴とする数値制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械を数値制御する数値制御装置及び数値制御方法に関する。
【０００２】
【従来の技術】
一般的に、ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）工作機械を用いて、金型などにおける自由曲面を、例えばボールエンドミルにより切削加工することが行われる。この加工では、ＮＣ工作機械を数値制御する数値制御装置が、ＣＡＭ等によって作成されたＮＣプログラムを解析して、例えばＸ、Ｙ、Ｚ軸の各軸方向の移動指令を取得し、サーボ制御部に渡す。サーボ制御部は、受け取った各軸方向の移動指令に基づいてサーボ機構を制御することにより、切削工具を加工物上で移動させる。
【０００３】
しかし、このサーボ機構においては通常、応答遅延などがあるため、加工の際には、切削工具の加工経路が加工プログラムに記述された経路からずれる経路誤差が生じる。この経路誤差は、切削工具の送り速度が大きい程、顕著に現れる。そこで、通常、許容可能な経路誤差を設定誤差量として数値制御装置に対して設定する。数値制御装置は、この設定誤差量以下に経路誤差を制限する許容速度を許容誤差量に基づき算出し、切削工具の送り速度を許容速度以下に調整する。
【０００４】
【特許文献１】
特開２０００−３１１０１０号公報
【特許文献２】
特開２０００−１４８２２３号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、従来においては、ほとんどの場合、上述の設定誤差量は、加工を通じて、同じ値が用いられていた。例えば、荒加工及び仲仕上げ加工では１００μｍ程度、仕上げ加工では２０μｍ程度の一定値が用いられていた。通常、加工経路には、例えば、小さな円弧や大きな円弧等、様々な大きさの円弧が存在する。このような様々の大きさの各円弧（曲率半径）に対して上述のように１種類の設定誤差量を適用すると、小さな円弧では、大きな円弧よりも、曲率半径に対して経路誤差の比率が大きくなってしまう。例えば、仕上げ加工において、設定誤差量を２０μｍに設定した場合、曲率半径１００μｍの部分では２０％（＝２０／１００）、曲率半径５０μｍの部分では４０％（＝２０／５０）もの経路誤差が生じ得る。設定誤差量の値をもっと小さくすれば、小さな円弧における経路誤差の比率も抑えることができ、従って、きれいな加工も実現できる。しかし、これでは、加工時間が大幅に伸びてしまい、現実的でない。
【０００６】
ところで、上述したように、加工経路には、様々な大きさの曲率半径の経路が含まれる。例えば、大きな曲率半径の経路が長くつづくもの（緩やかな経路）もあれば、それぞれ大きさの異なる小さな曲率半径の経路がつながったもの（複雑な経路）もある。このうち、複雑な経路においては、頻繁な加減速により、振動が連続して発生し、この結果、精細な加工が困難になるという問題があった。
【０００７】
即ち、通常、円弧部における送り速度は、送り時の加速度や曲率半径等により制限され、例えば、曲率半径が小さい程、低速となる（後述する（式１）（式４）参照）。このため、上述の複雑な経路においては、例えば連続する円弧ごとに送り速度が変動し得る。つまり、連続する円弧ごとに、サーボ系による加減速が行われ得る。通常、加減速の際には機械振動が発生する。従って、上述の複雑な経路においては、頻繁な加減速の繰り返しにより、連続的な機械振動が発生する。
【０００８】
ここで、加減速の際に発生する振動の大きさは、加減速の際に付与される加速度の大きさに依存し、加速度が大きいほど大きくなる。このため、上述の複雑な経路において加減速の際に大きな加速度を付与すると、大きな振動が連続して発生し、精細な加工が困難となる。従って、振動による加工への影響を低減するためには、加速度を十分に小さくすることが望ましい。
【０００９】
しかし、従来においては、１つの機械に対して１つの加速度（あるいは時定数）しか設定できなかった。このため、経路の形状に拘わらず、１度設定した設定加速度が加工全体に適用されてしまい、それ故、振動の少ない高速な加工は困難であった。即ち、設定加速度として大きな値を設定すると、加工時間は短縮するものの、複雑な経路において大きな振動が連続して発生し、精度な加工が困難となってしまう。一方、設定加速度として小さな値を設定すると、発生する振動の大きさは小さくなるものの、加工時間が大幅に伸びてしまう。
【００１０】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、高速且つ精度の高い加工を実現できる数値制御装置及び数値制御方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の数値制御装置は、加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、前記切削工具を切削送りする際の、前記切削工具の経路誤差の許容範囲を規定する設定誤差量を保持した誤差量設定部と、取得された前記曲率半径と前記設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出する許容誤差量算出部と、算出された前記許容誤差量と前記曲率半径とを用いて、前記所定の経路における前記切削工具の経路誤差を前記許容誤差量以下に抑える許容速度を算出する許容速度算出部と、前記所定の経路における前記切削送り速度を前記許容速度以下の速度として算出する目標送り速度算出部と、を備えることを特徴とする。
【００１２】
本発明の数値制御装置は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、許容可能な経路誤差の範囲を規定した設定誤差量を保持した設定誤差量保持部と、取得した前記曲率半径と、前記設定誤差量とを用いて、前記曲率半径に対応した許容誤差量を算出する許容誤差量算出部と、を備えることを特徴とする。
【００１３】
本発明の数値制御方法は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、許容可能な経路誤差の範囲を規定した設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出することを特徴とする。
【００１４】
本発明の数値制御装置は、加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、前記切削工具を切削送りする際の限界加速度としての設定加速度を保持し、前記設定加速度と前記曲率半径とを用いて、前記曲率半径の大きさに対応した許容加速度を算出する許容加速度算出部と、算出された前記許容加速度と前記曲率半径とを用いて許容速度を算出する許容速度算出部と、前記所定の経路における前記切削送り速度を前記許容速度以下の速度に最適化した目標送り速度を算出する目標送り速度算出部と、算出された前記目標送り速度が前記許容加速度以下の加減速となるように加減速処理を行う加減速処理部と、を備えることを特徴とする。前記許容加速度算出部に、前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持させ、前記設定時定数と前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記許容時定数と前記最大切削送り速度とを用いて、前記許容加速度を算出してもよい。
【００１５】
本発明の数値制御装置は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、前記切削工具の切削送り時における限界加速度としての設定加速度を保持した設定加速度保持部と、取得した前記曲率半径と、前記設定加速度とを用いて、前記曲率半径に対応した許容加速度を算出することを特徴とする。前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持した時定数設定部を、前記設定加速度保持部と共にあるいは前記設定加速度保持部の代わりに備えさせ、前記時定数設定部に保持された前記設定時定数と、前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記最大切削送り速度と前記許容時定数とを用いて、前記許容加速度を算出するようにしてもよい。
【００１６】
本発明の数値制御方法は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、切削送り時における限界加速度としての設定加速度を用いて、前記曲率半径の大きさに対応した許容加速度を算出することを特徴とする。
【００１７】
【発明の実施の形態】
図１は、本発明の第１の実施の形態としての数値制御装置１の構成を示すブロック図である。
【００１８】
図１に示すように、解析部２は、ＣＡＭ等によって出力された加工プログラムを解析して、後述する各種の情報を出力する。加工プログラムの一例を図２に示す。この加工プログラムに記述された切削工具の加工経路を図３に示す。但し、この加工プログラムにおいて切削工具の移動はＸ−Ｙ平面上でのみ行われるのでＺ軸は図示していない。
【００１９】
図２に示すように、この加工プログラムは、５つのブロック、つまり、ブロック（０）〜ブロック（４）から構成されている。
【００２０】
図２に示すように、ブロック（０）において、“Ｎ０”はシーケンス番号、“Ｇ００”は早送り指令、“Ｘ０  Ｙ０  Ｚ０”は目標座標である。従って、ブロック（０）は、図３に示すように、原点Ｐ０（０、０、０）に対して切削工具を早送りする指令である。なお、早送り速度は、あらかじめ数値制御装置１内に設定されているので、加工プログラム内で指定する必要はない。
【００２１】
次に、ブロック（１）において、“Ｎ１”はシーケンス番号、“Ｇ０３”は、反時計回りの円弧切削指令、“Ｘ０．２”は目標座標（Ｙ、Ｚ座標は共にブロック（１）と同じ。以下同様。）、“Ｒ”は円弧切削時における経路の曲率半径（この場合０．１ｍｍ）、“Ｆ”は切削送り速度（Ｘ−Ｙ−Ｚ軸の各軸方向における送り速度の合成）（この場合１００００ｍｍ／分）を示す。従って、ブロック（１）は、図３に示すように、原点Ｐ０（０、０、０）から位置Ｐ１（０．２、０、０）まで、原点Ｐ０（０、０、０）と位置Ｐ１（０．２、０、０）との両方を通過する曲率半径０．１ｍｍの円弧に沿って、切削工具を反時計回りに切削送りする指令である。なお、このブロック（１）において指定された切削送り速度Ｆ（１００００ｍｍ／分）は、このブロック（１）より後のブロック（２）（３）に対しても適用される。
【００２２】
次に、ブロック（２）において、“Ｇ０２”は時計回りの円弧切削指令であり、“Ｎ”“Ｘ”“Ｒ”は上述した通りである。従って、ブロック（２）は、図３に示すように、位置Ｐ１（０．２、０、０）から位置Ｐ２（２００．２、０、０）まで、位置Ｐ１（０．２、０、０）と位置Ｐ２（２００．２、０、０）との両方を通過する曲率半径１００ｍｍの円弧に沿って、切削工具を時計回りに切削送りする指令である。
【００２３】
次に、ブロック（３）において、“Ｎ”“Ｇ０３”“Ｘ”“Ｒ”は上述した通りである。従って、ブロック（３）は、図３に示すように、位置Ｐ２（２００．２、０、０）から位置Ｐ２（２２０．２、０、０）まで、位置Ｐ２（２００．２、０、０）と位置Ｐ３（２２０．２、０、０）との両方を通過する曲率半径１０ｍｍの円弧に沿って、切削工具を時計回りに切削送りする指令である。
【００２４】
次に、ブロック（４）において、“Ｍ０２”はプログラムの終了を指示するコードを示す。従って、ブロック（４）は、加工プログラムを終了する指令である。
【００２５】
以上のような複数のブロックからなる加工プログラムを解析部２は各ブロックについて所定のサンプリング時間（第１のサンプリング時間）ごとに解析する。そして、解析部２は、各ブロックから、切削有無情報（非切削あるいは切削）、切削工具の送り速度（各軸方向への送り速度の合成）、第１のサンプリング周期ごとの各軸（Ｘ、Ｙ、Ｚ軸）方向の切削工具の移動量を出力する。解析部２は、図示しないバッファを備え、出力した切削有無情報、送り速度、各軸方向への切削工具の移動量をこのバッファに記憶する。
【００２６】
形状認識部３は、解析部２における図示しないバッファから各ブロックについて各軸方向の移動量を取得し、取得した各軸方向の移動量に基づいて、切削工具の移動軌跡を形成する。そして、形状認識部３は、この移動軌跡について形状認識を行い、例えば、円弧部（曲率半径の大きさも含む）、直線部などの形状情報をブロックごとに取得する。形状認識部３は、取得した形状情報を、後述する許容誤差量算出部６及び目標送り速度算出部９に送出する。
【００２７】
誤差量設定部４は、切削時において許容できる経路誤差の最大値を表す設定誤差量を保持する。この経路誤差は、加工プログラム中に記述された加工経路からの誤差（あるいは形状認識部３によって形成された移動軌跡からの誤差）である。誤差量設定部４に保持されたこの設定誤差量は、後述するように、許容誤差量算出部６によって許容誤差量が算出される際に用いられる。
【００２８】
パラメータ設定部５は、許容誤差量算出部６によって許容誤差量が算出される際に用いられる各種のパラメータ、つまり、最大曲率半径、最小曲率半径、最小設定比率を保持する。これらのパラメータについては後に詳しく述べる。
【００２９】
許容誤差量算出部６は、形状認識部３から受け取った形状情報の内容を判断し、この形状情報が円弧であると判断した場合には、誤差量設定部４に保持された設定誤差量を、円弧の曲率半径の大きさに応じた値に調整した許容誤差量（設定誤差量以下の値）を算出する。算出に当たっては、受け取った形状情報に含まれる曲率半径と、誤差量設定部４により保持された設定誤差量と、パラメータ設定部５に保持された各種パラメータとを用いる。より詳しくは、以下の通りである。
【００３０】
即ち、許容誤差量算出部６は、上述の形状情報に含まれる曲率半径に基づき、誤差量設定部４に保持された設定誤差量のどの程度の比率を許容誤差量として認めるかを示す許容誤差量設定比率（０＜許容誤差量設定比率＜＝１）を、上述の曲率半径、設定誤差量及び各種パラメータを用いて算出する（（式２）参照）。そして、許容誤差量算出部６は、この許容誤差量設定比率に設定誤差量を乗算したものを許容誤差量として出力する（（式２）参照）。後述するように、例えば、加工経路の曲率半径が大きいときは誤差量設定比率を大きくして、許容誤差量を大き目に算出する。これにより、高速な加工を実現する。一方、加工経路の曲率半径が小さいときは誤差量設定比率を小さくして、許容誤差量を小さ目に算出する。これにより、経路誤差を少ない状態に抑えた加工を実現する。許容誤差量の算出手段については後に詳しく述べる。なお、上述において、許容誤差量算出部６が、形状認識部３から受け取った形状情報の内容が円弧以外のものと判断した場合は、許容誤差量算出部６は何も行わない。
【００３１】
許容速度算出部８は、許容誤差量算出部６から許容誤差量及び形状情報を受け取り、この許容誤差量、及び形状情報に含まれる曲率半径とを用いて、この許容誤差量以下に経路誤差を制限する許容速度を算出する。より詳しくは、許容速度算出部８は、以下の（式１）を用いて、許容速度を算出する。
【数１】
2004326238.tif 000003
【００３２】
この（式１）において、位置ループゲインは、サーボ系１１の追従性の良さを示す指標であり、予めこの許容速度算出部８内に設定されたものである。許容速度算出部８は、算出した許容速度を目標送り速度算出部９に送出する。
【００３３】
目標送り速度算出部９は、解析部２における図示しないバッファから各ブロックにおける切削有無情報及び送り速度を取得し、この送り速度を、切削有無情報、形状認識部３から受け取った形状情報、許容速度算出部８から受信した許容速度とに基づいて最適化した目標送り速度を算出する。
【００３４】
即ち、まず、目標送り速度算出部９は切削有無情報の内容を判断し、切削有無情報が非切削であると判断した場合は、予め設定された早送り速度を目標送り速度として算出する。一方、目標送り速度算出部９が、切削有無情報が切削であると判断した場合は、次に、形状情報の内容を判断する。
【００３５】
目標送り速度算出部９は、形状情報が円弧以外（例えば直線）のものであると判断した場合は、例えば解析部２から受信した送り速度をそのまま（あるいは周知の方法を用いて形状情報に応じた値に補正して）目標送り速度として出力する。
【００３６】
一方、目標送り速度算出部９は、上述の形状情報が円弧であると判断した場合は、解析部２から受信した送り速度と、許容速度算出部８から受信した許容速度とを比較し、送り速度が許容速度以下であると判断すれば、この送り速度を目標送り速度として出力する。一方、目標送り速度算出部９は、送り速度が許容速度よりも大きいと判断すれば、この送り速度を、許容速度を超えない範囲内で最適化したものを目標送り速度として出力する。好適には、この目標送り速度を許容速度と同じにする。目標送り速度算出部９は、以上のようにして出力した目標送り速度を加減速処理部７に送出する。
【００３７】
加減速処理部７は、目標送り速度算出部９から受信した各ブロックについての目標送り速度について、ブロック間における速度の変化が設定加速度以下となるように加減速処理を行う。設定加速度には、非切削時用の設定加速度と、切削時用の設定加速度があり、後者は、振動防止等の観点から低めに設定されている。これらの設定加速度は、予め加減速処理部７に保持されている。
【００３８】
より詳しくは、加減速処理部７は、解析部２における図示しないバッファから各ブロックについての切削有無情報及び各軸方向の移動量を受け取る。これら切削有無情報及び各軸方向の移動量と、目標送り速度算出部９から受信した目標送り速度とに基づき、各ブロックについて、第２のサンプリング時間ごとに、サーボ制御を行うための各軸方向の移動量（最適化送り速度）を順次算出する。この際、ブロック間において目標送り速度に速度変化が生じる場合は（例えば曲率半径が変わるなど）、加減速処理部７は、速度変化が設定加速度以下になるように、各軸方向の移動量を算出する。
【００３９】
例えば、目標送り速度が速度Ｖ１（第１のブロック）から速度Ｖ２（第２のブロック）（Ｖ２＞Ｖ１）に変化し、この速度変化が設定加速度より大きい場合を想定する。この場合、例えば、まず、第２のブロックについて、速度Ｖ１に設定加速度を加算し、この算出結果と一致するような、各軸方向の移動量を求める。次いで、この加算結果にさらに設定加速度を加算した速度となるような、各軸方向の移動量を算出する。このようにして、各軸方向の移動量を繰り返し算出し、最終的に、速度Ｖ２となる各軸方向の移動量を算出する（算出結果が速度Ｖ２を超えた場合は、その算出結果をＶ２に置き換える）。これにより、速度Ｖ１から速度Ｖ２への加速を行う。速度Ｖ１から速度Ｖ２への速度変化が設定加速度以下の場合も、同様にして加減速処理を行う。上の例では、第２のブロックにおいて加速を始めたが、経路形状を先読みするなどして、第１のブロックにおいて加速を始めるようにしてもよい。
【００４０】
分配部１０は、加減速処理部７によって算出された、第２のサンプリング周期ごとの各軸方向の移動量（最適化送り速度）を、Ｘ、Ｙ、Ｚ軸位置指令として、サーボ系１１におけるＸ軸制御部１１ａ、Ｙ軸制御部１１ｂ及びＺ軸制御部１１ｃに順次送出する。
【００４１】
Ｘ、Ｙ、Ｚ軸制御部１１ａ〜１１ｃは、分配部１０から受信したＸ、Ｙ、Ｚ軸位置指令に従って、Ｘ、Ｙ、Ｚ軸における各送り軸（図示せず）を駆動し、これにより、各送り軸上の移動対象物（図示せず）を移動する。
【００４２】
次に、この数値制御装置１の動作について説明する。
【００４３】
図４は、この数値制御装置１の動作を説明するためのフローチャートを示す図である。
【００４４】
まず、解析部２（図１参照）がＮＣプログラムを受け取ると、この解析部２は、この加工プログラムをブロックごとに解析して、各ブロックについて、切削有無情報、送り速度及び第１のサンプリング周期ごとの各軸方向へ切削工具の移動量を算出する（ステップＳ１）。解析部２は、算出した切削有無情報、送り速度及び各軸方向の移動量をブロックごとに図示しないバッファに記憶すると共に、各軸方向の移動量を形状認識部３に送出する（ステップＳ１）。
【００４５】
各軸方向の移動量を受信した形状認識部３は、受信した各軸方向の移動量に基づき、形状認識を行い、形状情報（円弧の場合は曲率半径の大きさも含む）を取得する（ステップＳ２）。形状認識部３は、取得した形状情報を、図１に示すように、許容誤差量算出部６及び目標送り速度算出部９へ送出する（ステップＳ２）。
【００４６】
形状情報を受信した許容誤差量算出部６は、この形状情報の内容を判断し、この形状情報が円弧以外のものを示すものと判断した場合は、何も行わない（ステップＳ３）。一方、許容誤差量算出部６は、この形状情報が円弧を示すものと判断した場合は、誤差量設定部４から設定誤差量を受信し、また、パラメータ設定部５から最大曲率半径、最小曲率半径及び最小設定比率を受信する（ステップＳ３）。許容誤差量算出部６は、受信した曲率半径、設定誤差量、最大曲率半径、最小曲率半径及び最小設定比率を、後述する（式２）に適用して、曲率半径に応じた許容誤差量を算出する（ステップＳ３）。許容誤差量算出部６は、算出した許容誤差量及び形状認識部３から受け取った形状情報を、図１に示すように、許容速度算出部８に送出する（ステップＳ３）。
【００４７】
許容速度算出部８は、許容誤差量算出部６から受信した許容誤差量及び形状情報に含まれる曲率半径を、上述の（式１）に適用して、経路誤差を許容誤差量以下に制限する許容速度を算出する（ステップＳ４）。許容速度算出部８は、算出した許容速度を、図１に示すように、目標送り速度算出部９に送出する（ステップＳ４）。
【００４８】
一方、目標送り速度算出部９は、形状認識部３から形状情報を受信したら、解析部２における図示しないバッファから、各ブロックの切削有無情報及び送り速度を取得する（ステップＳ５）。目標送り速度算出部９は、形状情報の内容を判断し、形状情報が円弧以外のものであると判断した場合は、上述したように、切削有無情報及び送り速度に基づき、送り速度を最適化した目標送り速度を算出する（ステップＳ５）。一方、目標送り速度算出部９は、形状情報の内容が円弧であると判断した場合は、許容速度算出部８から許容速度を受信するまで待機し、許容速度を受信したら、上述したように、上述の送り速度と許容速度とに基づいて、許容速度を算出する（ステップＳ５）。このようにして目標送り速度を算出した目標送り速度算出部９は、算出した目標送り速度を、加減速処理部７に送出する（ステップＳ５）。
【００４９】
目標送り速度を受信した加減速処理部７は、解析部２における図示しないバッファから切削有無情報及び各軸方向の移動量を受け取る（ステップＳ６）。そして、加減速処理部７は、受け取った切削有無情報、各軸方向の移動量、及び目標送り速度を用いて、設定加速度以下の加減速となるように、第２のサンプリング周期ごとの各軸方向の移動量を求める（ステップＳ６）。加減速処理部７は、算出した第２のサンプリング周期ごとの各軸方向の移動量を分配部１０に送出する（ステップＳ６）。
【００５０】
各軸方向の移動量を受信した分配部１０は、受信した各軸方向の移動量を、Ｘ、Ｙ、Ｚ軸位置指令として、第２のサンプリング周期ごとに、Ｘ軸制御部１１ａ、Ｙ軸制御部１１ｂ及びＺ軸制御部１１ｃに送出する（ステップＳ７）。Ｘ、Ｙ、Ｚ軸制御部１１ａ〜１１ｃは、受信した各Ｘ、Ｙ、Ｚ軸位置指令に従って、各軸における送り軸を駆動し、各送り軸上の移動対象物を移動する（ステップＳ７）。
【００５１】
ここで、許容誤差量算出部６が、曲率半径の大きさに応じて許容誤差量を算出する具体的な手段について説明する。
【００５２】
以下に示す（式２）は、この算出手段の一例を示すものである（第１の算出手段）。
【数２】
2004326238.tif 000004
【００５３】
ここで、Ｅｏｒｉｇｎは設定誤差量、Ｅｏｖｒ＿ｆは許容誤差量設定比率、Ｒｍａｘは最大曲率半径、Ｒｍｉｎは最小曲率半径、Ｅｏｖｒ＿ｍｉｎは最小の許容誤差量設定比率（最小設定比率）、Ｒは許容誤差量の算出対象となる経路（ブロック）の曲率半径である。
【００５４】
これらのうち、設定誤差量（Ｅｏｒｉｇｎ）は、上述したように、誤差量設定部４に保持されたものである。また、最大曲率半径（Ｒｍａｘ）、最小曲率半径（Ｒｍｉｎ）、最小設定比率（Ｅｏｖｒ＿ｍｉｎ）は、パラメータ設定部５に保持されたものである。
【００５５】
許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は、上述したように設定誤差量（Ｅｏｒｉｇｎ）のどの程度の比率を許容誤差量（Ｅ）として認めるかを示すものであり、最小設定比率（Ｅｏｖｒ＿ｍｉｎ）以上の値を有し、１以下の値を有する。最大曲率半径（Ｒｍａｘ）は、許容誤差量（Ｅ）を算出する対象となる最大の曲率半径（Ｒ）であり、これより大きな曲率半径の場合は、（式２）の但し書き上段に示すように、許容誤差量（Ｅ）は設定誤差量（Ｅｏｒｉｇｎ）に等しくなる（このとき許容誤差量は最も大きな値となる）。最小曲率半径（Ｒｍｉｎ）は、許容誤差量（Ｅ）を算出する対象となる最小の曲率半径（Ｒ）であり、これより小さな曲率半径の場合は、（式２）の但し書き下段に示すように、許容誤差量（Ｅ）は、設定誤差量（Ｅｏｒｉｇｎ）に最小設定比率（Ｅｏｖｒ＿ｍｉｎ）を乗算したものとなる（このとき許容誤差量は最も小さな値になる）。以上からも分かるように、許容誤差量（Ｅ）の上限は設定誤差量（Ｅｏｒｉｇｎ）である。そして、曲率半径（Ｒ）が小さくなるほど許容誤差量（Ｅ）も小さくなり、許容誤差量（Ｅ）の下限は、設定誤差量（Ｅｏｒｉｇｎ）×最小設定比率（Ｅｏｖｒ＿ｍｉｎ）である。
【００５６】
以下、許容誤差量算出部６が、この（式２）に従い、許容誤差量（Ｅ）を算出する例を、図２に示す加工プログラム（ブロック（１）〜ブロック（３））を用いて説明する。
【００５７】
但し、設定誤差量（Ｅｏｒｉｇｎ）＝２０μｍ、最大曲率半径（Ｒｍａｘ）＝５０ｍｍ、最小曲率半径（Ｒｍｉｎ）＝１ｍｍ、最小設定比率（Ｅｏｖｒ＿ｍｉｎ）＝１０％とする。
【００５８】
まず、ブロック（１）では、Ｒ（０．１ｍｍ）＜Ｒｍｉｎ（１ｍｍ）となる。従って、（式２）の但し書き下段に示すように、許容誤差量は、Ｅ＝Ｅｏｒｉｇｎ×Ｅｏｖｒ＿ｍｉｎ＝２０μｍ×１０％＝２μｍとなる。
【００５９】
次に、ブロック（２）では、Ｒ（１００ｍｍ）＞Ｒｍａｘ（５０ｍｍ）となる。従って、（式２）の但し書き上段に示すように、許容誤差量は、Ｅ＝Ｅｏｒｉｇｎ×１＝２０μｍ×１＝２０μｍとなる。
【００６０】
次に、ブロック（３）では、Ｒｍｉｎ（１ｍｍ）＜Ｒ（１０ｍｍ）＜Ｒｍａｘ（５０ｍｍ）となる。従って、（式２）に示すように、許容誤差量は、Ｅ＝２０μｍ×｛（１−０．１）／４９＊９＋０．１｝＝５．３μｍとなる。
【００６１】
図５は、上の算出結果を、従来の場合と比較して示す図表である。
【００６２】
図５に示すように、従来においては、上述したように、許容誤差量の値は、曲率半径の大きさに拘わらず、一定の値（２０μｍ）とされる。このため、例えば、曲率半径が１００ｍｍと大きい場合、曲率半径に対する許容誤差量の比率は０．０２％であるのに対し、曲率半径が０．１ｍｍと小さい場合、この比率は２０％にもなる。つまり、従来においては、曲率半径が小さい場合、曲率半径に対する経路誤差（経路の逸脱量）の比率は大きくなる。
【００６３】
一方、本実施の形態においては、許容誤差量の大きさは、曲率半径が小さくなるに従って、小さくされる。従って、曲率半径が小さい場合においても、曲率半径に対する許容誤差量の比率を小さくすることができる。例えば、従来の場合においては、上述したように曲率半径が０．１ｍｍのとき、曲率半径に対する許容誤差量の比率は２０％にもなるが、本実施の形態の場合、この比率は２％である。従って、本実施の形態では、小さな曲率半径の経路においても、曲率半径に対する経路誤差の比率を小さくできることが分かる。
【００６４】
さて、次に、上述した第１の算出手段（式２）とは別の算出手段（第２の算出手段）を用いて、許容誤差量を算出する手段について説明する。
【００６５】
上述した第１の算出手段では、算出対象として図２に示す加工プログラムを用いたが、ここでは、図６に示す、３つの円弧Ａ〜Ｃからなる経路を算出対象とする。即ち、曲率半径１０ｍｍの円弧Ａ、曲率半径１ｍｍの円弧Ｂ、曲率半径０．１ｍｍの円弧Ｃを許容誤差量の算出対象とする。
【００６６】
また、この第２の算出手段では、許容誤差量の算出に当たり、以下に示す（式３）を用いる。
【数３】
2004326238.tif 000005
【００６７】
但し、Ｅｏｒｉｇｎは設定誤差量、Ｅｏｖｒ＿ｆは許容誤差量設定比率である。そして、この許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は、図７に示す、曲率半径と許容誤差量設定比率との関係を示すグラフに従うものとする。つまり、許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は、曲率半径が０．１以下のときは“１（％）”、０．１ｍｍより大きく１０ｍｍより小さいときは、“１０×曲率半径（％）”、１０ｍｍ以上のときは“１００（％）”となる。
【００６８】
この図７に示す関係に従って、図６に示す各円弧Ａ〜Ｃについて、許容誤差量を算出すると以下のようになる。但し、上述した第１の算出手段の場合と同様、設定誤差量（Ｅｏｒｉｇｎ）は２０μｍとする。
【００６９】
まず、円弧Ａの場合、曲率半径は１０ｍｍである。また、図７に示すように、曲率半径１０ｍｍのとき、許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は１００％である。よって、（式３）に示すように、許容誤差量は、Ｅ＝２０μｍ×１００％＝２０μｍである。
【００７０】
次に、円弧Ｂの場合、曲率半径は１ｍｍである。また、図７に示すように、曲率半径が１ｍｍのとき、許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は１０％である。よって、（式３）に示すように、許容誤差量は、Ｅ＝２０μｍ×１０％＝２μｍとなる。
【００７１】
次に、円弧Ｃの場合、曲率半径は０．１ｍｍである。また、図７に示すように、曲率半径が０．１ｍｍのとき、許容誤差量設定比率（Ｅｏｖｒ＿ｆ）は、１％である。よって、（式３）に示すように、許容誤差量は、Ｅ＝２０μｍ×１％＝０．２μｍとなる。
【００７２】
図８は、この算出結果を従来の場合と比較して示した図表である。
【００７３】
図８に示すように、従来においては、上述したように、曲率半径の大きさに拘わらず、許容誤差量の大きさは一定とされる。このため、例えば、曲率半径が１０ｍｍと大きい場合（円弧Ａ）、曲率半径に対する許容誤差量の比率は０．２％と小さいが、曲率半径が例えば０．１ｍｍと小さい場合（円弧Ｃ）、この比率は２０％と非常に大きくなる。
【００７４】
これに対して、本実施の形態の場合においては、曲率半径の大きさに拘わらず、曲率半径に対する許容誤差量の比率は０．２％と、非常に小さい。つまり、曲率半径が小さくなるに従い、許容誤差量も小さくされる。従って、曲率半径に対する経路誤差の比率は、小さな曲率半径においても小さくされる。
【００７５】
以上のように、本実施の形態によれば、加工経路の曲率半径の大きさに応じて設定誤差量の値を適正に調整するようにしたので、加工経路の曲率半径が小さい場合であっても、曲率半径に対する経路誤差の比率を小さくすることができる。つまり、小さな曲率半径の部分では、許容誤差量を小さくし、大きな曲率半径の部分では許容誤差量を大きくするようにしたので、曲率半径が小さいものと大きいものが混ざった加工プログラムであっても、高速且つ高精度な加工を実現することができる。
【００７６】
次に、本発明の第２の実施の形態について説明する。
【００７７】
上述の第１の実施の形態では、曲率半径の大きさに応じて設定誤差量を調整したが、本実施の形態では、曲率半径の大きさに応じて設定加速度を調整する。以下、本実施の形態について詳しく述べる。
【００７８】
図９は、本発明の第２の実施の形態としての数値制御装置１８の構成を示すブロック図である。図９中、第１の実施の形態と同等の部分には同一の符号を付してある。
【００７９】
図９に示すように、解析部２、形状認識部３は、第１の実施の形態と同様であるので詳細な説明を省略する。
【００８０】
時定数設定部１３は、設定時定数を保持している。この設定時定数は、機械仕様上許容された、切削時における最大の送り速度（最大切削送り速度）に達するまでの時間（例えば速度０ｍｍ／ｍｉｎから１００００ｍｍ／ｍｉｎに達するまでの時間）を表す。この設定時定数は、後述する許容加速度算出部１４において許容加速度を算出する際に用いられる。また、上述の最大切削送り速度は、後述する許容加速度算出部１４によって保持されている。
【００８１】
パラメータ設定部１６は、許容加速度算出部１４によって許容加速度が算出される際に用いられる各種のパラメータ、つまり、最大曲率半径、最小曲率半径、最小設定比率を保持する。より詳しくは後述する。
【００８２】
許容加速度算出部１４は、形状認識部３から形状情報を受け取り、この形状情報の内容を判断し、形状情報が円弧以外であると判断した場合は、予め保持させた切削時用の設定加速度を許容加速度として出力する。一方、許容加速度算出部１４は、形状情報が円弧であると判断した場合は、この円弧の曲率半径に応じた値を有する許容加速度（設定加速度以下の値）を算出する。許容加速度の算出に当たっては、まず、形状情報に含まれる曲率半径と、時定数設定部１３により保持された設定時定数と、パラメータ設定部５に保持された各種パラメータとを、後述する（式５）に適用して、曲率半径に応じた値を有する許容時定数（設定時定数以上の値）を求める。次いで、許容加速度算出部１４に保持された最大切削送り速度をこの許容時定数で除算して許容加速度を求める（（式６）参照）。より詳しくは後述する。許容加速度算出部１４は、図示しないバッファを備え、算出した許容加速度を、このバッファに記憶すると共に、この許容加速度と上述の形状情報とを許容速度算出部１５に送出する。
【００８３】
許容速度算出部１５は、受信した許容加速度と形状情報に含まれる曲率半径とを以下に示す（式４）に適用して、円弧切削時において加速度と曲率半径により制限される許容速度を算出する。許容速度算出部１５は、算出した許容速度を目標送り速度算出部９に送出する。
【数４】
2004326238.tif 000006
【００８４】
目標送り速度算出部９は、第１の実施の形態と同様に、解析部２における図示しないバッファから切削有無情報及び送り速度を取得し、この切削有無情報と形状認識部３から受信した形状情報とに基づいて送り速度を最適化した目標送り速度を算出する。つまり、目標送り速度算出部９は、形状情報の内容が円弧である場合は、許容速度算出部１５から受信した許容速度の範囲内でこの送り速度を最適化する。一方、目標送り速度算出部９は、形状情報の内容が円弧以外あるいは切削情報が非切削である場合は、例えば、送り速度をそのまま目標送り速度とする。目標送り速度算出部９は、算出した目標送り速度を加減速処理部１７に送出する。
【００８５】
加減速処理部１７は、目標送り速度算出部９から目標送り速度を受信すると共に、解析部２から切削有無情報及び各軸方向の移動量を取得し、さらに、許容加速度算出部１４から図示しないバッファに保存された許容加速度を取得する。そして、加減速処理部１７は、この許容加速度あるいは予め保持した非切削時用の設定加速度を超えないように、第２のサンプリング周期ごとの各軸方向の移動量を算出する（第１の実施の形態と異なり、加減速処理部１７は非切削時用の設定加速度のみを保持している）。つまり、第１の実施の形態では、切削時の場合、加減速処理部１７に予め保持させた切削時用の設定加速度に基づき加減速処理を行ったが、本実施の形態では、ブロックごとに許容加速度算出部１４によって算出された許容加速度に基づき加減速処理を行う。このようにして、加減速処理部１７は、各ブロックについて、第２のサンプリング周期ごとの各軸方向の移動量（最適化送り速度）を算出する。
【００８６】
ここで、第１の実施の形態と同様に、目標送り速度が速度Ｖ１（第１のブロック）から速度Ｖ２（第２のブロック）（Ｖ２＞Ｖ１）に変化し、この速度変化が設定加速度より大きい場合を想定する。この場合、例えば、まず、第２のブロックに関して算出された許容加速度を速度Ｖ１に加算し、加算後の速度となるような、第２のサンプリング周期当たりの各軸方向の移動量を求める。次いで、この加算後の速度にさらに許容加速度を加算し、加算後の速度となるような、各軸方向の移動量を算出する。このようにして、各軸方向の移動量を繰り返し算出し、最終的に、速度Ｖ２となる各軸方向の移動量を算出する（算出結果が速度Ｖ２を超えた場合は、その算出結果をＶ２に置き換える）。上の例では、第２のブロックにおいて加速を始めたが、第１のブロックにおいて加速を始めるようにしてもよい。この場合は、速度Ｖ１に加算する加速度として、例えば、第１のブロックに関して算出された許容加速度を用いる。
【００８７】
分配部１０及びサーボ系１１は、第１の実施の形態と同じなので、詳細な説明を省略する。
【００８８】
次に、この数値制御装置１８の動作について説明する。
【００８９】
図１０は、この数値制御装置１８の動作を説明するためのフローチャートを示す。
【００９０】
まず、第１の実施の形態と同様に、解析部２（図９参照）が加工プログラムを解析して、各ブロックについて、切削有無情報、送り速度及び第１のサンプリング周期ごとの各軸方向の切削工具の移動量を算出する（ステップＳ１１）。解析部２は、算出した切削有無情報、送り速度及び各軸方向の移動量をブロックごとに図示しないバッファに記憶すると共に、各軸方向の移動量を形状認識部３に順次送出する（ステップＳ１１）。
【００９１】
各軸方向の移動量を受信した形状認識部３は、第１の実施の形態と同様に、受信した各軸方向の移動量に基づき、形状認識を行い、形状情報を取得する（ステップＳ１２）。形状認識部３は、取得した形状情報を、許容加速度算出部１４及び目標送り速度算出部９へ送出する（ステップＳ１２）。
【００９２】
形状情報を受信した許容加速度算出部１４は、この形状情報の内容を判断し、この形状情報が円弧以外であると判断した場合は、何も行わない（ステップＳ１３）。一方、許容加速度算出部１４は、この形状情報が円弧であると判断した場合は、時定数設定部１３から設定時定数を受信し、また、パラメータ設定部１６から最大曲率半径、最小曲率半径及び最小設定比率を受信する（ステップＳ１３）。許容加速度算出部１４は、受信した曲率半径、設定時定数、最大曲率半径、最小曲率半径及び最小設定比率を、後述する（式５）に適用して許容時定数を算出する（ステップＳ１３）。そして、許容加速度算出部１４は、この許容時定数と最大切削送り速度とを後述する（式６）に適用して許容加速度を算出する（ステップＳ１３）。許容加速度算出部１４は、算出した許容加速度及び上述の形状情報を許容速度算出部１５に送出すると共に、算出した許容加速度を図示しないバッファに記憶する（ステップＳ１３）。
【００９３】
許容速度算出部１５は、受信した許容加速度及び形状情報に含まれる曲率半径を、上述の（式４）に適用して許容速度を算出する（ステップＳ１４）。許容速度を算出した許容速度算出部１５は、算出した許容速度を目標送り速度算出部９に送出する（ステップＳ１４）。
【００９４】
一方、目標送り速度算出部９は、上述の形状認識部３から形状情報を受信したら、第１の実施の形態と同様に、解析部２から切削有無情報及び送り速度を取得する（ステップＳ１５）。目標送り速度算出部９は、形状情報の内容を判断し、形状情報が円弧以外のものであると判断した場合は、切削有無情報及び送り速度に基づき目標送り速度を算出する（ステップＳ１５）。一方、目標送り速度算出部９は、形状情報の内容が円弧であると判断した場合は、解析部２から受信した送り速度と、目標送り速度算出部９から受信した許容速度を超えない範囲で最適化して目標送り度を算出する（ステップＳ１５）。目標送り速度算出部９は、算出した目標送り速度を、加減速処理部１７に送出する（ステップＳ１５）。
【００９５】
目標送り速度を受信した加減速処理部１７は、解析部２における図示しないバッファから切削有無情報及び各軸方向の移動量を受け取ると共に、許容加速度算出部１４における図示しないバッファに記憶された許容加速度を取得する（ステップＳ１６）。そして、加減速処理部１７は、受信した目標送り速度、切削有無情報、各軸方向の移動量、非切削時用の設定加速度あるいは上述の許容加速度を用いて、非切削時用の設定加速度あるいは許容加速度を超えないような、第２のサンプリング周期ごとの各軸方向の移動量を算出する。加減速処理部７は、算出した第２のサンプリング周期ごとの各軸方向の移動量を分配部１０に送出する（ステップＳ１６）。
【００９６】
各軸方向の移動量を受信した分配部１０は、第１の実施の形態と同様に、受信した受信した各軸方向の移動量（位置指令）を、Ｘ軸制御部１１ａ、Ｙ軸制御部１１ｂ及びＺ軸制御部１１ｃに送出する（ステップＳ１７）。Ｘ、Ｙ、Ｚ軸制御部１１ａ〜１１ｃは、受信した各Ｘ、Ｙ、Ｚ軸位置指令に従って、各軸における送り軸を駆動し、送り軸上の移動対象物を移動する。（ステップＳ１７）。
【００９７】
ここで、許容加速度算出部１４が、曲率半径の大きさに応じて許容加速度を算出する具体的な手段について説明する。
【００９８】
以下に示す（式５）は、曲率半径の大きさに応じて許容時定数を算出する手段の一例を、（式６）は（式５）により算出された許容時定数を用いて許容加速度を算出する手段の一例を示す。
【数５】
2004326238.tif 000007
【００９９】
ここで、（式５）において、Ｔｏｒｉｇｎは設定時定数、Ａｏｖｒ＿ｆは加速度設定比率、Ｒｍａｘは最大曲率半径、Ｒｍｉｎは最小曲率半径、Ａｏｖｒ＿ｍｉｎは最小の加速度設定比率（最小設定比率）、Ｒは許容加速度の算出対象となる経路の曲率半径である。加速度設定比率は、設定加速度のどの程度の比率を許容加速度として認めるかを表すものであり、最小設定比率（Ａｏｖｒ＿ｍｉｎ）以上で且つ１以下の値を有する。また、（式６）において、Ｆｍａｘは最大切削送り速度である。
【０１００】
これらのうち、設定時定数（Ｔｏｒｉｇｎ）は、上述したように、時定数設定部１３に保持されたものである。また、最大曲率半径（Ｒｍａｘ）、最小曲率半径（Ｒｍｉｎ）、最小設定比率（Ａｏｖｒ＿ｍｉｎ）はパラメータ設定部１６に保持されたものである。
【０１０１】
（式５）の但し書き上段に示すように、曲率半径（Ｒ）が最大曲率半径（Ｒｍａｘ）より大きいときは、許容時定数（Ｔ）は設定時定数（Ｔｏｒｉｇｎ）に等しくなる。従って、（式６）に示すように、このとき、許容加速度（Ａ）は、設定加速度に等しくなり（最大切削送り速度を設定時定数で除算したものが設定加速度）、従って、許容加速度は最も大きくなる。
【０１０２】
一方、曲率半径（Ｒ）が最大曲率半径（Ｒｍａｘ）より小さいときは、（式５）の但し書き下段に示すように、許容時定数（Ｔ）は、設定時定数（Ｔｏｒｉｇｎ）を最小設定比率（Ａｏｖｒ＿ｍｉｎ）で除算したものとなり、このとき許容時定数（Ｔ）は最も大きくなる。従って、（式６）に示すように、最大切削送り速度をこの許容時定数で除算した許容加速度（Ａ）はこのとき最も小さくなる。
【０１０３】
以上から分かるように、また、（式５）及び（式６）に示すように、曲率半径が小さくなるほど、許容加速度は小さくなる。
【０１０４】
以下、許容加速度算出部１４が、この（式５）（式６）に従って、許容加速度（Ａ）を算出する例を、図２の加工プログラム（ブロック（１）〜ブロック（３））を用いて説明する。
【０１０５】
但し、設定時定数（Ｔｏｒｉｇｎ）＝４００ｍｓｅｃ、最大曲率半径（Ｒｍａｘ）＝５０ｍｍ、最小曲率半径（Ｒｍｉｎ）＝１ｍｍ、最小設定比率（Ａｏｖｒ＿ｍｉｎ）＝１０％とする。また、最大切削送り速度（Ｆ）は、１００００ｍｍ／ｍｉｎとする。
【０１０６】
まず、ブロック（１）では、Ｒ（０．１ｍｍ）＜Ｒｍｉｎ（１ｍｍ）である。従って、（式５）の但し書き下段に示すように、許容時定数は、Ｔ＝Ｔｏｒｉｇｎ×（１／０．１）＝４００×（１／０．１）＝４０００ｍｓｅｃ＝（４０００／６００００）ｍｉｎ、となる。よって、（式６）に示すように、許容加速度は、Ａ＝１００００／（４０００／６００００）＝１５００００ｍｍ／ｍｉｎ２となる。
【０１０７】
次に、ブロック（２）では、Ｒ（１００ｍｍ）＞Ｒｍａｘ（５０ｍｍ）である。従って、（式５）の但し書き上段に示すように、許容時定数は、Ｔ＝Ｔｏｒｉｇｎ×１＝４００×１＝４００ｍｓｅｃ＝（４００／６００００）ｍｉｎとなる。よって、（式６）に示すように、許容加速度は、Ａ＝１００００／（４００／６００００）＝１５０００００ｍｍ／ｍｉｎ２となる。
【０１０８】
次に、ブロック（３）では、Ｒｍｉｎ（１ｍｍ）＜Ｒ（１０ｍｍ）＜Ｒｍａｘ（５０ｍｍ）である。従って、（式５）に示すように、許容時定数は、Ｔ＝４００×［１／｛（１−０．１）／４９＊９＋０．１｝］＝１５０８ｍｓｅｃ＝（１５０８／６００００）ｍｉｎとなる。よって、（式６）に示すように、許容加速度は、Ａ＝１００００／（１５０８／６００００）＝３９７８７８ｍｍ／ｍｉｎ２となる。
【０１０９】
図１１は、上の算出結果を、従来の場合と比較して示した図表である。
【０１１０】
図１１に示すように、従来においては、曲率半径の大きさに拘わらず、許容加速度は一定である（従来の許容加速度は、設定加速度と同じ、つまり、最大切削送り速度（１００００ｍｍ／ｓｅｃ）を設定時定数（４００ｍｓｅｃ）で除算したものと同じである）。
【０１１１】
これに対し、本実施の形態においては、曲率半径が小さくなるに従って、許容加速度は小さくされる。よって、小さな曲率半径の経路が連続した複雑な経路において頻繁な加減速による連続した振動が発生した場合であっても、加減速に付与される加速度は小さいため、振動の大きさを可及的に小さいものとすることができる。
【０１１２】
次に、本実施の形態による効果を、上述の加工プログラムとは別の例を用いて説明する。
【０１１３】
図１２（ａ）は、ある加工プログラムに記述された加工経路を示す。図１２（ｂ）−１は、従来の手法によりこの加工プログラムに基づく加工を行った場合におけるＸ座標と速度との関係を示す。図１２（ｂ）−２は、本実施の形態によりこの加工プログラムに基づく加工を行った場合におけるＸ座標と速度との関係を示す。
【０１１４】
図１２（ａ）に示すように、経路Ｎ０−Ｎ１、Ｎ２−Ｎ３、Ｎ４−Ｎ５は直線、Ｎ１−Ｎ２は曲率半径１０ｍｍの円弧、Ｎ３−Ｎ４は曲率半径５０ｍｍの円弧である。そして、Ｎ５−Ｎ１１は、曲率半径１ｍｍと２ｍｍの円弧が交互に配置された経路、つまり、大きさの異なる曲率半径の円弧が連続した複雑な経路である。
【０１１５】
図１２（ｂ）−１に示すように、従来においては、例えば、複雑な経路Ｎ５−Ｎ１１における各ノードＮ５、Ｎ６・・・Ｎ１１（曲率の変わる部分）や、経路Ｎ６−Ｎ７、Ｎ８−Ｎ９、Ｎ１０−Ｎ１１の間において、加減速が開始あるいは終了されている。加速時及び減速時に付与される加速度の大きさ（速度の傾き）は、図１２（ｂ）−１に示すように、大きい。従って、加減速の開始及び終了の度に大きな振動が発生し、精細な加工が困難となる。なお、例えば、Ｒ１０ｍｍの経路Ｎ１−Ｎ２における始点及び終点（Ｎ１、Ｎ２）、及びＲ５０ｍｍの経路Ｎ３−Ｎ４における始点及び終点（Ｎ３、Ｎ４）においても、加減速が終了及び開始されているが、この際の加速度の付与は、単発的なものなので問題になりにくい。
【０１１６】
一方、図１２（ｂ）−２に示すように、本実施の形態においても、従来と同様に、加減速が開始あるいは終了されているものの、加減速時に付与される加速度の大きさ（速度の傾き）は小さい。このため、加減速に伴い発生する振動の大きさは、従来の場合よりも低減され、よって、複雑な経路においても精度の高い加工が可能となる。
【０１１７】
本実施の形態では、許容加速度の算出する際、まず、許容時定数を算出し、その後、最大切削送り速度をこの許容時定数で除算した。しかしながら、設定加速度を加速度設定比率に乗算することにより許容加速度を算出するようにしてもよい。
【０１１８】
以上のように、本実施の形態によれば、曲率半径の大きさに応じて設定加速度を調整するようにしたので、複雑な経路において連続して発生する振動を小さいくすることができる。従って、複雑な部分と緩やかな部分とが混ざった加工プログラムであっても、高速且つ高精度な加工を行うことができる。
【０１１９】
以上に説明した第１及び第２の実施の形態はそれぞれ別個のものとして説明したが、これら第１及び第２の実施の形態を組み合わせることもできる。
【０１２０】
【発明の効果】
本発明によれば、加工経路の曲率半径の大きさに応じて、設定誤差量あるいは設定加速度を調整するようにしたので、精度の高い加工を高速に行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態としての数値制御装置の構成を示すブロック図である。
【図２】加工プログラムの一例を示す図である。
【図３】図２の加工プログラムに従った加工経路を示す図である。
【図４】第１の実施の形態に従った数値制御装置の動作を説明するためのフローチャートを示す図である。
【図５】曲率半径に対する許容誤差量の比率を、従来と本実施の形態との場合とで比較して示す図表である。
【図６】３つの円弧Ａ〜Ｃからなる経路を示す図である。
【図７】曲率半径と許容誤差量設定比率との関係を示すグラフである。
【図８】曲率半径に対する許容誤差量の比率を従来と第２の算出手段との場合とで比較して示した図表である。
【図９】本発明の第２の実施の形態としての数値制御装置の構成を示すブロック図である。
【図１０】本発明の第２の実施の形態に従った数値制御装置の動作を説明するためのフローチャートを示す図である。
【図１１】許容加速度の値を、従来と本実施の形態の場合とで比較して示した図表である。
【図１２】図１２（ａ）は、ある加工プログラムに記述された加工経路を示す。図１２（ｂ）−１は、この加工プログラムを従来の手法を用いて実行した場合における、Ｘ座標と速度との関係を示す。図１２（ｂ）−２は、この加工プログラムを本実施の形態を用いて実行した場合のＸ座標と速度との関係を示す。
【符号の説明】
１、１８  数値制御装置
２  解析部
３  形状認識部
４  誤差量設定部
５、１６  パラメータ設定部
６  許容誤差量算出部
８、１５  許容速度算出部
９  目標速度算出部
１０  分配部
１１  サーボ系
１３  時定数設定部
１４  許容加速度算出部
【図１】
2004326238.tif 000008
【図２】
2004326238.tif 000009
【図３】
2004326238.tif 000010
【図４】
2004326238.tif 000011
【図５】
2004326238.tif 000012
【図６】
2004326238.tif 000013
【図７】
2004326238.tif 000014
【図８】
2004326238.tif 000015
【図９】
2004326238.tif 000016
【図１０】
2004326238.tif 000017
【図１１】
2004326238.tif 000018
【図１２】
2004326238.tif 000019