(57)【特許請求の範囲】
【請求項１】
工具姿勢ベクトルの修正量のトレランスを受け付ける工具姿勢ベクトルのトレランス入力部と、
平滑化前の回転軸角度から算出される工具姿勢と前記工具姿勢ベクトルの修正量のトレランスとに基づいて回転軸の角度の修正量のトレランスを決定する回転軸トレランス決定部と、
回転軸の角度変化が滑らかになるように前記平滑化前の回転軸角度に平滑化処理を行い平滑化後の回転軸角度を算出する回転軸角度平滑化処理部と、
前記平滑化後の回転軸角度が前記平滑化前の回転軸角度から前記回転軸の角度の修正量のトレランスの範囲内に収まるように前記平滑化後の回転軸角度を修正する回転軸角度決定部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記回転軸角度平滑化処理部は、前記回転軸の角度の修正量のトレランスが予め定めた値以上となる角度の指令値を除いて平滑化処理を行なう
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
回転軸の角度に応じた基準トレランスとトレランス倍率とに基づいて回転軸の角度に応じたトレランスを算出する回転軸の角度に応じたトレランス入力部と、
前記回転軸の角度に応じたトレランスと平滑化前の回転軸角度とに基づいて回転軸の角度の修正量のトレランスを決定する回転軸トレランス決定部と、
回転軸の角度変化が滑らかになるように前記平滑化前の回転軸角度に平滑化処理を行い平滑化後の回転軸角度を算出する回転軸角度平滑化処理部と、
前記平滑化後の回転軸角度が前記平滑化前の回転軸角度から前記回転軸の角度の修正量のトレランスの範囲内に収まるように前記平滑化後の回転軸角度を修正する回転軸角度決定部と、
を備え、
前記回転軸角度平滑化処理部は、前記回転軸の角度の修正量のトレランスが予め定めた値以上となる角度の指令値を除いて平滑化処理を行なう
ことを特徴とする数値制御装置。
【請求項４】
前記基準トレランスを保持する回転軸の角度に応じた基準トレランス保持部と、
前記基準トレランスに対応するトレランス倍率を受け付けるトレランス倍率入力部と、
を備え、
前記基準トレランスに前記トレランス倍率を乗算したものを前記回転軸の角度に応じたトレランスとする
ことを特徴とする請求項３に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムに基づいて、工作機械を動作させる数値制御装置に関する。
【背景技術】
【０００２】
工作機械を動作させる加工プログラムを作成する際には、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）を用いることが多いが、ＣＡＭで作成された指令位置および姿勢には、収束計算時の打切り誤差または出力桁数の制限による丸め誤差が含まれている場合がある。これらの誤差が原因となって、本来表現したい軌跡は滑らかに変化しているにも関わらず、出力された指令では軌跡の滑らかさが失われる、或いは特定の軸について微小な往復動作が発生する、といったことが起こり得る。【０００３】
上述のような滑らかでない軌跡を含む指令は、機械動作時の振動または加工面上の傷の原因となる可能性がある。従って、これらを避けるため、従来から、加工プログラムの指令を平滑化する機能が用いられている。そのような技術として、例えば、特許文献１に記載された技術がある。【０００４】
特許文献１においては、曲線形状を線分で近似した指令点の指令データを平滑化して曲線を求め、スムージングされた曲線と設定された許容修正量を示すトレランス量で指令データの最小単位より細かい単位で指令点を修正する。これによって工作機械の駆動時の加速度を小さくし、修正された指令点を用いて各移動成分の加速度が規定値以内に収まるような速度を演算し、速度制御を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９５８１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術においては、指令点の修正量を制限するトレランス量が一定であり、工作機械の回転軸のように同じ修正量を与えた際に現在の工具位置姿勢に依存して修正前後の工具位置姿勢の変化量が変わる軸に対しては適用出来ないという問題があった。即ち、回転軸の様に、その時々の状態に応じて工具の位置姿勢に与える影響が変化する軸に対しての指令値の修正が出来ないという問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、工具の位置姿勢に与える影響が変化する軸に対しての指令値の修正を可能にする数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、工具姿勢ベクトルの修正量のトレランスを受け付ける工具姿勢ベクトルのトレランス入力部と、平滑化前の回転軸角度から算出される工具姿勢と工具姿勢ベクトルの修正量のトレランスとに基づいて回転軸の角度の修正量のトレランスを決定する回転軸トレランス決定部と、回転軸の角度変化が滑らかになるように平滑化前の回転軸角度に平滑化処理を行い平滑化後の回転軸角度を算出する回転軸角度平滑化処理部と、平滑化後の回転軸角度が平滑化前の回転軸角度から回転軸の角度の修正量のトレランスの範囲内に収まるように平滑化後の回転軸角度を修正する回転軸角度決定部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明にかかる数値制御装置は、工具の位置姿勢に与える影響が変化する軸に対しての指令値の修正を可能にするという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１にかかる数値制御装置の構成を示すブロック図
【図２】実施の形態１にかかる数値制御装置のハードウェア構成を示す図
【図３】実施の形態１における指令生成処理の流れを説明するフローチャート
【図４】実施の形態１にかかる工具姿勢ベクトルと回転軸との関係を示す図
【図５】実施の形態１における工具姿勢ベクトルを一定量変化させた際の回転軸角度との対応図
【図６】実施の形態１における図５の拡大図
【図７】実施の形態１にかかる工具姿勢に依存した回転軸のトレランスを適用せずに加工プログラムに従った場合の回転軸の角度変化を示す図
【図８】実施の形態１にかかる工具姿勢に依存した回転軸のトレランスを適用せずに加工プログラムに従った場合の回転軸の角度変化を示す図
【図９】本発明の実施の形態２にかかる数値制御装置の構成を示すブロック図
【図１０】実施の形態２における指令生成処理の流れを説明するフローチャート
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置１０１の構成を示すブロック図である。数値制御装置１０１は、回転軸のトレランス量を算出する回転軸トレランス決定部１０２と、回転軸の角度変化が滑らかになるように平滑化処理を行う回転軸角度平滑化処理部１０３と、平滑化後の回転軸角度を修正する回転軸角度決定部１０４と、を備える。
【００１３】
数値制御装置１０１は、回転軸トレランス決定部１０２に工具姿勢ベクトル修正量のトレランスを入力する工具姿勢ベクトルのトレランス入力部１０５と、回転軸トレランス決定部１０２および回転軸角度平滑化処理部１０３に加工プログラム中に記載された各軸の指令値を入力する加工プログラム読み取り部１０６と、修正後の回転軸角度を受け取って指令経路の補間点を算出する指令経路補間部１０７と、指令経路補間部１０７から補間点を受け取って出力する補間点出力部１０８と、をさらに備える。
【００１４】
図２は、実施の形態１にかかる数値制御装置１０１のハードウェア構成を示す図である。数値制御装置１０１は、演算処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）といった演算装置４１と、演算装置４１がワークエリアに用いるメモリ４２と、加工プログラムといったソフトウェアを記憶する記憶装置４３と、ユーザとの間の入力インタフェースである入力装置４４と、ユーザに情報を表示する表示装置４５と、工作機械との通信機能を有する通信装置４６と、を備える。図１に示した、数値制御装置１０１の機能は、演算装置４１がソフトウェアを実行することにより実現される。
【００１５】
回転軸トレランス決定部１０２は、工具姿勢ベクトルのトレランス入力部１０５から工具姿勢ベクトルの修正量のトレランスを受け取り、加工プログラム読み取り部１０６から各軸の指令値を受け取る。なお、工具姿勢ベクトルの修正量のトレランスの指定方法としては、修正前後のベクトル間の角度を指定する方法が考えられる。ただし、これに限定されるものではない。そして、回転軸トレランス決定部１０２は、工具姿勢ベクトルの修正量のトレランスおよび各軸の指令値である平滑化前の回転軸角度から算出される工具姿勢に基づいて、回転軸の角度の修正量のトレランスを算出して回転軸角度決定部１０４に出力する。
【００１６】
回転軸角度平滑化処理部１０３は、加工プログラム読み取り部１０６から各軸の指令値である平滑化前の回転軸角度を受け取り、回転軸の角度変化が滑らかになるように平滑化前の回転軸角度に平滑化処理を行う。すなわち、回転軸角度平滑化処理部１０３は、加工プログラムに記述されたブロック毎の与えられた指令点列から着目点における平滑化後の回転軸角度を算出する。そして、回転軸角度平滑化処理部１０３は、平滑化前および平滑化後の回転軸角度を回転軸角度決定部１０４に出力する。平滑化処理の方法としては、最小２乗近似による直線或いは曲線の当てはめを行う方法、またはスプライン曲線のフィッティングといった方法が挙げられる。ただし、これらに限定されるものではない。
【００１７】
回転軸角度決定部１０４は、回転軸トレランス決定部１０２から回転軸の角度の修正量のトレランスを受け取り、回転軸角度平滑化処理部１０３から平滑化前および平滑化後の回転軸角度を受け取る。回転軸角度決定部１０４は、平滑化後の回転軸角度が平滑化前の回転軸角度から回転軸の角度の修正量のトレランスの範囲内に収まるように、平滑化後の回転軸角度を修正する。修正方法としては、回転軸ごとにトレランスで変更量を制限する方法、または回転軸を各軸とする座標空間上での平滑化前後の点を結ぶベクトルの方向を保ちながら、平滑化前後の点を結ぶベクトルの長さをトレランス内に制限する方法が挙げられる。ただし、これらに限定されるものではない。
【００１８】
工具姿勢ベクトルのトレランス入力部１０５は、工具姿勢ベクトルの修正量のトレランスをユーザから受け付け、回転軸トレランス決定部１０２に出力する。
【００１９】
加工プログラム読み取り部１０６は、加工プログラムから各軸の指令値を読み取り、回転軸トレランス決定部１０２、回転軸角度平滑化処理部１０３および指令経路補間部１０７に出力する。
【００２０】
指令経路補間部１０７は、回転軸角度決定部１０４から修正後の回転軸角度を受け取り、加工プログラム読み取り部１０６から各軸の指令値を受け取り、工具位置および修正後の回転軸角度について、サーボアンプといった駆動系への指令周期で指令経路の補間点を算出し、補間点出力部１０８に出力する。
【００２１】
補間点出力部１０８は、指令経路補間部１０７から指令経路の補間点を受け取り、サーボアンプといった駆動系に出力する。
【００２２】
図３は、実施の形態１における指令生成処理の流れを説明するフローチャートである。以下、実施の形態１における回転軸角度の修正処理の流れの詳細について、図３に示したフローチャートに基づいて説明する。
【００２３】
まず、工具姿勢ベクトルのトレランス入力部１０５は、工具姿勢の修正量のトレランスを受け取り、回転軸トレランス決定部１０２に出力する（ステップＳ１０１）。
【００２４】
ついで、加工プログラム読み取り部１０６が、加工プログラムに読み取っていない行があるか否かを確認する（ステップＳ１０２）。加工プログラムの全ての行を読み終わっている場合（ステップＳ１０２：Ｎｏ）、全体の処理を終了する。
【００２５】
読み取っていない行がある場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０３に進み、加工プログラム読み取り部１０６は、加工プログラムの読み取り済みの行の次の行を読み取り、各軸の指令値を抽出する（ステップＳ１０３）。
【００２６】
ついで、回転軸トレランス決定部１０２は、加工プログラム読み取り部１０６から各軸の指令値を受け取り、受け取った各軸の指令値、即ち平滑化前の回転軸角度から算出される工具姿勢と、工具姿勢ベクトルのトレランス入力部１０５から受け取った工具姿勢の修正量のトレランスと、に基づいて回転軸の角度の修正量のトレランスを決定する（ステップＳ１０４）。
【００２７】
ついで、回転軸角度平滑化処理部１０３は、加工プログラム読み取り部１０６から各軸の指令値、即ち平滑化前の回転軸角度を受け取り、回転軸の角度の平滑化処理を行って平滑化後の回転軸角度を算出し、平滑化前および平滑化後の回転軸角度を回転軸角度決定部１０４に出力する（ステップＳ１０５）。
【００２８】
ついで、回転軸角度決定部１０４は、平滑化後の回転軸角度が平滑化前の回転軸角度から回転軸の角度の修正量のトレランスの範囲内に収まるように平滑化後の回転軸角度を修正する（ステップＳ１０６）。
【００２９】
ついで、指令経路補間部１０７は、回転軸角度決定部１０４から修正後の回転軸角度を受け取り、加工プログラム読み取り部１０６から各軸の指令値を受け取り、加工プログラムの工具位置および修正後の回転軸角度に基づいて、サーボアンプといった駆動系への指令周期での指令経路の補間点を算出し、補間点出力部１０８に出力する（ステップＳ１０７）。
【００３０】
ついで、指令経路補間部１０７から指令経路の補間点を受け取った補間点出力部１０８は、指令経路の補間点をサーボアンプといった駆動系に出力し（ステップＳ１０８）、ステップＳ１０２に戻る。
【００３１】
以下、実施の形態１にかかる数値制御装置１０１により得られる効果を説明する。
【００３２】
図４は、実施の形態１にかかる工具姿勢ベクトルの変化と回転軸との関係を示す概念図である。図４では、ワーク１０に垂直に回転軸であるＣ軸が設定されている場合を示しており、Ｃ軸からＢ軸の角度だけ傾いた方向に工具姿勢ベクトル１が向いている状況を示している。Ｂ軸は図示しないが、ワーク１０と共に回転するように設定されている。工具姿勢ベクトル１が変化角度２だけずれた位置が円錐面３で示されている。図４におけるＢ軸およびＣ軸の設定は一つの具体例であり、このような設定に限定されるわけではない。
【００３３】
図５は、実施の形態１における工具姿勢ベクトルを一定量変化させた際の回転軸角度との対応図である。図６は、実施の形態１における図５の拡大図である。図５および図６は、具体的にはＢ軸の角度およびＣ軸の角度と円錐面３上の工具姿勢ベクトル群との関係を示した図になっている。図６は、図５におけるＣ軸の角度が９０［ｄｅｇ］の周辺をＣ軸の角度の方向に拡大した図である。図５および図６は、工具姿勢ベクトル１の回転軸の角度が、（Ｂ軸の角度［ｄｅｇ］，Ｃ軸の角度［ｄｅｇ］）＝（０［ｄｅｇ］，９０［ｄｅｇ］），（５［ｄｅｇ］，９０［ｄｅｇ］），（１０［ｄｅｇ］，９０［ｄｅｇ］），（２０［ｄｅｇ］，９０［ｄｅｇ］），（３０［ｄｅｇ］，９０［ｄｅｇ］），（４０［ｄｅｇ］，９０［ｄｅｇ］）のそれぞれの場合において、工具姿勢ベクトル１を変化角度２だけずらした円錐面３上の姿勢ベクトル群をＢ軸の角度およびＣ軸の角度からなる座標上にプロットした状況を示している。図５および図６では、変化角度２を１［ｄｅｇ］としているが、Ｂ軸の角度の値が小さいほど、工具姿勢が特異姿勢に近づくので工具姿勢変化量である変化角度２が同じであっても、回転軸の角度、即ちＣ軸の角度に与える影響が大きいことが分かる。
【００３４】
図７および図８は、実施の形態１にかかる工具姿勢に依存した回転軸のトレランスを適用せずに加工プログラムに従った場合の回転軸の角度変化を示す図である。図７は、横軸を工具先端の移動量Ｌ［ｍｍ］、縦軸をＢ軸の角度［ｄｅｇ］で示してある。図８は、横軸を工具先端の移動量Ｌ［ｍｍ］、縦軸をＣ軸の角度［ｄｅｇ］で示してある。図７および図８では、加工プログラムの指令で不要な軸反転が生じている箇所が示されている。
【００３５】
図７および図８に示すグラフは、ある加工プログラムの中で、回転軸の不要な軸反転が発生している箇所を抜粋して示したものである。Ｂ軸の角度が０［ｄｅｇ］近くであることから、Ｃ軸の角度の大きな変化が工具姿勢に与える影響は小さいために不要な軸移動および軸反転が起こっていると考えられる。ＣＡＭによりこのようなプログラムが生成される理由としては、工具姿勢を算出する際の工具姿勢変化は微小であっても、図５および図６に示したように、工具姿勢変化に対応するＣ軸の角度の変化が大きいからであると考えられる。
【００３６】
このような加工プログラムをそのまま動作させると、Ｃ軸の角度の変化が大きいため加減速による速度変化が大きくなり仕上げ面に傷などが生じる可能性がある。また、加減速による待ち時間分だけ加工時間が延びるといった様々な問題が生じる。
【００３７】
しかし、実施の形態１にかかる数値制御装置１０１によれば、回転軸の角度を平滑化する際に、工具姿勢ベクトルの修正量が与えられたトレランス内に収まるように回転軸の角度の修正量のトレランスを決定して回転軸の角度の修正を行う。すなわち、工具姿勢の変化量が一定となるように回転軸の角度の修正量のトレランスを算出し、そのトレランス内で回転軸の角度の平滑化を実施する。
【００３８】
したがって、工具の位置姿勢に与える影響が変化する軸に対しての指令値の修正が可能になる。その結果、上記の例でＢ軸の角度の値が小さい場合のように工具姿勢に与える影響が小さい箇所では回転軸であるＣ軸の角度の修正量を大きくすることが可能となり回転軸角度の不要な反転または変化を抑制できる。同時に、Ｂ軸の角度の値が大きい場合のように工具姿勢に与える影響が大きい箇所では、回転軸であるＣ軸の角度の修正量を小さく制限することで回転軸角度の過剰な修正を防いでユーザが意図した経路からのずれを抑制することが可能となる。
【００３９】
また、実施の形態１のＳ１０５における回転軸の平滑化処理において、回転軸の角度の修正量のトレランスが予め定めた値以上となる角度の指令値を参照点から除いて平滑化処理を行うようにしてもよい。回転軸の角度の修正量のトレランスが大きい指令においては、回転軸の角度の変化が工具姿勢に与える影響が小さいので、ＣＡＭが加工プログラムの指令値を生成する際に、工具姿勢のわずかな変化により角度が大きく反転している場合がある。従って、回転軸の角度の修正量のトレランスが予め定めた値以上となる箇所における指令値よりもその前後の指令値の方が意味のある情報を持っている可能性が高くなる。したがって、そのような角度の指令値を除いて平滑化することにより、工具姿勢に与える影響が小さい箇所において回転軸の不要な反転または変化が生じている場合に、より効率的に平滑化することが可能となる。
【００４０】
実施の形態２．
図９は、本発明の実施の形態２にかかる数値制御装置２０１の構成を示すブロック図である。数値制御装置２０１は、回転軸のトレランス量を算出する回転軸トレランス決定部２０２と、回転軸の角度変化が滑らかになるように平滑化処理を行う回転軸角度平滑化処理部１０３と、平滑化後の回転軸角度を修正する回転軸角度決定部１０４と、を備える。
【００４１】
数値制御装置２０１は、回転軸の角度に応じた各回転軸のトレランス量の基準値である基準トレランスを保持する回転軸の角度に応じた基準トレランス保持部２０４と、基準トレランスに対するトレランス倍率をユーザから受け付けるトレランス倍率入力部２０５と、回転軸の角度に応じたトレランスを求める回転軸の角度に応じたトレランス入力部２０３と、回転軸トレランス決定部２０２および回転軸角度平滑化処理部１０３に加工プログラム中に記載された各軸の指令値を入力する加工プログラム読み取り部１０６と、修正後の回転軸角度を受け取って指令経路の補間点を算出する指令経路補間部１０７と、指令経路補間部１０７から補間点を受け取って出力する補間点出力部１０８と、をさらに備える。
【００４２】
数値制御装置２０１のハードウェア構成は、図２に示されたものと同様であり、図９に示した、数値制御装置２０１の機能は、回転軸の角度に応じた基準トレランス保持部２０４を除いて演算装置４１がソフトウェアを実行することにより実現される。回転軸の角度に応じた基準トレランス保持部２０４の機能は、メモリ４２または記憶装置４３により実現される。
【００４３】
回転軸トレランス決定部２０２は、回転軸の角度に応じたトレランス入力部２０３から回転軸の角度に応じたトレランスを受け取り、加工プログラム読み取り部１０６から各回転軸の指令値である平滑化前の回転軸角度を受け取る。そして、回転軸の角度に応じたトレランスおよび平滑化前の回転軸の角度に基づいて、現在の回転軸の角度の値に対する回転軸の角度の修正量のトレランスを算出して回転軸角度決定部１０４に出力する。
【００４４】
回転軸角度平滑化処理部１０３の機能は、実施の形態１で説明したのと同じである。
【００４５】
回転軸角度決定部１０４は、回転軸トレランス決定部２０２から回転軸のトレランスを受け取り、回転軸角度平滑化処理部１０３から平滑化前および平滑化後の回転軸角度を受け取る。回転軸角度決定部１０４の機能は、実施の形態１で説明したのと同じである。
【００４６】
回転軸の角度に応じた基準トレランス保持部２０４は、回転軸の角度に応じた各回転軸のトレランス量の基準値である基準トレランスを保持し、回転軸の角度に応じたトレランス入力部２０３に出力する。回転軸の角度に応じた基準トレランス保持部２０４は、基準トレランスを予め保持しているので、ユーザの入力の手間が省けて設定が容易となる。
【００４７】
トレランス倍率入力部２０５は、基準トレランスに対するトレランス倍率をユーザから受け付け、回転軸の角度に応じたトレランス入力部２０３に出力する。
【００４８】
回転軸の角度に応じたトレランス入力部２０３は、回転軸の角度に応じた基準トレランス保持部２０４から基準トレランスを受け取り、トレランス倍率入力部２０５から基準トレランスに対するトレランス倍率を受け取る。回転軸の角度に応じたトレランス入力部２０３は、基準トレランスにトレランス倍率を乗算したものを回転軸の角度に応じたトレランスとして算出し、回転軸の角度に応じたトレランスを回転軸トレランス決定部２０２に出力する。
【００４９】
回転軸の角度に応じたトレランスは、回転軸が回転軸ａ，ｂおよびｃと複数ある場合に、回転軸ａの値に応じた回転軸ａのトレランスを表す場合もあるが、回転軸ａの値に応じた他の回転軸ｂまたは回転軸ｃのトレランスを表す場合もある。また、回転軸の角度に応じたトレランスの表現方法としては、一定範囲の角度毎に定めたトレランステーブルとして表現する方法、または、回転軸の角度をパラメータとする式として表現する方法が考えられる。ただし、これらに限定されない。
【００５０】
加工プログラム読み取り部１０６は、加工プログラムから各軸の指令値を読み取り、回転軸トレランス決定部２０２、回転軸角度平滑化処理部１０３および指令経路補間部１０７に出力する。
【００５１】
指令経路補間部１０７および補間点出力部１０８の機能は、実施の形態１で説明したのと同じである。
【００５２】
図１０は、実施の形態２における指令生成処理の流れを説明するフローチャートである。以下、実施の形態２における回転軸角度修正処理の流れの詳細について、図１０に示したフローチャートに基づいて説明する。
【００５３】
まず、トレランス倍率入力部２０５は、回転軸の角度毎の基準トレランスに対するトレランス倍率を受け取る（ステップＳ２０１）。
【００５４】
ついで、回転軸の角度に応じたトレランス入力部２０３は、回転軸の角度に応じた基準トレランス保持部２０４から回転軸の角度に応じた基準トレランスを受け取り（ステップＳ２０２）、トレランス倍率入力部２０５からトレランス倍率を受け取り、基準トレランスの各値にトレランス倍率を乗算した値を回転軸の角度に応じたトレランスとする（ステップＳ２０３）。そして、回転軸の角度に応じたトレランス入力部２０３は、回転軸の角度に応じたトレランスを回転軸トレランス決定部２０２に出力する。
【００５５】
ついで、加工プログラム読み取り部１０６が、加工プログラムに読み取っていない行があるか否かを確認する（ステップＳ２０４）。加工プログラムの全ての行を読み終わっている場合（ステップＳ２０４：Ｎｏ）、全体の処理を終了する。
【００５６】
読み取っていない行がある場合（ステップＳ２０４：Ｙｅｓ）、ステップＳ２０５に進み、加工プログラム読み取り部１０６は、加工プログラムの読み取り済みの行の次の行を読み取り、各軸の指令値を抽出する（ステップＳ２０５）。
【００５７】
ついで、回転軸トレランス決定部２０２が、加工プログラム読み取り部１０６から各軸の指令値を受け取り、受け取った各軸の指令値から得られる回転軸の角度と、回転軸の角度に応じたトレランスと、に基づいて回転軸のトレランスを決定する（ステップＳ２０６）。
【００５８】
ついで、回転軸角度平滑化処理部１０３は、加工プログラム読み取り部１０６から各軸の指令値を受け取り、回転軸の角度の平滑化処理を行って平滑化後の回転軸角度を算出し、平滑化前および平滑化後の回転軸角度を回転軸角度決定部１０４に出力する（ステップＳ２０７）。
【００５９】
ついで、回転軸角度決定部１０４は、平滑化後の回転軸角度が平滑化前の回転軸角度から回転軸の角度の修正量のトレランスの範囲内に収まるように平滑化後の回転軸角度を修正する（ステップＳ２０８）。
【００６０】
ついで、指令経路補間部１０７は、回転軸角度決定部１０４から修正後の回転軸角度を受け取り、加工プログラム読み取り部１０６から各軸の指令値を受け取り、加工プログラムの工具位置および修正後の回転軸角度に基づいて、サーボアンプといった駆動系への指令周期での指令経路の補間点を算出し、補間点出力部１０８に出力する（ステップＳ２０９）。
【００６１】
ついで、指令経路補間部１０７から指令経路の補間点を受け取った補間点出力部１０８は、指令経路の補間点をサーボアンプといった駆動系に出力し（ステップＳ２１０）、ステップＳ２０４に戻る。
【００６２】
以上のように、実施の形態２にかかる数値制御装置２０１によれば、回転軸の角度を平滑化する際に、実施の形態１とは異なり、回転軸の角度に応じたトレランスに基づいて、回転軸の角度の修正量を変化させる。このようなアプローチによっても、工具の位置姿勢に与える影響が変化する軸に対しての指令値の修正が可能になる。その結果、実施の形態１で説明したＢ軸の角度の値が小さい場合のように工具姿勢に与える影響が小さい箇所では回転軸であるＣ軸の角度の修正量を大きくすることが可能となり回転軸角度の不要な反転または変化を抑制できる。同時に、Ｂ軸の角度の値が大きい場合のように工具姿勢に与える影響が大きい箇所では、回転軸であるＣ軸の角度の修正量を小さく制限することで回転軸角度の過剰な修正を防いでユーザが意図した経路からのずれを抑制することが可能となる。
【００６３】
また、実施の形態２のＳ２０７における回転軸の平滑化処理においても、回転軸の角度の修正量のトレランスが予め定めた値以上となる角度の指令値を参照点から除いて平滑化処理を行うようにしてもよい。
【００６４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６５】
１  工具姿勢ベクトル、２  変化角度、３  円錐面、１０  ワーク、４１  演算装置、４２  メモリ、４３  記憶装置、４４  入力装置、４５  表示装置、４６  通信装置、１０１，２０１  数値制御装置、１０２，２０２  回転軸トレランス決定部、１０３  回転軸角度平滑化処理部、１０４  回転軸角度決定部、１０５  工具姿勢ベクトルのトレランス入力部、１０６  加工プログラム読み取り部、１０７  指令経路補間部、１０８  補間点出力部、２０３  回転軸の角度に応じたトレランス入力部、２０４  回転軸の角度に応じた基準トレランス保持部、２０５  トレランス倍率入力部。
【要約】
数値制御装置は、工具姿勢ベクトルの修正量のトレランスを受け付ける工具姿勢ベクトルのトレランス入力部（１０５）と、平滑化前の回転軸角度から算出される工具姿勢と工具姿勢ベクトルの修正量のトレランスとに基づいて回転軸の角度の修正量のトレランスを決定する回転軸トレランス決定部（１０２）と、回転軸の角度変化が滑らかになるように平滑化前の回転軸角度に平滑化処理を行い平滑化後の回転軸角度を算出する回転軸角度平滑化処理部（１０３）と、平滑化後の回転軸角度が平滑化前の回転軸角度から回転軸の角度の修正量のトレランスの範囲内に収まるように平滑化後の回転軸角度を修正する回転軸角度決定部（１０４）と、を備える。【図１】
0006000496.tif 000002
【図２】
0006000496.tif 000003
【図３】
0006000496.tif 000004
【図４】
0006000496.tif 000005
【図５】
0006000496.tif 000006
【図６】
0006000496.tif 000007
【図７】
0006000496.tif 000008
【図８】
0006000496.tif 000009
【図９】
0006000496.tif 000010
【図１０】
0006000496.tif 000011