(57)【要約】【課題】複数の産業機械の作業分担を最適化することのできる機械学習装置，産業機械セル，製造システムおよび機械学習方法の提供を図る。【解決手段】複数の産業機械１１〜１ｎにより作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置２であって、前記複数の産業機械の状態量を観測する状態量観測部２１と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部２２と、を備える。【選択図】図１
2017146879.tif 000002
【特許請求の範囲】
【請求項１】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、
前記複数の産業機械の状態量を観測する状態量観測部と、
前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備える、
ことを特徴とする機械学習装置。
【請求項２】
さらに、
前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備える、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、
前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、
前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信する、
ことを特徴とする請求項２に記載の機械学習装置。
【請求項４】
前記状態量観測部は、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習装置。
【請求項５】
前記状態量観測部は、さらに、
上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得する、
ことを特徴とする請求項４に記載の機械学習装置。
【請求項６】
前記学習部は、
前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習する、
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の機械学習装置。
【請求項７】
前記複数の産業機械のそれぞれは、ロボットであり、
前記複数のロボットは、学習した前記作業分担に基づいて作業を行う、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習装置。
【請求項８】
前記学習部は、
前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、
前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項９】
前記学習部は、
前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、
前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項１０】
前記機械学習装置は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項９のいずれか１項に記載の機械学習装置。
【請求項１１】
前記複数の産業機械と、請求項１乃至請求項１０のいずれか１項に記載の機械学習装置と、を備える、
ことを特徴とする産業機械セル。
【請求項１２】
請求項１１に記載の産業機械セルを複数備える製造システムであって、
前記機械学習装置は、前記産業機械セルに対応して設けられ、
前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とする製造システム。
【請求項１３】
前記機械学習装置は、クラウドサーバ上に存在する、
ことを特徴とする請求項１２に記載の製造システム。
【請求項１４】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、
前記複数の産業機械の状態量を観測し、
観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する、
ことを特徴とする機械学習方法。
【請求項１５】
前記状態量を観測するのは、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１４に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の産業機械の作業分担を学習する機械学習装置，産業機械セル，製造システムおよび機械学習方法に関する。
【背景技術】
【０００２】
従来、例えば、ロボット等の産業機械を複数備え、それら複数の産業機械により作業を行う産業機械セルが実用化されている。このとき、処理されていないワークの合計数を計算し、処理したワークの合計数の多いマシンから、上記合計数の少ないマシンへ１つ以上のワークを再割り当てすることで、各マシンの負荷を均一化するものが提案されている(例えば、特許文献１参照)。
【０００３】
また、従来、ロボットの動作経路や物品の搬送間隔が変化する場合であっても、効率よく物品をハンドリング可能とするものとして、各制御装置が制御するロボットがハンドリングするワークおよびハンドリングしないワークの個数を予め規定しておき、その規定された個数に基づいてワークのハンドリングを行うか否かを判断するものも提案されている(例えば、特許文献２参照)。
【０００４】
さらに、従来、予めワークや部品の情報およびロボットの情報を設定した上で、決められた作業に対して、複数のロボットにタスクを分配し、動作させる順序を決め、衝突回避を行って、作業の最適化を図るものも提案されている(例えば、特許文献３参照)。
【０００５】
また、従来、溶接ロボットの故障等によってスポット溶接ガンが動作不能に陥った場合でも、予め各スポット溶接ガンが動作不能になった場合を想定して、生産ラインの作業配分シミュレーションを行うことも提案されている(例えば、特許文献４参照)。
【０００６】
なお、ロボットの適用としては、製造作業を行うものだけでなく、例えば、搬送コンベヤ(コンベヤ)上の物品を受け渡す物流トラッキング装置(例えば、特許文献５参照)といった様々なものであってもよい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４８２７７３１号公報
【特許文献２】特開２００８−２９６３３０号公報
【特許文献３】特開２００４−２４３４６１号公報
【特許文献４】特開２０００−１４１１４７号公報
【特許文献５】特開２００７−０３００８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、従来、様々な提案がなされているが、例えば、特許文献１のように、或る作業を複数台のロボットで分担して行う際、各ロボットに対して作業量が均一になるように作業分担を決める場合、あるいは、特許文献２のように、作業個数を予め決めて作業を行うか否かを判断する場合、各ロボット固有の状態(例えば、作業領域や作業内容の違い等)により、いずれかのロボットで能力を超える作業が生じ得る。そして、いずれかのロボットにおいて、そのロボットの能力(許容値)を超える作業が生じると、結果として、ワークの見逃しや不完全な作業が行われることにもなる。
【０００９】
また、このような課題を防ぐために、各ロボット固有の状態を考慮して作業割合(それぞれのロボットが分担する作業の量)を予め決めておき、あるいは、その作業割合を動的に制御するといったことが考えられる。しかしながら、複数のロボットの作業内容等の条件の組み合わせは膨大になるため、例えば、作業割合を予め決めておくことや、予め作業割合を変更するプログラムを作って作業割合を動的に制御することは、現実的には困難である。
【００１０】
上述した課題は、例えば、生産中にいずれかのロボットが何らかの理由で停止し、残った他のロボットで作業を分担して生産を継続するといった場合に顕著なものになる。この場合、例えば、特許文献１のように、残った他のロボットで作業を均一に分担することが考えられるが、上述したように、いずれかのロボットで能力を超える作業が生じると、多くのワークの見逃しや不完全な作業が行われる虞が生じる。
【００１１】
また、例えば、複数のロボットでスポット溶接を行うシステムにおいて、何らかの原因でシステム内の任意のロボットが停止した場合、その停止したロボットの作業を他のロボットで分担する必要がある。しかしながら。例えば、特許文献３では、タスク(作業)が入力される以前にロボットの情報を入力しておく必要があるため、任意のロボットが停止した場合、ロボット情報を更新した上でタスクの再分配を行い、作業の最適化を再構築することになるため、システム全体の停止時間の増大を招く虞がある。
【００１２】
さらに、例えば、特許文献４では、予め各ロボットが停止した際に、他のロボットで作業を分担できるようにシミュレーションを行っているが、事前のシミュレーションを行うための工数が必要なだけでなく、シミュレーション結果に基づいた挙動しかとれないといった課題がある。
【００１３】
本発明の目的は、上述した従来技術の課題に鑑み、複数の産業機械の作業分担を最適化することのできる機械学習装置，産業機械セル，製造システムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【００１４】
本発明に係る第１実施形態によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量を観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備える機械学習装置が提供される。
【００１５】
前記機械学習装置は、さらに、前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備えるのが好ましい。前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信することができる。
【００１６】
前記状態量観測部は、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測するのが好ましい。前記状態量観測部は、さらに、上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得してもよい。
【００１７】
前記学習部は、前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習するのが好ましい。前記複数の産業機械のそれぞれは、ロボットであり、前記複数のロボットは、学習した前記作業分担に基づいて作業を行うことができる。
【００１８】
前記学習部は、前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。また、前記学習部は、前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備えることもできる。前記機械学習装置は、ニューラルネットワークを備えてもよい。
【００１９】
本発明に係る第２実施形態によれば、前記複数の産業機械と、上述した第１実施形態による機械学習装置と、を備える、産業機械セルが提供される。
【００２０】
本発明に係る第３実施形態によれば、上述した第２実施形態による産業機械セルを複数備える製造システムであって、前記機械学習装置は、前記産業機械セルに対応して設けられ、前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている製造システムが提供される。前記機械学習装置は、クラウドサーバ上に存在してもよい。
【００２１】
本発明に係る第４実施形態によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、前記複数の産業機械の状態量を観測し、観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する機械学習方法が提供される。前記状態量を観測するのは、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測するのが好ましい。
【発明の効果】
【００２２】
本発明に係る機械学習装置，産業機械セル，製造システムおよび機械学習方法によれば、複数の産業機械の作業分担を最適化することができるという効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明に係る産業機械セルの一実施形態を示すブロック図である。
【図２】図２は、図１に示す産業機械セルによる作業の一例を説明するための図である。
【図３】図３は、ニューロンのモデルを模式的に示す図である。
【図４】図４は、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図５】図５は、本発明に係る機械学習装置の一実施例を示すブロック図である。
【図６】図６は、図５に示す機械学習装置の動作の一例を説明するためのフローチャートである。
【図７】図７は、本発明に係る機械学習装置の他の実施例を示すブロック図である。
【図８】図８は、複数の産業機械セルを備える製造システムの一例を示すブロック図である。
【図９】図９は、産業機械セルにおいて、１つの産業機械が停止した場合の処理の一例を説明するための図である。
【発明を実施するための形態】
【００２４】
まず、本発明に係る機械学習装置，産業機械セル，製造システムおよび機械学習方法の実施形態を詳述する前に、例えば、１つの産業機械が停止した場合における産業機械セルの処理の一例を、図９を参照して説明する。図９は、産業機械セルにおいて、１つの産業機械が停止した場合の処理の一例を説明するための図である。図９において、参照符号１１〜１４は産業機械(ロボット)、５０はコンベヤ(搬送コンベヤ)、５１〜５４はワーク載置部、６０はワーク、そして、２００は産業機械セルを示す。
【００２５】
図９に示されるように、産業機械セル２００は、複数のロボット１１〜１４を備え、それぞれのロボットは、コンベヤ５０により連続的に搬送されるワーク６０を順次取り出して、対応するワーク載置部５１〜５４の上面に載置するようになっている。ここで、図９は、例えば、メンテナンスのため１台のロボット１２が停止し、残り３台のロボット１１，１３，１４により、４台のロボット１１〜１４と同じ作業を行う場合を示している。
【００２６】
例えば、各ロボット１１〜１４の作業の能力(処理能力)、ならびに、各ロボット１１〜１４による作業の内容(処理内容)は同一で、しかも、産業機械セル２００による作業も同一作業の繰り返しであると仮定し、４台のロボット１１〜１４により産業機械セル２００全体の作業を１００％とすると、各ロボット１１〜１４が行う作業は、それぞれ２５％になる。そして、１台のロボット１２が停止し、残り３台のロボット１１，１３，１４により作業を行う場合、各ロボット１１，１３，１４が行う作業は、それぞれ２５％から約３３％に増加することになる。
【００２７】
しかしながら、実際の産業機械セル２００におけるロボット１１〜１４は、例えば、全て同一の作業を行うことは少なく、また、各ロボットの作業領域も異なっていることが多い。そのため、４台のロボット１１〜１４における１台のロボット１２が停止したとき、ロボット１２の作業を残りの３台のロボット１１，１３，１４に対して均等に割り振っても、それが最適な作業分担になるのは極めて稀である。さらに、例えば、所定のロボットにおいて、そのロボットの能力を超える作業が生じると、ワークの見逃しや不完全な作業が生じる虞もある。
【００２８】
また、ロボットの能力を超えないように余裕を持たせることも考えられるが、ロボットに余裕を持たせることは、本来の生産能力を発揮させないことでもあるため、産業機械セルにおける生産性の損失を招くことになる。
【００２９】
さらに、各ロボット固有の状態を考慮して作業割合を予め決めておき、あるいは、その作業割合を動的に制御することも考えられるが、複数のロボットの作業内容等の条件の組み合わせは膨大であり、各ロボットに最適な作業分担で作業を行わせて産業機械セル２００全体の生産量を最大化するのは、困難なものになっている。
【００３０】
以下、本発明に係る複数の産業機械の作業分担を学習する機械学習装置，産業機械セル，製造システムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。図１は、本発明に係る産業機械セルの一実施形態を示すブロック図である。
【００３１】
図１に示されるように、産業機械セル１００は、作業を行う複数の産業機械１１〜１３、および、複数の産業機械１１〜１３に対する作業分担(作業割合(ロードバランス))を学習する機械学習装置２を含む。なお、図１では、説明を簡略化するために、３つの産業機械１１〜１３のみが描かれているが、産業機械の数は、３つに限定されるものではなく、様々な場合があり得るのはいうまでもない。ここで、産業機械としては、産業用およびサービス用のロボットに限定されず、例えば、旋盤，ボール盤，中ぐり盤，フライス盤，研削盤，歯切り盤・歯車仕上げ機械，マシニングセンタ，放電加工機，パンチプレス，レーザ加工機，搬送機およびプラスチック射出成形機といった工作機械等であってもよい。
【００３２】
図１に示されるように、機械学習装置２は、状態量観測部２１，学習部２２および意思決定部２３を備える。状態量観測部２１は、複数の産業機械１１〜１３の状態量(状態変数)を観測し、学習部２２は、状態量観測部２１により観測された状態量に基づいて、複数の産業機械１１〜１３に対する作業分担を学習する。意思決定部２３は、学習部２２が学習した作業分担を参照して、複数の産業機械１１〜１３に対して作業の分担内容を決定して指令する。
【００３３】
ここで、機械学習装置２は、例えば、ネットワーク３を介して複数の産業機械１１〜１３のそれぞれに接続されている。状態量観測部２１は、ネットワークを介して複数の産業機械１１〜１３の状態量を取得し、意思決定部２３は、ネットワークを介して、複数の産業機械１１〜１３に対する作業の分担内容を送信するようになっている。なお、学習部２２は、例えば、複数の産業機械１１〜１３による生産量の維持、複数の産業機械１１〜１３のそれぞれにおける負荷の平均化、ならびに、複数の産業機械１１〜１３による作業量の最大化等を行うための作業分担を学習する。
【００３４】
図２は、図１に示す産業機械セルによる作業の一例を説明するための図であり、ワーク６に対して、複数のロボットＲ１〜Ｒ８によりスポット溶接を行う産業機械セルを説明するためのものである。図２において、参照符号Ａ１〜Ａ８は、通常時(ロボットＲ３も動作しているとき)に、例えば、自動車等のワーク６に対して、各ロボットＲ１〜Ｒ８がスポット溶接を行う領域を示す。そのため、例えば、ロボットＲ３がメンテナンス等により停止している場合、ロボットＲ３が行っていた領域Ａ３の打点(スポット溶接個所)は、ロボットＲ３の周辺に位置するロボットＲ２，Ｒ４，Ｒ７(Ｒ６，Ｒ８)等により分担され、さらに、ロボットＲ２が通常時に行っていた領域Ａ２の打点も、ロボットＲ２の周辺に位置するロボットＲ１，Ｒ６(Ｒ５，Ｒ７)等により分担される。
【００３５】
本実施形態の機械学習装置２(４)は、例えば、８台のロボットＲ１〜Ｒ８を含む産業機械セルにおいて、１台のロボットＲ３が停止した場合に、残りの７台のロボットＲ１，Ｒ２およびＲ４〜Ｒ８により分担する作業を学習して、ロボットＲ１，Ｒ２およびＲ４〜Ｒ８の作業分担を最適化しようとするものである。なお、本実施形態の産業機械セル(１００)としては、例えば、図２に示すような、自動車等のワーク６に対して複数のロボットＲ１〜Ｒ８によりスポット溶接を行うものであってもよいが、図９を参照して説明したような複数のロボット１１〜１４で、コンベヤ５０により連続的に搬送されるワーク６０に対して順次作業を行うものであってもよい。
【００３６】
すなわち、本実施形態の機械学習装置２(４)は、様々な構成の産業機械セルに対して幅広く適用することが可能である。また、産業機械としては、様々な産業用ロボットや工作機械を用いることができ、さらに、産業機械セルとしては、これら産業用ロボットや工作機械等を必要に応じて混在させることができるのはいうまでもない。また、機械学習装置としては、図５および図６を参照して説明する「強化学習(Ｑ学習)」を適用した機械学習装置２、並びに、図７を参照して説明する「教師有り学習」を適用した機械学習装置４を始めとして、様々な機械学習を適用したものであってもよい。
【００３７】
すなわち、機械学習装置は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００３８】
上述したように、図５に示す機械学習装置２は、「強化学習(Ｑ学習)」を適用した例を示し、また、図７に示す機械学習装置４は、「教師あり学習」を適用した例を示す。これらの機械学習装置２，４(機械学習)は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速処理が可能になる。
【００３９】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００４０】
また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
【００４１】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際に産業機械セル(複数の産業機械)を動かさなくても取得することができるデータ(画像データやシミュレーションのデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。
【００４２】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・産業機械セル(すなわち、複数の産業機械(例えば、複数のロボットや複数の工作機械等))は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、数値制御装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４３】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００４４】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００４５】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００４６】
【数１】
2017146879.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は、活性化関数である。
【数２】
2017146879.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)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５７】
図５は、本発明に係る機械学習装置の一実施例を示すブロック図であり、「強化学習(Ｑ学習)」を適用した機械学習装置の例を示すものである。本実施例の機械学習装置２は、例えば、Ｑ学習を実施するために、状態量観測部２１、学習部２２、および、意思決定部２３を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されない。また、機械学習(機械学習装置２)は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００５８】
図５に示されるように、機械学習装置２は、状態量観測部２１、学習部２２、ならびに、意思決定部２３を備え、学習部２２は、報酬計算部２２１および価値関数更新部２２２を含む。状態量観測部２１は、複数の産業機械(例えば、ロボットＲ１〜Ｒ８)の状態量を観測するが、具体的に、例えば、複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間(全体の作業時間)、および、作業の開始から終了までの間における複数の産業機械のそれぞれの作業負荷(例えば、各ロボットの消費電力等の負荷)を観測する。
【００５９】
あるいは、状態量観測部２１は、複数の産業機械が行う作業の達成度、および、複数の産業機械のそれぞれにおける作業量の差を観測することもできる。ここで、複数の産業機械が行う作業の達成度としては、例えば、ワークの見逃し数等であり、また、複数の産業機械のそれぞれにおける作業量の差としては、例えば、各産業機械が処理するワークの個数や打点数の差等である。
【００６０】
なお、状態量観測部２１は、全体の作業時間および各ロボットの作業負荷の一方、あるいは、複数の産業機械が行う作業の達成度および複数の産業機械のそれぞれにおける作業量の差の一方を観測してもよい。また、状態量観測部２１は、全体の作業時間および各ロボットの作業負荷、ならびに、複数の産業機械が行う作業の達成度および複数の産業機械のそれぞれにおける作業量の差を観測することもできる。さらに、状態量観測部２１は、例えば、その産業機械セル(１００)が行う作業の上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる産業機械の停止に伴う生産量の変化の少なくとも一方を取得(観測)することもできる。
【００６１】
報酬計算部２２１は、状態量観測部２１の出力に基づいて報酬を計算し、価値関数更新部２２２は、状態量観測部２１の出力および報酬計算部２２１の出力に基づいて、複数の産業機械に対する作業分担の価値を定める価値関数を報酬に応じて更新する。
【００６２】
図６は、図５に示す機械学習装置の動作の一例を説明するためのフローチャートであり、状態量観測部２１が、上述した全体の作業時間および各ロボットの作業負荷を取得する例を示すものである。図６に示されるように、機械学習が開始(学習スタート)すると、行動価値テーブルに基づいた分担内容で作業を行う(ステップＳＴ１)。すなわち、産業機械セル１００に含まれる複数の産業機械(例えば、図１における産業機械１１〜１ｎ、あるいは、図２におけるロボットＲ１〜Ｒ８)は、機械学習装置２(意思決定部２３)から出力される作業の分担内容に基づいた作業を行って、ステップＳＴ２に進む。
【００６３】
ステップＳＴ２では、複数の産業機械(例えば、ロボットＲ１〜Ｒ８)により繰り返し行われる一連の作業の開始から終了までの作業時間(すなわち、産業機械セル１００全体の作業時間)、および、この作業の開始から終了までの，複数の産業機械のそれぞれにおける作業負荷(すなわち、各ロボットＲ１〜Ｒ８の作業負荷)を取得して、ステップＳＴ３に進む。ここで、例えば、ロボットＲ３が停止している場合には、ステップＳＴ２において、例えば、その停止しているロボットＲ３の作業負荷が零であることが取得される。なお、各ロボットの作業負荷の取得としては、ネットワークを介してそれぞれのロボットから取得するのに限定されず、例えば、メンテナンスを行うために停止するロボットを指定する上位の制御装置、あるいは、故障して停止したロボットから出力されるアラームの通知といった様々なものがあり得る。
【００６４】
ステップＳＴ３では、作業負荷がロボットの許容範囲内かどうかを判定し、作業負荷が許容範囲内である(ＳＴ３：ＹＥＳ)と判定すれば、ステップＳＴ４に進んで、作業時間を短縮できたかどうかを判定し、作業負荷が許容範囲内ではない(ＳＴ３：ＮＯ)と判定すれば、ステップＳＴ７に進んでマイナス報酬を設定する。すなわち、作業負荷が、そのロボットが許容する負荷を超えるのは好ましくないので、マイナス報酬を設定する。
【００６５】
ステップＳＴ４において、作業時間(産業機械セル１００全体の作業時間)を短縮できた(ＳＴ４：ＹＥＳ)と判定すると、ステップＳＴ５に進んでプラス報酬を設定し、作業時間を短縮できなかった(ＳＴ４：ＮＯ)と判定すると、ステップＳＴ６に進んで報酬なし(零報酬)を設定する。そして、ステップＳＴ８に進んで、ステップＳＴ５，ＳＴ６およびＳＴ７による「プラス報酬」，「報酬なし」および「マイナス報酬」による報酬計算を行い、ステップＳＴ９に進んで、行動価値テーブルを更新する。そして、ステップＳＴ１に戻り、同様の処理を繰り返す。これにより、複数のロボット(産業機械)の作業分担を最適化することが可能になる。
【００６６】
以上において、産業機械セル１００(２００)は、図２に示すような自動車等のワーク６にスポット溶接を行うもの、あるいは、図９に示すようなコンベヤ５０により連続的に搬送されるワーク６０を順次取り出すものに限定されず、例えば、コンベヤ上の物品を受け渡す物流トラッキング装置といった様々な構成のものに対して幅広く適用することができる。また、上述したステップＳＴ５，ＳＴ６およびＳＴ７における「プラス報酬」，「報酬なし」および「マイナス報酬」の値(大きさ)は、様々な条件に応じて適切なものが選ばれるのはいうまでもない。
【００６７】
図７は、本発明に係る機械学習装置の他の実施例を示すブロック図であり、教師あり学習を適用したものを示す。図７と、前述した図５の比較から明らかなように、図７に示す教師あり学習を適用した機械学習装置４は、図５に示すＱ学習(強化学習)を適用した機械学習装置２において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。
【００６８】
図７に示されるように、教師あり学習を適用した機械学習装置４は、状態量観測部４１、学習部４２、および、意思決定部４３を備える。学習部４２は、誤差計算部４２１、および、学習モデル更新部(誤差モデル更新部)４２２を備える。ここで、誤差計算部４２１および学習モデル更新部４２２は、それぞれ、図５に示すＱ学習を適用した機械学習装置２における報酬計算部２２１および価値関数更新部２２２に相当する。ただし、本実施形態における誤差計算部４２１には、外部から教師データが入力され、その教師データと学習モデル(誤差モデル)の差が小さくなるように、学習モデル更新部４２２により学習モデルが更新される構成等において、図５を参照して説明したものとは異なる。
【００６９】
すなわち、誤差計算部４２１は、状態量観測部４１の出力および教師データを受け取って、結果(ラベル)付きデータと学習部４２に実装されている学習モデルとの誤差を計算する。ここで、教師データとしては、例えば、同一の産業機械セルにより同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部４２１に提供することができる。
【００７０】
あるいは、産業機械セル(複数のロボットや工作機械等)の外部で行われたシミュレーション等により得られたデータ、または、他の産業機械セルのラベル付きデータを、メモリカードや通信回線により、その産業機械セルの誤差計算部４２１に教師データとして提供することも可能である。さらに、教師データ(ラベル付きデータ)を、例えば、学習部４２に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部４２で使用することもできる。
【００７１】
図８は、複数の産業機械セルを備える製造システムの一例を示すブロック図である。図８に示されるように、製造システムは、複数の産業機械セル１０１〜１０ｍを備え、これら複数の産業機械セル１０１〜１０ｍは、例えば、インターネット１３０で利用される通信回線等の通信媒体１２０を介して接続されている。
【００７２】
機械学習装置２，４は、産業機械セル１０１〜１０ｍに対応して設けられ、産業機械セル１０１〜１０ｍに対応して設けられた機械学習装置２，４は、通信媒体１２０を介して相互にデータを共有または交換するようになっている。なお、図８では、産業機械セル１０１〜１０ｍに対応して設けられた機械学習装置２，４は、クラウドサーバ１１０上に存在するようになっている。従って、産業機械セル１０１〜１０ｍは、地理的に異なる場所に設けられていてもよい。
【００７３】
あるいは、複数の産業機械セル１０１〜１０ｍを地理的に近接した場所に設け、それぞれの産業機械セル１０１〜１０ｍに対して設けた複数の機械学習装置２，４により学習されたデータを、例えば、ＬＡＮ(Local Area Network)等の通信媒体(１２０)を介して相互に共有または交換することもできる。
【００７４】
以上、詳述したように、本発明の各実施形態によれば、機械学習の手法を使って産業機械セルにおける複数の産業機械(複数のロボットや複数の工作機械等)の作業分担を最適化することが可能になる。また、本発明の各実施形態によれば、例えば、機械学習装置は、産業機械セル内の生産量は維持しつつ、各産業機械の負荷を均一にする作業分担(作業割合)を学習して出力することができ、また、産業機械セル内の生産量を最大化するための作業分担を学習して出力することもできる。
【００７５】
なお、本発明に係る機械学習装置としては、「強化学習」や「教師あり学習」だけでなく、「教師なし学習」や「半教師あり学習」等の様々な機械学習の手法を適用することが可能である。
【００７６】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００７７】
２，４    機械学習装置
３    ネットワーク
６，６０    ワーク
１１〜１ｎ，Ｒ１〜Ｒ８    産業機械(ロボット)
２１，４１    状態量観測部
２２，４２    学習部
２３，４３    意思決定部
５０    コンベヤ
５１〜５４    ワーク載置部
１００，１０１〜１０ｍ，２００    産業機械セル
１１０    クラウドサーバ
１２０    通信媒体
１３０    インターネット
２２１    報酬計算部
２２２    価値関数更新部
４２１    誤差計算部
４２２    学習モデル更新部
【図１】
2017146879.tif 000005
【図２】
2017146879.tif 000006
【図３】
2017146879.tif 000007
【図４】
2017146879.tif 000008
【図５】
2017146879.tif 000009
【図６】
2017146879.tif 000010
【図７】
2017146879.tif 000011
【図８】
2017146879.tif 000012
【図９】
2017146879.tif 000013
【手続補正書】
【提出日】平成28年8月19日(2016.8.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明に係る第１実施形態の第一構成例によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量を観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、前記学習部は、前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える機械学習装置が提供される。本発明に係る第１実施形態の第二構成例によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量を観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、前記学習部は、前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備える機械学習装置が提供される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、
前記複数の産業機械の状態量を観測する状態量観測部と、
前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、
前記学習部は、
前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、
前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、
ことを特徴とする機械学習装置。
【請求項２】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、
前記複数の産業機械の状態量を観測する状態量観測部と、
前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、
前記学習部は、
前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、
前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、
ことを特徴とする機械学習装置。
【請求項３】
さらに、
前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備える、
ことを特徴とする請求項１または請求項２に記載の機械学習装置。
【請求項４】
前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、
前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、
前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信する、
ことを特徴とする請求項３に記載の機械学習装置。
【請求項５】
前記状態量観測部は、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習装置。
【請求項６】
前記状態量観測部は、さらに、
上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得する、
ことを特徴とする請求項５に記載の機械学習装置。
【請求項７】
前記学習部は、
前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習する、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習装置。
【請求項８】
前記複数の産業機械のそれぞれは、ロボットであり、
前記複数のロボットは、学習した前記作業分担に基づいて作業を行う、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項９】
前記機械学習装置は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習装置。
【請求項１０】
前記複数の産業機械と、請求項１乃至請求項９のいずれか１項に記載の機械学習装置と、を備える、
ことを特徴とする産業機械セル。
【請求項１１】
請求項１０に記載の産業機械セルを複数備える製造システムであって、
前記機械学習装置は、前記産業機械セルに対応して設けられ、
前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とする製造システム。
【請求項１２】
前記機械学習装置は、クラウドサーバ上に存在する、
ことを特徴とする請求項１１に記載の製造システム。
【請求項１３】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、
前記複数の産業機械の状態量を観測し、
観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習し、
前記複数の産業機械に対する作業分担の学習は、
観測された前記複数の産業機械の前記状態量に基づいて報酬を計算し、
観測された前記複数の産業機械の前記状態量および計算された前記報酬に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する、
ことを特徴とする機械学習方法。
【請求項１４】
複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、
前記複数の産業機械の状態量を観測し、
観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習し、
前記複数の産業機械に対する作業分担の学習は、
観測された前記複数の産業機械の前記状態量および入力された教師データに基づいて誤差を計算し、
観測された前記複数の産業機械の前記状態量および計算された前記誤差に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する、
ことを特徴とする機械学習方法。
【請求項１５】
前記状態量を観測するのは、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１３または請求項１４に記載の機械学習方法。
【手続補正書】
【提出日】平成29年2月7日(2017.2.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明に係る第１実施形態の第一構成例によれば、複数の産業機械により作業を行い、前記複数の産業機械におけるいずれかの産業機械が停止した場合に、停止した前記産業機械の作業を、停止した前記産業機械を除く残りの産業機械で分担するように、作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量を観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、前記状態量観測部は、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷を観測し、前記学習部は、前記状態量観測部の出力に基づいて、前記作業負荷が、前記産業機械が許容する負荷を超えるときはマイナス報酬を設定し、前記作業時間を短縮できたときはプラス報酬を設定し、前記作業時間を短縮できなかったときは報酬なしを設定する報酬計算部と、前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める行動価値テーブルを、前記報酬に応じて更新する価値関数更新部と、を備える機械学習装置が提供される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の産業機械により作業を行い、前記複数の産業機械におけるいずれかの産業機械が停止した場合に、停止した前記産業機械の作業を、停止した前記産業機械を除く残りの産業機械で分担するように、作業分担を学習する機械学習装置であって、
前記複数の産業機械の状態量を観測する状態量観測部と、
前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備え、
前記状態量観測部は、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷を観測し、
前記学習部は、
前記状態量観測部の出力に基づいて、前記作業負荷が、前記産業機械が許容する負荷を超えるときはマイナス報酬を設定し、前記作業時間を短縮できたときはプラス報酬を設定し、前記作業時間を短縮できなかったときは報酬なしを設定する報酬計算部と、
前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める行動価値テーブルを、前記報酬に応じて更新する価値関数更新部と、を備える、
ことを特徴とする機械学習装置。
【請求項２】
前記作業負荷は、前記産業機械の消費電力である、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
さらに、
前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備える、
ことを特徴とする請求項１または請求項２に記載の機械学習装置。
【請求項４】
前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、
前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、
前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信する、
ことを特徴とする請求項３に記載の機械学習装置。
【請求項５】
前記状態量観測部は、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習装置。
【請求項６】
前記状態量観測部は、さらに、
上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得する、
ことを特徴とする請求項５に記載の機械学習装置。
【請求項７】
前記学習部は、
前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習する、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習装置。
【請求項８】
前記複数の産業機械のそれぞれは、ロボットであり、
前記複数のロボットは、学習した前記作業分担に基づいて作業を行う、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習装置。
【請求項９】
前記機械学習装置は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習装置。
【請求項１０】
前記複数の産業機械と、請求項１乃至請求項９のいずれか１項に記載の機械学習装置と、を備える、
ことを特徴とする産業機械セル。
【請求項１１】
請求項１０に記載の産業機械セルを複数備える製造システムであって、
前記機械学習装置は、前記産業機械セルに対応して設けられ、
前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とする製造システム。
【請求項１２】
前記機械学習装置は、クラウドサーバ上に存在する、
ことを特徴とする請求項１１に記載の製造システム。
【請求項１３】
複数の産業機械により作業を行い、前記複数の産業機械におけるいずれかの産業機械が停止した場合に、停止した前記産業機械の作業を、停止した前記産業機械を除く残りの産業機械で分担するように、作業分担を学習する機械学習方法であって、
前記複数の産業機械の状態量を観測し、
観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習し、
前記状態量の観測は、
前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの，前記複数の産業機械のそれぞれにおける作業負荷を観測し、
前記複数の産業機械に対する作業分担の学習は、
観測された前記複数の産業機械の前記状態量に基づいて、前記作業負荷が、前記産業機械が許容する負荷を超えるときはマイナス報酬を設定し、前記作業時間を短縮できたときはプラス報酬を設定し、前記作業時間を短縮できなかったときは報酬なしを設定して報酬を計算し、
観測された前記複数の産業機械の前記状態量および計算された前記報酬に基づいて、前記複数の産業機械に対する作業分担の価値を定める行動価値テーブルを、前記報酬に応じて更新する、
ことを特徴とする機械学習方法。
【請求項１４】
前記作業負荷は、前記産業機械の消費電力である、
ことを特徴とする請求項１３に記載の機械学習方法。
【請求項１５】
前記状態量の観測は、
前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、
ことを特徴とする請求項１３または請求項１４に記載の機械学習方法。