(57)【要約】【課題】プリント板組立作業において、基板の変形量に応じた電子部品配置指令の補正量を、演算や目算によらず自動的に求めること。【解決手段】機械学習装置１０は、基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データＳ１、及び実装工程の開始前に測定される基板の基準形状からの変形量の測定値データＳ２を、プリント板組立作業が行われる環境の現在状態を表す状態変数Ｓとして観測する状態観測部１２と、実装工程で基板に実装される電子部品の現実の配置の適否判定結果を示す判定データＤｊを取得する判定データ取得部１４と、状態変数Ｓと判定データＤｊとを用いて、指令値データＳ１に対する補正量Ｖを測定値データＳ２と関連付けて学習する学習部１６とを備える。【選択図】図１
2018107315.tif 000002
【特許請求の範囲】
【請求項１】
プリント板組立作業を行う産業機械に指令される電子部品配置指令の補正量を学習する機械学習装置であって、
基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データ、及び該実装工程の開始前に測定される該基板の基準形状からの変形量の測定値データを、プリント板組立作業が行われる環境の現在状態を表す状態変数として観測する状態観測部と、
前記実装工程で前記基板に実装される前記電子部品の現実の配置の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記指令値データに対する補正量を前記測定値データと関連付けて学習する学習部と、
を備える機械学習装置。
【請求項２】
前記状態観測部は、前記状態変数として、基板の品種を識別する品種情報をさらに観測し、
前記学習部は、前記補正量を前記測定値データ及び前記品種情報の双方と関連付けて学習する、
請求項１に記載の機械学習装置。
【請求項３】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記補正量の価値を表す関数を更新する関数更新部とを備える、
請求項１又は２に記載の機械学習装置。
【請求項４】
前記学習部は、
前記状態変数及び前記判定データから前記補正量を導く相関性モデルと予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項１又は２に記載の機械学習装置。
【請求項５】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、請求項１〜４のいずれか１項に記載の機械学習装置。
【請求項６】
前記学習部による学習結果に基づいて、前記指令値データを前記補正量で補正した補正指令値を出力する意思決定部をさらに備え、
前記状態観測部は、前記意思決定部が出力した前記補正指令値を次の学習サイクルにおける前記指令値データとして、前記状態変数を観測する、
請求項１〜５のいずれか１項に記載の機械学習装置。
【請求項７】
前記学習部は、複数の産業機械のそれぞれについて得られた前記状態変数及び前記判定データを用いて、該複数の産業機械のそれぞれにおける前記補正量を学習する、請求項１〜６のいずれか１項に記載の機械学習装置。
【請求項８】
プリント板組立作業を行う産業機械の制御装置であって、
請求項１〜７のいずれか１項に記載の機械学習装置と、
前記指令値データ及び前記測定値データを取得する状態データ取得部と、
を備える制御装置。
【請求項９】
プリント板組立作業を実行する作動部と、
基板の基準形状からの変形量を測定する測定部と、
請求項８に記載の制御装置と、
を具備する産業機械。
【請求項１０】
前記作動部がロボットアームである、請求項９に記載の産業機械。
【請求項１１】
プリント板組立作業を実行する作動部を各々が有する複数の産業機械と、
前記複数の産業機械を互いに接続するネットワークとを備え、
前記複数の産業機械の少なくとも１つが、請求項９又は１０に記載の産業機械である、
組立システム。
【請求項１２】
プリント板組立作業を実行する作動部を各々が有する複数の産業機械と、
請求項１〜７のいずれか１項に記載の機械学習装置と、
前記複数の産業機械と前記機械学習装置とを互いに接続するネットワークと、
を備える組立システム。
【請求項１３】
前記機械学習装置がクラウドサーバに存在する、請求項１２に記載の組立システム。
【請求項１４】
プリント板組立作業を行う産業機械に指令される電子部品配置指令の補正量を学習する機械学習方法であって、
電算機のＣＰＵが、
基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データ、及び該実装工程の開始前に測定される該基板の基準形状からの変形量の測定値データを、プリント板組立作業が行われる環境の現在状態を表す状態変数として観測し、
前記実装工程で前記基板に実装される前記電子部品の現実の配置の適否判定結果を示す判定データを取得し、
前記状態変数と前記判定データとを用いて、前記指令値データに対する補正量を前記測定値データと関連付けて学習する、
機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント板組立作業のための機械学習装置及び機械学習方法に関する。本発明はまた、プリント板組立作業のための制御装置、産業機械及び組立システムに関する。
【背景技術】
【０００２】
プリント板組立作業において、電子部品の実装工程の前に基板に反りや伸縮等の変形が生じると、実装工程における電子部品配置指令（つまり基板上での電子部品の位置やリード挿入角度の指令値）を、基板の変形に応じて補正することが要求される場合がある。従来、実装工程の前に生じた基板の変形量を測定し、得られた測定値から演算や目算により、基板上の電子部品実装場所の基準値からの変位量を求め、この変位量に従って、変形後の当該基板に対する電子部品配置指令を補正する手法が知られている。例えば特許文献１参照。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１４５６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリント板組立作業において、基板の変形量に応じた電子部品配置指令の補正量を、演算や目算によらず自動的に求めることが望まれている。
【課題を解決するための手段】
【０００５】
本発明の一態様は、プリント板組立作業を行う産業機械に指令される電子部品配置指令の補正量を学習する機械学習装置であって、基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データ、及び実装工程の開始前に測定される基板の基準形状からの変形量の測定値データを、プリント板組立作業が行われる環境の現在状態を表す状態変数として観測する状態観測部と、実装工程で基板に実装される電子部品の現実の配置の適否判定結果を示す判定データを取得する判定データ取得部と、状態変数と判定データとを用いて、指令値データに対する補正量を測定値データと関連付けて学習する学習部と、を備える機械学習装置である。
【０００６】
本発明の他の態様は、プリント板組立作業を行う産業機械の制御装置であって、上記した機械学習装置と、指令値データ及び測定値データを取得する状態データ取得部と、を備える制御装置である。
【０００７】
本発明のさらに他の態様は、プリント板組立作業を実行する作動部と、基板の基準形状からの変形量を測定する測定部と、上記した制御装置と、を具備する産業機械である。
【０００８】
本発明のさらに他の態様は、プリント板組立作業を実行する作動部を各々が有する複数の産業機械と、複数の産業機械を互いに接続するネットワークとを備え、複数の産業機械の少なくとも１つが、上記した産業機械である、組立システムである。
【０００９】
本発明のさらに他の態様は、プリント板組立作業を実行する作動部を各々が有する複数の産業機械と、上記した機械学習装置と、複数の産業機械と機械学習装置とを互いに接続するネットワークと、を備える組立システムである。
【００１０】
本発明のさらに他の態様は、プリント板組立作業を行う産業機械に指令される電子部品配置指令の補正量を学習する機械学習方法であって、電算機のＣＰＵが、基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データ、及び実装工程の開始前に測定される基板の基準形状からの変形量の測定値データを、プリント板組立作業が行われる環境の現在状態を表す状態変数として観測し、実装工程で基板に実装される電子部品の現実の配置の適否判定結果を示す判定データを取得し、状態変数と判定データとを用いて、指令値データに対する補正量を測定値データと関連付けて学習する、機械学習方法である。
【発明の効果】
【００１１】
一態様に係る機械学習装置によれば、学習部の学習結果を用いることで、基板の変形量に応じた電子部品配置指令の補正量を、演算や目算によらず自動的に求めることが可能になる。
【００１２】
他の態様に係る制御装置、産業機械、組立システム及び機械学習方法によれば、いずれも、機械学習装置が奏する上記効果と同等の効果が奏される。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態による機械学習装置を示す機能ブロック図である。
【図２】機械学習装置の一形態を示す機能ブロック図である。
【図３】機械学習方法の一形態を示すフローチャートである。
【図４】機械学習装置の他の形態を示す機能ブロック図である。
【図５Ａ】ニューロンを説明する図である。
【図５Ｂ】ニューラルネットワークを説明する図である。
【図６】第２の実施形態による機械学習装置を示す機能ブロック図である。
【図７】制御装置の一形態を示す機能ブロック図である。
【図８】産業機械の一形態を示す機能ブロック図である。
【図９】組立システムの一形態を示す機能ブロック図である。
【図１０】組立システムの他の形態を示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
【００１５】
図１は、第１の実施形態による機械学習装置１０を示す。機械学習装置１０は、プリント板の組立作業を行う産業機械（例えば実装機、産業用ロボット等）に指令される電子部品配置指令の補正量Ｖを、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（電算機のＣＰＵ（中央処理装置）等）を含むものである。機械学習装置１０が学習する補正量Ｖは、プリント板組立作業において電子部品の実装工程の前に基板に生じている反りや伸縮等の変形の状態と、変形した基板への実装工程で要求される電子部品配置指令の指令値補正の程度との、相関性を表すモデル構造に相当する。なお本願において、「基板」は銅張積層板等の素材に印刷回路やスルーホール等を形成したものを意味し、「プリント板」は基板に電子部品を実装したものを意味する。
【００１６】
図１に機能ブロックで示すように、機械学習装置１０は、基板（図示せず）への電子部品（図示せず）の実装工程のために産業機械（図示せず）に指令される電子部品配置指令の指令値データＳ１、及び実装工程の開始前に測定される基板の基準形状からの変形量の測定値データＳ２を、プリント板組立作業が行われる環境の現在状態を表す状態変数Ｓとして観測する状態観測部１２と、実装工程で基板に実装される電子部品の現実の配置の適否判定結果を示す判定データＤｊを取得する判定データ取得部１４と、状態変数Ｓと判定データＤｊとを用いて、指令値データＳ１に対する補正量Ｖを測定値データＳ２と関連付けて学習する学習部１６とを備える。
【００１７】
状態観測部１２は、例えば電算機のＣＰＵの一機能として構成できる。或いは状態観測部１２は、例えば電算機のＣＰＵを機能させるためのソフトウェアとして構成できる。状態観測部１２が観測する状態変数Ｓのうち、指令値データＳ１は、例えば産業機械の制御装置（図示せず）に与えられる組立作業プログラムから取得できる。電子部品がＤＩＰ（デュアルインラインパッケージ）等のリード部品の場合、指令値データＳ１は、基板上での電子部品の位置（三次元座標）及びスルーホールへのリードの挿入角度（三次元回転角）を含む。また電子部品がＢＧＡ（ボールグリッドアレイ）等の表面実装部品の場合、指令値データＳ１は、基板上での電子部品の位置（三次元座標）を含む。指令値データＳ１は、現在状態の（つまり変形量を有する）基板に対して指令される電子部品の位置やリード挿入角度の現在状態の（つまり補正前の）指令値に相当する。
【００１８】
また状態変数Ｓのうち、測定値データＳ２は、１つの基板に対して実装工程を開始しようとするたびに、例えば産業機械に付設される第１の測定装置（図示せず）により実装工程開始前の基板の外形を三次元で実測することで取得できる。測定値データＳ２は、基板の現在状態を直接的に表す指標である。
【００１９】
第１の測定装置は例えば、実装工程での位置決め等の目的で基板表面に設けられている複数のアライメントマークの位置を測定したり、矩形の基板の四隅の位置を測定したり、基板表面に存在する他の複数の着目可能点（既存又は後付け）の位置を測定したりすることができる。第１の測定装置は、それら測定箇所の実測位置と当該測定箇所の予め定めた基準位置との差を求め、求めた差から、基板の反り（三次元角度）や伸縮（三次元距離）等の変形量の測定値データＳ２を演算できる。この演算は、例えば産業機械の制御装置が行ったり、状態観測部１２自体が行ったりすることもできる。第１の測定装置としては、赤外線レーザ、超音波、静電容量等を用いた非接触式変位計や、接触子を有する接触式変位計等を採用できる。
【００２０】
電子部品の実装工程の前に基板に生じ得る変形の要因としては、例えば、電子部品がリード部品の場合にリード部品実装工程の前に行われる表面実装部品のリフロー半田付け工程による熱的ストレス、電子部品の種類に関わらず基板上の印刷回路の保護や半田濡れ性確保のために行われるメッキ液等のコーティング処理による熱的ストレス、その他種々の工程で基板に加わる機械的ストレスや化学的ストレス等を挙げることができる。
【００２１】
判定データ取得部１４は、例えば電算機のＣＰＵの一機能として構成できる。或いは判定データ取得部１４は、例えば電算機のＣＰＵを機能させるためのソフトウェアとして構成できる。判定データ取得部１４が取得する判定データＤｊは、１つの基板に対して産業機械が実装工程を試行するたびに、例えば産業機械に付設される第２の測定装置（図示せず）により実装工程試行中の基板及び電子部品の配置を三次元で実測することで取得できる。判定データＤｊは、状態変数Ｓの下で実装工程を試行したときの結果を表す指標であって、プリント板組立作業が行われる環境の現在状態を間接的に表すものである。
【００２２】
第２の測定装置は例えば、実装工程試行中に、電子部品のリード等の端子の位置と当該端子を接続する基板上の導体の接点の位置とのずれ（三次元距離）を測定したり、電子部品のリードの挿入角度と当該リードを受容するスルーホールの角度とのずれ（三次元角度）を測定したりすることができる。第２の測定装置は、それら位置や角度のずれの大きさを、予め定めた許容値と比較することで、電子部品の現実の配置の適否を判定して、その判定結果（適又は否）を判定データＤｊとして取得できる。この比較判定は、例えば産業機械の制御装置が行ったり、判定データ取得部１４自体が行ったりすることもできる。第２の測定装置としては、ＣＣＤカメラ等の撮像部を有する視覚センサ等を採用できる。視覚センサを採用する場合、撮像部の配置や台数を適宜工夫することで、位置や角度のずれを所要の精度で検出することができる。
【００２３】
判定データＤｊを取得するための実装工程の試行は、電子部品の端子を基板の接点に現実に接触させる（例えばリードをスルーホールに現実に挿入する）ことに限定されず、電子部品の端子を基板の接点に接触させる直前（例えばリードをスルーホールに挿入する直前）で止めることもできる。学習の初期段階では、実装工程試行時に端子を接点に接触させる直前で止めることで、電子部品や基板の損傷を回避することができる。電子部品の端子と基板の接点との位置や角度のずれの測定も、電子部品の端子を基板の接点に現実に接触させた状態だけでなく、電子部品の端子を基板の接点に接触させる直前の状態で実行できる。このように、機械学習装置１０が学習を進める間、環境においては、第１の測定装置による基板の変形量の測定、産業機械による実装工程の試行、及び第２の測定装置による位置や角度のずれの測定が実施される。
【００２４】
学習部１６は、例えば電算機のＣＰＵの一機能として構成できる。或いは学習部１６は、例えば電算機のＣＰＵを機能させるためのソフトウェアとして構成できる。学習部１６は、機械学習と総称される任意の学習アルゴリズムに従い、電子部品配置指令の補正量Ｖを学習する。学習部１６は、プリント板組立作業の対象となる複数の基板及び複数の電子部品のうち、１つの基板と当該基板に実装される任意の１つの電子部品とに対して、前述した状態変数Ｓと判定データＤｊとを含むデータ集合に基づく学習を反復実行することができる。１つの基板に対する学習サイクルの反復中、状態変数Ｓのうち測定値データＳ２は常に同一の値とする（つまり変形量の再測定を行わない）ことができる。他方、１つの基板に対する学習サイクルの反復中、状態変数Ｓのうち指令値データＳ１は、前回の学習サイクルで得た補正量Ｖによって前回の電子部品配置指令を補正した値とし、また判定データＤｊは、当該補正した電子部品配置指令を用いての実装工程の試行に対する適否判定結果とする。
【００２５】
このような学習サイクルを繰り返すことにより、学習部１６は、基板の変形量（測定値データＳ２）と電子部品配置指令の補正量Ｖとの相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には測定値データＳ２と補正量Ｖとの相関性は実質的に未知であるが、学習部１６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。測定値データＳ２と補正量Ｖとの相関性が、ある程度信頼できる水準まで解釈されると、学習部１６が反復出力する学習結果は、現在状態の（つまり変形量を有する）基板に対して電子部品配置指令をどの程度補正するべきかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部１６は、学習アルゴリズムの進行に伴い、プリント板組立作業の対象となる１つの基板の現在状態と、当該現在状態の基板に対し１つの電子部品の電子部品配置指令をどの程度補正するべきかという行動との、相関性を表す補正量Ｖを、最適解に徐々に近づけることができる。
【００２６】
１つの基板と当該基板に実装される任意の１つの電子部品とに対する学習が信頼水準に達すると、次に学習部１６は、他の１つの基板と当該基板に実装される任意の１つの電子部品とに対する学習を行うことができる。現在状態の１つの基板に対して複数の電子部品を実装する構成では、１つの基板と当該基板に実装される１つの電子部品とに対する学習が信頼水準に達した後に、学習部１６は、同じ基板と当該基板に実装される他の１つの電子部品とに対する学習を行うことができる。状態変数Ｓ及び判定データＤｊは、基板が変わるたびに変更され、また電子部品が変わるたびに変更される。現在状態の１つの基板に対して複数の電子部品を実装する構成では、学習部１６は、指令値データＳ１及び測定値データＳ２の双方と補正量Ｖとの相関性を解釈し、異なる電子部品に対する複数の指令値データＳ１の各々について補正量Ｖを学習することになる。
【００２７】
上記したように、機械学習装置１０は、状態観測部１２が観測した状態変数Ｓと判定データ取得部１４が取得した判定データＤｊとを用いて、学習部１６が機械学習アルゴリズムに従い、電子部品配置指令の補正量Ｖを学習するものである。状態変数Ｓは、指令値データＳ１及び測定値データＳ２といった、外乱の影響を受け難いデータで構成され、また判定データＤｊは、実装工程を試行することにより一義的に求められる。測定値データＳ２については、例えば第１の測定装置の能力としての基板変形量の測定精度に依存するが、それ自体高精度の測定値データＳ２を観測できることが期待される。また判定データＤｊについては、例えば第２の測定装置の能力としての基板と電子部品との位置や角度のずれ量の測定精度に依存するが、それ自体高精度の判定データＤｊを取得できることが期待される。したがって機械学習装置１０によれば、学習部１６の学習結果を用いることで、基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２８】
基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に求めることができれば、実装工程の開始前に基板の外形を実測して基準形状からの変形量（測定値データＳ２）を取得するだけで、必要な補正量Ｖを迅速に決定することができる。したがって、プリント板組立作業の速度を向上させることができ、また演算ミス等に起因するリードの誤挿入及びそれによる電子部品や基板の損傷を回避できる。
【００２９】
機械学習装置１０の一変形例として、状態観測部１２は、状態変数Ｓとして、基板の品種を識別する品種情報Ｓ３をさらに観測することができる。品種情報Ｓ３は例えば、基板の材料、回路パターン（層構造含む）等の情報を含むことができる。品種情報Ｓ３はさらに、基板の製造ロット番号や製造企業の識別情報を含むこともできる。例えば品種情報Ｓ３を、バーコード等の識別子で基板に表示したり組立作業プログラムに含ませたりすることができる。状態観測部１２は例えば、バーコードリーダの出力や組立作業プログラムから品種情報Ｓ３を取得できる。学習部１６は、補正量Ｖを、測定値データＳ２及び品種情報Ｓ３の双方と関連付けて学習することができる。
【００３０】
上記変形例によれば、基板の変形量と品種との双方に応じた最適な補正量Ｖを学習することができる。例えば２つの基板の変形量（測定値データＳ２）が同一であっても材料等（品種情報Ｓ３）が異なる場合、電子部品の端子位置（指令値）と基板上の現実の接点位置とのずれや電子部品のリード挿入角度（指令値）とスルーホールの現実の角度とのずれの程度が、微妙に異なる状況が生じ得る。上記構成によれば、このような状況においても材料等（品種情報Ｓ３）に応じて補正量Ｖを最適化することができる。或いは、学習を進めるうちに変形量（測定値データＳ２）と材料等（品種情報Ｓ３）との相関性を見出すことができる場合もある。この場合には、品種情報Ｓ３から測定値データＳ２をある程度予測できるようになるので、第１の測定装置による基板変形量の測定精度が低い場合であっても、学習を適正に収束させて補正量Ｖを最適化することができる。
【００３１】
機械学習装置１０の他の変形例として、学習部１６は、同一の機械構成を有する複数の産業機械のそれぞれについて得られた状態変数Ｓ及び判定データＤｊを用いて、それら産業機械のそれぞれにおける補正量Ｖを学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤｊとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、補正量Ｖの学習の速度や信頼性を向上させることができる。
【００３２】
上記構成を有する機械学習装置１０では、学習部１６が実行する学習アルゴリズムは特に限定されず、例えば教師あり学習、教師なし学習、強化学習、ニューラルネットワーク等の、機械学習として公知の学習アルゴリズムを採用できる。図２は、図１に示す機械学習装置１０の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部１６を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（機械学習装置では補正量Ｖ）を最適解として学習する手法である。
【００３３】
図２に示す機械学習装置１０において、学習部１６は、状態変数Ｓに基づいて実装工程を試行することにより得られる電子部品配置の適否判定結果（次の学習サイクルで用いられる判定データＤｊに相当）に関連する報酬Ｒを求める報酬計算部１８と、報酬Ｒを用いて、実装工程の試行時に採用される補正量Ｖの価値を表す関数Ｑを更新する関数更新部２０とを備える。学習部１６は、関数更新部２０が関数Ｑの更新を繰り返すことによって補正量Ｖを学習する。
【００３４】
学習部１６が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Q-learning）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００３５】
価値関数Ｑの更新式は、一般に下記の式（１）のように表すことができる。
【００３６】
【数１】
2018107315.tif 000003
【００３７】
式（１）において、ｓｔ及びａｔはそれぞれ時刻ｔにおける状態及び行動であり、行動ａｔにより状態はｓｔ＋１に変化する。ｒｔ＋１は、状態がｓｔからｓｔ＋１に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３８】
学習部１６がＱ学習を実行する場合、状態観測部１２が観測した状態変数Ｓ及び判定データ取得部１４が取得した判定データＤｊは、更新式の状態ｓに該当し、現在状態の（つまり変形量を有する）基板に対して電子部品配置指令をどの程度補正するべきかという行動（つまり補正量Ｖ）は、更新式の行動ａに該当し、報酬計算部１８が求める報酬Ｒは、更新式の報酬ｒに該当する。よって関数更新部２０は、現在状態の基板に対する補正量Ｖの価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３９】
報酬計算部１８が求める報酬Ｒは、例えば、補正後の指令値で実装工程を試行したときに電子部品配置が「適」と判定される場合（つまり電子部品の端子位置と基板上の接点位置とのずれや電子部品のリード挿入角度とスルーホールの角度とのずれが許容範囲に収まる場合）に正（プラス）の報酬Ｒとし、補正後の指令値で実装工程を試行したときに電子部品配置が「否」と判定される場合（つまり電子部品の端子位置と基板上の接点位置とのずれや電子部品のリード挿入角度とスルーホールの角度とのずれが許容範囲を超える場合）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。
【００４０】
位置や角度のずれの許容範囲が例えばミクロン単位のような極小範囲である場合、正の報酬Ｒの絶対値を負の報酬Ｒの絶対値よりも十分に大きくしたり、或いは電子部品配置が「否」のときの報酬Ｒを零としたりすることで、Ｑ学習を比較的短時間で最適解に収束させることができる。例えばプリント板組立作業において、リード径１ｍｍ前後のリード部品を基板に実装する場合、寸法公差等を考慮して、基板のスルーホールの直径をリード径プラス１００〜３００μｍ程度とすることが知られている。この場合、位置や角度のずれの許容範囲は１００μｍ前後であったり１°以下であったりすることになる。このような高精度の実装工程が要求される場合にも、報酬Ｒの与え方を工夫することでＱ学習を最適解に収束させることができる。
【００４１】
また、電子部品配置の適否判定結果を、「適」及び「否」の二通りだけでなく、位置や角度のずれの大きさに応じて複数段階に設定することができる。例として、許容範囲の最大値がＴｍａｘの場合、実装工程を試行したときの電子部品の端子と基板の接点との位置や角度のずれＵが、０≦Ｕ＜Ｔｍａｘ／５のときは報酬Ｒ＝５を与え、Ｔｍａｘ／５≦Ｕ＜Ｔｍａｘ／２のときは報酬Ｒ＝２を与え、Ｔｍａｘ／２≦Ｕ≦Ｔｍａｘのときは報酬Ｒ＝１を与えるような構成とすることができる。さらに、学習の初期段階はＴｍａｘを比較的大きく設定し、学習が進行するにつれてＴｍａｘを縮小する構成とすることもできる。
【００４２】
関数更新部２０は、状態変数Ｓと判定データＤｊと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、関数更新部２０が関数Ｑを更新するという行為は、関数更新部２０が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と補正量Ｖとの相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤｊと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部１８は、判定データＤｊが分かれば対応の報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００４３】
電子部品配置の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動（つまり補正量Ｖ）を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤｊ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き替えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動（補正量Ｖ）ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（基板の変形量）とそれに対する行動（補正量Ｖ）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、プリント板組立作業において電子部品の実装工程の前に基板に生じている反りや伸縮等の変形の状態と、変形した基板への実装工程で要求される電子部品配置指令の指令値補正の程度との、相関性を表す補正量Ｖが、最適解に徐々に近づけられる。
【００４４】
図３を参照して、学習部１６が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＵ１で、関数更新部２０は、その時点での行動価値テーブルを参照しながら、状態観測部１２が観測した状態変数Ｓが示す現在状態で行う行動として補正量Ｖを無作為に選択する。次に関数更新部２０は、ステップＵ２で、状態観測部１２が観測している現在状態の状態変数Ｓを取り込み、ステップＵ３で、判定データ取得部１４が取得している現在状態の判定データＤｊを取り込む。次に関数更新部２０は、ステップＵ４で、判定データＤｊに基づき、実装工程試行による電子部品配置が適当であったか否かを判断し、適当であった場合、ステップＵ５で、報酬計算部１８が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＵ６で、現在状態における状態変数Ｓ及び判定データＤｊと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＵ４で、実装工程試行による電子部品配置が適当でなかったと判断した場合、ステップＵ７で、報酬計算部１８が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＵ６で、現在状態における状態変数Ｓ及び判定データＤｊと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部１６は、ステップＵ１〜Ｕ７を繰り返すことで行動価値テーブルを反復して更新し、補正量Ｖの学習を進行させる。
【００４５】
図４は、図１に示す機械学習装置１０の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１６を備えた構成を示す。教師あり学習は、入力と出力との関係が未知の状態で学習を開始する前述した強化学習と異なり、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデル（機械学習装置１０では補正量Ｖ）を学習する手法である。
【００４６】
図４に示す機械学習装置１０において、学習部１６は、状態変数Ｓ及び判定データＤｊから補正量Ｖを導く相関性モデルＭと予め用意された教師データＤｔから識別される相関性特徴との誤差Ｅを計算する誤差計算部２２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部２４とを備える。学習部１６は、モデル更新部２４が相関性モデルＭの更新を繰り返すことによって補正量Ｖを学習する。
【００４７】
相関性モデルＭの初期値は、例えば、状態変数Ｓ及び判定データＤｊと補正量Ｖとの相関性を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部１６に与えられる。教師データＤｔは、例えば、従来手法により電子部品配置指令の補正量を求めていた過去のプリント板組立作業における蓄積された経験値（基板の基準形状からの変形量と対応する電子部品配置指令の補正量との既知のデータセット）によって構成でき、教師あり学習の開始前に学習部１６に与えられる。誤差計算部２２は、学習部１６に与えられた大量の教師データＤｔから変形量と補正量との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及び判定データＤｊに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部２４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００４８】
次の学習サイクルでは、誤差計算部２２は、更新後の相関性モデルＭに従って実装工程を試行することにより変化した状態変数Ｓ及び判定データＤｊを用いて、それら変化した状態変数Ｓ及び判定データＤｊに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部２４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（基板の変形量）とそれに対する行動（補正量Ｖ）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、プリント板組立作業において電子部品の実装工程の前に基板に生じている反りや伸縮等の変形の状態と、変形した基板への実装工程で要求される電子部品配置指令の指令値補正の程度との、相関性を表す補正量Ｖが、最適解に徐々に近づけられる。
【００４９】
なお機械学習装置１０では、学習の初期段階は学習部１６が教師あり学習を実行し、学習がある程度進行した段階で、教師あり学習で得た補正量Ｖを初期値として学習部１６が強化学習を実行するように構成することもできる。強化学習における初期値がある程度の信頼性を有しているので、前述したような高精度の実装工程が要求される場合にも比較的迅速に最適解に到達することができる。
【００５０】
前述した強化学習や教師あり学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図５Ａは、ニューロンのモデルを模式的に示す。図５Ｂは、図５Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００５１】
図５Ａに示すニューロンは、複数の入力ｘ（図では例として入力ｘ１〜ｘ３）に対し結果ｙを出力する。個々の入力ｘ（ｘ１、ｘ２、ｘ３）にはそれぞれに重みｗ（ｗ１、ｗ２、ｗ３）が乗算される。入力ｘと結果ｙとの関係は、下記の式（２）で表すことができる。なお、入力ｘ、結果ｙ及び重みｗはいずれもベクトルである。また式（２）において、θはバイアスであり、ｆｋは活性化関数である。
【００５２】
【数２】
2018107315.tif 000004
【００５３】
図５Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（図では例として入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（図では例として結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してＷ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００５４】
図５Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してＺ１で表す。Ｚ１は、入力ベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルＺ１のそれぞれに対応の重み（総称してＷ２で表す）が乗算されて、個々の特徴ベクトルＺ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００５５】
図５Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してＺ２で表す。Ｚ２は、特徴ベクトルＺ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルＺ２のそれぞれに対応の重み（総称してＷ３で表す）が乗算されて、個々の特徴ベクトルＺ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００５６】
機械学習装置１０においては、状態変数Ｓと判定データＤｊとを入力ｘとして、学習部１６が上記したニューラルネットワークに従う多層構造の演算を行うことで、補正量Ｖ（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５７】
上記した機械学習装置１０の構成は、電算機のＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、プリント板組立作業を行う産業機械に指令される電子部品配置指令の補正量Ｖを学習する機械学習方法であって、電算機のＣＰＵが、基板への電子部品の実装工程のために産業機械に指令される電子部品配置指令の指令値データＳ１、及び実装工程の開始前に測定される基板の基準形状からの変形量の測定値データＳ２を、プリント板組立作業が行われる環境の現在状態を表す状態変数Ｓとして観測するステップと、実装工程で基板に実装される電子部品の現実の配置の適否判定結果を示す判定データＤｊを取得するステップと、状態変数Ｓと判定データＤｊとを用いて、指令値データＳ１に対する補正量Ｖを測定値データＳ２と関連付けて学習するステップとを有する。
【００５８】
図６は、第２の実施形態による機械学習装置３０を示す。機械学習装置３０は、プリント板の組立作業を行う産業機械（例えば実装機、産業用ロボット等）に指令される電子部品配置指令の補正量Ｖを機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（電算機のＣＰＵ等）に加えて、学習した補正量Ｖに従い電子部品配置指令を補正するためのソフトウェア（演算アルゴリズム等）及びハードウェア（電算機のＣＰＵ等）を含むものである。機械学習装置３０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００５９】
機械学習装置３０は、前述した機械学習装置１０の構成要件である状態観測部１２、判定データ取得部１４及び学習部１６と、学習部１６による学習結果に基づいて、指令値データＳ１を補正量Ｖで補正した補正指令値Ｃを出力する意思決定部３２とを備える。状態観測部１２、判定データ取得部１４及び学習部１６の機能は、機械学習装置１０におけるものと実質同一である。
【００６０】
意思決定部３２は、例えば電算機のＣＰＵの一機能として構成できる。或いは意思決定部３２は、例えば電算機のＣＰＵを機能させるためのソフトウェアとして構成できる。意思決定部３２は、学習部１６が学習した補正量Ｖを用いて、状態観測部１２が観測した状態変数Ｓのうち指令値データＳ１を補正し、補正後の値を補正指令値Ｃとして出力する。意思決定部３２が補正指令値Ｃを出力すると、それに応じて、環境３４の状態（指令値データＳ１）が変化する。
【００６１】
状態観測部１２は、意思決定部３２が出力した補正指令値Ｃを次の学習サイクルにおける指令値データＳ１として、変化した状態変数Ｓを観測する。学習部１６は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、補正量Ｖを学習する。意思決定部３２は、学習した補正量Ｖの下で状態変数Ｓに応じて補正指令値Ｃを出力する。このサイクルを繰り返すことにより、機械学習装置３０は補正量Ｖの学習を進め、補正量Ｖの信頼性を徐々に向上させる。
【００６２】
上記構成を有する機械学習装置３０は、前述した機械学習装置１０と同等の効果を奏する。特に機械学習装置３０は、意思決定部３２の出力によって環境３４の状態を変化させることができる。他方、機械学習装置１０では、学習部１６の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置（例えば産業機械の制御装置）に求めることができる。
【００６３】
図７は、機械学習装置３０を備えた一実施形態による制御装置４０を示す。制御装置４０は、プリント板の組立作業を行う産業機械（例えば実装機、産業用ロボット等）に指令される電子部品配置指令の補正量Ｖを機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（電算機のＣＰＵ等）、並びに学習した補正量Ｖに従い電子部品配置指令を補正するためのソフトウェア（演算アルゴリズム等）及びハードウェア（電算機のＣＰＵ等）に加えて、産業機械の動作を制御するためのソフトウェア（制御アルゴリズム等）及びハードウェア（電算機のＣＰＵ等）を含むものである。制御装置４０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム、制御アルゴリズム等の全てのソフトを実行する構成を有することもできる。
【００６４】
制御装置４０は、前述した機械学習装置３０と、状態観測部１２が観測する状態変数Ｓの指令値データＳ１及び測定値データＳ２を状態データＤｓとして取得する状態データ取得部４２とを備える。状態データ取得部４２が取得する状態データＤｓは、品種情報Ｓ３を含むこともできる。状態データ取得部４２は、産業機械に付設される前述した第１及び第２の測定装置や、オペレータによる適宜のデータ入力から、状態データＤｓを取得することができる。なお制御装置４０の変形例として、前述した機械学習装置１０と、意思決定部３２及び状態データ取得部４２とを備える構成とすることもできる。
【００６５】
上記構成を有する制御装置４０は、機械学習装置３０（又は機械学習装置１０）を内蔵したことにより、学習部１６の学習結果を用いて、基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６６】
図８は、制御装置４０を備えた一実施形態による産業機械５０を示す。産業機械５０は、例えば実装機、産業用ロボット等の、プリント板の組立作業を行うことができる産業機械である。産業機械５０は、前述した制御装置４０と、プリント板組立作業を実行する作動部５２と、基板の基準形状からの変形量を測定する測定部５４とを備える。産業機械５０が産業用ロボットである場合、作動部５２は、多関節型、ガントリ型、パラレルリンク型等のロボットアームである。
【００６７】
産業機械５０は、制御装置４０が実行する制御アルゴリズムに従い、基板や電子部品の支持部等の作動部５２を指令通りに移動させることができる。測定部５４は、前述した第１の測定装置及び第２の測定装置であることができる。状態データ取得部４２は、測定部５４の測定結果から、状態観測部１２が観測する状態変数Ｓを取得することができる。なお図示しないが、産業機械５０の変形例として、専ら産業機械５０の動作制御を行なう制御装置と、この制御装置とは別のＣＰＵを有する機械学習装置３０（又は１０）とを備える構成を採用することもできる。
【００６８】
上記構成を有する産業機械５０は、制御装置４０（又は機械学習装置３０（又は１０））を備えたことにより、学習部１６の学習結果を用いて、基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６９】
図９は、産業機械５０を備えた一実施形態による組立システム６０を示す。組立システム６０は、同一の機械構成を有する複数の産業機械５０、５０′と、それら産業機械５０、５０′を互いに接続するネットワーク６２とを備え、複数の産業機械５０、５０′のうち少なくとも１つが、制御装置４０（又は機械学習装置３０（又は１０））を備える産業機械５０として構成される。また組立システム６０は、制御装置４０（又は機械学習装置３０（又は１０））を備えない産業機械５０′を含むことができる。産業機械５０′は、前述した作動部５２と、専ら産業機械５０′の動作制御を行なう制御装置（図示せず）とを備えることができる。
【００７０】
上記構成を有する組立システム６０は、複数の産業機械５０、５０′のうちで制御装置４０（又は機械学習装置３０（又は１０））を備える産業機械５０が、学習部１６の学習結果を用いて、基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの産業機械５０の制御装置４０（又は機械学習装置３０（又は１０））が、他の複数の産業機械５０、５０′のそれぞれについて得られた状態変数Ｓ及び判定データＤｊに基づき、全ての産業機械５０、５０′に共通する補正量Ｖを学習し、その学習結果を全ての産業機械５０、５０′が共有するように構成できる。したがって組立システム６０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤｊを含む）を入力として、補正量Ｖの学習の速度や信頼性を向上させることができる。
【００７１】
図１０は、産業機械５０′を備えた他の実施形態による組立システム６０′を示す。組立システム６０′は、機械学習装置３０（又は１０）と、同一の機械構成を有する複数の産業機械５０′と、それら産業機械５０′と機械学習装置３０（又は１０）とを互いに接続するネットワーク６２とを備える。
【００７２】
上記構成を有する組立システム６０′は、機械学習装置３０（又は１０）が、複数の産業機械５０′のそれぞれについて得られた状態変数Ｓ及び判定データＤｊに基づき、全ての産業機械５０′に共通する補正量Ｖを学習し、その学習結果を用いて、基板の変形量に応じた電子部品配置指令の補正量Ｖを、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００７３】
組立システム６０′は、機械学習装置３０（又は１０）が、ネットワーク６２に用意されたクラウドサーバに存在する構成を有することができる。この構成によれば、複数の産業機械５０′のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の産業機械５０′を機械学習装置３０（又は１０）に接続することができる。
【００７４】
組立システム６０、６０′に従事するオペレータは、機械学習装置３０（又は１０）による学習開始後の適当な時期に、機械学習装置３０（又は１０）による補正量Ｖの学習の到達度（すなわち補正量Ｖの信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００７５】
以上、本発明の種々の実施形態の構成を図面に基づいて説明したが、本発明は上述した構成に限定されない。例えば、機械学習装置１０、３０が実行する学習アルゴリズム、機械学習装置３０が実行する演算アルゴリズム、制御装置４０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【符号の説明】
【００７６】
１０、３０    機械学習装置
１２    状態観測部
１４    判定データ取得部
１６    学習部
１８    報酬計算部
２０    関数更新部
２２    誤差計算部
２４    モデル更新部
３２    意思決定部
４０    制御装置
４２    状態データ取得部
５０、５０′    産業機械
５２    作動部
５４    測定部
６０、６０′    生産システム
６２    ネットワーク
【図１】
2018107315.tif 000005
【図２】
2018107315.tif 000006
【図３】
2018107315.tif 000007
【図４】
2018107315.tif 000008
【図５Ａ】
2018107315.tif 000009
【図５Ｂ】
2018107315.tif 000010
【図６】
2018107315.tif 000011
【図７】
2018107315.tif 000012
【図８】
2018107315.tif 000013
【図９】
2018107315.tif 000014
【図１０】
2018107315.tif 000015