(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-08
(45)【発行日】2022-07-19
(54)【発明の名称】機械学習装置及びこれを備えたロボットシステム
(51)【国際特許分類】
B25J 13/08 20060101AFI20220711BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2018113672
(22)【出願日】2018-06-14
【審査請求日】2020-12-10
【前置審査】
(73)【特許権者】
【識別番号】000010076
【氏名又は名称】ヤマハ発動機株式会社
(74)【代理人】
【識別番号】100115381
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100067828
【氏名又は名称】小谷 悦司
(74)【代理人】
【識別番号】100127797
【氏名又は名称】平田 晴洋
(72)【発明者】
【氏名】駒池 国宗
【審査官】木原 裕二
(56)【参考文献】
【文献】特開2018-126802(JP,A)
【文献】特開2017-030135(JP,A)
【文献】特開平11-300670(JP,A)
【文献】米国特許出願公開第2018/0222046(US,A1)
【文献】米国特許出願公開第2017/0028562(US,A1)
【文献】米国特許第06328523(US,B1)
【文献】特開2016-132086(JP,A)
【文献】特開2015-074065(JP,A)
【文献】米国特許出願公開第2010/0274391(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
複数のワークをバラ積みされた状態で収容する容器から前記ワークを保持することによって取り出すハンド部を備えたロボットの動作を学習する機械学習装置であって、
前記ハンド部が前記容器内の一のワークを保持する前又は保持したときに、前記容器内での各ワークの収容状況を認識し、前記ハンド部による次の保持候補となるワークが、前記ハンド部による保持を可能とするための保持スペースが周囲に確保されていない保持不可ワークであるかを判定する判定部と、
前記判定部により次の保持候補となるワークが前記保持不可ワークであると判定され、所定の変位手法を用いて前記保持不可ワークを変位させる変位動作が前記ロボットによって実行されたときに、前記保持不可ワークのワーク変位量を観測する変位量観測部と、
前記ロボットの行動パターンを前記ワーク変位量と対応付けて、前記保持スペースが確保されるように前記保持不可ワークを変位させることが可能な前記変位手法を学習するとともに、当該変位手法を用いた前記ロボットの行動パターンを学習する学習部と、
前記学習部の学習結果に基づく前記ロボットの行動パターンを、前記保持不可ワークを前記ハンド部によって保持可能とするための行動パターンとして決定する行動決定部と、を備え
、
前記変位手法は、前記ハンド部が、保持した前記一のワークを前記保持不可ワークに当接させた状態で移動することにより、当該保持不可ワークを変位させる手法を含み、
前記学習部が学習する前記ロボットの行動パターンを規定する行動要素には、前記一のワークの前記保持不可ワークに対する当接位置を決定付ける要素と、前記ハンド部の移動軌跡を決定付ける要素とが含まれる、機械学習装置。
【請求項2】
前記学習部は、
前記ロボットによる前記保持不可ワークを変位させる変位動作の行動パターンに対し、前記保持不可ワークの前記ワーク変位量に応じた報酬を設定する報酬設定部と、
前記ロボットの行動パターンの価値を規定する価値関数を、前記報酬設定部により設定された報酬に応じて更新する価値関数更新部と、を含む、請求項1に記載の機械学習装置。
【請求項3】
前記変位手法は、前記保持不可ワークを変位させる方式が異なる複数の手法を含み、
前記学習部は、前記複数の手法が組み合わされた前記ロボットの行動パターンを学習する、請求項1又は2に記載の機械学習装置。
【請求項4】
前記変位手法は、前記ハンド部が前記容器を保持した状態で移動することにより、前記保持不可ワークを変位させる手法
を含み、
前記学習部が学習する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記容器を保持する保持位置を決定付ける要素と、前記ハンド部の移動軌跡を決定付ける要素と、前記ハンド部の移動速度を決定付ける要素とが含まれる、請求項1又は2に記載の機械学習装置。
【請求項5】
複数のワークをバラ積みされた状態で収容する容器から前記ワークを保持することによって取り出すハンド部を備えたロボットと、
前記ロボットの動作を学習する、請求項1~
4のいずれか1項に記載の機械学習装置と、
前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バラ積みされた状態のワークを取り出すロボットの動作を学習する機械学習装置、及びこの機械学習装置を備えたロボットシステムに関する。
【背景技術】
【0002】
複数のワークをバラ積みされた状態で収容する容器からワークを取り出すシステムとして、ハンド部を備えたロボットによってワークを取り出すロボットシステムが知られている(特許文献1参照)。特許文献1に開示されるロボットシステムは、ロボットの取り出し動作を学習する機械学習装置を備えている。機械学習装置は、三次元計測器により計測されたワークの三次元マップに対応したロボットの動作と、ワークの取り出しの成否の判定結果とを関連付けた教師データに基づいて、容器からワークを取り出す際のロボットの動作を学習している。
【0003】
容器からのワークの取り出し動作が繰り返されると、ハンド部による次の保持候補となるワークに対するハンド部の保持が不可能となる場合がある。例えば、容器の内面に近接した状態でワークが配置されている場合や、複数のワーク同士が互いに近接した状態で配置されている場合には、ハンド部による保持を可能とするための保持スペースが確保されていない状況となり、このような状況のワークはハンド部による保持が不可能となる。
【0004】
保持スペースが確保されていないワークをハンド部によって保持可能とするための技術が、例えば特許文献2に開示されている。特許文献2に開示される技術では、容器内のワークをハンド部によって掻き乱す。しかしながら、容器内のワークをハンド部によって無作為に掻き乱すので、保持スペースが十分に確保されずにハンド部による保持が可能となるには至らない場合がある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2017-64910号公報
【文献】特開2011-115930号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、保持スペースが確保されずにハンド部による保持が不可能とされたワークの保持を可能とするロボットの動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを保持することによって取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部が前記容器内の一のワークを保持する前又は保持したときに、前記容器内での各ワークの収容状況を認識し、前記ハンド部による次の保持候補となるワークが、前記ハンド部による保持を可能とするための保持スペースが周囲に確保されていない保持不可ワークであるかを判定する判定部と、前記判定部により次の保持候補となるワークが前記保持不可ワークであると判定され、所定の変位手法を用いて前記保持不可ワークを変位させる変位動作が前記ロボットによって実行されたときに、前記保持不可ワークのワーク変位量を観測する変位量観測部と、前記ロボットの行動パターンを前記ワーク変位量と対応付けて、前記保持スペースが確保されるように前記保持不可ワークを変位させることが可能な変位手法を学習するとともに、当該変位手法を用いた前記ロボットの行動パターンを学習する学習部と、前記学習部の学習結果に基づく前記ロボットの行動パターンを、前記保持不可ワークを前記ハンド部によって保持可能とするための行動パターンとして決定する行動決定部と、を備える。前記変位手法は、前記ハンド部が、保持した前記一のワークを前記保持不可ワークに当接させた状態で移動することにより、当該保持不可ワークを変位させる手法を含み、前記学習部が学習する前記ロボットの行動パターンを規定する行動要素には、前記一のワークの前記保持不可ワークに対する当接位置を決定付ける要素と、前記ハンド部の移動軌跡を決定付ける要素とが含まれる。
また、上記の機械学習装置において、前記学習部は、前記ロボットによる前記保持不可ワークを変位させる変位動作の行動パターンに対し、前記保持不可ワークの前記ワーク変位量に応じた報酬を設定する報酬設定部と、前記ロボットの行動パターンの価値を規定する価値関数を、前記報酬設定部により設定された報酬に応じて更新する価値関数更新部と、を含む。
【0008】
この機械学習装置によれば、ハンド部による次の保持候補となるワークが保持不可ワークであることが判定部によって判定された場合、学習部は、保持スペースが確保されるように保持不可ワークを変位させることが可能な変位手法を学習し、当該変位手法を用いたロボットの行動パターンを学習する。これにより、学習部は、ハンド部による保持が不可能とされたワークの保持を可能とする、所定の変位手法を用いたロボットの行動パターンを学習することができる。そして、行動決定部は、学習部の学習結果に基づくロボットの行動パターンを、保持不可ワークをハンド部によって保持可能とするための行動パターンとして決定する。この行動パターンに従ってロボットが動作することにより、ハンド部による保持が不可能とされたワークの周囲に、ハンド部による保持を可能とするための保持スペースが確保され、当該ワークのハンド部による保持が可能となる。このため、保持不可ワークの存在に起因してロボットの動作を停止させることを可及的に回避することができ、ハンド部による容器からのワークの取り出し動作を継続させることができる。
【0009】
上記の機械学習装置において、前記変位手法は、前記保持不可ワークを変位させる方式が異なる複数の手法を含み、前記学習部は、前記複数の手法が組み合わされた前記ロボットの行動パターンを学習する構成であってもよい。
【0011】
また、上記の機械学習装置において、前記変位手法は、前記ハンド部が前記容器を保持した状態で移動することにより、前記保持不可ワークを変位させる手法であり、前記学習部が学習する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記容器を保持する保持位置を決定付ける要素と、前記ハンド部の移動軌跡を決定付ける要素と、前記ハンド部の移動速度を決定付ける要素とが含まれる構成であってもよい。
【0012】
本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを保持することによって取り出すハンド部を備えたロボットと、前記ロボットの動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
【0013】
このロボットシステムによれば、ハンド部による保持が不可能とされたワークの保持を可能とするロボットの行動パターンを学習できる上記の機械学習装置を備えている。このため、ロボットは、保持不可ワークの存在に起因して停止されることが可及的に回避され、ハンド部による容器からのワークの取り出し動作を継続することができる。
【発明の効果】
【0014】
以上説明したように、本発明によれば、保持スペースが確保されずにハンド部による保持が不可能とされたワークの保持を可能とするロボットの動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係るロボットシステムの構成を示すブロック図である。
【
図2】ロボットシステムに備えられるロボットの一例を示す図である。
【
図3】ロボットシステムに備えられる機械学習装置の状態観測部の動作を説明するための図である。
【
図4】機械学習装置の行動観測部の動作を説明するための図である。
【
図5】ロボットの行動パターンを規定する行動要素を説明するための図である。
【
図6】保持不可ワークを変位させるための変位手法を説明するための図である。
【
図7】保持不可ワークを変位させる変位動作の第1例を説明するための図である。
【
図8】機械学習装置の変位量観測部の動作を説明するための図である。
【
図9】第1例の変位動作において学習部によって生成される学習結果情報を説明するための図である。
【
図10】第1例の変位動作に関する機械学習装置の動作を示すフローチャートである。
【
図11】第1例の変位動作におけるロボットの行動パターンの変形例を説明するための図である。
【
図12】保持不可ワークを変位させる変位動作の第2例を説明するための図である。
【
図13】第2例の変位動作において学習部によって生成される学習結果情報を説明するための図である。
【
図14】第2例の変位動作に関する機械学習装置の動作を示すフローチャートである。
【
図15】第3例の変位動作において学習部によって生成される学習結果情報を説明するための図である。
【
図16】第3例の変位動作に関する機械学習装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
[ロボットシステムの全体構成]
図1は、本発明の一実施形態に係るロボットシステム1の構成を示すブロック図である。ロボットシステム1は、ロボット2と、撮像装置3と、制御装置4と、機械学習装置5とを備える。ロボットシステム1においては、撮像装置3から出力される画像データに基づき機械学習装置5がロボット2の動作を学習し、その学習結果に基づき制御装置4がロボット2の動作を制御する。
【0017】
まず、
図2を参照しながらロボット2について説明する。
図2は、ロボットシステム1に備えられるロボット2の一例を示す図である。ロボット2は、複数のワークWをバラ積みされた状態で収容する容器CNから、当該ワークWを取り出すためのロボットである。容器CNは、上方側が開口した有底筒状に形成されている。ロボット2は、容器CNの上方側の開口を介してワークWを取り出す。
【0018】
ロボット2は、容器CNからワークWを取り出すことが可能なハンド部を備えたロボットであれば特に限定されるものではなく、例えば、垂直多関節ロボットや水平多関節ロボット、或いは双腕型の多関節ロボットを採用することができる。以下では、
図2に示す6軸垂直多関節ロボットを例として、ロボット2の構成について説明する。なお、垂直多関節ロボットにおいて軸の数は、6軸に限定されるものではなく、任意の軸数でよい。ロボット2は、ベース部21と、胴部22と、第1アーム23と、第2アーム24と、手首部25と、ハンド部26とを備える。
【0019】
ベース部21は、床や台等に固定設置され、内部に不図示の駆動モーター等を収容する箱体である。胴部22は、ベース部21の上面において、鉛直方向(上下方向)に延びる第1軸2A回りに、正逆両方向に回転可能に配置される。第1アーム23は、所定の長さを有するアーム部材であり、その長手方向の一端部が水平方向に延びる第2軸2Bを介して胴部22に取り付けられている。第1アーム23は、第2軸2B回りに、正逆両方向に回転可能である。
【0020】
第2アーム24は、アームベース241とアーム部242とを含む。アームベース241は、第2アーム24のベース部分であり、第2軸2Bに対して平行且つ水平方向に延びる第3軸2Cを介して、第1アーム23の長手方向他端部に取り付けられている。アームベース241は、第3軸2C回りに、正逆両方向に回転可能である。アーム部242は、所定の長さを有するアーム部材であり、その長手方向の一端部が第3軸2Cに対して垂直な第4軸2Dを介してアームベース241に取り付けられている。アーム部242は、第4軸2D回りに、正逆両方向に回転可能である。
【0021】
手首部25は、第2軸2B及び第3軸2Cに対して平行且つ水平方向に延びる第5軸2Eを介して、アーム部242の長手方向他端部に取り付けられている。手首部25は、第5軸2E回りに、正逆両方向に回転可能である。
【0022】
ハンド部26は、ロボット2において容器CNからワークWを取り出す部分であり、第5軸2Eに対して垂直な第6軸2Fを介して手首部25に取り付けられている。ハンド部26は、第6軸2F回りに、正逆両方向に回転可能である。ハンド部26は、容器CN内のワークWを保持可能な構造であれば特に限定されるものではなく、例えば、ワークWを把持して保持する複数の爪部を備えた構造であってもよいし、ワークWに対して吸引力を発生する電磁石又は負圧発生装置を備えた構造であってもよい。本実施形態では、ハンド部26は、複数の爪部261を備えた構造を有し、容器CN内のワークWを爪部261によって保持(把持)することにより当該ワークWを取り出す。
【0023】
次に、撮像装置3は、容器CN内に収容される複数のワークWの全てが視野内に収まるように容器CN内の全体を上方から撮像し、ワークWの位置情報を含む画像データを出力する装置である。本実施形態では、撮像装置3は、
図1に示すように、カメラ31と画像処理部32を備えた三次元視覚センサ等の三次元計測器である。カメラ31は、容器CN内の全体を上方から撮像し、容器CN内に収容される複数のワークWの各々の画像領域を含む画像を取得する。画像処理部32は、カメラ31が取得した画像を画像処理することによって、各ワークWの三次元位置情報を含む画像データを生成する。各ワークの三次元位置情報は、例えば、XYZ直交座標系を用いた座標値(X,Y,Z)で表される。なお、XYZ直交座標系とは、X軸とY軸を含む平面(XY平面)が水平で、Z軸がXY平面に対して鉛直となるように各座標軸が配置された座標系である。撮像装置3から出力された画像データは、後述の機械学習装置5に備えられる変位量観測部64及び判定部7に入力される。
【0024】
次に、制御装置4は、ロボット2の動作を制御するとともに、撮像装置3の動作を制御する。制御装置4は、後述の機械学習装置5に備えられる行動決定部9によって生成される情報に基づいて、ロボット2の動作を制御する。
【0025】
[機械学習装置の構成]
次に、機械学習装置5について説明する。機械学習装置5は、
図1に示すように、ロボット2の動作を学習(機械学習)する学習処理を実行する学習処理部6と、判定部7と、記憶部8と、行動決定部9とを備える。機械学習装置5が実行する学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、機械学習装置5における学習の手法として、強化学習としてのQ学習の手法が採用されている。Q学習は、ロボット2の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット2の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、機械学習装置5が実行する強化学習としてのQ学習は、例えば、ニューラルネットワーク(Neural Network)を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン(神経細胞)の機能を模した論理回路を多層に積層して構成されたものである。
【0026】
<学習処理部について>
学習処理部6は、ロボット2の動作を学習する学習処理を実行する部分である。学習処理部6は、ロボット2が生産動作を実行しているときに学習処理を実行してもよいし、ロボット2の生産動作とは切り離して学習処理を実行してもよい。ロボット2の生産動作とは、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPL(後記の
図3参照)に載置するという、ロボット2の連続的な動作のことである。学習処理部6は、状態観測部61と、行動観測部62と、学習部63と、変位量観測部64とを含んで構成される。
【0027】
(状態観測部について)
図3は、状態観測部61の動作を説明するための図である。なお、
図3においては、ロボット2及び容器CNを上方から見た状態が示されており、容器CN内には3つのワークW1,W2,W3がバラ積みされている。ロボット2は、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置するという、連続的な動作を実行する。状態観測部61は、ロボット2の連続的な動作を複数の状態に区分し、そのロボット2の状態を観測する。
【0028】
状態観測部61が観測するロボット2の状態の数は、特に限定されるものではないが、
図3では、状態S1、状態S2、状態S3及び状態S4の4つの状態が示されている。状態S1は、ロボット2のハンド部26がパレットPLの上方における所定の位置に配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S2は、ハンド部26の爪部261によって容器CN内の保持(把持)対象となるワークW3を保持する直前の状態であって、ワークW3の真上における所定の位置にハンド部26が配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S3は、ハンド部26の爪部261が容器CN内の保持対象となるワークW3を保持するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S4は、ハンド部26の爪部261によって保持したワークW3をパレットPLに載置するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。ロボット2は、状態S1、状態S2、状態S3、状態S4の順に状態を連続的に移行することにより、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置する。
【0029】
ロボット2の状態は、状態変数(ΔX,ΔY,ΔZ,p,d)によって規定される。状態変数(ΔX,ΔY,ΔZ,p,d)は、ロボット2の状態が移行されるごとに変化する変数である。
【0030】
状態変数の「ΔX」は、XYZ直交座標系において、ハンド部26の爪部261による保持対象となるワークW3の容器CN内における位置に関するX座標値を基準値(以下、「X基準値」と称する)とし、ハンド部26の位置に関するX座標値(以下、「ハンドX値」と称する)の前記X基準値に対する差異を表す。状態変数の「ΔY」は、XYZ直交座標系において、ハンド部26の爪部261による保持対象となるワークW3の容器CN内における位置に関するY座標値を基準値(以下、「Y基準値」と称する)とし、ハンド部26の位置に関するY座標値(以下、「ハンドY値」と称する)の前記Y基準値に対する差異を表す。状態変数の「ΔZ」は、XYZ直交座標系において、ハンド部26の爪部261による保持対象となるワークW3の容器CN内における位置に関するZ座標値を基準値(以下、「Z基準値」と称する)とし、ハンド部26の位置に関するZ座標値(以下、「ハンドZ値」と称する)の前記Z基準値に対する差異を表す。状態変数の「p」は、ハンド部26の爪部261がワークW3を保持しているか否かを表す。状態変数の「p」は、ハンド部26の爪部261がワークW3を保持している場合には「1」とされ、ハンド部26の爪部261がワークW3を保持していない場合には「0:ゼロ」とされる。状態変数の「d」は、ハンド部26の爪部261による一のワークW3に対して次の保持候補となるワークの周囲に、爪部261による保持を可能とするための保持スペースが確保されているか否かを表す。状態変数の「d」は、次の保持候補となるワークの周囲に保持スペースが確保されている場合には「1」とされ、保持スペースが確保されていない場合には「0:ゼロ」とされる。
【0031】
図3に示す例において、ロボット2の状態が状態S1である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、爪部261によってワークW3を保持しておらず、ワークW1,W2の周囲には爪部261による保持スペースが確保されている。このため、ロボット2の状態S1を規定する状態変数(ΔX,ΔY,ΔZ,p,d)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「0:ゼロ」を示し、「d」が「1」を示す。
【0032】
図3に示す例において、ロボット2の状態が状態S2である場合には、ハンド部26は、容器CNに対してX軸及びY軸の各軸方向には離れていないけれどもZ軸方向には離れており、爪部261によってワークW3を保持しておらず、ワークW1,W2の周囲には爪部261による保持スペースが確保されている。このため、ロボット2の状態S2を規定する状態変数(ΔX,ΔY,ΔZ,p,d)においては、「ΔX」及び「ΔY」がそれぞれ「0;ゼロ」を示し、「ΔZ」が所定の値「ZA」を示し、「p」が「0;ゼロ」を示し、「d」が「1」を示す。
【0033】
図3に示す例において、ロボット2の状態が状態S3である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向には離れておらず、爪部261によってワークW3を保持しており、ワークW1,W2の周囲には爪部261による保持スペースが確保されている。このため、ロボット2の状態S3を規定する状態変数(ΔX,ΔY,ΔZ,p,d)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ「0;ゼロ」を示し、「p」が「1」を示し、「d」が「1」を示す。
【0034】
図3に示す例において、ロボット2の状態が状態S4である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、爪部261によってワークW3を保持しており、ワークW1,W2の周囲には爪部261による保持スペースが確保されている。このため、ロボット2の状態S4を規定する状態変数(ΔX,ΔY,ΔZ,p,d)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「1」を示し、「d」が「1」を示す。
【0035】
状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p,d)に基づいて、ロボット2の状態が状態S1、状態S2、状態S3及び状態S4の何れの状態であるかを認識することができる。なお、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢等の違いにより、複数のサブ状態が存在する。状態観測部61は、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、サブ状態についても観測する。ハンド部26の爪部261が保持したワークW3をパレットPLに載置するという、ロボット2の最終目標の状態を示す状態S4については、状態S1、状態S2及び状態S3のようなサブ状態は存在しない。
【0036】
(行動観測部について)
図4は、行動観測部62の動作を説明するための図である。なお、
図4においては、ロボット2の状態について、状態S1には複数のサブ状態「S1-1、S1-2、・・・S1-n」が存在することが示され、状態S2には複数のサブ状態「S2-1、S2-2、・・・S2-n」が存在することが示され、状態S3には複数のサブ状態「S3-1、S3-2、・・・S3-n」が存在することが示されている。
【0037】
行動観測部62は、ロボット2の状態が移行されるときのロボット2の行動パターンを観測する。より詳しくは、行動観測部62は、ロボット2の行動パターンについて、ロボット2の状態が状態S1から状態S2へ移行されるときの行動パターン、状態S2から状態S3へ移行されるときの行動パターン、状態S3から状態S4へ移行されるときの行動パターンをそれぞれ観測する。状態が移行されるときにロボット2が取り得る行動パターンは、状態S1、状態S2及び状態S3の各々におけるサブ状態の存在数に応じて、複数存在する(行動A1、行動A2、・・・行動An)。なお、ロボット2の状態が状態S3から状態S4へ移行されるときには、容器CN内の一のワークWをハンド部26の爪部261によって保持した状態で当該容器CNから取り出す取り出し動作が実行されている。
【0038】
行動観測部62によって観測されるロボット2の行動パターンを規定する行動要素としては、
図5に示される、把持角θ、把持位置HP、第1軸2Aにおける回転角β1及び回転速度パターン、第2軸2Bにおける回転角β2及び回転速度パターン、第3軸2Cにおける回転角β3及び回転速度パターン、第4軸2Dにおける回転角β4及び回転速度パターン、第5軸2Eにおける回転角β5及び回転速度パターン、第6軸2Fにおける回転角β6及び回転速度パターンが含まれる。なお、前述したように、垂直多関節ロボットからなるロボット2において、その軸数は6軸に限定されるものではなく、任意である。このため、ロボット2の行動パターンを規定する行動要素に含まれる各軸における回転角及び回転速度パターンは、軸数に応じたものとなる。
【0039】
把持角θは、ハンド部26においてワークWを保持(把持)するための2つの爪部261の成す角度である(
図2参照)。把持位置HPは、ハンド部26が一のワークWを取り出すときの、当該一のワークWを爪部261によって保持(把持)する位置を表す。第1軸2Aにおける回転角β1は、ロボット2の状態が移行されるときの胴部22の第1軸2A回りの回転角を表す。胴部22は第1軸2A回りに正逆両方向に回転可能であるので、回転角β1は、胴部22が正方向に回転するときには「正;プラス」の回転角で示され、胴部22が逆方向に回転するときには「負;マイナス」の回転角で示される。第2軸2Bにおける回転角β2は、ロボット2の状態が移行されるときの第1アーム23の第2軸2B回りの回転角を表す。第1アーム23は第2軸2B回りに正逆両方向に回転可能であるので、回転角β2は、第1アーム23が正方向に回転するときには「正;プラス」の回転角で示され、第1アーム23が逆方向に回転するときには「負;マイナス」の回転角で示される。第3軸2Cにおける回転角β3は、ロボット2の状態が移行されるときのアームベース241の第3軸2C回りの回転角を表す。アームベース241は第3軸2C回りに正逆両方向に回転可能であるので、回転角β3は、アームベース241が正方向に回転するときには「正;プラス」の回転角で示され、アームベース241が逆方向に回転するときには「負;マイナス」の回転角で示される。
【0040】
第4軸2Dにおける回転角β4は、ロボット2の状態が移行されるときのアーム部242の第4軸2D回りの回転角を表す。アーム部242は第4軸2D回りに正逆両方向に回転可能であるので、回転角β4は、アーム部242が正方向に回転するときには「正;プラス」の回転角で示され、アーム部242が逆方向に回転するときには「負;マイナス」の回転角で示される。第5軸2Eにおける回転角β5は、ロボット2の状態が移行されるときの手首部25の第5軸2E回りの回転角を表す。手首部25は第5軸2E回りに正逆両方向に回転可能であるので、回転角β5は、手首部25が正方向に回転するときには「正;プラス」の回転角で示され、手首部25が逆方向に回転するときには「負;マイナス」の回転角で示される。第6軸2Fにおける回転角β6は、ロボット2の状態が移行されるときのハンド部26の第6軸2F回りの回転角を表す。ハンド部26は第6軸2F回りに正逆両方向に回転可能であるので、回転角β6は、ハンド部26が正方向に回転するときには「正;プラス」の回転角で示され、ハンド部26が逆方向に回転するときには「負;マイナス」の回転角で示される。
【0041】
各軸2A~2Fにおける回転速度パターンは、各軸回りの回転速度のパターンを表し、
図5に示す第1パターン、第2パターン及び第3パターンに区分される。回転速度の第1パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、2つの領域からなる。回転速度の第2パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から一定時間の間で回転速度が等速となる等速領域と、等速領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、3つの領域からなる。回転速度の第3パターンは、時間経過に伴って回転速度が曲線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が曲線的に下降する下降領域との、2つの領域からなる。
【0042】
行動観測部62は、各行動要素に基づいて、ロボット2の状態が移行されるときの行動パターンを認識することができる。
【0043】
ロボット2の状態が状態S1から状態S2へ移行されるときのロボット2の最適な行動パターンと、状態S2から状態S3へ移行されるときのロボット2の最適な行動パターンとは、後述の学習部63によって既に学習済みである。また、状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)である場合の状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンについても、後述の学習部63によって既に学習済みである。つまり、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の行動パターンについて、状態変数の「d」が「1」であり、ハンド部26の爪部261による次の保持候補となるワークの周囲に爪部261による保持スペースが確保されている場合の行動パターンについては既に学習済みである。このような、学習部63によって既に学習済みのロボット2の行動パターンについては、記憶部8に記憶されている。
【0044】
記憶部8に記憶されている既存の行動パターンは、後述の行動決定部9によって記憶部8から読み出されて、制御装置4に向けて出力される。既存の行動パターンが入力された制御装置4は、当該既存の行動パターンに基づいて、ロボット2の動作を制御することができる。制御装置4の制御によってロボット2は、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、連続的な生産動作を実行する。
【0045】
一方、状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)である場合の状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンについては、後述の学習部63によって強化学習される。つまり、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の行動パターンについて、状態変数の「d」が「0」であり、ハンド部26の爪部261による次の保持候補となるワークの周囲に爪部261による保持スペースが確保されていない場合の行動パターンについては、学習部63によって強化学習される。
【0046】
ハンド部26の爪部261による次の保持候補となるワークが、保持スペースが周囲に確保されておらず爪部261による保持が不可能な保持不可ワークであるか否かは、判定部7によって判定される。判定部7は、ハンド部26が爪部261によって容器CN内の一のワークWを保持する前又は保持したときに、一のワークWに対して次の保持候補となるワークが保持不可ワークであるか否かを判定する。ハンド部26が爪部261によって容器CN内の一のワークWを保持する前又は保持したときには、撮像装置3におけるカメラ31の撮像動作によって基準画像が取得され、画像処理部32の基準画像に対する画像処理によって基準画像データが生成されている。基準画像データは、次の保持候補となるワークに関する三次元位置情報を含む画像データとなる。判定部7は、撮像装置3から出力される基準画像データに基づいて、容器CN内での各ワークの収容状況を認識し、次の保持候補となるワークが保持不可ワークであるか否かを判定する。
【0047】
判定部7は、ハンド部26の爪部261が挿入不能となるように、次の保持候補となるワークが容器CNの内面に近接した状態で配置されている場合や、複数のワーク同士が互いに近接した状態で配置されている場合に、爪部261による保持を可能とするための保持スペースが確保されていないと判断し、保持不可ワークであると判定する。判定部7によって次の保持候補となるワークが保持不可ワークであると判定された場合に、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
【0048】
ロボット2の状態が状態S3であるときに、判定部7によって次の保持候補となるワークが保持不可ワークであると判定された場合、状態S3から状態S4へ移行する前にロボット2は、所定の変位手法を用いて保持不可ワークを変位させる変位動作を実行する。ロボット2が変位動作を実行するときに用いる、保持不可ワークを変位させるための変位手法としては、例えば、
図6に示す第1~第7手法が挙げられる。また、第1~第7手法から選択される複数の手法が組み合わされたものを変位手法としてもよい。なお、
図6においては、ハンド部26の爪部261によって容器CN内の一のワークW3を保持したときに、ワークW1,W2の周囲に保持スペースが確保されておらず、ワークW1,W2が保持不可ワークとされている。
【0049】
第1手法は、爪部261によって保持した一のワークW3をパレットPLへ向けて移動させるときに、ハンド部26が一のワークW3を保持不可ワークW2に当接させた状態で移動することにより、当該保持不可ワークW2を変位させる変位手法である。ロボット2による第1手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0050】
第2手法は、爪部261によって保持した一のワークW3をパレットPLに載置した後、ハンド部26が爪部261によって容器CNを保持した状態で移動することにより、容器CNの移動に応じて保持不可ワークW2を変位させる変位手法である。ロボット2による第2手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0051】
第3手法は、爪部261によって保持した一のワークW3をパレットPLに載置した後、ハンド部26が爪部261を保持不可ワークW2に当接させた状態で移動することにより、当該保持不可ワークW2を変位させる変位手法である。ロボット2による第3手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0052】
第4手法は、爪部261によって保持した一のワークW3をパレットPLに載置した後、ワークW1,W2,W3とは種類の異なる、他の容器から取り出したワークWSを爪部261によって保持させ、ハンド部26がワークWSを保持不可ワークW2に当接させた状態で移動することにより、当該保持不可ワークW2を変位させる変位手法である。ロボット2による第4手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0053】
第5手法は、爪部261によって保持した一のワークW3をパレットPLに載置した後、専用治具JGを爪部261によって保持させ、ハンド部26が専用治具JGを保持不可ワークW2に当接させた状態で移動することにより、当該保持不可ワークW2を変位させる変位手法である。ロボット2による第5手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0054】
第6手法は、爪部261によって保持した一のワークW3をパレットPLに載置した後、空気等の気体を噴射可能なノズルNZを爪部261によって保持させ、ノズルNZから気体を保持不可ワークW2に向けて噴射させた状態でハンド部26が移動することにより、当該保持不可ワークW2を変位させる変位手法である。ロボット2による第6手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW2の爪部261による保持が可能となる。
【0055】
第7手法は、爪部261によって保持した一のワークW3を取り出す取り出し動作において、保持不可ワークW1,W2を崩すことによって、当該保持不可ワークW1,W2を変位させる変位手法である。この第7手法は、例えば、一のワークW3の上に保持不可ワークW1,W2が配置されている場合などに有効な手法である。ロボット2による第7手法を用いた変位動作によって、ハンド部26の爪部261による保持が不可能とされたワークW1,W2の周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークW1,W2の爪部261による保持が可能となる。
【0056】
行動観測部62は、判定部7によって次の保持候補となるワークが保持不可ワークであると判定された場合、上記の変位手法を用いて保持不可ワークを変位させるロボット2の変位動作における行動パターンについても観測する。行動観測部62は、上記の
図5に示した各行動要素に基づいて、ロボット2の変位動作における行動パターンを認識することができる。
【0057】
(変位量観測部について)
変位量観測部64は、判定部7によって次の保持候補となるワークが保持不可ワークであると判定され、所定の変位手法を用いて保持不可ワークを変位させる変位動作がロボット2によって実行されたときに、保持不可ワークのワーク変位量を観測する。変位量観測部64は、撮像装置3から出力される、ロボット2による変位動作の前後における各画像データに基づいて、保持不可ワークのワーク変位量を観測する。
【0058】
より詳しくは、変位量観測部64は、ロボット2による変位動作前における画像データであって、判定部7が保持不可ワークの存否を判定するときに参照する前述の基準画像データと、ロボット2による変位動作後における画像データとに基づいて、保持不可ワークのワーク変位量を観測する。変位量観測部64は、基準画像データに含まれる保持不可ワークの三次元位置情報における各座標値と、ロボット2による変位動作後の画像データに含まれるワークの三次元位置情報における各座標値との差分を算出することにより、保持不可ワークのワーク変位量を観測する。変位量観測部64の動作の詳細については、後述する。
【0059】
(学習部について)
学習部63は、ロボット2の状態が移行されるときのロボット2の最適な行動パターンを学習する。更に、学習部63は、ハンド部26による次の保持候補となるワークが保持不可ワークであることが判定部7によって判定された場合に、保持スペースが確保されるように保持不可ワークを変位させることが可能な最適な変位手法を学習するとともに、当該変位手法を用いたロボット2の行動パターンを学習する。
【0060】
なお、前述したように、学習部63は、ロボット2の状態が状態S1から状態S2へ移行されるときのロボット2の最適な行動パターンと、状態S2から状態S3へ移行されるときのロボット2の最適な行動パターンとについては、既に学習済みである。また、学習部63は、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の行動パターンについて、ハンド部26の爪部261による次の保持候補となるワークの周囲に爪部261による保持スペースが確保されている場合の行動パターンについても、既に学習済みである。学習部63によって既に学習済みのロボット2の行動パターンについては、記憶部8に記憶されている。以下では、ロボット2の状態が状態S3であるときに、所定の変位手法を用いて保持不可ワークを変位させる変位動作におけるロボット2の行動パターンの学習について、詳細に説明する。
【0061】
学習部63は、所定の変位手法を用いて保持不可ワークを変位させるときの、行動観測部62により観測されたロボット2の行動パターンを、変位量観測部64により観測された保持不可ワークのワーク変位量と対応付けて学習する。学習部63は、ロボット2の行動パターンとワーク変位量とを関連付けた教師データに基づいて、保持スペースの確保が可能となるように保持不可ワークを変位させる最適な変位手法及びロボット2の行動パターンを学習する。
【0062】
学習部63は、
図1に示すように、報酬設定部631と価値関数更新部632とを含んで構成される。
【0063】
報酬設定部631は、行動観測部62により観測されたロボット2の変位動作における行動パターンに対し、保持不可ワークのワーク変位量に応じた報酬R(後記の
図9参照)を設定する。報酬設定部631は、保持不可ワークのワーク変位量に応じて段階的に報酬Rを設定してもよい。例えば、報酬設定部631は、保持不可ワークのワーク変位量が所定の閾値WDT(後記の
図9参照)以上となるロボット2の行動パターンに対しては、第1の値R1(例えば「100」)の報酬Rを与える。また、報酬設定部631は、保持不可ワークのワーク変位量が(閾値WDT×0.5)以上且つ閾値WDT未満となるロボット2の行動パターンに対しては、第1の値R1よりも小さい第2の値R2(例えば「10」)の報酬Rを与える。また、報酬設定部631は、保持不可ワークのワーク変位量が(閾値WDT×0.5)未満となるロボット2の行動パターンに対しては、第2の値R2よりも小さい第3の値R3(例えば「0:ゼロ」)の報酬Rを与える。
【0064】
なお、前記閾値WDTは、例えば、ハンド部26の爪部261の厚みに「1」以上の係数(例えば「1.2」)を乗算した値である。つまり、前記閾値WDTは、ハンド部26の爪部261の厚みに相当する、爪部261によるワークの保持を可能とするための保持スペースよりも、僅かに大きい値に設定されている。
【0065】
価値関数更新部632は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、報酬設定部631により設定された報酬Rに応じて更新する。価値関数更新部632は、下記式(1)で示される価値Q(s,a)の更新式を用いて価値関数を更新する。
【0066】
【0067】
上記式(1)において、「s」は、ロボット2の状態(状態S3)を表し、「a」は、行動パターンに従ったロボット2の行動を表す。行動「a」によってロボット2の状態が、状態「s」(状態S3)から状態「s’」(変位動作後の状態)へ移行する。R(s,a)は、その状態の移行により得られた報酬Rを表している。
【0068】
上記式(1)において、「max」が付された項は、状態「s’」において最も価値の高い行動「a’」を選択した場合の価値Q(s’,a’)に「γ」を乗算したものになる。「γ」は、減衰率と呼ばれるパラメータであり、0<γ≦1の範囲(例えば0.9)とされる。また、「α」は、学習率と呼ばれるパラメータであり、0<α≦1の範囲(例えば0.1)とされる。また、「ε」は、修正係数と呼ばれるパラメータであり、0<ε≦1の範囲とされる。修正係数εは、詳細については後述するが、学習部63によって算出される。上記式(1)で示される価値Q(s,a)の更新式において、「ε」は、学習部63によって修正係数εが算出されるまでは、「ε=1」とされる。
【0069】
上記式(1)は、行動「a」に対して報酬設定部631により設定された報酬R(s,a)に基づいて、状態「s」における行動「a」の価値Q(s,a)を更新する更新式を表している。すなわち、上記式(1)は、状態「s」における行動「a」の価値Q(s,a)よりも、状態「s’」における行動「a’」の価値Q(s’,a’)と報酬R(s,a)との合計値の方が大きければ、価値Q(s,a)を大きくし、反対に小さければ、価値Q(s,a)を小さくすることを示している。つまり、価値関数更新部632は、上記式(1)で示される更新式を用いて価値関数を更新することによって、或る状態「s」における或る行動「a」の価値Q(s,a)を、その行動「a」に対して設定される報酬Rと、その行動「a」による次の状態「s’」における最良の行動「a’」の価値Q(s’,a’)に近付けるようにしている。
【0070】
ここで、詳細については後述するが、
図7~
図11に示される変位動作の第1例を参照して説明すると、ロボット2の行動「a」(
図7の行動A1)による変位動作によって、保持不可ワークが保持スペースの確保が可能に変位されると、ロボット2の状態が、状態「s」(状態S3)から状態「s’」(
図7の状態S31)へ移行する。この状態「s’」(状態S31)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)は(0,0,0,1,1)とされる。つまり、状態変数の「d」が「1」であり、ハンド部26による次の保持候補となるワークの周囲に爪部261による保持スペースが確保された状態となるので、次に遷移するロボット2の状態は状態S4となる。よって、状態「s’」(状態S31)から状態S4へ移行する行動「a’」である行動A1’(
図7)を選択して、状態S4に移行したときの価値Q(s’,a’)が最も高いものとなる。
【0071】
一方、ロボット2の行動「a」(
図7の行動A2)による変位動作によって、保持不可ワークが変位したけれども保持スペースの確保には至らなかった場合、ロボット2の状態が、状態「s」(状態S3)から状態「s’」(
図7の状態S32)へ移行する。この状態「s’」(状態S32)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)は(0,0,0,1,0)とされる。この場合、状態変数の「d」が「0」であり、ハンド部26による次の保持候補となるワークの周囲には保持スペースが確保されていない状態となるので、次に遷移するロボット2の状態は再度状態S3となり、変位動作が再試行される。よって、状態「s’」(状態S32)から状態S3へ移行する行動「a’」である行動A2’(
図7)を選択して、状態S3に移行したときの価値Q(s’,a’)は、上記の状態S4に移行したときの価値に比べて低い。
【0072】
また、ロボット2の行動「a」(
図7の行動A3)による変位動作によって、保持不可ワークが殆ど変位しなかった場合、ロボット2の状態が、状態「s」(状態S3)から状態「s’」(
図7の状態S33)へ移行する。この状態「s’」(状態S33)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)は(0,0,0,1,0)とされる。この場合、状態変数の「d」が「0」であり、ハンド部26による次の保持候補となるワークの周囲には保持スペースが確保されていない状態となるので、次に遷移するロボット2の状態は再度状態S3となり、変位動作が再試行される。よって、状態「s’」(状態S33)から状態S3へ移行する行動「a’」である行動A3’(
図7)を選択して、状態S3に移行したときの価値Q(s’,a’)も、同様に低い。
【0073】
なお、後記の
図12~
図14に示される変位動作の第2例、
図15及び
図16に示される変位動作の第3例についても、上記の変位動作の第1例の場合と同様に、上記式(1)で示される価値Q(s,a)の更新式が適用できる。
【0074】
学習部63は、所定の変位手法を用いて保持不可ワークを変位させる変位動作におけるロボット2の行動パターンの学習結果を表す学習結果情報を生成する。学習部63によって生成された学習結果情報は、記憶部8に記憶される。なお、学習部63は、保持不可ワークを変位させる変位動作におけるロボット2の行動パターンの学習について、ロボット2が生産動作を実行しているときに学習を実行してもよいし、ロボット2の生産動作とは切り離して学習を実行してもよい。
【0075】
<行動決定部について>
行動決定部9は、記憶部8に記憶されているロボット2の行動パターンを記憶部8から読み出すことによって、状態移行時のロボット2の行動パターンを決定する。行動決定部9は、記憶部8から読み出したロボット2の行動パターンを制御装置4に向けて出力する。より詳しくは、行動決定部9は、前述した既存の行動パターンを記憶部8から読み出して制御装置4に向けて出力する。既存の行動パターンが入力された制御装置4は、当該既存の行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、連続的な生産動作を実行する。
【0076】
また、保持不可ワークを変位させる変位動作の実行時においては、行動決定部9は、学習部63の学習結果を表す、記憶部8に記憶されている前記学習結果情報を参照する。例えば、前記学習結果情報に保持スペースの確保が可能な行動パターンが登録されている場合、行動決定部9は、当該行動パターンを、保持不可ワークを爪部261によって保持可能とするための行動パターンとして決定する。行動決定部9は、記憶部8に記憶されている前記学習結果情報に登録された、保持スペースの確保が可能な行動パターンを読み出すことによって、変位動作の実行時におけるロボット2の行動パターンを決定する。行動決定部9は、記憶部8から読み出したロボット2の変位動作時の行動パターンを制御装置4に向けて出力する。変位動作時の行動パターンが入力された制御装置4は、当該行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261による保持スペースが周囲に確保されるように保持不可ワークを変位させる。
【0077】
保持不可ワークの周囲に保持スペースが確保されると、当該ワークの爪部261による保持が可能となる。従って、保持不可ワークの周囲に保持スペースが確保された後、行動決定部9は、前述した既存の行動パターンを記憶部8から読み出して制御装置4に向けて出力する。これにより、制御装置4の制御によってロボット2は、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、連続的な生産動作を実行する。
【0078】
[保持不可ワークを変位させる変位動作の具体例]
以上説明したように、ロボット2の状態が状態S3であって、ハンド部26の爪部261によって一のワークを保持したときに、次の保持候補となるワークが保持不可ワークであることが判定部7によって判定された場合、保持スペースが確保されるように保持不可ワークを変位させる、所定の変位手法を用いた変位動作が実行される。以下では、具体例を挙げて、保持不可ワークを変位させる変位動作の詳細について説明する。
【0079】
<変位動作の第1例について>
図7~
図10を参照して、変位動作の第1例について説明する。
図7は、保持不可ワークを変位させる変位動作の第1例を説明するための図である。
図8は、変位量観測部64の動作を説明するための図である。
図9は、第1例の変位動作において学習部63によって生成される学習結果情報JH1を説明するための図である。
図10は、第1例の変位動作に関する機械学習装置5の動作を示すフローチャートである。
【0080】
状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p,d)に基づいて、ロボット2の状態が状態S2から状態S3へ移行されたことを観測する(
図10のステップa1)。ロボット2の状態が状態S2から状態S3へ移行されたとき、すなわち、ハンド部26の爪部261によって一のワークが保持されたときに、判定部7は、撮像装置3から出力された基準画像データを取得する(
図10のステップa2)。基準画像データは、次の保持候補となるワークに関する三次元位置情報を含む画像データとなる。判定部7は、基準画像データに基づいて容器CN内での各ワークの収容状況を認識し、次の保持候補となるワークが保持不可ワークであるか否かを判定する(
図10のステップa3)。
【0081】
次の保持候補となるワークが保持不可ワークではないと判定部7によって判定された場合には、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)とされる。この場合、行動決定部9は、状態S3から状態S4へと移行させるための既存の行動パターンを記憶部8から読み出して制御装置4に向けて出力する。既存の行動パターンが入力された制御装置4は、当該既存の行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261によって保持された一のワークを容器CNから取り出す取り出し動作を実行する(
図10のステップa5)。
【0082】
一方、次の保持候補となるワークが保持不可ワークであると判定部7によって判定された場合には、
図7に示すように、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
図7に示す例では、ハンド部26の爪部261によって容器CN内の一のワークW3を保持したときに、ワークW1,W2の周囲に保持スペースが確保されておらず、ワークW1,W2が保持不可ワークとされている。このため、状態変数の「d」が「0」であり、ハンド部26の爪部261による次の保持候補となるワークW1,W2の周囲に爪部261による保持スペースが確保されていないことが示されている。なお、
図7に示す例では、保持不可ワークW1は容器CNの内面に近接して配置され、保持不可ワークW2は保持不可ワークW1の側方において当該保持不可ワークW1に近接して配置されている。このため、保持不可ワークW1,W2の周囲に保持スペースが確保されていない。
【0083】
次の保持候補となるワークW1,W2が保持不可ワークであると判定部7によって判定された場合、保持不可ワークであるワークW1及びワークW2の少なくともいずれか一方のワークを、爪部261による保持スペースが周囲に確保されるように変位させる変位動作が実行される。変位動作の第1例においては、ロボット2は、
図7に示すように、第1手法を用いた行動パターンに基づく変位動作によって保持不可ワークとしてのワークW2を変位させる。なお、第1手法は、前述したように、爪部261によって保持した一のワークW3をパレットPLへ向けて移動させるときに、ハンド部26が一のワークW3を保持不可ワークW2に当接させた状態で移動することにより、当該保持不可ワークW2を変位させる変位手法である。
【0084】
行動観測部62は、第1手法を用いたロボット2の行動パターンを観測する(
図10のステップa4)。
図7に示す例では、第1手法を用いたロボット2の行動パターンとして、行動A1、行動A2及び行動A3の3種の行動パターンが示されている。行動A1は、爪部261によって保持した一のワークW3の先端が保持不可ワークW2の長手方向一端面に当接(当接位置CP)した状態でハンド部26が、保持不可ワークW1,W2の並列方向に関して保持不可ワークW1から斜めに離れる方向に移動(移動軌跡MT)するような行動パターンである。行動A2は、行動A1に対して保持不可ワークW1,W2の並列方向に関する移動軌跡MTの傾斜度合いが異なる以外は、行動A1と同様の行動パターンである。行動A3は、爪部261によって保持した一のワークW3の先端が保持不可ワークW2の側面に当接(当接位置CP)した状態でハンド部26が、保持不可ワークW1,W2の並列方向と直交する方向、すなわち保持不可ワークW2の側面に沿った方向に移動(移動軌跡MT)するような行動パターンである。
【0085】
行動観測部62によって観測されるロボット2の行動パターンを規定する行動要素としては、前述の
図5に示される、把持角θ、把持位置HP、第1軸2Aにおける回転角β1及び回転速度パターン、第2軸2Bにおける回転角β2及び回転速度パターン、第3軸2Cにおける回転角β3及び回転速度パターン、第4軸2Dにおける回転角β4及び回転速度パターン、第5軸2Eにおける回転角β5及び回転速度パターン、第6軸2Fにおける回転角β6及び回転速度パターンが含まれる。
図5に示される各行動要素は、第1手法を用いたロボット2の行動パターンにおいて、爪部261によって保持した一のワークW3の保持不可ワークW2に対する当接位置CPを決定付ける要素となるとともに、ハンド部26の移動軌跡MTを決定付ける要素となる。
【0086】
第1手法を用いた行動パターンに基づく変位動作が完了すると、変位量観測部64は、撮像装置3から出力された、変位動作後の画像データを取得する(
図10のステップa6)。変位動作後の画像データは、第1手法を用いたロボット2の行動パターンによって変位された後の保持不可ワークW1,W2に関する三次元位置情報を含む画像データとなる。変位量観測部64は、ロボット2による変位動作前における画像データであって、判定部7が保持不可ワークW1,W2の存否を判定するときに参照する基準画像データと、ロボット2による変位動作後における画像データとに基づいて、保持不可ワークW1,W2のワーク変位量を観測する(
図10のステップa7)。
【0087】
図8に示す例では、ロボット2による変位動作前であって、ハンド部26の爪部261によって一のワークW3が保持されたときに、撮像装置3におけるカメラ31の撮像動作によって基準画像GSが取得され、画像処理部32の基準画像GSに対する画像処理によって基準画像データGDSが生成されている。基準画像GSには、保持不可ワークW1に対応した画像領域GW1と、保持不可ワークW2に対応した画像領域GW2とが含まれている。また、基準画像データGDSには、保持不可ワークW1の三次元位置情報としての座標値(X1,Y1,Z1)に関する情報と、保持不可ワークW2の三次元位置情報としての座標値(X2,Y2,Z2)に関する情報とが含まれている。
【0088】
また、
図8に示す例では、ロボット2による変位動作後において、撮像装置3におけるカメラ31の撮像動作によって第1画像G1、第2画像G2及び第3画像G3が取得され、画像処理部32の各画像G1,G2,G3に対する画像処理によって第1画像データGD1、第2画像データGD2及び第3画像データGD3がそれぞれ生成されている。
【0089】
第1画像G1及び第1画像データGD1は、第1手法を用いた行動パターンA1(
図7の行動A1)に基づくロボット2の変位動作後の画像及び画像データを示している。第1画像G1には、行動パターンA1に基づくロボット2の変位動作後における保持不可ワークW1,W2について、保持不可ワークW1に対応した画像領域GW1と、保持不可ワークW2に対応した画像領域GW2とが含まれている。また、第1画像データGD1には、保持不可ワークW1の三次元位置情報としての座標値(X11,Y11,Z11)に関する情報と、保持不可ワークW2の三次元位置情報としての座標値(X21,Y21,Z21)に関する情報とが含まれている。
【0090】
第2画像G2及び第2画像データGD2は、第1手法を用いた行動パターンA2(
図7の行動A2)に基づくロボット2の変位動作後の画像及び画像データを示している。第2画像G2には、行動パターンA2に基づくロボット2の変位動作後における保持不可ワークW1,W2について、保持不可ワークW1に対応した画像領域GW1と、保持不可ワークW2に対応した画像領域GW2とが含まれている。また、第2画像データGD2には、保持不可ワークW1の三次元位置情報としての座標値(X12,Y12,Z12)に関する情報と、保持不可ワークW2の三次元位置情報としての座標値(X22,Y22,Z22)に関する情報とが含まれている。
【0091】
第3画像G3及び第3画像データGD3は、第1手法を用いた行動パターンA3(
図7の行動A3)に基づくロボット2の変位動作後の画像及び画像データを示している。第3画像G3には、行動パターンA3に基づくロボット2の変位動作後における保持不可ワークW1,W2について、保持不可ワークW1に対応した画像領域GW1と、保持不可ワークW2に対応した画像領域GW2とが含まれている。また、第3画像データGD3には、保持不可ワークW1の三次元位置情報としての座標値(X13,Y13,Z13)に関する情報と、保持不可ワークW2の三次元位置情報としての座標値(X23,Y23,Z23)に関する情報とが含まれている。
【0092】
変位量観測部64は、基準画像データGDSと第1画像データGD1とに基づいて、第1手法を用いた行動パターンA1に基づくロボット2の変位動作が実行されたときの、保持不可ワークW1,W2の容器CN内での変位量を表す第1ワーク変位量WD1を観測する。第1ワーク変位量WD1は、保持不可ワークW1のワーク変位量(XD11,YD11,ZD11)と、保持不可ワークW2のワーク変位量(XD21,YD21,ZD21)とを含む。保持不可ワークW1のワーク変位量において「XD11」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X1」と、第1画像データGD1に含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X11」との差分を示す。また、保持不可ワークW1のワーク変位量において「YD11」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y1」と、第1画像データGD1に含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y11」との差分を示す。また、保持不可ワークW1のワーク変位量において「ZD11」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z1」と、第1画像データGD1に含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z11」との差分を示す。
【0093】
同様に、保持不可ワークW2のワーク変位量において「XD21」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X2」と、第1画像データGD1に含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X21」との差分を示す。また、保持不可ワークW2のワーク変位量において「YD21」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y2」と、第1画像データGD1に含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y21」との差分を示す。また、保持不可ワークW2のワーク変位量において「ZD21」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z2」と、第1画像データGD1に含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z21」との差分を示す。
【0094】
基準画像GSと第1画像G1との比較から明らかなように、第1手法を用いた行動パターンA1に基づくロボット2の変位動作後において保持不可ワークW1の位置は、変位動作前の位置と比較して殆ど変化していないが、保持不可ワークW2の位置は爪部261による保持スペースが確保される程度に変化している。このため、変位量観測部64によって観測された第1ワーク変位量WD1に含まれる保持不可ワークW1のワーク変位量(XD11,YD11,ZD11)の各値は「0;ゼロ」に近い値を示すが、保持不可ワークW2のワーク変位量(XD21,YD21,ZD21)の各値は保持不可ワークW2の変位に応じた値を示すことになる。
【0095】
第1手法を用いた行動パターンA1に基づくロボット2の変位動作によって、保持不可ワークW2が保持スペースの確保が可能に変位されると、
図7に示すように、ロボット2の状態が状態S31(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)とされる。
図7に示す例では、行動パターンA1に基づくロボット2の変位動作によって保持不可ワークW2の周囲に保持スペースが確保され、当該ワークW2が保持可能とされる。このため、状態変数の「d」が「1」であり、ワークW2の周囲に爪部261による保持スペースが確保されたことが示されている。
【0096】
また、変位量観測部64は、基準画像データGDSと第2画像データGD2とに基づいて、第1手法を用いた行動パターンA2に基づくロボット2の変位動作が実行されたときの、保持不可ワークW1,W2の容器CN内での変位量を表す第2ワーク変位量WD2を観測する。第2ワーク変位量WD2は、保持不可ワークW1のワーク変位量(XD12,YD12,ZD12)と、保持不可ワークW2のワーク変位量(XD22,YD22,ZD22)とを含む。保持不可ワークW1のワーク変位量において「XD12」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X1」と、第2画像データGD2に含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X12」との差分を示す。また、保持不可ワークW1のワーク変位量において「YD12」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y1」と、第2画像データGD2に含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y12」との差分を示す。また、保持不可ワークW1のワーク変位量において「ZD12」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z1」と、第2画像データGD2に含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z12」との差分を示す。
【0097】
同様に、保持不可ワークW2のワーク変位量において「XD22」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X2」と、第2画像データGD2に含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X22」との差分を示す。また、保持不可ワークW2のワーク変位量において「YD22」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y2」と、第2画像データGD2に含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y22」との差分を示す。また、保持不可ワークW2のワーク変位量において「ZD22」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z2」と、第2画像データGD2に含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z22」との差分を示す。
【0098】
基準画像GSと第2画像G2との比較から明らかなように、第1手法を用いた行動パターンA2に基づくロボット2の変位動作後において保持不可ワークW1の位置は、変位動作前の位置と比較して殆ど変化していないが、保持不可ワークW2の位置は保持スペースよりも小さい範囲で変化している。このため、変位量観測部64によって観測された第2ワーク変位量WD2に含まれる保持不可ワークW1のワーク変位量(XD12,YD12,ZD12)の各値は「0;ゼロ」に近い値を示すが、保持不可ワークW2のワーク変位量(XD22,YD22,ZD22)の各値は保持不可ワークW2の変位に応じた値を示すことになる。
【0099】
第1手法を用いた行動パターンA2に基づくロボット2の変位動作によって、保持不可ワークW2が保持スペースよりも小さい範囲で変位されると、
図7に示すように、ロボット2の状態が状態S32(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
図7に示す例では、行動パターンA2に基づくロボット2の変位動作によって保持不可ワークW2は変位されたけれども、その周囲に保持スペースが確保されておらず、当該ワークW2の保持が不可能である。このため、状態変数の「d」が「0」であり、ワークW2の周囲に爪部261による保持スペースが確保されていないことが示されている。
【0100】
また、変位量観測部64は、基準画像データGDSと第3画像データGD3とに基づいて、第1手法を用いた行動パターンA3に基づくロボット2の変位動作が実行されたときの、保持不可ワークW1,W2の容器CN内での変位量を表す第3ワーク変位量WD3を観測する。第3ワーク変位量WD3は、保持不可ワークW1のワーク変位量(XD13,YD13,ZD13)と、保持不可ワークW2のワーク変位量(XD23,YD23,ZD23)とを含む。保持不可ワークW1のワーク変位量において「XD13」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X1」と、第3画像データGD3に含まれる保持不可ワークW1の三次元位置情報におけるX座標値「X13」との差分を示す。また、保持不可ワークW1のワーク変位量において「YD13」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y1」と、第3画像データGD3に含まれる保持不可ワークW1の三次元位置情報におけるY座標値「Y13」との差分を示す。また、保持不可ワークW1のワーク変位量において「ZD13」は、基準画像データGDSに含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z1」と、第3画像データGD3に含まれる保持不可ワークW1の三次元位置情報におけるZ座標値「Z13」との差分を示す。
【0101】
同様に、保持不可ワークW2のワーク変位量において「XD23」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X2」と、第3画像データGD3に含まれる保持不可ワークW2の三次元位置情報におけるX座標値「X23」との差分を示す。また、保持不可ワークW2のワーク変位量において「YD23」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y2」と、第3画像データGD3に含まれる保持不可ワークW2の三次元位置情報におけるY座標値「Y23」との差分を示す。また、保持不可ワークW2のワーク変位量において「ZD23」は、基準画像データGDSに含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z2」と、第3画像データGD3に含まれる保持不可ワークW2の三次元位置情報におけるZ座標値「Z23」との差分を示す。
【0102】
基準画像GSと第3画像G3との比較から明らかなように、第1手法を用いた行動パターンA3に基づくロボット2の変位動作後において保持不可ワークW1,W2の位置は、変位動作前の位置と比較して殆ど変化していない。このため、変位量観測部64によって観測された第3ワーク変位量WD3に含まれる保持不可ワークW1のワーク変位量(XD13,YD13,ZD13)の各値と、保持不可ワークW2のワーク変位量(XD23,YD23,ZD23)の各値とは、「0;ゼロ」に近い値を示すことになる。
【0103】
第1手法を用いた行動パターンA3に基づくロボット2の変位動作が実行されると、
図7に示すように、ロボット2の状態が状態S33(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
図7に示す例では、行動パターンA3に基づくロボット2の変位動作によって保持不可ワークW2は殆ど変位されておらず、その周囲に保持スペースが確保されていないので、当該ワークW2の保持が不可能である。このため、状態変数の「d」が「0」であり、ワークW2の周囲に爪部261による保持スペースが確保されていないことが示されている。
【0104】
変位量観測部64によって保持不可ワークW1,W2のワーク変位量が観測されると、学習部63の報酬設定部631は、保持不可ワークW1,W2の少なくともいずれか一方のワーク(保持不可ワークW2)のワーク変位量が(閾値WDT×0.5)以上であるか否かを判定する(
図10のステップa8)。更に、報酬設定部631は、保持不可ワークW2のワーク変位量が閾値WDT以上であるか否かを判定する(
図10のステップa9)。報酬設定部631は、保持不可ワークW2のワーク変位量が所定の閾値WDT以上となるロボット2の行動パターン(
図7の行動A1)に対しては、第1の値R1(例えば「100」)の報酬Rを与える(
図10のステップa10)。報酬設定部631は、保持不可ワークW2のワーク変位量が(閾値WDT×0.5)以上且つ閾値WDT未満となるロボット2の行動パターン(
図7の行動A2)に対しては、第1の値R1よりも小さい第2の値R2(例えば「10」)の報酬Rを与える(
図10のステップa15)。報酬設定部631は、保持不可ワークW2のワーク変位量が(閾値WDT×0.5)未満となるロボット2の行動パターン(
図7の行動A3)に対しては、第2の値R2よりも小さい第3の値R3(例えば「0:ゼロ」)の報酬Rを与える(
図10のステップa14)。
【0105】
次に、学習部63の価値関数更新部632は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(
図10のステップa11,a16)。
【0106】
価値関数更新部632によって価値関数が更新されるごとに学習部63は、第1手法を用いて保持不可ワークW2を変位させる変位動作におけるロボット2の行動パターンの学習結果を表す学習結果情報JH1(
図9)を生成する。学習部63によって生成された学習結果情報JH1は、記憶部8に記憶される。学習結果情報JH1は、例えば、変位手法情報J11と、基準画像データ情報J12と、行動パターン情報J13と、ワーク変位量情報J14と、報酬情報J15とが関連付けられた情報である。変位手法情報J11は、ロボット2の変位動作の際に用いられた変位手法を表す情報である。基準画像データ情報J12は、判定部7が保持不可ワークの存否を判定する際に参照した基準画像データGDSを表す情報である。行動パターン情報J13は、ロボット2の変位動作の際に行動観測部62により観測されたロボット2の行動パターンを表す情報であり、行動パターンを規定する行動要素が含まれる。ワーク変位量情報J14は、ロボット2の変位動作の際に変位量観測部64により観測された保持不可ワークのワーク変位量を表す情報である。報酬情報J15は、行動観測部62により観測されたロボット2の行動パターンに対して報酬設定部631が設定した報酬Rを表す情報である。
【0107】
図9に例示される学習結果情報JH1においては、基準画像データ情報J12にて表される基準画像データGDSに対応した配置状況の保持不可ワークに対して、第1手法(変位手法情報J11)を用いた行動パターンA1,A2,A3(行動パターン情報J13)に基づくロボット2の変位動作が実行されたことが示されている。そして、第1手法を用いた行動パターンA1は、保持不可ワークのワーク変位量WD1が閾値WDT以上となり(ワーク変位量情報J14)、第1の値R1(=100)の報酬R(報酬情報J15)が与えられている。つまり、学習部63は、基準画像データGDSに対応した配置状況の保持不可ワークを保持スペースの確保が可能に変位させるための最適なロボット2の行動パターンとして、第1手法を用いた行動パターンA1を学習したことになる。
図7を参照して説明すると、学習部63は、第1手法を用いた行動パターンA1を規定する各行動要素を解析することによって、爪部261によって保持した一のワークW3の先端を保持不可ワークW2のどの位置に当接させて(当接位置CP)、どの方向にハンド部26が移動すれば(移動軌跡MT)、保持スペースの確保が可能に保持不可ワークW2を変位させることができるかを学習する。また、学習部63は、第1手法を用いた行動パターンA2,A3については、保持不可ワークの周囲に保持スペースを確保するには至らない行動パターンであることを学習したことになる。
【0108】
学習部63は、第1の値R1(=100)の報酬Rが与えられた行動パターン、すなわち、保持スペースが確保されるように保持不可ワークを変位させた行動パターンを認識した時点で学習処理を終了する。
図9に示す例では、学習部63は、第1の値R1(=100)の報酬Rが与えられた、第1手法を用いた行動パターンA1を認識した時点で学習処理を終了する。このように、第1の値R1(=100)の報酬Rが与えられた行動パターンに基づくロボット2の変位動作が実行されたときには、保持不可ワークの周囲に保持スペースが確保され、当該ワークの爪部261による保持が可能となる。従って、保持不可ワークの周囲に保持スペースが確保された後、行動決定部9は、前述した既存の行動パターンを記憶部8から読み出すことによって、保持スペースが確保されたワークに対するロボット2の行動パターンを決定し(
図10のステップa12)、その決定した行動パターンを制御装置4に向けて出力する(
図10のステップa13)。これにより、制御装置4の制御によってロボット2は、ハンド部26によって容器CNから保持スペースが確保されたワークを取り出し、その取り出したワークをパレットPLに載置するという、連続的な生産動作を実行する。
【0109】
一方、第2の値R2(=10)又は第3の値R3(=0)の報酬Rが与えられた行動パターン、すなわち、保持不可ワークの周囲に保持スペースを確保するには至らない行動パターンを認識した場合、学習部63は、学習処理の回数が所定の学習回数に達したか否かを判定する(
図10のステップa17)。第2の値R2(=10)又は第3の値R3(=0)の報酬Rが与えられた行動パターンの学習部63による認識が繰り返されて、所定の学習回数に達した場合、学習部63は、保持不可ワークの周囲に保持スペースの確保ができないと判断し、ワーク保持不可情報を出力する(
図10のステップa18)。ワーク保持不可情報は、ハンド部26の爪部261によるワークの保持が不可能であることを表す情報である。学習部63によってワーク保持不可情報が出力された場合、第1手法を用いた行動パターンに基づくロボット2の変位動作の実行時において、爪部261に保持されていた一のワークをパレットPLに載置する動作が実行された後、ロボット2の生産動作が中断される。ロボット2の生産動作が中断されると、作業者は、容器CN内におけるワークの収容状況を確認し、ハンド部26による保持が不可能であると想定されるワークを移動させる等の処置を行えばよい。
【0110】
なお、学習部63により生成された今回の学習結果を表す学習結果情報JH1は、次回以降のロボット2の変位動作の実行時に参照される。例えば、第1の値R1(=100)の報酬Rが与えられた行動パターンが登録された学習結果情報JH1が記憶部8に記憶されていることを想定する。記憶部8に記憶された学習結果情報JH1に登録されている基準画像データGDSにて表される配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63による変位動作に関する学習処理は省略される。この場合、行動決定部9は、記憶部8に記憶された学習結果情報JH1に登録されている、第1の値R1(=100)の報酬Rが与えられた行動パターンを読み出すことによって、変位動作の実行時におけるロボット2の行動パターンを決定する。行動決定部9は、記憶部8から読み出したロボット2の変位動作時の行動パターンを制御装置4に向けて出力する。変位動作時の行動パターンが入力された制御装置4は、当該行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261による保持スペースが周囲に確保されるように保持不可ワークを変位させる。
【0111】
以上説明したように、ハンド部26の爪部261による次の保持候補となるワークが保持不可ワークであることが判定部7によって判定された場合、学習部63は、保持スペースが確保されるように保持不可ワークを変位させることが可能な、第1手法を用いたロボット2の行動パターンを学習する。これにより、学習部63は、ハンド部26の爪部261による保持が不可能とされたワークの保持を可能とする、第1手法を用いたロボット2の最適な行動パターンを学習することができる。そして、次回のロボット2の生産動作において、行動決定部9は、学習部63により生成された学習結果情報JH1に登録された、第1の値R1(=100)の報酬Rが与えられた行動パターンを、保持不可ワークをハンド部26によって保持可能とするための行動パターンとして決定する。この行動パターンに従ってロボット2が変位動作を実行することにより、ハンド部26の爪部261による保持が不可能とされたワークの周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークの爪部261による保持が可能となる。このため、保持不可ワークの存在に起因してロボット2の動作を停止させることを可及的に回避することができ、ハンド部26による容器CNからのワークの取り出し動作を継続させることができる。
【0112】
なお、第1手法を用いた行動パターンに基づくロボット2の変位動作において、ロボット2の行動パターンは、
図7に例示されるものに限定されるわけではなく、例えば
図11に示す行動パターンであってもよい。
図11は、第1例の変位動作におけるロボット2の行動パターンの変形例を説明するための図である。
【0113】
図11に示す例では、ハンド部26の爪部261によって容器CN内の一のワークW3を保持したときに、ワークW1,W2の周囲に保持スペースが確保されておらず、ワークW1,W2が保持不可ワークとされている。このため、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。なお、
図11に示す例では、
図7に示す例と同様に、保持不可ワークW1は容器CNの内面に近接して配置され、保持不可ワークW2は保持不可ワークW1の側方において当該保持不可ワークW1に近接して配置されている。このため、保持不可ワークW1,W2の周囲に保持スペースが確保されていない。
【0114】
第1手法を用いたロボット2の行動パターンとして、
図11に例示される行動A4は、爪部261によって保持した一のワークW3の先端が容器CNの内面に近接して配置された保持不可ワークW1の長手方向一端面に当接(当接位置CP)した状態で、ハンド部26が移動(移動軌跡MT)するような行動パターンである。行動A4では、ハンド部26は、その移動途中において一のワークW3の先端の当接位置CPが保持不可ワークW1から保持不可ワークW2へ遷移するように、保持不可ワークW1,W2の並列方向に関して保持不可ワークW1から斜めに離れる方向に移動(移動軌跡MT)する。
【0115】
第1手法を用いた行動パターンA4(行動A4)に基づくロボット2の変位動作が実行されると、保持不可ワークW1及び保持不可ワークW2の双方のワークを変位させることが可能であり、少なくとも保持不可ワークW2については保持スペースが確保される程度に変位させることが可能である。
【0116】
報酬設定部631は、上記のような、複数の保持不可ワークW1,W2を変位させ、少なくとも1つの保持不可ワークW2を保持スペースが確保される程度に変位させる行動パターンA4については、第1の値R1(=100)よりも大きな値の報酬Rを与えるようにしてもよい。
【0117】
<変位動作の第2例について>
図12~
図14を参照して、変位動作の第2例について説明する。
図12は、保持不可ワークを変位させる変位動作の第2例を説明するための図である。
図13は、第2例の変位動作において学習部63によって生成される学習結果情報JH2を説明するための図である。
図14は、第2例の変位動作に関する機械学習装置5の動作を示すフローチャートである。第2例の変位動作は、第2手法を用いた行動パターンに基づくロボット2の変位動作である。
【0118】
状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p,d)に基づいて、ロボット2の状態が状態S2から状態S3へ移行されたことを観測する(
図14のステップb1)。ロボット2の状態が状態S2から状態S3へ移行されたとき、判定部7は、撮像装置3から出力された基準画像データを取得する(
図14のステップb2)。判定部7は、基準画像データに基づいて容器CN内での各ワークの収容状況を認識し、次の保持候補となるワークが保持不可ワークであるか否かを判定する(
図14のステップb3)。
【0119】
次の保持候補となるワークが保持不可ワークではないと判定部7によって判定された場合には、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)とされる。この場合、行動決定部9は、状態S3から状態S4へと移行させるための既存の行動パターンを記憶部8から読み出して制御装置4に向けて出力する。既存の行動パターンが入力された制御装置4は、当該既存の行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261によって保持された一のワークを容器CNから取り出す取り出し動作を実行する(
図14のステップb5)。
【0120】
一方、次の保持候補となるワークが保持不可ワークであると判定部7によって判定された場合には、
図12に示すように、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
図12に示す例では、ハンド部26の爪部261によって容器CN内の一のワークW3を保持したときに、ワークW1,W2の周囲に保持スペースが確保されておらず、ワークW1,W2が保持不可ワークとされている。なお、
図12に示す例では、
図7に示す例と同様に、保持不可ワークW1は容器CNの内面に近接して配置され、保持不可ワークW2は保持不可ワークW1の側方において当該保持不可ワークW1に近接して配置されている。このため、保持不可ワークW1,W2の周囲に保持スペースが確保されていない。
【0121】
次の保持候補となるワークW1,W2が保持不可ワークであると判定部7によって判定された場合、保持不可ワークであるワークW1及びワークW2の少なくともいずれか一方のワークを、爪部261による保持スペースが周囲に確保されるように変位させる変位動作が実行される。変位動作の第2例においては、ロボット2は、
図12に示すように、第2手法を用いた行動パターンに基づく変位動作によって保持不可ワークを変位させる。なお、第2手法は、前述したように、爪部261によって保持した一のワークW3をパレットPLに載置した後、ハンド部26が爪部261によって容器CNを保持した状態で移動することにより、容器CNの移動に応じて保持不可ワークを変位させる変位手法である。
【0122】
行動観測部62は、第2手法を用いたロボット2の行動パターンを観測する(
図14のステップb4)。
図12に示す例では、第2手法を用いたロボット2の行動パターンとして、行動A1、行動A2及び行動A3の3種の行動パターンが示されている。行動A1は、ハンド部26が爪部261によって容器CNを保持した状態で、保持不可ワークW1,W2の並列方向に対して保持不可ワークW1,W2に近づくように傾斜する方向に、所定の移動速度パターンで移動(移動軌跡MT)するような行動パターンである。行動A2は、ハンド部26の移動時における加速度が行動A1よりも遅く、移動速度パターンが異なる以外は、行動A1と同様の行動パターンである。行動A3は、ハンド部26が爪部261によって容器CNを保持した状態で、保持不可ワークW1,W2の並列方向に対して保持不可ワークW1,W2から離れるように傾斜する方向に、所定の移動速度パターンで移動(移動軌跡MT)するような行動パターンである。
【0123】
行動観測部62によって観測されるロボット2の行動パターンを規定する行動要素としては、前述の
図5に示される、把持角θ、把持位置HP、第1軸2Aにおける回転角β1及び回転速度パターン、第2軸2Bにおける回転角β2及び回転速度パターン、第3軸2Cにおける回転角β3及び回転速度パターン、第4軸2Dにおける回転角β4及び回転速度パターン、第5軸2Eにおける回転角β5及び回転速度パターン、第6軸2Fにおける回転角β6及び回転速度パターンが含まれる。
図5に示される各行動要素は、第2手法を用いたロボット2の行動パターンにおいて、爪部261が容器CNを保持する保持位置を決定付ける要素となり、ハンド部26の移動軌跡MTを決定付ける要素となり、ハンド部26の移動速度パターンを決定付ける要素となる。
【0124】
第2手法を用いた行動パターンに基づく変位動作が完了すると、変位量観測部64は、撮像装置3から出力された、変位動作後の画像データを取得する(
図14のステップb6)。変位動作後の画像データは、第2手法を用いたロボット2の行動パターンによって変位された後の保持不可ワークW1,W2に関する三次元位置情報を含む画像データとなる。変位量観測部64は、ロボット2による変位動作前における画像データであって、判定部7が保持不可ワークW1,W2の存否を判定するときに参照する基準画像データと、ロボット2による変位動作後における画像データとに基づいて、保持不可ワークW1,W2のワーク変位量を観測する(
図14のステップb7)。
【0125】
図12に示す例では、第2手法を用いた行動パターンA1に基づくロボット2の変位動作後において、保持不可ワークW1及び保持不可ワークW2の双方のワークが変位し、少なくとも保持不可ワークW2は保持スペースが確保される程度に変位している。第2手法を用いた行動パターンA1に基づくロボット2の変位動作によって、少なくとも保持不可ワークW2が保持スペースの確保が可能に変位されると、ロボット2の状態が状態S31(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)とされる。
【0126】
また、
図12に示す例では、第2手法を用いた行動パターンA2に基づくロボット2の変位動作後において、保持不可ワークW1は殆ど変位していないが、保持不可ワークW2は保持スペースよりも小さい範囲で変位している。第2手法を用いた行動パターンA2に基づくロボット2の変位動作によって、保持不可ワークW2は変位したけれども保持スペースよりも小さい範囲の変位であるので、ロボット2の状態が状態S32(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
【0127】
また、
図12に示す例では、第2手法を用いた行動パターンA3に基づくロボット2の変位動作後において、保持不可ワークW1及び保持不可ワークW2の双方のワークが殆ど変位していない。第2手法を用いた行動パターンA3に基づくロボット2の変位動作によって、保持不可ワークW1及び保持不可ワークW2の双方のワークが殆ど変位しておらず、その周囲に保持スペースが確保されていないので、ロボット2の状態が状態S33(変位動作後の状態)であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
【0128】
変位量観測部64によって保持不可ワークW1,W2のワーク変位量が観測されると、学習部63の報酬設定部631は、保持不可ワークW1,W2の少なくともいずれか一方のワーク(保持不可ワークW2)のワーク変位量が(閾値WDT×0.5)以上であるか否かを判定する(
図14のステップb8)。更に、報酬設定部631は、保持不可ワークW2のワーク変位量が閾値WDT以上であるか否かを判定する(
図14のステップb9)。報酬設定部631は、保持不可ワークW2のワーク変位量が所定の閾値WDT以上となるロボット2の行動パターン(
図12の行動A1)に対しては、第1の値R1(例えば「100」)の報酬Rを与える(
図14のステップb10)。報酬設定部631は、保持不可ワークW2のワーク変位量が(閾値WDT×0.5)以上且つ閾値WDT未満となるロボット2の行動パターン(
図12の行動A2)に対しては、第1の値R1よりも小さい第2の値R2(例えば「10」)の報酬Rを与える(
図14のステップb15)。報酬設定部631は、保持不可ワークW2のワーク変位量が(閾値WDT×0.5)未満となるロボット2の行動パターン(
図12の行動A3)に対しては、第2の値R2よりも小さい第3の値R3(例えば「0:ゼロ」)の報酬Rを与える(
図14のステップb14)。
【0129】
次に、学習部63の価値関数更新部632は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(
図14のステップb11,b16)。
【0130】
価値関数更新部632によって価値関数が更新されるごとに学習部63は、第2手法を用いて保持不可ワークW2を変位させる変位動作におけるロボット2の行動パターンの学習結果を表す学習結果情報JH2(
図13)を生成する。学習部63によって生成された学習結果情報JH2は、記憶部8に記憶される。学習結果情報JH2は、前述した
図9に示す学習結果情報JH1と同様に、例えば、変位手法情報J21と、基準画像データ情報J22と、行動パターン情報J23と、ワーク変位量情報J24と、報酬情報J25とが関連付けられた情報である。
【0131】
図13に例示される学習結果情報JH2においては、基準画像データ情報J22にて表される基準画像データGDSに対応した配置状況の保持不可ワークに対して、第2手法(変位手法情報J21)を用いた行動パターンA1,A2,A3(行動パターン情報J23)に基づくロボット2の変位動作が実行されたことが示されている。そして、第2手法を用いた行動パターンA1は、保持不可ワークのワーク変位量WD1が閾値WDT以上となり(ワーク変位量情報J24)、第1の値R1(=100)の報酬R(報酬情報J25)が与えられている。つまり、学習部63は、基準画像データGDSに対応した配置状況の保持不可ワークを保持スペースの確保が可能に変位させるための最適なロボット2の行動パターンとして、第2手法を用いた行動パターンA1を学習したことになる。
図12を参照して説明すると、学習部63は、第2手法を用いた行動パターンA1を規定する各行動要素を解析することによって、爪部261によって容器CNのどの位置を保持し(保持位置)、ハンド部26がどの方向に、どのような移動速度パターンで移動(移動軌跡MT)すれば、保持スペースの確保が可能に保持不可ワークW2を変位させることができるかを学習する。また、学習部63は、第2手法を用いた行動パターンA2,A3については、保持不可ワークの周囲に保持スペースを確保するには至らない行動パターンであることを学習したことになる。
【0132】
学習部63は、第1の値R1(=100)の報酬Rが与えられた行動パターン、すなわち、保持スペースが確保されるように保持不可ワークを変位させた行動パターンを認識した時点で学習処理を終了する。
図13に示す例では、学習部63は、第1の値R1(=100)の報酬Rが与えられた、第2手法を用いた行動パターンA1を認識した時点で学習処理を終了する。このように、第1の値R1(=100)の報酬Rが与えられた行動パターンに基づくロボット2の変位動作が実行されたときには、保持不可ワークの周囲に保持スペースが確保され、当該ワークの爪部261による保持が可能となる。従って、保持不可ワークの周囲に保持スペースが確保された後、行動決定部9は、前述した既存の行動パターンを記憶部8から読み出すことによって、保持スペースが確保されたワークに対するロボット2の行動パターンを決定し(
図14のステップb12)、その決定した行動パターンを制御装置4に向けて出力する(
図14のステップb13)。これにより、制御装置4の制御によってロボット2は、ハンド部26によって容器CNから保持スペースが確保されたワークを取り出し、その取り出したワークをパレットPLに載置するという、連続的な生産動作を実行する。
【0133】
一方、第2の値R2(=10)又は第3の値R3(=0)の報酬Rが与えられた行動パターン、すなわち、保持不可ワークの周囲に保持スペースを確保するには至らない行動パターンを認識した場合、学習部63は、学習処理の回数が所定の学習回数に達したか否かを判定する(
図14のステップb17)。第2の値R2(=10)又は第3の値R3(=0)の報酬Rが与えられた行動パターンの学習部63による認識が繰り返されて、所定の学習回数に達した場合、学習部63は、保持不可ワークの周囲に保持スペースの確保ができないと判断し、ワーク保持不可情報を出力する(
図14のステップb18)。学習部63によってワーク保持不可情報が出力された場合、第2手法を用いた行動パターンに基づくロボット2の変位動作の実行時において、爪部261による容器CNの保持を解除した後、ロボット2の生産動作が中断される。ロボット2の生産動作が中断されると、作業者は、容器CN内におけるワークの収容状況を確認し、ハンド部26による保持が不可能であると想定されるワークを移動させる等の処置を行えばよい。
【0134】
なお、学習部63により生成された今回の学習結果を表す学習結果情報JH2は、次回以降のロボット2の変位動作の実行時に参照される。例えば、第1の値R1(=100)の報酬Rが与えられた行動パターンが登録された学習結果情報JH2が記憶部8に記憶されていることを想定する。記憶部8に記憶された学習結果情報JH2に登録されている基準画像データGDSにて表される配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63による変位動作に関する学習処理は省略される。この場合、行動決定部9は、記憶部8に記憶された学習結果情報JH2に登録されている、第1の値R1(=100)の報酬Rが与えられた行動パターンを読み出すことによって、変位動作の実行時におけるロボット2の行動パターンを決定する。行動決定部9は、記憶部8から読み出したロボット2の変位動作時の行動パターンを制御装置4に向けて出力する。変位動作時の行動パターンが入力された制御装置4は、当該行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261による保持スペースが周囲に確保されるように保持不可ワークを変位させる。
【0135】
以上説明したように、ハンド部26の爪部261による次の保持候補となるワークが保持不可ワークであることが判定部7によって判定された場合、学習部63は、保持スペースが確保されるように保持不可ワークを変位させることが可能な、第2手法を用いたロボット2の行動パターンを学習する。これにより、学習部63は、ハンド部26の爪部261による保持が不可能とされたワークの保持を可能とする、第2手法を用いたロボット2の最適な行動パターンを学習することができる。そして、次回のロボット2の生産動作において、行動決定部9は、学習部63により生成された学習結果情報JH2に登録された、第1の値R1(=100)の報酬Rが与えられた行動パターンを、保持不可ワークをハンド部26によって保持可能とするための行動パターンとして決定する。この行動パターンに従ってロボット2が変位動作を実行することにより、ハンド部26の爪部261による保持が不可能とされたワークの周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークの爪部261による保持が可能となる。このため、保持不可ワークの存在に起因してロボット2の動作を停止させることを可及的に回避することができ、ハンド部26による容器CNからのワークの取り出し動作を継続させることができる。
【0136】
<変位動作の第3例について>
図15及び
図16を参照して、変位動作の第3例について説明する。
図15は、第3例の変位動作において学習部63によって生成される学習結果情報JH3を説明するための図である。
図16は、第3例の変位動作に関する機械学習装置5の動作を示すフローチャートである。第3例では、機械学習装置5は、保持不可ワークを変位させる変位手法を切り替えながら、保持スペースの確保が可能に保持不可ワークを変位させる最適な行動パターンを学習する。
【0137】
第3例によるロボット2の変位動作において試行される変位手法の種類、数、及び試行順位は、特に限定されるものではない。学習部63は、変位手法の種類、数、及び試行順位を、予め設定する。以下では、ロボット2の変位動作において、変位手法の試行順位が、前述の
図6に例示される第3手法、第4手法、第2手法、第5手法、第6手法の順位に設定されている場合について説明する。
【0138】
状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p,d)に基づいて、ロボット2の状態が状態S2から状態S3へ移行されたことを観測する(
図16のステップc1)。ロボット2の状態が状態S2から状態S3へ移行されたとき、判定部7は、撮像装置3から出力された基準画像データを取得する(
図16のステップc2)。判定部7は、基準画像データに基づいて容器CN内での各ワークの収容状況を認識し、次の保持候補となるワークが保持不可ワークであるか否かを判定する(
図16のステップc3)。
【0139】
次の保持候補となるワークが保持不可ワークではないと判定部7によって判定された場合には、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,1)とされる。この場合、行動決定部9は、状態S3から状態S4へと移行させるための既存の行動パターンを記憶部8から読み出して制御装置4に向けて出力する。既存の行動パターンが入力された制御装置4は、当該既存の行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261によって保持された一のワークを容器CNから取り出す取り出し動作を実行する(
図16のステップc5)。
【0140】
一方、次の保持候補となるワークが保持不可ワークであると判定部7によって判定された場合には、ロボット2の状態が状態S3であるときの状態変数(ΔX,ΔY,ΔZ,p,d)が(0,0,0,1,0)とされる。
【0141】
次の保持候補となるワークが保持不可ワークであると判定部7によって判定された場合、爪部261による保持スペースが周囲に確保されるように保持不可ワークを変位させる変位動作が実行される。変位動作の第3例においては、ロボット2は、まず、第3手法を用いた行動パターンに基づく変位動作によって保持不可ワークを変位させる試行を行う。なお、第3手法は、前述したように、爪部261によって保持した一のワークをパレットPLに載置した後、ハンド部26が爪部261を保持不可ワークに当接させた状態で移動することにより、当該保持不可ワークを変位させる変位手法である。
【0142】
行動観測部62は、第3手法を用いたロボット2の行動パターンを観測する(
図16のステップc4)。第3手法を用いた行動パターンに基づく変位動作が完了すると、変位量観測部64は、撮像装置3から出力された、変位動作後の画像データを取得する(
図16のステップc6)。変位動作後の画像データは、第3手法を用いたロボット2の行動パターンによって変位された後の保持不可ワークに関する三次元位置情報を含む画像データとなる。変位量観測部64は、ロボット2による変位動作前における画像データであって、判定部7が保持不可ワークの存否を判定するときに参照する基準画像データと、ロボット2による変位動作後における画像データとに基づいて、保持不可ワークのワーク変位量を観測する(
図16のステップc7)。
【0143】
変位量観測部64によって保持不可ワークのワーク変位量が観測されると、学習部63の報酬設定部631は、保持不可ワークのワーク変位量が(閾値WDT×0.5)以上であるか否かを判定する(
図16のステップc8)。更に、報酬設定部631は、保持不可ワークのワーク変位量が閾値WDT以上であるか否かを判定する(
図16のステップc9)。報酬設定部631は、保持不可ワークのワーク変位量が所定の閾値WDT以上となるロボット2の行動パターンに対しては、第1の値R1(例えば「100」)の報酬Rを与える(
図16のステップc10)。報酬設定部631は、保持不可ワークのワーク変位量が(閾値WDT×0.5)以上且つ閾値WDT未満となるロボット2の行動パターンに対しては、第1の値R1よりも小さい第2の値R2(例えば「10」)の報酬Rを与える(
図16のステップc15)。報酬設定部631は、保持不可ワークのワーク変位量が(閾値WDT×0.5)未満となるロボット2の行動パターンに対しては、第2の値R2よりも小さい第3の値R3(例えば「0:ゼロ」)の報酬Rを与える(
図16のステップc14)。
【0144】
次に、学習部63の価値関数更新部632は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(
図16のステップc11,c16)。
【0145】
第3手法を用いた行動パターンに対して第3の値R3(=0)の報酬Rが与えられた場合、学習部63は、当該第3手法を用いた行動パターンに対して、基準回数(例えば「20」)連続して第3の値R3(=0)の報酬Rが与えられたか否かを判定する(
図16のステップc17)。第3手法を用いた行動パターンに対して基準回数(=20)連続して第3の値R3(=0)の報酬Rが与えられた場合、学習部63は、この第3手法が保持不可ワークを変位させる適正度の低い変位手法であると判断し、変位手法を第3手法から次の試行順位の第4手法に切り替える(
図16のステップc18)。なお、第4手法は、前述したように、爪部261によって保持した一のワークをパレットPLに載置した後、他の容器から取り出したワークWSを爪部261によって保持させ、ハンド部26がワークWSを保持不可ワークに当接させた状態で移動することにより、当該保持不可ワークを変位させる変位手法である。
【0146】
学習部63は、学習処理の回数が所定の学習回数に達したか否かを判定し(
図16のステップc19)、所定の学習回数に達していない場合にはステップc18において切り替えられた第4手法を用いた行動パターンに関する学習処理を、ステップc4に戻って上記の第3手法の場合と同様に行う。一方、所定の学習回数に達した場合、学習部63は、現時点までに試行してきた変位手法では保持不可ワークの周囲に保持スペースの確保ができないと判断し、ワーク保持不可情報を出力する(
図16のステップc20)。学習部63によってワーク保持不可情報が出力された場合、ロボット2の生産動作が中断される。ロボット2の生産動作が中断されると、作業者は、容器CN内におけるワークの収容状況を確認し、ハンド部26による保持が不可能であると想定されるワークを移動させる等の処置を行えばよい。
【0147】
以下では、所定の学習回数の範囲内で第3手法に続いて第4手法、第2手法、第5手法、第6手法の順番に、変位手法が試行されたものとして説明を続ける。
【0148】
上記の第3手法を用いた行動パターンに対しては、基準回数(=20)連続して第3の値R3(=0)の報酬Rが与えられた。このため、学習部63は、第3手法が保持不可ワークを変位させる適正度の低い変位手法であると判断した。第3手法の次に試行された第4手法を用いた行動パターンに対しては、第3の値R3(=0)の報酬Rが基準回数よりも少ない「19」回連続して与えられ、第2の値R2(=10)の報酬Rが「1」回与えられたものとする。この場合、学習部63は、第3手法よりも第4手法の方が保持不可ワークを変位させる適正度は僅かに高いけれども、第1の値R1(=100)の報酬Rが与えられていないのであるから、保持スペースの確保が可能に保持不可ワークを変位させるには至っていないと判断する。このため、学習部63は、変位手法を第4手法から次の試行順位の第2手法に切り替える。なお、第2手法は、前述したように、爪部261によって保持した一のワークをパレットPLに載置した後、ハンド部26が爪部261によって容器CNを保持した状態で移動することにより、容器CNの移動に応じて保持不可ワークを変位させる変位手法である。
【0149】
第4手法の次に試行された第2手法を用いた行動パターンに対しては、第3の値R3(=0)の報酬Rが基準回数よりも少ない「15」回連続して与えられ、その後、第1の値R1(=100)の報酬Rが与えられたものとする。この場合、学習部63は、第1の値R1(=100)の報酬Rが与えられた時点で保持不可ワークの周囲に保持スペースが確保されたと判断し、学習処理を終了する。
【0150】
第1の値R1(=100)の報酬Rが与えられた、第2手法を用いた行動パターンに基づくロボット2の変位動作が実行されたときには、保持不可ワークの周囲に保持スペースが確保され、当該ワークの爪部261による保持が可能となる。従って、保持不可ワークの周囲に保持スペースが確保された後、行動決定部9は、前述した既存の行動パターンを記憶部8から読み出すことによって、保持スペースが確保されたワークに対するロボット2の行動パターンを決定し(
図16のステップc12)、その決定した行動パターンを制御装置4に向けて出力する(
図16のステップc13)。これにより、制御装置4の制御によってロボット2は、ハンド部26によって容器CNから保持スペースが確保されたワークを取り出し、その取り出したワークをパレットPLに載置するという、連続的な生産動作を実行する。
【0151】
上記のように、第2手法を用いた行動パターンに対しては第1の値R1(=100)の報酬Rが与えられたので、学習部63は学習処理を終了した。しかしながら、第2手法を用いた行動パターンは、第3の値R3(=0)の報酬Rが与えられた回数が「0;ゼロ」ではなく、基準回数よりは少ないものの「15」回連続して第3の値R3(=0)の報酬Rが与えられている。このため、学習部63は、第2手法については、判定部7によって取得された基準画像データにて表される、今回試行した配置状況の保持不可ワークを変位させるための変位手法として、最適な手法ではないと判断する。従って、今回試行した配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63は、第2手法に対して次の試行順位の第5手法を用いた行動パターンに関する学習処理を実行する。なお、第5手法は、前述したように、爪部261によって保持した一のワークをパレットPLに載置した後、専用治具JGを爪部261によって保持させ、ハンド部26が専用治具JGを保持不可ワークに当接させた状態で移動することにより、当該保持不可ワークを変位させる変位手法である。
【0152】
第5手法を用いた行動パターンに対しては、第3の値R3(=0)の報酬Rが与えられた回数が「0;ゼロ」であり、第1の値R1(=100)の報酬Rが与えられたものとする。この場合、学習部63は、今回試行した配置状況の保持不可ワークを変位させるための変位手法として第5手法が最適な手法であると判断し、第1の値R1(=100)の報酬Rが与えられた時点で学習処理を終了する。学習部63は、今回試行した配置状況の保持不可ワークを変位させるための変位手法として第5手法が最適な手法であると判断したので、第5手法に対して次の試行順位に設定されていた第6手法については試行を未実施とする。
【0153】
学習部63は、変位手法を切り替えながら保持不可ワークを変位させる変位動作におけるロボット2の行動パターンの学習結果を表す学習結果情報JH3(
図15)を生成する。学習部63によって生成された学習結果情報JH3は、記憶部8に記憶される。学習結果情報JH3は、例えば、基準画像データ情報J31と、変位手法情報J32と、報酬情報J33と、報酬ゼロ連続回数情報J34と、修正係数情報J35とが関連付けられた情報である。
【0154】
基準画像データ情報J31は、判定部7が保持不可ワークの存否を判定する際に参照した基準画像データGDSを表す情報である。変位手法情報J32は、学習部63によって設定された変位手法を表す情報である。
図15に示す例では、変位手法情報J32として、試行順位の順に第3手法、第4手法、第2手法、第5手法及び第6手法が登録されている。報酬情報J33は、行動観測部62により観測されたロボット2の行動パターンに対して報酬設定部631が設定した報酬Rを表す情報である。
図15に示す例では、第3手法に対しては第3の値R3(=0)の報酬Rが与えられ、第4手法に対しては第2の値R2(=10)の報酬Rが与えられ、第2手法及び第5手法に対しては第1の値R1(=100)の報酬Rが与えられたことが示されている。なお、第6手法については試行が未実施であるため、その旨を表す「未実施」が登録されている。
【0155】
報酬ゼロ連続回数情報J34は、変位手法情報J32にて表される変位手法を用いた行動パターンに基づくロボット2の変位動作の試行において、第3の値R3(=0)の報酬Rが与えられた連続回数を表す情報である。
図15に示す例では、第3の値R3(=0)の報酬Rが与えられた連続回数は、第3手法が前記基準回数と同じ「20」であり、第4手法が「19」であり、第2手法が「15」であり、第5手法が「0」であることが示されている。なお、第6手法については試行が未実施であることを表す「未実施」が登録されている。
【0156】
修正係数情報J35は、変位手法情報J32にて表される変位手法の、保持不可ワークを変位させる適正度の指標となる修正係数εを表す情報である。修正係数情報J35にて表される修正係数εは、各変位手法の試行回数の基準となる前記基準回数「M」と、報酬ゼロ連続回数情報J34にて表される第3の値R3(=0)の報酬Rが与えられた連続回数「K」とに基づいて、「修正係数ε=(M-K)/M」の式に従って学習部63によって算出される。修正係数εは、第3の値R3(=0)の報酬Rが与えられた連続回数「K」が少ないほど大きくなる。つまり、修正係数εが大きくなるほど、保持不可ワークを変位させる適正度が高くなる。
図15に示す例では、修正係数εは、第3手法が「0」であり、第4手法が「0.05」であり、第2手法が「0.25」であり、第5手法が「1」であることが示されている。なお、第6手法については試行が未実施であることを表す「未実施」が登録されている。学習部63によって算出された修正係数εは、上記式(1)で示される価値Q(s,a)の更新式の「ε」に反映される。なお、上記式(1)で示される価値Q(s,a)の更新式の「ε」は、学習部63によって修正係数εが算出されるまでは、「ε=1」とされる。
【0157】
学習部63により生成された学習結果情報JH3は、次回以降のロボット2の変位動作の実行時に参照される。記憶部8に記憶された学習結果情報JH3に登録されている基準画像データGDSにて表される配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63は、報酬情報J33及び修正係数情報J35を参照し、新たな学習処理が必要であるか否かを判断する。具体的には、学習部63は、変位手法情報J32にて表される変位手法ごとに、修正係数情報J35にて表される修正係数εを報酬情報J33にて表される報酬Rに乗算し、修正された修正報酬値(上記式(1)の「εR(s,a)」に相当する)を算出する。修正報酬値は、保持不可ワークを変位させる適正度の指標となる修正係数εを報酬Rに乗算した値であるので、変位手法ごとに与えられる適正度を加味した報酬であると言える。
【0158】
学習部63は、学習結果情報JH3に基づき、修正報酬値が第1の値R1(=100)の報酬Rと同値の変位手法を認識した場合、すなわち、第1の値R1(=100)の報酬Rが与えられ、且つ修正係数εが「1」の変位手法(
図15における第5手法が相当)を認識した場合、その変位手法が保持不可ワークを変位させるための最適な手法であると判断し、学習処理を省略する。この場合、行動決定部9は、記憶部8に記憶された学習結果情報JH3に登録されている第5手法を用いた行動パターンを、変位動作の実行時におけるロボット2の行動パターンとして決定する。行動決定部9は、決定した第5手法を用いた行動パターンを制御装置4に向けて出力する。変位動作時の行動パターンが入力された制御装置4は、当該行動パターンに基づいて、ロボット2の動作を制御する。制御装置4の制御によってロボット2は、爪部261による保持スペースが周囲に確保されるように保持不可ワークを変位させる。
【0159】
また、第1の値R1(=100)の報酬Rが与えられ、且つ修正係数εが「1」の変位手法(
図15における第5手法が相当)を認識した場合、上記のように学習処理を省略してもよいが、その認識した手法の試行回数が少ない場合は、再度学習処理を始めることでロバスト性を高めることもできる。学習部63は、認識した手法の試行回数が少ない場合には、その変位手法を、保持不可ワークを変位させるための最適な手法の候補(最適候補手法:
図15の例では第5手法)であると判断し、その最適候補手法について再度学習処理を実行する。学習部63は、最適候補手法について再度学習処理を実行する際、その試行回数を予め設定しておき、設定された試行回数のうちの第1の値R1(=100)の報酬Rが与えられた回数の割合で評価して、修正係数εを算出するようにしてもよい。例えば、最適候補手法の試行回数を「3回」に設定し、基準画像データGDSにて表される配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって「3回」判定された場合、学習部63は、その都度、保持不可ワークを変位させる変位手法として最適候補手法を選択し、第1の値R1(=100)の報酬Rが与えられた回数に応じて修正係数εを算出する。学習部63は、最適候補手法を「3回」試行し、「3回」とも第1の値R1(=100)の報酬Rが与えられた場合には、修正係数εを「1」に設定し、その最適候補手法とされていた変位手法が保持不可ワークを変位させるための最適な手法であると判断する。
【0160】
また、一旦例えば上述の
図15における第5手法のように、ある変位手法が保持不可ワークを変位させるための最適な手法であると判断された後、記憶部8に記憶された学習結果情報JH3に登録されている基準画像データGDSにて表される配置状況と同一又は類似した配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63は、
図16に示す学習処理を繰り返して実行するようにしてもよい。この場合、
図16のステップc4において最初に試行する変位手法として、
図15における第5手法のように一旦最適な手法であると判断された手法を用いればよいが、その後、その手法に対して第1の値R1(=100)の報酬Rが与えられなかった場合には、例えば
図15における第6手法等の他の変位手法を試行するようにしてもよい。すなわち、学習部63は、最適と判断する手法が変わることを許容してもよい。
【0161】
なお、記憶部8に記憶された学習結果情報JH3に登録されている基準画像データGDSにて表される配置状況とは大きく異なる配置状況の保持不可ワークの存在が判定部7によって判定された場合、学習部63は、予め設定した試行順位に従って各変位手法を用いた行動パターンに基づくロボット2の変位動作を試行し、その行動パターンを学習する。
【0162】
以上説明したように、ハンド部26の爪部261による次の保持候補となるワークが保持不可ワークであることが判定部7によって判定された場合、学習部63は、保持スペースが確保されるように保持不可ワークを変位させることが可能な、最適な変位手法を学習するとともに、当該変位手法を用いたロボット2の行動パターンを学習する。これにより、学習部63は、ハンド部26の爪部261による保持が不可能とされたワークの保持を可能とする、最適な変位手法を用いたロボット2の最適な行動パターンを学習することができる。そして、次回のロボット2の生産動作において、行動決定部9は、学習部63により生成された学習結果情報JH3に基づいて最適な変位手法を用いた行動パターンを、保持不可ワークをハンド部26によって保持可能とするための行動パターンとして決定する。この行動パターンに従ってロボット2が変位動作を実行することにより、ハンド部26の爪部261による保持が不可能とされたワークの周囲に、爪部261による保持を可能とするための保持スペースが確保され、当該ワークの爪部261による保持が可能となる。このため、保持不可ワークの存在に起因してロボット2の動作を停止させることを可及的に回避することができ、ハンド部26による容器CNからのワークの取り出し動作を継続させることができる。
【0163】
なお、上記では、1つの変位手法を用いた行動パターンに基づく変位動作によって保持不可ワークを変位させる試行を行っているが、複数の手法が組み合わされた行動パターンに基づく変位動作を試行するようにしてもよい。この場合、例えば、専用治具JGを用いた第5手法と、容器CNを移動させる第2手法とが組み合わされた行動パターンに基づく変位動作の試行が考えられる。
【0164】
また、例えば、パレットPLに載置後のワークについて、ロボット2の変位動作に起因した傷等が発生しているかなどを検査し、その検査結果を加味した報酬Rを、ロボット2の変位動作に対応した行動パターンに与えるようにしてもよい。この場合、例えば、保持スペースの確保が可能に保持不可ワークを変位させ、且つ、傷等が発生しないような変位手法を用いた行動パターンに対しては、第1の値R1(=100)に所定値(例えば「1」)を加算した値の報酬Rを与えるようにすればよい。
【符号の説明】
【0165】
1 ロボットシステム
2 ロボット
26 ハンド部
3 撮像装置
4 制御装置
5 機械学習装置
6 学習処理部
61 状態観測部
62 行動観測部
63 学習部
64 変位量観測部
7 判定部
8 記憶部
9 行動決定部