(57)【特許請求の範囲】
【請求項１】
互いに直交するＸ−Ｙ−Ｚ軸を有する座標系で工作機械を制御するとともに、工具の中心軸が前記座標系のＺ−Ｘ平面に平行であって、Ｚ軸に対して傾斜した角度で延びるように前記工作機械に取り付けられた前記工具を制御する制御装置であって、
前記工具の中心軸に対して直交した検出面を有し、前記工具の刃先が前記検出面に接触したことを検出する検出部と、
前記検出面に垂直な直線上に設定される回転中心点Ｏの位置と、前記回転中心点Ｏと前記検出面との距離Ｒと、前記検出面が前記Ｚ軸に垂直になるまで前記検出面を前記回転中心点ＯからＹ軸方向に延びる軸を中心に回転させるに要する回転角度θとを前記座標系における前記検出面の位置情報として設定する設定部と、
前記工具の刃先が前記検出面に接触したことが前記検出部により検出された際における前記工具の中心軸上に位置する工具中心点の座標と、前記設定部により設定された前記検出面の位置情報とから、前記工具中心点から刃先までの長さを求める算出部と、
を備えたことを特徴とする制御装置。
【請求項２】
互いに直交するＸ−Ｙ−Ｚ軸を有する座標系で工作機械を制御するとともに、工具の中心軸が前記座標系のＺ−Ｘ平面に平行であって、Ｚ軸に対して傾斜した角度で延びるように前記工作機械に取り付けられた前記工具を制御する制御装置であって、
前記工具の中心軸に対して直交した検出面を有し、前記工具の刃先が前記検出面に接触したことを検出する検出部と、
前記検出面に垂直な直線上に設定される回転中心点Ｏの位置と、前記検出面を前記回転中心点ＯからＹ軸方向に延びる軸を中心に前記検出面が前記Ｚ軸に垂直になるまで回転させるに要する回転角度θと、前記検出面が前記Ｚ軸に垂直になるように前記検出面を前記回転中心点ＯからＹ軸方向に延びる軸を中心に前記回転角度θだけ回転させたときの前記検出面の位置とを前記座標系における前記検出面の位置情報として設定する設定部と、
前記工具の刃先が前記検出面に接触したことが前記検出部により検出された際における前記工具の中心軸上に位置する工具中心点の座標と、前記設定部により設定された前記検出面の位置情報とから、前記工具中心点から刃先までの長さを求める算出部と、
を備えたことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関する。
【背景技術】
【０００２】
ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）装置は、工作機械を制御することに加え、工作機械に取り付けられた工具の長さ（工具長）を測定するための測定機能を有する。この測定機能では、指令値を与えて工具を基準位置から（測定センサにおける）測定面まで移動させ、工具が測定面に到着すると同時に機械を停止させ、その時の工具の座標値と指令値により指令された測定位置の座標値との差分を自動的に計算し工具長とする。測定面は、互いに直交する３つの軸を有する座標系における測定軸及び測定座標を指定することにより、測定座標を含みかつ測定軸に垂直な面で定義される。
【０００３】
また、工具を直接的に座標系の軸方向に対して傾斜させて取り付けることができない工作機械でも、軸方向に対して斜め方向へ切削加工することを目的とし、軸方向に対して特定の角度を持つアングルホルダを介して工具を工作機械に取り付ける場合がある。
【０００４】
それに対して、特許文献１には、Ｘ軸又はＺ軸に直交する第１当接面とＸ軸及びＺ軸に対して４５°傾斜した第２当接面とを持つタッチセンサが記載されている。すなわち、タッチセンサは、第１当接面により工具の取り付けや磨耗等による刃先位置誤差量の検出を行う。続いて、タッチセンサは、Ｚ軸マイナス方向の動きで第２当接面に刃先が接触したときのそれぞれＸ軸プラス方向及びＸ軸マイナス方向で位置決めされた２つのＺ軸座標値を検出する。その検出結果を受けたメインプロセッサは、２つのＺ軸座標値の差によりＸ軸ロストモーション量を求め、Ｘ軸ロストモーション量と予め求めたＸ軸方向の刃先位置誤差量とを足しあわせてＸ軸方向の工具補正量を求める。同様にして、Ｚ軸ロストモーション量とＺ軸方向の刃先位置誤差量とを足しあわせてＺ軸方向の工具補正量を求める。これにより、特許文献１によれば、試し切削を行って加工寸法誤差を測定して工具補正をする必要がないので、短時間に高精度加工ができる工具補正が可能になるとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された技術では、第１の当接面がＺ軸方向に延びた面なので、工具における刃先からずれた位置が第１当接面に接触した状態で刃先位置誤差量を検出している可能性がある。これにより、刃先位置誤差量は工具の刃先の位置を正確に表していない可能性がある。また、特許文献１には、ロストモーション量が位置決めを行う際の送り速度により異なる値を示すものと記載されており、ロストモーション量が刃先の位置とどのような関係にあるのかが開示されていない。すなわち、特許文献１に記載された技術によると、工具における基準点から刃先までの長さ（工具長）を正確に求めることが困難である。すなわち、特許文献１に記載された技術では、工具における基準点から刃先までの長さを正確に求めずに、工具補正を行っているので、工具補正の精度が低い。
【０００７】
本発明は、上記に鑑みてなされたものであって、工具における基準点から刃先までの長さを正確に求めることができる制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の１つの側面にかかる制御装置は、互いに直交する３つの軸を有する座標系で工作機械を制御するとともに、工具の中心軸が前記座標系の１つの軸に対して傾斜した角度で延びるように前記工作機械に取り付けられた前記工具を制御する制御装置であって、前記工具の中心軸に対して直交した検出面を有し、前記工具の刃先が前記検出面に接触したことを検出する検出部と、少なくとも、前記座標系の１つの軸に沿って延びた基準平面の中心座標、前記基準平面の回転中心軸、及び前記基準平面の回転角度をそれぞれ前記座標系内で指定することにより、前記座標系における前記検出面の位置情報を設定する設定部と、前記工具の刃先が前記検出面に接触したことが前記検出部により検出された際における前記工具における基準点の座標と、前記設定部により設定された前記検出面の位置情報とから、前記工具における基準点から刃先までの長さを求める算出部とを備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、座標系における検出面の位置情報を設定して工具における基準点から刃先までの長さを求めるので、工具における基準点から刃先までの長さを正確に求めることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、傾斜面センサと角度付き工具の設置例の図である。
【図２】図２は、実施の形態１を示すＮＣ装置の構成図である。
【図３】図３は、図２における工具長測定処理部のフローチャートである。
【図４】図４は、図２における駆動制御処理部のフローチャートである。
【図５】図５は、工具中心点から工具の刃先点までの補正量の算出方法の説明図である。
【図６】図６は、回転前及び回転後の測定センサの測定位置及び定義方法の説明図である。
【図７】図７は、比較例における測定センサを用いた工具長測定の説明図である。
【発明を実施するための形態】
【００１１】
本明細書では、ベクトルＡを↑Ａと表し、ベクトルＡＢを↑（ＡＢ）と表すことにする。
【００１２】
以下に、本発明にかかる制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
実施の形態１にかかる制御装置１の構成を、図１を用いて説明する。図１は、実施の形態１にかかる制御装置１の概略構成を示す図である。制御装置１は、互いに直交するＸ軸、Ｙ軸、及びＺ軸（３つの軸）を有する座標系（機械座標系）で工作機械（図示せず）を制御する。それとともに、制御装置１は、工作機械にアングルホルダＨを介して取り付けられた角度付き工具３０１を制御する。
【００１４】
角度付き工具３０１は、工作機械に、アングルホルダＨを介して−Ｘ軸（１つの軸）方向に対して傾斜した角度αで取り付けられている。すなわち、角度付き工具３０１の工具軸（中心軸）３０４は、−Ｘ軸方向に対して角度αをなす方向に（傾斜した角度αで）延びている。
【００１５】
制御装置１は、測定センサ（検出部）２０３及びＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）装置１００を備える。
【００１６】
測定センサ２０３は、傾斜スタイラス面（検出面）２０２を持つ。傾斜スタイラス面２０２は、角度付き工具３０１の工具軸３０４に対して直交した面である。測定センサ２０３は、角度付き工具３０１の工具長（Ｌ３０６、Ｌ３０７）を測定することを目的として、角度付き工具３０１の工具刃先点３１３が傾斜スタイラス面２０２に接触したことを検出する。測定センサ２０３は、検出した結果を示す信号をＮＣ装置１００へ供給する。
【００１７】
ＮＣ装置１００は、後述のように、傾斜スタイラス面２０２の測定位置情報を設定している。ＮＣ装置１００は、角度付き工具３０１の工具刃先点３１３が傾斜スタイラス面２０２に接触した時、傾斜スタイラス面２０２（工具刃先点３１３）から角度付き工具３０１の工具中心点（基準点）３０５までの補正量（長さ、工具長）Ｌ３０６及びＬ３０７を算出する。ＮＣ装置１００は、測定実施前に登録した工具補正基準点３１２から工具中心点３０５までの補正量（長さ）Ｌ３０８及びＬ３０９と、補正量Ｌ３０６及びＬ３０７とをそれぞれ加え合わせる演算を行い、工具補正量Ｌ３１０及びＬ３１１を求めて設定する。工具補正基準点３１２とは、機械座標系の原点に位置決めされたとき、機械座標系における（Ｘ，Ｚ）＝（０，０）となる点である。ＮＣ装置１００は、工具補正量Ｌ３１０及びＬ３１１を工具補正基準点３１２の座標値に加算することによって、機械座標系における工具刃先点３１３の座標位置を決定することができる。工具中心点３０５とは、角度付き工具３０１における基準点であり、工具軸３０４上における角度付き工具３０１内に位置する任意の点を指定することができる。
【００１８】
次に、ＮＣ装置１００の構成を、図２を用いて説明する。図２は、実施の形態１におけるＮＣ装置の構成を示す図である。図２では、ＮＣ装置における、角度付き工具３０１の工具長測定を行うための構成を中心に示している。
【００１９】
ＮＣ装置１００は、設定表示部１１９、設定表示Ｉ／Ｆ１０１、外部信号Ｉ／Ｆ１１４、制御演算装置部１０２、記憶部１０３、及び駆動部１０４を備える。
【００２０】
設定表示部１１９は、ディスプレイ（図示せず）に、所定の画面に加えてＧＵＩ画面を表示する。設定表示部１１９は、キーボード・マウスなどから、又はタッチパネルセンサーなどから、ＧＵＩ画面を介したユーザからの指示を受け付ける。例えば、設定表示部１１９は、機械座標系の１つの軸（例えば、Ｘ軸）に沿って延びた基準平面（例えば、図６（ａ）に示す回転前測定面８１）の中心座標（測定位置８１ａの座標）、基準平面の回転中心座標（例えば、回転中心座標８２）、基準平面の回転中心軸（例えば、回転中心軸８３）、及び基準平面の回転角度（例えば、回転角度θ）を指定するための設定指示を受け付ける。設定表示部１１９は、設定指示を示す情報を設定表示Ｉ／Ｆ１０１へ供給する。設定表示Ｉ／Ｆ１０１は、供給された設定指示を示す情報を制御演算装置部１０２へ供給する。
【００２１】
外部信号Ｉ／Ｆ１１４は、測定位置到達信号１２０を測定センサ２０３から受ける。外部信号Ｉ／Ｆ１１４は、受けた測定位置到達信号１２０を制御演算装置部１０２へ供給する。
【００２２】
制御演算装置部１０２は、測定位置算出処理部（設定部）１０６、工具長測定処理部（算出部）１０５、及び駆動制御処理部１０７を有する。
【００２３】
測定位置算出処理部１０６は、設定指示を示す情報を設定表示Ｉ／Ｆ１０１から受ける。測定位置算出処理部１０６は、設定指示に応じて、機械座標系における傾斜スタイラス面２０２の位置情報を設定する。すなわち、測定位置算出処理部１０６は、機械座標系の1つの軸（例えば、Ｘ軸）に沿って延びた基準平面（例えば、図６（ａ）に示す回転前測定面８１）の中心座標（測定位置８１ａの座標）、基準平面の回転中心座標（例えば、回転中心座標８２）、基準平面の回転中心軸（例えば、回転中心軸８３）、及び基準平面の回転角度（例えば、回転角度θ）をそれぞれ機械座標系内で指定することにより、機械座標系における傾斜スタイラス面２０２の位置情報を設定する。測定位置算出処理部１０６は、設定した傾斜スタイラス面２０２の位置情報（すなわち、測定位置情報１１０）を記憶部１０３に記憶させる。
【００２４】
工具長測定処理部１０５は、測定位置到達信号１２０を外部信号Ｉ／Ｆ１１４から受ける。工具長測定処理部１０５は、測定位置到達信号１２０に応じて、機械座標系における工具中心点（基準点）３０５の座標を示す情報（すなわち、現在位置情報１１５）と傾斜スタイラス面２０２の位置情報（すなわち、測定位置情報１１０）とをそれぞれ記憶部１０３から取得する。工具長測定処理部１０５は、現在位置情報１１５と測定位置情報１１０とから、角度付き工具３０１における工具中心点（基準点）３０５から工具刃先点３１３までの長さ（工具長）を求める。
【００２５】
記憶部１０３は、回転後測定位置情報１０８、軸停止要求１１３、現在位置情報１１５、軸停止完了フラグ１０９、及び工具補正情報１１６を記憶している。回転後測定位置情報１０８は、測定位置情報１１０、モード情報１１１、及び工具中心点位置情報１１２を含む。現在位置情報１１５は、少なくとも、角度付き工具３０１の工具刃先点３１３が傾斜スタイラス面２０２に接触したことが測定センサ２０３により検出された際に、駆動制御処理部１０７により更新される。
【００２６】
駆動部１０４は、Ｘ軸サーボ駆動部１１７及びＺ軸サーボ駆動部１１８を有する。Ｘ軸サーボ駆動部１１７は、モータ（図示せず）や機械装置（図示せず）を介して、例えば角度付き工具３０１をＸ軸に沿った方向へ駆動する。Ｚ軸サーボ駆動部１１８は、モータ（図示せず）や機械装置（図示せず）を介して、例えば角度付き工具３０１をＺ軸に沿った方向へ駆動する。駆動部１０４は、さらにＹ軸サーボ駆動部を有していてもよい。この場合、駆動部１０４は、モータ（図示せず）や機械装置（図示せず）を介して、例えば角度付き工具３０１をＹ軸に沿った方向へ駆動するができる。
【００２７】
次に、制御装置１の動作を、図１〜図６を用いて説明する。図３は、工具長測定処理部１０５により行われる処理の流れを示すフローチャートである。図４は、駆動制御処理部１０７により行われる処理の流れを示すフローチャートである。図５は工具における中心点から刃先点までの長さ（すなわち補正量）の算出方法を示したものである。図６は、回転前（図６（ａ））及び回転後（図６（ｂ））の測定センサの測定位置及びその定義方法を示すものである。なお、以下では、説明を簡略化するために、Ｙ軸方向を回転中心軸として回転させた傾斜スタイラス面を持つ測定センサが設けられ、Ｚ−Ｘ平面上に角度付き工具が設けられている旋盤系工作機械における、角度付き工具の工具長測定を行う場合について例示的に説明する。
【００２８】
まず、図２に示す設定表示部１１９は、モード情報１１１に記録されている工具長測定モードがオフしていることを条件に、設定指示を受け付ける。設定指示は、例えば、図６（ａ）、（ｂ）に示すような、回転前測定軸８０、回転前測定面（基準平面）８１の測定位置（中心座標）８１ａ、回転中心座標８２、回転中心軸８３、及び回転角度θを指定するための指示である。設定表示部１１９は、具体的に次のような設定指示を受け付ける。
【００２９】
図６（ａ）の↑（ＯＰ）を、回転前測定軸８０の向きを持ち、回転中心座標８２から回転前測定面８１の測定位置８１ａまでの大きさＲを持つベクトルである回転前測定位置ベクトルとする。回転前測定軸８０は、回転させたいスタイラス面（基準平面）と垂直に交わる軸を、直交軸のいずれかの単位ベクトルとして設定する。実施の形態１では、回転前測定軸８０をＺ軸と仮定し、Ｚ軸の単位ベクトル↑ｚ＝（０，０，１）のように設定する。
【００３０】
回転前測定面（基準平面）８１の測定位置８１ａは、回転させたいスタイラス面（基準平面）と直交軸（Ｘ軸、Ｚ軸）とが交差する点の座標のうち、回転前測定軸８０で選択した軸（Ｚ軸）成分の座標を設定する。回転中心座標８２は、機械座標系における位置座標を設定する。
【００３１】
また、図６（ｂ）の↑（ＯＰ’）を、回転中心座標８２を中心として、回転前測定軸８０を回転中心軸８３の周りに回転角度θの回転量で回転させた向きを持ち、回転中心座標８２から回転後測定面８５の測定位置８５ａまでの大きさＲを持つベクトルである回転後測定位置ベクトルとする。回転中心軸８３は、回転前測定面８１をどの軸を中心に回転させるかを決める軸であり、直交軸のいずれかの単位ベクトルとして設定する。実施の形態１では、回転中心軸８３をＹ軸と仮定し、Ｙ軸の単位ベクトル↑ｙ＝（０，１，０）のように設定する。
【００３２】
回転角度θは、回転前測定面８１を、回転中心軸８３を中心に回転させる回転量で、回転中心軸８３と垂直に交わる平面を基準としたとき、反時計回りを正とする角度とする。その設定範囲を、０°＜回転角度θ＜９０°とする。実施の形態１では、回転中心軸８３すなわちＹ軸の周りに、回転前測定位置ベクトル↑（ＯＰ）を回転角度θで回転させたとき、回転後測定面（検出面）８５及び回転後測定位置ベクトル↑（ＯＰ’）が得られる。なお、角度θは、図１に示すαと、θ＝１８０°−αの関係にある。
【００３３】
そして、設定表示部１１９は、設定指示すなわち設定されたパラメータを、設定表示Ｉ／Ｆ１０１に格納させる。
【００３４】
設定表示Ｉ／Ｆ１０１に値が格納されると、制御演算装置部１０２は、測定位置算出処理部１０６を呼び出す。そして（設定ステップ）、測定位置算出処理部１０６は、図６の測定位置回転半径Ｒを、回転中心座標８２から回転前測定面８１の測定位置８１ａまでの回転前測定軸８０で設定した軸の成分の距離を計算することによって算出する。続けて、測定位置算出処理部１０６は、回転前測定軸８０、及び算出された測定位置回転半径Ｒより、回転前測定位置ベクトル↑（ＯＰ）を生成する。回転中心点を点Ｏ、回転前測定面８１と回転中心座標８２から回転前測定軸８０方向に延長した直線の交点をＰ、回転前測定軸８０の単位ベクトルを↑ｚとすると、回転前測定位置ベクトル↑（ＯＰ）は次の式で求められる。
【００３５】
↑（ＯＰ）＝Ｒ↑ｚ・・・数式１
【００３６】
次に、測定位置算出処理部１０６は、上記で設定された回転中心軸８３を中心に、回転前測定位置ベクトル↑（ＯＰ）を回転角度θで回転させ、回転後測定位置ベクトル↑（ＯＰ’）を生成する。角度θは、Ｚ−Ｘ平面を基準とし反時計回りを正とする角度とし、Ｚ−Ｘ平面のＹ軸回りの回転角を示す。図６（ｃ）に示すように、回転後測定面８５と回転後測定軸との交点をＰ’とし、点Ｐ’から回転前測定軸８０へ垂線を引き、その交点をＶとすると、回転後測定位置ベクトル↑（ＯＰ’）は次式で求められる。
【００３７】
↑（ＯＰ’）＝↑（ＯＶ）＋↑（ＶＰ’）
＝↑（ＯＰ）ｃｏｓθ＋（−（↑（ＯＰ）×↑ｙ）ｓｉｎθ）
＝（０，０，Ｒ）ｃｏｓθ＋（−（−Ｒ，０，０）ｓｉｎθ）
＝（Ｒｓｉｎθ，０，Ｒｃｏｓθ）・・・数式２
数式２において、‘×’は外積の演算子である。
【００３８】
このようにして、測定位置算出処理部（設定部）１０６は、機械座標系のＸ軸に沿った回転前測定面８１の測定位置８１ａの座標、回転前測定面８１の回転中心座標８２、回転前測定面８１の回転中心軸８３、及び回転前測定面８１の回転角度θをそれぞれ機械座標系内で指定することにより、機械座標系における、角度付き工具３０１の工具軸３０４に対して直交した傾斜スタイラス面２０２の測定位置情報（↑（ＯＰ’）の情報）を設定する。測定位置算出処理部１０６は、算出された回転後測定位置ベクトル↑（ＯＰ’）の情報を測定位置情報１１０として記憶部１０３に格納する。
【００３９】
なお、回転中心座標８２の情報は、測定位置８１ａの座標や回転中心軸８３から求めてもよい。
【００４０】
続けて、図２に示す設定表示部１１９には、モード情報１１１に記録されている工具長測定モードがオフしていることを条件に、図１の工具補正基準点３１２から工具中心点３０５までのＺ軸方向の距離（補正量Ｌ３０８）及びＸ軸方向の距離（補正量Ｌ３０９）が（例えば、予め測定された値が自動で）入力される。設定表示部１１９に入力された設定値は、設定表示Ｉ／Ｆ１０１を経由し、測定位置算出処理部１０６へ供給される。測定位置算出処理部１０６は、供給された設定値の情報を、工具中心点位置情報１１２として記憶部１０３に格納する。
【００４１】
そして、角度付き工具３０１の工具長測定に必要な測定位置情報１１０及び工具中心点位置情報１１２が設定されたことを認識すると、図２に示す制御演算装置部１０２は、測定位置算出処理部１０６により、角度付き工具装着中であることを示す角度付き工具装着中モードをオンし、モード情報１１１が角度付き工具装着中モードのオンを示すようにモード情報１１１を更新して記憶部１０３に（例えば、上書きで）記憶させる。
【００４２】
さらに、加工プログラム、パラメータもしくは外部信号により工具測定モードがＮＣ装置１００に入力されたことを認識すると、制御演算装置部１０２は、工具長測定中であることを示す工具長測定中モードをオンし、モード情報１１１が工具長測定中モードのオンを示すようにモード情報１１１を更新して記憶部１０３に（例えば、上書きで）記憶させる。制御演算装置部１０２は、工具長測定処理部１０５を呼び出す。
【００４３】
工具長測定処理部１０５は、図３に示すフローチャートの処理を工具長測定中モードがキャンセルされるまで、周期的に行う。工具長測定処理部１０５は、具体的に次のような処理を行う。
【００４４】
ステップＳ５１では、工具長測定処理部１０５が、記憶部１０３からモード情報１１１を読み出して参照し、工具長測定中モードがオンであるか否かを判断する。工具長測定処理部１０５は、工具長測定中モードがオンであれば（Ｓ５１でＹｅｓ）、処理をＳ５２へ進め、工具長測定中モードがオフであれば（Ｓ５１でＮｏ）、処理を終了する。
【００４５】
ステップＳ５２（検出ステップ）では、工具長測定処理部１０５が、外部信号Ｉ／Ｆ１１４から測定位置到達信号１２０を読み出し、測定位置到達信号１２０がオンであるか否かを判断する。すなわち、測定センサ２０３は、角度付き工具３０１の工具刃先点３１３が傾斜スタイラス面２０２に接触したことを検出していなければ、測定位置到達信号１２０をオフにして外部信号Ｉ／Ｆ１１４経由で工具長測定処理部１０５へ供給する。測定センサ２０３は、角度付き工具３０１の工具刃先点３１３が傾斜スタイラス面２０２に接触したことを検出すれば、測定位置到達信号１２０をオンにして外部信号Ｉ／Ｆ１１４経由で工具長測定処理部１０５へ供給する。工具長測定処理部１０５は、測定位置到達信号１２０がオンであれば（Ｓ５２でＹｅｓ）、処理をＳ５３へ進め、測定位置到達信号１２０がオフであれば（Ｓ５２でＮｏ）、処理を終了する。
【００４６】
ステップＳ５３では、工具長測定処理部１０５が、記憶部１０３から軸停止完了フラグ１０９を読み出して参照し、軸停止完了フラグがオンであるか否かを判断する。工具長測定処理部１０５は、軸停止完了フラグがオンであれば（Ｓ５３でＹｅｓ）、処理をＳ５４へ進め、軸停止完了フラグがオフであれば（Ｓ５３でＮｏ）、処理をＳ５５へ進める。
【００４７】
ステップＳ５４（算出ステップ）では、工具長測定処理部１０５が、駆動制御処理部１０７による軸停止が完了した後、駆動制御処理部１０７で設定される停止時の現在位置情報１１５と、回転後測定位置情報１０８とを用いて、工具補正量（図１に示すＬ３０７、Ｌ３０６）を直交軸（Ｘ軸、Ｚ軸）毎に分配して求める。すなわち、工具長測定処理部１０５は、現在位置情報１１５と測定位置情報１１０とから、角度付き工具３０１における工具中心点（基準点）３０５から工具刃先点３１３までの長さ（図１に示すＸ軸方向の補正量Ｌ３０７、Ｚ軸方向の補正量Ｌ３０６）を直交軸（Ｘ軸、Ｚ軸）毎に分配して求める。
【００４８】
ここで、ステップＳ５４において工具長測定処理部１０５により行われる工具補正量の算出方法を、図５を用いてさらに詳細に説明する。
【００４９】
図５は、角度付き工具３０１が測定センサ２０３の傾斜スタイラス面２０２に接触し、停止したときのＺ−Ｘ平面上の位置関係図である。図５の回転前測定面７１を、回転中心座標Ｏを中心として、工具位置回転半径Ｒ、回転角度θで回転させた場合、回転後の測定面を回転後測定面７２（すなわち傾斜スタイラス面２０２）とする。回転中心座標Ｏから回転後測定面７２へ引いた垂線との交点をＰ’とし、ベクトル↑（ＯＰ’）は上記の設定ステップで算出した回転後測定位置ベクトルとなる。工具中心点３０５の位置を点Ａとし、工具中心点３０５の位置Ａから回転後測定面７２と直交する工具軸７３（すなわち図１に示す工具軸３０４）との交点をＭとし、回転中心座標Ｏを通りＺ軸に平行な直線７４と工具軸７３との交点をＢとし、工具中心点３０５である点Ａから直線７４に垂線を引き、その交点をＣとし、回転後測定面７２と直線７４の交点をＱとする。
【００５０】
角度付き工具３０１と傾斜スタイラス面２０２とが接触した際に、工具刃先点３１３の位置が点Ｍになるので、工具中心点３０５である点Ａから工具刃先点３１３である点Ｍまでの工具長ベクトル↑（ＡＭ）は次式で求められる。
【００５１】
↑（ＡＭ）＝↑（ＯＭ）−↑（ＯＡ）・・・数式３
工具中心点３０５である点Ａの座標を（ｘＡ，ｚＡ）、回転中心座標Ｏの座標を（ｘＯ，ｚＯ）とすると、↑（ＯＡ）は工具中心点３０５である点Ａの座標と回転中心座標Ｏの座標との差から次式で求められる。
【００５２】
↑（ＯＡ）＝（ｘＡ−ｘＯ，ｚＡ−ｚＯ）・・・数式４
【００５３】
また、↑（ＯＭ）は次式で求められる。
【００５４】
↑（ＯＭ）＝↑（ＯＢ）＋↑（ＢＭ）
＝（↑（ＯＣ）＋↑（ＣＢ））＋↑（ＢＭ）・・・数式５
↑（ＯＭ）を算出するため、↑（ＯＣ）、↑（ＣＢ）及び↑（ＢＭ）を別々に計算する。
【００５５】
まず↑（ＯＣ）は図５より、次式で求められる。
【００５６】
↑（ＯＣ）＝（０，ｚＡ−ｚＯ）・・・数式６
図５より↑（ＣＢ）は↑（ＡＢ）の回転前測定軸↑ｚへの正射影なので、
【００５７】
↑（ＡＢ）＝（ｘＯ−ｘＡ，｜ｘＡ−ｘＯ｜／（ｔａｎθ））
となる。↑ｚ＝（０，１）、０°＜θ＜９０°とすると、↑（ＣＢ）は次式で求められる。
【００５８】
↑（ＣＢ）＝（↑（ＡＢ）・↑ｚ）／｜↑ｚ｜２・↑ｚ
＝｜↑（ＡＢ）｜｜↑ｚ｜ｃｏｓ（１８０°−θ）／｜↑ｚ｜２・↑ｚ
＝（｜ｘＡ−ｘＯ｜／（ｓｉｎθ）＊１＊（−ｃｏｓθ））／１・↑ｚ
＝（０，−｜ｘＡ−ｘＯ｜／（ｔａｎθ））・・・数式７
数式７において、‘・’は内積の演算子であり、‘＊’はスカラー積の演算子である。
【００５９】
次に↑（ＢＭ）を算出するために、図５の三角形Ｐ’ＯＱと三角形ＭＢＱとが相似であることを証明する。三角形Ｐ’ＯＱと三角形ＭＢＱとは∠Ｐ’ＱＯを共通の角とし、∠ＯＰ’Ｑ＝∠ＢＭＣ＝９０°であることより、対応する２角が等しいため三角形Ｐ’ＯＱと三角形ＭＢＱとは相似である。ここで↑（ＢＭ）は回転後測定位置ベクトル↑（ＯＰ’）と平行なので、次式が成り立つ。
【００６０】
↑（ＢＭ）＝｜↑（ＢＭ）｜／｜↑（ＯＰ’）｜＊↑（ＯＰ’）・・・数式８
三角形Ｐ’ＯＱと三角形ＭＢＱとが相似であることより、
【００６１】
｜↑（ＯＰ’）｜：｜↑（ＯＱ）｜＝｜↑（ＢＭ）｜：｜↑（ＢＱ）｜
が成立するので、↑（ＢＭ）の大きさは次式で求められる。
【００６２】
｜↑（ＢＭ）｜／｜↑（ＯＰ’）｜＝｜↑（ＢＱ）｜／｜↑（ＯＱ）｜
【００６３】
＝（｜↑（ＯＱ）−↑（ＯＢ）｜）／｜↑（ＯＱ）｜・・・数式９
ここで、数式６、数式７より、
【００６４】
↑（ＯＢ）＝↑（ＯＢ）＋↑（ＣＢ）
【００６５】
＝（０，ｚＡ−ｚＯ）＋（０，−｜ｘＡ−ｘＯ｜／（ｔａｎθ））
【００６６】
＝（０，（ｚＡ−ｚＯ）−｜ｘＡ−ｘＯ｜／（ｔａｎθ））・・・数式１０
である。図５より、
【００６７】
↑（ＯＱ）＝（０，Ｒ／（ｃｏｓθ））
なので、
【００６８】
｜↑（ＯＱ）｜＝Ｒ／（ｃｏｓθ）
であることを利用すると、数式９は、
【００６９】
｜↑（ＢＭ）｜／｜↑（ＯＰ’）｜＝（｜Ｒ／（ｃｏｓθ）−（ｚＡ−ｚＯ）＋｜ｘＡ−ｘＯ｜／（ｔａｎθ）｜）／（Ｒ／（ｃｏｓθ））
に変換することができる。
【００７０】
従って、数式９、数式２を数式８に代入すると、
【００７１】
↑（ＢＭ）＝（（｜Ｒ／（ｃｏｓθ）−（ｚＡ−ｚＯ）＋｜ｘＡ−ｘＯ｜／（ｔａｎθ）｜）／（Ｒ／（ｃｏｓθ）））＊↑（ＯＰ’）
【００７２】
＝（｜Ｒ／（ｃｏｓθ）−（ｚＡ−ｚＯ）＋｜ｘＡ−ｘＯ｜／（ｔａｎθ）｜）（ｃｏｓ２θ，ｃｏｓθｓｉｎθ）・・・数式１１
となる。数式１０を数式５に代入すると次式にて↑（ＯＭ）が求まる。
【００７３】
↑（ＯＭ）＝（０，（ｚＡ−ｚＯ）−｜ｘＡ−ｘＯ｜／（ｔａｎθ））＋↑（ＢＭ）・・・数式１２
数式１２及び数式４を数式３に代入すると、工具中心点３０５である点Ａから工具刃先点３１３である点Ｍまでの工具長ベクトル↑（ＡＭ）を次式で求めることができる。
【００７４】
↑（ＡＭ）＝（（０，（ｚＡ−ｚＯ）−｜ｘＡ−ｘＯ｜／（ｔａｎθ））＋↑（ＢＭ））−（ｘＡ−ｘＯ，ｚＡ−ｚＯ）
【００７５】
＝（−（ｘＡ−ｘＯ），−｜ｘＡ−ｘＯ｜／（ｔａｎθ））＋↑（ＢＭ）
【００７６】
＝（−（ｘＡ−ｘＯ）＋｜Ｒ／（ｃｏｓθ）−（ｚＡ−ｚＯ）＋｜ｘＡ−ｘＯ｜／（ｔａｎθ）｜ｃｏｓ２θ，−｜ｘＡ−ｘＯ｜／（ｔａｎθ）＋｜Ｒ／（ｃｏｓθ）−（ｚＡ−ｚＯ）＋｜ｘＡ−ｘＯ｜／（ｔａｎθ）｜ｃｏｓθｓｉｎθ）・・・数式１３
数式１３で算出される工具中心点３０５（点Ａ）から工具刃先点３１３（点Ｍ）までのＺ軸方向の長さ（補正量）Ｚｃ及びＸ軸方向の長さ（補正量）Ｘｃは、図１における、Ｚ軸方向の補正量Ｌ３０６及びＸ軸方向の補正量Ｌ３０７に相当する。
【００７７】
図３に示すステップＳ５４では、工具長測定処理部１０５が、工具中心点位置情報１１２を読み出す。工具長測定処理部１０５は、工具補正基準点３１２から工具中心点３０５までのＺ軸方向の補正量Ｌ３０８（図１参照）と、数式１３で算出される工具中心点３０５（点Ａ）から工具刃先点３１３（点Ｍ）までのＺ軸方向の補正量Ｌ３０６（図１参照）とを加算する。これにより、工具長測定処理部１０５は、工具補正基準点３１２から工具刃先点３１３までのＺ軸方向の補正量Ｌ３１０（図１参照）を算出する。
【００７８】
同様に、工具長測定処理部１０５は、工具補正基準点３１２から工具中心点３０５までのＸ軸方向の補正量Ｌ３０９（図１参照）と、数式１３で算出される工具中心点３０５（点Ａ）から工具刃先点３１３（点Ｍ）までのＸ軸方向の補正量Ｌ３０７（図１参照）とを加算する。これにより、工具長測定処理部１０５は、工具補正基準点３１２から工具刃先点３１３までのＸ軸方向の補正量Ｌ３１１（図１参照）を算出する。
【００７９】
工具長測定処理部１０５は、Ｚ軸方向の補正量Ｌ３１０とＸ軸方向の補正量Ｌ３１１との組みを工具補正情報１１６として記憶部１０３（図２参照）に格納する。
【００８０】
図３に示すステップＳ５５では、工具長測定処理部１０５が、駆動制御処理部１０７による軸の移動を停止させるために、軸停止要求をオンし、軸停止要求１１３が軸停止要求のオンを示すように軸停止要求１１３を更新して記憶部１０３に（例えば、上書きで）記憶させる。そして、工具長測定処理部１０５は、工具長測定処理を終了する。
【００８１】
次に、軸停止要求がオンされたことを認識すると、図２に示す制御演算装置部１０２は、駆動制御処理部１０７を呼び出す。駆動制御処理部１０７は、図４に示すフローチャートの処理を周期的に行う。駆動制御処理部１０７は、具体的に次のような処理を行う。
【００８２】
ステップＳ６１では、駆動制御処理部１０７が、記憶部１０３から軸停止要求１１３を読み出して参照し、軸停止要求がオンであるか否かを判断する。駆動制御処理部１０７は、軸停止要求がオンであれば（Ｓ６１でＹｅｓ）、処理をＳ６２へ進め、軸停止要求がオフであれば（Ｓ６１でＮｏ）、処理を終了する。
【００８３】
ステップＳ６２では、駆動制御処理部１０７が、Ｘ軸サーボ駆動部１１７及びＺ軸サーボ駆動部１１８へそれぞれ軸移動停止指令を出力する。これにより、Ｘ軸サーボ駆動部１１７及びＺ軸サーボ駆動部１１８は、それぞれ、軸の移動を停止する。このとき、Ｘ軸サーボ駆動部１１７及びＺ軸サーボ駆動部１１８は、それぞれ、停止位置のＦＢ（フィードバック）位置情報を保持している。
【００８４】
ステップＳ６３では、駆動制御処理部１０７が、停止位置のＦＢ（フィードバック）位置情報をＸ軸サーボ駆動部１１７及びＺ軸サーボ駆動部１１８から読み出す。駆動制御処理部１０７は、読み出した停止位置のＦＢ（フィードバック）位置情報を現在位置情報１１５として記憶部１０３に格納する。
【００８５】
ステップＳ６４では、駆動制御処理部１０７が、軸停止完了フラグをオンし、軸停止完了フラグ１０９が軸停止完了フラグのオンを示すように軸停止完了フラグ１０９を更新して記憶部１０３に（例えば、上書きで）記憶させる。そして、駆動制御処理部１０７は、駆動制御処理を終了させる。
【００８６】
ここで、仮に、図７に示すように、角度付き工具３０１の工具長を測定するため、測定センサ２０３のスタイラス面２０４に角度付き工具３０１を接触させる場合を考える。この場合、スタイラス面２０４がＺ軸方向に延びた面なので、角度付き工具３０１における工具刃先点３１３からずれた位置３１４がスタイラス面２０４に接触した状態を、角度付き工具３０１の工具刃先点３１３がスタイラス面２０４に接触したものと認識して検出することになる。この場合、角度付き工具３０１における工具中心点３０５から工具刃先点３１３までの長さ（工具長）を正確に求めることが困難になる。
【００８７】
それに対して、実施の形態１では、傾斜スタイラス面を持つ測定センサの測定位置（検出面）の情報を機械座標系内で定義する。
【００８８】
具体的には、測定軸及び測定座標を指定することにより回転前の測定面（基準平面）を設定した後、測定面の回転中心座標、測定面の回転中心軸、及び測定面の回転角度情報をＮＣ装置から設定することで、回転中心軸周りの回転角度情報分だけ測定面を回転させる。その際、角度付き工具の工具軸と、回転後の測定面（検出面）とが垂直に交わるように回転角度情報を設定する。さらにアングルホルダの工具取り付け中心点（工具補正基準点３１２）を基準とし、角度付き工具の工具中心点３０５までの補正量を設定することにより、角度付き工具の中心点情報を設定する。
【００８９】
次に、角度付き工具を工具軸方向へ送り、測定センサの傾斜スタイラス面と角度付き工具の工具刃先点とが接触したときに、測定センサはＮＣ装置へ測定位置到達信号を出力する。ＮＣ装置へ測定位置到達信号が入力されたとき、角度付き工具の工具中心点から測定面（工具刃先点）までの距離を、回転角度情報に基づいて直交軸（Ｘ軸、Ｚ軸）毎に分配した補正量（図１に示すＬ３０７、Ｌ３０６）として算出する。
【００９０】
このように、傾斜スタイラス面を持つ測定センサの測定位置（検出面）の情報を機械座標系内で定義（設定）して角度付き工具における工具中心点から工具刃先点までの長さを求めるので、角度付き工具における工具中心点３０５から工具刃先点３１３までの長さを正確に求めることができる。そして、算出されたそれらの補正量と、アングルホルダの工具補正基準点３１２から工具中心点３０５までの補正量（図１に示すＬ３０９、Ｌ３０８）とをそれぞれ加算した補正量（Ｌ３１１、Ｌ３１０）を用いて工具刃先位置を補正する。これにより、角度付き工具における工具中心点３０５から工具刃先点３１３までの長さを正確に求めて、工具補正を行うので、工具補正の精度を向上できる。
【００９１】
また、実施の形態１によれば、特定の角度を持つアングルホルダに取り付けられた角度付き工具の工具長を測定・設定する手間がかからなくなり、段取り時間の短縮につながる。
【産業上の利用可能性】
【００９２】
以上のように、本発明にかかる制御装置は、工具補正に有用であり、特に、座標系の軸方向に対して傾斜させた角度で工作機械に取り付けられた工具の補正に適している。
【符号の説明】
【００９３】
７１    回転前測定面
７２    回転後測定面
７３    工具軸
７４    回転中心座標を通りＺ軸に平行な直線
８０    回転前測定軸
８１    回転前測定面
８２    回転中心座標
８３    回転中心軸
８４    回転角度
８５    回転後測定面
１００  ＮＣ装置
１０１  設定表示Ｉ／Ｆ
１０２  制御演算装置部
１０３  記憶部
１０４  駆動部
１０５  工具長測定処理部
１０６  測定位置算出処理部
１０７  駆動制御処理部
１０８  回転後測定位置情報
１０９  軸停止完了フラグ
１１０  測定位置情報
１１１  モード情報
１１２  工具中心点位置情報
１１３  軸停止要求
１１４  外部信号Ｉ／Ｆ
１１５  現在位置情報
１１６  工具補正情報
１１７  Ｘ軸サーボ駆動部
１１８  Ｚ軸サーボ駆動部
１１９  設定表示部
１２０  測定位置到達信号
２０２  傾斜スタイラス面
２０３  測定センサ
３０１  角度付き工具
３０４  工具軸
３０５  工具中心点
３１２  工具補正基準点
３１３  工具刃先点
Ｌ３０６  工具中心点から工具刃先点までのＺ軸補正量
Ｌ３０７  工具中心点から工具刃先点までのＸ軸補正量
Ｌ３０８  工具補正基準点から工具中心点までのＺ軸補正量
Ｌ３０９  工具補正基準点から工具中心点までのＸ軸補正量
Ｌ３１０  工具補正基準点から工具刃先点までのＺ軸補正量
Ｌ３１１  工具補正基準点から工具刃先点までのＸ軸補正量
【図１】
0005550383.tif 000002
【図２】
0005550383.tif 000003
【図３】
0005550383.tif 000004
【図４】
0005550383.tif 000005
【図５】
0005550383.tif 000006
【図６】
0005550383.tif 000007
【図７】
0005550383.tif 000008