説明

ワーク取出し装置およびワーク取出し方法

【課題】ばら積みされたワークの取出し作業を効率的に行う。
【解決手段】ばら積みされた複数のワーク5を含むワーク積載領域のカメラ画像に基づいてワーク5を検出するワーク検出部8aと、ワーク検出部8aによる検出結果に基づいて、ロボット2により取り出されるワーク5を選定するワーク選定部8bと、ロボット2の動作によってワーク5の積載状態が変化したか否かを判定する積載状態判定部8cと、ワーク検出部8aによりワーク5を検出する際のワーク検出領域を設定する領域設定部8eとを備える。領域設定部8eは、積載状態判定部8cによりワーク5の積載状態が変化したと判定されると、その積載状態の変化位置の周辺領域であり、ワーク積載領域の一部にワーク検出領域を設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテナ内にばら積みされたワークをロボットによって取り出すワーク取出し装置およびワーク取出し方法に関する。
【背景技術】
【0002】
コンテナ内に乱雑に配置(ばら積み)されている複数のワークの全体領域をカメラにより撮像し、そのカメラ画像に基づいてワークを検出して、ロボットマニピュレータによりワークを自動的に取り出すようにした装置が知られている(例えば特許文献1参照)。この特許文献1記載の装置では、コンテナ内におけるワークの積載状態が変化したか否かを判定し、積載状態が変化していないと判定したときは、次のワーク取出し作業時にワークの撮像を行わずに、過去に撮像されたカメラ画像に基づいてワークを検出することで、カメラによる撮像を省いて、ワーク取出し作業の時間短縮を図るようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4199264号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1記載の装置において、ワーク取出し作業においてワークの積載状態が変わっていない場合は少ないため、撮像を省ける機会はあまりなく、コンテナ内におけるワークの積載状態が変化している場合には、複数のワークの全体領域をカメラにより撮像し直し、そのカメラ画像からワークを検出する必要があるため、ワーク取出し作業を効率的に行うことが難しい。
【課題を解決するための手段】
【0005】
本発明によるワーク取出し装置は、ばら積みされた複数のワークを含むワーク積載領域を撮像するカメラと、カメラにより撮像されたカメラ画像に基づいてワークを検出するワーク検出部と、ワーク検出部による検出結果に基づいて取り出すべきワークを選定するワーク選定部と、ワーク選定部により選定されたワークを取り出すロボットと、ロボットの動作によってワークの積載状態が変化したか否かを判定する積載状態判定部と、ワーク検出部によりワークを検出する際のワーク検出領域を設定する領域設定部と、を備え、領域設定部は、積載状態判定部によりワークの積載状態が変化したと判定されると、その積載状態の変化位置の周辺領域であり、ワーク積載領域の一部にワーク検出領域を設定することを特徴とする。
また、本発明によるワーク取出し方法は、ばら積みされた複数のワークを含むワーク積載領域をカメラにより撮像する撮像手順と、カメラにより撮像されたカメラ画像に基づいてワークを検出するワーク検出手順と、ワーク検出手順による検出結果に基づいて取り出すべきワークを選定するワーク選定手順と、ワーク選定手順により選定されたワークをロボットにより取り出すワーク取出し手順と、ロボットの動作によってワークの積載状態が変化したか否かを判定する積載状態判定手順と、ワーク検出手順によりワークを検出する際のワーク検出領域を設定する領域設定手順と、を含み、領域設定手順では、積載状態判定手順によりワークの積載状態が変化したと判定されると、その積載状態変化位置の周辺領域であり、ワーク積載領域の一部にワーク検出領域を設定することを特徴とする。
【発明の効果】
【0006】
本発明によれば、ワークの積載状態が変化した位置の周辺領域にワーク検出領域を設定するので、ワーク積載領域の全体にワーク検出領域を設定する場合に比べてワーク検出領域が狭くなり、ワーク検出にかかる処理時間を大きく短縮できるので、ロボットがワークの撮像と検出を待つ時間がほとんどなくなり、ワーク取出し作業を効率的に行うことができる。
【図面の簡単な説明】
【0007】
【図1】本発明の実施の形態に係るワーク取出し装置の全体構成を示す図である。
【図2】図1のロボットコントローラ内のCPUで実行される処理の一例を示すフローチャートである。
【図3】図2のワーク検出領域設定処理の詳細を示す図である。
【図4】ワーク検出領域の大きさの自動変更の方法を説明するための図である。
【図5】本発明の実施の形態に係るワーク取出し装置の動作を説明するための図である。
【発明を実施するための形態】
【0008】
以下、図1〜図5を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態に係るワーク取出し装置1の全体構成を示す図である。コンテナ6内には同種の複数のワーク5が乱雑に配置、すなわちばら積みされている。ワーク取出し装置1は、このばら積みされた複数のワーク5の中から選定されたワーク5を取り出すロボット2と、コンテナ6の上方に固定的に配置されたカメラ7と、カメラ7により撮像されたカメラ画像に基づきロボット2を制御するロボットコントローラ8とを有する。
【0009】
ロボット2は、回転可能な関節軸を有する多関節ロボットであり、ロボットアーム2aの先端部に設けられたロボットハンド2bによりワーク5が把持される。さらにロボットハンド2bには視覚センサ3が設けられ、視覚センサ3により個々のワーク5が計測される。視覚センサ3はレーザ投光式の3次元視覚センサであり、ロボットコントローラ8内の視覚センサ制御部8hにより制御される。視覚センサ3により得られた計測データは、ロボットコントローラ8内のメモリ8gに記憶され、コントローラ8内での処理によりワーク5の詳細な3次元位置及び姿勢が求められる。ロボットアーム2aには衝撃センサ4が設けられ、衝撃センサ4によりワーク取出し時にロボットアーム2aに作用した衝撃が検出される。
【0010】
カメラ7は、例えばCCD等の撮像素子を有する電子カメラであり、撮像により2次元画像を受光面(CCDアレイ面上)で検出する機能を持つ周知の受光デバイスである。カメラ7の撮像動作は、ロボットコントローラ8内のカメラ制御部8fにより制御され、複数のワーク5を含むワーク積載領域(例えばコンテナ全体)が視野内に収まるように撮像範囲が設定されている。カメラ画像はカメラ制御部8fに取り込まれ、メモリ8gに記憶される。
【0011】
ロボットコントローラ8は、メモリ8gに記憶された画像に基づいてワーク5を検出するワーク検出部8aと、ワーク検出部8aにより検出されたワーク5の中から取り出すべきワーク5を選定するワーク選定部8bと、コンテナ6内のワーク5の積載状態が変化したか否かを判定するワーク積載状態判断部8cと、ワーク5の積載状態が変化した位置を記憶するワーク積載状態変化位置記憶部8dと、ワーク検出部8aでワーク5を検出する際のワーク検出領域を設定するワーク検出領域設定部8eとを有し、これらはカメラ制御部8fとメモリ8gとともに、カメラ画像を処理する画像処理装置を構成する。
【0012】
ワーク検出部8aは、例えばパターンマッチングによりワーク5を検出する。すなわち、予めワーク形状に対応したワークモデルを生成しておき、ワーク検出領域内のカメラ画像の中からこのワークモデルに対応した目標画像を検索、抽出することによりワーク5を検出する。このようなワーク検出部8aにおける処理では、ワーク検出領域が広いと、目標画像の検索に時間がかかり、目標画像の検索が完了するまでロボットはワーク取出し作業を待機するため、ワーク取出し作業を効率的に行うことが困難となる。そこで、本実施の形態では、以下のようにワーク検出領域を設定することにより、ワーク取出し作業の時間短縮を図る。
【0013】
図2は、ロボットコントローラ8内のCPUで実行される処理の一例を示すフローチャートである。このフローチャートに示す処理は、例えばワーク取出し作業の開始指令が入力されると開始される。ステップS1では、カメラ制御部8fでの処理により、コンテナ内のワーク積載領域におけるワーク5を撮像するようにカメラ7に撮像指令を出力し、撮像によって得られたカメラ画像をメモリ8gに記憶する。
【0014】
ステップS2では、ワーク検出部8aでの処理(パターンマッチング)により、メモリ8gに記憶されたカメラ画像のうち、ワーク検出領域内のカメラ画像を用いてワーク5を検出し、検出されたワーク5をメモリ8gに記憶する。なお、図2の処理の開始直後の初期状態では、ワーク検出領域は、ワーク積載領域に合わせてコンテナ全体を囲むように設定されている。なお、後述するようにワーク検出領域がワーク積載領域の一部に複数設定されている場合(図5(b))には、各ワーク検出領域毎にワーク5を検出する。
【0015】
ステップS3では、ステップS2での処理によって1以上のワーク5が検出されたか否かを判定する。ステップS3が否定されるとステップS4に進み、所定の終了条件を満足しているか否かを判定する。例えば、取り出されたワーク5が所定数に達したときに、終了条件が満足と判定される。ステップS4が肯定されると処理を終了する。ステップS4が否定されるとステップS5に進み、コンテナ全体を囲むようなワーク検出領域を設定し、ステップS1に戻る。一方、ステップS3が肯定されるとステップS6に進む。
【0016】
ステップS6では、ワーク選定部8bでの処理により、ステップS2でメモリ8gに記憶されたコンテナ内の全ワーク5の中から、ロボット2で取り出すべきワーク5を選定する。この場合、例えば周囲のワーク5よりも高い位置にあって隠蔽されていないワーク5を、取り出すべきワーク5として選定する。
【0017】
ステップS7では、ステップS6での処理によりワーク5を選定できたか否かを判定する。ステップS7が否定されるとステップS8に進み、ワーク5の選定が可能となるようにワーク5の検出条件や選定条件を変更する。例えば撮像時の光量やパターンマッチングにおけるワークパターン等を変更し、ステップS1に戻る。ステップS7が肯定されると、ステップS9に進む。
【0018】
ステップS9では、ロボット駆動用のサーボモータに制御信号を出力し、ロボット2(ロボットアーム2aやロボットハンド)の動作を制御して、選定されたワーク5をコンテナ内から取り出す。この場合、ロボットアーム先端部に設けられた視覚センサ3の移動位置を演算するとともに、選定されたワーク5の3次元位置及び姿勢を視覚センサ3により計測し、ロボットハンドをワーク取出の目標位置まで移動した後、ロボットハンドでワーク5を把持し、取り出す。
【0019】
ステップS10では、ワーク積載状態判断部8cでの処理により、ロボット2が動作している際に衝撃センサ4により衝撃が検出されたか否か、すなわち選定されたワーク5を把持する前に、ロボット2がワーク等に接触したことにより衝撃が発生したか否かを判定する。衝撃センサ4に代えて、ロボット駆動用のサーボモータに作用する負荷が急激に変化したことをモータ電流の変化等により検出し、これにより衝撃の有無を判定することもできる。
【0020】
ステップS10が肯定されるとステップS11に進む。この場合、衝撃の発生によりコンテナ内のワーク5の積載状態、とくに取り出すべきワーク5の近傍における積載状態が変化した可能性が高い。そこで、ステップS11では、ワーク積載状態変化位置記憶部8dでの処理により、選定された取り出すべきワーク5の位置を積載状態変化位置として記憶し、ステップS6に戻ってワーク5の選定処理をやり直す。このやり直しのワーク選定処理では、積載状態変化位置から離れた位置にあるワーク5、つまり積載状態が変化していないと考えられるワーク5の中から取り出すべきワーク5を選定してもよい。なお、積載状態変化位置は、視覚センサ3により検出されたワーク5の3次元位置であり、ロボット座標系の位置データとして記憶される。
【0021】
ステップS10において、取り出すべきワーク5の位置にロボットハンドを移動する際に衝撃が検出された場合には、取り出すべきワーク5の近傍ではなく、ロボット2が衝撃を受けた位置において積載状態が変化した可能性が高い。この場合には、ステップS11で、ロボット2が衝撃を受けたときのロボットアーム先端部の位置を積載状態変化位置としてメモリ8gに記憶してもよい。ロボットアーム先端部の位置は、ロボット2に設けられた各種位置センサにより検出することができる。
【0022】
ステップS10が否定されるとステップS12に進む。ステップS12では、ワーク積載状態判断部8cでの処理により、ロボットハンドで取り出すべきワーク5を把持できたか否かを判定する。具体的には、ハンドチャックの開閉確認センサの検出値や、ロボットハンドが吸盤を用いるタイプの場合は吸着確認センサの検出値に基づき把持動作の成否を判定する。ロボットハンドに対してワーク5が正しい位置にあるかを検出する近接センサ等の検出値に基づき把持動作の成否を判定することもできる。
【0023】
ステップS12が肯定されるとステップS13に進む。この場合、ワーク5を把持して取り出したことによりコンテナ内のワーク5の積載状態、とくにワーク5の取出位置の近傍における積載状態が変化した可能性が高い。そこで、ステップS13では、ワーク積載状態変化位置記憶部8dでの処理により、ステップS11と同様、選定された取り出すべきワーク5の位置を積載状態変化位置として記憶し、ステップS14に進む。実際のワーク5の位置が選定されたワーク5の位置からずれている場合には、ロボットハンドを選定されたワーク5の位置よりも例えば下方に移動してワーク5を把持することがある点を考慮し、実際にワーク5が把持された位置を積載状態変化位置としてメモリ8gに記憶してもよい。ステップS12が否定されるとステップS14に進む。
【0024】
ステップS14では、ワーク検出領域設定部8eでの処理により、図3に示すワーク検出領域設定処理を実行する。まず、ステップS14aで、積載状態変化位置が存在するか否か、すなわち、ステップS11またはステップS13のいずれかの処理が実行されたか否かを判定する。ステップS14aが肯定されるとステップS14bに進み、ワーク積載状態変化位置記憶部8dで記憶されたロボット座標系における積載状態変化位置を取得する。ステップS14cでは、ロボット座標系の積載状態変化位置を画像上の位置へ変換する。具体的には、カメラ7のキャリブレーションデータを用いて、周知の手法により積載状態変化位置をカメラ画像上の位置へ変換する。
【0025】
ステップS14dでは、予め定められた形状および大きさのワーク検出領域を画像上の積載状態変化位置に設定する。例えばワーク検出領域が円形である場合、積載状態変化位置を中心とした円の直径あるいは半径を設定すればよく、ワーク検出領域が矩形である場合、積載状態変化位置を中心とした矩形ウィンドウの縦方向長さと横方向長さを設定すればよい。いずれの場合であっても、ワーク検出領域は、少なくともカメラ7により撮像されたワーク積載領域の一部、すなわちワーク積載領域よりも狭い範囲に設定される。積載状態変化位置が複数ヶ所に存在する場合には、それぞれの位置についてワーク検出領域を設定する。
【0026】
ステップS14dの処理が終了すると、図2のステップS1に戻り、一連の処理を繰り返す。繰り返しの処理においては、ステップS2で、ワーク積載領域の一部に設定したワーク検出領域内からワーク5を検出し、この新たなワーク検出データにより、そのワーク検出領域内のワーク検出データを書き換えてメモリ8gに記憶する。すなわち、ワーク5の積載状態が変化した位置の周辺領域をワーク検出領域としてワーク5の検出処理を行い、その領域内のワーク検出データを更新する。したがって、ワーク積載領域の全域にわたってワーク5を検出する必要がないため、ワーク検出部8aにおける処理の時間短縮が可能となる。
【0027】
一方、ステップS14aで、積載状態変化位置が存在しないと判定されるとステップS14eに進む。ステップS14eでは、コンテナ全体を囲むようなワーク積載領域の全体にワーク検出領域を設定し、図2のステップS2に戻る。この場合、ワーク5の積載状態が変化していないため、カメラ7の撮像を再度行う必要はなく、繰り返しの処理によるステップS2では、コンテナ全体からワーク5を検出する。
【0028】
ところで、ステップS14dにおけるワーク検出領域の設定処理に関し、カメラ7で撮像されたワーク5の画像上の大きさは、カメラ7からワーク5までの距離、つまりコンテナ内に配置されたワーク5の高さに応じて変化する。この点を考慮し、ワーク5の高さに応じてワーク検出領域の大きさを自動的に変更するようにしてもよい。すなわちワーク5がカメラ7に近い場合には、ワーク検出領域を大きく、ワーク5がカメラ7から遠い場合には、ワーク検出領域を小さくして、ワーク検出領域に含まれるワーク5の画像上の大きさが一定となるようにしてもよい。以下、この点について説明する。
【0029】
図4は、ワーク検出領域の大きさの自動変更の方法を説明するための図である。ここでは、ワーク5の高さ方向を図のZ軸方向に定義する。まず、ワーク5が基準位置からZ1およびZ2の高さにあるときにカメラ7で撮像した画像に写る画像サイズSZ1およびSZ2をそれぞれ設定する。このとき、画像に写るサイズはワーク5のカメラ7からの距離に反比例するため、基準位置からカメラ7までの距離(カメラ高さ)をZ0、カメラ7から高さZ1およびZ2の各ワーク5までの距離をそれぞれA1,A2とすると、次式(I)が成立する。
SZ2/SZ1=A1/A2=(Z0−Z1)/(Z0−Z2) (I)
【0030】
カメラ高さZ0は、次式(II)により算出でき、積載状態変化位置の高さをZ3とすると、そのときの画像サイズSZ3は、次式(III)により算出できる。
Z0=(SZ2*Z2−SZ1*Z1)/(SZ2−SZ1) (II)
SZ3=((Z0−Z1)/(Z0−Z3))*SZ1 (III)
【0031】
ワーク検出領域を例えば円形とする場合には、予め画像サイズSZ1に対応したワーク検出領域の直径D1を定めておく。ステップS14dでは、このD1を用いて、画像サイズSZ3に対応したワーク検出領域の直径D3を次式(IV)により算出する。
D3=(SZ3/SZ1)*D1=((Z0−Z1)/(Z0−Z3))*D1 (IV)
【0032】
本発明の実施の形態に係るワーク取出し装置1の動作をより具体的に説明する。例えば、図5(a)に示すようにコンテナ6内に複数のワーク5がばら積みで配置されていると仮定する。この場合、まず、コンテナ全体を囲むワーク検出領域が設定され、コンテナ内全域においてワーク5が検出された後(ステップS2)、周囲のワーク5よりも高い位置にあり、隠蔽されていないワーク5aが、ロボット2で取り出すべきワークとして選定される(ステップS6)。
【0033】
選定されたワーク5aを取り出すとき、例えばロボットハンドでワーク5aを把持する前にロボットハンドがワーク5aに接触すると、図5(b)に示すようにワーク5aの位置がずれる。この場合、衝撃センサ4により衝撃が検出され、選定されたワーク5aの位置が積載状態変化位置として記憶されて(ステップS11)、ワーク5の選定が再度行われる(ステップS6)。このとき、図5(a)に示すように、前回とは異なるワーク5bが選定されると、このワーク5bがロボット2により取り出され、そのワーク5bの位置が積載状態変化位置として記憶される(ステップS13)。
【0034】
この場合、図5(b)に示すように、衝撃検出時に設定されたワーク5aとロボット2による取出し時に選定されたワーク5bを含む領域に、それぞれワーク検出領域12a,12bが設定される(ステップS14d)。その後、カメラ7によりコンテナ内の全体が撮像された後、そのカメラ画像を用いて、各ワーク検出領域12a,12b内でワーク5が検出される(ステップS2)。これによりワーク5のワーク検出領域が制限されるので、ワーク検出に要する時間を短縮することができ、効率的なワーク取出し作業が可能となる。
【0035】
ワーク取出し時に衝撃センサ4により衝撃が検出されず、ロボット2によるワーク5の把持動作も検出されない場合には、積載状態変化位置が存在しないため、コンテナ全体を囲むワーク検出領域が設定される(ステップS14e)。ステップS14dで設定したワーク検出領域内でワーク5が検出されない場合(例えば図5(b)の検索ウィドウ12bのみが設定された場合)にも、コンテナ全体を囲むワーク検出領域が設定される(ステップS5)。これらの場合には、コンテナ全体から再度ワーク5の検出が行われる。
【0036】
本実施の形態によれば以下のような作用効果を奏することができる。
(1)ワーク積載状態判断部8cでの処理により、ワーク5の積載状態が変化したか否かを判定し、ワーク5の積載状態が変化したと判定されると、ワーク検出領域設定部8eでの処理により、その積載状態の変化位置の周辺領域にワーク検出領域を設定し、ワーク検出部8aでの処理により、ワーク検出領域内においてワーク5を検出するようにした。したがって、ワーク積載領域の一部でワーク5を検出することとなり、ワーク検出領域を狭めることができるので、ワーク検出に要する時間を短縮することができ、ワーク取出し作業を効率的に行うことができる。
【0037】
(2)ロボット2によるワーク5の把持動作が成功したと判定されると、ワーク5の積載状態が変化したと判定するようにしたので、ワーク5の取出し後の積載状態の変化を正しく判定できる。この場合、ワーク選定部8bにより選定されたワーク5の位置の周辺領域にワーク検出領域を設定するので、積載状態が変化した可能性が高い箇所で、ワーク検出処理を無駄なく行うことができる。これに代えて、ロボット2によりワーク5が把持された位置の周辺領域にワーク検出領域を設定すれば、実際のワーク5の位置が選定されたワーク5の位置からずれている場合であっても、ワーク検出処理を無駄なく行うことができる。
【0038】
(3)ロボット2がワーク5を把持する前にロボット2に衝撃が作用したと判定されると、ワーク5の積載状態が変化したと判定するようにしたので、衝撃発生によるワーク5の積載状態の変化を正しく判定できる。この場合、ワーク選定部8bにより選定されたワーク5の位置の周辺領域にワーク検出領域を設定するので、積載状態が変化した可能性が高い箇所で、ワーク検出処理を無駄なく行うことができる。これに代えて、ロボット2に衝撃が作用した位置の周辺領域にワーク検出領域を設定すれば、衝撃を受けた位置が選定されたワーク5の位置から離れている場合であっても、ワーク検出処理を無駄なく行うことができる。
【0039】
(4)ロボット2に作用する衝撃を検出した後に、その衝撃検出位置とは異なる位置に存在するワーク5を取り出した場合等、積載状態変化位置が複数ヶ所に存在するとき(例えば図5の場合)、各々の積載状態変化位置に対応したワーク検出領域12a,12bを設定するようにしたので、ワーク検出に要する時間を抑えながら、積載状態が変化した領域におけるワーク5を精度よく検出できる。
(5)選定されたワーク5とカメラ7との距離に応じてワーク検出領域の大きさを自動的に変更するようにすれば、コンテナ内のワーク5の高さに拘わらず、画像上でワーク5に対するワーク検出領域の相対的大きさを一定にすることができ、効率的にワーク5を検出できる。
【0040】
なお、上記実施の形態では、ワーク検出部8aとワーク選定部8bとワーク積載状態判断部8c(積載状態判定部)とワーク積載状態変化位置記憶部8dとワーク検出領域設定部8e(領域設定部)とカメラ制御部8fとメモリ8gと視覚センサ制御部8hが、ロボットコントローラ8に含まれるようにしたが、ロボットコントローラ8の構成はこれに限らない。例えばワーク検出部8aとワーク検出領域設定部8eとカメラ制御部8fと視覚センサ制御部8hをロボットコントローラ8の外部に設け、通信手段を用いて画像処理の結果をロボットコントローラ8へ送信するようにしてもよい。ワーク積載状態変化位置記憶部8dを省略し、積載状態変化位置をメモリ8gに記憶してもよい。
【0041】
上記実施の形態では、ワーク5の積載状態が変化したと判定されると、ワーク積載領域の一部にワーク検出領域を設定するようにしたが、ワーク検出領域の形状はいかなるものでもよい。ロボットコントローラ8内での処理により、ワーク5の把持動作の成否を判定するとともに(ステップS12)、ロボット2に作用する衝撃の有無を判定するようにしたが(ステップS10)、把持判定部としてのワーク積載状態判断部における構成および衝撃判定部としてのワーク積載状態判断部における構成は上述したものに限らない。すなわち、本発明の特徴、機能を実現できる限り、本発明は実施の形態のワーク取出し装置1に限定されない。
【0042】
以上をまとめると、本実施の形態に係るワーク取出し方法は、ばら積みされた複数のワーク5を含むワーク積載領域をカメラ7により撮像する撮像手順(ステップS1)と、カメラ7により撮像されたカメラ画像に基づいてワーク5を検出するワーク検出手順(ステップS2)と、ワーク検出手順による検出結果に基づいて、取り出すべきワーク5を選定するワーク選定手順(ステップS6)と、ワーク選定手順により選定されたワーク5をロボット2により取り出すワーク取出し手順(ステップS9)と、ロボット2の動作によってワーク5の積載状態が変化したか否かを判定する積載状態判定手順(ステップS10、ステップS12)と、ワーク検出手順によりワーク5を検出する際のワーク検出領域を設定する領域設定手順(ステップS14d)とを含み、領域設定手順では、積載状態判定手順によりワーク5の積載状態が変化したと判定されると、その積載状態変化位置の周辺領域であり、ワーク積載領域の一部にワーク検出領域を設定することを特徴とするのであり、この特徴を実現できる限り、上記構成に種々の変形を加えてもよい。
【符号の説明】
【0043】
1 ワーク取出し装置
2 ロボット
2a ロボットアーム
2b ロボットハンド
3 視覚センサ
4 衝撃センサ
5 ワーク
5a 1番目に選定され取出しに失敗したワーク
5b 2番目に選定され取出しに成功したワーク
6 コンテナ
7 カメラ
8 ロボットコントローラ
8a ワーク検出部
8b ワーク選定部
8c ワーク積載状態判断部
8d ワーク積載状態変化位置記憶部
8e ワーク検出領域設定部
8f カメラ制御部
8g メモリ
8h 視覚センサ制御部
12a 衝撃検出により設定されたワーク検出領域
12b ワークの取出し成功により設定されたワーク検出領域

【特許請求の範囲】
【請求項1】
ばら積みされた複数のワークを含むワーク積載領域を撮像するカメラと、
前記カメラにより撮像されたカメラ画像に基づいてワークを検出するワーク検出部と、
前記ワーク検出部による検出結果に基づいて取り出すべきワークを選定するワーク選定部と、
前記ワーク選定部により選定されたワークを取り出すロボットと、
前記ロボットの動作によってワークの積載状態が変化したか否かを判定する積載状態判定部と、
前記ワーク検出部によりワークを検出する際のワーク検出領域を設定する領域設定部と、を備え、
前記領域設定部は、前記積載状態判定部によりワークの積載状態が変化したと判定されると、その積載状態の変化位置の周辺領域であり、前記ワーク積載領域の一部に前記ワーク検出領域を設定することを特徴とするワーク取出し装置。
【請求項2】
請求項1に記載のワーク取出し装置において、
前記ワーク選定部により選定されたワークの前記ロボットによる把持動作の成否を判定する把持判定部をさらに有し、
前記積載状態判定部は、前記把持判定部により前記ロボットによる前記把持動作が成功したと判定されると、ワークの積載状態が変化したと判定することを特徴とするワーク取出し装置。
【請求項3】
請求項1または2に記載のワーク取出し装置において、
前記ワーク選定部により選定されたワークを前記ロボットが把持する前の前記ロボットに作用する衝撃の有無を判定する衝撃判定部をさらに有し、
前記積載状態判定部は、前記衝撃判定部により衝撃が有りと判定されると、ワークの積載状態が変化したと判定することを特徴とするワーク取出し装置。
【請求項4】
請求項2に記載のワーク取出し装置において、
前記積載状態変化位置は、前記ワーク選定部により選定されたワークの位置または前記ロボットにより前記ワークが把持された位置であることを特徴とするワーク取出し装置。
【請求項5】
請求項3に記載のワーク取出し装置において、
前記積載状態変化位置は、前記ワーク選定部により選定されたワークの位置または前記ロボットに衝撃が作用した位置であることを特徴とするワーク取出し装置。
【請求項6】
請求項1〜5のいずれか1項に記載のワーク取出し装置において、
前記領域設定部は、前記積載状態変化位置が複数ヶ所に存在するとき、各々の積載状態変化位置に対応した前記ワーク検出領域を設定することを特徴とするワーク取出し装置。
【請求項7】
請求項1〜6のいずれか1項に記載のワーク取出し装置において、
前記領域設定部は、前記ワーク選定部により選定されたワークと前記カメラとの距離に応じて前記ワーク検出領域の大きさを変更することを特徴とするワーク取出し装置。
【請求項8】
ばら積みされた複数のワークを含むワーク積載領域をカメラにより撮像する撮像手順と、
前記カメラにより撮像されたカメラ画像に基づいてワークを検出するワーク検出手順と、
前記ワーク検出手順による検出結果に基づいて取り出すべきワークを選定するワーク選定手順と、
前記ワーク選定手順により選定されたワークをロボットにより取り出すワーク取出し手順と、
前記ロボットの動作によってワークの積載状態が変化したか否かを判定する積載状態判定手順と、
前記ワーク検出手順によりワークを検出する際のワーク検出領域を設定する領域設定手順と、を含み、
前記領域設定手順では、前記積載状態判定手順によりワークの積載状態が変化したと判定されると、その積載状態変化位置の周辺領域であり、前記ワーク積載領域の一部に前記ワーク検出領域を設定することを特徴とするワーク取出し方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−24903(P2012−24903A)
【公開日】平成24年2月9日(2012.2.9)
【国際特許分類】
【出願番号】特願2010−167987(P2010−167987)
【出願日】平成22年7月27日(2010.7.27)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】