(57)【特許請求の範囲】
【請求項１】
主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置において、
前記加工経路は、環状をなす複数の経路部を有し、
前記複数の経路部それぞれに対して垂直になるように複数の評価断面を設定する評価断面設定部と、
該評価断面設定部が設定した各評価断面と各経路部との複数の交点を演算する演算部と、
ワークの加工及び加工されたワークの実形状の測定を行うことなく、前記演算部が演算した前記複数の交点の位置を修正する交点位置修正部と、
該交点位置修正部にて修正された複数の交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部と
を備え、
前記交点位置修正部は、修正の対象である第一の交点の位置を、該第一の交点が存在する評価断面上に存在し且つ前記第一の交点の周囲にある複数の第二の交点を用いて修正し、
前記指令点位置修正部は、所定の前記経路部に沿って並び且つ前記交点位置修正部にて修正された複数の交点に基づいて、前記所定の経路部と同じ経路部に沿って並び且つ前記複数の評価断面上に存在する前記複数の指令点の位置を修正すること
を特徴とする制御装置。
【請求項２】
前記複数の経路部は、
環状をなす第１経路部と、
該第１経路部の内側に位置し、環状をなす第２経路部と
を有し、
前記評価断面設定部は、
前記第１経路部上に第１基準点を設定する第１基準点設定部と、
前記第２経路部上であって、前記第１基準点に最も近い位置に第２基準点を設定する第２基準点設定部と、
前記第１基準点及び第２基準点に基づいて、前記評価断面を演算する評価断面演算部と
を有すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記複数の経路部にて、前記第１経路部は最も外側に位置し、
前記複数の経路部にて、前記第２経路部は最も内側に位置すること
を特徴とする請求項２に記載の制御装置。
【請求項４】
前記加工経路は渦巻き状をなし、
前記複数の指令点は、前記加工経路の始点に位置する始点指令点及び前記加工経路の終点に位置する終点指令点を含み、
前記始点指令点と前記始点指令点とは異なる第１の前記指令点との間に前記第１経路部又は第２経路部の一方を設定する始点側経路部設定部と、
前記終点指令点と前記終点指令点とは異なる第２の前記指令点との間に前記第１経路部又は第２経路部の他方を設定する終点側経路部設定部と
を備えることを特徴とする請求項２又は３に記載の制御装置。
【請求項５】
請求項１から４の何れか一つに記載の制御装置と、
前記主軸と
を備えることを特徴とする工作機械。
【請求項６】
主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御方法において、
前記加工経路は、環状をなす複数の経路部を有し、
前記複数の経路部それぞれに対して垂直になるように複数の評価断面を設定し、
設定した各評価断面と各経路部との複数の交点を演算し、
ワークの加工及び加工されたワークの実形状の測定を行うことなく、演算した前記複数の交点の位置を修正し、
修正された複数の交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正し、
修正の対象である第一の交点の位置を、該第一の交点が存在する評価断面上に存在し且つ前記第一の交点の周囲にある複数の第二の交点を用いて修正し、
所定の前記経路部に沿って並び且つ修正された複数の交点に基づいて、前記所定の経路部と同じ経路部に沿って並び且つ前記複数の評価断面上に存在する前記複数の指令点の位置を修正すること
を特徴とする制御方法。
【請求項７】
加工プログラムに従って、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置で実行可能なコンピュータプログラムであって、
前記加工経路は、環状をなす複数の経路部を有し、
前記制御装置を、
前記複数の経路部それぞれに対して垂直になるように複数の評価断面を設定する評価断面設定部、
該評価断面設定部が設定した各評価断面と各経路部との複数の交点を演算する演算部、
ワークの加工及び加工されたワークの実形状の測定を行うことなく、前記演算部が演算した前記複数の交点の位置を修正する交点位置修正部、及び
該交点位置修正部にて修正された複数の交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部
として機能させ、
前記交点位置修正部は、修正の対象である第一の交点の位置を、該第一の交点が存在する評価断面上に存在し且つ前記第一の交点の周囲にある複数の第二の交点を用いて修正し、
前記指令点位置修正部は、所定の前記経路部に沿って並び且つ前記交点位置修正部にて修正された複数の交点に基づいて、前記所定の経路部と同じ経路部に沿って並び且つ前記複数の評価断面上に存在する前記複数の指令点の位置を修正すること
を特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具を装着する主軸の移動を制御する制御装置、工作機械、制御方法及びコンピュータプログラムに関する。
【０００２】
工作機械は、工具を装着する主軸の移動を制御する制御装置を備える。制御装置は、主軸の位置を指示する複数の指令点を設定し、加工経路を設定する。主軸に装着した工具が３次元の曲面をワークに形成する場合、制御装置は指令点間の微小線分が連続した複数の曲線を演算し、生成する。
【０００３】
例えば前後方向及び左右方向に平行な面（水平面）上に複数の曲線を生成する。複数の曲線は前後方向又は左右方向に並ぶ。制御装置は各曲線に上下方向の位置を設定する。また制御装置は、微小線分の繋ぎ目にて尖った部分が表れるので、スプライン曲線、ベジェ曲線等の滑らかな曲線に基づいて、生成した曲線を補間する。設定された各上下位置にて、補間した曲線に沿って主軸は移動し、ワークを加工する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３４６６１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし上述した補間を行っても、隣り合う曲線の傾きの差、制御装置での演算にて発生する量子化誤差等によって、ワーク表面に鱗状の模様が表れる。特許文献１は指令点を修正することなく、指令点間に滑らかな線となるように指令点を挿入している。従って、指令点そのものが誤っているにも関わらず、指令点を通ることになり、上述したワーク表面に鱗状の模様が表れるという問題があった。
【０００６】
本発明は斯かる事情に鑑みてなされたものであり、ワークに滑らかな曲面を形成することができる制御装置、工作機械、制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る制御装置は、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置において、前記加工経路は環状をなし、前記加工経路に対して垂直になるように評価断面を設定する評価断面設定部と、該評価断面設定部が設定した評価断面及び前記加工経路の交点を演算する演算部と、該演算部が演算した交点の位置を修正する交点位置修正部と、該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部とを備えることを特徴とする。
【０００８】
本発明に係る制御装置は、前記加工経路は、環状をなす第１経路部と、該第１経路部の内側に位置し、環状をなす第２経路部とを有し、前記評価断面設定部は、前記第１経路部上に第１基準点を設定する第１基準点設定部と、前記第２経路部上であって、前記第１基準点に最も近い位置に第２基準点を設定する第２基準点設定部と、前記第１基準点及び第２基準点に基づいて、前記評価断面を演算する評価断面演算部とを有することを特徴とする。
【０００９】
本発明に係る制御装置は、前記加工経路は、前記第１経路部及び第２経路部を含む複数の経路部を含み、前記複数の経路部にて、前記第１経路部は最も外側に位置し、前記複数の経路部にて、前記第２経路部は最も内側に位置することを特徴とする。
【００１０】
本発明に係る制御装置は、前記加工経路は渦巻き状をなし、前記複数の指令点は、前記加工経路の始点に位置する始点指令点及び前記加工経路の終点に位置する終点指令点を含み、前記始点指令点と前記始点指令点とは異なる第１の前記指令点との間に前記第１経路部又は第２経路部の一方を設定する始点側経路部設定部と、前記終点指令点と前記終点指令点とは異なる第２の前記指令点との間に前記第１経路部又は第２経路部の他方を設定する終点側経路部設定部とを備えることを特徴とする。
【００１１】
本発明に係る工作機械は、前述した何れかの制御装置と、前記主軸とを備えることを特徴とする。
【００１２】
本発明に係る制御方法は、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御方法において、前記加工経路は環状をなし、前記加工経路に対して垂直になるように評価断面を設定し、設定した評価断面及び前記加工経路の交点を演算し、演算した交点の位置を修正し、修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正することを特徴とする。
【００１３】
本発明に係るコンピュータプログラムは、加工プログラムに従って、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置で実行可能なコンピュータプログラムであって、前記加工経路は環状をなし、前記制御装置を、前記加工経路に対して垂直になるように評価断面を設定する評価断面設定部、該評価断面設定部が設定した評価断面及び前記加工経路の交点を演算する演算部、該演算部が演算した交点の位置を修正する交点位置修正部、及び該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部として機能させることを特徴とする。
【００１４】
本発明においては、環状の加工経路に対して垂直になるように評価断面を設定し、評価断面と加工経路の交点の位置を修正し、修正した交点の位置に基づいて、前記加工経路に交差する方向における指令点の位置を修正する。
【００１５】
本発明においては、外周側の第１経路部及び内周側の第２経路部に第１基準点及び第２基準点をそれぞれ設定する。第２基準点は第１基準点に最も近い位置にある。第１基準点及び第２基準点が評価断面上に位置するように、評価断面を設定することによって、評価断面は加工経路に対して略垂直になる。
【００１６】
本発明においては、第１経路部が最外周側に位置し、第２経路部が最内周側に位置することによって、評価断面同士が交差することを防止できる。
【００１７】
本発明においては、第１経路部又は第２経路部の一方が加工経路の始点側に位置し、他方が加工経路の終点側に位置する。渦巻き状の加工経路の中心部に始点が位置する場合、第１経路部は終点側に位置し、第２経路部は始点側に位置する。加工経路の中心部に終点が位置する場合、第２経路部は終点側に位置し、第１経路部は始点側に位置する。
【発明の効果】
【００１８】
本発明に係る制御装置、工作機械、制御方法及びコンピュータプログラムにあっては、環状の加工経路に対して垂直になるように評価断面を設定し、評価断面と加工経路の交点の位置を修正し、修正した交点の位置に基づいて、前記加工経路に交差する方向における指令点の位置を修正する。環状の加工経路に対して、加工経路の中心から放射状に延びるように、複数の評価断面を設定した場合、評価断面の密度が高い部分と低い部分とが発生し、指令点に対する修正精度が低下することがある。本発明においては、評価断面を加工経路に対して垂直にすることによって、評価断面の密度に差が生じたとしても、指令点に対する修正精度の低下を防止することができる。
【図面の簡単な説明】
【００１９】
【図１】工作機械を略示する斜視図である。
【図２】制御装置の構成を略示するブロック図である。
【図３】ワークに対する加工経路及び評価断面を略示する平面図である。
【図４】ワークに対する評価断面を略示する斜視図である。
【図５】制御装置による加工経路設定処理を説明するフローチャートである。
【図６】最外周／最内周演算処理を説明するフローチャートである。
【図７】渦巻き状に外周側から内周側に移動する主軸の加工経路を略示する模式図である。
【図８】渦巻き状に内周側から外周側に移動する主軸の加工経路を略示する模式図である。
【図９】評価断面設定処理を説明するフローチャートである。
【図１０】評価断面設定処理を説明する模式図である。
【図１１】指令点と、評価断面及び加工経路の交点とを略示する模式図である。
【図１２】交点テーブルの一例を示す概念図である。
【図１３】評価断面上における交点位置の第１の修正方法を説明する説明図である。
【図１４】評価断面上における交点位置の第２の修正方法を説明する説明図である。
【図１５】指令点の修正方法を説明する説明図である。
【図１６】指令点位置修正処理を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下本発明を実施の形態に係る工作機械を示す図面に基づいて説明する。以下の説明では図において矢印で示す上下、左右及び前後を使用する。図１は工作機械を略示する斜視図である。
【００２１】
工作機械１００は前後に延びた矩形の基台１を備える。基台１上部の前側にワークを保持するワーク保持部３が設けてある。ワーク保持部３は左右方向を軸方向としたＡ軸及び上下方向を軸方向としたＣ軸回りに回転可能である。
【００２２】
基台１上部の後側に後述するコラム４を支持する為の支持台２が設けてある。支持台２上部に、移動板１６を前後方向に移動するＹ軸方向移動機構１０が設けてある。Ｙ軸方向移動機構１０は、前後に延びた二つのレール１１と、Ｙ軸螺子軸１２と、Ｙ軸モータ１３と、ベアリング１４とを備える。
【００２３】
レール１１は支持台２上部の左右夫々に設けてある。Ｙ軸螺子軸１２は前後に延び、二つのレール１１の間に設けてある。Ｙ軸螺子軸１２の前端部及び中途部夫々にベアリング１４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｙ軸モータ１３はＹ軸螺子軸１２の後端部に連結している。
【００２４】
Ｙ軸螺子軸１２には転動体（図示略）を介してナット（図示略）が螺合している。転動体は例えばボールである。各レール１１に複数の摺動子１５が摺動可能に設けてある。ナット及び摺動子１５の上部に移動板１６が連結している。移動板１６は水平方向に延びる。Ｙ軸モータ１３の回転によってＹ軸螺子軸１２は回転し、ナットは前後方向に移動し、移動板１６は前後方向に移動する。
【００２５】
移動板１６上面にコラム４を左右方向に移動するＸ軸方向移動機構２０が設けてある。Ｘ軸方向移動機構２０は、左右に延びた二つのレール２１と、Ｘ軸螺子軸２２と、Ｘ軸モータ２３（図２参照）と、ベアリング２４とを備える。
【００２６】
レール２１は移動板１６上面の前後夫々に設けてある。Ｘ軸螺子軸２２は左右に延び、二つのレール２１の間に設けてある。Ｘ軸螺子軸２２の左端部及び中途部夫々にベアリング２４が設けてある。なおＸ軸螺子軸２２の中途部に設けたベアリングの記載は省略する。Ｘ軸モータ２３はＸ軸螺子軸２２の後端部に連結している。
【００２７】
Ｘ軸螺子軸２２には転動体（図示略）を介してナット（図示略）が螺合している。Ｘ軸螺子軸２２にグリスが塗布してある。各レール２１に複数の摺動子２６が摺動可能に設けてある。ナット及び摺動子２６の上部にコラム４が連結している。コラム４は柱状をなす。Ｘ軸モータ２３の回転によってＸ軸螺子軸２２は回転し、ナットは左右方向に移動し、コラム４は左右方向に移動する。
【００２８】
コラム４の前面に主軸ヘッド５を上下方向に移動するＺ軸方向移動機構３０が設けてある。Ｚ軸方向移動機構３０は、上下に延びた二つのレール３１と、Ｚ軸螺子軸３２と、Ｚ軸モータ３３と、ベアリング３４とを備える。
【００２９】
レール３１はコラム４前面の左右夫々に設けてある。Ｚ軸螺子軸３２は上下に延び、二つのレール３１の間に設けてある。Ｚ軸螺子軸３２の下端部及び中途部夫々にベアリング３４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｚ軸モータ３３はＺ軸螺子軸３２の上端部に連結している。
【００３０】
Ｚ軸螺子軸３２には転動体（図示略）を介してナット（図示略）が螺合している。Ｚ軸螺子軸３２にグリスが塗布してある。各レール３１に複数の摺動子３５が摺動可能に設けてある。ナット及び摺動子３５の前部に主軸ヘッド５が連結している。Ｚ軸モータ３３の回転によってＺ軸螺子軸３２は回転し、ナットは上下方向に移動し、主軸ヘッド５は上下方向に移動する。Ｚ軸モータ３３、Ｚ軸螺子軸３２、ナット及び転動体はボールねじ機構を構成する。
【００３１】
上下に延びた主軸５ａが主軸ヘッド５内に設けてある。主軸５ａは軸回りに回転する。主軸ヘッド５の上端部に主軸モータ６が設けてある。主軸５ａの下端部は工具を装着する。主軸モータ６の回転によって主軸５ａが回転し、工具が回転する。回転した工具は、ワーク保持部３に保持したワークを加工する。
【００３２】
工作機械１００は工具を交換する工具交換装置（図示略）を備える。工具交換装置は工具マガジン（図示略）に収容した工具と主軸５ａに装着した工具を交換する。
【００３３】
図２は制御装置５０の構成を略示するブロック図である。制御装置５０は、ＣＰＵ５１、記憶部５２、ＲＡＭ５３及び入出力インタフェース５４を備える。記憶部５２は書き換え可能なメモリであり、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ等である。記憶部５２は後述する交点テーブル、経路番号ｉ、指令点Ｐk、交点Ｓid、ｋの最終番号、経路Ａ、経路Ｂ、第１基準点Ｏm 、及び第２基準点Ｌm 等を記憶する（ｄ、ｉ、ｋ、ｍは自然数）。
【００３４】
作業者が操作部７を操作した場合、操作部７から入出力インタフェース５４に信号が入力する。操作部７は例えばキーボード、ボタン、タッチパネル等である。入出力インタフェース５４は表示部８に信号を出力する。表示部８は文字、図形、記号等を表示する。表示部８は例えば液晶表示パネルである。
【００３５】
制御装置５０は、Ｘ軸モータ２３に対応したＸ軸制御回路５５、サーボアンプ５５ａ及び微分器２３ｂを備える。Ｘ軸モータ２３はエンコーダ２３ａを備える。Ｘ軸制御回路５５はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５５ａに出力する。サーボアンプ５５ａは前記命令を受け、Ｘ軸モータ２３に駆動電流を出力する。
【００３６】
エンコーダ２３ａはＸ軸制御回路５５に位置フィードバック信号を出力する。Ｘ軸制御回路５５は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００３７】
エンコーダ２３ａは微分器２３ｂに位置フィードバック信号を出力し、微分器２３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｘ軸制御回路５５に出力する。Ｘ軸制御回路５５は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００３８】
サーボアンプ５５ａが出力した駆動電流の値を電流検出器５５ｂが検出する。電流検出器５５ｂは駆動電流の値をＸ軸制御回路５５にフィードバックする。Ｘ軸制御回路５５は駆動電流の値に基づいて、電流制御を実行する。
【００３９】
制御装置５０は、Ｙ軸モータ１３に対応したＹ軸制御回路５６、サーボアンプ５６ａ及び微分器１３ｂを備える。Ｙ軸モータ１３はエンコーダ１３ａを備える。Ｙ軸制御回路５６はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５６ａに出力する。サーボアンプ５６ａは前記命令を受け、Ｙ軸モータ１３に駆動電流を出力する。
【００４０】
エンコーダ１３ａはＹ軸制御回路５６に位置フィードバック信号を出力する。Ｙ軸制御回路５６は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００４１】
エンコーダ１３ａは微分器１３ｂに位置フィードバック信号を出力し、微分器１３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｙ軸制御回路５６に出力する。Ｙ軸制御回路５６は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４２】
サーボアンプ５６ａが出力した駆動電流の値を電流検出器５６ｂが検出する。電流検出器５６ｂは駆動電流の値をＹ軸制御回路５６にフィードバックする。Ｙ軸制御回路５６は駆動電流の値に基づいて、電流制御を実行する。
【００４３】
制御装置５０は、Ｚ軸モータ３３に対応したＺ軸制御回路５７、サーボアンプ５７ａ及び微分器３３ｂを備える。Ｚ軸モータ３３はエンコーダ３３ａを備える。Ｚ軸制御回路５７はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５７ａに出力する。サーボアンプ５７ａは前記命令を受け、Ｚ軸モータ３３に駆動電流を出力する。
【００４４】
エンコーダ３３ａはＺ軸制御回路５７に位置フィードバック信号を出力する。Ｚ軸制御回路５７は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００４５】
エンコーダ３３ａは微分器３３ｂに位置フィードバック信号を出力し、微分器３３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｚ軸制御回路５７に出力する。Ｚ軸制御回路５７は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４６】
サーボアンプ５７ａが出力した駆動電流の値を電流検出器５７ｂが検出する。電流検出器５７ｂは駆動電流の値をＺ軸制御回路５７にフィードバックする。Ｚ軸制御回路５７は駆動電流の値に基づいて、電流制御を実行する。
【００４７】
制御装置５０は主軸モータ６に対しても、Ｘ〜Ｚ軸モータ２３、１３、３３と同様なフィードバック制御を実行する。
【００４８】
工作機械１００はマガジンモータ６０と、マガジン制御回路５８とを備える。マガジンモータ６０の回転によって工具マガジンが駆動する。マガジン制御回路５８はマガジンモータ６０の回転を制御する。
【００４９】
記憶部５２はワークを加工する加工プログラムを格納する。加工プログラムは、主軸５ａの位置を指示する複数の指令点Ｐk を有する。ｋは加工プログラムを構成する命令の順番を示す。主軸５ａは複数の指令点Ｐk を順次移動し、主軸５ａに装着した工具はワークを加工する。
【００５０】
記憶部５２は指令点Ｐk を予め記憶している。制御装置５０は複数の指令点Ｐk に基づいて、主軸５ａが移動する経路（加工経路）を設定する。制御装置５０は加工経路に基づいて、主軸５ａの移動を実行する。
【００５１】
加工経路の設定方法について説明する。図３はワークに対する加工経路及び評価断面を略示する平面図、図４はワークに対する評価断面を略示する斜視図である。なお図中Ｘ方向は左右方向を示し、Ｙ方向は前後方向を示し、Ｚ方向は上下方向を示す。また図３及び図４におけるワークの形状は加工後の形状を示している。
【００５２】
制御装置５０は、ワークに対して評価断面Ｄd （ｄは断面番号を示し、自然数である）を設定する。例えば、図３に示すように、主軸５ａが渦巻き状に周回移動する場合、加工経路は渦巻き方向に沿った経路となる。図３に示す如く、制御装置５０は加工経路に略直交する方向に沿った評価断面Ｄd を複数設定する。複数の評価断面は加工経路の周方向に並ぶ。尚、作業者は、加工経路の方向が周方向であることを予め指示する。
【００５３】
制御装置５０は加工経路設定処理を実行する。図５は、制御装置５０による加工経路設定処理を説明するフローチャートである。
【００５４】
制御装置５０のＣＰＵ５１は、開始信号の入力があるまで待機する（ステップＳ１：ＮＯ）。例えば、ユーザは操作部７を操作して、開始信号を制御装置に入力する。
【００５５】
開始信号の入力があった場合（ステップＳ１：ＹＥＳ）、ＣＰＵ５１は、最外周／最内周演算処理を実行し（ステップＳ２）、評価断面設定処理を実行して（ステップＳ３）、指令点位置修正処理を実行する（ステップＳ４）。最外周／最内周演算処理、評価断面設定処理及び指令点位置修正処理の詳細は後述する。
【００５６】
最外周／最内周演算処理について説明する。図６は、最外周／最内周演算処理を説明するフローチャート、図７は、渦巻き状に外周側から内周側に移動する主軸５ａの加工経路を略示する模式図、図８は、渦巻き状に内周側から外周側に移動する主軸５ａの加工経路を略示する模式図である。
【００５７】
ＣＰＵ５１は、複数の指令点Ｐk について、加工経路の始点に位置する指令点（始点指令点）Ｐ1 から加工経路の終点に位置する指令点（終点指令点）ＰN まで順に識別子（番号）を設定する（ステップＳ１１）。
【００５８】
ＣＰＵ５１は、始点指令点Ｐ1 に最も近い線分Ｐa Ｐa+1 を演算し（ステップＳ１２）、終点指令点ＰN に最も近い線分Ｐb Ｐb+1 を演算する（ステップＳ１３）。
【００５９】
ＣＰＵ５１は、始点指令点Ｐ1 と指令点Ｐa との間の加工経路を経路Ａに設定し（ステップＳ１４）、終点指令点ＰN と指令点Ｐb との間の加工経路を経路Ｂに設定する（ステップＳ１５）。
【００６０】
図７に示す如く、外周側から内周側に主軸５ａが移動する場合、経路Ａは最も外側に位置し、経路Ｂは最も内側に位置する。図８に示す如く、内周側から外周側に主軸５ａが移動する場合、経路Ａは最も内側に位置し、経路Ｂは最も外側に位置する。経路Ａ及び経路Ｂはそれぞれ略環状をなす。環状とは、図３に示すように渦巻き状のものも含む。最も近い線分Ｐa Ｐa+1 の演算は始点指令点Ｐ1 から各線分Ｐ2 Ｐ3 、Ｐ3 Ｐ4 、・・・までの最短距離を演算し、該最短距離の最大値から次第に小さくなった時の最小距離の線分を算出する。最も近い線分Ｐb Ｐb+1 の演算も同様である。
【００６１】
ＣＰＵ５１は、経路ＡのＸ方向の最小値ＡX_min 及び最大値ＡX_max と、Ｙ方向の最小値ＡY_min 及び最大値ＡY_max を演算する（ステップＳ１６）。
【００６２】
ＣＰＵ５１は、経路ＢのＸ方向の最小値ＢX_min 及び最大値ＢX_max と、Ｙ方向の最小値ＢY_min 及び最大値ＢY_max を演算する（ステップＳ１７）。
【００６３】
ＣＰＵ５１は、ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max であるのか否かを判定する（ステップＳ１８）。ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max である場合（ステップＳ１８：ＹＥＳ）、ＣＰＵ５１は、経路Ａを最も外側に位置する最外周経路に決定し、経路Ｂを最も内側に位置する最内周経路に決定し（ステップＳ１９、図７参照）、評価断面設定処理に処理を戻す（ステップＳ３、図５参照）。
【００６４】
ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max でない場合（ステップＳ１８：ＮＯ）、ＣＰＵ５１は、ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max であるのか否かを判定する（ステップＳ２０）。
【００６５】
ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max である場合（ステップＳ２０：ＹＥＳ）、ＣＰＵ５１は、経路Ａを最も内側に位置する最内周経路に決定し、経路Ｂを最も外側に位置する経路に決定し（ステップＳ２１、図８参照）、評価断面設定処理に処理を戻す（ステップＳ３、図５参照）。経路Ａ又はＢの一方は第１経路部を構成し、他方は第２経路部を構成する。
【００６６】
ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max でない場合（ステップＳ２０：ＮＯ）、ＣＰＵ５１は、エラーを報知し（ステップＳ２２）、処理を終了する。例えば、最外周／最内周演算処理にエラーが生じたことを表示部８に表示する。
【００６７】
なおエラー報知後、作業者が指令値Ｐk の設定を再度行う等、データの調整又は変更を行い、開始信号を制御装置５０に再度入力した場合に、ＣＰＵ５１は、最外周／最内周演算処理を再度実行するように構成してもよい。
【００６８】
次に評価断面設定処理について説明する。図９は、評価断面設定処理を説明するフローチャート、図１０は、評価断面設定処理を説明する模式図である。
【００６９】
ＣＰＵ５１は、最外周経路上に、等距離離隔した複数の第１基準点Ｏm （ｍは自然数）を設定し（ステップＳ３１）、最内周経路上に複数の第２基準点Ｌm を設定する（ステップＳ３２）。尚、第１基準点Ｏm は始点指令点Ｐ1 から順に等間隔に設定する。第２基準点の設定については後述する。
【００７０】
ＣＰＵ５１は、最内周経路上であって、第１基準点Ｏm から最も近い位置にある点を第２基準点Ｌm にする。ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm に基づいて、評価断面Ｄd を演算し、設定する（ステップＳ３３）。ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm が評価断面Ｄd 上に位置するように、評価断面Ｄd を演算する。ＣＰＵ５１は、指令点位置修正処理に処理を戻す（ステップＳ４、図５参照）。評価断面Ｄd の演算はＸ−Ｙ平面に対して垂直な面であり、上記第１基準点Ｏm と第２基準点Ｌm を含む平面を演算する。
【００７１】
第２基準点Ｌm は、第１基準点Ｏm から最も近い位置にあるので、評価断面Ｄd は、最内周経路及び最外周経路（加工経路）に対して略垂直になる。
【００７２】
図１１は指令点Ｐk と、評価断面Ｄd 及び加工経路の交点とを略示する模式図、図１２は交点テーブルの一例を示す概念図である。図１１及び１２において、「ｉ」（ｉは自然数）は主軸５ａの周回移動における経路番号を示す。図１１に示すように、例えば経路番号１（ｉ＝１）の経路は、最外周経路を示し、経路番号２（ｉ＝２）の経路は経路番号１の経路よりも内側に位置する環状の経路を示す。経路番号３以下も同様である。主軸５ａは経路番号順に移動する。
【００７３】
図１２に示すように、制御装置５０は、各評価断面Ｄd において、移動経路Ｐk −Ｐk+1 との交点Ｓidを演算し、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて、交点テーブルに記憶する。
【００７４】
制御装置５０は、評価断面Ｄd 上における交点位置を例えば第１の修正方法で修正する。図１３は評価断面Ｄd 上における交点位置の第１の修正方法を説明する説明図である。制御装置５０は、例えばＺ方向の座標を漸次変更するように修正する。修正の対象となる交点座標Ｓidに対し、前後各二点の交点座標ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを使用して修正点tidを決定する。
【００７５】
四つの交点座標ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dの各Ｚ座標値をｚi-2 、ｚi-1 、ｚi+1 、ｚi+2 とし、修正点tidのＺ座標値をzi′とし、Ｚ座標値の差分をd1 ＝ｚi-2 −ｚi-1、d2 ＝ｚi-1 −zi ′、d3 ＝zi ′−ｚi+1、d4 ＝ｚi+1 −ｚi+2とし、Ｚ座標値の二回差分d12′、d23′、d34′（Ｚ座標値の差分d1 、d2 、d3 、d4 の差分）が線形に変化するようなzi′を演算する。
【００７６】
Ｚ座標値の二回差分d12′、d23′、d34′は次式で求まる。
d12′＝d2 −d1 ＝（ｚi-1 −zi ′）−（ｚi-2 −ｚi-1）＝２ｚi-1 −zi ′−ｚi-2 ・・・（１）
d23′＝d3 −d2 ＝（zi ′−ｚi+1）−（ｚi-1 −zi ′）＝２ｚi ′−zi+1 −ｚi-1 ・・・（２）
d34′＝d4 −d3 ＝（ｚi+1 −ｚi+2 ）−（zi ′−ｚi+1 ）＝２ｚi+1 −zi+2 −ｚi ′ ・・（３）
【００７７】
これらが線形に変化することから、
d23′＝（d12′＋d34′）／２                                          ・・・（４）
を満たす。
【００７８】
式（１）〜（４）に基づき、zi ′を解くと、
zi ′＝（−ｚi-2 ＋４ｚi-1 ＋４ｚi+1 −zi+2 ）／６
となる。
【００７９】
評価断面Ｄd 上における全ての交点Ｓidに対して上記修正を行う。なおＺ座標値が他の交点のＺ座標値と比較して、大きく離れた交点のみを修正してもよい。
【００８０】
制御装置５０は、評価断面Ｄd 上における交点位置を例えば第２の修正方法で修正する。図１４は評価断面上における交点位置の第２の修正方法を説明する説明図である。図１４において、ｕはＸＹ座標に相当し、ｖはＺ座標に相当する。制御装置５０は、例えば修正の対象となる交点Ｓidの周囲にある他の複数の交点を使用して、滑らかな曲線（スプライン曲線、ベジェ曲線、ＮＵＲＢＳ曲線等）を作成し、該曲線上に修正の対象となる交点Ｓidを投影する。
【００８１】
滑らかな曲線として四つの交点ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを使用する場合、評価断面Ｄd （ｕｖ平面）上における区間ｓi-2d〜ｓi-1d、区間ｓi-1d〜ｓi+1d、区間ｓi+1d〜ｓi+2dの夫々の曲線式ｖ1(ｕ)、ｖ2(ｕ)、ｖ3(ｕ)は、以下の式となる。
ｖj(ｕ)＝ａj (ｕ-ｕj )3 ＋ｂj (ｕ-ｕj )2 ＋ｃj （ｕ-ｕj ）＋ｄj 
（ｊ＝１、２、３）
【００８２】
交点ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを通り、且つ境界点における一次導関数及び二次導関数が連続であることに基づいて、制御装置５０はａj 〜ｄj を決定することができる。
【００８３】
四つの交点の選択は、上述したように、交点Ｓidの両隣に位置する連続した二点を使用する場合に限らない。例えば交点ｓi-3d、ｓi-1d、ｓi+1d、ｓi+3dのように、二点毎に不連続に交点を選択してもよい。
【００８４】
図１４に示すように、修正点tid位置は、滑らかな曲線上において、修正の対象となる交点Ｓidからの距離が最小となる位置である。
【００８５】
ｄ番目の評価断面Ｄd 上に存在する修正後の交点群Ｓd をＴd とする。
Ｔd ＝{tid|ｄ：断面番号、ｉ：経路番号}
【００８６】
制御装置５０は、交点群をＴd を使用して、指令点の位置を修正する。図１５は指令点の修正方法を説明する説明図である。図１５において、Ｐa 〜Ｐf は指令点を示す。
【００８７】
例えば指令点Ｐc が修正対象である場合、図１５Ａに示す如く、指令点Ｐc は断面Ｄd-1 と断面Ｄd の間に位置し、経路番号はｉである。制御装置５０は前述した交点テーブルを参照し、指令点Ｐc に関する断面位置及び経路番号を取得する。
【００８８】
図１５Ｂに示す如く、制御装置５０は指令点Ｐc の周囲にある交点、例えば加工経路上に並んだ四つの交点tid+1、tid、tid-1、tid-2を探索する。制御装置５０は四つの交点tid+1、tid、tid-1、tid-2から滑らかな曲線（スプライン曲線、ベジェ曲線、ＮＵＲＢＳ曲線等）を作成し、該曲線上に指令点Ｐc を投影し、修正点Ｐc ′を決定する。制御装置５０は、滑らかな曲線を前述した第２の修正方法と同様な方法で求める。修正点Ｐc ′の位置は、滑らかな曲線上において、指令点Ｐc からの距離が最小となる位置である。制御装置５０は他の指令点の位置を同様に修正する。
【００８９】
図１６は、指令点位置修正処理を説明するフローチャートである。ＣＰＵ５１は、上述した評価断面設定処理（ステップＳ３、図５参照）にて、評価断面Ｄd を設定した後、交点テーブルを作成する（図１１及び図１２参照）。具体的には、ＣＰＵ５１は往復動作の経路番号を示す変数ｉ及び加工プログラムを構成する命令の順番を示す変数ｋに「１」を設定する（ステップＳ４１）。
【００９０】
そしてＣＰＵ５１は移動経路Ｐk −Ｐk+1 を読み込む（ステップＳ４２）。ＣＰＵ５１は移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差するか否かを判定する（ステップＳ４３）。移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差しない場合（ステップＳ４３：ＮＯ）、ＣＰＵ５１はｋを一つインクリメントする（ステップＳ４７）。
【００９１】
移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差する場合（ステップＳ４３：ＹＥＳ）、ＣＰＵ５１は、評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在しているか否かを判定する（ステップＳ４４）。
【００９２】
評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在していない場合（ステップＳ４４：ＮＯ）、ＣＰＵ５１は記憶部５２の交点テーブル（図１２参照）に、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて記憶する（ステップＳ４６）。
【００９３】
評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在している場合（ステップＳ４４：ＹＥＳ）、ＣＰＵ５１はｉを一つインクリメントし（ステップＳ４５）、ＣＰＵ５１は記憶部５２の交点テーブルに、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて記憶し（ステップＳ４６）、ｋを一つインクリメントする（ステップＳ４７）。ステップＳ４１〜Ｓ４７は演算部を構成する。
【００９４】
ｋをインクリメントした後、ＣＰＵ５１はｋが最終番号であるか否かを判定する（ステップＳ４８）。ｋが最終番号でない場合（ステップＳ４８：ＮＯ）、ＣＰＵ５１はステップＳ４２に処理を戻す。ｋが最終番号である場合（ステップＳ４８：ＹＥＳ）、ＣＰＵ５１は、上述したように、交点の位置を修正する（ステップＳ４９、式（１）〜式（４）、図１３及び図１４参照）。
【００９５】
ＣＰＵ５１は、上述したように、指令点の周囲にある交点を探索し（ステップＳ５０）、指令点の位置を修正する（ステップＳ５１、図１５Ａ及び図１５Ｂ参照）。
【００９６】
上述した実施の形態においては、経路Ａ及び経路Ｂは、最外周及び最内周に位置しているが、これに限定されない。経路Ａ又は経路Ｂの一方が外周側に位置し、他方が内周側に位置すればよい。
【００９７】
実施の形態に係る制御装置５０及び工作機械１００にあっては、環状の加工経路に対して垂直になるように評価断面Ｄd を設定し、評価断面Ｄd と加工経路の交点Ｓidの位置を修正し、修正した交点Ｓidの位置に基づいて、前記加工経路に交差する方向における指令点Ｐk の位置を修正する。
【００９８】
環状の加工経路に対して、加工経路の中心から放射状に延びるように、複数の評価断面Ｄd を設定した場合、評価断面Ｄdの密度が高い部分と低い部分とが発生し、指令点Ｐk に対する修正精度が低下することがある。上述した実施の形態においては、評価断面Ｄd を加工経路に対して垂直にすることによって、評価断面Ｄd の密度に差が生じたとしても、指令点Ｐk に対する修正精度の低下を防止することができる。
【００９９】
また外周側の経路及び内周側の経路（経路Ａ及び経路Ｂ）に第１基準点Ｏm 及び第２基準点Ｌm をそれぞれ設定する。第２基準点Ｌm は第１基準点Ｏm に最も近い位置にある。第１基準点Ｏm 及び第２基準点Ｌm が評価断面Ｄd 上に位置するように、評価断面Ｄd を設定することによって、評価断面Ｄd は加工経路に対して略垂直になる。
【０１００】
外周側の経路と内周側の経路との間の距離が小さい場合、僅かな演算誤差等によって、設定した評価断面Ｄd が加工経路に対して傾斜し、他の評価断面Ｄd と交差することがある。実施の形態にあっては、外周側の経路が最外周側に位置し、内周側の経路が最内周側に位置するので、外周側の経路と内周側の経路との間に十分に大きい距離を設けて、評価断面同士が交差することを防止できる。
【０１０１】
また外周側の経路又は内周側の経路の一方が加工経路の始点側に位置し、他方が加工経路の終点側に位置する。渦巻き状の加工経路の中心部に始点が位置する場合、外周側の経路は終点側に位置し、内周側の経路は始点側に位置する。加工経路の中心部に終点が位置する場合、内周側の経路は終点側に位置し、外周側の経路は始点側に位置する。
【符号の説明】
【０１０２】
５ａ  主軸
５０  制御装置
５１  ＣＰＵ
５２  記憶部
５３  ＲＡＭ
１００  工作機械
【図１】
0006672748.tif 000002
【図２】
0006672748.tif 000003
【図３】
0006672748.tif 000004
【図４】
0006672748.tif 000005
【図５】
0006672748.tif 000006
【図６】
0006672748.tif 000007
【図７】
0006672748.tif 000008
【図８】
0006672748.tif 000009
【図９】
0006672748.tif 000010
【図１０】
0006672748.tif 000011
【図１１】
0006672748.tif 000012
【図１２】
0006672748.tif 000013
【図１３】
0006672748.tif 000014
【図１４】
0006672748.tif 000015
【図１５】
0006672748.tif 000016
【図１６】
0006672748.tif 000017