(57)【特許請求の範囲】
【請求項１】
複数の部品から構成される製品を製造するロボットと、
前記ロボットの状態を検出する機械状態検出器と、
前記ロボットの周りの環境の状態を検出する環境状態検出器と、
前記ロボットにて製造された製品を検査する検査装置と、
前記ロボットの制御装置および前記検査装置の制御装置に接続された製造管理装置とを備え、
前記製造管理装置は、前記ロボットの状態のデータ、前記環境の状態のデータ、および前記製品の検査結果のデータを記憶する記憶部と、
検査結果に異常が生じた場合に、前記製品の検査結果と前記ロボットの状態のデータおよび前記環境の状態のデータとの相関に基づいて、異常に関連する変数を選定する相関解析部と、
異常に関連する前記変数の判定値を設定する判定値設定部とを含み、
異常に関連する前記変数は、前記ロボットの状態に関する変数および前記ロボットの周りの環境の状態に関する変数のうち少なくとも一方の変数であり、
前記判定値設定部は、強化学習により前記判定値を更新するように形成されており、
前記ロボットの状態のデータ、前記環境の状態のデータ、および前記製品の検査結果を取得する状態観測部と、
前記ロボットの状態のデータ、前記環境の状態のデータ、および前記製品の検査結果に基づいて、前記判定値を設定したときの報酬を設定する報酬計算部と、
前記状態観測部が取得したデータおよび前記報酬計算部にて算出された前記報酬に基づいて、行動の評価関数を更新する関数更新部と、
前記関数更新部にて更新された前記評価関数に基づいて、前記変数の前記判定値を設定する意思決定部とを含むことを特徴とする、生産システム。
【請求項２】
前記製造管理装置にネットワークを介して接続された外部記憶装置を備え、
前記外部記憶装置は、前記ロボットの状態のデータ、前記環境の状態のデータ、および前記製品の検査結果のデータとは異なる他のデータを記憶できるように形成されており、
前記判定値設定部は、前記他のデータに基づいて前記変数の前記判定値を設定する、請求項１に記載の生産システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品を製造する製造機械を備える生産システムに関する。
【背景技術】
【０００２】
従来の技術においては、ロボットおよび工作機械等の製造機械により製品を製造することが知られている。製造工場では、部品の加工や運搬等の作業を製造機械が行うことにより、生産性が向上することが知られている。製造工場では、種類の異なる製造機械が用いられたり、複数台の同一の製造機械が用いられたりする。複数の製造機械を用いる場合には、複数の製造機械が作業を分担して製品を製造する。
【０００３】
特開平５−１２３０２号公報においては、製造業における生産に関する基準値を自動的に再設定する装置が開示されている。この装置は、製造現場からの作業時間や設備の稼働時間等の実績情報に基づいて、製造現場での実績を管理する管理テーブル内の基準値を変更することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１２３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
製品の製造工程では、製造機械が作業を行った製品の検査を実施する検査工程が存在する。検査工程では、製造工程の途中や最終工程にて、検査装置が製品の検査を実施する。ところで、所定の製造工程において製品の検査を実施する場合には、必要最低限の項目について検査を実施している。すなわち、考えられる全ての事項について検査を実施するのではなく、選定された項目についての検査を実施する。このために、製造工程における検査では、製品に異常が生じていても異常を見つけることができない場合がある。製造不良が生じている部分が検査の項目に無関係である場合には、異常は検査装置により検出されずに次の製造工程に移行する。
【０００６】
一方で、製品の設計時には、製造工程において検出可能な変数（パラメータ）の基準を設けることができる。ところが、検査工程において検出できる変数は数多く存在する。このために、検出できる多くの変数については判定値が設けられておらずに、検査は実施されていない。また、検査工程において検出できるパラメータと、製品の不良の発生との関係が分からない場合には、そもそも判定値を設けることは困難である。
【課題を解決するための手段】
【０００７】
本発明の生産システムは、複数の部品から構成される製品を製造するロボットを備える。生産システムは、ロボットの状態を検出する機械状態検出器と、ロボットの周りの環境の状態を検出する環境状態検出器と、ロボットにて製造された製品を検査する検査装置とを備える。生産システムは、ロボットの制御装置および検査装置の制御装置に接続された製造管理装置を備える。製造管理装置は、ロボットの状態のデータ、環境の状態のデータ、および製品の検査結果のデータを記憶する記憶部を含む。製造管理装置は、検査結果に異常が生じた場合に、製品の検査結果とロボットの状態のデータおよび環境の状態のデータとの相関に基づいて、異常に関連する変数を選定する相関解析部を含む。製造管理装置は、異常に関連する変数の判定値を設定する判定値設定部を含む。異常に関連する変数は、ロボットの状態に関する変数およびロボットの周りの環境の状態に関する変数のうち少なくとも一方の変数である。判定値設定部は、強化学習により判定値を更新するように形成されている。判定値設定部は、ロボットの状態のデータ、環境の状態のデータ、および製品の検査結果を取得する状態観測部と、ロボットの状態のデータ、環境の状態のデータ、および製品の検査結果に基づいて、判定値を設定したときの報酬を設定する報酬計算部とを含む。判定値設定部は、状態観測部が取得したデータおよび報酬計算部にて算出された報酬に基づいて、行動の評価関数を更新する関数更新部と、関数更新部にて更新された評価関数に基づいて、変数の判定値を設定する意思決定部とを含む。
【００１０】
上記発明においては、製造管理装置にネットワークを介して接続された外部記憶装置を備えることができる。外部記憶装置は、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果のデータとは異なる他のデータを記憶できるように形成されることができる。判定値設定部は、他のデータに基づいて変数の判定値を設定することができる。
【発明の効果】
【００１１】
本発明によれば、製造工程において生じる製品の異常に関連する変数を選定し、変数の判定値を設定することができる生産システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態における生産システムのブロック図である。
【図２】実施の形態における生産システムのセル制御装置のブロック図である。
【図３】ニューロンのモデルを模式的に示す図である。
【図４】ニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図５】実施の形態における判定値をする制御のフローチャートである。
【発明を実施するための形態】
【００１３】
図１から図５を参照して、実施の形態における生産システムについて説明する。本実施の形態の生産システムでは、複数の製造機械により予め定められた製品が製造される。この製品は、複数の部品から構成されている。そして、製造工程の途中または製造工程の最終工程では、製品の検査が実施される。
【００１４】
図１は、本実施の形態における生産システムのブロック図である。生産システム１０は、複数の製造セル４ａ，４ｂ，４ｃを備える。図１に示す例では、生産システム１０は、第１の製造セル４ａと、第２の製造セル４ｂと、第３の製造セル４ｃとを備える。製造セルは、予め定められた作業を実施するための一つの集合である。製造セルは、任意の方法にて設定することができる。例えば、類似する作業を集めて一つの製造セルが設定される。または、作業工程の順番に作業を並べた時に、作業時間が予め定められた時間になるように区切られて、一つの製造セルが設定される。
【００１５】
製造セル４ａ，４ｂ，４ｃは、製造機械および検査装置のうち少なくとも一方を含む。本実施の形態では、第１の製造セル４ａは、製造機械３ａ，３ｂを含む。第２の製造セル４ｂは、製造機械３ｃおよび検査装置７ａを含む。第３の製造セル４ｃは、製造機械３ｄ，３ｅおよび検査装置７ｂを含む。製造機械３ａ〜３ｅとしては、部品を切削する工作機械、部品の取り付けや溶接などの所定の作業を実施するロボット、および印刷機等を例示することができる。また、検査装置としては、製品の寸法を計測する装置、製品を撮影して外観の検査を実施する装置、または製品の機能を検査する装置等の所定の検査を実施する装置を例示することができる。
【００１６】
生産システム１０は、製造セル４ａ，４ｂ，４ｃを制御する製造管理装置としてのセル制御装置５を備える。セル制御装置５は、バスを介して互いに接続されたＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）等を有する演算処理装置を含む。
【００１７】
生産システム１０は、製品の製造計画を設定する生産計画装置６を備える。生産計画装置６は、セル制御装置５と通信できるように形成されている。本実施の形態における生産計画装置６は、工場全体の製品の生産を管理する。
【００１８】
本実施の形態では、製造セル４ａ，４ｂ，４ｃは、製品を製造する工場に配置される。これに対して、セル制御装置５および生産計画装置６は、工場とは異なる建屋に配置されていても構わない。例えば、セル制御装置５は、製造工場の敷地にある別の建屋に配置されていても構わない。この場合には、セル制御装置５と製造セル４ａ，４ｂ，４ｃとは、例えば、イントラネット等のネットワークを介して接続することができる。また、生産計画装置６は、製造工場とは離れた地域に配置された事務所に配置されていても構わない。生産計画装置６は、例えば、インターネット等のネットワークを介して、セル制御装置５と互いに通信できるように接続される。
【００１９】
図２に、本実施の形態におけるセル制御装置のブロック図を示す。図２では、複数の製造機械３ａ〜３ｅのうち、一つの製造機械３を示している。それぞれの製造機械３ａ〜３ｅは、製造機械３と同様の構成を有する。また、図２では、複数の検査装置７ａ，７ｂのうち、一つの検査装置７を示している。それぞれの検査装置７ａ，７ｂは検査装置７と同様の構成を有する。
【００２０】
それぞれの製造機械３は、製造機械を制御する機械制御装置６７を備える。製造機械３は、製造機械の状態を検出する機械状態検出器としての検出器６２を含む。例えば、製造機械がロボットである場合に、ロボットの状態には、ロボットの位置および姿勢、ロボットのアームを駆動するモータに関する電流、電圧、回転速度、温度、振動、音の周波数、出力トルクなどが含まれる。または、ロボットの状態には、ロボットの動作に起因して変化する変数が含まれる。例えば、ロボットの動作により作業台または治具に加わる荷重、歪みおよび振動などが含まれる。また、ロボットの状態には、モータの過負荷の警告等の発信が含まれる。または、ロボットの状態には、検査装置が製品に印加した電圧などが含まれていても構わない。
【００２１】
セル制御装置５は、機械制御装置６７と互いに通信できるように形成されている。検出器６２は、機械制御装置６７に接続されている。セル制御装置５は、機械制御装置６７から製造機械３の稼働の状態を取得したり、機械制御装置６７に稼働指令を送出したりする。
【００２２】
それぞれの検査装置７は、製造機械３にて製造された製品を検査する。検査装置７は、検査装置を制御する検査制御装置６８を備える。セル制御装置５は、検査制御装置６８と互いに通信できるように形成されている。セル制御装置５は、検査制御装置６８から検査結果を取得したり、検査の実施指令を送出したりする。
【００２３】
なお、本実施の形態における生産計画装置６、製造機械３に取り付けられている機械制御装置６７、および検査装置７に取り付けられている検査制御装置６８は、ＣＰＵおよびＲＡＭ等を含む演算処理装置にて構成されている。
【００２４】
生産システム１０は、製造セル４ａ，４ｂ，４ｃの内部または製造セルの周りに配置され、製造機械の周りの環境の状態を検出する環境状態検出器としての検出器６１を含む。製造機械の周りの環境の状態としては、時刻、気温、湿度、騒音、振動、気圧、磁気、および標高などが含まれる。検出器６１は、環境の状態を示す変数を検出できるセンサが選定される。たとえば、製造機械の周りの気温を取得する場合には、製造機械の周りに検出器６１として温度センサが配置される。セル制御装置５は、検出器６１から出力される信号を受信する。すなわち、セル制御装置５は、製造機械３の周りの環境の状態のデータを取得する。
【００２５】
作業者は、製造機械の状態を検出する機械状態検出器と、製造機械の周りの環境の状態を検出する環境状態検出器とを予め配置しておくことができる。作業者は、様々な製造機械の状態のデータを検出できるように、様々な種類の検出器６２を製造機械３に取り付けることができる。たとえば、モータに供給する電流値を検出する検出器等の他に、作業者は、モータの振動を検出する振動検出器、モータの温度を検出する温度センサ、モータの振動を検出する振動検出器、およびモータから発する音の周波数を検出する検出器等を配置することができる。
【００２６】
または、作業者は、製造機械の周りの環境の状態を検出できるように、検出器６１を配置することができる。例えば、作業者は、工場の内部の気温を測定する温度センサ、および工場の内部の湿度を検出する湿度センサ等を配置することができる。また、既に配置されている検出器からの出力を、製造機械の状態のデータまたは製造機械の周りの環境の状態のデータとして採用しても構わない。
【００２７】
セル制御装置５は、製造セル４ａ〜４ｃの制御に関する情報を記憶する記憶部１２を備える。また、セル制御装置５は、作業者が所望の情報を入力するための入力部１１を備える。作業者が入力部１１にて入力した情報は、記憶部１２に記憶される。セル制御装置５は、製造機械３の機械制御装置６７に対して、稼働指令を送出する稼働制御部１３を備える。また、稼働制御部１３は、検査装置７の検査制御装置６８に検査の実施指令を送出する。
【００２８】
本実施の形態のセル制御装置５は、検査装置７にて製品の異常が検出された場合に、異常の発生に相関のある変数を選定する。ここでの変数は、製造機械の状態に関する変数、および製造機械の周りの環境の状態に関する変数が含まれる。たとえば、変数には、前述のロボットのアームを駆動するモータの電流値、モータの回転速度、製造装置の周りの気温、および製造装置の周りの湿度等が含まれる。そして、セル制御装置５は、異常の発生に相関を有する変数の判定値を設定する。更に、セル制御装置５は、製品の製造を繰り返した時に取得される状態に基づいて、変数の判定値を更新する。
【００２９】
セル制御装置５は、異常の発生に関連する変数を選定する相関解析部３１を備える。相関解析部３１は、製品の検査結果と、製造機械の状態の変数および環境の状態の変数とが相関を有するか否かを判定する相関推定部３２を有する。相関解析部３１は、相関推定部３２にて相関を有すると判定された変数から、判定値を設定する変数を選定する変数選定部３３を有する。
【００３０】
状態観測部２１は、製品の製造を行っている時の製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果のデータを取得する。状態観測部２１は、取得可能な変数の値を取得する。記憶部１２は、それぞれの状態のデータを記憶している。記憶部１２は、１個の製品を製造するごとに複数の変数の値を記憶することができる。
【００３１】
ここでは、プリント基板を組み立てる製造工程を例に取り上げて説明する。プリント基板を組み立てる工程では、ロボットがプリント基板を把持して、部品をプリント基板に嵌め込んだり、ネジ締めを行ったりする。ロボットが基板を把持することにより、プリント基板には歪みが生じる。ロボットの状態のデータの一つとして、プリント基板に加わる歪み量を検出することができる。作業者は、予めプリント基板に歪みセンサを取り付ける。状態観測部２１は、プリント基板の歪み量を検出する。
【００３２】
図１および図２を参照して、たとえば、第１の製造セル４ａでは、プリント基板に部品を取り付ける作業を実施する。製造機械３ａとしての第１ロボットがプリント基板を把持する。製造機械３ｂとしての第２ロボットが複数の部品をプリント基板に嵌め込む。例えば、第２ロボットがコネクタをプリント基板に取り付ける作業を実施する。第２の製造セル４ｂでは、製造機械３ｃが他の作業を実施した後に、検査装置７ａが外観検査を実施する。検査装置７ａは、例えば、製品の外観を撮影する撮影装置を含む。検査装置７ａは、撮像した画像の処理を行うことにより、プリント基板およびプリント基板に配置された部品に損傷が生じているか否かを判別する。ここでの例では、検査装置７ａは、プリント基板に配置された電子部品が脱離または破損していることを検出する。
【００３３】
本実施の形態の相関解析部３１は、相関解析を実施する。相関解析部３１の相関推定部３２は、記憶部１２から製品が正常である時のそれぞれの変数を取得する。例えば、相関推定部３２は、至近の予め定められた個数の変数の平均値を算出する。そして、相関推定部３２は、電子部品が脱離または破損したプリント基板を加工したときの製造機械の状態に関する変数および環境に関する変数を記憶部１２から取得する。
【００３４】
相関推定部３２は、異常が生じたプリント基板を製造した時のそれぞれの変数について、過去の正常値の平均値から離れている変数を抽出する。たとえば、相関推定部３２は、異常が生じたプリント基板を製造した時の変数から平均値を減算した値の２乗である分散を算出する。そして、変数選定部３３は、分散が大きな変数のうちプリント基板の異常に関連する変数を選定する。たとえば、変数選定部３３は、分散が最も大きな変数を異常に関連する変数であると判定することができる。または、変数選定部３３は、分散が予め定められた判定値よりも大きな変数を、異常に関連する変数として選定しても構わない。
【００３５】
ここでは、電子部品が脱離または破損したプリント基板の製造工程において、プリント基板に加わる歪み量が平均値から最も離れている場合を例示する。相関解析部３１は、異常に関連する変数としてプリント基板に加わる歪み量を選定する。すなわち、相関解析部３１は、プリント基板に生じる歪み量が大きいために、電子部品が脱離または破損したと判定する。
【００３６】
なお、上記の説明では、変数選定部は、異常が生じた製品を製造している時に、過去の正常値の平均値から離れている変数を抽出しているが、この形態に限られず、例えば、製品が正常である時の変数の基準値を予め定めておいても構わない。そして、相関解析部は、基準値から離れている変数を異常の発生に関連する変数として選定しても構わない。
【００３７】
次に、セル制御装置５は、相関解析部３１により選定された変数についての判定値を設定する。セル制御装置５は、異常に関連する変数の判定値を設定する判定値設定部２０を備える。判定値設定部２０は、変数の判定値の初期値を任意に設定することができる。そして、本実施の形態の判定値設定部２０は、機械学習により判定値を更新する。
【００３８】
本実施の形態の判定値設定部２０は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００３９】
なお、図２に示す判定値設定部２０は、「強化学習」を適用したものである。これらの機械学習器(判定値設定部２０)は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速処理が可能になる。
【００４０】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に判定値設定部に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００４１】
また、教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、および整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
【００４２】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものがある。これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際にセル制御装置を動かさなくても取得することができるデータ(シミュレーションのデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。
【００４３】
次に、強化学習について、詳細に説明する。まず、強化学習の問題設定として、次のように考える。
・セル制御装置は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、セル制御装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４４】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００４５】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００４６】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【数１】
0006453805.tif 000002
【００４７】
上記の式(１)において、ｓ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は、活性化関数である。
【数２】
0006453805.tif 000003
【００５２】
図４を参照して、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図４に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ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)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５８】
図２を参照して、本実施の形態の判定値設定部２０は、Ｑ学習を実施するために、状態観測部２１、学習部２２、および意思決定部２５を備える。なお、本発明に適用される機械学習方法は、Ｑ学習に限定されないのは前述した通りである。例えば、教師あり学習を適用する場合には、価値関数は学習モデルに対応し、報酬は誤差に対応する。
【００５９】
本実施の形態の判定値設定部２０は、初期の判定値を設定した後に、強化学習により判定値を更新する。判定値設定部２０は、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果を取得する状態観測部２１を含む。状態観測部２１は、それぞれの状態や製品の検査結果を観測する。ここで、判定値にて判定することが強化学習の行動に相当する。
【００６０】
判定値設定部２０は、学習により評価関数（行動価値）を設定する学習部２２を含む。学習部２２は、状態観測部２１により観測された状態量に基づいて行動価値テーブルを更新する。本実施の形態の行動価値テーブルは、学習により設定された評価関数、報酬、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果を含む表である。行動価値テーブルには、選定された変数の値が含まれる。
【００６１】
学習部２２は、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果に基づいて、行動価値を算出するための報酬を設定する報酬計算部２３を有する。報酬計算部２３は、製品を製造しているときの状態量および検査結果に基づいて、報酬を設定する。たとえば、検査装置７ａにて電子部品が脱離または破損していることが検出された場合に、報酬計算部２３は、マイナスの報酬を設定する。この結果、行動価値は低くなり、望ましくない行動になる。また、電子部品が脱離または破損していない場合には、報酬計算部２３は、プラスの報酬を設定する。この結果、行動価値は高くなり、望ましい行動になる。
【００６２】
学習部２２は、状態観測部２１が取得したデータと、報酬計算部２３にて算出された報酬とに基づいて行動の評価関数を更新する関数更新部２４とを含む。関数更新部２４は、評価関数（行動価値）を算出して、行動価値テーブルを更新する。判定値設定部２０は、学習部２２にて設定された評価関数に基づいて、選定された変数の判定値を設定する意思決定部２５を含む。例えば、意思決定部２５は、行動価値が高い行動（判定値）を選定することができる。そして、設定された判定値にて判定が実施される。
【００６３】
図５に、本実施の形態の判定値設定部の制御のフローチャートを示す。ここでの例では、相関解析部３１は、電子部品の脱離または破損に関連する変数がプリント基板に生じる歪み量であると判定している。
【００６４】
図２および図５を参照して、ステップ８１において、状態観測部２１は、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果を取得する。状態観測部２１は、作業を行っている期間中にデータを取得する。状態観測部２１は、検査装置７から検査結果を受信する。記憶部１２は、状態観測部２１が取得したデータを記憶する。
【００６５】
ステップ８２においては、学習部２２は、相関解析部３１から、電子部品の脱離または破損に関連する変数がプリント基板に生じる歪み量であることを取得する。報酬計算部２３は、行動価値を算出するための報酬を設定する。報酬を設定する方法については、作業者が予め定めておいて、記憶部１２に記憶させておくことができる。
【００６６】
例えば、電子部品が脱離または破損していない場合には、報酬計算部２３は、プラスの報酬を設定する。その他にも、報酬計算部２３は、プリント基板を把持するロボットの駆動モータの電流値に基づいて、報酬を算出することができる。たとえば、プリント基板にコネクタを装着する場合には、ロボットを駆動するモータの電流が小さいと、コネクタが完全に装着されない虞がある。このために、ロボットの駆動モータの電流値が判定値よりも小さいと報酬を小さくすることができる。
【００６７】
次に、ステップ８３においては、関数更新部２４は、算出した報酬に基づいて価値関数を算出する。そして、関数更新部２４は、状態観測部２１により観測された状態量および価値関数に基づいて行動価値テーブルを更新する。ステップ８４において、意思決定部２５は、更新した行動価値テーブルに基づいて、歪み量の判定値を設定する。
【００６８】
図５に示す制御を繰り返して実施することにより、判定値が更新されて最適な判定値を算出することができる。歪み量の判定値が低すぎる場合には、製品が正常にも関わらず、歪み量が大きくて製品に異常があると判別される虞がある。また、歪み量の判定値が大きすぎる場合には、製品に異常が生じる大きな歪み量であるにも関わらずに、作業が継続される虞がある。判定値設定部２０は、学習を継続することにより、適正な判定値を設定することができる。
【００６９】
選定された変数の判定値が定まれば、セル制御装置は、判定値を用いて任意の制御を実施することができる。たとえば、判定値を超えた状態で製造された製品は、不良品として取り扱うことができる。または、判定値を超えた状態で製造された製品は、精密検査を実施することができる。または、判定値に基づいて、製造機械の状態および環境の状態のうち、少なくとも一方を変更する制御を実施することができる。このような判定値に基づく制御を実施することにより、製品に含まれる不良品の比率を低減することができる。
【００７０】
図１を参照して、本実施の形態の生産システム１０は、セル制御装置５にネットワークを介して接続された外部記憶装置４１を備える。外部記憶装置４１は、セル制御装置５と互いに通信が可能なように形成されている。外部記憶装置４１は、製造機械の状態のデータ、環境の状態のデータ、および製品の検査結果のデータとは異なる他のデータを記憶することができる。たとえば、販売された製品に不良品が含まれている場合がある。外部記憶装置４１には、このような不良品のデータを記憶させることができる。不良品には、製品番号等が付けられており、製造した時の状態を特定することができる。外部記憶装置には、過去の製造機械の状態のデータ、過去の環境の状態のデータ、および過去の検査結果を保存することができる。そして、判定値設定部２０は、外部記憶装置４１から不良品のデータを取得する。そして、判定値設定部２０は、不良品を製造した時の過去の製造機械の状態のデータおよび環境の状態のデータに基づいて、判定値を設定することができる。この制御を実施することにより、判定値を設定する時に多くの情報を用いることができて、判定値の設定精度が向上する。
【００７１】
本実施の形態の判定値設定部は、機械学習により判定値を設定しているが、この形態に限られず、判定値設定部は、任意の制御にて判定値を設定することができる。例えば、プリント基板の製造時に歪み量が１０００μＳＴ以上与えた時に電子部品の脱離または破損が生じる場合には、判定値設定部は、歪量の判定値を１０００μＳＴよりも僅かに低い８００μＳＴに設定しても構わない。
【００７２】
または、判定値設定部は、統計による方法により判定値を設定しても構わない。たとえば、上記の電子部品の脱離または破損の例では、判定値設定部は、異常が生じた時のプリント基板の歪み量の平均値を判定値として採用することができる。または、判定値設定部は、プリント基板に異常が生じた時の歪みの値の偏差に基づいて、判定値を設定しても構わない。
【００７３】
上記の実施の形態では、プリント基板に配置された電子部品に脱離または破損が生じた例を取り上げたが、この形態に限られず、製品に異常が検出された時に、異常に相関を有する任意の変数の判定値を設定することができる。例えば、プリント基板の製造では、所定の部品に凹みが見つけられる場合がある。その時に、相関解析部は、気温が低いときに異常が多く発生していると判定する場合がある。この場合に、判定値設定部は、気温の判定値を設定することができる。または、相関解析部は、部品を把持するロボットのモータの電流が指令に対して大きくなっている時に、異常が発生していると判別する場合がある。この場合に、判定値設定部は、ロボットのモータに供給される電流の判定値を設定することができる。
【００７４】
また、プリント基板にはんだ付けにより部品を取り付けるフロー工程において、半田不良が生じる場合がある。相関解析部は、実際の半田炉の温度が設定値よりも若干低いときに半田不良が発生していると判定する場合がある。この場合に、判定値設定部は、炉の温度の判定値を設定することができる。
【００７５】
また、生産システムでは、上記のプリント基板の製造の他にも、様々な製品が製造される。本発明は、任意の製品を製造する生産システムに適用することができる。例えば、所定の部品を塗装する場合がある。ロボットにスプレーガンのような作業ツールを取り付けて、車両のボディなどを塗装することができる。塗装用の作業ツールは、塗料に圧力を印加することにより、塗料を吹き出すことができる。ところが、塗装する工程において、塗料が不均一に配置されたり、塗り残しが生じたりする場合がある。この場合に、相関解析部は、作業ツールの内部の塗料に印加する圧力が設定値よりも低いときに塗装の不良が発生していると判定する場合がある。そして、判定値設定部は、塗料に印加する圧力の判定値を設定することができる。なお、選定した変数に既に判定値が設定されている場合には、判定値設定部は、判定値を更新する制御を実施することができる。
【００７６】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【００７７】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【００７８】
３，３ａ，３ｂ，３ｃ，３ｄ，３ｅ    製造機械
５    セル制御装置
７，７ａ，７ｂ    検査装置
１０    生産システム
１２    記憶部
２０    判定値設定部
２１    状態観測部
２２    学習部
２３    報酬計算部
２４    関数更新部
２５    意思決定部
３１    相関解析部
４１    外部記憶装置
６１，６２    検出器
６７    機械制御装置
６８    検査制御装置
【図１】
0006453805.tif 000004
【図２】
0006453805.tif 000005
【図３】
0006453805.tif 000006
【図４】
0006453805.tif 000007
【図５】
0006453805.tif 000008