以下に、本発明の実施の形態にかかる機械学習装置、ワイヤ放電加工システム、および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、実施の形態にかかる機械学習装置を備えたワイヤ放電加工システムの構成を示す図である。図2は、実施の形態にかかる機械学習装置の構成を示す図である。図2では、機械学習装置40と、ワイヤ放電加工機10が備える制御装置20とを図示している。
ワイヤ放電加工システム1は、ワイヤ放電加工機(ワイヤカット放電加工機)10と、機械学習装置40とを備えている。なお、機械学習装置40は、ワイヤ放電加工機10内に配置されてもよい。
ワイヤ放電加工機10は、被加工物の孔または溝に挿入したワイヤ電極を放電させることによって被加工物を加工する。ワイヤ放電加工機10は、制御装置20と、ワイヤ供給装置30とを備えている。ワイヤ供給装置30は、ワイヤ電極の切断および挿入を行うことによって、ワイヤ電極の結線を行う装置である。ワイヤ供給装置30は、ワイヤ電極を結線する際には、被加工物の孔または溝にワイヤ電極を挿入する。また、ワイヤ供給装置30は、ワイヤ電極を結線する際には、ワイヤ電極をノズル(後述する上部ノズル36Aおよび下部ノズル36B)などに挿入する。ワイヤ電極が被加工物の孔または溝に挿入され、かつワイヤ電極がノズルなどに挿入されることで、ワイヤ電極が結線される。ワイヤ電極は、ワイヤ供給装置30の挿入経路の全ての挿入に成功することで結線される。結線は、ワイヤ電極が挿入経路の全ての挿入に成功した結果である。制御装置20は、ワイヤ供給装置30を制御する。なお、以下の説明では、ワイヤ電極の切断および結線を切断結線という場合がある。
機械学習装置40は、ワイヤ供給装置30がワイヤ電極を切断結線する際に用いる制御パラメータを学習することによって制御パラメータの自動調整を行う。制御パラメータは、ワイヤ電極を切断結線する条件を決定するパラメータである。すなわち、制御パラメータは、ワイヤ電極を挿入する条件を決定するパラメータ、およびワイヤ電極を切断する条件を決定するパラメータである。制御パラメータの例は、ワイヤ電極の挿入に用いられるアクチュエータを駆動するための駆動パラメータ、ワイヤ電極を切断する際に用いる電流値(以下、切断電流値という)である。機械学習装置40は、ワイヤ供給装置30によるワイヤ電極の挿入率(挿入の成功率)を向上させるとともに、挿入時間(挿入にかかる時間)を短縮することができる制御パラメータを学習する。これにより、機械学習装置40は、制御パラメータの適正化を行う。
機械学習装置40は、学習した制御パラメータをワイヤ放電加工機10に設定する。機械学習装置40は、目標とする挿入率以上となるまで、制御パラメータの学習を繰り返す。すなわち、ワイヤ放電加工システム1では、ワイヤ供給装置30が機械学習装置40によって学習された制御パラメータを用いてワイヤ電極の切断結線を行う処理と、ワイヤ電極の切断結線が行われた際の情報(後述するログデータ)に基づいて、機械学習装置40が、制御パラメータを学習する処理と、が繰り返される。機械学習装置40が学習し、ワイヤ放電加工機10が用いる制御パラメータは1または複数である。
制御装置20は、ワイヤ供給装置30を含めた駆動部(図示せず)および電源(図示せず)の制御を行う。制御装置20は、初期パラメータ設定部21と、制御パラメータ保持部22と、パラメータ設定部23と、ワイヤ供給制御部24と、制御信号出力部25と、センサ信号入力部26と、ログデータ記憶部27と、データ入力部28とを備えている。
初期パラメータ設定部21は、制御パラメータの初期値を設定する。初期パラメータ設定部21は、何れの方法によって制御パラメータの初期値を設定してもよい。初期パラメータ設定部21は、ユーザからの指示に従って、制御パラメータの初期値を設定してもよいし、予め決められている制御パラメータを、制御パラメータの初期値に設定してもよい。初期パラメータ設定部21は、制御パラメータを制御パラメータ保持部22に格納することによって、制御パラメータを設定する。
制御パラメータ保持部22は、データを記憶するメモリなどである。制御パラメータ保持部22は、初期パラメータ設定部21から送られてくる制御パラメータ(初期値)と、データ入力部28を介して機械学習装置40から送られてくる制御パラメータとを記憶する。
パラメータ設定部23は、制御パラメータ保持部22が記憶している制御パラメータのうち、最新の制御パラメータを読み出して、ワイヤ供給制御部24に設定する。
ワイヤ供給制御部24は、ワイヤ供給装置30を制御する。ワイヤ供給制御部24は、パラメータ設定部23に設定された制御パラメータに基づいて、ワイヤ供給装置30を制御するための制御信号を生成し、制御信号出力部25に送る。また、ワイヤ供給制御部24は、センサ信号入力部26から後述のログデータを受け付けると、このログデータをログデータ記憶部27に格納する。
制御信号出力部25は、ワイヤ供給制御部24から送られてきた制御信号をワイヤ供給装置30に出力する。センサ信号入力部26は、ワイヤ供給装置30に配置されているセンサ(図示せず)が検出した情報を示すセンサ信号を受け付ける。センサは、モータのエンコーダが出力したパルス数などを検出する。ここでのモータは、ワイヤ電極の挿入に用いられるアクチュエータを駆動するためのモータである。エンコーダは、ワイヤ電極を送り込んだ際のパルス数と、引き戻した際のパルス数とを検出して出力する。センサ信号入力部26は、センサ信号のログをログデータとして、ワイヤ供給制御部24に入力する。
ログデータ記憶部27は、ワイヤ供給制御部24から送られてくるログデータを記憶するメモリなどである。ログデータ記憶部27が記憶しているログデータは、機械学習装置40のログデータ取得部41によって読み出される。ログデータ記憶部27は、内蔵メディア、外部USB(Universal Serial Bus)メモリなどである。
データ入力部28は、機械学習装置40のパラメータ出力部48から送られてくる制御パラメータを受け付けて、制御パラメータ保持部22に入力する。ワイヤ放電加工機10は、機械学習装置40から送られてくる制御パラメータ(後述する行動)に従って、ワイヤ電極を切断結線する。すなわち、機械学習装置40から送られてくる行動は、次回ワイヤ電極を切断結線する際に用いられる制御パラメータである。
ワイヤ放電加工機10では、ワイヤ電極を切断結線する際に、パラメータ設定部23が、制御パラメータ保持部22から制御パラメータ読み出して、ワイヤ供給制御部24に設定する。これにより、ワイヤ供給制御部24は、制御パラメータに基づいて、ワイヤ供給装置30を制御する。ワイヤ供給装置30は、制御信号出力部25から送られてくる制御信号に基づいて、制御対象となっている各アクチュエータなどを駆動する。この時、制御装置20は、ワイヤ供給装置30のセンサからセンサ信号を取得する。ワイヤ供給制御部24は、センサ信号を、フィードバック制御に用いるとともに、ログデータとしてログデータ記憶部27に格納する。
機械学習装置40は、ログデータ取得部41と、学習条件設定部42と、ログデータ分割部43と、状態観測部44と、学習部45と、学習完了判定部46と、学習結果記憶部47と、パラメータ出力部48とを備えている。
状態観測部44は、第1状態観測部51と、第2状態観測部52と、第3状態観測部53と、第4状態観測部54とを有している。学習部45は、第1報酬計算部61と、第2報酬計算部62と、第3報酬計算部63と、第4報酬計算部64とを有している。また、学習部45は、第1関数更新部71と、第2関数更新部72と、第3関数更新部73と、第4関数更新部74とを有している。また、学習部45は、第1パラメータ変更部81と、第2パラメータ変更部82と、第3パラメータ変更部83と、第4パラメータ変更部84とを有している。
ログデータ取得部41は、制御装置20のログデータ記憶部27からログデータを読み出すことによって、ログデータを取得する。ログデータ取得部41は、取得したログデータをログデータ分割部43に送る。なお、ログデータ取得部41は、何れの方法でログデータ記憶部27からログデータを取得してもよい。ログデータ取得部41は、例えば、ネットワーク経由でログデータ記憶部27にアクセスし、ログデータを取得してもよい。ログデータは、ワイヤ電極をワイヤ電極の経路に挿入した際の挿入状態を示すデータである。挿入状態例は、ワイヤ電極を挿入経路に挿入した際の挿入結果(挿入の成功または失敗)である。また、挿入状態の他の例は、ワイヤ電極の送り量の算出または挿入時間の算出に用いられるセンサ信号のログである。
ログデータ分割部43は、ログデータを、ワイヤ電極の区間毎のログデータに分割する。ワイヤ電極の挿入に用いられる制御パラメータは、ワイヤ電極の区間毎に異なる。このため、ログデータ分割部43は、効率的な学習をするためにログデータを分割する。本実施の形態では、ワイヤ電極の区間が、第1区間、第2区間、第3区間、および第4区間の4つの区間である場合について説明するが、ワイヤ電極の区間は、3つ以下の区間であってもよいし、5つ以上の区間であってもよい。また、各区間は、何れの位置で分割されてもよい。機械学習装置40は、区間毎に1または複数の制御パラメータを学習する。
ログデータ分割部43は、ログデータを、第1区間のログデータである第1区間ログデータと、第2区間のログデータである第2区間ログデータと、第3区間のログデータである第3区間ログデータと、第4区間のログデータである第4区間ログデータとに分割する。
ログデータ分割部43は、ログデータのうち、モータのエンコーダが出力したパルス数に基づいて、ワイヤ電極の送り量を算出する。ログデータ分割部43は、区間毎にワイヤ電極の送り量を算出する。
ログデータ分割部43は、挿入が失敗している区間に対して送り量を算出する。例えば、ワイヤ電極の第2区間の途中で挿入が失敗している場合、ログデータ分割部43は、ワイヤ電極の第2区間内での送り量を算出する。すなわち、ログデータ分割部43は、算出した送り量を、送り量に対応する区間ログデータに付与する。ログデータ分割部43は、第2区間内での送り量を算出した場合には、第2区間内での送り量を、第2区間ログデータに含める。
また、ログデータ分割部43は、結線に成功したか否かを示すログデータに基づいて、結線に成功したか否かを判定する。また、ログデータ分割部43は、結線に成功していない場合、区間毎の送り量に基づいて、何れの区間で挿入が失敗したかを判定する。ログデータ分割部43は、結線に成功したか失敗したかを、ワイヤ電極の切断結線の処理毎に判定する。例えば、ワイヤ放電加工システム1は、制御パラメータを学習する際に、後述する最大試行回数(特定回数)だけワイヤ電極の切断結線を繰り返し行う。ログデータ分割部43は、各切断結線に対し、結線に成功したか失敗したかを判定する。
また、ログデータ分割部43は、学習完了判定部46から要求があった場合には、結線に成功したか否かの情報、および何れの区間で挿入を失敗したかを示す情報を生成して学習完了判定部46に送る。以下の説明では、結線に成功したか否かの情報、および何れの区間で挿入を失敗したかを示す情報を、結線成否情報という。
また、ログデータ分割部43は、学習完了判定部46から特定区間で学習する指示(学習区間指令)を受け付けた場合、特定区間のログデータを生成する。特定区間は、学習完了判定部46が、挿入に失敗した回数が多いと判断した区間である。
ワイヤ電極は、挿入経路上でワイヤ電極が引っかかった場合(ワイヤ電極を1回送り込みしてみて挿入できなかった場合)には、送り込みと引き戻しとが繰り返される。このため、ログデータには、ワイヤ電極の送り込みおよび引き戻しの履歴に基づいて作成された各区間におけるワイヤ電極の挿入の送り込み回数が含まれている。実施の形態における送り込みの処理は、各区間におけるリトライ(切断および挿入)のうちの挿入の処理に対応している。したがって、実施の形態の送り込み回数は、各区間におけるリトライの挿入回数に対応している。送り込み回数は、1回の結線処理(1回の試行)におけるワイヤ電極の送り込みの回数であり、1回の結線処理(1回の試行)に対して区間毎にカウントされる。
ログデータ分割部43は、送り込み回数を、対応する区間ログデータに付与する。ログデータ分割部43は、第2区間内での送り込み回数を算出した場合には、第2区間内での送り込み回数を、第2区間ログデータに含める。
また、ログデータ分割部43は、モータのエンコーダが出力したパルス数およびワイヤ供給装置30が数値制御(NC:Numerical Control)される際のNCの処理周期に基づいて、区間毎の挿入時間を算出する。ワイヤ電極の挿入速度は、予めログデータ分割部43に設定しておいてもよいし、ログデータ分割部43が、ワイヤ放電加工機10から取得してもよい。
ログデータ分割部43は、算出した挿入時間を、挿入時間に対応する区間ログデータに付与する。ログデータ分割部43は、第2区間内での挿入時間を算出した場合には、第2区間内での挿入時間を、第2区間ログデータに含める。
なお、以下の説明では、第1区間ログデータ、第2区間ログデータ、第3区間ログデータ、および第4区間ログデータを区別する必要が無い場合は、第1区間ログデータ、第2区間ログデータ、第3区間ログデータ、および第4区間ログデータを、区間ログデータという場合がある。各区間ログデータには、ワイヤ電極の送り量と、送り込み回数と、挿入時間と、が含まれている。
ログデータ分割部43は、各区間ログデータを状態観測部44に送る。ログデータ分割部43は、第1区間ログデータを第1状態観測部51に送り、第2区間ログデータを第2状態観測部52に送る。また、ログデータ分割部43は、第3区間ログデータを第3状態観測部53に送り、第4区間ログデータを第4状態観測部54に送る。
また、状態観測部44は、パラメータ出力部48から制御パラメータを受け付ける。パラメータ出力部48から送られてくる制御パラメータは、ワイヤ放電加工機10で用いられる制御パラメータであり、ログデータに対応している。パラメータ出力部48から送られてくる制御パラメータは、第1状態観測部51、第2状態観測部52、第3状態観測部53、および第4状態観測部54に入力される。パラメータ出力部48が状態観測部44に送る制御パラメータの例は、切断電流値である。また、状態観測部44は、第1区間ログデータから算出されたデータ、第2区間ログデータから算出されたデータ、第3区間ログデータから算出されたデータ、および第4区間ログデータから算出されたデータを受け付ける。第1区間ログデータから算出されたデータ、第2区間ログデータから算出されたデータ、第3区間ログデータから算出されたデータ、および第4区間ログデータから算出されたデータは、学習完了判定部46によって算出されるワイヤ電極の挿入率、ログデータ分割部43によって算出されるワイヤ電極の送り量、挿入時間などである。各区間のログデータから算出されたデータは、学習完了判定部46からパラメータ出力部48を介して状態観測部44に送られ、第1状態観測部51、第2状態観測部52、第3状態観測部53、および第4状態観測部54に入力される。具体的には、第1区間ログデータから算出されたデータが、第1状態観測部51に入力され、第2区間ログデータから算出されたデータが、第2状態観測部52に入力される。また、第3区間ログデータから算出されたデータが、第3状態観測部53に入力され、第4区間ログデータから算出されたデータが、第4状態観測部54に入力される。
第1状態観測部51は、第1区間ログデータ、第1区間ログデータから算出されたデータ、および制御パラメータを第1状態変数として観測し、第2状態観測部52は、第2区間ログデータ、第2区間ログデータから算出されたデータ、および制御パラメータを第2状態変数として観測する。第3状態観測部53は、第3区間ログデータ、第3区間ログデータから算出されたデータ、および制御パラメータを第3状態変数として観測し、第4状態観測部54は、第4区間ログデータ、第4区間ログデータから算出されたデータ、および制御パラメータを第4状態変数として観測する。
第1状態観測部51は、第1状態変数を第1報酬計算部61に送り、第2状態観測部52は、第2状態変数を第2報酬計算部62に送り、第3状態観測部53は、第3状態変数を第3報酬計算部63に送り、第4状態観測部54は、第4状態変数を第4報酬計算部64に送る。なお、以下の説明では、第1状態変数、第2状態変数、第3状態変数、および第4状態変数を区別する必要が無い場合は、第1状態変数、第2状態変数、第3状態変数、および第4状態変数を、状態変数という場合がある。状態変数には、挿入率、ワイヤ電極の送り量、送り込み回数、挿入時間、および制御パラメータが含まれている。
学習部45は、状態変数に基づいて作成される訓練データセットに従って、高い結線率を実現する制御パラメータを学習する。第1報酬計算部61は、第1状態観測部51および第1関数更新部71に接続されており、第1関数更新部71は、第1パラメータ変更部81に接続されている。第2報酬計算部62は、第2状態観測部52および第2関数更新部72に接続されており、第2関数更新部72は、第2パラメータ変更部82に接続されている。第3報酬計算部63は、第3状態観測部53および第3関数更新部73に接続されており、第3関数更新部73は、第3パラメータ変更部83に接続されている。第4報酬計算部64は、第4状態観測部54および第4関数更新部74に接続されており、第4関数更新部74は、第4パラメータ変更部84に接続されている。
第1報酬計算部61と、第2報酬計算部62と、第3報酬計算部63と、第4報酬計算部64とは、同様の処理を実行するので、ここでは第1報酬計算部61が実行する処理について説明する。また、第1関数更新部71と、第2関数更新部72と、第3関数更新部73と、第4関数更新部74とは、同様の処理を実行するので、ここでは第1関数更新部71が実行する処理について説明する。また、第1パラメータ変更部81と、第2パラメータ変更部82と、第3パラメータ変更部83と、第4パラメータ変更部84とは、同様の処理を実行するので、ここでは第1パラメータ変更部81が実行する処理について説明する。
第1報酬計算部61は、観測結果である第1状態変数に基づいて報酬を計算する。第1報酬計算部61は、挿入率、ワイヤ電極の送り量、送り込み回数、および挿入時間の少なくとも1つに基づいて、報酬を計算する。第1報酬計算部61は、挿入に失敗した場合は行動に対して報酬を減少させ、挿入に成功して結線が完了した場合は報酬を増大させる。ワイヤ放電加工システム1では、最大リトライ回数以内の送り込み回数でワイヤ電極を結線できた場合には挿入が成功であり、特定回数の送り込み回数ではワイヤ電極を結線できなかった場合には挿入が失敗である。すなわち、特定回数の送り込み回数までに結線できた場合は、挿入処理は、成功となる。
挿入処理の際には、ワイヤ電極の送り量が特定量まで送り出されることによって、挿入に成功する。このため、ワイヤ電極が挿入される場合において、ワイヤ電極の送り量が大きいほど挿入の成功に近く、ワイヤ電極の送り量が小さいほど挿入の失敗に近い。このため、第1報酬計算部61は、ワイヤ電極の送り量が小さいほど報酬を減少させ、ワイヤ電極の送り量が大きいほど報酬を増大させる。また、第1報酬計算部61は、送り込み回数が多いほど報酬を減少させ、送り込み回数が少ないほど報酬を増大させる。第1報酬計算部61は、計算した報酬を第1関数更新部71に送る。
第1関数更新部71は、行動を決定するための関数を記憶しており、第1報酬計算部61から送られてきた報酬に基づいて行動を決定するための関数を更新する。第1関数更新部71は、関数を決定するパラメータを更新することによって、関数を更新する。第1関数更新部71は、更新した関数を学習結果記憶部47に格納する。学習部45による学習処理の詳細については後述する。
第1パラメータ変更部81は、学習結果記憶部47に格納されている第1区間の関数を読み出す。第1パラメータ変更部81は、第1区間の関数に基づいて、第1区間で用いる制御パラメータを変更する。第1パラメータ変更部81は、変更後の制御パラメータを、学習完了判定部46に送る。
学習結果記憶部47は、第1関数更新部71、第2関数更新部72、第3関数更新部73、および第4関数更新部74が更新した関数を記憶するメモリなどである。学習結果記憶部47は、第1関数更新部71、第2関数更新部72、第3関数更新部73、および第4関数更新部74に接続されている。また、学習結果記憶部47は、第1パラメータ変更部81、第2パラメータ変更部82、第3パラメータ変更部83、および第4パラメータ変更部84に接続されている。
学習条件設定部42は、ユーザからの指示に従って、制御パラメータの学習条件を設定する。学習条件の例は、挿入率の目標値、最大試行回数である。最大試行回数は、ワイヤ放電加工機10が、設定された制御パラメータを用いて、ワイヤ電極の切断結線を繰り返す回数である。ワイヤ放電加工機10は、最大試行回数だけワイヤ電極の切断結線を繰り返し、機械学習装置40は、最大試行回数分のログデータを用いて挿入率を計算する。
学習完了判定部46は、学習条件に基づいて、目標の挿入率に到達したか否かを判定する。学習完了判定部46は、ログデータ分割部43から、結線に成功したことを示す結線成否情報を受け付けると、全区間における挿入が1回成功したと判定する。一方、学習完了判定部46は、ログデータ分割部43から、結線に失敗したことを示す結線成否情報を受け付けると、挿入が1回失敗したと判定する。学習完了判定部46は、挿入の成功または失敗を判定するたびに、挿入回数をカウントアップすることによって、挿入回数を数える。
学習完了判定部46は、学習条件に設定されている最大試行回数までワイヤ電極の切断結線処理が繰り返された後、最大試行回数と、挿入に成功した回数とに基づいて、挿入率を算出する。なお、学習完了判定部46は、最大試行回数と、挿入に失敗した回数とに基づいて、挿入率を算出してもよい。
学習完了判定部46は、挿入率が目標値に到達したか否かを判定する。挿入率が目標値に到達するのは、切断結線が安定状態となった場合である。安定状態は、制御パラメータを特定の割合(例えば3%)で変動させた場合の挿入率の変動率が基準値以下である状態である。換言すると、安定状態は、挿入率の飽和状態である。
学習完了判定部46は、挿入率が目標値に到達していないと判定した場合には、最大試行回数の切断結線が実行された間に、挿入に失敗した回数が最も多かった区間を判定する。学習完了判定部46は、挿入に失敗した回数が最も多かった区間への学習指令(学習区間指令)を、ログデータ分割部43に送る。また、学習完了判定部46は、目標の挿入率に到達していないと判定した場合には、最新の制御パラメータを、ワイヤ放電加工機10および状態観測部44に送る。
また、学習完了判定部46は、挿入率が目標値に到達したと判定した場合には、挿入率が100%であるか否かを判定する。学習完了判定部46は、挿入率が100%であれば、ログデータ分割部43に、挿入時間を短くする学習を指示する。また、学習完了判定部46は、目標の挿入率に到達したと判定した場合には、最新の制御パラメータを、ワイヤ放電加工機10および状態観測部44に送る。また、学習完了判定部46は、挿入率が100%でない場合には、挿入時間を短くすることによって挿入率が低下することを防ぐため、学習が完了したことを示す情報(完了通知)をパラメータ出力部48に送る。このように、機械学習装置40は、学習後の挿入率が100%である場合には、挿入時間を短くすることができる制御パラメータを学習し、学習後の挿入率が100%未満である場合には、学習を完了する。
パラメータ出力部48は、学習完了判定部46から送られてきた制御パラメータを制御装置20のデータ入力部28および状態観測部44に送る。また、パラメータ出力部48は、学習完了判定部46から送られてきた完了通知を制御装置20のデータ入力部28に送る。なお、パラメータ出力部48とデータ入力部28との間における制御パラメータおよび完了通知の受け渡しは、何れの方法で行われてもよい。パラメータ出力部48は、ネットワーク経由で制御パラメータおよび完了通知をデータ入力部28に送ってもよい。
このように、機械学習装置40は、区間毎に、状態観測、報酬計算、関数の更新、制御パラメータの変更を行う。なお、機械学習装置40は、ワイヤ電極を切断する際に用いる制御パラメータおよびワイヤ電極を挿入する際に用いる制御パラメータの何れか一方を学習してもよい。
つぎに、ワイヤ供給装置30の構成について説明する。図3は、実施の形態にかかるワイヤ放電加工システムが備えるワイヤ供給装置の構成を示す図である。図3では、ワイヤ供給装置30の断面図を示している。
ワイヤ供給装置30は、ワイヤ電極90を送り出しながら、被加工物91をワイヤ放電加工する。ワイヤ供給装置30は、被加工物91に開けられた孔または溝に対し電極線であるワイヤ電極90を挿入するための機構を備えている。被加工物91への加工完了後、ワイヤ供給装置30は、ワイヤ電極90を切断し、次の加工開始位置にワイヤ電極90を再度挿入する。
なお、加工中にワイヤ電極90が断線した場合等にも、断線箇所の形状が不適切な形状となっている可能性があるので、ワイヤ供給装置30は、ワイヤ電極90を一度切断し、加工を再開するために再度孔または溝に挿入する。ワイヤ電極90の先端部がワイヤ電極90の直径よりも大きく膨らんでいる場合、ワイヤ電極90の挿入が困難になるので、ワイヤ電極90の先端部は膨らんでいない方がよい。ワイヤ供給装置30が、適切な切断電流値でワイヤ電極90を切断することによって、ワイヤ電極90の電極線方向に垂直な方向の断面積を小さくすることができる。すなわち、ワイヤ供給装置30が、適切な切断電流値でワイヤ電極90を切断することによって、ワイヤ電極90の先端部を尖らせることができる。
ワイヤ供給装置30は、プリテンションローラ31と、メインテンションローラ32と、案内パイプ33と、ワイヤ切断部34と、カッタローラ35と、上部ノズル36Aと、下部ノズル36Bと、通過検出センサ37と、下部パイプ38と、回収ローラ39とを備えている。
ワイヤボビン(図示せず)から送り出されたワイヤ電極90は、プリテンションローラ31およびメインテンションローラ32を介して、案内パイプ33まで送られる。案内パイプ33は、ワイヤ電極90の水平方向における位置を調整する。
ワイヤ切断部34は、加工完了時などにワイヤ電極90を切断する。メインテンションローラ32から送り出されたワイヤ電極90は、案内パイプ33内を通ってワイヤ切断部34の入口(ワイヤ電極90の挿入口)まで送られ、ワイヤ切断部34内を通って、カッタローラ35まで送られる。ワイヤ切断部34は、ワイヤ電極90の切断箇所に切断電流を流すことによって発生する熱でワイヤ電極90を切断する。このとき、ワイヤ電極90に対し、メインテンションローラ32とカッタローラ35とでワイヤ電極90の切断に適切な張力がかけられた状態で、ワイヤ切断部34が、切断電流を加えることで、ワイヤ電極90を切断する。このときの張力および切断電流は、挿入率を向上させる重要な因子(制御パラメータ)となる。
カッタローラ35を出たワイヤ電極90は、上部ノズル36Aの入口まで送られ、上部ノズル36A内を通って、被加工物91の孔または溝に送られる。被加工物91の孔または溝を出たワイヤ電極90は、下部ノズル36Bの入口まで送られ、下部ノズル36B内を通って下部パイプ38に送られ、下部パイプ38内を通って回収ローラ39に送られる。
ワイヤ電極90は、被加工物91の孔または溝を始点として被加工物91を加工する。このとき、ワイヤ電極90に対し、上部ノズル36Aと下部ノズル36Bとでワイヤ電極90の加工に適切な張力がかけられた状態で被加工物91が加工される。このように、ワイヤ電極90は、メインテンションローラ32とカッタローラ35との間に張架されるとともに、上部ノズル36Aと下部ノズル36Bとの間に張架される。
下部パイプ38は、下部ノズル36Bを出たワイヤ電極90を回収ローラ39に導く。回収ローラ39は、下部パイプ38を介して送られてきたワイヤ電極90を回収する。下部ノズル36Bと下部パイプ38との間のワイヤ電極90の経路には、通過検出センサ37が設けられている。通過検出センサ37は、ワイヤ電極90が、下部ノズル36Bを通過しているか否かを検出する。
ワイヤ電極90は、挿入される際に撓みなどが発生し、送り量に対応しない位置に先端部が移動している場合がある。このため、ワイヤ放電加工機10は、通過検出センサ37による検出結果に基づいて、ワイヤ電極90が適切な経路に撓みなく挿入されているか否かを判断する。
ワイヤ電極90のうち、ワイヤ切断部34と上部ノズル36Aの入口との間が第1区間101であり、上部ノズル36Aの入口と下部ノズル36Bの入口との間が第2区間102である。また、ワイヤ電極90のうち、下部ノズル36Bの入口から回収ローラ39の入口までの間が第3区間103であり、回収ローラ39の入口から出口までが第4区間104である。
ワイヤ供給装置30にワイヤ電極90を通す際には、ユーザが手動で、プリテンションローラ31からワイヤ切断部34までワイヤ電極90を通す。ワイヤ電極90がワイヤ切断部34に差し込まれた後、ワイヤ供給装置30が、ワイヤ電極90の自動挿入を開始するとワイヤ電極90がメインテンションローラ32によって送り出され、回収ローラ39まで送られる。これにより、ワイヤ供給装置30によるワイヤ電極90の結線が完了となる。
ワイヤ供給装置30は、決められたシーケンスに従ってワイヤ電極90を回収ローラ39まで送るが、区間毎に搬送時の問題が異なる。第1区間101では、案内パイプ33内のエアによってワイヤ電極90が、カッタローラ35側に搬送される。このときのエア流量が適切でないと、ワイヤ電極90は、カッタローラ35および上部ノズル36Aを通過することができない。案内パイプ33内を流れるエアが弱すぎる(エア流量が少ない)場合、搬送力が不足するので、ワイヤ電極90は、カッタローラ35および上部ノズル36Aを通過することができない。また、案内パイプ33内を流れるエアが強すぎる場合、ワイヤ電極90が振れすぎるので、ワイヤ電極90は、カッタローラ35および上部ノズル36Aを通過することができない。
第2区間102では、ワイヤ電極90の先端部が真直性を持った状態でないと、上部ノズル36Aおよび下部ノズル36B内のダイヤモンドダイス(図なし)を通すことができない。ワイヤ電極90の先端部が真直性を持った状態とは、ワイヤ電極90の先端部が尖っている状態である。ワイヤ放電加工機10は、ワイヤ電極90を切断することで、ワイヤ電極90の先端部の真直性を向上させ挿入しやすくしている。
また、第2区間102では、上部ノズル36Aと下部ノズル36Bとの間にある被加工物91の孔または溝にワイヤ電極90を通す必要があるので、上部ノズル36Aから下部ノズル36B側に出す水または油の流量がワイヤ電極90の挿入に影響を与える。
第3区間103では、下部パイプ38内を流れる水または油の流量によってワイヤ電極90が搬送される。このときに下部パイプ38内を流れる水または油の流量が弱すぎる(水または油が少ない)とワイヤ電極90が搬送されない。また、下部パイプ38内を流れる水または油の流量が強すぎると、水または油が回収ローラ39付近から下部パイプ38に向かって噴き出るといった問題が発生する。
第4区間104では、回収ローラ39の手前付近でワイヤ電極90側のワイヤ電極90にエアを吹きつけることで、ワイヤ電極90周りの水または油が除去される。このときのエアが強すぎると、ワイヤ電極90を回収ローラ39側へ搬送する力が、エアの力に負けてしまうので、ワイヤ電極90を回収ローラ39に挿入できない。このように、区間毎に挿入に影響を与える制御パラメータは異なっている。このため、パラメータ出力部48は、状態観測部44に対し、各区間に対応する制御パラメータを送ってもよい。例えば、パラメータ出力部48は、第2状態観測部52へは、上部ノズル36Aから下部ノズル36B側に出す水または油の流量を、制御パラメータとして送り、第4状態観測部54へは、ワイヤ電極90へのエア流量を、制御パラメータとして送ってもよい。
前述した第1区間101から第4区間104までで、ワイヤ電極90の挿入時に特に引っかかる恐れが高いのは、第2区間102である。ワイヤ電極90の先端部が特定値以上の真直性を持ち、槍状となっていることで、ワイヤ電極90を挿入しやすくなる。このため、挿入前に行うワイヤ電極90の切断も挿入率を向上させる重要な要素となる。ワイヤ電極90は、切断箇所に切断電流が流されることによって発生する熱で切断される。このとき、ワイヤ電極90に対しメインテンションローラ32とカッタローラ35とでワイヤ電極90に適切な張力をかけ、ワイヤ切断部34が切断電流を加えることで、ワイヤ電極90を切断する。このときの張力のパラメータ、および切断電流の制御パラメータは、挿入率を向上させる重要な要素となる。
このように、ワイヤ供給装置30がワイヤ電極90を結線する際には様々な機構が用いられる。ワイヤ供給装置30では、各機構に対し機械的な調整がされ、且つ複数の制御パラメータを用いた制御によってワイヤ電極90の搬送が行われる。これらの制御パラメータは、ワイヤ放電加工機10のメーカ担当者の経験によって調整されていたが、本実施の形態では、メーカ担当者の調整方法を模した学習部45によって、制御パラメータを適切な制御パラメータに設定する。
学習部45は、挿入率が向上する制御パラメータを学習する。学習部45は、挿入が失敗の場合には行動に対して報酬を減少させ、結線が完了(成功)した場合には報酬を増大させる。その後、学習部45は、挿入時間が短くなるよう制御パラメータを学習する。学習部45は、挿入時間が長くなれば報酬を減少させ、挿入時間が短くなれば報酬を増大させる。例えば、挿入率が100%の安定状態となった場合に、学習部45は、挿入時間が短くなる制御パラメータを学習する。
学習部45にて学習した制御パラメータは、ワイヤ放電加工機10に入力される。これにより、ワイヤ放電加工機10は、学習部45にて学習された制御パラメータを用いて、ワイヤ電極90の切断結線を実行する。
状態観測部44および学習部45を備えた機械学習装置40が用いる学習アルゴリズムは何れの学習アルゴリズムを用いてもよい。ここでは、一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。
強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-learning)またはTD学習(TD-learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は、以下の式(1)で表される。行動価値関数Q(s,a)は、行動価値テーブルとも呼ばれる。
式(1)において、stは時刻tにおける状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。Q学習を適用した場合、次回の切断結線で用いられる制御パラメータが行動atとなる。
Q学習における式(1)で表される更新式は、時刻t+1における最良の行動aの行動価値が、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、時刻tの行動価値Qを大きくし、逆の場合は、時刻tの行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
したがって、以下で説明する機械学習装置40の動作において、制御パラメータの変更行動を時刻tにおける行動atとし、第1区間101、第2区間102、第3区間103および第4区間104の状態を時刻tにおける状態stとすれば、機械学習装置40がQ学習を行っていると理解することができる。
第1報酬計算部61は、第1状態変数に基づいて、制御パラメータの報酬を計算する。第1報酬計算部61は、ワイヤ電極90の挿入に成功した場合に報酬を増大させ、ワイヤ電極90の挿入に失敗した場合に報酬を減少させる。第1報酬計算部61は、ワイヤ電極90の第1区間101への挿入に成功した場合に報酬を最大報酬とし、ワイヤ電極90の第1区間101への挿入に失敗した場合に報酬を最小報酬とする。例えば、第1報酬計算部61は、ワイヤ電極90の挿入に成功した場合に「1」の報酬を与え、ワイヤ電極90の第1区間101への挿入に失敗した場合に「−1」の報酬を与える。
第1報酬計算部61は、計算した報酬を第1関数更新部71に送る。第1関数更新部71は、第1報酬計算部61によって計算された報酬に従って行動(制御パラメータ)を決定するための関数を更新する。例えばQ学習の場合、式(1)で表される行動価値関数Q(st,at)が、制御パラメータを計算するための関数であり、第1関数更新部71によって更新される。
つぎに、機械学習装置40による制御パラメータの計算処理手順について説明する。図4は、実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第1段階を示すフローチャートである。図5は、実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第2段階を示すフローチャートである。
ワイヤ放電加工システム1では、ワイヤ放電加工機10の初期パラメータ設定部21が制御パラメータの初期値を設定する(ステップS10)。すなわち、初期パラメータ設定部21は、制御パラメータを制御パラメータ保持部22に格納する。
ワイヤ電極90の径および材質が近いワイヤ電極の制御パラメータが分かっている場合、この制御パラメータを初期値に設定することで学習が早く収束する。このため、ワイヤ供給装置30の制御パラメータを自動調整する際の運用として、ワイヤ電極90の径および材質が近いワイヤ電極の制御パラメータが選択されてもよい。なお、制御パラメータの初期値は、何れの方法によって設定されてもよい。
制御パラメータの初期値を設定した後、ワイヤ放電加工機10は、ワイヤ電極90を切断する(ステップS20)。さらに、ワイヤ放電加工機10は、ワイヤ電極90の挿入を開始する(ステップS30)。そして、機械学習装置40は、挿入に失敗したか否かを判定する(ステップS40)。具体的には、ログデータ分割部43が、結線成否情報、またはワイヤ電極90の送り量に基づいて、挿入に失敗したか否かを判定する。
挿入に失敗している場合、ログデータ分割部43は、ログデータを、ワイヤ電極90の区間毎のログデータである区間ログデータに分割する。ログデータ分割部43は、第1区間ログデータを第1状態観測部51に送り、第2区間ログデータを第2状態観測部52に送る。また、ログデータ分割部43は、第3区間ログデータを第3状態観測部53に送り、第4区間ログデータを第4状態観測部54に送る。
挿入に失敗している場合(ステップS40、Yes)、ログデータ分割部43は、第1区間101でワイヤ電極90の挿入に失敗しているか否かを判定する(ステップS50)。第1区間101でワイヤ電極90の挿入に失敗している場合(ステップS50、Yes)、ログデータ分割部43は、ワイヤ電極90の第1区間101内での送り量を含んだ第1区間ログデータを生成して、第1状態観測部51に送る。
第1状態観測部51は、第1区間ログデータおよび制御パラメータを第1状態変数として観測し、第1状態変数を第1報酬計算部61に送る。第1報酬計算部61は、観測結果である第1状態変数に基づいて報酬を計算する。このとき、第1報酬計算部61は、結線優先で報酬を与え、第1関数更新部71は、報酬に基づいて関数を更新し、第1パラメータ変更部81は、関数に基づいて第1区間101の制御パラメータを調整する(ステップS60)。結線優先とは、結線されたか否か(挿入に成功したか否か)を報酬決定の際の優先事項とすることである。第1報酬計算部61は、結線された場合は高い報酬を与え、結線されていない場合は低い報酬を与える。このように、第1報酬計算部61は、結線優先で学習を行う場合には、結線できること(ワイヤ電極90が区間を通過できること)に高い報酬を与える。
第1区間101でワイヤ電極90の挿入に失敗していない場合(ステップS50、No)、ログデータ分割部43は、第2区間102でワイヤ電極90の挿入に失敗しているか否かを判定する(ステップS70)。第2区間102でワイヤ電極90の挿入に失敗している場合(ステップS70、Yes)、ログデータ分割部43は、ワイヤ電極90の第2区間102内での送り量を含んだ第2区間ログデータを生成して、第2状態観測部52に送る。
第2状態観測部52は、第2区間ログデータおよび制御パラメータを第2状態変数として観測し、第2状態変数を第2報酬計算部62に送る。第2報酬計算部62は、観測結果である第2状態変数に基づいて報酬を計算する。このとき、第2報酬計算部62は、結線優先で報酬を与え、第2関数更新部72は、報酬に基づいて関数を更新し、第2パラメータ変更部82は、関数に基づいて第2区間102の制御パラメータを調整する(ステップS80)。
第2区間102でワイヤ電極90の挿入に失敗していない場合(ステップS70、No)、ログデータ分割部43は、第3区間103でワイヤ電極90の挿入に失敗しているか否かを判定する(ステップS90)。第3区間103でワイヤ電極90の挿入に失敗している場合(ステップS90、Yes)、ログデータ分割部43は、ワイヤ電極90の第3区間103内での送り量を含んだ第3区間ログデータを生成して、第3状態観測部53に送る。
第3状態観測部53は、第3区間ログデータおよび制御パラメータを第3状態変数として観測し、第3状態変数を第3報酬計算部63に送る。第3報酬計算部63は、観測結果である第3状態変数に基づいて報酬を計算する。このとき、第3報酬計算部63は、結線優先で報酬を与え、第3関数更新部73は、報酬に基づいて関数を更新し、第3パラメータ変更部83は、関数に基づいて第3区間103の制御パラメータを調整する(ステップS100)。
第3区間103でワイヤ電極90の挿入に失敗していない場合(ステップS90、No)、ログデータ分割部43は、ワイヤ電極90の第4区間104内での送り量を含んだ第4区間ログデータを生成して、第4状態観測部54に送る。
第4状態観測部54は、第4区間ログデータおよび制御パラメータを第4状態変数として観測し、第4状態変数を第4報酬計算部64に送る。第4報酬計算部64は、観測結果である第4状態変数に基づいて報酬を計算する。このとき、第4報酬計算部64は、結線優先で報酬を与え、第4関数更新部74は、報酬に基づいて関数を更新し、第4パラメータ変更部84は、関数に基づいて第4区間104の制御パラメータを調整する(ステップS110)。このように、挿入が失敗となる場合には、学習部45は、区間毎に制御パラメータの学習を行う。
第1パラメータ変更部81は、第1区間101の制御パラメータを調整した場合には、調整した第1区間101の制御パラメータを学習完了判定部46に送る。第2パラメータ変更部82は、第2区間102の制御パラメータを調整した場合には、調整した第2区間102の制御パラメータを学習完了判定部46に送る。第3パラメータ変更部83は、第3区間103の制御パラメータを調整した場合には、調整した第3区間103の制御パラメータを学習完了判定部46に送る。第4パラメータ変更部84は、第4区間104の制御パラメータを調整した場合には、調整した第4区間104の制御パラメータを学習完了判定部46に送る。
学習完了判定部46は、送られてきた制御パラメータを、パラメータ出力部48を介してワイヤ放電加工機10および状態観測部44に送る(ステップS120)。この後、ワイヤ放電加工システム1では、ステップS20の処理に戻る。ワイヤ放電加工システム1は、ステップS40において、挿入に成功したと判断できるまで、ステップS20からS120の処理を繰り返す。
また、ステップS40において、挿入に成功している場合(ステップS40、No)、学習完了判定部46は、挿入の試行回数が最大試行回数を満たしたか否かを判定する(ステップS130)。
挿入の試行回数が最大試行回数を満たしていない場合(ステップS130、No)、学習完了判定部46は、現在の試行回数を、試行回数+1とする(ステップS140)。学習完了判定部46は、試行回数が最大試行回数を満たしていないことを、パラメータ出力部48を介して、ワイヤ放電加工機10に通知する。これにより、ワイヤ放電加工機10は、最新の制御パラメータを用いて切断結線の試行処理を実行する。すなわち、ワイヤ放電加工機10は、最新の制御パラメータを用いてワイヤ電極90を切断する(ステップS150)。さらに、ワイヤ放電加工機10は、最新の制御パラメータを用いてワイヤ電極90の挿入を開始する(ステップS160)。また、学習完了判定部46は、結線成否情報の取得要求をログデータ分割部43に送る。
挿入の試行処理が完了すると、ログデータ取得部41が、ワイヤ放電加工機10からログデータを取得してログデータ分割部43に送る。ログデータ取得部41は、ログデータから結線成否情報を生成して学習完了判定部46に送る。
この後、ワイヤ放電加工システム1は、ステップS130からS160の処理を繰り返す。学習完了判定部46は、ワイヤ電極90の挿入が完了するたびに、ログデータ分割部43から結線成否情報を取得する。
挿入の試行回数が最大試行回数を満たした場合(ステップS130、Yes)、学習完了判定部46は、挿入率が目標値を満たしたか否かを判定する(ステップS170)。学習完了判定部46は、最大試行回数と、挿入に成功した回数と、に基づいて挿入率を算出し、挿入率の目標値と比較する。挿入に成功した回数は、挿入の試行回数が最大試行回数となるまでの間に、挿入に成功した回数である。
挿入率が目標値を満たしていない場合(ステップS170、No)、学習完了判定部46は、挿入に失敗した回数が最も多い区間を判定する。学習完了判定部46は、挿入に失敗した回数が最も多い区間を、ログデータ分割部43に通知する。また、学習完了判定部46は、最新の制御パラメータを、パラメータ出力部48を介してワイヤ放電加工機10および状態観測部44に送る。これにより、ワイヤ放電加工機10は、最新の制御パラメータを用いて切断結線を実行する。
ログデータ分割部43は、挿入に失敗した回数が最も多い区間の区間ログデータを生成し、状態観測部44に送る。例えば、挿入に失敗した回数が最も多い区間が、第4区間104であったとする。この場合、学習完了判定部46は、第4区間ログデータを生成し、第4状態観測部54に送る。第4状態観測部54は、第4区間ログデータおよび制御パラメータを第4状態変数として観測し、第4状態変数を第4報酬計算部64に送る。第4報酬計算部64は、観測結果である第4状態変数に基づいて報酬を計算する。このとき、第4報酬計算部64は、結線優先で報酬を与え、第4関数更新部74は、報酬に基づいて関数を更新し、第4パラメータ変更部84は、関数に基づいて第4区間104の制御パラメータを調整する。このように、学習部45は、挿入に失敗した回数が最も多い区間に対し、結線優先で報酬を与え制御パラメータを調整する(ステップS180)。
第1パラメータ変更部81、第2パラメータ変更部82、第3パラメータ変更部83、および第4パラメータ変更部84の何れかが調整した制御パラメータは、学習完了判定部46に送られる。
学習完了判定部46は、送られてきた制御パラメータを、パラメータ出力部48を介してワイヤ放電加工機10および状態観測部44に送る(ステップS190)。また、学習完了判定部46は、挿入の試行回数をクリアする(ステップS200)。すなわち、学習完了判定部46は、挿入の試行回数を0にする。また、学習完了判定部46は、挿入率をクリアする。この後、ワイヤ放電加工システム1では、ステップS130からS200の処理が繰り返される。
挿入率が目標値を満たした場合(ステップS170、Yes)、学習完了判定部46は、目標値を満たした挿入率が100%であるか否かを判定する(ステップS210)。挿入率が100%である場合(ステップS210、Yes)、学習完了判定部46は、挿入率が100%であることを、ログデータ分割部43に通知する。また、学習完了判定部46は、最新の制御パラメータを、パラメータ出力部48を介してワイヤ放電加工機10および状態観測部44に送る。これにより、ワイヤ放電加工機10は、最新の制御パラメータを用いて切断結線を実行する。
ログデータ分割部43は、各区間の区間ログデータを生成し、状態観測部44に送る。状態観測部44は、各区間の状態変数を学習部45に送る。学習部45は、状態変数に基づいて報酬を計算する。このとき、学習部45は、時間優先で報酬を与え、報酬に基づいて関数を更新し、関数に基づいて各区間の制御パラメータを調整する。このように、学習部45は、各区間に対し、時間優先で報酬を与え制御パラメータを調整する(ステップS220)。時間優先とは、挿入時間を報酬決定の際の優先事項とすることである。第1報酬計算部61は、挿入時間が短い場合は高い報酬を与え、挿入時間が長い場合は低い報酬を与える。第1報酬計算部61は、挿入時間が短くなった場合であっても挿入率が下がる場合には、報酬を減少させる。
第1パラメータ変更部81、第2パラメータ変更部82、第3パラメータ変更部83、および第4パラメータ変更部84の何れかが調整した制御パラメータは、学習完了判定部46に送られる。
学習完了判定部46は、送られてきた制御パラメータを、パラメータ出力部48を介してワイヤ放電加工機10およびログデータ分割部43に送る(ステップS230)。また、学習完了判定部46は、挿入の試行回数をクリアする(ステップS240)。すなわち、学習完了判定部46は、挿入の試行回数を0にする。また、学習完了判定部46は、挿入率をクリアする。この後、ワイヤ放電加工システム1では、ステップS130からS240の処理が繰り返される。
挿入率が100%でない場合(ステップS210、No)、ワイヤ放電加工システム1による制御パラメータの学習が完了する。なお、ワイヤ放電加工システム1は、目標値を満たした挿入率が100%以外の特定割合以上(例えば、95%)である場合に、ステップS220以降の処理に進んでよい。
一般的に、ワイヤ放電加工では、ワイヤ電極が切断されてから挿入に成功するまでの間、ワイヤ放電加工機は、ワイヤ放電加工を実行できないので、ワイヤ電極の挿入率は生産性に直結する。また、ワイヤ供給装置は、予め設定された一連の制御パラメータに従ってワイヤ電極を切断結線するが、高確率で切断結線に成功する制御パラメータのマージンは小さい。このため、初期値として設定した制御パラメータでは、高確率で切断結線を行うことが困難であった。本実施の形態では、機械学習装置40が、挿入率を向上させる制御パラメータを学習して決定するので、高確率で切断結線を行うことが可能となる。
また、切断結線は、挿入率とともに、挿入時間も生産性に直結する要素となる。このため、ワイヤ供給装置による挿入時間を短くする制御パラメータを学習することが、生産性の向上につながる。本実施の形態では、機械学習装置40が、挿入時間を短縮することができる制御パラメータを学習して決定するので、短時間で切断結線を行うことが可能となる。
また、ワイヤ放電加工機は、材質の割合が異なるワイヤ電極を用いることがあるが、ワイヤ電極のワイヤ線種毎に適切な制御パラメータは異なる。このため、種々のワイヤ線種に対して、適切な制御パラメータを設定する必要がある。本実施の形態では、機械学習装置40が、ワイヤ電極90を切断結線させながら制御パラメータを学習して決定するので、制御パラメータが未登録のワイヤ線種のワイヤ電極90に対しても適切な制御パラメータを設定することができる。
ここで、機械学習装置40のハードウェア構成について説明する。図6は、実施の形態にかかる機械学習装置のハードウェア構成例を示す図である。
機械学習装置40は、図6に示したプロセッサ301およびメモリ302により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
機械学習装置40は、プロセッサ301が、メモリ302で記憶されている、機械学習装置40の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、機械学習装置40の手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
なお、機械学習装置40の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、制御装置20を、図6に示したプロセッサ301およびメモリ302によって実現してもよい。
本実施の形態では、機械学習装置40が、強化学習を利用して機械学習する場合について説明したが、機械学習装置40は、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
本実施の形態では、制御パラメータ保持部22は、ワイヤ線種毎に制御パラメータを記憶している。パラメータ設定部23は、制御パラメータ保持部22が記憶している制御パラメータのうち、ユーザが指定したワイヤ線種の情報(ユーザによって制御装置20に入力されたワイヤ線種の情報)に対応する最新の制御パラメータを、制御パラメータ保持部22から読み出して、ワイヤ供給制御部24に設定する。ところが、ユーザによって指定されたワイヤ線種の情報が制御パラメータ保持部22に未登録の場合がある。この場合、パラメータ設定部23は、ユーザによって指定されたワイヤ線種に類似するワイヤ線種を選択し、選択したワイヤ線種の情報に対応する制御パラメータを制御パラメータ保持部22から読み出して、ワイヤ供給制御部24に設定する。これにより、機械学習装置40が、制御パラメータを学習していく。機械学習装置40が学習した結果は、新たなワイヤ線種の情報として制御パラメータ保持部22が記憶しておく。
このように、実施の形態によれば、ワイヤ電極90の挿入率を高める制御パラメータを学習するので、適切な制御パラメータが未登録の新規なワイヤ線種のワイヤ電極90に対しても挿入率を向上させることができる。すなわち、挿入するワイヤ電極90のワイヤ線種の制御パラメータが登録されているか未登録であるかに関わらずワイヤ電極90の挿入率を向上させることができる。また、挿入率が安定状態となった後に、挿入時間を短くすることができる制御パラメータを学習するので、挿入率を維持しつつ挿入時間を短縮することができる。これにより、加工全体の効率化を図ることが可能となる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
上述した課題を解決し、目的を達成するために、本発明は、ワイヤ放電加工機のワイヤ電極を切断結線する条件を決定する制御パラメータを学習する機械学習装置であって、ワイヤ電極をワイヤ電極の経路に挿入した際の挿入状態を示すログデータ、ログデータから算出されたデータ、および制御パラメータを、状態変数として観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、ワイヤ電極の挿入の成功率である挿入率を高める制御パラメータを学習する学習部と、を備える。学習部は、ログデータまたはログデータから算出されたデータに基づいて報酬を計算する報酬計算部と、報酬に基づいて、制御パラメータを決定するための関数を更新する関数更新部と、を有する。