(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-16
(45)【発行日】2022-09-28
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 13/08 20060101AFI20220920BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2020525044
(86)(22)【出願日】2018-06-14
(86)【国際出願番号】 JP2018022809
(87)【国際公開番号】W WO2019239563
(87)【国際公開日】2019-12-19
【審査請求日】2020-09-18
(73)【特許権者】
【識別番号】000010076
【氏名又は名称】ヤマハ発動機株式会社
(74)【代理人】
【識別番号】100115381
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100067828
【氏名又は名称】小谷 悦司
(74)【代理人】
【識別番号】100176304
【氏名又は名称】福成 勉
(72)【発明者】
【氏名】山口 洸太
(72)【発明者】
【氏名】道添 聡浩
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2011-073066(JP,A)
【文献】特開2002-200588(JP,A)
【文献】特開2015-085488(JP,A)
【文献】特開2016-197393(JP,A)
【文献】特開2001-095348(JP,A)
【文献】特開2013-184273(JP,A)
【文献】特開2017-030135(JP,A)
【文献】米国特許出願公開第2017/0080571(US,A1)
【文献】米国特許出願公開第2017/0136632(US,A1)
【文献】米国特許第09802317(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/16-19/06
(57)【特許請求の範囲】
【請求項1】
複数のワークが収容された収容部から前記ワークを把持して取り出し、所定位置に運搬するハンド部を備えたロボットと、
前記収容部から前記ワークを取り出して前記所定位置に運搬する、前記ロボットの搬送動作を制御するロボット制御部と、
前記搬送動作に関する条件であって、前記ワークのうち、前記ハンド部により把持することを禁止する把持禁止領域を少なくとも含む搬送条件を設定する搬送条件設定部と、
前記搬送動作が実行された後の前記所定位置のワークを撮像可能な撮像部と、
前記搬送動作が実行されたときの前記ロボット制御部による制御情報と、前記撮像部が撮像した画像に基づく前記ワークの外観的な品質情報とを取得して、これらの情報に基づき前記搬送条件を学習する学習部と、を備え、
前記ロボット制御部は、前記搬送条件設定部により設定された搬送条件に基づき前記ロボットを制御
し、
前記搬送条件設定部は、前記学習部の学習結果に基づき前記搬送条件を修正する、ロボットシステム。
【請求項2】
請求項1に記載のロボットシステムにおいて、
前記搬送条件設定部は、前記把持禁止領域に加えて、前記ワーク周辺の空間であって前記ワークに対して前記ハンド部が接近することを禁止する侵入禁止領域を少なくとも含む前記搬送条件を設定する、ロボットシステム。
【請求項3】
請求項1又は2に記載のロボットシステムにおいて、
ワークの前記搬送条件を記憶する
第1記憶部をさらに備え、
前記搬送条件設定部は、新たに搬送条件を設定すべき対象ワークと形状が類似する類似ワークについてその搬送条件が前記
第1記憶部に既に記憶されている場合に、当該類似ワークの搬送条件に基づき前記対象ワークの搬送条件を設定する、ロボットシステム。
【請求項4】
請求項1又は2に記載のロボットシステムにおいて、
前記搬送条件設定部は、前記ワークの画像に基づき前記搬送条件を設定する、ロボットシステム。
【請求項5】
請求項4に記載のロボットシステムにおいて、
前記撮像部を第2撮像部と定義したときに、
前記搬送動作が実行される前の前記収容部内のワーク、又は前記収容部から取り出された、前記ハンド部により把持された状態のワークを撮像可能な第1撮像部をさらに備え、
前記搬送条件設定部は、前記第1撮像部が撮像した前記ワークの画像に基づき前記搬送条件を設定する、ロボットシステム。
【請求項6】
請求項
1乃至5の何れか一項に記載のロボットシステムにおいて、
前記搬送動作が実行された後の前記収容部内のワークを撮像可能な第3撮像部をさらに備え、
前記学習部は、前記制御情報及び前記所定位置におけるワークの品質情報に加え、前記第3撮像部が撮像した画像に基づく前記収容部内のワークの外観的な品質情報をさらに取得し、これらの情報に基づき前記搬送条件を学習する、ロボットシステム。
【請求項7】
請求項
1乃至6の何れか一項に記載のロボットシステムにおいて、
前記搬送条件は、前記ハンド部によるワークの把持力、ワークの運搬速度及び前記ハンド部によるワークの把持位置の少なくとも一つをさらに含む、ロボットシステム。
【請求項8】
請求項
7に記載のロボットシステムにおいて、
前記搬送条件は、ワークの運搬速度及び前記ハンド部によるワークの把持位置を含み、
前記学習部は、前記ワークにおける前記把持禁止領域以外の領域内において可及的に運搬速度が速くなる前記把持位置を学習する、ロボットシステム。
【請求項9】
請求項5に記載のロボットシステムにおいて、
前記搬送動作が実行された後の前記収容部内のワークを撮像可能な第3撮像部と、
過去の前記収容部内のワーク配置情報及び過去の前記
収容部内のワークの品質情報を記憶する第2記憶部と、をさらに含み、
前記第1撮像部は、前記搬送動作が実行される前の前記収容部内のワークを撮像可能なものであり、
前記搬送条件は、前記収容部から前記ワークを取り出す際の当該ワークに対する前記ハンド部のアプローチ方法を含み、
前記学習部は、前記制御情報及び前記所定位置におけるワークの品質情報に加え、前記第3撮像部が撮像した画像に基づく前記収容部内のワークの外観的な品質情報をさらに取得し、これらの情報に基づき前記搬送条件を学習するとともに、前記第1撮像部が撮像した画像から取得されるワーク配置情報が、前記過去のワーク配置情報であってかつ前記収容部内のワークの品質情報に基づき搬送動作に失敗したと認定されたワーク配置情報と類似する場合に、前記搬送条件とは異なるアプローチ方法をとるように学習する、ロボットシステム。
【請求項10】
請求項1乃至
9の何れか一項に記載のロボットシステムにおいて、
前記搬送条件設定部は、ワークの表面状態に関する情報を取得し、当該表面状態に関する情報に基づき前記
把持禁止領域を設定する、ロボットシステム。
【請求項11】
請求項
5、6又は9に記載のロボットシステムにおいて、
複数の前記撮像部の機能を兼用する少なくとも1つの撮像部を備えている、ロボットシステム。
【請求項12】
請求項
11に記載のロボットシステムにおいて、
前記1つの撮像部は、前記ロボットの可動部分に設けられている、ロボットシステム。
【請求項13】
請求項1乃至12に記載のロボットシステムにおいて、
前記搬送条件設定部は、前記搬送条件を初期設定する、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のワークが収容された容器等から前記ワークを取り出して搬送するロボットを備えるロボットシステムに関するものである。
【背景技術】
【0002】
複数のワークがバラ積みされた状態で収容された容器からワークを取り出すシステムとして、例えば特許文献1に開示されるように、ハンド部を備えたロボットによってワークを取り出すロボットシステムが知られている。このロボットシステムは、三次元測定装置で測定された、バラ積みされたワークの表面位置に基づいて最上位にあるワークを特定し、このワークを取り出し可能なハンド部の目標位置およびハンド部の目標姿勢を設定するとともに、当該目標位置および目標姿勢に基づきハンド部を制御するものでる。
【0003】
特許文献1に開示されるような従来のロボットシステムでは、容器からのワークの取り出しが成功した場合でも、ワークの運搬中に、ハンド部の把持部分が傷つき、或いは変形するおそれがある。そのため、ワークの品質を含めた意味で適切なワークの取り出しや運搬が行われているとは言えず、この点に改善の余地がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
本発明は、上記のような事情に鑑みてなされたものであり、その目的とするところは、複数のワークが収容された容器からより良好に品質を保ちつつワークを取り出して所定位置まで運搬することができるロボットシステムを提供することにある。
【0006】
そして、本発明の一の局面に係るロボットシステムは、複数のワークが収容された収容部から前記ワークを把持して取り出し、所定位置に運搬するハンド部を備えたロボットと、前記収容部から前記ワークを取り出して前記所定位置に運搬する、前記ロボットの搬送動作を制御するロボット制御部と、前記搬送動作に関する条件であって、前記ワークのうち、前記ハンド部により把持することを禁止する把持禁止領域を少なくとも含む搬送条件を設定する搬送条件設定部と、を備え、前記ロボット制御部は、前記搬送条件設定部により設定された搬送条件に基づき前記ロボットを制御するものである。
【図面の簡単な説明】
【0007】
【
図1】
図1は、本発明の一実施形態に係るロボットシステムの構成を示すブロック図である。
【
図2】
図2は、ロボットシステムに備えられるロボットの一例を示す側面図である。
【
図3】
図3は、ロボットシステムの基本動作を説明するためのフローチャートである。
【
図5】
図5は、第1容器内に収容されたワークの一例を示す平面略図である。
【
図6】
図6は、第1容器内に収容されたワークの一例を示す平面略図である。
【
図7】
図7は、第1容器内に収容されたワークの一例を示す平面略図である。
【
図11】
図11は、搬送条件の学習動作の一例を示すフローチャートである。
【
図13】
図13は、変形例に係るロボットシステムの構成を示す図である。
【
図14】
図14は、変形例に係るロボットシステムの構成を示す図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態に係るロボットシステムについて図面に基づいて説明する。
【0009】
[ロボットシステムの全体構成]
図1は、本発明の一実施形態に係るロボットシステム1の構成を示すブロック図である。ロボットシステム1は、ロボット2と、第1カメラ3A(第1、第3撮像部)と、第2カメラ3B(第2撮像部)と、ロボット2および各カメラ3A、3Bを制御する制御部4とを備える。このロボットシステム1は、複数のワークがバラ積みされた状態で収容された容器からワークを取り出し、所望の目的位置(所定位置)まで搬送するためのシステムである。
【0010】
図2は、ロボットシステム1に備えられるロボット2の一例を示す側面図である。ロボット2は、複数のワークWがバラ積みされた状態で収容された第1容器30(収容部)から当該ワークWを取り出して(ピッキング)、別の第2容器32に運搬するロボットである。各容器30、32は、上方側が開口した平面視矩形の有底容器である。第2容器32は内部が複数の収納エリア33に区画された皿形容器である。ロボット2は、第1容器30の開口を介してワークWを取り出し、第2容器32の開口を介して、何れかの収納エリア33内にワークWを載置する。このように第1容器30からワークWを取り出して第2容器32の各収納エリア33に運搬する場面としては、例えば機械製造の現場で、複数の部品がバラ積みされた容器から部品を取り出してキッティングトレイに配膳する場面が想定される。
【0011】
ロボット2は、ベース部21と、胴部22と、第1アーム23と、第2アーム24と、手首部25と、ハンド部26とを備えた6軸垂直多関節ロボットである。ベース部21は、床や台等に固定設置されている。胴部22は、ベース部21の上面において、鉛直方向(上下方向)に延びる第1軸2A回りに、正逆両方向に回転可能に配置される。第1アーム23は、所定の長さを有するアーム部材であり、その長手方向の一端部が水平方向に延びる第2軸2Bを介して胴部22に取り付けられている。第1アーム23は、第2軸2B回りに、正逆両方向に回転可能である。
【0012】
第2アーム24は、アームベース24aとアーム部24bとを含む。アームベース24aは、第2アーム24のベース部分であり、第2軸2Bに対して平行且つ水平方向に延びる第3軸2Cを介して、第1アーム23の長手方向他端部に取り付けられている。アームベース24aは、第3軸2C回りに、正逆両方向に回転可能である。アーム部24bは、所定の長さを有するアーム部材であり、その長手方向の一端部が第3軸2Cに対して垂直な第4軸2Dを介してアームベース24aに取り付けられている。アーム部24bは、第4軸2D回りに、正逆両方向に回転可能である。
【0013】
手首部25は、第2軸2B及び第3軸2Cに対して平行且つ水平方向に延びる第5軸2Eを介して、アーム部24bの長手方向他端部に取り付けられている。手首部25は、第5軸2E回りに、正逆両方向に回転可能である。
【0014】
ハンド部26は、ロボット2において第1容器30からワークWを取り出す部分であり、第5軸2Eに対して垂直な第6軸2Fを介して手首部25に取り付けられている。ハンド部26は、第6軸2F回りに、正逆両方向に回転可能である。ハンド部26は、第1容器30内のワークWを保持可能な構造であれば特に限定されるものではなく、例えば、ワークWを把持して保持する複数の爪部を備えた構造であってもよいし、ワークWに対して吸引力を発生する電磁石又は負圧発生装置を備えた構造であってもよい。本実施形態では、ハンド部26は、接離可能な一対の爪部を備えた構造を有し、第1容器30内のワークWを一対の爪部で把持(挟持)することによって当該ワークWを取り出す。
【0015】
ロボット2の胴部22、第1アーム23、第2アーム24(アームベース24a、アーム部24b)、手首部25及びハンド部26は、各々図外の駆動モータにより駆動されて作動する。
【0016】
なお、ロボット2の軸の数は6軸に限定されるものでなく、それ以外の軸数であってもよい。また、ロボット2は、第1容器30からワークWを取り出し可能なハンド部を備えたロボットであれば特に限定されるものではなく、例えば、垂直多関節ロボットや水平多関節ロボット、或いは双腕型の多関節ロボットを採用することができる。
【0017】
第1カメラ3Aは、第1容器30に収容されたワークWを含む画像を撮像するものであり、第1容器30の上方に配置されている。また、第1カメラ3Aは、第1容器30からのワークWの取り出しの成否を確認するために、ワークWの取り出し動作後のハンド部26を含む画像を撮像するものでもある。第2カメラ3Bは、第2容器32に収容されたワークWを含む画像を撮像するものであり、第2容器32の上方に配置されている。これら第1、第2のカメラ3A、3Bは、後記カメラ制御部41と共に三次元計測器を構成する。
【0018】
制御部4は、上記の通り、ロボット2及び各カメラ3A、3Bを統括的に制御するものである。制御部4は、カメラ制御部41、ロボット制御部42、搬送条件設定部43、記憶部44、及び学習部45を備えている。
【0019】
カメラ制御部41は、第1カメラ3Aおよび第2カメラ3Bによる撮像動作を実行させるもので、撮像制御部41aと画像処理部41bとを備えている。撮像制御部41aは、ハンド部26によるワークWの取り出しの際に、第1カメラ3Aに、第1容器30内を撮像する動作を実行させるとともに、ワークWの取り出し動作後のハンド部26を含む画像を撮像する動作を実行させる。また、撮像制御部41aは、第2容器32へ搬送されたワークWを確認する際に、第2カメラ3Bに第2容器32内を撮像する動作を実行させる。
【0020】
画像処理部41bは、各カメラ3A、3Bが撮像した画像を画像処理することによって、ワークWの三次元位置情報を含む画像データを生成する。ワークWの三次元位置情報は、例えばXYZ直交座標系を用いた座標値(X,Y,Z)で表される。
【0021】
ロボット制御部42は、搬送条件設定部43が設定する搬送条件に基づいて、ロボット2(ハンド部26)にワークWの搬送動作を実行させるものである。ロボット制御部42は、前記搬送条件に従ってワークWの搬送動作を実行するように、すなわち、ワークWの取り出し(ピッキング)動作と、当該ワークWの運搬及び載置動作(運搬動作と載置動作をまとめてプレイス動作と称する場合がある)とを実行するよう、ロボット2の前記駆動モータを制御する。また、学習部45において、ワークWの搬送動作に関する機械学習が実行される場合には、ロボット制御部42がどのようにロボット2を作動させたかに関する情報が学習部45に出力される。
【0022】
搬送条件設定部43は、ワークWに応じて、ワークWを搬送する際のロボット2の動作や、禁止すべき事項などの搬送条件を設定するものである。例えばワークWにおいてハンド部26が把持することを禁止すべき領域などについての取り決めである。この点については後に詳述する。この搬送条件は、図外の入力部を介してオペレータにより教示されたものであってもよいし、後述する機械学習の結果として取得されるものであってもよい。
【0023】
記憶部44は、搬送条件設定部43が設定した搬送条件を更新的に記憶するものである。記憶部44には、複数(種類)のワークWについて、後記基本情報と搬送条件とを対応づけたテーブルデータが記憶されている。
【0024】
学習部45は、ロボット2の動作を学習する学習処理を実行するものである。機械学習によって前記搬送条件を設定する場合、学習部45は、ロボット制御部42によるロボット2の制御情報と、カメラ制御部41から入力される画像データとを、学習サイクル毎に取得する。そして、学習部45は、これらの情報から、ワークWを搬送する場合における最適なロボット2の行動パターンや搬送条件を学習させる。前記行動パターンは、例えば、ワークWのピッキング動作の際にハンド部26によりワークWのどの位置をどの程度の力で把持するか(把持力)、また、ワークWのピッキング、運搬及びプレイス動作の際にハンド部26をどの程度の速度で移動させるか(運搬速度)、などに関するロボット2の行動である。なお、後述する通り、搬送条件にはこれらの行動要素も含まれている。学習部45は、品質観測部46、報酬設定部47及び価値関数更新部48を含む。これらについては、後に詳細に説明する。
【0025】
[ワークWの搬送動作]
図3は、ロボットシステム1の基本動作を説明するためのフローチャートである。先ず、制御部4が、ワークWの形状等の基本情報を取得する(ステップS1)。この基本情報は、ワークWの種別、形状、サイズ、表面状態等の情報であり、制御部4は、図外の入力部を介したオペレータによる入力操作、若しくは、第1カメラ3Aによる撮像結果に基づきこの基本情報を取得する。前記表面状態とは、ワークWに施された表面処理などである。
【0026】
次に、搬送条件設定部43が、前記基本情報に基づいて、ワークWの搬送条件を設定する(ステップS3)。この搬送条件は、上述の通り、図外の入力部を介してオペレータにより教示されたもの、或いは機械学習の結果として取得されたものであってもよい。
【0027】
続いて、カメラ制御部41が、第1カメラ3Aに第1容器30内を撮像させることにより、その画像データに基づきロボット制御部42が取り出し対象となるワークW(適宜、対象ワークWと称す)を特定する(ステップS5)。
【0028】
そして、ロボット制御部42がロボット2を駆動し、対象ワークWを第1容器30から取り出して第2容器32に搬送する搬送動作を実行させる(ステップS7)。ロボット制御部42は、ステップS5、S7において、搬送条件設定部43が設定した搬送条件に基づき、取り出し対象となるワークWを特定するとともに前記搬送動作を実行する。
【0029】
搬送動作が完了すると、カメラ制御部41が、第2カメラ3Bに第2容器32内を撮像させることにより、その画像データに基づきワークWの状態が認識される(ステップS9)。この際、ワークWが収納エリア33に収容されていない場合等、搬送動作が不適切と認められる場合には、ロボット制御部42は、図外の報知部を制御し、オペレータに対して異常を報知させる動作を実行させる。
【0030】
次に、ロボット制御部42が、所定数NのワークWを第1容器30から第2容器32に搬送したかを判断し(ステップS11)、搬送していない場合には、処理をステップS5に移行し、次のワークWについて搬送動作をロボット2に実行させる。一方、所定数NのワークWが第1容器30から第2容器32に搬送された場合には、ロボット制御部42は、本フローチャートを終了する。
【0031】
[搬送条件の具体例]
図4A、4Bに基づいて、搬送条件設定部43が設定する搬送条件の具体例を説明する。
図4A、4Bは、搬送条件の一例を説明するための図であり、
図4AはワークWの平面図であり、
図4BはワークWの断面図(
図4AのIV-IV線断面図)である。
【0032】
図4Aに示すワークWは、例えば6角穴付きボルト(キャップボルト)である。このワークW(適宜ボルトWと称す)は、レンチ挿入用の孔部を備えた頭部50と、軸部52とを備える。軸部52は、先端側のネジ部52aと、頭部側の非ねじ部(円筒部52bと称する)とを含む。搬送条件設定部43は、ボルトWの品質を確保しつつボルトWをハンド部26で把持して搬送させるための搬送条件を設定する。
【0033】
具体的には、ボルトWのうち、ネジ部52aを、ハンド部26により把持することを禁止する把持禁止領域Aaに設定し、それ以外の部分を、ハンド部26により把持することを許容する把持可能領域Abに設定する。すなわち、ワークWの搬送の際にはハンド部26により把持可能領域Abを把持させるのである。これにより、ネジ部52aをハンド部26で把持することによってそのねじ山が潰れるといった不都合が防止される。
【0034】
搬送条件設定部43は、さらに把持可能領域Abのうち、円筒部52bに対応する部分を、条件付きで把持することを許容する条件付き領域Ab1に設定する。すなわち、頭部50を優先的に把持させ、所定条件が満たされた場合にのみ円筒部52bをハンド部26により把持させるのである。所定条件とは、例えば第1容器30の角部に頭部50が位置するためにハンド部26により把持できない場合などであり、この場合には、円筒部52bをハンド部26により把持させるようにする。これは、円筒部52bはネジ部52aに隣接するため、頭部50と同等に把持することを許容すると、ロボット2の作動誤差等に起因してネジ部52aの一部がハンド部26により把持されてねじ山が傷付けられることが考えらえられることによる。また、軸部52に特殊な表面処理が施されているような場合、ハンド部26により円筒部52bの表面処理が傷つけられるといった不都合を出来るだけ抑制するためでもある。
【0035】
なお、ネジ部52aは、把持禁止領域Aaであると同時に接触禁止領域Baでもある。また、頭部50及び円筒部52bは、把持可能領域Abであると同時に接触可能領域Bbでもある。すなわち、一のボルトWが搬送対象物である場合、当該一のボルトWのネジ部52aは把持禁止領域Aaであり、それ以外の部分は把持可能領域Abである。一方、搬送対象物である当該一のボルトW以外のボルトWについては、ネジ部52aは、ハンド部26が接触することを禁止する接触禁止領域Baであり、それ以外の部分は、ハンド部26が接触することを許容する接触可能領域Bbである。つまり、ハンド部26によるボルトWの取り出しの際には、当該ボルトWの把持可能領域Abのうち、周辺に位置するボルトWのネジ部52a(接触禁止領域Ba)に接触しない位置をハンド部26に把持させるのである。これにより、ボルトWの取り出しの際に、取り出し対象のボルトWの周辺にあるボルトWのネジ部52aがハンド部26により傷つけられることが抑制される。従って、搬送条件設定部43は、把持禁止領域Aa及び把持可能領域Abを設定するとともに、接触禁止領域Ba及び接触可能領域Bbを設定すると言える。
【0036】
搬送条件設定部43は、さらに、円筒部52bの先端部分からネジ部52aの先端を含むボルトW周辺の一定の空間(円筒状の空間)を侵入禁止領域Bcと設定する(
図4A、4B参照)。この領域Bcは、ハンド部26が侵入することを禁止する領域である。つまり、取り出し対象となるボルトWの周辺にあるボルトWのネジ部52aにハンド部26が接近することを禁止するのである。これによりネジ部52aがハンド部26によって傷つけられることがより高度に抑制される。
【0037】
上述した搬送条件に加えて、搬送条件設定部43は、複数のボルトWが重なり合っている場合には、最上位に位置するボルトWから優先的に取り出させるという搬送条件を設定する。また、搬送条件設定部43は、搬送条件として、ボルトWを確実に把持して搬送することが可能となる把持位置、把持力及び運搬速度を、当該ボルトWの形状や表面処理の状態に応じて設定する。この際、特に円筒部52b(条件付き領域Ab1)を把持する場合の把持力及び運搬速度は、それ以外の部分(頭部50)を把持する場合の把持力及び運搬速度よりも低くなるように搬送条件を設定する。
【0038】
ここで、上記搬送条件に基づいたロボット2によるボルト(ワーク)Wの取り出し動作の例について
図5~
図7を用いて説明する。
図5~
図7は、第1容器30内に収容されたボルトWを示す平面略図である。
【0039】
図5の例では、複数のボルトW1~W3は、互いに離間して配置されている。詳しくは、各ボルトW1~W3は、何れも、ハンド部26により頭部50を把持されることが可能で、かつボルトW1~W3の何れのボルトWの頭部50が把持される場合も、当該ハンド部26が他のボルトWの侵入禁止領域Bcに浸入することがないような距離を隔てて互いに離間している。従って、このような場合には、ロボット2は、ボルトW1~W3のうちの何れか一つを、その頭部50をハンド部26で把持して第1容器30から取り出す。
【0040】
図6の例では、ボルトW1、W2は互いに重なった状態で配置されている。具体的には、一方のボルトW2のネジ部52aの上に、他方のボルトW1の頭部50が重なっている。この場合、上位のボルトW1の
頭部50をハンド部26で把持しようとすると、下位のボルトW2の侵入禁止領域Bcにハンド部26が浸入してそのネジ部52a(接触禁止領域Ba)に接触するおそれがある。従って、このような場合には、ロボット2は、ボルト
W1の円筒部52b(把持可能領域Ab1)をハンド部26で把持して第1容器30から取り出す。この際、ロボット2は、搬送条件において設定された把持力であって、頭部50を把持する場合の把持力よりも低い把持力で円筒部52bを把持する。
【0041】
図7の例では、ボルトW1、W2は重なってはいないが、一方のボルトW1の頭部50及び円筒部52bが、他方のボルトW2の円筒部52b及びネジ部52aに接触している。この場合、一方のボルトW1の頭部50や円筒部52b(条件付き領域Ab1)をハンド部26で把持しようとすると、当該ハンド部26が他方のボルトW2の侵入禁止領域Bcに侵入するおそれがある。その一方で、他方のボルトW2の頭部50は、その周囲が広く開放されている。従って、このような場合には、ロボット2は、ボルトW2の頭部50をハンド部26で把持して第1容器30を取り出す。
【0042】
なお、
図4A~
図7は、ワークWが六角穴付きボルトである場合の把持禁止領域Aa(接触禁止領域Ba)、把持可能領域Ab、Ab1(接触可能領域Bb)及び侵入禁止領域Bcの例示である。従って、ワークWの種類やサイズが異なれば、これらの領域の位置や広さが異なることは言うまでもない。また、例えば鏡面処理等の表面処理が施されているワークWについては、搬送条件設定部43は、当該表面処理の種類や位置等に応じて把持禁止領域Aa(接触禁止領域Ba)や侵入禁止領域Bcを設定する。
【0043】
[機械学習について]
次に、前記学習部45の構成について説明するとともに、搬送条件設定部43が、学習部45による機械学習によって搬送条件を設定する例について説明する。
【0044】
<学習部の構成>
学習部45は、ある搬送動作が実行されたときのロボット2の制御情報と、その搬送動作が実行されたワークWの品質情報とから、ワークWを搬送する場合の最適なロボット2の行動パターン及び搬送条件を学習する。ここで、「品質情報」とは、主に搬送後のワークWの表面(外観)の状態を表す情報である。学習部45により取得された学習結果は、搬送条件設定部43が設定する搬送条件に反映される。
【0045】
なお、学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、学習部45における学習の手法として、強化学習としてのQ学習の手法が採用されている。Q学習は、ロボット2の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット2の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、学習部45が実行する強化学習としてのQ学習は、例えば、ニューラルネットワーク(Neural Network)を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン(神経細胞)の機能を模した論理回路を多層に積層して構成されたものである。
【0046】
学習部45は、上述した通り(
図1)、品質観測部46、報酬設定部47及び価値関数更新部48を含む。
【0047】
品質観測部46は、搬送前のワークWの画像データ(以下、搬送前画像データという)と、搬送後のワークWの画像データ(以下、搬送後画像データという)とを比較し、ワークWの品質を評価する(以下、ワーク品質評価という)。搬送前画像データは、対象となるワークWの三次元位置情報(X、Y、Z座標値)を含む画像データであり、このロボットシステム1とは別に事前にワークWを撮像して取得されたもの、或いは第1カメラ3Aにより第1容器30内を撮像させることにより取得されたものが用いられる。
【0048】
品質観測部46は、具体的には、搬送前後の画像データを対比し、搬送中に形成された把持痕や傷(以下、単に傷という)の有無、傷の位置、傷の大きさ等を特定し、傷の状態に基づき3段階の評価(A~C評価)を行う(
図8参照)。例えば、搬送中に傷が形成されていない場合には、ワーク品質評価を「A」とし、大きい傷が形成されている場合には、ワーク品質評価を「C」とする。また、小さい傷であってもその位置がワークWのネジ部52a(把持禁止領域Aa)であるような場合には、ワーク品質評価を「C」とする。
【0049】
また、品質観測部46は、第1容器30からのワーク取り出し直後のハンド部26を含む画像データ(以下、取り出し後画像データという)に基づき、ハンド部26によるピッキング動作の良否を評価するとともに(以下、ピッキング評価という)、前記搬送後画像データに基づき、ワークWのプレイス動作の良否を評価する(以下、プレイス評価という)。取り出し後画像データとしては、ハンド部26によるワークWの取り出し動作後、第1カメラ3Aによりハンド部26を含む領域を撮像させることにより取得されたものが用いられる。
【0050】
品質観測部46は、具体的には、取り出し後画像データに基づき、ハンド部26によるワークWの把持位置や把持姿勢を特定し、ピッキング評価として3段階の評価(A~C評価)を行う(
図8参照)。例えば、ハンド部26が把持可能領域AbのみでワークWを適切に把持している場合には、ピンキング評価を「A」とし、ハンド部26が把持禁止領域Aaに侵入した状態でワークWを把持しているような場合には、その侵入度合に応じてピッキング評価を「B」又は「C」とする。
【0051】
また、品質観測部46は、搬送後画像データに基づき、搬送後のワークWの位置や姿勢を特定し、プレイス評価として3段階の評価(A~C評価)を行う(
図8参照)。例えば、品質観測部46は、第2容器32の収納エリア33内に定められた姿勢で載置されている場合には、プレイス評価を「A」とし、ワークWが定められた姿勢とは異なる姿勢で配置され、或いは収納エリア33からはみ出している場合等には、プレイス評価を「B」又は「C」とする。
【0052】
なお、当実施形態では、品質観測部46は、ピッキング評価、プレイス評価、ワーク品質評価として各々3段階の評価を行うが、各評価は3段階に限定されるものではない。
【0053】
報酬設定部47は、ロボット2が実行した搬送動作(行動パターン)と、その行動パターンによって搬送されたワークWの品質とを関連付けて、当該行動パターンに対して報酬Rを与える処理を実行する。具体的には報酬設定部47は、ロボット制御部42から、あるワークWの搬送の際にロボット2に実行させた行動パターンの制御データを取得する。また、報酬設定部47は、当該行動パターンによって搬送されたワークWについて品質観測部46が導出した評価結果のデータを取得する。前記行動パターンの制御データと、前記評価結果のデータとに基づいて、当該行動パターンに対して報酬Rが与えられる。詳しくは、当該行動パターンを構成する行動要素毎に報酬Rが与えられる。行動要素には「把持位置」、「把持力」及び「運搬速度」が含まれる。「把持位置」は、ハンド部26がワークWを把持する際の当該ワークWに対するハンド部26の位置であり、「把持力」は、ハンド部26がワークWを把持する際の力の大きさであり、「運搬速度」は、取り出されたワークWを運搬する際のハンド部26の移動速度である。これらの行動要素は、上述した通り搬送条件でもある。
【0054】
報酬Rは、ピッキング評価、プレイス評価、及びワーク品質評価が高いほど、大きい値が付与されるように設定されている。当例では、報酬Rは、例えば
図8に示す報酬表に基づいて与えられる。ピッキング評価、プレイス評価、及びワーク品質評価は、上述の通り各々3段階の評価(A評価~C評価)とされ、報酬表は、ピッキング評価及びプレイス評価を縦項目、ワーク品質評価を横項目としたマトリクス表で規定されている。つまり、ピッキング評価及びプレイス評価と、ワーク品質評価との組合せで報酬Rが決定される。
【0055】
より詳しくは、
図8に示すように、ピッキング評価と、ワーク品質評価との組み合わせにより、ハンド部26によるピッキング動作におけるロボット2の行動パターンに対する報酬(Ra
11~Ra
33)が決定され、プレイス評価と、ワークWの品質の評価との組み合わせにより、プレイス動作におけるロボット2の行動パターンに対する報酬(Rb
11~Rb
33)が決定される。
【0056】
ピッキング動作の行動パターンに対する報酬(Ra
11~Ra
33)は、例えば
図9A、9Bに示すように、当該行動パターンを構成する行動要素毎、すなわち「把持力」及び「把持位置」の各々について設定されている。
図9Aは、ピッキング評価及びワーク品質評価が共にA評価の場合の各行動要素の報酬Rの例示であり、
図9Bは、ピッキング評価がA評価で、ワーク品質評価がC評価の場合の各行動要素の報酬Rの例示である。
【0057】
プレイス動作の行動パターンに対する報酬(Rb
11~Rb
33)は、例えば
図10A、10Bに示すように、当該行動パターンを構成する行動要素毎、すなわち「把持力」、「把持位置」及び「搬送速度」の各々について設定されている。
図10Aは、プレイス評価及びワーク品質評価が共にA評価の場合の各行動要素の報酬Rの例示であり、
図10Bは、プレイス評価がA評価で、ワーク品質評価がC評価の場合の各行動要素の報酬Rの例示である。
【0058】
各行動要素の報酬Rは、上記の通り、ピッキング評価、プレイス評価、及びワーク品質評価が高いほど、大きい値が付与されるように設定されているが、さらに、ワークWの運搬速度が速いほど、大きい値が付与されるように設定されている。これにより、学習部45は、可及的に運搬速度が速くなるような、ロボット2の搬送動作の行動パターンを学習するようになっている。
【0059】
価値関数更新部48は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、報酬設定部47により設定された報酬Rに応じて更新する。価値関数更新部48は、下記式(1)で示される価値Q(s,a)の更新式を用いて価値関数を更新する。
【0060】
【0061】
上記式(1)において、「s」は、ロボット2の状態を表し、「a」は、行動パターンに従ったロボット2の行動を表す。行動「a」によってロボット2の状態が、状態「s」から状態「s’」へ移行する。R(s,a)は、その状態の移行により得られた報酬Rを表している。「max」が付された項は、状態「s’」において最も価値の高い行動「a’」を選択した場合の価値Q(s’,a’)に「γ」を乗算したものになる。「γ」は、減衰率と呼ばれるパラメータであり、0<γ≦1の範囲(例えば0.9)とされる。また、「α」は、学習率と呼ばれるパラメータであり、0<α≦1の範囲(例えば0.1)とされる。
【0062】
上記式(1)は、行動「a」に対して報酬設定部47により設定された報酬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)を小さくすることを示している。つまり、価値関数更新部48は、上記式(1)で示される更新式を用いて価値関数を更新することによって、或る状態「s」における或る行動「a」の価値Q(s,a)を、その行動「a」に対して設定される報酬Rと、その行動「a」による次の状態「s’」における最良の行動「a’」の価値Q(s’,a’)に近付けるようにしている。
【0063】
<機械学習処理>
図11及び
図12は、搬送条件の学習動作の一例を示すフローチャートである。先ず、制御部4の搬送条件設定部43が、対象ワークWに関する搬送条件のデータが既に記憶部44に格納されているか否かを判定する(ステップS21)。格納されている場合、搬送条件設定部43は、格納されている既存のデータを搬送条件として初期設定する(ステップ
S49)。このようなケースとしては、以前の学習により得られた対象ワークWの既存の搬送条件を学習し直す場合や、元々
記憶部44に記憶されている搬送条件のデフォルトデータを利用して初期設定し学習を行う場合等が想定される。
【0064】
既存のデータが記憶部44に格納されていない場合(ステップS21でNo)、搬送条件設定部43は、類似ワークに関する搬送条件のデータが記憶部44に格納されているか否かを判定する(ステップS23)。格納されている場合、搬送条件設定部43は、類似ワークWに関する搬送条件のデータに基づき、対象ワークWの搬送条件を初期設定する。類似ワークWとは、対象ワークWと形状が共通するワークWである。搬送条件設定部43は、対象ワークの上記基本情報と、記憶部44に格納されているワークWの基本情報とを対比し、双方の形状について予め設定された共通点を満たすワークWを類似ワークWと特定し、当該類似ワークの搬送条件に基づき、対象ワークWの搬送条件を推定する。例えば対象ワークWが、上述した六角穴付きボルトである場合には、当該ボルトと長さが異なるボルト、或いは径が異なるボルトなどが類似ワークとされる。このロボットシステム1では、このように類似ワークWの既存の搬送条件を利用して、対象ワークWの搬送条件が初期設定されるので、一から搬送条件をプログラミングするといった手間が省けるのである。
【0065】
類似ワークに関する搬送条件のデータが記憶部44に格納されていない場合(ステップS23でNo)、搬送条件設定部43は、対象ワークWの画像データを取得し(ステップS51)、その画像データに基づき、対象ワークWの搬送条件を初期設定する(ステップS55)。例えば搬送条件設定部43は、画像データ(三次元位置情報を含む画像データ)の点群密度等からワークWの形状を特定し、その形状に基づき把持禁止領域Aa、接触可能領域Bb及び侵入禁止領域Bcを推測するとともに、ハンド部26による当該ワークWの「把持位置」、「把持力」、「運搬速度」を推測する。これにより搬送条件を初期設定する。なお、画像データは、図外の入力部を介してオペレータにより事前に与えられている場合には当該画像データが用いられ、与えられていない場合には、カメラ制御部41を介して第1容器30内部を第1カメラ3Aに撮像させることにより取得される。
【0066】
このようにステップS25、S49、S55の何れかの処理により対象ワークWの搬送条件が初期設定される。すなわち、対象ワークWの把持禁止領域Aa(接触禁止領域Ba)、把持可能領域Ab(接触可能領域Bb)及び侵入禁止領域Bcが決定されるとともに、ハンド部26による当該ワークWの「把持位置」、「把持力」、「運搬速度」が決定される。以上のステップS21~S25、S49~S55の処理が、学習処理に際しての事前準備であり、ステップS25、S49、S55で初期設定された搬送条件が、ステップS27以降の学習処理による学習結果に応じて修正されるのである。
【0067】
学習処理では、先ず、第1カメラ3Aにより第1容器30内の画像データが取得され、画像処理部41bの物体認識処理によりワークWの三次元位置情報が取得される(ステップS27)。これにより、これから取り出されるワークWの、前記第1容器30内における位置情報(座標値)が取得され、この位置情報がロボット制御部42に与えられる。なお、学習部45の品質観測部46は、このようなワークWの三次元位置情報を含む画像データを、カメラ制御部41から上述の搬送前画像データとして取得する。
【0068】
ロボット制御部42は、搬送条件設定部43が設定した搬送条件及び前記物体認識により取得されたワークWの位置情報に基づきロボット2を動作させ、また、各禁止領域Aa、Ba、Bc等の搬送条件を加味して第1容器30からワークWを取り出させる(ステップS29)。ワそして、カメラ制御部41が、ロボット2のハンド部26に把持されたワークWを第1カメラ3Aにより撮像させ、その画像データに基づき、制御部4がハンド部26にワークWが把持されているか否かを判定する(ステップS31、S33)。なお、学習部45の品質観測部46は、このようにワークWが把持された画像データを、カメラ制御部41から上述の取り出し後画像データとして取得する。
【0069】
ワークWが把持されている場合(ステップS33でYes)、ロボット制御部42は、ロボット2を駆動させて、取り出したワークWを第2容器32まで運搬させると共に、所定のXYZ位置でワークWをリリース(把持解除)させる(ステップS35)。これにより、第1容器30から第2容器32へのワークWの搬送が完了する。
【0070】
ワークWの搬送が完了すると、第2カメラ3Bにより第2容器32内の画像データが取得され、画像処理部41bの物体認識処理によりワークWの三次元位置情報を含む画像データが取得される(ステップS37)。学習部45の品質観測部46は、このようなワークWの三次元位置情報を含む画像データを、カメラ制御部41から上述の搬送後画像データとして取得する。なお、ワークWが把持されていない場合には(ステップS33でNo)、後記ステップS41に移行される。
【0071】
次に、品質観測部46は、ステップS31で取得した取り出し後画像データに基づき、上述のピッキング評価を行うとともに、ステップS37で取得した搬送後画像データに基づき、上述のプレイス評価を行い、さらに、ステップS37で取得した搬送後画像データと、ステップS27で取得した搬送前画像データとを比較することにより、上述のワーク品質評価を行う(ステップS39)。
【0072】
続いて、報酬設定部47が、ピッキング動作の成否及び品質観測部46の評価結果に基づき、今回のロボット2の行動パターンに基づき報酬Rを与える。報酬Rは、上述の
図8の報酬表に基づき決定される。その場合、ピッキング動作の行動パターンに対する報酬(Ra
11~Ra
33)は、当該行動パターンを構成する行動要素毎に与えられる。具体的には、
図9A、9Bを参照して、ピッキング評価及びワーク品質評価が共にA評価の場合には、報酬設定部47は、当該行動パターンの「把持力」及び「把持位置」に対して報酬「100」を与える。また、ピッキング評価がA評価で、ワーク品質評価がC評価の場合には、報酬設定部47は、当該行動パターンの「把持力」に対して報酬「0;ゼロ」を与え、「把持位置」に対して報酬「60」を与える。
【0073】
同様に、プレイス動作の行動パターンに対する報酬(Rb11~Rb33)は、当該行動パターンを構成する行動要素毎に与えられる。具体的には、
図10A、
図10Bを参照して、プレイス評価及びワーク品質評価が共にA評価の場合には、報酬設定部47は、当該行動パターンの「把持力」、「運搬速度」及び「把持位置」に対してそれぞれ報酬「100」を与える。また、プレイス評価がA評価で、ワーク品質評価がC評価の場合には、報酬設定部47は、当該行動パターンの「把持力」及び「運搬速度」に対してそれぞれ報酬「0」を与え、「把持位置」に対して報酬「60」を与える。
【0074】
なお、ステップS33において、ワークWが把持されていない場合には、
図8の報酬表に拘わらず、報酬設定部47は、ピッキング動作の行動パターンの「把持力」及び「把持位置」に対して各々報酬「0」を与え、プレイス動作の行動パターン「把持力」、「運搬速度」及び「把持位置」に対して各々報酬「0」の報酬を与える。
【0075】
その後、価値関数更新部48が、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(ステップS43)。詳しくは、ピッキング動作の行動パターンの各行動要素の価値Q(s,a)を規定する価値関数を、ピッキング動作の行動パターンの各行動要素に対する報酬(Ra11~Ra33)に基づき更新するとともに、プレイス動作の行動パターンの各行動要素の価値Q(s,a)を規定する価値関数を、プレイス動作の行動パターンの各行動要素に対する報酬(Rb11~Rb33)に基づき更新する。
【0076】
上記のステップS27~S43で示される各処理が、学習部45による学習処理の1サイクルにおいて実行される処理である。学習部45は、学習回数が所定回数Nに達したか否かを判定する(ステップS45)。所定回数Nに達していない場合は(ステップS45でNo)、学習部45は、ステップS27に処理を移行し、第1容器30からの次のワークWの取り出しを実行させ、学習処理を繰り返す。一方、所定回数Nに達した場合は(ステップS45でYes)、学習部45が学習処理を終了し、搬送条件設定部43が学習結果、すなわち最終的に得られた搬送条件のデータを記憶部44に格納し(ステップS47)、本フローチャートを終了する。この場合、対象ワークWの搬送条件のデータが記憶部44に格納されていない場合には、搬送条件設定部43は、初期設定された搬送条件を学習結果に基づき修正した上で、当該搬送条件を対象ワークWの上記基本情報と共に記憶部44に新規に格納し、対象ワークWの搬送条件のデータが記憶部44に既に格納されている場合には、既存のデータを、修正後の搬送条件のデータによって上書きする。
【0077】
<学習による作用効果>
以上のように、学習部45による学習処理が実行されることにより、より理想的なワークの搬送動作が実行されるような搬送条件が探知されて、ステップS49、S25、S55で初期設定された搬送条件が、搬送条件設定部43により修正されることとなる。例えば、初期設定された「把持位置」では、ハンド部26がワークWの取り出しに繰り返し失敗し、高いピキング評価やプレイス評価が得られないような場合には、学習処理によって、より高いピキング評価が得られる「把持位置」が探知されることとなる。この場合、搬送条件設定部43は、初期設定された「把持位置」が把持禁止領域Aaに含まれるように、例えば、初期設定された「把持禁止領域Aa」を拡大修正する。これにより、ワークWの取り出しに失敗し難い、より理想的な搬送条件が設定されることとなる。
【0078】
また、上述の通り、価値関数更新部48は、ワークWの運搬速度が速いほど大きい値の報酬Rを付与する。つまり、学習部45は、可及的に運搬速度が速くなるような把持力や把持位置を把持可能領域Ab内において学習することとなる。従って、第1容器30から第2容器32へ、より速やかにワークWを搬送し得るような搬送条件が設定されることとなる。例えば、ある学習サイクルにおいて、プレイス動作の行動パターンの行動要素である「把持力」及び「運搬速度」が各々最大値に設定されていたが、ワークWに強い把持痕が見られワーク品質評価が低かった場合には、学習部45は、次の学習サイクルでは、前回よりも「把持力」を低く設定する。その結果、ワークWの把持痕は見られなくなったが、例えば第2容器32内でワークWの位置ずれが発生しているような場合、つまり「把持力」との関係で「運搬速度」が速すぎた場合には、学習部45は、さらに次の学習サイクルでは「運搬速度」を前回よりも低く設定する。ここでは、「把持力」と「運搬速度」との関係について述べたが、学習部45は、「把持位置」についても同様に学習する。その結果、学習部45は、ワークWを適切に搬送できる範囲内で、可及的に運搬速度が速くなるような把持力及び把持位置を把持可能領域Ab内において学習することとなる。
【0079】
[変形例等]
上述したロボットシステム1は、本発明に係るロボットシステムの好ましい実施形態の例示であり、その具体的な構成は、本発明の要旨を逸脱しない範囲で変更が可能である。例えば、以下のような態様を採ることもできる。
【0080】
(1)ロボット2は、ワークWを把持するためのハンド部26のツール(実施形態では一対の爪部)を複数のツールの中から選択的に自動交換できるものであってもよい。この場合には、搬送条件設定部43が、搬送条件として何れのツールを使用するかを設定し、学習部45による機械学習に基づき最適なツールを学習するようにすることができる。このような構成によれば、最適なツールによりワークWの搬送動作が実行されることにより、当該ワークWの品質をより高度に確保しつつ当該ワークWを搬送することが可能となる。
【0081】
(2)上記実施形態では、搬送条件設定部43は、ワークWの既存データ、類似ワークWの既存データ、および第1カメラ3Aを介して取得したワークWの画像データの何れかに基づき搬送条件の初期設定を行う(
図11のステップS49、S25、S55)。しかし、それ以外の情報に基づき搬送条件を設定するようにしてもよい。例えば図外の入力部を介してワークWの上記基本情報がオペレータによって教示されて制御部
4に記憶されている場合など、搬送条件設定部43が当該基本情報を取得可能な場合には、当該基本情報に基づき搬送条件を設定するようにしてもよい。特に、前記基本情報のうち、ワークWに施された表面処理等の表面状態に関する情報は、画像データから認識し難い。そのため、当該表面状態に関する情報は事前に制御部
4に記憶され、搬送条件設定部43が当該表面状態に関する情報に基づき把持禁止領域Aa(接触禁止領域Ba)や侵入禁止領域Bcを設定する。
【0082】
(3)上記実施形態では、ピッキング動作およびプレイス動作の各行動パターンに対する報酬(Ra
11~Ra
33)は、当該行動パターンを構成する行動要素毎に与えられる。しかし、各行動パターンに対する報酬(Ra
11~Ra
33)は、当該行動パターンを構成する行動要素毎の報酬を合計したものとしてもよい。具体的には、
図9A、9Bを参照して、ピッキング評価及びワーク品質評価が共にA評価の場合には、報酬設定部47は当該行動パターンに対して報酬「200」を与え、ピッキング評価がA評価で、ワーク品質評価がC評価の場合には、報酬設定部47は当該行動パターンに対して報酬「60」を与えるようにしてもよい。同様に、プレイス動作の行動パターンに対する報酬(Rb
11~Rb
33)は、当該行動パターンを構成する行動要素毎の報酬を合計したものとしてもよい。具体的には、
図10A、
図10Bを参照して、プレイス評価及びワーク品質評価が共にA評価の場合には、報酬設定部47は報酬「300」を与え、プレイス評価がA評価で、ワーク品質評価がC評価の場合には、報酬設定部47は報酬「60」を与えるようにしてもよい。
【0083】
(4)上記実施形態では、搬送条件の初期設定のためにワークWの画像データを取得する撮像部として、すなわち本発明の第1撮像部として、第1容器30の上方に配置(固定)された第1カメラ3Aが適用されている。しかし、
図14に示すように、第1撮像部として、ハンド部26などロボット2の可動部分にカメラ3Cを設け、当該カメラ3Cで搬送動作が実行される前の第1容器30内のワークWを撮像するようにしてもよい。また、
図14に示すように、第1撮像部として、第1容器30と第2容器32との間の位置に上向きにカメラ3Dを配置(固定)し、第1容器30から取り出されて、ハンド部26により把持された状態のワークWをこのカメラ3Dで撮像するようにしてもよい。
【0084】
また、上記実施形態では、第2容器32への搬送後のワークWを撮像する撮像部、すなわち本発明の第2撮像部として、第2容器32の上方に配置(固定)された第2カメラ3Bが適用されている。しかし、第2撮像部として、
図14に示したようなカメラ3Cで、搬送動作が実行された後の第2容器32内のワークWを撮像するようにしてもよい。
【0085】
(5)ハンド部26によるワーク取り出し後の第1容器30内を第1カメラ3A(第3撮像部)で撮像し、上記取り出し後画像データに加え(又は取り出し後画像データとは別に)、当該画像データ(他ワーク画像データという)に基づき、ハンド部26によるピッキング動作の良否を評価するようにしてもよい。つまり、対象となるワークWをハンド部26が取り出す際に、当該対象ワークWの周辺にある他のワークに与える影響を加味するようにしてもよい。この場合には、第1カメラ3Aにより第1容器30内を撮像させることにより取得された上記搬送前画像データと、他ワーク画像データとに基づき、品質観測部46が、ハンド部26による他のワークWへの影響、具体的には、他のワークWの変位や、当該他のワークWに形成された傷等を特定してピッキング評価を行うようにする。このような構成によれば、取り出し対象となるワークWの品質のみならず、当該取り出しの際の他のワークWの品質をも保ち得るような搬送条件を探知させることが可能となる。
【0086】
この構成では、ハンド部26によるワーク取り出し後の第1容器30内を撮像する撮像部、すなわち本発明の第3撮像部として、第1容器30の上方に配置(固定)された第1カメラ3Aが適用されている。第1カメラ3Aが本発明の第1撮像部と第3撮像部との機能を兼ねている。しかし、第3撮像部として、
図14に示すようなカメラ3Cで第1容器30内のワークWを撮像するようにしてもよい。この場合、カメラ3Cは、本発明の第1撮像部と第3撮像部との機能を兼ねるものであってもよい。
【0087】
この変形例
(5)においては、さらに、搬送条件設定部43が、搬送条件として、第1容器30からワークWを取り出す際の当該ワークWに対するハンド部26の接近・離間等のアプローチ方法を設定するようにし、記憶部44が、他ワーク画像データとピッキング動作の成否及びピッキング評価と(以下、ピッキング動作結果という)を記憶し、学習部45が、第1カメラ3Aが撮像する第1容器30内の画像(取り出し対象となる対象ワークWを含む画像)と、過去のピッキング動作結果とに基づき最適なアプローチ方法を学習させるようにしてもよい。アプローチ方法とは、取り出し対象である対象ワークWに対してハンド部26を接近・離間等させる際の移動速度や、XYZ直交座標系で特定される移動方向などである。つまり、第1カメラ3Aが撮像した画像データが、記憶部44に格納された過去のピッキング動作結果の画像データであってかつ搬送動作に失敗したと認定される画像データと類似する場合に、前記アプローチ方法を変更するようにしてもよい。搬送動作に失敗したとは、例えばピッキング動作に失敗した場合(ワークWを把持できなかった場合や取り出し中にワークWを脱落させた場合等、
図11のステップS33の処理でNoと判定されるような場合)や、ピッキング評価について低評価(C評価)とされるような場合が考えられる。このような構成によれば、ワークWの取り出しの際に、他のワークWの品質をより高度に保ち得るようなアプローチ方法を探知させることが可能となる。なお、この構成では、記憶部44が本発明の第1、第2記憶部として機能し、第1カメラ3Aが本発明の第1、第3撮像部として機能する。第1、第3撮像部は、第1カメラ3Aに限らず、
図14に示すようなカメラ3Cであってもよい。また、当例では、本発明に係る「ワーク配置情報」として画像データが用いられているが、ワーク配置情報は、画像データに限定されるものではなく、第1容器30内の各ワークWの配置を特定できる情報であれば画像データ以外の情報であってもよい。例えば、ワーク配置情報は、第1容器30内の各ワークWの三次元位置情報であってもよい。つまり、第1カメラ3Aが撮像した画像データから取得される各ワークWの三次元位置情報が、記憶部44に格納された過去の各ワークWの三次元位置情報であってかつ搬送動作に失敗したと認定される各ワークWの三次元位置情報と類似する場合に、前記アプローチ方法を変更するようにしてもよい。勿論、三次元位置情報の代わりに、二次元位置情報をワーク配置情報として用いてもよい。
【0088】
(6)上記実施形態のロボットシステム1では、前記搬送後画像データを取得するための撮像部として専用の撮像部(第2カメラ3B)が備えられている。しかし、例えば
図13に示すように、ロボットシステム1が、ワーク収納後の第2容器32を撮像する三次元測定装置5aを具備する検査装置5を含む場合には、前記搬送後画像データを取得するための撮像部として当該検査装置5(三次元測定装置5a)を兼用し、当該検査装置から前記搬送後画像データを取得するようにしてもよい。
【0089】
[上記実施形態に包含される発明]
上述した実施形態には、以下の構成を有する発明が主に含まれる。
【0090】
本発明の一の局面に係るロボットシステムは、複数のワークが収容された収容部から前記ワークを把持して取り出し、所定位置に運搬するハンド部を備えたロボットと、前記収容部から前記ワークを取り出して前記所定位置に運搬する、前記ロボットの搬送動作を制御するロボット制御部と、前記搬送動作に関する条件であって、前記ワークのうち、前記ハンド部により把持することを禁止する把持禁止領域を少なくとも含む搬送条件を設定する搬送条件設定部と、を備え、前記ロボット制御部は、前記搬送条件設定部により設定された搬送条件に基づき前記ロボットを制御するものである。
【0091】
このロボットシステムによれば、ワークに応じて、ハンド部により把持することを禁止する把持禁止領域が設定される。つまり、ハンド部によるワークの搬送動作に際しては、把持禁止領域以外の部分がハンド部により把持されることとなる。従って、ワークのうち形状的に変形し易い部分や傷つき易い部分が予め把持禁止領域として設定されることで、ワークの搬送の際に、当該ワークの品質が損なわれることが抑制される。
【0092】
このロボットシステムにおいて、前記搬送条件設定部は、前記把持禁止領域に加えて、前記ワーク周辺の空間であって前記ワークに対して前記ハンド部が接近することを禁止する侵入禁止領域を少なくとも含む前記搬送条件を設定するのが好適である。
【0093】
このロボットシステムによれば、ハンド部によるワークの取り出しの際に、取り出し対象となる対象ワークの周辺にある他のワークの侵入禁止領域にハンド部が侵入することが禁止される。換言すれば、他のワークの侵入禁止領域にハンド部が侵入しないように、ハンド部による対象ワークの取り出しが行われることとなる。従って、ワークのうち形状的に変形し易い部分や傷つき易い部分を含む一定の領域が予め侵入禁止領域として設定されることで、収容部からのワークの取り出しの際に、対象となるワークの周辺にある他のワークの品質が損なわれることが抑制される。
【0094】
前記ロボットシステムにおいては、ワークの前記搬送条件を記憶する記憶部をさらに備え、前記搬送条件設定部は、新たに搬送条件を設定すべき対象ワークと形状が類似する類似ワークについてその搬送条件が前記記憶部に既に記憶されている場合に、当該類似ワークの搬送条件に基づき前記対象ワークの搬送条件を設定するものであるのが好適である。
【0095】
このロボットシステムによれば、類似ワークの既存の搬送条件を利用して、対象ワークの搬送条件が設定されるので、ワーク毎に一から搬送条件をプログラミングするといった手間が省ける。
【0096】
前記一の局面に係るロボットシステムにおいて、前記搬送条件設定部は、前記ワークの画像に基づき前記搬送条件を設定するのが好適である。
【0097】
このロボットシステムによれば、ワークの画像データから前記搬送条件が設定されるので、ワークの形状を特定する個々の数値等のデータを入力しながら搬送条件をプログラミングするといった手間が省ける。
【0098】
この場合、前記ロボットシステムは、前記搬送動作が実行される前の前記収容部内のワーク、又は前記収容部から取り出された、前記ハンド部により把持された状態のワークを撮像可能な第1撮像部をさらに備え、前記搬送条件設定部は、前記第1撮像部が撮像した前記ワークの画像に基づき前記搬送条件を設定するのが好適である。
【0099】
このロボットシステムによれば、当該システムにおいてワークの画像データを取得し、その画像データを用いて搬送条件を設定することができる。そのため、別途、ワークの画像データを準備すること無く、搬送条件を設定することが可能となる。
【0100】
なお、上記各ロボットシステムにおいては、前記搬送動作が実行された後の前記所定位置のワークを撮像可能な第2撮像部と、前記搬送動作が実行されたときの前記ロボット制御部による制御情報と、前記第2撮像部が撮像した画像に基づく前記ワークの外観的な品質情報とを取得して、これらの情報に基づき前記搬送条件を学習する学習部と、をさらに備え、前記搬送条件設定部は、前記搬送条件を初期設定するとともに、前記学習部の学習結果に基づき前記搬送条件を修正するのが好適である。
【0101】
このロボットシステムによれば、搬送条件設定部により搬送条件が初期設定され、当該搬送条件が、学習部による機械学習に基づき修正される。従って、理想的なワークの搬送動作が実行される搬送条件を初期設定せずとも、機械学習によって、理想的なワークの搬送動作が実行される搬送条件を探知させることが可能となる。
【0102】
このロボットシステムにおいては、前記搬送動作が実行された後の前記収容部内のワークを撮像可能な撮像する第3撮像部をさらに備え、前記学習部は、前記制御情報及び前記所定位置におけるワークの品質情報に加え、前記第3撮像部が撮像した画像に基づく前記収容部内のワークの外観的な品質情報をさらに取得し、これらの情報に基づき前記搬送条件を学習するのが好適である。
【0103】
このロボットシステムによれば、搬送条件の機械学習において、ワーク取り出し後の収容部内のワークの品質情報が加味される。つまり、ハンド部が取り出し対象となるワークの周辺にあるワークに与える影響を加味することが可能となる。そのため、取り出し対象となるワークの品質のみならず、当該取り出しの際の他のワークの品質をも保ち得るような搬送条件を探知させることが可能となる。
【0104】
上記ロボットシステムにおいて、前記搬送条件は、前記ハンド部によるワークの把持力、ワークの運搬速度及び前記ハンド部によるワークの把持位置の少なくとも一つをさらに含むのが好適である。
【0105】
このロボットシステムによれば、機械学習によって、ワークの品質を保ちつつ、当該ワークの取り出しの際、或いは運搬途中に当該ワークを脱落させるような事がない、理想的なワークの搬送動作が実行される搬送条件を探知させることが可能となる。
【0106】
このロボットシステムにおいては、前記搬送条件は、ワークの運搬速度及び前記ハンド部によるワークの把持位置を含み、前記学習部は、前記ワークにおける前記把持禁止領域以外の領域内において可及的に運搬速度が速くなる前記把持位置を学習するのが好適である。
【0107】
このロボットシステムによれば、機械学習により、ワークの品質を保ちつつ、より高速でワークを運搬できるような搬送条件を探知させることが可能となる。
【0108】
上記ロボットシステムにおいて、前記記憶部を第1記憶部と定義したときに、過去の前記収容部内のワーク配置情報及び過去の前記収納部内のワークの品質情報とを記憶する第2記憶部をさらに含み、前記第1撮像部は、前記搬送動作が実行される前の前記収容部内のワークを撮像可能なものであり、前記搬送条件は、前記収容部から前記ワークを取り出す際の当該ワークに対する前記ハンド部のアプローチ方法を含み、前記学習部は、前記第1撮像部が撮像した画像データから取得されるワーク配置情報が、前記過去のワーク配置情報であってかつ前記収容部内のワークの品質情報に基づき搬送動作に失敗したと認定されたワーク配置情報と類似する場合に、前記搬送条件とは異なるアプローチ方法をとるように学習するのが好適である。
【0109】
このロボットシステムによれば、機械学習により、特にワーク取り出しの際に、より高度にワークの品質を保ち得るような搬送条件(アプローチ方法)を探知させることが可能となる。
【0110】
上記ロボットシステムにおいて、前記搬送条件設定部は、ワークの表面状態に関する情報を取得し、当該表面状態に関する情報に基づき前記禁止領域を設定するのが好適である。
【0111】
このロボットシステムによれば、ワークの表面処理などの表面状態を加味した、より最適な搬送条件を探知させることが可能となる。
【0112】
なお、上記のロボットシステムにおいては、複数の前記撮像部の機能を兼用する少なくとも1つの撮像部を備えているのが好適である。
【0113】
このロボットシステムによれば、複数の撮像部の一部を兼用してワークを撮像する合理的な構成が達成される。
【0114】
この場合、前記1つの撮像部は、前記ロボットの可動部分に設けられているのが好適である。
【0115】
このロボットシステムによれば、搬送動作が実行される前の収容部内、搬送動作が実行された後の収容部内、および搬送動作が実行された後の所定位置に有るワークを共通の撮像部で良好に撮像することが可能となる。