(57)【特許請求の範囲】
【請求項１】
ワイヤ放電加工機のワイヤ電極を切断結線する条件を決定する制御パラメータを学習する機械学習装置であって、
前記ワイヤ電極を前記ワイヤ電極の経路に挿入した際の挿入状態を示すログデータ、前記ログデータから算出されたデータ、および前記制御パラメータを、状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記ワイヤ電極の挿入の成功率である挿入率を高める前記制御パラメータを学習する学習部と、
を備え、
前記学習部は、
前記ログデータまたは前記ログデータから算出されたデータに基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記制御パラメータを決定するための関数を更新する関数更新部と、を有することを特徴とする機械学習装置。
【請求項２】
前記報酬計算部は、前記ワイヤ電極の挿入が成功した場合には前記報酬を増大させ、前記ワイヤ電極の挿入が失敗した場合には前記報酬を低減させる、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部は、前記ワイヤ電極の挿入に掛かる時間が短いほど報酬を増大させる、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項４】
前記関数更新部が、前記報酬に従って、行動価値テーブルを更新する、
ことを特徴とする請求項１から３の何れか１つに記載の機械学習装置。
【請求項５】
前記状態観測部は、前記ワイヤ電極を複数の区間に分けた場合の区間毎に前記状態変数を観測し、
前記学習部は、前記区間毎に前記制御パラメータを学習する、
ことを特徴とする請求項１から４の何れか１つに記載の機械学習装置。
【請求項６】
前記ログデータは、前記ワイヤ電極の送り量の情報を含み、
前記報酬計算部は、前記ワイヤ電極の送り量が多いほど報酬を増大させる、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項７】
前記ログデータは、前記ワイヤ電極の挿入の送り込み回数の情報を含み、
前記報酬計算部は、前記ワイヤ電極の送り込み回数が少ないほど報酬を増大させる、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項８】
前記ワイヤ放電加工機は、前記ワイヤ電極を切断する箇所に電流を与えることによって前記ワイヤ電極を切断し、切断した箇所を前記ワイヤ電極の先端部として前記ワイヤ電極を前記ワイヤ電極の経路に挿入し、
前記制御パラメータは、前記ワイヤ電極を切断する際に与えた電流の電流値を含む、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項９】
前記ログデータから算出されたデータは、ワイヤ電極の挿入率、ワイヤ電極の送り量、またはワイヤ電極の挿入にかかる時間である挿入時間を含む、
ことを特徴とする請求項１から８の何れか１つに記載の機械学習装置。
【請求項１０】
請求項１から９の何れか１つに記載の機械学習装置と、
前記制御パラメータに従って前記ワイヤ電極の切断および挿入を実行し、前記ワイヤ電極で被加工物をワイヤ放電加工するワイヤ放電加工機と、
を備え、
前記ワイヤ放電加工機は、
前記ワイヤ電極の切断および挿入を実行するワイヤ供給装置と、
前記制御パラメータを用いて前記ワイヤ供給装置を制御するとともに、前記ログデータを取得する制御部と、
を有することを特徴とするワイヤ放電加工システム。
【請求項１１】
前記制御部は、
前記ワイヤ電極の線種であるワイヤ線種の情報に対応する制御パラメータの初期値を記憶する制御パラメータ保持部を備え、
ユーザによって指定されたワイヤ線種が前記制御パラメータ保持部で記憶されていない場合、ユーザによって指定されたワイヤ線種に類似するワイヤ線種を前記制御パラメータ保持部内から選択し、選択したワイヤ線種の情報に対応する制御パラメータの初期値を、前記学習部が学習する制御パラメータの初期値に設定する、
ことを特徴とする請求項１０に記載のワイヤ放電加工システム。
【請求項１２】
ワイヤ放電加工機のワイヤ電極を切断結線する条件を決定する制御パラメータを学習する機械学習方法であって、
前記ワイヤ電極を前記ワイヤ電極の経路に挿入した際の挿入状態を示すログデータ、前記ログデータから算出されたデータ、および前記制御パラメータを、状態変数として観測する状態観測ステップと、
前記状態変数に基づいて作成される訓練データセットに従って、前記ワイヤ電極の挿入の成功率である挿入率を高める前記制御パラメータを学習する学習ステップと、
を含み、
前記学習ステップは、
前記ログデータまたは前記ログデータから算出されたデータに基づいて報酬を計算する報酬計算ステップと、
前記報酬に基づいて、前記制御パラメータを決定するための関数を更新する関数更新ステップと、を有することを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワイヤ放電加工で用いられるワイヤ供給装置の制御パラメータを学習する機械学習装置、ワイヤ放電加工システム、および機械学習方法に関する。
【背景技術】
【０００２】
ワイヤ放電加工機は、ワイヤ電極を被加工物の孔または溝に挿入しワイヤ電極が結線された状態で、ワイヤ電極から放電することによって被加工物を加工する。ワイヤ放電加工機は、加工が完了するとワイヤ電極が切断され、次の加工開始位置でワイヤ電極が挿入されて結線される。ワイヤ電極の切断および結線は、ワイヤ放電加工機が備えるワイヤ供給装置が行う。【０００３】
ワイヤ供給装置は、ワイヤ電極の挿入経路上でワイヤ電極が引っ掛かったりすると、ワイヤ電極の挿入に失敗することがある。ワイヤ電極の挿入に失敗した場合には、挿入に成功して結線できるまでワイヤ電極の切断および挿入のリトライが行われる。すなわち、ワイヤ電極を結線するための１回の試行に対して複数回のリトライが行われる。そして、最大のリトライ回数以内に結線に成功した場合は、１回の試行が成功したと判断される。ワイヤ結線が実機評価される際の試行回数（切断および挿入の動作を試行した回数）に対する成功割合は、挿入率または結線率と呼ばれる。【０００４】
特許文献１のワイヤ放電加工機は、挿入率を向上させるために、挿入のリトライ位置およびリトライ回数のデータに基づいてリトライの原因を判定し、リトライの原因別に条件化されたパラメータセットの中から最適条件を選択している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１２９０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術では、ワイヤ線種毎に制御パラメータを準備しておく必要があるので、既知のワイヤ線種のワイヤ電極に対しては挿入率を向上させることができるが、制御パラメータが未登録のワイヤ線種のワイヤ電極に対しては挿入率を向上させることができないという問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、挿入するワイヤ電極のワイヤ線種の制御パラメータが登録されているか未登録であるかに関わらずワイヤ電極の挿入率を向上させることができる機械学習装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ワイヤ放電加工機のワイヤ電極を切断結線する条件を決定する制御パラメータを学習する機械学習装置であって、ワイヤ電極をワイヤ電極の経路に挿入した際の挿入状態を示すログデータ、ログデータから算出されたデータ、および制御パラメータを、状態変数として観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、ワイヤ電極の挿入の成功率である挿入率を高める制御パラメータを学習する学習部と、を備える。学習部は、ログデータまたはログデータから算出されたデータに基づいて報酬を計算する報酬計算部と、報酬に基づいて、制御パラメータを決定するための関数を更新する関数更新部と、を有する。
【発明の効果】
【０００９】
本発明にかかる機械学習装置は、挿入するワイヤ電極のワイヤ線種の制御パラメータが登録されているか未登録であるかに関わらずワイヤ電極の挿入率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる機械学習装置を備えたワイヤ放電加工システムの構成を示す図
【図２】実施の形態にかかる機械学習装置の構成を示す図
【図３】実施の形態にかかるワイヤ放電加工システムが備えるワイヤ供給装置の構成を示す図
【図４】実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第１段階を示すフローチャート
【図５】実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第２段階を示すフローチャート
【図６】実施の形態にかかる機械学習装置のハードウェア構成例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる機械学習装置、ワイヤ放電加工システム、および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、実施の形態にかかる機械学習装置を備えたワイヤ放電加工システムの構成を示す図である。図２は、実施の形態にかかる機械学習装置の構成を示す図である。図２では、機械学習装置４０と、ワイヤ放電加工機１０が備える制御装置２０とを図示している。
【００１３】
ワイヤ放電加工システム１は、ワイヤ放電加工機（ワイヤカット放電加工機）１０と、機械学習装置４０とを備えている。なお、機械学習装置４０は、ワイヤ放電加工機１０内に配置されてもよい。
【００１４】
ワイヤ放電加工機１０は、被加工物の孔または溝に挿入したワイヤ電極を放電させることによって被加工物を加工する。ワイヤ放電加工機１０は、制御装置２０と、ワイヤ供給装置３０とを備えている。ワイヤ供給装置３０は、ワイヤ電極の切断および挿入を行うことによって、ワイヤ電極の結線を行う装置である。ワイヤ供給装置３０は、ワイヤ電極を結線する際には、被加工物の孔または溝にワイヤ電極を挿入する。また、ワイヤ供給装置３０は、ワイヤ電極を結線する際には、ワイヤ電極をノズル（後述する上部ノズル３６Ａおよび下部ノズル３６Ｂ）などに挿入する。ワイヤ電極が被加工物の孔または溝に挿入され、かつワイヤ電極がノズルなどに挿入されることで、ワイヤ電極が結線される。ワイヤ電極は、ワイヤ供給装置３０の挿入経路の全ての挿入に成功することで結線される。結線は、ワイヤ電極が挿入経路の全ての挿入に成功した結果である。制御装置２０は、ワイヤ供給装置３０を制御する。なお、以下の説明では、ワイヤ電極の切断および結線を切断結線という場合がある。
【００１５】
機械学習装置４０は、ワイヤ供給装置３０がワイヤ電極を切断結線する際に用いる制御パラメータを学習することによって制御パラメータの自動調整を行う。制御パラメータは、ワイヤ電極を切断結線する条件を決定するパラメータである。すなわち、制御パラメータは、ワイヤ電極を挿入する条件を決定するパラメータ、およびワイヤ電極を切断する条件を決定するパラメータである。制御パラメータの例は、ワイヤ電極の挿入に用いられるアクチュエータを駆動するための駆動パラメータ、ワイヤ電極を切断する際に用いる電流値（以下、切断電流値という）である。機械学習装置４０は、ワイヤ供給装置３０によるワイヤ電極の挿入率（挿入の成功率）を向上させるとともに、挿入時間（挿入にかかる時間）を短縮することができる制御パラメータを学習する。これにより、機械学習装置４０は、制御パラメータの適正化を行う。
【００１６】
機械学習装置４０は、学習した制御パラメータをワイヤ放電加工機１０に設定する。機械学習装置４０は、目標とする挿入率以上となるまで、制御パラメータの学習を繰り返す。すなわち、ワイヤ放電加工システム１では、ワイヤ供給装置３０が機械学習装置４０によって学習された制御パラメータを用いてワイヤ電極の切断結線を行う処理と、ワイヤ電極の切断結線が行われた際の情報（後述するログデータ）に基づいて、機械学習装置４０が、制御パラメータを学習する処理と、が繰り返される。機械学習装置４０が学習し、ワイヤ放電加工機１０が用いる制御パラメータは１または複数である。
【００１７】
制御装置２０は、ワイヤ供給装置３０を含めた駆動部（図示せず）および電源（図示せず）の制御を行う。制御装置２０は、初期パラメータ設定部２１と、制御パラメータ保持部２２と、パラメータ設定部２３と、ワイヤ供給制御部２４と、制御信号出力部２５と、センサ信号入力部２６と、ログデータ記憶部２７と、データ入力部２８とを備えている。
【００１８】
初期パラメータ設定部２１は、制御パラメータの初期値を設定する。初期パラメータ設定部２１は、何れの方法によって制御パラメータの初期値を設定してもよい。初期パラメータ設定部２１は、ユーザからの指示に従って、制御パラメータの初期値を設定してもよいし、予め決められている制御パラメータを、制御パラメータの初期値に設定してもよい。初期パラメータ設定部２１は、制御パラメータを制御パラメータ保持部２２に格納することによって、制御パラメータを設定する。
【００１９】
制御パラメータ保持部２２は、データを記憶するメモリなどである。制御パラメータ保持部２２は、初期パラメータ設定部２１から送られてくる制御パラメータ（初期値）と、データ入力部２８を介して機械学習装置４０から送られてくる制御パラメータとを記憶する。
【００２０】
パラメータ設定部２３は、制御パラメータ保持部２２が記憶している制御パラメータのうち、最新の制御パラメータを読み出して、ワイヤ供給制御部２４に設定する。
【００２１】
ワイヤ供給制御部２４は、ワイヤ供給装置３０を制御する。ワイヤ供給制御部２４は、パラメータ設定部２３に設定された制御パラメータに基づいて、ワイヤ供給装置３０を制御するための制御信号を生成し、制御信号出力部２５に送る。また、ワイヤ供給制御部２４は、センサ信号入力部２６から後述のログデータを受け付けると、このログデータをログデータ記憶部２７に格納する。
【００２２】
制御信号出力部２５は、ワイヤ供給制御部２４から送られてきた制御信号をワイヤ供給装置３０に出力する。センサ信号入力部２６は、ワイヤ供給装置３０に配置されているセンサ（図示せず）が検出した情報を示すセンサ信号を受け付ける。センサは、モータのエンコーダが出力したパルス数などを検出する。ここでのモータは、ワイヤ電極の挿入に用いられるアクチュエータを駆動するためのモータである。エンコーダは、ワイヤ電極を送り込んだ際のパルス数と、引き戻した際のパルス数とを検出して出力する。センサ信号入力部２６は、センサ信号のログをログデータとして、ワイヤ供給制御部２４に入力する。
【００２３】
ログデータ記憶部２７は、ワイヤ供給制御部２４から送られてくるログデータを記憶するメモリなどである。ログデータ記憶部２７が記憶しているログデータは、機械学習装置４０のログデータ取得部４１によって読み出される。ログデータ記憶部２７は、内蔵メディア、外部ＵＳＢ（Universal  Serial  Bus）メモリなどである。
【００２４】
データ入力部２８は、機械学習装置４０のパラメータ出力部４８から送られてくる制御パラメータを受け付けて、制御パラメータ保持部２２に入力する。ワイヤ放電加工機１０は、機械学習装置４０から送られてくる制御パラメータ（後述する行動）に従って、ワイヤ電極を切断結線する。すなわち、機械学習装置４０から送られてくる行動は、次回ワイヤ電極を切断結線する際に用いられる制御パラメータである。
【００２５】
ワイヤ放電加工機１０では、ワイヤ電極を切断結線する際に、パラメータ設定部２３が、制御パラメータ保持部２２から制御パラメータ読み出して、ワイヤ供給制御部２４に設定する。これにより、ワイヤ供給制御部２４は、制御パラメータに基づいて、ワイヤ供給装置３０を制御する。ワイヤ供給装置３０は、制御信号出力部２５から送られてくる制御信号に基づいて、制御対象となっている各アクチュエータなどを駆動する。この時、制御装置２０は、ワイヤ供給装置３０のセンサからセンサ信号を取得する。ワイヤ供給制御部２４は、センサ信号を、フィードバック制御に用いるとともに、ログデータとしてログデータ記憶部２７に格納する。
【００２６】
機械学習装置４０は、ログデータ取得部４１と、学習条件設定部４２と、ログデータ分割部４３と、状態観測部４４と、学習部４５と、学習完了判定部４６と、学習結果記憶部４７と、パラメータ出力部４８とを備えている。
【００２７】
状態観測部４４は、第１状態観測部５１と、第２状態観測部５２と、第３状態観測部５３と、第４状態観測部５４とを有している。学習部４５は、第１報酬計算部６１と、第２報酬計算部６２と、第３報酬計算部６３と、第４報酬計算部６４とを有している。また、学習部４５は、第１関数更新部７１と、第２関数更新部７２と、第３関数更新部７３と、第４関数更新部７４とを有している。また、学習部４５は、第１パラメータ変更部８１と、第２パラメータ変更部８２と、第３パラメータ変更部８３と、第４パラメータ変更部８４とを有している。
【００２８】
ログデータ取得部４１は、制御装置２０のログデータ記憶部２７からログデータを読み出すことによって、ログデータを取得する。ログデータ取得部４１は、取得したログデータをログデータ分割部４３に送る。なお、ログデータ取得部４１は、何れの方法でログデータ記憶部２７からログデータを取得してもよい。ログデータ取得部４１は、例えば、ネットワーク経由でログデータ記憶部２７にアクセスし、ログデータを取得してもよい。ログデータは、ワイヤ電極をワイヤ電極の経路に挿入した際の挿入状態を示すデータである。挿入状態例は、ワイヤ電極を挿入経路に挿入した際の挿入結果（挿入の成功または失敗）である。また、挿入状態の他の例は、ワイヤ電極の送り量の算出または挿入時間の算出に用いられるセンサ信号のログである。
【００２９】
ログデータ分割部４３は、ログデータを、ワイヤ電極の区間毎のログデータに分割する。ワイヤ電極の挿入に用いられる制御パラメータは、ワイヤ電極の区間毎に異なる。このため、ログデータ分割部４３は、効率的な学習をするためにログデータを分割する。本実施の形態では、ワイヤ電極の区間が、第１区間、第２区間、第３区間、および第４区間の４つの区間である場合について説明するが、ワイヤ電極の区間は、３つ以下の区間であってもよいし、５つ以上の区間であってもよい。また、各区間は、何れの位置で分割されてもよい。機械学習装置４０は、区間毎に１または複数の制御パラメータを学習する。
【００３０】
ログデータ分割部４３は、ログデータを、第１区間のログデータである第１区間ログデータと、第２区間のログデータである第２区間ログデータと、第３区間のログデータである第３区間ログデータと、第４区間のログデータである第４区間ログデータとに分割する。
【００３１】
ログデータ分割部４３は、ログデータのうち、モータのエンコーダが出力したパルス数に基づいて、ワイヤ電極の送り量を算出する。ログデータ分割部４３は、区間毎にワイヤ電極の送り量を算出する。
【００３２】
ログデータ分割部４３は、挿入が失敗している区間に対して送り量を算出する。例えば、ワイヤ電極の第２区間の途中で挿入が失敗している場合、ログデータ分割部４３は、ワイヤ電極の第２区間内での送り量を算出する。すなわち、ログデータ分割部４３は、算出した送り量を、送り量に対応する区間ログデータに付与する。ログデータ分割部４３は、第２区間内での送り量を算出した場合には、第２区間内での送り量を、第２区間ログデータに含める。
【００３３】
また、ログデータ分割部４３は、結線に成功したか否かを示すログデータに基づいて、結線に成功したか否かを判定する。また、ログデータ分割部４３は、結線に成功していない場合、区間毎の送り量に基づいて、何れの区間で挿入が失敗したかを判定する。ログデータ分割部４３は、結線に成功したか失敗したかを、ワイヤ電極の切断結線の処理毎に判定する。例えば、ワイヤ放電加工システム１は、制御パラメータを学習する際に、後述する最大試行回数（特定回数）だけワイヤ電極の切断結線を繰り返し行う。ログデータ分割部４３は、各切断結線に対し、結線に成功したか失敗したかを判定する。
【００３４】
また、ログデータ分割部４３は、学習完了判定部４６から要求があった場合には、結線に成功したか否かの情報、および何れの区間で挿入を失敗したかを示す情報を生成して学習完了判定部４６に送る。以下の説明では、結線に成功したか否かの情報、および何れの区間で挿入を失敗したかを示す情報を、結線成否情報という。
【００３５】
また、ログデータ分割部４３は、学習完了判定部４６から特定区間で学習する指示（学習区間指令）を受け付けた場合、特定区間のログデータを生成する。特定区間は、学習完了判定部４６が、挿入に失敗した回数が多いと判断した区間である。
【００３６】
ワイヤ電極は、挿入経路上でワイヤ電極が引っかかった場合（ワイヤ電極を１回送り込みしてみて挿入できなかった場合）には、送り込みと引き戻しとが繰り返される。このため、ログデータには、ワイヤ電極の送り込みおよび引き戻しの履歴に基づいて作成された各区間におけるワイヤ電極の挿入の送り込み回数が含まれている。実施の形態における送り込みの処理は、各区間におけるリトライ（切断および挿入）のうちの挿入の処理に対応している。したがって、実施の形態の送り込み回数は、各区間におけるリトライの挿入回数に対応している。送り込み回数は、１回の結線処理（１回の試行）におけるワイヤ電極の送り込みの回数であり、１回の結線処理（１回の試行）に対して区間毎にカウントされる。
【００３７】
ログデータ分割部４３は、送り込み回数を、対応する区間ログデータに付与する。ログデータ分割部４３は、第２区間内での送り込み回数を算出した場合には、第２区間内での送り込み回数を、第２区間ログデータに含める。
【００３８】
また、ログデータ分割部４３は、モータのエンコーダが出力したパルス数およびワイヤ供給装置３０が数値制御（ＮＣ：Numerical  Control）される際のＮＣの処理周期に基づいて、区間毎の挿入時間を算出する。ワイヤ電極の挿入速度は、予めログデータ分割部４３に設定しておいてもよいし、ログデータ分割部４３が、ワイヤ放電加工機１０から取得してもよい。
【００３９】
ログデータ分割部４３は、算出した挿入時間を、挿入時間に対応する区間ログデータに付与する。ログデータ分割部４３は、第２区間内での挿入時間を算出した場合には、第２区間内での挿入時間を、第２区間ログデータに含める。
【００４０】
なお、以下の説明では、第１区間ログデータ、第２区間ログデータ、第３区間ログデータ、および第４区間ログデータを区別する必要が無い場合は、第１区間ログデータ、第２区間ログデータ、第３区間ログデータ、および第４区間ログデータを、区間ログデータという場合がある。各区間ログデータには、ワイヤ電極の送り量と、送り込み回数と、挿入時間と、が含まれている。
【００４１】
ログデータ分割部４３は、各区間ログデータを状態観測部４４に送る。ログデータ分割部４３は、第１区間ログデータを第１状態観測部５１に送り、第２区間ログデータを第２状態観測部５２に送る。また、ログデータ分割部４３は、第３区間ログデータを第３状態観測部５３に送り、第４区間ログデータを第４状態観測部５４に送る。
【００４２】
また、状態観測部４４は、パラメータ出力部４８から制御パラメータを受け付ける。パラメータ出力部４８から送られてくる制御パラメータは、ワイヤ放電加工機１０で用いられる制御パラメータであり、ログデータに対応している。パラメータ出力部４８から送られてくる制御パラメータは、第１状態観測部５１、第２状態観測部５２、第３状態観測部５３、および第４状態観測部５４に入力される。パラメータ出力部４８が状態観測部４４に送る制御パラメータの例は、切断電流値である。また、状態観測部４４は、第１区間ログデータから算出されたデータ、第２区間ログデータから算出されたデータ、第３区間ログデータから算出されたデータ、および第４区間ログデータから算出されたデータを受け付ける。第１区間ログデータから算出されたデータ、第２区間ログデータから算出されたデータ、第３区間ログデータから算出されたデータ、および第４区間ログデータから算出されたデータは、学習完了判定部４６によって算出されるワイヤ電極の挿入率、ログデータ分割部４３によって算出されるワイヤ電極の送り量、挿入時間などである。各区間のログデータから算出されたデータは、学習完了判定部４６からパラメータ出力部４８を介して状態観測部４４に送られ、第１状態観測部５１、第２状態観測部５２、第３状態観測部５３、および第４状態観測部５４に入力される。具体的には、第１区間ログデータから算出されたデータが、第１状態観測部５１に入力され、第２区間ログデータから算出されたデータが、第２状態観測部５２に入力される。また、第３区間ログデータから算出されたデータが、第３状態観測部５３に入力され、第４区間ログデータから算出されたデータが、第４状態観測部５４に入力される。
【００４３】
第１状態観測部５１は、第１区間ログデータ、第１区間ログデータから算出されたデータ、および制御パラメータを第１状態変数として観測し、第２状態観測部５２は、第２区間ログデータ、第２区間ログデータから算出されたデータ、および制御パラメータを第２状態変数として観測する。第３状態観測部５３は、第３区間ログデータ、第３区間ログデータから算出されたデータ、および制御パラメータを第３状態変数として観測し、第４状態観測部５４は、第４区間ログデータ、第４区間ログデータから算出されたデータ、および制御パラメータを第４状態変数として観測する。
【００４４】
第１状態観測部５１は、第１状態変数を第１報酬計算部６１に送り、第２状態観測部５２は、第２状態変数を第２報酬計算部６２に送り、第３状態観測部５３は、第３状態変数を第３報酬計算部６３に送り、第４状態観測部５４は、第４状態変数を第４報酬計算部６４に送る。なお、以下の説明では、第１状態変数、第２状態変数、第３状態変数、および第４状態変数を区別する必要が無い場合は、第１状態変数、第２状態変数、第３状態変数、および第４状態変数を、状態変数という場合がある。状態変数には、挿入率、ワイヤ電極の送り量、送り込み回数、挿入時間、および制御パラメータが含まれている。
【００４５】
学習部４５は、状態変数に基づいて作成される訓練データセットに従って、高い結線率を実現する制御パラメータを学習する。第１報酬計算部６１は、第１状態観測部５１および第１関数更新部７１に接続されており、第１関数更新部７１は、第１パラメータ変更部８１に接続されている。第２報酬計算部６２は、第２状態観測部５２および第２関数更新部７２に接続されており、第２関数更新部７２は、第２パラメータ変更部８２に接続されている。第３報酬計算部６３は、第３状態観測部５３および第３関数更新部７３に接続されており、第３関数更新部７３は、第３パラメータ変更部８３に接続されている。第４報酬計算部６４は、第４状態観測部５４および第４関数更新部７４に接続されており、第４関数更新部７４は、第４パラメータ変更部８４に接続されている。
【００４６】
第１報酬計算部６１と、第２報酬計算部６２と、第３報酬計算部６３と、第４報酬計算部６４とは、同様の処理を実行するので、ここでは第１報酬計算部６１が実行する処理について説明する。また、第１関数更新部７１と、第２関数更新部７２と、第３関数更新部７３と、第４関数更新部７４とは、同様の処理を実行するので、ここでは第１関数更新部７１が実行する処理について説明する。また、第１パラメータ変更部８１と、第２パラメータ変更部８２と、第３パラメータ変更部８３と、第４パラメータ変更部８４とは、同様の処理を実行するので、ここでは第１パラメータ変更部８１が実行する処理について説明する。
【００４７】
第１報酬計算部６１は、観測結果である第１状態変数に基づいて報酬を計算する。第１報酬計算部６１は、挿入率、ワイヤ電極の送り量、送り込み回数、および挿入時間の少なくとも１つに基づいて、報酬を計算する。第１報酬計算部６１は、挿入に失敗した場合は行動に対して報酬を減少させ、挿入に成功して結線が完了した場合は報酬を増大させる。ワイヤ放電加工システム１では、最大リトライ回数以内の送り込み回数でワイヤ電極を結線できた場合には挿入が成功であり、特定回数の送り込み回数ではワイヤ電極を結線できなかった場合には挿入が失敗である。すなわち、特定回数の送り込み回数までに結線できた場合は、挿入処理は、成功となる。
【００４８】
挿入処理の際には、ワイヤ電極の送り量が特定量まで送り出されることによって、挿入に成功する。このため、ワイヤ電極が挿入される場合において、ワイヤ電極の送り量が大きいほど挿入の成功に近く、ワイヤ電極の送り量が小さいほど挿入の失敗に近い。このため、第１報酬計算部６１は、ワイヤ電極の送り量が小さいほど報酬を減少させ、ワイヤ電極の送り量が大きいほど報酬を増大させる。また、第１報酬計算部６１は、送り込み回数が多いほど報酬を減少させ、送り込み回数が少ないほど報酬を増大させる。第１報酬計算部６１は、計算した報酬を第１関数更新部７１に送る。
【００４９】
第１関数更新部７１は、行動を決定するための関数を記憶しており、第１報酬計算部６１から送られてきた報酬に基づいて行動を決定するための関数を更新する。第１関数更新部７１は、関数を決定するパラメータを更新することによって、関数を更新する。第１関数更新部７１は、更新した関数を学習結果記憶部４７に格納する。学習部４５による学習処理の詳細については後述する。
【００５０】
第１パラメータ変更部８１は、学習結果記憶部４７に格納されている第１区間の関数を読み出す。第１パラメータ変更部８１は、第１区間の関数に基づいて、第１区間で用いる制御パラメータを変更する。第１パラメータ変更部８１は、変更後の制御パラメータを、学習完了判定部４６に送る。
【００５１】
学習結果記憶部４７は、第１関数更新部７１、第２関数更新部７２、第３関数更新部７３、および第４関数更新部７４が更新した関数を記憶するメモリなどである。学習結果記憶部４７は、第１関数更新部７１、第２関数更新部７２、第３関数更新部７３、および第４関数更新部７４に接続されている。また、学習結果記憶部４７は、第１パラメータ変更部８１、第２パラメータ変更部８２、第３パラメータ変更部８３、および第４パラメータ変更部８４に接続されている。
【００５２】
学習条件設定部４２は、ユーザからの指示に従って、制御パラメータの学習条件を設定する。学習条件の例は、挿入率の目標値、最大試行回数である。最大試行回数は、ワイヤ放電加工機１０が、設定された制御パラメータを用いて、ワイヤ電極の切断結線を繰り返す回数である。ワイヤ放電加工機１０は、最大試行回数だけワイヤ電極の切断結線を繰り返し、機械学習装置４０は、最大試行回数分のログデータを用いて挿入率を計算する。
【００５３】
学習完了判定部４６は、学習条件に基づいて、目標の挿入率に到達したか否かを判定する。学習完了判定部４６は、ログデータ分割部４３から、結線に成功したことを示す結線成否情報を受け付けると、全区間における挿入が１回成功したと判定する。一方、学習完了判定部４６は、ログデータ分割部４３から、結線に失敗したことを示す結線成否情報を受け付けると、挿入が１回失敗したと判定する。学習完了判定部４６は、挿入の成功または失敗を判定するたびに、挿入回数をカウントアップすることによって、挿入回数を数える。
【００５４】
学習完了判定部４６は、学習条件に設定されている最大試行回数までワイヤ電極の切断結線処理が繰り返された後、最大試行回数と、挿入に成功した回数とに基づいて、挿入率を算出する。なお、学習完了判定部４６は、最大試行回数と、挿入に失敗した回数とに基づいて、挿入率を算出してもよい。
【００５５】
学習完了判定部４６は、挿入率が目標値に到達したか否かを判定する。挿入率が目標値に到達するのは、切断結線が安定状態となった場合である。安定状態は、制御パラメータを特定の割合（例えば３％）で変動させた場合の挿入率の変動率が基準値以下である状態である。換言すると、安定状態は、挿入率の飽和状態である。
【００５６】
学習完了判定部４６は、挿入率が目標値に到達していないと判定した場合には、最大試行回数の切断結線が実行された間に、挿入に失敗した回数が最も多かった区間を判定する。学習完了判定部４６は、挿入に失敗した回数が最も多かった区間への学習指令（学習区間指令）を、ログデータ分割部４３に送る。また、学習完了判定部４６は、目標の挿入率に到達していないと判定した場合には、最新の制御パラメータを、ワイヤ放電加工機１０および状態観測部４４に送る。
【００５７】
また、学習完了判定部４６は、挿入率が目標値に到達したと判定した場合には、挿入率が１００％であるか否かを判定する。学習完了判定部４６は、挿入率が１００％であれば、ログデータ分割部４３に、挿入時間を短くする学習を指示する。また、学習完了判定部４６は、目標の挿入率に到達したと判定した場合には、最新の制御パラメータを、ワイヤ放電加工機１０および状態観測部４４に送る。また、学習完了判定部４６は、挿入率が１００％でない場合には、挿入時間を短くすることによって挿入率が低下することを防ぐため、学習が完了したことを示す情報（完了通知）をパラメータ出力部４８に送る。このように、機械学習装置４０は、学習後の挿入率が１００％である場合には、挿入時間を短くすることができる制御パラメータを学習し、学習後の挿入率が１００％未満である場合には、学習を完了する。
【００５８】
パラメータ出力部４８は、学習完了判定部４６から送られてきた制御パラメータを制御装置２０のデータ入力部２８および状態観測部４４に送る。また、パラメータ出力部４８は、学習完了判定部４６から送られてきた完了通知を制御装置２０のデータ入力部２８に送る。なお、パラメータ出力部４８とデータ入力部２８との間における制御パラメータおよび完了通知の受け渡しは、何れの方法で行われてもよい。パラメータ出力部４８は、ネットワーク経由で制御パラメータおよび完了通知をデータ入力部２８に送ってもよい。
【００５９】
このように、機械学習装置４０は、区間毎に、状態観測、報酬計算、関数の更新、制御パラメータの変更を行う。なお、機械学習装置４０は、ワイヤ電極を切断する際に用いる制御パラメータおよびワイヤ電極を挿入する際に用いる制御パラメータの何れか一方を学習してもよい。
【００６０】
つぎに、ワイヤ供給装置３０の構成について説明する。図３は、実施の形態にかかるワイヤ放電加工システムが備えるワイヤ供給装置の構成を示す図である。図３では、ワイヤ供給装置３０の断面図を示している。
【００６１】
ワイヤ供給装置３０は、ワイヤ電極９０を送り出しながら、被加工物９１をワイヤ放電加工する。ワイヤ供給装置３０は、被加工物９１に開けられた孔または溝に対し電極線であるワイヤ電極９０を挿入するための機構を備えている。被加工物９１への加工完了後、ワイヤ供給装置３０は、ワイヤ電極９０を切断し、次の加工開始位置にワイヤ電極９０を再度挿入する。
【００６２】
なお、加工中にワイヤ電極９０が断線した場合等にも、断線箇所の形状が不適切な形状となっている可能性があるので、ワイヤ供給装置３０は、ワイヤ電極９０を一度切断し、加工を再開するために再度孔または溝に挿入する。ワイヤ電極９０の先端部がワイヤ電極９０の直径よりも大きく膨らんでいる場合、ワイヤ電極９０の挿入が困難になるので、ワイヤ電極９０の先端部は膨らんでいない方がよい。ワイヤ供給装置３０が、適切な切断電流値でワイヤ電極９０を切断することによって、ワイヤ電極９０の電極線方向に垂直な方向の断面積を小さくすることができる。すなわち、ワイヤ供給装置３０が、適切な切断電流値でワイヤ電極９０を切断することによって、ワイヤ電極９０の先端部を尖らせることができる。
【００６３】
ワイヤ供給装置３０は、プリテンションローラ３１と、メインテンションローラ３２と、案内パイプ３３と、ワイヤ切断部３４と、カッタローラ３５と、上部ノズル３６Ａと、下部ノズル３６Ｂと、通過検出センサ３７と、下部パイプ３８と、回収ローラ３９とを備えている。
【００６４】
ワイヤボビン（図示せず）から送り出されたワイヤ電極９０は、プリテンションローラ３１およびメインテンションローラ３２を介して、案内パイプ３３まで送られる。案内パイプ３３は、ワイヤ電極９０の水平方向における位置を調整する。
【００６５】
ワイヤ切断部３４は、加工完了時などにワイヤ電極９０を切断する。メインテンションローラ３２から送り出されたワイヤ電極９０は、案内パイプ３３内を通ってワイヤ切断部３４の入口（ワイヤ電極９０の挿入口）まで送られ、ワイヤ切断部３４内を通って、カッタローラ３５まで送られる。ワイヤ切断部３４は、ワイヤ電極９０の切断箇所に切断電流を流すことによって発生する熱でワイヤ電極９０を切断する。このとき、ワイヤ電極９０に対し、メインテンションローラ３２とカッタローラ３５とでワイヤ電極９０の切断に適切な張力がかけられた状態で、ワイヤ切断部３４が、切断電流を加えることで、ワイヤ電極９０を切断する。このときの張力および切断電流は、挿入率を向上させる重要な因子（制御パラメータ）となる。
【００６６】
カッタローラ３５を出たワイヤ電極９０は、上部ノズル３６Ａの入口まで送られ、上部ノズル３６Ａ内を通って、被加工物９１の孔または溝に送られる。被加工物９１の孔または溝を出たワイヤ電極９０は、下部ノズル３６Ｂの入口まで送られ、下部ノズル３６Ｂ内を通って下部パイプ３８に送られ、下部パイプ３８内を通って回収ローラ３９に送られる。
【００６７】
ワイヤ電極９０は、被加工物９１の孔または溝を始点として被加工物９１を加工する。このとき、ワイヤ電極９０に対し、上部ノズル３６Ａと下部ノズル３６Ｂとでワイヤ電極９０の加工に適切な張力がかけられた状態で被加工物９１が加工される。このように、ワイヤ電極９０は、メインテンションローラ３２とカッタローラ３５との間に張架されるとともに、上部ノズル３６Ａと下部ノズル３６Ｂとの間に張架される。
【００６８】
下部パイプ３８は、下部ノズル３６Ｂを出たワイヤ電極９０を回収ローラ３９に導く。回収ローラ３９は、下部パイプ３８を介して送られてきたワイヤ電極９０を回収する。下部ノズル３６Ｂと下部パイプ３８との間のワイヤ電極９０の経路には、通過検出センサ３７が設けられている。通過検出センサ３７は、ワイヤ電極９０が、下部ノズル３６Ｂを通過しているか否かを検出する。
【００６９】
ワイヤ電極９０は、挿入される際に撓みなどが発生し、送り量に対応しない位置に先端部が移動している場合がある。このため、ワイヤ放電加工機１０は、通過検出センサ３７による検出結果に基づいて、ワイヤ電極９０が適切な経路に撓みなく挿入されているか否かを判断する。
【００７０】
ワイヤ電極９０のうち、ワイヤ切断部３４と上部ノズル３６Ａの入口との間が第１区間１０１であり、上部ノズル３６Ａの入口と下部ノズル３６Ｂの入口との間が第２区間１０２である。また、ワイヤ電極９０のうち、下部ノズル３６Ｂの入口から回収ローラ３９の入口までの間が第３区間１０３であり、回収ローラ３９の入口から出口までが第４区間１０４である。
【００７１】
ワイヤ供給装置３０にワイヤ電極９０を通す際には、ユーザが手動で、プリテンションローラ３１からワイヤ切断部３４までワイヤ電極９０を通す。ワイヤ電極９０がワイヤ切断部３４に差し込まれた後、ワイヤ供給装置３０が、ワイヤ電極９０の自動挿入を開始するとワイヤ電極９０がメインテンションローラ３２によって送り出され、回収ローラ３９まで送られる。これにより、ワイヤ供給装置３０によるワイヤ電極９０の結線が完了となる。
【００７２】
ワイヤ供給装置３０は、決められたシーケンスに従ってワイヤ電極９０を回収ローラ３９まで送るが、区間毎に搬送時の問題が異なる。第１区間１０１では、案内パイプ３３内のエアによってワイヤ電極９０が、カッタローラ３５側に搬送される。このときのエア流量が適切でないと、ワイヤ電極９０は、カッタローラ３５および上部ノズル３６Ａを通過することができない。案内パイプ３３内を流れるエアが弱すぎる（エア流量が少ない）場合、搬送力が不足するので、ワイヤ電極９０は、カッタローラ３５および上部ノズル３６Ａを通過することができない。また、案内パイプ３３内を流れるエアが強すぎる場合、ワイヤ電極９０が振れすぎるので、ワイヤ電極９０は、カッタローラ３５および上部ノズル３６Ａを通過することができない。
【００７３】
第２区間１０２では、ワイヤ電極９０の先端部が真直性を持った状態でないと、上部ノズル３６Ａおよび下部ノズル３６Ｂ内のダイヤモンドダイス（図なし）を通すことができない。ワイヤ電極９０の先端部が真直性を持った状態とは、ワイヤ電極９０の先端部が尖っている状態である。ワイヤ放電加工機１０は、ワイヤ電極９０を切断することで、ワイヤ電極９０の先端部の真直性を向上させ挿入しやすくしている。
【００７４】
また、第２区間１０２では、上部ノズル３６Ａと下部ノズル３６Ｂとの間にある被加工物９１の孔または溝にワイヤ電極９０を通す必要があるので、上部ノズル３６Ａから下部ノズル３６Ｂ側に出す水または油の流量がワイヤ電極９０の挿入に影響を与える。
【００７５】
第３区間１０３では、下部パイプ３８内を流れる水または油の流量によってワイヤ電極９０が搬送される。このときに下部パイプ３８内を流れる水または油の流量が弱すぎる（水または油が少ない）とワイヤ電極９０が搬送されない。また、下部パイプ３８内を流れる水または油の流量が強すぎると、水または油が回収ローラ３９付近から下部パイプ３８に向かって噴き出るといった問題が発生する。
【００７６】
第４区間１０４では、回収ローラ３９の手前付近でワイヤ電極９０側のワイヤ電極９０にエアを吹きつけることで、ワイヤ電極９０周りの水または油が除去される。このときのエアが強すぎると、ワイヤ電極９０を回収ローラ３９側へ搬送する力が、エアの力に負けてしまうので、ワイヤ電極９０を回収ローラ３９に挿入できない。このように、区間毎に挿入に影響を与える制御パラメータは異なっている。このため、パラメータ出力部４８は、状態観測部４４に対し、各区間に対応する制御パラメータを送ってもよい。例えば、パラメータ出力部４８は、第２状態観測部５２へは、上部ノズル３６Ａから下部ノズル３６Ｂ側に出す水または油の流量を、制御パラメータとして送り、第４状態観測部５４へは、ワイヤ電極９０へのエア流量を、制御パラメータとして送ってもよい。
【００７７】
前述した第１区間１０１から第４区間１０４までで、ワイヤ電極９０の挿入時に特に引っかかる恐れが高いのは、第２区間１０２である。ワイヤ電極９０の先端部が特定値以上の真直性を持ち、槍状となっていることで、ワイヤ電極９０を挿入しやすくなる。このため、挿入前に行うワイヤ電極９０の切断も挿入率を向上させる重要な要素となる。ワイヤ電極９０は、切断箇所に切断電流が流されることによって発生する熱で切断される。このとき、ワイヤ電極９０に対しメインテンションローラ３２とカッタローラ３５とでワイヤ電極９０に適切な張力をかけ、ワイヤ切断部３４が切断電流を加えることで、ワイヤ電極９０を切断する。このときの張力のパラメータ、および切断電流の制御パラメータは、挿入率を向上させる重要な要素となる。
【００７８】
このように、ワイヤ供給装置３０がワイヤ電極９０を結線する際には様々な機構が用いられる。ワイヤ供給装置３０では、各機構に対し機械的な調整がされ、且つ複数の制御パラメータを用いた制御によってワイヤ電極９０の搬送が行われる。これらの制御パラメータは、ワイヤ放電加工機１０のメーカ担当者の経験によって調整されていたが、本実施の形態では、メーカ担当者の調整方法を模した学習部４５によって、制御パラメータを適切な制御パラメータに設定する。
【００７９】
学習部４５は、挿入率が向上する制御パラメータを学習する。学習部４５は、挿入が失敗の場合には行動に対して報酬を減少させ、結線が完了（成功）した場合には報酬を増大させる。その後、学習部４５は、挿入時間が短くなるよう制御パラメータを学習する。学習部４５は、挿入時間が長くなれば報酬を減少させ、挿入時間が短くなれば報酬を増大させる。例えば、挿入率が１００％の安定状態となった場合に、学習部４５は、挿入時間が短くなる制御パラメータを学習する。
【００８０】
学習部４５にて学習した制御パラメータは、ワイヤ放電加工機１０に入力される。これにより、ワイヤ放電加工機１０は、学習部４５にて学習された制御パラメータを用いて、ワイヤ電極９０の切断結線を実行する。
【００８１】
状態観測部４４および学習部４５を備えた機械学習装置４０が用いる学習アルゴリズムは何れの学習アルゴリズムを用いてもよい。ここでは、一例として、強化学習（Reinforcement  Learning）を適用した場合について説明する。
【００８２】
強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Q-learning）またはＴＤ学習（TD-learning）が知られている。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式は、以下の式（１）で表される。行動価値関数Ｑ（ｓ，ａ）は、行動価値テーブルとも呼ばれる。
【００８３】
【数１】
0006661065.tif 000002
【００８４】
式（１）において、ｓtは時刻ｔにおける状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変わる。ｒt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。Ｑ学習を適用した場合、次回の切断結線で用いられる制御パラメータが行動ａtとなる。
【００８５】
Ｑ学習における式（１）で表される更新式は、時刻ｔ＋１における最良の行動ａの行動価値が、時刻ｔにおいて実行された行動ａの行動価値Ｑよりも大きければ、時刻ｔの行動価値Ｑを大きくし、逆の場合は、時刻ｔの行動価値Ｑを小さくする。換言すれば、時刻ｔにおける行動ａの行動価値Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
【００８６】
したがって、以下で説明する機械学習装置４０の動作において、制御パラメータの変更行動を時刻ｔにおける行動ａtとし、第１区間１０１、第２区間１０２、第３区間１０３および第４区間１０４の状態を時刻ｔにおける状態ｓtとすれば、機械学習装置４０がＱ学習を行っていると理解することができる。
【００８７】
第１報酬計算部６１は、第１状態変数に基づいて、制御パラメータの報酬を計算する。第１報酬計算部６１は、ワイヤ電極９０の挿入に成功した場合に報酬を増大させ、ワイヤ電極９０の挿入に失敗した場合に報酬を減少させる。第１報酬計算部６１は、ワイヤ電極９０の第１区間１０１への挿入に成功した場合に報酬を最大報酬とし、ワイヤ電極９０の第１区間１０１への挿入に失敗した場合に報酬を最小報酬とする。例えば、第１報酬計算部６１は、ワイヤ電極９０の挿入に成功した場合に「１」の報酬を与え、ワイヤ電極９０の第１区間１０１への挿入に失敗した場合に「−１」の報酬を与える。
【００８８】
第１報酬計算部６１は、計算した報酬を第１関数更新部７１に送る。第１関数更新部７１は、第１報酬計算部６１によって計算された報酬に従って行動（制御パラメータ）を決定するための関数を更新する。例えばＱ学習の場合、式（１）で表される行動価値関数Ｑ（ｓt，ａt）が、制御パラメータを計算するための関数であり、第１関数更新部７１によって更新される。
【００８９】
つぎに、機械学習装置４０による制御パラメータの計算処理手順について説明する。図４は、実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第１段階を示すフローチャートである。図５は、実施の形態にかかるワイヤ放電加工システムによる、制御パラメータの計算処理手順の第２段階を示すフローチャートである。
【００９０】
ワイヤ放電加工システム１では、ワイヤ放電加工機１０の初期パラメータ設定部２１が制御パラメータの初期値を設定する（ステップＳ１０）。すなわち、初期パラメータ設定部２１は、制御パラメータを制御パラメータ保持部２２に格納する。
【００９１】
ワイヤ電極９０の径および材質が近いワイヤ電極の制御パラメータが分かっている場合、この制御パラメータを初期値に設定することで学習が早く収束する。このため、ワイヤ供給装置３０の制御パラメータを自動調整する際の運用として、ワイヤ電極９０の径および材質が近いワイヤ電極の制御パラメータが選択されてもよい。なお、制御パラメータの初期値は、何れの方法によって設定されてもよい。
【００９２】
制御パラメータの初期値を設定した後、ワイヤ放電加工機１０は、ワイヤ電極９０を切断する（ステップＳ２０）。さらに、ワイヤ放電加工機１０は、ワイヤ電極９０の挿入を開始する（ステップＳ３０）。そして、機械学習装置４０は、挿入に失敗したか否かを判定する（ステップＳ４０）。具体的には、ログデータ分割部４３が、結線成否情報、またはワイヤ電極９０の送り量に基づいて、挿入に失敗したか否かを判定する。
【００９３】
挿入に失敗している場合、ログデータ分割部４３は、ログデータを、ワイヤ電極９０の区間毎のログデータである区間ログデータに分割する。ログデータ分割部４３は、第１区間ログデータを第１状態観測部５１に送り、第２区間ログデータを第２状態観測部５２に送る。また、ログデータ分割部４３は、第３区間ログデータを第３状態観測部５３に送り、第４区間ログデータを第４状態観測部５４に送る。
【００９４】
挿入に失敗している場合（ステップＳ４０、Ｙｅｓ）、ログデータ分割部４３は、第１区間１０１でワイヤ電極９０の挿入に失敗しているか否かを判定する（ステップＳ５０）。第１区間１０１でワイヤ電極９０の挿入に失敗している場合（ステップＳ５０、Ｙｅｓ）、ログデータ分割部４３は、ワイヤ電極９０の第１区間１０１内での送り量を含んだ第１区間ログデータを生成して、第１状態観測部５１に送る。
【００９５】
第１状態観測部５１は、第１区間ログデータおよび制御パラメータを第１状態変数として観測し、第１状態変数を第１報酬計算部６１に送る。第１報酬計算部６１は、観測結果である第１状態変数に基づいて報酬を計算する。このとき、第１報酬計算部６１は、結線優先で報酬を与え、第１関数更新部７１は、報酬に基づいて関数を更新し、第１パラメータ変更部８１は、関数に基づいて第１区間１０１の制御パラメータを調整する（ステップＳ６０）。結線優先とは、結線されたか否か（挿入に成功したか否か）を報酬決定の際の優先事項とすることである。第１報酬計算部６１は、結線された場合は高い報酬を与え、結線されていない場合は低い報酬を与える。このように、第１報酬計算部６１は、結線優先で学習を行う場合には、結線できること（ワイヤ電極９０が区間を通過できること）に高い報酬を与える。
【００９６】
第１区間１０１でワイヤ電極９０の挿入に失敗していない場合（ステップＳ５０、Ｎｏ）、ログデータ分割部４３は、第２区間１０２でワイヤ電極９０の挿入に失敗しているか否かを判定する（ステップＳ７０）。第２区間１０２でワイヤ電極９０の挿入に失敗している場合（ステップＳ７０、Ｙｅｓ）、ログデータ分割部４３は、ワイヤ電極９０の第２区間１０２内での送り量を含んだ第２区間ログデータを生成して、第２状態観測部５２に送る。
【００９７】
第２状態観測部５２は、第２区間ログデータおよび制御パラメータを第２状態変数として観測し、第２状態変数を第２報酬計算部６２に送る。第２報酬計算部６２は、観測結果である第２状態変数に基づいて報酬を計算する。このとき、第２報酬計算部６２は、結線優先で報酬を与え、第２関数更新部７２は、報酬に基づいて関数を更新し、第２パラメータ変更部８２は、関数に基づいて第２区間１０２の制御パラメータを調整する（ステップＳ８０）。
【００９８】
第２区間１０２でワイヤ電極９０の挿入に失敗していない場合（ステップＳ７０、Ｎｏ）、ログデータ分割部４３は、第３区間１０３でワイヤ電極９０の挿入に失敗しているか否かを判定する（ステップＳ９０）。第３区間１０３でワイヤ電極９０の挿入に失敗している場合（ステップＳ９０、Ｙｅｓ）、ログデータ分割部４３は、ワイヤ電極９０の第３区間１０３内での送り量を含んだ第３区間ログデータを生成して、第３状態観測部５３に送る。
【００９９】
第３状態観測部５３は、第３区間ログデータおよび制御パラメータを第３状態変数として観測し、第３状態変数を第３報酬計算部６３に送る。第３報酬計算部６３は、観測結果である第３状態変数に基づいて報酬を計算する。このとき、第３報酬計算部６３は、結線優先で報酬を与え、第３関数更新部７３は、報酬に基づいて関数を更新し、第３パラメータ変更部８３は、関数に基づいて第３区間１０３の制御パラメータを調整する（ステップＳ１００）。
【０１００】
第３区間１０３でワイヤ電極９０の挿入に失敗していない場合（ステップＳ９０、Ｎｏ）、ログデータ分割部４３は、ワイヤ電極９０の第４区間１０４内での送り量を含んだ第４区間ログデータを生成して、第４状態観測部５４に送る。
【０１０１】
第４状態観測部５４は、第４区間ログデータおよび制御パラメータを第４状態変数として観測し、第４状態変数を第４報酬計算部６４に送る。第４報酬計算部６４は、観測結果である第４状態変数に基づいて報酬を計算する。このとき、第４報酬計算部６４は、結線優先で報酬を与え、第４関数更新部７４は、報酬に基づいて関数を更新し、第４パラメータ変更部８４は、関数に基づいて第４区間１０４の制御パラメータを調整する（ステップＳ１１０）。このように、挿入が失敗となる場合には、学習部４５は、区間毎に制御パラメータの学習を行う。
【０１０２】
第１パラメータ変更部８１は、第１区間１０１の制御パラメータを調整した場合には、調整した第１区間１０１の制御パラメータを学習完了判定部４６に送る。第２パラメータ変更部８２は、第２区間１０２の制御パラメータを調整した場合には、調整した第２区間１０２の制御パラメータを学習完了判定部４６に送る。第３パラメータ変更部８３は、第３区間１０３の制御パラメータを調整した場合には、調整した第３区間１０３の制御パラメータを学習完了判定部４６に送る。第４パラメータ変更部８４は、第４区間１０４の制御パラメータを調整した場合には、調整した第４区間１０４の制御パラメータを学習完了判定部４６に送る。
【０１０３】
学習完了判定部４６は、送られてきた制御パラメータを、パラメータ出力部４８を介してワイヤ放電加工機１０および状態観測部４４に送る（ステップＳ１２０）。この後、ワイヤ放電加工システム１では、ステップＳ２０の処理に戻る。ワイヤ放電加工システム１は、ステップＳ４０において、挿入に成功したと判断できるまで、ステップＳ２０からＳ１２０の処理を繰り返す。
【０１０４】
また、ステップＳ４０において、挿入に成功している場合（ステップＳ４０、Ｎｏ）、学習完了判定部４６は、挿入の試行回数が最大試行回数を満たしたか否かを判定する（ステップＳ１３０）。
【０１０５】
挿入の試行回数が最大試行回数を満たしていない場合（ステップＳ１３０、Ｎｏ）、学習完了判定部４６は、現在の試行回数を、試行回数＋１とする（ステップＳ１４０）。学習完了判定部４６は、試行回数が最大試行回数を満たしていないことを、パラメータ出力部４８を介して、ワイヤ放電加工機１０に通知する。これにより、ワイヤ放電加工機１０は、最新の制御パラメータを用いて切断結線の試行処理を実行する。すなわち、ワイヤ放電加工機１０は、最新の制御パラメータを用いてワイヤ電極９０を切断する（ステップＳ１５０）。さらに、ワイヤ放電加工機１０は、最新の制御パラメータを用いてワイヤ電極９０の挿入を開始する（ステップＳ１６０）。また、学習完了判定部４６は、結線成否情報の取得要求をログデータ分割部４３に送る。
【０１０６】
挿入の試行処理が完了すると、ログデータ取得部４１が、ワイヤ放電加工機１０からログデータを取得してログデータ分割部４３に送る。ログデータ取得部４１は、ログデータから結線成否情報を生成して学習完了判定部４６に送る。
【０１０７】
この後、ワイヤ放電加工システム１は、ステップＳ１３０からＳ１６０の処理を繰り返す。学習完了判定部４６は、ワイヤ電極９０の挿入が完了するたびに、ログデータ分割部４３から結線成否情報を取得する。
【０１０８】
挿入の試行回数が最大試行回数を満たした場合（ステップＳ１３０、Ｙｅｓ）、学習完了判定部４６は、挿入率が目標値を満たしたか否かを判定する（ステップＳ１７０）。学習完了判定部４６は、最大試行回数と、挿入に成功した回数と、に基づいて挿入率を算出し、挿入率の目標値と比較する。挿入に成功した回数は、挿入の試行回数が最大試行回数となるまでの間に、挿入に成功した回数である。
【０１０９】
挿入率が目標値を満たしていない場合（ステップＳ１７０、Ｎｏ）、学習完了判定部４６は、挿入に失敗した回数が最も多い区間を判定する。学習完了判定部４６は、挿入に失敗した回数が最も多い区間を、ログデータ分割部４３に通知する。また、学習完了判定部４６は、最新の制御パラメータを、パラメータ出力部４８を介してワイヤ放電加工機１０および状態観測部４４に送る。これにより、ワイヤ放電加工機１０は、最新の制御パラメータを用いて切断結線を実行する。
【０１１０】
ログデータ分割部４３は、挿入に失敗した回数が最も多い区間の区間ログデータを生成し、状態観測部４４に送る。例えば、挿入に失敗した回数が最も多い区間が、第４区間１０４であったとする。この場合、学習完了判定部４６は、第４区間ログデータを生成し、第４状態観測部５４に送る。第４状態観測部５４は、第４区間ログデータおよび制御パラメータを第４状態変数として観測し、第４状態変数を第４報酬計算部６４に送る。第４報酬計算部６４は、観測結果である第４状態変数に基づいて報酬を計算する。このとき、第４報酬計算部６４は、結線優先で報酬を与え、第４関数更新部７４は、報酬に基づいて関数を更新し、第４パラメータ変更部８４は、関数に基づいて第４区間１０４の制御パラメータを調整する。このように、学習部４５は、挿入に失敗した回数が最も多い区間に対し、結線優先で報酬を与え制御パラメータを調整する（ステップＳ１８０）。
【０１１１】
第１パラメータ変更部８１、第２パラメータ変更部８２、第３パラメータ変更部８３、および第４パラメータ変更部８４の何れかが調整した制御パラメータは、学習完了判定部４６に送られる。
【０１１２】
学習完了判定部４６は、送られてきた制御パラメータを、パラメータ出力部４８を介してワイヤ放電加工機１０および状態観測部４４に送る（ステップＳ１９０）。また、学習完了判定部４６は、挿入の試行回数をクリアする（ステップＳ２００）。すなわち、学習完了判定部４６は、挿入の試行回数を０にする。また、学習完了判定部４６は、挿入率をクリアする。この後、ワイヤ放電加工システム１では、ステップＳ１３０からＳ２００の処理が繰り返される。
【０１１３】
挿入率が目標値を満たした場合（ステップＳ１７０、Ｙｅｓ）、学習完了判定部４６は、目標値を満たした挿入率が１００％であるか否かを判定する（ステップＳ２１０）。挿入率が１００％である場合（ステップＳ２１０、Ｙｅｓ）、学習完了判定部４６は、挿入率が１００％であることを、ログデータ分割部４３に通知する。また、学習完了判定部４６は、最新の制御パラメータを、パラメータ出力部４８を介してワイヤ放電加工機１０および状態観測部４４に送る。これにより、ワイヤ放電加工機１０は、最新の制御パラメータを用いて切断結線を実行する。
【０１１４】
ログデータ分割部４３は、各区間の区間ログデータを生成し、状態観測部４４に送る。状態観測部４４は、各区間の状態変数を学習部４５に送る。学習部４５は、状態変数に基づいて報酬を計算する。このとき、学習部４５は、時間優先で報酬を与え、報酬に基づいて関数を更新し、関数に基づいて各区間の制御パラメータを調整する。このように、学習部４５は、各区間に対し、時間優先で報酬を与え制御パラメータを調整する（ステップＳ２２０）。時間優先とは、挿入時間を報酬決定の際の優先事項とすることである。第１報酬計算部６１は、挿入時間が短い場合は高い報酬を与え、挿入時間が長い場合は低い報酬を与える。第１報酬計算部６１は、挿入時間が短くなった場合であっても挿入率が下がる場合には、報酬を減少させる。
【０１１５】
第１パラメータ変更部８１、第２パラメータ変更部８２、第３パラメータ変更部８３、および第４パラメータ変更部８４の何れかが調整した制御パラメータは、学習完了判定部４６に送られる。
【０１１６】
学習完了判定部４６は、送られてきた制御パラメータを、パラメータ出力部４８を介してワイヤ放電加工機１０およびログデータ分割部４３に送る（ステップＳ２３０）。また、学習完了判定部４６は、挿入の試行回数をクリアする（ステップＳ２４０）。すなわち、学習完了判定部４６は、挿入の試行回数を０にする。また、学習完了判定部４６は、挿入率をクリアする。この後、ワイヤ放電加工システム１では、ステップＳ１３０からＳ２４０の処理が繰り返される。
【０１１７】
挿入率が１００％でない場合（ステップＳ２１０、Ｎｏ）、ワイヤ放電加工システム１による制御パラメータの学習が完了する。なお、ワイヤ放電加工システム１は、目標値を満たした挿入率が１００％以外の特定割合以上（例えば、９５％）である場合に、ステップＳ２２０以降の処理に進んでよい。
【０１１８】
一般的に、ワイヤ放電加工では、ワイヤ電極が切断されてから挿入に成功するまでの間、ワイヤ放電加工機は、ワイヤ放電加工を実行できないので、ワイヤ電極の挿入率は生産性に直結する。また、ワイヤ供給装置は、予め設定された一連の制御パラメータに従ってワイヤ電極を切断結線するが、高確率で切断結線に成功する制御パラメータのマージンは小さい。このため、初期値として設定した制御パラメータでは、高確率で切断結線を行うことが困難であった。本実施の形態では、機械学習装置４０が、挿入率を向上させる制御パラメータを学習して決定するので、高確率で切断結線を行うことが可能となる。
【０１１９】
また、切断結線は、挿入率とともに、挿入時間も生産性に直結する要素となる。このため、ワイヤ供給装置による挿入時間を短くする制御パラメータを学習することが、生産性の向上につながる。本実施の形態では、機械学習装置４０が、挿入時間を短縮することができる制御パラメータを学習して決定するので、短時間で切断結線を行うことが可能となる。
【０１２０】
また、ワイヤ放電加工機は、材質の割合が異なるワイヤ電極を用いることがあるが、ワイヤ電極のワイヤ線種毎に適切な制御パラメータは異なる。このため、種々のワイヤ線種に対して、適切な制御パラメータを設定する必要がある。本実施の形態では、機械学習装置４０が、ワイヤ電極９０を切断結線させながら制御パラメータを学習して決定するので、制御パラメータが未登録のワイヤ線種のワイヤ電極９０に対しても適切な制御パラメータを設定することができる。
【０１２１】
ここで、機械学習装置４０のハードウェア構成について説明する。図６は、実施の形態にかかる機械学習装置のハードウェア構成例を示す図である。
【０１２２】
機械学習装置４０は、図６に示したプロセッサ３０１およびメモリ３０２により実現することができる。プロセッサ３０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ３０２の例は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）である。
【０１２３】
機械学習装置４０は、プロセッサ３０１が、メモリ３０２で記憶されている、機械学習装置４０の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、機械学習装置４０の手順または方法をコンピュータに実行させるものであるともいえる。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【０１２４】
なお、機械学習装置４０の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、制御装置２０を、図６に示したプロセッサ３０１およびメモリ３０２によって実現してもよい。
【０１２５】
本実施の形態では、機械学習装置４０が、強化学習を利用して機械学習する場合について説明したが、機械学習装置４０は、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【０１２６】
本実施の形態では、制御パラメータ保持部２２は、ワイヤ線種毎に制御パラメータを記憶している。パラメータ設定部２３は、制御パラメータ保持部２２が記憶している制御パラメータのうち、ユーザが指定したワイヤ線種の情報（ユーザによって制御装置２０に入力されたワイヤ線種の情報）に対応する最新の制御パラメータを、制御パラメータ保持部２２から読み出して、ワイヤ供給制御部２４に設定する。ところが、ユーザによって指定されたワイヤ線種の情報が制御パラメータ保持部２２に未登録の場合がある。この場合、パラメータ設定部２３は、ユーザによって指定されたワイヤ線種に類似するワイヤ線種を選択し、選択したワイヤ線種の情報に対応する制御パラメータを制御パラメータ保持部２２から読み出して、ワイヤ供給制御部２４に設定する。これにより、機械学習装置４０が、制御パラメータを学習していく。機械学習装置４０が学習した結果は、新たなワイヤ線種の情報として制御パラメータ保持部２２が記憶しておく。
【０１２７】
このように、実施の形態によれば、ワイヤ電極９０の挿入率を高める制御パラメータを学習するので、適切な制御パラメータが未登録の新規なワイヤ線種のワイヤ電極９０に対しても挿入率を向上させることができる。すなわち、挿入するワイヤ電極９０のワイヤ線種の制御パラメータが登録されているか未登録であるかに関わらずワイヤ電極９０の挿入率を向上させることができる。また、挿入率が安定状態となった後に、挿入時間を短くすることができる制御パラメータを学習するので、挿入率を維持しつつ挿入時間を短縮することができる。これにより、加工全体の効率化を図ることが可能となる。
【０１２８】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１２９】
１  ワイヤ放電加工システム、１０  ワイヤ放電加工機、２０  制御装置、２１  初期パラメータ設定部、２２  制御パラメータ保持部、２３  パラメータ設定部、２４  ワイヤ供給制御部、２５  制御信号出力部、２６  センサ信号入力部、２７  ログデータ記憶部、２８  データ入力部、３０  ワイヤ供給装置、３１  プリテンションローラ、３２  メインテンションローラ、３３  案内パイプ、３４  ワイヤ切断部、３５  カッタローラ、３６Ａ  上部ノズル、３６Ｂ  下部ノズル、３７  通過検出センサ、３８  下部パイプ、３９  回収ローラ、４０  機械学習装置、４１  ログデータ取得部、４２  学習条件設定部、４３  ログデータ分割部、４４  状態観測部、４５  学習部、４６  学習完了判定部、４７  学習結果記憶部、４８  パラメータ出力部、５１  第１状態観測部、５２  第２状態観測部、５３  第３状態観測部、５４  第４状態観測部、６１  第１報酬計算部、６２  第２報酬計算部、６３  第３報酬計算部、６４  第４報酬計算部、７１  第１関数更新部、７２  第２関数更新部、７３  第３関数更新部、７４  第４関数更新部、８１  第１パラメータ変更部、８２  第２パラメータ変更部、８３  第３パラメータ変更部、８４  第４パラメータ変更部、９０  ワイヤ電極、９１  被加工物、１０１  第１区間、１０２  第２区間、１０３  第３区間、１０４  第４区間、３０１  プロセッサ、３０２  メモリ。
【要約】
ワイヤ放電加工機（１０）のワイヤ電極（９０）を切断結線する条件を決定する制御パラメータを学習する機械学習装置（４０）が、ワイヤ電極（９０）をワイヤ電極（９０）の経路に挿入した際の挿入状態を示すログデータ、ログデータから算出されたデータ、および制御パラメータを、状態変数として観測する状態観測部（４４）と、状態変数に基づいて作成される訓練データセットに従って、ワイヤ電極（９０）の挿入の成功率である挿入率を高める制御パラメータを学習する学習部（４５）と、を備える。【図１】
0006661065.tif 000003
【図２】
0006661065.tif 000004
【図３】
0006661065.tif 000005
【図４】
0006661065.tif 000006
【図５】
0006661065.tif 000007
【図６】
0006661065.tif 000008