図面 (/)

技術 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法

出願人 ファナック株式会社
発明者 大場雅文津田丈嗣大家智樹
出願日 2016年2月19日 (4年10ヶ月経過) 出願番号 2016-029605
公開日 2017年8月24日 (3年4ヶ月経過) 公開番号 2017-146879
状態 特許登録済
技術分野 マニプレータ 学習型計算機 特定用途計算機 総合的工場管理
主要キーワード 価値関数 ラベル付きデータ PCクラスタ 分担内容 学習データセット 近似アルゴリズム 歯切り盤 行動判断
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年8月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

複数の産業機械の作業分担を最適化することのできる機械学習装置,産業機械セル,製造システムおよび機械学習方法の提供を図る。

解決手段

複数の産業機械11〜1nにより作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置2であって、前記複数の産業機械の状態量観測する状態量観測部21と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部22と、を備える。

概要

背景

従来、例えば、ロボット等の産業機械を複数備え、それら複数の産業機械により作業を行う産業機械セルが実用化されている。このとき、処理されていないワークの合計数を計算し、処理したワークの合計数の多いマシンから、上記合計数の少ないマシンへ1つ以上のワークを再割り当てすることで、各マシンの負荷を均一化するものが提案されている(例えば、特許文献1参照)。

また、従来、ロボットの動作経路物品搬送間隔が変化する場合であっても、効率よく物品をハンドリング可能とするものとして、各制御装置が制御するロボットがハンドリングするワークおよびハンドリングしないワークの個数を予め規定しておき、その規定された個数に基づいてワークのハンドリングを行うか否かを判断するものも提案されている(例えば、特許文献2参照)。

さらに、従来、予めワークや部品の情報およびロボットの情報を設定した上で、決められた作業に対して、複数のロボットにタスク分配し、動作させる順序を決め、衝突回避を行って、作業の最適化を図るものも提案されている(例えば、特許文献3参照)。

また、従来、溶接ロボット故障等によってスポット溶接ガン動作不能に陥った場合でも、予め各スポット溶接ガンが動作不能になった場合を想定して、生産ライン作業配分シミュレーションを行うことも提案されている(例えば、特許文献4参照)。

なお、ロボットの適用としては、製造作業を行うものだけでなく、例えば、搬送コンベヤ(コンベヤ)上の物品を受け渡す物流トラッキング装置(例えば、特許文献5参照)といった様々なものであってもよい。

概要

複数の産業機械の作業分担を最適化することのできる機械学習装置,産業機械セル,製造システムおよび機械学習方法の提供をる。複数の産業機械11〜1nにより作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置2であって、前記複数の産業機械の状態量観測する状態量観測部21と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部22と、を備える。

目的

ここで、教師データとしては、例えば、同一の産業機械セルにより同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部421に提供する

効果

実績

技術文献被引用数
2件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備える、ことを特徴とする機械学習装置。

請求項2

さらに、前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備える、ことを特徴とする請求項1に記載の機械学習装置。

請求項3

前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信する、ことを特徴とする請求項2に記載の機械学習装置。

請求項4

前記状態量観測部は、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの,前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の機械学習装置。

請求項5

前記状態量観測部は、さらに、上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得する、ことを特徴とする請求項4に記載の機械学習装置。

請求項6

前記学習部は、前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習する、ことを特徴とする請求項1乃至請求項5のいずれか1項に記載の機械学習装置。

請求項7

前記複数の産業機械のそれぞれは、ロボットであり、前記複数のロボットは、学習した前記作業分担に基づいて作業を行う、ことを特徴とする請求項1乃至請求項6のいずれか1項に記載の機械学習装置。

請求項8

前記学習部は、前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の機械学習装置。

請求項9

前記学習部は、前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の機械学習装置。

請求項10

前記機械学習装置は、ニューラルネットワークを備える、ことを特徴とする請求項1乃至請求項9のいずれか1項に記載の機械学習装置。

請求項11

前記複数の産業機械と、請求項1乃至請求項10のいずれか1項に記載の機械学習装置と、を備える、ことを特徴とする産業機械セル

請求項12

請求項11に記載の産業機械セルを複数備える製造システムであって、前記機械学習装置は、前記産業機械セルに対応して設けられ、前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている、ことを特徴とする製造システム。

請求項13

前記機械学習装置は、クラウドサーバ上に存在する、ことを特徴とする請求項12に記載の製造システム。

請求項14

複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、前記複数の産業機械の状態量を観測し、観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する、ことを特徴とする機械学習方法。

請求項15

前記状態量を観測するのは、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの,前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測する、ことを特徴とする請求項14に記載の機械学習方法。

技術分野

0001

本発明は、複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法に関する。

背景技術

0002

従来、例えば、ロボット等の産業機械を複数備え、それら複数の産業機械により作業を行う産業機械セルが実用化されている。このとき、処理されていないワークの合計数を計算し、処理したワークの合計数の多いマシンから、上記合計数の少ないマシンへ1つ以上のワークを再割り当てすることで、各マシンの負荷を均一化するものが提案されている(例えば、特許文献1参照)。

0003

また、従来、ロボットの動作経路物品搬送間隔が変化する場合であっても、効率よく物品をハンドリング可能とするものとして、各制御装置が制御するロボットがハンドリングするワークおよびハンドリングしないワークの個数を予め規定しておき、その規定された個数に基づいてワークのハンドリングを行うか否かを判断するものも提案されている(例えば、特許文献2参照)。

0004

さらに、従来、予めワークや部品の情報およびロボットの情報を設定した上で、決められた作業に対して、複数のロボットにタスク分配し、動作させる順序を決め、衝突回避を行って、作業の最適化を図るものも提案されている(例えば、特許文献3参照)。

0005

また、従来、溶接ロボット故障等によってスポット溶接ガン動作不能に陥った場合でも、予め各スポット溶接ガンが動作不能になった場合を想定して、生産ライン作業配分シミュレーションを行うことも提案されている(例えば、特許文献4参照)。

0006

なお、ロボットの適用としては、製造作業を行うものだけでなく、例えば、搬送コンベヤ(コンベヤ)上の物品を受け渡す物流トラッキング装置(例えば、特許文献5参照)といった様々なものであってもよい。

先行技術

0007

特許第4827731号公報
特開2008−296330号公報
特開2004−243461号公報
特開2000−141147号公報
特開2007−030087号公報

発明が解決しようとする課題

0008

上述したように、従来、様々な提案がなされているが、例えば、特許文献1のように、或る作業を複数台のロボットで分担して行う際、各ロボットに対して作業量が均一になるように作業分担を決める場合、あるいは、特許文献2のように、作業個数を予め決めて作業を行うか否かを判断する場合、各ロボット固有の状態(例えば、作業領域や作業内容の違い等)により、いずれかのロボットで能力を超える作業が生じ得る。そして、いずれかのロボットにおいて、そのロボットの能力(許容値)を超える作業が生じると、結果として、ワークの見逃しや不完全な作業が行われることにもなる。

0009

また、このような課題を防ぐために、各ロボット固有の状態を考慮して作業割合(それぞれのロボットが分担する作業の量)を予め決めておき、あるいは、その作業割合を動的に制御するといったことが考えられる。しかしながら、複数のロボットの作業内容等の条件の組み合わせは膨大になるため、例えば、作業割合を予め決めておくことや、予め作業割合を変更するプログラムを作って作業割合を動的に制御することは、現実的には困難である。

0010

上述した課題は、例えば、生産中にいずれかのロボットが何らかの理由で停止し、残った他のロボットで作業を分担して生産を継続するといった場合に顕著なものになる。この場合、例えば、特許文献1のように、残った他のロボットで作業を均一に分担することが考えられるが、上述したように、いずれかのロボットで能力を超える作業が生じると、多くのワークの見逃しや不完全な作業が行われる虞が生じる。

0011

また、例えば、複数のロボットでスポット溶接を行うシステムにおいて、何らかの原因でシステム内の任意のロボットが停止した場合、その停止したロボットの作業を他のロボットで分担する必要がある。しかしながら。例えば、特許文献3では、タスク(作業)が入力される以前にロボットの情報を入力しておく必要があるため、任意のロボットが停止した場合、ロボット情報更新した上でタスクの再分配を行い、作業の最適化を再構築することになるため、システム全体の停止時間の増大を招く虞がある。

0012

さらに、例えば、特許文献4では、予め各ロボットが停止した際に、他のロボットで作業を分担できるようにシミュレーションを行っているが、事前のシミュレーションを行うための工数が必要なだけでなく、シミュレーション結果に基づいた挙動しかとれないといった課題がある。

0013

本発明の目的は、上述した従来技術の課題に鑑み、複数の産業機械の作業分担を最適化することのできる機械学習装置,産業機械セル,製造システムおよび機械学習方法の提供にある。

課題を解決するための手段

0014

本発明に係る第1実施形態によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習装置であって、前記複数の産業機械の状態量観測する状態量観測部と、前記状態量観測部により観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する学習部と、を備える機械学習装置が提供される。

0015

前記機械学習装置は、さらに、前記学習部が学習した前記作業分担を参照して、前記複数の産業機械に対して作業の分担内容を決定して指令する意思決定部を備えるのが好ましい。前記機械学習装置は、ネットワークを介して前記複数の産業機械のそれぞれに接続され、前記状態量観測部は、前記ネットワークを介して前記複数の産業機械の状態量を取得し、前記意思決定部は、前記ネットワークを介して前記複数の産業機械に対して前記作業の分担内容を送信することができる。

0016

前記状態量観測部は、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの,前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測するのが好ましい。前記状態量観測部は、さらに、上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる前記産業機械の停止に伴う生産量の変化の少なくとも一方を取得してもよい。

0017

前記学習部は、前記複数の産業機械による生産量の維持、前記複数の産業機械のそれぞれにおける負荷の平均化、ならびに、前記複数の産業機械による作業量の最大化を行うための作業分担を学習するのが好ましい。前記複数の産業機械のそれぞれは、ロボットであり、前記複数のロボットは、学習した前記作業分担に基づいて作業を行うことができる。

0018

前記学習部は、前記状態量観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態量観測部の出力および前記報酬計算部の出力に基づいて、前記複数の産業機械に対する作業分担の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。また、前記学習部は、前記状態量観測部の出力および入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態量観測部の出力および前記誤差計算部の出力に基づいて、前記複数の産業機械に対する作業分担の誤差を定める学習モデルを更新する学習モデル更新部と、を備えることもできる。前記機械学習装置は、ニューラルネットワークを備えてもよい。

0019

本発明に係る第2実施形態によれば、前記複数の産業機械と、上述した第1実施形態による機械学習装置と、を備える、産業機械セルが提供される。

0020

本発明に係る第3実施形態によれば、上述した第2実施形態による産業機械セルを複数備える製造システムであって、前記機械学習装置は、前記産業機械セルに対応して設けられ、前記産業機械セルに対応して設けられた前記機械学習装置は、通信媒体を介して相互にデータを共有または交換するようになっている製造システムが提供される。前記機械学習装置は、クラウドサーバ上に存在してもよい。

0021

本発明に係る第4実施形態によれば、複数の産業機械により作業を行い、前記複数の産業機械に対する作業分担を学習する機械学習方法であって、前記複数の産業機械の状態量を観測し、観測された前記状態量に基づいて、前記複数の産業機械に対する作業分担を学習する機械学習方法が提供される。前記状態量を観測するのは、前記複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間、および、前記作業の開始から終了までの,前記複数の産業機械のそれぞれにおける作業負荷の少なくとも一方を観測し、あるいは、前記複数の産業機械が行う作業の達成度、および、前記複数の産業機械のそれぞれにおける作業量の差の少なくとも一方を観測するのが好ましい。

発明の効果

0022

本発明に係る機械学習装置,産業機械セル,製造システムおよび機械学習方法によれば、複数の産業機械の作業分担を最適化することができるという効果を奏する。

図面の簡単な説明

0023

図1は、本発明に係る産業機械セルの一実施形態を示すブロック図である。
図2は、図1に示す産業機械セルによる作業の一例を説明するための図である。
図3は、ニューロンモデルを模式的に示す図である。
図4は、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
図5は、本発明に係る機械学習装置の一実施例を示すブロック図である。
図6は、図5に示す機械学習装置の動作の一例を説明するためのフローチャートである。
図7は、本発明に係る機械学習装置の他の実施例を示すブロック図である。
図8は、複数の産業機械セルを備える製造システムの一例を示すブロック図である。
図9は、産業機械セルにおいて、1つの産業機械が停止した場合の処理の一例を説明するための図である。

実施例

0024

まず、本発明に係る機械学習装置,産業機械セル,製造システムおよび機械学習方法の実施形態を詳述する前に、例えば、1つの産業機械が停止した場合における産業機械セルの処理の一例を、図9を参照して説明する。図9は、産業機械セルにおいて、1つの産業機械が停止した場合の処理の一例を説明するための図である。図9において、参照符号11〜14は産業機械(ロボット)、50はコンベヤ(搬送コンベヤ)、51〜54はワーク載置部、60はワーク、そして、200は産業機械セルを示す。

0025

図9に示されるように、産業機械セル200は、複数のロボット11〜14を備え、それぞれのロボットは、コンベヤ50により連続的に搬送されるワーク60を順次取り出して、対応するワーク載置部51〜54の上面に載置するようになっている。ここで、図9は、例えば、メンテナンスのため1台のロボット12が停止し、残り3台のロボット11,13,14により、4台のロボット11〜14と同じ作業を行う場合を示している。

0026

例えば、各ロボット11〜14の作業の能力(処理能力)、ならびに、各ロボット11〜14による作業の内容(処理内容)は同一で、しかも、産業機械セル200による作業も同一作業の繰り返しであると仮定し、4台のロボット11〜14により産業機械セル200全体の作業を100%とすると、各ロボット11〜14が行う作業は、それぞれ25%になる。そして、1台のロボット12が停止し、残り3台のロボット11,13,14により作業を行う場合、各ロボット11,13,14が行う作業は、それぞれ25%から約33%に増加することになる。

0027

しかしながら、実際の産業機械セル200におけるロボット11〜14は、例えば、全て同一の作業を行うことは少なく、また、各ロボットの作業領域も異なっていることが多い。そのため、4台のロボット11〜14における1台のロボット12が停止したとき、ロボット12の作業を残りの3台のロボット11,13,14に対して均等に割り振っても、それが最適な作業分担になるのは極めて稀である。さらに、例えば、所定のロボットにおいて、そのロボットの能力を超える作業が生じると、ワークの見逃しや不完全な作業が生じる虞もある。

0028

また、ロボットの能力を超えないように余裕を持たせることも考えられるが、ロボットに余裕を持たせることは、本来の生産能力を発揮させないことでもあるため、産業機械セルにおける生産性損失を招くことになる。

0029

さらに、各ロボット固有の状態を考慮して作業割合を予め決めておき、あるいは、その作業割合を動的に制御することも考えられるが、複数のロボットの作業内容等の条件の組み合わせは膨大であり、各ロボットに最適な作業分担で作業を行わせて産業機械セル200全体の生産量を最大化するのは、困難なものになっている。

0030

以下、本発明に係る複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。図1は、本発明に係る産業機械セルの一実施形態を示すブロック図である。

0031

図1に示されるように、産業機械セル100は、作業を行う複数の産業機械11〜13、および、複数の産業機械11〜13に対する作業分担(作業割合(ロードバランス))を学習する機械学習装置2を含む。なお、図1では、説明を簡略化するために、3つの産業機械11〜13のみが描かれているが、産業機械の数は、3つに限定されるものではなく、様々な場合があり得るのはいうまでもない。ここで、産業機械としては、産業用およびサービス用のロボットに限定されず、例えば、旋盤ボール盤中ぐり盤フライス盤研削盤歯切り盤歯車仕上げ機械,マシニングセンタ放電加工機パンチプレスレーザ加工機,搬送機およびプラスチック射出成形機といった工作機械等であってもよい。

0032

図1に示されるように、機械学習装置2は、状態量観測部21,学習部22および意思決定部23を備える。状態量観測部21は、複数の産業機械11〜13の状態量(状態変数)を観測し、学習部22は、状態量観測部21により観測された状態量に基づいて、複数の産業機械11〜13に対する作業分担を学習する。意思決定部23は、学習部22が学習した作業分担を参照して、複数の産業機械11〜13に対して作業の分担内容を決定して指令する。

0033

ここで、機械学習装置2は、例えば、ネットワーク3を介して複数の産業機械11〜13のそれぞれに接続されている。状態量観測部21は、ネットワークを介して複数の産業機械11〜13の状態量を取得し、意思決定部23は、ネットワークを介して、複数の産業機械11〜13に対する作業の分担内容を送信するようになっている。なお、学習部22は、例えば、複数の産業機械11〜13による生産量の維持、複数の産業機械11〜13のそれぞれにおける負荷の平均化、ならびに、複数の産業機械11〜13による作業量の最大化等を行うための作業分担を学習する。

0034

図2は、図1に示す産業機械セルによる作業の一例を説明するための図であり、ワーク6に対して、複数のロボットR1〜R8によりスポット溶接を行う産業機械セルを説明するためのものである。図2において、参照符号A1〜A8は、通常時(ロボットR3も動作しているとき)に、例えば、自動車等のワーク6に対して、各ロボットR1〜R8がスポット溶接を行う領域を示す。そのため、例えば、ロボットR3がメンテナンス等により停止している場合、ロボットR3が行っていた領域A3の打点(スポット溶接個所)は、ロボットR3の周辺に位置するロボットR2,R4,R7(R6,R8)等により分担され、さらに、ロボットR2が通常時に行っていた領域A2の打点も、ロボットR2の周辺に位置するロボットR1,R6(R5,R7)等により分担される。

0035

本実施形態の機械学習装置2(4)は、例えば、8台のロボットR1〜R8を含む産業機械セルにおいて、1台のロボットR3が停止した場合に、残りの7台のロボットR1,R2およびR4〜R8により分担する作業を学習して、ロボットR1,R2およびR4〜R8の作業分担を最適化しようとするものである。なお、本実施形態の産業機械セル(100)としては、例えば、図2に示すような、自動車等のワーク6に対して複数のロボットR1〜R8によりスポット溶接を行うものであってもよいが、図9を参照して説明したような複数のロボット11〜14で、コンベヤ50により連続的に搬送されるワーク60に対して順次作業を行うものであってもよい。

0036

すなわち、本実施形態の機械学習装置2(4)は、様々な構成の産業機械セルに対して幅広く適用することが可能である。また、産業機械としては、様々な産業用ロボットや工作機械を用いることができ、さらに、産業機械セルとしては、これら産業用ロボットや工作機械等を必要に応じて混在させることができるのはいうまでもない。また、機械学習装置としては、図5および図6を参照して説明する「強化学習(Q学習)」を適用した機械学習装置2、並びに、図7を参照して説明する「教師有り学習」を適用した機械学習装置4を始めとして、様々な機械学習を適用したものであってもよい。

0037

すなわち、機械学習装置は、装置に入力されるデータの集合から、その中にある有用な規則知識表現判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。

0038

上述したように、図5に示す機械学習装置2は、「強化学習(Q学習)」を適用した例を示し、また、図7に示す機械学習装置4は、「教師あり学習」を適用した例を示す。これらの機械学習装置2,4(機械学習)は、汎用計算機若しくはプロセッサを用いることもできるが、例えば、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用すると、より高速処理が可能になる。

0039

まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。

0040

また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。

0041

なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際に産業機械セル(複数の産業機械)を動かさなくても取得することができるデータ(画像データやシミュレーションのデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。

0042

次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・産業機械セル(すなわち、複数の産業機械(例えば、複数のロボットや複数の工作機械等))は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、数値制御装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。

0043

ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Q学習の場合で説明を続けるが、Q学習に限定されるものではない。

0044

Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Q(s,a)を学習していく。

0045

さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γt)rt]となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Q(s,a)の更新式は、例えば、次の式(1)により表すことができる。

0046

上記の式(1)において、stは、時刻tにおける環境の状態を表し、atは、時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。

0047

上述した式(1)は、試行atの結果、帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。すなわち、状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1 + 行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の方が大きければ、Q(st,at)を大きくし、反対に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。

0048

ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブルとして保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の式(1)は、確率勾配降下法等の手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。

0049

また、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図3は、ニューロンのモデルを模式的に示す図であり、図4は、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図3に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。

0050

図3に示されるように、ニューロンは、複数の入力x(図3では、一例として入力x1〜x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みW(W1,W2,W3)が乗算される。これにより、ニューロンは、次の式(2)により表現される結果yを出力する。なお、入力x、結果yおよび重みwは、すべてベクトルである。また、下記の式(2)において、θは、バイアスであり、fkは、活性化関数である。

0051

図4を参照して、図3に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図4に示されるように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは、一例として、結果y1〜入力y3)が出力される。具体的に、入力x1,x2, x3は、3つのニューロンN11〜N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてW1と標記されている。

0052

ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図4において、これらz11〜z13は、まとめて特徴ベクトルZ1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルZ1は、重みW1と重みW2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW2と標記されている。

0053

ニューロンN21,N22は、それぞれz21,z22を出力する。図4において、これらz21,z22は、まとめて特徴ベクトルZ2と標記されている。この特徴ベクトルZ2は、重みW2と重みW3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31〜N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW3と標記されている。

0054

最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいて、数値制御装置の行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。

0055

ここで、予測モードで実際に数値制御装置を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。

0056

また、重みW1〜W3は、誤差逆伝搬法(誤差逆転伝播法:バックプロパゲーション:Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。

0057

図5は、本発明に係る機械学習装置の一実施例を示すブロック図であり、「強化学習(Q学習)」を適用した機械学習装置の例を示すものである。本実施例の機械学習装置2は、例えば、Q学習を実施するために、状態量観測部21、学習部22、および、意思決定部23を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されない。また、機械学習(機械学習装置2)は、例えば、GPGPUや大規模PCクラスター等を適用することで実現可能なのは、前述した通りである。

0058

図5に示されるように、機械学習装置2は、状態量観測部21、学習部22、ならびに、意思決定部23を備え、学習部22は、報酬計算部221および価値関数更新部222を含む。状態量観測部21は、複数の産業機械(例えば、ロボットR1〜R8)の状態量を観測するが、具体的に、例えば、複数の産業機械により繰り返し行われる一連の作業の開始から終了までの作業時間(全体の作業時間)、および、作業の開始から終了までの間における複数の産業機械のそれぞれの作業負荷(例えば、各ロボットの消費電力等の負荷)を観測する。

0059

あるいは、状態量観測部21は、複数の産業機械が行う作業の達成度、および、複数の産業機械のそれぞれにおける作業量の差を観測することもできる。ここで、複数の産業機械が行う作業の達成度としては、例えば、ワークの見逃し数等であり、また、複数の産業機械のそれぞれにおける作業量の差としては、例えば、各産業機械が処理するワークの個数や打点数の差等である。

0060

なお、状態量観測部21は、全体の作業時間および各ロボットの作業負荷の一方、あるいは、複数の産業機械が行う作業の達成度および複数の産業機械のそれぞれにおける作業量の差の一方を観測してもよい。また、状態量観測部21は、全体の作業時間および各ロボットの作業負荷、ならびに、複数の産業機械が行う作業の達成度および複数の産業機械のそれぞれにおける作業量の差を観測することもできる。さらに、状態量観測部21は、例えば、その産業機械セル(100)が行う作業の上流の工程における生産量の変化、および、定期的に行われるメンテナンスによる産業機械の停止に伴う生産量の変化の少なくとも一方を取得(観測)することもできる。

0061

報酬計算部221は、状態量観測部21の出力に基づいて報酬を計算し、価値関数更新部222は、状態量観測部21の出力および報酬計算部221の出力に基づいて、複数の産業機械に対する作業分担の価値を定める価値関数を報酬に応じて更新する。

0062

図6は、図5に示す機械学習装置の動作の一例を説明するためのフローチャートであり、状態量観測部21が、上述した全体の作業時間および各ロボットの作業負荷を取得する例を示すものである。図6に示されるように、機械学習が開始(学習スタート)すると、行動価値テーブルに基づいた分担内容で作業を行う(ステップST1)。すなわち、産業機械セル100に含まれる複数の産業機械(例えば、図1における産業機械11〜1n、あるいは、図2におけるロボットR1〜R8)は、機械学習装置2(意思決定部23)から出力される作業の分担内容に基づいた作業を行って、ステップST2に進む。

0063

ステップST2では、複数の産業機械(例えば、ロボットR1〜R8)により繰り返し行われる一連の作業の開始から終了までの作業時間(すなわち、産業機械セル100全体の作業時間)、および、この作業の開始から終了までの,複数の産業機械のそれぞれにおける作業負荷(すなわち、各ロボットR1〜R8の作業負荷)を取得して、ステップST3に進む。ここで、例えば、ロボットR3が停止している場合には、ステップST2において、例えば、その停止しているロボットR3の作業負荷がであることが取得される。なお、各ロボットの作業負荷の取得としては、ネットワークを介してそれぞれのロボットから取得するのに限定されず、例えば、メンテナンスを行うために停止するロボットを指定する上位の制御装置、あるいは、故障して停止したロボットから出力されるアラーム通知といった様々なものがあり得る。

0064

ステップST3では、作業負荷がロボットの許容範囲内かどうかを判定し、作業負荷が許容範囲内である(ST3:YES)と判定すれば、ステップST4に進んで、作業時間を短縮できたかどうかを判定し、作業負荷が許容範囲内ではない(ST3:NO)と判定すれば、ステップST7に進んでマイナス報酬を設定する。すなわち、作業負荷が、そのロボットが許容する負荷を超えるのは好ましくないので、マイナス報酬を設定する。

0065

ステップST4において、作業時間(産業機械セル100全体の作業時間)を短縮できた(ST4:YES)と判定すると、ステップST5に進んでプラス報酬を設定し、作業時間を短縮できなかった(ST4:NO)と判定すると、ステップST6に進んで報酬なし(零報酬)を設定する。そして、ステップST8に進んで、ステップST5,ST6およびST7による「プラス報酬」,「報酬なし」および「マイナス報酬」による報酬計算を行い、ステップST9に進んで、行動価値テーブルを更新する。そして、ステップST1に戻り、同様の処理を繰り返す。これにより、複数のロボット(産業機械)の作業分担を最適化することが可能になる。

0066

以上において、産業機械セル100(200)は、図2に示すような自動車等のワーク6にスポット溶接を行うもの、あるいは、図9に示すようなコンベヤ50により連続的に搬送されるワーク60を順次取り出すものに限定されず、例えば、コンベヤ上の物品を受け渡す物流トラッキング装置といった様々な構成のものに対して幅広く適用することができる。また、上述したステップST5,ST6およびST7における「プラス報酬」,「報酬なし」および「マイナス報酬」の値(大きさ)は、様々な条件に応じて適切なものが選ばれるのはいうまでもない。

0067

図7は、本発明に係る機械学習装置の他の実施例を示すブロック図であり、教師あり学習を適用したものを示す。図7と、前述した図5の比較から明らかなように、図7に示す教師あり学習を適用した機械学習装置4は、図5に示すQ学習(強化学習)を適用した機械学習装置2において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。

0068

図7に示されるように、教師あり学習を適用した機械学習装置4は、状態量観測部41、学習部42、および、意思決定部43を備える。学習部42は、誤差計算部421、および、学習モデル更新部(誤差モデル更新部)422を備える。ここで、誤差計算部421および学習モデル更新部422は、それぞれ、図5に示すQ学習を適用した機械学習装置2における報酬計算部221および価値関数更新部222に相当する。ただし、本実施形態における誤差計算部421には、外部から教師データが入力され、その教師データと学習モデル(誤差モデル)の差が小さくなるように、学習モデル更新部422により学習モデルが更新される構成等において、図5を参照して説明したものとは異なる。

0069

すなわち、誤差計算部421は、状態量観測部41の出力および教師データを受け取って、結果(ラベル)付きデータと学習部42に実装されている学習モデルとの誤差を計算する。ここで、教師データとしては、例えば、同一の産業機械セルにより同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部421に提供することができる。

0070

あるいは、産業機械セル(複数のロボットや工作機械等)の外部で行われたシミュレーション等により得られたデータ、または、他の産業機械セルのラベル付きデータを、メモリカード通信回線により、その産業機械セルの誤差計算部421に教師データとして提供することも可能である。さらに、教師データ(ラベル付きデータ)を、例えば、学習部42に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部42で使用することもできる。

0071

図8は、複数の産業機械セルを備える製造システムの一例を示すブロック図である。図8に示されるように、製造システムは、複数の産業機械セル101〜10mを備え、これら複数の産業機械セル101〜10mは、例えば、インターネット130で利用される通信回線等の通信媒体120を介して接続されている。

0072

機械学習装置2,4は、産業機械セル101〜10mに対応して設けられ、産業機械セル101〜10mに対応して設けられた機械学習装置2,4は、通信媒体120を介して相互にデータを共有または交換するようになっている。なお、図8では、産業機械セル101〜10mに対応して設けられた機械学習装置2,4は、クラウドサーバ110上に存在するようになっている。従って、産業機械セル101〜10mは、地理的に異なる場所に設けられていてもよい。

0073

あるいは、複数の産業機械セル101〜10mを地理的に近接した場所に設け、それぞれの産業機械セル101〜10mに対して設けた複数の機械学習装置2,4により学習されたデータを、例えば、LAN(Local Area Network)等の通信媒体(120)を介して相互に共有または交換することもできる。

0074

以上、詳述したように、本発明の各実施形態によれば、機械学習の手法を使って産業機械セルにおける複数の産業機械(複数のロボットや複数の工作機械等)の作業分担を最適化することが可能になる。また、本発明の各実施形態によれば、例えば、機械学習装置は、産業機械セル内の生産量は維持しつつ、各産業機械の負荷を均一にする作業分担(作業割合)を学習して出力することができ、また、産業機械セル内の生産量を最大化するための作業分担を学習して出力することもできる。

0075

なお、本発明に係る機械学習装置としては、「強化学習」や「教師あり学習」だけでなく、「教師なし学習」や「半教師あり学習」等の様々な機械学習の手法を適用することが可能である。

0076

以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。

0077

2,4機械学習装置
3ネットワーク
6,60 ワーク
11〜1n,R1〜R8産業機械(ロボット)
21,41状態量観測部
22,42 学習部
23,43意思決定部
50コンベヤ
51〜54 ワーク載置部
100,101〜10m,200 産業機械セル
110クラウドサーバ
120通信媒体
130インターネット
221報酬計算部
222価値関数更新部
421誤差計算部
422学習モデル更新部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ