(57)【要約】【課題】レーザ加工ヘッドの適切な角度を容易に決定する。【解決手段】レーザ加工ヘッド（１２）から出力されるレーザ光により被加工物を加工するレーザ加工装置（１）は、所定時間に亙ってレーザ光の出力を検出する出力検出部（１３）と、出力検出部により検出されたレーザ光の出力の揺らぎを算出する揺らぎ算出部（２１）と、揺らぎ算出部により算出された揺らぎに基づいて、被加工物の垂線に対してレーザ加工ヘッドが傾斜される角度を指令する角度指令部（２３）とを含む。【選択図】図１
2018144078.tif 000002
【特許請求の範囲】
【請求項１】
レーザ加工ヘッドから出力されるレーザ光により被加工物を加工するレーザ加工装置において、
所定時間に亙って前記レーザ光の出力を検出する出力検出部と、
該出力検出部により検出された前記レーザ光の出力の揺らぎを算出する揺らぎ算出部と、
該揺らぎ算出部により算出された揺らぎに基づいて、前記被加工物の垂線に対して前記レーザ加工ヘッドが傾斜される角度を指令する角度指令部とを具備する、レーザ加工装置。
【請求項２】
さらに、前記レーザ加工ヘッドから出力されるレーザ光により前記被加工物を加工する動作を学習する機械学習装置を含んでおり、
前記機械学習装置は、前記レーザ光の出力の揺らぎ、および前記レーザ光により加工された被加工物の加工状態と、レーザ加工ヘッドの角度指令値とから構成される状態変数を観測する状態観測部と、
前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つと、前記状態観測部により観測された前記レーザ加工ヘッドの角度指令値とを関連付けて学習する学習部とを具備する請求項１に記載のレーザ加工装置。
【請求項３】
前記学習部は、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つに基づいて報酬を計算する報酬計算部と、
該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値を決定する関数を更新する関数更新部とを含む、請求項２に記載のレーザ加工装置。
【請求項４】
前記学習部の学習結果に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値の最適値を決定する意思決定部を具備する、請求項２または３に記載のレーザ加工装置。
【請求項５】
前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新することを特徴とする請求項２から４のいずれか一項に記載のレーザ加工装置。
【請求項６】
他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新することを特徴とする請求項２から５のいずれか一項に記載のレーザ加工装置。
【請求項７】
レーザ加工ヘッドから出力されるレーザ光により被加工物を加工する動作を学習する機械学習装置であって、
所定時間における前記レーザ光の出力の揺らぎ、および前記レーザ光により加工された被加工物の加工状態のうちの少なくとも一つと、前記レーザ光のレーザ加工ヘッドの角度指令値とから構成される状態変数を観測する状態観測部と、
前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つと、前記状態観測部により観測された前記レーザ加工ヘッドの角度指令値とを関連付けて学習する学習部とを具備する機械学習装置。
【請求項８】
前記学習部は、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つに基づいて報酬を計算する報酬計算部と、
該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値を決定する関数を更新する関数更新部とを含む、請求項７に記載の機械学習装置。
【請求項９】
前記学習部の学習結果に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値の最適値を決定する意思決定部を具備する、請求項７または８に記載の機械学習装置。
【請求項１０】
前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新することを特徴とする請求項７から９のいずれか一項に記載の機械学習装置。
【請求項１１】
他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新することを特徴とする請求項７から１０のいずれか一項に記載の機械学習装置。
【請求項１２】
請求項７から１１のいずれか一項に記載の機械学習装置を具備するレーザ加工装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーザ加工装置および機械学習装置に関する。
【背景技術】
【０００２】
レーザ光により被加工物を加工する場合には、被加工物の加工面に対して垂直にレーザ光を照射するのが望ましい。その理由は、加工面に対して垂直にレーザ光を照射する場合には、被加工面における照射箇所の面積が小さくなりパワー密度を高くできるためである。
【０００３】
しかしながら、加工面に対して垂直にレーザ光を照射すると、レーザ光が加工面にて反射してレーザ発振器まで戻る可能性がある。特に、被加工物の加工面の反射率が高い場合には、反射光がレーザ発振器に直接的に入力する場合がある。その結果、レーザ発振器の発振状態が不安定になって、レーザ光の出力も不安定となり、被加工物の加工状態も低下する。
【０００４】
このため、被加工物の加工面の垂線に対してレーザ加工ヘッドを傾斜させる技術が知られている（例えば特許文献１および特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2010-260095号公報
【特許文献２】特開2005-131645号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
レーザ加工ヘッドを傾斜させるときには、一般的に、レーザ光を出力させながら、そのフィードバック値を参照してレーザ加工ヘッドを徐々に傾斜させている。しかしながら、この手法は手間と時間がかかる。あるいは、熟練した操作者が自らの経験などに基づいてレーザ加工ヘッドを傾斜させる場合もある。しかしながら、この場合には、熟練した操作者が必要であり、そのような操作者を育成するのにも時間がかかる。
【０００７】
それゆえ、操作者の手間と時間を必要とせずに、レーザ加工ヘッドを傾斜させる適切な角度を決定することのできるレーザ加工装置および機械学習装置を提供することが望まれている。
【課題を解決するための手段】
【０００８】
本開示の１番目の態様によれば、レーザ加工ヘッドから出力されるレーザ光により被加工物を加工するレーザ加工装置において、所定時間に亙って前記レーザ光の出力を検出する出力検出部と、該出力検出部により検出された前記レーザ光の出力の揺らぎを算出する揺らぎ算出部と、該揺らぎ算出部により算出された揺らぎに基づいて、前記被加工物の垂線に対して前記レーザ加工ヘッドが傾斜される角度を指令する角度指令部とを具備する、レーザ加工装置が提供される。
【発明の効果】
【０００９】
１番目の態様においては、操作者の手間と時間を必要とせずに、レーザ加工ヘッドの角度を適切に決定できる。
【００１０】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態に基づくレーザ加工装置のブロック図である。
【図２】図１に示されるレーザ加工装置の動作を示すフローチャートである。
【図３Ａ】加工ヘッドの角度、および時間とレーザ光の出力との関係を示す第一の図である。
【図３Ｂ】加工ヘッドの角度、および時間とレーザ光の出力との関係を示す第二の図である。
【図４】第二の実施形態に基づくレーザ加工装置のブロック図である。
【図５】機械学習装置を拡大して示す図である。
【図６】機械学習装置の動作を示すフローチャートである。
【図７】ニューロンのモデルを示す模式図である。
【図８】ニューラルネットワークを示す模式図である。
【図９】レーザ加工システムの略図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は第一の実施形態に基づくレーザ加工装置のブロック図である。図１に示されるように、レーザ加工装置１は、ロボット１０例えば垂直多関節ロボットと、レーザ発振器１１と、ロボット１０およびレーザ発振器１１を制御する制御装置２０とを主に含んでいる。レーザ発振器１１には、レーザ光の出力を検出する出力検出部１３、例えばレーザパワーセンサ１３が配置されている。
【００１３】
ロボット１０のアームの先端には、レーザ加工ヘッド１２が取付けられている。ロボット１０の動作可能範囲には、被加工物Ｂ１、Ｂ２が配置されている。レーザ発振器１１により発振されたレーザ光はレーザ加工ヘッド１２を通じて被加工物Ｂ１、Ｂ２に向かって出力される。レーザ光によって、被加工物Ｂ１、Ｂ２は所定の加工、例えば溶接、切断、表面処理などされる。なお、被加工物Ｂ１、Ｂ２のそれぞれの特性、例えば寸法、材質、表面粗さなどは変化しないものとする。また、単一の被加工物に対してレーザ光を照射して所定の加工を行ってもよい。
【００１４】
後述する図３Ｂに示されるように、ロボット１０は、被加工物Ｂ１、Ｂ２の加工面から延びる垂線Ｏに対してレーザ加工ヘッド１２を所望の角度Ａに変更させられる。レーザ加工ヘッド１２の角度Ａは、レーザ加工ヘッド１２から出力されるレーザ光の光軸と垂線Ｏとの間の角度と同じである。このため、レーザ加工ヘッド１２の角度Ａはレーザ光の入射角と言い換えることができる。
【００１５】
制御装置２０はデジタルコンピュータであり、ＣＰＵ、メモリなどの記憶部を備えている。制御装置２０は、レーザパワーセンサ１３により所定時間に亙って検出されたレーザ光の出力の揺らぎを後述するように算出する揺らぎ算出部２１を含んでいる。さらに、制御装置２０は、揺らぎ算出部２１により算出された揺らぎに基づいて、被加工物Ｂ１、Ｂ２の垂線Ｏに対してレーザ加工ヘッド１２が傾斜される角度を指令する角度指令部２３を含んでいる。制御装置２０のＣＰＵは、揺らぎ算出部２１、加工状態判断部２２および角度指令部２３の役目を果たす。
【００１６】
図２は図１に示されるレーザ加工装置の動作を示すフローチャートである。以下、図１および図２を参照して、第一の実施形態に基づくレーザ加工装置１の動作について説明する。この場合には、被加工物Ｂ１、Ｂ２がレーザ加工ヘッド１２の下方に配置されていなくてもよい。
【００１７】
はじめに、ステップＳ１１においては、垂線Ｏに対してレーザ加工ヘッド１２を傾斜させる角度を初期角度、例えば０度に設定する。そして、ロボット１０を動作させて、レーザ加工ヘッド１２が初期角度になるようにレーザ加工ヘッド１２を位置決めする。
【００１８】
次いで、ステップＳ１２においては、レーザ光を出力させながら、レーザパワーセンサ１３によりレーザ光の出力を取得する。ステップＳ１３に示されるように所定時間にわたってレーザ光の出力が取得されると、ステップＳ１４において、揺らぎ算出部２１がレーザ光の出力から揺らぎを算出する。
【００１９】
ここで、図３Ａおよび図３Ｂの左方にはレーザ加工ヘッド１２が示されている。図３Ａにおいてはレーザ光の入射角が０度になるようにレーザ加工ヘッド１２が位置決めされており、図３Ｂにおいてはレーザ加工ヘッド１２が垂線Ｏに対して角度Ａで傾斜されるように位置決めされている。このような位置決め作業はロボット１０により行われるが、角度Ａを変更させられる他の角度変更機構部をロボット１０の代わりに使用してもよい。
【００２０】
図３Ａおよび図３Ｂの右方には時間とレーザ光の出力との関係が示されている。これらの関係において、横軸は時間、例えば所定時間を示し、縦軸はレーザ光の出力を示している。さらに、横軸に対して平行な実線はレーザ光の出力指令値を示しており、曲線はレーザパワーセンサ１３により取得されたレーザ光の出力実際値を示している。
【００２１】
図３Ａに示されるようにレーザ加工ヘッド１２が被加工物Ｂ１、Ｂ２に対して垂直である場合には、レーザ光の出力実際値の曲線における変化は比較的大きい。これに対し、図３Ｂに示されるようにレーザ加工ヘッド１２が垂線Ｏから角度Ａだけ傾斜している場合には、レーザ光の出力実際値の曲線における変化は比較的小さい。
【００２２】
本願明細書における「レーザ光の揺らぎ」はレーザ光の出力実際値の曲線における変化を意味している。従って、図３Ａに示されるようにレーザ加工ヘッド１２が被加工物Ｂ１、Ｂ２に対して垂直である場合にはレーザ光の出力実際値の曲線は比較的大きい揺らぎを有している。これに対し、図３Ｂに示されるようにレーザ加工ヘッド１２が垂線Ｏから角度Ａだけ傾斜している場合には、レーザ光の出力実際値の曲線の揺らぎは比較的小さい。そして、揺らぎが小さい場合には、レーザ光は安定し、従って、被加工物Ｂ１、Ｂ２を良好に加工することができる。
【００２３】
具体的には、「レーザ光の揺らぎ」は、レーザ光の出力実際値の曲線における最大値と最小値との間の偏差でありうる。あるいは、「レーザ光の揺らぎ」は、レーザ光の出力実際値の曲線を台形積分して時間で除算した除算値であってもよい。さらに、「レーザ光の揺らぎ」はレーザ光の出力実際値の曲線の傾きの最大値であってもよい。図２のステップＳ１４においては、前述した偏差、除算値および傾き最大値の少なくとも一つを揺らぎとして算出する。
【００２４】
そして、ステップＳ１５においては、揺らぎを所定の閾値と比較する。所定の閾値は、揺らぎの種類、例えば偏差、除算値、または傾き最大値に応じて異なる値が予め準備されている。そして、揺らぎが所定の閾値以下である場合には、安定したレーザ光を出力できると判断され、角度指令部２３はステップＳ１１で設定された角度の角度指令値を正式に指令する（ステップＳ１６）。
【００２５】
これに対し、ステップＳ１５において揺らぎが所定の閾値以下でない場合には、ステップＳ１１に戻ってレーザ加工ヘッド１２を傾斜させる角度を所定の微少量だけ増加させる。そして、揺らぎが所定の閾値以下になるまでステップＳ１１〜Ｓ１５に示される処理を繰返す。
【００２６】
このようにして、第一の実施形態においては、揺らぎが所定の閾値以下になるレーザ加工ヘッド１２の適切な角度を容易に求められる。従って、安定したレーザ光を出力できるようになり、被加工物を良好に加工することができる。さらに、このような作業は自動的に行うことができるので、操作者の手間と時間を必要とすることはなく、また熟練した操作者も不要である。
【００２７】
図４は第二の実施形態に基づくレーザ加工装置のブロック図である。図４においては、被加工物Ｂ１、Ｂ２の加工状態を検出する加工状態検出部１５、例えばカメラが配置されている。さらに、制御装置２０は、加工状態検出部１５により撮像された画像に基づいて、被加工物Ｂ１、Ｂ２の加工状態を判断する加工状態判断部２２を含んでいる。さらに、制御装置２０は、レーザ加工ヘッド１２から出力されるレーザ光により被加工物Ｂ１、Ｂ２を加工する動作を学習する機械学習装置３０を含んでいる。この機械学習装置３０は、制御装置２０に通信可能に外付けされていてもよい。
【００２８】
機械学習装置３０は、レーザ光の出力の揺らぎ、およびレーザ光により加工された被加工物Ｂ１、Ｂ２の加工状態のうちの少なくとも一つと、レーザ加工ヘッド１２の角度指令値とから構成される状態変数を観測する状態観測部３１を含んでいる。状態観測部３１は、前述した状態変数を観測された時間と共に順次記憶できる記憶部、例えばメモリであってもよい。
【００２９】
さらに、機械学習装置３０は、状態観測部３１により観測された揺らぎおよび加工状態のうちの少なくとも一つと、状態観測部３１により観測されたレーザ加工ヘッド１２の角度指令値とを関連付けて学習する学習部３５を含んでいる。
【００３０】
ここで、学習部３５は、教師あり学習、教師なし学習、半教師あり学習、強化学習、トランスダクション、マルチタスク学習など各種の機械学習を行い得る。以下においては、学習部３５はＱ学習（Ｑ−ｌｅａｒｎｉｎｇ）により強化学習を行うものとして説明を続ける。
【００３１】
ここで、機械学習装置を拡大して示す図５を参照して分かるように、機械学習装置３０は、強化学習におけるエージェントに相当する。また、揺らぎ算出部２１、加工状態判断部２２および角度指令部２３は環境の状態を検出する。
【００３２】
強化学習を行う学習部３５は、状態観測部３１により観測された揺らぎおよび加工状態のうちの少なくとも一つに基づいて報酬を計算する報酬計算部３２を含んでいる。さらに、学習部３５は、報酬計算部３２により計算された報酬に基づいて、現在の状態変数から、レーザ加工ヘッド１２の角度指令値を決定する関数、例えば行動価値関数（行動価値テーブル）を更新する関数更新部３３（人工知能）を含んでいる。当然のことながら、関数更新部３３が他の関数を更新するようにしてもよい。
【００３３】
さらに、機械学習装置３０は、学習部３５の学習結果に基づいて、現在の状態変数から、レーザ加工ヘッドの角度指令値の最適値を決定する意思決定部３４を含んでいる。意思決定部３４は、より良い行動の選択（意思決定）を学習するものである。なお、意思決定部３４が機械学習装置３０に含まれなくて制御装置２０に含まれていてもよい。
【００３４】
図６は機械学習装置の動作を示すフローチャートである。以下、図１〜図６を参照しつつ、機械学習装置３０の動作について説明する。図６に示される内容は、レーザ加工装置１が被加工物Ｂ１、Ｂ２に対する加工作業を行う際に所定の制御周期毎に実施されるものとする。
【００３５】
はじめに、図６のステップＳ２１において、制御装置２０の角度指令部２３は、レーザ加工ヘッドの角度指令値を選択して指令する。レーザ加工ヘッドの角度指令値はその所定範囲からランダムに選択される。あるいは、例えばレーザ加工ヘッドの角度指令値は所定範囲内の最小値がはじめに選択され、次いで、微少量だけ増加させた値が次のサイクルのときに選択されるようにしてもよい。
【００３６】
次いで、ステップＳ２２においては、揺らぎ算出部２１によりレーザ光の揺らぎを算出する。ここで、揺らぎは図２のステップＳ１２〜Ｓ１４を実施することにより前述したように算出される。
【００３７】
そして、図６のステップＳ２３においては揺らぎを所定の閾値と前述したように比較する。そして、揺らぎが所定の閾値以下である場合には、ステップＳ２４において報酬が増え、揺らぎが所定の閾値以下でない場合には、ステップＳ２５において報酬が減るかまたはそのままとなる。
【００３８】
次いで、ステップＳ２６において、加工状態判断部２２が加工状態検出部１５により取得された加工状態の撮像データを取得する。加工状態検出部１５により取得された加工状態は、例えば撮像データを処理することにより得られる溶接ビードの外観、ビードの余盛り高さ、ビード幅、スパッタ発生量のうちの少なくとも一つの物理量である。なお、スパッタ発生量は溶接時にワークに形成されたスパッタ痕から取得できる。
【００３９】
あるいは、加工状態検出部１５として溶込計測装置および集音装置を使用してもよい。そのような場合には、溶込計測装置から得られる溶込み量および集音装置から得られるアーク音波形が前述した加工状態に含まれていてもよい。さらに、加工状態検出部１５としてサーモセンサを使用してもよく、その場合には、被加工物Ｂ１、Ｂ２の温度および／またはレーザ加工ヘッド１２の温度が加工状態に含まれる。
【００４０】
ステップＳ２６においては、加工状態判断部２２が、取得された加工状態の良否を判断する。例えば、加工状態と、対応する加工状態のそれぞれについて予め設定された閾値などとを比較する。あるいは、操作者が加工状態検出部１５の検出結果を用いて加工状態の良否を判断してもよい。そして、加工状態が良好である場合には、ステップＳ２７において報酬が増え、加工状態が良好でない場合には、ステップＳ２８において報酬が減るかまたはそのままとなる。
【００４１】
このような報酬の増減は報酬計算部３２によって算出される。また、報酬の増減の額については、ステップに応じてその値が異なるように設定されていても良い。また、ステップＳ２３、Ｓ２６のうちの一つの判定ステップおよび関連する報酬のステップを省略することもできる。
【００４２】
その後、ステップＳ２９においては、関数更新部３３が行動価値関数を更新する。ここで、学習部３５が実施するＱ学習は、或る環境状態ｓの下で、行動ａを選択する価値（行動の価値）Ｑ（ｓ、ａ）を学習する方法である。そして、或る状態ｓのときに、Ｑ（ｓ、ａ）の最も高い行動ａを選択する。Ｑ学習では、試行錯誤により、或る状態ｓの下で様々な行動ａをとり、そのときの報酬を用いて正しいＱ（ｓ、ａ）を学習する。行動価値関数Ｑ（ｓ、ａ）の更新式は以下の式（１）で表される。
【数１】
2018144078.tif 000003
【００４３】
ここでｓｔ，ａｔは、時刻ｔにおける環境と行動を表す。行動ａｔにより、環境はｓｔ＋１に変化し、その環境の変化によって、報酬ｒｔ＋１が算出される。また、ｍａｘの付いた項は、環境ｓｔ＋１の下で、最も（その時に分かっている）Ｑ値の高い行動ａを選んだ場合のＱ値にγを掛けたものになる。ここでγは０＜γ≦１（通常は０．９〜０．９９）の割引率であり、αは０＜α≦１（通常は０．１程度）の学習係数である。
【００４４】
この更新式は、状態ｓに於ける行動ａの評価値Ｑ（ｓｔ，ａｔ）よりも、ａによる次の環境状態に於ける最良の行動の評価値Ｑ（ｓｔ＋１，ｍａｘａｔ＋１）の方が大きければ、Ｑ（ｓｔ，ａｔ）を大きくするし、逆に小さければ、Ｑ（ｓｔ，ａｔ）も小さくする事を示している。つまり、或る状態に於ける或る行動の価値を、それによる次の状態に於ける最良の行動の価値に近づけるようにしている。言い換えれば、学習部３５は、レーザ加工ヘッドの角度指令値の最適値を更新する。
【００４５】
このようにして、ステップＳ２９においては、前述した式（１）を用いて関数更新部３３が行動価値関数を更新する。そして、ステップＳ２１に戻り、レーザ加工ヘッドの他の角度指令値が選択され、同様にして行動価値関数が更新される。なお、行動価値関数の代わりに、行動価値テーブルを更新するようにしてもよい。
【００４６】
強化学習においてはエージェントとしての学習部３５が環境の状況に基づいて、行動を決定する。この場合における行動とは、意思決定部３４が、レーザ加工ヘッドの角度指令値の新たな値を選択し、新たな値に従って動作させることである。そして、新たな指令値によって図５に示される環境、例えばレーザ光の出力の揺らぎ、およびレーザ光により加工された被加工物Ｂ１、Ｂ２の加工状態が変化する。そのような環境の変化に伴って、前述したように報酬が機械学習装置３０に与えられ、機械学習装置３０の意思決定部３４は、例えばより高い報酬が得られるように、より良い行動の選択（意志決定）を学習する。
【００４７】
このため、図６に示される処理が多数回にわたって繰返し行われることにより、行動価値関数の信頼度が高められる。そして、ステップＳ２１において、信頼性の高い行動価値関数に基づいて、例えばＱ値が高くなるようにレーザ加工ヘッド１２の角度指令値を選択することによって、より適切なレーザ加工ヘッド１２の角度指令値を決定することが可能となる。
【００４８】
このようにして、本発明の機械学習装置３０の関数更新部３３により更新された内容を、レーザ加工ヘッドの角度指令値として自動的に決定することができる。そして、そのような機械学習装置３０を制御装置２０に導入することによって、レーザ加工ヘッド１２の角度指令値を自動的に調整できる機械学習装置の学習結果に従うことにより、操作者の手間と時間を排除できる。そして、レーザ加工ヘッド１２の角度を最適に決定することができるので、レーザ光も安定して、被加工物Ｂ１、Ｂ２の加工状態も向上する。その結果、生産効率を向上させられる。
【００４９】
また、行動価値関数として後述するニューラルネットワークを用いて近似した関数を用いても良い。この場合には、状態観測部３１で観測された状態変数を多層構造で演算して、行動価値関数をリアルタイムで更新してもよい。これにより、さらに適切な学習結果を得られるのが分かるであろう。また、この場合には、画像データなどのように「ｓ」および「ａ」の情報量が莫大であるときに特に有利である。
【００５０】
ここで、図５に示される機械学習装置３０等について、一部重複するものの、詳細に再度説明する。機械学習装置３０は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００５１】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、レーザ光の出力の揺らぎ、およびレーザ光により加工された被加工物Ｂ１、Ｂ２の加工状態からレーザ加工ヘッドの角度指令値を推定する部分などに用いることが出来る。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００５２】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際にレーザ加工装置を動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【００５３】
強化学習の問題を以下のように設定する。
・制御装置２０は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。レーザ加工装置は実際に動作して初めて、その結果をデータとして得ることが出来る。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００５４】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００５５】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００５６】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば次式により表すことができる（前述した式（１）と同じである）。
【数２】
2018144078.tif 000004
【００５７】
ここで、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により貰える報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。γは、０＜γ≦１のパラメータで、割引率と呼ばれる。αは学習係数で、０＜α≦１の範囲とする。
【００５８】
この式は、試行ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓにおける行動ａの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ（ｓt+1，ｍａｘ ａt+1）の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくする事を示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【００５９】
Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法と、Ｑ（ｓ，ａ）を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することが出来る。近似関数としては、後述のニューラルネットワークを用いることが出来る。
【００６０】
教師あり学習、教師なし学習、及び強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図７に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。図７は、ニューロンのモデルを示す模式図である。
【００６１】
図７に示すように、ニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【数３】
2018144078.tif 000005
【００６２】
ここで、θはバイアスであり、ｆkは活性化関数である。
【００６３】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図８を参照して説明する。図８は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００６４】
図８に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００６５】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００６６】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００６７】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００６８】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００６９】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００７０】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００７１】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいてレーザ加工装置の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００７２】
予測モードで実際にレーザ加工装置を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００７３】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００７４】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００７５】
そこで、本実施形態の機械学習装置３０は、上述のＱ学習を実施すべく、図５に示されるように状態観測部３１、学習部３５、および意思決定部３４を備えている。但し、本実施形態に適用される機械学習方法は、Ｑ学習に限定されるものではない。たとえば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。
【００７６】
ところで、図９はレーザ加工システムの略図である。図９に示されるようにレーザ加工システム５は複数のレーザ加工装置１、１ａ〜１ｎを含んでいる。各レーザ加工装置１、１ａ〜１ｎは機械学習装置３０、３０ａ〜３０ｎをそれぞれ含んでおり、各機械学習装置３０、３０ａ〜３０ｎは前述したのと同様な状態観測部３１、３１ａ〜３１ｎ、関数更新部３３、３３ａ〜３３ｎなどをそれぞれ含んでいる。図９から分かるように、これら各レーザ加工装置１、１ａ〜１ｎは通信部４０により互いに接続されている。通信部４０はネットワークであり、有線または無線のいずれであってもよい。
【００７７】
機械学習を繰返し実施することによって、レーザ加工装置１等の状態観測部３１には各種の物理量および学習結果、例えばレーザ加工ヘッド１２の角度が記憶されている。そして、関数更新部３３には、前述した関数が記憶されている。
【００７８】
従って、例えば他のレーザ加工装置１ａの機械学習装置３０ａが機械学習を行っていない場合であっても、レーザ加工装置１の状態観測部３１おおび関数更新部３３の記憶内容を通信部４０に通して他のレーザ加工装置１ａの状態観測部３１ａおよび関数更新部３３ａに組入れることができる。従って、レーザ加工装置１ａの機械学習装置３０ａが機械学習を実際に行うことなしに、信頼性の高い学習結果などを利用することができる。別のレーザ加工装置１ｎ等についても同様である。
【００７９】
さらに、図９には記憶部５１を備えた上位コンピュータ５０、例えばサーバが通信部４０に有線または無線により接続されている。なお、上位コンピュータ５０は例えば一つのレーザ加工装置１に直接的に接続されていてもよい。
【００８０】
そして、レーザ加工装置１の状態観測部３１に記憶された物理量、学習結果などおよび関数更新部３３に記憶された関数を通信部４０に通して上位コンピュータ５０の記憶部５１に記憶させてもよい。この場合には、他のレーザ加工装置１ａは、上位コンピュータ５０の記憶部５１にアクセスして、前述した学習結果、関数を状態観測部３１ａおよび関数更新部３３ａにそれぞれ組入れる。つまり、一つのレーザ加工装置１が一時的にネットワークから外れている場合であっても、他のレーザ加工装置１ａは前述した学習結果、関数を取得できるのが分かるであろう。
【００８１】
本開示の態様
１番目の態様によれば、レーザ加工ヘッド（１２）から出力されるレーザ光により被加工物を加工するレーザ加工装置（１）において、所定時間に亙って前記レーザ光の出力を検出する出力検出部（１３）と、該出力検出部により検出された前記レーザ光の出力の揺らぎを算出する揺らぎ算出部（２１）と、該揺らぎ算出部により算出された揺らぎに基づいて、前記被加工物の垂線に対して前記レーザ加工ヘッドが傾斜される角度を指令する角度指令部（２３）とを具備する、レーザ加工装置が提供される。
２番目の態様によれば、１番目の態様において、さらに、前記レーザ加工ヘッドから出力されるレーザ光により前記被加工物を加工する動作を学習する機械学習装置（３０）を含んでおり、前記機械学習装置は、前記レーザ光の出力の揺らぎおよび前記レーザ光により加工された被加工物の加工状態と、レーザ加工ヘッドの角度指令値とから構成される状態変数を観測する状態観測部（３１）と、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つと、前記状態観測部により観測された前記レーザ加工ヘッドの角度指令値とを関連付けて学習する学習部（３５）とを具備する。
３番目の態様によれば、２番目の態様において、前記学習部は、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つに基づいて報酬を計算する報酬計算部（３２）と、該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値を決定する関数を更新する関数更新部（３３）とを含む。
４番目の態様によれば、２番目または３番目の態様において、前記学習部の学習結果に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値の最適値を決定する意思決定部（３４）を具備する。
５番目の態様によれば、２番目から４番目のいずれかの態様において、前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新する。
６番目の態様によれば、２番目から５番目のいずれかの態様において、他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新する。
７番目の態様によれば、レーザ加工ヘッドから出力されるレーザ光により被加工物を加工する動作を学習する機械学習装置（３０）であって、所定時間における前記レーザ光の出力の揺らぎ、および前記レーザ光により加工された被加工物の加工状態のうちの少なくとも一つと、前記レーザ光のレーザ加工ヘッドの角度指令値とから構成される状態変数を観測する状態観測部（３１）と、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つと、前記状態観測部により観測された前記レーザ加工ヘッドの角度指令値とを関連付けて学習する学習部（３５）とを具備する機械学習装置が提供される。
８番目の態様によれば、７番目の態様において、前記学習部は、前記状態観測部により観測された前記揺らぎおよび前記加工状態のうちの少なくとも一つに基づいて報酬を計算する報酬計算部（３２）と、該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値を決定する関数を更新する関数更新部（３３）とを含む。
９番目の態様によれば、７番目または８番目の態様において、前記学習部の学習結果に基づいて、現在の前記状態変数から、前記レーザ加工ヘッドの角度指令値の最適値を決定する意思決定部（３４）を具備する。
１０番目の態様によれば、７番目から９番目のいずれかの態様において、前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新する。
１１番目の態様によれば、７番目から１０番目のいずれかの態様において、他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新する。
１２番目の態様によれば、７番目から１１番目のいずれかの機械学習装置を具備するレーザ加工装置（１）が提供される。
【００８２】
態様の効果
１番目の態様においては、操作者の手間と時間を必要とせずに、レーザ加工ヘッドの適切な角度を容易に決定できる。従って、安定したレーザ光を出力でき、被加工物を良好に加工することができる。
２番目から４番目の態様および７番目から９番目の態様においては、操作者の手間と時間を必要とせずに、機械学習装置を用いて、レーザ加工ヘッドの適切な角度を最適に決定することができる。
５番目および１０番目の発明においては、適切な学習結果を得ることができる。
６番目および１１番目の発明においては、或る機械学習装置で得られた学習結果を他の機械学習装置に組み入れることができ、信頼性の高い学習結果などを流用できる。
１２番目の発明においては、機械学習装置の学習結果に従うことにより、操作者がレーザ加工ヘッドの適切な角度を決定する必要がない。このため、最適な角度を決定するための手間および工数を低減できる。
【００８３】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。例えばレーザ加工ヘッド１２の角度Ａの実際値を状態観測部３１にさらに入力して角度指令値を前述したように出力してもよい。
【符号の説明】
【００８４】
１、１ａ〜１ｎ    レーザ加工装置
１０    ロボット
１１    レーザ発振器
１２    レーザ加工ヘッド
１３    レーザパワーセンサ（出力検出部）
１５    加工状態検出部
２０    制御装置
２１    揺らぎ算出部
２２    加工状態判断部
２３    角度指令部
３０、３０ａ〜３０ｎ    機械学習装置
３１、３１ａ〜３１ｎ    状態観測部
３２    報酬計算部
３３    関数更新部
３４    意思決定部
３５    学習部
５０    上位コンピュータ
５１    記憶部
【図１】
2018144078.tif 000006
【図２】
2018144078.tif 000007
【図３Ａ】
2018144078.tif 000008
【図３Ｂ】
2018144078.tif 000009
【図４】
2018144078.tif 000010
【図５】
2018144078.tif 000011
【図６】
2018144078.tif 000012
【図７】
2018144078.tif 000013
【図８】
2018144078.tif 000014
【図９】
2018144078.tif 000015