(57)【要約】【課題】ロボットおよびレーザスキャナの動作を最適化できる機械学習装置，ロボットシステムおよび機械学習方法の提供を図る。【解決手段】ロボット11およびレーザスキャナ13の動作を学習する機械学習装置2であって、前記レーザスキャナが取り付けられた前記ロボットの先端の状態並びに前記レーザスキャナにおける光学部品の状態を状態データとして観測する状態観測部21と、前記レーザスキャナが取り付けられた前記ロボットによる加工時間,前記ロボットを駆動する駆動電流,前記レーザスキャナの指令経路,前記レーザスキャナが処理を行う処理可能範囲の通過時間および前記ロボットと前記レーザスキャナが処理を行う個所との距離の少なくとも１つを判定データとして受け取る判定データ取得部22と、前記状態観測部の出力および前記判定データ取得部の出力に基づいて前記ロボットおよびレーザスキャナの動作を学習する学習部23と、を備える。【選択図】図１
2018097810.tif 000002
【特許請求の範囲】
【請求項１】
ロボットおよびレーザスキャナの動作を学習する機械学習装置であって、
前記レーザスキャナが取り付けられた前記ロボットの先端の状態、並びに、前記レーザスキャナにおける光学部品の状態を、状態データとして観測する状態観測部と、
前記レーザスキャナが取り付けられた前記ロボットによる加工時間、前記ロボットを駆動する駆動電流、前記レーザスキャナの指令経路、前記レーザスキャナが処理を行う処理可能範囲の通過時間、および、前記ロボットと前記レーザスキャナが処理を行う個所との距離の少なくとも１つを、判定データとして受け取る判定データ取得部と、
前記状態観測部の出力および前記判定データ取得部の出力に基づいて、前記ロボットおよびレーザスキャナの動作を学習する学習部と、を備える、
ことを特徴とする機械学習装置。
【請求項２】
前記状態観測部は、
前記レーザスキャナが取り付けられた前記ロボットの先端の位置，速度および加速度を観測する、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記状態観測部は、
前記レーザスキャナにおける光学部品の位置，速度および加速度を観測する、
ことを特徴とする請求項１または請求項２に記載の機械学習装置。
【請求項４】
さらに、
前記学習部が学習した前記ロボットおよびレーザスキャナの動作に基づいて、前記ロボットおよび前記レーザスキャナに出力する行動出力を決定する意思決定部を備える、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習装置。
【請求項５】
前記学習部は、
前記状態観測部の出力および前記判定データ取得部の出力に基づいて、報酬を計算する報酬計算部と、
前記状態観測部の出力，前記判定データ取得部の出力および前記報酬計算部の出力に基づいて、前記ロボットおよびレーザスキャナの動作の価値を定める価値関数を更新する価値関数更新部と、を備える、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習装置。
【請求項６】
前記報酬計算部は、
前記ロボットによる加工時間が長いときにマイナスの報酬を設定し、前記ロボットによる加工時間が短いときにプラスの報酬を設定する、
ことを特徴とする請求項５に記載の機械学習装置。
【請求項７】
前記報酬計算部は、
前記レーザスキャナの指令経路が短いときにマイナスの報酬を設定し、前記レーザスキャナの指令経路が長いときにプラスの報酬を設定する、或いは、
前記ロボットを駆動する駆動電流多いときにマイナスの報酬を設定し、前記ロボットを駆動する駆動電流少ないときにプラスの報酬を設定する、
ことを特徴とする請求項５または請求項６に記載の機械学習装置。
【請求項８】
前記報酬計算部は、
前記レーザスキャナが処理を行う処理可能範囲の通過時間が短いときにマイナスの報酬を設定し、前記レーザスキャナが処理を行う処理可能範囲の通過時間が長いときにプラスの報酬を設定する、或いは、
前記ロボットと前記レーザスキャナが処理を行う個所との距離が長いときにマイナスの報酬を設定し、前記ロボットと前記レーザスキャナが処理を行う個所との距離が短いときにプラスの報酬を設定する、
ことを特徴とする請求項５乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項９】
前記機械学習装置は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習装置。
【請求項１０】
前記機械学習装置は、それぞれの前記ロボットに対して設けられ、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの前記他の機械学習装置との間で機械学習の結果を相互に交換または共有する、
ことを特徴とする請求項１乃至請求項９のいずれか１項に記載の機械学習装置。
【請求項１１】
前記機械学習装置は、クラウドサーバまたはフォグサーバ上に存在する、
ことを特徴とする請求項１乃至請求項９のいずれか１項に記載の機械学習装置。
【請求項１２】
ロボット制御装置と、前記ロボット制御装置により制御される前記ロボットと、レーザスキャナ制御装置と、前記レーザスキャナ制御装置により制御される前記レーザスキャナと、請求項１乃至請求項１１のいずれか１項に記載の機械学習装置と、を備える、
ことを特徴とするロボットシステム。
【請求項１３】
前記ロボットは、前記レーザスキャナから放射されるレーザ光により溶接を行うリモートレーザ溶接ロボットである、
ことを特徴とする請求項１２に記載のロボットシステム。
【請求項１４】
ロボットおよびレーザスキャナの動作を学習する機械学習方法であって、
前記レーザスキャナが取り付けられた前記ロボットの先端の状態、並びに、前記レーザスキャナにおける光学部品の状態を、状態データとして観測し、
前記レーザスキャナが取り付けられた前記ロボットによる加工時間、前記ロボットを駆動する駆動電流、前記レーザスキャナの指令経路、前記レーザスキャナが処理を行う処理可能範囲の通過時間、および、前記ロボットと前記レーザスキャナが処理を行う個所との距離の少なくとも１つを、判定データとして受け取り、
観測された前記状態データおよび取得された前記判定データに基づいて、前記ロボットおよびレーザスキャナの動作を学習する、
ことを特徴とする機械学習方法。
【請求項１５】
前記ロボットおよびレーザスキャナの動作の学習は、
観測された前記状態データおよび取得された前記判定データに基づいて、報酬を計算し、
観測された前記状態データ，取得された前記判定データおよび計算された前記報酬に基づいて、前記ロボットおよびレーザスキャナの動作の価値を定める価値関数を更新する、
ことを特徴とする請求項１４に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットおよびレーザスキャナの動作を学習する機械学習装置，ロボットシステムおよび機械学習方法に関する。
【背景技術】
【０００２】
近年、例えば、自動車の車体を溶接するために、ロボットの先端(ハンド部分)にレーザスキャナを取り付けてレーザ溶接を行うリモートレーザ溶接ロボット(ロボットシステム)が注目され、実用化されている。ここで、レーザキャナとは、レーザ用の光学系で１個以上のミラー(例えば、ＸＹ方向の２つのミラー：光学部品)またはレンズ若しくはガラス板等の光学部品を動作させてレーザ光を走査するための装置である。このうち、レーザ用の光学系で１個以上のミラー(例えば、ＸＹ方向の２つのミラー)を動作させてレーザ光を走査する装置を一般的にガルバノスキャナと呼ぶ。なお、本明細書では、主としてレーザスキャナの一例であるガルバノスキャナを説明するが、本発明の適用は、ガルバノスキャナに限定されず、例えば、トレパニングヘッドやポリゴンスキャナ等のレーザスキャナ全般に対して幅広く適用することができる。
【０００３】
ところで、従来、駆動軸を備えた工具が取り付け、レーザによる加工を行うロボットシステムとして、ロボットが教示経路に沿って移動するとともに、工具の駆動軸を制御して操作者が所望する加工経路上にレーザビームを移動させるものが提案されている(例えば、特許文献１参照)。このロボットシステムは、工具上に設定されたロボットの制御点の位置・姿勢を演算するロボット軸演算部と、ロボット軸演算部によって演算されたロボットの制御点の位置・姿勢および予め設定されたレーザビームの焦点位置から工具の駆動軸へ出力すべき動作指令を演算によって求める工具軸演算部と、を有している。
【０００４】
また、従来、予定されているレーザ照射位置に正確にレーザを照射することのできるレーザ溶接装置も提案されている(例えば、特許文献２参照)。このレーザ溶接装置は、ロボットと、ロボットに取り付けられてレーザを射出(放射)するレーザ射出手段と、ロボットの現在位置を測定する測定手段と、その計測したロボットの現在位置に基づいてレーザの照射位置があらかじめ決められた照射位置となるようにレーザ射出手段から射出されるレーザの向きを制御する制御手段と、を有している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９２２５８４号公報
【特許文献２】特許第４７９２９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、従来、ロボットが教示経路に沿って移動するとともに、工具の駆動軸を制御して操作者が所望する加工経路上にレーザビームを移動させるロボットシステム、並びに、予定されているレーザ照射位置に正確にレーザを照射することのできるレーザ溶接装置が提案されている。しかしながら、これらロボットシステムおよびレーザ溶接装置は、ロボットの動作の特徴と工具(レーザ射出手段)の動作の特徴に基づいて、ロボットおよび工具(レーザ射出手段)の動作を最適化するといったものではない。
【０００７】
また、前述したように、近年、ロボットの先端にガルバノスキャナ(レーザスキャナ)を取り付けてレーザ溶接を行うリモートレーザ溶接ロボットシステムが実用化されている。ここで、ガルバノスキャナの動作は、例えば、放射するレーザ光を高精度で高速に走査することはできるが、レーザ光の走査可能な領域(範囲)は、それ程広くない。これに対して、ロボット(ロボットの先端)の動作は、ガルバノスキャナでレーザ光を走査する精度および速度よりは劣るものの、移動可能な領域は、十分に広い。
【０００８】
そこで、リモートレーザ溶接ロボットシステムにおいて、溶接する加工経路(指令経路)を設定する場合、例えば、人(オペレータ，ユーザ)がロボットおよびガルバノスキャナの動作の特徴を勘案して、ロボットおよびガルバノスキャナの動作を最適化することが考えられる。しかしながら、このロボットおよびガルバノスキャナの動作の最適化(動作の教示、または、プログラムの作成)を人が行うのは、困難なものとなっている。
【０００９】
なお、本明細書では、レーザ光をＸＹ方向の二次元(２Ｄ)に走査して溶接を行うリモートレーザ溶接ロボットシステムを例として説明するが、本発明に係るロボットシステムは、レーザ溶接を行うものだけでなく、例えば、レーザ切断，レーザ穴あけ，金属加工，レーザ樹脂溶着，樹脂加工，表面加工および表面改質といった様々な作業を行うロボットシステムに適用することができる。また、ガルバノスキャナは、レーザ光をＸＹ方向の二次元に走査するものに限定されず、例えば、フォーカス制御機構によるＺ方向を加えた三次元(３Ｄ)に走査するものであってもよく、さらに、使用するレーザ光の種類も、ファイバレーザを始めとして、炭酸ガス(ＣＯ2)レーザやＹＡＧ(Yttrium Aluminum Garnet)レーザ等であってもよい。
【００１０】
本発明の目的は、上述した従来技術の課題に鑑み、ロボットおよびレーザスキャナの動作を最適化ができる機械学習装置，ロボットシステムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【００１１】
本発明に係る第１実施形態によれば、ロボットおよびレーザスキャナの動作を学習する機械学習装置であって、前記レーザスキャナが取り付けられた前記ロボットの先端の状態、並びに、前記レーザスキャナにおける光学部品の状態を、状態データとして観測する状態観測部と、前記レーザスキャナが取り付けられた前記ロボットによる加工時間、前記ロボットを駆動する駆動電流、前記レーザスキャナの指令経路、前記レーザスキャナが処理を行う処理可能範囲の通過時間、および、前記ロボットと前記レーザスキャナが処理を行う個所との距離の少なくとも１つを、判定データとして受け取る判定データ取得部と、前記状態観測部の出力および前記判定データ取得部の出力に基づいて、前記ロボットおよびレーザスキャナの動作を学習する学習部と、を備える機械学習装置が提供される。
【００１２】
前記状態観測部は、前記レーザスキャナが取り付けられた前記ロボットの先端の位置，速度および加速度を観測することができる。また、前記状態観測部は、前記レーザスキャナにおける光学部品の位置，速度および加速度を観測することもできる。前記機械学習装置は、さらに、前記学習部が学習した前記ロボットおよびレーザスキャナの動作に基づいて、前記ロボットおよび前記レーザスキャナに出力する行動出力を決定する意思決定部を備えてもよい。
【００１３】
前記学習部は、前記状態観測部の出力および前記判定データ取得部の出力に基づいて、報酬を計算する報酬計算部と、前記状態観測部の出力，前記判定データ取得部の出力および前記報酬計算部の出力に基づいて、前記ロボットおよびレーザスキャナの動作の価値を定める価値関数を更新する価値関数更新部と、を備えるのが好ましい。前記報酬計算部は、前記レーザスキャナの指令経路が短いときにマイナスの報酬を設定し、前記レーザスキャナの指令経路が長いときにプラスの報酬を設定する、或いは、前記ロボットを駆動する駆動電流多いときにマイナスの報酬を設定し、前記ロボットを駆動する駆動電流少ないときにプラスの報酬を設定することができる。また、前記報酬計算部は、前記レーザスキャナが処理を行う処理可能範囲の通過時間が短いときにマイナスの報酬を設定し、前記レーザスキャナが処理を行う処理可能範囲の通過時間が長いときにプラスの報酬を設定する、或いは、前記ロボットと前記レーザスキャナが処理を行う個所との距離が長いときにマイナスの報酬を設定し、前記ロボットと前記レーザスキャナが処理を行う個所との距離が短いときにプラスの報酬を設定することもできる。
【００１４】
前記機械学習装置は、ニューラルネットワークを備えてもよい。前記機械学習装置は、それぞれの前記ロボットに対して設けられ、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの前記他の機械学習装置との間で機械学習の結果を相互に交換または共有することができる。前記機械学習装置は、クラウドサーバまたはフォグサーバ上に存在してもよい。
【００１５】
本発明に係る第２実施形態によれば、ロボット制御装置と、前記ロボット制御装置により制御される前記ロボットと、レーザスキャナ制御装置と、前記レーザスキャナ制御装置により制御される前記レーザスキャナと、上述した第１実施形態の機械学習装置と、を備えるロボットシステムが提供される。前記ロボットは、前記レーザスキャナから放射されるレーザ光により溶接を行うリモートレーザ溶接ロボットであってもよい。
【００１６】
本発明に係る第３実施形態によれば、ロボットおよびレーザスキャナの動作を学習する機械学習方法であって、前記レーザスキャナが取り付けられた前記ロボットの先端の状態、並びに、前記レーザスキャナにおける光学部品の状態を、状態データとして観測し、前記レーザスキャナが取り付けられた前記ロボットによる加工時間、前記ロボットを駆動する駆動電流、前記レーザスキャナの指令経路、前記レーザスキャナが処理を行う処理可能範囲の通過時間、および、前記ロボットと前記レーザスキャナが処理を行う個所との距離の少なくとも１つを、判定データとして受け取り、観測された前記状態データおよび取得された前記判定データに基づいて、前記ロボットおよびレーザスキャナの動作を学習する機械学習方法が提供される。前記ロボットおよびレーザスキャナの動作の学習は、観測された前記状態データおよび取得された前記判定データに基づいて、報酬を計算し、観測された前記状態データ，取得された前記判定データおよび計算された前記報酬に基づいて、前記ロボットおよびレーザスキャナの動作の価値を定める価値関数を更新することができる。
【発明の効果】
【００１７】
本発明に係る機械学習装置，ロボットシステムおよび機械学習方法によれば、ロボットおよびレーザスキャナの動作を最適化することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明に係るロボットシステムおよび機械学習装置の一実施形態を模式的に示す図である。
【図２】図２は、本発明に係る機械学習装置の一実施形態を示すブロック図である。
【図３】図３は、ニューロンのモデルを模式的に示す図である。
【図４】図４は、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図５】図５は、図２に示す機械学習装置における処理の第１実施例を示すフローチャートである。
【図６】図６は、図２に示す機械学習装置における処理の第２実施例を示すフローチャートである。
【図７】図７は、図２に示す機械学習装置における処理の第３例実施を示すフローチャートである。
【図８】図８は、図２に示す機械学習装置における処理の第４実施例を示すフローチャートである。
【図９】図９は、図２に示す機械学習装置における処理の第５例実施を示すフローチャートである。
【図１０】図１０は、図２に示す機械学習装置における処理の第６実施例を示すフローチャートである。
【図１１】図１１は、ロボットシステムの一例を模式的に示す図である。
【図１２】図１２は、ロボットシステムにおけるガルバノスキャナの加工経路を説明するための図(その１)である。
【図１３】図１３は、ロボットシステムにおけるガルバノスキャナの加工経路を説明するための図(その２)である。
【発明を実施するための形態】
【００１９】
まず、本発明に係る機械学習装置，ロボットシステムおよび機械学習方法の実施形態を詳述する前に、ロボットシステムの一例、および、その問題点を、図１１〜図１３を参照して説明する。図１１は、ロボットシステムの一例を模式的に示す図である。なお、以下の記載では、ガルバノスキャナを例として説明するが、本発明の適用は、ガルバノスキャナに限定されず、例えば、トレパニングヘッドやポリゴンスキャナ等のレーザスキャナ全般に対して幅広く適用することができるのはいうまでもない。
【００２０】
図１１に示されるように、ロボットシステム(リモートレーザ溶接ロボットシステム)１は、溶接対象ＷＯに対してレーザ溶接ＷＬ，ＷＰ１，ＷＰ２を行うもので、一例として、ロボット１１と、ロボット１１を制御する制御装置(ロボット制御装置)１２と、ロボット１１の先端(ハンド部分)に取り付けられたガルバノスキャナ(レーザスキャナ)１３と、を含むものを示す。ここで、ガルバノスキャナ１３を制御するガルバノスキャナ制御装置(レーザスキャナ制御装置)は、制御装置１２に内蔵されているものとする。
【００２１】
溶接対象ＷＯは、例えば、自動車の車体であり、この自動車の車体ＷＯにおいて、例えば、離れた位置にある溶接個所ＷＰ１，ＷＰ２、並びに、予め定められた溶接線(加工経路)ＷＬに対して、ロボット１１およびガルバノスキャナ１３の動作を制御してレーザ溶接を行う。ここで、ガルバノスキャナ１３は、例えば、直交するＸ軸方向およびＹ軸方向の２つのミラー(光学部品)を有し、これら２つのミラーを制御することにより、ガルバノスキャナ１３から放射されるレーザ光を、領域Ｒｓの範囲で走査可能となっている。また、ロボット１１の先端は、例えば、領域Ｒｒの範囲で移動可能となっている。
【００２２】
なお、ガルバノスキャナ１３は、例えば、ＸおよびＹ軸方向のミラーの角度を変化させてレーザ光を走査するため、ガルバノスキャナ１３から放射されるレーザ光は、高精度で高速に走査することができる。ただし、ガルバノスキャナ１３によるレーザ光の走査可能な領域Ｒｓは、それ程広くないため、例えば、溶接個所ＷＰ１，ＷＰ２および溶接線ＷＬに対してレーザ光を照射するには、ロボット１１を動作させる。また、ロボット１１(ロボットの先端)は、ロボットの各軸を駆動するモータをサーボ制御することで動作(移動)するため、ガルバノスキャナ１３によるレーザ光の走査に比べて、移動精度および移動速度は劣ることになるが、移動可能な領域Ｒｒが十分に広いため、溶接個所ＷＰ１，ＷＰ２および溶接線ＷＬの全体にレーザ光を照射することが可能になる。
【００２３】
図１２および図１３は、ロボットシステムにおけるガルバノスキャナの加工経路を説明するための図である。図１２(a)および図１２(b)並びに図１３(a)および図１３(b)において、溶接対象(被溶接ワーク)ＷＯは自動車の車体であり、自動車の車体ＷＯの溶接個所(例えば、スポット溶接個所)ＷＰ11〜ＷＰ16に対して溶接を行う様子が示されている。ここで、一般的に、被溶接ワーク(ＷＯ)を溶接する場合、ワークの溶接位置(ＷＰ11〜ＷＰ16)は設計段階で決まっている。
【００２４】
図１２(a)に示されるように、例えば、ロボット(１１)の先端に設けられた溶接ツール(スポットガン，溶接トーチ)上の固定位置で溶接を行うスポット溶接ロボットやアーク溶接ロボットによる作業は、例えば、溶接ツール先端が溶接位置ＷＰ11〜ＷＰ16に対して位置決め、或いは、通過するようにロボットの動作を制御する。そのため、これらスポット溶接ロボットやアーク溶接ロボットの先端の移動経路としては、溶接位置ＷＰ11〜ＷＰ16に対して一筆書きのようになる。
【００２５】
これに対して、図１２(b)に示されるように、ガルバノスキャナ１３を使ったリモートレーザ溶接ロボットシステム１では、溶接位置ＷＰ11〜ＷＰ16はロボット１１の先端に対して可変の位置に溶接することが可能である。そのため、ロボット１１の先端(ガルバノスキャナ１３)の移動経路は、例えば、溶接開始点Ｓから移動経路ＭＬ１やＭＬ２といった複数の経路が存在し得る。すなわち、ガルバノスキャナを使ったリモート溶接ロボットにおいて、溶接位置(ＷＰ11〜ＷＰ16)は、溶接ツール(ガルバノスキャナ１３)に対して可変の位置であってもよいため、リモート溶接ロボットの先端の移動経路は、溶接位置ＷＰ11〜ＷＰ16に対して一筆書きである必要はなく、自由度が高い。しかしながら、自由度が高いがゆえに、ロボットの最適な経路というのは、試行錯誤で見出すことになり、困難な作業となっている。
【００２６】
図１３(a)および図１３(b)において、参照符号ＷＡ(ＷＡ11〜ＷＡ16)は、それぞれの溶接位置ＷＰ11〜ＷＰ16に対して溶接を行うことが可能なエリア(溶接可能範囲)を示す。従って、溶接位置ＷＰ11〜ＷＰ16を溶接するためには、ガルバノスキャナ１３(ロボット１１の先端)が溶接可能範囲ＷＡ11〜ＷＡ16を通過することが求められる。ここで、溶接可能範囲ＷＡ11〜ＷＡ16は、それぞれ溶接位置ＷＰ11〜ＷＰ16に対するスキャナ(レーザ光)の照射範囲に対応する。
【００２７】
図１３(b)に示されるように、例えば、ガルバノスキャナ１３が、溶接開始点Ｓから溶接可能範囲ＷＡ11〜ＷＡ16(溶接位置ＷＰ11〜ＷＰ16)を経由して溶接終了点Ｇまで到達図する場合、例えば、移動経路ＭＬ１やＭＬ２といった複数の経路が可能であるが、それぞれの溶接可能範囲ＷＡ11〜ＷＡ16を通過する際、その通過時間(区間内時間)は、ガルバノスキャナ１３が所定の溶接を行う溶接動作時間(例えば、溶接，エアカットおよび前後の溶接動作からのジャンプ時間)以上である(区間内時間＞溶接動作時間)ことが求められる。
【００２８】
このように、リモートレーザ溶接ロボットシステム(ロボットシステム)１において、レーザ溶接を行う加工経路(指令経路)を設定する場合、例えば、人(オペレータ，ユーザ)がロボット１１およびガルバノスキャナ１３の動作の特徴を勘案して、ロボット１１およびガルバノスキャナ１３の動作を最適化することになる。しかしながら、上述したように、ロボット１１およびガルバノスキャナ１３の動作は、それぞれ異なる特徴を有しているため、人がロボット１１およびガルバノスキャナ１３の動作を最適化するのは困難であり、通常、例えば、図１１における破線ＭＬのように、ロボット１１の先端を直線的に移動させ、その直線的な移動線ＭＬの途中で、ガルバノスキャナ１３を制御して所定の位置(ＷＰ１，ＷＰ２，ＷＬ)にレーザ光を照射するようになっている。
【００２９】
以下、本発明に係る機械学習装置，ロボットシステムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。まず、本実施形態に係る機械学習装置，ロボットシステムおよび機械学習方法は、以下の条件で、ロボットの動作(軌跡および移動速度)を最適化するのが好ましい。
・溶接位置は固定であること。
・ロボットの経路は、ロボットの可動範囲内であること。
・ロボットの移動速度は、ロボットの最高速度以下であること。
・移動中のロボットの加減速は、ロボットの加減速能力以下であること。
・ロボットは、溶接位置に対してスキャナの照射範囲に相当する溶接可能範囲を通過すること。
・ロボットが溶接可能範囲を通過する時間は、スキャナの溶接動作時間以上であること。
【００３０】
また、本実施形態に係る機械学習装置，ロボットシステムおよび機械学習方法は、上記の条件に基づいてロボットおよびガルバノスキャナ(レーザスキャナ)の動作を機械学習してロボット動作の最適化を図る。なお、本実施形態に係る機械学習の成果報酬としては、例えば、次のものが考えられる。
・ロボットが経路上を移動する時間は、短い方が良い(生産性)。
・ロボットの加減速は小さい方が良い(揺れない、ロボット寿命延びる)。
・ロボットが溶接可能範囲を通過する時間は、長い方が良い(加工条件の調整マージンが確保できる)
・ロボット(ガルバノスキャナ)は、溶接位置に近い方が良い(レンズ集光誤差が小さくなる)。
・各種成果報酬には重み付けすることで、例えば生産性重視など動作など、ユーザが望む形で動作が最適化される。
【００３１】
図１は、本発明に係るロボットシステムおよび機械学習装置の一実施形態を模式的に示す図であり、図２は、本発明に係る機械学習装置の一実施例を示すブロック図である。図１に示されるように、本実施形態のロボットシステム(リモートレーザ溶接ロボットシステム)１は、図１１を参照して説明したロボットシステムに相当するものであるが、機械学習装置２に対して、判定データおよび状態データ(状態変数，状態量)を出力し、機械学習装置２により学習されたロボットおよびガルバノスキャナ(レーザスキャナ)の動作の行動出力(学習された指令値，操作量)を受け取って動作する。なお、機械学習装置２は、例えば、ロボット１１の動作を制御するロボット制御装置１２に設けることができる。また、ロボット制御装置１２には、ガルバノスキャナ１３を制御するガルバノスキャナ制御装置を設けることもできるのは、前述した通りである。
【００３２】
図１に示されるように、機械学習装置２は、状態観測部２１、判定データ取得部２２、学習部２３および意思決定部２４を含み、学習部２３は、報酬計算部２３１および価値関数更新部２３２を含む。状態観測部２１は、ロボットシステム１から状態データを受け取り、判定データ取得部２２は、ロボットシステム１から判定データを受け取る。状態観測部２１および判定データ取得部２２の出力は、学習部２３に入力され、学習部２３の出力は、意思決定部２４を介して、ロボットシステム１(ロボット１１およびガルバノスキャナ１３)の動作を制御する行動出力として、ロボットシステム１(制御装置１２)に入力される。
【００３３】
ここで、機械学習装置２は、例えば、それぞれのロボット１１(ロボットシステム１)に対して設けられ、少なくとも１つの他の機械学習装置(２)と接続可能とし、その少なくとも１つの他の機械学習装置との間で機械学習の結果を相互に交換または共有することができる。或いは、機械学習装置２は、クラウドサーバまたはフォグサーバ上に設け、ネットワークを介して各ロボット１１(ロボットシステム１)との間でデータ(状態データ，判定データ，行動出力)を遣り取りするように構成してもよい。
【００３４】
図２に示されるように、機械学習装置２において、状態観測部２１が受け取る状態データとしては、例えば、ロボット１１の先端の位置・速度・加速度、および、ガルバノスキャナ１３(ミラー(光学部品))の位置(ミラーの角度)・速度・加速度であり、判定データ取得部２２が受け取る判定データとしては、例えば、ロボット１１(ロボットシステム１)による加工時間、ロボット１１を駆動する駆動電流、ガルバノスキャナ１３の指令経路、ガルバノスキャナ１３が処理を行う処理可能範囲の通過時間(溶接可能範囲ＷＡ(ＷＡ11〜ＷＡ16)の区間内時間)、および、ロボット１１とガルバノスキャナ１３が処理を行う個所(溶接位置ＷＰ11〜ＷＰ16)との距離である。また、機械学習装置２(意思決定部２４)が出力する行動出力としては、例えば、各時刻におけるロボット１１の各軸の速度指令値である。
【００３５】
なお、上述した状態データ，判定データおよび行動出力は、単なる例であり、他の様々なデータを適用することもできる。また、目標動作(行動出力)を求めるには、実際にロボット１１およびガルバノスキャナ１３を動作させて機械学習装置２に学習を行わせるのに限定されず、例えば、ロボガイドによるシミュレーションで機械学習装置２に学習を行わせることも可能である。
【００３６】
図２に示されるように、状態観測部２１は、ガルバノスキャナ１３が取り付けられたロボット１１の先端の状態(ロボットの先端の位置，速度および加速度)、並びに、ガルバノスキャナ１３における光学部品の状態(ミラーの位置，速度および加速度)を、状態データとして観測する。判定データ取得部２２は、ガルバノスキャナ１３が取り付けられたロボット１１による加工時間、ロボット１１を駆動する駆動電流、ガルバノスキャナ１３の指令経路、ガルバノスキャナ１３が処理を行う処理可能範囲の通過時間、および、ロボット１１とガルバノスキャナ１３が処理を行う個所との距離の少なくとも１つを判定データとして受け取る。学習部２３は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて、ロボット１１およびガルバノスキャナ１３の動作を学習する。
【００３７】
ここで、学習部２３は、報酬計算部２３１および価値関数更新部２３２を含む。報酬計算部２３１は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて、報酬を計算し、価値関数更新部２３２は、状態観測部２１の出力，判定データ取得部２２の出力および報酬計算部２３１の出力に基づいて、ロボット１１およびガルバノスキャナ１３の動作の価値を定める価値関数を更新する。なお、図５〜図８を参照して、後に、詳述するが。報酬計算部２３１は、例えば、ロボット１１(ロボットシステム１)による加工時間が長いときにマイナスの報酬を設定し、ロボット１１による加工時間が短いときにプラスの報酬を設定することができる。
【００３８】
また、報酬計算部２３１は、例えば、ガルバノスキャナ１３の指令経路が短いときにマイナスの報酬を設定し、ガルバノスキャナ１３の指令経路が長いときにプラスの報酬を設定することもできる。さらに、報酬計算部２３１は、例えば、ロボット１１を駆動する駆動電流多いときにマイナスの報酬を設定し、ロボット１１を駆動する駆動電流少ないときにプラスの報酬を設定することもできる。なお、これら報酬計算部２３１における報酬は、上述した複数のデータを適宜組み合わせて設定し、複数のデータによる報酬を積算することもできる。また、上述した状態データは、単なる例であり、他の様々なデータを適用することができるのは、前述した通りである。さらに、機械学習装置２の意思決定部２４は、学習部２３が学習したロボット１１およびガルバノスキャナ１３の動作に基づいて、ロボット１１およびガルバノスキャナ１３(ロボットシステム１)に出力する行動出力を決定する。
【００３９】
ところで、機械学習装置２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００４０】
なお、図２に示す機械学習装置２は、「強化学習(Ｑ学習)」を適用したものである。この機械学習装置２は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速に処理することが可能になる。ここで、機械学習の全般に関して、概略を説明する。
【００４１】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００４２】
また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することができる。
【００４３】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。
【００４４】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ロボットシステム(すなわち、ロボット１１，ガルバノスキャナ１３および制御装置(例えば、ロボット制御装置およびガルバノスキャナ制御装置(レーザスキャナ制御装置))１２を含む)は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、制御装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４５】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００４６】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００４７】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００４８】
【数１】
2018097810.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は、活性化関数である。
【数２】
2018097810.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)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５９】
ここで、図２を参照して説明したように、本実施例の機械学習装置２は、例えば、Ｑ学習を実施すべく、状態観測部２１、判定データ取得部２２，学習部２３、および、意思決定部２４を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではなく、また、機械学習装置２は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００６０】
以下、図５〜図８を参照して、本実施形態の機械学習装置２における処理を説明するが、本実施形態の機械学習装置２は、同期して動作するロボット１１とガルバノスキャナ(レーザスキャナ)１３の動作を学習して最適化するためのものである。ここで、機械学習装置２による学習は、前述したように、実際のロボットシステム１(実機)を動かして行うこともできるが、ロボガイドによるシミュレーションで行うことも可能である。また、本実施形態の機械学習装置２による学習は、例えば、レーザ出力の最適化等を考慮して行ってもよい。
【００６１】
図５は、図２に示す機械学習装置における処理の第１実施例を示すフローチャートである。ここで、例えば、初期条件(学習を行う前の初期値)として、予め決められた加工経路を満たすように、ロボット１１とガルバノスキャナ１３の指令経路を作成しておく。また、加工経路(例えば、図１１における溶接線ＷＬ)は、ロボット１１とガルバノスキャナ１３の指令経路の組合せで決まる。なお、ロボット１１の動作は、位置決め精度および応答性は低いが、可動範囲が大きいといった特徴があり、また、ガルバノスキャナ１３の動作は、位置決め精度および応答性は高いが、可動範囲は狭いといった特徴があるのは前述した通りである。
【００６２】
図５に示されるように、機械学習が開始(学習スタート)すると、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成して、ステップＳＴ１２に進む。ステップＳＴ１２では、ロボット１１による加工時間に基づいて判定を行う。なお、加工時間とは、例えば、ロボット１１の先端(アームの先端部)に取り付けられたガルバノスキャナ１３から放射されるレーザ光により、加工対象(例えば、自動車の車体)に対して、予め定められた所定の溶接加工を終了するまでの１サイクルの時間を意味する。
【００６３】
ステップＳＴ１２において、加工時間が長いと判定すると、ステップＳＴ１３に進んで「−５」の報酬を設定し、加工時間が標準であると判定すると、ステップＳＴ１４に進んで「＋５」の報酬を設定し、そして、加工時間が短いと判定すると、ステップＳＴ１５に進んで「＋１０」の報酬を設定する。さらに、ステップＳＴ１６に進んで、報酬の積算、すなわち、ステップＳＴ１３〜ＳＴ１５で設定された報酬を積算して、ステップＳＴ１７に進む。ステップＳＴ１７では、積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間に基づいて、最適化することが可能になる。
【００６４】
なお、ステップＳＴ１３，ＳＴ１４およびＳＴ１５で設定する報酬の値「−５」，「＋５」および「＋１０」は、単なる例であり、様々な変更が可能なのはいうまでもない。すなわち、図５に示す例において、加工時間(例えば、自動車の車体に対する予め定められた所定の溶接加工を行う時間)は、短い方が好ましいため、例えば、加工時間の長さを『長い』，『標準』および『短い』の３つに分類し、それぞれに対して「−５」，「＋５」および「＋１０」の報酬を設定しているが、これは、単なる例に過ぎない。
【００６５】
図６は、図２に示す機械学習装置における処理の第２実施例を示すフローチャートである。図６と上述した図５の比較から明らかなように、本第２実施例では、図５に示す第１実施例の加工時間に基づく判定に加えて、ロボット１１を駆動する駆動電流(ロボットの駆動電流)による判定も行うようになっている。なお、図６におけるステップＳＴ１１〜ＳＴ１７は、図５におけるステップＳＴ１１〜ＳＴ１７に対応する。ただし、図５におけるステップＳＴ１５で設定する報酬「＋１０」は、図６におけるステップＳＴ１５'では報酬「＋２０」になっている。
【００６６】
すなわち、図６に示されるように、機械学習が開始すると、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成して、ステップＳＴ１２に進み、ロボット１１による加工時間に基づいて判定を行う。ステップＳＴ１２において、加工時間が長いと判定すると、ステップＳＴ１３に進んで「−５」の報酬を設定し、加工時間が標準であると判定すると、ステップＳＴ１４に進んで「＋５」の報酬を設定し、そして、加工時間が短いと判定すると、ステップＳＴ１５'に進んで「＋２０」の報酬を設定する。
【００６７】
上述したように、本第２実施例では、加工時間が短いと判定した場合には、ステップＳＴ１５'において、第１実施例のステップＳＴ１５における報酬(重み)「＋１０」の２倍の報酬「＋２０」を設定している。そして、ステップＳＴ１６に進んで、加工時間に基づく報酬の積算、すなわち、ステップＳＴ１３〜ＳＴ１５'で設定された報酬を積算する。
【００６８】
また、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成すると、ステップＳＴ２２に進んで、ロボットの駆動電流に基づいて判定を行う。ステップＳＴ２２において、ロボットの駆動電流が多いと判定すると、ステップＳＴ２３に進んで「−５」の報酬を設定し、ロボットの駆動電流が標準であると判定すると、ステップＳＴ２４に進んで「０」の報酬を設定し、そして、ロボットの駆動電流が少ないと判定すると、ステップＳＴ２５に進んで「＋５」の報酬を設定する。さらに、ステップＳＴ２６に進んで、ロボットの駆動電流に基づく報酬の積算、すなわち、ステップＳＴ２３〜ＳＴ１５で設定された報酬を積算する。
【００６９】
そして、ステップＳＴ２７に進んで、ステップＳＴ１６による加工時間に基づく報酬の積算値、並びに、ステップＳＴ２６によるロボットの駆動電流に基づく報酬の積算値の積算を行う。さらに、ステップＳＴ１７に進んで、ステップＳＴ２７で積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間およびロボットの駆動電流に基づいて、最適化することが可能になる。
【００７０】
図７は、図２に示す機械学習装置における処理の第３実施例を示すフローチャートである。図７と上述した図６の比較から明らかなように、本第３実施例では、図６に示す第２実施例のロボットの駆動電流に基づく判定ではなく、ガルバノスキャナ１３の指令経路による判定を行うようになっている。すなわち、図５に示す第１実施例の加工時間に基づく判定に加えて、ガルバノスキャナの指令経路による判定も行うようになっている。ただし、図５におけるステップＳＴ１５で設定する報酬「＋１０」は、図７におけるステップＳＴ１５'では、図６に示す第２実施例と同様に、報酬「＋２０」になっている。すなわち、図７におけるステップＳＴ１１〜ＳＴ１７は、図６におけるステップＳＴ１１〜ＳＴ１７に対応し、その説明は省略する。
【００７１】
本第３実施例において、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成すると、ステップＳＴ３２に進んで、ガルバノスキャナの指令経路に基づいて判定を行う。ステップＳＴ３２において、ガルバノスキャナの指令経路が短いと判定すると、ステップＳＴ３３に進んで「−５」の報酬を設定し、ガルバノスキャナの指令経路が標準であると判定すると、ステップＳＴ３４に進んで「０」の報酬を設定し、そして、バノスキャナの指令経路が長いと判定すると、ステップＳＴ３５に進んで「＋５」の報酬を設定する。さらに、ステップＳＴ３６に進んで、ガルバノスキャナの指令経路に基づく報酬の積算、すなわち、ステップＳＴ３３〜ＳＴ３５で設定された報酬を積算する。
【００７２】
そして、ステップＳＴ２７に進んで、ステップＳＴ１６による加工時間に基づく報酬の積算値、並びに、ステップＳＴ３６によるガルバノスキャナの指令経路に基づく報酬の積算値の積算を行う。さらに、ステップＳＴ１７に進んで、ステップＳＴ２７で積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間およびガルバノスキャナの指令経路に基づいて、最適化することが可能になる。
【００７３】
図８は、図２に示す機械学習装置における処理の第４実施例を示すフローチャートである。図８と前述した図６および図７の比較から明らかなように、本第４実施例では、図６に示す第２実施例の加工時間およびロボットの駆動電流に基づく判定に加えて、ガルバノスキャナの指令経路による判定も行うようになっている。すなわち、図８におけるステップＳＴ１１〜ＳＴ１７およびＳＴ２２〜ＳＴ２７は、図６におけるステップＳＴ１１〜ＳＴ１７およびＳＴ２２〜ＳＴ２７に対応し、図８におけるステップ(ＳＴ１１〜ＳＴ１７および)ＳＴ３２〜ＳＴ３６は、図７におけるステップ(ＳＴ１１〜ＳＴ１７および)ＳＴ３２〜ＳＴ３６に対応する。
【００７４】
なお、本第４実施例において、ステップＳＴ２７では、ステップＳＴ１６による加工時間に基づく報酬の積算値、ステップＳＴ２６によるロボットの駆動電流に基づく報酬の積算値、並びに、ステップＳＴ３６によるガルバノスキャナの指令経路に基づく報酬の積算値の積算を行う。さらに、ステップＳＴ１７に進んで、ステップＳＴ２７で積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間，ロボットの駆動電流およびガルバノスキャナの指令経路に基づいて、最適化することが可能になる。
【００７５】
図９は、図２に示す機械学習装置における処理の第５実施例を示すフローチャートである。図９と前述した図７の比較から明らかなように、本第５実施例では、図７に示す第３実施例のガルバノスキャナの指令経路に基づく判定ではなく、ガルバノスキャナ１３が処理(溶接)を行う処理(溶接)可能範囲の通過時間による判定を行う。すなわち、ガルバノスキャナ１３が溶接を行う溶接可能範囲の通過時間(溶接可能範囲ＷＡ11〜ＷＡ16の区間内時間：図１３(b)参照)が長ければ、ガルバノスキャナ１３による溶接処理(溶接動作時間)を、余裕をもって行うことができるため、溶接可能範囲の通過時間に基づく判定を行うようになっている。なお、図９におけるステップＳＴ１１〜ＳＴ１４，ＳＴ１５’，ＳＴ１６，ＳＴ１７およびＳＴ２７は、図７と同様であり、その説明は省略する。
【００７６】
本第５実施例において、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成すると、ステップＳＴ４２に進んで、溶接可能範囲の通過時間に基づいて判定を行う。ステップＳＴ４２において、溶接可能範囲の通過時間が短いと判定すると、すなわち、ガルバノスキャナ１３による溶接処理を、余裕をもって行うことができないと判定すると、ステップＳＴ４３に進んで「−５」の報酬を設定し、溶接可能範囲の通過時間が標準であると判定すると、ステップＳＴ４４に進んで「０」の報酬を設定する。また、ステップＳＴ４２において、溶接可能範囲の通過時間が長い、すなわち、ガルバノスキャナ１３による溶接処理を、余裕をもって行うことができると判定すると、ステップＳＴ４５に進んで「＋５」の報酬を設定する。さらに、ステップＳＴ４６に進んで、溶接可能範囲の通過時間に基づく報酬の積算、すなわち、ステップＳＴ４３〜ＳＴ４５で設定された報酬を積算する。
【００７７】
そして、ステップＳＴ２７に進んで、ステップＳＴ１６による加工時間に基づく報酬の積算値、並びに、ステップＳＴ４６による溶接可能範囲の通過時間に基づく報酬の積算値の積算を行う。さらに、ステップＳＴ１７に進んで、ステップＳＴ２７で積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間および溶接可能範囲の通過時間に基づいて、最適化することが可能になる。
【００７８】
図１０は、図２に示す機械学習装置における処理の第６実施例を示すフローチャートである。図１０と前述した図７の比較から明らかなように、本第６実施例では、図７に示す第３実施例のガルバノスキャナの指令経路に基づく判定ではなく、ロボット１１とガルバノスキャナ１３が処理を行う個所との距離、すなわち、ロボット１１(ロボットシステム１)と溶接位置ＷＰ11〜ＷＰ16との距離による判定を行う。これは、ロボットと溶接個所との距離が短いと、例えば、溶接位置ＷＰ11〜ＷＰ16に対してガルバノスキャナ１３からのレーザ光を垂直に照射することができて好ましく、また、ロボットと溶接個所との距離が長いと、例えば、ガルバノスキャナ１３からのレーザ光が溶接位置に対して斜めに照射されるため溶接の品質が垂直に照射された場合よりも低下する虞があるため、ロボットと溶接個所との距離に基づく判定を行うようになっている。なお、図９におけるステップＳＴ１１〜ＳＴ１４，ＳＴ１５’，ＳＴ１６，ＳＴ１７およびＳＴ２７も、図７(図９)と同様であり、その説明は省略する。
【００７９】
本第６実施例において、ステップＳＴ１１において、行動価値テーブルに基づいて、ロボット１１とガルバノスキャナ１３の指令経路を生成すると、ステップＳＴ５２に進んで、ロボットと溶接個所との距離に基づいて判定を行う。ステップＳＴ５２において、ロボットと溶接個所との距離が長い、すなわち、ガルバノスキャナ１３からのレーザ光が溶接位置に対して斜めに照射される虞があると判定すると、ステップＳＴ５３に進んで「−５」の報酬を設定し、ロボットと溶接個所との距離が標準であると判定すると、ステップＳＴ５４に進んで「０」の報酬を設定する。また、ステップＳＴ５２において、ロボットと溶接個所との距離が短い、すなわち、ガルバノスキャナ１３からのレーザ光が溶接位置にほぼ垂直に照射することができると判定すると、ステップＳＴ５５に進んで「＋５」の報酬を設定する。さらに、ステップＳＴ５６に進んで、ロボットと溶接個所との距離に基づく報酬の積算、すなわち、ステップＳＴ５３〜ＳＴ５５で設定された報酬を積算する。
【００８０】
そして、ステップＳＴ２７に進んで、ステップＳＴ１６による加工時間に基づく報酬の積算値、並びに、ステップＳＴ５６によるロボットと溶接個所との距離に基づく報酬の積算値の積算を行う。さらに、ステップＳＴ１７に進んで、ステップＳＴ２７で積算された報酬に基づいて、行動価値テーブルを更新し、再び、ステップＳＴ１１に戻って、同様の処理を繰り返す。これにより、ロボットおよびガルバノスキャナの動作を、加工時間およびロボットと溶接個所との距離に基づいて、最適化することが可能になる。
【００８１】
以上において、報酬計算部２３１において報酬を設定するための判定データは、上述した加工時間，ロボットの駆動電流、ガルバノスキャナ(レーザスキャナ)の指令経路、ガルバノスキャナが処理を行う処理可能範囲の通過時間およびロボットとガルバノスキャナが処理を行う個所との距離に限定されるものではなく、これらの判定条件は、任意に組み合わせることができる。また、本発明に係るロボットシステムの適用は、レーザ溶接を行うリモートレーザ溶接ロボットシステムに限定されず、例えば、レーザ切断，レーザ穴あけ，金属加工，レーザ樹脂溶着，樹脂加工，表面加工および表面改質といった様々な作業を行うロボットシステムであってもよい。さらに、ガルバノスキャナは、レーザ光をＸＹ方向の二次元に走査するものに限定されず、三次元に走査するもの等であってもよく、また、使用するレーザ光の種類も、ファイバレーザ，炭酸ガスレーザおよびＹＡＧレーザ等の様々なものでであってもよい。そして、本発明の適用は、上述した実施例のガルバノスキャナに限定されず、例えば、トレパニングヘッドやポリゴンスキャナ等のレーザスキャナ全般に対して幅広く適用することができるのは、前述した通りである。
【００８２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００８３】
１    ロボットシステム(リモートレーザ溶接ロボットシステム)
２    機械学習装置
１１    ロボット(リモートレーザ溶接ロボット)
１２    制御装置(ロボット制御装置，レーザスキャナ制御装置(ガルバノスキャナ制御装置))
１３    レーザスキャナ(ガルバノスキャナ)
２１    状態観測部
２２    判定データ取得部
２３    学習部
２３１    報酬計算部
２３２    価値関数更新部
２４    意思決定部
【図１】
2018097810.tif 000005
【図２】
2018097810.tif 000006
【図３】
2018097810.tif 000007
【図４】
2018097810.tif 000008
【図５】
2018097810.tif 000009
【図６】
2018097810.tif 000010
【図７】
2018097810.tif 000011
【図８】
2018097810.tif 000012
【図９】
2018097810.tif 000013
【図１０】
2018097810.tif 000014
【図１１】
2018097810.tif 000015
【図１２】
2018097810.tif 000016
【図１３】
2018097810.tif 000017