(57)【特許請求の範囲】
【請求項１】
複数の刃を有する工具を回転可能に保持する保持部と、前記工具を回転させている際の回転軸と交差する方向から前記工具を撮像する撮像部と、を備える工具撮像装置の前記撮像部で撮像された画像データを処理し前記工具の刃数を算出する画像処理装置であって、
撮像された前記画像データから前記工具の輪郭位置を検出し、前記輪郭位置と前記撮像時の回転角度とを関連付ける処理を行う画像処理部と、
前記関連付けされたデータをフーリエ変換し数値軸において最大値がある数値を前記工具の前記刃数と処理するデータ処理部と、を備える画像処理装置。
【請求項２】
前記輪郭位置を検出し、前記刃数を算出した後に、前記撮像部に、前記輪郭位置が前記回転軸から最も離れる回転角度の撮像位置で前記工具の刃を撮像させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記輪郭位置を検出し、前記刃数を算出した後に、前記撮像部に、第１の刃を撮像した際の回転角度から、３６０度を前記刃数で割った角度分回転させた回転角度において、第１の刃の隣の第２の刃を撮像させることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記輪郭位置を検出し、前記刃数を算出した後に、前記撮像部に、刃のすくい面の撮像位置を基準として、前記保持部を、前記撮像部の光軸と垂直の方向に、刃先と前記回転軸との距離分前記光軸へ近づけ、前記光軸の方向に、前記距離分前記撮像部から遠ざけ、前記撮像部の方に９０度回転させた回転角度の撮像位置で、当該刃の逃げ面を撮像させることを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
複数の刃を有する工具を回転可能に保持する保持部と、前記工具を回転させている際の回転軸と交差する方向から前記工具を撮像する撮像部と、を備える工具撮像装置の前記撮像部で撮像された画像データを処理し前記工具の刃数を算出する画像処理装置であって、
撮像された前記画像データから前記工具の輪郭位置を検出し、前記輪郭位置と前記撮像時の回転角度とを関連付ける処理を行う画像処理部と、
前記関連付けされたデータから角度軸において極大値を算出し、算出された複数の極大値から所定値を選択し、所定値と関連性が高い極大値とを選択し、所定値と関連性が高い極大値の数を前記工具の前記刃数と処理するデータ処理部と、を備える画像処理装置。
【請求項６】
前記工具撮像装置は、前記刃のすくい面又は逃げ面を撮像する際に撮像角度を変更する変更部を備え、
前記輪郭位置を検出し、前記刃数を算出した後に、前記変更部で前記撮像角度が変更された場合に、前記すくい面又は前記逃げ面が前記撮像部の被写界深度の範囲内に入る位置に前記保持部を移動させる制御を行う制御部を備える請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項１または６に記載の画像処理装置と、
前記工具撮像装置と、
前記保持部の機構を共用し、ワークを加工する加工部と、を備える、工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置及び工作機械に関する。
【背景技術】
【０００２】
工作機械は、工具を用いてワークを加工する。たとえば、マシニングセンタは、円周に複数の刃を有する回転工具を回転させながら、ワークに当てて切削を行う。
【０００３】
同じ工具を使って切削を繰り返すと、刃に摩耗や変形が生じて劣化する。刃が劣化した状態で工具を使用し続けると、加工品質が悪くなる。したがって、作業員は、工具の刃の状況を見て継続使用できるかどうかを判断して、刃が劣化していれば工具を交換する。工具は重く、作業員が手に持って刃を観察することは難しいので、何等かの機器を用いて工具の刃を撮像して、撮像によって刃を観察する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１９２９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、工具の画像データに関する画像処理によって、工具の刃部を特定する技術が開示されている。この技術では、画像中の刃部の濃度だけ他の領域と異なることを前提としている。つまり、画像中の濃度差によって刃部を検出するようになっている。
【０００６】
ただし、一般的な工具の画像において刃部だけ濃度が異なるとは限らない。撮像条件や工具の構造・素材などによっては、そのような画像データは得られない。このように、特許文献１の技術は汎用性が乏しく、実用に適さないこともあると考えられる。
【課題を解決するための手段】
【０００７】
そこで、本発明は、特許請求の範囲に記載の装置等を提供するものである。
【０００８】
これらの概括的かつ特定の態様は、システム、方法、及びコンピュータプログラム、並びに、それらの組み合わせにより、実現されてもよい。
【発明の効果】
【０００９】
本発明によれば、工具の状態を把握しやすくなる。
【図面の簡単な説明】
【００１０】
【図１】工作機械の構成図である。
【図２】工具の正面図である。
【図３】撮像ユニットの斜視図である。
【図４】撮像部と工具の位置関係を示す斜視図である。
【図５】図５（Ａ）は、回転角度αが０度の工具の正面図である。図５（Ｂ）は、第１チップのすくい面の撮像位置を示す図である。図５（Ｃ）は、第２チップのすくい面の撮像位置を示す図である。図５（Ｄ）は、第３チップのすくい面の撮像位置を示す図である。図５（Ｅ）は、第４チップのすくい面の撮像位置を示す図である。図５（Ｆ）は、第５チップのすくい面の撮像位置を示す図である。
【図６】すくい面撮像の例である。
【図７】影画像を模式的に示す図である。
【図８】関連付けデータのグラフを示す図である。
【図９】撮像位置データの構造図である。
【図１０】撮像角度を正方向に調整したすくい面撮像である。
【図１１】図１１（Ａ）は、撮像部側へ刃先を傾けた状態を示す図である。図１１（Ｂ）は、撮像部の反対側へ刃先を傾けた状態を示す図である。
【図１２】図１２（Ａ）は、撮像部側へ傾けた刃先と被写界深度の関係を示す図である。図１２（Ｂ）は、刃先を撮像部側へ傾けたときの工具の移動を示す図である。
【図１３】図１３（Ａ）は、撮像部側と反対の方へ傾けた刃先と被写界深度の関係を示す図である。図１３（Ｂ）は、刃先を撮像部側と反対の方へ傾けたときの工具の移動を示す図である。
【図１４】図１４（Ａ）は、第１チップのすくい面の撮像位置を示す図である。図１４（Ｂ）は、第１チップの逃げ面の撮像位置を示す図である。
【図１５】図１５（Ａ）は、第２チップの逃げ面の撮像位置を示す図である。図１５（Ｂ）は、第３チップの逃げ面の撮像位置を示す図である。図１５（Ｃ）は、第４チップの逃げ面の撮像位置を示す図である。図１５（Ｄ）は、第５チップの逃げ面の撮像位置を示す図である。
【図１６】操作画面の画面図である。
【図１７】画像処理装置の機能ブロック図である。
【図１８】メイン処理過程を示すフローチャートである。
【図１９】等ピッチ工具処理過程のフローチャートである。
【図２０】等ピッチ工具処理過程のフローチャートである。
【図２１】不等ピッチ工具処理過程のフローチャートである。
【図２２】不等ピッチ工具処理過程のフローチャートである。
【図２３】変形例１に係る工具撮像処理システムの構成例を示す図である。
【図２４】変形例２に係る工具撮像処理装置の構成例を示す図である。
【図２５】変形例３に係る工具撮像処理システムの構成例を示す図である。
【図２６】ＦＦＴ（高速フーリエ変換）による解析結果データのグラフを示す図である。
【図２７】図２７（Ａ）は、観察面が被写界深度の範囲に入らない状態を示す図である。図２７（Ｂ）は、観察面が被写界深度の範囲に入る状態を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して実施形態に係る工作機械について説明する。以下の説明では、同一の構成について、同一の符号を付して説明を省略する。
【００１２】
［実施形態］
本実施形態は、工作機械で使用される工具を撮像する技術に関する。たとえば、マシニングセンタの主軸にフライス工具を取り付けて、切削加工を行うことを想定する。一般的に、切削加工はＮＣ（Numerical Control：数値制御）プログラムで制御される。
【００１３】
図１は、工作機械２００の構成図である。
工作機械２００は、対象のワークを加工するものである。例えば、工作機械２００は、各種の工具を使い分けて加工室内でワークを加工する加工部３００と、加工部３００を制御する数値制御装置４００と、工具の刃先を撮像するために用いられる撮像ユニット５００と、撮像ユニット５００によって撮像された画像データを処理する画像処理装置６００とを備える。
【００１４】
工作機械２００がマシニングセンタであれば、加工部３００は、主軸、主軸を回転させるサーボモーター、パレット、ＡＴＣ（Automatic Tool Changer：自動工具交換装置）および工具マガジンなどを含み、フライス削り、中ぐり、穴あけやねじ立てなどの加工を行う。工作機械がターニングセンタであれば、加工部３００は、回転軸、回転軸を回転させるサーボモーター、タレット、ＡＴＣ（自動工具交換装置）および工具マガジンなどを含み、主に旋削加工を行う。
【００１５】
加工部３００は、保持部３０２および変更部３０６を有する。保持部３０２には、複数の刃を有する工具が取り付けられ、保持部３０２はこの工具を回転可能な状態で保持する。マシニングセンタの場合には、主軸が保持部３０２に相当する。ターニングセンタの場合には、タレットのホルダが保持部３０２に相当する。保持部３０２の機構は、工具撮像とワーク加工で使用される。工具撮像のために、加工部３００の保持部３０２を利用する。言い換えれば、ワークを加工する加工部は、工具撮像に用いられる保持部３０２の機構を共用する。
【００１６】
変更部３０６は、工具の刃のすくい面又は逃げ面を撮像する際に撮像角度を変更する。すくい面、逃げ面や撮像角度の変更などについては、後述する。マシニングセンタの場合には、サーボモーターを含み主軸を回転させる機構が、変更部３０６に相当する。ターニングセンタの場合には、モーター（たとえば、サーボモーターあるいはステッピングモーター）を含みタレットのホルダを回転させる機構が、変更部３０６に相当する。加工部３００は、保持部３０２を移動させるモーター（変更部３０６と共用でもよい。モーター以外のアクチュエータでもよい。）を備える。
【００１７】
数値制御装置４は、加工部３００のサーボモーターやＡＴＣなどに対する数値制御を行う装置である。
【００１８】
撮像ユニット５００は、撮像部５０２、シャッター５０４、第１照明部５０６、第２照明部５０８および撮像ユニット５００を有する。
【００１９】
撮像部１２は、例えば、ＣＣＤやＣＭＯＳ等の撮像素子を備えたカメラである。撮像部１２は、撮像した撮像の画像データを、画像処理装置６００に出力する。シャッター５０４、第１照明部５０６、第２照明部５０８についてなど、撮像ユニット５００の詳細については、図３に関連して後述する。画像処理装置６００は、画像処理部６１２およびデータ処理部６１４を有する。画像処理部６１２およびデータ処理部６１４については、図１７に関連して後述する。撮像ユニット５００、保持部３０２、変更部３０６、および保持部３０２を移動させるモーターなどが、工具撮像装置に相当する。
【００２０】
＜工具＞
図２は、工具１００の正面図である。
ここでは、工具１００として「正面フライス」の例を示す。正面フライスは、ミーリング加工によってワークの広い平面を効率よく削る場合に使用される。以下、ボディ１１０に複数のスローアウェイチップを取り付けるスローアウェイ工具の例を示す。スローアウェイチップを単に「チップ」という。実際のチップの形状は、切削に適した曲面を有するが、ここでは簡略化して矩形で示す。なお、スローアウェイ工具でなく、チップがボディ１１０に溶接された一体型のフライス工具であってもよい。また、ここではフライス工具の例を示しているが、ドリル工具などフライス工具以外の工具１００であってもよい。等ピッチ工具の例を示しているが、不等ピッチ工具であってもよい。
【００２１】
径の大きい円柱のボディ１１０の外周には、等間隔でチップが取り付けられる。つまり、等ピッチでチップが配置される。この例では、５つのチップが取り付けられている。説明の便宜のため、第１チップ１２１、第２チップ１２２、第３チップ１２３、第４チップ１２４および第５チップ１２５として区別する。工具１００は、保持部３０２に取り付けられ、保持部３０２の回転力によって、図示したように反時計回りに回転するものとする。回転することによって、第１チップ１２１から第５チップ１２５は、それぞれ接触したワークを削る。図示するように、第１チップ１２１が進む方の面が、すくい面であり、第１チップ１２１の外側の面が逃げ面である。第２チップ１２２から第５チップ１２５についても、同様である。なお、ボディ１１０の中心と刃先との距離を「刃先半径」といい、変数ｒで表す。
【００２２】
切削加工を続けると、チップの刃先の摩耗が進行して徐々に切れにくくなる。同じ工具１００を繰り返して使用するとき、作業員は、摩耗の状態をチェックしてこのまま継続して使用できるか、あるいは工具１００の交換が必要であるかを判断する。作業員は、刃先の材質や加工方法なども考慮して、刃先の摩耗量やすり減った形によって、刃先へのダメージの程度を判断する。チップの組織に欠陥が生じたり、変質が生じたり、チップの形状が変化したりすることもある。このように劣化したチップを使うと、ワークに傷がつく場合もある。
【００２３】
本実施形態では、すくい面を外周の接線方向から撮像する撮像（以下、「すくい面撮像」）と、ボディ１１０の中心に向かう方向から逃げ面を撮像する撮像（以下、「逃げ面撮像」）とによって、作業員はチップを観察して刃先の状態を判断する。
【００２４】
刃先の状態に関する判断は、機械加工や工具の特性についての知識を備えた作業員によって行われる。コストや作業効率を考えると、工具１００をできるだけ長持ちさせ、交換頻度を少なくすることが望ましい。作業の安全や製品品質を保ちながら、コストを抑えるためには、見極めがシビアになる。したがって、作業員による工具１００の観察のしやすさは、工程管理の重要なファクターとなる。フライス工具１００以外の工具の場合も同様である。
【００２５】
＜作業員による観察方法＞
作業員による工具観察の従来方法について説明する。作業員は、顕微鏡を使って、工具１００の刃先を観察する。そのため、工具を工作機械２００から一旦外して、顕微鏡の設置部にセットする。設置部は、手動による移動と回転が可能な可動域を有している。作業員は、設置部を操作して工具を移動させると共に回転させて、刃先が視野に入るように位置合わせを行う。また、作業員は、顕微鏡のピント合わせの操作も行う。このような操作を行って、作業員は各チップの刃先を観察する。
【００２６】
但し、作業員が工作機械２００から工具１００を外して顕微鏡で観察し、もう一度工作機械２００に戻すのには作業時間がかかる。また、作業負担も大きい。たとえば多量生産の場合には比較的耐久性を予測しやすいので、チップの交換条件を加工回数や加工時間などで定めるようにする方法も考えられる。しかし、少量生産やワークが大きくて失敗したくないときには、慎重に刃先の状態を確認しながら切削加工を進めるので、作業員による工具観察の作業が必要になる。そのため、作業員による工具観察の作業効率を高めることが望まれる。
【００２７】
＜撮像ユニット＞
図３は、撮像ユニット５００の斜視図である。
本実施形態では、工作機械２００の内部に設けられた撮像ユニット５００を用いて、工具１００を保持部３０２（たとえば、主軸）に取り付けたままで、工具１００の刃先を撮像する。
【００２８】
撮像ユニット５００は、図示するように、撮像部５０２、シャッター５０４、第１照明部５０６及び第２照明部５０８を備える。撮像ユニット５００の上部に設けられている撮像部５０２は、下方を撮像する。工具撮像のときに、撮像部５０２の光軸上に工具１００の刃先が来るように、撮像ユニット５００がセットされる。
【００２９】
撮像部５０２で撮像を行うときには、シャッター５０４が撮像部５０２の測定用レンズから離れる。第１照明部５０６は、撮像部５０２の脇に設けられ、斜め上方から被写体となる刃先に光を当てる。第１照明部５０６は、撮像用のすくい面撮像および逃げ面撮像を撮像する場合に反射照明として用いられる。第１照明部５０６は、工具１００に対して撮像部５０２側に設けられ、工具１００が回転させられる回転軸（図３、図４参照）と平行で光軸を含む平面に対して交差する方向から刃に光を当てる。この平面と方向とのなす角度は、たとえば５度から２０度の範囲内である。第２照明部５０８は、被写体の影画像を撮像する場合に用いられる。
【００３０】
撮像ユニット５００を用いて撮像すれば、いちいち工具１００を保持部３０２から外したり、再び保持部３０２に取り付けたりする必要がないので、作業効率が良くなる。
【００３１】
＜セッティング＞
図４は、撮像部５０２と工具１００の位置関係を示す斜視図である。
図示するように撮像部５０２が工具１００の刃先を撮像する位置に、撮像ユニット５００をセッティングする。この例では、先にすくい面を撮像することを想定している。
【００３２】
この図では、工具１００のボディ１１０のみを示し、チップは省略する。破線で示した手前の円形面が、ボディ１１０の正面である。ボディ１１０の中心線は、保持部３０２の回転軸と一致する。したがって、工具１１０の回転軸と保持部３０２の回転軸は、一致する。ボディ１１０の正面の中心を空間座標系の原点とする。回転軸の先端に向かう方向をＺ軸の正方向とする。また、正面方向から見て反時計回りを、工具１００の回転角度αの正方向と定義する。
【００３３】
工具１００の刃先付近の撮像範囲を模式的に平面で示す。撮像部５０２から撮像範囲までの距離は、撮像部５０２の焦点距離と一致する。撮像範囲に含まれる被写体は、ぼやけることなく鮮明に写る。Ｙ軸の正方向は、光軸の撮像部５０２へ向かう方向と平行である。
【００３４】
図示するように、回転軸と光軸は、交差している。回転軸と光軸の間の最短距離を「軸間距離」という。軸間距離を、刃先半径ｒ（図２参照）に合わせる。Ｘ軸の正方向は、軸間距離に相当する線分の刃先方向と平行である。Ｘ軸、Ｙ軸およびＺ軸は、互いに垂直である。なお、光軸は、鉛直方向でなくてもよい。たとえば、光軸が水平方向になるようにセッティングされてもよい。あるいは、鉛直方向または水平方向以外の斜め方向に光軸が向いていてもよい。光軸を回転軸と交わるように平行移動させた線と回転軸がなす角度は、垂直でなくてもよい。つまり、撮像部５０２は、図４に示した位置よりもＺ軸の正方向寄りの位置から被写体を撮像してもよいし、図４に示した位置よりもＺ軸の負方向寄りの位置から被写体を撮像してもよい。また、撮像部５０２は、図４に示した位置よりもＸ軸の正方向寄りの位置から被写体を撮像してもよいし、図４に示した位置よりもＸ軸の負方向寄りの位置から被写体を撮像してもよい。図３に示したように、保持部３０２の回転軸の方向を第１方向という。第１方向と交差する撮像部５０２の光軸の方向を第２方向という。上述したように、第１照明部５０６は、工具１００に対して撮像部５０２側に設けられ、工具１００が回転させられる回転軸と平行で光軸を含む平面に対して交差する第３方向から刃に光を当てる。
【００３５】
図５（Ａ）は、回転角度αが０度の工具１００の正面図である。
撮像ユニット５００をセッティングした時点で、工具１００の向きは任意であるが、初期化処理においてある向きにおける工具１００の回転角度αを０度であると定義する。この例では、回転角度αが０度のときに撮像範囲に刃先が入っていないので、撮像部５０２で撮像しても刃先は写らない。なお、ボディ１１０の正面の中心位置（Ｘ，Ｙ，Ｚ）は、（０，０，０）である。図５（Ｂ）〜図５（Ｆ）の場合も同様に、ボディ１１０の正面の中心位置（Ｘ，Ｙ，Ｚ）は、（０，０，０）である。
【００３６】
図５（Ｂ）は、図５（Ａ）の状態から保持部３０２を３１度正方向に回転させた状態を示している。この例で、保持部３０２を３１度正方向に回転させると、第１チップ１２１の刃先が撮像範囲に入る。したがって、撮像部５０２で撮像すると第１チップ１２１の刃先がすくい面撮像に写る。つまり、第１チップ１２１の撮像位置は、工具１００の回転角度α：３１度で特定される。
【００３７】
この例における工具１００は、均等間隔で５枚のチップを有する。したがって、隣り合うチップ同士の回転角度αの差を示す刃間角度γは、３６０度／５＝７２度である。よって、保持部３０２を７２度正方向に回転させると、次のチップを撮像することができる。
【００３８】
図５（Ｃ）は、図５（Ｂ）の状態から保持部３０２を７２度正方向に回転させた状態を示している。保持部３０２を７２度正方向に回転させると、第２チップ１２２の刃先が撮像範囲に入る。したがって、撮像部５０２で撮像すると第２チップ１２２の刃先がすくい面撮像に写る。つまり、第２チップ１２２の撮像位置は、工具１００の回転角度α：１０３度で特定される。
【００３９】
図５（Ｄ）は、図５（Ｃ）の状態から保持部３０２を７２度正方向に回転させた状態を示している。保持部３０２を７２度正方向に回転させると、第３チップ１２３の刃先が撮像範囲に入る。したがって、撮像部５０２で撮像すると第３チップ１２３の刃先がすくい面撮像に写る。つまり、第３チップ１２３の撮像位置は、工具１００の回転角度α：１７５度で特定される。
【００４０】
図５（Ｅ）は、図５（Ｄ）の状態から保持部３０２を７２度正方向に回転させた状態を示している。保持部３０２を７２度正方向に回転させると、第４チップ１２４の刃先が撮像範囲に入る。したがって、撮像部５０２で撮像すると第４チップ１２４の刃先がすくい面撮像に写る。つまり、第４チップ１２４の撮像位置は、工具１００の回転角度α：２４７度で特定される。
【００４１】
図５（Ｆ）は、図５（Ｅ）の状態から保持部３０２を７２度正方向に回転させた状態を示している。保持部３０２を７２度正方向に回転させると、第５チップ１２５の刃先が撮像範囲に入る。したがって、撮像部５０２で撮像すると第５チップ１２５の刃先がすくい面撮像に写る。つまり、第５チップ１２５の撮像位置は、工具１００の回転角度α：３１９度で特定される。
【００４２】
図５（Ｂ）〜図５（Ｆ）に示した各チップの撮像位置は、演算処理で自動的に判定できる。本実施形態では、保持部３０２を何度回転させると、何番目の刃先が撮像範囲に入るかを予め求めておく。
【００４３】
図６は、すくい面撮像の例である。
被写体の下側が、工具１００の正面に相当する。すくい面撮像には、刃先が最も張り出した状態でチップのすくい面が写る。この例で、おおよそ破線より右側にチップが写っている。被写体の右側が、チップの逃げ面に相当する。作業員は、刃先をチップのすくい面側から見ることによって、摩耗量を把握しやすい。第１チップ１２１〜第５チップ１２５について、図６と略同様のすくい撮像を得ることができる。
【００４４】
この例では、すくい面撮像の左下端を、撮像座標系の原点とする。右方向がｘ座標軸の正方向であり、上方向がｙ座標軸の正方向である。撮像座標系の原点に相当する空間座標系の位置（３次元のオフセット値）は、セッティング後の初期化処理において特定される。したがって、撮像座標系の撮像位置に３次元のオフセット値を加えることによって、撮像位置に相当する空間座標系の位置（Ｘ値，Ｙ値，Ｚ値）を求めることができる。
【００４５】
図７は、影画像を模式的に示す図である。
すくい面撮像を撮像する前に、各チップの撮像位置を求める処理を行う。この処理では、まず工具１００の回転角度αの一周に渡る影画像を撮像して、工具１００の輪郭を抽出する。影画像を撮像する場合には、第１照明部５０６を消灯し、第２照明部５０８を点灯する。そして、所定間隔（たとえば、１度）の角度で、撮像部５０２によって撮像された影画像を得る。たとえば、工具１００の回転角度αが０度、１度、２度、・・・３５９度の順に撮像して、各撮像によってそれぞれ角度に対応する影画像が得られる。
【００４６】
影画像における撮像範囲（図４参照）は、すくい面撮像の場合と同様である。黒い範囲が、チップを含む工具１００の影である。この影のエッジが、工具１００の輪郭を示す。
【００４７】
影画像が得られると、工具１００の輪郭のうち、所定高さにおける輪郭位置を計測する。影画像の撮像座標系の所定高さにおけるエッジの座標に３次元のオフセット値を加えることによって、空間座標系の輪郭位置（Ｘ値，Ｙ値，Ｚ値）が求められる。工具１００の回転角度αが変わっても輪郭位置のＺ値とＹ値は変わらないので、Ｘ値のみ求めれば足りる。Ｘ値は、回転軸から所定高さの工具１００の縁までの距離を示す。所定高さは、たとえばチップの最下端やボディ１１０の正面を基準とする。
【００４８】
工具１００の各回転角度と輪郭位置は関連付けられる。各回転角度と輪郭位置を関連付けるデータを「関連付けデータ」という。刃先が最も張り出した位置で撮像された影画像の場合に、輪郭位置のＸ値は工具１００の刃先半径ｒ（図２参照）と一致する。チップが無いところで撮像された影画像の場合には、輪郭位置のＸ値はボディ半径と一致する。
【００４９】
図８は、関連付けデータのグラフを示す図である。
横軸は、工具１００の回転角度αを示す。縦軸は、輪郭位置（Ｘ値）を示す。つまり、工具１００の回転角度系列の輪郭位置（Ｘ値）を表している。図示するように、チップが張り出す回転角度αにおいて、輪郭位置の値が大きくなっている。この例では、５つのチップが張り出す回転角度αに対応する５つの輪郭位置（Ｘ値）の極大値が見られる。
【００５０】
このような関連付けデータに基づいて、各チップの撮像位置を算出する。ここまで、等ピッチの例を示したが、不等ピッチについても撮像するものとする。先に等ピッチ工具の場合について説明し、後で不等ピッチ工具の場合について説明する。
【００５１】
等ピッチ工具の場合には、チップの数、つまり刃の数を求める。工具１００の回転角度αを独立変数とし、各回転角度αにおける輪郭位置（Ｘ値）を従属変数とする関数に対するＦＦＴ（高速フーリエ変換）によって、保持部３０２の一周（３６０度）に含まれる周期の数を特定する。この例では、周期の数「５」が求められる。周期の数は、工具１００の外周に含まれる刃の数に相当する。外周上に刃が周期的に配置されているからである。ＦＦＴは、フーリエ変換の例である。そして、一周（３６０度）を刃の数で除して、隣り合う刃同士の回転角度αの差を示す刃間角度γを求める。
【００５２】
図２６は、ＦＦＴによる解析結果データのグラフを示す図である。
ＦＦＴは、音声分析や振動測定などで用いられる解析手法である。ＦＦＴでは、音声などの時系列データを複数の周波数成分に分解し、それらの大きさをスペクトルとして表す。本実施形態では、回転角度系列の輪郭位置に応用する。通常行われる時系列データの解析では、サイクル数／秒で周波数を表すが、この例ではサイクル数／一周（３６０度）を周波数と定義する。つまり、１周が１秒に相当するものとする。実際に変更部３０６が保持部３０２を回転させる速度とは一致しないが、解析の上では問題ない。この図では、縦軸にスペクトルを示す。横軸に上述のように定義した周波数を示す。この周波数は、等ピッチ工具に含まれる刃の数と一致する。この例では、周波数が５のときに最大のスペクトルを示す。つまり、一周（３６０度）に５つのサイクルが含まれていることを意味する。これにより、等ピッチ工具が５つの刃を有することがわかる。
【００５３】
また、図８の関連付けデータにおいて、最大の輪郭位置（Ｘ値）を特定し、最大の輪郭位置（Ｘ値）を示す回転角度αを求める。この回転角度αによって、刃先が最も張り出したすべり面撮像が得られる撮像位置を特定できる。この例では、回転角度αが３１度のときに、輪郭位置（Ｘ値）の最大値を示す。つまり、図５（Ｂ）に示したように回転角度αが３１度になった状態で、輪郭位置が回転軸から最も離れる。
【００５４】
さらに、最大の輪郭位置を基準として、他の刃先の撮像位置を求める。他の刃先の撮像位置は、最大の輪郭位置を示す回転角度αに刃間角度γの自然数倍を加えて求める。刃の数がｎ個であれば、γ、２γ、・・・（ｎ−１）γを加えると、残りｎ−１個の刃先の撮像位置の角度が求められる。
【００５５】
不等ピッチ工具の場合には、回転角度系列の輪郭位置（Ｘ値）における極大値を特定して、それぞれの極大値を示す回転角度αによって、各刃の撮像位置を特定する。具体的には、工具１００の回転角度αを独立変数とし、各回転角度αにおける輪郭位置（Ｘ値）を従属変数とする関数の導関数の値（微分値）が正から負に切り替わるときの回転角度αを特定する。工具１００の回転角度αを独立変数とし、各回転角度αにおける輪郭位置（Ｘ値）を従属変数とする関数は、たとえば、離散データに近似する連続関数を求める既存の関数近似の手法によって求められる。あるいは、各回転角度αにおける輪郭位置（Ｘ値）をその前と後の回転角度αにおける輪郭位置（Ｘ値）と比較して、前と後の回転角度αにおける輪郭位置（Ｘ値）のいずれよりも大きい場合に、その回転角度αにおける輪郭位置（Ｘ値）が極大値であると判定してもよい。このようにして求められた撮像位置は、撮像位置データに格納される。
【００５６】
図９は、撮像位置データの構造図である。
撮像位置データには、各刃の撮像位置が設定される。撮像位置は、工具１００の回転角度αで特定される。図９に示した工具１００の回転角度αは、図５（Ｂ）〜図５（Ｆ）に示した通りである。図９に示した第１刃〜第５刃は、第１チップ１２１〜第５チップ１２５に相当する。
【００５７】
＜撮像角度の変更＞
作業者は、まずは上述のように決めた撮像位置で刃先を観察することができる。但し、刃を真横から見ただけでは、刃先の状況を判断しきれない場合がある。そのような場合には、刃を少し傾けて見ることによって、刃先の状況をとらえやすくなる。
【００５８】
また、たとえば図６のすくい面撮像では、第１照明部５０６からすくい面に当たった光の反射が撮像部５０２の方に向いていないので刃先が暗く見づらくなっている。このような場合には、作業員が工具１００を少し回転させて、すくい面への光の当たり方を変えて見やすくする。
【００５９】
図１０は、撮像角度を正方向に調整したすくい面撮像である。
工具１００の回転角度αを正方向に少し回転させると、刃先が撮像部５０２の方に少し持ち上げられた状態となる。おおよそ破線より右側にチップが写っている。すくい面の角度が変わるので、第１照明部５０６からすくい面に当たった光の反射を撮像部５０２が受けて、刃先が明るく写るようになる。このように、作業員が保持部３０２を任意に微小回転させることができれば、すくい面の傾きを変えて反射光の強さを調節し撮像を見やすくすることができる。
【００６０】
図１１（Ａ）は、撮像部５０２側へ刃先を傾けた状態を示す図である。この図では、工具１００の回転角度αを＋５度調整している。このとき調整のために回転させる撮像角度をθで表す。この例で、撮像角度θは＋５度である。このように傾ければ、刃先を手前に起こした向きで撮像することができる。
【００６１】
図１１（Ｂ）は、撮像部５０２の反対側へ刃先を傾けた状態を示す図である。この図では、工具１００の回転角度αを−５度調整している。この例で、撮像角度θは−５度である。このように傾ければ、刃先を奥へ寝かせた向きで撮像することができる。
【００６２】
したがって、真横から見て判断できる摩耗量だけでなく、斜めから見た刃先の減り具合を把握できる。作業員の着眼点やその時の刃先の状況によって、作業員による刃先の観察に適した角度は違ってくるので、作業員が任意に撮像角度を変えることができれば判断しやすくなる。ただし、工具１００の撮像角度の調整が大きくなると、撮像部５０２の焦点から刃先が離れるという問題がある。
【００６３】
図１２（Ａ）は、撮像部５０２側へ傾けた刃先と被写界深度の関係を示す図である。
図示するように、刃先が、ｒ×ｓｉｎ（θ）［ｒ：刃先半径、θ：撮像角度］だけ撮像部５０２の方へ近づく。その結果、刃先が被写界深度の範囲から外れることがある。刃先が被写界深度から外れると、すくい面撮像における刃先の像がぼやけて、見づらくなる。
【００６４】
図１２（Ｂ）は、刃先を撮像部５０２側へ傾けたときの工具１００の移動を示す図である。
本実施形態では、このように刃先の像がぼやけることを防ぐために、工具１００全体を第２方向（図３参照）上において撮像部５０２から遠ざけて、刃先が被写界深度の範囲におさまるようにする。具体的には、ボディ１１０の正面の中心位置を（０，−ｒ×ｓｉｎθ，０）に移す。制御部６２０（図１７参照）がモーターに対して、Ｙ軸方向に−ｒ×ｓｉｎθの距離だけ保持部３０２を移動させるように指示して、モーターは、制御部６２０の指示に従って、保持部３０２をＹ軸方向に−ｒ×ｓｉｎθの距離だけ移動させる。こうすれば、刃先は撮像部５０２の焦点距離に位置するので、すくい面撮像において鮮明な像として写る。
【００６５】
図１３（Ａ）は、撮像部５０２側と反対の方へ傾けた刃先と被写界深度の関係を示す図である。
図示するように、刃先が、ｒ×ｓｉｎ（θ）［ｒ：刃先半径、θ：撮像角度］だけ撮像部５０２の方へ遠のく。この場合も、刃先が被写界深度から外れて、すくい面撮像における刃先の像がぼやけて、見づらくなる。
【００６６】
図１３（Ｂ）は、刃先を撮像部５０２側と反対の方へ傾けたときの工具１００の移動を示す図である。
この場合には、工具１００全体を撮像部５０２から近づけて、刃先が被写界深度におさまるようにする。つまり、ボディ１１０の正面の中心位置を（０，−ｒ×ｓｉｎθ，０）に移して、刃先が撮像部５０２の焦点距離に位置するようにする。制御部６２０（図１７参照）がモーターに対して、Ｙ軸方向に−ｒ×ｓｉｎθの距離だけ保持部３０２を移動させるように指示して、モーターは、制御部６２０の指示に従って、保持部３０２をＹ軸方向に−ｒ×ｓｉｎθの距離だけ移動させる。
【００６７】
このようにすれば、撮像部５０２と刃先の距離を一定に保ち、工具１００を回転させた場合の撮像のピントずれを防ぐ。ユーザは、ワンステップでピントの合った撮像を得ることができるので、ピント合わせのための操作が不要になる。また、刃先を撮像部５０２側と反対の方へ傾けると、図示したように右上方の第１照明部５０６から放たれる照射光に対してすくい面が正対するようになる。したがって、反射光の向きを光軸方向から離れさせ、撮像におけるすくい面の明度を低めることができる。このように照明方向によって影響を受ける撮像の見やすさを、工具を回転させることによって調整できる。
【００６８】
続いて、刃の逃げ面の撮像について説明する。
【００６９】
図１４（Ａ）は、第１チップ１２１のすくい面の撮像位置を示している。図１４（Ｂ）は、第１チップ１２１の逃げ面の撮像位置を示している。
逃げ面を撮像する場合には、すくい面の撮像位置を基準として、工具１００を９０度正方向に回転させる。つまり、第１チップ１２１の逃げ面の撮像位置は、第１チップ１２１のすくい面の撮像位置に相当する回転角度α：３１度に９０度を加えた回転角度α：１２１度になる。また、工具１００をＹ軸方向に刃先半径ｒだけ撮像部５０２から遠ざけ、さらにＸ軸方向に刃先半径ｒだけ光軸へ近づける。つまり、ボディ１１０の正面の中心位置を（ｒ，−ｒ，０）に移して、第１チップ１２１の刃先が光軸上の焦点距離に位置するようにする。制御部６２０（図１７参照）がモーターに対して、Ｘ軸方向にｒの距離とＹ軸方向に−ｒの距離と保持部３０２を移動させるように指示して、モーターは、制御部６２０の指示に従って、保持部３０２をＸ軸方向にｒの距離とＹ軸方向に−ｒの距離と移動させる。これにより、撮像部５０２において、第１チップ１２１の逃げ面と正対した撮像を撮像することができる。
【００７０】
図１５（Ａ）は、第２チップ１２２の逃げ面の撮像位置を示している。ボディ１１０の正面の中心位置は、図１４（Ｂ）と同様に（ｒ，−ｒ，０）である。第２チップ１２２の逃げ面の撮像位置を特定する回転角度αは、第２チップ１２２のすくい面の撮像位置に相当する回転角度α：１０３度に９０度を加えた１９３度になる。
【００７１】
図１５（Ｂ）は、第３チップ１２３の逃げ面の撮像位置を示している。ボディ１１０の正面の中心位置は、図１４（Ｂ）と同様に（ｒ，−ｒ，０）である。第３チップ１２３の逃げ面の撮像位置を特定する回転角度αは、第３チップ１２３のすくい面の撮像位置に相当する回転角度α：１７５度に９０度を加えた２６５度になる。
【００７２】
図１５（Ｃ）は、第４チップ１２４の逃げ面の撮像位置を示している。ボディ１１０の正面の中心位置は、図１４（Ｂ）と同様に（ｒ，−ｒ，０）である。第４チップ１２４の逃げ面の撮像位置を特定する回転角度αは、第４チップ１２４のすくい面の撮像位置に相当する回転角度α：２４７度に９０度を加えた３３７度になる。
【００７３】
図１５（Ｄ）は、第５チップ１２５の逃げ面の撮像位置を示している。ボディ１１０の正面の中心位置は、図１４（Ｂ）と同様に（ｒ，−ｒ，０）である。第５チップ１２５の逃げ面の撮像位置を特定する回転角度αは、第５チップ１２５のすくい面の撮像位置に相当する回転角度α：３１９度に９０度を加えた４９度（４０９度）になる。
【００７４】
＜ユーザインターフェース＞
作業員が工具撮像に関する操作を行うためのユーザインターフェースについて説明する。
【００７５】
図１６は、操作画面の画面図である。
作業員による操作を受け付ける操作画面は、スライドバー７０１と、「開始」ボタン７０２と、「次へ」ボタン７０３と、「不等ピッチ工具」のチェックボックス７０４とを含む。操作画面は、後述する表示部（図１７参照）に表示される。
【００７６】
撮像対象の工具１００が等ピッチ工具である場合には、作業者は「不等ピッチ工具」のチェックボックス７０４をＯＦＦ（チェックマーク無し）にしたまま「開始」ボタン７０２にタッチする。この操作によって、等ピッチ工具の撮像が開始される。一方、撮像対象の工具１００が不等ピッチ工具である場合には、作業者は「不等ピッチ工具」のチェックボックス７０４をＯＮ（チェックマーク有り）にして、「開始」ボタン７０２にタッチする。この操作によって、不等ピッチ工具の撮像が開始される。
【００７７】
撮像が開始されると、刃先を映した撮像が１つずつ表示される。刃先の撮像角度θを変更させる場合には、作業者はスライドバー７０１を操作する。スライドバー７０１が指す撮像角度θで撮像された撮像が表示される。これにより、作業者は所望の向きで刃先を観察することができる。
【００７８】
次の刃先の撮像に移る場合には、作業者は「次へ」ボタン７０３にタッチする。これにより、次の刃先が映し出される。この例では、各刃先のすくい面を順に映した後で、各刃先の逃げ面を順に映す。
【００７９】
＜機能ブロック＞
図１７は、画像処理装置６００の機能ブロック図である。
画像処理装置６００は、演算部６１０、記憶部６３０、入力部６５０、表示部６６０及び通信部６７０を有する。
【００８０】
演算部６１０は、画像処理装置６００全体の制御を司るコントローラである。例えば、演算部６１０は、記憶部６３０に記憶される制御プログラム６３８を読み出して実行することにより、画像処理部６１２、データ処理部６１４、表示指示部６１６、受付部６１８および制御部６２０としての処理を実行する。また、演算部６１０は、ハードウェアとソフトウェアの協働により所定の機能を実現するものに限定されず、所定の機能を実現する専用に設計されたハードウェア回路でもよい。すなわち、演算部６１０は、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＦＰＧＡ、ＤＳＰ、ＡＳＩＣ等、種々のプロセッサで実現することができる。
【００８１】
記憶部６３０は種々の情報を記録する記録媒体である。記憶部６３０は、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＳＳＤ（Solid State Device）、ハードディスク、その他の記憶デバイス又はそれらを適宜組み合わせて実現される。記憶部６３０には、演算部６１０が実行する制御プログラム６３８の他、工作機械２００で使用する種々のデータ等が格納される。例えば、記憶部６３０は、画像データ６３２、関連付けデータ６３４、撮像位置データ６３６および制御プログラム６３８を記憶する。
【００８２】
入力部６５０は、データや操作信号の入力に利用するキーボード、マウス及びタッチパネル等の入力手段である。表示部６６０は、データの出力に利用するディスプレイ等の出力手段である。
【００８３】
通信部６７０は、データ通信を可能とするためのインタフェース回路（モジュール）である。例えば、通信部６７０は、撮像部５０２とデータ通信を実行することができる。
【００８４】
画像処理部６１２は、撮像された画像データ６３２から工具１００の輪郭位置を検出し、輪郭位置と撮像時の回転角度αとを関連付ける処理を行う。データ処理部６１４は、関連付けデータ６３４をフーリエ変換し数値軸（スペクトル軸）において最大値がある数値（周波数）を工具１００の刃数と処理する。表示指示部６１６は、表示部６６０に画面表示を指示する。受付部６１８は、入力部６５０に対するユーザ操作を受け付ける。制御部６２０は、主に、保持部３０２を移動させる制御と保持部３０２を回転させる制御を行う。制御部６２０は、たとえば変更部３０６に対して撮像角度を変更させる制御を行い、モーターに対して、すくい面又は逃げ面が撮像部５０２の被写界深度の範囲内に入る位置に保持部３０２を移動させる制御を行う。
【００８５】
＜処理過程＞
図１８は、メイン処理過程を示すフローチャートである。
メイン処理を開始する段階で、保持部３０２に工具１００が取り付けられており、保持部３０２は、工具１００を回転可能に保持している。また、図４に示したように、撮像ユニット５００がセッティングされている。
【００８６】
表示指示部６１６は、「回転工具」ボタンと「旋削工具」ボタンを含む工具種選択画面を、表示部６６０に表示させる。撮像対象の工具が回転工具（たとえば、フライス工具）である場合に、作業員は「回転工具」ボタンをタッチする。また、撮像対象の工具が旋削工具である場合に、作業員は「旋削工具」ボタンをタッチする。このようにして、受付部６１８は、工具種選択画面における工具種選択を受け付ける（Ｓ１０）。
【００８７】
受付部６１８が「回転工具」ボタンのタッチを受け付けた場合には、Ｓ１２以降の処理によって回転工具の撮像を行う。受付部６１８が「旋削工具」ボタンのタッチを受け付けた場合には、Ｓ１２以降の処理を行わない。旋削工具の撮像については、省略する。
【００８８】
制御部６２０は、初期化処理を行う（Ｓ１２）。初期化処理によって、工具１００の回転角度αの基準（工具１００の回転角度αの０度に相当する保持部３０２の向き）と、工具１００の位置基準（ボディ１１０の正面の中心を空間座標系の原点（０，０，０）とするときの工具位置）とを設定する。また、図６に関連して説明したように、撮像座標系と空間座標系の変換に用いられるオフセット値も算出される。
【００８９】
表示指示部６１６は、操作画面（図１６）を表示部６６０に表示させる（Ｓ１４）。受付部６１８が「開始」ボタン７０２のタッチを受け付けたときに、「不等ピッチ工具」のチェックボックス７０４がＯＦＦであれば（Ｓ１６のＮ）、等ピッチ工具処理が実行される（Ｓ１８）。等ピッチ工具処理については、図１９と図２０に関連して後述する。一方、受付部６１８が「開始」ボタン７０２のタッチを受け付けたときに、「不等ピッチ工具」のチェックボックス７０４がＯＮであれば（Ｓ１６のＹ）、不等ピッチ工具処理が実行される（Ｓ２０）。不等ピッチ工具処理については、図２１と図２２に関連して後述する。
【００９０】
図１９と図２０は、等ピッチ工具処理過程のフローチャートである。
画像処理部６１２は、図７に関連して説明したように、撮像された影画像の画像データから工具１００の輪郭位置を検出し、輪郭位置と撮像時の回転角度とを関連付ける処理を行う（Ｓ３０）。この処理によって、関連付けデータ６３４が生成される。
【００９１】
データ処理部６１４は、図８と図２６に関連して説明したように、関連付けデータ６３４をフーリエ変換し数値軸（スペクトル軸）において最大値がある数値（周波数）を工具１００の刃数と処理する（Ｓ３２）。たとえば、図２６に例示したＦＦＴによる解析結果データにおいて最大のスペクトルを示した周波数が、４．９や５．１のように自然数でない場合には、５のように近似する自然数を採用する。最大のスペクトルを示した周波数の少数第一位を四捨五入すれば、刃数を表す自然数が得られる。
【００９２】
第１照明部５０６を点灯し、撮像部５０２は撮像を開始する。また、表示指示部６１６は、撮像部５０２によって撮像された撮像を表示部６６０に表示させる（Ｓ３４）。たとえば、撮像部５０２が動画を撮像して、表示指示部６１６は、撮像された動画をそのまま続けて表示部６６０に表示させてもよい。あるいは、表示部６６０に撮像を表示するタイミングで撮像部５０２が静止画を撮像して、表示指示部６１６は、撮像された静止画を表示部６６０に表示させてもよい。
【００９３】
変更部３０６は、工具１００を最初の刃のすくい面の撮像位置に合わせる（Ｓ３６）。最初の刃のすくい面の撮像位置は、関連付けデータ６３４における最大の輪郭位置（Ｘ値）を示す回転角度（以下、「最大値の回転角度」という。）によって特定される。制御部６０２は、保持部３０２の回転角度を最大値の回転角度に合わせるように変更部３０６に指示し、変更部３０６は、工具１００の回転角度αが最大値の回転角度に合うように、保持部３０２を回転させる。このようにして、最初の刃のすくい面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【００９４】
すくい面撮像が表示されている状態で、受付部６１８がスライドバー７０１の操作を受け付けると（Ｓ３８のＹ）、変更部３０６は、すくい面の撮像角度θを変更する（Ｓ４０）。制御部６０２は、保持部３０２の回転角度を撮像角度θに応じて増減させるように変更部３０６に指示し、変更部３０６は保持部３０２を回転させて、図１１（Ａ）、図１１（Ｂ）、図１２（Ａ）および図１３（Ａ）に例示したように、撮像角度θに応じて工具１００の回転角度αを増減させる。
【００９５】
また、モーターは、すくい面の撮像角度θに応じて保持部３０２を移動させる（Ｓ４２）。具体的には、図１２（Ｂ）および図１３（Ｂ）に関連して説明したように、制御部６０２は、保持部３０２をＹ軸方向に−ｒ×ｓｉｎθの距離だけ移動させるようにモーターに指示し、モーターは、Ｙ軸方向の−ｒ×ｓｉｎθの変位となるように保持部３０２を移動させる。この移動によって、刃先と撮像部５０２の距離が、焦点距離と一致するように保たれる。このようにして、撮像角度θを調整したときに鮮明なすくい面撮像が表示部６６０に動画あるいは静止画として表示される。
【００９６】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ４４）、未だ全刃のすくい面の撮像を終えていなければ（Ｓ４６のＮ）、隣の刃のすくい面の撮像に移る。そのため、変更部３０６は、工具１００を隣の刃のすくい面の撮像位置に合わせる（Ｓ４８）。隣の刃のすくい面の撮像位置は、図８に関連して説明したように、最大値の回転角度に順次刃間角度γを加えて特定される。制御部６０２は、保持部３０２の回転角度を、刃間角度γが加えられた回転角度に合わせるように変更部３０６に指示し、変更部３０６は、刃間角度γが加えられた回転角度に工具１００の回転角度αが合うように、保持部３０２を回転させる。このようにして、隣の刃のすくい面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【００９７】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ４４のＹ）、全刃のすくい面の撮像を終えていれば（Ｓ４６のＹ）、図２０に示したＳ６０の処理に移る。
【００９８】
図２０に示した処理では、逃げ面を撮像する。変更部３０６は、工具１００を、最初の刃の逃げ面の撮像位置に合わせる（Ｓ６０）。最初の刃のすくい面の撮像位置は、関連付けデータ６３４における最大値の回転角度に９０度を加えた角度（たとえば図１４（Ｂ）では、３１度＋９０度＝１２１度）によって特定される。制御部６０２は、保持部３０２の回転角度を、９０度加算された回転角度に合わせるように変更部３０６に指示し、変更部３０６は、９０度を加算された回転角度に工具１００の回転角度αが合うように、保持部３０２を回転させる。
【００９９】
モーターは、逃げ面の撮像に合うように保持部３０２を移動させる（Ｓ６２）。具体的には、モーターは、図１４（Ｂ）に関連して説明したように、制御部６０２は、保持部３０２をＸ軸方向のｒの距離とＹ軸方向の−ｒの距離と移動させるようにモーターに指示し、モーターは、Ｘ軸方向の＋ｒの変位となりＹ軸方向の−ｒの変位となるように、保持部３０２を移動させる。このようにして、最初の刃の逃げ面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【０１００】
逃げ面撮像が表示されている状態で、受付部６１８がスライドバー７０１の操作を受け付けると（Ｓ６４のＹ）、変更部３０６は、逃げ面の撮像角度θを変更する（Ｓ６６）。すくい面の撮像角度θを変更する場合と同様に、制御部６０２は、保持部３０２の回転角度を撮像角度θに応じて増減させるように変更部３０６に指示し、変更部３０６は保持部３０２を回転させて、撮像角度θに応じて工具１００の回転角度αを増減させる。
【０１０１】
また、モーターは、逃げ面の撮像角度θに応じて保持部３０２を移動させる（Ｓ６８）。撮像角度θを増やした場合も減らした場合も、刃先は撮像部５０２から遠のく。遠のく距離は、ｒ×（１−ｃｏｓθ）で求められる。したがって、制御部６０２は、保持部３０２をＹ軸方向のｒ×（１−ｃｏｓθ）の距離だけ移動させるようにモーターに指示し、モーターは、Ｙ軸方向の＋ｒ×（１−ｃｏｓθ）の変位となるように保持部３０２を移動させる。この移動によって、刃先と撮像部５０２の距離が、焦点距離と一致するように保たれる。したがって、逃げ面が撮像部５０２の被写界深度の範囲内に入る。このようにして、撮像角度θを調整したときに鮮明な逃げ面撮像が表示部６６０に動画あるいは静止画として表示される。
【０１０２】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ７０のＹ）、未だ全刃の逃げ面の撮像を終えていなければ（Ｓ７２のＮ）、隣の刃の逃げ面の撮像に移る。そのため、変更部３０６は、工具１００を隣の刃の逃げ面の撮像位置に合わせる（Ｓ７４）。隣の刃の逃げ面の撮像位置は、図１５に例示したように、関連付けデータ６３４における最大値の回転角度＋９０度に順次刃間角度γを加えて特定される。たとえば図１５（Ａ）では、３１度＋９０度＋７２度＝１９３度によって逃げ面の撮像位置が特定される。制御部６０２は、保持部３０２の回転角度を、このように算出される回転角度に合わせるように変更部３０６に指示し、変更部３０６は、このように算出される回転角度に工具１００の回転角度αが合うように、保持部３０２を回転させる。このようにして、隣の刃の逃げ面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【０１０３】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ７０のＹ）、全刃の逃げ面の撮像を終えていれば（Ｓ７２のＹ）、等ピッチ工具処理を終え、さらにメイン処理を終える。
【０１０４】
図２１と図２２は、不等ピッチ工具処理過程のフローチャートである。
Ｓ８０に示した処理は、等ピッチ工具処理の場合（図１９のＳ３０）と同様である。
【０１０５】
データ処理部６１４は、図８に関連して説明したように、関連付けデータにおける輪郭位置の極大値を特定する。この例では、５つの極大値が特定され、その中に１つ最大値が含まれている（Ｓ８２）。
【０１０６】
Ｓ８４〜Ｓ９６に示した処理は、等ピッチ工具処理の場合（図１９のＳ３４〜Ｓ４６）と同様である。
【０１０７】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ９４）、未だ全刃のすくい面の撮像を終えていなければ（Ｓ９６のＮ）、隣の刃のすくい面の撮像に移る。そのため、変更部３０６は、工具１００を、隣の刃のすくい面の撮像位置に合わせる（Ｓ９８）。隣の刃のすくい面の撮像位置は、関連付けデータ６３４における次の極大の輪郭位置（Ｘ値）を示す回転角度（以下、「極大値の回転角度」という。）によって特定される。制御部６０２は、保持部３０２の回転角度を次の極大値の回転角度に合わせるように変更部３０６に指示し、変更部３０６は、次の極大値の回転角度に工具１００の回転角度αが合うように、保持部３０２を回転させる。このようにして、隣の刃のすくい面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【０１０８】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ９４のＹ）、全刃のすくい面の撮像を終えていれば（Ｓ９６のＹ）、図２２に示したＳ１１０の処理に移る。
【０１０９】
図２２のＳ１１０〜Ｓ１２２に示した処理は、等ピッチ工具処理の場合（図２０のＳ６０〜Ｓ７２）と同様である。
【０１１０】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ１２０のＹ）、未だ全刃の逃げ面の撮像を終えていなければ（Ｓ１２２のＮ）、隣の刃の逃げ面の撮像に移る。そのため、変更部３０６は、工具１００を、隣の刃の逃げ面の撮像位置に合わせる（Ｓ１２４）。隣の刃の逃げ面の撮像位置は、関連付けデータ６３４における次の極大値の回転角度に９０度を加えて特定される。制御部６０２は、保持部３０２の回転角度を、特定された回転角度に合わせるように変更部３０６に指示し、変更部３０６は、特定された回転角度に工具１００の回転角度αが合うように、保持部３０２を回転させる。このようにして、隣の刃の逃げ面撮像が表示部６６０に動画あるいは静止画として表示される。このとき、撮像角度θは０度である。
【０１１１】
受付部６１８が「次へ」ボタン７０３のタッチを受け付けた場合に（Ｓ１２０のＹ）、全刃の逃げ面の撮像を終えていれば（Ｓ１２２のＹ）、不等ピッチ工具処理を終え、さらにメイン処理を終える。
【０１１２】
［変形例１］
図２３は、変形例１に係る工具撮像処理システムの構成例を示す図である。
実施形態では、工作機械２００が画像処理装置６００を含む形態を示したが、画像処理装置６００を工作機械２００と別に設けるようにしてもよい。画像処理装置６００は、工作機械２００と通信を行って実施形態と同様に動作するようにしてもよい。撮像ユニット５００、保持部３０２、変更部３０６、および保持部３０２を移動させるモーターなどが、工具撮像装置に相当する。
【０１１３】
［変形例２］
図２４は、変形例２に係る工具撮像処理装置８０４の構成例を示す図である。
実施形態および変形例１では、工作機械２００が、工具撮像装置である例を示したが、工具撮像装置は、工作機械２００以外の装置であってもよい。たとえば、単に作業員が工具の刃を観察するために使用する工具撮像装置８００であってもよい。工具撮像装置８００は、加工部３０２に代えて機構部８０２を有する。機構部８０２は、保持部３０２と変更部３０６を含む。さらに機構部８０２は、保持部３０２を移動させるモーターなども含む。この例では、工具撮像装置８００と画像処理装置６００が、一体の工具撮像処理装置８０４に含まれる。
【０１１４】
［変形例３］
図２５は、変形例３に係る工具撮像処理システムの構成例を示す図である。
変形例２で説明したように、工具撮像装置８００が工作機械２００以外の装置である場合に、画像処理装置６００を工具撮像装置８００と別に設けるようにしてもよい。画像処理装置６００は、工具撮像装置８００と通信を行って実施形態と同様に動作するようにしてもよい。
【０１１５】
［その他の変形例］
実施形態では刃先を焦点距離に合わせる例を示したが、制御部６２０は、すくい面の少なくとも一部が撮像部５０２の被写界深度の範囲に入るように保持部３０２を移動させる制御を行うようにしてもよい。つまり、すくい面の一部が被写界深度の範囲に入らなくても、必要なすくい面の領域が被写界深度の範囲に入っていれば足りる形態も考えられる。たとえば、すくい面の中心を焦点距離に合わせるようにしてもよい。ただし、すくい面の全体が被写界深度の範囲に入るようにすることが好ましい。
【０１１６】
図２７（Ａ）は、観察面が被写界深度の範囲に入らない状態を示す図である。図２７（（Ｂ）は、観察面が被写界深度の範囲に入る状態を示す図である。
この例におけるチップの刃先は、図示するように鋭角であるものとする。作業員は特にすくい面の一部を観察したいと想定する。観察したい面を「観察面」といい、図２７（Ａ）および図２７（Ｂ）では、観察面に相当する点（観察点）を黒丸で示す。図２７（Ａ）に示すように、当初観察面は被写界深度の範囲に含まれていないと想定する。このような場合には、図２７（Ｂ）に示した状態になるように、１回転近く正方向に保持部３０２と工具１００を回転させ（あるいは負方向に保持部３０２と工具１００をわずかに回転させ）、さらに保持部３０２と工具１００をわずかに左側へ移動させる。これにより、観察面が被写界深度の範囲に入るようになり、観察面にピントを合わせて撮像できるようになる。また、撮像中の観察面が横にずれないように保たれる。
【０１１７】
第１方式として、ユーザ操作によって、保持部３０２と工具１００の回転量を決め、さらにユーザ操作によって、保持部３０２と工具１００の移動量を決めてもよい。受付部６１８は、スライドバー７０１（図１６）の操作を受け付けて、変更部３０６は、その操作により指示された回転量に応じてすくい面の撮像角度θを変更する。具体的には、制御部６０２が、保持部３０２の回転角度を撮像角度θに応じて増減させるように変更部３０６に指示し、変更部３０６は保持部３０２を回転させる。また、操作画面（図１６）に移動用のスライドバーを設け、受付部６１８は、移動用のスライドバーの操作を受け付けて、モーターは、その操作により指示された移動量に応じて保持部３０２を移動させる。具体的には、制御部６０２が、移動量に応じて保持部３０２を移動させるようにモーターに指示し、モーターはその指示に従って保持部３０２を移動させる。
【０１１８】
第２方式として、制御部６０２の処理によって、保持部３０２と工具１００の回転量を決め、さらに制御部６０２の処理によって、保持部３０２と工具１００の移動量を決めてもよい。
図２７（Ａ）に示すように、観察面を示す点とボディ１１０の中心とを結ぶ直線を「直線Ａ」という。観察面を示す点を光軸と平行に撮像面まで下ろした点（「直交点」という。）とボディ１１０の中心とを結ぶ直線を「直線Ｂ」という。観察面を示す点と直交点とを結ぶ直線を「直線Ｃ」という。直線Ａと直線Ｂと直線Ｃは、直角三角形を描く。この例の場合、ボディ１１０の中心で直線Ａと直線Ｂとがなす角度は、６．５度である。撮像角度θが−６．５度（＝３５３．５度）になるように工具１００を回転させれば、観察面を示す点が被写界深度の範囲の中央に来る。ただし、回転に伴って観察面を示す点がＸ軸の正方向にわずかに変位する。直線Ｂの長さは、直線Ａ×ｃｏｓ６．５度であるので、観察面を示す点のＸ軸方向の変位は、直線Ａの長さ×（１−ｃｏｓ６．５度）で算出できる。図２７（Ｂ）では、撮像角度θが−６．５度（＝３５３．５度）になるように保持部３０２と工具１００を回転させると共に、Ｘ軸の負方向に直線Ａの長さ×（１−ｃｏｓ６．５度）だけ保持部３０２と工具１００を左側へ移動させる。つまり、ボディ１１０の正面の中心位置を（−直線Ａの長さ×（１−ｃｏｓ６．５度），０，０）とする。観察位置（たとえば、直交点）を１点決めておき、工具の刃の基準の位置（たとえば、観察面を示す点）を撮像から特定すれば、制御部６０２は、上述した三角形の関係から撮像角度θの回転量および移動量を算出できる。工具の刃の基準の位置は、観察面を示す点以外であってもよい。直線Ａの長さ、直線Ｂの長さおよび直線Ａと直線Ｂとがなす角度を予め決めておき、制御部６０２は、その値を用いて撮像角度θの回転量および移動量を算出するようにしてもよい。直線Ａの長さおよび直線Ｂの長さは、たとえば０．７×軸間距離から１．３×軸間距離までの範囲内の所定距離でもよい。直線Ａと直線Ｂとがなす角度は、たとえば２度から１０度までの範囲内の所定角度でもよい。
【０１１９】
第３方式として、ユーザ操作によって、保持部３０２と工具１００の回転量を決め、制御部６０２の処理によって、その回転量に応じて保持部３０２と工具１００の移動量を決めてもよい。保持部３０２と工具１００の移動量を求める方法は、第２方式の場合と同様でもよい。
【０１２０】
また、制御部６２０は、逃げ面の少なくとも一部が撮像部５０２の被写界深度の範囲に入るように保持部３０２を移動させる制御を行うようにしてもよい。つまり、逃げ面の一部が被写界深度の範囲に入らなくても、必要な逃げ面の領域が被写界深度の範囲に入っていれば足りる形態も考えられる。たとえば、逃げ面の中心を焦点距離に合わせるようにしてもよい。ただし、逃げ面の全体が被写界深度の範囲に入るようにすることが好ましい。
【０１２１】
第１照明部５０６に代えて、撮像部５０２と同軸の照明部を用いるようにしてもよい。
【０１２２】
［ロボットアーム付き自動運搬車］
工具撮像処理装置８０４は、ロボットアーム付き自動搬送車であってもよい。ロボットアーム付き自動搬送車は、駆動部によって本体下部に設けられた車輪を回転させて走行し、本体に取り付けられたロボットアームの先端に設けられた向き変更および回転が可能な把持部（保持部の例）で工具を把持し、ロボットアームの動作で工具の位置、向きや回転角度を自在に変更できる。ロボットアーム付き自動搬送車の本体に工具撮像用カメラを固定させ、工具撮像用カメラと工具の位置関係が実施形態や変形例の場合と同様になるように、ロボットアームを動かして工具を撮影すれば、工具撮像処理装置８０４としての機能を実現できる。
【０１２３】
［フーリエ変換を用いない変形例］
フーリエ変換を用いずに工具の刃数を求めてもよい。
輪郭を検出し点群データを集め、３６０°回転させて集めた点（図８に示した関連付けデータ）において、データ処理部６１４は、角度軸において複数の極大値を算出する。次に、データ処理部６１４は、複数の極大値の中から最大値と最小値とを算出する。データ処理部６１４は、最大値と最小値以外の極大値について、最大値と最小値のどちらに近い値であるか、分類する。最大値は所定値の例であり、最小値よりも最大値に近いということは所定値と関連性が高いことの例である。つまり、データ処理部６１４は、複数の極大値から所定値を選択し、さらに所定値と関連性が高い極大値を選択する。そして、データ処理部６１４は、最大値（１個）と最大値側に近い極大値の数（α個）とを合計して、刃の数（１＋α個）として算出する。つまり、データ処理部６１４は、所定値と関連性が高い極大値の数（所定値を含み、所定値と関連性が高い極大値の数（１＋α個））を前記工具の刃数と処理する。
【０１２４】
［まとめ］
複数の刃を有する工具１００（図２参照）が、工作機械２００（画像撮像装置の例）の保持部３０２（図１参照、たとえば主軸やタレットのホルダ）において回転可能に保持される。工作機械２００（画像撮像装置の例）の撮像部５０２は、図４に例示するように工具１００を回転させている際の回転軸と交差する方向から工具１００を撮像する位置に設置される。
【０１２５】
画像処理装置６００は、図７に例示した影画像や図６に例示したすくい面撮像など、撮像部５で撮像された画像データを処理する。画像処理装置６００は、画像処理部６１２とデータ処理部６１４を有する（図１および図１７参照）。
【０１２６】
図７に関連して説明したように、画像処理部６１２は、影画像から工具１００の輪郭位置を検出する（図１９のＳ３０）。図７と図８に関連して説明したように、画像処理部６１２は、輪郭位置と撮像時の回転角度とを関連付けるデータを生成する（図１９のＳ３０）。
【０１２７】
図２６に関連して説明したように、データ処理部６１４は、関連付けされたデータをフーリエ変換し数値軸（スペクトル軸）において最大値がある数値（周波数）を工具１００の刃数と処理する（図１９のＳ３２）。
【０１２８】
撮像部５０２は、図５（Ｂ）に例示するように、輪郭位置が回転軸から最も離れる回転角度の撮像位置で工具１００の刃を撮像する（図１９のＳ３６）。
【０１２９】
撮像部５０２は、図５（Ｂ）に例示したように第１チップ１２１（第１の刃の例）を撮像した際の回転角度α：３１度から、３６０度を刃数（この例で５枚）で割った角度（７２度）分回転させた回転角度において、図５（Ｃ）に示したように第２チップ１２３（第１の刃の隣の第２の刃の例）を撮像する（図１９のＳ４８）。
【０１３０】
撮像部５０２は、図１４（Ａ）に例示したように刃（第１のチップ１２１）のすくい面の撮像位置を基準として刃（第１のチップ１２１）の逃げ面を撮像する。図１４（Ｂ）に例示したように、保持部３０２は、撮像部５０２の光軸と垂直の方向に、刃先半径ｒ（刃先と回転軸との距離）だけ光軸へ近づけられ、光軸の方向に、刃先半径ｒだけ撮像部５０２から遠ざけられる（図２０のＳ６２）。また、図１４（Ａ）の回転角度α：３１度から図１４（Ｂ）の回転角度α：１２１度に回したように、刃を撮像部５０２の方に９０度回転させた回転角度とする。（図２０のＳ６０）。
【０１３１】
マシニングセンタで主軸を保持部３０２とする場合、主軸は、ワークの加工の際にも使用される。ターニングセンタのタレットのホルダを保持部３０２とする場合、タレットのホルダは、ワークの加工の際にも使用される。
【０１３２】
以上のように、本出願において開示する技術の例示として、上記実施形態および上記変形例を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。
【０１３３】
本開示の全請求項に記載の画像処理装置及び工作機械は、機械要素の他、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現される。
【符号の説明】
【０１３４】
１００  工具、１１０  ボディ、１２１  第１チップ、１２２  第２チップ、１２３  第３チップ、１２４  第４チップ、１２５  第５チップ、２００  工作機械、３００  加工部、３０２  保持部、３０６  変更部、４００  数値制御装置、５００  撮像ユニット、５０２  撮像部、５０４  シャッター、５０６  第１照明部、５０８  第２照明部、６００  画像処理装置、６１０  演算部、６１２  画像処理部、６１４  データ処理部、６１６  表示指示部、６１８  受付部、６２０  制御部、６３０  記憶部、６３２  画像データ、６３４  関連付けデータ、６３６  撮像位置データ、６３８  制御プログラム、６５０  入力部、６６０  表示部、６７０  通信部、７０１  スライドバー、７０２  「開始」ボタン、７０３  「次へ」ボタン、７０４  チェックボックス、８００  工具撮像装置、８０２  機構部、８０４  工具撮像処理装置
【要約】      （修正有）【課題】工具の状態を把握しやすくする。【解決手段】画像処理装置は、複数の刃を有する工具を回転可能に保持する保持部と、工具を回転させている際の回転軸と交差する方向から工具を撮像する撮像部５０２と、を備える撮像装置５００の撮像部５０２で撮像された画像データを処理する画像処理装置であって、撮像された画像データから工具の輪郭位置を検出し、輪郭位置と撮像時の回転角度とを関連付ける処理を行う画像処理部と、関連付けされたデータをフーリエ変換し数値軸において最大値がある数値を工具の刃数と処理するデータ処理部と、を備える。【選択図】図３【図１】
0006980142.tif 000002
【図２】
0006980142.tif 000003
【図３】
0006980142.tif 000004
【図４】
0006980142.tif 000005
【図５】
0006980142.tif 000006
【図６】
0006980142.tif 000007
【図７】
0006980142.tif 000008
【図８】
0006980142.tif 000009
【図９】
0006980142.tif 000010
【図１０】
0006980142.tif 000011
【図１１】
0006980142.tif 000012
【図１２】
0006980142.tif 000013
【図１３】
0006980142.tif 000014
【図１４】
0006980142.tif 000015
【図１５】
0006980142.tif 000016
【図１６】
0006980142.tif 000017
【図１７】
0006980142.tif 000018
【図１８】
0006980142.tif 000019
【図１９】
0006980142.tif 000020
【図２０】
0006980142.tif 000021
【図２１】
0006980142.tif 000022
【図２２】
0006980142.tif 000023
【図２３】
0006980142.tif 000024
【図２４】
0006980142.tif 000025
【図２５】
0006980142.tif 000026
【図２６】
0006980142.tif 000027
【図２７】
0006980142.tif 000028