(57)【要約】【課題】加工面品質をより向上できる数値制御装置を提供する。【解決手段】数値制御装置は、駆動軸の複数の移動点のうち、連続して並ぶ始点Ｐｓ、対象点Ｐｔ、終点Ｐｅの３点を通る通過円弧Ｃの半径である第一半径ｒａを前記対象点Ｐｔにおける曲率半径Ｒとして算出する曲率半径算出部と、前記通過円弧Ｃに対する弦誤差Ｅを算出し、予め規定された許容誤差と前記算出された弦誤差Ｅとを比較する点列評価部と、前記算出された弦誤差Ｅが前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点Ｐｔにおける曲率半径を前記第二半径に修正する曲率半径修正部と、前記対象点Ｐｔにおける曲率半径に基づいて、前記対象点Ｐｔにおける前記駆動軸の許容通過速度を算出する速度算出部と、を備える。【選択図】図８
2020038555.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置であって、
前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の３点を通る通過円弧の半径である第一半径を前記対象点における曲率半径として算出する曲率半径算出部と、
前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較する点列評価部と、
前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正する曲率半径修正部と、
前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する速度算出部と、
を備えることを特徴とする数値制御装置。
【請求項２】
請求項１に記載の数値制御装置であって、
前記曲率半径修正部は、始点から対象点を経て終点に進行する際の対象点での折れ角をθ、前記許容誤差をＥｄｅｆとした場合、前記第二半径ｒｂを、ｒｂ＝Ｅｄｅｆ／（１−ｃｏｓ（θ／２））の式に基づいて算出する、ことを特徴とする数値制御装置。
【請求項３】
請求項１または２に記載の数値制御装置であって、
前記点列評価部は、前記通過円弧に対する前記後線分の近似誤差を往路弦誤差として算出し、前記通過円弧に対する前記前線分の近似誤差を復路弦誤差として算出し、
前記速度算出部は、前記往路弦誤差に基づいて特定された曲率半径と、前記復路弦誤差に基づいて特定された曲率半径と、のうち小さいほうの曲率半径に基づいて、許容通過速度を算出する、
ことを特徴とする数値制御装置。
【請求項４】
請求項３に記載の数値制御装置であって、
前記曲率半径修正部は、
前記往路弦誤差が前記許容誤差以下の場合には、前記第一半径を往路曲率半径として特定し、前記往路弦誤差が前記許容誤差を超えた場合には、前記第二半径を往路曲率半径として特定し、
前記復路弦誤差が前記許容誤差以下の場合には、前記第一半径を復路曲率半径として特定し、前記復路弦誤差が前記許容誤差を超えた場合には、前記第二半径を復路曲率半径として特定し、
前記往路曲率半径と前記復路曲率半径のうち小さい値を、前記対象点における曲率半径として修正する、
ことを特徴とする数値制御装置。
【請求項５】
加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御方法であって、
前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の３点を通る通過円弧の半径を第一半径として算出し、
前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較し、
前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正し、
前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する、
ことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置および数値制御方法を開示する。
【背景技術】
【０００２】
種々の形状を含むワークを加工するために、工作機械の各駆動軸は、加工プログラムから生成された位置指令データに沿って移動制御される。ここで、加工プログラムには、駆動軸の複数の移動点の座標が記録されている。かかる工作機械では、ワークの加工品位を向上させるために、加工面上での各駆動軸の通過送り速度の安定化が求められている。
【０００３】
そのため、工作機械の駆動を制御する数値制御装置には、各移動点における前記駆動軸の許容通過速度を決定する機能が組み込まれている。具体的には、数値制御装置は、各駆動軸にショックを与えないように、単位時間当たりの送り速度変化量（以下、「加速度」という）に制限値、すなわち、許容加速度αを設定し、その許容加速度α内で各駆動軸の速度を設定する。
【０００４】
ここで、小Ｒ部位や折角部などのコーナー部では、各駆動軸の移動比が変わるため、加速度が生じる。こうしたコーナー部でも、許容加速度αを超えないための技術が、従来から提案されている。
【０００５】
例えば、特許文献１には、対象点と、対象点の前後に位置する始点および終点の３点を通る通過円の半径を、対象点における曲率半径Ｒとして算出し、この曲率半径Ｒと許容加速度αに基づいて、対象点における許容通過速度Ｆを次の式１で求めることが開示されている。
【０００６】
【数１】
2020038555.tif 000003
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第２５６６２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、式１から明らかなとおり、許容通過速度Ｆは、曲率半径Ｒに大きく依存する。この曲率半径Ｒは、上述したとおり、３点を通る通過円弧の半径であるが、この通過円弧の半径は、ＣＡＭなどで加工プログラムを生成する際に、目標の曲線を直線近似するときの態様によって、大きく異なることがある。その結果、本来類似した形状であるにもかかわらず、許容通過速度Ｆが大きく異なる場合がある。例えば、一つの加工パスと、それに隣接する加工パスは、類似形状であることが多いが、直線近似の態様によっては、曲率半径Ｒ、ひいては、両加工パスに適用される通過速度が大きく異なる場合がある。こうした通過速度の違いは、加工面の品質低下を招く。
【０００９】
そこで、本明細書では、加工面品質をより向上できる数値制御装置および数値制御方法を開示する。
【課題を解決するための手段】
【００１０】
本明細書に開示の数値制御装置は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置であって、前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の３点を通る通過円弧の半径である第一半径を前記対象点における曲率半径として算出する曲率半径算出部と、前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較する点列評価部と、前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正する曲率半径修正部と、前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する速度算出部と、を備えることを特徴とする。
【００１１】
かかる構成とすることで、弦誤差が大きい場合、すなわち、通過円弧の第一半径が不適切な場合には、弦誤差が許容誤差に納まる第二半径に置き換えて許容通過速度を算出する。その結果、許容通過速度のバラつきが抑えられ、ひいては、加工面品質を向上できる。
【００１２】
この場合、前記曲率半径修正部は、始点から対象点を経て終点に進行する際の対象点での折れ角をθ、前記許容誤差をＥｄｅｆとした場合、前記第二半径ｒｂを、ｒｂ＝Ｅｄｅｆ／（１−ｃｏｓ（θ／２））の式に基づいて算出してもよい。
【００１３】
かかる構成とすることで、近似誤差が許容誤差Ｅｄｅｆとなる第二半径ｒｂを容易に求めることができる。
【００１４】
また、前記点列評価部は、前記通過円弧に対する前記後線分の近似誤差を往路弦誤差として算出し、前記通過円弧に対する前記前線分の近似誤差を復路弦誤差として算出し、前記速度算出部は、前記往路弦誤差に基づいて特定された曲率半径と、前記復路弦誤差に基づいて特定された曲率半径と、のうち小さいほうの曲率半径に基づいて、許容通過速度を算出してもよい。
【００１５】
かかる構成とすることで、往路および復路の双方での弦誤差を考慮して許容通過速度を決定できる。その結果、駆動軸を往復動させてワークを加工する場合でも、加工面品質を向上できる。
【００１６】
この場合、前記曲率半径修正部は、前記往路弦誤差が前記許容誤差以下の場合には、前記第一半径を往路曲率半径として特定し、前記往路弦誤差が前記許容誤差を超えた場合には、前記第二半径を往路曲率半径として特定し、前記復路弦誤差が前記許容誤差以下の場合には、前記第一半径を復路曲率半径として特定し、前記復路弦誤差が前記許容誤差を超えた場合には、前記第二半径を復路曲率半径として特定し、前記往路曲率半径と前記復路曲率半径のうち小さい値を、前記対象点における曲率半径として修正してもよい。
【００１７】
かかる構成とすることで、曲率半径が、小さい値になりやすく、許容通過速度も小さい値になりやすい。その結果、通過速度が過度に大きくなることが防止できる。
【００１８】
本明細書で開示する数値制御方法は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御方法であって、前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の３点を通る通過円弧の半径を第一半径として算出し、前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較し、前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正し、前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出してもよい。
【００１９】
かかる構成とすることで、弦誤差が大きい場合、すなわち、通過円弧の第一半径が不適切な場合には、弦誤差が許容誤差に納まる第二半径に置き換えて許容通過速度を算出する。その結果、許容通過速度のバラつきが抑えられ、ひいては、加工面品質を向上できる。
【発明の効果】
【００２０】
本明細書に開示する数値制御装置および数値制御方法によれば、加工面品質をより向上できる。
【図面の簡単な説明】
【００２１】
【図１】数値制御装置の物理ブロック図である。
【図２】数値制御装置の機能ブロック図である。
【図３】許容通過速度算出部の詳細ブロック図である。
【図４】ある曲面を直線近似した一例を示す図である。
【図５】コーナー部における点列の一例を示す図である。
【図６】図５と類似した曲面を直線近似した他の例を示す図である。
【図７】各パラメ−タを説明する図である。
【図８】弦誤差Ｅを説明する図である。
【図９】点列の配置による弦誤差Ｅの違いを説明する図である。
【図１０】往路弦誤差と復路弦誤差を説明する図である。
【図１１】第二半径のイメージ図である。
【図１２】許容通過速度の算出の流れを示すフローチャートである。
【図１３】許容通過速度の算出の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して数値制御装置１０の構成について説明する。図１は、数値制御装置１０の物理ブロック図である。また、図２は、数値制御装置１０の機能ブロック図であり、図３は、許容通過速度算出部２６の詳細ブロック図である。
【００２３】
この数値制御装置１０は、工作機械の駆動軸の駆動を制御するもので、工作機械に組み込まれている。この数値制御装置１０は、物理的には、制御装置１２、記憶装置１４、入出力インターフェース（以下「入出力Ｉ／Ｆ」という）１６、入力装置１８、出力装置２０、および、これらを接続するデータバス２１を有したコンピュータである。
【００２４】
制御装置１２は、例えば、１以上のＣＰＵ等で構成され、記憶装置１４に記憶された制御プログラムに従って、各種演算を行う。記憶装置１４は、各種データおよび制御プログラムを記憶する。この記憶装置１４は、さらに、ＣＰＵが直接アクセスできる一次記憶装置と、入出力チャネル等を使ってアクセスされる二次記憶装置と、に大別される。一次記憶装置は、例えば、ＲＯＭ、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリで構成される。二次記憶装置は、例えば、磁気記憶装置（例えばハードディスクドライブ）や半導体メモリ装置（例えばソリッドステートドライブ）等で構成される。この記憶装置１４には、コンピュータを数値制御装置１０として機能させるための制御プログラムが記憶されている。また、記憶装置１４には、後述する許容加速度αや、許容誤差Ｅｄｅｆなどの数値も記憶されている。
【００２５】
出力装置２０は、各種情報をユーザに出力するもので、例えば、ディスプレイ、スピーカー、プリンタ、ランプ等で構成される。入力装置１８は、ユーザの操作を受け付けるもので、例えば、キーボード、マウス、タッチパネル、マイク、カメラ等で構成される。
【００２６】
こうした数値制御装置１０は、一般的には、制御対象の工作機械に組み込まれ、一体化されるが、必要に応じて、数値制御装置１０の一部または全部は、制御対象の工作機械と分離されてもよい。したがって、例えば、制御対象の機械に組み込まれたコンピュータと、当該コンピュータと通信可能な情報端末と、で一つの数値制御装置１０を構成してもよい。
【００２７】
数値制御装置１０は、機能的には、プログラム読込部２２と、プログラム解釈部２４と、許容通過速度算出部２６と、サーボ指令位置補間部２８と、サーボ制御部３０と、を有している。プログラム読込部２２は、ユーザから指定された加工プログラムを読み込む。この加工プログラムは、駆動軸の移動点の座標値を含むもので、例えば、ＮＣプログラムである。こうした加工プログラムは、一般的には、ＣＡＭにより生成される。読み込まれた加工プログラムは、プログラム解釈部２４において、解釈される。プログラム解釈部２４は、解釈結果を、許容通過速度算出部２６およびサーボ指令位置補間部２８に出力する。
【００２８】
許容通過速度算出部２６は、駆動軸の移動点の一つである対象点Ｐｔにおける曲率半径Ｒを算出し、この曲率半径Ｒに基づいて、当該対象点Ｐｔを通過する際の許容通過速度Ｆを算出する。この曲率半径Ｒおよび許容通過速度Ｆの算出方法は、後述する。
【００２９】
サーボ指令位置補間部２８は、プログラム解釈部２４で解釈された解釈結果に沿って、各駆動軸に対するサーボ指令位置を補間する。このとき、サーボ指令位置補間部２８は、対象点Ｐｔにおける通過速度が、許容通過速度Ｆを超えないように、対象点Ｐｔでの通過速度を算出する。サーボ制御部３０は、サーボ指令位置補間部２８で求められた駆動軸に対するサーボ位置指令に沿って、各駆動軸のサーボモータを制御する。上述した各部２２〜３０の機能は、制御装置１２が、記憶装置１４に記憶された制御プログラムに従って演算処理を行うことで実現される。
【００３０】
次に、許容通過速度算出部２６について説明する。許容通過速度算出部２６は、機能的には、図３に示すように、曲率半径算出部３２、点列評価部３４、曲率半径修正部３６、速度算出部３８に大別することができる。この各部３２〜３８の機能の説明の前に、許容通過速度算出部２６における許容通過速度Ｆの算出原理について説明する。
【００３１】
上述したとおり、加工プログラムには、駆動軸の移動点の座標が含まれている。こうした移動点を含む加工プログラムは、目標形状に基づいてＣＡＭ等のプログラム生成装置で生成される。プログラム生成装置は、コーナー部等における曲面では、目標形状である曲面を、許容近似誤差εを超えない範囲で直線近似する。例えば、ＣＡＭは、曲面上に等間隔で設けられた点を、許容近似誤差εを越えない範囲で間引いていき、残った点同士を結んだ複数の直線で、曲面を近似する。図４は、ある曲面を直線近似した一例を示す図である。図４において、太実線は、元の曲面を、一点鎖線は、直線近似の結果を示している。また、図４において、白抜きの丸は、直線近似にあたって間引かれた点を示している。近似された直線の近似誤差ｅは、いずれも、許容近似誤差ε以下となっている。
【００３２】
このように元の曲面を直線近似することで得られた各点の座標値が、駆動軸の移動点として、加工プログラムに、例えば、Ｇコード等とともに記録される。許容通過速度算出部２６は、移動点の一つである対象点Ｐｔの曲率半径Ｒを求め、次の式１に基づいて、対象点Ｐｔにおける許容通過速度Ｆを求める。そして、一つの対象点Ｐｔの許容通過速度Ｆを求めれば、隣の点を新たな対象点Ｐｔに設定し、その新たな対象点Ｐｔにおける許容通過速度Ｆを求める処理を繰り返し、全ての移動点について許容通過速度Ｆを求める。
【００３３】
【数２】
2020038555.tif 000004
【００３４】
ここで、従来は、対象点Ｐｔと、その前後に位置する始点Ｐｓおよび終点Ｐｅの３点を通る円弧の半径を曲率半径Ｒとしていた。以下では、この３点を通る円弧を通過円弧Ｃ、その半径を第一半径ｒａと呼ぶ。この第一半径ｒａの算出について、図５を参照して説明する。図５は、コーナー部、特に小Ｒ部の前後になだらかな曲面が続くコーナー部における点列の一例を示す図である。この点列のうち、連続して並ぶ三つの点Ｐｓ，Ｐｔ，Ｐｅを通過する通過円弧Ｃの半径（第一半径ｒａ）は、次の式２で求まる。
ｒａ＝Ｄｓｅ／（２・ｓｉｎ（θ））    式２
【００３５】
式２において、Ｄｓｅは、始点Ｐｓから終点Ｐｅまでの直線距離である。また、式２においてθは、始点Ｐｓから対象点Ｐｔへ移動した後、終点Ｐｅに進行した際の進行方向の折れ角θである。別の言い方をすれば、θは、始点Ｐｓと対象点Ｐｔとを結んだ前線分Ｌｓと、対象点Ｐｔと終点Ｐｅとを結んだ後線分Ｌｅとが成す角度の補角である。
【００３６】
従来は、式２で求まる第一半径ｒａを、対象点Ｐｔにおける曲率半径Ｒとして算出し、この曲率半径Ｒに基づいて許容通過速度Ｆを算出していた。ここで、第一半径ｒａは、式２から明らかなとおり、距離Ｄｓｅおよび折れ角θに依存する。そして、距離Ｄｓｅは、ＣＡＭにおいて目標形状を直線近似する過程で、大きくばらつくことがあった。これについて、図６を参照して説明する。図６は、図５と類似した曲面を直線近似した他の例を示す図である。
【００３７】
図５、図６の比較から明らかなとおり、類似した曲線を直線近似したとしても、得られる点の位置は、大きく異なることがある。図５、図６の例では、対象点Ｐｔの位置はほぼ同じであるが、図６の場合、図５と比べて、始点Ｐｓの位置が、対象点Ｐｔから大きく離れている。かかる相違は、元の曲面を直線近似する際に、どの位置から点を間引いたかの差によるものである。
【００３８】
点の位置が大きく異なったとしても、折れ角θは、大きく変化しない。その一方で、始点Ｐｓから終点Ｐｅまでの距離Ｄｓｅは、大きく変化する。その結果、類似した形状であっても、第一半径ｒａ、ひいては、許容通過速度Ｆが大きく異なる場合があった。このように第一半径ｒａが大きく異なる加工パスが隣り合うと、工具の刃がワークを削る間隔が異なったり、ワークへの工具の食い込み量やワークに対する工具の逃げ量が異なったりするため、均一な加工目とならず、加工面の品質が下がってしまうことがあった。
【００３９】
そこで、本例では、第一半径ｒａを算出した後は、この第一半径ｒａに基づいて点列が過度に間引かれていないか評価し、過度に間引かれている場合には、曲率半径Ｒを修正し、この修正された曲率半径Ｒに基づいて、許容通過速度Ｆを算出している。以下、かかる処理を行う許容通過速度算出部２６の構成について詳説する。
【００４０】
曲率半径算出部３２は、対象点Ｐｔにおける曲率半径Ｒを求める。具体的には、曲率半径算出部３２は、対象点Ｐｔとその前後に位置する始点Ｐｓおよび終点Ｐｅの３点を通過する通過円弧の半径である第一半径ｒａを求め、この第一半径ｒａを、曲率半径Ｒとして出力する。第一半径ｒａは、上述の式２に基づいて算出される。
【００４１】
点列評価部３４は、曲率半径算出部３２で算出された曲率半径Ｒ（第一半径ｒａ）に基づいて、対象点Ｐｔ前後の点列を評価する。これについて、図７〜図９を参照して具体的に説明する。図７は、各パラメ−タを説明する図であり、図８は、弦誤差Ｅを説明する図である。また、図９は、点列の配置による弦誤差Ｅの違いを説明する図である。図７に示す通り、以下の図面では、前線分Ｌｓの長さ（始点Ｐｓから対象点Ｐｔまでの距離）を前距離Ｄｓ、後線分Ｌｅの長さ（対象点Ｐｔから終点Ｐｅまでの距離）を後距離Ｄｅと呼ぶ。
【００４２】
点列評価部３４は、点列を評価するために、通過円弧Ｃの弦誤差Ｅを求める。弦誤差Ｅは、通過円弧Ｃに対する後線分Ｌｅの近似誤差であり、具体的には、図８に示すように、後線分Ｌｅの中点から通過円弧Ｃまでの距離である。
【００４３】
図９に示す通り、前距離Ｄｓおよび折れ角θが同じであれば、後距離Ｄｅが小さいほど、弦誤差Ｅは小さくなり、後距離Ｄｅが大きいほど弦誤差Ｅは、大きくなる。換言すれば、弦誤差Ｅが、過度に大きい場合には、過度に点が間引かれており、対象点Ｐｔと終点Ｐｅとの距離（後距離Ｄｅ）が大きいと判断できる。かかる弦誤差Ｅは、次の式３で求まる。
Ｅ＝Ｒ−｛（Ｄｅ・ｃｏｓ（θ）＋Ｄｓ）／（２・ｓｉｎ（θ））｝      式３
【００４４】
ところで、上述の説明は、始点Ｐｓから対象点Ｐｔを経て終点Ｐｅに進む場合を説明した。しかし、通常、ワークの加工では、駆動軸は、往復動することが多い。すなわち、駆動軸は、図１０における矢印Ｏ方向（以下「往路方向」という）に進む場合と、矢印Ｈ方向（以下「復路方向」という）に進む場合とがある。
【００４５】
ここで、往路方向に進んだ場合の弦誤差とは、通過円弧Ｃに対する後線分Ｌｅの弦誤差（以下「往路弦誤差Ｅｏ」という）であるが、復路方向に進んだ場合の弦誤差とは、通過円弧Ｃに対する前線分Ｌｓの弦誤差（以下「復路弦誤差Ｅｈ」という）である。そして、ワークを往復加工する場合には、この往路弦誤差Ｅｏおよび復路弦誤差Ｅｈの双方に基づいて、曲率半径Ｒの修正の要否を判断することが望ましい。
【００４６】
そこで、点列評価部３４は、この往路弦誤差Ｅｏおよび復路弦誤差Ｅｈを、それぞれ、次の式４、式５に基づいて算出する。
Ｅｏ＝Ｒ−｛（Ｄｅ・ｃｏｓ（θ）＋Ｄｓ）／（２・ｓｉｎ（θ））｝    式４
Ｅｈ＝Ｒ−｛（Ｄｓ・ｃｏｓ（θ）＋Ｄｅ）／（２・ｓｉｎ（θ））｝    式５
【００４７】
往路弦誤差Ｅｏおよび復路弦誤差Ｅｈを算出できれば、続いて、点列評価部３４は、この往路弦誤差Ｅｏおよび復路弦誤差Ｅｈを、予め設定された許容誤差Ｅｄｅｆと比較する。この許容誤差Ｅｄｅｆの値は、特に限定されてないが、加工プログラムを生成する際に用いた許容近似誤差εと同じ値に設定することが望ましい。点列評価部３４は、曲率半径算出部３２で算出された曲率半径Ｒ（第一半径ｒａ）と許容誤差Ｅｄｅｆとの比較結果を曲率半径修正部３６に出力する。
【００４８】
曲率半径修正部３６は、比較結果に基づいて、往路曲率半径Ｒｏおよび復路曲率半径Ｒｈを算出し、算出された二つの曲率半径Ｒｏ，Ｒｈに基づいて、曲率半径Ｒを修正する。具体的には、曲率半径修正部３６は、往路弦誤差Ｅｏが、許容誤差Ｅｄｅｆ以下の場合、曲率半径Ｒ（＝ｒａ）を、往路曲率半径Ｒｏとして一時記憶する。一方、往路弦誤差Ｅｏが、許容誤差Ｅｄｅｆを超えた場合、曲率半径修正部３６は、以下の式６で算出した第二半径ｒｂを、往路曲率半径Ｒｏとして一時記憶する。
ｒｂ＝Ｅｄｅｆ／（１−ｃｏｓ（θ／２））    式６
【００４９】
この第二半径ｒｂは、点が過度に間引かれていない場合の曲率半径である。図１１は、この第二半径ｒｂのイメージ図である。図１１に示すように、第二半径ｒｂは、前線分Ｌｓとの弦誤差および後線分Ｌｅとの弦誤差の双方が、許容誤差Ｅｄｅｆとなる円弧Ｃｂの半径である。別の見方をすれば、第二半径ｒｂは、前距離Ｄｓおよび後距離Ｄｅが同じ、かつ、弦誤差が許容誤差Ｅｄｅｆとなる３つの点を通る円弧の半径である。
【００５０】
同様に、曲率半径修正部３６は、復路弦誤差Ｅｈが、許容誤差Ｅｄｅｆ以下の場合、曲率半径Ｒ（＝ｒａ）を、復路曲率半径Ｒｈとして一時記憶する。一方、復路弦誤差Ｅｈが、許容誤差Ｅｄｅｆを超えた場合、曲率半径修正部３６は、式６で算出した第二半径ｒｂを、復路曲率半径Ｒｈとして一時記憶する。
【００５１】
往路・復路曲率半径Ｒｏ，Ｒｈが算出できれば、曲率半径修正部３６は、対象点Ｐｔにおける曲率半径Ｒを、往路・復路曲率半径Ｒｏ，Ｒｈのうち小さい値に修正する。すなわち、Ｒ＝ｍｉｎ（Ｒｏ，Ｒｈ）と修正する。速度算出部３８は、曲率半径修正部３６から出力された曲率半径Ｒを式１に当てはめ、対象点Ｐｔにおける許容通過速度Ｆを算出する。
【００５２】
次に、許容通過速度Ｆを算出する流れについて図１２、図１３を参照して説明する。加工プログラムには、駆動軸の移動ポイントがＰ０〜ＰＩまで記録されているとする。この場合において、許容通過速度Ｆを算出する場合は、制御装置１２は、まず、ｉ＝１として、パラメータｉを初期化する（Ｓ１０）。続いて、曲率半径算出部３２は、対象点Ｐｔ＝Ｐｉ、始点Ｐｓ＝Ｐｉ−１、終点Ｐｅ＝Ｐｉ＋１と設定したうえで、各点Ｐｔ，Ｐｓ，Ｐｅそれぞれの座標と、折れ角θを取得する（Ｓ１２，Ｓ１４）。さらに、曲率半径算出部３２は、第一半径ｒａを算出する（Ｓ１６）。具体的には、曲率半径算出部３２は、始点Ｐｓおよび終点Ｐｅの座標から距離Ｄｓｅを算出し、この距離Ｄｓｅと折れ角θを式２に当てはめて、第一半径ｒａを算出する。曲率半径算出部３２は、この第一半径ｒａを、曲率半径Ｒとして出力する（Ｓ１８）。
【００５３】
点列評価部３４は、この曲率半径Ｒに基づいて、往路弦誤差Ｅｏおよび復路弦誤差Ｅｈを算出する（Ｓ２０）。具体的には、点列評価部３４は、各点Ｐｔ，Ｐｓ，Ｐｅに基づいて前距離Ｄｓおよび後距離Ｄｅを算出し、この前距離Ｄｓ、後距離Ｄｅ、曲率半径Ｒ、折れ角θを、式４，５に当てはめる。
【００５４】
続いて、点列評価部３４は、算出された往路弦誤差Ｅｏと予め設定された許容誤差Ｅｄｅｆとを比較し、その比較結果を、曲率半径修正部３６に出力する（Ｓ２２）。曲率半径修正部３６は、Ｅｏ≦Ｅｄｅｆの場合には、第一半径ｒａを、往路曲率半径Ｒｏとして一時記憶する（Ｓ２４）。一方、Ｅｏ＞Ｅｄｅｆの場合、曲率半径修正部３６は、許容誤差Ｅｄｅｆおよび折れ角θを式６に当てはめて、第二半径ｒｂを算出する（Ｓ２６）。そして、この算出された第二半径ｒｂを、往路曲率半径Ｒｏとして一時記憶する（Ｓ２８）。
【００５５】
同様に、点列評価部３４は、算出された復路弦誤差Ｅｈと許容誤差Ｅｄｅｆとを比較し、その比較結果を、曲率半径修正部３６に出力する（Ｓ３０）。曲率半径修正部３６は、Ｅｈ≦Ｅｄｅｆの場合には、第一半径ｒａを、復路曲率半径Ｒｈとして一時記憶する。一方、Ｅｈ＞Ｅｄｅｆの場合、曲率半径修正部３６は、許容誤差Ｅｄｅｆおよび折れ角θを式６に当てはめて、第二半径ｒｂを算出する（Ｓ３４）。なお、当然ながら、ステップＳ２６で第二半径ｒｂが既に算出されているのであれば、このステップＳ３４は、省略されてもよい。曲率半径修正部３６は、この第二半径ｒｂを、復路曲率半径Ｒｈとして一時記憶する（Ｓ３６）。
【００５６】
往路曲率半径Ｒｏおよび復路曲率半径Ｒｈが算出できれば、続いて、曲率半径修正部３６は、往路曲率半径Ｒｏおよび復路曲率半径Ｒｈを比較し、より小さい値を、対象点Ｐｔにおける曲率半径Ｒとして特定する（Ｓ３８）。そして、曲率半径修正部３６は、特定された曲率半径Ｒを速度算出部３８に出力する。速度算出部３８は、得られた曲率半径Ｒを式１に当てはめて、対象点Ｐｔにおける許容通過速度Ｆを算出する（Ｓ４０）。
【００５７】
許容通過速度Ｆが得られれば、カウンタｉをインクリメントしたうえで（Ｓ４２）、ステップＳ１２〜Ｓ４４を繰り返す。すなわち、一つの点における許容通過速度Ｆが得られれば、その点の隣の点を新たな対象点Ｐｔに設定し、当該新たな対象点Ｐｔにおける許容通過速度Ｆを求める。こうした処理を、ｉ＝Ｉに達するまで繰り返す。
【００５８】
以上の説明から明らかなとおり、本例では、対象点Ｐｔとその前後の点Ｐｓ，Ｐｅを通る通過円弧Ｃの弦誤差に基づいて点列の良否を判断し、弦誤差が大きい場合には、曲率半径Ｒを修正している。かかる構成とすることで、曲率半径Ｒ、ひいては、許容通過速度Ｆの大きなバラつきを抑えることができ、駆動軸の送り速度を安定化できる。また、本例では、往路における弦誤差だけでなく、復路における弦誤差も考慮して、曲率半径Ｒを修正している。そのため、駆動軸を往復させてワークを加工する場合において、往路および復路のいずれにおいても送り速度を安定化できる。
【００５９】
なお、本例では、往路曲率半径Ｒｏおよび復路曲率半径Ｒｈに基づいて単一の曲率半径Ｒを決定したうえで、許容通過速度Ｆを算出している。しかし、往路曲率半径Ｒｏに基づく許容通過速度Ｆｏおよび復路曲率半径Ｒｈに基づく許容通過速度Ｆｈを算出し、二つの速度Ｆｏ，Ｆｈのうち小さいほうを対象点Ｐｔにおける許容通過速度Ｆとして特定してもよい。すなわち、次の式７に基づいて、許容通過速度Ｆを求めるようにしてもよい。
【００６０】
【数３】
2020038555.tif 000005
【００６１】
また、これまでは、ワークを往復加工することを前提として説明したが、場合によっては、往路で加工し、復路は、エアカットの早送りとすることがある。この場合、復路における弦誤差は考慮する必要がない。したがって、この場合には、復路弦誤差Ｅｈの算出を省略し、ステップＳ２２〜Ｓ２８で算出された往路曲率半径Ｒｏを、修正後の曲率半径Ｒとして出力してもよい。かかる構成とすることで、演算量を低減できる。
【００６２】
また、図１２、図１３のフローチャートでは、対象点Ｒｔ＝Ｒｉにおける往路曲率半径Ｒｏと復路曲率半径Ｒｈを同タイミングで算出しているが、この手順は、適宜、変更されてもよい。例えば、往路曲率半径Ｒｏ＿ｉとＲｉ＋１における復路曲率半径Ｒｈ＿ｉ＋１とを同タイミングで算出するようにしてもよい。すなわち、ｉ＝１のときには、Ｐ０，Ｐ１，Ｐ２に基づいて、Ｐ１における往路曲率半径Ｒｏ＿１とＰ２における復路曲率半径Ｒｈ＿２とを算出し、ｉ＝２のときには、Ｐ１，Ｐ２，Ｐ３，Ｐ４に基づいて、Ｐ２における往路曲率半径Ｒｏ＿２とＰ３における復路曲率半径Ｒｈ＿３とを算出してもよい。そして、この２つのタイミングで算出されたＰ２における復路曲率半径Ｒｈ＿２と往路曲率半径Ｒｏ＿２に基づいて、Ｐ２における最終的な曲率半径Ｒ２＝ｍｉｎ（Ｒｏ＿２，Ｒｏ＿２）を算出するようにしてもよい。
【符号の説明】
【００６３】
１０  数値制御装置、１２  制御装置、１４  記憶装置、１８  入力装置、２０  出力装置、２１  データバス、２２  プログラム読込部、２４  プログラム解釈部、２６  許容通過速度算出部、２８  サーボ指令位置補間部、３０  サーボ制御部、３２  曲率半径算出部、３４  点列評価部、３６  曲率半径修正部、３８  速度算出部。
【図１】
2020038555.tif 000006
【図２】
2020038555.tif 000007
【図３】
2020038555.tif 000008
【図４】
2020038555.tif 000009
【図５】
2020038555.tif 000010
【図６】
2020038555.tif 000011
【図７】
2020038555.tif 000012
【図８】
2020038555.tif 000013
【図９】
2020038555.tif 000014
【図１０】
2020038555.tif 000015
【図１１】
2020038555.tif 000016
【図１２】
2020038555.tif 000017
【図１３】
2020038555.tif 000018
【手続補正書】
【提出日】平成30年9月19日(2018.9.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
次に、許容通過速度Ｆを算出する流れについて図１２、図１３を参照して説明する。加工プログラムには、駆動軸の移動ポイントがＰ０〜ＰＩまで記録されているとする。この場合において、許容通過速度Ｆを算出する場合は、制御装置１２は、まず、ｉ＝１として、カウンタｉを初期化する（Ｓ１０）。続いて、曲率半径算出部３２は、対象点Ｐｔ＝Ｐｉ、始点Ｐｓ＝Ｐｉ−１、終点Ｐｅ＝Ｐｉ＋１と設定したうえで、各点Ｐｔ，Ｐｓ，Ｐｅそれぞれの座標と、折れ角θを取得する（Ｓ１２，Ｓ１４）。さらに、曲率半径算出部３２は、第一半径ｒａを算出する（Ｓ１６）。具体的には、曲率半径算出部３２は、始点Ｐｓおよび終点Ｐｅの座標から距離Ｄｓｅを算出し、この距離Ｄｓｅと折れ角θを式２に当てはめて、第一半径ｒａを算出する。曲率半径算出部３２は、この第一半径ｒａを、曲率半径Ｒとして出力する（Ｓ１８）。