(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
切削条件は、主軸出力や剛性等の機械特性や、ワークの材質や加工種類等の加工条件による部分が大きいが、カタログ本や工具選定ツールにより提供される情報は汎用的なものであるため、加工に使用する機械や加工条件に合致した条件を導出するには何度も試し加工を行い、その加工結果を検証する必要があり、これには時間と手間がかかる。また、切削条件を調整すると、これに伴い加工プログラムあるいは工具データの修正もする必要があり、この操作にも時間を要する。更に、サイクルタイムを重視した運転か、加工精度や工具寿命を重視した運転かによって、切削条件の調整が更に必要となる。
【0006】
一方、特許文献1に開示される技術では、切削条件を決定することは可能であっても、その切削条件はある工具を用いた加工において利用可能なものであり、加工の目的に合わせて更に適切な工具を選定してくれるものではない。
【0007】
そこで本発明の目的は、適切な工具の選定及び切削条件の決定を行うことが可能な工具選定装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【0008】
本発明の工具選定装置は、加工条件(ワーク材質、加工種類、切込量、切削幅)と運転の要求仕様(速度、精度、工具寿命)を満たす主軸負荷のピーク値に対し、最適な工具および切削条件(回転数、送り速度)を導出する仕組みを機械学習を用いて実現する。加工プログラムや工具データは、上記の仕組みで導出された工具、切削条件に応じた内容に自動で書換えられる。
【0009】
作業者は、段取工程で加工プログラムやワーク情報を入力した時点で、上記仕組みを用いることで、試運転および加工プログラムと工具データの変更操作を行うことなく、加工に即した工具選定および切削条件の設定を行うことができる。
【0011】
本発明の他の態様は、指定された条件の下でワークの加工に使用可能な工具種別を選定する工具選定装置であって、指定された条件に対してワークの加工に使用可能な工具種別を学習した機械学習装置を備え、前記機械学習装置は、加工条件に係るデータ、切削条件に係るデータ、及び加工結果に係るデータを、環境の現在状態を表す状態変数として観測する状態観測部と、加工に用いられた工具に係るデータに対する、加工条件に係るデータ、切削条件に係るデータ、及び加工結果に係るデータの分布を学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記状態変数により指定された条件の下で使用可能な工具種別
と、前記工具種別において指定可能な切削条件を判定して出力する判定部と、を備える工具選定装置である。
【0013】
本発明の他の態様は、指定された条件に対してワークの加工に使用可能な工具種別を学習した機械学習装置であって、加工条件に係るデータ、切削条件に係るデータ、及び加工結果に係るデータを、環境の現在状態を表す状態変数として観測する状態観測部と、加工に用いられた工具に係るデータに対する、加工条件に係るデータ、切削条件に係るデータ、及び加工結果に係るデータの分布を学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記状態変数により指定された条件の下で使用可能な工具種別
と、前記工具種別において指定可能な切削条件を判定して出力する判定部と、を備える機械学習装置である。
【発明の効果】
【0014】
本発明により、機械特性、加工条件、運転で重視する点(速度、精度、工具寿命)といった現場の用途に合致した工具選定および切削条件の導出と適用が容易に行えるようになり、段取り工程にかかる時間の短縮に繋がる。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による工具選定装置の要部を示す概略的なハードウェア構成図である。工具選定装置1は、工作機械等の機械を制御する制御装置として実装することができる。また、工具選定装置1は、機械を制御する制御装置と併設されたパソコンや、制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。
図1は、工作機械を制御する制御装置として工具選定装置1を実装した場合の例を示している。
【0017】
本実施形態による工具選定装置1が備えるCPU11は、工具選定装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って工具選定装置1全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【0018】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、工具選定装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた加工プログラムや表示器/MDIユニット70を介して入力された加工プログラム、工具選定装置1の各部や工作機械から取得された各種データ(例えば、作業者により入力された加工条件(ワーク材質、加工種類、切込量、切削量)、工具情報、切削条件(主軸回転数、送り速度)、該切削条件による加工時の主軸負荷等)が記憶される。不揮発性メモリ14に記憶された加工プログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラム(後述する機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
【0019】
インタフェース15は、工具選定装置1とアダプタ等の外部機器72と接続するためのインタフェースである。外部機器72側からはプログラムや各種パラメータ等が読み込まれる。また、工具選定装置1内で編集したプログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、工具選定装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0020】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
【0021】
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。
【0022】
スピンドル制御回路60は、製造機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、製造機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0023】
インタフェース21は、工具選定装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介して工具選定装置1で取得可能な各情報(例えば、作業者により入力された加工条件(ワーク材質、加工種類、切込量、切削量等)、工具情報、切削条件(主軸回転数、送り速度)、動作状態(加工時の主軸負荷等)等)を観測することができる。また、工具選定装置1は、機械学習装置100から出力される工具選定と切削条件の提案を表機器/MDIユニット70に表示し、表示を確認した作業者の選択に基づいて工具選定及び切削条件の設定(加工プログラムの修正、工具データの設定等)を行う。
【0024】
図2は、第1の実施形態による工具選定装置1と機械学習装置100の概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示した工具選定装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、工具選定装置1及び機械学習装置100の各部の動作を制御することにより実現される。
【0025】
本実施形態の工具選定装置1は、不揮発性メモリ14に記憶された加工プログラムや加工条件、切削条件等の設定に基づいて工作機械2が備えるサーボモータ50やスピンドルモータ62等のモータ、及び図示しない工作機械2の周辺機械の制御を行う制御部34と、機械学習装置100が加工に使用可能であると判定した工具種別やその他の条件を表示器/MDIユニットへ表示し、作業者が選定した工具種別やその他の条件を加工に用いる情報として設定する工具選定部36とを備える。
【0026】
一方、工具選定装置1が備える機械学習装置100は、加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)、加工結果に係るデータ(加工時の主軸負荷等)、切削条件に係るデータ(主軸回転数、送り速度)に対する工具に係るデータの学習、及び、入力された加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)、切削条件に係るデータ(主軸回転数、送り速度)、加工結果に係るデータ(加工時の主軸負荷、加工精度等)に対する工具に係るデータの判定を、いわゆる機械学習により自ら学習するためのソフトウェア(学習アルゴリズム等)及びハードウェア(プロセッサ101等)を含む。工具選定装置1が備える機械学習装置100が学習するものは、加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)、切削条件に係るデータ(主軸回転数、送り速度)、加工結果に係るデータ(加工時の主軸負荷、加工精度等)に対する工具に係るデータの相関性を表すモデル構造に相当する。
【0027】
図2に機能ブロックで示すように、工具選定装置1が備える機械学習装置100は、加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)を含む加工条件データS1、切削条件に係るデータ(主軸回転数、送り速度)を含む切削条件データS2、加工結果に係るデータ(加工時の主軸負荷、加工精度等)を含む加工結果データS3、工具に係るデータを含む工具データS4を含む状態変数Sを観測する状態観測部106と、状態変数Sを用いて、加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)、切削条件に係るデータ(主軸回転数、送り速度)、加工結果に係るデータ(加工時の主軸負荷等)に対して工具に係るデータを関連付けて学習する学習部110と、学習部110が学習した学習済みモデルを用いて加工条件に係るデータ(ワーク材質、加工種類、切込量、切削量等)、切削条件に係るデータ(主軸回転数、送り速度)、加工結果に係るデータ(加工時の主軸負荷、加工精度等)に対する工具に係るデータを判定する判定部122を備える。
【0028】
状態観測部106が観測する状態変数Sのうち、加工条件データS1は、工作機械2における加工時に作業者が設定した加工条件として取得することができる。加工条件は、例えば加工対象となるワークの材質、リジットタップ加工やエンドミル加工等といった加工の種類、工具のワークに対する切込量や切削量等を含んでいても良い。状態観測部106は、工作機械2乃至制御装置に入力された加工条件や、加工プログラム内に設定されている加工条件を加工条件データS1として観測する。
【0029】
状態観測部106が観測する状態変数Sのうち、切削条件データS2は、工作機械2における加工時に作業者が設定した切削条件として取得することができる。切削条件は、例えば主軸回転数、送り速度等を含んでいても良い。状態観測部106は、工作機械2乃至制御装置に入力された切削条件や、加工プログラム内に設定されている切削条件を切削条件データS3として観測する。
【0030】
状態観測部106が観測する状態変数Sのうち、加工結果データS3は、工作機械2に取付けられた工具(工具データS4として観測される)を用いて、設定された加工条件(加工条件データS1として観測される)、切削条件(切削条件データS2として観測される)の元で行われたワークの加工時に工作機械2(又は工作機械2に取付けられたセンサ等)で検出された送り軸負荷や主軸負荷等の最大値や、加工されたワークの設計との寸法誤差を示す加工誤差等として取得することができる。加工結果データS3は、行われた加工において加工不良や工作機械2の故障、工具の折損等の原因となる物理量を検出した値や、加工の結果を評価するデータや作業者の入力値等を用いることができる。
【0031】
状態観測部106が観測する状態変数Sのうち、工具データS4は、工作機械2における加工時に用いられる工具に係る情報として取得することができる。工具に係る情報は、例えば工具種別を一意に特定できる情報(例えば、工具の型番)を含んでいても良く、必要に応じて、工具のメーカ、工具の材質(硬度)等を含んでいても良い。工具に係る情報は、主に作業者により入力されたデータや、セルコンピュータ等の上位装置により設定された加工の指示に含まれるデータ等を用いることができる。
【0032】
学習部110は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数S(加工条件データS1、切削条件データS2、加工結果データS3、工具データS4)に基づくクラスタ分析を行ない、該クラスタ分析により作成されたクラスタを学習済みモデルとして記憶(学習)する。学習部110は、ワークの加工が正常に行われた際に取得された所定数の状態変数S(加工条件データS1、切削条件データS2、加工結果データS3、工具データS4)に基づいてクラスタを作成する。クラスタの作成に使用する状態変数Sは、例えば工場に配置される工作機械2から有線/無線のネットワークを介して取得されて蓄積されたデータ(ビッグデータ)を用いるようにしても良い。このような学習を行うことにより、学習部110は、工具種別(工具データS4)毎の、加工条件(加工条件データS1)、切削条件(切削条件データS2)、及び工作機械2の動作状態(加工結果データS3)の分布をクラスタ集合として解析する。
【0033】
図3は、学習部110が生成するクラスタ集合の例を示す図である。なお、
図3では、説明を簡単にするために、データが分布する空間を3次元とし、各軸を切込み量(加工条件データS1)、切削速度(切削条件データS2)、主軸負荷(加工結果データS3)としているが、実際には状態変数Sとして取得した(工具種別(工具データS4)を除く)データ項目を各軸とした多次元空間上にデータが分布することになる。
図3に例示するように、学習部110は、少なくとも工具種別毎に異なるクラスタを作成する。
図3に示すように、学習部110が作成するクラスタは、工具種別毎に、加工条件、切削条件に対する動作状態の分布の傾向を示す。即ち、それぞれのクラスタは、所定の工具を用いた場合において、設定された加工条件(切込み量)及び切削条件(切削速度)で加工を行った時の動作状態(主軸負荷)の傾向を示すこととなる。このクラスタは、判定部122が、例えば加工条件、切削条件、動作状態の制約が与えられた時の工具の選定の判定をする際に利用される。
【0034】
判定部122は、学習部110がワークの加工が正常に行われた際に取得された状態変数S(加工条件データS1、切削条件データS2、加工結果データS3、工具データS4)に基づいて学習した学習済みモデル(工具種別(工具データS4)毎の、加工条件(加工条件データS1)、切削条件(切削条件データS2)、及び工作機械2の動作状態(加工結果データS3)のクラスタ)と、新たに観測(入力)された加工条件データS1、切削条件データS2、及び加工結果データS3とに基づいて、何れの工具を用いるのが適切であるのかを判定する機能手段である。
図3を例として判定部122の動作を説明すると、ワークの加工が正常に行われた場合のクラスタが作成されている状態で、新たに加工条件データS1、切削条件データS2、及び加工結果データS3が観測(入力)されると、判定部122は、当該データと、各工具種別毎のクラスタとの関係を解析し、新たに入力された状態変数Sが属するクラスタに対応する工具種別を、指定された条件で使用可能な工具種別であると判定する。なお、ここで入力される状態変数Sは、所定の範囲を伴っていても良い。例えば、加工結果データS3として、主軸負荷がL
1以下であることが主軸負荷の条件として入力された場合には、その範囲に掛かる全てのクラスタに対応する工具種別を、指定された条件で使用可能な工具種別であると判定するようにしても良い。
【0035】
判定部122は、単純に工具種別を判定するだけでなく、新たに観測(入力)された加工条件データS1、切削条件データS2、及び加工結果データS3のクラスタ空間上の位置が、それぞれのクラスタの中心からの距離、又は、新たに観測(入力)された加工条件データS1、切削条件データS2、及び加工結果データS3の位置における、それぞれのクラスタのクラスタ密度に基づいて、指定された条件で使用する工具種別の優先度を判定するようにしても良い。
【0036】
更に、判定部122は、新たに加工条件データS1、切削条件データS2、及び加工結果データS3が観測(入力)に対して使用可能な工具種別を判定した後に、該工具種別の工具を用いて加工する際に設定可能な加工条件乃至切削条件の範囲を判定するようにしても良い。例えば、使用可能な工具種別を判定した後に、該工具種別のクラスタにおける指定されたか好結果(主軸負荷等)を保てる範囲での切削速度の最大値を判定するようにしても良い。
【0037】
上記したように、指定された加工条件、切削条件、及び望まれる加工結果で正常に加工を行うことができる工具種別を演算や目算によらずに自動的に判定することができれば、作業者は必要な加工条件、切削条件、及び望まれる加工結果を入力するだけで(あるいは、CAD/CAM等から読み込ませることで)、適切な工具の選定を迅速に判断することができるようになる。
【0038】
そして、判定部122により判定された工具選定部36へと出力される。工具選定部36は、指定された条件の下で使用可能な1乃至複数の工具種別を表示器/MDIユニット70へと表示し、作業者が表示器/MDIユニット70を操作して選定した工具種別を加工に使用する工具として不揮発性メモリ14内に記憶された加工プログラム等に設定する。工具選定部36は、判定部122がそれぞれの工具種別の工具を用いて加工する際に設定可能な加工条件乃至切削条件の範囲を判定している場合には、その加工条件乃至切削条件の範囲も併せて表示し、作業者が指定した加工条件乃至切削条件を変更するか入力を促すようにしても良い。作業者が指定した加工条件乃至切削条件は、工具選定部36により不揮発性メモリ14内に記憶された加工プログラム乃至不揮発性メモリ14上に設けられた設定領域等に設定される。
【0039】
図4は、工作機械2を備えた一実施形態によるシステム80を示す。システム80は、同一の機械構成を有する複数の工作機械2と、それら工作機械2を互いに接続するネットワーク82とを備え、複数の工作機械2のうち少なくとも1つが、上記した工具選定装置1を備える工作機械2として構成される。工作機械2は、ワークの加工に必要とされる一般的な工作機械が備える構成を有する。
【0040】
上記構成を有するシステム80は、複数の工作機械2のうちで工具選定装置1を備える工作機械2が、学習部110の学習結果を用いて、工作機械2(工具選定装置1を含まない工作機械2を含む)において指定された加工に係る各条件に対して、該工作機械2において指定された条件の下で使用可能な工具種別を自動的に、しかも正確に求めることができる。また、少なくとも1つの工作機械2の工具選定装置1が、他の複数の工作機械2のそれぞれについて得られた状態変数Sに基づき、全ての工作機械2に共通する学習を行い、その学習結果を全ての工作機械2が共有するように構成できる。したがってシステム80によれば、より多様なデータ集合(状態変数Sを含む)を入力として、工作機械2から検出される各データの学習の速度や信頼性を向上させることができる。
【0041】
図5は、工作機械2を備えた他の実施形態によるシステム80を示す。システム80は、工作機械2(の制御装置)とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータの上に配置された機械学習装置100と、同一の機械構成を有する複数の工作機械2、及び工作機械2の制御装置として実装された工具選定装置1’、工作機械2(の制御装置)と機械学習装置100とを互いに接続するネットワーク82とを備える。なお、
図5に例示される形態では、工具選定装置1’は、
図2で説明した不揮発性メモリ14、制御部34、工具選定部36を備えている。
【0042】
上記構成を有するシステム80は、機械学習装置100が、複数の工作機械2のそれぞれについて得られた状態変数S(及びラベルデータL)に基づき、全ての工作機械2に共通する学習を行う。そして、機械学習装置100の学習結果を用いて、工作機械2から指定された条件の下で使用可能な工具の選定と切削条件の提案を該工作機械2が備える工具選定装置1’へと送信する。そして、工具選定装置1’では、機械学習装置100から受けた工具の選定と切削条件の提案に基づいた工作機械2で使用する適切な工具選定及び切削条件の設定をすることができるようになる。この構成によれば、複数の工作機械2のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の工作機械2を工具選定装置1に接続することができる。
【0043】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【0044】
例えば、機械学習装置100が実行する学習アルゴリズム、機械学習装置100が実行する演算アルゴリズム、工具選定装置1が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。