(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024035630
(43)【公開日】2024-03-14
(54)【発明の名称】把持装置、および制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240307BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022140216
(22)【出願日】2022-09-02
(71)【出願人】
【識別番号】000102692
【氏名又は名称】NTN株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】成田 武史
(72)【発明者】
【氏名】丸井 直樹
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS10
3C707DS01
3C707ES03
3C707ET08
3C707EV02
3C707KS03
3C707KS04
3C707KS17
3C707KS20
3C707KS30
3C707KT02
3C707KT05
3C707KT06
3C707LT06
3C707LV07
3C707LV08
3C707LV09
3C707LW03
3C707NS06
(57)【要約】
【課題】ワークの把持成功率を向上させる。
【解決手段】制御装置50は、第1カメラ11で撮像された第1画像に基づいて、少なくとも1つのワークの各々の把持成功率を取得する。制御装置50は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定する。制御装置50は、ハンド31と対象ワークとの距離が第1所定距離となるまで把持ユニット30を移動する。制御装置は、把持ユニット30を移動させた後に、第2カメラ12に撮像させることにより第2画像を取得する。制御装置50は、第2画像に基づいて、対象ワークの第1把持位置を取得する。そして、制御装置50は、第1把持位置で対象ワークを把持ユニットに把持させるための制御信号を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのワークを撮像する第1カメラと、
ワークを把持するハンドを有する把持ユニットと、
前記把持ユニットに配置され、前記ハンドを撮像する第2カメラと、
前記第1カメラ、前記第2カメラ、および前記把持ユニットを制御する制御装置とを備え、
前記制御装置は、
前記第1カメラで撮像された第1画像に基づいて、前記少なくとも1つのワークの各々の把持成功率を取得し、
前記各々の把持成功率に基づいて前記少なくとも1つのワークから対象ワークを決定し、
前記ハンドと前記対象ワークとの距離が第1所定距離となるまで前記把持ユニットを移動し、
前記把持ユニットを移動させた後に、前記第2カメラに撮像させることにより第2画像を取得し、
前記第2画像に基づいて、前記対象ワークの第1把持位置を取得し、
前記第1把持位置で前記対象ワークを前記把持ユニットに把持させるための制御信号を出力する、把持装置。
【請求項2】
前記制御装置は、
前記制御信号を出力して、前記把持ユニットを第2所定距離、上方に移動させたときに、前記第2カメラに撮像させることにより第3画像を取得し、
前記第3画像に基づいて前記把持ユニットが前記対象ワークを把持できたか否かを判定する、請求項1に記載の把持装置。
【請求項3】
前記制御装置は、第1推定モデルおよび第2推定モデルを有し、
前記制御装置は、
前記第1推定モデルおよび前記第1画像に基づいて、前記少なくとも1つのワークの各々の第2把持位置を取得し、
前記第2推定モデルおよび前記各々の第2把持位置に基づいて、前記各々の把持成功率を取得し、
前記対象ワークを把持できたか否かの判定結果に基づいて前記第1推定モデルおよび前記第2推定モデルのうち少なくとも一方を更新する、請求項2に記載の把持装置。
【請求項4】
前記制御装置は、第3推定モデルを有し、
前記制御装置は、
前記第3推定モデルおよび前記第2画像に基づいて、前記第1把持位置を取得し、
前記対象ワークを把持できたか否かの判定結果に基づいて前記第3推定モデルを更新する、請求項2または請求項3に記載の把持装置。
【請求項5】
前記第2カメラは、前記ハンドが前記対象ワークを把持した前記第2画像を前記制御装置が取得するように、固定されている、請求項1~請求項4のいずれか1項に記載の把持装置。
【請求項6】
前記把持装置は、前記第2カメラの撮像範囲を照射する照射装置をさらに備える、請求項1~請求項5のいずれか1項に記載の把持装置。
【請求項7】
前記把持ユニットは、複数の把持部を有し、
前記制御装置が前記制御信号を出力することにより、前記複数の把持部は互いに第1所定方向に沿って近づき、
前記第2カメラの光軸は、前記第1所定方向と直交し、
前記複数の把持部が互いに第1所定方向に沿って近づいたときのワークが、前記第2カメラの光軸上に存在する、請求項1~請求項6のいずれか1項に記載の把持装置。
【請求項8】
把持装置の制御方法であって、
前記把持装置は、
少なくとも1つのワークを撮像する第1カメラと、
ワークを把持するハンドを有する把持ユニットと、
前記把持ユニットに配置され、前記ハンドを撮像する第2カメラとを備え、
前記制御方法は、
前記第1カメラで撮像された第1画像に基づいて、前記少なくとも1つのワークの各々の把持成功率を取得することと、
前記各々の把持成功率に基づいて前記少なくとも1つのワークから対象ワークを決定することと、
前記ハンドと前記対象ワークとの距離が第1所定距離となるまで前記把持ユニットを移動することと、
前記把持ユニットを移動させた後に、前記第2カメラに撮像させることにより第2画像を取得することと、
前記第2画像に基づいて、前記対象ワークの第1把持位置を取得することと、
前記第1把持位置で前記対象ワークを前記把持ユニットに把持させるための制御信号を出力することとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、把持装置、および制御方法に関する。
【背景技術】
【0002】
たとえば、特許文献1には、ワークを把持する把持装置が開示されている。この把持装置は、撮像装置と、機械学習により構築された学習済モデルとを有する。把持装置は、撮像装置がワークを撮像することにより画像を取得する。把持装置は、該画像と学習済モデルとに基づいてワークの最適把持位置を検出する。そして、把持装置は、最適把持位置でワークを把持する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
把持装置においては、ワークの把持成功率を向上させることが要望されている。
【0005】
この発明は、上記のような課題を解決するためになされたものであり、ワークの把持成功率を向上させる技術を提供することである。
【課題を解決するための手段】
【0006】
本開示の把持装置は、第1カメラと、把持ユニットと、第2カメラと、制御装置とを備える。第1カメラは、少なくとも1つのワークを撮像する。把持ユニットは、ワークを把持するハンドを有する。第2カメラは、把持ユニットに配置され、ハンドを撮像する。制御装置は、第1カメラ、第2カメラ、および把持ユニットを制御する。制御装置は、第1カメラで撮像された第1画像に基づいて、少なくとも1つのワークの各々の把持成功率を取得する。制御装置は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定する。制御装置は、ハンドと対象ワークとの距離が第1所定距離となるまで把持ユニットを移動する。制御装置は、把持ユニットを移動させた後に、第2カメラに撮像させることにより第2画像を取得する。制御装置は、第2画像に基づいて、対象ワークの第1把持位置を取得する。そして、制御装置は、第1把持位置で対象ワークを把持ユニットに把持させるための制御信号を出力する。
【0007】
また、本開示の制御方法は、把持装置の制御方法である。把持装置は、第1カメラと、把持ユニットと、第2カメラとを備える。第1カメラは、少なくとも1つのワークを撮像する。把持ユニットは、ワークを把持するハンドを有する。第2カメラは、把持ユニットに配置され、ハンドを撮像する。制御方法は、第1カメラで撮像された第1画像に基づいて、少なくとも1つのワークの各々の把持成功率を取得することを備える。また、制御方法は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定することを備える。また、制御方法は、ハンドと対象ワークとの距離が第1所定距離となるまで把持ユニットを移動することを備える。また、制御方法は、把持ユニットを移動させた後に、第2カメラに撮像させることにより第2画像を取得することを備える。また、制御方法は、第2画像に基づいて、対象ワークの第1把持位置を取得することを備える。そして、制御方法は、第1把持位置で対象ワークを把持ユニットに把持させるための制御信号を出力することを備える。
【発明の効果】
【0008】
本発明によれば、ワークの把持成功率を向上させることができる。
【図面の簡単な説明】
【0009】
【
図2】ハンドなどをXZ平面で平面視した図である。
【
図3】ハンドなどをYZ平面で平面視した図である。
【
図6】第1位置モデルの概念の一例を示す図である。
【
図7】把持成功率モデルの概念の一例を示す図である。
【
図9】第2位置モデルの概念の一例を示す図である。
【
図11】二値化された第2画像の一例を示す図である。
【
図12】二値化された第2画像の一例を示す図である。
【
図13】判定データ記憶部の判定データの更新の一例を示す図である。
【
図14】把持装置の処理を示すフローチャートである。
【
図15】別の実施の形態のハンドなどをXZ平面で平面視した図である。
【
図16】別の実施の形態のハンドなどをYZ平面で平面視した図である。
【
図17】別の実施の形態のハンドが採用された場合の第3画像を示す図である。
【
図18】吸着型が採用されたハンドの一例を示す図である。
【
図19】吸着型が採用されたハンドが採用された場合の第3画像を示す図である。
【
図20】吸着型が採用されたハンド31の他の態様が示された図である。
【
図21】照明装置を第2カメラの光軸から平面視した図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて本発明の実施の形態を説明する。なお、以下の図面において同一または相当する部分には同一の参照番号を付しその説明は繰返さない。
【0011】
[把持装置の構成]
図1は、把持装置100の全体の構成例を説明するための図である。把持装置100は、第1カメラ11と、第2カメラ12と、把持ユニット30と、制御装置50とを備える。把持ユニット30は、位置決め機構32と、位置決め機構32の先端に配置されているハンド31とを有する。
図1の例では、作業台60が設置されている。作業台60には、少なくとも1つのワークが配置されている。このように、少なくとも1つのワークは、所定領域に配置されている。
【0012】
第1カメラ11は、支持部15により支持されている。第1カメラ11は、作業台60の上方に設置されている。第1カメラ11は、作業台60に配置されている少なくとも一つのワークを含む撮像範囲を俯瞰で撮像する。第1カメラ11は例えば、2次元撮像装置である。
【0013】
ハンド31は、ワークWを把持する。ハンド31の詳細な構成は後述する。位置決め機構32は、ハンド31が作業台60上のワークを把持可能なように、ハンド31の姿勢および位置を調整する。位置決め機構32は例えば、多軸ロボットである。
【0014】
把持ユニット30は、初期位置に存在する。把持ユニット30が初期位置に存在する場合には、第1カメラ11の撮像範囲には把持ユニット30は含まれないことが好ましい。把持装置100に把持処理を開始させる開始操作がユーザにより実行されると、把持ユニット30は、後述する把持処理を開始する。
【0015】
第2カメラ12は、把持ユニット30に配置されている。第2カメラ12は、典型的には、位置決め機構32の先端であり、かつハンド31の近傍に取付けられている。第2カメラ12は、たとえば、ハンド31がワークを把持した場合の、該ハンド31および該ワークの少なくとも一部を撮像する。第2カメラ12は例えば、2次元撮像装置である。
【0016】
制御装置50は、第1カメラ11、第2カメラ12、および把持ユニット30を制御する。また、制御装置50は、主に、CPU52(Central Processing Unit)と、メモリ54とを有する。メモリ54は、たとえば、ROM(Read Only Memory)と、RAM(Random Access Memory)とを有する。ROMには、CPU52が実行するプログラムを格納する。RAMは、CPU52におけるプログラムの実行により生成されるデータなどを一時的に格納する。
【0017】
図2および
図3は、ハンド31などの構成例を説明するための図である。本実施の形態のハンド31は、いわゆるチャック機構により構成される。ハンド31は、把持部31Aと、把持部31Bと、固定部31Cと、固定部31Dと、開閉部31Eとを有する。
【0018】
把持部31Aは、固定部31Cに固定される。把持部31Bは、固定部31Dに固定される。固定部31Cおよび固定部31Dは、開閉部31Eに取付けられている。
【0019】
開閉部31Eは、固定部31Cおよび固定部31Dを所定方向において近づける方向または遠ざける方向に移動させる。該所定方向は、本開示の「第1所定方向」に対応する。これにより、把持部31Aおよび把持部31Bを開閉させることができる。制御装置50は、ワークを把持ユニット30に把持させる場合には、把持部31Aおよび把持部31Bを閉じる方向(把持部31Aおよび把持部31Bを近づける方向)に移動させる。また、制御装置50は、把持していたワークを把持ユニット30に解放させる場合には、把持部31Aおよび把持部31Bを開く方向(把持部31Aおよび把持部31Bを遠ざける方向)に移動させる。
【0020】
第2カメラ12は、位置決め機構32の先端部32Aに設置されている。第2カメラ12は、該第2カメラ12の光軸と上記の第1所定方向とが直交するように配置される。さらに、第2カメラ12の光軸と先端部32Aの中心軸とは一致する。なお、第2カメラ12の光軸は、典型的には、第2カメラ12のレンズの対称軸である。
【0021】
図2の例では、把持部31Aおよび把持部31Bの開閉方向(第1所定方向)がX軸とされ、第2カメラ12の光軸はZ軸とされる。また、X軸およびZ軸と直交する軸はY軸とされる。
図2は、XZ平面でハンド31などを平面視した図である。また、
図3は、YZ平面でハンド31などを平面視した図である。
図3に示すように把持部31B(および把持部31A)は、略L字型の形状を有する。なお、把持部の数は3以上としてもよい。また、把持部の形状は他の形状としてもよい。
【0022】
[制御装置の機能ブロック図]
図4は、制御装置50の機能ブロック図である。制御装置50は、第1取得部101と、第2取得部102と、第1検出部104と、判定データ記憶部118と、出力部110と、第2検出部124と、決定部130と、判定部120と、指令部132とを有する。
【0023】
第1検出部104は、第1位置推定部108と、第1位置モデル106とを有する。出力部110は、成功率推定部116と、構築部112と、把持成功率モデル114とを有する。第2検出部124は、第2位置推定部126と、第2位置モデル128とを有する。第1位置モデル106は、本開示の「第1推定モデル」に対応する。把持成功率モデル114は、本開示の「第2推定モデル」に対応する。第2位置モデル128は、本開示の「第3推定モデル」に対応する。
【0024】
第1カメラ11は、作業台60に配置されている少なくとも1つのワークWを撮像することにより第1画像を生成する。第1取得部101は、第1カメラ11からの第1画像を取得する。第1画像は、第1位置推定部108に出力される。第1位置推定部108は、第1画像および第1位置モデル106に基づいて、少なくとも1つのワークの各々の仮把持位置を取得する。仮把持位置は、本開示の「第2把持位置」に対応する。
【0025】
仮把持位置は、把持ユニット30が該仮把持位置でワークを把持した場合に把持が成功するであると推測される位置である。また、少なくとも1つのワークは、第1画像により撮像されたワークである。第1位置モデル106は、予め機械学習により構築される。第1位置モデル106は、ニューラルネットワークで構築される。ニューラルネットワークは入力層、中間層、出力層、及び各層を接続するリンクから構成される。第1位置モデル106は、入力層に第1画像が入力されることで、出力層から第1画像に含まれるすべてのワーク(ワークの画像)について仮把持位置を出力する。
【0026】
図5は、第1画像の一例である。このような第1画像が、第1検出部104に出力される。
図6は、第1位置モデル106の概念の一例を示す図である。
図6の例では、第1画像データG1、G2、...、Gnが、それぞれ、プロファイルA1、A1、...Anとが関連付けられている。ただし、nは、2以上の整数である。以下では、第1画像データG1、G2、...、Gnは、まとめて、第1画像データGとも称され、プロファイルA1、A1、...Anは、まとめて、プロファイルAとも称される。
【0027】
第1画像データGは、第1カメラ11または第1カメラと同等のカメラが、1以上のワークを過去に撮像した画像の画像データである。
図6の例では、第1画像データGは、ワークの数が3つである例が示されている(ワークA~ワークC)。しかしながら、ワークの数が1つ以上である第1画像データGが準備されてもよい。
【0028】
プロファイルデータは、各ワーク事に、該ワークの仮把持位置が画素単位で規定されているデータである。仮把持位置は、把持ユニット30が該ワークを適切に把持するための把持位置である。たとえば、
図6の例のプロファイルデータでは、ワークA~ワークCが示されている第1画像データG1に対しては、ワークAの仮把持位置、ワークBの仮把持位置、ワークCの仮把持位置が指定されている。
【0029】
第1位置モデル106は、たとえば、入力者の手入力によって構築される。入力者は、把持装置100の開発者または把持装置100のユーザである。たとえば、該入力者が、第1カメラ11または第1カメラと同等のカメラに、1以上のワークを撮像させて、第1画像データを生成させる。そして、該第1画像データに係る画像を表示装置(図示せず)に表示させ、表示されたワークの仮把持位置を指定する。
【0030】
このように、入力者によって指定された仮把持位置が教師データとし、該仮把持位置と第1画像データとが学習データとして、第1位置モデル106が構築される。
【0031】
また、後述するように、第1位置モデル106は、自動的に更新可能とされる。なお、第1位置モデル106は第1画像データから仮把持位置を検出できればよく、必ずしもニューラルネットワークで構築される必要はない。たとえば、ニューラルネットワーク以外の機械学習手法で構築されてもよい。
【0032】
説明を
図4に戻す。成功率推定部116は、第1位置推定部108が出力したすべての仮把持位置(各々の仮把持位置)と、把持成功率モデル114とに基づいて、すべての仮把持位置のそれぞれの把持成功率を出力する。把持成功率は、把持ユニット30が仮把持位置でワークを把持するように制御装置50が制御信号を出力した場合に該ワークの把持が成功する確率である。把持成功率モデル114は、たとえば、ニューラルネットワークで構築される。把持成功率モデル114は、入力層に仮把持位置が入力されることで、出力層から把持成功率を出力する。
【0033】
図7は、把持成功率モデル114の概念の一例を示す図である。
図7の把持成功率モデル114では、m個の判定データB1、B2、...、Bmが規定されている。ただし、mは2以上の整数である。以下では、判定データB1、B2、...、Bmは、まとめて、判定データBとも称される。
【0034】
判定データBでは、仮把持位置と、把持成否結果とが関連付けられている。把持成否結果は、該把持成否結果に関連付けられている仮把持位置で把持させる制御信号が制御装置50が出力されたときに、把持ユニット30によるワークの把持が成功したか否かを示す結果である。
【0035】
図7の例では、たとえば、判定データB1においては、仮把持位置と、成功を示す把持成否結果とが関連付けられている。また、判定データB2においては、仮把持位置と、失敗を示す把持成否結果とが関連付けられている。把持成功率モデル114は、入力者の手入力によって構築されるようにしてもよい。
【0036】
このように、入力された把持成否結果が教師データとし、該把持成否結果と仮把持位置とが学習データとして、把持成功率モデル114が構築される。
【0037】
また、後述するように、把持成功率モデル114は自動的に更新可能とされる。なお、把持成功率モデル114は仮把持位置から把持成功率を検出できればよく、必ずしもニューラルネットワークで構築される必要はない。たとえば、ニューラルネットワーク以外の機械学習手法で構築されてもよい。
【0038】
説明を
図4に戻す。決定部130は、第1カメラ11により撮像された少なくとも1つのワークから、成功率推定部116からの把持成功率に基づいて、対象ワークを決定する。対象ワークは、把持ユニット30により把持される対象のワークである。たとえば、決定部130は、成功率推定部116が出力した全ての把持成功率のうち所定の閾値よりも高い把持成功率を特定する。そして、決定部130は、該特定した仮把持位置を含むワークを対象ワークとして決定する。これにより、対象ワークが1以上決定され得る。なお、変形例として、決定部130は、成功率推定部116が出力した全ての把持成功率のうち最大の把持成功率を特定するようにしてもよい。この変形例においては、決定部130は、該最大の把持成功率に対応する仮把持位置を含むワークを対象ワークとして決定する。
【0039】
決定部130が、対象ワークを決定した場合に、該対象ワークを示す情報を指令部132に出力する。指令部132は、該対象ワークを示す情報を受信すると、把持ユニット30に対して制御信号を出力する。該制御信号は、ハンド31と対象ワークとの距離が第1所定距離となるまで前記把持ユニット30(ハンド31)を移動させるように位置決め機構32を制御するための信号である。第1所定距離は、ハンド31の向きなどの調整などが可能となるための距離である。
【0040】
制御装置50は、ハンド31と対象ワークとの距離が第1所定距離となったときに、第2カメラ12に対象ワークの画像を撮像させる。ハンド31と対象ワークとの距離が第1所定距離となったか否かの判断は、第2カメラ12が距離センサとして用いられることにより実現される。なお、距離センサは、第2カメラ12ではなく別のセンサが配置されるようにしてもよい。
【0041】
第2カメラ12は対象ワークの画像を撮像することにより第2画像を生成する。第2取得部102は、第2カメラ12からの第2画像を取得する。第2画像は、第2検出部124の第2位置推定部126に出力される。第2位置推定部126は、第2画像および第2位置モデル128に基づいて、対象ワークの本把持位置を取得する。本把持位置は、本開示の「第1把持位置」に対応する。
【0042】
第2位置モデル128は、予め機械学習により構築される。第2位置モデル128は、ニューラルネットワークで構築される。ニューラルネットワークは入力層、中間層、出力層、及び各層を接続するリンクから構成される。第2位置モデル128は、入力層に第2画像が入力されることで、出力層から第2画像に含まれる対象ワークの本把持位置を出力する。
【0043】
図8は、第2画像の一例である。
図8の例では、対象ワーク画像WSと、把持部31Aの把持部画像31ASと、把持部31Bの把持部画像31BSとが示されている。
【0044】
このような第2画像が、第2検出部124に出力される。
図9は、第2位置モデル128の概念の一例を示す図である。
図9の例では、第2画像データH1、H2、...、Hpが、それぞれ、プロファイルC1、C1、...Cpとが関連付けられている。ただし、pは、2以上の整数である。以下では、第2画像データH1、H2、...、Hpは、まとめて、第2画像データHとも称され、プロファイルC1、C1、...Cpは、まとめて、プロファイルCとも称される。
【0045】
第2画像データHは、第2カメラ12または第2カメラ12と同等のカメラが、1つのワークを過去に撮像した画像の画像データである。
図9の例では、様々な方向を向いている1つのワークと、把持部画像31ASと、把持部画像31BSとが示されている。
【0046】
プロファイルデータは、様々方向を向いたワーク毎に、該ワークの本把持位置が画素単位で規定されているデータである。本把持位置は、把持ユニット30が該ワークを適切に把持するための把持位置である。
【0047】
第2位置モデル128は、入力者の手入力によって構築される。たとえば、該入力者が、第2カメラ12または第2カメラ12と同等のカメラに、1つのワークを撮像させて、第2画像データを生成させる。そして、該第2画像データに係る画像を表示装置(図示せず)に表示させ、表示されたワークの本把持位置を指定する。
【0048】
このように、入力者によって指定された本把持位置が教師データとし、該本把持位置と第2画像データとが学習データとして、第2位置モデル128が構築される。
【0049】
また、後述するように、第2位置モデル128は、自動的に更新可能とされる。なお、第2位置モデル128は第2画像データから本把持位置を検出できればよく、必ずしもニューラルネットワークで構築される必要はない。たとえば、ニューラルネットワーク以外の機械学習手法で構築されてもよい。
【0050】
第2位置推定部126は、本把持位置を取得すると、該本把持位置を指令部132に出力する。指令部132は、該本把持位置で対象ワークを把持するための制御信号を把持ユニット30に出力する。把持ユニット30は、制御信号を受信すると把持動作を実行する。ここで、把持動作は、該本把持位置で対象ワークを把持部31Aおよび把持部31Bで挟む動作である。本実施の形態においては、把持動作は、把持部31Aおよび把持部31Bを閉方向(
図2参照)に移動する動作である。
【0051】
また、把持ユニット30が把持動作を実行して、把持部31Aおよび把持部31Bで対象ワークを挟んだ状態で、ハンド31を上方(Z軸+方向)に第2所定距離移動させる。上方は、対象ワークの配置位置から離れる方向を含む。
【0052】
ここで、把持部31Aおよび把持部31Bで対象ワークを挟んだ状態でハンド31が上方に移動したときに、対象ワークがハンド31から滑り落ちることなどにより、把持が失敗する場合がある。そこで、本実施の形態においては、制御装置50は、把持動作を実行させる制御信号を出力して、把持ユニット30を第2所定距離、上方に移動させたときに、第2カメラ12に画像を撮像させる。該画像は、本開示の「第3画像」に対応する。第2カメラ12により撮像された第3画像を、第2取得部102は取得する。該第3画像は、判定部120に出力される。そして、判定部120は、この第3画像に基づいて、対象ワークを把持できたか否かを判定する。
【0053】
図10は、第3画像の一例を示す図である。
図10の例では、対象ワーク画像WSと、把持部画像31ASと、把持部画像31BSとが示されている。
図10の例は、把持ユニット30により対象ワークの把持が成功している状態で該把持ユニット30を第2所定距離、上方に移動させたときに第2カメラ12により撮像された第3画像である。したがって、
図10の第3画像は、
図8の第2画像よりも対象ワーク画像WSが大きく表示されている。また、
図10の例では、第2カメラ12の光軸が示されている。
図10に示すように、把持部31Aおよび把持部31Bが互いに第1所定方向に沿って近づいたときのワークが、第2カメラ12の光軸上に存在する。
【0054】
次に、判定部120による判定手法を説明する。本実施の形態の判定部120は、第2画像および第3画像に基づいて対象ワークを把持できたか否かを判定する。本実施の形態においては、判定部120は、第2画像および第3画像に対して二値化処理を実行する。判定部120は、画像(対象ワーク画像WSと、把持部画像31ASと、把持部画像31BS)の領域を第1値(たとえば、1)とし、該画像以外の領域を第2値(たとえば、0)とする。
図11は、二値化された第2画像の一例である。
図12は、二値化された第3画像の一例である。
図11および
図12の例では、画像領域にクロスハッチングが付加されている。
【0055】
また、判定部120は、二値化された第2画像の画像領域(第1値の領域)の画素数と、二値化された第3画像の画像領域(第1値の領域)の画素数との差分値を算出する。そして、判定部120は、該差分値に基づいて、対象ワークを把持できたか否かを判定する。たとえば、差分値は、二値化された第3画像の画像領域(第1値の領域)の画素数から、二値化された第2画像の画像領域(第1値の領域)の画素数を差し引くことにより算出される。そして、判定部120は、差分値と、所定の閾値とを比較する。把持に成功していると、第3画像における対象ワーク画像WSの画素数は多くなる現象が生じる。判定部120による判定は、この現象に基づいて実現される。差分値が閾値以上である場合には、判定部120はハンド31による対象ワークの把持が成功していると判定する。一方、差分値が閾値未満である場合には、判定部120はハンド31による対象ワークの把持が失敗していると判定する。
【0056】
なお、判定部120による判定手法は、上記の二値化処理に限られない。たとえば、判定部120は、第2画像を用いずに第3画像を用いて、対象ワークを把持できたか否かを判定してもよい。たとえば、判定部120は、二値化された第3画像に基づいて、対象ワークを把持できたか否かを判定してもよい。また、予め収集した第3画像に基づいて機械学習により構築されたモデルと、第3画像とに基づいて対象ワークを把持できたか否かを判定してもよい。
【0057】
判定部120は、判定結果を指令部132に出力する。把持成功である旨を示す成功判定結果は、第1値(たとえば、1)であり、把持失敗である旨を示す失敗判定結果は、第2値(たとえば、0)である。
【0058】
指令部132は、判定結果に応じた処理を実行する。指令部132は、成功判定結果を受信した場合に継続動作を示す制御信号を把持ユニット30に出力する。継続動作は、ハンド31による対象ワークの把持が成功した場合の次の行動に移るために位置決め機構32、およびハンド31を作動して実施する動作である。継続動作は、たとえば、把持した対象ワークを目的領域に配置させる動作、把持した対象ワークによる組立動作、および嵌めあい動作に関する動作などである。
【0059】
一方、指令部132は、失敗判定結果を受信した場合に中断動作を示す制御信号を把持ユニット30に出力する。中断動作は、ハンド31による対象ワークの把持が失敗した場合に次の行動へ移ることを中断する動作である。中段動作は、たとえば、把持ユニット30を初期位置(第1画像の取得時の位置)へ作動する動作である。
【0060】
また、判定部120は、判定結果を判定データ記憶部118にも出力する。判定データ記憶部118は、
図7で示した判定データB1~Bmを記憶する。判定データ記憶部118は、判定部120から判定結果を受信した場合には、該判定結果に基づいたデータを追加することにより判定データを更新する。
【0061】
図13は、判定データ記憶部118の判定データの更新の一例を示す図である。
図13の例では、既存の判定データB1~Bm(
図7も参照)に対して、新たな判定データBm+1が追加されていることが示されている。新たな判定データBm+1は、判定部120からの判定結果に基づいて判定部120などにより生成される情報である。
【0062】
構築部112は、判定データ記憶部118の判定データが更新されると、該更新後の判定データ(つまり、
図13の判定データBm+1が追加された後の判定データ)を反映させるように、把持成功率モデル114を更新する。なお、モデル(把持成功率モデル114など)の更新は、たとえば、モデルで規定されているパラメータを更新する処理を含む。把持成功率モデル114の更新により、成功率推定部116による把持成功率の推定精度を向上させることができる。
【0063】
また、構築部112は、該更新後の判定データ(つまり、
図13の判定データBm+1が追加された後の判定データ)を反映させるように、第1位置モデル106および第2位置モデル128を更新するようにしてもよい。第1位置モデル106の更新により、第1位置推定部108による仮把持位置の推定精度を向上させることができる。また、第2位置モデル128の更新により、第2位置推定部126による本把持位置の推定精度を向上させることができる。
【0064】
また、把持装置100は、第1位置モデル106、第2位置モデル128、および把持成功率モデル114のうち少なくとも1つのモデルを更新するようにしてもよい。また、把持装置100は、判定データ記憶部118に所定個の判定データが蓄積されたときに、上記の少なくとも1つのモデルを更新するようにしてもよい。
【0065】
[フローチャート]
図14は、把持装置100の処理を示すフローチャートである。上述の開始操作がユーザに実行された場合に、このフローチャートは開始する。ステップS2において、把持装置100は、把持ユニット30を初期位置に移動させる。次に、ステップS4では、把持装置100は、第1カメラ11から第1画像を取得する。次に、ステップS6では、把持装置100は、ステップS4で取得した第1画像に基づいて、作業台60に配置されている少なくとも1つのワークの各々の仮把持位置を取得する。
【0066】
次に、ステップS8において、把持装置100は、ステップS6で取得された各々の仮把持位置に基づいて、少なくとも1つのワークの各々の把持成功率を取得する。次に、ステップS10では、所定の閾値より高い把持成功率がステップS8で取得されたか判定する。該閾値より高い把持成功率が取得された場合(ステップS10でYES)、処理は、ステップS12に進む。一方、該閾値より高い把持成功率が取得されなかった場合、つまり、取得された全ての把持成功率が該閾値以下である場合(ステップS10でNO)、把持動作を終了する。ステップS10でNOと判断された場合には、把持ユニット30が把持可能なワークが存在しないということである。したがって、たとえば、把持装置100は、「把持可能なワークが存在しないこと」を示す通知をユーザに実行するようにしてもよい。
【0067】
ステップS12では、把持装置100は、各々の仮把持位置に基づいて、少なくとも1つのワークから対象ワークを決定する。次に、ステップS14において、把持装置100は、ハンド31と対象ワークとの距離が第1所定距離となるまで把持ユニット30を移動する。
【0068】
次に、ステップS16において、把持装置100は、第2画像を取得する。次に、ステップS18において、把持装置100は、第2位置モデル128および第2画像に基づいて、本把持位置を取得する。次に、ステップS20において、把持装置100は、制御信号を出力することにより、把持動作(本把持位置で対象ワークを把持部31Aおよび把持部31Bが挟む動作)を実行する。
【0069】
次に、ステップS22において、把持装置100は、ハンド31を第2所定距離上昇させる。次に、ステップS24において、把持装置100は、第3画像(
図10参照)を取得する。次に、ステップS26において、把持装置100は、把持が成功したか否かを判定する(
図11および
図12参照)。
【0070】
次に、ステップS28において、把持装置100は、把持の成功の有無を示す判定データ(判定結果)を判定データ記憶部118に記憶する。次に、ステップS30において、把持装置100は、判定データ記憶部118に判定データが所定個蓄積されたか否かを判定する。
【0071】
ステップS30でYESと判定された場合には、処理はステップS32に進む。ステップS30でNOと判定された場合には、処理はステップS34に進む。ステップS32において、把持装置100は、第1位置モデル106、第2位置モデル128、および把持成功率モデル114を更新する。ステップS34において、把持装置100は、対象ワークの把持が成功したか否かを判断する。この判断は、たとえば、ステップS28で記憶された判定データに基づいて実現される。該判定データが、把持が成功したことを示すデータである場合には、ステップS34では、YESと判断される。一方、該判定データが、把持が失敗したことを示すデータである場合には、ステップS34では、NOと判断される。
【0072】
また、ステップS12において決定された対象ワークの数が複数である場合において、ステップS34でYESと判断された場合には、把持装置100は、対象ワークの全ての把持が終了するまでステップS14~ステップS34の処理を繰返す。
【0073】
また、把持装置100は、ステップS34でYESと判断した場合には、たとえば、再び、処理はS2に戻り、ステップS4で撮像された第1画像にワークが含まれなくなるまで、処理は繰り返される。
【0074】
以上のように、本実施の形態においては、把持装置100は、第1カメラで撮像された第1画像に基づいて、作業台60に配置された少なくとも1つのワークの各々の把持成功率を取得する(ステップS8)。また、把持装置100は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定する(ステップS12)。また、把持装置100は、ハンド31と対象ワークとの距離が第1所定距離となるまで把持ユニット30を移動する(ステップS14)。把持装置100は、把持ユニット30を移動させた後に、第2カメラ12に撮像させることにより第2画像を取得する(ステップS16)。また、把持装置100は、第2画像に基づいて、対象ワークの本把持位置を取得する(ステップS18)。そして、把持装置100は、本把持位置で対象ワークを把持ユニット30に把持させるための制御信号を出力する(ステップS20)。
【0075】
比較例の把持装置として、「少なくとも1つのワークから対象ワークを決定する処理および該対象ワークの把持位置を決定する処理を1回で実行する把持装置」が考えられる。しかしながら、このような比較例の把持装置では、精密な演算が必要であるなどの理由により、把持の成功率を向上させることは困難であった。これに対し、把持装置100は、1段階目として少なくとも1つのワークから対象ワークを決定し、2段階目として該対象ワークの本把持位置を決定する。したがって、1回で対象ワークおよび該対象ワークの把持位置を決定する必要がないことから、結果として、ワークの把持成功率を向上させることができる。
【0076】
また、把持装置100は、対象ワークを把持ユニット30に把持させるための制御信号を出力する(ステップS20)。その後、把持装置100は、ハンド31を第2所定距離上昇させた後に(ステップS20)、第2カメラ12に撮像させることにより第3画像を取得する。そして、把持装置100は、第3画像に基づいて把持ユニットが対象ワークを把持できたか否かを判定する。従来の把持装置においては、対象ワークを把持できたか否かを判定するために、俯瞰カメラの撮像範囲にハンドを移動させる必要があった。したがって、タクトタイムが長くなる場合があった。しかしながら、本実施の形態においては、把持ユニット30に配置された第2カメラで撮像した第3画像に基づいて、対象ワークを把持できたか否かを判定できる。したがって、俯瞰カメラの撮像範囲にハンドを移動させるといった処理を実行する必要がないことから、従来の把持装置と比較してタクトタイムを短縮できる。
【0077】
また、本実施の形態においては、把持装置100は、第1位置モデル106、第2位置モデル128、および把持成功率モデル114のうち少なくとも1つを自動的に更新できる。したがって、ユーザの処理負担を軽減しつつ、ワークの把持成功率を向上させることができる。
【0078】
また、「第2カメラがハンド31が対象ワークを把持した第2画像を制御装置50が取得しない構成」である把持装置では、第2カメラ12が対象ワークを撮像するために第2カメラ12の光軸のズレなどを補正するオフセットを計算する必要があった。したがって、このような把持装置では、計算処理の増大およびタクトタイムの増大を招く場合がある。これに対し、本実施の形態の第2カメラ12は、ハンド31が対象ワークを把持した第2画像を制御装置50が取得するように、固定されている(
図2など参照)。したがって、上述の計算処理およびタクトタイムを軽減できる。
【0079】
また、比較例の把持装置として、「第2カメラの光軸と、複数の把持部(2つの把持部31A,31B)の移動方向(X軸方向)とが直交しない把持装置」が考えられる。しかしながら、このような比較例の把持装置においては、適切に第2画像および第3画像を撮像できない場合がある。一方、本実施の形態の把持装置100においては、第2カメラ12の光軸は、2つの把持部31A,31B)の移動方向(X軸方向)と直交する。また、複数の把持部が互いに第1所定方向に沿って近づいたときのワークが、第2カメラ12の光軸上に存在する(
図10参照)。したがって、複数の把持部が互いに第1所定方向に沿って近づいたときのワークを適切に第3画像として撮像することができる。
【0080】
[ハンドの他の構成]
図15および
図16は、ハンド31の他の例であるハンド31aを示す図である。ハンド31aは、
図2のハンド31と比較すると、開閉部31Eが、開閉部31Fおよび開閉部31Gに代替されている。また、
図2および
図3のハンド31の例では、把持部31Aおよび把持部31BがYZ平面でL字型であるのに対し、
図15および
図16のハンド31aでは、把持部31Aおよび把持部31BがXZ平面でL字型である。また、
図17は、ハンド31aが採用された場合の第3画像である。
図17の例では、対象ワーク画像WS、開閉部31Fの開閉部画像31FS、および開閉部31Gの開閉部画像31GSが表示されている。また、第2カメラ12の光軸が記載されている。
図17の例では、把持部31Aおよび把持部31Bが互いに第1所定方向に沿って近づいたときのワークが、第2カメラの光軸上に存在する。
【0081】
また、上述の例では、ハンド31およびハンド31aは、いわゆるチャック型である構成を説明した。しかしながら、ハンドは、いわゆる吸着型としてもよい。
図18は、吸着型が採用されたハンド31bの一例である。また、
図18の例での第2カメラ12は、ハンド31bにより把持された(吸着された)対象ワークWを撮像可能なように固定されている。
図19は、ハンド31bが採用された場合の第3画像である。
図19の例では、対象ワーク画像WS、ハンド31bのハンド画像31bSが表示されている。また、
図19の例では、第2カメラ12の光軸が記載されている。
図19の例では、ハンド31bに第2カメラの光軸上に存在する。なお、第2カメラ光軸上に対象ワークが存在してもよい。
【0082】
図20は、ハンド31bの他の態様が示された図である。
図20の例では、把持装置100は、照明装置20を有する。
図21は、第2カメラ12の光軸から平面視した図である。制御装置50は、第2カメラ12の撮像範囲を照射する。これにより、ハンド31bが把持した対象ワークを照射できることから、第2カメラ12は、より鮮明な第2画像および第3画像を生成できる。よって、把持装置100は、ワークの把持成功率を向上させることができる。なお、照明装置20は、
図20および
図21に限られず他の態様で装着されてもよい。また、照明装置20は、ハンド31またはハンド31aに装着されてもよい。
【0083】
[付記]
(第1項) 本開示の把持装置は、第1カメラと、把持ユニットと、第2カメラと、制御装置とを備える。第1カメラは、少なくとも1つのワークを撮像する。把持ユニットは、ワークを把持するハンドを有する。第2カメラは、把持ユニットに配置され、ハンドを撮像する。制御装置は、第1カメラ、第2カメラ、および把持ユニットを制御する。制御装置は、第1カメラで撮像された第1画像に基づいて、少なくとも1つのワークの各々の把持成功率を取得する。制御装置は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定する。制御装置は、ハンドと対象ワークとの距離が第1所定距離となるまで把持ユニットを移動する。制御装置は、把持ユニットを移動させた後に、第2カメラに撮像させることにより第2画像を取得する。制御装置は、第2画像に基づいて、対象ワークの第1把持位置を取得する。そして、制御装置は、第1把持位置で対象ワークを把持ユニットに把持させるための制御信号を出力する。
【0084】
(第2項) 第1項に記載の把持装置であって、制御装置は、制御信号を出力して、把持ユニットを第2所定距離、上方に移動させたときに、第2カメラに撮像させることにより第3画像を取得する。また、制御装置は、第3画像に基づいて把持ユニットが対象ワークを把持できたか否かを判定する。
【0085】
(第3項) 第2項に記載の把持装置であって、制御装置は、第1推定モデルおよび第2推定モデルを有する。制御装置は、第1推定モデルおよび第1画像に基づいて、少なくとも1つのワークの各々の第2把持位置を取得する。制御装置は、第2推定モデルおよび各々の第2把持位置に基づいて、各々の把持成功率を取得する。そして、制御装置は、対象ワークを把持できたか否かの判定結果に基づいて第1推定モデルおよび第2推定モデルのうち少なくとも一方を更新する。
【0086】
(第4項) 第2項または第3項に記載の把持装置であって、制御装置は、第3推定モデルを有する。制御装置は、第3推定モデルおよび第2画像に基づいて、第1把持位置を取得する。制御装置は、対象ワークを把持できたか否かの判定結果に基づいて第3推定モデルを更新する。
【0087】
(第5項) 第1項~第4項のいずれか1項に記載の把持装置であって、第2カメラは、ハンドが対象ワークを把持した第2画像を制御装置が取得するように、固定されている。
【0088】
(第6項) 第1項~第5項のいずれか1項に記載の把持装置であって、把持装置は、第2カメラの撮像範囲を照射する照射装置をさらに備える。
【0089】
(第7項) 第1項~第6項のいずれか1項に記載の把持装置であって、把持ユニットは、複数の把持部を有する。制御装置が制御信号を出力することにより、複数の把持部は互いに第1所定方向に沿って近づく。第2カメラの光軸は、第1所定方向と直交する。複数の把持部が互いに第1所定方向に沿って近づいたときのワークが、第2カメラの光軸上に存在する。
【0090】
(第8項) 本開示の制御方法は、把持装置の制御方法である。把持装置は、第1カメラと、把持ユニットと、第2カメラとを備える。第1カメラは、少なくとも1つのワークを撮像する。把持ユニットは、ワークを把持するハンドを有する。第2カメラは、把持ユニットに配置され、ハンドを撮像する。制御方法は、第1カメラで撮像された第1画像に基づいて、少なくとも1つのワークの各々の把持成功率を取得することを備える。また、制御方法は、各々の把持成功率に基づいて少なくとも1つのワークから対象ワークを決定することを備える。また、制御方法は、ハンドと対象ワークとの距離が第1所定距離となるまで把持ユニットを移動することを備える。また、制御方法は、把持ユニットを移動させた後に、第2カメラに撮像させることにより第2画像を取得することを備える。また、制御方法は、第2画像に基づいて、対象ワークの第1把持位置を取得することを備える。そして、制御方法は、第1把持位置で対象ワークを把持ユニットに把持させるための制御信号を出力することを備える。
【0091】
以上のように本発明の実施の形態について説明を行ったが、上述の実施の形態を様々に変形することも可能である。また、本発明の範囲は上述の実施の形態に限定されるものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更を含むことが意図される。
【符号の説明】
【0092】
11 第1カメラ、12 第2カメラ、15 支持部、20 照明装置、30 把持ユニット、31,31a,31b ハンド、31A,31B 把持部、31AS,31BS 把持部画像、31C,31D 固定部、31E,31F,31G 開閉部、31FS,31GS 開閉部画像、31bS ハンド画像、32 位置決め機構、32A 先端部、50 制御装置、54 メモリ、60 作業台、100 把持装置、101 第1取得部、102 第2取得部、104 第1検出部、106 第1位置モデル、108 第1位置推定部、110 出力部、112 構築部、114 把持成功率モデル、116 成功率推定部、118 判定データ記憶部、120 判定部、124 第2検出部、126 第2位置推定部、128 第2位置モデル、130 決定部、132 指令部。