JPWO2019239562A1 - 機械学習装置及びこれを備えたロボットシステム - Google Patents
機械学習装置及びこれを備えたロボットシステム Download PDFInfo
- Publication number
- JPWO2019239562A1 JPWO2019239562A1 JP2020525043A JP2020525043A JPWO2019239562A1 JP WO2019239562 A1 JPWO2019239562 A1 JP WO2019239562A1 JP 2020525043 A JP2020525043 A JP 2020525043A JP 2020525043 A JP2020525043 A JP 2020525043A JP WO2019239562 A1 JPWO2019239562 A1 JP WO2019239562A1
- Authority
- JP
- Japan
- Prior art keywords
- work
- robot
- unit
- container
- action
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
- Multimedia (AREA)
Abstract
ロボットシステム(1)に備えられるロボット(2)の動作は、機械学習装置(5)の学習結果に基づいて制御される。機械学習装置(5)は、行動観測部(62)、変位量観測部(63)及び学習部(64)を備える。行動観測部(62)は、容器(CN)からワーク(W)を取り出すときのロボット(2)の行動パターンを観測する。変位量観測部(63)は、撮像装置(3)から出力される、ロボット(2)の取り出し動作の前後における各画像データに基づいて、容器(CN)内の一のワークが取り出されたときの、他のワークの容器(CN)内での変位量を表すワーク変位量を観測する。学習部(64)は、ロボット(2)が容器(CN)から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度(IM)を、ロボット(2)の行動パターンと対応付けて学習する。
Description
本発明は、バラ積みされた状態のワークを取り出すロボットの動作を学習する機械学習装置、及びこの機械学習装置を備えたロボットシステムに関する。
複数のワークをバラ積みされた状態で収容する容器からワークを取り出すシステムとして、ハンド部を備えたロボットによってワークを取り出すロボットシステムが知られている(特許文献1参照)。特許文献1に開示されるロボットシステムは、ロボットの取り出し動作を学習する機械学習装置を備えている。機械学習装置は、三次元計測器により計測されたワークの三次元マップに対応したロボットの動作と、ワークの取り出しの成否の判定結果とを関連付けた教師データに基づいて、容器からワークを取り出す際のロボットの動作を学習している。
しかしながら、ワークの取り出しの成否の判定結果を含む教師データを用いた学習では、ロボットの最適な取り出し動作を学習しているとは言えない。つまり、ロボットのハンド部による容器からの一のワークの取り出しが成功したとしても、その取り出し動作によって容器内の他のワークに影響を及ぼす場合がある。例えば、容器から一のワークを取り出すときに、ハンド部や当該ハンド部に把持された一のワークが他のワークに衝撃力を作用させてしまう場合がある。或いは、一のワークが取り出されることにより、他のワークが崩れてしまう場合がある。このように、一のワークの取り出し動作によって容器内の他のワークに影響を及ぼした場合には、ワークが破損してしまう虞がある。
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することにある。
本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
以下、本発明の実施形態に係る機械学習装置及びロボットシステムについて図面に基づいて説明する。
[ロボットシステムの全体構成]
図1は、本発明の一実施形態に係るロボットシステム1の構成を示すブロック図である。ロボットシステム1は、ロボット2と、撮像装置3と、制御装置4と、機械学習装置5とを備える。ロボットシステム1においては、撮像装置3から出力される画像データに基づき機械学習装置5がロボット2の動作を学習し、その学習結果に基づき制御装置4がロボット2の動作を制御する。
図1は、本発明の一実施形態に係るロボットシステム1の構成を示すブロック図である。ロボットシステム1は、ロボット2と、撮像装置3と、制御装置4と、機械学習装置5とを備える。ロボットシステム1においては、撮像装置3から出力される画像データに基づき機械学習装置5がロボット2の動作を学習し、その学習結果に基づき制御装置4がロボット2の動作を制御する。
まず、図2を参照しながらロボット2について説明する。図2は、ロボットシステム1に備えられるロボット2の一例を示す図である。ロボット2は、複数のワークWをバラ積みされた状態で収容する容器CNから、当該ワークWを取り出すためのロボットである。容器CNは、上方側が開口した有底筒状に形成されている。ロボット2は、容器CNの上方側の開口を介してワークWを取り出す。
ロボット2は、容器CNからワークWを取り出すことが可能なハンド部を備えたロボットであれば特に限定されるものではなく、例えば、垂直多関節ロボットや水平多関節ロボット、或いは双腕型の多関節ロボットを採用することができる。以下では、図2に示す6軸垂直多関節ロボットを例として、ロボット2の構成について説明する。なお、垂直多関節ロボットにおいて軸の数は、6軸に限定されるものではなく、任意の軸数でよい。ロボット2は、ベース部21と、胴部22と、第1アーム23と、第2アーム24と、手首部25と、ハンド部26とを備える。
ベース部21は、床や台等に固定設置され、内部に不図示の駆動モーター等を収容する箱体である。胴部22は、ベース部21の上面において、鉛直方向(上下方向)に延びる第1軸2A回りに、正逆両方向に回転可能に配置される。第1アーム23は、所定の長さを有するアーム部材であり、その長手方向の一端部が水平方向に延びる第2軸2Bを介して胴部22に取り付けられている。第1アーム23は、第2軸2B回りに、正逆両方向に回転可能である。
第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回りに、正逆両方向に回転可能である。
手首部25は、第2軸2B及び第3軸2Cに対して平行且つ水平方向に延びる第5軸2Eを介して、アーム部242の長手方向他端部に取り付けられている。手首部25は、第5軸2E回りに、正逆両方向に回転可能である。
ハンド部26は、ロボット2において容器CNからワークWを取り出す部分であり、第5軸2Eに対して垂直な第6軸2Fを介して手首部25に取り付けられている。ハンド部26は、第6軸2F回りに、正逆両方向に回転可能である。ハンド部26は、容器CN内のワークWを保持可能な構造であれば特に限定されるものではなく、例えば、ワークWを把持して保持する複数の爪部を備えた構造であってもよいし、ワークWに対して吸引力を発生する電磁石又は負圧発生装置を備えた構造であってもよい。本実施形態では、ハンド部26は、複数の爪部を備えた構造を有し、容器CN内のワークWを把持することによって当該ワークWを取り出す。
次に、撮像装置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に備えられる変位量観測部63及び行動決定部71に入力される。
次に、制御装置4は、ロボット2の動作を制御するとともに、撮像装置3の動作を制御する。制御装置4は、後述の機械学習装置5に備えられる行動決定部71及び順位設定部72によって生成される情報に基づいて、ロボット2及び撮像装置3の双方の動作を制御する。
[機械学習装置の構成]
次に、機械学習装置5について説明する。機械学習装置5は、図1に示すように、ロボット2の動作を学習(機械学習)する学習処理を実行する学習処理部6と、その学習結果をロボット2の動作として反映させる学習反映処理を実行する学習反映処理部7とを備える。機械学習装置5が実行する学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、機械学習装置5における学習の手法として、強化学習としてのQ学習の手法が採用されている。Q学習は、ロボット2の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット2の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、機械学習装置5が実行する強化学習としてのQ学習は、例えば、ニューラルネットワーク(Neural Network)を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン(神経細胞)の機能を模した論理回路を多層に積層して構成されたものである。
次に、機械学習装置5について説明する。機械学習装置5は、図1に示すように、ロボット2の動作を学習(機械学習)する学習処理を実行する学習処理部6と、その学習結果をロボット2の動作として反映させる学習反映処理を実行する学習反映処理部7とを備える。機械学習装置5が実行する学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、機械学習装置5における学習の手法として、強化学習としてのQ学習の手法が採用されている。Q学習は、ロボット2の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット2の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、機械学習装置5が実行する強化学習としてのQ学習は、例えば、ニューラルネットワーク(Neural Network)を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン(神経細胞)の機能を模した論理回路を多層に積層して構成されたものである。
<学習処理部について>
学習処理部6は、ロボット2の動作を学習する学習処理を実行する部分であり、状態観測部61と、行動観測部62と、変位量観測部63と、学習部64とを含んで構成される。
学習処理部6は、ロボット2の動作を学習する学習処理を実行する部分であり、状態観測部61と、行動観測部62と、変位量観測部63と、学習部64とを含んで構成される。
(状態観測部について)
図3は、状態観測部61の動作を説明するための図である。なお、図3においては、ロボット2及び容器CNを上方から見た状態が示されており、容器CN内には3つのワークW1,W2,W3がバラ積みされている。ロボット2は、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置するという、連続的な動作を実行する。状態観測部61は、ロボット2の連続的な動作を複数の状態に区分し、そのロボット2の状態を観測する。
図3は、状態観測部61の動作を説明するための図である。なお、図3においては、ロボット2及び容器CNを上方から見た状態が示されており、容器CN内には3つのワークW1,W2,W3がバラ積みされている。ロボット2は、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置するという、連続的な動作を実行する。状態観測部61は、ロボット2の連続的な動作を複数の状態に区分し、そのロボット2の状態を観測する。
状態観測部61が観測するロボット2の状態の数は、特に限定されるものではないが、図3では、状態S1、状態S2、状態S3及び状態S4の4つの状態が示されている。状態S1は、ロボット2のハンド部26がパレットPLの上方における所定の位置に配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S2は、ハンド部26によって容器CN内の把持対象となるワークW3を把持する直前の状態であって、ワークW3の真上における所定の位置にハンド部26が配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S3は、ハンド部26が容器CN内の把持対象となるワークW3を把持するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S4は、ハンド部26によって把持したワークW3をパレットPLに載置するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。ロボット2は、状態S1、状態S2、状態S3、状態S4の順に状態を連続的に移行することにより、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置する。
ロボット2の状態は、状態変数(ΔX,ΔY,ΔZ,p)によって規定される。状態変数(ΔX,ΔY,ΔZ,p)は、ロボット2の状態が移行されるごとに変化する変数である。
状態変数の「ΔX」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するX座標値を基準値(以下、「X基準値」と称する)とし、ハンド部26の位置に関するX座標値(以下、「ハンドX値」と称する)の前記X基準値に対する差異を表す。状態変数の「ΔY」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するY座標値を基準値(以下、「Y基準値」と称する)とし、ハンド部26の位置に関するY座標値(以下、「ハンドY値」と称する)の前記Y基準値に対する差異を表す。状態変数の「ΔZ」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するZ座標値を基準値(以下、「Z基準値」と称する)とし、ハンド部26の位置に関するZ座標値(以下、「ハンドZ値」と称する)の前記Z基準値に対する差異を表す。状態変数の「p」は、ハンド部26がワークW3を把持しているか否かを表す。状態変数の「p」は、ハンド部26がワークW3を把持している場合には「1」とされ、ハンド部26がワークW3を把持していない場合には「0:ゼロ」とされる。
ロボット2の状態が状態S1である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、ワークW3を把持していない。このため、ロボット2の状態S1を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「0:ゼロ」を示す。
ロボット2の状態が状態S2である場合には、ハンド部26は、容器CNに対してX軸及びY軸の各軸方向には離れていないけれどもZ軸方向には離れており、ワークW3を把持していない。このため、ロボット2の状態S2を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」及び「ΔY」がそれぞれ「0;ゼロ」を示し、「ΔZ」が所定の値「ZA」を示し、「p」が「0;ゼロ」を示す。
ロボット2の状態が状態S3である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向には離れておらず、ワークW3を把持している。このため、ロボット2の状態S3を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ「0;ゼロ」を示し、「p」が「1」を示す。
ロボット2の状態が状態S4である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、ワークW3を把持している。このため、ロボット2の状態S4を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「1」を示す。
状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p)に基づいて、ロボット2の状態が状態S1、状態S2、状態S3及び状態S4の何れの状態であるかを認識することができる。なお、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢等の違いにより、複数のサブ状態が存在する。状態観測部61は、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、サブ状態についても観測する。ハンド部26が把持したワークW3をパレットPLに載置するという、ロボット2の最終目標の状態を示す状態S4については、状態S1、状態S2及び状態S3のようなサブ状態は存在しない。
(行動観測部について)
図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」が存在することが示されている。
図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」が存在することが示されている。
行動観測部62は、ロボット2の状態が移行されるときのロボット2の行動パターンを観測する。より詳しくは、行動観測部62は、ロボット2の行動パターンについて、ロボット2の状態が状態S1から状態S2へ移行されるときの行動パターン、状態S2から状態S3へ移行されるときの行動パターン、状態S3から状態S4へ移行されるときの行動パターンをそれぞれ観測する。状態が移行されるときにロボット2が取り得る行動パターンは、状態S1、状態S2及び状態S3の各々におけるサブ状態の存在数に応じて、複数存在する(行動A1、行動A2、・・・行動An)。なお、ロボット2の状態が状態S2から状態S3へ移行されるときには、ハンド部26によって容器CNから一のワークWを取り出す取り出し動作が実行されている。
行動観測部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の行動パターンを規定する行動要素に含まれる各軸における回転角及び回転速度パターンは、軸数に応じたものとなる。
把持角θは、ハンド部26においてワークWを把持するための2つの爪部の成す角度である(図2参照)。把持位置HPは、ハンド部26が一のワークWを取り出すときの、当該一のワークWを把持する位置を表す。第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が逆方向に回転するときには「負;マイナス」の回転角で示される。
第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が逆方向に回転するときには「負;マイナス」の回転角で示される。
各軸2A〜2Fにおける回転速度パターンは、各軸回りの回転速度のパターンを表し、図5に示す第1パターン、第2パターン及び第3パターンに区分される。回転速度の第1パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、2つの領域からなる。回転速度の第2パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から一定時間の間で回転速度が等速となる等速領域と、等速領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、3つの領域からなる。回転速度の第3パターンは、時間経過に伴って回転速度が曲線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が曲線的に下降する下降領域との、2つの領域からなる。
行動観測部62は、各行動要素に基づいて、ロボット2の状態が移行されるときの行動パターンを認識することができる。
(変位量観測部について)
図6は、変位量観測部63の動作を説明するための図である。変位量観測部63は、ロボット2の状態が状態S2から状態S3へ移行されるとき、すなわち、容器CN内の一のワークWがハンド部26によって取り出される取り出し動作が行われたときの、ワーク変位量を観測する。ワーク変位量は、ハンド部26によって取り出された一のワーク以外の他のワークWの容器CN内での変位量を表す。変位量観測部63は、撮像装置3から出力される、ロボット2の取り出し動作の前後における各画像データに基づいて、他のワークWのワーク変位量を観測する。
図6は、変位量観測部63の動作を説明するための図である。変位量観測部63は、ロボット2の状態が状態S2から状態S3へ移行されるとき、すなわち、容器CN内の一のワークWがハンド部26によって取り出される取り出し動作が行われたときの、ワーク変位量を観測する。ワーク変位量は、ハンド部26によって取り出された一のワーク以外の他のワークWの容器CN内での変位量を表す。変位量観測部63は、撮像装置3から出力される、ロボット2の取り出し動作の前後における各画像データに基づいて、他のワークWのワーク変位量を観測する。
図6に示す例では、ロボット2の取り出し動作前において、撮像装置3におけるカメラ31の撮像動作によって基準画像GSが取得され、画像処理部32の基準画像GSに対する画像処理によって基準画像データGDSが生成されている。基準画像GSには、容器CN内にバラ積み状態で収容される3つのワークW1,W2,W3について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2と、ワークW3に対応した画像領域GW3とが含まれている。また、基準画像データGDSには、ワークW1の三次元位置情報としての座標値(X1,Y1,Z1)に関する情報と、ワークW2の三次元位置情報としての座標値(X2,Y2,Z2)に関する情報と、ワークW3の三次元位置情報としての座標値(X3,Y3,Z3)に関する情報とが含まれている。
また、図6に示す例では、ロボット2の取り出し動作後において、撮像装置3におけるカメラ31の撮像動作によって第1画像G1、第2画像G2及び第3画像G3が取得され、画像処理部32の各画像G1,G2,G3に対する画像処理によって第1画像データGD1、第2画像データGD2及び第3画像データGD3がそれぞれ生成されている。
第1画像G1及び第1画像データGD1は、ロボット2の行動パターンA1によってワークW3が取り出された後の画像及び画像データを示している。第1画像G1には、行動パターンA1によるワークW3の取り出し後におけるワークW1,W2について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2とが含まれている。また、第1画像データGD1には、ワークW1の三次元位置情報としての座標値(X11,Y11,Z11)に関する情報と、ワークW2の三次元位置情報としての座標値(X21,Y21,Z21)に関する情報とが含まれている。
第2画像G2及び第2画像データGD2は、ロボット2の行動パターンA2によってワークW3が取り出された後の画像及び画像データを示している。第2画像G2には、行動パターンA2によるワークW3の取り出し後におけるワークW1,W2について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2とが含まれている。また、第2画像データGD2には、ワークW1の三次元位置情報としての座標値(X12,Y12,Z12)に関する情報と、ワークW2の三次元位置情報としての座標値(X22,Y22,Z22)に関する情報とが含まれている。
第3画像G3及び第3画像データGD3は、ロボット2の行動パターンA3によってワークW2が取り出された後の画像及び画像データを示している。第3画像G3には、行動パターンA3によるワークW2の取り出し後におけるワークW1,W3について、ワークW1に対応した画像領域GW1と、ワークW3に対応した画像領域GW3とが含まれている。また、第3画像データGD3には、ワークW1の三次元位置情報としての座標値(X13,Y13,Z13)に関する情報と、ワークW3の三次元位置情報としての座標値(X33,Y33,Z33)に関する情報とが含まれている。
変位量観測部63は、基準画像データGDSと第1画像データGD1とに基づいて、行動パターンA1によってワークW3が取り出されたときの、ワーク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」との差分を示す。
同様に、ワーク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」との差分を示す。
基準画像GSと第1画像G1との比較から明らかなように、行動パターンA1によるワークW3の取り出し後においてワークW1,W2の位置は、ワークW3の取り出し前の位置と比較して、殆ど変化していない。このため、変位量観測部63によって観測された第1ワーク変位量WD1に含まれるワークW1のワーク変位量(XD11,YD11,ZD11)の各値と、ワークW2のワーク変位量(XD21,YD21,ZD21)の各値とは、「0;ゼロ」に近い値を示すことになる。
また、変位量観測部63は、基準画像データGDSと第2画像データGD2とに基づいて、行動パターンA2によってワークW3が取り出されたときの、ワーク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」との差分を示す。
同様に、ワーク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」との差分を示す。
基準画像GSと第2画像G2との比較から明らかなように、行動パターンA2によるワークW3の取り出し後においてワークW1の位置は、ワークW3の取り出し前の位置と比較して殆ど変化していないが、ワークW2の位置は変化している。このため、変位量観測部63によって観測された第2ワーク変位量WD2に含まれるワークW1のワーク変位量(XD12,YD11,ZD11)の各値は「0;ゼロ」に近い値を示すが、ワークW2のワーク変位量(XD22,YD22,ZD22)の各値はワークW2の変位に応じた値を示すことになる。
また、変位量観測部63は、基準画像データGDSと第3画像データGD3とに基づいて、行動パターンA3によってワークW2が取り出されたときの、ワークW1,W3の容器CN内での変位量を表す第3ワーク変位量WD3を観測する。第3ワーク変位量WD3は、ワークW1のワーク変位量(XD13,YD13,ZD13)と、ワークW3のワーク変位量(XD33,YD33,ZD33)とを含む。ワーク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」との差分を示す。
同様に、ワークW3のワーク変位量において「XD33」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるX座標値「X3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるX座標値「X33」との差分を示す。また、ワークW3のワーク変位量において「YD33」は、基準画像データGDSに含まれるワークW3の三次元位置情報におけるY座標値「Y3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるY座標値「Y33」との差分を示す。また、ワークW3のワーク変位量において「ZD33」は、基準画像データGDSに含まれるワークW3の三次元位置情報におけるZ座標値「Z3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるZ座標値「Z33」との差分を示す。
基準画像GSと第3画像G3との比較から明らかなように、行動パターンA3によるワークW2の取り出し後においてワークW1の位置は、ワークW3の取り出し前の位置と比較して殆ど変化していないが、ワークW3の位置は変化している。このため、変位量観測部63によって観測された第3ワーク変位量WD3に含まれるワークW1のワーク変位量(XD13,YD13,ZD13)の各値は「0;ゼロ」に近い値を示すが、ワークW3のワーク変位量(XD33,YD33,ZD33)の各値はワークW3の変位に応じた値を示すことになる。
なお、変位量観測部63は、ロボット2の取り出し動作の前後における実画像を用いた各画像データに基づきワーク変位量を観測する態様に限定されるものではなく、例えばVR(Virtual)画像を用いた各画像データに基づきワーク変位量を観測する態様であってもよい。つまり、変位量観測部63は、ロボット2の取り出し動作の前後におけるワークWの配置状態をVR空間に再現し、そのVR空間に再現したワークWのVR画像を用いて三次元位置情報を算出し、当該算出結果に基づきワーク変位量を取得するように構成されていてもよい。
(学習部について)
図7は、学習部64の動作を説明するための図である。学習部64は、ロボット2の状態が移行されるときのロボット2の最適な行動パターンを学習する。つまり、学習部64は、ロボット2の状態が状態S1から状態S2へ移行されるときのロボット2の最適な行動パターンと、状態S2から状態S3へ移行されるときのロボット2の最適な行動パターンと、状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンとを、それぞれ学習する。なお、以下では、ロボット2の状態が状態S1から状態S2へ移行されるとき、並びに、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンについては、既に学習済みであるとして、状態S2から状態S3へ移行されるときのロボット2の行動パターンの学習について、詳細に説明する。すなわち、以下では、ハンド部26が容器CNから一のワークWを取り出すときの、ロボット2の行動パターンの学習について説明する。
図7は、学習部64の動作を説明するための図である。学習部64は、ロボット2の状態が移行されるときのロボット2の最適な行動パターンを学習する。つまり、学習部64は、ロボット2の状態が状態S1から状態S2へ移行されるときのロボット2の最適な行動パターンと、状態S2から状態S3へ移行されるときのロボット2の最適な行動パターンと、状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンとを、それぞれ学習する。なお、以下では、ロボット2の状態が状態S1から状態S2へ移行されるとき、並びに、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンについては、既に学習済みであるとして、状態S2から状態S3へ移行されるときのロボット2の行動パターンの学習について、詳細に説明する。すなわち、以下では、ハンド部26が容器CNから一のワークWを取り出すときの、ロボット2の行動パターンの学習について説明する。
学習部64は、ハンド部26が容器CNから一のワークWを取り出すときの、変位量観測部63により観測されたワーク変位量に応じた他のワークWへの影響度を、行動観測部62により観測されたロボット2の行動パターンと対応付けて学習する。学習部64は、ロボット2の行動パターンとワーク変位量とを関連付けた教師データTDに基づいて、一のワークWの取り出し時における他のワークWへの影響度を学習する。図7に示す例では、教師データTDは、前述の図6で説明した、行動パターンA1と第1ワーク変位量WD1とが関連付けられ、行動パターンA2と第2ワーク変位量WD2とが関連付けられ、行動パターンA3と第3ワーク変位量WD3とが関連付けられたデータである。
学習部64は、図1に示すように、報酬設定部641と価値関数更新部642とを含んで構成される。
報酬設定部641は、行動観測部62により観測されたロボット2の一のワークWの取り出し時における行動パターンに対し、ワーク変位量に応じた他のワークWへの影響度IMを設定するとともに、ワーク変位量に応じた報酬Rを設定する。他のワークWへの影響度IMは、変位量観測部62により観測された他のワークWのワーク変位量に相関した値に設定され、ワーク変位量が小さいほど影響度が小さくなるように設定される。報酬設定部641は、ワーク変位量が所定の閾値WDT未満となるロボット2の行動パターンに対しては、第1の値R1(例えば0(ゼロ)よりも大きい「100」)の報酬Rを与え、ワーク変位量が閾値WDT以上となるロボット2の行動パターンに対しては、前記第1の値R1よりも小さい第2の値R2(例えば0(ゼロ))の報酬Rを与える。
図7に示す例では、報酬設定部641は、閾値WDT未満の第1ワーク変位量WD1に対応した行動パターンA1に対しては、第1ワーク変位量WD1に応じた影響度IMとして「IM1」を設定し、更に「0;ゼロ」よりも大きい第1の値R1の報酬Rを与えている。また、報酬設定部641は、閾値WDT以上の第2ワーク変位量WD2に対応した行動パターンA2に対しては、第2ワーク変位量WD2に応じた影響度IMとして「IM2」を設定し、更に第2の値R2(0;ゼロ)の報酬Rを与えている。また、報酬設定部641は、閾値WDT以上の第3ワーク変位量WD3に対応した行動パターンA3に対しては、第3ワーク変位量WD3に応じた影響度IMとして「IM3」を設定し、更に第2の値R2(0;ゼロ)の報酬Rを与えている。
価値関数更新部642は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、報酬設定部641により設定された報酬Rに応じて更新する。価値関数更新部642は、下記式(1)で示される価値Q(s,a)の更新式を用いて価値関数を更新する。
上記式(1)において、「s」は、ロボット2の状態(状態S2)を表し、「a」は、行動パターン(行動A1、行動A2、行動A3)に従ったロボット2の行動を表す。行動「a」によってロボット2の状態が、状態「s」(状態S2)から状態「s’」(状態S3)へ移行する。R(s,a)は、その状態の移行により得られた報酬Rを表している。「max」が付された項は、状態「s’」において最も価値の高い行動「a’」を選択した場合の価値Q(s’,a’)に「γ」を乗算したものになる。「γ」は、減衰率と呼ばれるパラメータであり、0<γ≦1の範囲(例えば0.9)とされる。また、「α」は、学習率と呼ばれるパラメータであり、0<α≦1の範囲(例えば0.1)とされる。
上記式(1)は、行動「a」に対して報酬設定部641により設定された報酬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)を小さくすることを示している。つまり、価値関数更新部642は、上記式(1)で示される更新式を用いて価値関数を更新することによって、或る状態「s」における或る行動「a」の価値Q(s,a)を、その行動「a」に対して設定される報酬Rと、その行動「a」による次の状態「s’」における最良の行動「a’」の価値Q(s’,a’)に近付けるようにしている。
(学習処理部により実行される学習処理について)
以上説明したように、機械学習装置5の学習処理部6は、状態観測部61、行動観測部62、変位量観測部63及び学習部64を備えている。この学習処理部6により実行される学習処理について、図8のフローチャートを参照して説明する。
以上説明したように、機械学習装置5の学習処理部6は、状態観測部61、行動観測部62、変位量観測部63及び学習部64を備えている。この学習処理部6により実行される学習処理について、図8のフローチャートを参照して説明する。
まず、変位量観測部63は、撮像装置3から出力された、ロボット2の取り出し動作前における基準画像データGDS(図6)を取得する(ステップa1)。次に、状態観測部61は、ロボット2の状態を観測する(ステップa2)。より詳しくは、状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p)に基づいて、ロボット2の状態が状態S2から状態S3へ移行されたことを観測する。そして、行動観測部62は、ロボット2の状態が状態S2から状態S3へ移行されるときの、すなわち、容器CN内の一のワークWがハンド部26によって取り出される取り出し動作が行われたときの、ロボット2の行動パターンを観測する(ステップa3)。より詳しくは、行動観測部62は、ロボット2の行動パターンを規定する各行動要素(把持角θ、把持位置HP、各軸における回転角β1〜β6及び回転速度パターン)に基づいて、状態S2から状態S3への状態移行時におけるロボット2の行動パターンを観測する。
次に、変位量観測部63は、撮像装置3から出力された、行動観測部62により観測された行動パターンに従ったロボット2の取り出し動作後における画像データを取得する(ステップa4)。そして、変位量観測部63は、撮像装置3から出力された、ロボット2の取り出し動作前後における各画像データに基づいて、容器CNからの一のワークWの取り出しによる、他のワークWのワーク変位量を観測する(ステップa5)。
次に、学習部64の報酬設定部641は、ワーク変位量に応じた他のワークWへの影響度IMをロボット2の行動パターンと対応付けて設定するとともに、ワーク変位量が所定の閾値WDT未満であるか否かを判定する(ステップa6)。報酬設定部641は、ワーク変位量が閾値WDT未満となるロボット2の行動パターンに対しては「0;ゼロ」より大きい報酬Rを与える(ステップa7)。報酬設定部641は、ワーク変位量が閾値WDT以上となるロボット2の行動パターンに対しては「0;ゼロ」の報酬Rを与える(ステップa8)。
次に、学習部64の価値関数更新部642は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(ステップa9)。上記のステップa1〜ステップa9で示される各処理が、学習処理部6による学習処理の1サイクルにおいて実行される処理である。学習処理部6は、所定の学習回数に達したか否かを判定する(ステップa10)。所定の学習回数に達するまでステップa1〜ステップa9で示される各処理が繰り返される。
学習処理部6においては、容器CNから一のワークWを取り出すときのロボット2の行動パターンが行動観測部62によって観測され、ロボット2の取り出し動作による容器CN内での他のワークWのワーク変位量が変位量観測部63によって観測される。そして、学習部64は、ロボット2の行動パターンとワーク変位量とを関連付けた教師データTDに基づいて、容器CNから一のワークWを取り出すときの、ワーク変位量に応じた他のワークWへの影響度IMを、行動パターンと対応付けて学習する。
ワーク変位量は、容器CNから一のワークWが取り出されるときの、他のワークWに対する衝撃力の作用や他のワークWの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークWに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークWへの影響度IMが小さくなる。学習部64は、ワーク変位量に応じた他のワークWへの影響度IMを行動パターンと対応付けて学習するので、容器CNから一のワークWを取り出すときの、他のワークWへの影響度IMが小さくなるようなロボット2の行動パターンを学習することができる。このため、他のワークWへの影響度が小さく、ワークWの破損等を抑止可能なロボット2の最適な取り出し動作を学習することができる。
また、行動観測部62が観測するロボット2の行動パターンを規定する行動要素には、ハンド部26が一のワークWを取り出すときの、当該一のワークWに対する把持位置HPが含まれている。行動観測部62が観測するロボット2の行動パターンは、学習部64がロボット2の動作を学習するときに用いる教師データTDを構成する。この教師データTDを構成するロボット2の行動パターンを規定する行動要素の一要素として、ハンド部26のワークWに対する把持位置HPが含まれることによって、学習部64は、他のワークWへの影響度IMが小さくなるような把持位置HPを加味したロボット2の行動パターンを学習することができる。
<学習反映処理部について>
機械学習装置5の学習反映処理部7は、学習処理部6による学習結果をロボット2の動作として反映させる学習反映処理を実行する部分である。学習反映処理部7は、学習処理部6の学習部64による影響度IMの学習後において、ロボット2が生産動作を実行するときに学習反映処理を実行する。ロボット2の生産動作とは、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、ロボット2の連続的な動作のことである。学習反映処理部7は、図1に示すように、行動決定部71と、順位設定部72と、更新部73とを含んで構成される。学習反映処理部7を構成する各部について、図9A、図9B、図10A、図10B及び図11を参照して、以下に説明する。図9A及び図9Bは、行動決定部71によって生成される行動パターン決定情報JH1,JH1Aを説明するための図である。図10A及び図10Bは、順位設定部72によって生成される行動指令情報JH2,JH2Aを説明するための図である。図11は、学習反映処理部7により実行される学習反映処理を示すフローチャートである。
機械学習装置5の学習反映処理部7は、学習処理部6による学習結果をロボット2の動作として反映させる学習反映処理を実行する部分である。学習反映処理部7は、学習処理部6の学習部64による影響度IMの学習後において、ロボット2が生産動作を実行するときに学習反映処理を実行する。ロボット2の生産動作とは、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、ロボット2の連続的な動作のことである。学習反映処理部7は、図1に示すように、行動決定部71と、順位設定部72と、更新部73とを含んで構成される。学習反映処理部7を構成する各部について、図9A、図9B、図10A、図10B及び図11を参照して、以下に説明する。図9A及び図9Bは、行動決定部71によって生成される行動パターン決定情報JH1,JH1Aを説明するための図である。図10A及び図10Bは、順位設定部72によって生成される行動指令情報JH2,JH2Aを説明するための図である。図11は、学習反映処理部7により実行される学習反映処理を示すフローチャートである。
(行動決定部について)
行動決定部71は、学習部64による影響度IMの学習後において、ロボット2の生産動作が開始されるときに、画像データの出力を要求する撮像要求情報を、制御装置4を介して撮像装置3に送信する。行動決定部71は、前記撮像要求情報に応答して撮像装置3から出力されたロボット2の取り出し動作前の画像データを取得する(図11のステップb1)。行動決定部71は、取得した画像データに基づき容器CN内での複数のワークWのバラ積み状況を認識する。そして、行動決定部71は、ハンド部26によって容器CNから各ワークWを取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小となる行動パターンを、ワークW毎に決定する(図11のステップb2)。
行動決定部71は、学習部64による影響度IMの学習後において、ロボット2の生産動作が開始されるときに、画像データの出力を要求する撮像要求情報を、制御装置4を介して撮像装置3に送信する。行動決定部71は、前記撮像要求情報に応答して撮像装置3から出力されたロボット2の取り出し動作前の画像データを取得する(図11のステップb1)。行動決定部71は、取得した画像データに基づき容器CN内での複数のワークWのバラ積み状況を認識する。そして、行動決定部71は、ハンド部26によって容器CNから各ワークWを取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小となる行動パターンを、ワークW毎に決定する(図11のステップb2)。
行動決定部71は、ワークW毎の行動パターンの決定結果を表す情報として、図9Aに例示される行動パターン決定情報JH1を生成する(図11のステップb3)。行動パターン決定情報JH1は、容器CN内の各ワークWを特定するためのワーク種情報J11と、ワークW毎の行動パターンを表す行動パターン情報J12と、一のワークWを取り出す際の他のワークWへの影響度IMを表す影響度情報J13とが関連付けられた情報である。
図9Aに例示される行動パターン決定情報JH1について詳細に説明すると、次の通りである。行動決定部71は、撮像装置3から出力された画像データに基づいて、容器CN内での各ワーク「W1」,「W2」,「W3」,「W4」,「W5」等のバラ積み状況を認識する。そして、行動決定部71は、ワーク「W1」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「20」に対応付けられた行動パターン「行動A1」を決定する。また、行動決定部71は、ワーク「W2」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「10」に対応付けられた行動パターン「行動A2」を決定する。また、行動決定部71は、ワーク「W3」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「1」に対応付けられた行動パターン「行動A3」を決定する。また、行動決定部71は、ワーク「W4」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.5」に対応付けられた行動パターン「行動A4」を決定する。また、行動決定部71は、ワーク「W5」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.1」に対応付けられた行動パターン「行動A5」を決定する。以上説明したような、行動決定部71によるワークW毎の行動パターンの決定結果を、ワーク種情報J11と行動パターン情報J12と影響度情報J13とを関連付けて表した情報が、行動パターン決定情報JH1である。
行動決定部71によって生成された行動パターン決定情報JH1は、制御装置4に向けて出力される。行動パターン決定情報JH1が入力された制御装置4は、当該行動パターン決定情報JH1に基づいて、ロボット2の取り出し動作を制御することができる。
行動決定部71は、学習部64による学習結果をロボット2の実際の生産時における取り出し動作に反映させるために、容器CNから各ワークWを取り出すときのロボット2の行動パターンとして影響度IMが最小となる行動パターンを、ワークW毎に決定する。ロボット2は、実際の生産時において、行動決定部71により決定されたワークW毎の行動パターンに従うことによって、他のワークWへの影響度IMが小さく、ワークWの破損等を抑止可能な最適な取り出し動作を実行することができる。
また、行動決定部71は、撮像装置3から出力された1回の撮像による画像データに基づき、容器CN内の各ワークWに対するロボット2の行動パターンを決定する。つまり、実際の生産時においては、ワークWを取り出すときのロボット2の行動パターンを決定するために、ワークWが取り出される度に撮像装置3による撮像が行われるわけではない。1回の撮像による画像データに基づき容器CN内の各ワークWに対するロボット2の行動パターンが決定され、この決定された行動パターンに従ってロボット2は、複数のワークWを順次取り出すことができる。これにより、実際の生産時においては、撮像装置3による撮像回数を少なくすることができるため、撮像に起因したロボット2の待機時間を短縮することが可能となり、生産効率の向上を図ることができる。なお、ロボット2が双腕型のロボットや複数のハンド部26を備えたロボットにより構成されていた場合には、行動決定部71により決定された行動パターンに従って複数のワークWを連続的に取り出すことができる。このため、双腕型のロボットや複数のハンド部26を備えたロボットの場合には、更なる生産効率の向上を図ることができる。
また、行動決定部71は、後述の更新部73から出力された行動パターン決定情報JH1の更新を要求する更新要求情報を受付けると、ロボット2の行動パターンの決定動作を更新し、図9Bに例示される更新された行動パターン決定情報JH1Aを生成するとともに、それを制御装置4に向けて出力する。更新された行動パターン決定情報JH1Aが入力された制御装置4は、当該行動パターン決定情報JH1Aに基づいて、ロボット2の取り出し動作を制御することができる。更新された行動パターン決定情報JH1Aの詳細については、後述する。
(順位設定部について)
順位設定部72は、行動パターン決定情報JH1を参照し、行動決定部71により決定されたロボット2の行動パターンに基づき容器CNから各ワークWを取り出すときの取り出し順位を、影響度IMが小さいものほど上位となるように設定する(図11のステップb4)。
順位設定部72は、行動パターン決定情報JH1を参照し、行動決定部71により決定されたロボット2の行動パターンに基づき容器CNから各ワークWを取り出すときの取り出し順位を、影響度IMが小さいものほど上位となるように設定する(図11のステップb4)。
順位設定部72は、取り出し順位の設定結果を表す情報として、図10Aに例示される行動指令情報JH2を生成する(図11のステップb5)。行動指令情報JH2は、影響度IMの基準値IMSを表す影響基準値情報J21と、行動リスト情報J22とを含む。影響基準値情報J21にて表される基準値IMSは、後述の更新部73がロボット2の取り出し動作を監視するときに参照される。行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、順位設定部72により設定されたワークWの取り出し順位の順番に並べられてリスト化された情報である。つまり、行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、前記影響度情報J13にて表される影響度IMの小さいものから順番に並べられた情報である。
順位設定部72によって生成された行動指令情報JH2は、制御装置4に向けて出力される(図11のステップb6)。行動指令情報JH2が入力された制御装置4は、当該行動指令情報JH2に含まれる行動リスト情報J22に基づいて、ワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。なお、行動指令情報JH2に含まれる行動リスト情報J22は、行動決定部71により生成される行動パターン決定情報JH1と比較して、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータの並び順が異なる以外は同じである。このため、行動指令情報JH2が制御装置4に向けて出力される場合には、行動パターン決定情報JH1の制御装置4への出力は省略される。
上記のように、順位設定部72は、容器CNから各ワークWを取り出すときの取り出し順位を設定する。ロボット2は、実際の生産時において、順位設定部72により設定された取り出し順位に従って容器CNから各ワークWを取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが小さいものから順番に取り出し動作を実行することができる。
また、順位設定部72は、後述の更新部73から出力された行動指令情報JH2の更新を要求する更新要求情報を受付けると、ワークWの取り出し順位の設定動作を更新し、図10Bに例示される更新された行動指令情報JH2Aを生成するとともに、それを制御装置4に向けて出力する。更新された行動指令情報JH2Aが入力された制御装置4は、当該行動指令情報JH2Aに含まれる行動リスト情報J22に基づいて、ワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。更新された行動指令情報JH2Aの詳細については、後述する。
(更新部について)
更新部73は、行動指令情報JH2に含まれる行動リスト情報J22に基づく制御装置4の制御によるロボット2の生産動作時において、順位設定部72によって設定されたワークWの取り出し順位に従ったロボット2の取り出し動作を監視する(図11のステップb7)。そして、更新部73は、影響度情報J13にて表される影響度IMが影響基準値情報J21にて表される所定の基準値IMS未満となる順位の全てのワークWの容器CNからの取り出しが完了したか否かを判定する(図11のステップb8)。影響度IMが基準値IMS未満となる順位の全てのワークWの取り出しが完了したと判定した場合には、更新部73は、影響度IMが基準値IMS以上となる順位のワークWが存在するか否かを判定する(図11のステップb9)。
更新部73は、行動指令情報JH2に含まれる行動リスト情報J22に基づく制御装置4の制御によるロボット2の生産動作時において、順位設定部72によって設定されたワークWの取り出し順位に従ったロボット2の取り出し動作を監視する(図11のステップb7)。そして、更新部73は、影響度情報J13にて表される影響度IMが影響基準値情報J21にて表される所定の基準値IMS未満となる順位の全てのワークWの容器CNからの取り出しが完了したか否かを判定する(図11のステップb8)。影響度IMが基準値IMS未満となる順位の全てのワークWの取り出しが完了したと判定した場合には、更新部73は、影響度IMが基準値IMS以上となる順位のワークWが存在するか否かを判定する(図11のステップb9)。
更新部73は、影響度IMが基準値IMS未満となる順位の全てのワークWの取り出しが完了し、且つ、影響度IMが基準値IMS以上となる順位のワークWが存在する場合に、行動決定部71による行動パターンの決定動作と、順位設定部72によるワークWの取り出し順位の設定動作とを更新させる。更新部73は、行動パターン決定情報JH1の更新を要求する更新要求情報を行動決定部71に向けて出力し、行動指令情報JH2の更新を要求する更新要求情報を順位設定部72に向けて出力することにより、行動決定部71及び順位設定部72の双方の動作を更新させる(図11のステップb10)。
図10Aに示す行動指令情報JH2を参照して更新部73の動作を説明する。制御装置4によって制御されたロボット2は、行動リスト情報J22に登録された取り出し順位に従って、影響度情報J13にて表される影響度IMが小さいワークWから順番に、行動パターン情報J12にて表される行動パターンに基づく取り出し動作を実行する。更新部73は、このロボット2の取り出し動作を監視する。図10Aに示す例では、取り出し順位が「1〜3」のワークW5,W4,W3は、影響度IMが基準値IMS(例えば「2」)未満となる順位のワークWである。一方、取り出し順位が「4」以降のワークW2等は、影響度IMが基準値IMS以上となる順位のワークWである。このような場合、更新部73は、取り出し順位が「1〜3」の全てのワークW5,W4,W3の取り出しが完了したときに、前記更新要求情報を行動決定部71及び順位設定部72の双方に向けて出力し、当該双方の動作を更新させる。
影響度IMが基準値IMS未満となる行動パターンに基づくワークWの取り出し動作は、他のワークWへの影響度IMが比較的小さく、ワークWの破損等を抑止可能な取り出し動作であると言える。一方、影響度IMが基準値IMS以上となる行動パターンに基づくワークWの取り出し動作は、他のワークWへの影響度IMが比較的大きく、ワークWの破損等を招来する可能性がある。
ロボット2は、実際の生産時において、順位設定部72により設定された取り出し順位に従って、影響度IMが基準値IMS未満となる順位の全てのワークWを容器CNから順次取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが比較的小さく、ワークWの破損等を抑止可能な範囲の全てのワークWを連続的に取り出すことができる。
影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときには、容器CN内において残りのワークWのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部73は、行動決定部71による行動パターンの決定動作と、順位設定部72による取り出し順位の設定動作とを更新させる。つまり、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときに、撮像装置3から出力される新たな画像データに基づく行動決定部71による行動パターンの決定動作と、順位設定部72による取り出し順位の設定動作との、更新された動作が、ワークWの取り出し動作の前に実施される。
(行動決定部の更新動作について)
行動決定部71は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb1〜ステップb3を繰り返すことにより、ロボット2の行動パターンの決定動作を更新し、図9Bに例示される更新された行動パターン決定情報JH1Aを生成する。
行動決定部71は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb1〜ステップb3を繰り返すことにより、ロボット2の行動パターンの決定動作を更新し、図9Bに例示される更新された行動パターン決定情報JH1Aを生成する。
図9Bに例示される更新された行動パターン決定情報JH1Aについて詳細に説明すると、次の通りである。行動決定部71は、更新部73からの前記更新要求情報の受付け後において撮像装置3から出力された新たな画像データに基づいて、影響度IMが基準値IMS未満となる順位の全てのワークW5,W4,W3の取り出し後に容器CN内に残る各ワーク「W1」,「W2」,「W6」,「W7」,「W8」等のバラ積み状況を、認識する。前述したように、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときには、容器CN内において残りのワークWのバラ積み状況が、取り出し動作前に比べて変化している。このため、容器CN内に残ったワークWに対応する影響度IMも変化することになる。
行動決定部71は、ワーク「W1」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.2」に対応付けられた行動パターン「行動A11」を決定する。また、行動決定部71は、ワーク「W2」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.01」に対応付けられた行動パターン「行動A21」を決定する。また、行動決定部71は、ワーク「W6」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.3」に対応付けられた行動パターン「行動A61」を決定する。また、行動決定部71は、ワーク「W7」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「20」に対応付けられた行動パターン「行動A71」を決定する。また、行動決定部71は、ワーク「W8」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「40」に対応付けられた行動パターン「行動A81」を決定する。以上説明したような、行動決定部71によるワークW毎の行動パターンの更新された決定結果を、ワーク種情報J11と行動パターン情報J12と影響度情報J13とを関連付けて表した情報が、更新された行動パターン決定情報JH1Aである。
行動決定部71は、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作後において、容器CN内に残った各ワークWを取り出すときのロボット2の行動パターンとして、影響度IMが最小となる行動パターンをワークW毎に更新して決定する。ロボット2は、実際の生産時において、行動決定部71により更新して決定されたワークW毎の行動パターンに従うことによって、他のワークWへの影響度IMが小さく、ワークWの破損等を抑止可能な最適な取り出し動作を実行することができる。
(順位設定部の更新動作について)
順位設定部72は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb4〜ステップb6を繰り返すことにより、ワークWの取り出し順位の設定動作を更新し、図10Bに例示される更新された行動指令情報JH2Aを生成する。
順位設定部72は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb4〜ステップb6を繰り返すことにより、ワークWの取り出し順位の設定動作を更新し、図10Bに例示される更新された行動指令情報JH2Aを生成する。
順位設定部72により更新された行動指令情報JH2Aに含まれる行動リスト情報J22は、行動決定部71により更新された行動パターン決定情報JH1Aと比較して、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータの並び順が異なる以外は同じである。行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、前記影響度情報J13にて表される影響度IMの小さいものから順番に並べられた情報である。
順位設定部72により更新された行動指令情報JH2Aは、制御装置4に向けて出力される。行動指令情報JH2Aが入力された制御装置4は、当該行動指令情報JH2Aに含まれる行動リスト情報J22に基づいて、更新されたワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。
上記のように、順位設定部72は、容器CN内に残った各ワークWを取り出すときの取り出し順位を更新して設定する。ロボット2は、実際の生産時において、順位設定部72により更新された取り出し順位に従って容器CN内に残った各ワークWを取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが小さいものから順番に取り出し動作を実行することができる。
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
この機械学習装置によれば、容器から一のワークを取り出すときのロボットの行動パターンが行動観測部によって観測され、ロボットの取り出し動作による容器内での他のワークの変位量が変位量観測部によって観測される。そして、学習部は、ロボットの行動パターンとワーク変位量とを関連付けた教師データに基づいて、容器から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度を、行動パターンと対応付けて学習する。
ワーク変位量は、容器から一のワークが取り出されるときの、他のワークに対する衝撃力の作用や他のワークの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークへの影響度が小さくなる。学習部は、ワーク変位量に応じた他のワークへの影響度を行動パターンと対応付けて学習するので、容器から一のワークを取り出すときの、他のワークへの影響度が小さくなるようなロボットの行動パターンを学習することができる。このため、他のワークへの影響度が小さく、ワークの破損等を抑止可能なロボットの最適な取り出し動作を学習することができる。
上記の機械学習装置は、前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える構成であってもよい。
この態様では、行動決定部は、学習部による学習結果をロボットの実際の取り出し動作に反映させるために、容器から各ワークを取り出すときのロボットの行動パターンとして影響度が最小となる行動パターンを、ワーク毎に決定する。ロボットは、実際の生産時において、行動決定部により決定されたワーク毎の行動パターンに従うことによって、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
また、行動決定部は、撮像装置から出力された1回の撮像による画像データに基づき、容器内の各ワークに対するロボットの行動パターンを決定する。つまり、実際の生産時においては、ワークを取り出すときのロボットの行動パターンを決定するために、ワークが取り出される度に撮像装置による撮像が行われるわけではない。1回の撮像による画像データに基づき容器内の各ワークに対するロボットの行動パターンが決定され、この決定された行動パターンに従ってロボットは、複数のワークを順次取り出すことができる。これにより、実際の生産時においては、撮像装置による撮像回数を少なくすることができるため、撮像に起因したロボットの待機時間を短縮することが可能となり、生産効率の向上を図ることができる。
上記の機械学習装置は、前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える構成であってもよい。
この態様では、順位設定部は、容器から各ワークを取り出すときの取り出し順位を設定する。ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って容器から各ワークを取り出せばよい。これにより、ロボットは、他のワークへの影響度が小さいものから順番に取り出し動作を実行することができる。
上記の機械学習装置は、前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える構成であってもよい。
影響度が基準値未満となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な取り出し動作であると言える。一方、影響度が基準値以上となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的大きく、ワークの破損等を招来する可能性がある。
ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って、影響度が基準値未満となる順位の全てのワークを容器から順次取り出せばよい。これにより、ロボットは、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な範囲の全てのワークを連続的に取り出すことができる。このロボットによる取り出し動作が完了したときには、容器内でのワークのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部は、行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作とを更新させる。つまり、影響度が基準値未満となる順位の全てのワークのロボットによる取り出し動作が完了したときに、撮像装置から出力される新たな画像データに基づく行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作との、更新された動作が、ワークの取り出し動作の前に実施される。ロボットは、行動決定部が更新して決定した行動パターンに従い、更には順位設定部が更新して設定した取り出し順位に従って、容器から各ワークを取り出せばよい。
上記の機械学習装置において、前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる。
行動観測部が観測するロボットの行動パターンは、学習部がロボットの動作を学習するときに用いる教師データを構成する。この教師データを構成するロボットの行動パターンを規定する行動要素の一要素として、ハンド部のワークに対する把持位置が含まれることによって、学習部は、他のワークへの影響度が小さくなるような把持位置を加味したロボットの行動パターンを学習することができる。
本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
このロボットシステムによれば、容器からワークを取り出すときのロボットの最適な動作を学習できる上記の機械学習装置を備えている。このため、ロボットは、実際の生産時において容器から一のワークを取り出すときに、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
以上説明した通り、本発明によれば、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することができる。
1 ロボットシステム
2 ロボット
26 ハンド部
3 撮像装置
4 制御装置
5 機械学習装置
6 学習処理部
61 状態観測部
62 行動観測部
63 変位量観測部
64 学習部
641 報酬設定部
642 価値関数更新部
7 学習反映処理部
71 行動決定部
72 順位設定部
73 更新部
2 ロボット
26 ハンド部
3 撮像装置
4 制御装置
5 機械学習装置
6 学習処理部
61 状態観測部
62 行動観測部
63 変位量観測部
64 学習部
641 報酬設定部
642 価値関数更新部
7 学習反映処理部
71 行動決定部
72 順位設定部
73 更新部
Claims (6)
- 複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する機械学習装置であって、
前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、
前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、
前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える、機械学習装置。 - 前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える、請求項1に記載の機械学習装置。
- 前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える、請求項2に記載の機械学習装置。
- 前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える、請求項3に記載の機械学習装置。
- 前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、
前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる、請求項1〜4のいずれか1項に記載の機械学習装置。 - 複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、
前記容器内を撮像して画像データを出力する撮像装置と、
前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、請求項1〜5のいずれか1項に記載の機械学習装置と、
前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える、ロボットシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/022807 WO2019239562A1 (ja) | 2018-06-14 | 2018-06-14 | 機械学習装置及びこれを備えたロボットシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019239562A1 true JPWO2019239562A1 (ja) | 2021-04-22 |
JP7008136B2 JP7008136B2 (ja) | 2022-01-25 |
Family
ID=68843106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020525043A Active JP7008136B2 (ja) | 2018-06-14 | 2018-06-14 | 機械学習装置及びこれを備えたロボットシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11945115B2 (ja) |
JP (1) | JP7008136B2 (ja) |
CN (1) | CN112135719B (ja) |
DE (1) | DE112018007729B4 (ja) |
WO (1) | WO2019239562A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645498B2 (en) * | 2019-09-25 | 2023-05-09 | International Business Machines Corporation | Semi-supervised reinforcement learning |
DE102020212658A1 (de) | 2020-10-07 | 2022-04-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
DE102021104001B3 (de) | 2021-02-19 | 2022-04-28 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013052490A (ja) * | 2011-09-06 | 2013-03-21 | Mitsubishi Electric Corp | ワーク取り出し装置 |
JP2017030135A (ja) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP2018008343A (ja) * | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 部品ピックアップ方法及び部品供給装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58184351A (ja) | 1982-04-19 | 1983-10-27 | Ogura Clutch Co Ltd | 片側2出力軸電動機 |
US7765780B2 (en) * | 2003-12-12 | 2010-08-03 | Vision Robotics Corporation | Agricultural robot system and method |
JP4390758B2 (ja) * | 2005-09-08 | 2009-12-24 | ファナック株式会社 | ワーク取出し装置 |
SE529377C2 (sv) * | 2005-10-18 | 2007-07-24 | Morphic Technologies Ab Publ | Metod och arrangemang för att lokalisera och plocka upp föremål från en bärare |
JP4199264B2 (ja) * | 2006-05-29 | 2008-12-17 | ファナック株式会社 | ワーク取り出し装置及び方法 |
JP4565023B2 (ja) * | 2008-07-04 | 2010-10-20 | ファナック株式会社 | 物品取り出し装置 |
JP2014081863A (ja) * | 2012-10-18 | 2014-05-08 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
JP6088563B2 (ja) * | 2015-02-10 | 2017-03-01 | ファナック株式会社 | 位置及び姿勢の変換演算機能を備えたワーク取出しロボットシステム、及びワーク取出し方法 |
US11020859B2 (en) * | 2015-05-01 | 2021-06-01 | Transportation Ip Holdings, Llc | Integrated robotic system and method for autonomous vehicle maintenance |
DE102016009030B4 (de) * | 2015-07-31 | 2019-05-09 | Fanuc Corporation | Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs |
JP6148316B2 (ja) * | 2015-07-31 | 2017-06-14 | ファナック株式会社 | 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム |
JP6240689B2 (ja) | 2015-07-31 | 2017-11-29 | ファナック株式会社 | 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法 |
JP6010204B1 (ja) | 2015-10-26 | 2016-10-19 | ファナック株式会社 | パワー素子の予測寿命を学習する機械学習装置及び方法並びに該機械学習装置を備えた寿命予測装置及びモータ駆動装置 |
JP6616170B2 (ja) * | 2015-12-07 | 2019-12-04 | ファナック株式会社 | コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法 |
JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
EP3742347B1 (en) * | 2016-03-03 | 2022-11-02 | Google LLC | Deep machine learning methods and apparatus for robotic grasping |
JP6586243B2 (ja) * | 2016-03-03 | 2019-10-02 | グーグル エルエルシー | ロボットの把持のための深層機械学習方法および装置 |
JP6457421B2 (ja) * | 2016-04-04 | 2019-01-23 | ファナック株式会社 | シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法 |
US20170297206A1 (en) * | 2016-04-14 | 2017-10-19 | The Regents Of The University Of Colorado, A Body Corporate | Measuring distance and contact force during robotic manipulation |
KR101980603B1 (ko) * | 2016-05-20 | 2019-05-22 | 구글 엘엘씨 | 오브젝트(들)를 캡처하는 이미지(들)에 기초하는 그리고 환경에서의 미래 로봇 움직임에 대한 파라미터(들)에 기초하여 로봇 환경에서의 오브젝트(들)의 모션(들)을 예측하는 것과 관련된 머신 학습 방법들 및 장치 |
JP6838833B2 (ja) | 2016-09-05 | 2021-03-03 | 国立大学法人信州大学 | 把持装置、把持方法、及びプログラム |
US10518372B2 (en) * | 2016-09-12 | 2019-12-31 | Kindred Systems Inc. | Compound prismatic platforms for use in robotic systems |
JP6514171B2 (ja) * | 2016-09-27 | 2019-05-15 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
CN110139552B (zh) * | 2016-11-08 | 2023-08-15 | 道格图斯科技有限公司 | 机器人水果采摘系统 |
JP6438512B2 (ja) * | 2017-03-13 | 2018-12-12 | ファナック株式会社 | 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法 |
JP2018176334A (ja) * | 2017-04-10 | 2018-11-15 | キヤノン株式会社 | 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法 |
JP6457587B2 (ja) * | 2017-06-07 | 2019-01-23 | ファナック株式会社 | ワークの動画に基づいて教示点を設定するロボットの教示装置 |
JP6911777B2 (ja) * | 2018-01-23 | 2021-07-28 | トヨタ自動車株式会社 | 動作軌道生成装置 |
US11014231B2 (en) * | 2018-05-03 | 2021-05-25 | Fujitsu Limited | Robotic device task learning |
-
2018
- 2018-06-14 JP JP2020525043A patent/JP7008136B2/ja active Active
- 2018-06-14 WO PCT/JP2018/022807 patent/WO2019239562A1/ja active Application Filing
- 2018-06-14 US US17/053,466 patent/US11945115B2/en active Active
- 2018-06-14 CN CN201880093236.0A patent/CN112135719B/zh active Active
- 2018-06-14 DE DE112018007729.2T patent/DE112018007729B4/de active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013052490A (ja) * | 2011-09-06 | 2013-03-21 | Mitsubishi Electric Corp | ワーク取り出し装置 |
JP2017030135A (ja) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP2018008343A (ja) * | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 部品ピックアップ方法及び部品供給装置 |
Also Published As
Publication number | Publication date |
---|---|
DE112018007729T5 (de) | 2021-02-25 |
WO2019239562A1 (ja) | 2019-12-19 |
US20210229275A1 (en) | 2021-07-29 |
JP7008136B2 (ja) | 2022-01-25 |
CN112135719B (zh) | 2023-08-22 |
US11945115B2 (en) | 2024-04-02 |
CN112135719A (zh) | 2020-12-25 |
DE112018007729B4 (de) | 2022-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9387589B2 (en) | Visual debugging of robotic tasks | |
JP6671694B1 (ja) | 機械学習装置、機械学習システム、データ処理システム及び機械学習方法 | |
US8467904B2 (en) | Reconstruction, retargetting, tracking, and estimation of pose of articulated systems | |
JP2019093461A (ja) | 把持システム、学習装置、把持方法、及び、モデルの製造方法 | |
JP7008136B2 (ja) | 機械学習装置及びこれを備えたロボットシステム | |
WO2018116589A1 (ja) | 産業機器用の画像認識プロセッサ及びコントローラ | |
WO2007076118A2 (en) | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems | |
CN109483534B (zh) | 一种物体抓取方法、装置和系统 | |
Rahman | Cognitive cyber-physical system (C-CPS) for human-robot collaborative manufacturing | |
JP7295421B2 (ja) | 制御装置及び制御方法 | |
KR20230122118A (ko) | 지도된 자율 파지 | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
JP4942924B2 (ja) | 仮想多関節物体を仮想環境で動きの連続により動かす方法 | |
CN111152220B (zh) | 一种基于人机融合的机械臂控制方法 | |
Aarno et al. | Early reactive grasping with second order 3D feature relations | |
Zhang et al. | One-shot domain-adaptive imitation learning via progressive learning applied to robotic pouring | |
JP7263987B2 (ja) | 制御装置、制御方法、及び制御プログラム | |
JP7102241B2 (ja) | 機械学習装置及びこれを備えたロボットシステム | |
Kozlowski | Robot motion and control: recent developments | |
Kozlowski | Robot motion and control | |
CN114080304B (zh) | 控制装置、控制方法及控制程序 | |
US20240054393A1 (en) | Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program | |
TWI790408B (zh) | 抓取裝置及抓取方法 | |
Khandekara et al. | Fusion of human arm synergy and artificial neural network for programming of a robot by demonstration | |
Miatliuk et al. | Controlling an industrial robotic system based on received visual information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7008136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |