(57)【要約】  ロボットシステム（１）に備えられるロボット（２）の動作は、機械学習装置（５）の学習結果に基づいて制御される。機械学習装置（５）は、行動観測部（６２）、変位量観測部（６３）及び学習部（６４）を備える。行動観測部（６２）は、容器（ＣＮ）からワーク（Ｗ）を取り出すときのロボット（２）の行動パターンを観測する。変位量観測部（６３）は、撮像装置（３）から出力される、ロボット（２）の取り出し動作の前後における各画像データに基づいて、容器（ＣＮ）内の一のワークが取り出されたときの、他のワークの容器（ＣＮ）内での変位量を表すワーク変位量を観測する。学習部（６４）は、ロボット（２）が容器（ＣＮ）から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度（ＩＭ）を、ロボット（２）の行動パターンと対応付けて学習する。
2019239562.tif 000002
【特許請求の範囲】
【請求項１】
複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する機械学習装置であって、
前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、
前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、
前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える、機械学習装置。
【請求項２】
前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える、請求項１に記載の機械学習装置。
【請求項３】
前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える、請求項２に記載の機械学習装置。
【請求項４】
前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える、請求項３に記載の機械学習装置。
【請求項５】
前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、
前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる、請求項１〜４のいずれか１項に記載の機械学習装置。
【請求項６】
複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、
前記容器内を撮像して画像データを出力する撮像装置と、
前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、請求項１〜５のいずれか１項に記載の機械学習装置と、
前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バラ積みされた状態のワークを取り出すロボットの動作を学習する機械学習装置、及びこの機械学習装置を備えたロボットシステムに関する。
【背景技術】
【０００２】
複数のワークをバラ積みされた状態で収容する容器からワークを取り出すシステムとして、ハンド部を備えたロボットによってワークを取り出すロボットシステムが知られている（特許文献１参照）。特許文献１に開示されるロボットシステムは、ロボットの取り出し動作を学習する機械学習装置を備えている。機械学習装置は、三次元計測器により計測されたワークの三次元マップに対応したロボットの動作と、ワークの取り出しの成否の判定結果とを関連付けた教師データに基づいて、容器からワークを取り出す際のロボットの動作を学習している。【０００３】
しかしながら、ワークの取り出しの成否の判定結果を含む教師データを用いた学習では、ロボットの最適な取り出し動作を学習しているとは言えない。つまり、ロボットのハンド部による容器からの一のワークの取り出しが成功したとしても、その取り出し動作によって容器内の他のワークに影響を及ぼす場合がある。例えば、容器から一のワークを取り出すときに、ハンド部や当該ハンド部に把持された一のワークが他のワークに衝撃力を作用させてしまう場合がある。或いは、一のワークが取り出されることにより、他のワークが崩れてしまう場合がある。このように、一のワークの取り出し動作によって容器内の他のワークに影響を及ぼした場合には、ワークが破損してしまう虞がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−６４９１０号公報
【発明の概要】
【０００５】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することにある。
【０００６】
本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
【０００７】
本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
【０００８】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るロボットシステムの構成を示すブロック図である。
【図２】ロボットシステムに備えられるロボットの一例を示す図である。
【図３】ロボットシステムに備えられる機械学習装置の状態観測部の動作を説明するための図である。
【図４】機械学習装置の行動観測部の動作を説明するための図である。
【図５】ロボットの行動パターンを規定する行動要素を説明するための図である。
【図６】機械学習装置の変位量観測部の動作を説明するための図である。
【図７】機械学習装置の学習部の動作を説明するための図である。
【図８】機械学習装置により実行される学習処理を示すフローチャートである。
【図９Ａ】機械学習装置の行動決定部によって生成される行動パターン決定情報を説明するための図である。
【図９Ｂ】機械学習装置の行動決定部によって生成される行動パターン決定情報を説明するための図である。
【図１０Ａ】機械学習装置の順位設定部によって生成される行動指令情報を説明するための図である。
【図１０Ｂ】機械学習装置の順位設定部によって生成される行動指令情報を説明するための図である。
【図１１】機械学習装置により実行される学習反映処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る機械学習装置及びロボットシステムについて図面に基づいて説明する。
【００１１】
［ロボットシステムの全体構成］
図１は、本発明の一実施形態に係るロボットシステム１の構成を示すブロック図である。ロボットシステム１は、ロボット２と、撮像装置３と、制御装置４と、機械学習装置５とを備える。ロボットシステム１においては、撮像装置３から出力される画像データに基づき機械学習装置５がロボット２の動作を学習し、その学習結果に基づき制御装置４がロボット２の動作を制御する。
【００１２】
まず、図２を参照しながらロボット２について説明する。図２は、ロボットシステム１に備えられるロボット２の一例を示す図である。ロボット２は、複数のワークＷをバラ積みされた状態で収容する容器ＣＮから、当該ワークＷを取り出すためのロボットである。容器ＣＮは、上方側が開口した有底筒状に形成されている。ロボット２は、容器ＣＮの上方側の開口を介してワークＷを取り出す。
【００１３】
ロボット２は、容器ＣＮからワークＷを取り出すことが可能なハンド部を備えたロボットであれば特に限定されるものではなく、例えば、垂直多関節ロボットや水平多関節ロボット、或いは双腕型の多関節ロボットを採用することができる。以下では、図２に示す６軸垂直多関節ロボットを例として、ロボット２の構成について説明する。なお、垂直多関節ロボットにおいて軸の数は、６軸に限定されるものではなく、任意の軸数でよい。ロボット２は、ベース部２１と、胴部２２と、第１アーム２３と、第２アーム２４と、手首部２５と、ハンド部２６とを備える。
【００１４】
ベース部２１は、床や台等に固定設置され、内部に不図示の駆動モーター等を収容する箱体である。胴部２２は、ベース部２１の上面において、鉛直方向（上下方向）に延びる第１軸２Ａ回りに、正逆両方向に回転可能に配置される。第１アーム２３は、所定の長さを有するアーム部材であり、その長手方向の一端部が水平方向に延びる第２軸２Ｂを介して胴部２２に取り付けられている。第１アーム２３は、第２軸２Ｂ回りに、正逆両方向に回転可能である。
【００１５】
第２アーム２４は、アームベース２４１とアーム部２４２とを含む。アームベース２４１は、第２アーム２４のベース部分であり、第２軸２Ｂに対して平行且つ水平方向に延びる第３軸２Ｃを介して、第１アーム２３の長手方向他端部に取り付けられている。アームベース２４１は、第３軸２Ｃ回りに、正逆両方向に回転可能である。アーム部２４２は、所定の長さを有するアーム部材であり、その長手方向の一端部が第３軸２Ｃに対して垂直な第４軸２Ｄを介してアームベース２４１に取り付けられている。アーム部２４２は、第４軸２Ｄ回りに、正逆両方向に回転可能である。
【００１６】
手首部２５は、第２軸２Ｂ及び第３軸２Ｃに対して平行且つ水平方向に延びる第５軸２Ｅを介して、アーム部２４２の長手方向他端部に取り付けられている。手首部２５は、第５軸２Ｅ回りに、正逆両方向に回転可能である。
【００１７】
ハンド部２６は、ロボット２において容器ＣＮからワークＷを取り出す部分であり、第５軸２Ｅに対して垂直な第６軸２Ｆを介して手首部２５に取り付けられている。ハンド部２６は、第６軸２Ｆ回りに、正逆両方向に回転可能である。ハンド部２６は、容器ＣＮ内のワークＷを保持可能な構造であれば特に限定されるものではなく、例えば、ワークＷを把持して保持する複数の爪部を備えた構造であってもよいし、ワークＷに対して吸引力を発生する電磁石又は負圧発生装置を備えた構造であってもよい。本実施形態では、ハンド部２６は、複数の爪部を備えた構造を有し、容器ＣＮ内のワークＷを把持することによって当該ワークＷを取り出す。
【００１８】
次に、撮像装置３は、容器ＣＮ内に収容される複数のワークＷの全てが視野内に収まるように容器ＣＮ内を上方から撮像し、ワークＷの位置情報を含む画像データを出力する装置である。本実施形態では、撮像装置３は、図１に示すように、カメラ３１と画像処理部３２を備えた三次元視覚センサ等の三次元計測器である。カメラ３１は、容器ＣＮ内を上方から撮像し、容器ＣＮ内に収容される複数のワークＷの各々の画像領域を含む画像を取得する。画像処理部３２は、カメラ３１が取得した画像を画像処理することによって、各ワークＷの三次元位置情報を含む画像データを生成する。各ワークの三次元位置情報は、例えば、ＸＹＺ直交座標系を用いた座標値（Ｘ，Ｙ，Ｚ）で表される。なお、ＸＹＺ直交座標系とは、Ｘ軸とＹ軸を含む平面（ＸＹ平面）が水平で、Ｚ軸がＸＹ平面に対して鉛直となるように各座標軸が配置された座標系である。撮像装置３から出力された画像データは、後述の機械学習装置５に備えられる変位量観測部６３及び行動決定部７１に入力される。
【００１９】
次に、制御装置４は、ロボット２の動作を制御するとともに、撮像装置３の動作を制御する。制御装置４は、後述の機械学習装置５に備えられる行動決定部７１及び順位設定部７２によって生成される情報に基づいて、ロボット２及び撮像装置３の双方の動作を制御する。
【００２０】
［機械学習装置の構成］
次に、機械学習装置５について説明する。機械学習装置５は、図１に示すように、ロボット２の動作を学習（機械学習）する学習処理を実行する学習処理部６と、その学習結果をロボット２の動作として反映させる学習反映処理を実行する学習反映処理部７とを備える。機械学習装置５が実行する学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、機械学習装置５における学習の手法として、強化学習としてのＱ学習の手法が採用されている。Ｑ学習は、ロボット２の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット２の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、機械学習装置５が実行する強化学習としてのＱ学習は、例えば、ニューラルネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン（神経細胞）の機能を模した論理回路を多層に積層して構成されたものである。
【００２１】
＜学習処理部について＞
学習処理部６は、ロボット２の動作を学習する学習処理を実行する部分であり、状態観測部６１と、行動観測部６２と、変位量観測部６３と、学習部６４とを含んで構成される。
【００２２】
（状態観測部について）
図３は、状態観測部６１の動作を説明するための図である。なお、図３においては、ロボット２及び容器ＣＮを上方から見た状態が示されており、容器ＣＮ内には３つのワークＷ１，Ｗ２，Ｗ３がバラ積みされている。ロボット２は、ハンド部２６によって容器ＣＮから一のワークＷ３を取り出し、その取り出したワークＷ３をパレットＰＬに載置するという、連続的な動作を実行する。状態観測部６１は、ロボット２の連続的な動作を複数の状態に区分し、そのロボット２の状態を観測する。
【００２３】
状態観測部６１が観測するロボット２の状態の数は、特に限定されるものではないが、図３では、状態Ｓ１、状態Ｓ２、状態Ｓ３及び状態Ｓ４の４つの状態が示されている。状態Ｓ１は、ロボット２のハンド部２６がパレットＰＬの上方における所定の位置に配置されるように、胴部２２、第１アーム２３、第２アーム２４、手首部２５及びハンド部２６の姿勢が調整されたロボット２の状態である。状態Ｓ２は、ハンド部２６によって容器ＣＮ内の把持対象となるワークＷ３を把持する直前の状態であって、ワークＷ３の真上における所定の位置にハンド部２６が配置されるように、胴部２２、第１アーム２３、第２アーム２４、手首部２５及びハンド部２６の姿勢が調整されたロボット２の状態である。状態Ｓ３は、ハンド部２６が容器ＣＮ内の把持対象となるワークＷ３を把持するように、胴部２２、第１アーム２３、第２アーム２４、手首部２５及びハンド部２６の姿勢が調整されたロボット２の状態である。状態Ｓ４は、ハンド部２６によって把持したワークＷ３をパレットＰＬに載置するように、胴部２２、第１アーム２３、第２アーム２４、手首部２５及びハンド部２６の姿勢が調整されたロボット２の状態である。ロボット２は、状態Ｓ１、状態Ｓ２、状態Ｓ３、状態Ｓ４の順に状態を連続的に移行することにより、ハンド部２６によって容器ＣＮから一のワークＷ３を取り出し、その取り出したワークＷ３をパレットＰＬに載置する。
【００２４】
ロボット２の状態は、状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）によって規定される。状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）は、ロボット２の状態が移行されるごとに変化する変数である。
【００２５】
状態変数の「ΔＸ」は、ＸＹＺ直交座標系において、ハンド部２６による把持対象となるワークＷ３の容器ＣＮ内における位置に関するＸ座標値を基準値（以下、「Ｘ基準値」と称する）とし、ハンド部２６の位置に関するＸ座標値（以下、「ハンドＸ値」と称する）の前記Ｘ基準値に対する差異を表す。状態変数の「ΔＹ」は、ＸＹＺ直交座標系において、ハンド部２６による把持対象となるワークＷ３の容器ＣＮ内における位置に関するＹ座標値を基準値（以下、「Ｙ基準値」と称する）とし、ハンド部２６の位置に関するＹ座標値（以下、「ハンドＹ値」と称する）の前記Ｙ基準値に対する差異を表す。状態変数の「ΔＺ」は、ＸＹＺ直交座標系において、ハンド部２６による把持対象となるワークＷ３の容器ＣＮ内における位置に関するＺ座標値を基準値（以下、「Ｚ基準値」と称する）とし、ハンド部２６の位置に関するＺ座標値（以下、「ハンドＺ値」と称する）の前記Ｚ基準値に対する差異を表す。状態変数の「ｐ」は、ハンド部２６がワークＷ３を把持しているか否かを表す。状態変数の「ｐ」は、ハンド部２６がワークＷ３を把持している場合には「１」とされ、ハンド部２６がワークＷ３を把持していない場合には「０：ゼロ」とされる。
【００２６】
ロボット２の状態が状態Ｓ１である場合には、ハンド部２６は、容器ＣＮに対してＸ軸、Ｙ軸及びＺ軸の各座標軸の軸方向に離れており、ワークＷ３を把持していない。このため、ロボット２の状態Ｓ１を規定する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）においては、「ΔＸ」、「ΔＹ」及び「ΔＺ」がそれぞれ所定の値「ＸＡ」、「ＹＡ」及び「ＺＡ」を示し、「ｐ」が「０：ゼロ」を示す。
【００２７】
ロボット２の状態が状態Ｓ２である場合には、ハンド部２６は、容器ＣＮに対してＸ軸及びＹ軸の各軸方向には離れていないけれどもＺ軸方向には離れており、ワークＷ３を把持していない。このため、ロボット２の状態Ｓ２を規定する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）においては、「ΔＸ」及び「ΔＹ」がそれぞれ「０；ゼロ」を示し、「ΔＺ」が所定の値「ＺＡ」を示し、「ｐ」が「０；ゼロ」を示す。
【００２８】
ロボット２の状態が状態Ｓ３である場合には、ハンド部２６は、容器ＣＮに対してＸ軸、Ｙ軸及びＺ軸の各座標軸の軸方向には離れておらず、ワークＷ３を把持している。このため、ロボット２の状態Ｓ３を規定する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）においては、「ΔＸ」、「ΔＹ」及び「ΔＺ」がそれぞれ「０；ゼロ」を示し、「ｐ」が「１」を示す。
【００２９】
ロボット２の状態が状態Ｓ４である場合には、ハンド部２６は、容器ＣＮに対してＸ軸、Ｙ軸及びＺ軸の各座標軸の軸方向に離れており、ワークＷ３を把持している。このため、ロボット２の状態Ｓ４を規定する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）においては、「ΔＸ」、「ΔＹ」及び「ΔＺ」がそれぞれ所定の値「ＸＡ」、「ＹＡ」及び「ＺＡ」を示し、「ｐ」が「１」を示す。
【００３０】
状態観測部６１は、ロボット２の状態が移行されるごとに変化する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）に基づいて、ロボット２の状態が状態Ｓ１、状態Ｓ２、状態Ｓ３及び状態Ｓ４の何れの状態であるかを認識することができる。なお、ロボット２の状態が状態Ｓ１、状態Ｓ２及び状態Ｓ３の何れかの状態である場合には、胴部２２、第１アーム２３、第２アーム２４、手首部２５及びハンド部２６の姿勢等の違いにより、複数のサブ状態が存在する。状態観測部６１は、ロボット２の状態が状態Ｓ１、状態Ｓ２及び状態Ｓ３の何れかの状態である場合には、サブ状態についても観測する。ハンド部２６が把持したワークＷ３をパレットＰＬに載置するという、ロボット２の最終目標の状態を示す状態Ｓ４については、状態Ｓ１、状態Ｓ２及び状態Ｓ３のようなサブ状態は存在しない。
【００３１】
（行動観測部について）
図４は、行動観測部６２の動作を説明するための図である。なお、図４においては、ロボット２の状態について、状態Ｓ１には複数のサブ状態「Ｓ１−１、Ｓ１−２、・・・Ｓ１−ｎ」が存在することが示され、状態Ｓ２には複数のサブ状態「Ｓ２−１、Ｓ２−２、・・・Ｓ２−ｎ」が存在することが示され、状態Ｓ３には複数のサブ状態「Ｓ３−１、Ｓ３−２、・・・Ｓ３−ｎ」が存在することが示されている。
【００３２】
行動観測部６２は、ロボット２の状態が移行されるときのロボット２の行動パターンを観測する。より詳しくは、行動観測部６２は、ロボット２の行動パターンについて、ロボット２の状態が状態Ｓ１から状態Ｓ２へ移行されるときの行動パターン、状態Ｓ２から状態Ｓ３へ移行されるときの行動パターン、状態Ｓ３から状態Ｓ４へ移行されるときの行動パターンをそれぞれ観測する。状態が移行されるときにロボット２が取り得る行動パターンは、状態Ｓ１、状態Ｓ２及び状態Ｓ３の各々におけるサブ状態の存在数に応じて、複数存在する（行動Ａ１、行動Ａ２、・・・行動Ａｎ）。なお、ロボット２の状態が状態Ｓ２から状態Ｓ３へ移行されるときには、ハンド部２６によって容器ＣＮから一のワークＷを取り出す取り出し動作が実行されている。
【００３３】
行動観測部６２によって観測されるロボット２の行動パターンを規定する行動要素としては、図５に示される、把持角θ、把持位置ＨＰ、第１軸２Ａにおける回転角β１及び回転速度パターン、第２軸２Ｂにおける回転角β２及び回転速度パターン、第３軸２Ｃにおける回転角β３及び回転速度パターン、第４軸２Ｄにおける回転角β４及び回転速度パターン、第５軸２Ｅにおける回転角β５及び回転速度パターン、第６軸２Ｆにおける回転角β６及び回転速度パターンが含まれる。なお、前述したように、垂直多関節ロボットからなるロボット２において、その軸数は６軸に限定されるものではなく、任意である。このため、ロボット２の行動パターンを規定する行動要素に含まれる各軸における回転角及び回転速度パターンは、軸数に応じたものとなる。
【００３４】
把持角θは、ハンド部２６においてワークＷを把持するための２つの爪部の成す角度である（図２参照）。把持位置ＨＰは、ハンド部２６が一のワークＷを取り出すときの、当該一のワークＷを把持する位置を表す。第１軸２Ａにおける回転角β１は、ロボット２の状態が移行されるときの胴部２２の第１軸２Ａ回りの回転角を表す。胴部２２は第１軸２Ａ回りに正逆両方向に回転可能であるので、回転角β１は、胴部２２が正方向に回転するときには「正；プラス」の回転角で示され、胴部２２が逆方向に回転するときには「負；マイナス」の回転角で示される。第２軸２Ｂにおける回転角β２は、ロボット２の状態が移行されるときの第１アーム２３の第２軸２Ｂ回りの回転角を表す。第１アーム２３は第２軸２Ｂ回りに正逆両方向に回転可能であるので、回転角β２は、第１アーム２３が正方向に回転するときには「正；プラス」の回転角で示され、第１アーム２３が逆方向に回転するときには「負；マイナス」の回転角で示される。第３軸２Ｃにおける回転角β３は、ロボット２の状態が移行されるときのアームベース２４１の第３軸２Ｃ回りの回転角を表す。アームベース２４１は第３軸２Ｃ回りに正逆両方向に回転可能であるので、回転角β３は、アームベース２４１が正方向に回転するときには「正；プラス」の回転角で示され、アームベース２４１が逆方向に回転するときには「負；マイナス」の回転角で示される。
【００３５】
第４軸２Ｄにおける回転角β４は、ロボット２の状態が移行されるときのアーム部２４２の第４軸２Ｄ回りの回転角を表す。アーム部２４２は第４軸２Ｄ回りに正逆両方向に回転可能であるので、回転角β４は、アーム部２４２が正方向に回転するときには「正；プラス」の回転角で示され、アーム部２４２が逆方向に回転するときには「負；マイナス」の回転角で示される。第５軸２Ｅにおける回転角β５は、ロボット２の状態が移行されるときの手首部２５の第５軸２Ｅ回りの回転角を表す。手首部２５は第５軸２Ｅ回りに正逆両方向に回転可能であるので、回転角β５は、手首部２５が正方向に回転するときには「正；プラス」の回転角で示され、手首部２５が逆方向に回転するときには「負；マイナス」の回転角で示される。第６軸２Ｆにおける回転角β６は、ロボット２の状態が移行されるときのハンド部２６の第６軸２Ｆ回りの回転角を表す。ハンド部２６は第６軸２Ｆ回りに正逆両方向に回転可能であるので、回転角β６は、ハンド部２６が正方向に回転するときには「正；プラス」の回転角で示され、ハンド部２６が逆方向に回転するときには「負；マイナス」の回転角で示される。
【００３６】
各軸２Ａ〜２Ｆにおける回転速度パターンは、各軸回りの回転速度のパターンを表し、図５に示す第１パターン、第２パターン及び第３パターンに区分される。回転速度の第１パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、２つの領域からなる。回転速度の第２パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から一定時間の間で回転速度が等速となる等速領域と、等速領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、３つの領域からなる。回転速度の第３パターンは、時間経過に伴って回転速度が曲線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が曲線的に下降する下降領域との、２つの領域からなる。
【００３７】
行動観測部６２は、各行動要素に基づいて、ロボット２の状態が移行されるときの行動パターンを認識することができる。
【００３８】
（変位量観測部について）
図６は、変位量観測部６３の動作を説明するための図である。変位量観測部６３は、ロボット２の状態が状態Ｓ２から状態Ｓ３へ移行されるとき、すなわち、容器ＣＮ内の一のワークＷがハンド部２６によって取り出される取り出し動作が行われたときの、ワーク変位量を観測する。ワーク変位量は、ハンド部２６によって取り出された一のワーク以外の他のワークＷの容器ＣＮ内での変位量を表す。変位量観測部６３は、撮像装置３から出力される、ロボット２の取り出し動作の前後における各画像データに基づいて、他のワークＷのワーク変位量を観測する。
【００３９】
図６に示す例では、ロボット２の取り出し動作前において、撮像装置３におけるカメラ３１の撮像動作によって基準画像ＧＳが取得され、画像処理部３２の基準画像ＧＳに対する画像処理によって基準画像データＧＤＳが生成されている。基準画像ＧＳには、容器ＣＮ内にバラ積み状態で収容される３つのワークＷ１，Ｗ２，Ｗ３について、ワークＷ１に対応した画像領域ＧＷ１と、ワークＷ２に対応した画像領域ＧＷ２と、ワークＷ３に対応した画像領域ＧＷ３とが含まれている。また、基準画像データＧＤＳには、ワークＷ１の三次元位置情報としての座標値（Ｘ１，Ｙ１，Ｚ１）に関する情報と、ワークＷ２の三次元位置情報としての座標値（Ｘ２，Ｙ２，Ｚ２）に関する情報と、ワークＷ３の三次元位置情報としての座標値（Ｘ３，Ｙ３，Ｚ３）に関する情報とが含まれている。
【００４０】
また、図６に示す例では、ロボット２の取り出し動作後において、撮像装置３におけるカメラ３１の撮像動作によって第１画像Ｇ１、第２画像Ｇ２及び第３画像Ｇ３が取得され、画像処理部３２の各画像Ｇ１，Ｇ２，Ｇ３に対する画像処理によって第１画像データＧＤ１、第２画像データＧＤ２及び第３画像データＧＤ３がそれぞれ生成されている。
【００４１】
第１画像Ｇ１及び第１画像データＧＤ１は、ロボット２の行動パターンＡ１によってワークＷ３が取り出された後の画像及び画像データを示している。第１画像Ｇ１には、行動パターンＡ１によるワークＷ３の取り出し後におけるワークＷ１，Ｗ２について、ワークＷ１に対応した画像領域ＧＷ１と、ワークＷ２に対応した画像領域ＧＷ２とが含まれている。また、第１画像データＧＤ１には、ワークＷ１の三次元位置情報としての座標値（Ｘ１１，Ｙ１１，Ｚ１１）に関する情報と、ワークＷ２の三次元位置情報としての座標値（Ｘ２１，Ｙ２１，Ｚ２１）に関する情報とが含まれている。
【００４２】
第２画像Ｇ２及び第２画像データＧＤ２は、ロボット２の行動パターンＡ２によってワークＷ３が取り出された後の画像及び画像データを示している。第２画像Ｇ２には、行動パターンＡ２によるワークＷ３の取り出し後におけるワークＷ１，Ｗ２について、ワークＷ１に対応した画像領域ＧＷ１と、ワークＷ２に対応した画像領域ＧＷ２とが含まれている。また、第２画像データＧＤ２には、ワークＷ１の三次元位置情報としての座標値（Ｘ１２，Ｙ１２，Ｚ１２）に関する情報と、ワークＷ２の三次元位置情報としての座標値（Ｘ２２，Ｙ２２，Ｚ２２）に関する情報とが含まれている。
【００４３】
第３画像Ｇ３及び第３画像データＧＤ３は、ロボット２の行動パターンＡ３によってワークＷ２が取り出された後の画像及び画像データを示している。第３画像Ｇ３には、行動パターンＡ３によるワークＷ２の取り出し後におけるワークＷ１，Ｗ３について、ワークＷ１に対応した画像領域ＧＷ１と、ワークＷ３に対応した画像領域ＧＷ３とが含まれている。また、第３画像データＧＤ３には、ワークＷ１の三次元位置情報としての座標値（Ｘ１３，Ｙ１３，Ｚ１３）に関する情報と、ワークＷ３の三次元位置情報としての座標値（Ｘ３３，Ｙ３３，Ｚ３３）に関する情報とが含まれている。
【００４４】
変位量観測部６３は、基準画像データＧＤＳと第１画像データＧＤ１とに基づいて、行動パターンＡ１によってワークＷ３が取り出されたときの、ワークＷ１，Ｗ２の容器ＣＮ内での変位量を表す第１ワーク変位量ＷＤ１を観測する。第１ワーク変位量ＷＤ１は、ワークＷ１のワーク変位量（ＸＤ１１，ＹＤ１１，ＺＤ１１）と、ワークＷ２のワーク変位量（ＸＤ２１，ＹＤ２１，ＺＤ２１）とを含む。ワークＷ１のワーク変位量において「ＸＤ１１」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１」と、第１画像データＧＤ１に含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１１」との差分を示す。また、ワークＷ１のワーク変位量において「ＹＤ１１」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１」と、第１画像データＧＤ１に含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１１」との差分を示す。また、ワークＷ１のワーク変位量において「ＺＤ１１」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１」と、第１画像データＧＤ１に含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１１」との差分を示す。
【００４５】
同様に、ワークＷ２のワーク変位量において「ＸＤ２１」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＸ座標値「Ｘ２」と、第１画像データＧＤ１に含まれるワークＷ２の三次元位置情報におけるＸ座標値「Ｘ２１」との差分を示す。また、ワークＷ２のワーク変位量において「ＹＤ２１」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＹ座標値「Ｙ２」と、第１画像データＧＤ１に含まれるワークＷ２の三次元位置情報におけるＹ座標値「Ｙ２１」との差分を示す。また、ワークＷ２のワーク変位量において「ＺＤ２１」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＺ座標値「Ｚ２」と、第１画像データＧＤ１に含まれるワークＷ２の三次元位置情報におけるＺ座標値「Ｚ２１」との差分を示す。
【００４６】
基準画像ＧＳと第１画像Ｇ１との比較から明らかなように、行動パターンＡ１によるワークＷ３の取り出し後においてワークＷ１，Ｗ２の位置は、ワークＷ３の取り出し前の位置と比較して、殆ど変化していない。このため、変位量観測部６３によって観測された第１ワーク変位量ＷＤ１に含まれるワークＷ１のワーク変位量（ＸＤ１１，ＹＤ１１，ＺＤ１１）の各値と、ワークＷ２のワーク変位量（ＸＤ２１，ＹＤ２１，ＺＤ２１）の各値とは、「０；ゼロ」に近い値を示すことになる。
【００４７】
また、変位量観測部６３は、基準画像データＧＤＳと第２画像データＧＤ２とに基づいて、行動パターンＡ２によってワークＷ３が取り出されたときの、ワークＷ１，Ｗ２の容器ＣＮ内での変位量を表す第２ワーク変位量ＷＤ２を観測する。第２ワーク変位量ＷＤ２は、ワークＷ１のワーク変位量（ＸＤ１２，ＹＤ１２，ＺＤ１２）と、ワークＷ２のワーク変位量（ＸＤ２２，ＹＤ２２，ＺＤ２２）とを含む。ワークＷ１のワーク変位量において「ＸＤ１２」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１」と、第２画像データＧＤ２に含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１２」との差分を示す。また、ワークＷ１のワーク変位量において「ＹＤ１２」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１」と、第２画像データＧＤ２に含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１２」との差分を示す。また、ワークＷ１のワーク変位量において「ＺＤ１２」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１」と、第２画像データＧＤ２に含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１２」との差分を示す。
【００４８】
同様に、ワークＷ２のワーク変位量において「ＸＤ２２」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＸ座標値「Ｘ２」と、第２画像データＧＤ２に含まれるワークＷ２の三次元位置情報におけるＸ座標値「Ｘ２２」との差分を示す。また、ワークＷ２のワーク変位量において「ＹＤ２２」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＹ座標値「Ｙ２」と、第２画像データＧＤ２に含まれるワークＷ２の三次元位置情報におけるＹ座標値「Ｙ２２」との差分を示す。また、ワークＷ２のワーク変位量において「ＺＤ２２」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＺ座標値「Ｚ２」と、第２画像データＧＤ２に含まれるワークＷ２の三次元位置情報におけるＺ座標値「Ｚ２２」との差分を示す。
【００４９】
基準画像ＧＳと第２画像Ｇ２との比較から明らかなように、行動パターンＡ２によるワークＷ３の取り出し後においてワークＷ１の位置は、ワークＷ３の取り出し前の位置と比較して殆ど変化していないが、ワークＷ２の位置は変化している。このため、変位量観測部６３によって観測された第２ワーク変位量ＷＤ２に含まれるワークＷ１のワーク変位量（ＸＤ１２，ＹＤ１１，ＺＤ１１）の各値は「０；ゼロ」に近い値を示すが、ワークＷ２のワーク変位量（ＸＤ２２，ＹＤ２２，ＺＤ２２）の各値はワークＷ２の変位に応じた値を示すことになる。
【００５０】
また、変位量観測部６３は、基準画像データＧＤＳと第３画像データＧＤ３とに基づいて、行動パターンＡ３によってワークＷ２が取り出されたときの、ワークＷ１，Ｗ３の容器ＣＮ内での変位量を表す第３ワーク変位量ＷＤ３を観測する。第３ワーク変位量ＷＤ３は、ワークＷ１のワーク変位量（ＸＤ１３，ＹＤ１３，ＺＤ１３）と、ワークＷ３のワーク変位量（ＸＤ３３，ＹＤ３３，ＺＤ３３）とを含む。ワークＷ１のワーク変位量において「ＸＤ１３」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１」と、第３画像データＧＤ３に含まれるワークＷ１の三次元位置情報におけるＸ座標値「Ｘ１３」との差分を示す。また、ワークＷ１のワーク変位量において「ＹＤ１３」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１」と、第３画像データＧＤ３に含まれるワークＷ１の三次元位置情報におけるＹ座標値「Ｙ１３」との差分を示す。また、ワークＷ１のワーク変位量において「ＺＤ１３」は、基準画像データＧＤＳに含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１」と、第３画像データＧＤ３に含まれるワークＷ１の三次元位置情報におけるＺ座標値「Ｚ１３」との差分を示す。
【００５１】
同様に、ワークＷ３のワーク変位量において「ＸＤ３３」は、基準画像データＧＤＳに含まれるワークＷ２の三次元位置情報におけるＸ座標値「Ｘ３」と、第３画像データＧＤ３に含まれるワークＷ３の三次元位置情報におけるＸ座標値「Ｘ３３」との差分を示す。また、ワークＷ３のワーク変位量において「ＹＤ３３」は、基準画像データＧＤＳに含まれるワークＷ３の三次元位置情報におけるＹ座標値「Ｙ３」と、第３画像データＧＤ３に含まれるワークＷ３の三次元位置情報におけるＹ座標値「Ｙ３３」との差分を示す。また、ワークＷ３のワーク変位量において「ＺＤ３３」は、基準画像データＧＤＳに含まれるワークＷ３の三次元位置情報におけるＺ座標値「Ｚ３」と、第３画像データＧＤ３に含まれるワークＷ３の三次元位置情報におけるＺ座標値「Ｚ３３」との差分を示す。
【００５２】
基準画像ＧＳと第３画像Ｇ３との比較から明らかなように、行動パターンＡ３によるワークＷ２の取り出し後においてワークＷ１の位置は、ワークＷ３の取り出し前の位置と比較して殆ど変化していないが、ワークＷ３の位置は変化している。このため、変位量観測部６３によって観測された第３ワーク変位量ＷＤ３に含まれるワークＷ１のワーク変位量（ＸＤ１３，ＹＤ１３，ＺＤ１３）の各値は「０；ゼロ」に近い値を示すが、ワークＷ３のワーク変位量（ＸＤ３３，ＹＤ３３，ＺＤ３３）の各値はワークＷ３の変位に応じた値を示すことになる。
【００５３】
なお、変位量観測部６３は、ロボット２の取り出し動作の前後における実画像を用いた各画像データに基づきワーク変位量を観測する態様に限定されるものではなく、例えばＶＲ（Ｖｉｒｔｕａｌ）画像を用いた各画像データに基づきワーク変位量を観測する態様であってもよい。つまり、変位量観測部６３は、ロボット２の取り出し動作の前後におけるワークＷの配置状態をＶＲ空間に再現し、そのＶＲ空間に再現したワークＷのＶＲ画像を用いて三次元位置情報を算出し、当該算出結果に基づきワーク変位量を取得するように構成されていてもよい。
【００５４】
（学習部について）
図７は、学習部６４の動作を説明するための図である。学習部６４は、ロボット２の状態が移行されるときのロボット２の最適な行動パターンを学習する。つまり、学習部６４は、ロボット２の状態が状態Ｓ１から状態Ｓ２へ移行されるときのロボット２の最適な行動パターンと、状態Ｓ２から状態Ｓ３へ移行されるときのロボット２の最適な行動パターンと、状態Ｓ３から状態Ｓ４へ移行されるときのロボット２の最適な行動パターンとを、それぞれ学習する。なお、以下では、ロボット２の状態が状態Ｓ１から状態Ｓ２へ移行されるとき、並びに、ロボット２の状態が状態Ｓ３から状態Ｓ４へ移行されるときのロボット２の最適な行動パターンについては、既に学習済みであるとして、状態Ｓ２から状態Ｓ３へ移行されるときのロボット２の行動パターンの学習について、詳細に説明する。すなわち、以下では、ハンド部２６が容器ＣＮから一のワークＷを取り出すときの、ロボット２の行動パターンの学習について説明する。
【００５５】
学習部６４は、ハンド部２６が容器ＣＮから一のワークＷを取り出すときの、変位量観測部６３により観測されたワーク変位量に応じた他のワークＷへの影響度を、行動観測部６２により観測されたロボット２の行動パターンと対応付けて学習する。学習部６４は、ロボット２の行動パターンとワーク変位量とを関連付けた教師データＴＤに基づいて、一のワークＷの取り出し時における他のワークＷへの影響度を学習する。図７に示す例では、教師データＴＤは、前述の図６で説明した、行動パターンＡ１と第１ワーク変位量ＷＤ１とが関連付けられ、行動パターンＡ２と第２ワーク変位量ＷＤ２とが関連付けられ、行動パターンＡ３と第３ワーク変位量ＷＤ３とが関連付けられたデータである。
【００５６】
学習部６４は、図１に示すように、報酬設定部６４１と価値関数更新部６４２とを含んで構成される。
【００５７】
報酬設定部６４１は、行動観測部６２により観測されたロボット２の一のワークＷの取り出し時における行動パターンに対し、ワーク変位量に応じた他のワークＷへの影響度ＩＭを設定するとともに、ワーク変位量に応じた報酬Ｒを設定する。他のワークＷへの影響度ＩＭは、変位量観測部６２により観測された他のワークＷのワーク変位量に相関した値に設定され、ワーク変位量が小さいほど影響度が小さくなるように設定される。報酬設定部６４１は、ワーク変位量が所定の閾値ＷＤＴ未満となるロボット２の行動パターンに対しては、第１の値Ｒ１（例えば０（ゼロ）よりも大きい「１００」）の報酬Ｒを与え、ワーク変位量が閾値ＷＤＴ以上となるロボット２の行動パターンに対しては、前記第１の値Ｒ１よりも小さい第２の値Ｒ２（例えば０（ゼロ））の報酬Ｒを与える。
【００５８】
図７に示す例では、報酬設定部６４１は、閾値ＷＤＴ未満の第１ワーク変位量ＷＤ１に対応した行動パターンＡ１に対しては、第１ワーク変位量ＷＤ１に応じた影響度ＩＭとして「ＩＭ１」を設定し、更に「０；ゼロ」よりも大きい第１の値Ｒ１の報酬Ｒを与えている。また、報酬設定部６４１は、閾値ＷＤＴ以上の第２ワーク変位量ＷＤ２に対応した行動パターンＡ２に対しては、第２ワーク変位量ＷＤ２に応じた影響度ＩＭとして「ＩＭ２」を設定し、更に第２の値Ｒ２（０；ゼロ）の報酬Ｒを与えている。また、報酬設定部６４１は、閾値ＷＤＴ以上の第３ワーク変位量ＷＤ３に対応した行動パターンＡ３に対しては、第３ワーク変位量ＷＤ３に応じた影響度ＩＭとして「ＩＭ３」を設定し、更に第２の値Ｒ２（０；ゼロ）の報酬Ｒを与えている。
【００５９】
価値関数更新部６４２は、ロボット２の行動パターンの価値Ｑ（ｓ，ａ）を規定する価値関数を、報酬設定部６４１により設定された報酬Ｒに応じて更新する。価値関数更新部６４２は、下記式（１）で示される価値Ｑ（ｓ，ａ）の更新式を用いて価値関数を更新する。
【００６０】
【数１】
2019239562.tif 000003
【００６１】
上記式（１）において、「ｓ」は、ロボット２の状態（状態Ｓ２）を表し、「ａ」は、行動パターン（行動Ａ１、行動Ａ２、行動Ａ３）に従ったロボット２の行動を表す。行動「ａ」によってロボット２の状態が、状態「ｓ」（状態Ｓ２）から状態「ｓ’」（状態Ｓ３）へ移行する。Ｒ（ｓ，ａ）は、その状態の移行により得られた報酬Ｒを表している。「ｍａｘ」が付された項は、状態「ｓ’」において最も価値の高い行動「ａ’」を選択した場合の価値Ｑ（ｓ’，ａ’）に「γ」を乗算したものになる。「γ」は、減衰率と呼ばれるパラメータであり、０＜γ≦１の範囲（例えば０．９）とされる。また、「α」は、学習率と呼ばれるパラメータであり、０＜α≦１の範囲（例えば０．１）とされる。
【００６２】
上記式（１）は、行動「ａ」に対して報酬設定部６４１により設定された報酬Ｒ（ｓ，ａ）に基づいて、状態「ｓ」における行動「ａ」の価値Ｑ（ｓ，ａ）を更新する更新式を表している。すなわち、上記式（１）は、状態「ｓ」における行動「ａ」の価値Ｑ（ｓ，ａ）よりも、状態「ｓ’」における行動「ａ’」の価値Ｑ（ｓ’，ａ’）と報酬Ｒ（ｓ，ａ）との合計値の方が大きければ、価値Ｑ（ｓ，ａ）を大きくし、反対に小さければ、価値Ｑ（ｓ，ａ）を小さくすることを示している。つまり、価値関数更新部６４２は、上記式（１）で示される更新式を用いて価値関数を更新することによって、或る状態「ｓ」における或る行動「ａ」の価値Ｑ（ｓ，ａ）を、その行動「ａ」に対して設定される報酬Ｒと、その行動「ａ」による次の状態「ｓ’」における最良の行動「ａ’」の価値Ｑ（ｓ’，ａ’）に近付けるようにしている。
【００６３】
（学習処理部により実行される学習処理について）
以上説明したように、機械学習装置５の学習処理部６は、状態観測部６１、行動観測部６２、変位量観測部６３及び学習部６４を備えている。この学習処理部６により実行される学習処理について、図８のフローチャートを参照して説明する。
【００６４】
まず、変位量観測部６３は、撮像装置３から出力された、ロボット２の取り出し動作前における基準画像データＧＤＳ（図６）を取得する（ステップａ１）。次に、状態観測部６１は、ロボット２の状態を観測する（ステップａ２）。より詳しくは、状態観測部６１は、ロボット２の状態が移行されるごとに変化する状態変数（ΔＸ，ΔＹ，ΔＺ，ｐ）に基づいて、ロボット２の状態が状態Ｓ２から状態Ｓ３へ移行されたことを観測する。そして、行動観測部６２は、ロボット２の状態が状態Ｓ２から状態Ｓ３へ移行されるときの、すなわち、容器ＣＮ内の一のワークＷがハンド部２６によって取り出される取り出し動作が行われたときの、ロボット２の行動パターンを観測する（ステップａ３）。より詳しくは、行動観測部６２は、ロボット２の行動パターンを規定する各行動要素（把持角θ、把持位置ＨＰ、各軸における回転角β１〜β６及び回転速度パターン）に基づいて、状態Ｓ２から状態Ｓ３への状態移行時におけるロボット２の行動パターンを観測する。
【００６５】
次に、変位量観測部６３は、撮像装置３から出力された、行動観測部６２により観測された行動パターンに従ったロボット２の取り出し動作後における画像データを取得する（ステップａ４）。そして、変位量観測部６３は、撮像装置３から出力された、ロボット２の取り出し動作前後における各画像データに基づいて、容器ＣＮからの一のワークＷの取り出しによる、他のワークＷのワーク変位量を観測する（ステップａ５）。
【００６６】
次に、学習部６４の報酬設定部６４１は、ワーク変位量に応じた他のワークＷへの影響度ＩＭをロボット２の行動パターンと対応付けて設定するとともに、ワーク変位量が所定の閾値ＷＤＴ未満であるか否かを判定する（ステップａ６）。報酬設定部６４１は、ワーク変位量が閾値ＷＤＴ未満となるロボット２の行動パターンに対しては「０；ゼロ」より大きい報酬Ｒを与える（ステップａ７）。報酬設定部６４１は、ワーク変位量が閾値ＷＤＴ以上となるロボット２の行動パターンに対しては「０；ゼロ」の報酬Ｒを与える（ステップａ８）。
【００６７】
次に、学習部６４の価値関数更新部６４２は、ロボット２の行動パターンの価値Ｑ（ｓ，ａ）を規定する価値関数を、上記式（１）の更新式を用いて更新する（ステップａ９）。上記のステップａ１〜ステップａ９で示される各処理が、学習処理部６による学習処理の１サイクルにおいて実行される処理である。学習処理部６は、所定の学習回数に達したか否かを判定する（ステップａ１０）。所定の学習回数に達するまでステップａ１〜ステップａ９で示される各処理が繰り返される。
【００６８】
学習処理部６においては、容器ＣＮから一のワークＷを取り出すときのロボット２の行動パターンが行動観測部６２によって観測され、ロボット２の取り出し動作による容器ＣＮ内での他のワークＷのワーク変位量が変位量観測部６３によって観測される。そして、学習部６４は、ロボット２の行動パターンとワーク変位量とを関連付けた教師データＴＤに基づいて、容器ＣＮから一のワークＷを取り出すときの、ワーク変位量に応じた他のワークＷへの影響度ＩＭを、行動パターンと対応付けて学習する。
【００６９】
ワーク変位量は、容器ＣＮから一のワークＷが取り出されるときの、他のワークＷに対する衝撃力の作用や他のワークＷの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークＷに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークＷへの影響度ＩＭが小さくなる。学習部６４は、ワーク変位量に応じた他のワークＷへの影響度ＩＭを行動パターンと対応付けて学習するので、容器ＣＮから一のワークＷを取り出すときの、他のワークＷへの影響度ＩＭが小さくなるようなロボット２の行動パターンを学習することができる。このため、他のワークＷへの影響度が小さく、ワークＷの破損等を抑止可能なロボット２の最適な取り出し動作を学習することができる。
【００７０】
また、行動観測部６２が観測するロボット２の行動パターンを規定する行動要素には、ハンド部２６が一のワークＷを取り出すときの、当該一のワークＷに対する把持位置ＨＰが含まれている。行動観測部６２が観測するロボット２の行動パターンは、学習部６４がロボット２の動作を学習するときに用いる教師データＴＤを構成する。この教師データＴＤを構成するロボット２の行動パターンを規定する行動要素の一要素として、ハンド部２６のワークＷに対する把持位置ＨＰが含まれることによって、学習部６４は、他のワークＷへの影響度ＩＭが小さくなるような把持位置ＨＰを加味したロボット２の行動パターンを学習することができる。
【００７１】
＜学習反映処理部について＞
機械学習装置５の学習反映処理部７は、学習処理部６による学習結果をロボット２の動作として反映させる学習反映処理を実行する部分である。学習反映処理部７は、学習処理部６の学習部６４による影響度ＩＭの学習後において、ロボット２が生産動作を実行するときに学習反映処理を実行する。ロボット２の生産動作とは、ハンド部２６によって容器ＣＮからワークＷを取り出し、その取り出したワークＷをパレットＰＬに載置するという、ロボット２の連続的な動作のことである。学習反映処理部７は、図１に示すように、行動決定部７１と、順位設定部７２と、更新部７３とを含んで構成される。学習反映処理部７を構成する各部について、図９Ａ、図９Ｂ、図１０Ａ、図１０Ｂ及び図１１を参照して、以下に説明する。図９Ａ及び図９Ｂは、行動決定部７１によって生成される行動パターン決定情報ＪＨ１，ＪＨ１Ａを説明するための図である。図１０Ａ及び図１０Ｂは、順位設定部７２によって生成される行動指令情報ＪＨ２，ＪＨ２Ａを説明するための図である。図１１は、学習反映処理部７により実行される学習反映処理を示すフローチャートである。
【００７２】
（行動決定部について）
行動決定部７１は、学習部６４による影響度ＩＭの学習後において、ロボット２の生産動作が開始されるときに、画像データの出力を要求する撮像要求情報を、制御装置４を介して撮像装置３に送信する。行動決定部７１は、前記撮像要求情報に応答して撮像装置３から出力されたロボット２の取り出し動作前の画像データを取得する（図１１のステップｂ１）。行動決定部７１は、取得した画像データに基づき容器ＣＮ内での複数のワークＷのバラ積み状況を認識する。そして、行動決定部７１は、ハンド部２６によって容器ＣＮから各ワークＷを取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小となる行動パターンを、ワークＷ毎に決定する（図１１のステップｂ２）。
【００７３】
行動決定部７１は、ワークＷ毎の行動パターンの決定結果を表す情報として、図９Ａに例示される行動パターン決定情報ＪＨ１を生成する（図１１のステップｂ３）。行動パターン決定情報ＪＨ１は、容器ＣＮ内の各ワークＷを特定するためのワーク種情報Ｊ１１と、ワークＷ毎の行動パターンを表す行動パターン情報Ｊ１２と、一のワークＷを取り出す際の他のワークＷへの影響度ＩＭを表す影響度情報Ｊ１３とが関連付けられた情報である。
【００７４】
図９Ａに例示される行動パターン決定情報ＪＨ１について詳細に説明すると、次の通りである。行動決定部７１は、撮像装置３から出力された画像データに基づいて、容器ＣＮ内での各ワーク「Ｗ１」，「Ｗ２」，「Ｗ３」，「Ｗ４」，「Ｗ５」等のバラ積み状況を認識する。そして、行動決定部７１は、ワーク「Ｗ１」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「２０」に対応付けられた行動パターン「行動Ａ１」を決定する。また、行動決定部７１は、ワーク「Ｗ２」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「１０」に対応付けられた行動パターン「行動Ａ２」を決定する。また、行動決定部７１は、ワーク「Ｗ３」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「１」に対応付けられた行動パターン「行動Ａ３」を決定する。また、行動決定部７１は、ワーク「Ｗ４」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「０．５」に対応付けられた行動パターン「行動Ａ４」を決定する。また、行動決定部７１は、ワーク「Ｗ５」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「０．１」に対応付けられた行動パターン「行動Ａ５」を決定する。以上説明したような、行動決定部７１によるワークＷ毎の行動パターンの決定結果を、ワーク種情報Ｊ１１と行動パターン情報Ｊ１２と影響度情報Ｊ１３とを関連付けて表した情報が、行動パターン決定情報ＪＨ１である。
【００７５】
行動決定部７１によって生成された行動パターン決定情報ＪＨ１は、制御装置４に向けて出力される。行動パターン決定情報ＪＨ１が入力された制御装置４は、当該行動パターン決定情報ＪＨ１に基づいて、ロボット２の取り出し動作を制御することができる。
【００７６】
行動決定部７１は、学習部６４による学習結果をロボット２の実際の生産時における取り出し動作に反映させるために、容器ＣＮから各ワークＷを取り出すときのロボット２の行動パターンとして影響度ＩＭが最小となる行動パターンを、ワークＷ毎に決定する。ロボット２は、実際の生産時において、行動決定部７１により決定されたワークＷ毎の行動パターンに従うことによって、他のワークＷへの影響度ＩＭが小さく、ワークＷの破損等を抑止可能な最適な取り出し動作を実行することができる。
【００７７】
また、行動決定部７１は、撮像装置３から出力された１回の撮像による画像データに基づき、容器ＣＮ内の各ワークＷに対するロボット２の行動パターンを決定する。つまり、実際の生産時においては、ワークＷを取り出すときのロボット２の行動パターンを決定するために、ワークＷが取り出される度に撮像装置３による撮像が行われるわけではない。１回の撮像による画像データに基づき容器ＣＮ内の各ワークＷに対するロボット２の行動パターンが決定され、この決定された行動パターンに従ってロボット２は、複数のワークＷを順次取り出すことができる。これにより、実際の生産時においては、撮像装置３による撮像回数を少なくすることができるため、撮像に起因したロボット２の待機時間を短縮することが可能となり、生産効率の向上を図ることができる。なお、ロボット２が双腕型のロボットや複数のハンド部２６を備えたロボットにより構成されていた場合には、行動決定部７１により決定された行動パターンに従って複数のワークＷを連続的に取り出すことができる。このため、双腕型のロボットや複数のハンド部２６を備えたロボットの場合には、更なる生産効率の向上を図ることができる。
【００７８】
また、行動決定部７１は、後述の更新部７３から出力された行動パターン決定情報ＪＨ１の更新を要求する更新要求情報を受付けると、ロボット２の行動パターンの決定動作を更新し、図９Ｂに例示される更新された行動パターン決定情報ＪＨ１Ａを生成するとともに、それを制御装置４に向けて出力する。更新された行動パターン決定情報ＪＨ１Ａが入力された制御装置４は、当該行動パターン決定情報ＪＨ１Ａに基づいて、ロボット２の取り出し動作を制御することができる。更新された行動パターン決定情報ＪＨ１Ａの詳細については、後述する。
【００７９】
（順位設定部について）
順位設定部７２は、行動パターン決定情報ＪＨ１を参照し、行動決定部７１により決定されたロボット２の行動パターンに基づき容器ＣＮから各ワークＷを取り出すときの取り出し順位を、影響度ＩＭが小さいものほど上位となるように設定する（図１１のステップｂ４）。
【００８０】
順位設定部７２は、取り出し順位の設定結果を表す情報として、図１０Ａに例示される行動指令情報ＪＨ２を生成する（図１１のステップｂ５）。行動指令情報ＪＨ２は、影響度ＩＭの基準値ＩＭＳを表す影響基準値情報Ｊ２１と、行動リスト情報Ｊ２２とを含む。影響基準値情報Ｊ２１にて表される基準値ＩＭＳは、後述の更新部７３がロボット２の取り出し動作を監視するときに参照される。行動リスト情報Ｊ２２は、前記ワーク種情報Ｊ１１と前記行動パターン情報Ｊ１２と前記影響度情報Ｊ１３とを関連付けたデータが、順位設定部７２により設定されたワークＷの取り出し順位の順番に並べられてリスト化された情報である。つまり、行動リスト情報Ｊ２２は、前記ワーク種情報Ｊ１１と前記行動パターン情報Ｊ１２と前記影響度情報Ｊ１３とを関連付けたデータが、前記影響度情報Ｊ１３にて表される影響度ＩＭの小さいものから順番に並べられた情報である。
【００８１】
順位設定部７２によって生成された行動指令情報ＪＨ２は、制御装置４に向けて出力される（図１１のステップｂ６）。行動指令情報ＪＨ２が入力された制御装置４は、当該行動指令情報ＪＨ２に含まれる行動リスト情報Ｊ２２に基づいて、ワークＷの取り出し順位に従ったロボット２の取り出し動作を制御することができる。なお、行動指令情報ＪＨ２に含まれる行動リスト情報Ｊ２２は、行動決定部７１により生成される行動パターン決定情報ＪＨ１と比較して、前記ワーク種情報Ｊ１１と前記行動パターン情報Ｊ１２と前記影響度情報Ｊ１３とを関連付けたデータの並び順が異なる以外は同じである。このため、行動指令情報ＪＨ２が制御装置４に向けて出力される場合には、行動パターン決定情報ＪＨ１の制御装置４への出力は省略される。
【００８２】
上記のように、順位設定部７２は、容器ＣＮから各ワークＷを取り出すときの取り出し順位を設定する。ロボット２は、実際の生産時において、順位設定部７２により設定された取り出し順位に従って容器ＣＮから各ワークＷを取り出せばよい。これにより、ロボット２は、他のワークＷへの影響度ＩＭが小さいものから順番に取り出し動作を実行することができる。
【００８３】
また、順位設定部７２は、後述の更新部７３から出力された行動指令情報ＪＨ２の更新を要求する更新要求情報を受付けると、ワークＷの取り出し順位の設定動作を更新し、図１０Ｂに例示される更新された行動指令情報ＪＨ２Ａを生成するとともに、それを制御装置４に向けて出力する。更新された行動指令情報ＪＨ２Ａが入力された制御装置４は、当該行動指令情報ＪＨ２Ａに含まれる行動リスト情報Ｊ２２に基づいて、ワークＷの取り出し順位に従ったロボット２の取り出し動作を制御することができる。更新された行動指令情報ＪＨ２Ａの詳細については、後述する。
【００８４】
（更新部について）
更新部７３は、行動指令情報ＪＨ２に含まれる行動リスト情報Ｊ２２に基づく制御装置４の制御によるロボット２の生産動作時において、順位設定部７２によって設定されたワークＷの取り出し順位に従ったロボット２の取り出し動作を監視する（図１１のステップｂ７）。そして、更新部７３は、影響度情報Ｊ１３にて表される影響度ＩＭが影響基準値情報Ｊ２１にて表される所定の基準値ＩＭＳ未満となる順位の全てのワークＷの容器ＣＮからの取り出しが完了したか否かを判定する（図１１のステップｂ８）。影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷの取り出しが完了したと判定した場合には、更新部７３は、影響度ＩＭが基準値ＩＭＳ以上となる順位のワークＷが存在するか否かを判定する（図１１のステップｂ９）。
【００８５】
更新部７３は、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷの取り出しが完了し、且つ、影響度ＩＭが基準値ＩＭＳ以上となる順位のワークＷが存在する場合に、行動決定部７１による行動パターンの決定動作と、順位設定部７２によるワークＷの取り出し順位の設定動作とを更新させる。更新部７３は、行動パターン決定情報ＪＨ１の更新を要求する更新要求情報を行動決定部７１に向けて出力し、行動指令情報ＪＨ２の更新を要求する更新要求情報を順位設定部７２に向けて出力することにより、行動決定部７１及び順位設定部７２の双方の動作を更新させる（図１１のステップｂ１０）。
【００８６】
図１０Ａに示す行動指令情報ＪＨ２を参照して更新部７３の動作を説明する。制御装置４によって制御されたロボット２は、行動リスト情報Ｊ２２に登録された取り出し順位に従って、影響度情報Ｊ１３にて表される影響度ＩＭが小さいワークＷから順番に、行動パターン情報Ｊ１２にて表される行動パターンに基づく取り出し動作を実行する。更新部７３は、このロボット２の取り出し動作を監視する。図１０Ａに示す例では、取り出し順位が「１〜３」のワークＷ５，Ｗ４，Ｗ３は、影響度ＩＭが基準値ＩＭＳ（例えば「２」）未満となる順位のワークＷである。一方、取り出し順位が「４」以降のワークＷ２等は、影響度ＩＭが基準値ＩＭＳ以上となる順位のワークＷである。このような場合、更新部７３は、取り出し順位が「１〜３」の全てのワークＷ５，Ｗ４，Ｗ３の取り出しが完了したときに、前記更新要求情報を行動決定部７１及び順位設定部７２の双方に向けて出力し、当該双方の動作を更新させる。
【００８７】
影響度ＩＭが基準値ＩＭＳ未満となる行動パターンに基づくワークＷの取り出し動作は、他のワークＷへの影響度ＩＭが比較的小さく、ワークＷの破損等を抑止可能な取り出し動作であると言える。一方、影響度ＩＭが基準値ＩＭＳ以上となる行動パターンに基づくワークＷの取り出し動作は、他のワークＷへの影響度ＩＭが比較的大きく、ワークＷの破損等を招来する可能性がある。
【００８８】
ロボット２は、実際の生産時において、順位設定部７２により設定された取り出し順位に従って、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷを容器ＣＮから順次取り出せばよい。これにより、ロボット２は、他のワークＷへの影響度ＩＭが比較的小さく、ワークＷの破損等を抑止可能な範囲の全てのワークＷを連続的に取り出すことができる。
【００８９】
影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷのロボット２による取り出し動作が完了したときには、容器ＣＮ内において残りのワークＷのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部７３は、行動決定部７１による行動パターンの決定動作と、順位設定部７２による取り出し順位の設定動作とを更新させる。つまり、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷのロボット２による取り出し動作が完了したときに、撮像装置３から出力される新たな画像データに基づく行動決定部７１による行動パターンの決定動作と、順位設定部７２による取り出し順位の設定動作との、更新された動作が、ワークＷの取り出し動作の前に実施される。
【００９０】
（行動決定部の更新動作について）
行動決定部７１は、更新部７３から出力された前記更新要求情報を受付けると、前述した図１１に示すステップｂ１〜ステップｂ３を繰り返すことにより、ロボット２の行動パターンの決定動作を更新し、図９Ｂに例示される更新された行動パターン決定情報ＪＨ１Ａを生成する。
【００９１】
図９Ｂに例示される更新された行動パターン決定情報ＪＨ１Ａについて詳細に説明すると、次の通りである。行動決定部７１は、更新部７３からの前記更新要求情報の受付け後において撮像装置３から出力された新たな画像データに基づいて、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷ５，Ｗ４，Ｗ３の取り出し後に容器ＣＮ内に残る各ワーク「Ｗ１」，「Ｗ２」，「Ｗ６」，「Ｗ７」，「Ｗ８」等のバラ積み状況を、認識する。前述したように、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷのロボット２による取り出し動作が完了したときには、容器ＣＮ内において残りのワークＷのバラ積み状況が、取り出し動作前に比べて変化している。このため、容器ＣＮ内に残ったワークＷに対応する影響度ＩＭも変化することになる。
【００９２】
行動決定部７１は、ワーク「Ｗ１」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「０．２」に対応付けられた行動パターン「行動Ａ１１」を決定する。また、行動決定部７１は、ワーク「Ｗ２」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「０．０１」に対応付けられた行動パターン「行動Ａ２１」を決定する。また、行動決定部７１は、ワーク「Ｗ６」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「０．３」に対応付けられた行動パターン「行動Ａ６１」を決定する。また、行動決定部７１は、ワーク「Ｗ７」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「２０」に対応付けられた行動パターン「行動Ａ７１」を決定する。また、行動決定部７１は、ワーク「Ｗ８」を容器ＣＮから取り出すときのロボット２の行動パターンとして、学習部６４によって学習された影響度ＩＭが最小の「４０」に対応付けられた行動パターン「行動Ａ８１」を決定する。以上説明したような、行動決定部７１によるワークＷ毎の行動パターンの更新された決定結果を、ワーク種情報Ｊ１１と行動パターン情報Ｊ１２と影響度情報Ｊ１３とを関連付けて表した情報が、更新された行動パターン決定情報ＪＨ１Ａである。
【００９３】
行動決定部７１は、影響度ＩＭが基準値ＩＭＳ未満となる順位の全てのワークＷのロボット２による取り出し動作後において、容器ＣＮ内に残った各ワークＷを取り出すときのロボット２の行動パターンとして、影響度ＩＭが最小となる行動パターンをワークＷ毎に更新して決定する。ロボット２は、実際の生産時において、行動決定部７１により更新して決定されたワークＷ毎の行動パターンに従うことによって、他のワークＷへの影響度ＩＭが小さく、ワークＷの破損等を抑止可能な最適な取り出し動作を実行することができる。
【００９４】
（順位設定部の更新動作について）
順位設定部７２は、更新部７３から出力された前記更新要求情報を受付けると、前述した図１１に示すステップｂ４〜ステップｂ６を繰り返すことにより、ワークＷの取り出し順位の設定動作を更新し、図１０Ｂに例示される更新された行動指令情報ＪＨ２Ａを生成する。
【００９５】
順位設定部７２により更新された行動指令情報ＪＨ２Ａに含まれる行動リスト情報Ｊ２２は、行動決定部７１により更新された行動パターン決定情報ＪＨ１Ａと比較して、前記ワーク種情報Ｊ１１と前記行動パターン情報Ｊ１２と前記影響度情報Ｊ１３とを関連付けたデータの並び順が異なる以外は同じである。行動リスト情報Ｊ２２は、前記ワーク種情報Ｊ１１と前記行動パターン情報Ｊ１２と前記影響度情報Ｊ１３とを関連付けたデータが、前記影響度情報Ｊ１３にて表される影響度ＩＭの小さいものから順番に並べられた情報である。
【００９６】
順位設定部７２により更新された行動指令情報ＪＨ２Ａは、制御装置４に向けて出力される。行動指令情報ＪＨ２Ａが入力された制御装置４は、当該行動指令情報ＪＨ２Ａに含まれる行動リスト情報Ｊ２２に基づいて、更新されたワークＷの取り出し順位に従ったロボット２の取り出し動作を制御することができる。
【００９７】
上記のように、順位設定部７２は、容器ＣＮ内に残った各ワークＷを取り出すときの取り出し順位を更新して設定する。ロボット２は、実際の生産時において、順位設定部７２により更新された取り出し順位に従って容器ＣＮ内に残った各ワークＷを取り出せばよい。これにより、ロボット２は、他のワークＷへの影響度ＩＭが小さいものから順番に取り出し動作を実行することができる。
【００９８】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
【００９９】
本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
【０１００】
この機械学習装置によれば、容器から一のワークを取り出すときのロボットの行動パターンが行動観測部によって観測され、ロボットの取り出し動作による容器内での他のワークの変位量が変位量観測部によって観測される。そして、学習部は、ロボットの行動パターンとワーク変位量とを関連付けた教師データに基づいて、容器から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度を、行動パターンと対応付けて学習する。
【０１０１】
ワーク変位量は、容器から一のワークが取り出されるときの、他のワークに対する衝撃力の作用や他のワークの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークへの影響度が小さくなる。学習部は、ワーク変位量に応じた他のワークへの影響度を行動パターンと対応付けて学習するので、容器から一のワークを取り出すときの、他のワークへの影響度が小さくなるようなロボットの行動パターンを学習することができる。このため、他のワークへの影響度が小さく、ワークの破損等を抑止可能なロボットの最適な取り出し動作を学習することができる。
【０１０２】
上記の機械学習装置は、前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える構成であってもよい。
【０１０３】
この態様では、行動決定部は、学習部による学習結果をロボットの実際の取り出し動作に反映させるために、容器から各ワークを取り出すときのロボットの行動パターンとして影響度が最小となる行動パターンを、ワーク毎に決定する。ロボットは、実際の生産時において、行動決定部により決定されたワーク毎の行動パターンに従うことによって、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
【０１０４】
また、行動決定部は、撮像装置から出力された１回の撮像による画像データに基づき、容器内の各ワークに対するロボットの行動パターンを決定する。つまり、実際の生産時においては、ワークを取り出すときのロボットの行動パターンを決定するために、ワークが取り出される度に撮像装置による撮像が行われるわけではない。１回の撮像による画像データに基づき容器内の各ワークに対するロボットの行動パターンが決定され、この決定された行動パターンに従ってロボットは、複数のワークを順次取り出すことができる。これにより、実際の生産時においては、撮像装置による撮像回数を少なくすることができるため、撮像に起因したロボットの待機時間を短縮することが可能となり、生産効率の向上を図ることができる。
【０１０５】
上記の機械学習装置は、前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える構成であってもよい。
【０１０６】
この態様では、順位設定部は、容器から各ワークを取り出すときの取り出し順位を設定する。ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って容器から各ワークを取り出せばよい。これにより、ロボットは、他のワークへの影響度が小さいものから順番に取り出し動作を実行することができる。
【０１０７】
上記の機械学習装置は、前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える構成であってもよい。
【０１０８】
影響度が基準値未満となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な取り出し動作であると言える。一方、影響度が基準値以上となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的大きく、ワークの破損等を招来する可能性がある。
【０１０９】
ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って、影響度が基準値未満となる順位の全てのワークを容器から順次取り出せばよい。これにより、ロボットは、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な範囲の全てのワークを連続的に取り出すことができる。このロボットによる取り出し動作が完了したときには、容器内でのワークのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部は、行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作とを更新させる。つまり、影響度が基準値未満となる順位の全てのワークのロボットによる取り出し動作が完了したときに、撮像装置から出力される新たな画像データに基づく行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作との、更新された動作が、ワークの取り出し動作の前に実施される。ロボットは、行動決定部が更新して決定した行動パターンに従い、更には順位設定部が更新して設定した取り出し順位に従って、容器から各ワークを取り出せばよい。
【０１１０】
上記の機械学習装置において、前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる。
【０１１１】
行動観測部が観測するロボットの行動パターンは、学習部がロボットの動作を学習するときに用いる教師データを構成する。この教師データを構成するロボットの行動パターンを規定する行動要素の一要素として、ハンド部のワークに対する把持位置が含まれることによって、学習部は、他のワークへの影響度が小さくなるような把持位置を加味したロボットの行動パターンを学習することができる。
【０１１２】
本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
【０１１３】
このロボットシステムによれば、容器からワークを取り出すときのロボットの最適な動作を学習できる上記の機械学習装置を備えている。このため、ロボットは、実際の生産時において容器から一のワークを取り出すときに、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
【０１１４】
以上説明した通り、本発明によれば、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することができる。
【符号の説明】
【０１１５】
１  ロボットシステム
２  ロボット
２６  ハンド部
３  撮像装置
４  制御装置
５  機械学習装置
６  学習処理部
６１  状態観測部
６２  行動観測部
６３  変位量観測部
６４  学習部
６４１  報酬設定部
６４２  価値関数更新部
７  学習反映処理部
７１  行動決定部
７２  順位設定部
７３  更新部
【図１】
2019239562.tif 000004
【図２】
2019239562.tif 000005
【図３】
2019239562.tif 000006
【図４】
2019239562.tif 000007
【図５】
2019239562.tif 000008
【図６】
2019239562.tif 000009
【図７】
2019239562.tif 000010
【図８】
2019239562.tif 000011
【図９Ａ】
2019239562.tif 000012
【図９Ｂ】
2019239562.tif 000013
【図１０Ａ】
2019239562.tif 000014
【図１０Ｂ】
2019239562.tif 000015
【図１１】
2019239562.tif 000016
【国際調査報告】
2019239562.tif 000017
2019239562.tif 000018