(57)【要約】【課題】複数台の工作機械で構成されたラインにおけるサイクルタイムの余裕時間を有効に活用できるような加工条件の調整が可能な加工条件調整装置及び機械学習装置を提供すること。【解決手段】本発明の加工条件調整装置１が備える機械学習装置１００は、製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び製造機械の１回の加工のサイクルタイムを示すサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、加工条件の調整が実施された場合における製造機械による１回の加工の適否判定結果を示す判定データを取得する判定データ取得部１０８と、状態変数と判定データとを用いて、加工条件データ及びサイクルタイムデータと、加工条件の調整とを関連付けて学習する学習部１１０と、を備える。【選択図】図２
2019082894.tif 000002
【特許請求の範囲】
【請求項１】
ラインを構成する複数の製造機械の加工条件を調整する加工条件調整装置であって、
前記製造機械に対する前記加工条件の調整を学習する機械学習装置を備え、
前記機械学習装置は、
前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工条件の調整が実施された場合における前記製造機械による１回の加工の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習する学習部と、
を備える加工条件調整装置。
【請求項２】
前記加工条件の調整は、前記製造機械による一回の加工のサイクルタイムが、前記複数の製造機械のそれぞれの１回の加工のサイクルタイムの内で最長のサイクルタイムに近づくようにした上で消費電力を抑えるものである、
請求項１に記載の加工条件調整装置。
【請求項３】
前記状態観測部は、更に前記製造機械による１回の加工における工具毎の加工量を示す加工量データを状態変数として観測し、
前記学習部は、前記状態変数と前記判定データとを用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習する学習部と、
請求項１または２に記載の加工条件調整装置。
【請求項４】
前記状態観測部は、更に前記製造機械による１回の加工における工具毎の加減速回数を示す加減速データを状態変数として観測する、
請求項１〜３のいずれか１つに記載の加工条件調整装置。
【請求項５】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整の価値を表す関数を更新する価値関数更新部と、
を備え、
前記報酬計算部は、前記製造機械による一回の加工のサイクルタイムが、前記複数の製造機械のそれぞれの１回の加工のサイクルタイムの内で最長のサイクルタイムに近づくようにした上で消費電力を抑えた場合に高い報酬を与える、
請求項１〜４のいずれか１つに記載の加工条件調整装置。
【請求項６】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜５のいずれか１つに記載の加工条件調整装置。
【請求項７】
ラインを構成する複数の製造機械の加工条件を調整する加工条件調整装置であって、
前記製造機械に対する前記加工条件の調整を学習した機械学習装置を備え、
前記機械学習装置は、
前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記加工条件の調整指令を出力する調整指令出力部と
を備える加工条件調整装置。
【請求項８】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜７のいずれか１つに記載の加工条件調整装置。
【請求項９】
ラインを構成する複数の製造機械の加工条件の調整を学習する機械学習装置であって、
前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工条件の調整が実施された場合における前記製造機械による１回の加工の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習する学習部と、
を備える機械学習装置。
【請求項１０】
ラインを構成する複数の製造機械の加工条件の調整を学習した機械学習装置であって、
前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記加工条件の調整指令を出力する調整指令出力部と
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工条件調整装置及び機械学習装置に関し、特に複数の工作機械の加工条件を決定する運転計画装置及び機械学習装置に関する。
【背景技術】
【０００２】
一般的に工作機械を使用して部品の加工を行うユーザが多量の量産部品などを加工する場合には、生産性を重視してより短いサイクルタイムで加工することを重要視して、加工精度を維持できる範囲内でより加工時間が短くなるように厳しい加工条件で加工を行う。しかしながら、複数台の工作機械で構成されたラインで加工工程をそれぞれの工作機械に分割して部品の加工をする場合、最もサイクルタイムが長い工作機械がボトルネックとなり、他の工作機械のサイクルタイムを短縮したとしても全体的なサイクルタイムを短くすることができない。
【０００３】
例えば、図８に示すように、４つの工作機械で順に加工を行い最終的な製品を作成するラインにおいて、工程２での加工等に掛かる時間であるサイクルタイム２が最も長い場合、工程２で用いる工作機械による前の加工が完了していなければ工程１で加工されたワークを加工することができないため、たとえ工程１での加工等に掛かる時間であるサイクルタイム１が短くなるように工程１で用いる工作機械に対して厳しい加工条件を設定したとしても、工程１と工程２の間に工程２での加工待ちのワークが増えるだけでライン全体でのサイクルタイムが大幅に短くなることは無い。また、工程３での加工対象となるワークは工程２での加工が終わらなければ流れてこないので、たとえ工程３での加工等に係る時間であるサイクルタイム３が短くなるように工程３で用いる工作機械に対して厳しい加工条件を設定したとしても、工程３の工作機械の加工の空き時間が増えるだけでやはりライン全体でのサイクルタイムが大幅に短くなることは無い。そこで、このようなラインでは最もサイクルタイムが長い工作機械に合わせたサイクルタイムで加工するように他の工作機械の加工条件を抑え、その分サイクルタイムの短縮以外の目的（例えば、加工精度の向上、工具等の寿命の維持、消費電力の低減等）で加工条件を調整することが行われる。
【０００４】
加工条件を調整するための従来技術として、例えば特許文献１には、工作機械全体の消費電力量を最適に抑える技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４６４３７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば消費電力の低減を重視して加工条件を調整する場合、一般的には切削送り速度や主軸回転数を落とす等の変更を加工条件に加える。しかしながら、加工プログラムに基づく加工運転では、フライス加工、ドリル加工、タップ加工、その他にも様々な加工が様々な加工工具によって行われており、それぞれの加工方法、加工に用いる工具等によって消費される電力量は異なる。また、消費電力の低減を目的として加減速を遅くした結果、軸の移動時間が延びて全体的な消費電力が多くなる、等といった様に、消費電力量には様々な条件が複雑に関係しているため、いずれの加工条件をどのように変更すれば、複数台の工作機械で構成されたラインにおけるサイクルタイムの余裕時間の中で最も効果的に消費電力の低減が出来るのかを知ることは難しい。
【０００７】
そこで本発明の目的は、複数台の工作機械で構成されたラインにおけるサイクルタイムの余裕時間を有効に活用できるような加工条件の調整が可能な加工条件調整装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、複数の製造機械の加工条件を設定する加工条件調整装置に対して、製造機械の加工に用いられる工具毎の加工条件（主軸回転数、切削送り速度等）、サイクルタイム等の状態データに基づいて消費電力及びサイクルタイムを考慮した学習モデルを構築する機械学習装置を導入する。本発明の加工条件調整装置では、機械学習器による学習結果としての学習モデルを用いて、製造機械から得られる状態データに基づいた加工条件の調整を行い、調整した加工条件に基づく加工運転を実行した結果の消費電力及びサイクルタイムを判定データとして加工条件の調整内容を評価することができる。
【０００９】
そして、本発明の一態様は、ラインを構成する複数の製造機械の加工条件を調整する加工条件調整装置であって、前記製造機械に対する前記加工条件の調整を学習する機械学習装置を備え、前記機械学習装置は、前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記加工条件の調整が実施された場合における前記製造機械による１回の加工の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習する学習部と、を備える加工条件調整装置である。
【００１０】
本発明の他の態様は、ラインを構成する複数の製造機械の加工条件の調整を学習する機械学習装置であって、前記製造機械による加工に用いられる使用工具毎の加工条件を示す加工条件データ、及び前記製造機械の１回の加工のサイクルタイムに係るサイクルタイムデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記加工条件の調整が実施された場合における前記製造機械による１回の加工の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記加工条件データ及び前記サイクルタイムデータと、前記加工条件の調整とを関連付けて学習する学習部と、を備える機械学習装置である。
【発明の効果】
【００１１】
本発明により、複数の製造機械を使用した加工ラインにおいて、最も長いサイクルタイムの製造機械と同等またはより短いサイクルタイムを目標として、その他の製造機械の加工を最も消費電力を抑えた加工条件で行うことができ、結果加工ライン全体として省エネルギーに繋がる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による加工条件調整装置の概略的なハードウェア構成図である。
【図２】第１の実施形態による加工条件調整装置の概略的な機能ブロック図である。
【図３】加工条件データについて説明する図である。
【図４】加工条件調整装置の一形態を示す概略的な機能ブロック図である。
【図５】機械学習方法の一形態を示す概略的なフローチャートである。
【図６Ａ】ニューロンを説明する図である。
【図６Ｂ】ニューラルネットワークを説明する図である。
【図７】加工条件調整装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【図８】製造機械のラインにおいて発生する課題について説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による加工条件調整装置の要部を示す概略的なハードウェア構成図である。加工条件調整装置１は、例えば工作機械等の製造機械を制御する制御装置の一部として実装することができる。また、加工条件調整装置１は、例えばセルコンピュータやホストコンピュータ、クラウドサーバ等の、ネットワークを介して製造機械と接続されるコンピュータの一部として実装することができる。本実施形態による加工条件調整装置１が備えるＣＰＵ１１は、加工条件調整装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って加工条件調整装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、加工条件調整装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、図示しない入力部を介してオペレータが入力した各種データや、有線／無線のネットワーク１７２に接続された製造機械７０からインタフェース１８を介して取得された各種データ（例えば、製造機械７０が実行する加工プログラムや、製造機械７０で検出された消費電力乃至消費電流等）、図示しないインタフェースを介して入力されたプログラムなどが記憶されている。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、公知の解析プログラムなどの各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１５】
製造機械７０は、加工条件調整装置１が消費電力の調整の対象としているラインを構成するものである。製造機械７０は、例えば工作機械、放電加工機、射出成形機等の加工機であって良い。製造機械７０は、ＣＰＵ１１からの指令をインタフェース１８、ネットワーク１７２を介して受け、加工運転時に用いられる加工条件等を設定することが出来るようになっている。また、製造機械７０は、加工運転に用いられる加工プログラム、各部に設けられた電力測定装置、電流測定装置等により測定された測定値をネットワーク１７２，インタフェース１８を介してＣＰＵ１１へと通知する。
【００１６】
インタフェース２１は、加工条件調整装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して加工条件調整装置１で取得可能な各情報（例えば、製造機械７０が実行する加工プログラムや、製造機械７０で検出された消費電力乃至消費電流等）を観測することができる。また、加工条件調整装置１は、機械学習装置１００から出力される、製造機械７０の加工条件の調整指令を受けて、製造機械７０を制御する。
【００１７】
図２は、第１の実施形態による加工条件調整装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した加工条件調整装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、加工条件調整装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００１８】
本実施形態の加工条件調整装置１は、機械学習装置１００から出力された調整指令に基づいて製造機械７０の加工運転における加工条件を調整する加工条件調整部３４を備える。加工条件調整部３４が調整する製造機械７０の加工運転における加工条件は、例えば、製造機械７０で行われる加工運転における使用工具毎の主軸回転数や切削送り速度等が例示されるが、これに限定されるものではなく、製造機械７０が備える機能や仕様等によって調整可能な加工条件を出力できるようにしても良い。
【００１９】
本実施形態の機械学習装置１００は、製造機械７０による加工に用いられる使用工具毎の加工条件に対する、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。加工条件調整装置１が備える機械学習装置１００が学習するものは、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと、製造機械７０による加工に用いられる使用工具毎の加工条件の調整との、相関性を表すモデル構造に相当する。
【００２０】
図２に機能ブロックで示すように、加工条件調整装置１が備える機械学習装置１００は、製造機械７０による加工に用いられる使用工具毎の加工条件を示す加工条件データＳ１、及び製造機械７０による１回の加工のサイクルタイムに係るサイクルタイムデータＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、製造機械７０による加工に用いられる使用工具毎の加工条件の調整が実施された場合における製造機械７０による加工運転で消費される電力を示す消費電力データＤ１及び製造機械７０による加工運転におけるサイクルタイムを示すサイクルタイム判定データＤ２を含む判定データＤを取得する判定データ取得部１０８と、状態変数Ｓと判定データＤとを用いて、製造機械７０による加工に用いられる使用工具毎の加工条件に、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を関連付けて学習する学習部１１０とを備える。
【００２１】
状態観測部１０６が観測する状態変数Ｓのうち、加工条件データＳ１は、製造機械７０による加工運転に用いられる使用工具毎の加工条件のセットとして取得することができる。製造機械７０による加工運転に用いられる使用工具毎の加工条件としては、主軸回転数や切削送り速度等が例示される。製造機械７０による加工運転に用いられる使用工具毎の加工条件は、製造機械７０で実行される加工プログラムや、製造機械７０に設定されたパラメータ等から取得できる。例えば、図３に例示される加工プログラムから加工条件データＳ１を取得する場合、加工プログラムを解析し、工具交換指令から加工に用いられる工具を特定し、また、主軸速度指令Ｓ、送り速度指令Ｆ等からそれぞれの工具による加工の主軸速度及び切削送り速度を特定すれば良く、また、加工プログラム内に明示的に指定されていない加工条件については製造機械７０に設定されたパラメータ等から取得することができる（図３の例では、パラメータに主軸回転数のデフォルト値ａａａａ、送り速度のデフォルト値ｂｂｂｂが設定されており、この値が工具１の加工条件として特定される）。このようにして得られた製造機械７０で加工に用いられる各工具の加工条件に係るデータの組を加工条件データＳ１として用いればよい。
【００２２】
状態観測部１０６が観測する状態変数Ｓのうち、サイクルタイムデータＳ２は、製造機械７０による１回の加工のサイクルタイムとして取得することができる。サイクルタイムデータＳ２は、製造機械７０による１回の加工のサイクルタイムとしても良く、また、製造機械７０による１回の加工のサイクルタイムとラインを構成する複数の製造機械のそれぞれのサイクルタイムの内で最も長いサイクルタイム（以下、最長サイクルタイムとする）との差分（余裕時間）としても良い。更に、サイクルタイムデータＳ２には、それぞれの使用工具による個々のサイクルタイムの行列値を追加しても良い。
【００２３】
加工条件データＳ１及びサイクルタイムデータＳ２は、ラインを構成する各製造機械７０からオンラインで取得することができる。また、加工条件データＳ１及びサイクルタイムデータＳ２は、過去に行われた加工において用いられた加工プログラムから取得するようにしても良い。後者の場合、リアルタイムで消費電力やサイクルタイムの妥当性を判定することはできないが、例えば公知のシミュレーション装置を併用し、シミュレーションの結果から消費電力やサイクルタイムの推定値を取得して学習を進めることができる。
【００２４】
加工条件データＳ１は、機械学習装置１００が学習部１１０の学習結果に基づいて１つ前の学習周期に製造機械７０で用いられていた各工具の加工条件に対して、当該学習周期において決定した製造機械７０による加工に用いられる使用工具毎の加工条件の調整を適用した結果をそのまま用いることができ、このような手法を取る場合には、機械学習装置１００は加工条件データＳ１に対して製造機械７０による加工に用いられる使用工具毎の加工条件の調整した結果を学習周期毎にＲＡＭ１０３に一時的に記憶しておき、状態観測部１０６は、ＲＡＭ１０３から１つ前の学習周期における加工条件データＳ１に対して機械学習装置１００が決定した製造機械７０による加工に用いられる使用工具毎の加工条件の調整を適用した値を今学習周期の加工条件データＳ１として取得するようにしても良い。
【００２５】
判定データ取得部１０８は、消費電力データＤ１として、製造機械７０による加工に用いられる使用工具毎の加工条件の調整が実施された場合における製造機械７０による加工運転で消費される電力を用いることができる。判定データ取得部１０８が用いる消費電力データＤ１としては、製造機械７０に取り付けられた電力測定装置や電流測定装置から取得された測定値に基づいて算出された製造機械７０の１回の加工において消費された電力値を用いるようにしても良い。消費電力データＤ１は、例えば予め定めた基準消費電力値と比較して消費電力をどれだけ下げることができたかを示す指標として用いても良い。または、消費電力データＤ１は、１つ前の学習周期において行われた加工時の消費電力と比較して、今回の学習周期において行われた加工時の消費電力をどれだけ下げることができたかを示す指標として用いても良い。
【００２６】
また、判定データ取得部１０８は、サイクルタイム判定データＤ２として、製造機械７０による加工に用いられる使用工具毎の加工条件の調整が実施された場合における製造機械７０による加工運転におけるサイクルタイムを用いることができる。判定データ取得部１０８が用いるサイクルタイム判定データＤ２としては、製造機械７０において計測された１回の加工に掛かった時間を用いるようにしても良い。サイクルタイム判定データＤ２は、ラインに接続された複数の製造機械７０のそれぞれで最初の加工において計測された１回の加工に掛かるサイクルタイム（個別の製造機械７０のサイクルタイム）の内で最も長いサイクルタイム（最長サイクルタイム）に対して、どれだけ近づけることができたかを示す指標として用いても良い。
【００２７】
学習部１１０に対して同時に入力される状態変数Ｓは、学習部１１０による学習周期で考えた場合、判定データＤが取得された１学習周期前のデータに基づくものとなる。このように、加工条件調整装置１が備える機械学習装置１００が学習を進める間、環境においては、加工条件データＳ１及びサイクルデータＳ２の取得、加工条件データＳ１及びサイクルデータＳ２に基づいた製造機械７０の加工条件の調整の実行、判定データＤの取得が繰り返し実施される。
【００２８】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムに対する、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を学習する。学習部１１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムに対する製造機械７０による加工に用いられる使用工具毎の加工条件の調整の学習サイクルの反復中、状態変数Ｓのうち、加工条件データＳ１は、上記したように１学習周期前において加工条件の調整が為された各工具の加工条件から取得し、サイクルタイムデータＳ２は調整された加工条件の下での加工時間を計測することで取得し、また判定データＤは、調整された加工条件に基づいて行われた１回の加工の適否判定結果とする。
【００２９】
このような学習サイクルを繰り返すことにより、学習部１１０は、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと該状態に対する製造機械７０による加工に用いられる使用工具毎の加工条件の調整との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと、製造機械７０による加工に用いられる使用工具毎の加工条件の調整との相関性は実質的に未知であるが、学習部１１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと製造機械７０による加工に用いられる使用工具毎の加工条件の調整との相関性が、ある程度信頼できる水準まで解釈されると、学習部１１０が反復出力する学習結果は、現在状態（つまり製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイム）に対して、製造機械７０による加工に用いられる使用工具毎の加工条件の調整をどうするべきかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部１１０は、学習アルゴリズムの進行に伴い、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと、当該状態に対して製造機械７０による加工に用いられる使用工具毎の加工条件の調整をどのような値とするべきかという行動との、相関性を最適解に徐々に近づけることができる。
【００３０】
調整指令出力部１２２は、学習部１１０が学習した結果に基づいて、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を決定し、決定した調整の内容を指令として加工条件調整部３４へと出力する。調整指令出力部１２２は、学習部１１０による学習が完了した状態において、機械学習装置１００に製造機械７０による加工に用いられる使用工具毎の加工条件が入力されると、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の指令を出力する。
【００３１】
上記したように、加工条件調整装置１が備える機械学習装置１００は、状態観測部１０６が観測した状態変数Ｓと判定データ取得部１０８が取得した判定データＤとを用いて、学習部１１０が機械学習アルゴリズムに従い、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を学習するものである。状態変数Ｓは、加工条件データＳ１、サイクルタイムデータＳ２といったデータで構成され、また判定データＤは、加工条件調整装置１が製造機械７０から取得した情報を解析することで一義的に求められる。したがって、加工条件調整装置１が備える機械学習装置１００によれば、学習部１１０の学習結果を用いることで、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムに応じた、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を、自動的かつ正確に行うことが可能となる。
【００３２】
そして、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を、自動的に行うことができれば、製造機械７０による加工に用いられる使用工具毎の加工条件（加工条件Ｓ１）及び製造機械７０による１回の加工のサイクルタイム（サイクルタイムデータＳ２）を把握するだけで、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の適切な値を迅速に決定することができる。したがって、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の決定を効率よく行うことができる。
【００３３】
加工条件調整装置１が備える機械学習装置１００の一変形例として、状態観測部１０６は状態変数Ｓとして、更に製造機械７０による１回の加工における工具毎の加工量を示す加工量データＳ３を観測するようにしても良い。加工量データＳ３は、例えば加工プログラムの解析結果に基づいて、工具毎に切削送りの距離の合計を算出した値としてもよい。
【００３４】
上記変形例によれば、機械学習装置１００は、製造機械７０による加工に用いられる使用工具毎の加工条件（加工条件データＳ１）、製造機械７０による１回の加工のサイクルタイム（サイクルタイムデータＳ２）及び製造機械７０による加工に用いられる使用工具毎の加工量（加工量データＳ３）に対して、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を決定することができるようになり、より精度の高い加工条件の調整を行わせることができるようになる。
【００３５】
加工条件調整装置１が備える機械学習装置１００の他の変形例として、状態観測部１０６は状態変数Ｓとして、更に製造機械７０による１回の加工における工具毎の加減速回数を示す加減速データＳ４を観測するようにしても良い。加減速データＳ４は、加工プログラムの解析結果に基づいて、工具毎に切削送りの回数×２（加速と減速）の合計を算出した値としてもよい。
【００３６】
上記変形例によれば、機械学習装置１００は、他の状態変数Ｓ及び製造機械７０による加工に用いられる使用工具毎の加減速（加減速データＳ４）に対して、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を決定することができるようになり、より精度の高い加工条件の調整を行わせることができるようになる。
【００３７】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図４は、図２に示す加工条件調整装置１の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部１１０を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置では製造機械７０による加工に用いられる使用工具毎の加工条件の調整）を最適解として学習する手法である。
【００３８】
図４に示す加工条件調整装置１が備える機械学習装置１００において、学習部１１０は、状態変数Ｓに基づいて製造機械７０による加工に用いられる使用工具毎の加工条件の調整が実施された場合における製造機械７０による１回の加工の適否判定結果（状態変数Ｓが取得された次の学習周期で用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部１１２と、報酬Ｒを用いて、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の価値を表す関数Ｑを更新する価値関数更新部１１４とを備える。学習部１１０は、価値関数更新部１１４が関数Ｑの更新を繰り返すことによって製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムに対する製造機械７０による加工に用いられる使用工具毎の加工条件の調整を学習する。
【００３９】
学習部１１０が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００４０】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００４１】
【数１】
2019082894.tif 000003
【００４２】
学習部１１０がＱ学習を実行する場合、状態観測部１０６が観測した状態変数Ｓ及び判定データ取得部１０８が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイム）に対する製造機械７０による加工に用いられる使用工具毎の加工条件の調整をどのように決定するべきかという行動は、更新式の行動ａに該当し、報酬計算部１１２が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部１１４は、現在状態に対する製造機械７０による加工に用いられる使用工具毎の加工条件の調整の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００４３】
報酬計算部１１２が求める報酬Ｒは、例えば、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を決定した後に決定した加工条件の調整に基づいて製造機械７０の加工条件の調整が為された時に、製造機械７０による１回の加工の適否判定結果が「適」と判定される場合（例えば、製造機械７０での１回の加工における消費電力が予め定めた基準消費電力と比べて下がった場合、製造機械７０での１回の加工における消費電力が調整前の加工条件に基づく製造機械７０での１回の加工における消費電力と比べて下がった場合、製造機械７０での１回の加工におけるサイクルタイムが最長サイクルタイムに近づいた場合等）に正（プラス）の報酬Ｒとし、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を決定した後に決定した加工条件の調整に基づいて製造機械７０の加工条件の調整が為された時に、製造機械７０の稼働状態の適否判定結果が「否」と判定される場合（例えば、製造機械７０での１回の加工における消費電力が予め定めた基準消費電力を上回った場合、製造機械７０での１回の加工における消費電力が調整前の加工条件に基づく製造機械７０での１回の加工における消費電力を上回った場合、製造機械７０での１回の加工におけるサイクルタイムが最長サイクルタイムから遠ざかった場合等）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００４４】
また、製造機械７０による１回の加工の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、製造機械７０での１回の加工における基準消費電力がＰmaxの場合、製造機械７０での１回の加工における消費電力Ｐが、０≦Ｐ＜Ｐmax／５のときは報酬Ｒ＝５を与え、Ｐmax／５≦Ｐ＜Ｔmax／２のときは報酬Ｒ＝３を与え、Ｐmax／２≦Ｐ＜Ｐmaxのときは報酬Ｒ＝２を、Ｐmax≦Ｐのときは報酬Ｒ＝１を与えるような構成とすることができる。また、例えば製造機械７０での１回の加工におけるサイクルタイムが最長サイクルタイムを上回った場合等には、大きなマイナス報酬を与える、といったように、学習の目的に合せて報酬の付与を適宜調整しても良い。更に、学習の初期段階はＰmaxを比較的大きく設定し、学習が進行するにつれてＰmaxを縮小する構成とすることもできる。
【００４５】
価値関数更新部１１４は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部１１４が関数Ｑを更新するという行為は、価値関数更新部１１４が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と製造機械７０による加工に用いられる使用工具毎の加工条件の調整との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部１１２は、判定データＤが分かれば、これに対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００４６】
製造機械７０の稼働状態の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動（本発明の場合、より製造機械７０による一回の加工のサイクルタイムを最長サイクルタイムに近づくようにした上で消費電力を抑える行動）ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイム）とそれに対する行動（製造機械７０による加工に用いられる使用工具毎の加工条件の調整）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、製造機械７０による加工に用いられる使用工具毎の加工条件及び製造機械７０による１回の加工のサイクルタイムと、製造機械７０による加工に用いられる使用工具毎の加工条件の調整との関係が最適解に徐々に近づけられる。
【００４７】
図５を参照して、学習部１１０が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部１１４は、その時点での行動価値テーブルを参照しながら、状態観測部１０６が観測した状態変数Ｓが示す現在状態で行う行動として製造機械７０による加工に用いられる使用工具毎の加工条件の調整を無作為に選択する。次に価値関数更新部１１４は、ステップＳＡ０２で、状態観測部１０６が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部１０８が取得している現在状態の判定データＤを取り込む。次に価値関数更新部１１４は、ステップＳＡ０４で、判定データＤに基づき、製造機械７０による加工に用いられる使用工具毎の加工条件の調整が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部１１２が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、製造機械７０による加工に用いられる使用工具毎の加工条件の調整が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部１１２が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部１１０は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の学習を進行させる。なお、ステップＳＡ０４からステップＳＡ０７までの報酬Ｒを求める処理及び価値関数の更新処理は、判定データＤに含まれるそれぞれのデータについて実行される。
【００４８】
前述した強化学習を進める際に、例えばニューラルネットワークを応用することができる。図６Ａは、ニューロンのモデルを模式的に示す。図６Ｂは、図６Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４９】
図６Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００５０】
【数２】
2019082894.tif 000004
【００５１】
図６Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００５２】
図６Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００５３】
図６Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００５４】
加工条件調整装置１が備える機械学習装置１００においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、製造機械７０による加工に用いられる使用工具毎の加工条件の調整（結果ｙ）を出力することができる。また、加工条件調整装置１が備える機械学習装置１００においては、ニューラルネットワークをＱ学習における価値関数として用い、状態変数Ｓと行動ａとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値（結果ｙ）を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５５】
上記した加工条件調整装置１の構成は、プロセッサ１０１が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を学習する機械学習方法であって、コンピュータのＣＰＵが、加工条件データＳ１を、製造機械７０の加工を行う環境の現在状態を表す状態変数Ｓとして観測するステップと、決定された動作パラメータに基づく製造機械７０による一回の加工の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、加工条件データＳ１と、製造機械７０による加工に用いられる使用工具毎の加工条件の調整とを関連付けて学習するステップとを有する。
【００５６】
図７は、加工条件調整装置１を備えた一実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも１台の加工条件調整装置１と、試験の対象となる複数の製造機械７０と、加工条件調整装置１、製造機械７０を互いに接続する有線／無線のネットワーク１７２とを備える。
【００５７】
上記構成を有するシステム１７０は、機械学習装置１００を備える加工条件調整装置１が、学習部１１０の学習結果を用いて、製造機械７０による加工に用いられる使用工具毎の加工条件に対する、製造機械７０による加工に用いられる使用工具毎の加工条件の調整を、それぞれの製造機械７０毎に自動的かつ正確に求めることができる。また、加工条件調整装置１の機械学習装置１００が、複数の製造機械７０のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての製造機械７０に共通する製造機械７０による加工に用いられる使用工具毎の加工条件の調整を学習し、その学習結果を全ての製造機械７０による加工において共有するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、製造機械７０による加工に用いられる使用工具毎の加工条件の調整の学習の速度や信頼性を向上させることができる。
【００５８】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５９】
例えば、機械学習装置１００が実行する学習アルゴリズムや演算アルゴリズム、加工条件調整装置１が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００６０】
また、上記した実施形態では加工条件調整装置１と機械学習装置１００が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００は加工条件調整装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００６１】
１  加工条件調整装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９，２１  インタフェース
２０  バス
３４  加工条件調整部
７０  製造機械
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  判定データ取得部
１１０  学習部
１１２  報酬計算部
１１４  価値関数更新部
１２２  調整指令出力部
１７０  システム
１７２  ネットワーク
【図１】
2019082894.tif 000005
【図２】
2019082894.tif 000006
【図３】
2019082894.tif 000007
【図４】
2019082894.tif 000008
【図５】
2019082894.tif 000009
【図６Ａ】
2019082894.tif 000010
【図６Ｂ】
2019082894.tif 000011
【図７】
2019082894.tif 000012
【図８】
2019082894.tif 000013