(58)【調査した分野】(Int.Cl.,DB名)
前記導出部は、切屑位置と、過去に噴射した流体の噴射方向と、流体噴射後の切屑位置の変化とを教師データとして機械学習することにより生成された噴射方向モデルを用いて、前記切屑位置から予測される、流体を噴射すべき噴射方向を導出する請求項2乃至4のいずれか1項に記載の工作機械。
前記噴射方法モデルは、過去に噴射した流体の噴射方法と、前記ノズルと切屑位置との距離と、流体噴射後の切屑位置の変化とを教師データとして、機械学習により生成されたモデルである請求項7に記載の工作機械。
【発明を実施するための形態】
【0009】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0010】
[第1実施形態]
本発明の第1実施形態としての工作機械100について、
図1を用いて説明する。工作機械100は、金属、木材、石材、樹脂等のワーク130に対して、不図示の主軸および工具を用いて、切削や研削等の加工を行うための機械である。
図1に示すように、工作機械100は、クーラント噴射部101と、カメラ102と、切屑検出部103、導出部104と制御部105とを備える。工作機械100は、また、工具主軸151とホルダ152と工具153とを備えている。
【0011】
クーラント噴射部101は、主軸、工具およびワーク130の潤滑・冷却・洗浄のためだけでなく、切屑110の効果的な排出のためにクーラント112を噴射する。クーラント噴射部101は、クーラントの噴射方法を制御可能なクーラントノズル111を有する。噴射方法とは、クーラントノズル111の方向(または方向を規定する噴射目標位置142)、クーラント112の噴射圧、クーラントの拡散レベル、クーラントノズル111の動かし方、およびクーラント112の脈流の有無の少なくともいずれか1つを含む。拡散レベルとは、クーラント112が到達する領域の形状または面積で定義される。クーラントノズル111の動かし方とは、噴射されたクーラント112の軌跡である。ここでは例示的に切屑の排出のために噴射する流体をクーラントとしたが、切屑を動かすことのできる流体であれば、空気や水など、いかなる流体でも適用可能である。
【0012】
カメラ102は、工作機械100内部を撮像することにより機内画像を取得する撮像部である。カメラ102は、機内の天井付近に固定されたカメラでもよいが、自動工具交換装置(Automatic Tool Changer:ATC)により工具同様に主軸に着脱可能なカメラでもよい。さらにカメラ102は、機内天井に取り付けられたレール(不図示)に沿ってスライド移動可能な構成でもよい。ここでは、撮像装置の一例としてカメラ102を設けたが、例えばラインスキャナやX線撮影装置などを設けてもよい。
【0013】
切屑検出部103は、カメラ102によって撮像された機内画像に基づいて、工作機械100の内部に存在する清掃対象物としての切屑110の位置141を検出する。具体的には、機内画像を小領域に分割(メッシュ化)し、部分領域ごとに、切屑110の有無を判定する。切屑検出部103は、切屑110の位置以外に、切屑の大きさ、切屑の量、切屑の形状、切屑の種類またはこれらの組み合わせ等のように、切屑に関する様々な情報を検出してもよい。例えば、切屑の洗浄のし易さを示す「クラス」を判定してもよい。
【0014】
切屑検出部103は、撮影画像の特徴量を抽出する。切屑検出部103が抽出する特徴量は、撮像画像の情報量、周波数成分、コントラスト、および輝度の分布のうち少なくともいずれか1つを含む。切屑検出部103は、撮影画像の特徴量を抽出し、切屑検出に使える画像か否か判定する。
【0015】
導出部104は、切屑位置と、過去に噴射した流体の噴射方法と、流体噴射後の切屑位置の変化とを教師データとして機械学習することにより生成された噴射方法モデル107を用いて、切屑位置から予測される、流体を噴射すべき噴射方法を導出する。導出部104は、例えば、クーラントの噴射目標位置142の切屑位置141からの補正量Cを、切屑位置141に応じて導出してもよい。クーラント112は、ノズル111から噴射された後、放物線を描いて、到着位置143に達する。切屑110をシュータ120に向けて移動させるためには、クーラント112を、切屑110に直接ぶつけるのではなく、切屑110の図中左側の到着位置143に到着させてシュータ120への流れを生成するべきである。そこで、そのような噴出後のクーラント112の挙動およびクーラント到着後の切屑への影響を考慮して、噴射目標位置142を定める。導出部104は、切屑位置141だけでなく切屑量に応じて、噴射方法を導出してもよい。例えば、切屑量が多ければ、まず切屑位置に直接クーラント112をぶつけて、切屑を分散させ、その後、切屑位置141からずれた位置に噴射目標位置142を定めてもよい。
【0016】
噴射方法モデル107は、過去に噴射したクーラント112の噴射方法と、クーラントノズル111と切屑位置141との水平距離と、流体噴射後の切屑位置の変化とを教師データとして、機械学習により生成されたモデルである。流体噴射後の切屑位置141の変化は、クーラント112の噴射前後の撮像画像を比較することにより導かれる。つまりクーラント112の噴射前後で、ターゲットとなる切屑の位置がどのように変化しているかを判定し、その変化量が所定値を超えており、変化方向がシュータ120の方向であれば、高いスコアとなる。
【0017】
クーラント噴射部101は、ノズル111を2つ以上備えてもよく、導出部104は、噴射方法として、その2つ以上のノズルのそれぞれの最適方向をそれぞれの切屑位置141ごとに導出してもよい。
【0018】
制御部105は、クーラントポンプ106を制御しつつ、クーラントポンプ106の動きに連動して、カメラ102の撮影を制御する。制御部105は、クーラントポンプ106を制御してクーラント112の噴射を停止させた後、カメラ102を制御して撮像を行い、撮像後にクーラントを再度噴射するようにクーラントポンプ106を制御する。
【0019】
また、制御部105は、加工プログラム(Gコード)やユーザ操作に従い、切屑検出のための撮影を行なうタイミングか否かを判定する。例えば、ランニング中における加工の切れ目(ワークの別の面を削るタイミング)や、ATCによる工具の取替タイミングなどや、ユーザからの指示があったタイミングがこれに当たる。
【0020】
制御部105は、カメラ102の撮影画像を解析した結果に基づいて、クーラント噴射部101を制御し、効果的かつ効率的に、切屑にクーラントを噴射する。
【0021】
なお、導出部104は、噴射方法モデル107を用いずに、補正量Cを、切屑位置141に応じて導出してもよい。例えば、導出部104は、切屑位置141と補正量Cとを対応付けて記憶する記憶部と、クーラント噴射後の切屑位置141の変化に応じて、記憶部に記憶された補正量Cを更新する更新部と、を有してもよい。ここで、補正量Cとは、クーラントノズル111の方向を示すベクトルが工作機械の底面
と平行な平面(底面自体を含む)とぶつかる位置を噴射目標位置142とした場合、噴射目標位置142と切屑位置141との差分であり、平面距離である。噴射目標位置142と切屑位置141は、工作機械100の底面におけるXZ平面上の位置で定義することができる。ただし、補正量Cの定義はこれに限定されるものではなく、例えばクーラントノズル111の方向と、クーラントノズル111の位置と切屑位置とを結ぶ方向とがなす角度であってもよい。導出部104は、補正量Cを、クーラントノズル111の位置と切屑位置141との距離に応じて導出してもよい。クーラントノズル111そのものを移動できる構成の場合、導出部104は、クーラントノズル111の移動速度を加味して、補正量Cを導出してもよい。
【0022】
導出部104は、補正量Cを、さらにクーラント噴射部101によるクーラント112の噴射圧に応じて導出してもよい。例えば、クーラント112の噴射圧が高ければ、噴射目標位置142と、クーラントの到着位置143との差分が小さくなるので、補正量Cが小さくなるように導出すればよい。
【0023】
また、
図2に示すように、切屑位置141が壁201に近い場合には、壁201に向けて噴射され、反射したクーラント112が、切屑110をシュータ120に移動させるように、導出部104が、補正量Cを導出する。同様に、
図3に示すように、切屑110が工作機械100のコーナー301に固まっている場合には、クーラント112がコーナー301に向けて噴射され、反射したクーラント112が切屑110をシュータ120に移動させるように、導出部104が、補正量Cを導出する。
【0024】
導出部104は、さらに、切屑位置141に基づいて、クーラント112の噴射圧を導出してもよい。具体的には、切屑位置141がクーラントノズル111から遠ければ、強い噴射圧を導出し、近ければ弱い噴射圧を導出してもよい。制御部105は、導出した噴射圧でクーラント112を噴射するようにクーラント噴射部101を制御する。
【0025】
導出部104は、さらに、切屑位置141に応じて、クーラント112の拡散レベルや動かし方を導出してもよい。例えば、
図4の左図に示すように、導出部104および制御部105は、切屑位置141が壁401に沿って広がって分布している場合、クーラント112の到達位置が壁401に沿ってジグザグに往復動するようにクーラントノズル111を動かして、切屑110を壁から離れるように制御してもよい。また例えば、
図4の右図に示すように導出部104および制御部105は、切屑位置141が壁401に沿って広がって分布している場合、クーラント112が壁401に沿って広範囲に拡散するように噴射させて、切屑110を壁から離れるように制御してもよい。
【0026】
制御部105は、クーラントポンプ106を制御しつつ、クーラントポンプ106の動きに連動して、カメラ102の撮影を制御する。制御部105は、クーラントポンプ106を制御してクーラント112の噴射を停止させた後、カメラ102を制御して撮像を行い、撮像後にクーラントを再度噴射するようにクーラントポンプ106を制御する。
【0027】
制御部105は、例えば、ATC(Auto Tool Changer)による工具の取替タイミングに合わせて、クーラントポンプ106をオフにしてクーラント112の噴射を停止させ、その停止時間に合わせて切屑の撮影を行う。
【0028】
図5は、切屑検出部103の内部構成を説明するためのブロック図である。切屑検出部103は、演算処理部501とストレージ502とタッチパネル503とを備える。
【0029】
演算処理部501は、各種の演算処理を実行し、各種の機能を実現する。ストレージ502は、各種のデータを記憶するとともに、演算処理部501が演算処理を行う際のワーキングエリアとして機能する。具体的に、ストレージ502は、切屑検出プログラム521と、判定用パラメータ523と、判定結果524と、洗浄条件525と、洗浄回数526と機内画像527とを記憶する。ここでは切屑検出部103の内部にストレージ502を設けているが、外部サーバに用意されたストレージから、ネットワークを介して切屑検出部103に各種データが提供されてもよい。
【0030】
タッチパネル503は、ユーザからの指示入力を受け付ける入力機能と、切屑の判定結果等を表示する表示機能とを備える。
【0031】
切屑検出プログラム521は、学習・推論モデルに判定用パラメータ523を適用してなる切屑判定モデル522を採用する。判定用パラメータ523は、切屑を検出するためのパラメータであり、部分画像と切屑に関する情報を教師データとして用いて、学習・推論モデルに事前学習させて得られる。
【0032】
判定用パラメータ523は、複数の異なるメッシュサイズごとに記憶されている。また、ストレージ502には、切屑判定モデル522の学習効率等の特性を左右する学習パラメータ(不図示)が別途記憶されている。
【0033】
判定結果524は、機内画像527をメッシュに分割した部分画像のそれぞれ(メッシュエリアに対応)について切屑検出プログラムを実行した結果である。
【0034】
切屑判定モデル522は、
図6に示すように、判定結果524として、部分画像601ごとに、切屑の洗浄のし易さを示す「クラス」を導き出す。この「クラス」は、切屑の量、密集度合、大きさ、長さ、形状等を総合的に勘案して決定される。具体的には、切屑が少ない、散在している、小さい、短い、引っ掛かり難い等のように、洗浄し易い状態であるほど低いクラスとし、切屑が多い、密集している、大きい、長い、引っ掛かり易い等のように、洗浄し難い状態であるほど高いクラスとして分類される。クラスごとに、そのクラスの確率が判定結果524として記憶される。例えば、切屑がない「クラス0」と、切屑が少ない「クラス1」と、切屑が多い「クラス2」の3クラスが設定されている場合、部分画像601ごとに、「クラス0」である確率P0と、「クラス1」である確率P1と、「クラス2」である確率P2とが記憶される。なお、判定結果524は、クラスごとの確率に限定されるものではなく、最も確率の高いクラスを単純に判定結果として記憶してもよい。
【0035】
図5に戻り、洗浄条件525は、切屑の洗浄が必要か否かを判定するための条件である。洗浄条件525として、各部分画像の位置とクラスごとの確率と、を組み合わせた条件が設定されている。例えば、上述した3クラスが設定されている場合には、以下のような洗浄条件(1)〜(4)を降順に評価することにより、効率的で高性能な洗浄判定アルゴリズムが実現される。(1)P0,P1,P2のうち、最大値がP2である:洗浄する(2)P1+P2≧99%である:洗浄する(3)メッシュエリアがテーブル12上であり、かつ、P1+P2≧P0である:洗浄する(4)上記条件(1)〜(3)に該当しない:洗浄しない
例えば、上述した最も単純化された2クラスが設定されている場合は、メッシュエリアの位置に関わらず、クラス0(切屑なし)であれば洗浄せず、クラス1(切屑あり)であれば洗浄する、という洗浄条件を設定してもよい。
【0036】
例えば、洗浄回数526は、機内を連続して洗浄した回数である連続洗浄回数と、各メッシュエリアを連続して洗浄した回数である局所連続洗浄回数とを含む
演算処理部501は、例えばCPU(Central Processing Unit)によって構成されている。演算処理部501は、切屑検出プログラム521を実行することにより、駆動制御部511、撮像制御部512、メッシュ分割部513、切屑判定部514、洗浄処理部515、ティーチング処理部516、追加学習部517およびクーラント制御部518として機能する。
【0037】
駆動制御部511は、カメラ102としてATCカメラを使用する場合、自動工具交換装置(Automatic Tool Changer:ATC)を制御し、工具をATCカメラに交換させる。
【0038】
撮像制御部512は、あらかじめ設定した撮影タイミングでカメラ102に撮影制御信号を出力し、機内画像527を取得してストレージ502に記憶する。撮影タイミングは、工程と工程との間、工具交換時、一定時間間隔、所定の加工量に達したタイミング等である。
【0039】
メッシュ分割部513は、機内画像を複数の部分画像に分割処理する。これにより、切屑の検出を簡単化かつ高精度化することができる。
【0040】
切屑の外形を構成するエッジ(稜線)は、比較的複雑で不規則である。当該特徴は、多数の切屑が堆積して折り重なり、個々の形状が認識できないような状態においても失われることがない。一方、切屑の背景となるワークや治具については、一般的に、切屑のような不規則性はない。そこで、メッシュ分割部513は、切屑、ワークおよび治具の各サイズに基づいて、決定されたサイズの部分画像に分割する。これより、ワークや治具のエッジ形状と切屑とが識別しやすくなり、誤検出が低減される。メッシュは碁盤目状に限定されるものではなく、菱形、三角形、ハニカム形状等であってもよい。また、機内画像の全てを部分画像に分割する必要はなく、切屑の検出が必要なエリアのみを分割してもよい。
【0041】
切屑判定部514は、各部分画像に対して、ノイズの除去処理や、画像サイズの変換処理等のような、判定精度を向上させるための前処理を実行する。その後、切屑判定部514は、部分画像のそれぞれについて、切屑検出プログラム521を実行することにより、切屑判定モデル522を用いて切屑の有無を判定し、判定結果524を保存する。
【0042】
切屑判定部514は、例えば、環境変化に比較的強いディープラーニング手法のうち、とりわけ画像のクラス分類に特化したモデルである畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いる。ただし、これに限定されるものではなく、他の機械学習アルゴリズムを用いてもよい。
【0043】
例えば、サポートベクターマシン(SVM:support vector machine)等のように、画像ではない入力データを用いる機械学習アルゴリズムを使用する場合、部分画像に対してフィルタ処理等を実行し、各部分画像が有する形状特徴量を算出する。そして、当該形状特徴量を学習済の切屑判定モデルに入力することにより、部分画像のそれぞれについてクラスを判定してもよい。さらに決定的アルゴリズムのような非機械学習アルゴリズムを使用してもよい。例えば、部分画像は、切屑が多いほど複雑になり、高い画像周波数成分が多くなる傾向がある。そこで、切屑判定部514は、高速フーリエ変換(Fast Fourier Transform:FFT)等の周波数解析を実行し、各部分画像のスペクトル統計量を判定用パラメータとを比較して、クラスを判定してもよい。ただし、高速フーリエ変換は環境依存度が高く、部分画像内に切屑以外の小さなネジ穴や、クーラントの飛沫等が撮像されていると、高周波成分が多くなり、誤判定しやすくなる。このため、切屑がない状態でのエリア全体画像をあらかじめ用意しておき、これと判定対象であるエリア全体画像との差分画像をメッシュ分割し、高速フーリエ変換することにより、環境依存成分を排除してもよい。
【0044】
洗浄処理部515は、部分画像のそれぞれについて、切屑の洗浄が必要か否かを判定し、クーラントポンプ106を駆動して洗浄を行なう。洗浄処理部515は、記憶されている洗浄条件525と、各部分画像の判定結果524とを比較する。そして、洗浄条件525を満たす部分画像については洗浄が必要と判定する。洗浄処理部515は、洗浄が必要と判定すると、クーラント噴射部101を制御して切屑の洗浄を行わせる。洗浄処理部515は、洗浄が必要と判定された部分画像に対応するメッシュエリアの位置(工作機械100内における実際の位置)を算出し、当該メッシュエリアに向けて、クーラント噴射部101から洗浄液を噴射させる。
【0045】
なお、メッシュエリアの位置は、例えば、エリア全体画像を格納する画像メモリ(図示せず)を工作機械100内の座標系に対応させておくことにより、特定することができる。クーラント噴射部101はプログラマブルなクーラントノズル111を用いて、噴射方向を変えながら、洗浄が必要と判定された全てのメッシュエリアに対してクーラントを噴射する。
【0046】
洗浄処理部515は、洗浄動作を実行するたびに、洗浄回数526を更新し、洗浄回数526が、所定の閾値未満の場合には洗浄を実施する。一方、洗浄回数526(連続洗浄回数および局所連続洗浄回数のうち少なくとも一方)が、所定の閾値に到達した場合には、所定の異常時処理を実行する。
【0047】
異常時処理は、自動洗浄動作がいつまでも終了しない事態を回避するための処理であれば特に限定されるものではなく、例えば、工作機械100の運転を停止するとともにアラームを報知してもよい。あるいは、閾値に到達した旨を記録、通知するとともに、そのメッシュエリアの洗浄はあらかじめユーザが設定した「洗浄中断期間」だけ中断し、他のメッシュエリアの洗浄や工作機械100の運転は継続してもよい。なお、洗浄回数526の閾値は、ユーザによって設定可能に構成されている。洗浄回数526が所定の閾値に達した場合には、その位置の切屑に対して選択された噴射方法(補正量Cや噴射圧や拡散レベル、動かし方など)が誤っている可能性がある。この場合には、他の噴射方法を試すことにより、噴射方法モデル107を更新してもよい。
【0048】
ティーチング処理部516は、各部分画像の判定結果524をストレージ502から読み出し、タッチパネル503に表示させる。具体的には、各部分画像を判定結果が識別可能な態様(例えば異なる判定結果ごとに異なる色)で表示する。例えば、クラス0(切屑なし)の判定確率P0、およびクラス1(切屑あり)の判定確率P1の値によって、以下に示す4グループに分類され、異なる色でマスクされる。
【0049】
グループ1:P1が0〜30%(P0が70〜100%):赤色
グループ2:P1が30〜50%(P0が50〜70%):青色
グループ3:P1が50〜70%(P0が30〜50%):緑色
グループ4:P1が70〜100%(P0が0〜30%):黄色
画像から判定結果を確認したユーザは、誤って判定されている任意の部分画像をタッチ選択し、正しい判定結果(別の色)を入力することができる。例えば、グループ2に色分けされている部分画像を、グループ1に、グループ3に色分けされている部分画像をグループ4に分類するなど、といった変更を行なうことができる。ティーチング処理部516は、ユーザによる判定結果の変更入力に応じて、判定結果524を訂正する。
【0050】
追加学習部517は、新たな教師データを用いて追加学習を行う。追加学習部517は、ティーチング処理部516によって訂正された判定結果(ユーザによる正しい切屑検出結果)を教師データとして、切屑判定モデル522に追加学習を実行させる。そして、追加学習の結果に応じて判定用パラメータ523を更新する。追加学習部517をネットワーク上の学習サーバに教師データをアップロードして追加学習させ、得られた判定用パラメータで切屑判定モデル522を更新してもよい。追加学習部517は、ティーチングモードの終了後、所定のタイミングでバックグラウンドで追加学習を開始し、訂正された判定結果を反映させた判定用パラメータを生成し更新するとともに、切屑判定モデル522を更新する。
【0051】
クーラント制御部518は、制御部105を介してクーラントポンプ106を制御する。具体的には、機内の状況をそのまま撮像してタッチパネル503に表示する観察モードや、切屑検出部103で切屑を検出する切屑検出モードでは、クーラントポンプ106をオフにする。
【0052】
以上、本実施形態によれば、クーラントの噴射方法を学習することで効果的に切屑を除去することが可能となる。
【0053】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【0054】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるサーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。
【解決手段】より効率的に切屑を除去する工作機械であって、流体の噴射方向を制御可能なノズルを備えた流体噴射部と、工作機械の内部を撮像する撮像部と、撮像部から取得した撮像画像に基づいて工作機械内部の切屑位置を検出する切屑検出部と、流体の噴射目標位置の切屑位置からの補正量を、切屑位置に応じて導出する導出部と、補正量を用いて、ノズルによる流体の噴射方向を制御する制御部と、を備えた工作機械を提供する。