対象物把持領域抽出装置および対象物把持領域抽出装置を用いたロボットシステム
【課題】
位置姿勢が未知な対象物が置かれた供給部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持領域を抽出する。
【解決手段】
ロボットで把持する対象物の供給部の三次元計測データから供給部の三次元情報を生成し、予め記憶された把持機構領域と把持部分領域とからなる把持領域を用い、把持部分領域の全体に物体が存在し、把持機構領域に物体が存在していない領域を、三次元情報から把持可能領域として抽出する。
位置姿勢が未知な対象物が置かれた供給部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持領域を抽出する。
【解決手段】
ロボットで把持する対象物の供給部の三次元計測データから供給部の三次元情報を生成し、予め記憶された把持機構領域と把持部分領域とからなる把持領域を用い、把持部分領域の全体に物体が存在し、把持機構領域に物体が存在していない領域を、三次元情報から把持可能領域として抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持可能領域を抽出する対象物把持領域抽出装置、およびその対象物把持領域抽出装置を用いたロボットシステムに関する。
【背景技術】
【0002】
生産ラインや検査ラインなどにおいて、山積みになったワークをロボットによりピッキングするシステムにおいて、ワークがどのような姿勢で置かれているかを認識し、ピッキングを行うシステムが知られている。
【0003】
例えば特許文献1には、同一形状で複数の部品が三次元的に異なる任意の位置及び姿勢にて乱雑に山積みされた部品群から個々の部品の位置姿勢を求める位置姿勢認識装置が開示されている。また、位置姿勢認識装置と、位置姿勢認識装置から供給される部品の三次元的な位置姿勢情報に応じて部品群から目的の部品を1つずつ取り出す(ピッキングする)ロボットとを備えるピッキングシステムが開示されている。
【0004】
特許文献1に記載の位置姿勢認識装置によれば、奥行き計測部、直線状明領域抽出部、及び三次元位置姿勢演算部を備えたことで、部品群の撮像画像から、他と交差することなく単独で延在する直線状の明領域を抽出でき、さらに、抽出した単独の直線状明領域に奥行き情報を付加することで部品の三次元位置姿勢情報を得ることができる。さらに、特許文献1に記載のピッキングシステムによれば、同一形状の部品が三次元的に異なる任意の位置及び姿勢で配置された部品群に対してもピッキングが可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−128201号
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来は、特許文献1に記載のように、山積みされた部品群からロボットにて部品を一つずつ取り出す(ピッキングする)には、まず個々のワークの位置および姿勢を認識していた。しかし、個々のワークの位置・姿勢を認識するためには、多くの処理時間を必要とするという問題がある。
【0007】
また、山積みされたワークから1つのワークをピッキングするに際し、把持機構を把持対象ワークに接近させる動作の途中で山積みされたワークが崩れるとピッキングするワークの位置・姿勢が変わってしまう。そのため、位置・姿勢が認識された複数のワークからピッキングするワークを選択する際には、ピッキングする際にロボットの把持機構が他のワークに接触しない事を確認することも必要となるため、さらに処理時間が長くなるという問題もある。
【0008】
本発明は、上記のような問題点を解決するためになされたもので、位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持可能領域を抽出する対象物把持領域抽出装置、およびその対象物把持領域抽出装置を用いたロボットシステムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明に係る対象物把持領域抽出装置は、複数の対象物が任意の位置および姿勢で置かれた対象物集積部から、把持機構を備えたロボットを用いて、対象物を取り出すロボットシステムにおける対象物把持領域抽出装置であって、前記対象物集積部の三次元の計測データを取得する計測装置、前記計測データから前記対象物集積部の三次元情報を生成する三次元情報生成部、前記対象物を把持する際に必要となる領域であって、前記把持機構により定まる把持機構領域と、前記把持機構に把持される前記対象物の把持部分により定まる把持部分領域と、からなる把持領域を予め記憶する把持領域記憶部、前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する把持可能領域抽出部、により構成されていることを特徴とする。
【0010】
また、本発明に係るロボットシステムは、対象物を把持する把持機構、前記把持機構を備えるロボット、前記ロボットを制御するロボット制御装置、前記対象物把持領域抽出装置、からなるロボットシステムであって、前記ロボット制御装置は、前記対象物把持領域抽出装置から抽出された1以上の前記把持可能領域に関する情報を受け取る把持可能領域受信部と、予め定められた条件を具備する把持可能領域を1つ選択する把持領域選択部と、該選択した把持可能領域にある対象物を前記ロボットの前記把持機構によって把持し、所定の動作をするようにロボットを制御するロボット動作制御部と、から構成されていることを特徴とする。
【発明の効果】
【0011】
位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、個々の対象物の位置・姿勢を特定することなく、ピッキングする際に把持機構が他の対象物に干渉しない把持可能な対象物を含む把持可能領域を抽出することができるため、把持する対象物を短時間で決定する事ができる。
【図面の簡単な説明】
【0012】
【図1】本発明に係るロボットシステムの実施形態の概略構成図である。
【図2】本発明に係る対象物把持領域抽出装置の概略ブロック図である。
【図3】本発明に係るロボットシステムのフローチャートである。
【図4】対象物把持領域抽出装置の第1の実施形態のブロック図である。
【図5】対象物把持領域抽出装置の第1の実施形態における三次元情報である。
【図6】対象物把持領域抽出装置の第1の実施形態における把持領域である。
【図7】対象物把持領域抽出装置の第1の実施形態における把持可能領域の抽出結果である。
【図8】「ワーク供給部の三次元情報生成」の詳細フローチャートである。
【図9】対象物把持領域抽出装置の第1の実施形態における「把持可能領域の抽出」の詳細フローチャートである。
【図10】対象物把持領域抽出装置の第1の実施形態における他の把持領域である。
【図11】対象物把持領域抽出装置の第1の実施形態における他の把持可能領域の抽出結果である。
【図12】対象物把持領域抽出装置の第2の実施形態のブロック図である。
【図13】対象物把持領域抽出装置の第2の実施形態における把持領域である。
【図14】対象物把持領域抽出装置の第2の実施形態における「把持可能領域の抽出」の詳細フローチャートである。
【図15】本発明に係るロボットシステムの実施形態の変形例を示した概略構成図である。
【発明を実施するための形態】
【0013】
本発明に係るロボットシステムの実施形態について、図を参照しつつ説明する。
図1は、本発明に係るロボットシステムの実施形態の概略構成図である。
図1において、101はワーク(対象物)、110はワーク101が集積される集積トレーである。ワーク101は、集積トレー110上の任意の位置に任意の姿勢で集積されている。なお、集積トレー110上にワーク101が山積み状態であっても、積み重ならないように置かれていても良い。
【0014】
201はロボット、210はロボット201のアーム先端に取り付けられたワーク101を把持する把持機構、220はロボット201および把持機構210を制御するロボット制御装置である。ここで、ロボット201は各種ロボット(垂直多関節ロボット、水平多関節ロボット、直交ロボット等)を用いることができる。
【0015】
301は集積トレー110上の三次元計測を行う三次元計測装置、310は三次元計測装置301で取得した計測データから、把持機構210にてワーク101を把持可能な領域を抽出する対象物把持領域抽出装置である。ここで、三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等を用いることができる。また、対象物把持領域抽出装置310は、三次元計測装置301から計測データを取得し、取得したデータを処理し、処理した結果等のデータをロボット制御装置220と伝達可能な通信手段を備えたコンピュータ等である。
【0016】
401はロボット201にピッキングされたワーク101を載置して外部へ搬出する搬出コンベアである。
さらに、ロボット制御装置220と対象物把持領域抽出装置310とは、互いに情報伝達可能な通信手段を備え、その通信手段によって接続されている。
【0017】
図2は、対象物把持領域抽出装置の概略ブロック図である。
図2において、320は三次元計測装置301にて集積トレー110上の三次元の計測データを取得し、取得した計測データから後述する把持可能領域抽出部330の処理に適した三次元情報を生成する三次元情報生成部である。
【0018】
ここで、三次元情報とは、三次元座標系の座標軸の1つの方向が予め定められたアプローチ方向と等しい三次元座標系による座標情報である。さらに、アプローチ方向とは、ロボット201の集積トレー110上のワーク101を把持する動作において、把持機構210を把持する対象ワーク101まで移動させる際の把持機構210の移動方向である。
【0019】
330は、三次元情報からワーク101を把持可能な把持可能領域を抽出する把持可能領域抽出部である。
340は、各種処理に必要な情報を予め記憶、または、一時的に記憶しておく記憶部である。
【0020】
なお、記憶部340には、予め把持領域が記憶されている。ここで、把持領域とは、ワーク101を把持する際に必要となる領域であって、把持機構210により定まる把持機構領域と、把持機構210に把持される前記ワーク101の把持部分により定まる把持部分領域と、から構成されている。把持領域は、把持可能領域抽出部340にて把持可能な把持可能領域を抽出するのに用いられる。
【0021】
把持部分領域は、アプローチ方向から三次元計測装置301にて認識されるワーク101の把持部分の表面形状により定まる。これは、三次元計測装置301が、計測領域の表面形状を計測することはできるが、内部形状は計測できないからである。例えば、三次元計測装置301がステレオカメラである場合について検討すれば、上記内容は容易に理解できる。ここで、ワーク101が底を有する円筒形状であり、アプローチ方向が円筒軸方向である場合について説明する。ワーク101の把持部分が円筒底側である場合、表面形状から把持部分の立体形状は円柱形状として把持領域を定める。ワーク101の把持部分が円筒開口側である場合、表面形状から把持部分の立体形状は円筒形状として把持部分領域を定める。
【0022】
把持機構領域は、ワーク101を把持機構210にて把持する際に把持機構210が干渉しないために必要な領域から定まる。ここで干渉する可能性がある物は、把持するワーク101を除く他のワーク101、集積トレー110等である。また、把持機構領域には、ワーク101を把持する前後の把持機構の形状により定まる可動領域も含まれる。これは、ワーク101を把持機構210で把持する前後で、把持機構210の形状が変形するため、可動領域に干渉する物がない事確認しないと把持動作ができないからである。さらに、把持機構領域には、ワーク101を把持機構210で把持した際にできるワーク101と把持機構210との隙間も含まれる。これは、ワーク101が円柱形状で把持機構210がコの字形状である場合、ワーク101と把持機構210との間に隙間ができるが、この隙間に何らかの物があるとワーク101を把持できない可能性があるからである。
【0023】
把持可能領域抽出部330では、前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、把持部分領域と大きさが等しい領域全体に物体が存在するが把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する。
【0024】
次に、図3を用いて、本発明に係るロボットシステムの実施形態におけるピッキング動作について説明する。
ステップS100にて、集積トレー110にワーク101を供給する。
【0025】
なお、ワーク101の供給方法は所定の位置にワーク101が供給可能であれば、適宜自由に選択する事ができる。例えば、集積トレー110内のワーク101が少なくなったことを検知してパーツフィーダ等でワーク101を自動供給するようにして良い。また、集積トレー110内にワーク101が無くなった場合には、ワーク101が山積みされた集積トレー110と空の集積トレー110とをトレーチェンジャーによって交換することでワーク101をロボットシステムに供給しても良い。
【0026】
ステップS200では、三次元計測装置301にて、集積トレー110上の三次元の計測データを取得し、取得した計測データからアプローチ方向が座標系の座標軸の方向と等しい三次元情報を生成する。
【0027】
ステップS300では、三次元情報のうち選択された把持領域と大きさの等しい領域が、抽出条件を具備する場合に把持可能領域として抽出する。ここで、抽出条件は、「三次元情報のうち選択された把持領域と大きさの等しい領域において、把持部分領域と大きさが等しい領域全体に物体が存在するが把持機構領域と大きさが等しい領域には物体が存在しないこと」である。把持可能領域の抽出については、後述する把持可能領域抽出装置の説明にて、詳細に説明する。
【0028】
ステップ400では、三次元情報から把持可能領域が抽出できたかを確認する。
把持可能領域が存在した場合には、ステップ500に進み、把持可能領域の情報をロボット制御装置220に伝達する。ロボット制御装置220は複数の把持可能領域がある場合には、複数の把持可能領域から1つの把持可能領域を選択する。さらにロボット制御装置220はロボット201および把持機構210を制御し、選択された把持可能領域にあるワーク101を把持し、搬出コンベア401に移動させる。ワーク101の搬出コンベア401への移動が完了すると、再びステップS200から処理を開始する。なお、把持可能領域を1つ選択する際には、予め定められた条件を具備する把持可能領域を選択することとなる。例えば、「アプローチ方向の座標値が最も大きい把持可能領域を選択する」ことを選択の条件とすることができる。
【0029】
ステップ400にて把持可能領域が存在しない場合には、ステップS600に進み、集積トレー110にワーク101があるかを確認する。
集積トレー110にワーク101がない場合には、再びステップS100に戻り、集積トレー110にワーク101を供給して処理を開始する。
【0030】
集積トレー110にワーク101が存在する場合には、ステップS700に進み、集積トレー上のワークの状態を変更する。次に、ステップS200に戻り、再び三次元情報を生成して処理を開始する。
【0031】
ここで、ワークの状態を変更する方法として、集積トレー110の下部に振動装置を設けておき、振動により山積みにされたワーク101を崩す方法を採用することができる。また、ロボット201にて山積みにされたワーク101を崩す方法を採用することもできる。
【0032】
なお、図1では集積トレー110を用いているが、ワーク101が三次元計測装置301の計測可能範囲に供給されれば、他の供給方法を用いる事ができる。例えば、コンベアによる供給や、専用箱による供給でも良い。
【0033】
また、ロボット制御装置220は、一般に販売されているロボットコントローラでも、汎用コンピュータにモータ制御ボードを搭載した形態でも良い。
さらに、図1では搬出コンベア401を用いているが、ワーク101が所定の状態で置く事ができれば良く、コンベアに限定されない。例えば、ワーク1個ごとに区切られた専用箱を用い、その区切られた空間にワーク101を入れるようにしても良い。また、別の部品が供給され、その部品にワーク101を組み付けて次の工程に移動させるようにしても良い。
【0034】
次に、図を参照しつつ対象物把持領域抽出装置の第1の実施形態について詳細に説明する。
まず、図4は本発明に係る対象物把持領域抽出装置の第1の実施形態のブロック図である。
【0035】
図4において、301は三次元計測装置、320aは三次元情報生成部、330aは把持可能領域抽出部、340は記憶部である。
三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等である。
【0036】
記憶部340には、三次元計測装置301で計測した三次元の計測データにおける各座標軸の方向と、アプローチ方向とが記憶されている。ここで、アプローチ方向とは、ロボット201の集積トレー110上のワーク101を把持する動作において、把持機構210を把持する対象ワーク101まで移動させる際の把持機構210の移動方向である。
【0037】
三次元情報生成部320aは、三次元計測装置301にて取得した計測データから、アプローチ方向を座標軸の1つの方向とする三次元情報を生成する。なお、生成された三次元情報は、記憶部340に記憶される。
【0038】
三次元計測装置301で計測した三次元の計測データの座標系を計測座標系とし、アプローチ方向をZ軸方向とした座標系をアプローチ座標系とする。三次元情報生成部320aは、周知の幾何変換式を用い、計測座標系の計測データをアプローチ座標系の座標値に変換する。計測座標系からアプローチ座標系への変換は、周知の各種幾何変換(アフィン変換、クォータニオン変換等)によって可能であり、任意にその幾何変換の方法は選択できる。
【0039】
ここで第1の実施形態における生成された三次元情報について、より具体的に説明する。第1の実施形態における三次元情報では、アプローチ座標系の座標値から、XY平面の各点ごとのZ軸の最大値からなる情報を三次元情報として生成する。図5は、第1の実施形態における三次元情報を表した図である。図5の三次元情報では、分解能がXY平面全体で32×32、図1に示す棒のような直方体のワーク101は、XY平面で2×10、Z軸座標値で5の大きさとなる。なお、三次元計測装置301の計測によっても、計測方向における物体の背後に物体が存在するか否かは判断できないため、計測方向における物体の背後については物体が存在するものとして三次元情報を生成する。なお、図5において横軸がX軸の座標値、縦軸がY軸の座標値、四角に囲まれた値がZ軸の座標値である。各点の座標値を(X,Y,Z)にて表すと、(4,6,5)、(5,14,10)、(18,16,8)等となる。つまり、(9,3,5),(9,4,5),(9,5,5),(9,6,5),(9,7,5),(10,3,5),(10,4,5),(10,5,5),(10,6,5),(10,7,5)の領域や、(6,17,5),(7,17,5),(8,17,5),(9,17,5),(10,17,5),(6,18,5),(7,18,5),(8,18,5),(9,18,5),(10,18,5)の領域は、ワーク101が存在する領域となる。
【0040】
記憶部340は、把持領域記憶部341をさらに備える。把持領域記憶部341には、予め把持領域が記憶されている。ここで、把持領域とは、ワーク101を把持する際に必要となる領域であって、把持機構210により定まる把持機構領域と、把持機構210に把持される前記ワーク101の把持部分により定まる把持部分領域と、から構成されている。把持領域は、把持可能領域抽出部330aにて把持可能な把持可能領域を抽出するのに用いられる。
【0041】
把持領域について具体例を用いて説明する。例えば、図5の三次元情報において、ワーク101はXY平面上で2×10のサイズとなり、Z軸の座標値が5と計測される。ここでワーク101の両端の何れか一方を挟むように把持するとき、ワーク101の把持部分領域は、図5に示す三次元情報ではX軸方向に2、Y軸方向に2となり、把持機構210の形状や可動領域等により必要となる把持機構領域は、ワーク101の端部の周辺にX軸方向に2、Y軸方向に2のスペースにZ軸座標値でワーク101のZ軸方向の大きさである5以上のスペースが必要となる。
【0042】
この場合の三次元情報におけるワーク101の上側を把持する把持領域記憶部341に記憶された把持領域は図6のように表される。図6において、把持領域は、X座標がi−2〜i+3、Y座標がj−2〜j+1の領域である。把持部分領域は、X座標がi〜i+1、Y座標がj〜j+1の領域である。把持機構領域は、把持領域から把持部分領域を除いた領域となる。
【0043】
なお、把持領域は、ワーク101および把持機構210の形状、大きさ、可動範囲、把ワークを把持したときのワーク101と把持機構210との位置関係が予め定まっており、把持機構で把持されるワーク101の把持部分も予め定まっている。そのため、把持領域は、三次元情報生成部320で生成される三次元情報に対応して予め定め、ユーザーが記憶部に記憶させておくことが可能である。
【0044】
図6のように把持領域を設定した場合、把持領域の24ブロックのZ軸方向の値を用いて、ワーク端部の周辺部(2画素相当)がワークサイズ(高さ)以上の高低差(周辺が低い)がある部分を把持可能領域として抽出できる。
【0045】
把持可能領域抽出部330aは、記憶部340に記憶された三次元情報から把持領域記憶部341に記憶された把持領域と大きさが等しい領域を選択する。選択された領域について、相対関係演算部331にて把持部分領域と把持機構領域のアプローチ方向における座標値の差分値を求め、その差分値から把持部分領域と把持機構領域の相対関係を求める。そして、その相対関係が所定の要件を具備する場合には、選択された領域を把持可能領域として抽出する。
【0046】
ここで、把持可能領域抽出部330aは、把持部分領域と把持機構領域の相対関係が所定の要件を具備するか否かを判断するため、ワーク101の位置・姿勢を別途認識することなく、ワーク101を把持するための把持機構210の移動領域を特定することができるため、処理時間が短くなる。
【0047】
把持可能領域抽出部330aの処理内容について、具体例を用いて説明する。相対関係演算部331の演算内容は、次のようになる。
まず、図6に例示した把持領域において、把持部分領域と把持機構領域の相対関係は、把持部分領域におけるX座標,Y座標で定まる基準位置と、把持機構領域におけるX座標,Y座標で定まる所定の比較位置との、Z軸座標値の差分値として求める。次に、求めた差分値がワークのZ軸方向の大きさである5以上であるか否かを確認する。
【0048】
例えば、三次元情報から選択された把持領域に等しい領域において、把持部分領域の基準位置(i,j)は、隣接する8箇所の比較位置(i-2,j-2),(i-2,j-1),(i-2,j),(i-1,j-2),(i-1,j-1),(i-1,j),(i,j-2),(i,j-1)との差分値を求める。また、基準位置(i,j+1)は、隣接する2箇所の比較位置(i-1,j+1),(i-1,j+1)との差分値を求める。
【0049】
ここで、p(n)は求める相対関係、z(x,y)は座標(x,y)のときのZ軸の座標値、if(不等式,True else False)は不等式を具備すればTrueとなりそれ以外はFalseとなるものと定義すると、相対関係演算部331の演算内容の具体例は、次の20の式からなる式(1)を演算することとなる。
【0050】
p(1)=if(z(i,j) - z(i-2,j-2) >= 5 , 0 else 1)
p(2)=if(z(i,j) - z(i-2,j-1) >= 5 , 0 else 1)
p(3)=if(z(i,j) - z(i-2,j) >= 5 , 0 else 1)
p(4)=if(z(i,j+1) - z(i-1,j+1) >= 5 , 0 else 1)
p(5)=if(z(i,j) - z(i-1,j-2) >= 5 , 0 else 1)
p(6)=if(z(i,j) - z(i-1,j-1) >= 5 , 0 else 1)
p(7)=if(z(i,j) - z(i-1,j) >= 5 , 0 else 1)
p(8)=if(z(i,j+1) - z(i-1,j+1) >= 5 , 0 else 1)
p(9)=if(z(i,j) - z(i,j-2) >= 5 , 0 else 1)
p(10)=if(z(i,j) - z(i,j-1) >= 5 , 0 else 1)
p(11)=if(z(i+1,j) - z(i+1,j-2) >= 5 , 0 else 1)
p(12)=if(z(i+1,j) - z(i+1,j-1) >= 5 , 0 else 1)
p(13)=if(z(i+1,j) - z(i+2,j-2) >= 5 , 0 else 1)
p(14)=if(z(i+1,j) - z(i+2,j-1) >= 5 , 0 else 1)
p(15)=if(z(i+1,j) - z(i+2,j) >= 5 , 0 else 1)
p(16)=if(z(i+1,j+1) - z(i+2,j+1) >= 5 , 0 else 1)
p(17)=if(z(i+1,j) - z(i+3,j-2) >= 5 , 0 else 1)
p(18)=if(z(i+1,j) - z(i+3,j-1) >= 5 , 0 else 1)
p(19)=if(z(i+1,j) - z(i+3,j) >= 5 , 0 else 1)
p(20)=if(z(i+1,j+1) - z(i+3,j+1) >= 5 , 0 else 1) ・・・(1)
なお、式(1)は具体例の一つであり、これに限定されるものではない。予めワーク101を把持機構210で把持する際に定まる条件を、ユーザが任意に設定することができる。
【0051】
さらに、把持可能領域抽出部330aは、相対関係演算部331で演算した相対関係p(n)から、選択された領域が把持可能領域の条件を具備するか判断し、具備する場合には把持可能領域として抽出する。
【0052】
具体例として、前記の式(1)にて相対関係が求められている場合には、評価関数P(x,y)を次の式(2)とし、式(2)を演算してその結果が0である場合に把持可能領域であると判断し、それ以外(1〜20)の値である場合には、把持可能領域ではないと判断する。ここで、P(x,y)のx,yは、三次元情報における座標値であって、前記の選択された領域の把持部分領域の予め定めた位置である。
【0053】
【数1】
ここで、図5に示した三次元情報から、図6に示した把持領域を用いて、把持可能領域を抽出した例を図7に示す。なお、図7において、グレーで塗りつぶした部分が把持可能領域として抽出した領域であり、各座標の数字は評価関数P(x,y)の値である。このようにして、本例においては4つの把持可能領域を抽出している。なお、抽出した把持可能領域は記憶部340に記憶される。
【0054】
次に、対象物把持領域抽出装置の第1の実施形態における動作について説明する。なお、対象物把持領域抽出装置における動作は図3に示したロボットシステムのフローチャートのステップS200の「ワーク供給部の三次元情報生成」とステップS300の「把持可能領域の抽出」に該当する。
【0055】
まず、図8は、ステップS200の「ワーク供給部の三次元情報生成」の詳細フローチャートである。
ステップS211にて、三次元計測装置301にて集積トレー110上の三次元の計測データを取得する。次に、ステップS212にて、周知の幾何変換式を用いて計測座標系の計測データをアプローチ座標系の座標値に変換し、三次元情報を生成する。図5の三次元情報は、第1の実施形態における三次元情報の一例である。
【0056】
図9は、ステップS300の「把持可能領域の抽出」の詳細フローチャートである。
ステップS321にて、三次元情報から三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。例えば、図6に示した把持領域を用いる場合には、図5に示す三次元情報において、X座標が7〜12、Y座標が1〜4の領域を選択する。
【0057】
ステップS322において、ステップS321にて選択された領域について、把持部分領域と把持機構領域のアプローチ方向における座標値の差分値を求め、その差分値から把持部分領域と把持機構領域の相対関係を求める。例えば、図6に示した把持領域を用いる場合には、図5に示す三次元情報において、前記式(1)を計算することとなる。選択された領域のX座標が7〜12、Y座標が1〜4の領域である場合、式(1)のi=9,j=3となり、式(3)のように計算される。
【0058】
p(1)=if(5 - 0 >= 5 , 0 else 1) = 0
p(2)=if(5 - 0 >= 5 , 0 else 1) = 0
p(3)=if(5 - 0 >= 5 , 0 else 1) = 0
p(4)=if(5 - 0 >= 5 , 0 else 1) = 0
p(5)=if(5 - 0 >= 5 , 0 else 1) = 0
p(6)=if(5 - 0 >= 5 , 0 else 1) = 0
p(7)=if(5 - 0 >= 5 , 0 else 1) = 0
p(8)=if(5 - 0 >= 5 , 0 else 1) = 0
p(9)=if(5 - 0 >= 5 , 0 else 1) = 0
p(10)=if(5 - 0 >= 5 , 0 else 1) = 0
p(11)=if(5 - 0 >= 5 , 0 else 1) = 0
p(12)=if(5 - 0 >= 5 , 0 else 1) = 0
p(13)=if(5 - 0 >= 5 , 0 else 1) = 0
p(14)=if(5 - 0 >= 5 , 0 else 1) = 0
p(15)=if(5 - 0 >= 5 , 0 else 1) = 0
p(16)=if(5 - 0 >= 5 , 0 else 1) = 0
p(17)=if(5 - 0 >= 5 , 0 else 1) = 0
p(18)=if(5 - 0 >= 5 , 0 else 1) = 0
p(19)=if(5 - 0 >= 5 , 0 else 1) = 0
p(20)=if(5 - 0 >= 5 , 0 else 1) = 0 ・・・(3)
ステップS323にて、選択された領域が把持可能領域の条件を具備するか判断する。そして、条件を具備する場合にはステップS324にて把持可能領域として抽出する。条件を具備しない場合には、ステップS325に進む。
【0059】
例えば、式(2)の評価関数P(x,y)を求め、P(x,y)が0であるか否かを確認し、0である場合には把持可能領域として抽出する。式(3)の計算結果を得た場合には、式(2)の評価関数はP(9,3)=0となり、X座標が7〜12、Y座標が1〜4の領域は把持可能領域として抽出される事となる。
【0060】
ステップS325では、三次元情報の全領域が選択されたか否かを確認する。全領域が選択されていない場合には、ステップS321に戻り新たな領域を選択し、以降の処理を繰り返す。全領域が選択された場合には、ステップS326に進み把持可能領域の抽出を終了する。
【0061】
なお、対象物把持領域抽出装置の第1の実施形態において、把持領域は図6に示した上側を把持する場合に限定されることはなく、図10に示す右側を把持する場合の領域としても良い。この場合には、相対関係演算部331の演算内容の具体例は、次の式(4)を演算することとなる。
【0062】
p(1)=if(z(i-1,j) - z(i-1,j-2) >= 5 , 0 else 1)
p(2)=if(z(i-1,j) - z(i-1,j-1) >= 5 , 0 else 1)
p(3)=if(z(i,j) - z(i,j-2) >= 5 , 0 else 1)
p(4)=if(z(i,j) - z(i,j-1) >= 5 , 0 else 1)
p(5)=if(z(i,j) - z(i+1,j-2) >= 5 , 0 else 1)
p(6)=if(z(i,j) - z(i+1,j-1) >= 5 , 0 else 1)
p(7)=if(z(i,j) - z(i+1,j) >= 5 , 0 else 1)
p(8)=if(z(i,j) - z(i+2,j-2) >= 5 , 0 else 1)
p(9)=if(z(i,j) - z(i+2,j-1) >= 5 , 0 else 1)
p(10)=if(z(i,j) - z(i+2,j) >= 5 , 0 else 1)
p(11)=if(z(i-1,j+1) - z(i-1,j+2) >= 5 , 0 else 1)
p(12)=if(z(i-1,j+1) - z(i-1,j+3) >= 5 , 0 else 1)
p(13)=if(z(i,j+1) - z(i,j+2) >= 5 , 0 else 1)
p(14)=if(z(i,j+1) - z(i,j+3) >= 5 , 0 else 1)
p(15)=if(z(i,j+1) - z(i+1,j+1) >= 5 , 0 else 1)
p(16)=if(z(i,j+1) - z(i+1,j+2) >= 5 , 0 else 1)
p(17)=if(z(i,j+1) - z(i+1,j+3) >= 5 , 0 else 1)
p(18)=if(z(i,j+1) - z(i+2,j+1) >= 5 , 0 else 1)
p(19)=if(z(i,j+1) - z(i+2,j+2) >= 5 , 0 else 1)
p(20)=if(z(i,j+1) - z(i+2,j+3) >= 5 , 0 else 1) ・・・(4)
ここで、図5に示した三次元情報から、図10に示した把持領域を用いて、把持可能領域を抽出した例を図11に示す。なお、図11において、グレーで塗りつぶした部分が把持可能領域として抽出した領域であり、各座標の数字は評価関数P(x,y)の値である。このようにして、本例においては2つの把持可能領域を抽出している。
【0063】
上記のように必要に応じて、下部を掴む場合や左側を掴む場合も、把持領域を把持領域記憶部341に記憶し、把持領域に合わせた相対関係の演算式を相対関係演算部331に設定することで、任意の把持領域を用いて把持可能領域を抽出することが可能である。勿論、複数の把持領域を把持領域記憶部341に記憶し、各把持領域に対応した複数の相対関係の演算式を相対関係演算部331に設定しておくこともできる。さらに、把持領域記憶部341に記憶する把持領域は1つとして、三次元情報を幾何変換により任意の角度に回転変換し、回転変換後の三次元情報を用いることで、任意の角度での把持可能領域の抽出も可能である。
【0064】
次に、図を参照しつつ対象物把持領域抽出装置の第2の実施形態について詳細に説明する。なお、対象物把持領域抽出装置の第1の実施形態と共通する部分については、説明を省略する。さらに、説明を簡単にするため、集積トレー110上のワーク101の状態が、第1の実施形態と第2の実施形態で同じであるものとして説明する。
【0065】
まず、図12は本発明に係る対象物把持領域抽出装置の第2の実施形態のブロック図である。
図12において、301は三次元計測装置、320bは三次元情報生成部、330bは把持可能領域抽出部、340は記憶部である。
【0066】
三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等である。
記憶部340には、三次元計測装置301で計測した三次元の計測データにおける各座標軸の方向と、アプローチ方向とが記憶されている。
【0067】
三次元情報生成部320bは、三次元計測装置301にて取得した計測データから、アプローチ方向を座標軸の1つ方向とする三次元情報を生成する。なお、生成された三次元情報は、記憶部340に記憶される。
【0068】
ここで第2の実施形態における生成された三次元情報について、より具体的に説明する。第2の実施形態における三次元情報では、アプローチ座標系のX,Y,Zで定まる座標値ごとに物体が存在するか否かの情報を三次元情報として生成する。三次元情報の具体例としては、分解能がXYZ空間全体で32×32×32である場合、図1に示す棒のような直方体のワーク101が2×10×5の領域となるものとし、1ブロックごとに物体の存否フラグを有する。物体の存否フラグは、物体が存在する場合に1、物体が存在しない場合に0となる。係る場合、XをX座標値、YをY座標値、ZをZ座標値、Fを物体の存否フラグとすると、三次元情報は(X,Y,Z,F)のように表現できる。図5に示した第1の実施形態における三次元情報を、第2の実施形態における三次元情報として表現すると、(1,1,1,0),(1,1,2,0),(1,1,3,0)・・・(1,1,32,0)・・・(4,6,1,1),(4,6,2,1)・・・(4,6,5,1),(4,6,6,0)・・・(4,6,32,0)・・・(4,14,1,1),(4,14,2,1)・・・(4,14,11,1),(4,14,12,0)・・・(4,14,32,0)・・・となる。なお、三次元計測装置301の計測によっても、計測方向における物体の背後に物体が存在するか否かは判断できないため、計測方向における物体の背後については物体が存在するものとして三次元情報を生成する。例えば、X座標が4〜13、Y座標が14〜15の領域にあるワーク101の一端が、X座標が4〜5、Y座標が6〜15の領域にあるワーク101に積み重なっているものとする。この場合には、X座標が6〜12、Y座標が14〜15の領域においてワーク101の下部(Z軸方向)の領域には物体が存在しない。しかし、第2の実施形態における三次元情報では、物体が存在するものとし、(7,14,1,1)・・・(7,14,9,1),(7,14,10,0)・・・(7,14,32,0)として三次元情報を生成する。
【0069】
記憶部340は、把持領域記憶部341をさらに備える。把持領域記憶部341には、予め把持領域が記憶されている。
第2の実施形態において把持領域について具体例を用いて説明する。例えば、前記の三次元情報において、ワーク101は2×10×5のスペース、ワーク101の両端の何れか一方を挟むように把持するとき、ワーク101の把持部分は2×2×5のスペース、把持機構210の動作スペースや端を掴むためのワーク101の端部の周辺にワーク把持部分を含めて6×4×5のスペース、が必要であるとする。
【0070】
この場合の三次元情報におけるワーク101の上側を把持する把持領域記憶部341に記憶された把持領域は図13のように表される。図13の把持領域において、実線で描かれているブロックが把持部分領域、点線で描かれているブロックが把持機構領域である。
【0071】
把持可能領域抽出部330bは、記憶部340に記憶された三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。選択された領域について、物体位置特定部332にて物体の位置を特定する。そして、その特定された物体の位置に基づいて、把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない場合には、選択された領域を把持可能領域として抽出する。
【0072】
ここで、把持可能領域抽出部330bは、把持領域の物体の位置が所定の要件を具備するか否かを判断するため、ワーク101の位置・姿勢を別途認識することなく、ワーク101を把持するための把持機構210の移動領域を特定することができるため、処理時間が短くなる。
【0073】
把持可能領域抽出部330bの処理内容について、具体例を用いて説明する。物体位置特定部332の演算内容は、次のようになる。
まず、図13に例示した把持領域において、把持部分領域における物体の存否と、把持機構領域の物体の存否を求める。物体の存否は、把持領域のブロックごとに物体が存在するか否かを三次元情報の存否フラグFによって確認する。次に、把持部分領域のブロック全部に物体が存在すること、および、把持機構領域のブロックに物体が存在しないこと、を確認する。つまり、把持部分領域においては三次元情報における物体の存否フラグFが1であること、把持機構領域においては三次元情報における物体の存否フラグFが0であること、をブロックごとに確認する。
さらに、把持可能領域抽出部330bは、物体位置特定部332での特定結果から、選択された領域であって前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない場合に、把持可能領域として抽出する。なお、抽出した把持可能領域は記憶部340に記憶される。
【0074】
次に、対象物把持領域抽出装置の第2の実施形態における動作について説明する。なお、対象物把持領域抽出装置における動作は図3に示したロボットシステムのフローチャートのステップS200の「ワーク供給部の三次元情報生成」とステップS300の「把持可能領域の抽出」に該当する。
【0075】
ステップS200の「ワーク供給部の三次元情報生成」において、詳細フローチャートは、対象物把持領域抽出装置の第1の実施形態の説明に用いた図10と同じである。
ステップS211にて、三次元計測器301にて集積トレー110上の三次元の計測データを取得する。次に、ステップS212にて、周知の幾何変換式を用い、計測座標系の計測データをアプローチ座標系の座標値に変換し、三次元情報を生成する。
【0076】
図14は、ステップS300の「把持可能領域の抽出」の詳細フローチャートである。
ステップS311にて、三次元情報から三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。例えば、図13に示した把持領域を用いる場合には、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域を選択する。
【0077】
ステップS312において、ステップS311にて選択された領域について、把持部分領域と把持機構領域のブロックごとに物体の存否を確認し、把持部分領域と把持機構領域における物体の分布状態を求める。例えば、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域が選択されている場合には、把持部分領域の全体に物体が存在し、把持機構領域には物体が存在しないこととなる。
【0078】
ステップS313にて、選択された領域が把持可能領域の抽出条件を具備するか判断する。そして、条件を具備する場合にはステップS314にて把持可能領域として抽出する。条件を具備しない場合には、ステップS315に進む。
【0079】
例えば、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域が選択されている場合には、把持部分領域の全体に物体が存在し、把持機構領域には物体が存在しないため、当該領域は把持可能領域として抽出される事となる。
【0080】
ステップS315では、三次元情報の全領域が選択されたか否かを確認する。全領域が選択されていない場合には、ステップS311に戻り新たな領域を選択し、以降の処理を繰り返す。全領域が選択された場合には、ステップS316に進み把持可能領域の抽出を終了する。
【0081】
なお、対象物把持領域抽出装置の第2の実施形態において、三次元情報から把持領域を用いた把持可能領域の抽出には、周知のパターンマッチング技術を用いることもできる。また、把持領域の形状は図13に示した例に限定されることはなく、把持部分領域および把持機構領域は任意に各領域の形状を設定する事が可能である。勿論、複数の把持領域を把持領域記憶部341に記憶し、把持領域ごとに物体位置特定部332にて処理することもできる。さらに、把持領域記憶部341に記憶する把持領域は1つとして、三次元情報を幾何変換により任意の角度に回転変換し、回転変換後の三次元情報を用いることで、任意の角度での把持可能領域の抽出も可能である。
【0082】
対象物把持領域抽出装置の第1および第2の実施形態において、図15に示すように、三次元計測装置301による三次元の計測データは、複数の方向から計測した複数の計測データとすることができる。例えばステレオビジョンを用いて1方向から計測した場合、ステレオビジョンに撮像された物についての三次元の計測データは取得できるが、他の物の影となって撮像されていない物については三次元の計測データは取得できない。よって、計測データを取得できない空間については、把持機構との干渉によるワーク101等の破損を避けるため、その空間には物体があるものとして取り扱うのが通常である。しかし、本来は把持可能領域であるが、上記のように計測できない領域には物体があるものとして取り扱うことで、把持可能領域ではないと判断され、正確に把持可能領域を抽出することができない場合もある。つまり、集積トレー110上の空間の三次元の計測データは、可能な限り正確に取得することで、より正確に把持可能領域を抽出できる。
【0083】
複数の方向から計測した計測データは、共通する部分を基準として同一空間にマッピングし、マッピングされた計測データを用いてアプローチ座標系の三次元情報を生成する。このように複数の計測データを用いることで、物体があるものとして取り扱う領域が減り、複数のアプローチ座標系の三次元情報を正確に生成することができる。
【0084】
なお、複数の計測データを取得するに際し、複数の三次元計測装置301を用いても良いし、1つの三次元計測装置301を移動させてもよい。勿論、複数の三次元計測装置301を用い、さらにその複数の三次元計測装置301を移動させても良い。
【0085】
さらに、アプローチ方向は1方向に限らず、任意の方向を複数設定する事も可能である。係る場合には、アプローチ方向ごとに把持可能領域を抽出することが可能となる。
また、上記いずれの実施形態においても、把持部分が凸部であることを前提に記載されているが、把持部分が凹部であっても良い。把持部分がワークの凹部である場合には、把持機構領域が把持部分領域に囲まれるように設定された把持領域とすることもできる。
【0086】
さらに、集積トレーに置かれるワークは1種類でなくても良い。複数種類のワークについてワークごとに把持領域を記憶しておけば、集積トレーにおかれた複数種類のワークから、1種類のワークの把持可能領域を抽出することもできる。
【0087】
上記の対象物把持領域抽出装置では、三次元情報からワーク101ごとの位置・姿勢を把握することなく、ワーク101が含まれる把持可能領域を抽出するため、把持可能領域を決定する処理時間を短くすることできる。また比較的単純な処理で把持部の検出が可能となるため、演算コストの軽減も可能である。さらに、ワークが部分的にしか見えていなくてもワークの把持部分が見えていれば、把持可能領域として抽出可能である。また、対象となるワークが複雑な形状をしており、位置姿勢の計測や認識が困難な場合でも、ワークの把持部分が比較的単純形状であれば、把持可能領域を抽出することが可能となり、自動化の適用範囲の拡大、効率向上に効果がある。さらに、ロボットシステムでは、上記の対象物把持領域抽出装置を用いているため、短時間でピッキング動作に移ることができ、ピッキング対象のワークを決定するまでのロボット停止時間が短くなり、ロボットの作業効率を上げることができる。また、アプローチ方向を座標軸の一方向とする三次元情報に基づいて把持可能領域を抽出するため、ロボットにて集積トレー上のワークを把持する移動途中で把持機構と他のワークが干渉することがない。
【符号の説明】
【0088】
101 ワーク
110 集積トレー
201 ロボット
210 把持機構
220 ロボット制御装置
301 三次元計測装置
310 対象物把持領域抽出装置
401 搬出コンベア
【技術分野】
【0001】
本発明は、位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持可能領域を抽出する対象物把持領域抽出装置、およびその対象物把持領域抽出装置を用いたロボットシステムに関する。
【背景技術】
【0002】
生産ラインや検査ラインなどにおいて、山積みになったワークをロボットによりピッキングするシステムにおいて、ワークがどのような姿勢で置かれているかを認識し、ピッキングを行うシステムが知られている。
【0003】
例えば特許文献1には、同一形状で複数の部品が三次元的に異なる任意の位置及び姿勢にて乱雑に山積みされた部品群から個々の部品の位置姿勢を求める位置姿勢認識装置が開示されている。また、位置姿勢認識装置と、位置姿勢認識装置から供給される部品の三次元的な位置姿勢情報に応じて部品群から目的の部品を1つずつ取り出す(ピッキングする)ロボットとを備えるピッキングシステムが開示されている。
【0004】
特許文献1に記載の位置姿勢認識装置によれば、奥行き計測部、直線状明領域抽出部、及び三次元位置姿勢演算部を備えたことで、部品群の撮像画像から、他と交差することなく単独で延在する直線状の明領域を抽出でき、さらに、抽出した単独の直線状明領域に奥行き情報を付加することで部品の三次元位置姿勢情報を得ることができる。さらに、特許文献1に記載のピッキングシステムによれば、同一形状の部品が三次元的に異なる任意の位置及び姿勢で配置された部品群に対してもピッキングが可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−128201号
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来は、特許文献1に記載のように、山積みされた部品群からロボットにて部品を一つずつ取り出す(ピッキングする)には、まず個々のワークの位置および姿勢を認識していた。しかし、個々のワークの位置・姿勢を認識するためには、多くの処理時間を必要とするという問題がある。
【0007】
また、山積みされたワークから1つのワークをピッキングするに際し、把持機構を把持対象ワークに接近させる動作の途中で山積みされたワークが崩れるとピッキングするワークの位置・姿勢が変わってしまう。そのため、位置・姿勢が認識された複数のワークからピッキングするワークを選択する際には、ピッキングする際にロボットの把持機構が他のワークに接触しない事を確認することも必要となるため、さらに処理時間が長くなるという問題もある。
【0008】
本発明は、上記のような問題点を解決するためになされたもので、位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、ロボットの把持機構で把持可能な対象物を含む把持可能領域を抽出する対象物把持領域抽出装置、およびその対象物把持領域抽出装置を用いたロボットシステムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明に係る対象物把持領域抽出装置は、複数の対象物が任意の位置および姿勢で置かれた対象物集積部から、把持機構を備えたロボットを用いて、対象物を取り出すロボットシステムにおける対象物把持領域抽出装置であって、前記対象物集積部の三次元の計測データを取得する計測装置、前記計測データから前記対象物集積部の三次元情報を生成する三次元情報生成部、前記対象物を把持する際に必要となる領域であって、前記把持機構により定まる把持機構領域と、前記把持機構に把持される前記対象物の把持部分により定まる把持部分領域と、からなる把持領域を予め記憶する把持領域記憶部、前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する把持可能領域抽出部、により構成されていることを特徴とする。
【0010】
また、本発明に係るロボットシステムは、対象物を把持する把持機構、前記把持機構を備えるロボット、前記ロボットを制御するロボット制御装置、前記対象物把持領域抽出装置、からなるロボットシステムであって、前記ロボット制御装置は、前記対象物把持領域抽出装置から抽出された1以上の前記把持可能領域に関する情報を受け取る把持可能領域受信部と、予め定められた条件を具備する把持可能領域を1つ選択する把持領域選択部と、該選択した把持可能領域にある対象物を前記ロボットの前記把持機構によって把持し、所定の動作をするようにロボットを制御するロボット動作制御部と、から構成されていることを特徴とする。
【発明の効果】
【0011】
位置姿勢が未知な対象物が置かれた対象物集積部の三次元情報から、個々の対象物の位置・姿勢を特定することなく、ピッキングする際に把持機構が他の対象物に干渉しない把持可能な対象物を含む把持可能領域を抽出することができるため、把持する対象物を短時間で決定する事ができる。
【図面の簡単な説明】
【0012】
【図1】本発明に係るロボットシステムの実施形態の概略構成図である。
【図2】本発明に係る対象物把持領域抽出装置の概略ブロック図である。
【図3】本発明に係るロボットシステムのフローチャートである。
【図4】対象物把持領域抽出装置の第1の実施形態のブロック図である。
【図5】対象物把持領域抽出装置の第1の実施形態における三次元情報である。
【図6】対象物把持領域抽出装置の第1の実施形態における把持領域である。
【図7】対象物把持領域抽出装置の第1の実施形態における把持可能領域の抽出結果である。
【図8】「ワーク供給部の三次元情報生成」の詳細フローチャートである。
【図9】対象物把持領域抽出装置の第1の実施形態における「把持可能領域の抽出」の詳細フローチャートである。
【図10】対象物把持領域抽出装置の第1の実施形態における他の把持領域である。
【図11】対象物把持領域抽出装置の第1の実施形態における他の把持可能領域の抽出結果である。
【図12】対象物把持領域抽出装置の第2の実施形態のブロック図である。
【図13】対象物把持領域抽出装置の第2の実施形態における把持領域である。
【図14】対象物把持領域抽出装置の第2の実施形態における「把持可能領域の抽出」の詳細フローチャートである。
【図15】本発明に係るロボットシステムの実施形態の変形例を示した概略構成図である。
【発明を実施するための形態】
【0013】
本発明に係るロボットシステムの実施形態について、図を参照しつつ説明する。
図1は、本発明に係るロボットシステムの実施形態の概略構成図である。
図1において、101はワーク(対象物)、110はワーク101が集積される集積トレーである。ワーク101は、集積トレー110上の任意の位置に任意の姿勢で集積されている。なお、集積トレー110上にワーク101が山積み状態であっても、積み重ならないように置かれていても良い。
【0014】
201はロボット、210はロボット201のアーム先端に取り付けられたワーク101を把持する把持機構、220はロボット201および把持機構210を制御するロボット制御装置である。ここで、ロボット201は各種ロボット(垂直多関節ロボット、水平多関節ロボット、直交ロボット等)を用いることができる。
【0015】
301は集積トレー110上の三次元計測を行う三次元計測装置、310は三次元計測装置301で取得した計測データから、把持機構210にてワーク101を把持可能な領域を抽出する対象物把持領域抽出装置である。ここで、三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等を用いることができる。また、対象物把持領域抽出装置310は、三次元計測装置301から計測データを取得し、取得したデータを処理し、処理した結果等のデータをロボット制御装置220と伝達可能な通信手段を備えたコンピュータ等である。
【0016】
401はロボット201にピッキングされたワーク101を載置して外部へ搬出する搬出コンベアである。
さらに、ロボット制御装置220と対象物把持領域抽出装置310とは、互いに情報伝達可能な通信手段を備え、その通信手段によって接続されている。
【0017】
図2は、対象物把持領域抽出装置の概略ブロック図である。
図2において、320は三次元計測装置301にて集積トレー110上の三次元の計測データを取得し、取得した計測データから後述する把持可能領域抽出部330の処理に適した三次元情報を生成する三次元情報生成部である。
【0018】
ここで、三次元情報とは、三次元座標系の座標軸の1つの方向が予め定められたアプローチ方向と等しい三次元座標系による座標情報である。さらに、アプローチ方向とは、ロボット201の集積トレー110上のワーク101を把持する動作において、把持機構210を把持する対象ワーク101まで移動させる際の把持機構210の移動方向である。
【0019】
330は、三次元情報からワーク101を把持可能な把持可能領域を抽出する把持可能領域抽出部である。
340は、各種処理に必要な情報を予め記憶、または、一時的に記憶しておく記憶部である。
【0020】
なお、記憶部340には、予め把持領域が記憶されている。ここで、把持領域とは、ワーク101を把持する際に必要となる領域であって、把持機構210により定まる把持機構領域と、把持機構210に把持される前記ワーク101の把持部分により定まる把持部分領域と、から構成されている。把持領域は、把持可能領域抽出部340にて把持可能な把持可能領域を抽出するのに用いられる。
【0021】
把持部分領域は、アプローチ方向から三次元計測装置301にて認識されるワーク101の把持部分の表面形状により定まる。これは、三次元計測装置301が、計測領域の表面形状を計測することはできるが、内部形状は計測できないからである。例えば、三次元計測装置301がステレオカメラである場合について検討すれば、上記内容は容易に理解できる。ここで、ワーク101が底を有する円筒形状であり、アプローチ方向が円筒軸方向である場合について説明する。ワーク101の把持部分が円筒底側である場合、表面形状から把持部分の立体形状は円柱形状として把持領域を定める。ワーク101の把持部分が円筒開口側である場合、表面形状から把持部分の立体形状は円筒形状として把持部分領域を定める。
【0022】
把持機構領域は、ワーク101を把持機構210にて把持する際に把持機構210が干渉しないために必要な領域から定まる。ここで干渉する可能性がある物は、把持するワーク101を除く他のワーク101、集積トレー110等である。また、把持機構領域には、ワーク101を把持する前後の把持機構の形状により定まる可動領域も含まれる。これは、ワーク101を把持機構210で把持する前後で、把持機構210の形状が変形するため、可動領域に干渉する物がない事確認しないと把持動作ができないからである。さらに、把持機構領域には、ワーク101を把持機構210で把持した際にできるワーク101と把持機構210との隙間も含まれる。これは、ワーク101が円柱形状で把持機構210がコの字形状である場合、ワーク101と把持機構210との間に隙間ができるが、この隙間に何らかの物があるとワーク101を把持できない可能性があるからである。
【0023】
把持可能領域抽出部330では、前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、把持部分領域と大きさが等しい領域全体に物体が存在するが把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する。
【0024】
次に、図3を用いて、本発明に係るロボットシステムの実施形態におけるピッキング動作について説明する。
ステップS100にて、集積トレー110にワーク101を供給する。
【0025】
なお、ワーク101の供給方法は所定の位置にワーク101が供給可能であれば、適宜自由に選択する事ができる。例えば、集積トレー110内のワーク101が少なくなったことを検知してパーツフィーダ等でワーク101を自動供給するようにして良い。また、集積トレー110内にワーク101が無くなった場合には、ワーク101が山積みされた集積トレー110と空の集積トレー110とをトレーチェンジャーによって交換することでワーク101をロボットシステムに供給しても良い。
【0026】
ステップS200では、三次元計測装置301にて、集積トレー110上の三次元の計測データを取得し、取得した計測データからアプローチ方向が座標系の座標軸の方向と等しい三次元情報を生成する。
【0027】
ステップS300では、三次元情報のうち選択された把持領域と大きさの等しい領域が、抽出条件を具備する場合に把持可能領域として抽出する。ここで、抽出条件は、「三次元情報のうち選択された把持領域と大きさの等しい領域において、把持部分領域と大きさが等しい領域全体に物体が存在するが把持機構領域と大きさが等しい領域には物体が存在しないこと」である。把持可能領域の抽出については、後述する把持可能領域抽出装置の説明にて、詳細に説明する。
【0028】
ステップ400では、三次元情報から把持可能領域が抽出できたかを確認する。
把持可能領域が存在した場合には、ステップ500に進み、把持可能領域の情報をロボット制御装置220に伝達する。ロボット制御装置220は複数の把持可能領域がある場合には、複数の把持可能領域から1つの把持可能領域を選択する。さらにロボット制御装置220はロボット201および把持機構210を制御し、選択された把持可能領域にあるワーク101を把持し、搬出コンベア401に移動させる。ワーク101の搬出コンベア401への移動が完了すると、再びステップS200から処理を開始する。なお、把持可能領域を1つ選択する際には、予め定められた条件を具備する把持可能領域を選択することとなる。例えば、「アプローチ方向の座標値が最も大きい把持可能領域を選択する」ことを選択の条件とすることができる。
【0029】
ステップ400にて把持可能領域が存在しない場合には、ステップS600に進み、集積トレー110にワーク101があるかを確認する。
集積トレー110にワーク101がない場合には、再びステップS100に戻り、集積トレー110にワーク101を供給して処理を開始する。
【0030】
集積トレー110にワーク101が存在する場合には、ステップS700に進み、集積トレー上のワークの状態を変更する。次に、ステップS200に戻り、再び三次元情報を生成して処理を開始する。
【0031】
ここで、ワークの状態を変更する方法として、集積トレー110の下部に振動装置を設けておき、振動により山積みにされたワーク101を崩す方法を採用することができる。また、ロボット201にて山積みにされたワーク101を崩す方法を採用することもできる。
【0032】
なお、図1では集積トレー110を用いているが、ワーク101が三次元計測装置301の計測可能範囲に供給されれば、他の供給方法を用いる事ができる。例えば、コンベアによる供給や、専用箱による供給でも良い。
【0033】
また、ロボット制御装置220は、一般に販売されているロボットコントローラでも、汎用コンピュータにモータ制御ボードを搭載した形態でも良い。
さらに、図1では搬出コンベア401を用いているが、ワーク101が所定の状態で置く事ができれば良く、コンベアに限定されない。例えば、ワーク1個ごとに区切られた専用箱を用い、その区切られた空間にワーク101を入れるようにしても良い。また、別の部品が供給され、その部品にワーク101を組み付けて次の工程に移動させるようにしても良い。
【0034】
次に、図を参照しつつ対象物把持領域抽出装置の第1の実施形態について詳細に説明する。
まず、図4は本発明に係る対象物把持領域抽出装置の第1の実施形態のブロック図である。
【0035】
図4において、301は三次元計測装置、320aは三次元情報生成部、330aは把持可能領域抽出部、340は記憶部である。
三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等である。
【0036】
記憶部340には、三次元計測装置301で計測した三次元の計測データにおける各座標軸の方向と、アプローチ方向とが記憶されている。ここで、アプローチ方向とは、ロボット201の集積トレー110上のワーク101を把持する動作において、把持機構210を把持する対象ワーク101まで移動させる際の把持機構210の移動方向である。
【0037】
三次元情報生成部320aは、三次元計測装置301にて取得した計測データから、アプローチ方向を座標軸の1つの方向とする三次元情報を生成する。なお、生成された三次元情報は、記憶部340に記憶される。
【0038】
三次元計測装置301で計測した三次元の計測データの座標系を計測座標系とし、アプローチ方向をZ軸方向とした座標系をアプローチ座標系とする。三次元情報生成部320aは、周知の幾何変換式を用い、計測座標系の計測データをアプローチ座標系の座標値に変換する。計測座標系からアプローチ座標系への変換は、周知の各種幾何変換(アフィン変換、クォータニオン変換等)によって可能であり、任意にその幾何変換の方法は選択できる。
【0039】
ここで第1の実施形態における生成された三次元情報について、より具体的に説明する。第1の実施形態における三次元情報では、アプローチ座標系の座標値から、XY平面の各点ごとのZ軸の最大値からなる情報を三次元情報として生成する。図5は、第1の実施形態における三次元情報を表した図である。図5の三次元情報では、分解能がXY平面全体で32×32、図1に示す棒のような直方体のワーク101は、XY平面で2×10、Z軸座標値で5の大きさとなる。なお、三次元計測装置301の計測によっても、計測方向における物体の背後に物体が存在するか否かは判断できないため、計測方向における物体の背後については物体が存在するものとして三次元情報を生成する。なお、図5において横軸がX軸の座標値、縦軸がY軸の座標値、四角に囲まれた値がZ軸の座標値である。各点の座標値を(X,Y,Z)にて表すと、(4,6,5)、(5,14,10)、(18,16,8)等となる。つまり、(9,3,5),(9,4,5),(9,5,5),(9,6,5),(9,7,5),(10,3,5),(10,4,5),(10,5,5),(10,6,5),(10,7,5)の領域や、(6,17,5),(7,17,5),(8,17,5),(9,17,5),(10,17,5),(6,18,5),(7,18,5),(8,18,5),(9,18,5),(10,18,5)の領域は、ワーク101が存在する領域となる。
【0040】
記憶部340は、把持領域記憶部341をさらに備える。把持領域記憶部341には、予め把持領域が記憶されている。ここで、把持領域とは、ワーク101を把持する際に必要となる領域であって、把持機構210により定まる把持機構領域と、把持機構210に把持される前記ワーク101の把持部分により定まる把持部分領域と、から構成されている。把持領域は、把持可能領域抽出部330aにて把持可能な把持可能領域を抽出するのに用いられる。
【0041】
把持領域について具体例を用いて説明する。例えば、図5の三次元情報において、ワーク101はXY平面上で2×10のサイズとなり、Z軸の座標値が5と計測される。ここでワーク101の両端の何れか一方を挟むように把持するとき、ワーク101の把持部分領域は、図5に示す三次元情報ではX軸方向に2、Y軸方向に2となり、把持機構210の形状や可動領域等により必要となる把持機構領域は、ワーク101の端部の周辺にX軸方向に2、Y軸方向に2のスペースにZ軸座標値でワーク101のZ軸方向の大きさである5以上のスペースが必要となる。
【0042】
この場合の三次元情報におけるワーク101の上側を把持する把持領域記憶部341に記憶された把持領域は図6のように表される。図6において、把持領域は、X座標がi−2〜i+3、Y座標がj−2〜j+1の領域である。把持部分領域は、X座標がi〜i+1、Y座標がj〜j+1の領域である。把持機構領域は、把持領域から把持部分領域を除いた領域となる。
【0043】
なお、把持領域は、ワーク101および把持機構210の形状、大きさ、可動範囲、把ワークを把持したときのワーク101と把持機構210との位置関係が予め定まっており、把持機構で把持されるワーク101の把持部分も予め定まっている。そのため、把持領域は、三次元情報生成部320で生成される三次元情報に対応して予め定め、ユーザーが記憶部に記憶させておくことが可能である。
【0044】
図6のように把持領域を設定した場合、把持領域の24ブロックのZ軸方向の値を用いて、ワーク端部の周辺部(2画素相当)がワークサイズ(高さ)以上の高低差(周辺が低い)がある部分を把持可能領域として抽出できる。
【0045】
把持可能領域抽出部330aは、記憶部340に記憶された三次元情報から把持領域記憶部341に記憶された把持領域と大きさが等しい領域を選択する。選択された領域について、相対関係演算部331にて把持部分領域と把持機構領域のアプローチ方向における座標値の差分値を求め、その差分値から把持部分領域と把持機構領域の相対関係を求める。そして、その相対関係が所定の要件を具備する場合には、選択された領域を把持可能領域として抽出する。
【0046】
ここで、把持可能領域抽出部330aは、把持部分領域と把持機構領域の相対関係が所定の要件を具備するか否かを判断するため、ワーク101の位置・姿勢を別途認識することなく、ワーク101を把持するための把持機構210の移動領域を特定することができるため、処理時間が短くなる。
【0047】
把持可能領域抽出部330aの処理内容について、具体例を用いて説明する。相対関係演算部331の演算内容は、次のようになる。
まず、図6に例示した把持領域において、把持部分領域と把持機構領域の相対関係は、把持部分領域におけるX座標,Y座標で定まる基準位置と、把持機構領域におけるX座標,Y座標で定まる所定の比較位置との、Z軸座標値の差分値として求める。次に、求めた差分値がワークのZ軸方向の大きさである5以上であるか否かを確認する。
【0048】
例えば、三次元情報から選択された把持領域に等しい領域において、把持部分領域の基準位置(i,j)は、隣接する8箇所の比較位置(i-2,j-2),(i-2,j-1),(i-2,j),(i-1,j-2),(i-1,j-1),(i-1,j),(i,j-2),(i,j-1)との差分値を求める。また、基準位置(i,j+1)は、隣接する2箇所の比較位置(i-1,j+1),(i-1,j+1)との差分値を求める。
【0049】
ここで、p(n)は求める相対関係、z(x,y)は座標(x,y)のときのZ軸の座標値、if(不等式,True else False)は不等式を具備すればTrueとなりそれ以外はFalseとなるものと定義すると、相対関係演算部331の演算内容の具体例は、次の20の式からなる式(1)を演算することとなる。
【0050】
p(1)=if(z(i,j) - z(i-2,j-2) >= 5 , 0 else 1)
p(2)=if(z(i,j) - z(i-2,j-1) >= 5 , 0 else 1)
p(3)=if(z(i,j) - z(i-2,j) >= 5 , 0 else 1)
p(4)=if(z(i,j+1) - z(i-1,j+1) >= 5 , 0 else 1)
p(5)=if(z(i,j) - z(i-1,j-2) >= 5 , 0 else 1)
p(6)=if(z(i,j) - z(i-1,j-1) >= 5 , 0 else 1)
p(7)=if(z(i,j) - z(i-1,j) >= 5 , 0 else 1)
p(8)=if(z(i,j+1) - z(i-1,j+1) >= 5 , 0 else 1)
p(9)=if(z(i,j) - z(i,j-2) >= 5 , 0 else 1)
p(10)=if(z(i,j) - z(i,j-1) >= 5 , 0 else 1)
p(11)=if(z(i+1,j) - z(i+1,j-2) >= 5 , 0 else 1)
p(12)=if(z(i+1,j) - z(i+1,j-1) >= 5 , 0 else 1)
p(13)=if(z(i+1,j) - z(i+2,j-2) >= 5 , 0 else 1)
p(14)=if(z(i+1,j) - z(i+2,j-1) >= 5 , 0 else 1)
p(15)=if(z(i+1,j) - z(i+2,j) >= 5 , 0 else 1)
p(16)=if(z(i+1,j+1) - z(i+2,j+1) >= 5 , 0 else 1)
p(17)=if(z(i+1,j) - z(i+3,j-2) >= 5 , 0 else 1)
p(18)=if(z(i+1,j) - z(i+3,j-1) >= 5 , 0 else 1)
p(19)=if(z(i+1,j) - z(i+3,j) >= 5 , 0 else 1)
p(20)=if(z(i+1,j+1) - z(i+3,j+1) >= 5 , 0 else 1) ・・・(1)
なお、式(1)は具体例の一つであり、これに限定されるものではない。予めワーク101を把持機構210で把持する際に定まる条件を、ユーザが任意に設定することができる。
【0051】
さらに、把持可能領域抽出部330aは、相対関係演算部331で演算した相対関係p(n)から、選択された領域が把持可能領域の条件を具備するか判断し、具備する場合には把持可能領域として抽出する。
【0052】
具体例として、前記の式(1)にて相対関係が求められている場合には、評価関数P(x,y)を次の式(2)とし、式(2)を演算してその結果が0である場合に把持可能領域であると判断し、それ以外(1〜20)の値である場合には、把持可能領域ではないと判断する。ここで、P(x,y)のx,yは、三次元情報における座標値であって、前記の選択された領域の把持部分領域の予め定めた位置である。
【0053】
【数1】
ここで、図5に示した三次元情報から、図6に示した把持領域を用いて、把持可能領域を抽出した例を図7に示す。なお、図7において、グレーで塗りつぶした部分が把持可能領域として抽出した領域であり、各座標の数字は評価関数P(x,y)の値である。このようにして、本例においては4つの把持可能領域を抽出している。なお、抽出した把持可能領域は記憶部340に記憶される。
【0054】
次に、対象物把持領域抽出装置の第1の実施形態における動作について説明する。なお、対象物把持領域抽出装置における動作は図3に示したロボットシステムのフローチャートのステップS200の「ワーク供給部の三次元情報生成」とステップS300の「把持可能領域の抽出」に該当する。
【0055】
まず、図8は、ステップS200の「ワーク供給部の三次元情報生成」の詳細フローチャートである。
ステップS211にて、三次元計測装置301にて集積トレー110上の三次元の計測データを取得する。次に、ステップS212にて、周知の幾何変換式を用いて計測座標系の計測データをアプローチ座標系の座標値に変換し、三次元情報を生成する。図5の三次元情報は、第1の実施形態における三次元情報の一例である。
【0056】
図9は、ステップS300の「把持可能領域の抽出」の詳細フローチャートである。
ステップS321にて、三次元情報から三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。例えば、図6に示した把持領域を用いる場合には、図5に示す三次元情報において、X座標が7〜12、Y座標が1〜4の領域を選択する。
【0057】
ステップS322において、ステップS321にて選択された領域について、把持部分領域と把持機構領域のアプローチ方向における座標値の差分値を求め、その差分値から把持部分領域と把持機構領域の相対関係を求める。例えば、図6に示した把持領域を用いる場合には、図5に示す三次元情報において、前記式(1)を計算することとなる。選択された領域のX座標が7〜12、Y座標が1〜4の領域である場合、式(1)のi=9,j=3となり、式(3)のように計算される。
【0058】
p(1)=if(5 - 0 >= 5 , 0 else 1) = 0
p(2)=if(5 - 0 >= 5 , 0 else 1) = 0
p(3)=if(5 - 0 >= 5 , 0 else 1) = 0
p(4)=if(5 - 0 >= 5 , 0 else 1) = 0
p(5)=if(5 - 0 >= 5 , 0 else 1) = 0
p(6)=if(5 - 0 >= 5 , 0 else 1) = 0
p(7)=if(5 - 0 >= 5 , 0 else 1) = 0
p(8)=if(5 - 0 >= 5 , 0 else 1) = 0
p(9)=if(5 - 0 >= 5 , 0 else 1) = 0
p(10)=if(5 - 0 >= 5 , 0 else 1) = 0
p(11)=if(5 - 0 >= 5 , 0 else 1) = 0
p(12)=if(5 - 0 >= 5 , 0 else 1) = 0
p(13)=if(5 - 0 >= 5 , 0 else 1) = 0
p(14)=if(5 - 0 >= 5 , 0 else 1) = 0
p(15)=if(5 - 0 >= 5 , 0 else 1) = 0
p(16)=if(5 - 0 >= 5 , 0 else 1) = 0
p(17)=if(5 - 0 >= 5 , 0 else 1) = 0
p(18)=if(5 - 0 >= 5 , 0 else 1) = 0
p(19)=if(5 - 0 >= 5 , 0 else 1) = 0
p(20)=if(5 - 0 >= 5 , 0 else 1) = 0 ・・・(3)
ステップS323にて、選択された領域が把持可能領域の条件を具備するか判断する。そして、条件を具備する場合にはステップS324にて把持可能領域として抽出する。条件を具備しない場合には、ステップS325に進む。
【0059】
例えば、式(2)の評価関数P(x,y)を求め、P(x,y)が0であるか否かを確認し、0である場合には把持可能領域として抽出する。式(3)の計算結果を得た場合には、式(2)の評価関数はP(9,3)=0となり、X座標が7〜12、Y座標が1〜4の領域は把持可能領域として抽出される事となる。
【0060】
ステップS325では、三次元情報の全領域が選択されたか否かを確認する。全領域が選択されていない場合には、ステップS321に戻り新たな領域を選択し、以降の処理を繰り返す。全領域が選択された場合には、ステップS326に進み把持可能領域の抽出を終了する。
【0061】
なお、対象物把持領域抽出装置の第1の実施形態において、把持領域は図6に示した上側を把持する場合に限定されることはなく、図10に示す右側を把持する場合の領域としても良い。この場合には、相対関係演算部331の演算内容の具体例は、次の式(4)を演算することとなる。
【0062】
p(1)=if(z(i-1,j) - z(i-1,j-2) >= 5 , 0 else 1)
p(2)=if(z(i-1,j) - z(i-1,j-1) >= 5 , 0 else 1)
p(3)=if(z(i,j) - z(i,j-2) >= 5 , 0 else 1)
p(4)=if(z(i,j) - z(i,j-1) >= 5 , 0 else 1)
p(5)=if(z(i,j) - z(i+1,j-2) >= 5 , 0 else 1)
p(6)=if(z(i,j) - z(i+1,j-1) >= 5 , 0 else 1)
p(7)=if(z(i,j) - z(i+1,j) >= 5 , 0 else 1)
p(8)=if(z(i,j) - z(i+2,j-2) >= 5 , 0 else 1)
p(9)=if(z(i,j) - z(i+2,j-1) >= 5 , 0 else 1)
p(10)=if(z(i,j) - z(i+2,j) >= 5 , 0 else 1)
p(11)=if(z(i-1,j+1) - z(i-1,j+2) >= 5 , 0 else 1)
p(12)=if(z(i-1,j+1) - z(i-1,j+3) >= 5 , 0 else 1)
p(13)=if(z(i,j+1) - z(i,j+2) >= 5 , 0 else 1)
p(14)=if(z(i,j+1) - z(i,j+3) >= 5 , 0 else 1)
p(15)=if(z(i,j+1) - z(i+1,j+1) >= 5 , 0 else 1)
p(16)=if(z(i,j+1) - z(i+1,j+2) >= 5 , 0 else 1)
p(17)=if(z(i,j+1) - z(i+1,j+3) >= 5 , 0 else 1)
p(18)=if(z(i,j+1) - z(i+2,j+1) >= 5 , 0 else 1)
p(19)=if(z(i,j+1) - z(i+2,j+2) >= 5 , 0 else 1)
p(20)=if(z(i,j+1) - z(i+2,j+3) >= 5 , 0 else 1) ・・・(4)
ここで、図5に示した三次元情報から、図10に示した把持領域を用いて、把持可能領域を抽出した例を図11に示す。なお、図11において、グレーで塗りつぶした部分が把持可能領域として抽出した領域であり、各座標の数字は評価関数P(x,y)の値である。このようにして、本例においては2つの把持可能領域を抽出している。
【0063】
上記のように必要に応じて、下部を掴む場合や左側を掴む場合も、把持領域を把持領域記憶部341に記憶し、把持領域に合わせた相対関係の演算式を相対関係演算部331に設定することで、任意の把持領域を用いて把持可能領域を抽出することが可能である。勿論、複数の把持領域を把持領域記憶部341に記憶し、各把持領域に対応した複数の相対関係の演算式を相対関係演算部331に設定しておくこともできる。さらに、把持領域記憶部341に記憶する把持領域は1つとして、三次元情報を幾何変換により任意の角度に回転変換し、回転変換後の三次元情報を用いることで、任意の角度での把持可能領域の抽出も可能である。
【0064】
次に、図を参照しつつ対象物把持領域抽出装置の第2の実施形態について詳細に説明する。なお、対象物把持領域抽出装置の第1の実施形態と共通する部分については、説明を省略する。さらに、説明を簡単にするため、集積トレー110上のワーク101の状態が、第1の実施形態と第2の実施形態で同じであるものとして説明する。
【0065】
まず、図12は本発明に係る対象物把持領域抽出装置の第2の実施形態のブロック図である。
図12において、301は三次元計測装置、320bは三次元情報生成部、330bは把持可能領域抽出部、340は記憶部である。
【0066】
三次元計測装置301は、非接触にて三次元の計測データを取得できる三次元計測装置であり、ステレオカメラや三次元スキャナ等である。
記憶部340には、三次元計測装置301で計測した三次元の計測データにおける各座標軸の方向と、アプローチ方向とが記憶されている。
【0067】
三次元情報生成部320bは、三次元計測装置301にて取得した計測データから、アプローチ方向を座標軸の1つ方向とする三次元情報を生成する。なお、生成された三次元情報は、記憶部340に記憶される。
【0068】
ここで第2の実施形態における生成された三次元情報について、より具体的に説明する。第2の実施形態における三次元情報では、アプローチ座標系のX,Y,Zで定まる座標値ごとに物体が存在するか否かの情報を三次元情報として生成する。三次元情報の具体例としては、分解能がXYZ空間全体で32×32×32である場合、図1に示す棒のような直方体のワーク101が2×10×5の領域となるものとし、1ブロックごとに物体の存否フラグを有する。物体の存否フラグは、物体が存在する場合に1、物体が存在しない場合に0となる。係る場合、XをX座標値、YをY座標値、ZをZ座標値、Fを物体の存否フラグとすると、三次元情報は(X,Y,Z,F)のように表現できる。図5に示した第1の実施形態における三次元情報を、第2の実施形態における三次元情報として表現すると、(1,1,1,0),(1,1,2,0),(1,1,3,0)・・・(1,1,32,0)・・・(4,6,1,1),(4,6,2,1)・・・(4,6,5,1),(4,6,6,0)・・・(4,6,32,0)・・・(4,14,1,1),(4,14,2,1)・・・(4,14,11,1),(4,14,12,0)・・・(4,14,32,0)・・・となる。なお、三次元計測装置301の計測によっても、計測方向における物体の背後に物体が存在するか否かは判断できないため、計測方向における物体の背後については物体が存在するものとして三次元情報を生成する。例えば、X座標が4〜13、Y座標が14〜15の領域にあるワーク101の一端が、X座標が4〜5、Y座標が6〜15の領域にあるワーク101に積み重なっているものとする。この場合には、X座標が6〜12、Y座標が14〜15の領域においてワーク101の下部(Z軸方向)の領域には物体が存在しない。しかし、第2の実施形態における三次元情報では、物体が存在するものとし、(7,14,1,1)・・・(7,14,9,1),(7,14,10,0)・・・(7,14,32,0)として三次元情報を生成する。
【0069】
記憶部340は、把持領域記憶部341をさらに備える。把持領域記憶部341には、予め把持領域が記憶されている。
第2の実施形態において把持領域について具体例を用いて説明する。例えば、前記の三次元情報において、ワーク101は2×10×5のスペース、ワーク101の両端の何れか一方を挟むように把持するとき、ワーク101の把持部分は2×2×5のスペース、把持機構210の動作スペースや端を掴むためのワーク101の端部の周辺にワーク把持部分を含めて6×4×5のスペース、が必要であるとする。
【0070】
この場合の三次元情報におけるワーク101の上側を把持する把持領域記憶部341に記憶された把持領域は図13のように表される。図13の把持領域において、実線で描かれているブロックが把持部分領域、点線で描かれているブロックが把持機構領域である。
【0071】
把持可能領域抽出部330bは、記憶部340に記憶された三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。選択された領域について、物体位置特定部332にて物体の位置を特定する。そして、その特定された物体の位置に基づいて、把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない場合には、選択された領域を把持可能領域として抽出する。
【0072】
ここで、把持可能領域抽出部330bは、把持領域の物体の位置が所定の要件を具備するか否かを判断するため、ワーク101の位置・姿勢を別途認識することなく、ワーク101を把持するための把持機構210の移動領域を特定することができるため、処理時間が短くなる。
【0073】
把持可能領域抽出部330bの処理内容について、具体例を用いて説明する。物体位置特定部332の演算内容は、次のようになる。
まず、図13に例示した把持領域において、把持部分領域における物体の存否と、把持機構領域の物体の存否を求める。物体の存否は、把持領域のブロックごとに物体が存在するか否かを三次元情報の存否フラグFによって確認する。次に、把持部分領域のブロック全部に物体が存在すること、および、把持機構領域のブロックに物体が存在しないこと、を確認する。つまり、把持部分領域においては三次元情報における物体の存否フラグFが1であること、把持機構領域においては三次元情報における物体の存否フラグFが0であること、をブロックごとに確認する。
さらに、把持可能領域抽出部330bは、物体位置特定部332での特定結果から、選択された領域であって前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない場合に、把持可能領域として抽出する。なお、抽出した把持可能領域は記憶部340に記憶される。
【0074】
次に、対象物把持領域抽出装置の第2の実施形態における動作について説明する。なお、対象物把持領域抽出装置における動作は図3に示したロボットシステムのフローチャートのステップS200の「ワーク供給部の三次元情報生成」とステップS300の「把持可能領域の抽出」に該当する。
【0075】
ステップS200の「ワーク供給部の三次元情報生成」において、詳細フローチャートは、対象物把持領域抽出装置の第1の実施形態の説明に用いた図10と同じである。
ステップS211にて、三次元計測器301にて集積トレー110上の三次元の計測データを取得する。次に、ステップS212にて、周知の幾何変換式を用い、計測座標系の計測データをアプローチ座標系の座標値に変換し、三次元情報を生成する。
【0076】
図14は、ステップS300の「把持可能領域の抽出」の詳細フローチャートである。
ステップS311にて、三次元情報から三次元情報から把持領域記憶部341に記憶された把持領域と大きさの等しい領域を選択する。例えば、図13に示した把持領域を用いる場合には、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域を選択する。
【0077】
ステップS312において、ステップS311にて選択された領域について、把持部分領域と把持機構領域のブロックごとに物体の存否を確認し、把持部分領域と把持機構領域における物体の分布状態を求める。例えば、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域が選択されている場合には、把持部分領域の全体に物体が存在し、把持機構領域には物体が存在しないこととなる。
【0078】
ステップS313にて、選択された領域が把持可能領域の抽出条件を具備するか判断する。そして、条件を具備する場合にはステップS314にて把持可能領域として抽出する。条件を具備しない場合には、ステップS315に進む。
【0079】
例えば、三次元情報のX座標が7〜12、Y座標が1〜4、Z座標が1〜5の領域が選択されている場合には、把持部分領域の全体に物体が存在し、把持機構領域には物体が存在しないため、当該領域は把持可能領域として抽出される事となる。
【0080】
ステップS315では、三次元情報の全領域が選択されたか否かを確認する。全領域が選択されていない場合には、ステップS311に戻り新たな領域を選択し、以降の処理を繰り返す。全領域が選択された場合には、ステップS316に進み把持可能領域の抽出を終了する。
【0081】
なお、対象物把持領域抽出装置の第2の実施形態において、三次元情報から把持領域を用いた把持可能領域の抽出には、周知のパターンマッチング技術を用いることもできる。また、把持領域の形状は図13に示した例に限定されることはなく、把持部分領域および把持機構領域は任意に各領域の形状を設定する事が可能である。勿論、複数の把持領域を把持領域記憶部341に記憶し、把持領域ごとに物体位置特定部332にて処理することもできる。さらに、把持領域記憶部341に記憶する把持領域は1つとして、三次元情報を幾何変換により任意の角度に回転変換し、回転変換後の三次元情報を用いることで、任意の角度での把持可能領域の抽出も可能である。
【0082】
対象物把持領域抽出装置の第1および第2の実施形態において、図15に示すように、三次元計測装置301による三次元の計測データは、複数の方向から計測した複数の計測データとすることができる。例えばステレオビジョンを用いて1方向から計測した場合、ステレオビジョンに撮像された物についての三次元の計測データは取得できるが、他の物の影となって撮像されていない物については三次元の計測データは取得できない。よって、計測データを取得できない空間については、把持機構との干渉によるワーク101等の破損を避けるため、その空間には物体があるものとして取り扱うのが通常である。しかし、本来は把持可能領域であるが、上記のように計測できない領域には物体があるものとして取り扱うことで、把持可能領域ではないと判断され、正確に把持可能領域を抽出することができない場合もある。つまり、集積トレー110上の空間の三次元の計測データは、可能な限り正確に取得することで、より正確に把持可能領域を抽出できる。
【0083】
複数の方向から計測した計測データは、共通する部分を基準として同一空間にマッピングし、マッピングされた計測データを用いてアプローチ座標系の三次元情報を生成する。このように複数の計測データを用いることで、物体があるものとして取り扱う領域が減り、複数のアプローチ座標系の三次元情報を正確に生成することができる。
【0084】
なお、複数の計測データを取得するに際し、複数の三次元計測装置301を用いても良いし、1つの三次元計測装置301を移動させてもよい。勿論、複数の三次元計測装置301を用い、さらにその複数の三次元計測装置301を移動させても良い。
【0085】
さらに、アプローチ方向は1方向に限らず、任意の方向を複数設定する事も可能である。係る場合には、アプローチ方向ごとに把持可能領域を抽出することが可能となる。
また、上記いずれの実施形態においても、把持部分が凸部であることを前提に記載されているが、把持部分が凹部であっても良い。把持部分がワークの凹部である場合には、把持機構領域が把持部分領域に囲まれるように設定された把持領域とすることもできる。
【0086】
さらに、集積トレーに置かれるワークは1種類でなくても良い。複数種類のワークについてワークごとに把持領域を記憶しておけば、集積トレーにおかれた複数種類のワークから、1種類のワークの把持可能領域を抽出することもできる。
【0087】
上記の対象物把持領域抽出装置では、三次元情報からワーク101ごとの位置・姿勢を把握することなく、ワーク101が含まれる把持可能領域を抽出するため、把持可能領域を決定する処理時間を短くすることできる。また比較的単純な処理で把持部の検出が可能となるため、演算コストの軽減も可能である。さらに、ワークが部分的にしか見えていなくてもワークの把持部分が見えていれば、把持可能領域として抽出可能である。また、対象となるワークが複雑な形状をしており、位置姿勢の計測や認識が困難な場合でも、ワークの把持部分が比較的単純形状であれば、把持可能領域を抽出することが可能となり、自動化の適用範囲の拡大、効率向上に効果がある。さらに、ロボットシステムでは、上記の対象物把持領域抽出装置を用いているため、短時間でピッキング動作に移ることができ、ピッキング対象のワークを決定するまでのロボット停止時間が短くなり、ロボットの作業効率を上げることができる。また、アプローチ方向を座標軸の一方向とする三次元情報に基づいて把持可能領域を抽出するため、ロボットにて集積トレー上のワークを把持する移動途中で把持機構と他のワークが干渉することがない。
【符号の説明】
【0088】
101 ワーク
110 集積トレー
201 ロボット
210 把持機構
220 ロボット制御装置
301 三次元計測装置
310 対象物把持領域抽出装置
401 搬出コンベア
【特許請求の範囲】
【請求項1】
複数の対象物が任意の位置および姿勢で置かれた対象物集積部から、把持機構を備えたロボットを用いて、対象物を取り出すロボットシステムにおける対象物把持領域抽出装置であって、
前記対象物集積部の三次元の計測データを取得する計測装置、
前記計測データから前記対象物集積部の三次元情報を生成する三次元情報生成部、
前記対象物を把持する際に必要となる領域であって、前記把持機構により定まる把持機構領域と、前記把持機構に把持される前記対象物の把持部分により定まる把持部分領域と、からなる把持領域を予め記憶する把持領域記憶部、
前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する把持可能領域抽出部、
により構成された対象物把持領域抽出装置。
【請求項2】
前記把持可能領域抽出部は、前記三次元情報から選択された前記把持領域と大きさが等しい領域における前記把持部分領域と前記把持機構領域との相対関係を演算する相対関係演算部を備え、前記相対関係に基づいて前記把持可能領域を抽出することを特徴とする請求項1に記載の対象物把持領域抽出装置。
【請求項3】
前記相対関係演算部は、前記三次元情報から選択された前記把持領域と大きさが等しい領域において、所定の座標軸方向の座標値に関する前記把持部分領域と前記把持機構領域との差分値を演算すること、を特徴とする請求項2に記載の対象物把持領域抽出装置。
【請求項4】
前記把持可能領域抽出部は、前記差分値の全てが所定の条件を具備する場合に、前記抽出条件を具備すると判断することを特徴とする請求項3に記載の対象物把持領域抽出装置。
【請求項5】
前記把持可能領域抽出部は、前記三次元情報に基づいて、前記三次元情報から選択された前記把持領域と大きさが等しい領域に存在する物体の位置を特定する物体位置特定部を備え、前記物体の位置に基づいて前記把持可能領域を抽出することを特徴とする請求項1に記載の対象物把持領域抽出装置。
【請求項6】
前記三次元情報生成部は、ロボット動作において予め定められた前記把持機構の前記対象物へのアプローチ方向を三次元座標系の座標軸の1つとした前記三次元情報を生成することを特徴とする請求項1乃至5の何れか1項に記載の対象物把持領域抽出装置。
【請求項7】
前記三次元情報生成部は、座標系が異なる複数の前記三次元情報を生成すること、を特徴とする請求項1乃至6の何れか1項に記載の対象物把持領域抽出装置。
【請求項8】
前記把持可能領域抽出部は、前記複数の三次元情報ごとに前記把持可能領域を抽出することを特徴とする請求項7に記載の対象物把持領域抽出装置。
【請求項9】
前記把持領域記憶部は、複数の前記把持領域を記憶し、
前記把持可能領域抽出部は、前記複数の把持領域ごとに把持可能領域を抽出することを特徴とする請求項1乃至8の何れか1項に記載の対象物把持領域抽出装置。
【請求項10】
前記計測装置は、座標系が異なる複数の前記三次元の計測データを取得すること、を特徴とする請求項1乃至9の何れか1項に記載の対象物把持領域抽出装置。
【請求項11】
前記三次元情報生成部は、前記座標系が異なる複数の三次元の計測データを同一空間にマッピングし、該マッピングした複数の計測データに基づいて前記三次元情報を生成すること、を特徴とする請求項10に記載の対象物把把持域抽出装置。
【請求項12】
対象物を把持する把持機構、前記把持機構を備えるロボット、前記ロボットを制御するロボット制御装置、請求項1乃至11の何れか1項に記載の対象物把持領域抽出装置、からなるロボットシステムにおいて、
前記ロボット制御装置は、
前記対象物把持領域抽出装置から抽出された1以上の前記把持可能領域に関する情報を受け取る把持可能領域受信部と、
予め定められた条件を具備する把持可能領域を1つ選択する把持領域選択部と、
該選択した把持可能領域にある対象物を前記ロボットの前記把持機構によって把持し、所定の動作をするようにロボットを制御するロボット動作制御部と、
から構成されていることを特徴とするロボットシステム。
【請求項13】
前記対象物把持領域抽出装置の三次元情報生成部は、前記対象物を把持したロボットが前記所定の動作を完了した後に、前記供給部の三次元の計測データを取得し、改めて前記三次元情報を生成すること、を特徴とする請求項12に記載のロボットシステム。
【請求項1】
複数の対象物が任意の位置および姿勢で置かれた対象物集積部から、把持機構を備えたロボットを用いて、対象物を取り出すロボットシステムにおける対象物把持領域抽出装置であって、
前記対象物集積部の三次元の計測データを取得する計測装置、
前記計測データから前記対象物集積部の三次元情報を生成する三次元情報生成部、
前記対象物を把持する際に必要となる領域であって、前記把持機構により定まる把持機構領域と、前記把持機構に把持される前記対象物の把持部分により定まる把持部分領域と、からなる把持領域を予め記憶する把持領域記憶部、
前記三次元情報から選択された前記把持領域と大きさが等しい領域であって、前記把持部分領域と大きさが等しい領域全体に物体が存在するが前記把持機構領域と大きさが等しい領域には物体が存在しない領域を、把持可能領域として抽出する把持可能領域抽出部、
により構成された対象物把持領域抽出装置。
【請求項2】
前記把持可能領域抽出部は、前記三次元情報から選択された前記把持領域と大きさが等しい領域における前記把持部分領域と前記把持機構領域との相対関係を演算する相対関係演算部を備え、前記相対関係に基づいて前記把持可能領域を抽出することを特徴とする請求項1に記載の対象物把持領域抽出装置。
【請求項3】
前記相対関係演算部は、前記三次元情報から選択された前記把持領域と大きさが等しい領域において、所定の座標軸方向の座標値に関する前記把持部分領域と前記把持機構領域との差分値を演算すること、を特徴とする請求項2に記載の対象物把持領域抽出装置。
【請求項4】
前記把持可能領域抽出部は、前記差分値の全てが所定の条件を具備する場合に、前記抽出条件を具備すると判断することを特徴とする請求項3に記載の対象物把持領域抽出装置。
【請求項5】
前記把持可能領域抽出部は、前記三次元情報に基づいて、前記三次元情報から選択された前記把持領域と大きさが等しい領域に存在する物体の位置を特定する物体位置特定部を備え、前記物体の位置に基づいて前記把持可能領域を抽出することを特徴とする請求項1に記載の対象物把持領域抽出装置。
【請求項6】
前記三次元情報生成部は、ロボット動作において予め定められた前記把持機構の前記対象物へのアプローチ方向を三次元座標系の座標軸の1つとした前記三次元情報を生成することを特徴とする請求項1乃至5の何れか1項に記載の対象物把持領域抽出装置。
【請求項7】
前記三次元情報生成部は、座標系が異なる複数の前記三次元情報を生成すること、を特徴とする請求項1乃至6の何れか1項に記載の対象物把持領域抽出装置。
【請求項8】
前記把持可能領域抽出部は、前記複数の三次元情報ごとに前記把持可能領域を抽出することを特徴とする請求項7に記載の対象物把持領域抽出装置。
【請求項9】
前記把持領域記憶部は、複数の前記把持領域を記憶し、
前記把持可能領域抽出部は、前記複数の把持領域ごとに把持可能領域を抽出することを特徴とする請求項1乃至8の何れか1項に記載の対象物把持領域抽出装置。
【請求項10】
前記計測装置は、座標系が異なる複数の前記三次元の計測データを取得すること、を特徴とする請求項1乃至9の何れか1項に記載の対象物把持領域抽出装置。
【請求項11】
前記三次元情報生成部は、前記座標系が異なる複数の三次元の計測データを同一空間にマッピングし、該マッピングした複数の計測データに基づいて前記三次元情報を生成すること、を特徴とする請求項10に記載の対象物把把持域抽出装置。
【請求項12】
対象物を把持する把持機構、前記把持機構を備えるロボット、前記ロボットを制御するロボット制御装置、請求項1乃至11の何れか1項に記載の対象物把持領域抽出装置、からなるロボットシステムにおいて、
前記ロボット制御装置は、
前記対象物把持領域抽出装置から抽出された1以上の前記把持可能領域に関する情報を受け取る把持可能領域受信部と、
予め定められた条件を具備する把持可能領域を1つ選択する把持領域選択部と、
該選択した把持可能領域にある対象物を前記ロボットの前記把持機構によって把持し、所定の動作をするようにロボットを制御するロボット動作制御部と、
から構成されていることを特徴とするロボットシステム。
【請求項13】
前記対象物把持領域抽出装置の三次元情報生成部は、前記対象物を把持したロボットが前記所定の動作を完了した後に、前記供給部の三次元の計測データを取得し、改めて前記三次元情報を生成すること、を特徴とする請求項12に記載のロボットシステム。
【図2】
【図3】
【図4】
【図5】
【図8】
【図9】
【図12】
【図14】
【図1】
【図6】
【図7】
【図10】
【図11】
【図13】
【図15】
【図3】
【図4】
【図5】
【図8】
【図9】
【図12】
【図14】
【図1】
【図6】
【図7】
【図10】
【図11】
【図13】
【図15】
【公開番号】特開2011−93058(P2011−93058A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−250916(P2009−250916)
【出願日】平成21年10月30日(2009.10.30)
【出願人】(000005234)富士電機ホールディングス株式会社 (3,146)
【Fターム(参考)】
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願日】平成21年10月30日(2009.10.30)
【出願人】(000005234)富士電機ホールディングス株式会社 (3,146)
【Fターム(参考)】
[ Back to top ]