(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、さらに、前記複数の見本画像の内で前記工具画像との類似度が最も高い見本画像を他の見本画像よりも強調して表示する処理を実行する、請求項4に記載の工作機械。
前記制御部は、前記指定された工具が前記予め定められた位置に駆動されたことに基づいて、前記表示部内の所定の表示領域の輝度を現在よりも高くする処理を実行する、請求項6または7に記載の工作機械。
【発明を実施するための形態】
【0018】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0019】
<A.工作機械100の構成>
まず、
図1を参照して、工作機械100の構成について説明する。
図1は、工作機械100の外観を示す図である。
【0020】
工作機械100は、ワークの加工機である。一例として、工作機械100は、ワークの除去加工(SM(Subtractive manufacturing)加工)を行う工作機械である。除去加工を行う工作機械としては、たとえば、立形のマシニングセンタ、横形のマシニングセンタ、または、ターニングセンタなどが挙げられる。あるいは、工作機械100は、旋盤であってもよいし、その他の切削機械や研削機械であってもよい。さらに、工作機械100は、これらを複合した複合機であってもよい。
【0021】
工作機械100には、操作盤10が設けられている。操作盤10は、作業者Uによる操作を受け付ける。操作盤10は、加工に関する各種情報を表示するためのディスプレイ105と、工作機械100に対する各種操作を受け付ける操作キー106とを含む。
【0022】
工作機械100は、加工エリアAR1と、工具エリアAR2とを有する。加工エリアAR1および工具エリアAR2のそれぞれは、カバーによって区画化されている。加工エリアAR1には、主軸頭130が設けられている。工具エリアAR2には、ATC160と、マガジン170とが設けられている。マガジン170は、ワークの加工に用いられる種々の工具を収納する。マガジン170に収納されている工具は、加工エリアAR1と工具エリアAR2との間の仕切に設けられているドアDを介して主軸頭130に取り付けられる。ドアDは、スライド式のドアであり、モータなどの駆動源により開閉される。
【0023】
<B.工作機械100の駆動機構>
次に、
図2を参照して、工作機械100における各種の駆動機構について説明する。
図2は、工作機械100における駆動機構の構成例を示す図である。
【0024】
図2に示されるように、工作機械100は、制御部50と、回転駆動部110Aと、位置駆動部110Bと、ATCドライバ111Nと、主軸頭130と、撮影部140と、ATC160とを含む。
【0025】
説明の便宜のために、以下では、重力方向を「X軸方向」とも称する。X軸に直交する水平面上の一方向を「Y軸方向」とも称する。X軸方向およびY軸方向の両方に直交する方向を「Z軸方向」と称する。
【0026】
本明細書でいう「制御部50」とは、工作機械100を制御する装置を意味する。制御部50の装置構成は、任意である。制御部50は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。
図2の例では、制御部50は、操作盤10と、CPUユニット20と、CNCユニット30と、情報処理装置40とで構成されている。
【0027】
操作盤10およびCNCユニット30は、たとえば、通信経路NW1(たとえば、無線LAN、有線LAN、フィールドネットワークなど)を介して互いに通信を行う。CNCユニット30および情報処理装置40は、たとえば、通信経路NW2(たとえば、無線LAN、有線LAN、フィールドネットワークなど)を介して互いに通信を行う。CPUユニット20およびCNCユニット30は、たとえば、バスBを介して互いに通信を行う。
【0028】
CPUユニット20は、たとえば、PLC(Programmable Logic Controller)である。CPUユニット20は、予め設計されているPLCプログラムに従って、制御部50を構成する各種ユニットを制御する。当該PLCプログラムは、たとえば、ラダープログラムで記述されている。
【0029】
モータドライバ111M(駆動部)は、制御部50からの制御指令に従って、マガジン170を駆動する。マガジン170には、モータ(図示しない)が設けられる。マガジン170用のモータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。より具体的な処理として、モータドライバ111Mは、目標回転速度の入力をCPUユニット20から受け、マガジン170用のモータを制御する。マガジン170用のモータは、モータドライバ111Mからの出力電流に従ってATC160のアーム166を駆動し、マガジン170内の指定された次使用工具TBを指定された位置に駆動する。
【0030】
ATC160は、中心軸165と、アーム166とを含む。
図2の例では、中心軸165は、Z軸に平行に設けられている。アーム166は、中心軸165の軸方向に直交する一方向に中心軸165から延出している工具把持部166Aと、当該一方向の反対方向に中心軸165から延出している工具把持部166Bとを含む。
【0031】
ATCドライバ111Nは、たとえば、2軸一体型のドライバであり、ATC160に接続される第1,第2モータ(図示しない)の駆動を制御する。当該第1,第2モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。ATCドライバ111Nは、たとえば、当該第1モータの目標回転速度の入力と、当該第2モータの目標回転速度の入力とのそれぞれをCPUユニット20から受け、当該第1,第2モータのそれぞれを制御する。当該上記第1モータは、ATCドライバ111Nからの出力電流に従ってATC160のアーム166を送り駆動し、Z軸方向の任意の位置にアーム166を駆動する。上記第2モータは、ATCドライバ111Nからの出力電流に従ってATC160のアーム166を回転駆動し、Z軸を中心とした回転方向の任意の回転角度にアーム166を駆動する。
【0032】
ATC160は、工具の交換命令を受けたことに基づいて、マガジン170から次使用工具TBを取得する。その後、ATC160は、使用済工具TAを主軸132から抜き取るとともに、次使用工具TBを主軸132に装着する。その後、ATC160は、主軸132から抜き取った使用済工具TAをマガジン170に収納する。
【0033】
CNCユニット30は、CPUユニット20からの加工開始指令を受けたことに基づいて、予め設計されている加工プログラムの実行を開始する。当該加工プログラムは、たとえば、NC(Numerical Control)プログラムで記述されている。CNCユニット30は、当該加工プログラムに従って、回転駆動部110Aおよび位置駆動部110Bを制御し、主軸頭130を駆動する。
【0034】
主軸頭130は、主軸筒131と、主軸132とを含む。主軸132は、主軸筒131により回転可能に支持されている。主軸132にはマガジン170から選択された一の工具が装着される。工具は、主軸132と連動して回転する。
【0035】
回転駆動部110Aは、主軸132の角度を変えるための駆動機構である。一例として、回転駆動部110Aは、X軸方向を回転軸中心とした回転方向(以下、「A軸方向」ともいう。)、Y軸方向を回転軸中心とした回転方向(以下、「B軸方向」ともいう。)、および、Z軸方向を回転軸中心とした回転方向(以下、「C軸方向」ともいう。)の少なくとも1つの角度を調整する。回転駆動部110Aの装置構成は、任意である。回転駆動部110Aは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。
図2の例では、回転駆動部110Aは、モータドライバ111B、111Cで構成されている。
【0036】
位置駆動部110Bは、主軸132の位置を変えるための駆動機構である。一例として、位置駆動部110Bは、X軸方向、Y軸方向およびZ軸方向の少なくとも1つの位置を調整する。位置駆動部110Bの装置構成は、任意である。位置駆動部110Bは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。
図2の例では、位置駆動部110Bは、モータドライバ111X〜111Zで構成されている。
【0037】
モータドライバ111Bは、CNCユニット30から目標回転速度の入力を逐次的に受け、B軸方向に主軸頭130を回転駆動するためのモータ(図示しない)を制御する。当該モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。
【0038】
より具体的には、モータドライバ111Bは、当該モータの回転角度を検知するためのエンコーダ(図示しない)のフィードバック信号から当該モータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該モータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該モータの回転速度を下げる。このように、モータドライバ111Bは、当該モータの回転速度のフィードバックを逐次的に受けながら当該モータの回転速度を目標回転速度に近付ける。これにより、モータドライバ111Bは、B軸方向における主軸頭130の回転速度を調整する。
【0039】
モータドライバ111Cは、CNCユニット30から目標回転速度の入力を逐次的に受け、主軸132の軸方向を中心とした回転方向に主軸132を回転駆動するためのモータ(図示しない)を制御する。当該モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。
【0040】
より具体的には、モータドライバ111Cは、当該モータの回転角度を検知するためのエンコーダ(図示しない)のフィードバック信号から当該モータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該モータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該モータの回転速度を下げる。このように、モータドライバ111Cは、当該モータの回転速度のフィードバックを逐次的に受けながら当該モータの回転速度を目標回転速度に近付ける。これにより、モータドライバ111Cは、主軸132の回転速度を調整する。
【0041】
モータドライバ111Xは、CNCユニット30から目標位置の入力を逐次的に受け、モータ(図示しない)を制御する。当該モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。当該モータは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、X軸方向の任意の位置に主軸頭130を移動する。モータドライバ111Xによる当該モータの制御方法は、モータドライバ111B、111Cと同様であるので、その説明については繰り返さない。
【0042】
モータドライバ111Yは、CNCユニット30から目標位置の入力を逐次的に受け、モータ(図示しない)を制御する。当該モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。当該モータは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、Y軸方向の任意の位置に主軸132を移動する。モータドライバ111Yによる当該モータの制御方法は、モータドライバ111B、111Cと同様であるので、その説明については繰り返さない。
【0043】
モータドライバ111Zは、CNCユニット30から目標位置の入力を逐次的に受け、モータ(図示しない)を制御する。当該モータは、サーボドライバであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。当該モータは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、Z軸方向の任意の位置に主軸132を移動する。モータドライバ111Zによる当該モータの制御方法は、モータドライバ111B、111Cと同様であるので、その説明については繰り返さない。
【0044】
情報処理装置40は、汎用のコンピュータである。一例として、情報処理装置40は、デスクトップ型のコンピュータであってもよいし、ノート型のコンピュータであってもよいし、タブレット端末であってもよい。情報処理装置40には、画像処理プログラムがインストールされており、撮影部140から取得した画像に対して種々の画像処理を実行する。
【0045】
<C.概要>
次に、
図3を参照して、実施の形態に従う工作機械100の機能概要について説明する。
図3は、工作機械100が実行する処理の流れを概略的に示す図である。
【0046】
たとえ、工作機械100が工具の交換時期を作業者に通知する機能を備えていたとしても、作業者は、工具の交換時期がきているか否かを最終的には目視で判断する。この判断には、経験が必要となる。そのため、経験が浅い作業者は、工具がまだ使用できるにも関わらず工具が限界に達していると判断してしまうことがある。
【0047】
そこで、実施の形態に従う工作機械100は、工具の摩耗状態に応じた摩耗見本画像を作業者に提示する。これにより、経験が浅い作業者であっても、当該摩耗見本画像を指標として、工具の交換時期がきているか否かを容易に判断することができる。
【0048】
より具体的には、工作機械100の制御部50は、工具データベース124を予め取得する。工具データベース124は、工具の摩耗状態に応じた摩耗見本画像を工具ごとに関連付けたデータベースである。当該摩耗見本画像は、寿命が尽きている状態の工具を表わす画像であってもよいし、残寿命が所定量よりも少ない寿命が尽きる前の状態の工具を表わす画像であってもよい。工具データベース124の詳細については後述する。
【0049】
また、制御部50は、操作受付部としての上述の操作盤10において、確認対象の工具の指定を受け付ける。制御部50は、操作盤10が工具の指定を受け付けたことに基づいて、工具データベース124から、当該指定された工具に対応する摩耗見本画像を取得する。その後、制御部50は、取得した摩耗見本画像を上述のディスプレイ105(表示部)に表示する。
図3の例では、摩耗している状態の工具134を表わす摩耗見本画像IMAがディスプレイ105に表示されている。
【0050】
これにより、工作機械100は、工具134の摩耗度合いの指標を作業者に提示することができる。作業者は、摩耗見本画像IMAを確認することで、工具134の交換時期がきているか否かや、工具134の交換時期が近付いているか否かなどを容易に判断することができる。
【0051】
<D.工作機械100の機能構成>
図4〜
図9を参照して、工作機械100の機能構成について説明する。
図4は、工作機械100の機能構成の一例を示す図である。
【0052】
工作機械100の制御部50は、機能構成として、入力部52と、見本画像取得部54と、駆動制御部56と、工具画像取得部58と、特定部60と、表示制御部62とを含む。以下では、これらの機能構成について順に説明する。
【0053】
なお、各機能構成の配置は、任意である。一例として、
図4に示される機能構成の全ては、上述の操作盤10(
図2参照)に実装されてもよいし、上述のCPUユニット20(
図2参照)に実装されてもよいし、上述のCNCユニット30(
図2参照)に実装されてもよいし、上述の情報処理装置40(
図2参照)に実装されてもよい。あるいは、
図4に示される機能構成は、操作盤10と、CPUユニット20と、CNCユニット30と、情報処理装置40との少なくとも2つが共働することで実現されてもよい。あるいは、
図4に示される機能構成の一部は、サーバーなどの外部装置に実装されてもよいし、専用のハードウェアに実装されてもよい。
【0054】
(D1.入力部52)
まず、
図4に示される入力部52の機能について説明する。入力部52は、たとえば、操作盤10(
図2参照)に実装される。
【0055】
入力部52は、工具識別情報の入力を受け付けるための機能モジュールである。工具識別情報は、種々の方法で受け付けられ得る。一例として、入力部52は、工作機械100が保持している工具のリストを上述のディスプレイ105(
図1参照)に表示する。当該工具リストは、作業者によって選択可能に構成されている。工具の選択は、たとえば、ディスプレイ105に対するタッチ操作や、上述の操作キー106(
図1参照)の操作によって実現される。
【0056】
説明の便宜のために、操作盤10上で選択された工具を以下では「確認対象工具」ともいう。作業者が確認対象工具を選択したことに基づいて、操作盤10は、当該確認対象工具の識別情報を入力部52に出力する。入力部52は、操作盤10から受けた確認対象工具の識別情報を見本画像取得部54および駆動制御部56のそれぞれに出力する。
【0057】
(D2.見本画像取得部54)
次に、
図5を参照して、
図4に示される見本画像取得部54の機能について説明する。
【0058】
見本画像取得部54は、確認対象工具の摩耗状態を表わす見本画像を取得するための機能モジュールである。当該寿命見本画像は、たとえば、
図5に示される工具データベース124から取得される。
図5は、工具データベース124のデータ構造の一例を示す図である。
【0059】
工具データベース124は、工作機械100内にある各工具の識別情報と、当該工具を表わす摩耗見本画像と、当該工具の残寿命と、当該摩耗見本画像内における注目箇所とを対応付けている。
【0060】
工具データベース124に規定される工具識別情報は、工具を一意に特定するための情報である。工具識別情報は、工具ID(Identification)で示されてもよいし、工具名で示されてもよい。
【0061】
工具データベース124に規定される摩耗見本画像は、摩耗している状態の工具を表わす画像である。摩耗見本画像は、1つの工具識別情報に対して1つ以上関連付けられる。この場合、各摩耗見本画像は、工具の使用態様に応じた異なる摩耗状態を表わす。好ましくは、摩耗見本画像は、寿命が尽きている工具を表わす画像を少なくとも含む。摩耗見本画像は、ユーザによって登録されてもよいし、工具メーカから提供されてもよいし、工作機械100内における工具交換前の工具を撮影することで登録されてもよい。
【0062】
工具データベース124に規定される残寿命は、工具の交換時期の指標となる情報である。当該残寿命は、たとえば、工具の残りの使用可能時間で示されてもよいし、工具の残りの使用可能回数で示されてもよい。
【0063】
工具データベース124に規定される注目箇所は、摩耗見本画像内おいて工具の摩耗部分を示す。当該注目箇所は、たとえば、摩耗見本画像内における座標値で示される。当該座標値は、たとえば、矩形の1つの角点の座標値と、当該矩形の横幅と、当該矩形の縦幅とで規定される。当該注目箇所は、たとえば、ユーザ、プログラム設計者、または工具メーカによって予め設定されている。あるいは、当該注目箇所は、後述の特定部60と同様の方法で自動的に特定されてもよい。
【0064】
見本画像取得部54は、工具データベース124に規定される工具識別情報の中から、確認対象工具の識別情報と一致する工具識別情報を特定する。その後、見本画像取得部54は、工具データベース124から、当該特定した工具識別情報に対応付けられている摩耗見本画像と残寿命と注目箇所とを見本情報として取得する。取得された見本情報は、表示制御部62に出力される。
【0065】
(D3.駆動制御部56)
次に、
図4に示される駆動制御部56の機能について説明する。駆動制御部56は、たとえば、CPUユニット20(
図2参照)またはCNCユニット30(
図2参照)に実装される。
【0066】
駆動制御部56は、工作機械100内の駆動部110の制御を担う機能モジュールである。駆動部110は、たとえば、主軸132を回転駆動するための上述の回転駆動部110A(
図2参照)と、主軸132を送り駆動するための上述の位置駆動部110B(
図2参照)と、ATC160を駆動するための上述のATCドライバ111N(
図2参照)と、マガジン170を駆動するための上述のモータドライバ111M(
図2参照)とを含む。
【0067】
駆動制御部56は、たとえば、駆動部110を制御することで、確認対象工具をマガジン170から呼び出し、確認対象工具を主軸頭130に装着する。その後、駆動制御部56は、駆動部110を制御することで、工作機械100内の撮影機構の前に確認対象工具を駆動する。
【0068】
図6は、工作機械100の撮影機構の一例を示す図である。
図6の例では、主軸頭130が加工エリアAR1に設けられており、撮影部140および光源145,147が工具エリアAR2に設けられている。撮影部140は、カメラ141と、対物レンズ142とで構成されている。
【0069】
光源145は、たとえば、リング照明であり、対物レンズ142を囲うように設置される。光源145は、カメラ141の撮影視野CR内にある物体に光を照射する。当該物体からの反射光は、対物レンズ142に入射する。
【0070】
光源147は、対物レンズ142および光源145に対向するように設けられる。光源147は、カメラ141の撮影視野CR内にある物体に撮影方向の反対側から光を照射する。その結果、光源147から照射された光は、カメラ141の撮影視野CRに含まれる物体に遮られ、当該物体に遮られなかった光がカメラ141に入射する。
【0071】
駆動制御部56は、位置駆動部110Bを制御し、予め定められた位置に主軸頭130を移動する。主軸頭130が当該予め定められた位置にあるときに、確認対象工具である工具134がカメラ141の撮影視野CRに含まれる。このとき、カメラ141の撮影視野CRには、工具134のみが含まれていてもよいし、主軸132および工具134の両方が含まれていてもよい。
【0072】
好ましくは、駆動制御部56は、さらに、回転駆動部110Aを制御することで予め定められた回転角度に主軸132を回転する。これにより、カメラ141は、予め定められた方向から工具134の表面を撮影する。
【0073】
(D4.工具画像取得部58)
次に、引き続き
図6を参照して、
図4に示される工具画像取得部58の機能について説明する。工具画像取得部58は、たとえば、情報処理装置40(
図2参照)に実装される。
【0074】
工具画像取得部58は、駆動制御部56による主軸頭130の駆動が完了したことに基づいて、カメラ141に撮影指示を出力する。これにより、工具画像取得部58は、確認対象工具である工具134を表わす工具画像IMαをカメラ141から取得する。
【0075】
典型的には、工具画像取得部58は、光源145をオンにし、かつ光源147をオフにした状態でカメラ141に撮影指示を出力し、工具画像IMαを取得する。これにより、カメラ方向から工具を照らした状態で工具画像IMαが得られる。
【0076】
なお、工具画像IMαを取得するために必ずしもカメラ141が用いられる必要はない。工具画像取得部58は、工作機械100に設けられているその他のカメラを用いて、工具画像IMαを取得してもよい。
【0077】
(D5.特定部60)
次に、
図7および
図8を参照して、
図4に示される特定部60の機能について説明する。特定部60は、たとえば、情報処理装置40(
図2参照)に実装される。
【0078】
特定部60は、工作機械100によるワークの加工条件に基づいて、工具画像IMα内において、工具の摩耗部分を表わす範囲を特定する。「加工条件」とは、工具の摩耗部分を特定することが可能な種々の加工パラメータを意味する。典型的には、当該加工パラメータは、ワークの加工時に工具がワークに接触する部分を特定することが可能な加工パラメータである。
【0079】
図7を参照して、上記加工条件一例について説明する。
図7は、工具134によるワークWの切削態様の一例を示す図である。
【0080】
図7には、エンドミルとしての工具134が示されている。工具134は、その側面に複数の刃を有し、回転しながらワークWに接触することでワークWを切削する。より具体的には、工具134は、切込み幅Apの1段目の切削部分を切込み幅Aeごとに順次切削する。次に、工具134は、切込み幅Apの2段目の切削部分を切込み幅Aeごとに順次切削する。このような切削が繰り返されることで、ワークWは、任意の形状に切削される。
【0081】
上記加工条件は、
図7に示される切込み幅Ap,Aeの少なくとも一方を含む。切込み幅Apは、主軸132の軸方向における、工具134によるワークWの加工幅を表わす。切込み幅Aeは、主軸132の進行方向と当該軸方向との両方に直交する方向における、工具134によるワークWの加工幅を表わす。切込み幅Ap,Aeは、ワークWと工具134との接触部分に係る加工パラメータであるため、工具134の摩耗部分を特定するための指標となる。
【0082】
切込み幅Ap,Aeは、たとえば、ワークWの加工プログラム内に規定されている。特定部60は、加工プログラムから切込み幅Ap,Aeを取得し、当該切込み幅Ap,Aeの少なくとも一方に基づいて、工具画像IMα内において、工具の摩耗部分を特定する。
【0083】
図8を参照して、工具画像IMαから摩耗部分を特定する方法の一例について説明する。
図8は、工具画像IMαの一例を示す図である。
【0084】
まず、特定部60は、所定の画像処理を実行することで、工具画像IMα内から工具部分TRをサーチする。工具部分TRのサーチ処理には、既存の種々の画像処理が用いられる。一例として、工具部分TRは、学習済みモデルを用いて認識される。学習済みモデルは、学習用データセットを用いた学習処理により予め生成されている。学習用データセットは、工具が写っている複数の学習用画像を含む。各学習用画像には、工具が写っているか否かを示すラベル(あるいは、工具の種別を示すラベル)が関連付けられる。学習済みモデルの内部パラメータは、このような学習用データセットを用いた学習処理により予め最適化されている。
【0085】
学習済みモデルを生成するための学習手法には、種々の機械学習アルゴリズムが採用され得る。一例として、当該機械学習アルゴリズムとして、ディープラーニング、コンボリューションニューラルネットワーク(CNN)、全層畳み込みニューラルネットワーク(FCN)、サポートベクターマシンなどが採用される。
【0086】
特定部60は、所定の矩形領域を工具画像IMα上でずらしながら当該矩形領域内の部分画像を学習済モデルに順次入力する。その結果、当該学習済モデルは、入力された部分画像に工具が含まれている確率を出力する。特定部60は、当該確率が所定値を超えた部分画像の位置を工具部分TRとして認識する。
【0087】
なお、工具部分TRのサーチ方法は、学習済モデルを用いた上述の方法に限定されず、ルールベースに基づく画像処理が採用されてもよい。一例として、特定部60は、基準の工具画像を予め保持しておき、当該基準の工具画像を工具画像IMα内で走査することで、工具画像IMα内の各領域について基準の工具画像との類似度を算出する。そして、特定部60は、当該類似度が所定値を超えた領域を工具部分TRとして認識する。
【0088】
次に、特定部60は、認識した工具部分TRである先端部分EDから幅W1の範囲を摩耗部分Rαとして特定する。幅W1は、切込み幅Apに所定の倍率を乗算することで算出される。当該倍率は、カメラ141と主軸132(または工具134)との間の位置関係に基づいて決められる。
【0089】
摩耗部分Rαの幅W2の長さは、任意である。典型的には、幅W2の長さは、主軸132の軸方向の直交方向における、工具部分TRの幅以上である。
【0090】
特定された摩耗部分Rαは、たとえば、基準点の座標値と、幅W1と、幅W2とで規定される。当該基準点は、たとえば、摩耗部分Rαの角点または摩耗部分Rαの中心点である。特定された摩耗部分Rαは、表示制御部62に出力される。
【0091】
なお、上述では、切込み幅Apから摩耗部分Rαを特定する例について説明を行ったが、摩耗部分Rαは、切込み幅Aeから特定されてもよい。工具が不動であり、ワークが回転する場合には、切込み幅Ae,Apに当たる工具部分がワークと接触する。この場合には、特定部60は、切込み幅Aeまたは切込み幅Apから摩耗部分Rαを特定できる。
【0092】
(D6.表示制御部62)
次に、
図9を参照して、
図4に示される表示制御部62の機能について説明する。表示制御部62は、たとえば、操作盤10(
図2参照)に実装される。
【0093】
表示制御部62は、操作盤10のディスプレイ105の表示制御を担う機能モジュールである。
図9は、ディスプレイ105の表示態様の一例を示す図である。
【0094】
表示制御部62は、工具画像取得部58が取得した工具画像IMαをディスプレイ105に表示する。これにより、ユーザは、確認対象工具の現在の状態をディスプレイ105上で確認することができる。
【0095】
好ましくは、表示制御部62は、上述の特定部60によって特定された摩耗部分Rαを工具画像IMα上に表わす。これにより、ユーザは、確認対象工具の摩耗箇所を容易に特定することができる。
【0096】
摩耗部分Rαは、他の部分よりも強調表示される。摩耗部分Rαの強調表示の方法は、任意である。一例として、摩耗部分Rαは、矩形オブジェクトなどで囲まれることで強調表示される。あるいは、摩耗部分Rαは、他の箇所とは異なる色で表示されることで強調表示されてもよい。
【0097】
また、表示制御部62は、見本画像取得部54が取得した各種の見本情報をディスプレイ105に表示する。上述のように、当該見本情報は、確認対象工具の摩耗状態の見本となる摩耗見本画像と、確認対象工具の残寿命と、確認対象工具の注目箇所とを含む。当該見本情報は、工具画像IMαと比較可能な態様で並べて表示される。
【0098】
図8の例では、摩耗見本画像IMA〜IMCがディスプレイ105に表示されている。このように、表示制御部62は、確認対象工具に対応する摩耗見本画像が複数ある場合には、当該複数の摩耗見本画像をディスプレイ105に表示する。これにより、ユーザは、確認対象工具の寿命が尽きているか否か、または、確認対象工具の寿命が尽きそうであるか否かをより正確に判断することができる。
【0099】
好ましくは、表示制御部62は、ディスプレイ105に表示されている摩耗見本画像内の所定の注目箇所を当該摩耗見本画像上に表わす。当該注目箇所は、たとえば、摩耗見本画像内における工具の摩耗箇所である。
図9の例では、摩耗見本画像IMAにおいては、注目箇所RAが強調されている。摩耗見本画像IMBにおいては、注目箇所RBが強調されている。摩耗見本画像IMCにおいては、注目箇所RCが強調されている。これにより、ユーザは、摩耗見本画像IMA〜IMCのいずれの箇所を確認すればいいのかを容易に把握することができる。
【0100】
注目箇所RA〜RCの強調表示の方法は、任意である。一例として、注目箇所RA〜RCは、矩形オブジェクトなどで囲まれることで強調表示される。あるいは、注目箇所RA〜RCは、他の箇所とは異なる色で表示されることで強調表示されてもよい。
【0101】
好ましくは、表示制御部62は、摩耗見本画像IMA〜IMCの各々に対応付けて工具の残寿命を表示する。
図9の例では、摩耗見本画像IMAに対応付けて残寿命「30分」が表示されており、摩耗見本画像IMBに対応付けて残寿命「0分」が表示されており、摩耗見本画像IMCに対応付けて残寿命「0分」が表示されている。これにより、ユーザは、工具の摩耗の状態と残寿命との関係を容易に把握することができ、確認対象工具の工具交換の指標とすることができる。
【0102】
好ましくは、表示制御部62は、摩耗見本画像IMA〜IMCの内で工具画像IMαとの類似度が最も高い摩耗見本画像を他の見本画像よりも強調して表示する。これにより、ユーザは、確認対象工具と比較すべき摩耗見本画像を容易に特定することができる。
図9の例では、摩耗見本画像IMAが強調表示されている。
【0103】
なお、摩耗見本画像IMAの強調表示の方法は、任意である。一例として、摩耗見本画像IMAは、他の摩耗見本画像IMB,IMCとは異なる色で表示される。あるいは、摩耗見本画像IMAは、他の摩耗見本画像IMB,IMCよりも濃く表示される。あるいは、工具画像IMαとの類似度の順に摩耗見本画像IMA〜IMCが表示されてもよい。
【0104】
工具画像IMαと摩耗見本画像IMA〜IMCの各々との類似度の算出には、種々の画像処理アルゴリズムが採用され得る。一例として、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)、NCC(Normalized Cross-Correlation)、またはZNCC(Zero-mean Normalized Cross-Correlation)などが採用され得る。
【0105】
また、類似度を算出する際には画像同士が必ずしも比較される必要はない。一例として、摩耗部分Rαと注目箇所RA〜RCの各々とが比較されてもよい。この場合、摩耗部分Rαのサイズと注目箇所RA〜RCの各々のサイズとが比較されることで、類似度が算出され得る。
【0106】
<E.操作盤10のハードウェア構成>
次に、
図10を参照して、
図2に示される操作盤10のハードウェア構成について説明する。
図10は、操作盤10のハードウェア構成の一例を示す図である。
【0107】
操作盤10は、制御回路101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、ディスプレイ105と、操作キー106と、補助記憶装置120とを含む。これらのコンポーネントは、内部バスB1に接続される。
【0108】
制御回路101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
【0109】
制御回路101は、制御プログラム122などの各種プログラムを実行することで操作盤10の動作を制御する。制御プログラム122は、操作盤10の表示を制御するための命令を規定している。制御回路101は、制御プログラム122の実行命令を受け付けたことに基づいて、補助記憶装置120またはROM102からRAM103に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。
【0110】
通信インターフェイス104は、LAN(Local Area Network)ケーブル、WLAN、またはBluetooth(登録商標)などを用いた通信を実現するための通信ユニットである。一例として、操作盤10は、通信インターフェイス104を介して、CNCユニット30などの外部機器との通信を実現する。
【0111】
ディスプレイ105は、たとえば、液晶ディスプレイ、有機ELディスプレイ、またはその他の表示機器である。ディスプレイ105は、制御回路101などからの指令に従って、ディスプレイ105に対して、画像を表示するための画像信号を送出する。ディスプレイ105は、たとえば、タッチパネルで構成されており、工作機械100に対する各種操作をタッチ操作で受け付ける。
【0112】
操作キー106は、複数のハードウェアキーで構成され、操作盤10に対する各種のユーザ操作を受け付ける。押下されたキーに応じた信号が制御回路101に出力される。
【0113】
補助記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置120は、制御プログラム122および上述の工具データベース124などを格納する。制御プログラム122および工具データベース124の格納場所は、補助記憶装置120に限定されず、制御回路101の記憶領域(たとえば、キャッシュメモリ)、ROM102、RAM103、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0114】
<F.CPUユニット20のハードウェア構成>
次に、
図11を参照して、
図2に示されるCPUユニット20のハードウェア構成について説明する。
図11は、CPUユニット20のハードウェア構成の一例を示す図である。
【0115】
CPUユニット20は、制御回路201と、ROM202と、RAM203と、通信インターフェイス204,205と、補助記憶装置220とを含む。これらのコンポーネントは、内部バスB2に接続される。
【0116】
制御回路201は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0117】
制御回路201は、制御プログラム222などの各種プログラムを実行することでCPUユニット20の動作を制御する。制御プログラム222は、工作機械100内の各種装置を制御するための命令を規定している。制御回路201は、制御プログラム222の実行命令を受け付けたことに基づいて、補助記憶装置220またはROM202からRAM203に制御プログラム222を読み出す。RAM203は、ワーキングメモリとして機能し、制御プログラム222の実行に必要な各種データを一時的に格納する。
【0118】
通信インターフェイス204は、LAN(Local Area Network)ケーブル、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。一例として、CPUユニット20は、通信インターフェイス204を介して、ATCドライバ111N(
図2参照)やモータドライバ111M(
図2参照)などの外部機器との通信を実現する。
【0119】
通信インターフェイス205は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、CNCユニット30やI/Oユニット(図示しない)などが挙げられる。
【0120】
補助記憶装置220は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置220は、制御プログラム222などを格納する。制御プログラム222の格納場所は、補助記憶装置220に限定されず、制御回路201の記憶領域(たとえば、キャッシュメモリ)、ROM202、RAM203、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0121】
<G.CNCユニット30のハードウェア構成>
次に、
図12を参照して、
図2に示されるCNCユニット30のハードウェア構成について説明する。
図12は、CNCユニット30のハードウェア構成の一例を示す図である。
【0122】
CNCユニット30は、制御回路301と、ROM302と、RAM303と、通信インターフェイス304,305と、フィールドバスコントローラ306と、補助記憶装置320とを含む。これらのコンポーネントは、内部バスB3に接続される。
【0123】
制御回路301は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0124】
制御回路301は、制御プログラム322や加工プログラム324などの各種プログラムを実行することでCNCユニット30の動作を制御する。制御回路301は、制御プログラム322の実行命令を受け付けたことに基づいて、ROM302からRAM303に制御プログラム322を読み出す。RAM303は、ワーキングメモリとして機能し、制御プログラム322の実行に必要な各種データを一時的に格納する。
【0125】
通信インターフェイス304,305には、LAN、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。CNCユニット30は、通信インターフェイス304を介して外部機器(たとえば、CPUユニット20)とデータをやり取りする。また、CNCユニット30は、通信インターフェイス305を介して外部機器(たとえば、操作盤10や情報処理装置40)とデータをやり取りする。
【0126】
フィールドバスコントローラ306は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、上述の回転駆動部110A(
図2参照)や上述の位置駆動部110B(
図2参照)などが挙げられる。
【0127】
補助記憶装置320は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置320は、制御プログラム322および加工プログラム324などを格納する。制御プログラム322および加工プログラム324の格納場所は、補助記憶装置320に限定されず、制御回路301の記憶領域(たとえば、キャッシュメモリ)、ROM302、RAM303、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0128】
<H.情報処理装置40のハードウェア構成>
次に、
図13を参照して、
図2に示される情報処理装置40のハードウェア構成について説明する。
図13は、情報処理装置40のハードウェア構成の一例を示す図である。
【0129】
情報処理装置40は、制御回路401と、ROM402と、RAM403と、通信インターフェイス404,405と、補助記憶装置420とを含む。これらのコンポーネントは、内部バスB4に接続される。
【0130】
制御回路401は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0131】
制御回路401は、制御プログラム422などの各種プログラムを実行することで情報処理装置40の動作を制御する。制御回路401は、各種プログラムの実行命令を受け付けたことに基づいて、補助記憶装置420またはROM402からRAM403に実行対象のプログラムを読み出す。RAM403は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【0132】
通信インターフェイス404,405には、LAN、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。情報処理装置40は、通信インターフェイス404を介して外部機器(たとえば、CNCユニット30)とデータをやり取りする。また、情報処理装置40は、通信インターフェイス405を介して外部機器(たとえば、カメラ141)とデータをやり取りする。
【0133】
補助記憶装置420は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置420は、制御プログラム422などを格納する。制御プログラム422の格納場所は、補助記憶装置420に限定されず、制御回路401の記憶領域(たとえば、キャッシュメモリなど)、ROM402、RAM403、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0134】
<I.フローチャート>
次に、
図14を参照して、工作機械100の制御フローについて説明する。
図14は、摩耗見本画像の表示処理の流れを示すフローチャートである。
【0135】
図14に示される処理は、工作機械100の制御部50が上述の制御プログラム122,222,322,422の少なくとも1つを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【0136】
ステップS150において、制御部50は、上述の入力部52(
図4参照)として機能し、確認対象工具の入力を受け付けたか否かを判断する。一例として、確認対象工具の入力は、たとえば、工作機械100の操作盤10で受け付けられる。制御部50は、確認対象工具の入力を受け付けたと判断した場合(ステップS150においてYES)、制御をステップS152に切り替える。そうでない場合には(ステップS150においてNO)、制御部50は、ステップS150の処理を再び実行する。
【0137】
ステップS152において、制御部50は、上述の見本画像取得部54(
図4参照)として機能し、上述の工具データベース124から、確認対象工具の識別情報に対応する見本情報を取得する。見本画像取得部54の機能については上述の通りであるので、その説明については繰り返さない。
【0138】
ステップS154において、制御部50は、上述の駆動制御部56(
図4参照)として機能し、上述の駆動部110(
図4参照)を制御する。これにより、制御部50は、マガジン170内の確認対象工具を主軸頭130に装着する。その後、制御部50は、駆動部110を制御し、主軸頭130に装着されている確認対象工具を撮影視野CRに含める。
【0139】
ステップS156において、制御部50は、上述の工具画像取得部58(
図4参照)として機能し、カメラ141に撮影指示を出力する。これにより、制御部50は、確認対象工具の現状態を表わす工具画像をカメラ141から取得する。
【0140】
ステップS158において、制御部50は、上述の特定部60(
図4参照)として機能し、ステップS156で取得した工具画像内から工具の摩耗部分を特定する。特定部60の機能については上述の通りであるので、その説明については繰り返さない。
【0141】
ステップS160において、制御部50は、上述の表示制御部62(
図4参照)として機能し、ステップS152で取得した見本情報と、ステップS158で取得した工具画像とを操作盤10のディスプレイ105に表示する。
【0142】
<J.変形例1>
次に、
図15を参照して、変形例1に従う工作機械100について説明する。
図15は、本変形例に従う工作機械100内の工具エリアAR2の様子を示す図である。
【0143】
上述では、カメラ141が確認対象工具を撮影することで、確認対象工具の現状態を示す工具画像がディスプレイ105に表示されていた。これに対して、本変形例に従う工作機械100は、マガジン170に収納されている確認対象工具を予め定められた位置に駆動する。これにより、作業者は、確認対象工具を実際に目視で確認することができる。
【0144】
より具体的には、駆動制御部56(
図4参照)は、入力部52(
図4参照)から確認対象工具の入力を受け付けたことに基づいて、駆動部110の一例であるモータドライバ111Mを制御し、マガジン170内にある確認対象工具を予め定められた位置(以下、「確認位置」ともいう。)に駆動する。当該確認位置は、たとえば、プログラム内で予め規定されている。確認対象工具が当該確認位置に駆動されることで、作業者は、確認対象工具を目視で確認することができる。
【0145】
好ましくは、工作機械100の工具エリアAR2には、投影装置171が設けられている。投影装置171は、確認対象工具が上記確認位置にあるときに、確認対象工具を照らす。これにより、作業者は、確認対象工具を他の工具と区別しやすくなる。
【0146】
典型的には、投影装置171は、プロジェクションマッピング用のプロジェクタである。確認対象工具が上記確認位置にあるときに、当該確認対象工具は、投影装置171の投影視野に含まれる。工作機械100の制御部50は、確認対象工具が上記確認位置に駆動されたことに基づいて、確認対象工具上の所定の注目箇所が他の箇所よりも強調されるように投影装置171に画像を投影させる。
図15の例では、確認対象工具である工具134に画像IMPが投影されている。これにより、作業者は、確認対象工具上の確認箇所を容易に把握することができる。
【0147】
典型的には、確認対象工具が上記確認位置にあるときにおける、投影装置171と確認対象工具との位置関係は、常に同じである。また、投影装置171によって投影される画像は、確認対象工具の識別情報によって予め決められている。これにより、画像が確認対象工具の種類に応じて投影される。
【0148】
<K.変形例2>
次に、
図16を参照して、変形例2に従う工作機械100について説明する。
図16は、ディスプレイ105の表示態様の一例を示す図である。
【0149】
上述の
図9の例では、表示制御部62(
図4参照)は、確認対象工具の摩耗見本画像IMA〜IMCとともに、確認対象工具を撮影して得られた工具画像IMαをディスプレイ105上に表示していた。これに対して、本変形例では、表示制御部62は、工具画像IMαをディスプレイ105に表示する代わりに、ディスプレイ105の輝度を現在よりも上げる。ユーザは、ディスプレイ105の前に確認対象工具を持って来ることで、当該確認対象工具の摩耗状態をより詳細に確認することができる。
【0150】
より具体的には、駆動制御部56(
図4参照)は、入力部52(
図4参照)から確認対象工具の入力を受け付けたことに基づいて、駆動部110の一例であるモータドライバ111Mを制御し、マガジン170内にある確認対象工具を上述の予め定められた位置(すなわち、確認位置)に駆動する。表示制御部62は、確認対象工具が当該確認位置に駆動されたことに基づいて、ディスプレイ105内の所定の表示領域の輝度を現在よりも高くする。
【0151】
一例として、ディスプレイ105は、表示領域R1と表示領域R2とを有する。表示領域R1は、確認対象工具の摩耗見本画像IMAを表示する領域である。表示領域R2は、輝度が予め定められた値に設定される表示領域である。一例として、表示領域R2内の各画素の輝度の平均値は、表示領域R1内の各画素の輝度の平均値よりも高い。好ましくは、表示領域R2の輝度は、表示領域R2が最も明るくなるように最大値に設定される。
【0152】
ユーザは、上記確認位置にある確認対象工具をマガジン170から外し、当該確認対象工具を表示領域R2の前に持って行く。これにより、当該確認対象工具が表示領域R2によって照らされ、作業者は、当該確認対象工具の状態をより確認しやすくなる。また、作業者は、当該確認対象工具と摩耗見本画像IMAと比較することができる。
【0153】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【解決手段】工作機械は、表示部と、工作機械に対する操作を受け付けるための操作受付部と、工作機械を制御するための制御部とを備える。制御部は、工具の摩耗状態に応じた見本画像を工具ごとに関連付けたデータベースを取得する処理と、操作受付部が工具の指定を受け付けたことに基づいて、データベースから、当該指定された工具に対応する見本画像を取得する処理と、取得された見本画像を表示部に表示する処理とを実行する。