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