(57)【要約】【課題】レーザ加工ロボットの加工順序を学習して最適解を効率的に教示することができる機械学習装置、ロボットシステムおよび機械学習方法の提供を図る。【解決手段】レーザ加工ロボット１の加工順序を学習する機械学習装置２であって、前記レーザ加工ロボットによるレーザ加工点のプラズマ光、および、前記レーザ加工ロボットによるレーザ加工点の加工音の少なくとも一方を、状態変数として観測する状態観測部２１と、前記レーザ加工ロボットが処理を行うサイクルタイムを、判定データとして受け取る判定データ取得部２２と、前記状態観測部の出力および前記判定データ取得部の出力に基づいて、前記レーザ加工ロボットの加工順序を学習する学習部２３と、を備える。【選択図】図３
2018086711.tif 000002
【特許請求の範囲】
【請求項１】
レーザ加工ロボットの加工順序を学習する機械学習装置であって、
前記レーザ加工ロボットによるレーザ加工点のプラズマ光、および、前記レーザ加工ロボットによるレーザ加工点の加工音の少なくとも一方を、状態変数として観測する状態観測部と、
前記レーザ加工ロボットが処理を行うサイクルタイムを、判定データとして受け取る判定データ取得部と、
前記状態観測部の出力および前記判定データ取得部の出力に基づいて、前記レーザ加工ロボットの加工順序を学習する学習部と、を備える、
ことを特徴とする機械学習装置。
【請求項２】
前記判定データ取得部は、さらに、
前記レーザ加工ロボットがレーザ加工を行う加工速度、レーザの焦点距離、加工ツールの姿勢およびアシストガスの流量の少なくとも１つを、前記判定データとして受け取る、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
さらに、
前記学習部が学習した前記レーザ加工ロボットの加工順序に基づいて、前記レーザ加工ロボットの動作を決定する意思決定部を備える、
ことを特徴とする請求項１または請求項２に記載の機械学習装置。
【請求項４】
前記学習部は、
前記状態観測部の出力および前記判定データ取得部の出力に基づいて、報酬を計算する報酬計算部と、
前記状態観測部の出力，前記判定データ取得部の出力および前記報酬計算部の出力に基づいて、前記レーザ加工ロボットの加工順序の価値を定める価値関数を更新する価値関数更新部と、を備える、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習装置。
【請求項５】
前記報酬計算部は、
前記サイクルタイムが長いときにマイナスの報酬を設定し、前記サイクルタイムが短いときにプラスの報酬を設定する、
ことを特徴とする請求項４に記載の機械学習装置。
【請求項６】
前記報酬計算部は、さらに、
前記レーザ加工点のプラズマ光が、プラズマ光適正値から遠いときにマイナスの報酬を設定し、前記レーザ加工点のプラズマ光が、前記プラズマ光適正値に近いときにプラスの報酬を設定し、或いは、
前記レーザ加工点の加工音が、加工音適正値から遠いときにマイナスの報酬を設定し、前記レーザ加工点の加工音が、前記加工音適正値に近いときにプラスの報酬を設定する、
ことを特徴とする請求項４または請求項５に記載の機械学習装置。
【請求項７】
前記報酬計算部は、さらに、
前記レーザ加工ロボットがレーザ加工を行う加工速度が遅いときにマイナスの報酬を設定し、前記レーザ加工ロボットがレーザ加工を行う加工速度が速いときにプラスの報酬を設定する、
ことを特徴とする請求項４乃至請求項６のいずれか１項に記載の機械学習装置。
【請求項８】
前記機械学習装置は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項９】
前記機械学習装置は、それぞれの前記レーザ加工ロボットに対して設けられ、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの前記他の機械学習装置との間で機械学習の結果を相互に交換または共有する、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習装置。
【請求項１０】
前記機械学習装置は、クラウドサーバまたはフォグサーバ上に設けられる、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習装置。
【請求項１１】
レーザ加工ロボット制御装置と、前記レーザ加工ロボット制御装置により制御される前記レーザ加工ロボットと、請求項１乃至請求項１０のいずれか１項に記載の機械学習装置と、を備える、
ことを特徴とするロボットシステム。
【請求項１２】
前記レーザ加工ロボットは、複数台設けられ、
前記判定データ取得部は、複数台の前記レーザ加工ロボットによるシステム全体の処理を行うシステムサイクルタイムを、前記判定データとして受け取り、
前記学習部は、複数台の前記レーザ加工ロボットによるシステム全体の加工順序を学習する、
ことを特徴とする請求項１１に記載のロボットシステム。
【請求項１３】
前記レーザ加工ロボットは、
前記レーザ加工ロボットによるレーザ加工点のプラズマ光を、所定の波長範囲で検知する光センサ、および、
前記レーザ加工ロボットによるレーザ加工点の加工音を、所定の周波数範囲で検知する音センサの少なくとも一方を備える、
ことを特徴とする請求項１１または請求項１２に記載のロボットシステム。
【請求項１４】
レーザ加工ロボットの加工順序を学習する機械学習方法であって、
前記レーザ加工ロボットによるレーザ加工点のプラズマ光、および、前記レーザ加工ロボットによるレーザ加工点の加工音の少なくとも一方を、状態変数として観測し、
前記レーザ加工ロボットが処理を行うサイクルタイムを、判定データとして受け取り、
観測された前記状態変数および受け取った前記判定データに基づいて、前記レーザ加工ロボットの加工順序を学習する、
ことを特徴とする機械学習方法。
【請求項１５】
レーザ加工ロボットによるレーザ加工の状態を監視する方法であって、
前記レーザ加工ロボットによるレーザ加工時におけるレーザ加工点の加工音を検出し、
前記レーザ加工点の加工音における所定の周波数範囲を抽出し、
抽出された所定の周波数範囲の前記レーザ加工点の加工音に基づいて、前記レーザ加工ロボットによるレーザ加工の状態を監視する、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法に関する。
【背景技術】
【０００２】
近年、レーザを利用して溶接，切断および穴あけ等を行うレーザ加工ロボットが様々な分野で利用されている。例えば、自動車の車体を溶接(レーザ溶接)する場合、１台または複数台のレーザ加工ロボットが使用される。
【０００３】
このようなレーザ加工ロボットは、例えば、作業者(教示者，人)がレーザ加工条件を調整し、作業者によって設定された加工条件および加工順序で加工が行われる。すなわち、教示者は、例えば、サイクルタイムが最短となるように、溶接個所および溶接加工順序等を教示する。
【０００４】
しかしながら、作業者が、例えば、サイクルタイムが最短となる溶接個所および溶接加工順序等の最適解を教示するのは難しいものとなっている。さらに、複数台のレーザ加工ロボットを使用する場合には、それぞれのロボットが干渉することなく、どのロボットによりどの溶接個所をどのような順序で行うかといった内容を教示することになるため、１台のレーザ加工ロボットを使用する場合よりも遥かに教示内容が複雑になり、最適解を効率的に教示することはより一層困難なものとなる。
【０００５】
ところで、従来、複数台のロボットの作業計画を自動化して労力を軽減するために、作業をグループ化し、作業の順序やロボットへの作業の配分をグループ単位で行うことで、ロボットと作業の組み合わせについての解の探索数を減少させ、現実的な時間で最適解と大きな差のない最良解を容易かつ自動的に得るようにした複数台ロボットの作業計画方法が提案されている(例えば、特許文献１参照)。
【０００６】
また、従来、複数のタスクからなる作業を複数の機械によって実施する場合に、それぞれのタスクを何れかの機械に割り付ける処理を、遺伝的アルゴリズムを適用した演算を適用して求めることで、タスクを各機械に適切に割り付けることを可能とするタスク割り付け方法が提案されている(例えば、特許文献２参照)。
【０００７】
さらに、従来、ロボットによる実際の作業時において、教示された教示データと実際のデータを比較して確認することで、センサに起因する問題か、ワークやジグに起因する問題かを切り分けてその不良原因を究明するようにしたロボットの補正データ確認装置も提案されている(例えば、特許文献３参照)。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−０３９９０９号公報
【特許文献２】特開２００２−１１６８１７号公報
【特許文献３】特開２００５−１０８１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、従来、例えば、自動車の車体をレーザ加工ロボットによりレーザ溶接する場合、人(作業者)が溶接個所や順序等を教示していた。しかしながら、例えば、サイクルタイムが最短となるように教示を行うのは難しく、さらに、複数台のレーザ加工ロボットを使用する場合には、教示内容が複雑なものとなるため、最適解を効率的に教示することはより一層困難なものとなっている。
【００１０】
さらに、例えば、１台または複数台のレーザ加工ロボットにより自動車の車体をレーザ溶接する場合、提案されている様々な技術を参酌しても、最適解を効率的に教示することは困難である。なお、本明細書では、レーザ加工ロボットとして、レーザ溶接ロボットを例として説明するが、レーザ加工ロボットは、レーザ溶接を行うためのロボットに限定されず、例えば、レーザ切断等を行うロボットもレーザ加工ロボットに含まれるのはいうまでもない。
【００１１】
本発明の目的は、上述した従来技術の課題に鑑み、レーザ加工ロボットの加工順序を学習して最適解を効率的に教示することができる機械学習装置、ロボットシステムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【００１２】
本発明に係る第１実施形態によれば、レーザ加工ロボットの加工順序を学習する機械学習装置であって、前記レーザ加工ロボットによるレーザ加工点のプラズマ光、および、前記レーザ加工ロボットによるレーザ加工点の加工音の少なくとも一方を、状態変数として観測する状態観測部と、前記レーザ加工ロボットが処理を行うサイクルタイムを、判定データとして受け取る判定データ取得部と、前記状態観測部の出力および前記判定データ取得部の出力に基づいて、前記レーザ加工ロボットの加工順序を学習する学習部と、を備える機械学習装置が提供される。
【００１３】
前記判定データ取得部は、さらに、前記レーザ加工ロボットがレーザ加工を行う加工速度、レーザの焦点距離、加工ツールの姿勢およびアシストガスの流量の少なくとも１つを、前記判定データとして受け取ることができる。前記機械学習装置は、さらに、前記学習部が学習した前記レーザ加工ロボットの加工順序に基づいて、前記レーザ加工ロボットの動作を決定する意思決定部を備えてもよい。
【００１４】
前記学習部は、前記状態観測部の出力および前記判定データ取得部の出力に基づいて、報酬を計算する報酬計算部と、前記状態観測部の出力，前記判定データ取得部の出力および前記報酬計算部の出力に基づいて、前記レーザ加工ロボットの加工順序の価値を定める価値関数を更新する価値関数更新部と、を備えることができる。前記報酬計算部は、前記サイクルタイムが長いときにマイナスの報酬を設定し、前記サイクルタイムが短いときにプラスの報酬を設定してもよい。
【００１５】
前記報酬計算部は、さらに、前記レーザ加工点のプラズマ光が、プラズマ光適正値から遠いときにマイナスの報酬を設定し、前記レーザ加工点のプラズマ光が、前記プラズマ光適正値に近いときにプラスの報酬を設定し、或いは、前記レーザ加工点の加工音が、加工音適正値から遠いときにマイナスの報酬を設定し、前記レーザ加工点の加工音が、前記加工音適正値に近いときにプラスの報酬を設定することができる。前記報酬計算部は、さらに、前記レーザ加工ロボットがレーザ加工を行う加工速度が遅いときにマイナスの報酬を設定し、前記レーザ加工ロボットがレーザ加工を行う加工速度が速いときにプラスの報酬を設定することもできる。
【００１６】
前記機械学習装置は、ニューラルネットワークを備えることができる。前記機械学習装置は、それぞれの前記レーザ加工ロボットに対して設けられ、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの前記他の機械学習装置との間で機械学習の結果を相互に交換または共有するようにしてもよい。前記機械学習装置は、クラウドサーバまたはフォグサーバ上に設けられてもよい。
【００１７】
本発明に係る第２実施形態によれば、レーザ加工ロボット制御装置と、前記レーザ加工ロボット制御装置により制御される前記レーザ加工ロボットと、上述した第１実施形態の機械学習装置を備えるロボットシステムが提供される。前記レーザ加工ロボットは、複数台設けられ、前記判定データ取得部は、複数台の前記レーザ加工ロボットによるシステム全体の処理を行うシステムサイクルタイムを、前記判定データとして受け取り、前記学習部は、複数台の前記レーザ加工ロボットによるシステム全体の加工順序を学習するよういしてもよい。前記レーザ加工ロボットは、前記レーザ加工ロボットによるレーザ加工点のプラズマ光を、所定の波長範囲で検知する光センサ、および、前記レーザ加工ロボットによるレーザ加工点の加工音を、所定の周波数範囲で検知する音センサの少なくとも一方を備えることができる。
【００１８】
本発明に係る第３実施形態によれば、レーザ加工ロボットの加工順序を学習する機械学習方法であって、前記レーザ加工ロボットによるレーザ加工点のプラズマ光、および、前記レーザ加工ロボットによるレーザ加工点の加工音の少なくとも一方を、状態変数として観測し、前記レーザ加工ロボットが処理を行うサイクルタイムを、判定データとして受け取り、観測された前記状態変数および受け取った前記判定データに基づいて、前記レーザ加工ロボットの加工順序を学習する機械学習方法が提供される。
【００１９】
本発明に係る第４実施形態によれば、レーザ加工ロボットによるレーザ加工の状態を監視する方法であって、前記レーザ加工ロボットによるレーザ加工時におけるレーザ加工点の加工音を検出し、前記レーザ加工点の加工音における所定の周波数範囲を抽出し、抽出された所定の周波数範囲の前記レーザ加工点の加工音に基づいて、前記レーザ加工ロボットによるレーザ加工の状態を監視する方法が提供される。
【発明の効果】
【００２０】
本発明に係る機械学習装置、ロボットシステムおよび機械学習方法によれば、レーザ加工ロボットの加工順序を学習して最適解を効率的に教示することができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明が適用されるロボットシステムの一例を説明するための図である。
【図２】図２は、本発明に係るロボットシステムの一実施形態を示すブロック図である。
【図３】図３は、本発明に係る機械学習装置の一実施例を示すブロック図である。
【図４】図４は、ニューロンのモデルを模式的に示す図である。
【図５】図５は、図４に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図６】図６は、２台のレーザ加工ロボットにおける加工順序とサイクルタイムの関係の一例を説明するための図である。
【図７】図７は、本発明に係るロボットシステムのレーザ加工ロボットにおける加工ツールを説明するための図である。
【図８】図８は、本発明に係るロボットシステムのレーザ加工ロボットにおけるレーザ加工時の状態の観測を説明するための図である。
【図９】図９は、図３に示す機械学習装置における処理の一例を示すフローチャートである。
【図１０】図１０は、図３に示す機械学習装置における処理の他の例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明に係る機械学習装置、ロボットシステムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。図１は、本発明が適用されるロボットシステムの一例を説明するための図であり、２台のレーザ加工ロボットにより自動車の車体をレーザ溶接するロボットシステムを説明するためのものである。
【００２３】
図１において、参照符号１(Ｒ１，Ｒ２)はレーザ加工ロボット(ロボット)、１０はレーザ発振器、１１は光ファイバ、１２は加工ツール(レーザ加工ヘッド)、１３はロボット制御部(レーザ加工ロボット制御装置)、そして、１００は自動車の車体を示す。ロボットＲ１，Ｒ２(１)は、それぞれロボット制御部１３により制御され、例えば、ロボット１のアーム先端部に取り付けられた加工ツール(レーザ加工ヘッド)１２の動作を制御するようになっている。
【００２４】
それぞれのロボット１(Ｒ１，Ｒ２)の加工ツール１２には、光ファイバ１１を介して、レーザ発振器１０により生成されたレーザ光(ファイバレーザ光)が供給され、これにより、例えば、自動車の車体１００に対するレーザ溶接を行うようになっている。なお、図１では、自動車の車体１００を、２台のロボットＲ１，Ｒ２(１)によりレーザ溶接する様子を示しているが、ロボット１の数は、１台であってもよく、或いは、３台以上であってもよい。
【００２５】
図２は、本発明に係るロボットシステムの一実施形態を示すブロック図であり、図１を参照して説明したロボットシステムは、環境４に含まれる。すなわち、図２に示されるように、本実施形態のロボットシステムは、図１を参照して説明したロボット１(Ｒ１，Ｒ２)，レーザ発振器１０，光ファイバ１１，加工ツール１２およびロボット制御部１３と、機械学習装置２を含む。
【００２６】
ここで、機械学習装置２は、それぞれのロボット１(ロボット制御部１３：エッジ)に対して設けることもできるが、例えば、複数のロボット１(ロボットシステム)を有する工場ごと(例えば、フォグサーバ)、或いは、複数の工場とインターネット等の通信回線を介して接続されたクラウドサーバに設けることもできる。なお、それぞれのロボットに対して設けられた機械学習装置は、例えば、少なくとも１つの他の機械学習装置と接続可能とされ、その少なくとも１つの他の機械学習装置との間で機械学習の結果を相互に交換または共有するようにしてもよい。
【００２７】
図３は、本発明に係る機械学習装置の一実施例を示すブロック図である。図２および図３に示されるように、本実施例の機械学習装置２は、強化学習を行うもので、状態観測部２１、判定データ取得部２２、学習部２３および意思決定部２４を備え、学習部２３は、報酬計算部２３１および価値関数更新部２３２を備える。
【００２８】
状態観測部２１は、ロボット(レーザ加工ロボット)１によるレーザ加工点のプラズマ光、および、ロボット１によるレーザ加工点の加工音の少なくとも一方を状態変数として観測する。ここで、レーザ加工点のプラズマ光は、例えば、ロボット１のアーム先端部に取り付けられた加工ツール１２に設けられた光センサ(フォトセンサ)により検知され、また、レーザ加工点の加工音は、加工ツール１２に設けられた音センサ(マイクロフォン)により検知される。なお、レーザ加工点のプラズマ光および加工音の検知については、図８を参照して、後に詳述する。
【００２９】
判定データ取得部２２は、ロボット１が処理を行うサイクルタイムを判定データとして受け取る。ここで、例えば、図１に示すような２台のロボット１(Ｒ１，Ｒ２)によりレーザ溶接を行う場合、２台のロボットにより行われるレーザ溶接の全てをサイクルタイムとして設定することができる。なお、判定データ取得部２２は、さらに、ロボット１がレーザ加工を行う加工速度，レーザの焦点距離，加工ツール１２の姿勢およびアシストガスの流量の少なくとも１つを判定データとして受け取ることもできる。
【００３０】
学習部２３は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて、ロボット１の加工順序を学習するもので、報酬計算部２３１および価値関数更新部２３２を含む。報酬計算部２３１は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて報酬を計算し、価値関数更新部２３２は、状態観測部２１の出力，判定データ取得部２２の出力および報酬計算部２３１の出力に基づいて、ロボット１の加工順序の価値を定める価値関数を更新する。なお、意思決定部２４は、学習部２３が学習したロボット１の加工順序に基づいて、ロボット１の動作を決定する。
【００３１】
すなわち、報酬計算部２３１は、例えば、サイクルタイムが長いときにマイナスの報酬を設定し、サイクルタイムが短いときにプラスの報酬を設定する。また、報酬計算部２３１は、例えば、レーザ加工点のプラズマ光がプラズマ光適正値から遠いときにマイナスの報酬を設定し、レーザ加工点のプラズマ光がプラズマ光適正値に近いときにプラスの報酬を設定するか、或いは、レーザ加工点の加工音が加工音適正値から遠いときにマイナスの報酬を設定し、レーザ加工点の加工音が加工音適正値に近いときにプラスの報酬を設定することができる。さらに、報酬計算部２３１は、ロボット１がレーザ加工を行う加工速度(Ｖ)が遅いときにマイナスの報酬を設定し、ロボットがレーザ加工を行う加工速度が速いときにプラスの報酬を設定することもできる。
【００３２】
ところで、機械学習装置２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００３３】
なお、図３に示す機械学習装置２は、「強化学習(Ｑ学習)」を適用したものである。この機械学習装置２は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速に処理することが可能になる。ここで、機械学習の全般に関して、概略を説明する。
【００３４】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００３５】
また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することができる。
【００３６】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。
【００３７】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ロボットシステム(すなわち、レーザ加工ロボット１およびレーザ加工ロボット制御装置(ロボット制御部：例えば、機械学習装置２を含む))１３は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、ロボット制御部は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００３８】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００３９】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００４０】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００４１】
【数１】
2018086711.tif 000003
上記の式(１)において、ｓtは、時刻ｔにおける環境の状態を表し、ａtは、時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。rt+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，ｘ2，ｘ3)には、この入力ｘに対応する重みｗ(ｗ1，ｗ2，ｗ3)が乗算される。これにより、ニューロンは、次の式(２)により表現される結果ｙを出力する。なお、入力ｘ、結果ｙおよび重みｗは、すべてベクトルである。また、下記の式(２)において、θは、バイアスであり、ｆkは、活性化関数である。
【数２】
2018086711.tif 000004
【００４６】
図５を参照して、図４に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図５に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ1〜入力ｘ3)が入力され、右側から結果ｙ(ここでは、一例として、結果ｙ1〜入力ｙ3)が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてＷ１と標記されている。
【００４７】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図５において、これらｚ11〜ｚ13は、まとめて特徴ベクトルＺ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ２と標記されている。
【００４８】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図５において、これらｚ21，ｚ22は、まとめて特徴ベクトルＺ２と標記されている。この特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ３と標記されている。
【００４９】
最後に、ニューロンＮ31〜Ｎ33は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメータを用いて予測モードにおいて、ロボット制御部の行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。
【００５０】
ここで、予測モードで実際にロボット制御部を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。或いは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００５１】
また、重みＷ１〜Ｗ３は、誤差逆伝搬法(誤差逆転伝播法：バックプロパゲーション：Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５２】
ここで、図３を参照して説明したように、本実施例の機械学習装置２は、例えば、Ｑ学習を実施すべく、状態観測部２１、判定データ取得部２２，学習部２３、および、意思決定部２４を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではなく、また、機械学習装置２は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００５３】
図６は、２台のレーザ加工ロボットにおける加工順序とサイクルタイムの関係の一例を説明するための図であり、図６(a)は、加工順序交換前を示し、図６(b)は、加工順序交換後を示す。なお、このような加工順序の交換は、シミュレーションを行うことで確認することができる。図６(a)および図６(b)において、参照符号Ｐ１〜Ｐ４は、加工(レーザ溶接処理)に要する期間(時間)を示し、Ｍ１〜Ｍ５は、ロボット１のアーム先端部に取り付けられた加工ツール(レーザ加工ヘッド)１２を所定位置まで移動するのに要する期間を示し、Ｔ１〜Ｔ６は、ロボット１が加工も移動もしていない待機期間を示す。
【００５４】
図６(a)に示されるように、加工順序を交換する前において、第１ロボットＲ１は、Ｐ１→Ｍ１→Ｐ２→Ｍ２→Ｔ１と動作し、第２ロボットＲ２は、Ｍ３→Ｔ２→Ｐ３→Ｍ４→Ｔ３→Ｐ４→Ｍ５と動作し、２台のロボットＲ１およびＲ２は、タイミングＥＰａで両方の処理を完了する。このとき、例えば、図６(b)に示されるように、第１ロボットＲ１の「Ｐ１→Ｍ１」と「Ｐ２→Ｍ２」の順序を交換すると、第１ロボットＲ１は、Ｐ２→Ｍ２→Ｔ４→Ｐ１→Ｍ１→Ｔ６と動作し、第２ロボットＲ２は、Ｍ３→Ｔ２→Ｐ３→Ｍ４→Ｔ５→Ｐ４→Ｍ５と動作し、２台のロボットＲ１およびＲ２は、タイミングＥＰｂで両方の処理を完了する。
【００５５】
すなわち、図６(b)と図６(a)の比較から明らかなように、２台のロボットＲ１およびＲ２は、同じ加工Ｐ１〜Ｐ４および移動Ｍ１〜Ｍ５の処理を行っているが、第１ロボットＲ１の「Ｐ１→Ｍ１」と「Ｐ２→Ｍ２」の順序を交換することにより全体の処理時間(サイクルタイム)をＴｓ(Ｔｓ＝ＥＰａ−ＥＰｂ)だけ短縮することが可能なのが分かる。図６では、説明のために、簡略化した処理を例としているが、実際には、様々な要因に基づく複雑な処理を行うことになり、本実施形態の機械学習装置は、このようなレーザ加工ロボットの加工順序を学習するものである。
【００５６】
図７は、本発明に係るロボットシステムのレーザ加工ロボットにおける加工ツールを説明するための図である。加工ツール(レーザ加工ヘッド)１２は、例えば、ロボット(レーザ加工ロボット)１のアーム先端部に取り付けられ、ワークＷ(例えば、自動車の車体１００)に対するレーザ加工(例えば、レーザ溶接)を行う。加工ツール１２において、例えば、加工ツール１２(レーザ加工ロボット１)がレーザ加工を行うときの加工速度Ｖ、レーザの焦点距離Ｄ、加工ツール１２の姿勢Ｐｓおよびアシストガスの流量Ｆといった加工条件が、適正値になるように調整される。なお、加工速度Ｖ、焦点距離Ｄ、姿勢Ｐｓおよび流量Ｆは、それぞれ知られている加工監視センサの出力により求めることができる。
【００５７】
後に、図９および図１０に示すフローチャートを参照して詳述するが、加工監視センサの出力が適正値になるように加工条件を調整し、例えば、前述した機械学習装置２の学習部２３における報酬計算部２３１は、ロボット１による処理時間(システムサイクルタイム)が長いときにマイナスの報酬を設定し、サイクルタイムが短いときにプラスの報酬を設定する。また、報酬計算部２３１は、加工監視センサの出力が適正値から遠いときにマイナスの報酬を設定し、加工監視センサの出力が適正値に近いときにプラスの報酬を設定することもできる。さらに、報酬計算部２３１は、ロボット１がレーザ加工を行う加工速度Ｖが遅いときにマイナスの報酬を設定し、ロボット１がレーザ加工を行う加工速度Ｖが速いときにプラスの報酬を設定してもよい。
【００５８】
図８は、本発明に係るロボットシステムのレーザ加工ロボットにおけるレーザ加工時の状態の観測を説明するための図であり、図８(a)は、レーザ加工点のプラズマ光を観測する様子を示し、図８(b)は、レーザ加工点の加工音を観測する様子を示す。
【００５９】
まず、図８(a)に示されるように、加工ツール(レーザ加工ヘッド)１２には、所定の波長範囲の光を通過させる光フィルタ３１およびフォトセンサ(光センサ)３２が設けられ、レーザ加工点Ｐｐからのプラズマ光を所定の波長範囲で検知して信号Ｓｐを出力するようになっている。この検知信号Ｓｐが、予め設定された下限値と上限値の設定範囲に納まる(設定下限値＜Ｓｐ＜設定上限値)ように、加工条件(例えば、加工速度Ｖおよびレーザ出力等)を変更することができる。
【００６０】
また、図８(b)に示されるように、加工ツール１２には、音を検知するマイクロフォン(音センサ)４１が設けられ、レーザ加工点Ｐｐからの加工音を検知するようになっている。ここで、マイクロフォン４１の出力は、ＦＦＴ変換部４２により高速フーリエ変換(ＦＦＴ：Fast Fourier Transform)され、さらに、信号フィルタ部４３により所定の周波数範囲の検知信号Ｓｓを出力するようになっている。この検知信号Ｓｓが、予め設定された下限値と上限値の設定範囲に納まる(設定下限値＜Ｓｓ＜設定上限値)ように、加工条件(例えば、加工速度Ｖおよびレーザ出力等)を変更することができる。
【００６１】
ここで、レーザ加工ロボット１によるレーザ加工の状態を監視する手法として、ロボット１によるレーザ加工時におけるレーザ加工点Ｐｐの加工音を検出し、そのレーザ加工点Ｐｐの加工音における所定の周波数範囲を抽出し、そして、抽出された所定の周波数範囲のレーザ加工点Ｐｐの加工音に基づいて、ロボット１によるレーザ加工の状態を監視することも可能である。
【００６２】
図９は、図３に示す機械学習装置における処理の一例を示すフローチャートである。図９に示されるように、機械学習が開始(学習スタート)すると、ステップＳＴ１において、行動価値テーブルに基づいて加工条件と加工順序を決定し、ステップＳＴ２に進み、システムサイクルタイムを判定する。ここで、初期状態の行動価値テーブルは、例えば、それまでの経験やダミーとして行った結果等に基づいて、予め作成しておく。
【００６３】
ステップＳＴ２において、システムサイクルタイムが長いと判定すると、ステップＳＴ３ａに進んでマイナスの報酬(−５)を設定し、システムサイクルタイムが標準であると判定すると、ステップＳＴ３ｂに進んで零の報酬(０)を設定し、システムサイクルタイムが短いと判定すると、ステップＳＴ３ｃに進んでプラスの報酬(＋５)を設定する。
【００６４】
さらに、ステップＳＴ４に進んで、ステップＳＴ３ａ〜ＳＴ３ｃにより設定された報酬を積算し、ステップＳＴ５に進んで、行動価値テーブルを更新し、再び、ステップＳＴ１に戻って同様の処理を繰り返す。
【００６５】
図１０は、図３に示す機械学習装置における処理の他の例を示すフローチャートであり、上述した図９のフローチャートに対して、加工監視センサの出力に基づく判定、および、加工速度に基づく判定を追加したものに相当する。図１０に示されるように、機械学習が開始(学習スタート)すると、ステップＳＴ１において、行動価値テーブルに基づいて加工条件と加工順序を決定し、ステップＳＴ２，ＳＴ１２およびＳＴ２２の処理を行う。
【００６６】
すなわち、ステップＳＴ１２において、加工監視センサの出力と適正値の判定を行う。具体的に、ステップＳＴ１２において、例えば、フォトセンサから出力されるレーザ加工点のプラズマ光の値が適正値(プラズマ光適正値)から遠いと判定すると、ステップＳＴ１３ａに進んでマイナスの報酬(−１０)を設定し、レーザ加工点のプラズマ光が標準であると判定すると、ステップＳＴ１３ｂに進んで零の報酬(０)を設定し、そして、レーザ加工点のプラズマ光がプラズマ光適正値に近いと判定すると、ステップＳＴ１３ｃに進んでプラスの報酬(＋１０)を設定する。さらに、ステップＳＴ１４に進んで、ステップＳＴ１３ａ〜ＳＴ１３ｃにより設定された報酬を積算し、ステップＳＴ６に進む。
【００６７】
或いは、ステップＳＴ１２において、例えば、レーザ加工点の加工音が適正値(加工音適正値)から遠いと判定すると、ステップＳＴ２３ａに進んでマイナスの報酬(−１０)を設定し、レーザ加工点の加工音が標準であると判定すると、ステップＳＴ２３ｂに進んで零の報酬(０)を設定し、そして、レーザ加工点の加工音が加工音適正値に近いと判定すると、ステップＳＴ２３ｃに進んでプラスの報酬(＋１０)を設定する。さらに、ステップＳＴ１４に進んで、ステップＳＴ１３ａ〜ＳＴ１３ｃにより設定された報酬を積算し、ステップＳＴ６に進む。
【００６８】
また、ステップＳＴ２２では、ロボット(レーザ加工ロボット)がレーザ加工を行う加工速度の判定を行う。すなわち、ステップＳＴ２２において、加工速度が遅いと判定すると、ステップＳＴ２３ａに進んでマイナスの報酬(−５)を設定し、加工速度が標準であると判定すると、ステップＳＴ２３ｂに進んで零の報酬(０)を設定し、そして、加工速度が速いと判定すると、ステップＳＴ２３ｃに進んでプラスの報酬(＋５)を設定する。さらに、ステップＳＴ２４に進んで、ステップＳＴ２３ａ〜ＳＴ２３ｃにより設定された報酬を積算し、ステップＳＴ６に進む。
【００６９】
なお、ステップＳＴ２，ＳＴ３ａ〜ＳＴ３ｃおよびＳＴ４は、図９を参照して説明したのと同様であり、ステップＳＴ４において、ステップＳＴ３ａ〜ＳＴ３ｃにより設定された報酬を積算した後、ステップＳＴ６に進む。なお、ステップＳＴ６では、ステップＳＴ１４，ＳＴ２４およびＳＴ４で積算された報酬をさらに積算し、ステップＳＴ５に進んで、行動価値テーブルを更新し、再び、ステップＳＴ１に戻って同様の処理を繰り返す。
【００７０】
ここで、報酬値は、それぞれの判定項目により重み付けがなされているが、これは、それぞれ適切な値に変更することができる。すなわち、ステップＳＴ１２の加工監視センサの出力と適正値の判定は、大きな重み付け(『−１０，０，＋１０』)とされ、ステップＳＴ２２におけるレーザ加工ロボットがレーザ加工を行う加工速度の判定およびステップＳＴ２におけるシステムサイクルタイム(サイクルム)の判定は、同じ重み付け(『−５，０，＋５』)とされているが、適宜変更することが可能である。また、各判定項目による重み付けは、正側と負側で変更させることもでき、或いは、全ての項目に対して同じ重み付けをすることも可能である。
【００７１】
以上、詳述したように、本実施形態に係る機械学習装置、ロボットシステムおよび機械学習方法によれば、レーザ加工ロボットの加工順序を学習して最適解を効率的に教示することができる。これにより、レーザ加工ロボットによる処理時間(サイクルタイム)を短縮し、最適な加工条件により加工を行うことが可能になる。なお、本実施形態の適用は、レーザ溶接を始めとして、レーザ切断等のレーザ加工を行うロボットに対して幅広く適用することができるのはいうまでもない。
【００７２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００７３】
１，Ｒ１，Ｒ２    ロボット
２    機械学習装置
１０    レーザ発振器
１１    光ファイバ
１２    加工ツール(レーザ加工ヘッド)
１３    ロボット制御部(レーザ加工ロボット制御装置)
２１    状態観測部
２２    判定データ取得部
２３    学習部
２３１    報酬計算部
２３２    価値関数更新部
２４    意思決定部
【図１】
2018086711.tif 000005
【図２】
2018086711.tif 000006
【図３】
2018086711.tif 000007
【図４】
2018086711.tif 000008
【図５】
2018086711.tif 000009
【図６】
2018086711.tif 000010
【図７】
2018086711.tif 000011
【図８】
2018086711.tif 000012
【図９】
2018086711.tif 000013
【図１０】
2018086711.tif 000014
【手続補正書】
【提出日】平成29年9月4日(2017.9.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
或いは、ステップＳＴ１２において、例えば、レーザ加工点の加工音が適正値(加工音適正値)から遠いと判定すると、ステップＳＴ１３ａに進んでマイナスの報酬(−１０)を設定し、レーザ加工点の加工音が標準であると判定すると、ステップＳＴ１３ｂに進んで零の報酬(０)を設定し、そして、レーザ加工点の加工音が加工音適正値に近いと判定すると、ステップＳＴ１３ｃに進んでプラスの報酬(＋１０)を設定する。さらに、ステップＳＴ１４に進んで、ステップＳＴ１３ａ〜ＳＴ１３ｃにより設定された報酬を積算し、ステップＳＴ６に進む。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７０
【補正方法】変更
【補正の内容】
【００７０】
ここで、報酬値は、それぞれの判定項目により重み付けがなされているが、これは、それぞれ適切な値に変更することができる。すなわち、ステップＳＴ１２の加工監視センサの出力と適正値の判定は、大きな重み付け(『−１０，０，＋１０』)とされ、ステップＳＴ２２におけるレーザ加工ロボットがレーザ加工を行う加工速度の判定およびステップＳＴ２におけるシステムサイクルタイム(サイクルタイム)の判定は、同じ重み付け(『−５，０，＋５』)とされているが、適宜変更することが可能である。また、各判定項目による重み付けは、正側と負側で変更させることもでき、或いは、全ての項目に対して同じ重み付けをすることも可能である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2018086711.tif 000015